12012-10-02 Alexey Proskuryakov <ap@apple.com> 2 3 <rdar://problem/12407920> Need to keep track of messages posted to injected bundle before creating a page 4 https://bugs.webkit.org/show_bug.cgi?id=98210 5 6 Reviewed by Anders Carlsson. 7 8 Restore the pending message functionality, but only for shared process mode, and 9 under a different name. 10 11 * UIProcess/WebContext.cpp: 12 (WebKit::WebContext::setProcessModel): 13 (WebKit::WebContext::createNewWebProcess): 14 (WebKit::WebContext::postMessageToInjectedBundle): 15 * UIProcess/WebContext.h: 16 172012-10-02 Adrian Perez de Castro <aperez@igalia.com> 18 19 Unix plugin process: xErrorString does not need to be defined in release builds 20 https://bugs.webkit.org/show_bug.cgi?id=98174 21 22 Reviewed by Alexey Proskuryakov. 23 24 The static xErrorString variable is used only for logging purposes, 25 so it causes a warning when doing relese builds (or, in general, 26 when logging is enabled). This disables building in the string 27 when LOG_DISABLED is defined. 28 29 Also, made the more constant by changing the "const char*" type 30 to "const char[]". 31 32 * PluginProcess/unix/PluginProcessMainUnix.cpp: 33 (WebKit): 34 352012-10-02 Anders Carlsson <andersca@apple.com> 36 37 Fix crash in WebGeolocationManager constructor. 38 39 Defer adding the location manager until there actually is a connection. 40 41 * WebProcess/Geolocation/WebGeolocationManager.cpp: 42 (WebKit::WebGeolocationManager::WebGeolocationManager): 43 (WebKit::WebGeolocationManager::registerWebPage): 44 * WebProcess/Geolocation/WebGeolocationManager.h: 45 (WebGeolocationManager): 46 472012-10-02 Anders Carlsson <andersca@apple.com> 48 49 Fix build. 50 51 * WebProcess/Geolocation/WebGeolocationManager.cpp: 52 (WebKit::WebGeolocationManager::WebGeolocationManager): 53 542012-10-02 Anders Carlsson <andersca@apple.com> 55 56 Fix infinite recursion inside WebProcess constructor 57 https://bugs.webkit.org/show_bug.cgi?id=98206 58 59 Reviewed by Brian Weinstein. 60 61 Don't call WebProcess::shared from the WebGeolocationManager constructor since it is invoked from the WebProcess constructor. 62 63 * WebProcess/Geolocation/WebGeolocationManager.cpp: 64 (WebKit::WebGeolocationManager::WebGeolocationManager): 65 662012-10-02 Hugo Parente Lima <hugo.lima@openbossa.org> 67 68 [WK2] Move some tiled backing store/viewport functions from Qt to generic WebKit2 sources 69 https://bugs.webkit.org/show_bug.cgi?id=98199 70 71 Reviewed by Noam Rosenthal. 72 73 Move commitPageTransitionViewport from Qt to WebKit2. 74 75 * UIProcess/WebPageProxy.cpp: 76 (WebKit): 77 (WebKit::WebPageProxy::commitPageTransitionViewport): 78 * UIProcess/qt/WebPageProxyQt.cpp: 79 * WebProcess/WebPage/WebPage.cpp: 80 (WebKit): 81 (WebKit::WebPage::commitPageTransitionViewport): 82 * WebProcess/WebPage/WebPage.h: 83 (WebPage): 84 * WebProcess/WebPage/WebPage.messages.in: 85 * WebProcess/WebPage/qt/WebPageQt.cpp: 86 872012-10-02 Anders Carlsson <andersca@apple.com> 88 89 Build fixes. 90 91 * PluginProcess/mac/PluginProcessMac.mm: 92 (WebKit::beginModal): 93 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 94 (WebKit::PluginProcessProxy::getPluginProcessSerialNumber): 95 (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess): 96 (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess): 97 (WebKit::PluginProcessProxy::exitFullscreen): 98 992012-10-02 Alexey Proskuryakov <ap@apple.com> 100 101 <rdar://problem/12407139> WebKit2 should provide API that returns all pages in the same process as a given page 102 https://bugs.webkit.org/show_bug.cgi?id=98193 103 104 Reviewed by Sam Weinig. 105 106 * UIProcess/API/C/WKPage.cpp: 107 (WKPageCopyRelatedPages): 108 * UIProcess/API/C/WKPagePrivate.h: 109 * UIProcess/WebPageProxy.cpp: 110 (WebKit::WebPageProxy::relatedPages): 111 * UIProcess/WebPageProxy.h: 112 * UIProcess/WebProcessProxy.cpp: 113 (WebKit::WebProcessProxy::pages): 114 * UIProcess/WebProcessProxy.h: 115 Added. This should work once a process has crashed, too. 116 1172012-10-02 Anders Carlsson <andersca@apple.com> 118 119 Allow LayerTreeHost subclasses to return a custom GraphicsLayerFactory 120 https://bugs.webkit.org/show_bug.cgi?id=98179 121 122 Reviewed by Andreas Kling. 123 124 Implement ChromeClient::graphicsLayerFactory and have it call the DrawingArea's graphicsLayerFactory which 125 for DrawingAreaImpl then calls down to the layer tree host. Make LayerTreeCoordinator implement GraphicsLayerFactory and 126 make it create CoordinatedGraphicsLayers. 127 128 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 129 (WebKit::WebChromeClient::graphicsLayerFactory): 130 (WebKit): 131 * WebProcess/WebCoreSupport/WebChromeClient.h: 132 (WebChromeClient): 133 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 134 (WebKit::LayerTreeCoordinator::createGraphicsLayer): 135 (WebKit): 136 (WebKit::LayerTreeCoordinator::graphicsLayerFactory): 137 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 138 (LayerTreeCoordinator): 139 * WebProcess/WebPage/DrawingArea.h: 140 (WebCore): 141 (WebKit::DrawingArea::graphicsLayerFactory): 142 * WebProcess/WebPage/DrawingAreaImpl.cpp: 143 (WebKit::DrawingAreaImpl::graphicsLayerFactory): 144 (WebKit): 145 * WebProcess/WebPage/DrawingAreaImpl.h: 146 (DrawingAreaImpl): 147 * WebProcess/WebPage/LayerTreeHost.h: 148 (WebCore): 149 (WebKit::LayerTreeHost::graphicsLayerFactory): 150 (LayerTreeHost): 151 1522012-10-01 Anders Carlsson <andersca@apple.com> 153 154 Attempt to simplify IPC message dispatching logic in WebKit2 155 https://bugs.webkit.org/show_bug.cgi?id=98097 156 157 Reviewed by Sam Weinig. 158 159 Move the Connection::MessageReceiver class to its own header file. Add a MessageReceiverMap helper class 160 that will be used for dispatching messages based on message class (and eventually destination ID). 161 162 Convert AuthenticationManager and WebGeolocationManager over to this new mechanism. 163 164 * CMakeLists.txt: 165 * GNUmakefile.list.am: 166 Add new files. 167 168 * Platform/CoreIPC/Connection.cpp: 169 (CoreIPC::Connection::dispatchMessage): 170 Check with the message receiver map first before calling Connection::Client::didReceiveMessage. 171 172 * Platform/CoreIPC/Connection.h: 173 (CoreIPC::Connection::addMessageReceiver): 174 Call through to the message receiver map. 175 176 * Platform/CoreIPC/MessageID.h: 177 (CoreIPC::MessageID::messageClass): 178 Rename MessageClassReserved to MessageClassInvalid. 179 180 (MessageID): 181 * Platform/CoreIPC/MessageReceiver.h: 182 Move MessageReceiver from Connection.h to its own file. 183 184 * Platform/CoreIPC/MessageReceiverMap.cpp: 185 New helper class. 186 187 (CoreIPC::MessageReceiverMap::addMessageReceiver): 188 Add the receiver to the map of receivers. 189 190 (CoreIPC::MessageReceiverMap::dispatchMessage): 191 Check if we have any registered receivers for this message class. 192 193 * Platform/CoreIPC/MessageReceiverMap.h: 194 New file. 195 196 * Target.pri: 197 Add new files. 198 199 * WebKit2.xcodeproj/project.pbxproj: 200 Add new files. 201 202 * WebProcess/Authentication/AuthenticationManager.cpp: 203 (WebKit::AuthenticationManager::AuthenticationManager): 204 * WebProcess/Authentication/AuthenticationManager.h: 205 (AuthenticationManager): 206 Register the authentication manager as a message receiver. 207 208 * WebProcess/Geolocation/WebGeolocationManager.cpp: 209 (WebKit::WebGeolocationManager::WebGeolocationManager): 210 * WebProcess/Geolocation/WebGeolocationManager.h: 211 (WebGeolocationManager): 212 Register the geolocation manager as a message receiver. 213 214 * WebProcess/WebProcess.cpp: 215 (WebKit::WebProcess::didReceiveMessage): 216 Remove checks for authentication manager and geolocation manager messages. 217 218 * win/WebKit2.vcproj: 219 Add new files. 220 2212012-10-02 Carlos Garcia Campos <cgarcia@igalia.com> 222 223 [GTK] Programs/WebKit2APITests/TestCookieManager fails 224 https://bugs.webkit.org/show_bug.cgi?id=98176 225 226 Reviewed by Martin Robinson. 227 228 The problem is that the soup server has a g_assert_not_reached() 229 for unknown paths, but know /favicon.icon might be requested. 230 231 * UIProcess/API/gtk/tests/TestCookieManager.cpp: 232 (serverCallback): Ignore unknown paths. 233 2342012-10-02 Hugo Parente Lima <hugo.lima@openbossa.org> 235 236 [WK2] PageViewportControllerClient.h uses WebCore class without declaring them 237 https://bugs.webkit.org/show_bug.cgi?id=98070 238 239 Reviewed by Kenneth Rohde Christiansen. 240 241 This patch just add forward declarations for code correctness. 242 243 * UIProcess/PageViewportControllerClient.h: 244 (WebCore): 245 2462012-10-02 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 247 248 Fix tst_QQuickWebView::scrollRequest after r130029 249 https://bugs.webkit.org/show_bug.cgi?id=98045 250 251 Reviewed by Simon Hausmann. 252 253 The test needs to show the window and wait for the loadVisuallyCommitted() 254 signal like did in the QML API auto tests. 255 256 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 257 (tst_QQuickWebView::scrollRequest): 258 * UIProcess/API/qt/tests/util.cpp: 259 (waitForViewportReady): 260 * UIProcess/API/qt/tests/util.h: 261 2622012-10-02 Jinwoo Song <jinwoo7.song@samsung.com> 263 264 [EFL][WK2] Use correct gtest macro for testing true/false 265 https://bugs.webkit.org/show_bug.cgi?id=98142 266 267 Reviewed by Laszlo Gombos. 268 269 Using EXPECT_EQ(true/false, ...) makes clang trip when it tries to convert 270 true/false to a pointer. Tests should use EXPECT_TRUE/FALSE instead. 271 272 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 273 (showPopupMenu): 274 (TEST_F): 275 2762012-10-01 Brady Eidson <beidson@apple.com> 277 278 Remove the Safari 2 -> Safari 3 icon database import code. 279 https://bugs.webkit.org/show_bug.cgi?id=98113 280 281 Reviewed by Maciej Stachowiak. 282 283 Nuke the performImport() IconDatabaseClient method. 284 285 * UIProcess/WebIconDatabase.cpp: 286 (WebKit): 287 * UIProcess/WebIconDatabase.h: 288 (WebIconDatabase): 289 2902012-10-01 Christophe Dumez <christophe.dumez@intel.com> 291 292 Fix compilation warnings 293 https://bugs.webkit.org/show_bug.cgi?id=98020 294 295 Reviewed by Gyuyoung Kim. 296 297 Fix compilation warnings related to ewk_view. 298 299 * UIProcess/API/efl/ewk_view.cpp: 300 (_ewk_view_feed_touch_event_using_touch_point_list_of_evas): 301 (_ewk_view_on_touch_down): 302 (_ewk_view_on_touch_up): 303 (_ewk_view_on_touch_move): 304 * UIProcess/API/efl/ewk_view_ui_client.cpp: 305 (exceededDatabaseQuota): 306 3072012-10-01 Claudio Saavedra <csaavedra@igalia.com> 308 309 [GTK][WK2] Save the download uri as file metadata 310 https://bugs.webkit.org/show_bug.cgi?id=98043 311 312 Reviewed by Carlos Garcia Campos. 313 314 gio/gvfs can store file metadata, let's use this to 315 store the download uri. 316 317 * WebProcess/Downloads/soup/DownloadSoup.cpp: 318 (WebKit::DownloadClient::didReceiveResponse): Save 319 the download uri as metadata. 320 3212012-10-01 Andras Becsi <andras.becsi@digia.com> 322 323 [Qt][WK2] Device pixel ratio lost upon relaunch of the web process 324 https://bugs.webkit.org/show_bug.cgi?id=97908 325 326 Reviewed by Jocelyn Turcotte. 327 328 Use setIntrinsicDeviceScaleFactor instead of setCustomDeviceScaleFactor 329 when setting the device pixel ratio to make the setting permanent. 330 331 * UIProcess/API/qt/qquickwebview.cpp: 332 (QQuickWebViewPrivate::didRelaunchProcess): 333 (QQuickWebViewExperimental::setDevicePixelRatio): 334 3352012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 336 337 [Qt] Fix viewport QML auto tests after the viewport changes 338 https://bugs.webkit.org/show_bug.cgi?id=97781 339 340 Reviewed by Simon Hausmann. 341 342 Since the viewport controller has to hold any QML-side viewport updates 343 while it applies and render the new requested position, this has the 344 effect of blocking all those tests if the view is not visible (thus 345 disabling the tile rendering completely in the web process). 346 The viewport should be unlocked after the first rendered frame for 347 static contents. 348 349 Fix those tests by forcing the QQuickView to be visible and by making 350 them wait for the first frame rather than the earlier end of provisional load. 351 352 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: 353 * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: 354 * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: 355 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: 356 3572012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 358 359 [Qt] Add a loadVisuallyCommitted() signal 360 https://bugs.webkit.org/show_bug.cgi?id=97780 361 362 Reviewed by Kenneth Rohde Christiansen. 363 364 This signal is emitted when the first DidRenderFrame message is received from 365 the web process after loadCommitted. 366 367 * UIProcess/API/qt/qquickwebview.cpp: 368 (QQuickWebViewPrivate::QQuickWebViewPrivate): 369 (QQuickWebViewPrivate::loadDidCommit): 370 (QQuickWebViewPrivate::setNeedsDisplay): 371 * UIProcess/API/qt/qquickwebview_p.h: 372 * UIProcess/API/qt/qquickwebview_p_p.h: 373 (QQuickWebViewPrivate): 374 3752012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 376 377 [Qt] Move Qt-only related methods from WebPageProxy.cpp to WebPageProxyQt.cpp 378 379 Reviewed by Simon Hausmann. 380 381 * UIProcess/WebPageProxy.cpp: 382 * UIProcess/qt/WebPageProxyQt.cpp: 383 (WebKit::WebPageProxy::didFindZoomableArea): 384 (WebKit): 385 (WebKit::WebPageProxy::findZoomableAreaForPoint): 386 (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject): 387 (WebKit::WebPageProxy::authenticationRequiredRequest): 388 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest): 389 (WebKit::WebPageProxy::certificateVerificationRequest): 390 3912012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 392 393 [Qt] Decide when to apply a scrolled position to the viewport based on the rect covered by the tiles 394 https://bugs.webkit.org/show_bug.cgi?id=97777 395 396 Reviewed by Kenneth Rohde Christiansen. 397 398 This patch achieves two things: 399 - Apply a short scroll position request directly if we already have rendered tiles 400 at this position. 401 - Since our visible rect request is asynchronous, the next frame might not always 402 be the one covering this position. This will wait for a frame that does to apply it. 403 404 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 405 (QRawWebViewPrivate::didRenderFrame): 406 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 407 (WebKit::LayerTreeCoordinatorProxy::didRenderFrame): 408 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: 409 (LayerTreeCoordinatorProxy): 410 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: 411 * UIProcess/PageClient.h: 412 (PageClient): 413 * UIProcess/PageViewportController.cpp: 414 (WebKit::PageViewportController::didCommitLoad): 415 (WebKit::PageViewportController::didRenderFrame): 416 (WebKit::PageViewportController::pageDidRequestScroll): 417 * UIProcess/PageViewportController.h: 418 (PageViewportController): 419 * UIProcess/WebPageProxy.h: 420 (WebPageProxy): 421 * UIProcess/qt/QtPageClient.cpp: 422 (WebKit::QtPageClient::didRenderFrame): 423 * UIProcess/qt/QtPageClient.h: 424 (QtPageClient): 425 * UIProcess/qt/WebPageProxyQt.cpp: 426 (WebKit::WebPageProxy::didRenderFrame): 427 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: 428 (WebCore::CoordinatedGraphicsLayer::coverRect): 429 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 430 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 431 4322012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 433 434 [Qt] Delay viewport position, scale and contents size updates until tiles are rendered 435 https://bugs.webkit.org/show_bug.cgi?id=97775 436 437 Reviewed by Kenneth Rohde Christiansen. 438 439 A few events from the web process can cause the viewport position or scale to be 440 adjusted in the UI process: 441 - Scroll position request 442 - Viewport attributes (initialScale, minimumScale) 443 - Contents size change 444 445 We previously applied those updates directly to the viewport, which would then in turn 446 produce a corresponding visible rect request to the web process to render the contents 447 at the new position/scale. This could leave the viewport showing the old content, either 448 by scaling the tiles, or by showing checkerboard if no contents was rendered at this 449 position yet. When the web process was done rendering new tiles, the proper tiles 450 were then shown to the user. 451 Since many of these updates happen during page load, all producing an iterative adjustment 452 to the viewport, this could show sharpness and position jitter until the final rendering 453 was done. 454 455 This patch makes those updates go through the PageViewportController first and then to the 456 QQuickWebView rather than the other way around, and keep them pending until the 457 LayerTreeHostProxy reports that the new tiles are ready to be shown. Since the rendering 458 is blocked until the page first layout is done, this apply the modifications to 459 the viewport only once when the first frame is ready to be shown. 460 461 * UIProcess/API/qt/qquickwebview.cpp: 462 * UIProcess/API/qt/qquickwebview_p_p.h: 463 (QQuickWebViewFlickablePrivate): 464 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 465 (QRawWebViewPrivate::didRenderFrame): 466 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 467 (WebKit::LayerTreeCoordinatorProxy::didRenderFrame): 468 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: 469 (LayerTreeCoordinatorProxy): 470 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: 471 * UIProcess/PageClient.h: 472 (PageClient): 473 * UIProcess/PageViewportController.cpp: 474 (WebKit::PageViewportController::didCommitLoad): 475 (WebKit::PageViewportController::didChangeContentsSize): 476 (WebKit::PageViewportController::didRenderFrame): 477 (WebKit::PageViewportController::initialViewportReady): 478 (WebKit::PageViewportController::pageDidRequestScroll): 479 (WebKit::PageViewportController::didChangeContentsVisibility): 480 (WebKit::PageViewportController::resumeContent): 481 (WebKit::PageViewportController::applyScaleAfterRenderingContents): 482 (WebKit): 483 (WebKit::PageViewportController::applyPositionAfterRenderingContents): 484 (WebKit::PageViewportController::updateMinimumScaleToFit): 485 * UIProcess/PageViewportController.h: 486 (PageViewportController): 487 * UIProcess/PageViewportControllerClient.h: 488 (PageViewportControllerClient): 489 * UIProcess/WebPageProxy.h: 490 (WebPageProxy): 491 * UIProcess/qt/PageViewportControllerClientQt.cpp: 492 (WebKit::PageViewportControllerClientQt::didChangeContentsSize): 493 * UIProcess/qt/PageViewportControllerClientQt.h: 494 (PageViewportControllerClientQt): 495 * UIProcess/qt/QtPageClient.cpp: 496 (WebKit::QtPageClient::didRenderFrame): 497 (WebKit): 498 (WebKit::QtPageClient::didChangeContentsSize): 499 * UIProcess/qt/QtPageClient.h: 500 (QtPageClient): 501 * UIProcess/qt/QtWebPageLoadClient.cpp: 502 (WebKit::QtWebPageLoadClient::didCommitLoad): 503 * UIProcess/qt/WebPageProxyQt.cpp: 504 (WebKit::WebPageProxy::didRenderFrame): 505 (WebKit): 506 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 507 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 508 5092012-09-27 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 510 511 [Qt] Wait for the UI process before re-enabling rendering during page load 512 https://bugs.webkit.org/show_bug.cgi?id=97773 513 514 Reviewed by Kenneth Rohde Christiansen. 515 516 During page navigation, WebCore might ask asynchronously the UI process to 517 scroll to an anchor or restored history position and the UI process will 518 return the corresponding visible rect to be rendered by the web process. 519 520 To avoid rendering tiles for the invalidated area by the new page layout at 521 the wrong position, we should do an extra message round-trip to the UI 522 process before resuming the rendering. 523 Assuming that all messages are handled in order by both the web and UI process, 524 sending the round-trip request in the web process once we sent all scroll 525 requests, contents size and viewport attributes updates and then handling 526 the round-trip response, we make sure that final visible rect request have 527 been handled already. 528 529 * UIProcess/API/qt/raw/qrawwebview.cpp: 530 (QRawWebViewPrivate::pageTransitionViewportReady): 531 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 532 (QRawWebViewPrivate): 533 * UIProcess/PageClient.h: 534 (PageClient): 535 * UIProcess/PageViewportController.cpp: 536 (WebKit::PageViewportController::pageTransitionViewportReady): 537 (WebKit): 538 * UIProcess/PageViewportController.h: 539 (PageViewportController): 540 * UIProcess/WebPageProxy.h: 541 (WebPageProxy): 542 * UIProcess/WebPageProxy.messages.in: 543 * UIProcess/qt/QtPageClient.cpp: 544 (WebKit::QtPageClient::pageTransitionViewportReady): 545 (WebKit): 546 * UIProcess/qt/QtPageClient.h: 547 (QtPageClient): 548 * UIProcess/qt/WebPageProxyQt.cpp: 549 (WebKit::WebPageProxy::commitPageTransitionViewport): 550 (WebKit): 551 (WebKit::WebPageProxy::pageTransitionViewportReady): 552 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 553 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 554 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 555 (WebKit::WebFrameLoaderClient::frameLoadCompleted): 556 (WebKit::WebFrameLoaderClient::provisionalLoadStarted): 557 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 558 (WebFrameLoaderClient): 559 * WebProcess/WebPage/WebPage.cpp: 560 (WebKit::WebPage::didStartPageTransition): 561 (WebKit): 562 (WebKit::WebPage::didCompletePageTransition): 563 * WebProcess/WebPage/WebPage.h: 564 (WebPage): 565 * WebProcess/WebPage/WebPage.messages.in: 566 * WebProcess/WebPage/qt/WebPageQt.cpp: 567 (WebKit::WebPage::commitPageTransitionViewport): 568 (WebKit): 569 5702012-10-01 Alberto Garcia <agarcia@igalia.com> 571 572 WebPrintOperationGtk destructor should be virtual 573 https://bugs.webkit.org/show_bug.cgi?id=98002 574 575 Reviewed by Carlos Garcia Campos. 576 577 WebPrintOperationGtk is an abstract class which can be deleted 578 using a pointer to itself, yet its destructor is not virtual. 579 Fixes -Wdelete-non-virtual-dtor. 580 581 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 582 (WebPrintOperationGtk): 583 5842012-09-30 Mario Sanchez Prada <msanchez@igalia.com> 585 586 [WK2][GTK] Add API to get the favicon for a WebKitWebView 587 https://bugs.webkit.org/show_bug.cgi?id=96477 588 589 Reviewed by Carlos Garcia Campos. 590 591 Provide a new simple API to synchronously try to get the favicon 592 associated with a WebView, if any, and to keep track of changes on 593 it, through a new GObject property. 594 595 * UIProcess/API/gtk/WebKitWebView.cpp: 596 (_WebKitWebViewPrivate): 597 (webkitWebViewIconReadyCallback): Callback to handle the 598 'icon-ready' signal coming from WebKitFaviconDatabase. 599 (webkitWebViewWatchForChangesInFavicon): Connects to the 600 'icon-ready' signal from WebKitFaviconDatabase, to keep track of 601 changes in favicons, that must be related to the current view. 602 (webkitWebViewDisconnectFaviconDatabaseSignalHandlers): 603 Disconnects the handler for 'icon-ready' if needed. 604 (webkitWebViewGetProperty): Updated for the new "favicon" property . 605 (webkitWebViewFinalize): Disconnect the new signal handler. 606 (webkit_web_view_class_init): Definition of the new property. 607 (webkitWebViewEmitLoadChanged): Make sure we will be watching for 608 changes in the favicon from WEBKIT_LOAD_STARTED on. 609 (webkit_web_view_get_favicon): New API funtcion, returning the 610 current favicon for the WebView, if any, or NULL otherwise. 611 * UIProcess/API/gtk/WebKitWebView.h: 612 613 Internally expose a way to try to get the favicon associated to a 614 page URL synchronously, through WebKitFaviconDatabase. 615 616 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 617 (webkitFaviconDatabaseGetFaviconSync): New internal function, it 618 will return either 0 or a valid pointer to a cairo_surface_t. 619 * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: 620 621 Add unit tests for checking this new API. 622 623 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: 624 (testWebViewFavicon): New unit test. 625 (beforeAll): Add the test to the test suite. 626 6272012-09-30 Mario Sanchez Prada <msanchez@igalia.com> 628 629 [WK2][GTK] Fix issues with WebKitFaviconDatabase in debug builds 630 https://bugs.webkit.org/show_bug.cgi?id=97966 631 632 Reviewed by Carlos Garcia Campos. 633 634 Fix failing ASSERTs detected when running the unit tests from 635 TestWebKitFaviconDatabase in debug builds. 636 637 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 638 (webkitFaviconDatabaseDispose): Close IconDatabase here, which is 639 the right place to do it according to GObject documentation. 640 (webkitFaviconDatabaseFinalize): Just destroy the private data 641 structure and chain up to parent class's finalize method. 642 (webkit_favicon_database_class_init): Override dispose method. 643 644 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: 645 (webkitFaviconDatabaseFinalizedCallback): Delete files when the 646 WebKitFaviconDatabase is being finalized, since by that time the 647 IconDatabase from WebCore will be already closed. 648 (afterAll): Add a weak reference to WebKitFaviconDatabase and 649 provide a GWeakNotify callback (webkitFaviconDatabaseFinalizedCallback). 650 6512012-09-29 Byungwoo Lee <bw80.lee@samsung.com> 652 653 [EFL] Fix build error : Link webkit2 library to ewk2UnitTestInjectedBundleSample. 654 https://bugs.webkit.org/show_bug.cgi?id=97622 655 656 Reviewed by Gyuyoung Kim. 657 658 There is no dependency between ewk2UnitTestInjectedBundleSample and 659 webkit2 library. 660 661 Because of this, on the first build, compiler tries to build 662 injected_bundle_sample.cpp before the forwarding headers are created. 663 This makes build error that the header file 'WebKit2/WKBaseSoup.h' 664 cannot be found. 665 666 To prevent this, webkit2 library is linked to ewk2UnitTestInjectedBundleSample. 667 668 * PlatformEfl.cmake: 669 6702012-09-28 Mariusz Grzegorczyk <mariusz.g@samsung.com> 671 672 [WK2][GTK][EFL] Share WebKit2-GTK plugin process implementation with EFL port 673 https://bugs.webkit.org/show_bug.cgi?id=91844 674 675 Reviewed by Simon Hausmann. 676 677 Implement windowless plugin and functions needed to launch PluginProcess. 678 679 * GNUmakefile.am: Change files and folders related to plugin process from gtk to unix. 680 * GNUmakefile.list.am: Change files and folders related to plugin process from gtk to unix. 681 * Platform/Logging.cpp: Add Plugins channel for LOG. 682 (WebKit): 683 (WebKit::getChannelFromName): 684 (WebKit::initializeLogChannelsIfNecessary): 685 * Platform/Logging.h: 686 (WebKit): 687 * PlatformEfl.cmake: Add files needed by plugin process. 688 * PluginProcess/unix/PluginControllerProxyUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginControllerProxyGtk.cpp. 689 (WebKit): 690 (WebKit::PluginControllerProxy::platformInitialize): Add macros for gtk/efl differents. 691 (WebKit::PluginControllerProxy::platformDestroy): 692 (WebKit::PluginControllerProxy::platformGeometryDidChange): 693 * PluginProcess/unix/PluginProcessMainUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp. 694 (WebKit): 695 (WebKit::webkitXError): 696 (WebKit::PluginProcessMainUnix): 697 * PluginProcess/unix/PluginProcessMainUnix.h: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h. 698 (WebKit): 699 * PluginProcess/unix/PluginProcessUnix.cpp: Renamed from Source/WebKit2/PluginProcess/gtk/PluginProcessGtk.cpp. 700 (WebKit): 701 (WebKit::PluginProcess::platformInitialize): 702 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Renamed from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp. 703 (WebKit): 704 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 705 (WebKit::PluginProcessProxy::scanPlugin): 706 * UIProcess/efl/WebPageProxyEfl.cpp: Add stubs. 707 (WebKit::WebPageProxy::createPluginContainer): 708 (WebKit): 709 (WebKit::WebPageProxy::windowedPluginGeometryDidChange): 710 * WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp: Renamed from Source/WebKit2/WebProcess/Plugins/Netscape/gtk/PluginProxyGtk.cpp. 711 (WebKit): 712 (WebKit::PluginProxy::needsBackingStore): 713 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Plugin's windowless implementation. 714 (WebKit::getPluginDisplay): 715 (WebKit::x11Screen): 716 (WebKit::displayDepth): 717 (WebKit::rootWindowID): 718 (WebKit::NetscapePlugin::x11HostDisplay): 719 (WebKit::NetscapePlugin::platformPaint): 720 * config.h: 721 * unix/PluginMainUnix.cpp: Renamed from Source/WebKit2/gtk/PluginMainGtk.cpp. 722 (main): 723 7242012-09-28 Anders Carlsson <andersca@apple.com> 725 726 Remove Java bridge 727 https://bugs.webkit.org/show_bug.cgi?id=97954 728 729 Reviewed by Sam Weinig. 730 731 The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in. 732 733 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 734 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 735 (WebFrameLoaderClient): 736 7372012-09-28 Dan Bernstein <mitz@apple.com> 738 739 <rdar://problem/12398537> WebKit2 lacks API for disabling document.cookie like -[WebView _setCookieEnabled:] 740 https://bugs.webkit.org/show_bug.cgi?id=97939 741 742 Reviewed by Sam Weinig. 743 744 * Shared/WebPreferencesStore.h: 745 (WebKit): Defined CookieEnabled key with a default value of true. 746 * UIProcess/API/C/WKPreferences.cpp: 747 (WKPreferencesSetCookieEnabled): Added this setter. 748 (WKPreferencesGetCookieEnabled): Added this getter. 749 * UIProcess/API/C/WKPreferencesPrivate.h: 750 * WebProcess/WebPage/WebPage.cpp: 751 (WebKit::WebPage::updatePreferences): Added a call to Settings::setCookieEnabled to push the 752 preference into Settings. 753 7542012-09-28 Sam Weinig <sam@webkit.org> 755 756 Fix pluralization of Info.plist key. 757 758 Rubber-stamped by Anders Carlsson. 759 760 * WebProcessService/Info.plist: 761 * WebProcessServiceForWebKitDevelopment/Info.plist: 762 It's _MultipleInstances, not _MultipleInstance. :( 763 7642012-09-28 Anders Carlsson <andersca@apple.com> 765 766 Pass the correct path length to _NSGetExecutablePath 767 https://bugs.webkit.org/show_bug.cgi?id=97935 768 769 Reviewed by Sam Weinig. 770 771 * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: 772 (WebProcessServiceForWebKitDevelopmentEventHandler): 773 Initialize pathLength before passing it to _NSGetExecutablePath. 774 7752012-09-28 Alberto Garcia <agarcia@igalia.com> 776 777 WebKitLoaderClient: add missing initializer. 778 https://bugs.webkit.org/show_bug.cgi?id=97930 779 780 Reviewed by Martin Robinson. 781 782 WKPageLoaderClient is missing the initializer for the didLayout 783 field. Fixes -Wmissing-field-initializers. 784 785 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 786 (attachLoaderClientToView): 787 7882012-09-28 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 789 790 Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports 791 https://bugs.webkit.org/show_bug.cgi?id=97547 792 793 Reviewed by Adam Barth. 794 795 Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used 796 inside WebKit::WebPageProxy::canShowMIMEType() and WKBundlePageCanShowMIMEType(). 797 798 * UIProcess/WebPageProxy.cpp: 799 (WebKit::WebPageProxy::canShowMIMEType): 800 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 801 (WKBundlePageCanShowMIMEType): 802 8032012-09-28 Byungwoo Lee <bw80.lee@samsung.com> 804 805 [EFL][WK2] {Vibration,Battery,NetworkInfo}Provider should contain WKContextRef instead of proxy. 806 https://bugs.webkit.org/show_bug.cgi?id=97839 807 808 Reviewed by Kenneth Rohde Christiansen. 809 810 VibrationProvider has WKRetainPtr<WKVibrationRef> m_wkVibrationRef 811 which has reference for object WebVibrationProxy. 812 The WebVibrationProxy instance is a member of WebContext who has it 813 as RefPtr<WebVibrationProxy>. 814 815 A member of one class is shared with another class, but there is no 816 relation between the two classes. 817 818 This can become a problem when WebContext is deleted before the 819 VibrationProvider, WebVibrationProxy will be alive without WebContext, 820 because VibrationProvider also has the reference for WebVibrationProxy. 821 822 This is a problem because WebVibrationProxy should be a member of 823 WebContext. 824 825 To prevent this, I changed the VibrationProvider to have 826 WKRetainPtr<WKContextRef> instead of WKRetainPtr<WKVibrationRef>. 827 Same for BatteryProvider and NetworkInfoProvider. 828 829 * UIProcess/API/efl/BatteryProvider.cpp: 830 (BatteryProvider::create): 831 (BatteryProvider::BatteryProvider): 832 (BatteryProvider::didChangeBatteryStatus): 833 * UIProcess/API/efl/BatteryProvider.h: 834 (BatteryProvider): 835 * UIProcess/API/efl/NetworkInfoProvider.cpp: 836 (NetworkInfoProvider::create): 837 (NetworkInfoProvider::NetworkInfoProvider): 838 * UIProcess/API/efl/NetworkInfoProvider.h: 839 (NetworkInfoProvider): 840 * UIProcess/API/efl/VibrationProvider.cpp: 841 (VibrationProvider::create): 842 (VibrationProvider::VibrationProvider): 843 * UIProcess/API/efl/VibrationProvider.h: 844 (VibrationProvider): 845 * UIProcess/API/efl/ewk_context.cpp: 846 (_Ewk_Context::_Ewk_Context): 847 8482012-09-28 Mario Sanchez Prada <msanchez@igalia.com> 849 850 [WK2][GTK] Implement new Favicons API 851 https://bugs.webkit.org/show_bug.cgi?id=96476 852 853 Reviewed by Carlos Garcia Campos. 854 855 New object wrapping the internal IconDatabase from WebCore, 856 providing a simple asynchronous API to retrieve the favicon 857 associated to a page URL, and two more functions to simple query 858 the internal database for the URI of the icon associated to a 859 page, if any, and to clear the state of the internal database. 860 861 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Added. 862 (_WebKitFaviconDatabasePrivate): 863 (webkit_favicon_database_init): 864 (webkitFaviconDatabaseFinalize): 865 (webkit_favicon_database_class_init): 866 (GetFaviconSurfaceAsyncData): New structure used to pass data 867 across the asynchronous implementation of get_favicon(). 868 (GetFaviconSurfaceAsyncData::~GetFaviconSurfaceAsyncData): 869 Disconnects the cancellable if needed. 870 (getIconSurfaceSynchronously): Synchronously returns a pointer to 871 the cairo_surface with the icon's data, if available. 872 (deletePendingIconRequests): Removes the full list of 873 icon requests for a page URL. 874 (processPendingIconsForURI): Process any icon request that 875 might be still pending. 876 (iconDataReadyForPageURLCallback): Called from WebIconDatabase 877 when new data is ready for a favicon. 878 (webkitFaviconDatabaseCreate): Create the WebKitFaviconDatabase 879 object and initializes the API client for WKIconDatabaseClient. 880 (getOrCreatePendingIconRequests): Returns (if available) or 881 creates a new icon request, to be appended to the list of requests 882 for the same page URL. 883 (getIconSurfaceCancelled): Handle the case of a request being 884 cancelled. Must happen on the main thread. 885 (getIconSurfaceCancelledCallback): Callback used with 886 g_cancellable_connect(), which ensure getIconSurfaceCancelled() is 887 called from the main thread. 888 (setErrorForAsyncResult): Helper to set errors in the result. 889 (webkit_favicon_database_error_quark): New function, providint the 890 new error domain for errors of type WebKitFaviconDatabaseError. 891 (webkit_favicon_database_get_favicon): New API function, providing 892 an asynchronous mechanism to query the favicon for a page URL. 893 (webkit_favicon_database_get_favicon_finish): New API function to 894 finish the asyncrhonous request started with get_favicon(). 895 (webkit_favicon_database_get_favicon_uri): New API function 896 to easily retrieve, if available, the URI of a favicon. 897 (webkit_favicon_database_clear): New API function to clear the 898 state of the internal icon database. 899 * UIProcess/API/gtk/WebKitFaviconDatabase.h: Added. 900 (_WebKitFaviconDatabase): 901 (_WebKitFaviconDatabaseClass): 902 * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h: Added to 903 internally expose webkitFaviconDatabaseCreate() to WebKitWebContext. 904 * UIProcess/API/gtk/WebKitPrivate.h: Import WebKit2/WKIconDatabase.h. 905 * GNUmakefile.list.am: Added new files. 906 907 Add a new getter in WebIconDatabase for m_urlImportCompleted. 908 909 * UIProcess/WebIconDatabase.cpp: 910 (WebKit::WebIconDatabase::isUrlImportCompleted): Added this simple 911 getter to allow knowing from WebKitFaviconDatabase whether the 912 initial import has finished, needed for making some decisions. 913 (WebKit): 914 * UIProcess/WebIconDatabase.h: 915 (WebIconDatabase): 916 917 New API in WebKitWebContext to allow obtaining a valid instance of 918 WebKitFaviconDatabase and to set/get the local path to be used. 919 920 * UIProcess/API/gtk/WebKitWebContext.cpp: 921 (_WebKitWebContextPrivate): 922 (webkit_web_context_set_favicon_database_path): New API to allow 923 setting a path for the icon database, other than the default one. 924 (webkit_web_context_get_favicon_database_path): New API to 925 retrieve the path for the icon database currently in use. 926 (webkit_web_context_get_favicon_database): New API to get a valid 927 and properly initialized instance of WebKitFaviconDatabase. 928 * UIProcess/API/gtk/WebKitWebContext.h: 929 930 Make sure we have a default path set for the icon database. 931 932 * UIProcess/gtk/WebContextGtk.cpp: 933 (WebKit::WebContext::platformDefaultIconDatabasePath): Return the 934 default path to be used for the icon database. 935 936 Add unit tests for checking this new API. 937 938 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: Added. 939 (serverCallback): Callback for the test server. 940 (testSetDirectory): New unit test, checks the ability to set and 941 get a specific directory path for the icon database. 942 (testClearDatabase): New unit test, checks the ability to clear 943 the data in the icon database. 944 (testGetFavicon): New unit test, checks the ability to get a 945 favicon from the icon database in different situations. 946 (testGetFaviconURI): New unit test, checks the ability to retrieve 947 the URI for the favicon, if any, associated to a web page. 948 (deleteDatabaseFiles): Helper function to remove temporary files. 949 (beforeAll): Initialize the test server and add the unit tests. 950 (afterAll): Delete the test server and clean up. 951 9522012-09-28 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 953 954 [EFL] Unreviewed test fixes after r129892. 955 956 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 957 (TEST_F): Fix a copy&paste error that changed the test 958 expectations. 959 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 960 (TEST_F): Revert the change here since it was already in the right 961 format before. 962 9632012-09-28 Jinwoo Song <jinwoo7.song@samsung.com> 964 965 [EFL][WK2] Some expected and actual parameters in unit tests are reversed 966 https://bugs.webkit.org/show_bug.cgi?id=97624 967 968 Reviewed by Laszlo Gombos. 969 970 According to the gtest guide, ASSERT_XXX, EXPECT_XXX(expected, actual) are recommended 971 but some unit tests do not follow this.(http://code.google.com/p/googletest/wiki/Primer) 972 Google Test's failure messages are optimized for this convention. 973 974 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: 975 (TEST_F): 976 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 977 (schemeRequestCallback): 978 (TEST_F): 979 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 980 (TEST_F): 981 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: 982 (on_download_requested): 983 (on_download_finished): 984 * UIProcess/API/efl/tests/test_ewk2_intents.cpp: 985 (onIntentServiceRegistration): 986 (onIntentReceived): 987 (TEST_F): 988 * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: 989 (TEST_F): 990 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 991 (TEST_F): 992 (onFormAboutToBeSubmitted): 993 (checkBasicPopupMenuItem): 994 (showPopupMenu): 995 (showColorPicker): 996 9972012-09-28 Balazs Kelemen <kbalazs@webkit.org> 998 999 [Qt] QRawWebView tests are broke after r129545 1000 https://bugs.webkit.org/show_bug.cgi?id=97907 1001 1002 Reviewed by Noam Rosenthal. 1003 1004 The issue here is that we set up the page loader client before initializing the page 1005 so the message we send in WebPageProxy::initializeLoaderClient will be lost since the 1006 page does not exists at the web process side yet. The trivial fix would be to reorder 1007 initialization. In this patch I also moved to the new model of observing layout changes 1008 via WKPageDidLayoutCallback since the old one will be deprecated at some time. 1009 1010 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 1011 (WebView::WebView): 1012 (WebView::didLayout): 1013 10142012-09-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> 1015 1016 Unreviewed, rolling out r129863. 1017 http://trac.webkit.org/changeset/129863 1018 https://bugs.webkit.org/show_bug.cgi?id=97173 1019 1020 Broken debug WK2 layout test 1021 1022 * PlatformEfl.cmake: 1023 * UIProcess/API/efl/EWebKit2.h: 1024 * UIProcess/API/efl/ewk_context.cpp: 1025 (_Ewk_Context::_Ewk_Context): 1026 (_Ewk_Context::~_Ewk_Context): 1027 * UIProcess/API/efl/ewk_main.cpp: 1028 (ewk_init): 1029 (ewk_shutdown): 1030 * UIProcess/API/efl/ewk_main.h: Added. 1031 * UIProcess/API/efl/ewk_main_private.h: Removed. 1032 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 1033 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 1034 (EWK2UnitTest::EWK2UnitTestBase::TearDown): 1035 * WebProcess/efl/WebProcessMainEfl.cpp: 1036 (WebKit::WebProcessMainEfl): 1037 10382012-09-28 Christophe Dumez <christophe.dumez@intel.com> 1039 1040 [EFL][WK2] exceededDatabaseQuota event is not handled 1041 https://bugs.webkit.org/show_bug.cgi?id=97882 1042 1043 Reviewed by Kenneth Rohde Christiansen. 1044 1045 Handle exceededDatabaseQuota callback from WKPageUIClient so 1046 that we let the browser a chance to decide what to do when 1047 the database quota is reached. If the browser does not handle 1048 this, then we return a realistic default quota (5MB as 1049 recommended by the spec). 1050 1051 * UIProcess/API/efl/ewk_view.cpp: 1052 (ewk_view_database_quota_exceeded): 1053 * UIProcess/API/efl/ewk_view.h: 1054 * UIProcess/API/efl/ewk_view_private.h: 1055 * UIProcess/API/efl/ewk_view_ui_client.cpp: 1056 (exceededDatabaseQuota): 1057 (ewk_view_ui_client_attach): 1058 10592012-09-28 Kai Koehne <kai.koehne@digia.com> 1060 1061 [Qt] Use qInstallMessageHandler() 1062 https://bugs.webkit.org/show_bug.cgi?id=96648 1063 1064 Reviewed by Jocelyn Turcotte. 1065 1066 qInstallMsgHandler() got deprecated in Qt 5. 1067 1068 * PluginProcess/qt/PluginProcessMainQt.cpp: 1069 (WebKit::messageHandler): 1070 (WebKit::PluginProcessMain): 1071 * UIProcess/API/qt/tests/util.cpp: 1072 (messageHandler): 1073 (suppressDebugOutput): 1074 * qt/MainQt.cpp: 1075 (messageHandler): 1076 (main): 1077 10782012-09-28 Byungwoo Lee <bw80.lee@samsung.com> 1079 1080 [EFL][WK2] Clear provider on destructor of {Vibration,Battery,NetworkInfo}Provider. 1081 https://bugs.webkit.org/show_bug.cgi?id=97528 1082 1083 Reviewed by Kenneth Rohde Christiansen. 1084 1085 Constructor of {Vibration,Battery,NetworkInfo}Provider set provider 1086 but the destructor of the classes doesn't clear provider. 1087 This can make a problem about accessing dangling pointer. 1088 1089 For preventing this problem, clear provider on destructor. 1090 1091 * UIProcess/API/efl/BatteryProvider.cpp: 1092 (BatteryProvider::~BatteryProvider): 1093 * UIProcess/API/efl/NetworkInfoProvider.cpp: 1094 (NetworkInfoProvider::~NetworkInfoProvider): 1095 * UIProcess/API/efl/VibrationProvider.cpp: 1096 (VibrationProvider::~VibrationProvider): 1097 10982012-09-28 Christophe Dumez <christophe.dumez@intel.com> 1099 1100 [EFL][WK2] NetworkInfo provider is not initialized in Ewk_Context 1101 https://bugs.webkit.org/show_bug.cgi?id=97865 1102 1103 Reviewed by Kenneth Rohde Christiansen. 1104 1105 Initialize NetworkInfo provider for EFL port in Ewk_Context 1106 with the other providers. 1107 1108 * UIProcess/API/efl/ewk_context.cpp: 1109 (_Ewk_Context): 1110 (_Ewk_Context::_Ewk_Context): 1111 11122012-09-28 Eunmi Lee <eunmi15.lee@samsung.com> 1113 1114 [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries. 1115 https://bugs.webkit.org/show_bug.cgi?id=97173 1116 1117 Reviewed by Gyuyoung Kim. 1118 1119 Initialize and shutdown the EFL libraries in the ewk_main.cpp for ui 1120 process and WebProcessMainEfl.cpp for web process. 1121 Additionally, initialization and shutdown are done when ewk_context is 1122 created and deleted, so ewk_{init,shutdown} APIs are changed to 1123 internal function and applications don't have to call them. 1124 1125 * PlatformEfl.cmake: 1126 * UIProcess/API/efl/EWebKit2.h: 1127 * UIProcess/API/efl/ewk_context.cpp: 1128 (_Ewk_Context::_Ewk_Context): 1129 (_Ewk_Context::~_Ewk_Context): 1130 * UIProcess/API/efl/ewk_main.cpp: 1131 (ewk_init): 1132 (ewk_shutdown): 1133 * UIProcess/API/efl/ewk_main.h: Removed. 1134 * UIProcess/API/efl/ewk_main_private.h: Added. 1135 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 1136 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 1137 (EWK2UnitTest::EWK2UnitTestBase::TearDown): 1138 * WebProcess/efl/WebProcessMainEfl.cpp: 1139 (WebKit::WebProcessMainEfl): 1140 11412012-09-27 Beth Dakin <bdakin@apple.com> 1142 1143 https://bugs.webkit.org/show_bug.cgi?id=97823 1144 Need to bump the WKBundlePageLoaderClient version after the addition of didLayout 1145 1146 Reviewed by Brady Eidson. 1147 1148 Bump the version. 1149 * Shared/APIClientTraits.cpp: 1150 (WebKit): 1151 * Shared/APIClientTraits.h: 1152 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 1153 11542012-09-27 Helder Correia <helder.correia@nokia.com> 1155 1156 [Cairo] Unnecessary creation of ShareableBitmap's for directly composited images 1157 https://bugs.webkit.org/show_bug.cgi?id=97745 1158 1159 Reviewed by Martin Robinson. 1160 1161 In LayerTreeCoordinator::adoptImageBackingStore(), there is a 1162 PLATFORM(QT) code path to check for identical images, but nothing is 1163 done for Cairo, which results in the occurrence of avoidable resource 1164 allocations. 1165 1166 The issue happens in e.g. http://www.webkit.org/blog-files/leaves/, 1167 where there are many leaves flying around while they're produced out of 1168 only four bitmaps. 1169 1170 This patch uses pointers to cairo_surface_t's as the key to the hashmap 1171 that caches bitmaps. This can be safely done since we own the references. 1172 We artificially increment the surface references in adoptImageBackingStore() 1173 and decrement them in releaseImageBackingStore(). 1174 1175 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 1176 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 1177 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 1178 11792012-09-27 Anders Carlsson <andersca@apple.com> 1180 1181 Stop using dispatch_get_current_queue 1182 https://bugs.webkit.org/show_bug.cgi?id=97806 1183 <rdar://problem/12379094> 1184 1185 Reviewed by Mark Rowe. 1186 1187 * Platform/mac/WorkQueueMac.cpp: 1188 (WorkQueueAndFunction::WorkQueueAndFunction): 1189 (WorkQueueAndFunction): 1190 (WorkQueue::executeFunction): 1191 (WorkQueue::dispatch): 1192 (WorkQueue::dispatchAfterDelay): 1193 Keep track of the associated work queue so we can get it in WorkQueue::executeFunction. 1194 1195 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 1196 (WebKit::setUpTerminationNotificationHandler): 1197 We don't care about which queue the termination notification is delivered on since we only want to call 1198 waitpid on the child pid so we can just use a global queue. 1199 1200 * UIProcess/mac/WebInspectorProxyMac.mm: 1201 (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): 1202 Use dispatch_get_main_queue here. 1203 12042012-09-27 Mario Sanchez Prada <msanchez@igalia.com> 1205 1206 [WK2] IconDatabase: Add a way to notify when icon data is available 1207 https://bugs.webkit.org/show_bug.cgi?id=63945 1208 1209 Rubber stamped by Anders Carlsson. 1210 1211 Update version of WKIconDatabaseClient and API traits. 1212 1213 * Shared/APIClientTraits.cpp: 1214 (WebKit): 1215 * Shared/APIClientTraits.h: 1216 * UIProcess/API/C/WKIconDatabase.h: 1217 12182012-09-27 Balazs Kelemen <kbalazs@webkit.org> 1219 1220 [Qt][WK2] REGRESSION(r128980): It broke all QRawWebView API test 1221 https://bugs.webkit.org/show_bug.cgi?id=97561 1222 1223 Reviewed by Noam Rosenthal. 1224 1225 Make sure we always send the very first RenderNextFrame message. 1226 Before r128980 it was working accidentally because in the common 1227 case the web process sent a DeleteCompositingLayer message at some 1228 point before the forced repaint would time out and we was sending 1229 the first RenderNextFrame when reacting to that. 1230 1231 * UIProcess/API/qt/raw/qrawwebview.cpp: 1232 (QRawWebView::setActive): Set the LayerTreeRenderer to active 1233 as well. In the QQuickWebView case it is handled by the QtWebPageSGNode. 1234 (QRawWebView::layerTreeRenderer): Added a convenience getter 1235 for the LayerTreeRenderer. 1236 (QRawWebView::paint): 1237 * UIProcess/API/qt/raw/qrawwebview_p.h: 1238 (WebKit): 1239 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 1240 (tst_qrawwebview::tst_qrawwebview): Added a call to addQtWebProcessToPath 1241 to make my and the follower users of this test easier. 1242 12432012-09-27 Eunmi Lee <eunmi15.lee@samsung.com> 1244 1245 [EFL][WK2] Process touch events using mouse and multi events of Evas. 1246 https://bugs.webkit.org/show_bug.cgi?id=96906 1247 1248 Reviewed by Kenneth Rohde Christiansen. 1249 1250 Provide default behavior for processing touch events in the ewk_view if 1251 application wants to use it. 1252 We can to process touch events using mouse and multi events because the 1253 Evas creates mouse events for first touch and multi events for second and 1254 third touch. It can be modified when Evas starts to support event type 1255 for touch events. 1256 1257 * UIProcess/API/efl/ewk_view.cpp: 1258 (_Ewk_View_Private_Data): 1259 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 1260 (_ewk_view_feed_touch_event_using_touch_point_list_of_evas): 1261 (_ewk_view_on_touch_down): 1262 (_ewk_view_on_touch_up): 1263 (_ewk_view_on_touch_move): 1264 (ewk_view_touch_events_enabled_set): 1265 (ewk_view_touch_events_enabled_get): 1266 * UIProcess/API/efl/ewk_view.h: 1267 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 1268 (EWK2UnitTest::EWK2UnitTestBase::mouseDown): 1269 (EWK2UnitTest): 1270 (EWK2UnitTest::EWK2UnitTestBase::mouseUp): 1271 (EWK2UnitTest::EWK2UnitTestBase::mouseMove): 1272 (EWK2UnitTest::EWK2UnitTestBase::multiDown): 1273 (EWK2UnitTest::EWK2UnitTestBase::multiUp): 1274 (EWK2UnitTest::EWK2UnitTestBase::multiMove): 1275 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 1276 (EWK2UnitTestBase): 1277 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 1278 (TEST_F): 1279 12802012-09-27 Jinwoo Song <jinwoo7.song@samsung.com> 1281 1282 [EFL][WK2] Add callback functions for WKPageFindClient 1283 https://bugs.webkit.org/show_bug.cgi?id=97431 1284 1285 Reviewed by Laszlo Gombos. 1286 1287 Add didFailToFindString() and didCountStringMatches() for WKPageFindClient's callback functions. 1288 The unit test for didFindString() and didFailToFindString() have beend added. The unit test for 1289 didCountStringMatches() needs a API which wraps the WKPageCountStringMatches but it is not exists yet. 1290 Additionaly, I changed the 'unsinged int' to 'unsigned' in the parameter type and removed unnecessary 1291 type conversion. 1292 1293 * UIProcess/API/efl/ewk_view.cpp: 1294 (ewk_view_text_find): 1295 * UIProcess/API/efl/ewk_view.h: 1296 * UIProcess/API/efl/ewk_view_find_client.cpp: 1297 (didFindString): 1298 (didFailToFindString): 1299 (didCountStringMatches): 1300 (ewk_view_find_client_attach): 1301 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 1302 (onTextFound): 1303 (TEST_F): 1304 13052012-09-27 Allan Sandfeld Jensen <allan.jensen@digia.com> 1306 1307 Unify event handling of middle mouse button. 1308 https://bugs.webkit.org/show_bug.cgi?id=97690 1309 1310 Reviewed by Tony Chang. 1311 1312 Remove Qt and GTK port specific handling of middle mouse button press. 1313 1314 * WebProcess/WebPage/WebPage.cpp: 1315 (WebKit::handleMouseEvent): 1316 * WebProcess/WebPage/WebPage.h: 1317 (WebPage): 1318 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 1319 (WebKit): 1320 * WebProcess/WebPage/qt/WebPageQt.cpp: 1321 13222012-09-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1323 1324 [WK2] Injected bundle API implementation should use toWTFString() 1325 https://bugs.webkit.org/show_bug.cgi?id=97766 1326 1327 Reviewed by Kenneth Rohde Christiansen. 1328 1329 Injected bundle API implementation should call toWTFString() rather than convert 1330 WKStringRef and WKURLRef to their impls and then call string() method directly. 1331 The rational for that are both safety (toWTFString checks the given pointer) and 1332 code readability. 1333 1334 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 1335 (WKBundlePostMessage): 1336 (WKBundlePostSynchronousMessage): 1337 (WKBundleOverrideBoolPreferenceForTestRunner): 1338 (WKBundleAddOriginAccessWhitelistEntry): 1339 (WKBundleRemoveOriginAccessWhitelistEntry): 1340 (WKBundleClearApplicationCacheForOrigin): 1341 (WKBundleGetAppCacheUsageForOrigin): 1342 (WKBundleSetApplicationCacheOriginQuota): 1343 (WKBundleResetApplicationCacheOriginQuota): 1344 (WKBundlePageNumberForElementById): 1345 (WKBundleSetUserStyleSheetLocation): 1346 (WKBundleSetWebNotificationPermission): 1347 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 1348 (WKBundleFramePauseAnimationOnElementWithId): 1349 (WKBundleFramePauseTransitionOnElementWithId): 1350 (WKBundleFrameAllowsFollowingLink): 1351 (WKBundleFrameCopySuggestedFilenameForResourceWithURL): 1352 (WKBundleFrameCopyMIMETypeForResourceWithURL): 1353 (WKBundleFrameSetTextDirection): 1354 * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: 1355 (WKBundleInspectorEvaluateScriptForTest): 1356 * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: 1357 (WKBundleIntentCreate): 1358 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 1359 (WKBundlePageExecuteEditingCommand): 1360 (WKBundlePageIsEditingCommandEnabled): 1361 (WKBundlePageHasLocalDataForURL): 1362 (WKBundlePageFindString): 1363 (WKBundlePageSetComposition): 1364 (WKBundlePageConfirmCompositionWithText): 1365 (WKBundlePageCanShowMIMEType): 1366 13672012-09-27 Mario Sanchez Prada <msanchez@igalia.com> 1368 1369 [WK2] IconDatabase: Add a way to notify when icon data is available 1370 https://bugs.webkit.org/show_bug.cgi?id=63945 1371 1372 Reviewed by Anders Carlsson. 1373 1374 Provide new API to notify the API layer when icon data is 1375 available, and use it from the implementation layer when needed, 1376 that is, either when the data has been loaded from the network or 1377 imported from disk. 1378 1379 Added new callback to WKIconDatabaseClient API. 1380 1381 * UIProcess/API/C/WKIconDatabase.h: Added new callback. 1382 * UIProcess/WebIconDatabaseClient.cpp: 1383 (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL): 1384 Implementation of the new callback at this level in the UI 1385 process, by using its implementation in the API layer if present. 1386 * UIProcess/WebIconDatabaseClient.h: 1387 (WebIconDatabaseClient): Added new callback. 1388 1389 Implemented WebFrameLoaderClient::dispatchDidReceiveIcon, so we 1390 get notified in the UI process when loading a new icon. 1391 1392 * UIProcess/WebIconDatabase.messages.in: Added new message to 1393 notify the UI process: DidReceiveIconForPageURL. 1394 * UIProcess/WebIconDatabase.cpp: 1395 (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): New 1396 private helper function to notify the API layer both that new icon 1397 data is ready and that the icon has changed. 1398 (WebKit::WebIconDatabase::didReceiveIconForPageURL): 1399 Implementation of the new message added, by calling 1400 notifyIconDataReadyForPageURL() to notify the API layer. 1401 (WebKit::WebIconDatabase::didImportIconDataForPageURL): Call 1402 notifyIconDataReadyForPageURL() from here as well. 1403 * UIProcess/WebIconDatabase.h: Added new prototypes. 1404 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1405 (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon): Send a 1406 message to the UI process telling a new icon has been received. 1407 14082012-09-26 Sam Weinig <sam@webkit.org> 1409 1410 Fix XPCServices symlink to not be to an absolute path 1411 in the build products directory. 1412 1413 Reviewed by Dan Bernstein. 1414 1415 * WebKit2.xcodeproj/project.pbxproj: 1416 14172012-09-26 Anders Carlsson <andersca@apple.com> 1418 1419 Stop using CFURLCreateDataAndPropertiesFromResource 1420 https://bugs.webkit.org/show_bug.cgi?id=97728 1421 <rdar://problem/12379035> 1422 1423 Reviewed by Tim Horton. 1424 1425 Replace a call to CFURLCreateDataAndPropertiesFromResource with -[NSData initWithContentsOfURL:] 1426 and add the necessary casts to make the compiler happy. 1427 1428 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 1429 (WebKit::contentsOfPropertyListAtURL): 1430 14312012-09-26 Alexey Proskuryakov <ap@apple.com> 1432 1433 [WK2] Update WebPageProxy::reattachToWebProcess() for multi-web process mode 1434 https://bugs.webkit.org/show_bug.cgi?id=97726 1435 1436 Reviewed by Anders Carlsson. 1437 1438 * UIProcess/WebContext.cpp: 1439 (WebKit::WebContext::ensureSharedWebProcess): createNewWebProcess() now takes care 1440 of adding the new process to m_processes. 1441 (WebKit::WebContext::createNewWebProcess): Every time we call this function, we need 1442 to add the result to m_processes. Better do it internally to avoid mistakes. 1443 (WebKit::WebContext::warmInitialProcess): Updated for the above. 1444 (WebKit::WebContext::createWebPage): Ditto. 1445 (WebKit::WebContext::relaunchProcessIfNecessary): This function makes no sense in 1446 multi-web process mode. Assert that we didnt get here accidentally. 1447 1448 * UIProcess/WebContext.h: (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary): 1449 Only call relaunchProcessIfNecessary in single process mode. The functionality that 1450 needs this behavior will be greatly refactored for multi-web process. 1451 1452 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcess): 1453 We already know that we need a new process, "relaunch if necessary" is not the 1454 right logic. Also added a few more assertions checking that process state is 1455 as expected. 1456 1457 * UIProcess/WebResourceCacheManagerProxy.cpp: 1458 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Removed relaunchProcessIfNecessary(). 1459 It will be called inside sendToAllProcessesRelaunchingThemIfNecessary(). 1460 1461 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 1462 (WebKit::WebPluginSiteDataManager::getSitesWithData): Ditto. 1463 (WebKit::WebPluginSiteDataManager::clearSiteData): Ditto. 1464 14652012-09-26 Carlos Garcia Campos <cgarcia@igalia.com> 1466 1467 [GTK] Don't use the C API internally in WebKitJavascriptResult 1468 https://bugs.webkit.org/show_bug.cgi?id=96780 1469 1470 Reviewed by Gustavo Noronha Silva. 1471 1472 Using the C++ classes directly instead of the C API wrappers we 1473 avoid a lot of toImpl/toAPI casts, string conversions and 1474 allocations. The code is also a lot simpler and easier to read. 1475 1476 * UIProcess/API/gtk/WebKitJavascriptResult.cpp: 1477 (_WebKitJavascriptResult::_WebKitJavascriptResult): 1478 (webkitJavascriptResultCreate): 1479 * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: 1480 * UIProcess/API/gtk/WebKitWebView.cpp: 1481 (webkitWebViewRunJavaScriptCallback): 1482 14832012-09-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 1484 1485 [WK2][WTR] Policy client: dumping from decidePolicyForResponse callback 1486 https://bugs.webkit.org/show_bug.cgi?id=97034 1487 1488 Reviewed by Kenneth Rohde Christiansen. 1489 1490 Added suggested filename getter to WKURLResponse interface and also added a property showing whether the response 1491 is attachment. 1492 1493 * Shared/API/c/WKURLResponse.cpp: 1494 (WKURLResponseSuggestedFilename): 1495 (WKURLResponseIsAttachment): 1496 * Shared/API/c/WKURLResponse.h: 1497 14982012-09-26 Martin Robinson <mrobinson@igalia.com> 1499 1500 [GTK] Use XDamage to simplify RedirectedXCompositeWindow 1501 https://bugs.webkit.org/show_bug.cgi?id=97267 1502 1503 Reviewed by Alejandro G. Castro. 1504 1505 Use XDamage to queue redraws of the widget when redirecting accelerated compositing 1506 to an offscreen window. This allows removing a finicky timer-based approach, improves 1507 performance, and allows simplifying things greatly. 1508 1509 * GNUmakefile.am: Add the XDamage CFLAGS and LIBS to the appropriate places. 1510 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 1511 (_WebKitWebViewBasePrivate): Remove readyToRenderAcceleratedCompositingResults as 1512 it's no longer necessary. 1513 (webkit_web_view_base_init): Handle the situation where the RedirectedXCompositeWindow 1514 is null. 1515 (webkitWebViewRenderAcceleratedCompositingResults): Ditto. 1516 (resizeWebKitWebViewBaseFromAllocation): Ditto. 1517 (webkitWebViewBaseCreateWebPage): Ditto. 1518 (redirectedWindowDamagedCallback): Added. 1519 * UIProcess/WebPageProxy.h: Remove InvalidateWidget message. 1520 * UIProcess/WebPageProxy.messages.in: Ditto. 1521 * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto. 1522 * WebProcess/WebPage/WebPage.h: Ditto. 1523 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 1524 (WebKit::LayerTreeHostGtk::compositeLayersToContext): No longer need to 1525 trigger the invalidateWindow message. 1526 * WebProcess/WebPage/gtk/WebPageGtk.cpp: Ditto. 1527 15282012-09-25 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 1529 1530 [DRT][WTR] Support overriding the 'WebKitDisplayImagesKey' preference 1531 https://bugs.webkit.org/show_bug.cgi?id=96883 1532 1533 Reviewed by Kenneth Rohde Christiansen. 1534 1535 * WebProcess/InjectedBundle/InjectedBundle.cpp: 1536 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Add 1537 support for changing 1538 WebPreferencesKey::loadsImagesAutomaticallyKey(). 1539 15402012-09-25 Dan Bernstein <mitz@apple.com> 1541 1542 Try to fix non-Mac builds. 1543 1544 * WebProcess/WebPage/WebPage.cpp: 1545 (WebKit::WebPage::updatePreferences): 1546 15472012-09-25 Dan Bernstein <mitz@apple.com> 1548 1549 WebKit2 part of <rdar://problem/11455228> [mac] Stop using screen fonts 1550 https://bugs.webkit.org/show_bug.cgi?id=97620 1551 1552 Reviewed by John Sullivan. 1553 1554 * Shared/WebPreferencesStore.h: 1555 (WebKit): Changed the default value of the screenFontSubstitutionEnabled preference to false. 1556 * Shared/WebProcessCreationParameters.cpp: 1557 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Added an initializer for 1558 the new shouldForceScreenFontSubstitution data member. 1559 (WebKit::WebProcessCreationParameters::encode): Added encoding of shouldForceScreenFontSubstitution. 1560 (WebKit::WebProcessCreationParameters::decode): Added decoding of shouldForceScreenFontSubstitution. 1561 * Shared/WebProcessCreationParameters.h: 1562 (WebProcessCreationParameters): Added shouldForceScreenFontSubstitution boolean data member. 1563 * UIProcess/mac/WebContextMac.mm: 1564 (WebKit::WebContext::platformInitializeWebProcess): Added code to set shouldForceScreenFontSubstitution 1565 in the process creation parameters to the value of the NSFontDefaultScreenFontSubstitutionEnabled user 1566 defaults key. 1567 * WebProcess/WebPage/WebPage.cpp: 1568 (WebKit::WebPage::updatePreferences): Changed to enable screen font substitution also if 1569 shouldForceScreenFontSubstitution() is true. 1570 * WebProcess/WebProcess.h: 1571 (WebKit::WebProcess::shouldForceScreenFontSubstitution): Added this getter. 1572 (WebProcess): Added m_shouldForceScreenFontSubstitution boolean data member. 1573 * WebProcess/mac/WebProcessMac.mm: 1574 (WebKit::WebProcess::platformInitializeWebProcess): Added initialization of 1575 m_shouldForceScreenFontSubstitution from the creation parameters. 1576 15772012-09-25 Alexey Proskuryakov <ap@apple.com> 1578 1579 Get rid of WebContext::m_pendingMessagesToPostToInjectedBundle 1580 https://bugs.webkit.org/show_bug.cgi?id=94368 1581 1582 Reviewed by Anders Carlsson. 1583 1584 It doesn't appear to be of any use. 1585 1586 * UIProcess/WebContext.cpp: 1587 (WebKit::WebContext::createNewWebProcess): 1588 (WebKit::WebContext::postMessageToInjectedBundle): 1589 * UIProcess/WebContext.h: 1590 15912012-09-24 Simon Fraser <simon.fraser@apple.com> 1592 1593 <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed 1594 1595 Reviewed by Mark Rowe. 1596 1597 Use a new WebKitSytemInterface function to add data to crash logs about which 1598 test was running when the crash happened. 1599 1600 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 1601 (InitWebCoreSystemInterface): Hook up the function pointer for [wk|WK]SetCrashReportApplicationSpecificInformation. 1602 16032012-09-25 Beth Dakin <bdakin@apple.com> 1604 1605 Build fix. I removed this function as a part of 1606 https://bugs.webkit.org/show_bug.cgi?id=95397 but it is 1607 still needed for nightlies and open source builds. 1608 1609 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 1610 (WKBundlePageSetPaintedObjectsCounterThreshold): 1611 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 1612 16132012-09-25 Beth Dakin <bdakin@apple.com> 1614 1615 https://bugs.webkit.org/show_bug.cgi?id=95397 1616 Need to merge didFirstVisuallyNonEmptyLayout and 1617 didNewFirstVisuallyNonEmptyLayout 1618 -and corresponding- 1619 <rdar://problem/10791680> 1620 1621 Reviewed by Sam Weinig. 1622 1623 The new API has two parts. First, the client has to opt into which 1624 layout milestones they are interested in hearing about using 1625 WKPageListenForLayoutMilestones or 1626 WKBundlePageListenForLayoutMilestones(). Then, WebKit will call 1627 the didLayout(WKLayoutMilestones) callback on the appropriate 1628 clients when the specified layout milestones have fired. didLayout 1629 takes the WKLayoutMilestones bit mask, which will indicate which 1630 milestones have fired since it is possible for two to fire at the 1631 same time. 1632 1633 Define WKLayoutMilestoneOptions. 1634 * Shared/API/c/WKPageLoadTypes.h: 1635 1636 Define conversions between WKLayoutMilestoneOptions and 1637 WebCore::LayoutMilestoneOptions 1638 * Shared/API/c/WKSharedAPICast.h: 1639 (WebKit::toWKLayoutMilestoneOptions): 1640 (WebKit): 1641 (WebKit::toLayoutMilestoneOptions): 1642 1643 New API. 1644 * UIProcess/API/C/WKPage.cpp: 1645 (WKPageListenForLayoutMilestones): 1646 * UIProcess/API/C/WKPage.h: 1647 * UIProcess/WebLoaderClient.cpp: 1648 (WebKit::WebLoaderClient::didLayout): 1649 (WebKit): 1650 * UIProcess/WebLoaderClient.h: 1651 (WebLoaderClient): 1652 1653 didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 1654 and didNewFirstVisuallyNonEmptyLayout are now implemented with 1655 didLayout under the hood. So if those old callbacks have been 1656 defined, be sure to add the appropriate layout milestones here for 1657 backwards-compatibility. 1658 * UIProcess/WebPageProxy.cpp: 1659 (WebKit::WebPageProxy::initializeLoaderClient): 1660 1661 New API. 1662 (WebKit::WebPageProxy::listenForLayoutMilestones): 1663 (WebKit): 1664 (WebKit::WebPageProxy::didLayout): 1665 * UIProcess/WebPageProxy.h: 1666 (WebPageProxy): 1667 * UIProcess/WebPageProxy.messages.in: 1668 1669 New API. And remove the now-unnecessary 1670 WKBundlePageSetPaintedObjectsCounterThreshold. 1671 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 1672 (WKBundlePageListenForLayoutMilestones): 1673 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 1674 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 1675 1676 New API. 1677 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 1678 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): 1679 (WebKit): 1680 (WebKit::InjectedBundlePageLoaderClient::didLayout): 1681 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 1682 (InjectedBundlePageLoaderClient): 1683 1684 Remove dispatchDidFirstLayout, 1685 dispatchDidFirstVisuallyNonEmptyLayout, and 1686 dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced 1687 by dispatchDidLayout(LayoutMilestoneOptions) 1688 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1689 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 1690 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 1691 (WebFrameLoaderClient): 1692 1693 didFirstLayoutForFrame, didFirstVisuallyNonEmptyLayoutForFrame, 1694 and didNewFirstVisuallyNonEmptyLayout are now implemented with 1695 didLayout under the hood. So if those old callbacks have been 1696 defined, be sure to add the appropriate layout milestones here for 1697 backwards-compatibility. 1698 * WebProcess/WebPage/WebPage.cpp: 1699 (WebKit::WebPage::initializeInjectedBundleLoaderClient): 1700 (WebKit): 1701 1702 Call into WebCore to set the layout milestones. 1703 (WebKit::WebPage::listenForLayoutMilestones): 1704 * WebProcess/WebPage/WebPage.h: 1705 (WebPage): 1706 * WebProcess/WebPage/WebPage.messages.in: 1707 1708 Account for the new member of PageLoadClient. 1709 * WebProcess/qt/QtBuiltinBundlePage.cpp: 1710 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 1711 17122012-09-25 Carlos Garcia Campos <cgarcia@igalia.com> 1713 1714 [GTK][EFL] Disk cache is never dumped to disk in WebKit2 1715 https://bugs.webkit.org/show_bug.cgi?id=97583 1716 1717 Reviewed by Martin Robinson. 1718 1719 The problem is that WebProcess::platformTerminate(), where the 1720 cache is currently dumped, is not called when the web process 1721 finishes because the UI process closes the connection. The cache 1722 is created and loaded in the main() so it can also be flushed and 1723 dumped there, so that we also make sure it's always called when 1724 the process finishes normally when the main loop quits. 1725 1726 * WebProcess/efl/WebProcessMainEfl.cpp: 1727 (WebKit::WebProcessMainEfl): Flush and dump the disk cache when 1728 the main loop returns. 1729 * WebProcess/gtk/WebProcessMainGtk.cpp: 1730 (WebKit::WebProcessMainGtk): Ditto. 1731 * WebProcess/soup/WebProcessSoup.cpp: 1732 (WebKit::WebProcess::platformTerminate): Do not flush and dump 1733 the disk cache. 1734 17352012-09-25 Benjamin Poulain <bpoulain@apple.com> 1736 1737 Add missing support for Geolocation tests on WebKit2 1738 https://bugs.webkit.org/show_bug.cgi?id=97518 1739 1740 Reviewed by Sam Weinig. 1741 1742 The existing API for reporting error does not support passing and error message. 1743 1744 The interface UIProcess<->WebProcess is changed to take an error message, the 1745 existing API now pass a null String, and the new function 1746 WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage() provide 1747 the extended support with error message. 1748 1749 * UIProcess/API/C/WKGeolocationManager.cpp: 1750 (WKGeolocationManagerProviderDidFailToDeterminePositionWithErrorMessage): 1751 * UIProcess/API/C/WKGeolocationManager.h: 1752 * UIProcess/WebGeolocationManagerProxy.cpp: 1753 (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition): 1754 * UIProcess/WebGeolocationManagerProxy.h: 1755 (WebGeolocationManagerProxy): 1756 * WebProcess/Geolocation/WebGeolocationManager.cpp: 1757 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 1758 * WebProcess/Geolocation/WebGeolocationManager.h: 1759 (WebGeolocationManager): 1760 * WebProcess/Geolocation/WebGeolocationManager.messages.in: 1761 17622012-09-25 Akash Vaswani <avaswani@apple.com> 1763 1764 Crash after clicking in plugin at kauaiexplorer.com 1765 <rdar://problem/11525987/> and https://bugs.webkit.org/show_bug.cgi?id=90925 1766 1767 Reviewed by Sam Weinig. 1768 1769 Bug: Clicking the plugin to navigate away from the page caused the browser to crash. 1770 This is because it is possible for a beforeunload handler to destroy the plugin 1771 while it is still needed. In this case the handler set visibility to "none" and 1772 then accessed a property on the plugin script object. This forced a layout 1773 that destroyed the plugin. 1774 Fix: Protecting PluginView objects until they are no longer required. 1775 This was done by adding a RefPtr at the beginning of performURLRequest() 1776 1777 * WebProcess/Plugins/PluginView.cpp: 1778 (WebKit::PluginView::performURLRequest): 1779 17802012-09-25 Carlos Garcia Campos <cgarcia@igalia.com> 1781 1782 [GTK] Don't kill automatically the web process when the ui process finishes 1783 https://bugs.webkit.org/show_bug.cgi?id=97580 1784 1785 Reviewed by Martin Robinson. 1786 1787 We use prctl(PR_SET_PDEATHSIG, SIGKILL); in linux to make sure the 1788 web process is killed when the UI process finishes. This is not 1789 needed any more since now the web process stops the main loop when 1790 the connection with the UI process is closed in 1791 WebProcess::didClose(). This approach is better because it works 1792 for any platform and makes the web process finish normally from 1793 main(). 1794 1795 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 1796 (WebKit::childSetupFunction): Don't call prctl(PR_SET_PDEATHSIG, 1797 SIGKILL) in the child process. 1798 17992012-09-25 Benjamin Poulain <benjamin@webkit.org> 1800 1801 Build fix, GeolocationClientMock should not be included by WebProcess InjectedBundle 1802 1803 Unreviewed. 1804 1805 The patch r129252 removes the dependencies on GeolocationClientMock, r129444 removes 1806 GeolocationClientMock from the Mac port. The #include breaks new Mac build. 1807 1808 * WebProcess/InjectedBundle/InjectedBundle.cpp: 1809 18102012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 1811 1812 [Qt] PageViewportController: Consolidate positionRangeForViewportAtScale and boundPosition 1813 https://bugs.webkit.org/show_bug.cgi?id=97222 1814 1815 Reviewed by Kenneth Rohde Christiansen. 1816 1817 Those methods are used together everywhere, merge them into a single 1818 clampViewportToContents method. 1819 1820 * UIProcess/PageViewportController.cpp: 1821 (WebKit::PageViewportController::innerBoundedViewportScale): 1822 (WebKit::PageViewportController::outerBoundedViewportScale): 1823 (WebKit::PageViewportController::clampViewportToContents): 1824 (WebKit): 1825 (WebKit::PageViewportController::pageDidRequestScroll): 1826 (WebKit::PageViewportController::syncVisibleContents): 1827 * UIProcess/PageViewportController.h: 1828 (PageViewportController): 1829 (WebKit): 1830 * UIProcess/qt/PageViewportControllerClientQt.cpp: 1831 (WebKit::PageViewportControllerClientQt::focusEditableArea): 1832 (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded): 1833 (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect): 1834 18352012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 1836 1837 [Qt] Unify the PageViewportController<->Client interface regarding positions 1838 https://bugs.webkit.org/show_bug.cgi?id=97220 1839 1840 Reviewed by Kenneth Rohde Christiansen. 1841 1842 - Make sure that css units are used for all position arguments 1843 - Make sure that all positions represent the viewport relatively to the contents 1844 rather than the other way around 1845 - Delay clamping the viewport to the contents size in the controller rather than in the client 1846 1847 * UIProcess/API/qt/qquickwebview.cpp: 1848 (QQuickWebViewFlickablePrivate::updateViewportSize): 1849 * UIProcess/PageViewportController.cpp: 1850 (WebKit::PageViewportController::pageDidRequestScroll): 1851 (WebKit::PageViewportController::didChangeViewportSize): 1852 (WebKit::PageViewportController::didChangeContentsVisibility): 1853 (WebKit::PageViewportController::syncVisibleContents): 1854 (WebKit::PageViewportController::positionRangeForViewportAtScale): 1855 * UIProcess/PageViewportController.h: 1856 (PageViewportController): 1857 * UIProcess/PageViewportControllerClient.h: 1858 (PageViewportControllerClient): 1859 * UIProcess/qt/PageViewportControllerClientQt.cpp: 1860 (WebKit::PageViewportControllerClientQt::animateContentRectVisible): 1861 (WebKit::PageViewportControllerClientQt::focusEditableArea): 1862 (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded): 1863 (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect): 1864 (WebKit::PageViewportControllerClientQt::setViewportPosition): 1865 (WebKit::PageViewportControllerClientQt::updateViewportController): 1866 * UIProcess/qt/PageViewportControllerClientQt.h: 1867 (PageViewportControllerClientQt): 1868 18692012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 1870 1871 [Qt] Make sure that desktop pages honour the devicePixelRatio 1872 https://bugs.webkit.org/show_bug.cgi?id=97215 1873 1874 Reviewed by Kenneth Rohde Christiansen. 1875 1876 The desktopWidth given to computeViewportAttributes is expected to be pixel-ratio adjusted already. 1877 We need to make sure that the viewport size is divided by the pixel ratio to prevent 1878 the equivalent of a 1.0 devicePixelRatio to be in effect once viewportSize.width() is larger 1879 than layoutFallbackWidth. 1880 1881 * WebProcess/WebPage/WebPage.cpp: 1882 (WebKit::WebPage::sendViewportAttributesChanged): 1883 18842012-09-25 Simon Pena <spena@igalia.com> 1885 1886 [GTK] Add Undo / Redo method to WebKit2 GTK+ API 1887 https://bugs.webkit.org/show_bug.cgi?id=97553 1888 1889 Reviewed by Martin Robinson. 1890 1891 Add the macros for Undo / Redo support, and include them 1892 in the documentation. 1893 1894 * UIProcess/API/gtk/WebKitEditingCommands.h: 1895 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 1896 18972012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 1898 1899 [Qt] Abstract as much devicePixelRatio logic as possible behind PageViewportController 1900 https://bugs.webkit.org/show_bug.cgi?id=97214 1901 1902 Reviewed by Kenneth Rohde Christiansen. 1903 1904 Currently the client is required to multiply the scales it receives each bime by the 1905 devicePixelRatio. This shouldn't be required since essentially, the only places that the 1906 devicePixelRatio should be in use, is to adjust the layout size, multiply the base scale 1907 and for scale constants. 1908 1909 Other related changes: 1910 - Make sure that the controller and it's client are only exchanging effective scales 1911 (cssScale * devicePixelRatio) 1912 - Remove members duplicating m_rawAttributes values 1913 - Use a separate member for the minimum scale to fit the page, separate from the viewport arguments 1914 - Make sure that the minimum scale to fit is adjusted if the contents size isn't 1915 updated after the viewport attributes changed 1916 - Make the scale conversion functions private to discourage this logic from spreading in the client 1917 1918 * UIProcess/PageViewportController.cpp: 1919 (WebKit::PageViewportController::PageViewportController): 1920 (WebKit::PageViewportController::innerBoundedViewportScale): 1921 (WebKit::PageViewportController::outerBoundedViewportScale): 1922 (WebKit): 1923 (WebKit::PageViewportController::devicePixelRatio): 1924 (WebKit::PageViewportController::didChangeContentsSize): 1925 (WebKit::PageViewportController::didChangeViewportAttributes): 1926 (WebKit::PageViewportController::resumeContent): 1927 (WebKit::PageViewportController::updateMinimumScaleToFit): 1928 * UIProcess/PageViewportController.h: 1929 (PageViewportController): 1930 (WebKit::PageViewportController::minimumContentsScale): 1931 (WebKit::PageViewportController::maximumContentsScale): 1932 (WebKit::PageViewportController::currentContentsScale): 1933 (WebKit::PageViewportController::fromViewportScale): 1934 (WebKit::PageViewportController::toViewportScale): 1935 * UIProcess/qt/PageViewportControllerClientQt.cpp: 1936 (WebKit::PageViewportControllerClientQt::focusEditableArea): 1937 (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded): 1938 (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect): 1939 (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds): 1940 (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate): 1941 19422012-09-25 Simon Pena <spena@igalia.com> 1943 1944 [GTK] Fix typo in accessing union field in a GdkEvent in a WebKit2 unit test 1945 https://bugs.webkit.org/show_bug.cgi?id=97564 1946 1947 Reviewed by Martin Robinson. 1948 1949 In the WebViewTest::moveMouseTo method, the wrong field in 1950 a union was being accessed in a GdkEvent: instead of the button 1951 field, we were supposed to act on the motion one. This patch 1952 fixes the typo. 1953 1954 * UIProcess/API/gtk/tests/WebViewTest.cpp: 1955 (WebViewTest::mouseMoveTo): 1956 19572012-09-25 Carlos Garcia Campos <cgarcia@igalia.com> 1958 1959 [GTK] Don't use the C API internally in WebKitFindController 1960 https://bugs.webkit.org/show_bug.cgi?id=96775 1961 1962 Reviewed by Gustavo Noronha Silva. 1963 1964 Using the C++ classes directly instead of the C API wrappers we 1965 avoid a lot of toImpl/toAPI casts, string conversions and 1966 allocations. The code is also a lot simpler and easier to read. 1967 1968 * UIProcess/API/gtk/WebKitFindController.cpp: 1969 (getPage): 1970 (webkitFindControllerConstructed): 1971 (webKitFindControllerPerform): 1972 (webkit_find_controller_search_next): 1973 (webkit_find_controller_search_previous): 1974 (webkit_find_controller_search_finish): 1975 19762012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 1977 1978 [Qt] Apply the devicePixelRatio as soon as possible 1979 https://bugs.webkit.org/show_bug.cgi?id=97211 1980 1981 Reviewed by Kenneth Rohde Christiansen. 1982 1983 Having to wait for the contents size to apply the devicePixelRatio can 1984 be problematic since the devicePixelRatio affects the layout width, which 1985 then affects the contents size. 1986 1987 Fix the initial issue that this was working around by preventing the 1988 early return if useFixedLayout() is true. 1989 1990 * UIProcess/API/qt/qquickwebview.cpp: 1991 (QQuickWebViewPrivate::QQuickWebViewPrivate): 1992 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 1993 (QQuickWebViewExperimental::devicePixelRatio): 1994 (QQuickWebViewExperimental::setDevicePixelRatio): 1995 * UIProcess/API/qt/qquickwebview_p_p.h: 1996 (QQuickWebViewPrivate::didChangeContentsSize): 1997 (QQuickWebViewPrivate): 1998 * UIProcess/DrawingAreaProxyImpl.cpp: 1999 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): 2000 20012012-09-25 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 2002 2003 [Qt] Don't render at scale 1.0 when doing a pinch-zoom out 2004 https://bugs.webkit.org/show_bug.cgi?id=97212 2005 2006 Reviewed by Kenneth Rohde Christiansen. 2007 2008 When the user starts pinching this creates extra rendering that is bound to the 2009 page size and can be considerably big, reducing performance and peaking the tile 2010 memory usage. 2011 2012 Fixing this might require a different approach that we could experiment with. 2013 2014 * UIProcess/qt/PageViewportControllerClientQt.cpp: 2015 (WebKit::PageViewportControllerClientQt::animateContentRectVisible): 2016 (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate): 2017 20182012-09-25 Michael Brüning <michael.bruning@digia.com> 2019 2020 [Qt][WK2] Focus out is not handled properly 2021 https://bugs.webkit.org/show_bug.cgi?id=96997 2022 2023 Reviewed by Simon Hausmann. 2024 2025 Adds a handler for QQuickWebView::itemChange event that is sent to 2026 QQuickItems when their focus has been changed to replace focusOutEvent. 2027 2028 This fixes the problem because the focus has been updated when 2029 itemChange is called, while it is not yet update when focusOutEvent 2030 is called. 2031 2032 * UIProcess/API/qt/qquickwebview.cpp: Removed focusOutEvent. 2033 (QQuickWebView::itemChange): Added in place of focusOutEvent. 2034 * UIProcess/API/qt/qquickwebview_p.h: 2035 * UIProcess/qt/QtWebPageEventHandler.cpp: 2036 (WebKit::QtWebPageEventHandler::handleFocusLost): Renamed from handleFocusOutEvent, parameter removed. 2037 * UIProcess/qt/QtWebPageEventHandler.h: 2038 (QtWebPageEventHandler): 2039 20402012-09-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2041 2042 [WK2] Supported media MIME types are not included to the list of shown MIME types. 2043 https://bugs.webkit.org/show_bug.cgi?id=97552 2044 2045 Reviewed by Kenneth Rohde Christiansen. 2046 2047 Added supported media MIME types to the list of shown MIME types in order to fix 2048 media tests regression after r129479. 2049 2050 * UIProcess/WebPageProxy.cpp: 2051 (WebKit::WebPageProxy::canShowMIMEType): 2052 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2053 (WKBundlePageCanShowMIMEType): 2054 20552012-09-25 KwangYong Choi <ky0.choi@samsung.com> 2056 2057 [EFL][WK2] Added hideColorPicker test case 2058 https://bugs.webkit.org/show_bug.cgi?id=97522 2059 2060 Reviewed by Kenneth Rohde Christiansen. 2061 2062 Added a test case for removing input element during color picker is shown. 2063 2064 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2065 (setColorPickerColor): 2066 (showColorPicker): 2067 (hideColorPicker): 2068 (TEST_F): 2069 20702012-09-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 2071 2072 [WK2][WTR] WTR bundle client loads binary data as text 2073 https://bugs.webkit.org/show_bug.cgi?id=97532 2074 2075 Reviewed by Kenneth Rohde Christiansen. 2076 2077 Added WKBundlePageCanShowMIMEType() function to WKBundlePage private API. 2078 This function is put to WKBundlePage to keep consistency with WebKit::WebPageProxy::canShowMIMEType(). 2079 Actually it does not need anything from page. 2080 2081 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2082 (WKBundlePageCanShowMIMEType): 2083 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 2084 20852012-09-25 Carlos Garcia Campos <cgarcia@igalia.com> 2086 2087 [GTK] Don't use the C API internally in WebKitWebView 2088 https://bugs.webkit.org/show_bug.cgi?id=96767 2089 2090 Reviewed by Gustavo Noronha Silva. 2091 2092 Using the C++ classes directly instead of the C API wrappers we 2093 avoid a lot of toImpl/toAPI casts, string conversions and 2094 allocations. The code is also a lot simpler and easier to read. 2095 2096 * UIProcess/API/gtk/WebKitContextMenuClient.cpp: 2097 (getContextMenuFromProposedMenu): 2098 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: 2099 (didInitiateLoadForResource): 2100 * UIProcess/API/gtk/WebKitUIClient.cpp: 2101 (createNewPage): 2102 (runJavaScriptPrompt): 2103 (mouseDidMoveOverElement): 2104 (printFrame): 2105 * UIProcess/API/gtk/WebKitURIRequest.cpp: 2106 (webkitURIRequestCreateForResourceRequest): 2107 (webkitURIRequestGetResourceRequest): 2108 * UIProcess/API/gtk/WebKitURIRequestPrivate.h: 2109 * UIProcess/API/gtk/WebKitWebView.cpp: 2110 (allowModalDialogsChanged): 2111 (zoomTextOnlyChanged): 2112 (webkitWebViewSetSettings): 2113 (webkitWebViewConstructed): 2114 (webkitWebViewUpdateURI): 2115 (webkitWebViewCreateNewPage): 2116 (webkitWebViewRunJavaScriptPrompt): 2117 (webkitWebViewMouseTargetChanged): 2118 (webkitWebViewPrintFrame): 2119 (webkitWebViewResourceLoadStarted): 2120 (webkitWebViewPopulateContextMenu): 2121 (webkit_web_view_load_uri): 2122 (webkit_web_view_load_html): 2123 (webkit_web_view_load_alternate_html): 2124 (webkit_web_view_load_plain_text): 2125 (webkit_web_view_load_request): 2126 (webkit_web_view_reload): 2127 (webkit_web_view_reload_bypass_cache): 2128 (webkit_web_view_stop_loading): 2129 (webkit_web_view_go_back): 2130 (webkit_web_view_can_go_back): 2131 (webkit_web_view_go_forward): 2132 (webkit_web_view_can_go_forward): 2133 (webkit_web_view_get_custom_charset): 2134 (webkit_web_view_set_custom_charset): 2135 (webkit_web_view_go_to_back_forward_list_item): 2136 (webkit_web_view_set_settings): 2137 (webkit_web_view_set_zoom_level): 2138 (webkit_web_view_get_zoom_level): 2139 (webkit_web_view_can_execute_editing_command): 2140 (webkit_web_view_execute_editing_command): 2141 (webkit_web_view_run_javascript): 2142 (webkit_web_view_get_inspector): 2143 (webkit_web_view_can_show_mime_type): 2144 (ViewSaveAsyncData): 2145 (getContentsAsMHTMLDataCallback): 2146 (webkit_web_view_save): 2147 (webkit_web_view_save_finish): 2148 (webkit_web_view_save_to_file): 2149 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 2150 (webkitWebViewBaseCreate): 2151 (webkitWebViewBaseCreateWebPage): 2152 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 2153 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 2154 21552012-09-24 Bo Liu <boliu@chromium.org> 2156 2157 Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations 2158 https://bugs.webkit.org/show_bug.cgi?id=97055 2159 2160 Reviewed by Adam Barth. 2161 2162 Relanding 128780, 128676, 128645. Was reverted in 128914 due to 2163 performance regression in Chromium. 2164 2165 New changes in addition to previously reverted patches: 2166 2167 Refactored CachedResource::requestResource, loadResource, and 2168 revalidateResource. Moved CachedResource::load method to end of 2169 requestResource so there is one place where load is called for all 2170 resources. 2171 2172 Added a enum parameter for requestResource and 2173 determineRevalidationPolicy so that FrameLoaderClient::allowImage call 2174 do not need to be called multiple times. 2175 2176 Removed CachedImage::load call in requestImage so it is not called 2177 twice. 2178 2179 Removed unnecessary Frame.h includes in CachedResource and 2180 CachedImage. 2181 2182 Removed dead load() method declaration in CachedImage. 2183 2184 Updated text expectation for two image-permissions tests to reflect 2185 the removed calls to allowImage. 2186 2187 * win/WebKit2.def: 2188 21892012-09-24 Sam Weinig <sam@webkit.org> 2190 2191 WKProcessGroup can't load injected bundle with file URL 2192 <rdar://problem/12322774> 2193 https://bugs.webkit.org/show_bug.cgi?id=97520 2194 2195 Reviewed by Anders Carlsson. 2196 2197 * UIProcess/API/mac/WKProcessGroup.mm: 2198 (-[WKProcessGroup initWithInjectedBundleURL:]): 2199 Fix typo. We need to pass the string as path, not as a URL. 2200 22012012-09-24 Sam Weinig <sam@webkit.org> 2202 2203 Use NSUserDefaults rather than an environment variable to control whether to use an XPC Service for the WebProcess 2204 https://bugs.webkit.org/show_bug.cgi?id=97514 2205 2206 Reviewed by Anders Carlsson. 2207 2208 * GNUmakefile.list.am: 2209 * PlatformEfl.cmake: 2210 * Target.pri: 2211 Add new files. 2212 2213 * UIProcess/Launcher/ProcessLauncher.h: 2214 * UIProcess/WebProcessProxy.cpp: 2215 (WebKit::WebProcessProxy::connect): 2216 Move platform specific launch options to a new function, platformConnect. 2217 2218 * UIProcess/WebProcessProxy.h: 2219 * UIProcess/efl/WebProcessProxyEfl.cpp: Added. 2220 Move Efl specific launch options here. 2221 2222 (WebKit::WebProcessProxy::platformConnect): 2223 * UIProcess/gtk/WebProcessProxyGtk.cpp: Added. 2224 Add stub. 2225 2226 (WebKit::WebProcessProxy::platformConnect): 2227 * UIProcess/mac/WebProcessProxyMac.mm: 2228 (WebKit::WebProcessProxy::platformConnect): 2229 Move Mac specific launch option setting here, and switch from 2230 using an environment variable to NSUserDefaults. 2231 2232 * UIProcess/qt/WebProcessProxyQt.cpp: Added. 2233 (WebKit::WebProcessProxy::platformConnect): 2234 Add stub. 2235 2236 * UIProcess/win/WebProcessProxyWin.cpp: 2237 (WebKit::WebProcessProxy::platformConnect): 2238 Add stub. 2239 22402012-09-24 Laszlo Gombos <l.gombos@samsung.com> 2241 2242 [GTK][EFL] Remove cairo prefix from include statements 2243 https://bugs.webkit.org/show_bug.cgi?id=97509 2244 2245 Reviewed by Gyuyoung Kim. 2246 2247 Make the build system consistent by always assuming that directory 2248 that includes the cairo headers is included in the include path. 2249 2250 * UIProcess/cairo/BackingStoreCairo.cpp: 2251 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 2252 22532012-09-24 Sheriff Bot <webkit.review.bot@gmail.com> 2254 2255 Unreviewed, rolling out r129388. 2256 http://trac.webkit.org/changeset/129388 2257 https://bugs.webkit.org/show_bug.cgi?id=97477 2258 2259 Caused an assertion in a WebKit2 unit test (Requested by 2260 abarth on #webkit). 2261 2262 * win/WebKit2.def: 2263 22642012-09-24 Simon Pena <spena@igalia.com> 2265 2266 [GTK] Add Select All method to WebKit2 GTK+ API 2267 https://bugs.webkit.org/show_bug.cgi?id=97460 2268 2269 Reviewed by Martin Robinson. 2270 2271 Following the same approach used when added Cut, Copy and Paste, 2272 the Select All method is added to the WebKit2 GTK+ API. 2273 2274 This introduces a new macro in the WebKitEditingCommands, 2275 updates the documentation, and includes a new unit test. 2276 2277 * UIProcess/API/gtk/WebKitEditingCommands.h: Add a new macro for 2278 the Select All command. 2279 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the Select All 2280 command in the documentation. 2281 * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Cover the new command 2282 with a unit test. 2283 (testWebViewEditorSelectAll): 2284 (beforeAll): 2285 22862012-09-24 Bo Liu <boliu@chromium.org> 2287 2288 Reland "Add in-place reload behavior to ImagesEnabled setting" with optimizations 2289 https://bugs.webkit.org/show_bug.cgi?id=97055 2290 2291 Reviewed by Adam Barth. 2292 2293 Relanding 128780, 128676, 128645. Was reverted in 128914 due to 2294 performance regression in Chromium. 2295 2296 New changes in addition to previously reverted patches: 2297 2298 Refactored CachedResource::requestResource, loadResource, and 2299 revalidateResource. Moved CachedResource::load method to end of 2300 requestResource so there is one place where load is called for all 2301 resources. 2302 2303 Added a enum parameter for requestResource and 2304 determineRevalidationPolicy so that FrameLoaderClient::allowImage call 2305 do not need to be called multiple times. 2306 2307 Removed CachedImage::load call in requestImage so it is not called 2308 twice. 2309 2310 Removed unnecessary Frame.h includes in CachedResource and 2311 CachedImage. 2312 2313 Removed dead load() method declaration in CachedImage. 2314 2315 Updated text expectation for two image-permissions tests to reflect 2316 the removed calls to allowImage. 2317 2318 * win/WebKit2.def: 2319 23202012-09-24 Joone Hur <joone.hur@intel.com>, Gustavo Noronha Silva <gustavo.noronha@collabora.com> 2321 2322 [GTK] Implement GraphicsLayer using Clutter 2323 https://bugs.webkit.org/show_bug.cgi?id=73767 2324 2325 Reviewed by Martin Robinson. 2326 2327 Fixed link errors by adding Clutter library and header to WebKit2 build. 2328 2329 * GNUmakefile.am: 2330 23312012-09-24 Carlos Garcia Campos <cgarcia@igalia.com> 2332 2333 [GTK] WebKitWebView:is-loading is not updated when the is loaded is started by link clicked navigation action 2334 https://bugs.webkit.org/show_bug.cgi?id=97458 2335 2336 Reviewed by Xan Lopez. 2337 2338 WebKitWebView:is-loading is set to TRUE when the load is started 2339 by using the API. We want to make sure that both URI and 2340 is-loading are updated before load-started is emitted, so we can 2341 update both right before emitting load-started. 2342 2343 * UIProcess/API/gtk/WebKitWebView.cpp: 2344 (webkitWebViewEmitLoadChanged): Update both uri and is-loading 2345 properties before emitting load-changed signal with 2346 WEBKIT_LOAD_STARTED. 2347 (webkit_web_view_load_uri): Don't call 2348 webkitWebViewSetIsLoading(). 2349 (webkit_web_view_load_html): Ditto. 2350 (webkit_web_view_load_alternate_html): Ditto. 2351 (webkit_web_view_load_plain_text): Ditto. 2352 (webkit_web_view_load_request): Ditto. 2353 (webkit_web_view_reload): Ditto. 2354 (webkit_web_view_reload_bypass_cache): Ditto. 2355 (webkit_web_view_go_back): Ditto. 2356 (webkit_web_view_go_forward): Ditto. 2357 (webkit_web_view_go_to_back_forward_list_item): Ditto. 2358 23592012-09-24 Byungwoo Lee <bw80.lee@samsung.com> 2360 2361 [EFL][WK2] Change the install path for libewk2UnitTestInjectedBundleSample.so. 2362 https://bugs.webkit.org/show_bug.cgi?id=97302 2363 2364 Reviewed by Gyuyoung Kim. 2365 2366 libewk2UnitTestInjectedBundleSample.so file is created under the 2367 Source directory. 2368 Change install directory for the library to under the build directory. 2369 2370 * PlatformEfl.cmake: 2371 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 2372 (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): 2373 23742012-09-24 Vivek Galatage <vivekgalatage@gmail.com> 2375 2376 Web Inspector: implement testing harness for pure protocol tests. 2377 https://bugs.webkit.org/show_bug.cgi?id=90675 2378 2379 Reviewed by Yury Semikhatsky. 2380 2381 Adding the export symbol definitions required on Apple Windows and WinCairo 2382 ports to support Inspector Protocol testing harness. 2383 2384 * win/WebKit2.def: 2385 * win/WebKit2CFLite.def: 2386 23872012-09-24 KwangYong Choi <ky0.choi@samsung.com> 2388 2389 [EFL][WK2] Invalid featuring of INPUT_TYPE_COLOR in test_ewk2_view. 2390 https://bugs.webkit.org/show_bug.cgi?id=97430 2391 2392 Reviewed by Kenneth Rohde Christiansen. 2393 2394 The tests of ewk_view_context_get and ewk_view_feed_touch_event are not related to 2395 INPUT_TYPE_COLOR. These tests should be moved to outside of INPUT_TYPE_COLOR block. 2396 2397 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2398 (TEST_F): 2399 24002012-09-23 Seokju Kwon <seokju.kwon@samsung.com> 2401 2402 [EFL][WK2] Add setting to toggle developer extensions 2403 https://bugs.webkit.org/show_bug.cgi?id=96974 2404 2405 Reviewed by Kenneth Rohde Christiansen. 2406 2407 This is required to allow the user to inspect pages. (Web inspector) 2408 2409 * UIProcess/API/efl/ewk_settings.cpp: 2410 (ewk_settings_developer_extras_enabled_set): 2411 (ewk_settings_developer_extras_enabled_get): 2412 * UIProcess/API/efl/ewk_settings.h: 2413 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: 2414 (TEST_F): 2415 24162012-09-23 Byungwoo Lee <bw80.lee@gmail.com> 2417 2418 Fix build warnings : -Wunused-parameter, -Wparentheses, -Wuninitialized. 2419 https://bugs.webkit.org/show_bug.cgi?id=97306 2420 2421 Reviewed by Benjamin Poulain. 2422 2423 Fix build warning about -Wunused-parameter on Connection.cpp, 2424 WKEinaSharedString.cpp, ewk_view_loader_client.cpp, WebPage.cpp by 2425 using ASSERT_UNUSED() macro or removing parameter name. 2426 Fix build warning about -Wuninitialized on WebEventFactory.cpp by 2427 continueing the loop at the default switch case not to use the 2428 uninitialized variable. 2429 2430 * Platform/CoreIPC/Connection.cpp: 2431 (CoreIPC::Connection::waitForSyncReply): 2432 * Shared/efl/WebEventFactory.cpp: 2433 (WebKit::WebEventFactory::createWebTouchEvent): 2434 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: 2435 (WKEinaSharedString::WKEinaSharedString): 2436 * UIProcess/API/efl/ewk_view_loader_client.cpp: 2437 (didSameDocumentNavigationForFrame): 2438 * WebProcess/WebPage/WebPage.cpp: 2439 (WebKit::WebPage::SandboxExtensionTracker::beginLoad): 2440 24412012-09-22 Sam Weinig <sam@webkit.org> 2442 2443 Install WebProcess XPC services into the right places 2444 https://bugs.webkit.org/show_bug.cgi?id=97385 2445 2446 Reviewed by Anders Carlsson. 2447 2448 * Configurations/WebProcessService.xcconfig: 2449 Update INSTALL_PATH to go into WebKit2.framework/Versions/A/XPCServices. 2450 2451 * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: 2452 Since this config file is almost identical to WebProcessService.xcconfig, 2453 just #include it and change the one thing that is different, the INFOPLIST_FILE 2454 2455 * WebKit2.xcodeproj/project.pbxproj: 2456 Follow XPC procedure and copy the services into the right place, WebKit2.framework/Versions/A/XPCServices 2457 in all builds except production builds where it is not necessary. Also add a symlink like everyone else 2458 does. 2459 24602012-09-22 Sam Weinig <sam@webkit.org> 2461 2462 Allow setting a custom path to where the plug-in sandbox profiles are being kept 2463 https://bugs.webkit.org/show_bug.cgi?id=97399 2464 2465 Reviewed by Anders Carlsson. 2466 2467 Add a new default to allow controlling where to look for plug-in sandbox profiles 2468 called "PlugInSandboxProfileDirectoryPath". 2469 2470 * PluginProcess/mac/PluginProcessMac.mm: 2471 (WebKit::initializeSandbox): 2472 Use the passed in sandboxProfileDirectoryPath instead of hard coding /usr/share/sandbox/. 2473 2474 (WebKit::PluginProcess::platformInitialize): 2475 * Shared/Plugins/PluginProcessCreationParameters.cpp: 2476 (WebKit::PluginProcessCreationParameters::encode): 2477 (WebKit::PluginProcessCreationParameters::decode): 2478 * Shared/Plugins/PluginProcessCreationParameters.h: 2479 (PluginProcessCreationParameters): 2480 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 2481 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 2482 Grab the sandboxProfileDirectoryPath from standardUserDefaults and pass it to 2483 the plug-in. 2484 24852012-09-21 Sam Weinig <sam@webkit.org> 2486 2487 Fix the Lion and Snow Leopard builds. 2488 2489 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 2490 (WebKit::connectToWebProcessServiceForWebKitDevelopment): 2491 (WebKit::createWebProcessServiceForWebKitDevelopment): 2492 (WebKit::createWebProcessService): 2493 24942012-09-21 Sam Weinig <sam@webkit.org> 2495 2496 WebProcess XPC services need have their environment set without disrupting all other XPC services 2497 https://bugs.webkit.org/show_bug.cgi?id=95161 2498 2499 Reviewed by Anders Carlsson. 2500 2501 Replace the WebKit2Service with two new XPC services, the WebProcessService, which is only used 2502 when installed on the system, and the WebProcessServiceForWebKitDevelopment which is used at all 2503 other times. We need both services because XPC can't in general be configured to have a custom 2504 environment at runtime, and thus WebProcessServiceForWebKitDevelopment has the ability to re-exec 2505 itself into a desired state. That capability is rather undesirable for installed usage, where we 2506 don't want to allow arbitrary changes to the environment of the service, which would allow breaking 2507 the App Sandbox. 2508 2509 * Configurations/WebProcessService.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2Service.xcconfig. 2510 * Configurations/WebProcessServiceForWebKitDevelopment.xcconfig: Renamed from Source/WebKit2/Configurations/WebKit2Service.xcconfig. 2511 Add new configuration files. 2512 2513 * Platform/mac/WorkQueueMac.cpp: 2514 (WorkQueue::registerMachPortEventHandler): 2515 (WorkQueue::unregisterMachPortEventHandler): 2516 Add helpful assertions. Without them, we confusingly crash a bit later in HashTable code. 2517 2518 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 2519 (WebKit::addDYLDEnvironmentAdditions): 2520 Factor out environment additions to this helper function. 2521 2522 (WebKit::connectToWebProcessServiceForWebKitDevelopment): 2523 (WebKit::createWebProcessServiceForWebKitDevelopment): 2524 Add functionality to setup the webkit development service via re-exec. 2525 2526 (WebKit::createWebProcessService): 2527 Add functionality to connect to the installed WebProcess service. 2528 2529 (WebKit::createProcess): 2530 Factor out posix_spawn based launching into this helper function. 2531 2532 (WebKit::ProcessLauncher::launchProcess): 2533 Call the correct process creation function based on launch data and install state. 2534 2535 * WebKit2.xcodeproj/project.pbxproj: 2536 Add new files to the project. 2537 2538 * WebProcess/mac/WebProcessServiceEntryPoints.h: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h. 2539 * WebProcess/mac/WebProcessServiceEntryPoints.mm: Renamed from Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm. 2540 (WebKit::WebProcessServiceEventHandler): 2541 (WebProcessServiceMain): 2542 (InitializeWebProcessForWebProcessServiceForWebKitDevelopment): 2543 Rename to WebProcessServiceEntryPoints since this is now used for both the WebProcessService and the 2544 WebProcessServiceForWebKitDevelopment. 2545 2546 * WebProcessService/Info.plist: Copied from Source/WebKit2/WebKit2Service/Info.plist. 2547 * WebProcessService/WebProcessServiceMain.mm: Renamed from Source/WebKit2/WebKit2Service/MainMacService.mm. 2548 Add main for the WebProcessService which just calls into the WebProcessServiceEntryPoints in WebKit2.framework. 2549 2550 * WebProcessServiceForWebKitDevelopment/Info.plist: Renamed from Source/WebKit2/WebKit2Service/Info.plist. 2551 * WebProcessServiceForWebKitDevelopment/WebProcessServiceForWebKitDevelopmentMain.mm: Added. 2552 Add main for the WebProcessServiceForWebKitDevelopment, which can't just call directly into WebProcessServiceEntryPoints 2553 as the framework path might not be set up correctly. This is also where we re-exec ourselves when required. 2554 25552012-09-21 Anders Carlsson <andersca@apple.com> 2556 2557 Fix WebKit2 sandbox profile. 2558 2559 Instead of using #pragmas, just disable all warnings in DerivedSources.make. I suspect 2560 that passing -traditional to the preprocessor disables support for #pragmas but I'm afraid 2561 to change it to something else. 2562 2563 * DerivedSources.make: 2564 * WebProcess/com.apple.WebProcess.sb.in: 2565 25662012-09-21 Benjamin Poulain <bpoulain@apple.com> 2567 2568 fast/dom/Geolocation/disconnected-frame.html test asserts 2569 https://bugs.webkit.org/show_bug.cgi?id=97376 2570 2571 Reviewed by Alexey Proskuryakov. 2572 2573 In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator 2574 after its value has been removed from the table. 2575 There are two problems with that: 2576 -The iterator is no longer valid after the container has been modified. 2577 -If it was the last element, the table has been freed and the iterator points to deleted memory. 2578 2579 We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls 2580 but that would make the issue less visible for future change. 2581 2582 Testing covered by fast/dom/Geolocation/disconnected-frame.html. 2583 2584 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 2585 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 2586 25872012-09-21 Sam Weinig <sam@webkit.org> 2588 2589 REGRESSION (r120361) Warnings while preprocessing com.apple.WebProcess.sb.in 2590 https://bugs.webkit.org/show_bug.cgi?id=91079 2591 <rdar://problem/12332660> 2592 2593 Reviewed by Anders Carlsson. 2594 2595 * WebProcess/com.apple.WebProcess.sb.in: 2596 Add pragma to ignore the invalid preprocessor warnings. 2597 25982012-09-21 Chris Rogers <crogers@google.com> 2599 2600 Add Web Audio support for deprecated/legacy APIs 2601 https://bugs.webkit.org/show_bug.cgi?id=97050 2602 2603 Reviewed by Eric Carlson. 2604 2605 * Configurations/FeatureDefines.xcconfig: 2606 26072012-09-21 Benjamin Poulain <bpoulain@apple.com> 2608 2609 [WK2] Add basic testing support for Geolocation 2610 https://bugs.webkit.org/show_bug.cgi?id=97278 2611 2612 Reviewed by Kenneth Rohde Christiansen. 2613 2614 * Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :) 2615 2616 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 2617 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 2618 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2619 * WebProcess/InjectedBundle/InjectedBundle.h: 2620 (InjectedBundle): 2621 Remove the code forcing the Geolocation permissions. It was working around the normal 2622 Geolocation code and updating all the GeolocationController, which is a terrible idea. 2623 26242012-09-21 Alexey Proskuryakov <ap@apple.com> 2625 2626 [WK2] Make Web Inspector work in multiple web process mode 2627 https://bugs.webkit.org/show_bug.cgi?id=97354 2628 2629 Reviewed by Timothy Hatcher. 2630 2631 * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): 2632 Tell WKView that it's related to original page, making inspector page be in the same process. 2633 26342012-09-21 Carlos Garcia Campos <cgarcia@igalia.com> 2635 2636 [GTK] Implement ViewState methods in PageClientImpl in WebKit2 2637 https://bugs.webkit.org/show_bug.cgi?id=97202 2638 2639 Reviewed by Martin Robinson. 2640 2641 Implement isViewWindowActive(), isViewFocused(), isViewVisible() 2642 and isViewInWindow() in PageClientImpl. 2643 2644 * GNUmakefile.list.am: Add new files to compilation. 2645 * UIProcess/API/C/gtk/WKView.cpp: 2646 (WKViewSetFocus): New private method used by WTR to focus the 2647 WebView. 2648 * UIProcess/API/C/gtk/WKViewPrivate.h: Added. 2649 * UIProcess/API/gtk/PageClientImpl.cpp: 2650 (WebKit::PageClientImpl::isViewWindowActive): Return 2651 webkitWebViewBaseIsInWindowActive(). 2652 (WebKit::PageClientImpl::isViewFocused): Return 2653 webkitWebViewBaseIsFocused(). 2654 (WebKit::PageClientImpl::isViewVisible): Return 2655 webkitWebViewBaseIsVisible(). 2656 (WebKit::PageClientImpl::isViewInWindow): Return 2657 webkitWebViewBaseIsInWindow(). 2658 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 2659 (webkitWebViewBaseNotifyResizerSize): Updated to not receive the 2660 window as parameter since it's now saved in the instance struct. 2661 (toplevelWindowResizeGripVisibilityChanged): Update to 2662 webkitWebViewBaseNotifyResizerSize() API change. 2663 (toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and 2664 notify the WebPageProxy if it changed. 2665 (toplevelWindowFocusOutEvent): Ditto. 2666 (webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel 2667 on-screen window where the view is currently added and notify 2668 WebPageProxy if it changed. 2669 (webkitWebViewBaseRealize): Call 2670 webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been 2671 added to an on-screen window. 2672 (webkitWebViewBaseFinalize): Reset the toplevel on-screen window 2673 to make sure all signals are disconnected when the view is 2674 destroyed. 2675 (webkit_web_view_base_init): Remove unneeded initialization. 2676 (resizeWebKitWebViewBaseFromAllocation): Update to 2677 webkitWebViewBaseNotifyResizerSize() API change. 2678 (webkitWebViewBaseMap): Update ViewIsVisible flag and notify 2679 WebPageProxy if it changed. 2680 (webkitWebViewBaseUnmap): Ditto. 2681 (webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus() 2682 passing true to focus the view. 2683 (webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus() 2684 passing false to unfocus the view. 2685 (webkitWebViewBaseParentSet): Reset the toplevel on-screen window 2686 if the view is re-parented. 2687 (webkit_web_view_base_class_init): Add implementations for map and 2688 parent-set virtual functions. 2689 (webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify 2690 WebPageProxy if it changed. 2691 (webkitWebViewBaseIsInWindowActive): 2692 (webkitWebViewBaseIsFocused): 2693 (webkitWebViewBaseIsVisible): 2694 (webkitWebViewBaseIsInWindow): 2695 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 2696 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 2697 (testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of 2698 POPUP for this test to make sure the view receives focus change 2699 events. 2700 27012012-09-21 Carlos Garcia Campos <cgarcia@igalia.com> 2702 2703 [GTK] Add WebKitWebView:is-loading property to WebKit2 GTK+ API 2704 https://bugs.webkit.org/show_bug.cgi?id=97330 2705 2706 Reviewed by Xan Lopez. 2707 2708 WebKitWebView:is-loading property allows to monitor when the view 2709 is loading something without having to deal with load-changed 2710 signal and all the details of the load status. This also allows to 2711 know when a new load is started before it goes to STARTED status. 2712 2713 * UIProcess/API/gtk/WebKitWebView.cpp: 2714 (webkitWebViewGetProperty): Implement getter for is-loading 2715 property. 2716 (webkit_web_view_class_init): Add is-loading property. 2717 (webkitWebViewSetIsLoading): Set whether web view is loading a 2718 page and emit notify signal if the is-loading property has 2719 changed. Also update the active URI when a new load operation has 2720 started. 2721 (webkitWebViewEmitLoadChanged): Set is-loading to FALSE when load 2722 finishes. 2723 (webkitWebViewLoadFailed): Set is-loading to FALSE when load fails. 2724 (webkit_web_view_load_uri): Set is-loading to TRUE. 2725 (webkit_web_view_load_html): Ditto. 2726 (webkit_web_view_load_alternate_html): Ditto. 2727 (webkit_web_view_load_plain_text): Ditto. 2728 (webkit_web_view_load_request): Ditto. 2729 (webkit_web_view_reload): Ditto. 2730 (webkit_web_view_reload_bypass_cache): Ditto. 2731 (webkit_web_view_is_loading): Return whether the view is loading a 2732 page. 2733 (webkit_web_view_go_back): Set is-loading to TRUE. 2734 (webkit_web_view_go_forward): Ditto. 2735 (webkit_web_view_go_to_back_forward_list_item): Ditto. 2736 * UIProcess/API/gtk/WebKitWebView.h: 2737 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 2738 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 2739 (loadChangedCallback): 2740 (loadFailedCallback): 2741 * UIProcess/API/gtk/tests/TestLoaderClient.cpp: 2742 (testWebViewIsLoading): 2743 (beforeAll): 2744 27452012-09-20 Eunmi Lee <eunmi15.lee@samsung.com> 2746 2747 [EFL][WK2] Add API to feed touch event. 2748 https://bugs.webkit.org/show_bug.cgi?id=96903 2749 2750 Reviewed by Kenneth Rohde Christiansen. 2751 2752 The applications will use this API to feed touch event to the view 2753 when they want to generate touch event from their own event processor. 2754 WTR also will use this API to generate touch event with multiple touch 2755 points for passing test cases of touch event in the WebKit2/EFL. 2756 2757 * PlatformEfl.cmake: 2758 * UIProcess/API/efl/EWebKit2.h: 2759 * UIProcess/API/efl/ewk_view.cpp: 2760 (ewk_view_feed_touch_event): 2761 * UIProcess/API/efl/ewk_view.h: 2762 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2763 (TEST_F): 2764 27652012-09-20 Patrick Gansterer <paroga@webkit.org> 2766 2767 Add String::numberToStringFixedWidth() 2768 https://bugs.webkit.org/show_bug.cgi?id=96330 2769 2770 Reviewed by Benjamin Poulain. 2771 2772 * win/WebKit2.def: 2773 * win/WebKit2CFLite.def: 2774 27752012-09-17 Jon Lee <jonlee@apple.com> 2776 2777 Safari 6 notifications' onclick handlers can't call window.open() 2778 https://bugs.webkit.org/show_bug.cgi?id=96959 2779 <rdar://problem/12132427> 2780 2781 Reviewed by Darin Adler. 2782 2783 The click is not being treated as a user gesture when the message is sent to the web process. 2784 2785 * WebProcess/Notifications/WebNotificationManager.cpp: 2786 (WebKit::WebNotificationManager::didClickNotification): Gets called when the user clicks on the 2787 platform notification. Set UserGestureIndicator to show the click event is due to user gesture. 2788 27892012-09-20 Eunmi Lee <eunmi15.lee@samsung.com> 2790 2791 [EFL][WK2] Add APIs to create, delete and get ewk_context. 2792 https://bugs.webkit.org/show_bug.cgi?id=89186 2793 2794 Reviewed by Kenneth Rohde Christiansen. 2795 2796 Provide APIs to create ewk_context with or without injected bundle path 2797 and delete created ewk_context. 2798 Additionally, the ewk_view can be created with ewk_context which is not 2799 default context, so we have to get ewk_context from ewk_view. 2800 2801 * PlatformEfl.cmake: 2802 * UIProcess/API/efl/PageClientImpl.cpp: 2803 (WebKit::PageClientImpl::handleDownloadRequest): 2804 * UIProcess/API/efl/ewk_context.cpp: 2805 (_Ewk_Context): 2806 (_Ewk_Context::_Ewk_Context): 2807 (ewk_context_ref): 2808 (ewk_context_unref): 2809 (ewk_context_new): 2810 (ewk_context_new_with_injected_bundle_path): 2811 * UIProcess/API/efl/ewk_context.h: 2812 * UIProcess/API/efl/ewk_view.cpp: 2813 (_Ewk_View_Private_Data): 2814 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 2815 (_ewk_view_priv_del): 2816 (_ewk_view_initialize): 2817 (ewk_view_context_get): 2818 * UIProcess/API/efl/ewk_view.h: 2819 * UIProcess/API/efl/tests/InjectedBundle/injected_bundle_sample.cpp: Added. 2820 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 2821 (EWK2UnitTest::EWK2UnitTestEnvironment::injectedBundleSample): 2822 (EWK2UnitTest): 2823 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: 2824 (EWK2UnitTestEnvironment): 2825 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 2826 (TEST_F): 2827 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 2828 (TEST_F): 2829 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2830 (TEST_F): 2831 28322012-09-20 KwangYong Choi <ky0.choi@samsung.com> 2833 2834 [EFL][WK2] Implemented color picker API 2835 https://bugs.webkit.org/show_bug.cgi?id=91832 2836 2837 Reviewed by Kenneth Rohde Christiansen. 2838 2839 Add support for color picker API for EFL port in WebKit2. 2840 2841 The external application can implement input picker by overriding 2842 smart class function. 2843 2844 * UIProcess/API/efl/ewk_view.cpp: 2845 (_Ewk_View_Private_Data): 2846 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 2847 (ewk_view_color_picker_request): 2848 (ewk_view_color_picker_dismiss): 2849 (ewk_view_color_picker_color_set): 2850 * UIProcess/API/efl/ewk_view.h: 2851 * UIProcess/API/efl/ewk_view_private.h: 2852 * UIProcess/API/efl/ewk_view_ui_client.cpp: 2853 (showColorPicker): 2854 (hideColorPicker): 2855 (ewk_view_ui_client_attach): 2856 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2857 (onColorPickerDone): 2858 (setColorPickerColor): 2859 (showColorPicker): 2860 (hideColorPicker): 2861 (TEST_F): 2862 28632012-09-20 Balazs Kelemen <kbalazs@webkit.org> 2864 2865 [CoordinatedGraphics] Don't reset m_shouldSyncFrame in flushPendingLayerChanges 2866 https://bugs.webkit.org/show_bug.cgi?id=97108 2867 2868 Reviewed by Noam Rosenthal. 2869 2870 Stop ignoring if m_shouldSyncFrame has been set between the two 2871 layer flush. It can be set during layout in several situations, 2872 for example when a layer is deleted or changed state. We want to 2873 send the DidRenderFrame message at the next flush in those situations 2874 so the UI process will apply the changes as soon as possible. 2875 2876 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 2877 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 2878 28792012-09-20 Byungwoo Lee <bw80.lee@samsung.com> 2880 2881 [EFL][WK2] Check timeout on waitUntilLoadFinished() and waitUntilTitleChangedTo(). 2882 https://bugs.webkit.org/show_bug.cgi?id=97081 2883 2884 Reviewed by Gyuyoung Kim. 2885 2886 Add assertion to check timeout on waitUntilLoadFinished() and 2887 waitUntilTitleChangedTo(). 2888 Set the default timeout for the functions as 10 seconds. 2889 2890 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 2891 (EWK2UnitTestBase): 2892 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: 2893 (TEST_F): 2894 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 2895 (TEST_F): 2896 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2897 (TEST_F): 2898 28992012-09-20 Jinwoo Song <jinwoo7.song@samsung.com> 2900 2901 [EFL] Change the log macro names to be more consistent with EINA LOG 2902 https://bugs.webkit.org/show_bug.cgi?id=97158 2903 2904 Reviewed by Kenneth Rohde Christiansen. 2905 2906 Some log macro names in WebKit2 are inconsistent with EINA LOG names 2907 such as WRN/INF not WARN/INFO. 2908 2909 #define WRN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__) 2910 #define INF(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__) 2911 2912 This patch changes the such names to be consistent with EINA LOG's names. 2913 2914 * UIProcess/API/efl/ewk_main.cpp: 2915 (ewk_init): 2916 * UIProcess/API/efl/ewk_private.h: 2917 * UIProcess/API/efl/ewk_view.cpp: 2918 (ewk_view_webprocess_crashed): 2919 29202012-09-20 Christophe Dumez <christophe.dumez@intel.com> 2921 2922 [EFL][WK2] Same page navigation does not update view URI 2923 https://bugs.webkit.org/show_bug.cgi?id=97094 2924 2925 Reviewed by Kenneth Rohde Christiansen. 2926 2927 Handle didSameDocumentNavigationForFrame callback in 2928 WKPageLoaderClient in order to update the view URI. 2929 This fixes issues with the view URI not being updated 2930 in case of a same page navigation. 2931 2932 * UIProcess/API/efl/ewk_view_loader_client.cpp: 2933 (didSameDocumentNavigationForFrame): 2934 (ewk_view_loader_client_attach): 2935 * UIProcess/API/efl/ewk_view_private.h: 2936 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 2937 (CallbackDataTimer): 2938 (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer): 2939 (EWK2UnitTest::CallbackDataTimer::~CallbackDataTimer): 2940 (EWK2UnitTest::CallbackDataTimer::isDone): 2941 (EWK2UnitTest::CallbackDataTimer::setDone): 2942 (EWK2UnitTest::CallbackDataTimer::didTimeOut): 2943 (EWK2UnitTest::CallbackDataTimer::setTimedOut): 2944 (EWK2UnitTest): 2945 (CallbackDataExpectedValue): 2946 (EWK2UnitTest::CallbackDataExpectedValue::CallbackDataExpectedValue): 2947 (EWK2UnitTest::CallbackDataExpectedValue::expectedValue): 2948 (EWK2UnitTest::onLoadFinished): 2949 (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished): 2950 (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished): 2951 (EWK2UnitTest::onTitleChanged): 2952 (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo): 2953 (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo): 2954 (EWK2UnitTest::onURIChanged): 2955 (EWK2UnitTest::timeOutWhileWaitingUntilURIChangedTo): 2956 (EWK2UnitTest::EWK2UnitTestBase::waitUntilURIChangedTo): Add convenience function to test 2957 framework in order to wait until the view URI changes to a given value. 2958 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 2959 (EWK2UnitTestBase): 2960 * UIProcess/API/efl/tests/resources/same_page_navigation.html: Added. 2961 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 2962 (TEST_F): Add corresponding unit test to verify fix and prevent regressions 2963 in the future. 2964 29652012-09-19 Dan Bernstein <mitz@apple.com> 2966 2967 WebKit2 part of adding a setting and API for disabling screen font substitution 2968 https://bugs.webkit.org/show_bug.cgi?id=97168 2969 2970 Reviewed by Tim Horton. 2971 2972 * Shared/WebPreferencesStore.h: 2973 (WebKit): Defined ScreenFontSubstitutionEnabled key with a default value of true. 2974 * UIProcess/API/C/WKPreferences.cpp: 2975 (WKPreferencesSetScreenFontSubstitutionEnabled): Added this setter. 2976 (WKPreferencesGetScreenFontSubstitutionEnabled): Added this getter. 2977 * UIProcess/API/C/WKPreferencesPrivate.h: 2978 * WebProcess/WebPage/WebPage.cpp: 2979 (WebKit::WebPage::updatePreferences): Added a call to Settings::setScreenFontSubstitutionEnabled 2980 to push the preference into Settings. 2981 29822012-09-19 Jinwoo Song <jinwoo7.song@samsung.com> 2983 2984 Fix unused parameter compile warnings in WebKit/WebKit2 2985 https://bugs.webkit.org/show_bug.cgi?id=96742 2986 2987 Reviewed by Gyuyoung Kim. 2988 2989 Fix unused parameter compile warning messages(-Wunused-parameter) in WebKit2 during EFL build. 2990 WebCore's warning messages were fixed in r128570. 2991 2992 * Shared/FontInfo.cpp: 2993 (WebKit::FontInfo::encode): 2994 (WebKit::FontInfo::decode): 2995 * Shared/PlatformPopupMenuData.cpp: 2996 (WebKit::PlatformPopupMenuData::encode): 2997 (WebKit::PlatformPopupMenuData::decode): 2998 * Shared/SandboxExtension.h: 2999 (WebKit::SandboxExtension::createHandleForTemporaryFile): 3000 * Shared/ShareableSurface.cpp: 3001 (WebKit::ShareableSurface::create): 3002 * Shared/WebMemorySampler.cpp: 3003 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile): 3004 * UIProcess/API/C/WKPage.cpp: 3005 (WKPageGetContentsAsMHTMLData): 3006 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 3007 (WKPluginSiteDataManagerClearSiteData): 3008 (WKPluginSiteDataManagerClearAllSiteData): 3009 * UIProcess/API/C/WKPreferences.cpp: 3010 (WKPreferencesSetHixie76WebSocketProtocolEnabled): 3011 (WKPreferencesGetHixie76WebSocketProtocolEnabled): 3012 * UIProcess/API/efl/BatteryProvider.cpp: 3013 (startUpdatingCallback): 3014 (stopUpdatingCallback): 3015 * UIProcess/API/efl/PageClientImpl.cpp: 3016 (WebKit::PageClientImpl::doneWithTouchEvent): 3017 * UIProcess/API/efl/VibrationProvider.cpp: 3018 (vibrateCallback): 3019 (cancelVibrationCallback): 3020 * UIProcess/API/efl/ewk_context_download_client.cpp: 3021 (decideDestinationWithSuggestedFilename): 3022 (didCreateDestination): 3023 * UIProcess/API/efl/ewk_view.cpp: 3024 (_ewk_view_on_focus_in): 3025 (_ewk_view_on_focus_out): 3026 (_ewk_view_on_mouse_wheel): 3027 (_ewk_view_on_mouse_down): 3028 (_ewk_view_on_mouse_up): 3029 (_ewk_view_on_mouse_move): 3030 (_ewk_view_on_key_down): 3031 (_ewk_view_on_key_up): 3032 (_ewk_view_smart_move): 3033 (ewk_view_contents_size_changed): 3034 * UIProcess/API/efl/ewk_view_find_client.cpp: 3035 (didFindString): 3036 * UIProcess/API/efl/ewk_view_form_client.cpp: 3037 (willSubmitForm): 3038 * UIProcess/API/efl/ewk_view_loader_client.cpp: 3039 (didReceiveIntentForFrame): 3040 (registerIntentServiceForFrame): 3041 (didFinishLoadForFrame): 3042 (didFailLoadWithErrorForFrame): 3043 (didStartProvisionalLoadForFrame): 3044 (didReceiveServerRedirectForProvisionalLoadForFrame): 3045 (didFailProvisionalLoadWithErrorForFrame): 3046 (didChangeBackForwardList): 3047 * UIProcess/API/efl/ewk_view_policy_client.cpp: 3048 (decidePolicyForNavigationAction): 3049 (decidePolicyForNewWindowAction): 3050 (decidePolicyForResponseCallback): 3051 * UIProcess/DrawingAreaProxy.h: 3052 (WebKit::DrawingAreaProxy::update): 3053 (WebKit::DrawingAreaProxy::didUpdateBackingStoreState): 3054 * UIProcess/DrawingAreaProxyImpl.cpp: 3055 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 3056 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3057 (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode): 3058 * UIProcess/FindIndicator.cpp: 3059 (WebKit::FindIndicator::draw): 3060 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 3061 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision): 3062 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: 3063 (WebKit::PluginInfoStore::shouldUsePlugin): 3064 * UIProcess/WebContext.cpp: 3065 (WebKit::WebContext::setHTTPPipeliningEnabled): 3066 * UIProcess/WebFullScreenManagerProxy.cpp: 3067 (WebKit::WebFullScreenManagerProxy::supportsFullScreen): 3068 * UIProcess/WebPageProxy.cpp: 3069 (WebKit::WebPageProxy::sessionStateData): 3070 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange): 3071 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 3072 * UIProcess/WebProcessProxy.cpp: 3073 (WebKit::WebProcessProxy::createWebPage): 3074 * UIProcess/efl/TextCheckerEfl.cpp: 3075 (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged): 3076 (WebKit::TextChecker::grammarCheckingEnabledStateChanged): 3077 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: 3078 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 3079 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 3080 * UIProcess/efl/WebPageProxyEfl.cpp: 3081 (WebKit::WebPageProxy::standardUserAgent): 3082 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): 3083 * WebProcess/Downloads/soup/DownloadSoup.cpp: 3084 (WebKit::Download::start): 3085 (WebKit::Download::startWithHandle): 3086 (WebKit::Download::didDecideDestination): 3087 (WebKit::Download::receivedCredential): 3088 (WebKit::Download::receivedRequestToContinueWithoutCredential): 3089 (WebKit::Download::receivedCancellation): 3090 * WebProcess/Geolocation/WebGeolocationManager.cpp: 3091 (WebKit::WebGeolocationManager::didChangePosition): 3092 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 3093 (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL): 3094 (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL): 3095 (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL): 3096 (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL): 3097 (WebKit::WebIconDatabaseProxy::iconDataForIconURL): 3098 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 3099 (WKBundleFrameCopyWebArchiveFilteringSubframes): 3100 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 3101 (WKAccessibilityRootObject): 3102 (WKAccessibilityFocusedObject): 3103 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3104 (WebKit::InjectedBundle::setGeoLocationPermission): 3105 (WebKit::InjectedBundle::didReceiveMessage): 3106 (WebKit::InjectedBundle::webNotificationID): 3107 * WebProcess/Notifications/WebNotificationManager.cpp: 3108 (WebKit::WebNotificationManager::initialize): 3109 (WebKit::WebNotificationManager::didUpdateNotificationDecision): 3110 (WebKit::WebNotificationManager::didRemoveNotificationDecisions): 3111 (WebKit::WebNotificationManager::policyForOrigin): 3112 (WebKit::WebNotificationManager::notificationIDForTesting): 3113 (WebKit::WebNotificationManager::show): 3114 (WebKit::WebNotificationManager::cancel): 3115 (WebKit::WebNotificationManager::clearNotifications): 3116 (WebKit::WebNotificationManager::didDestroyNotification): 3117 (WebKit::WebNotificationManager::didShowNotification): 3118 (WebKit::WebNotificationManager::didClickNotification): 3119 (WebKit::WebNotificationManager::didCloseNotifications): 3120 * WebProcess/Plugins/PluginView.cpp: 3121 (WebKit::PluginView::paint): 3122 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 3123 (WebKit::WebChromeClient::addMessageToConsole): 3124 (WebKit::WebChromeClient::contentsSizeChanged): 3125 (WebKit::WebChromeClient::customHighlightRect): 3126 (WebKit::WebChromeClient::paintCustomHighlight): 3127 (WebKit::WebChromeClient::supportsFullScreenForElement): 3128 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 3129 (WebKit::WebContextMenuClient::downloadURL): 3130 * WebProcess/WebCoreSupport/WebDragClient.cpp: 3131 (WebKit::WebDragClient::dragSourceActionMaskForPoint): 3132 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3133 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 3134 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3135 (WebKit::WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge): 3136 (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): 3137 (WebKit::WebFrameLoaderClient::shouldStopLoadingForHistoryItem): 3138 (WebKit::WebFrameLoaderClient::canShowMIMEType): 3139 (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): 3140 (WebKit::WebFrameLoaderClient::representationExistsForURLScheme): 3141 (WebKit::WebFrameLoaderClient::generatedMIMETypeForURLScheme): 3142 (WebKit::WebFrameLoaderClient::createFrame): 3143 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): 3144 (WebKit::WebFrameLoaderClient::registerForIconNotification): 3145 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 3146 (WebKit::WebInspectorClient::drawRect): 3147 * WebProcess/WebPage/DrawingArea.h: 3148 (WebKit::DrawingArea::forceRepaintAsync): 3149 (WebKit::DrawingArea::updateBackingStoreState): 3150 * WebProcess/WebPage/FindController.cpp: 3151 (WebKit::FindController::mouseEvent): 3152 * WebProcess/WebPage/LayerTreeHost.cpp: 3153 (WebKit::LayerTreeHost::create): 3154 * WebProcess/WebPage/LayerTreeHost.h: 3155 (WebKit::LayerTreeHost::forceRepaintAsync): 3156 * WebProcess/WebPage/TapHighlightController.cpp: 3157 (WebKit::TapHighlightController::drawRect): 3158 * WebProcess/WebPage/WebPage.cpp: 3159 (WebKit::WebPage::getWebArchiveOfFrame): 3160 * WebProcess/WebProcess.cpp: 3161 (WebKit::WebProcess::getSitesWithPluginData): 3162 (WebKit::WebProcess::clearPluginSiteData): 3163 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: 3164 (webkitSoupRequestGenericSendFinish): 3165 * WebProcess/soup/WebKitSoupRequestInputStream.cpp: 3166 (webkitSoupRequestInputStreamReadAsync): 3167 (webkitSoupRequestInputStreamReadFinish): 3168 31692012-09-19 Pratik Solanki <psolanki@apple.com> 3170 3171 Warning in SandboxExtension.h if WEB_PROCESS_SANDBOX is not enabled 3172 https://bugs.webkit.org/show_bug.cgi?id=97137 3173 3174 Reviewed by Benjamin Poulain. 3175 3176 m_size is only used when WEB_PROCESS_SANDBOX is enabled, so move its declaration inside 3177 #if ENABLE(WEB_PROCESS_SANDBOX). 3178 3179 * Shared/SandboxExtension.h: 3180 (HandleArray): 3181 31822012-09-19 Sudarsana Nagineni <sudarsana.nagineni@intel.com> 3183 3184 [WTR] Memory leaks in TestRunner::deliverWebIntent() 3185 https://bugs.webkit.org/show_bug.cgi?id=97111 3186 3187 Reviewed by Kenneth Rohde Christiansen. 3188 3189 Fix memory leaks in WKBundleIntentCreate() by adopting strings 3190 created with WKStringCreateWithUTF8CString(). 3191 3192 * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: 3193 (WKBundleIntentCreate): 3194 31952012-09-19 Christophe Dumez <christophe.dumez@intel.com> 3196 3197 [EFL][WK2] fast/forms/select-writing-direction-natural.html is failing 3198 https://bugs.webkit.org/show_bug.cgi?id=97082 3199 3200 Reviewed by Kenneth Rohde Christiansen. 3201 3202 WebChromeClient::selectItemWritingDirectionIsNatural() now returns 3203 true for EFL-WK2, consistently with EFL-WK1, so that the style 3204 is properly adjusted in RenderMenuList::adjustInnerStyle(). 3205 3206 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 3207 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): 3208 32092012-09-19 Carlos Garcia Campos <cgarcia@igalia.com> 3210 3211 [GTK] Add API to get/set the security policy of a given URI scheme to WebKit2 GTK+ 3212 https://bugs.webkit.org/show_bug.cgi?id=96497 3213 3214 Reviewed by Martin Robinson. 3215 3216 Add WebKitSecurityManager object associated to a WebKitWebContext 3217 to get/set the security policy of a URI scheme. 3218 3219 * GNUmakefile.list.am: Add new files to compilation. 3220 * Shared/WebProcessCreationParameters.cpp: 3221 (WebKit::WebProcessCreationParameters::encode): Encode the list of 3222 schemes to be reigstered as Local, NoAccess, DisplayIsolated and 3223 CORSEnabled. 3224 (WebKit::WebProcessCreationParameters::decode): Decode the list of 3225 schemes to be reigstered as Local, NoAccess, DisplayIsolated and 3226 CORSEnabled. 3227 * Shared/WebProcessCreationParameters.h: 3228 (WebProcessCreationParameters): Add new parameters to be able to 3229 register schemes as Local, NoAccess, DisplayIsolated and 3230 CORSEnabled. 3231 * UIProcess/API/gtk/WebKitSecurityManager.cpp: Added. 3232 (webkit_security_manager_init): 3233 (webkitSecurityManagerFinalize): 3234 (webkit_security_manager_class_init): 3235 (webkitSecurityManagerCreate): Private function to create the 3236 WebKitSecurityManager object associated to the given 3237 WebKitWebContext. 3238 (registerSecurityPolicyForURIScheme): 3239 (checkSecurityPolicyForURIScheme): 3240 (webkit_security_manager_register_uri_scheme_as_local): 3241 (webkit_security_manager_uri_scheme_is_local): 3242 (webkit_security_manager_register_uri_scheme_as_no_access): 3243 (webkit_security_manager_uri_scheme_is_no_access): 3244 (webkit_security_manager_register_uri_scheme_as_display_isolated): 3245 (webkit_security_manager_uri_scheme_is_display_isolated): 3246 (webkit_security_manager_register_uri_scheme_as_secure): 3247 (webkit_security_manager_uri_scheme_is_secure): 3248 (webkit_security_manager_register_uri_scheme_as_cors_enabled): 3249 (webkit_security_manager_uri_scheme_is_cors_enabled): 3250 (webkit_security_manager_register_uri_scheme_as_empty_document): 3251 (webkit_security_manager_uri_scheme_is_empty_document): 3252 * UIProcess/API/gtk/WebKitSecurityManager.h: Added. 3253 * UIProcess/API/gtk/WebKitSecurityManagerPrivate.h: Added. 3254 * UIProcess/API/gtk/WebKitWebContext.cpp: 3255 (webkit_web_context_get_security_manager): Return the 3256 WebKitSecurityManager object, creating it before if it doesn't exist. 3257 * UIProcess/API/gtk/WebKitWebContext.h: 3258 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 3259 WebKitSecurityManager. 3260 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 3261 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 3262 (testWebContextSecurityPolicy): 3263 (beforeAll): 3264 * UIProcess/API/gtk/webkit2.h: Add WebKitSecurityManager.h. 3265 * UIProcess/WebContext.cpp: 3266 (WebKit::WebContext::createNewWebProcess): Copy new vector 3267 schemes. 3268 (WebKit::WebContext::registerURLSchemeAsLocal): Send a message to 3269 WebProcess to register the given URL scheme as Local. 3270 (WebKit::WebContext::registerURLSchemeAsNoAccess): Send a message 3271 to WebProcess to register the given URL scheme as NoAccess. 3272 (WebKit::WebContext::registerURLSchemeAsDisplayIsolated): Send a 3273 message to WebProcess to register the given URL scheme as 3274 DisplayIsolated. 3275 (WebKit::WebContext::registerURLSchemeAsCORSEnabled): Send a 3276 message to WebProcess to register the given URL scheme as 3277 CORSEnabled. 3278 * UIProcess/WebContext.h: 3279 (WebContext): 3280 * WebProcess/WebProcess.cpp: 3281 (WebKit::WebProcess::registerURLSchemeAsLocal): Register the 3282 given URL scheme as Local in the SchemeRegistry. 3283 (WebKit::WebProcess::registerURLSchemeAsNoAccess): Register the 3284 given URL scheme as NoAccess in the SchemeRegistry. 3285 (WebKit::WebProcess::registerURLSchemeAsDisplayIsolated): Register 3286 the given URL scheme as DisplayIsolated in the SchemeRegistry. 3287 (WebKit::WebProcess::registerURLSchemeAsCORSEnabled): Register the 3288 given URL scheme as CORSEnabled in the SchemeRegistry. 3289 * WebProcess/WebProcess.h: 3290 * WebProcess/WebProcess.messages.in: Add new messages. 3291 32922012-09-19 Balazs Kelemen <kbalazs@webkit.org> 3293 3294 [Texmap] Potential crash in TextureMapperLayer because of referencing deleted mask/replica layer 3295 https://bugs.webkit.org/show_bug.cgi?id=96919 3296 3297 Reviewed by Noam Rosenthal. 3298 3299 Delay syncing deleted layers until flushPendingLayerChanges so the UI side state 3300 will contain all changes related to the deletion of a layer. This saves us from 3301 referencing a deleted layer. 3302 3303 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 3304 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 3305 (WebKit::LayerTreeCoordinator::detachLayer): 3306 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 3307 (LayerTreeCoordinator): 3308 33092012-09-19 Byungwoo Lee <bw80.lee@samsung.com> 3310 3311 [EFL][WK2] waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout. 3312 https://bugs.webkit.org/show_bug.cgi?id=96910 3313 3314 Reviewed by Kenneth Rohde Christiansen. 3315 3316 Currently, the waitUntilTitleChangedTo() and waitUntilLoadFinished() 3317 functions doesn't handle timeout by itself. 3318 And if there are some failed cases that loading is not finished or 3319 title is not changed to the expected string, test case just stopped 3320 with timeout and there is no more information about this such as line 3321 number. 3322 3323 To handle timeout status more properly, timeout parameter is added to 3324 these functions. 3325 3326 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 3327 (EWK2UnitTest::LoadFinishedData::LoadFinishedData): 3328 (LoadFinishedData): 3329 (EWK2UnitTest::LoadFinishedData::~LoadFinishedData): 3330 (EWK2UnitTest): 3331 (EWK2UnitTest::onLoadFinished): 3332 (EWK2UnitTest::timeOutWhileWaitingUntilLoadFinished): 3333 (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished): 3334 (EWK2UnitTest::TitleChangedData::TitleChangedData): 3335 (TitleChangedData): 3336 (EWK2UnitTest::TitleChangedData::~TitleChangedData): 3337 (EWK2UnitTest::onTitleChanged): 3338 (EWK2UnitTest::timeOutWhileWaitingUntilTitleChangedTo): 3339 (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo): 3340 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 3341 (EWK2UnitTestBase): 3342 33432012-09-18 Byungwoo Lee <bw80.lee@samsung.com> 3344 3345 [EFL][WK2] Add javascript popup API. 3346 https://bugs.webkit.org/show_bug.cgi?id=95672 3347 3348 Reviewed by Gyuyoung Kim. 3349 3350 Add smart class member function for javascript alert(), confirm() and prompt(). 3351 3352 * UIProcess/API/efl/ewk_view.cpp: 3353 (ewk_view_run_javascript_alert): 3354 (ewk_view_run_javascript_confirm): 3355 (ewk_view_run_javascript_prompt): 3356 * UIProcess/API/efl/ewk_view.h: 3357 * UIProcess/API/efl/ewk_view_private.h: 3358 * UIProcess/API/efl/ewk_view_ui_client.cpp: 3359 (runJavaScriptAlert): 3360 (runJavaScriptConfirm): 3361 (runJavaScriptPrompt): 3362 (ewk_view_ui_client_attach): 3363 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 3364 Added unit test for javascript popup smart class member function. 3365 (checkAlert): 3366 (TEST_F): 3367 (checkConfirm): 3368 (checkPrompt): 3369 33702012-09-18 Sailesh Agrawal <sail@chromium.org> 3371 3372 Chromium: Scrollbar with tickmarks doesn't respond to clicks 3373 https://bugs.webkit.org/show_bug.cgi?id=96049 3374 3375 Reviewed by Beth Dakin. 3376 3377 Update exported symbols. 3378 3379 * win/WebKit2.def: 3380 * win/WebKit2CFLite.def: 3381 33822012-09-18 Jinwoo Song <jinwoo7.song@samsung.com> 3383 3384 [EFL][WK2] Add log macros for EINA_LOG_DOM_XXX series 3385 https://bugs.webkit.org/show_bug.cgi?id=97061 3386 3387 Reviewed by Gyuyoung Kim. 3388 3389 EFL Webkit2 is using the EINA_LOG_DOM_XXX series in several places to log a message on the specified domain and format. 3390 This patch adds log macros to simplify these logging codes. 3391 3392 * UIProcess/API/efl/ewk_main.cpp: 3393 (ewk_init): 3394 * UIProcess/API/efl/ewk_private.h: 3395 * UIProcess/API/efl/ewk_view.cpp: 3396 (ewk_view_webprocess_crashed): 3397 33982012-09-17 Martin Robinson <mrobinson@igalia.com> 3399 3400 [WebKit2] [GTK] Add API for controlling the user agent 3401 https://bugs.webkit.org/show_bug.cgi?id=95697 3402 3403 Reviewed by Carlos Garcia Campos. 3404 3405 Add API for changing the user agent in WebKit2. This adds two styles of 3406 setting the user agent: complete override and a method that just inserts 3407 the application name and version, but preserves the carefully crafted user agent 3408 in the library. 3409 3410 * UIProcess/API/gtk/WebKitSettings.cpp: 3411 (_WebKitSettingsPrivate): Added a new field to store the user agent. 3412 This is stored in the private data structure, because we can only 3413 set the user agent when attaching the settings to the page. 3414 (webKitSettingsSetProperty): Add hooks for the new user agent property. 3415 (webKitSettingsGetProperty): Ditto. 3416 (webkit_settings_class_init): Ditto. 3417 (webkitSettingsAttachSettingsToPage): Ditto. 3418 (webkit_settings_get_user_agent): Added. 3419 (webkit_settings_set_user_agent): Added. 3420 (webkit_settings_set_user_agent_with_application_name): Added. 3421 * UIProcess/API/gtk/WebKitSettings.h: Added new methods. 3422 * UIProcess/API/gtk/WebKitWebView.cpp: Update the glue for the settings 3423 when attaching and detaching from WebViews. 3424 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to 3425 the documentation. 3426 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Test the new user agent 3427 property. 3428 (testWebKitSettingsUserAgent): Ditto. 3429 (beforeAll): Ditto. 3430 * UIProcess/gtk/WebPageProxyGtk.cpp: 3431 (WebKit::WebPageProxy::standardUserAgent): Now use the shared WebCore 3432 code when setting the user agent. 3433 34342012-09-18 Ryuan Choi <ryuan.choi@samsung.com> 3435 3436 [EFL][WK2] Implement PageClientImpl::isViewFocused. 3437 https://bugs.webkit.org/show_bug.cgi?id=97015 3438 3439 Reviewed by Gyuyoung Kim. 3440 3441 WebKit2/Efl always returns true for PageClientImpl::isViewFocused. 3442 So window.onblur events will not be generated when webview lost focus. 3443 3444 This patch implements isViewFocused to return the current focus of webview. 3445 3446 * UIProcess/API/efl/PageClientImpl.cpp: 3447 (WebKit::PageClientImpl::isViewFocused): 3448 34492012-09-18 Byungwoo Lee <bw80.lee@samsung.com> 3450 3451 Title string should be changed when document.title is set to ''. 3452 https://bugs.webkit.org/show_bug.cgi?id=96793 3453 3454 Reviewed by Kenneth Rohde Christiansen. 3455 3456 Added unit test for setting document.title and checking the title 3457 string with title,changed signal and ewk_view_title_get() function. 3458 3459 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 3460 (TEST_F): 3461 34622012-09-18 Anders Carlsson <andersca@apple.com> 3463 3464 Division by zero crash in BackingStore::scroll 3465 https://bugs.webkit.org/show_bug.cgi?id=97046 3466 <rdar://problem/11722564> 3467 3468 Reviewed by Dan Bernstein. 3469 3470 It appears that DrawingAreaImpl::scroll can be called with an empty scroll rect. Do nothing 3471 if that's the case. Also, assert that the scrolling rect in BackingStoreMac is never empty. 3472 3473 * UIProcess/mac/BackingStoreMac.mm: 3474 (WebKit::BackingStore::scroll): 3475 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3476 (WebKit::DrawingAreaImpl::scroll): 3477 34782012-09-18 Bo Liu <boliu@chromium.org> 3479 3480 Revert 128780, 128676, 128645 3481 https://bugs.webkit.org/show_bug.cgi?id=97022 3482 3483 Reviewed by Adam Barth. 3484 3485 I made these revisions to add in-place reload behavior to ImagesEnabled setting. 3486 Reverting this for now due to them causing performance regression in 3487 chromium, possibly caused by increased calls to 3488 PermissionClient::imageAllowed. 3489 3490 * win/WebKit2.def: 3491 34922012-09-18 Martin Robinson <mrobinson@igalia.com> 3493 3494 [GTK] [WebKit2] Use XComposite window for accelerated compositing 3495 https://bugs.webkit.org/show_bug.cgi?id=94417 3496 3497 Reviewed by Carlos Garcia Campos. 3498 3499 Instead of rendering directly to the widget's native window, render to an 3500 offscreen window redirected to a Pixmap with XComposite. 3501 3502 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3503 (_WebKitWebViewBasePrivate): Added a few members necessary to track the 3504 offscreen window. 3505 (webkit_web_view_base_init): 3506 (renderAcceleratedCompositingResults): Added this helper functions which renders 3507 the results of the accelerated compositing operations during the GTK+ draw loop. 3508 (webkitWebViewBaseDraw): Call renderAcceleratedCompositingResults when appropriate. 3509 (resizeWebKitWebViewBaseFromAllocation): Resize the offscreen window when appropriate. 3510 (webkitWebViewBaseSizeAllocate): Do not call resizeWebKitWebViewBaseFromAllocation when 3511 the actual size of the widget does not change. This prevents destroying and recreating 3512 the offscreen window pixmap when it isn't necessary. 3513 (webkitWebViewBaseMap): We no longer send the window id during map, instead it's sent 3514 as soon as there is WebPageProxy. 3515 (webkitWebViewBaseCreateWebPage): Send the window id of the redirected window to 3516 the WebProcess. 3517 (queueAnotherDrawOfAcceleratedCompositingResults): Added this helper which works 3518 around the issue of slow updates of the pixmap backing the redirected XComposite window. 3519 (webkitWebViewBaseQueueDrawOfAcceleratedCompositingResults): Added this method which 3520 is what the WebProcess uses to force a redraw on the UIProcess side. 3521 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added new method to the list of private methods. 3522 * UIProcess/DrawingAreaProxyImpl.h: 3523 (DrawingAreaProxyImpl): 3524 (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): Exposed this method publically 3525 so that it can be used from WebKitWebViewBase. 3526 * UIProcess/WebPageProxy.h: 3527 (WebPageProxy): Renamed widgetMapped to setAcceleratedCompositingWindowId. 3528 * UIProcess/WebPageProxy.messages.in: Ditto. 3529 * UIProcess/gtk/WebPageProxyGtk.cpp: Ditto. 3530 (WebKit::WebPageProxy::setAcceleratedCompositingWindowId): 3531 * WebProcess/WebPage/WebPage.h: 3532 (WebPage): Ditto. 3533 * WebProcess/WebPage/WebPage.messages.in: Ditto. 3534 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 3535 (WebKit::LayerTreeHostGtk::sizeDidChange): Force a composite to the resized window right 3536 away so that the new window pixmap is updated before the first draw. 3537 (WebKit::LayerTreeHostGtk::compositeLayersToContext): If the composition is for a resize, 3538 first clear the entire GL context so that we don't see black artifacts during resize. 3539 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 3540 (LayerTreeHostGtk): Update the signature of compositeLayersToContext. 3541 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 3542 (WebKit::WebPage::setAcceleratedCompositingWindowId): Added. 3543 35442012-09-18 Sheriff Bot <webkit.review.bot@gmail.com> 3545 3546 Unreviewed, rolling out r128849. 3547 http://trac.webkit.org/changeset/128849 3548 https://bugs.webkit.org/show_bug.cgi?id=97007 3549 3550 Causes test_ewk2_view to time out. (Requested by rakuco on 3551 #webkit). 3552 3553 * UIProcess/API/efl/ewk_view.cpp: 3554 (ewk_view_webprocess_crashed): 3555 * UIProcess/API/efl/ewk_view.h: 3556 * UIProcess/API/efl/ewk_view_private.h: 3557 * UIProcess/API/efl/ewk_view_ui_client.cpp: 3558 (ewk_view_ui_client_attach): 3559 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 3560 (TEST_F): 3561 35622012-09-18 Carlos Garcia Campos <cgarcia@igalia.com> 3563 3564 [GTK] Set the area of tooltips in WebKit2 3565 https://bugs.webkit.org/show_bug.cgi?id=96618 3566 3567 Reviewed by Martin Robinson. 3568 3569 In GTK+ tooltips are associated to a widget, if the mouse is moved 3570 inside the widget area, the tooltip position doesn't change even 3571 if the tooltip text changes. To support multiple tooltips for the 3572 same widget, we need to set the area of the widget for every 3573 tooltip. 3574 3575 * Shared/WebHitTestResult.cpp: 3576 (WebKit::WebHitTestResult::Data::encode): Encode elementBoundingBox. 3577 (WebKit::WebHitTestResult::Data::decode): Decode elementBoundingBox. 3578 * Shared/WebHitTestResult.h: 3579 (Data): Add elementBoundingBox to WebHitTestResult::Data. 3580 (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): 3581 Get the bounding box of the inner non shared node of the hit test 3582 result in window coordinates. 3583 (WebKit::WebHitTestResult::Data::Data): 3584 (WebKit::WebHitTestResult::elementBoundingBox): 3585 (WebHitTestResult): 3586 * UIProcess/API/gtk/WebKitWebView.cpp: 3587 (webkitWebViewMouseTargetChanged): Call webkitWebViewBaseSetTooltipArea. 3588 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3589 (webkitWebViewBaseQueryTooltip): Use the tooltipArea if it's not empty. 3590 (webkitWebViewBaseSetTooltipArea): Set the tooltipArea. 3591 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 3592 35932012-09-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3594 3595 [Qt] Fix build without the QtQuick module 3596 3597 Reviewed by Simon Hausmann. 3598 3599 * Target.pri: 3600 36012012-09-17 Eunmi Lee <eunmi15.lee@samsung.com> 3602 3603 [EFL][WK2] Add NativeWebTouchEvent and handle the Touch event. 3604 https://bugs.webkit.org/show_bug.cgi?id=90662 3605 3606 Reviewed by Gyuyoung Kim. 3607 3608 Implement codes to handle touch event for WebKit2 EFL port. 3609 Additionally, types and structure for touch event are defined because 3610 they are not in the Evas. 3611 3612 * PlatformEfl.cmake: 3613 * Shared/NativeWebTouchEvent.h: 3614 (NativeWebTouchEvent): 3615 * Shared/efl/NativeWebTouchEventEfl.cpp: Added. 3616 (WebKit): 3617 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 3618 * Shared/efl/WebEventFactory.cpp: 3619 (WebKit): 3620 (WebKit::typeForTouchEvent): 3621 (WebKit::WebEventFactory::createWebTouchEvent): 3622 * Shared/efl/WebEventFactory.h: 3623 (WebEventFactory): 3624 * UIProcess/API/efl/ewk_touch.h: Added. 3625 36262012-09-17 Csaba Osztrogonác <ossy@webkit.org> 3627 3628 Unreviewed, rolling out r128826 and r128813. 3629 3630 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 3631 (WebKit): 3632 (WebKit::JSNPObject::JSNPObject): 3633 * WebProcess/Plugins/Netscape/JSNPObject.h: 3634 (JSNPObject): 3635 36362012-09-17 Kent Tamura <tkent@chromium.org> 3637 3638 Export RuntimeEnabledFeatures::isLangAttributeAwareFormControlUIEnabled correctly 3639 https://bugs.webkit.org/show_bug.cgi?id=96855 3640 3641 Reviewed by Hajime Morita. 3642 3643 * win/WebKit2.def: Remove a symbol 3644 * win/WebKit2CFLite.def: ditto. 3645 36462012-09-17 Byungwoo Lee <bw80.lee@samsung.com> 3647 3648 [EFL][WK2] Add javascript popup API. 3649 https://bugs.webkit.org/show_bug.cgi?id=95672 3650 3651 Reviewed by Gyuyoung Kim. 3652 3653 Add smart class member function for javascript alert(), confirm() and prompt(). 3654 3655 * UIProcess/API/efl/ewk_view.cpp: 3656 (ewk_view_run_javascript_alert): 3657 (ewk_view_run_javascript_confirm): 3658 (ewk_view_run_javascript_prompt): 3659 * UIProcess/API/efl/ewk_view.h: 3660 * UIProcess/API/efl/ewk_view_private.h: 3661 * UIProcess/API/efl/ewk_view_ui_client.cpp: 3662 (runJavaScriptAlert): 3663 (runJavaScriptConfirm): 3664 (runJavaScriptPrompt): 3665 (ewk_view_ui_client_attach): 3666 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 3667 Added unit test for javascript popup smart class member function. 3668 (checkAlert): 3669 (TEST_F): 3670 (checkConfirm): 3671 (checkPrompt): 3672 36732012-09-17 Regina Chung <heejin.r.chung@samsung.com> 3674 3675 [EFL][WK2] Regression (r128163) 3676 https://bugs.webkit.org/show_bug.cgi?id=96610 3677 3678 Reviewed by Gyuyoung Kim. 3679 3680 While removing compile warnings r128163 changed the logic of code for entering 3681 accelerated compositing mode, resulting in never being able to enter it. 3682 Changed back to the correct code and fixed the compile warning by using an 3683 appropriate EINA macro. 3684 3685 * UIProcess/API/efl/ewk_view.cpp: 3686 (ewk_view_accelerated_compositing_mode_enter): Changed EINA_SAFETY_ON_NULL_RETURN_VAL to *if* condition statement. 3687 36882012-09-17 Sam Weinig <sam@webkit.org> 3689 3690 Fix the Snow Leopard build. 3691 3692 * PluginProcess/mac/PluginProcessMac.mm: 3693 (WebKit::PluginProcess::platformInitialize): 3694 36952012-09-17 Sam Weinig <sam@webkit.org> 3696 3697 Add experimental code to enter a sandbox for a plug-in. 3698 Based on a patch by Ivan Krstić. 3699 <rdar://problem/11823151> 3700 3701 Reviewed by Anders Carlsson. 3702 3703 Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that 3704 has the plug-ins bundle identifier for a name. 3705 3706 * PluginProcess/mac/PluginProcessMac.mm: 3707 (WebKit::initializeSandbox): 3708 (WebKit::PluginProcess::platformInitialize): 3709 Enter the sandbox provided if a profile can be found. 3710 3711 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: 3712 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 3713 (enterSandbox): 3714 Factor out the core sandbox entering logic (so if can be used above) and make sure 3715 that Remote Save Panel is enabled. 3716 37172012-09-17 Mark Hahnenberg <mhahnenberg@apple.com> 3718 3719 Fixing the build after http://trac.webkit.org/changeset/128813 3720 3721 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 3722 (WebKit): 3723 (WebKit::JSNPObject::JSNPObject): 3724 * WebProcess/Plugins/Netscape/JSNPObject.h: 3725 (JSNPObject): 3726 37272012-09-17 Anders Carlsson <andersca@apple.com> 3728 3729 Crash if we fail to allocate memory for the argument encoder buffer. 3730 https://bugs.webkit.org/show_bug.cgi?id=88367 3731 3732 Reviewed by Andreas Kling. 3733 <rdar://problem/11488239> 3734 3735 Since there's no way to recover from malloc returning null here, just crash. 3736 3737 * Platform/CoreIPC/ArgumentEncoder.cpp: 3738 (CoreIPC::ArgumentEncoder::grow): 3739 37402012-09-17 Beth Dakin <bdakin@apple.com> 3741 3742 https://bugs.webkit.org/show_bug.cgi?id=96936 3743 Opt into layers for fixed positioned elements for TiledDrawingArea 3744 3745 Reviewed by Tim Horton. 3746 3747 This code already exists in DrawingAreaImpl, and we need it for 3748 TiledCoreAnimationDrawingArea as well. 3749 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3750 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 3751 37522012-09-17 Anders Carlsson <andersca@apple.com> 3753 3754 Don't load a blocked plug-in if a non-blocked version of the same plug-in exists 3755 https://bugs.webkit.org/show_bug.cgi?id=96933 3756 <rdar://problem/12206720> 3757 3758 Reviewed by Andreas Kling. 3759 3760 If a plug-in with the same bundle identifier already exists and it's blocked, remove it and replace it 3761 with the other version. 3762 3763 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 3764 (WebKit::PluginInfoStore::shouldUsePlugin): 3765 37662012-09-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3767 3768 [Qt] Remove 'using namespace WebCore' from header file 3769 3770 Broke the build on Mac OS X by causing clashes between Fixed from 3771 /usr/include/MacTypes.h and Source/WebCore/platform/Length.h. 3772 3773 Reviewed by Simon Hausmann.. 3774 3775 * UIProcess/PageViewportController.cpp: 3776 * UIProcess/PageViewportController.h: 3777 (PageViewportController): 3778 (WebKit::PageViewportController::contentsLayoutSize): 3779 (WebKit): 3780 * UIProcess/qt/PageViewportControllerClientQt.cpp: 3781 * UIProcess/qt/PageViewportControllerClientQt.h: 3782 (PageViewportControllerClientQt): 3783 37842012-09-15 Vivek Galatage <vivekgalatage@gmail.com> 3785 3786 WinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlockingPolicy 3787 https://bugs.webkit.org/show_bug.cgi?id=96866 3788 3789 Reviewed by Kentaro Hara. 3790 3791 Adding missing symbol defines in the def file to fix the build break 3792 for WinCairo 3793 3794 * win/WebKit2CFLite.def: 3795 37962012-09-15 Jinwoo Song <jinwoo7.song@samsung.com> 3797 3798 [EFL][WK2] Provide implementation for PageClientImpl::processDidCrash() 3799 https://bugs.webkit.org/show_bug.cgi?id=96197 3800 3801 Reviewed by Gyuyoung Kim. 3802 3803 WebKit2 EFL does not have an implementation for PageClientImpl::processDidCrash(). 3804 So when WebProcess has crashed, UI process does nothing and is left alone as it is. 3805 3806 This patch checks if loading was ongoing, if so, set the load progress as 1. 3807 Then send a signal callback "webprocess,crashed" for an application to handle it. 3808 If the application does not handle the crash event, show an Eina Log warning message 3809 with a url at web process exit and load an error page. 3810 3811 * UIProcess/API/efl/PageClientImpl.cpp: 3812 (WebKit::PageClientImpl::processDidCrash): 3813 * UIProcess/API/efl/ewk_private.h: 3814 * UIProcess/API/efl/ewk_view.cpp: 3815 (ewk_view_webprocess_crashed): 3816 * UIProcess/API/efl/ewk_view.h: 3817 * UIProcess/API/efl/ewk_view_private.h: 3818 38192012-09-15 Pierre Rossi <pierre.rossi@gmail.com> 3820 3821 [Qt] QDoc fixes for Qt 5 documentation 3822 https://bugs.webkit.org/show_bug.cgi?id=96796 3823 3824 Reviewed by Simon Hausmann. 3825 3826 Fixup miscellaneous qdoc commands syntax. 3827 3828 * UIProcess/API/qt/qquickwebview.cpp: 3829 * UIProcess/API/qt/qwebloadrequest.cpp: 3830 38312012-09-14 Gyuyoung Kim <gyuyoung.kim@samsung.com> 3832 3833 Add *explicit* keyword to constructors to WebKit2/UIProcess 3834 https://bugs.webkit.org/show_bug.cgi?id=96732 3835 3836 Reviewed by Kentaro Hara. 3837 3838 As a step of *explicit* cleanup for constructors which have only one parameter, 3839 *explicit* is added to WebKit2/UIProcess in order to avoid implicit type conversion. 3840 3841 * UIProcess/Authentication/AuthenticationDecisionListener.h: 3842 (AuthenticationDecisionListener): 3843 * UIProcess/Authentication/WebCredential.h: 3844 (WebCredential): 3845 * UIProcess/Authentication/WebProtectionSpace.h: 3846 (WebProtectionSpace): 3847 * UIProcess/GenericCallback.h: 3848 (WebKit::CallbackBase::CallbackBase): 3849 * UIProcess/InspectorServer/WebSocketServer.h: 3850 * UIProcess/ResponsivenessTimer.h: 3851 (ResponsivenessTimer): 3852 * UIProcess/WebApplicationCacheManagerProxy.h: 3853 (WebApplicationCacheManagerProxy): 3854 * UIProcess/WebBackForwardList.h: 3855 (WebBackForwardList): 3856 * UIProcess/WebContextUserMessageCoders.h: 3857 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder): 3858 * UIProcess/WebFullScreenManagerProxy.h: 3859 (WebFullScreenManagerProxy): 3860 * UIProcess/WebGrammarDetail.h: 3861 (WebGrammarDetail): 3862 * UIProcess/WebInspectorProxy.h: 3863 (WebInspectorProxy): 3864 * UIProcess/WebKeyValueStorageManagerProxy.h: 3865 (WebKeyValueStorageManagerProxy): 3866 * UIProcess/WebMediaCacheManagerProxy.h: 3867 (WebMediaCacheManagerProxy): 3868 * UIProcess/WebNavigationData.h: 3869 (WebNavigationData): 3870 * UIProcess/WebOpenPanelResultListenerProxy.h: 3871 (WebOpenPanelResultListenerProxy): 3872 * UIProcess/WebPopupMenuProxy.h: 3873 (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): 3874 * UIProcess/WebPreferences.h: 3875 (WebPreferences): 3876 38772012-09-14 Beth Dakin <bdakin@apple.com> 3878 3879 https://bugs.webkit.org/show_bug.cgi?id=96846 3880 Tests failing on WK2 bots after giving fixed positioning its own 3881 stacking context 3882 3883 Reviewed by Geoffrey Garen. 3884 3885 Tests are failing because I checked in updated results that expect 3886 fixed positioning to create a stacking context. However, 3887 WebKitTestRunner does not enable ScrollingCoordinator, so the code 3888 that I added to enable stacking contexts for fixedPos is never 3889 actually running. This patch moves that code to a place where it will 3890 run for the testing tools, which matches the patch for WK1. 3891 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3892 (WebKit::DrawingAreaImpl::updatePreferences): 3893 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3894 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 3895 38962012-09-14 Julien Chaffraix <jchaffraix@webkit.org> 3897 3898 Revert r127457 and following fixes due to several hit-testing regressions 3899 https://bugs.webkit.org/show_bug.cgi?id=96830 3900 3901 Reviewed by Antonio Gomes. 3902 3903 This change reverts r127457, r127863 and r128505. 3904 3905 * win/WebKit2.def: 3906 * win/WebKit2CFLite.def: 3907 39082012-09-14 Adam Barth <abarth@webkit.org> 3909 3910 Remove webkitPostMessage 3911 https://bugs.webkit.org/show_bug.cgi?id=96577 3912 3913 Reviewed by Ojan Vafai. 3914 3915 Add ENABLE_LEGACY_VENDOR_PREFIXES flag. 3916 3917 * Configurations/FeatureDefines.xcconfig: 3918 39192012-09-14 Jeffrey Pfau <jpfau@apple.com> 3920 3921 Allow third-party storage blocking setting to change while a page is loaded 3922 https://bugs.webkit.org/show_bug.cgi?id=95790 3923 3924 Reviewed by Brady Eidson. 3925 3926 Inform plugins about changes to the storage blocking policy by way of the private browsing feature. 3927 3928 * PluginProcess/PluginControllerProxy.cpp: 3929 (WebKit::PluginControllerProxy::storageBlockingStateChanged): 3930 (WebKit): 3931 * PluginProcess/PluginControllerProxy.h: 3932 (PluginControllerProxy): 3933 * PluginProcess/PluginControllerProxy.messages.in: Add WK2 message for storageBlockingStateChanged. 3934 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 3935 (WebKit::NetscapePlugin::storageBlockingStateChanged): 3936 (WebKit): 3937 (WebKit::NetscapePlugin::privateBrowsingStateChanged): 3938 (WebKit::NetscapePlugin::updateNPNPrivateMode): Set plugin's private browsing if either private browsing or storage blocking is enabled. 3939 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 3940 (NetscapePlugin): 3941 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 3942 (BuiltInPDFView): 3943 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Treat storageBlockingStateChanged as a no-op. 3944 (WebKit::BuiltInPDFView::storageBlockingStateChanged): 3945 (WebKit): 3946 * WebProcess/Plugins/Plugin.h: Add pure virtual storageBlockingStateChanged method. 3947 (Plugin): 3948 * WebProcess/Plugins/PluginProxy.cpp: 3949 (WebKit::PluginProxy::storageBlockingStateChanged): 3950 (WebKit): 3951 * WebProcess/Plugins/PluginProxy.h: 3952 (PluginProxy): 3953 * WebProcess/Plugins/PluginView.cpp: 3954 (WebKit::PluginView::storageBlockingStateChanged): 3955 (WebKit): 3956 * WebProcess/Plugins/PluginView.h: 3957 (PluginView): 3958 * win/WebKit2.def: 3959 39602012-09-14 Beth Dakin <bdakin@apple.com> 3961 3962 https://bugs.webkit.org/show_bug.cgi?id=96688 3963 Put position:fixed elements in their own layers and allow them to 3964 create a stacking context 3965 -and corresponding- 3966 <rdar://problem/11467961> 3967 3968 Reviewed by Simon Fraser. 3969 3970 Soon we want pages with fixed positioned elements to be able to be 3971 scrolled by the ScrollingCoordinator. As a part of that work, we have 3972 to composite fixed position elements, and we have to allow those 3973 elements to create a stacking context. 3974 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3975 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 3976 39772012-09-14 Bo Liu <boliu@chromium.org> 3978 3979 Add in-place reload behavior to ImagesEnabled setting 3980 https://bugs.webkit.org/show_bug.cgi?id=95478 3981 3982 Reviewed by Adam Barth. 3983 3984 Export WebCore::Settings::setImagesEnabled symbol. 3985 3986 * win/WebKit2.def: 3987 39882012-09-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 3989 3990 [EFL] RefPtr<Evas_Object> unit tests fails 3991 https://bugs.webkit.org/show_bug.cgi?id=96809 3992 3993 Reviewed by Kenneth Rohde Christiansen. 3994 3995 Added missing return. 3996 3997 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 3998 (EWK2UnitTest::EWK2UnitTestBase::canvas): 3999 40002012-09-14 Christophe Dumez <christophe.dumez@intel.com> 4001 4002 WebKitTestRunner needs layoutTestController.dumpDatabaseCallbacks 4003 https://bugs.webkit.org/show_bug.cgi?id=57570 4004 4005 Reviewed by Kenneth Rohde Christiansen. 4006 4007 Add new didExceedDatabaseQuota callback to WKBundlePageUIClient 4008 and call it from WebChromeClient::exceededDatabaseQuota(). 4009 This is needed by WebKitTestRunner to dump information about 4010 database callbacks. 4011 4012 * Shared/APIClientTraits.h: 4013 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 4014 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4015 (WebKit::InjectedBundle::setDatabaseQuota): Call WebDatabaseManager::setQuotaForOrigin() 4016 with "file__0" instead of "file:///" as origin identifier. WebDatabaseManager expects 4017 a database identifier, not a string representation of the security origin. "file__0" is 4018 the string that is used as databaseIdentifier of local files. This bug was causing the 4019 database quota not to be set. The test cases would therefore fail due to the quota being 4020 0 instead of the value explicitly set. 4021 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 4022 (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota): 4023 (WebKit): 4024 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 4025 (InjectedBundlePageUIClient): 4026 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4027 (WebKit::WebChromeClient::exceededDatabaseQuota): 4028 40292012-09-14 Christophe Dumez <christophe.dumez@intel.com> 4030 4031 WebKitTestRunner needs layoutTestController.setStopProvisionalFrameLoads 4032 https://bugs.webkit.org/show_bug.cgi?id=42691 4033 4034 Reviewed by Kenneth Rohde Christiansen. 4035 4036 Add WKBundleFrame private API to stop loading of a frame. 4037 This is needed by WebKitTestRunner to implement 4038 testrunner.setStopProvisionalFrameLoads. 4039 4040 Original patch by Alexey Proskuryakov. 4041 4042 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 4043 (WKBundleFrameStopLoading): 4044 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 4045 * WebProcess/WebPage/WebFrame.cpp: 4046 (WebKit::WebFrame::stopLoading): 4047 (WebKit): 4048 * WebProcess/WebPage/WebFrame.h: 4049 (WebFrame): 4050 40512012-09-14 Kenneth Rohde Christiansen <kenneth@webkit.org> 4052 4053 [EFL] Add unit test for RefPtr<Evas_Object> 4054 https://bugs.webkit.org/show_bug.cgi?id=96776 4055 4056 Reviewed by Simon Hausmann. 4057 4058 Basic testing of the new EFL specific RefPtr type. 4059 4060 * PlatformEfl.cmake: 4061 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 4062 (EWK2UnitTest::EWK2UnitTestBase::backingStore): 4063 (EWK2UnitTest::EWK2UnitTestBase::canvas): 4064 4065 Add some new accessors for Ecore_Evas and Evas*. 4066 4067 * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Added. 4068 (TEST_F): 4069 40702012-09-14 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 4071 4072 [Qt] Move .mm file to OBJECTIVE_SOURCES 4073 4074 Reviewed by Simon Hausmann. 4075 4076 * Target.pri: 4077 40782012-09-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 4079 4080 WebKitTestRunner needs layoutTestController.setTabKeyCyclesThroughElements 4081 https://bugs.webkit.org/show_bug.cgi?id=42687 4082 4083 Reviewed by Kenneth Rohde Christiansen. 4084 4085 Implement testRunner.setTabKeyCyclesThroughElements for 4086 WebKitTestRunner. 4087 4088 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4089 (WKBundleSetTabKeyCyclesThroughElements): 4090 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4091 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4092 (WebKit::InjectedBundle::setTabKeyCyclesThroughElements): 4093 (WebKit): 4094 * WebProcess/InjectedBundle/InjectedBundle.h: 4095 (InjectedBundle): 4096 40972012-09-14 Keishi Hattori <keishi@webkit.org> 4098 4099 Add runtime flag that enables lang attribute for form controls in LayoutTests 4100 https://bugs.webkit.org/show_bug.cgi?id=96636 4101 4102 Reviewed by Kent Tamura. 4103 4104 * win/WebKit2.def: 4105 * win/WebKit2CFLite.def: 4106 41072012-09-14 Grzegorz Czajkowski <g.czajkowski@samsung.com> 4108 4109 Add method to get the list of all available dictionaries 4110 https://bugs.webkit.org/show_bug.cgi?id=96518 4111 4112 Reviewed by Carlos Garcia Campos. 4113 4114 * UIProcess/API/gtk/WebKitTextChecker.cpp: 4115 (WebKitTextChecker::getSpellCheckingLanguages): 4116 Update the method name that is called inside getSpellCheckingLanguages. 4117 This replace doesn't affect any on API changes. 4118 41192012-09-13 KwangYong Choi <ky0.choi@samsung.com> 4120 4121 [WK2] Add color picker API support for WebKit2 4122 https://bugs.webkit.org/show_bug.cgi?id=95058 4123 4124 Reviewed by Gyuyoung Kim. 4125 4126 Add support for color picker API to WebKit2. 4127 4128 * CMakeLists.txt: 4129 * GNUmakefile.list.am: 4130 * Shared/API/c/WKBase.h: 4131 * Shared/APIClientTraits.cpp: 4132 (WebKit): 4133 * Shared/APIClientTraits.h: 4134 * Shared/APIObject.h: 4135 * Target.pri: 4136 * UIProcess/API/C/WKAPICast.h: 4137 (WebKit): 4138 * UIProcess/API/C/WKColorPickerResultListener.cpp: Added. 4139 (WKColorPickerResultListenerGetTypeID): 4140 (WKColorPickerResultListenerColorSet): 4141 * UIProcess/API/C/WKColorPickerResultListener.h: Added. 4142 * UIProcess/API/C/WKPage.h: 4143 * UIProcess/API/gtk/WebKitUIClient.cpp: 4144 (attachUIClientToView): 4145 * UIProcess/WebColorChooserProxy.cpp: Added. 4146 (WebKit): 4147 (WebKit::WebColorChooserProxy::WebColorChooserProxy): 4148 (WebKit::WebColorChooserProxy::~WebColorChooserProxy): 4149 (WebKit::WebColorChooserProxy::endChooser): 4150 (WebKit::WebColorChooserProxy::setSelectedColor): 4151 * UIProcess/WebColorChooserProxy.h: 4152 (WebColorChooserProxy): 4153 (WebKit::WebColorChooserProxy::create): 4154 * UIProcess/WebColorPickerResultListenerProxy.cpp: Added. 4155 (WebKit): 4156 (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy): 4157 (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy): 4158 (WebKit::WebColorPickerResultListenerProxy::invalidate): 4159 (WebKit::WebColorPickerResultListenerProxy::setColor): 4160 * UIProcess/WebColorPickerResultListenerProxy.h: Added. 4161 (WebKit): 4162 (WebColorPickerResultListenerProxy): 4163 (WebKit::WebColorPickerResultListenerProxy::create): 4164 (WebKit::WebColorPickerResultListenerProxy::type): 4165 * UIProcess/WebPageProxy.cpp: 4166 (WebKit::WebPageProxy::close): 4167 (WebKit::WebPageProxy::showColorChooser): 4168 (WebKit::WebPageProxy::didEndColorChooser): 4169 (WebKit::WebPageProxy::processDidCrash): 4170 * UIProcess/WebPageProxy.h: 4171 (WebKit): 4172 (WebPageProxy): 4173 * UIProcess/WebUIClient.cpp: 4174 (WebKit): 4175 (WebKit::WebUIClient::showColorPicker): 4176 (WebKit::WebUIClient::hideColorPicker): 4177 * UIProcess/WebUIClient.h: 4178 (WebKit): 4179 (WebUIClient): 4180 * WebKit2.xcodeproj/project.pbxproj: 4181 * win/WebKit2.vcproj: 4182 * win/WebKit2Generated.make: 4183 41842012-09-13 KwangYong Choi <ky0.choi@samsung.com> 4185 4186 [EFL][WK2] Implement missing initializeLogChannel function 4187 https://bugs.webkit.org/show_bug.cgi?id=96478 4188 4189 Reviewed by Gyuyoung Kim. 4190 4191 Implemented log channel initialization function for EFL platform in WebKit2. 4192 4193 * Platform/Logging.cpp: 4194 (WebKit): 4195 * Platform/Logging.h: 4196 (WebKit): 4197 * Platform/efl/LoggingEfl.cpp: Added. 4198 (WebKit): 4199 (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG. 4200 * PlatformEfl.cmake: 4201 42022012-09-13 Mark Rowe <mrowe@apple.com> 4203 4204 <rdar://problem/12283706> WebKit looks for some files on the system even when building against an SDK. 4205 4206 Reviewed by David Kilzer. 4207 4208 If an SDK is being used, pass it through to our custom invocations of the preprocessor. 4209 4210 * DerivedSources.make: 4211 42122012-09-13 Brent Fulgham <bfulgham@webkit.org> 4213 4214 [WinCairo] Unreviewed build fix for export declarations. 4215 4216 New entries were added to the standard Windows export definition 4217 file, but were not added to the WinCairo version, breaking the build. 4218 4219 * win/WebKit2CFLite.def: Incoproate changes from WebKit2.def file. 4220 42212012-09-13 Tim Horton <timothy_horton@apple.com> 4222 4223 Add optional debug logging when we fall into/out of threaded scrolling 4224 https://bugs.webkit.org/show_bug.cgi?id=93898 4225 <rdar://problem/12089098> 4226 4227 Reviewed by Simon Fraser. 4228 4229 Update the scrolling tree's scrollingPerformanceLoggingEnabled preference 4230 before the early-return if we don't have layer debugging borders on. 4231 4232 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 4233 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 4234 42352012-09-13 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 4236 4237 [WK2][WTR] WebKitTestRunner needs testRunner.callShouldCloseOnWebView 4238 https://bugs.webkit.org/show_bug.cgi?id=96366 4239 4240 Reviewed by Anders Carlsson. 4241 4242 Implement testRunner.callShouldCloseOnWebView for WebKitTestRunner 4243 by calling shouldClose() on the FrameLoader. 4244 4245 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 4246 (WKBundleFrameCallShouldCloseOnWebView): 4247 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 4248 42492012-09-13 Thiago Marcos P. Santos <thiago.santos@intel.com> 4250 4251 [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path 4252 https://bugs.webkit.org/show_bug.cgi?id=96649 4253 4254 Reviewed by Kenneth Rohde Christiansen. 4255 4256 Updated the alternative test theme file. It is basically 4257 the default theme with extra padding on the button widget as 4258 specified by the comments on the test case. 4259 4260 * UIProcess/API/efl/tests/resources/big_button_theme.edj: 4261 42622012-09-13 Balazs Kelemen <kbalazs@webkit.org> 4263 4264 [WK2] LayerTreeCoordinator should release unused UpdatedAtlases 4265 https://bugs.webkit.org/show_bug.cgi?id=95072 4266 4267 Reviewed by Jocelyn Turcotte. 4268 4269 Release graphic buffers that haven't been used for a while in order to save memory. 4270 This way we can give back memory to the system when no user interaction happens 4271 after a period of time, for example when we are in the background. 4272 4273 * Shared/ShareableBitmap.h: 4274 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 4275 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator): 4276 (WebKit::LayerTreeCoordinator::beginContentUpdate): 4277 (WebKit): 4278 (WebKit::LayerTreeCoordinator::scheduleReleaseInactiveAtlases): 4279 (WebKit::LayerTreeCoordinator::releaseInactiveAtlasesTimerFired): 4280 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 4281 (LayerTreeCoordinator): 4282 * WebProcess/WebPage/UpdateAtlas.cpp: 4283 (WebKit::UpdateAtlas::UpdateAtlas): 4284 (WebKit::UpdateAtlas::didSwapBuffers): 4285 Don't call buildLayoutIfNeeded here. It's enought to call it in beginPaintingOnAvailableBuffer 4286 and this way we can track whether this atlas is used with m_areaAllocator. 4287 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer): 4288 * WebProcess/WebPage/UpdateAtlas.h: 4289 (WebKit::UpdateAtlas::addTimeInactive): 4290 (WebKit::UpdateAtlas::isInactive): 4291 (WebKit::UpdateAtlas::isInUse): 4292 (UpdateAtlas): 4293 42942012-09-13 Lauro Neto <lauro.neto@openbossa.org> 4295 4296 [Qt][WK2] fast/forms/access-key-for-all-elements.html fails 4297 https://bugs.webkit.org/show_bug.cgi?id=73917 4298 4299 Reviewed by Simon Hausmann. 4300 4301 Access-key tests were failing due to hardcoded Mac OS X in the 4302 Qt WK2 user agent string. This commit moves the WK1 implementation 4303 to a shared one to be used by both versions. 4304 4305 Use the shared implementation instead of hardcoding the user agent. 4306 4307 * UIProcess/qt/WebPageProxyQt.cpp: 4308 (WebKit::WebPageProxy::standardUserAgent): 4309 43102012-09-13 Simon Hausmann <simon.hausmann@nokia.com> 4311 4312 [Qt] Fix build of WTR and the QML2 plugin on Windows 4313 https://bugs.webkit.org/show_bug.cgi?id=96652 4314 4315 Reviewed by Tor Arne Vestbø. 4316 4317 Some components that we build such as WTR or the QML2 plugin include 4318 WebKit2 header files as well as WebKit2's config.h. Only the include 4319 paths of WebKit2 are required for that at the moment (WEBKIT += 4320 webkit2). Only on Windows WebKit2's config.h also includes 4321 WebCore/config.h, which in turn requires to have WebCore/platform in 4322 your include search path. That in turn means that any component that 4323 wants to use WebKit2 headers also needs the WebCore headers, but only 4324 one Windows. It turns out that for the Qt build we don't need it, so 4325 skip it in our configuration and make the include path requirement 4326 the same across all the platforms we build. 4327 4328 * config.h: 4329 43302012-09-13 Andras Becsi <andras.becsi@nokia.com> 4331 4332 [Qt][WK2] REGRESSION(r128245): It made zillion API tests fail 4333 https://bugs.webkit.org/show_bug.cgi?id=96531 4334 4335 Reviewed by Jocelyn Turcotte. 4336 4337 Preferences have to be updated after the drawing area was created 4338 for compositing mode to be set. 4339 4340 * WebProcess/WebPage/WebPage.cpp: 4341 (WebKit::WebPage::WebPage): 4342 43432012-09-13 Simon Hausmann <simon.hausmann@nokia.com> 4344 4345 [Qt] Fix UIProcess build with Qt on Windows 4346 https://bugs.webkit.org/show_bug.cgi?id=96635 4347 4348 Reviewed by Csaba Osztrogonác. 4349 4350 Enabling setShouldCloseConnectionOnProcessTermination on the connection 4351 is something that is only implemented in ConnectionUnix, not 4352 ConnectionWin.cpp, where appears to be built-in functionality. 4353 4354 * UIProcess/WebConnectionToWebProcess.cpp: 4355 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess): 4356 43572012-09-13 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 4358 4359 [Qt] Fix build against namespaced Qt 4360 4361 Reviewed by Tor Arne Vestbø. 4362 4363 * UIProcess/qt/PageViewportControllerClientQt.h: 4364 43652012-09-13 Michał Pakuła vel Rutka <m.pakula@samsung.com> 4366 4367 [EFL][Qt][WK2] Implement shared undo controller for EFL and Qt port. 4368 https://bugs.webkit.org/show_bug.cgi?id=92504 4369 4370 Reviewed by Kenneth Rohde Christiansen. 4371 4372 EFL port needs an undo controller similiar to one from Qt port. Instead of 4373 duplicating the code existing class was renamed and moved to UIProcess 4374 directory. 4375 4376 * PlatformEfl.cmake: 4377 * Target.pri: 4378 * UIProcess/API/efl/PageClientImpl.cpp: 4379 (WebKit::PageClientImpl::registerEditCommand): 4380 (WebKit::PageClientImpl::clearAllEditCommands): 4381 (WebKit::PageClientImpl::canUndoRedo): 4382 (WebKit::PageClientImpl::executeUndoRedo): 4383 * UIProcess/API/efl/PageClientImpl.h: 4384 (PageClientImpl): 4385 * UIProcess/API/qt/qquickwebview_p_p.h: 4386 (QQuickWebViewPrivate): 4387 * UIProcess/DefaultUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.cpp. 4388 (WebKit): 4389 (WebKit::DefaultUndoController::registerEditCommand): 4390 (WebKit::DefaultUndoController::clearAllEditCommands): 4391 (WebKit::DefaultUndoController::canUndoRedo): 4392 (WebKit::DefaultUndoController::executeUndoRedo): 4393 * UIProcess/DefaultUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoController.h. 4394 (WebKit): 4395 (DefaultUndoController): 4396 * UIProcess/qt/QtPageClient.cpp: 4397 (WebKit::QtPageClient::initialize): 4398 * UIProcess/qt/QtPageClient.h: 4399 (WebKit): 4400 (QtPageClient): 4401 44022012-09-13 Christophe Dumez <christophe.dumez@intel.com> 4403 4404 [EFL][WK2] Make _ref() functions return the object 4405 https://bugs.webkit.org/show_bug.cgi?id=96604 4406 4407 Reviewed by Gyuyoung Kim. 4408 4409 Make _ref() functions return the ref'd object to 4410 make them more convenient to use. Also fix their 4411 usage to make use of the newly returned value. 4412 4413 This change is consistent with eina_stringshare_ref() 4414 in EFL and g_object_ref() in glib. 4415 4416 * UIProcess/API/efl/ewk_back_forward_list.cpp: 4417 (createEinaList): 4418 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: 4419 (ewk_back_forward_list_item_ref): 4420 * UIProcess/API/efl/ewk_back_forward_list_item.h: 4421 * UIProcess/API/efl/ewk_context.cpp: 4422 (ewk_context_download_job_add): 4423 * UIProcess/API/efl/ewk_download_job.cpp: 4424 (ewk_download_job_ref): 4425 (ewk_download_job_response_set): 4426 * UIProcess/API/efl/ewk_download_job.h: 4427 * UIProcess/API/efl/ewk_form_submission_request.cpp: 4428 (ewk_form_submission_request_ref): 4429 * UIProcess/API/efl/ewk_form_submission_request.h: 4430 * UIProcess/API/efl/ewk_intent.cpp: 4431 (ewk_intent_ref): 4432 * UIProcess/API/efl/ewk_intent.h: 4433 * UIProcess/API/efl/ewk_intent_service.cpp: 4434 (ewk_intent_service_ref): 4435 * UIProcess/API/efl/ewk_intent_service.h: 4436 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 4437 (ewk_navigation_policy_decision_ref): 4438 * UIProcess/API/efl/ewk_navigation_policy_decision.h: 4439 * UIProcess/API/efl/ewk_url_request.cpp: 4440 (ewk_url_request_ref): 4441 * UIProcess/API/efl/ewk_url_request.h: 4442 * UIProcess/API/efl/ewk_url_response.cpp: 4443 (ewk_url_response_ref): 4444 * UIProcess/API/efl/ewk_url_response.h: 4445 * UIProcess/API/efl/ewk_url_scheme_request.cpp: 4446 (ewk_url_scheme_request_ref): 4447 * UIProcess/API/efl/ewk_url_scheme_request.h: 4448 * UIProcess/API/efl/ewk_view.cpp: 4449 (ewk_view_resource_load_initiated): 4450 * UIProcess/API/efl/ewk_web_resource.cpp: 4451 (ewk_web_resource_ref): 4452 * UIProcess/API/efl/ewk_web_resource.h: 4453 44542012-09-12 Sheriff Bot <webkit.review.bot@gmail.com> 4455 4456 Unreviewed, rolling out r127876. 4457 http://trac.webkit.org/changeset/127876 4458 https://bugs.webkit.org/show_bug.cgi?id=96600 4459 4460 mouse click doesn't work for spin button if spin button in 4461 iframe (Requested by yosin on #webkit). 4462 4463 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: 4464 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): 4465 * WebProcess/WebPage/WebPage.cpp: 4466 (WebKit::handleContextMenuEvent): 4467 (WebKit::WebPage::highlightPotentialActivation): 4468 (WebKit::WebPage::findZoomableAreaForPoint): 4469 * WebProcess/WebPage/mac/WebPageMac.mm: 4470 (WebKit::WebPage::characterIndexForPoint): 4471 (WebKit::WebPage::performDictionaryLookupAtLocation): 4472 (WebKit::WebPage::shouldDelayWindowOrderingEvent): 4473 (WebKit::WebPage::acceptsFirstMouse): 4474 * win/WebKit2.def: 4475 * win/WebKit2CFLite.def: 4476 44772012-09-12 Brady Eidson <beidson@apple.com> 4478 4479 Assert in NetscapePlugin::destroy() with async plugin init 4480 <rdar://problem/12277595> and https://bugs.webkit.org/show_bug.cgi?id=96576 4481 4482 Reviewed by Anders Carlsson. 4483 4484 Most of the NPN_* API calls have a plug-in protector during the calls. 4485 NPN_Invoke and NPN_InvokeDefault do not. 4486 4487 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 4488 (WebKit::NPN_Invoke): Protect the plug-in during this call. 4489 (WebKit::NPN_InvokeDefault): Ditto. 4490 44912012-09-11 Alexey Proskuryakov <ap@apple.com> 4492 4493 <rdar://problem/12275537> REGRESSION(r127384): Non-existent directories are no longer created for sandbox paths 4494 https://bugs.webkit.org/show_bug.cgi?id=96442 4495 4496 Reviewed by Darin Adler. 4497 4498 * Shared/SandboxExtension.h: 4499 (WebKit::SandboxExtension::createHandleForReadWriteDirectory): 4500 * Shared/mac/SandboxExtensionMac.mm: 4501 (WebKit::SandboxExtension::createHandleForReadWriteDirectory): 4502 Added a function for read-write configuration directories. It matches 4503 appendReadwriteSandboxDirectory() function behavior from WebProcessMac.mm. 4504 4505 * UIProcess/WebContext.cpp: 4506 (WebKit::WebContext::createNewWebProcess): 4507 * UIProcess/mac/WebContextMac.mm: 4508 (WebKit::WebContext::platformInitializeWebProcess): 4509 Use the new function for directories that need to be created if they don't exist. 4510 45112012-09-12 Christophe Dumez <christophe.dumez@intel.com> 4512 4513 [WK2][WKTR] TestRunner needs to implement originsWithApplicationCache 4514 https://bugs.webkit.org/show_bug.cgi?id=96496 4515 4516 Reviewed by Kenneth Rohde Christiansen. 4517 4518 Add Bundle C API to retrieve security origins with 4519 an application cache. This is needed by WebKitTestRunner 4520 to support originsWithApplicationCache. 4521 4522 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4523 (WKBundleCopyOriginsWithApplicationCache): 4524 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4525 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4526 (WebKit::InjectedBundle::originsWithApplicationCache): 4527 (WebKit): 4528 * WebProcess/InjectedBundle/InjectedBundle.h: 4529 (InjectedBundle): 4530 45312012-09-12 Christophe Dumez <christophe.dumez@intel.com> 4532 4533 [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks 4534 https://bugs.webkit.org/show_bug.cgi?id=96374 4535 4536 Reviewed by Kenneth Rohde Christiansen. 4537 4538 Add Bundle C API to reset the application cache quota 4539 for a given origin. 4540 4541 Add new reachedApplicationCacheOriginQuota callback 4542 to WKBundlePageUIClient which is called from 4543 WebChromeClient::reachedApplicationCacheOriginQuota(). 4544 4545 Those are needed by WebKitTestRunner to dump 4546 information about the application cache callbacks 4547 if instructed to. 4548 4549 * Shared/APIClientTraits.cpp: 4550 (WebKit): 4551 * Shared/APIClientTraits.h: 4552 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4553 (WKBundleSetApplicationCacheOriginQuota): 4554 (WKBundleResetApplicationCacheOriginQuota): 4555 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 4556 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4557 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4558 (WebKit::InjectedBundle::resetApplicationCacheOriginQuota): 4559 (WebKit): 4560 * WebProcess/InjectedBundle/InjectedBundle.h: 4561 (InjectedBundle): 4562 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 4563 (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): 4564 (WebKit): 4565 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 4566 (WebKit): 4567 (InjectedBundlePageUIClient): 4568 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4569 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 4570 * win/WebKit2.def: 4571 * win/WebKit2CFLite.def: 4572 45732012-09-12 Sheriff Bot <webkit.review.bot@gmail.com> 4574 4575 Unreviewed, rolling out r128280. 4576 http://trac.webkit.org/changeset/128280 4577 https://bugs.webkit.org/show_bug.cgi?id=96498 4578 4579 it broke compilation on windows debug bot (Requested by loislo 4580 on #webkit). 4581 4582 * Shared/APIClientTraits.cpp: 4583 (WebKit): 4584 * Shared/APIClientTraits.h: 4585 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4586 (WKBundleSetApplicationCacheOriginQuota): 4587 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 4588 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4589 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4590 * WebProcess/InjectedBundle/InjectedBundle.h: 4591 (InjectedBundle): 4592 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 4593 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 4594 (WebKit): 4595 (InjectedBundlePageUIClient): 4596 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4597 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 4598 45992012-09-12 Byungwoo Lee <bw80.lee@samsung.com> 4600 4601 [EFL][WK2] WorkQueue::dispatchAfterDelay() doesn't work properly. 4602 https://bugs.webkit.org/show_bug.cgi?id=91179 4603 4604 Reviewed by Gyuyoung Kim. 4605 4606 When UI Process is crashed and WebProcess's ecore main loop is very 4607 busy or lockup also, watchdocCallback() function in the 4608 ChildProcess.cpp doesn't triggered. And this is because of that 4609 WorkQueue::dispatchAfterDelay() function uses ecore timer for getting 4610 timer event. 4611 4612 For removing the dependency between the dispatchAfterDelay() and ecore 4613 main loop, new timer event mechanism is added to WorkQueue main loop. 4614 4615 * Platform/WorkQueue.h: 4616 (TimerWorkItem): 4617 (WorkQueue::TimerWorkItem::dispatch): 4618 (WorkQueue::TimerWorkItem::expireTime): 4619 (WorkQueue::TimerWorkItem::expired): 4620 (WorkQueue): 4621 * Platform/efl/WorkQueueEfl.cpp: 4622 (WorkQueue::TimerWorkItem::create): 4623 (WorkQueue::TimerWorkItem::TimerWorkItem): 4624 (WorkQueue::performFileDescriptorWork): 4625 (WorkQueue::getCurrentTime): 4626 (WorkQueue::getNextTimeOut): 4627 (WorkQueue::performTimerWork): 4628 (WorkQueue::workQueueThread): 4629 (WorkQueue::dispatchAfterDelay): 4630 46312012-09-12 Christophe Dumez <christophe.dumez@intel.com> 4632 4633 [WK2][WKTR] TestRunner needs to implement dumpApplicationCacheDelegateCallbacks 4634 https://bugs.webkit.org/show_bug.cgi?id=96374 4635 4636 Reviewed by Kenneth Rohde Christiansen. 4637 4638 Add Bundle C API to reset the application cache quota 4639 for a given origin. 4640 4641 Add new reachedApplicationCacheOriginQuota callback 4642 to WKBundlePageUIClient which is called from 4643 WebChromeClient::reachedApplicationCacheOriginQuota(). 4644 4645 Those are needed by WebKitTestRunner to dump 4646 information about the application cache callbacks 4647 if instructed to. 4648 4649 * Shared/APIClientTraits.cpp: 4650 (WebKit): 4651 * Shared/APIClientTraits.h: 4652 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4653 (WKBundleSetApplicationCacheOriginQuota): 4654 (WKBundleResetApplicationCacheOriginQuota): 4655 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 4656 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4657 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4658 (WebKit::InjectedBundle::resetApplicationCacheOriginQuota): 4659 (WebKit): 4660 * WebProcess/InjectedBundle/InjectedBundle.h: 4661 (InjectedBundle): 4662 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 4663 (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): 4664 (WebKit): 4665 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 4666 (WebKit): 4667 (InjectedBundlePageUIClient): 4668 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4669 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 4670 46712012-09-12 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4672 4673 [WK2] [WTR] WebKitTestRunner needs TestRunner.workerThreadCount 4674 https://bugs.webkit.org/show_bug.cgi?id=96388 4675 4676 Reviewed by Kenneth Rohde Christiansen. 4677 4678 Added WKBundleGetWorkerThreadCount() function to Injected Bundle private API. 4679 4680 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4681 (WKBundleGetWorkerThreadCount): 4682 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4683 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4684 (WebKit::InjectedBundle::workerThreadCount): Returns count of worker threads. 4685 (WebKit): 4686 * WebProcess/InjectedBundle/InjectedBundle.h: 4687 (InjectedBundle): 4688 46892012-09-12 Darin Adler <darin@apple.com> 4690 4691 Make NetscapePlugin::m_timers use HashMap<OwnPtr> instead of deleteAllValues 4692 https://bugs.webkit.org/show_bug.cgi?id=96469 4693 4694 Reviewed by Dan Bernstein. 4695 4696 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 4697 (WebKit::NetscapePlugin::scheduleTimer): Call release rather than leakPtr when 4698 entering a timer into the map. 4699 (WebKit::NetscapePlugin::unscheduleTimer): Take an existing timer from the map 4700 with the take function rather than the roundabout code needed before. 4701 (WebKit::NetscapePlugin::destroy): Remove now-unneeded call to deleteAllValues. 4702 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Change the value type for 4703 TimerMap to OwnPtr<Timer> rather than Timer*. 4704 47052012-09-11 Anders Carlsson <andersca@apple.com> 4706 4707 Accelerated compositing should always be forced when using the tiled drawing area 4708 https://bugs.webkit.org/show_bug.cgi?id=96449 4709 4710 Reviewed by Andy Estes. 4711 4712 There's code in WebPage::updatePreferences that will turn off accelerated compositing unless accelerated drawing is enabled. 4713 This should only be done in the non-tiled model, so move the code to DrawingAreaImpl::updatePreferences. 4714 4715 * WebProcess/WebPage/DrawingArea.h: 4716 (WebKit::DrawingArea::updatePreferences): 4717 This now takes a WebPreferencesStore. 4718 4719 * WebProcess/WebPage/DrawingAreaImpl.cpp: 4720 (WebKit::DrawingAreaImpl::updatePreferences): 4721 Move code here from WebPage::updatePreferences. 4722 4723 * WebProcess/WebPage/WebPage.cpp: 4724 (WebKit::WebPage::updatePreferences): 4725 Pass the WebPreferencesStore to DrawingArea::updatePreferences. 4726 4727 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 4728 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 4729 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 4730 Remove call to updatePreferences, it's going to be called by the WebPage object later. 4731 4732 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 4733 This now takes a WebPreferencesStore. 4734 47352012-09-11 Brady Eidson <beidson@apple.com> 4736 4737 Get rid of the PluginProcessShim for 64-bit plug-ins 4738 <rdar://problem/12068560> and https://bugs.webkit.org/show_bug.cgi?id=96415 4739 4740 Reviewed by Anders Carlsson. 4741 4742 * PluginProcess/PluginProcess.h: 4743 (PluginProcess): 4744 4745 * PluginProcess/mac/PluginProcessMac.mm: 4746 (WebKit::getCurrentEventButtonState): 4747 (WebKit): 4748 (WebKit::beginModal): Moved from the shim, to be shared with shimmed processes. 4749 (WebKit::endModal): Ditto. 4750 (WebKit::replacedRunModalForWindow): Only used by Cocoa overrides. 4751 (WebKit::PluginProcess::initializeShim): 4752 (WebKit::PluginProcess::initializeCocoaOverrides): 4753 4754 * PluginProcess/mac/PluginProcessMainMac.mm: 4755 (WebKit::PluginProcessMain): Only call initializeShim for 32-bit processes, always call initializeCocoaOverrides 4756 4757 * PluginProcess/mac/PluginProcessShim.h: 4758 (PluginProcessShimCallbacks): 4759 * PluginProcess/mac/PluginProcessShim.mm: 4760 (WebKit): 4761 (WebKit::shimModalDialog): Call beginModal/endModal from the shim callbacks. 4762 (WebKit::shimAlert): Ditto. 4763 (WebKit::WebKitPluginProcessShimInitialize): Don't do the Cocoa overrides as they are now handled outside the shim. 4764 47652012-09-11 Marcelo Lira <marcelo.lira@openbossa.org> 4766 4767 Restore original value of mock scrollbars enabled in InternalSettings 4768 https://bugs.webkit.org/show_bug.cgi?id=87680 4769 4770 Reviewed by Adam Barth. 4771 4772 Added backup support for mock scrollbars state in 4773 InternalSettings::Backup, and removed support for these 4774 from Qt's DumpRenderTree. 4775 4776 * win/WebKit2.def: 4777 47782012-09-11 Brady Eidson <beidson@apple.com> 4779 4780 We should wait longer before killing the PluginProcess. 4781 <rdar://problem/12067728> and https://bugs.webkit.org/show_bug.cgi?id=96407 4782 4783 Reviewed by Anders Carlsson. 4784 4785 Currently we kill the PluginProcess 15 seconds after the last plug-in is destroyed. 4786 This is short enough that most users will have the process killed many times during browsing sessions, 4787 which is painful because relaunching the process is I/O and kernel intensive. 4788 4789 In an ideal world we could keep it around forever until the system tells us resources are running low. 4790 4791 In reality we do want to kill it occasionally to get a clean slate from any plug-in leaks. 4792 4793 A reasonable balance for now is to set a minimum lifetime of 30 minutes on the plug-in process and to 4794 extend the termination timer from 15 seconds to 10 minutes. 4795 4796 * PluginProcess/PluginProcess.cpp: 4797 (WebKit::PluginProcess::PluginProcess): 4798 (WebKit::PluginProcess::initializePluginProcess): 4799 (WebKit::PluginProcess::setMinimumLifetime): 4800 (WebKit): 4801 (WebKit::PluginProcess::minimumLifetimeTimerFired): 4802 * PluginProcess/PluginProcess.h: 4803 (PluginProcess): 4804 4805 * Shared/Plugins/PluginProcessCreationParameters.cpp: 4806 (WebKit::PluginProcessCreationParameters::encode): 4807 (WebKit::PluginProcessCreationParameters::decode): 4808 * Shared/Plugins/PluginProcessCreationParameters.h: 4809 (PluginProcessCreationParameters): 4810 4811 * UIProcess/Plugins/PluginProcessProxy.cpp: 4812 (WebKit): 4813 (WebKit::PluginProcessProxy::didFinishLaunching): 4814 48152012-09-11 Jinwoo Song <jinwoo7.song@samsung.com> 4816 4817 Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places 4818 https://bugs.webkit.org/show_bug.cgi?id=96344 4819 4820 Reviewed by Benjamin Poulain. 4821 4822 Use StringBuilder::appendNumber() instead of String::number(). Also deploy 4823 StringBuilder::appendLiteral() instead of String::append() in the surrounding code. 4824 4825 * Shared/WebMemorySampler.cpp: 4826 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile): 4827 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 4828 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 4829 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 4830 (WebKit::WebInspectorServer::inspectorUrlForPageID): 4831 (WebKit::WebInspectorServer::buildPageList): 4832 48332012-09-11 Anders Carlsson <andersca@apple.com> 4834 4835 Fix speling error in comment. 4836 4837 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 4838 (WebKit::isTransparentSilverlightBackgroundValue): 4839 48402012-09-11 Raphael Kubo da Costa <rakuco@webkit.org> 4841 4842 [EFL] Rewrite the EFL-related Find modules 4843 https://bugs.webkit.org/show_bug.cgi?id=95237 4844 4845 Reviewed by Kenneth Rohde Christiansen. 4846 4847 * CMakeLists.txt: Stop setting the LINK_FLAGS property. 4848 * PlatformEfl.cmake: Add libraries and include directories for 4849 each Enlightenment Foundation Library used by the port. 4850 48512012-09-11 Christophe Dumez <christophe.dumez@intel.com> 4852 4853 [WK2][WKTR] TestRunner needs to implement setApplicationCacheOriginQuota 4854 https://bugs.webkit.org/show_bug.cgi?id=96379 4855 4856 Reviewed by Kenneth Rohde Christiansen. 4857 4858 Add Bundle C API to set the application cache quota for a 4859 given security origin. This is needed by WebKitTestRunner 4860 to implement setApplicationCacheOriginQuota(). 4861 4862 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4863 (WKBundleSetApplicationCacheOriginQuota): 4864 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4865 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4866 (WebKit::InjectedBundle::setApplicationCacheOriginQuota): 4867 (WebKit): 4868 * WebProcess/InjectedBundle/InjectedBundle.h: 4869 (InjectedBundle): 4870 48712012-09-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4872 4873 [WK2][WTR] WebKitTestRunner needs testRunner.setSpatialNavigationEnabled 4874 https://bugs.webkit.org/show_bug.cgi?id=96269 4875 4876 Reviewed by Kenneth Rohde Christiansen. 4877 4878 Added a new setter for spacial navigation enabling to Injected Bundle private API. 4879 4880 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4881 (WKBundleSetSpatialNavigationEnabled): 4882 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4883 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4884 (WebKit::InjectedBundle::setSpatialNavigationEnabled): 4885 (WebKit): 4886 * WebProcess/InjectedBundle/InjectedBundle.h: 4887 (InjectedBundle): 4888 48892012-09-11 Marcelo Lira <marcelo.lira@openbossa.org> 4890 4891 [Qt][WK2] Page loading status API lacks a status for intentionally stopped loading 4892 https://bugs.webkit.org/show_bug.cgi?id=83062 4893 4894 Reviewed by Tor Arne Vestbø. 4895 4896 When the loading of a page is intentionally interrupted, the loading 4897 status is set to the new state LoadStoppedStatus. This reflects 4898 reality more accurately because the page was not fully loaded 4899 (a LoadSucceededStatus), and it wasn't an unexpected error 4900 (a LoadFailedStatus). 4901 4902 * UIProcess/API/qt/qquickwebview.cpp: 4903 (QQuickWebViewPrivate::loadDidStop): 4904 * UIProcess/API/qt/qquickwebview_p.h: 4905 * UIProcess/API/qt/qquickwebview_p_p.h: 4906 (QQuickWebViewPrivate): 4907 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 4908 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 4909 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: 4910 * UIProcess/qt/QtWebPageLoadClient.cpp: 4911 (WebKit::QtWebPageLoadClient::dispatchLoadStopped): 4912 (WebKit): 4913 (WebKit::QtWebPageLoadClient::dispatchLoadFailed): 4914 * UIProcess/qt/QtWebPageLoadClient.h: 4915 (QtWebPageLoadClient): 4916 49172012-09-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 4918 4919 [Qt] Add a configure step to the Qt build system 4920 4921 This allows building the Qt port using just 'qmake WebKit.pro'. Using 4922 the build-webkit script is still supported, and will add slightly more 4923 logic to the build, such as detecting the need for clean or incremental 4924 builds. 4925 4926 Internally, the build system now uses a new variable, WEBKIT_CONFIG, for 4927 all things related to configuring the build, such as use/have/enable flags, 4928 and these are translated to defines in default_post. Project files should 4929 no longer check contains(DEFINES,...) to detect features, but use the new 4930 enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2 4931 options have been translated into WEBKIT_CONFIG options as well, and can 4932 be checked using build?(). 4933 4934 Reviewed by Simon Hausmann. 4935 4936 * Target.pri: 4937 * UIProcess/API/qt/tests/tests.pri: 4938 * WebKit2.pri: 4939 * config.h: 4940 49412012-09-11 Christophe Dumez <christophe.dumez@intel.com> 4942 4943 [WK2][WKTR] TestRunner needs to implement clearApplicationCacheForOrigin 4944 https://bugs.webkit.org/show_bug.cgi?id=96372 4945 4946 Reviewed by Kenneth Rohde Christiansen. 4947 4948 Add Bundle C API to clear the application cache for a 4949 given origin. This is needed by WebKitTestRunner to 4950 implement clearApplicationCacheForOrigin(). 4951 4952 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4953 (WKBundleClearApplicationCacheForOrigin): 4954 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4955 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4956 (WebKit::InjectedBundle::clearApplicationCacheForOrigin): 4957 (WebKit): 4958 * WebProcess/InjectedBundle/InjectedBundle.h: 4959 (InjectedBundle): 4960 49612012-09-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 4962 4963 [WK2][WTR] WebKitTestRunner needs layoutTestController.setMinimumTimerInterval 4964 https://bugs.webkit.org/show_bug.cgi?id=96256 4965 4966 Reviewed by Kenneth Rohde Christiansen. 4967 4968 Added new setter for minimum DOM timer interval to InjectedBundle private API. 4969 4970 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4971 (WKBundleSetMinimumTimerInterval): 4972 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4973 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4974 (WebKit::InjectedBundle::setMinimumTimerInterval): 4975 (WebKit): 4976 * WebProcess/InjectedBundle/InjectedBundle.h: 4977 (InjectedBundle): 4978 49792012-09-11 Kangil Han <kangil.han@samsung.com> 4980 4981 [WK2][EFL] Fix compile warnings when enable tiled backing store 4982 https://bugs.webkit.org/show_bug.cgi?id=95342 4983 4984 Reviewed by Gyuyoung Kim. 4985 4986 Fixed compile time warning messages when enable tiled backing store. 4987 4988 * UIProcess/API/efl/ewk_view.cpp: 4989 (ewk_view_accelerated_compositing_mode_enter): Fixed invalid use of 'EINA_SAFETY_ON_NULL_RETURN_VAL' since it used '!' ahead of evasGl value so it is always null. 4990 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 4991 (WebCore::CoordinatedGraphicsLayer::setChildren): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'. 4992 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 4993 (WebKit::LayerTreeCoordinator::renderNextFrame): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'. 4994 (WebKit::LayerTreeCoordinator::beginContentUpdate): Replaced 'int' i with 'unsigned' because its comparing value is 'size_t'. 4995 49962012-09-11 Byungwoo Lee <bw80.lee@samsung.com> 4997 4998 [EFL][WK2] WKEinaSharedString needs a function to adopt eina stringshare. 4999 https://bugs.webkit.org/show_bug.cgi?id=96201 5000 5001 Reviewed by Kenneth Rohde Christiansen. 5002 5003 WKEinaSharedString needs a to adopt eina stringshare directly. 5004 5005 With this adopt function, an instance that is directly created with 5006 eina_stringshare_add() can be easily handled by WKEinaSharedString 5007 without calling eina_stringshare_del() for preventing memory leak. 5008 5009 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: 5010 (WKEinaSharedString::adopt): 5011 * UIProcess/API/cpp/efl/WKEinaSharedString.h: 5012 * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: 5013 (TEST_F): 5014 50152012-09-11 Andras Becsi <andras.becsi@nokia.com> 5016 5017 [Qt][WK2] Fix the build with recent Qt5 5018 https://bugs.webkit.org/show_bug.cgi?id=96283 5019 5020 Reviewed by Simon Hausmann. 5021 5022 We should not use deprecated Qt API because doing that results 5023 in build failure since all the deprecated API was disabled 5024 in qtbase (https://codereview.qt-project.org/#change,24890). 5025 5026 * UIProcess/API/qt/qwebnavigationhistory.cpp: 5027 (QWebNavigationListModel::roleNames): 5028 (QWebNavigationListModel::reset): 5029 * UIProcess/API/qt/qwebnavigationhistory_p.h: 5030 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 5031 (WebView::load): 5032 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 5033 (PopupMenuItemModel): 5034 (WebKit::PopupMenuItemModel::PopupMenuItemModel): 5035 (WebKit::PopupMenuItemModel::roleNames): 5036 (WebKit): 5037 50382012-09-11 Christophe Dumez <christophe.dumez@intel.com> 5039 5040 WTR needs an implementation of applicationCacheDiskUsageForOrigin 5041 https://bugs.webkit.org/show_bug.cgi?id=87188 5042 5043 Reviewed by Kenneth Rohde Christiansen. 5044 5045 Add Bundle private C API to retrieve the application cache 5046 usage for a specific security origin. This is needed by 5047 WebKitTestRunner. 5048 5049 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 5050 (WKBundleGetAppCacheUsageForOrigin): 5051 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 5052 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5053 (WebKit::InjectedBundle::appCacheUsageForOrigin): 5054 (WebKit): 5055 * WebProcess/InjectedBundle/InjectedBundle.h: 5056 (InjectedBundle): 5057 50582012-09-11 Zhigang Gong <zhigang.gong@linux.intel.com> 5059 5060 [EFL][WK2] Add necessary include directory in WebKit2 5061 https://bugs.webkit.org/show_bug.cgi?id=95173 5062 5063 Unreviewed build fix. 5064 5065 revision r126694: Move TextureMapperGL to use 5066 GraphicsContext3D. modify the TextureMapperGL.h to include 5067 GraphicsContext3D.h. And when enable TEXTURE_MAPPER, 5068 file WebKit2/Shared/ShareableSurface.cpp will include 5069 TextureMapperGL.h then depends on GraphicsContext3D.h 5070 thus it need to add ANGLE director. As currently, this 5071 problem only affect EFL platform, according to Gyuyoung Kim's 5072 suggestion, we add this include dir into EFL private file 5073 PlatformEfl.cmake. Otherwise, the build will fail. 5074 5075 To trigger this problem by using the following command: 5076 ./Tools/Scripts/build-webkit --efl --3d-rendering --tiled-backing-store 5077 5078 * CMakeLists.txt: 5079 50802012-09-10 Byungwoo Lee <bw80.lee@samsung.com> 5081 5082 [EFL][WK2] Build warning : fix warning about extended initializer lists on EWK2UnitTestBase.cpp. 5083 https://bugs.webkit.org/show_bug.cgi?id=95990 5084 5085 Reviewed by Gyuyoung Kim. 5086 5087 Fix build warning about extended initializer lists only available with 5088 -std=c++0x or -std=gnu++0x. 5089 5090 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 5091 (EWK2UnitTest::ewk2UnitTestBrowserViewSmartClass): 5092 (EWK2UnitTest): 5093 (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase): 5094 50952012-09-10 Beth Dakin <bdakin@apple.com> 5096 5097 https://bugs.webkit.org/show_bug.cgi?id=96158 5098 Need API to suppress scrollbar animations 5099 -and corresponding- 5100 <rdar://problem/12210972> 5101 5102 Reviewed by Sam Weinig. 5103 5104 Add suppressScrollbarAnimations as a WebCreationParameter. 5105 * Shared/WebPageCreationParameters.h: 5106 (WebPageCreationParameters): 5107 5108 New API. Calls into the web process for the setter but not the 5109 getter. 5110 * UIProcess/API/C/WKPage.cpp: 5111 (WKPageSetSuppressScrollbarAnimations): 5112 (WKPageAreScrollbarAnimationsSuppressed): 5113 * UIProcess/API/C/WKPage.h: 5114 * UIProcess/WebPageProxy.cpp: 5115 (WebKit::WebPageProxy::WebPageProxy): 5116 (WebKit::WebPageProxy::setSuppressScrollbarAnimations): 5117 (WebKit): 5118 (WebKit::WebPageProxy::creationParameters): 5119 * UIProcess/WebPageProxy.h: 5120 (WebPageProxy): 5121 (WebKit::WebPageProxy::areScrollbarAnimationsSuppressed): 5122 * WebProcess/WebPage/WebPage.messages.in: 5123 5124 Call into WebCore. 5125 * WebProcess/WebPage/WebPage.cpp: 5126 (WebKit::WebPage::setSuppressScrollbarAnimations): 5127 (WebKit): 5128 * WebProcess/WebPage/WebPage.h: 5129 (WebPage): 5130 5131 This ScrollableArea area function is re-named by this patch in 5132 WebCore. 5133 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 5134 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: 5135 (WebKit::BuiltInPDFView::scrollbarsCanBeActive): 5136 51372012-09-10 James Robinson <jamesr@chromium.org> 5138 5139 Unreviewed, rolling out r127837. 5140 http://trac.webkit.org/changeset/127837 5141 https://bugs.webkit.org/show_bug.cgi?id=93898 5142 5143 Broke ScrollingCoordinator on chromium 5144 5145 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 5146 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 5147 51482012-09-10 Jer Noble <jer.noble@apple.com> 5149 5150 Unreviewed; rolling out r128081. 5151 http://trac.webkit.org/changeset/128081 5152 https://bugs.webkit.org/show_bug.cgi?id=96134 5153 5154 New test http/tests/media/video-donottrack.html fails to run on Apple test bots. 5155 5156 * Shared/APIClientTraits.h: 5157 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 5158 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 5159 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 5160 (InjectedBundlePageLoaderClient): 5161 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5162 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 5163 (WebFrameLoaderClient): 5164 * WebProcess/qt/QtBuiltinBundlePage.cpp: 5165 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 5166 51672012-09-07 Jon Lee <jonlee@apple.com> 5168 5169 Update notifications to latest spec 5170 https://bugs.webkit.org/show_bug.cgi?id=91726 5171 <rdar://problem/11910451> 5172 5173 Reviewed by Alexey Proskuryakov. 5174 5175 Expose lang and dir. 5176 5177 * UIProcess/API/C/WKNotification.cpp: 5178 (WKNotificationCopyLang): 5179 (WKNotificationCopyDir): 5180 * UIProcess/API/C/WKNotification.h: 5181 * UIProcess/Notifications/WebNotification.cpp: 5182 (WebKit::WebNotification::WebNotification): 5183 * UIProcess/Notifications/WebNotification.h: 5184 (WebKit::WebNotification::create): 5185 (WebKit::WebNotification::lang): 5186 (WebKit::WebNotification::dir): 5187 (WebNotification): 5188 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 5189 (WebKit::WebNotificationManagerProxy::show): 5190 * UIProcess/Notifications/WebNotificationManagerProxy.h: 5191 (WebNotificationManagerProxy): 5192 * UIProcess/WebPageProxy.cpp: 5193 (WebKit::WebPageProxy::showNotification): 5194 * UIProcess/WebPageProxy.h: 5195 (WebPageProxy): 5196 * UIProcess/WebPageProxy.messages.in: 5197 * WebProcess/Notifications/WebNotificationManager.cpp: 5198 (WebKit::WebNotificationManager::show): 5199 52002012-09-10 Alexey Proskuryakov <ap@apple.com> 5201 5202 Build fix. 5203 5204 * UIProcess/WebContext.h: Added a default value for relatedPage argment - if 5205 you don't have one, null is fine. 5206 52072012-09-10 Alexey Proskuryakov <ap@apple.com> 5208 5209 [WK2] Add an API to open a page in same process 5210 https://bugs.webkit.org/show_bug.cgi?id=96306 5211 5212 Reviewed by Anders Carlsson. 5213 5214 The name "related" inspired by <http://wiki.whatwg.org/wiki/Links_to_Unrelated_Browsing_Contexts>. 5215 5216 * UIProcess/API/mac/WKView.h: Added an API. It's unwieldy, but I blame 5217 WKBrowsingContextGroup, not the related view. 5218 5219 * UIProcess/API/mac/WKViewPrivate.h: Matching SPI for clients that mostly use 5220 C APIs. 5221 5222 * UIProcess/API/mac/WKView.mm: 5223 (-[WKView initWithFrame:processGroup:browsingContextGroup:]): Use new back-end 5224 signature. 5225 (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]): 5226 Get page from WKView, and call back-end. 5227 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Reimplement existing method 5228 by calling new, more powerful one. 5229 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Just one change, 5230 pass relatedPage to the context. 5231 5232 * UIProcess/WebContext.cpp: (WebKit::WebContext::createWebPage): If related page 5233 is not null, use its process. 5234 5235 * UIProcess/WebContext.h: (WebContext): Updated createWebPage signature. 5236 52372012-09-10 Brady Eidson <beidson@apple.com> 5238 5239 Javascript in foreground tabs should not wait synchronously for plug-ins to load 5240 <rdar://problem/12067415> and https://bugs.webkit.org/show_bug.cgi?id=96167 5241 5242 Reviewed by Geoff Garen. 5243 5244 Synchronously waiting for initialization to complete when javascript accesses the plug-in script object severely 5245 reduces the effectiveness of having an asynchronous NPP_New. 5246 5247 Such as with background tabs that have never been viewed, we already have cases where JS calls into the plug-in 5248 element fail because we haven't bothered to initialize the plug-in. 5249 5250 We get a huge win by expanding that to foreground tabs that simply haven't finished initializing their plug-ins. 5251 5252 * WebProcess/Plugins/PluginView.cpp: 5253 (WebKit::PluginView::scriptObject): If initialization is not complete just return 0 - They can get at the script object later. 5254 5255 Remove the notion of "wait for asynchronous initialization" altogether: 5256 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 5257 (NetscapePlugin): 5258 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 5259 (BuiltInPDFView): 5260 * WebProcess/Plugins/Plugin.h: 5261 (Plugin): 5262 * WebProcess/Plugins/PluginProxy.cpp: 5263 * WebProcess/Plugins/PluginProxy.h: 5264 (PluginProxy): 5265 52662012-09-07 Jer Noble <jer.noble@apple.com> 5267 5268 <audio> and <video> should send Do Not Track when appropriate 5269 https://bugs.webkit.org/show_bug.cgi?id=96134 5270 5271 Reviewed by Eric Carlson. 5272 5273 Add support for the shouldSendDoNotTrackHTTPHeader by passing the request 5274 on to the WebFrameLoadDelegate. 5275 5276 * Shared/APIClientTraits.cpp: Increment the interfaceSizes for 5277 WKBundlePageLoaderClient by the value of the new functions. 5278 * Shared/APIClientTraits.h: Ditto. 5279 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add a new API to 5280 WKBundlePageLoaderClient and bump the version number. 5281 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 5282 (WebKit::InjectedBundlePageLoaderClient::shouldSendDoNotTrackHTTPHeader): 5283 Pass the question on to the client. 5284 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 5285 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5286 (WebKit::WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader): 5287 Pass the question on to the bundle. 5288 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 5289 * WebProcess/qt/QtBuiltinBundlePage.cpp: 5290 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 5291 Add an entry for the new function in the Qt loader client. 5292 52932012-09-10 Carlos Garcia Campos <cgarcia@igalia.com> 5294 5295 [SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename() 5296 https://bugs.webkit.org/show_bug.cgi?id=96261 5297 5298 Reviewed by Martin Robinson. 5299 5300 * WebProcess/Downloads/soup/DownloadSoup.cpp: 5301 (WebKit::DownloadClient::didReceiveResponse): 5302 53032012-09-10 Alexander Shalamov <alexander.shalamov@intel.com> 5304 5305 [EFL][WK2] Add fullscreen enter / exit signals to the ewk_view API 5306 https://bugs.webkit.org/show_bug.cgi?id=92362 5307 5308 Reviewed by Gyuyoung Kim. 5309 5310 Handle WebFullScreenManagerProxy::enterFullScreen and exitFullScreen 5311 methods, so that ewk_view could enter and exit fullscreen mode when requested. 5312 Also, two callbacks were added to ewk_view API, so that UI could customise 5313 behavior when fullscreen mode is requested, e.g. show security dialog. 5314 5315 * UIProcess/API/efl/ewk_settings.cpp: 5316 (ewk_settings_fullscreen_enabled_set): 5317 (ewk_settings_fullscreen_enabled_get): 5318 * UIProcess/API/efl/ewk_settings.h: 5319 * UIProcess/API/efl/ewk_view.cpp: 5320 (_ewk_view_initialize): 5321 (ewk_view_full_screen_enter): 5322 (ewk_view_full_screen_exit): 5323 * UIProcess/API/efl/ewk_view.h: 5324 * UIProcess/API/efl/ewk_view_private.h: 5325 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: 5326 (TEST_F): 5327 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 5328 (fullScreenCallback): 5329 (checkFullScreenProperty): 5330 (TEST_F): 5331 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: 5332 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 5333 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 5334 53352012-09-10 Kevin Funk <kevin.funk@kdab.com> 5336 5337 [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled 5338 https://bugs.webkit.org/show_bug.cgi?id=96258 5339 5340 Reviewed by Simon Hausmann. 5341 5342 Sync with latest changes in Qt5. 5343 5344 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 5345 * WebProcess/qt/WebProcessQt.cpp: 5346 53472012-09-10 Carlos Garcia Campos <cgarcia@igalia.com> 5348 5349 [GTK] Sanitize the suggested filename when building the download destination URI 5350 https://bugs.webkit.org/show_bug.cgi?id=96260 5351 5352 Reviewed by Gustavo Noronha Silva. 5353 5354 The suggested filename returned by the server can contain 5355 directory separators so that the filename would be interpreted as 5356 a full path. 5357 5358 * UIProcess/API/gtk/WebKitDownload.cpp: 5359 (webkitDownloadDecideDestination): Convert any directory separator 5360 contained in the suggested filename to an underscore. 5361 53622012-09-10 Simon Hausmann <simon.hausmann@nokia.com> 5363 5364 [Qt] Fix generation of forward headers for generated files in WebCore on Windows 5365 https://bugs.webkit.org/show_bug.cgi?id=96245 5366 5367 Reviewed by Tor Arne Vestbø. 5368 5369 We generate the forwarding header files of generated WebCore sources by using 5370 mkdir to ensure the target directory exists, followed by 5371 echo #include "..." > file.h. On Windows mkdir returns with an error if the 5372 target directory exists. For us that is not an error, so work around it with 5373 (mkdir path 2>nul || echo>nul) 5374 5375 * DerivedSources.pri: 5376 53772012-09-10 Allan Sandfeld Jensen <allan.jensen@nokia.com> 5378 5379 [Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash 5380 https://bugs.webkit.org/show_bug.cgi?id=96243 5381 5382 Reviewed by Kenneth Rohde Christiansen. 5383 5384 Skip the code if QClipboard is not available, and give WebCore a chance to handle the event first. 5385 5386 * WebProcess/WebPage/WebPage.cpp: 5387 (WebKit::handleMouseEvent): 5388 * WebProcess/WebPage/qt/WebPageQt.cpp: 5389 (WebKit::WebPage::handleMouseReleaseEvent): 5390 53912012-09-10 Simon Hausmann <simon.hausmann@nokia.com> 5392 5393 [Qt] WK2 build fixes for MSVC 5394 https://bugs.webkit.org/show_bug.cgi?id=96248 5395 5396 Reviewed by Tor Arne Vestbø. 5397 5398 MSVC is picky when it comes to the use of forward declaration and the use of 5399 such forward declared types in templates. In these instances inline functions were 5400 passed parameters in RefPtrs that were only forward declared, but at compile time 5401 MSVC wants to know what type it is in order to completely instantiate RefPtr (which 5402 needs to call the type destructor for example). Therefore this patch resolves a couple 5403 of forward declarations with direct header file inclusions. 5404 5405 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 5406 * UIProcess/InspectorServer/WebSocketServerClient.h: 5407 * UIProcess/qt/QtPageClient.h: 5408 54092012-09-10 Andras Becsi <andras.becsi@nokia.com> 5410 5411 [Qt][WK2] QWebKitTest should retrieve the viewport state from the PageViewportController 5412 https://bugs.webkit.org/show_bug.cgi?id=96106 5413 5414 Reviewed by Simon Hausmann. 5415 5416 The functions in PageViewportControllerClientQt proxying the 5417 viewport state values can be removed if QWebKitTest uses the 5418 PageViewportController to retrieve these values. 5419 5420 * UIProcess/API/qt/qquickwebview_p_p.h: 5421 (QQuickWebViewPrivate::viewportController): 5422 * UIProcess/API/qt/qwebkittest.cpp: 5423 (QWebKitTest::viewport): 5424 (QWebKitTest::devicePixelRatio): 5425 (QWebKitTest::contentsScale): 5426 * UIProcess/PageViewportController.h: 5427 (WebKit::PageViewportController::currentContentsScale): 5428 * UIProcess/qt/PageViewportControllerClientQt.cpp: 5429 * UIProcess/qt/PageViewportControllerClientQt.h: 5430 (PageViewportControllerClientQt): 5431 54322012-09-10 Simon Hausmann <simon.hausmann@nokia.com> 5433 5434 [WK2] Make WK2 C API headers compile in the Qt build on Windows 5435 https://bugs.webkit.org/show_bug.cgi?id=96246 5436 5437 Reviewed by Kenneth Rohde Christiansen. 5438 5439 WKBase.h and WKAPICast.h include files that are specific to the Safari/Windows 5440 port if WIN32 or _WIN32 is defined. When building WebKit2 on Windows with Qt, we 5441 do not want to include these files, as they define an API that is different to ours 5442 (the view aspect differs). Therefore guard the inclusion with !defined(BUILDING_QT__) 5443 5444 * Shared/API/c/WKBase.h: 5445 * UIProcess/API/C/WKAPICast.h: 5446 54472012-09-10 Kevin Funk <kevin.funk@kdab.com> 5448 5449 Replace calls to QString::fromAscii which is deprecated in Qt5 5450 https://bugs.webkit.org/show_bug.cgi?id=96242 5451 5452 Reviewed by Simon Hausmann. 5453 5454 Replace with QString::fromLatin1 which does the same. 5455 5456 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 5457 54582012-09-10 Christophe Dumez <christophe.dumez@intel.com> 5459 5460 [WK2] New fast/forms/number/number-interactive-validation-required.html fails 5461 https://bugs.webkit.org/show_bug.cgi?id=95936 5462 5463 Reviewed by Kenneth Rohde Christiansen. 5464 5465 Add WKPreference private API for manipulate the interactive form 5466 validation setting. This is now needed by WebKitTestRunner. 5467 5468 * Shared/WebPreferencesStore.h: 5469 (WebKit): 5470 * UIProcess/API/C/WKPreferences.cpp: 5471 (WKPreferencesSetInteractiveFormValidationEnabled): 5472 (WKPreferencesGetInteractiveFormValidationEnabled): 5473 * UIProcess/API/C/WKPreferencesPrivate.h: 5474 * WebProcess/WebPage/WebPage.cpp: 5475 (WebKit::WebPage::updatePreferences): 5476 54772012-09-09 Sam Weinig <sam@webkit.org> 5478 5479 Simplify WebKit2 XPC service backend now that I know it doesn't need to soft link WebKit2.framework 5480 https://bugs.webkit.org/show_bug.cgi?id=96228 5481 5482 Reviewed by Dan Bernstein. 5483 5484 We soft link the non-XPC service WebProcess backend to the WebKit2 framework to 5485 ensure that we can close all the necessary file descriptors at launch, without 5486 fear that we will be closing one we open while initializing WebKit2 or one of its 5487 dependencies. Since we don't need to close file descriptors in the XPC service 5488 backend, we don't need to soft link! While here, also do some cleanup and code 5489 sharing. 5490 5491 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 5492 (WebKit::launchXPCService): 5493 We don't need to send the framework executable path anymore (it was used for the 5494 soft linking), but we do need the client identifier. 5495 5496 * WebKit2.xcodeproj/project.pbxproj: 5497 Add new files. Link the XPC service to WebKit2.framework. 5498 5499 * WebKit2Service/MainMacService.mm: 5500 Now that we don't have to soft link, just make this a stub that calls immediately 5501 into the WebKit2 framework. 5502 5503 * WebProcess/mac/WebProcessInitialization.h: Added. 5504 * WebProcess/mac/WebProcessInitialization.mm: Added. 5505 (WebKit::InitializeWebProcess): 5506 Move initialization that is common between the XPC and non-XPC backends here. 5507 5508 * WebProcess/mac/WebProcessMainMac.mm: 5509 (WebKit::WebProcessMain): 5510 Remove XPC backend related code. Use new shared InitializeWebProcess function. 5511 5512 * WebProcess/mac/WebProcessXPCServiceMain.h: Added. 5513 * WebProcess/mac/WebProcessXPCServiceMain.mm: Added. 5514 (WebKit::WebKit2ServiceEventHandler): 5515 (WebProcessXPCServiceMain): 5516 Move XPC service backend initialization here. 5517 55182012-09-09 Emil A Eklund <eae@chromium.org> 5519 5520 Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect 5521 https://bugs.webkit.org/show_bug.cgi?id=81413 5522 5523 Reviewed by David Hyatt. 5524 5525 Update WebPage to call pixelSnappedBoundingBox. 5526 5527 * WebProcess/WebPage/WebPage.cpp: 5528 (WebKit::WebPage::editorState): 5529 55302012-09-08 Sam Weinig <sam@webkit.org> 5531 5532 Switch to entering the sandbox directly from main(), rather than waiting for the initialization message 5533 https://bugs.webkit.org/show_bug.cgi?id=96194 5534 5535 Reviewed by Dan Bernstein. 5536 5537 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 5538 (WebKit::ProcessLauncher::launchProcess): 5539 Pass a client identifier to WebProcess as a command line argument 5540 so that it can be used to create private temporary and cache directories. 5541 5542 * WebProcess/WebProcess.h: 5543 (WebProcess): 5544 * WebProcess/mac/WebProcessMac.mm: 5545 (WebKit::WebProcess::initializeSandbox): 5546 (WebKit::WebProcess::platformInitializeWebProcess): 5547 Expose the initializeSandbox() function and stop calling it from platformInitializeWebProcess() 5548 since it is now going to be called from WebProcessMain. Also, move changing the current working 5549 directory to sandbox initialization function and replace use of creation parameters with just 5550 the client identifier. 5551 5552 * WebProcess/com.apple.WebProcess.sb.in: 5553 Add some new exceptions that come from entering the sandbox earlier in the AppKit 5554 initialization process. Don't allow access to com.apple.coreservices.appleevents. 5555 5556 * WebProcess/mac/WebProcessMainMac.mm: 5557 (WebKit::WebProcessMainXPC): 5558 (WebKit::WebProcessMain): 5559 Enter the sandbox explicitly, not waiting until the initialization message. Also, 5560 since we now have an extra parameter for the client identifier, make the WebProcess 5561 launches the UIProcess code path work by extracting a client identifier from the 5562 client executable path. 5563 55642012-09-09 Patrick Gansterer <paroga@webkit.org> 5565 5566 Make the String initialization on the function side of String::number() 5567 https://bugs.webkit.org/show_bug.cgi?id=95940 5568 5569 Reviewed by Benjamin Poulain. 5570 5571 * win/WebKit2.def: 5572 * win/WebKit2CFLite.def: 5573 55742012-09-09 Pierre Rossi <pierre.rossi@gmail.com> 5575 5576 [WK2] expose element rect for color input type 5577 https://bugs.webkit.org/show_bug.cgi?id=91664 5578 5579 Reviewed by Simon Hausmann. 5580 5581 In the same way we do for select elements already. This allows placing the picker 5582 in a sensible location. 5583 5584 * UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature. 5585 (WebKit::PageClientImpl::createColorChooserProxy): Ditto. 5586 * UIProcess/API/efl/PageClientImpl.h: Ditto. 5587 (PageClientImpl): 5588 * UIProcess/API/gtk/PageClientImpl.cpp: 5589 (WebKit::PageClientImpl::createColorChooserProxy): Ditto. 5590 * UIProcess/API/gtk/PageClientImpl.h: Ditto. 5591 (PageClientImpl): 5592 * UIProcess/API/mac/PageClientImpl.h: Ditto. 5593 (PageClientImpl): 5594 * UIProcess/API/mac/PageClientImpl.mm: 5595 (WebKit::PageClientImpl::createColorChooserProxy): Ditto. 5596 * UIProcess/API/qt/raw/qrawwebview.cpp: 5597 (QRawWebViewPrivate::createColorChooserProxy): Ditto. 5598 * UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto. 5599 (QRawWebViewPrivate): 5600 * UIProcess/PageClient.h: Ditto. 5601 (PageClient): 5602 * UIProcess/WebPageProxy.cpp: 5603 (WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform. 5604 * UIProcess/WebPageProxy.h: 5605 (WebPageProxy): 5606 * UIProcess/WebPageProxy.messages.in: 5607 * UIProcess/qt/QtPageClient.cpp: 5608 (WebKit::QtPageClient::createColorChooserProxy): 5609 * UIProcess/qt/QtPageClient.h: 5610 (QtPageClient): 5611 * UIProcess/qt/WebColorChooserProxyQt.cpp: 5612 (ColorChooserContextObject): 5613 (WebKit::ColorChooserContextObject::ColorChooserContextObject): 5614 (WebKit::ColorChooserContextObject::elementRect): 5615 (WebKit::ColorChooserContextObject::accept): 5616 (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt): 5617 * UIProcess/qt/WebColorChooserProxyQt.h: 5618 (WebKit::WebColorChooserProxyQt::create): 5619 (WebColorChooserProxyQt): 5620 * UIProcess/win/WebView.cpp: 5621 (WebKit::WebView::createColorChooserProxy): Update the function's signature. 5622 * UIProcess/win/WebView.h: 5623 (WebView): Ditto. 5624 * WebProcess/WebCoreSupport/WebColorChooser.cpp: 5625 (WebKit::WebColorChooser::WebColorChooser): 5626 56272012-09-09 Simon Hausmann <simon.hausmann@nokia.com> 5628 5629 [Qt] Add missing files to the WebKit2 build on Windows 5630 https://bugs.webkit.org/show_bug.cgi?id=96177 5631 5632 Reviewed by Kenneth Rohde Christiansen. 5633 5634 For the build on Windows we can re-use existing functionality from the Safari/Windows 5635 build, such as the IPC implementation. 5636 5637 * Target.pri: 5638 56392012-09-09 Simon Hausmann <simon.hausmann@nokia.com> 5640 5641 [WK2] Fix PLATFORM(WIN) vs. OS(WINDOWS) in various files 5642 https://bugs.webkit.org/show_bug.cgi?id=96178 5643 5644 Reviewed by Kenneth Rohde Christiansen. 5645 5646 PLATFORM(WIN) is used in various places, where it is safe to use OS(WINDOWS) to allow 5647 the re-use of that code path in ports beyond Safari/Windows. 5648 5649 * Platform/CoreIPC/BinarySemaphore.h: 5650 (BinarySemaphore): 5651 * Platform/CoreIPC/Connection.h: 5652 (Connection): 5653 * Platform/SharedMemory.h: 5654 (Handle): 5655 (SharedMemory): 5656 * Platform/WorkQueue.h: 5657 56582012-09-08 Jinwoo Song <jinwoo7.song@samsung.com> 5659 5660 [EFL][WK2] Minibrowser crashes on right mouse click 5661 https://bugs.webkit.org/show_bug.cgi?id=95955 5662 5663 Reviewed by Simon Hausmann. 5664 5665 Make early return if the PageClient does not create a ContextMenuProxy. 5666 5667 * UIProcess/WebPageProxy.cpp: 5668 (WebKit::WebPageProxy::internalShowContextMenu): 5669 56702012-09-08 Simon Hausmann <simon.hausmann@nokia.com> 5671 5672 [Qt] Fix CoreIPC setup between ProcessLauncher and WebProcessMain on Windows 5673 https://bugs.webkit.org/show_bug.cgi?id=96179 5674 5675 Reviewed by Kenneth Rohde Christiansen. 5676 5677 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 5678 (WebKit::ProcessLauncher::launchProcess): Hide Unixy platform specific code 5679 and includes behind appropriate platform #ifdefs and use 5680 CoreIPC::Connection::createServerAndClientIdentifiers to set up the IPC pipes. 5681 We also need to tell Windows about our intent of using the client handle in 5682 the child web process. 5683 * WebProcess/qt/WebProcessMainQt.cpp: 5684 (WebKit::WebProcessMainQt): After retrieving the IPC identifier we call 5685 WebKit::WebProcess::shared().initialize with it. That function actually 5686 cares a CIPC::Connection::Identifier as argument, which happens to be an 5687 int on Unix, but it's actually a HANDLE on Windows. Change the parameter 5688 type according to and a reinterpret_cast from the converted unsigned integer, 5689 similar to WebProcessMainWin.cpp. 5690 56912012-09-08 Christophe Dumez <christophe.dumez@intel.com> 5692 5693 [WK2] New fast/events/tab-focus-link-in-canvas fails from r126908 5694 https://bugs.webkit.org/show_bug.cgi?id=95329 5695 5696 Reviewed by Kenneth Rohde Christiansen. 5697 5698 Add implementation for overriding the WebKitTabToLinksPreferenceKey 5699 preference as well as the corresponding WKPreferences API that 5700 is needed by WebKitTestRunner. 5701 5702 * Shared/WebPreferencesStore.h: 5703 (WebKit): 5704 * UIProcess/API/C/WKPreferences.cpp: 5705 (WKPreferencesSetTabToLinksEnabled): 5706 (WKPreferencesGetTabToLinksEnabled): 5707 * UIProcess/API/C/WKPreferencesPrivate.h: 5708 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5709 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 5710 * WebProcess/WebPage/WebPage.h: 5711 (WebKit::WebPage::setTabToLinksEnabled): 5712 (WebKit::WebPage::tabToLinksEnabled): 5713 57142012-09-07 Benjamin Poulain <bpoulain@apple.com> 5715 5716 Rename the ustring() accessor to string() 5717 https://bugs.webkit.org/show_bug.cgi?id=95919 5718 5719 Reviewed by Geoffrey Garen. 5720 5721 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 5722 (WebKit::NPJSObject::enumerate): 5723 57242012-09-06 Jeffrey Pfau <jpfau@apple.com> 5725 5726 Extend third-party storage blocking API to optionally allow blocking all storage 5727 https://bugs.webkit.org/show_bug.cgi?id=95915 5728 5729 Reviewed by Brady Eidson. 5730 5731 Update WK2 API to use revised Settings API. 5732 5733 * Shared/WebPreferencesStore.h: 5734 (WebKit): 5735 * UIProcess/API/C/WKAPICast.h: 5736 (WebKit::toStorageBlockingPolicy): 5737 (WebKit): 5738 (WebKit::toAPI): 5739 * UIProcess/API/C/WKPreferences.cpp: 5740 (WKPreferencesSetStorageBlockingPolicy): 5741 (WKPreferencesGetStorageBlockingPolicy): 5742 * UIProcess/API/C/WKPreferences.h: 5743 * WebProcess/WebPage/WebPage.cpp: 5744 (WebKit::WebPage::updatePreferences): 5745 57462012-09-07 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 5747 5748 [EFL] [WK2] Set theme for the inspector view 5749 https://bugs.webkit.org/show_bug.cgi?id=96108 5750 5751 Reviewed by Kenneth Rohde Christiansen. 5752 5753 Set the theme for the inspector view when it is created. 5754 5755 * UIProcess/efl/WebInspectorProxyEfl.cpp: 5756 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 5757 57582012-09-07 Christophe Dumez <christophe.dumez@intel.com> 5759 5760 [EFL] Use same default minimum logical font size in DRT and WTR 5761 https://bugs.webkit.org/show_bug.cgi?id=96116 5762 5763 Reviewed by Martin Robinson. 5764 5765 Add private bundle C API to set the minimum logicial font 5766 size setting. This is needed by WebKitTestRunner. 5767 5768 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 5769 (WKBundleSetMinimumLogicalFontSize): 5770 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 5771 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5772 (WebKit::InjectedBundle::setMinimumLogicalFontSize): 5773 (WebKit): 5774 * WebProcess/InjectedBundle/InjectedBundle.h: 5775 (InjectedBundle): 5776 57772012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> 5778 5779 Simplify hitTestResultAtPoint and nodesFromRect APIs 5780 https://bugs.webkit.org/show_bug.cgi?id=95720 5781 5782 Reviewed by Antonio Gomes. 5783 5784 Update calls to new API and update exported symbols. 5785 5786 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: 5787 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): 5788 * WebProcess/WebPage/WebPage.cpp: 5789 (WebKit::handleContextMenuEvent): 5790 (WebKit::WebPage::highlightPotentialActivation): Corrects the misplaced arguments while converting them. 5791 (WebKit::WebPage::findZoomableAreaForPoint): 5792 * WebProcess/WebPage/mac/WebPageMac.mm: 5793 (WebKit::WebPage::characterIndexForPoint): 5794 (WebKit::WebPage::performDictionaryLookupAtLocation): 5795 (WebKit::WebPage::shouldDelayWindowOrderingEvent): 5796 (WebKit::WebPage::acceptsFirstMouse): 5797 * win/WebKit2.def: 5798 * win/WebKit2CFLite.def: 5799 58002012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> 5801 5802 X11 Global Selection 5803 https://bugs.webkit.org/show_bug.cgi?id=88238 5804 5805 Reviewed by Tony Chang. 5806 5807 Implements the hooks for supporting global selections in Qt WebKit2. 5808 5809 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 5810 (WebKit::WebEditorClient::respondToChangedSelection): 5811 (WebKit::WebEditorClient::updateGlobalSelection): 5812 (WebKit::WebEditorClient::supportsGlobalSelection): 5813 * WebProcess/WebCoreSupport/WebEditorClient.h: 5814 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 5815 (WebKit::WebEditorClient::updateGlobalSelection): 5816 * WebProcess/WebPage/WebPage.cpp: 5817 (WebKit::handleMouseEvent): 5818 * WebProcess/WebPage/WebPage.h: 5819 (WebPage): 5820 * WebProcess/WebPage/qt/WebPageQt.cpp: 5821 (WebKit::WebPage::handleMouseReleaseEvent): 5822 58232012-09-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 5824 5825 [WK2] APIClientTraits<WKPageLoaderClient> and APIClientTraits<WKBundlePageLoaderClient> are not initialized properly 5826 https://bugs.webkit.org/show_bug.cgi?id=96079 5827 5828 Reviewed by Kenneth Rohde Christiansen. 5829 5830 APIClientTraits<WKPageLoaderClient> was missing offset for version number 2 and 5831 APIClientTraits<WKBundlePageLoaderClient> was missing offset for version number 3. 5832 5833 * Shared/APIClientTraits.cpp: 5834 (WebKit): 5835 58362012-09-07 Eunmi Lee <eunmi15.lee@samsung.com> 5837 5838 [EFL][WK2] Add APIs to enable or disable the mouse events of the ewk_view. 5839 https://bugs.webkit.org/show_bug.cgi?id=88631 5840 5841 Reviewed by Gyuyoung Kim. 5842 5843 We can turn on/off the mouse events of the ewk_view using the mouse 5844 events enabling API. This API can be used when we want to turn off the 5845 mouse events on the touchscreen device to process the touch events 5846 instead of the mouse events. 5847 5848 * UIProcess/API/efl/ewk_view.cpp: 5849 (_Ewk_View_Private_Data): 5850 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 5851 (_ewk_view_smart_add): 5852 (ewk_view_mouse_events_enabled_set): 5853 (ewk_view_mouse_events_enabled_get): 5854 * UIProcess/API/efl/ewk_view.h: 5855 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 5856 (TEST_F): 5857 58582012-09-07 Tim Horton <timothy_horton@apple.com> 5859 5860 Add optional debug logging when we fall into/out of threaded scrolling 5861 https://bugs.webkit.org/show_bug.cgi?id=93898 5862 <rdar://problem/12089098> 5863 5864 Reviewed by Simon Fraser. 5865 5866 Update the scrolling tree's scrollingPerformanceLoggingEnabled preference 5867 before the early-return if we don't have layer debugging borders on. 5868 5869 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 5870 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 5871 58722012-09-06 Jinwoo Song <jinwoo7.song@samsung.com> 5873 5874 Deploy StringBuilder in more places in WebKit2 5875 https://bugs.webkit.org/show_bug.cgi?id=95924 5876 5877 Reviewed by Benjamin Poulain. 5878 5879 Deploy StringBuilder to concatenate strings more efficiently. 5880 5881 * Shared/WebMemorySampler.cpp: 5882 (WebKit): 5883 (WebKit::WebMemorySampler::WebMemorySampler): 5884 (WebKit::WebMemorySampler::stop): 5885 (WebKit::WebMemorySampler::writeHeaders): 5886 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile): 5887 * Shared/WebMemorySampler.h: 5888 (WebMemorySampler): 5889 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 5890 (WebKit::capitalizeRFC822HeaderFieldName): 5891 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 5892 (WebKit::WebContextMenuClient::searchWithGoogle): 5893 58942012-09-06 Ryuan Choi <ryuan.choi@samsung.com> 5895 5896 [EFL][WK2] Add API unit tests for ewk_view_theme_set. 5897 https://bugs.webkit.org/show_bug.cgi?id=94670 5898 5899 Reviewed by Gyuyoung Kim. 5900 5901 Added unit tests for ewk_view_theme_set. 5902 5903 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 5904 (EWK2UnitTest::EWK2UnitTestEnvironment::pathForResource): 5905 Added to get path of resource. 5906 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: 5907 Ditto. 5908 * UIProcess/API/efl/tests/resources/big_button_theme.edj: 5909 Added test theme file which has text_confinement of button as 5910 rel1 { ... offset : 150 8; } rel2 { ... offset : -150 -11; }. 5911 * UIProcess/API/efl/tests/resources/empty_theme.edj: 5912 Added test theme file which includes nothing. 5913 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 5914 Added unit test for ewk_view_theme_set. 5915 59162012-09-06 Csaba Osztrogonác <ossy@webkit.org> 5917 5918 Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView 5919 https://bugs.webkit.org/show_bug.cgi?id=96017 5920 5921 Unreviewed Qt-WK2 buildfix after r127783. 5922 5923 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 5924 (WebKit::LayerTreeCoordinator::syncFixedLayers): 5925 59262012-09-05 Alexey Proskuryakov <ap@apple.com> 5927 5928 [WK2] Annotate multi-process FIXMEs with bug numbers 5929 https://bugs.webkit.org/show_bug.cgi?id=95916 5930 5931 Reviewed by Eric Carlson. 5932 5933 * UIProcess/WebContext.cpp: 5934 (WebKit::WebContext::setProcessModel): Ensure that plug-in process is enabled. 5935 Comments in WebPluginSiteDataManager said that it's required for multi-process. 5936 (WebKit::WebContext::createNewWebProcess): Added a bug number. 5937 (WebKit::WebContext::disconnectProcess): Ditto. 5938 (WebKit::WebContext::createWebPage): Ditto. 5939 (WebKit::WebContext::download): Ditto. 5940 (WebKit::WebContext::getWebCoreStatistics): Ditto. 5941 5942 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 5943 (WebKit::WebPluginSiteDataManager::getSitesWithData): 5944 (WebKit::WebPluginSiteDataManager::clearSiteData): 5945 Removed FIXMEs - some ports haven't switched to plugin process yet, but that 5946 doesn't stop others from having a multi-process model. Added an ASSERT to document 5947 this requirement (in addition to the check in WebContext). 5948 5949 * UIProcess/Downloads/DownloadProxy.cpp: 5950 (WebKit::DownloadProxy::cancel): 5951 (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): 5952 (WebKit::DownloadProxy::startTransfer): 5953 * UIProcess/WebApplicationCacheManagerProxy.cpp: 5954 (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): 5955 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): 5956 (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): 5957 * UIProcess/WebCookieManagerProxy.cpp: 5958 (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): 5959 (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): 5960 * UIProcess/WebDatabaseManagerProxy.cpp: 5961 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 5962 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 5963 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 5964 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 5965 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 5966 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 5967 * UIProcess/WebIconDatabase.cpp: 5968 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): 5969 (WebKit::WebIconDatabase::didFinishURLImport): 5970 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 5971 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 5972 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 5973 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 5974 * UIProcess/WebMediaCacheManagerProxy.cpp: 5975 (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): 5976 * UIProcess/WebResourceCacheManagerProxy.cpp: 5977 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): 5978 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): 5979 (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): 5980 Added bug numbers. 5981 59822012-09-06 Michael Saboff <msaboff@apple.com> 5983 5984 WebKit2 IPC always sends strings using 16 bit data format 5985 https://bugs.webkit.org/show_bug.cgi?id=95811 5986 5987 Reviewed by Benjamin Poulain. 5988 5989 Changed string encoding to pass an 8bit flag and then send either 8 or 16 bit 5990 character data. 5991 5992 * Platform/CoreIPC/ArgumentCoders.cpp: 5993 (CoreIPC::::encode): 5994 (CoreIPC::decodeStringText): New templatized string creation and decoder method. 5995 (CoreIPC::::decode): 5996 59972012-09-06 Carlos Garcia Campos <cgarcia@igalia.com> 5998 5999 [GTK] [WK2] Crash when navigating between pages 6000 https://bugs.webkit.org/show_bug.cgi?id=95949 6001 6002 Reviewed by Martin Robinson. 6003 6004 Do not trust isMainResource parameter in 6005 webkitWebViewResourceLoadStarted(), because it's always true for 6006 all subresources of pages loaded from the history cache. We can 6007 simply assume that the first resource loaded for the main frame 6008 is the main web view resource. 6009 6010 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: 6011 (didInitiateLoadForResource): 6012 * UIProcess/API/gtk/WebKitWebView.cpp: 6013 (webkitWebViewResourceLoadStarted): 6014 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 6015 60162012-09-06 Balazs Kelemen <kbalazs@webkit.org> 6017 6018 [WK2] Crash in WebPageProxy::showPopupMenu if PageClient does not implement createPopupMenuProxy 6019 https://bugs.webkit.org/show_bug.cgi?id=95862 6020 6021 Reviewed by Simon Hausmann. 6022 6023 Bail out early if the PageClient does not create a PopupMenuProxy for us. 6024 6025 * UIProcess/WebPageProxy.cpp: 6026 (WebKit::WebPageProxy::showPopupMenu): 6027 60282012-09-06 Christophe Dumez <christophe.dumez@intel.com> 6029 6030 [EFL][WK2] Provide implementation for WebPage::performDefaultBehaviorForKeyEvent() 6031 https://bugs.webkit.org/show_bug.cgi?id=95943 6032 6033 Reviewed by Kenneth Rohde Christiansen. 6034 6035 Provide implementation for WebPage::performDefaultBehaviorForKeyEvent() 6036 in EFL WK2. 6037 6038 * WebProcess/WebPage/efl/WebPageEfl.cpp: 6039 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 6040 60412012-09-06 Patrick Gansterer <paroga@webkit.org> 6042 6043 Remove String::operator+=() from windows platform code 6044 https://bugs.webkit.org/show_bug.cgi?id=95904 6045 6046 Reviewed by Benjamin Poulain. 6047 6048 Use StringBuilder and operator+() to concatenate strings instead of operator+=(). 6049 6050 * UIProcess/win/WebView.cpp: 6051 (WebKit::imeCompositionArgumentNames): 6052 60532012-09-06 Kihong Kwon <kihong.kwon@samsung.com> 6054 6055 [CMake] Add notifications path to the WebKit2/CMakeLists.txt 6056 https://bugs.webkit.org/show_bug.cgi?id=95843 6057 6058 Reviewed by Laszlo Gombos. 6059 6060 Add WebCore/Modules/Notifications to the WebKit2_INCLUDE_DIRECTORIES of WebKit2/CMakeLists.txt. 6061 There are some build errors when ENABLE_NOTIFICATIONS feature is enabled. 6062 6063 * CMakeLists.txt: 6064 60652012-09-06 Simon Hausmann <simon.hausmann@nokia.com> 6066 6067 [Qt] Various small Windows / MSVC build fixes 6068 https://bugs.webkit.org/show_bug.cgi?id=95934 6069 6070 Reviewed by Kenneth Rohde Christiansen. 6071 6072 * Shared/LayerTreeContext.h: Include stdint.h due to the use of uint32_t as layer id. 6073 * UIProcess/API/qt/qquickwebview_p.h: 6074 (WebKit): Fix struct vs. class forward declaration mismatch, causing linking errors. 6075 * UIProcess/API/qt/tests/bytearraytestdata.h: Remove export macro from internal test class 6076 that is not used anymore. Using the export macro from a DLL when the code in question is not 6077 part of the DLL results in the export macro expanding to dllimport, giving incorrect linkage 6078 for the unit test. 6079 * WebProcess/qt/WebProcessMainQt.cpp: 6080 (WebKit::WebProcessMainQt): Removed explicit call to srandom(), which is not available on Windows. 6081 The call appears to be unnecessary in the light of the WTF::initializeThreading() call below, which 6082 in turn calls WTF::initializeRandomNumberGenerator(), which does the same thing already (and isn't 6083 needed on Windows, as per comment in wtf/RandomNumberSeed.h) 6084 60852012-09-06 Simon Hausmann <simon.hausmann@nokia.com> 6086 6087 [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2 6088 https://bugs.webkit.org/show_bug.cgi?id=95965 6089 6090 Reviewed by Tor Arne Vestbø. 6091 6092 Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE 6093 headers (GraphicsContext3D.h in particular). 6094 6095 * Target.pri: 6096 60972012-09-06 Andras Becsi <andras.becsi@nokia.com> 6098 6099 [WK2] Make [Qt]ViewportHandler cross platform 6100 https://bugs.webkit.org/show_bug.cgi?id=91257 6101 6102 Reviewed by Kenneth Rohde Christiansen and Simon Hausmann. 6103 6104 Since QtViewportHandler includes behaviour that is not platform 6105 specific together with hooks to the QtQuick API layer, a platform 6106 independent implementation would allow other ports to use the 6107 viewport controlling functionality provided. 6108 6109 This patch removes QtViewportHandler and introduces a platform 6110 independent PageViewportController class that is responsible 6111 for handling requests from the web process (eg. content size 6112 changes, viewport attributes changes and scroll position requests). 6113 Requests from the web process are acted on by a platform specific 6114 client class which implements the PageViewportControllerClient 6115 interface which provides hooks to the platform specific API layer. 6116 6117 The PageViewportController is also responsible to notify the web 6118 process about changes in the viewport state (eg. viewport size, 6119 visible rect, content scale and movement trajectory). 6120 The client is responsible to delegate these UI changes to the 6121 PageViewportController. 6122 6123 For now only PageViewportControllerClientQt implements the client 6124 interface besides providing other QQuick specific functionality 6125 (gestures, animations, etc). 6126 6127 * Target.pri: 6128 * UIProcess/API/qt/qquickwebpage_p_p.h: 6129 * UIProcess/API/qt/qquickwebview.cpp: 6130 (QQuickWebViewPrivate::onComponentComplete): 6131 (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate): 6132 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 6133 (QQuickWebViewFlickablePrivate::updateViewportSize): 6134 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 6135 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 6136 * UIProcess/API/qt/qquickwebview_p.h: 6137 (WebKit): 6138 * UIProcess/API/qt/qquickwebview_p_p.h: 6139 (WebKit): 6140 (QQuickWebViewPrivate::pageViewportControllerClient): 6141 (QQuickWebViewPrivate): 6142 (QQuickWebViewFlickablePrivate): 6143 * UIProcess/API/qt/qwebkittest.cpp: 6144 (QWebKitTest::viewport): 6145 (QWebKitTest::devicePixelRatio): 6146 (QWebKitTest::contentsScale): 6147 * UIProcess/PageViewportController.cpp: Added. 6148 (WebKit): 6149 (WebKit::bound): 6150 (WebKit::fuzzyCompare): 6151 (WebKit::boundPosition): 6152 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer): 6153 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 6154 (WebKit::PageViewportController::PageViewportController): 6155 (WebKit::PageViewportController::convertFromViewport): 6156 (WebKit::PageViewportController::convertToViewport): 6157 (WebKit::PageViewportController::innerBoundedContentsScale): 6158 (WebKit::PageViewportController::outerBoundedContentsScale): 6159 (WebKit::PageViewportController::didChangeContentsSize): 6160 (WebKit::PageViewportController::pageDidRequestScroll): 6161 (WebKit::PageViewportController::setViewportSize): 6162 (WebKit::PageViewportController::setVisibleContentsRect): 6163 (WebKit::PageViewportController::syncVisibleContents): 6164 (WebKit::PageViewportController::didChangeViewportAttributes): 6165 (WebKit::PageViewportController::suspendContent): 6166 (WebKit::PageViewportController::resumeContent): 6167 (WebKit::PageViewportController::positionRangeForContentAtScale): 6168 * UIProcess/PageViewportController.h: Added. 6169 (WebCore): 6170 (WebKit): 6171 (ViewportUpdateDeferrer): 6172 (PageViewportController): 6173 (WebKit::PageViewportController::~PageViewportController): 6174 (WebKit::PageViewportController::hasSuspendedContent): 6175 (WebKit::PageViewportController::hadUserInteraction): 6176 (WebKit::PageViewportController::allowsUserScaling): 6177 (WebKit::PageViewportController::contentsLayoutSize): 6178 (WebKit::PageViewportController::devicePixelRatio): 6179 (WebKit::PageViewportController::minimumContentsScale): 6180 (WebKit::PageViewportController::maximumContentsScale): 6181 (WebKit::PageViewportController::setHadUserInteraction): 6182 * UIProcess/PageViewportControllerClient.h: Added. 6183 (WebKit): 6184 (PageViewportControllerClient): 6185 (WebKit::PageViewportControllerClient::PageViewportControllerClient): 6186 (WebKit::PageViewportControllerClient::~PageViewportControllerClient): 6187 * UIProcess/qt/PageViewportControllerClientQt.cpp: Added. 6188 (WebKit): 6189 (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt): 6190 (WebKit::PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue): 6191 (WebKit::PageViewportControllerClientQt::~PageViewportControllerClientQt): 6192 (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale): 6193 (WebKit::PageViewportControllerClientQt::animateContentRectVisible): 6194 (WebKit::PageViewportControllerClientQt::flickMoveStarted): 6195 (WebKit::PageViewportControllerClientQt::flickMoveEnded): 6196 (WebKit::PageViewportControllerClientQt::pageItemPositionChanged): 6197 (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged): 6198 (WebKit::PageViewportControllerClientQt::touchBegin): 6199 (WebKit::PageViewportControllerClientQt::touchEnd): 6200 (WebKit::PageViewportControllerClientQt::focusEditableArea): 6201 (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded): 6202 (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect): 6203 (WebKit::PageViewportControllerClientQt::setContentsPosition): 6204 (WebKit::PageViewportControllerClientQt::setContentsScale): 6205 (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds): 6206 (WebKit::PageViewportControllerClientQt::didResumeContent): 6207 (WebKit::PageViewportControllerClientQt::allowsUserScaling): 6208 (WebKit::PageViewportControllerClientQt::devicePixelRatio): 6209 (WebKit::PageViewportControllerClientQt::minimumContentsScale): 6210 (WebKit::PageViewportControllerClientQt::maximumContentsScale): 6211 (WebKit::PageViewportControllerClientQt::currentContentsScale): 6212 (WebKit::PageViewportControllerClientQt::contentsLayoutSize): 6213 (WebKit::PageViewportControllerClientQt::scrollAnimationActive): 6214 (WebKit::PageViewportControllerClientQt::panGestureActive): 6215 (WebKit::PageViewportControllerClientQt::panGestureStarted): 6216 (WebKit::PageViewportControllerClientQt::panGestureRequestUpdate): 6217 (WebKit::PageViewportControllerClientQt::panGestureEnded): 6218 (WebKit::PageViewportControllerClientQt::panGestureCancelled): 6219 (WebKit::PageViewportControllerClientQt::scaleAnimationActive): 6220 (WebKit::PageViewportControllerClientQt::cancelScrollAnimation): 6221 (WebKit::PageViewportControllerClientQt::interruptScaleAnimation): 6222 (WebKit::PageViewportControllerClientQt::pinchGestureActive): 6223 (WebKit::PageViewportControllerClientQt::pinchGestureStarted): 6224 (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate): 6225 (WebKit::PageViewportControllerClientQt::pinchGestureEnded): 6226 (WebKit::PageViewportControllerClientQt::pinchGestureCancelled): 6227 (WebKit::PageViewportControllerClientQt::visibleContentsRect): 6228 (WebKit::PageViewportControllerClientQt::didChangeContentsSize): 6229 (WebKit::PageViewportControllerClientQt::didChangeVisibleContents): 6230 (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes): 6231 (WebKit::PageViewportControllerClientQt::updateViewportController): 6232 (WebKit::PageViewportControllerClientQt::scaleContent): 6233 (WebKit::PageViewportControllerClientQt::viewportScaleForRect): 6234 * UIProcess/qt/PageViewportControllerClientQt.h: Added. 6235 (WebKit): 6236 (PageViewportControllerClientQt): 6237 (WebKit::PageViewportControllerClientQt::setController): 6238 (ScaleAnimation): 6239 (WebKit::PageViewportControllerClientQt::ScaleAnimation::ScaleAnimation): 6240 (WebKit::PageViewportControllerClientQt::ScaleStackItem::ScaleStackItem): 6241 (ScaleStackItem): 6242 * UIProcess/qt/QtGestureRecognizer.cpp: 6243 (WebKit::QtGestureRecognizer::viewportController): 6244 * UIProcess/qt/QtGestureRecognizer.h: 6245 (WebKit): 6246 * UIProcess/qt/QtPanGestureRecognizer.cpp: 6247 (WebKit::QtPanGestureRecognizer::update): 6248 (WebKit::QtPanGestureRecognizer::finish): 6249 (WebKit::QtPanGestureRecognizer::cancel): 6250 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 6251 (WebKit::QtPinchGestureRecognizer::update): 6252 (WebKit::QtPinchGestureRecognizer::finish): 6253 (WebKit::QtPinchGestureRecognizer::cancel): 6254 * UIProcess/qt/QtViewportHandler.cpp: Removed. 6255 * UIProcess/qt/QtWebPageEventHandler.cpp: 6256 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler): 6257 (WebKit::QtWebPageEventHandler::setViewportController): 6258 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged): 6259 (WebKit::QtWebPageEventHandler::handleInputEvent): 6260 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 6261 (WebKit::QtWebPageEventHandler::didFindZoomableArea): 6262 * UIProcess/qt/QtWebPageEventHandler.h: 6263 (WebKit): 6264 (QtWebPageEventHandler): 6265 (WebKit::QtWebPageEventHandler::viewportController): 6266 62672012-09-06 Ryuan Choi <ryuan.choi@samsung.com> 6268 6269 [EFL][WK2] WebMemorySampler.cpp is included twice. 6270 https://bugs.webkit.org/show_bug.cgi?id=95910 6271 6272 Reviewed by Kentaro Hara. 6273 6274 Now WebMemorySampler.cpp is in CMakeLists.txt and PlatformEfl.cmake. 6275 6276 * PlatformEfl.cmake: Removed WebMemorySampler.cpp from source lists. 6277 62782012-09-05 Ryuan Choi <ryuan.choi@samsung.com> 6279 6280 [EFL][WK2] Implement missing feature to support <select> tag 6281 https://bugs.webkit.org/show_bug.cgi?id=95708 6282 6283 Reviewed by Gyuyoung Kim. 6284 6285 Added missing APIs for select tag. 6286 6287 This patch provides all functionality of current WebPopupItem to applications. 6288 6289 * UIProcess/API/efl/ewk_popup_menu_item.cpp: 6290 (_Ewk_Popup_Menu_Item): 6291 (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item): 6292 (ewk_popup_menu_item_new): 6293 (ewk_popup_menu_item_text_direction_get): 6294 (ewk_popup_menu_item_text_direction_override_get): 6295 (ewk_popup_menu_item_tooltip_get): 6296 (ewk_popup_menu_item_accessibility_text_get): 6297 (ewk_popup_menu_item_enabled_get): 6298 (ewk_popup_menu_item_is_label_get): 6299 (ewk_popup_menu_item_selected_get): 6300 * UIProcess/API/efl/ewk_popup_menu_item.h: 6301 * UIProcess/API/efl/ewk_popup_menu_item_private.h: 6302 * UIProcess/API/efl/ewk_view.cpp: 6303 (ewk_view_popup_menu_request): 6304 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 6305 (checkBasicPopupMenuItem): 6306 (showPopupMenu): Updated test case to cover new APIs. 6307 (TEST_F): 6308 63092012-09-05 Christophe Dumez <christophe.dumez@intel.com> 6310 6311 [EFL][WK2] Provide implementation for WebProcess functions 6312 https://bugs.webkit.org/show_bug.cgi?id=95857 6313 6314 Reviewed by Kenneth Rohde Christiansen. 6315 6316 Rename WebProcessGtk to WebProcessSoup and reuse it in 6317 EFL port since all the code is soup-related. We now 6318 have a proper implementation for the WebProcess 6319 platform methods. 6320 6321 * GNUmakefile.list.am: 6322 * PlatformEfl.cmake: 6323 * WebProcess/efl/WebProcessEfl.cpp: Removed. 6324 * WebProcess/efl/WebProcessMainEfl.cpp: 6325 (WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port. 6326 * WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp. 6327 (WebKit): 6328 (WebKit::getCacheDiskFreeSize): 6329 (WebKit::getMemorySize): 6330 (WebKit::WebProcess::platformSetCacheModel): 6331 (WebKit::WebProcess::platformClearResourceCaches): 6332 (WebKit::buildAcceptLanguages): 6333 (WebKit::setSoupSessionAcceptLanguage): 6334 (WebKit::languageChanged): 6335 (WebKit::WebProcess::platformInitializeWebProcess): 6336 (WebKit::WebProcess::platformTerminate): 6337 63382012-09-05 Benjamin Poulain <bpoulain@apple.com> 6339 6340 More fixes for String::operator+=() on Mac 6341 https://bugs.webkit.org/show_bug.cgi?id=95880 6342 6343 Reviewed by Adam Barth. 6344 6345 * UIProcess/WebInspectorProxy.cpp: 6346 (WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(), 6347 there is no other concatenation outside that branch. 6348 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 6349 (WebKit::parseRFC822HeaderFields): Use string operators instead of +=. 6350 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 6351 (WebKit::NetscapePlugin::userAgent): Another legitimate use of append(). 6352 63532012-09-05 Alexey Proskuryakov <ap@apple.com> 6354 6355 [WK2] Make visited link tracking work in multi-process mode 6356 https://bugs.webkit.org/show_bug.cgi?id=95869 6357 6358 Reviewed by Dan Bernstein. 6359 6360 * UIProcess/VisitedLinkProvider.h: 6361 * UIProcess/VisitedLinkProvider.cpp: 6362 (WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState 6363 was making no sense in multi-process world, so it was let go. 6364 (WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes. 6365 (WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going 6366 to become stale. 6367 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed 6368 a bug where we would churn table size in some cases. Added debug logging in failure 6369 case. Re-implemented messaging code to work with multiple web processes. 6370 6371 * UIProcess/WebContext.cpp: 6372 (WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to 6373 m_visitedLinkProvider, as it now needs to track processes. 6374 (WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider 6375 cleanup in multi-process mode. 6376 63772012-09-05 Brady Eidson <beidson@apple.com> 6378 6379 Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot 6380 <rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026 6381 6382 Patch partially by Andras Becsi <andras.becsi@nokia.com> 6383 6384 Reviewed by Andy Estes. 6385 6386 If a plug-in fails to initialize then the m_plugin pointer is cleared out. 6387 When accessing the script object it is appropriate to unconditionally null check m_plugin. 6388 6389 * WebProcess/Plugins/PluginView.cpp: 6390 (WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it. 6391 63922012-09-05 Christophe Dumez <christophe.dumez@intel.com> 6393 6394 [EFL][WK2] Provide implementation for WebFrameNetworkingContext 6395 https://bugs.webkit.org/show_bug.cgi?id=95826 6396 6397 Reviewed by Kenneth Rohde Christiansen. 6398 6399 Remove EFL-specific and empty implementation for WebFrameNetworkingContext 6400 and use the existing soup implementation instead. 6401 6402 * PlatformEfl.cmake: 6403 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Removed. 6404 64052012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com> 6406 6407 [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals 6408 https://bugs.webkit.org/show_bug.cgi?id=92735 6409 6410 Reviewed by Hajime Morita. 6411 6412 Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner. 6413 Add symbols for Mac Win builds for corresponding newly added APIs. 6414 6415 * win/WebKit2.def: 6416 * win/WebKit2CFLite.def: 6417 64182012-09-05 Balazs Kelemen <kbalazs@webkit.org> 6419 6420 [Qt] QRawWebViewPrivate does not initialize some members 6421 https://bugs.webkit.org/show_bug.cgi?id=95709 6422 6423 Reviewed by Luiz Agostini. 6424 6425 Don't miss initializing the bool flags. 6426 6427 * UIProcess/API/qt/raw/qrawwebview.cpp: 6428 (QRawWebViewPrivate::QRawWebViewPrivate): 6429 64302012-09-04 Kangil Han <kangil.han@samsung.com> 6431 6432 [WK2] Use explicit constructor in InjectedBundle. 6433 https://bugs.webkit.org/show_bug.cgi?id=95746 6434 6435 Reviewed by Sam Weinig. 6436 6437 Added explicit keyword in constructor of InjectedBundle in order to avoid implicit type conversion. 6438 6439 * WebProcess/InjectedBundle/InjectedBundle.h: 6440 (InjectedBundle): 6441 64422012-09-03 Sam Weinig <sam@webkit.org> 6443 6444 Part 1 of removing PlatformString.h, move remaining functions to new homes 6445 https://bugs.webkit.org/show_bug.cgi?id=95702 6446 6447 Reviewed by Beth Dakin. 6448 6449 * UIProcess/WebPageProxy.h: 6450 Forward declare SharedBuffer. 6451 64522012-09-04 Jeffrey Pfau <jpfau@apple.com> 6453 6454 Make plugins respect third-party storage blocking setting 6455 https://bugs.webkit.org/show_bug.cgi?id=94888 6456 6457 Reviewed by Brady Eidson. 6458 6459 Plugins that are in a third-party context should be put into private browsing mode so their storage is temporary. 6460 6461 * WebProcess/Plugins/PluginView.cpp: 6462 (WebKit::PluginView::isPrivateBrowsingEnabled): Put the plugin into private browsing mode if it is in a third-party context. 6463 (WebKit::PluginView::privateBrowsingStateChanged): Make sure a plugin doesn't leave private browsing mode if it's in a third-party context. 6464 64652012-09-04 Pekka Vuorela <pvuorela@iki.fi> 6466 6467 [Qt] Remove use of deprecated QInputMethod method 6468 https://bugs.webkit.org/show_bug.cgi?id=95741 6469 6470 Reviewed by Simon Hausmann. 6471 6472 Adapt from deprecated QInputMethod::visible() to isVisible(). 6473 6474 * UIProcess/qt/QtWebPageEventHandler.cpp: 6475 (WebKit::setInputPanelVisible): 6476 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged): 6477 64782012-09-04 Allan Sandfeld Jensen <allan.jensen@nokia.com> 6479 6480 Allow child-frame content in hit-tests. 6481 https://bugs.webkit.org/show_bug.cgi?id=95204 6482 6483 Reviewed by Antonio Gomes. 6484 6485 Update symbols for the Windows build-system. 6486 6487 * win/WebKit2.def: 6488 * win/WebKit2CFLite.def: 6489 64902012-09-04 Ryuan Choi <ryuan.choi@samsung.com> 6491 6492 [EFL] Drop default theme concept 6493 https://bugs.webkit.org/show_bug.cgi?id=94778 6494 6495 Reviewed by Gyuyoung Kim. 6496 6497 * PlatformEfl.cmake: Removed DEFAULT_THEME_PATH definitions. 6498 * UIProcess/API/efl/ewk_view.cpp: 6499 (_ewk_view_initialize): Removed default theme concept. 6500 * UIProcess/API/efl/ewk_view.h: 6501 Updated doxygen document not to mention default theme. 6502 65032012-09-03 Kangil Han <kangil.han@samsung.com> 6504 6505 [WK2][WTR] Implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference 6506 https://bugs.webkit.org/show_bug.cgi?id=95576 6507 6508 Reviewed by Maciej Stachowiak. 6509 6510 Added a line of macro to implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference 6511 6512 * WebProcess/InjectedBundle/InjectedBundle.cpp: 6513 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 6514 65152012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> 6516 6517 [Qt] Not all activated elements highlighted, but some frames are 6518 https://bugs.webkit.org/show_bug.cgi?id=95683 6519 6520 Reviewed by Kenneth Rohde Christiansen. 6521 6522 Use the new function Node::willRespondToMouseClickEvents to better determine if the element 6523 can be tap-activated and avoid documents and frames completely. 6524 6525 * WebProcess/WebPage/WebPage.cpp: 6526 (WebKit::WebPage::highlightPotentialActivation): 6527 65282012-09-03 Eunmi Lee <eunmi15.lee@samsung.com> 6529 6530 [EFL][WK2] Add ewk_settings. 6531 https://bugs.webkit.org/show_bug.cgi?id=91206 6532 6533 Reviewed by Gyuyoung Kim. 6534 6535 Add the ewk_settings which wraps the WKPreferencesRef. 6536 The ewk_settings will be created by the ewk_view and it will be 6537 destroyed when the ewk_view is destroyed. I make each view to have 6538 its own group to make one ewk_settings sets preferences only for 6539 one ewk_view. 6540 The application can get the ewk_settings from ewk_view using 6541 ewk_view_settings_get() API. 6542 6543 * UIProcess/API/efl/EWebKit2.h: 6544 * UIProcess/API/efl/ewk_settings.cpp: Added. 6545 (ewk_settings_enable_scripts_set): 6546 (ewk_settings_enable_scripts_get): 6547 (ewk_settings_auto_load_images_set): 6548 (ewk_settings_auto_load_images_get): 6549 * UIProcess/API/efl/ewk_settings.h: Added. 6550 * UIProcess/API/efl/ewk_settings_private.h: Added. 6551 (_Ewk_Settings): 6552 (_Ewk_Settings::_Ewk_Settings): 6553 * UIProcess/API/efl/ewk_view.cpp: 6554 (_Ewk_View_Private_Data): 6555 (_ewk_view_initialize): 6556 (ewk_view_settings_get): 6557 * UIProcess/API/efl/ewk_view.h: 6558 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: Added. 6559 (TEST_F): 6560 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 6561 (TEST_F): 6562 65632012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> 6564 6565 Wheel-events fails temporarily after reload 6566 https://bugs.webkit.org/show_bug.cgi?id=94934 6567 6568 Reviewed by Kenneth Rohde Christiansen. 6569 6570 Set fixed visible content rect using visibleContentBounds instead of WebPage::size. Otherwise the 6571 content rect will be incorrectly set to the entire document size, when resizesToContents is active. 6572 6573 Test: UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml 6574 6575 * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: 6576 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6577 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 6578 65792012-09-03 Jinwoo Song <jinwoo7.song@samsung.com> 6580 6581 [EFL] Use WebKitVersion.h to get version information 6582 https://bugs.webkit.org/show_bug.cgi?id=95669 6583 6584 Reviewed by Gyuyoung Kim. 6585 6586 Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION 6587 in the WebKitVersion.h 6588 6589 * UIProcess/efl/WebPageProxyEfl.cpp: 6590 (WebKit::WebPageProxy::standardUserAgent): 6591 65922012-09-03 Christophe Dumez <christophe.dumez@intel.com> 6593 6594 [EFL][WK2] Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage API test 6595 https://bugs.webkit.org/show_bug.cgi?id=95671 6596 6597 Reviewed by Kenneth Rohde Christiansen. 6598 6599 Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage 6600 API test since it is flaky on the bots. 6601 6602 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 6603 (TEST_F): 6604 66052012-09-02 Kenichi Ishibashi <bashi@chromium.org> 6606 6607 WK2: Build failure on SnowLeopard after r127384 6608 https://bugs.webkit.org/show_bug.cgi?id=95665 6609 6610 Reviewed by Dan Bernstein. 6611 6612 Add SandboxExtension::consumePermanently(const Handle&) for !ENABLE(WEB_PROCESS_SANDBOX) to fix link error. 6613 6614 * Shared/SandboxExtension.h: 6615 (WebKit::SandboxExtension::consumePermanently): 6616 66172012-09-02 Ryuan Choi <ryuan.choi@samsung.com> 6618 6619 [EFL][WK2] Keep activePopupMenu to call valueChangedForPopupMenu() outside showPopupMenu() 6620 https://bugs.webkit.org/show_bug.cgi?id=95355 6621 6622 Reviewed by Gyuyoung Kim. 6623 6624 Efl does not have a proper way to support nested loop so that applications 6625 may change value after showPopupMenu() is finished. 6626 6627 * UIProcess/API/efl/tests/test_ewk2_view.cpp: Improved test case to cover this bug. 6628 (selectItemAfterDelayed): 6629 (showPopupMenu): 6630 * UIProcess/WebPageProxy.cpp: 6631 (WebKit::WebPageProxy::showPopupMenu): 6632 Guard with !PLATFORM(EFL) to keep the activePopupMenu valid to call valueChangedForPopupMenu 6633 outside showPopupMenu(). 6634 66352012-09-02 Byungwoo Lee <bw80.lee@gmail.com> 6636 6637 [EFL] Add missing semicolon at the end of some lines. 6638 https://bugs.webkit.org/show_bug.cgi?id=95640 6639 6640 Reviewed by Gyuyoung Kim. 6641 6642 EWK_VIEW_PRIV_GET_OR_RETURN macro and other related macro can be used 6643 without semicolon, because it ends with a semicolon or complete block. 6644 This can make a human mistake about missing semicolon. 6645 6646 Fixed the macros to require semicolon, and added missing semicolons. 6647 6648 * UIProcess/API/efl/ewk_view.cpp: 6649 (_ewk_view_smart_focus_in): 6650 (_ewk_view_smart_focus_out): 6651 (_ewk_view_smart_mouse_wheel): 6652 (_ewk_view_smart_mouse_down): 6653 (_ewk_view_smart_mouse_up): 6654 (_ewk_view_smart_mouse_move): 6655 (_ewk_view_smart_key_down): 6656 (_ewk_view_smart_key_up): 6657 (_ewk_view_initialize): 6658 66592012-09-01 Sam Weinig <sam@webkit.org> 6660 6661 Remove unused member variable from WebProcess. 6662 6663 Rubber-stamped by Dan Bernstein. 6664 6665 * WebProcess/WebProcess.h: 6666 (WebProcess): 6667 Remove m_applicationCachePathExtension. 6668 66692012-09-01 Sam Weinig <sam@webkit.org> 6670 6671 Use dynamic sandbox extension rather than sandbox parameters for paths provided by the UIProcess 6672 https://bugs.webkit.org/show_bug.cgi?id=95651 6673 6674 Reviewed by Dan Bernstein. 6675 6676 This is the first step to not relying on the initialization message to initialize 6677 the sandbox. 6678 6679 * Shared/SandboxExtension.h: 6680 (SandboxExtension): 6681 * Shared/mac/SandboxExtensionMac.mm: 6682 (WebKit::SandboxExtension::consumePermanently): 6683 Add static version of SandboxExtension::consumePermanently which takes a 6684 SandboxExtension::Handle. There is no reason to create a SandboxExtension 6685 just to consume it forever. 6686 6687 * Shared/WebProcessCreationParameters.cpp: 6688 (WebKit::WebProcessCreationParameters::encode): 6689 (WebKit::WebProcessCreationParameters::decode): 6690 * Shared/WebProcessCreationParameters.h: 6691 (WebProcessCreationParameters): 6692 Add SandboxExtension::Handles for paths we need access to, and remove 6693 webInspectorBaseDirectory, which is unused. 6694 6695 * UIProcess/WebContext.cpp: 6696 (WebKit::WebContext::createNewWebProcess): 6697 * UIProcess/mac/WebContextMac.mm: 6698 (WebKit::WebContext::platformInitializeWebProcess): 6699 Create SandboxExtension::Handles for paths we need access to, and move 6700 getting the presenterApplicationPid to platformInitializeWebProcess, since 6701 it is Mac only. 6702 6703 * WebProcess/WebProcess.cpp: 6704 (WebKit::WebProcess::initializeWebProcess): 6705 Move setting the presenterApplicationPid to platformInitializeWebProcess. 6706 6707 * WebProcess/mac/WebProcessMac.mm: 6708 (WebKit::initializeSandbox): 6709 (WebKit::WebProcess::platformInitializeWebProcess): 6710 Replace the use of sandbox parameters for opening access for necessary paths 6711 with permanent consumption of sandbox extensions. 6712 6713 * WebProcess/com.apple.WebProcess.sb.in: 6714 Remove sandbox rules that are now handled via extensions. 6715 67162012-08-31 Byungwoo Lee <bw80.lee@samsung.com> 6717 6718 Build warning : -Wformat on WebMemorySampler.cpp. 6719 https://bugs.webkit.org/show_bug.cgi?id=95550 6720 6721 Reviewed by Darin Adler. 6722 6723 Fix build warning. 6724 Use String::number instead of String::format. 6725 6726 * Shared/WebMemorySampler.cpp: 6727 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile): 6728 67292012-08-31 Alexey Proskuryakov <ap@apple.com> 6730 6731 [WK2] Use initial process in multi-process mode, too 6732 https://bugs.webkit.org/show_bug.cgi?id=95612 6733 6734 Reviewed by Sam Weinig. 6735 6736 * UIProcess/WebContext.cpp: 6737 (WebKit::WebContext::WebContext): 6738 (WebKit::WebContext::warmInitialProcess): 6739 (WebKit::WebContext::disconnectProcess): 6740 (WebKit::WebContext::createWebPage): 6741 * UIProcess/WebContext.h: 6742 Added a boolean telling whether the last (normally, the only) process in m_processes 6743 is available for use in a new page. 6744 67452012-08-31 Alexey Proskuryakov <ap@apple.com> 6746 6747 [WK2] WebProcesses should not wait 60 seconds to close in multi-process mode 6748 https://bugs.webkit.org/show_bug.cgi?id=95616 6749 6750 Reviewed by Darin Adler. 6751 6752 * Shared/ChildProcess.cpp: (WebKit::ChildProcess::ChildProcess): 6753 * Shared/ChildProcess.h: (WebKit::ChildProcess::setTerminationTimeout): 6754 Expose a setter for timeout instead of taking it at construction time. If a derived 6755 class doesn't call the setter, default to 0. 6756 6757 * PluginProcess/PluginProcess.cpp: 6758 (WebKit::PluginProcess::PluginProcess): 6759 (WebKit::PluginProcess::initializePluginProcess): 6760 Use timeout from initialization message. 6761 6762 * WebProcess/WebProcess.cpp: 6763 (WebKit::WebProcess::WebProcess): 6764 (WebKit::WebProcess::initializeWebProcess): 6765 Ditto. 6766 6767 * Shared/Plugins/PluginProcessCreationParameters.cpp: 6768 (WebKit::PluginProcessCreationParameters::encode): 6769 (WebKit::PluginProcessCreationParameters::decode): 6770 * Shared/Plugins/PluginProcessCreationParameters.h: 6771 * Shared/WebProcessCreationParameters.cpp: 6772 (WebKit::WebProcessCreationParameters::encode): 6773 (WebKit::WebProcessCreationParameters::decode): 6774 * Shared/WebProcessCreationParameters.h: 6775 Funnel timeout across process boundary. 6776 6777 * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didFinishLaunching): 6778 Pass timeout as initialization message after launch. 6779 6780 * UIProcess/WebContext.cpp: 6781 (WebKit::WebContext::createNewWebProcess): Pass timeout as initialization message 6782 (unlike plugin process proxy, web process proxy doesn't wait, and relies on the message 6783 being queued). 6784 (WebKit::WebContext::disconnectProcess): Skip invalidating global managers when 6785 one process quits. We still need to do something, but running this code would just 6786 result in assertion failures any time a page was closed. 6787 67882012-08-31 Brady Eidson <beidson@apple.com> 6789 6790 REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom 6791 <rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607 6792 6793 Reviewed by Simon Fraser. 6794 6795 * WebProcess/Plugins/PluginView.cpp: 6796 (WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance 6797 to override the boundsRect() if the page scale factor is 1. 6798 67992012-08-31 Tony Chang <tony@chromium.org> 6800 6801 Remove ENABLE_CSS3_FLEXBOX compile time flag 6802 https://bugs.webkit.org/show_bug.cgi?id=95382 6803 6804 Reviewed by Ojan Vafai. 6805 6806 Everyone is already enabling this by default and the spec has stablized. 6807 6808 * Configurations/FeatureDefines.xcconfig: 6809 68102012-08-31 Pratik Solanki <psolanki@apple.com> 6811 6812 objc_msgSend and IMP should be cast appropriately before using 6813 https://bugs.webkit.org/show_bug.cgi?id=95242 6814 6815 Reviewed by Benjamin Poulain. 6816 6817 Follow on fix for Mac EWS - use objc-runtime.h instead of runtime.h so 6818 that it finds the declaration for objc_msgSend. 6819 6820 * UIProcess/API/mac/PDFViewController.mm: 6821 68222012-08-31 Jon Lee <jonlee@apple.com> 6823 6824 [Tests] Add basic tests to http/tests/notifications 6825 https://bugs.webkit.org/show_bug.cgi?id=95493 6826 <rdar://problem/12209303> 6827 6828 Reviewed by Alexey Proskuryakov. 6829 6830 Simplify the passing of the permission policy to just a boolean instead of converting it 6831 back and forth from the NotificationClient::Permission enum. 6832 6833 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Move the declaration to the section 6834 of functions that are TestRunner SPI. 6835 * WebProcess/InjectedBundle/InjectedBundle.cpp: 6836 (WebKit::InjectedBundle::setWebNotificationPermission): Use a boolean. 6837 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 6838 (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): 6839 * WebProcess/Notifications/NotificationPermissionRequestManager.h: 6840 (NotificationPermissionRequestManager): 6841 6842 * win/WebKit2.vcproj: Add WKNotificationPermissionRequest.{h,cpp}. 6843 * win/WebKit2Generated.make: Export WKNotificationPermissionRequest.h. 6844 68452012-08-31 Balazs Kelemen <kbalazs@webkit.org> 6846 6847 [Qt] ASSERT(m_useFixedLayout) in WebPage when using QRawWebView without setting fixed layout 6848 https://bugs.webkit.org/show_bug.cgi?id=95557 6849 6850 Reviewed by Noam Rosenthal. 6851 6852 Let QRawWebView work with non-fixed layout size. 6853 6854 * UIProcess/API/qt/raw/qrawwebview.cpp: 6855 (QRawWebView::setSize): Also put the member assigment into 6856 the point where the new size is ensured to be committed. 6857 68582012-08-31 Balazs Kelemen <kbalazs@webkit.org> 6859 6860 [Qt] LayerTreeRenderer::callOnMainTread method name is misleading 6861 https://bugs.webkit.org/show_bug.cgi?id=95558 6862 6863 Reviewed by Kenneth Rohde Christiansen. 6864 6865 Fix the typo in the function name so callers will really call this 6866 and not WTF::callOnMainThread. Renamed to dispatchOnMainThread to 6867 make it clear that these things are not the same. 6868 6869 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 6870 (WebKit::LayerTreeRenderer::dispatchOnMainThread): 6871 (WebKit::LayerTreeRenderer::flushLayerChanges): 6872 (WebKit::LayerTreeRenderer::purgeGLResources): 6873 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: 6874 (LayerTreeRenderer): 6875 68762012-08-31 Brady Eidson <beidson@apple.com> 6877 6878 REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs 6879 <rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515 6880 6881 Reviewed by Dan Bernstein. 6882 6883 Plug-ins created in background tabs don't get initialized until they first become visible, 6884 so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in. 6885 6886 Many other methods related to visibility and focus only call through if the plug-in is initialized, 6887 so setWindowIsVisible should do the same. 6888 6889 * WebProcess/Plugins/PluginView.cpp: 6890 (WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes. 6891 68922012-08-31 Milian Wolff <milian.wolff@kdab.com> 6893 6894 [Qt] QNX does not support SOCK_SEQPACKET socket type for socketpair in ProcessLauncherQt 6895 https://bugs.webkit.org/show_bug.cgi?id=95553 6896 6897 Reviewed by Simon Hausmann. 6898 6899 Calling socketpair with SOCK_SEQPACKET socket type fails on QNX with an error 241 (EPROTOTYPE), 6900 as can be seen by the following debug output: "Creation of socket failed with errno: 241". 6901 A test app shows that SOCK_DGRAM works properly on QNX, thus use it instead of SOCK_SEQPACKET. 6902 6903 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 6904 69052012-08-30 Mark Hahnenberg <mhahnenberg@apple.com> 6906 6907 ~JSNPObject should call invalidate() if it hasn't been called already 6908 https://bugs.webkit.org/show_bug.cgi?id=95497 6909 6910 Reviewed by Geoffrey Garen. 6911 6912 Finalization is no longer eager, just like destruction, so the original intent behind 6913 this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate() 6914 ourselves in ~JSNPObject. 6915 6916 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 6917 (WebKit::JSNPObject::~JSNPObject): 6918 69192012-08-30 Sam Weinig <sam@webkit.org> 6920 6921 Allow dynamic mach-lookup extensions in the WebProcess 6922 <rdar://problem/12207996> 6923 6924 Reviewed by Gavin Barraclough. 6925 6926 Like we allow file read/write dynamic sandbox extensions, we should allow 6927 mach-lookup extensions. 6928 6929 * WebProcess/com.apple.WebProcess.sb.in: 6930 69312012-08-30 Geoffrey Garen <ggaren@apple.com> 6932 6933 Use one object instead of two for closures, eliminating ScopeChainNode 6934 https://bugs.webkit.org/show_bug.cgi?id=95501 6935 6936 Reviewed by Filip Pizlo. 6937 6938 Mechanical changes to update for JSC interface change. 6939 69402012-08-30 JungJik Lee <jungjik.lee@samsung.com> 6941 6942 [EFL][WK2] Add WebMemorySampler feature. 6943 https://bugs.webkit.org/show_bug.cgi?id=91214 6944 6945 Reviewed by Kenneth Rohde Christiansen. 6946 6947 Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of 6948 WebProcess and UI Process and also it records application memory status in real time. 6949 Included items on the result are JIT, JS heap, fastmalloc bytes and 6950 application memory info from /proc/process_id/statm. 6951 6952 * PlatformEfl.cmake: 6953 * Shared/linux/WebMemorySamplerLinux.cpp: Added. 6954 (WebKit): 6955 (ApplicationMemoryStats): 6956 (WebKit::nextToken): 6957 (WebKit::appendKeyValuePair): 6958 (WebKit::sampleMemoryAllocatedForApplication): 6959 (WebKit::WebMemorySampler::processName): 6960 (WebKit::WebMemorySampler::sampleWebKit): 6961 (WebKit::WebMemorySampler::sendMemoryPressureEvent): 6962 * UIProcess/API/efl/ewk_context.cpp: 6963 (_Ewk_Context::_Ewk_Context): 6964 69652012-08-30 Pratik Solanki <psolanki@apple.com> 6966 6967 objc_msgSend and IMP should be cast appropriately before using 6968 https://bugs.webkit.org/show_bug.cgi?id=95242 6969 6970 Reviewed by Benjamin Poulain. 6971 6972 Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts 6973 to a function pointer with right types when calling objc_msgSend and an 6974 IMP method directly. 6975 6976 * UIProcess/API/mac/PDFViewController.mm: 6977 (WebKit::PDFViewScrollView_scrollWheel): 6978 69792012-08-30 Benjamin Poulain <bpoulain@apple.com> 6980 6981 Replace JSC::UString by WTF::String 6982 https://bugs.webkit.org/show_bug.cgi?id=95271 6983 6984 Reviewed by Geoffrey Garen. 6985 6986 Update to code to switch from UString to String. 6987 6988 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 6989 (WebKit::JSNPMethod::finishCreation): 6990 * WebProcess/Plugins/Netscape/JSNPMethod.h: 6991 (WebKit::JSNPMethod::create): 6992 (JSNPMethod): 6993 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 6994 (WebKit::npIdentifierFromIdentifier): 6995 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 6996 (WebKit::NPRuntimeObjectMap::evaluate): 6997 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 6998 69992012-08-29 Mark Hahnenberg <mhahnenberg@apple.com> 7000 7001 JSNPObject doesn't always protect its data when calling into plugin code 7002 https://bugs.webkit.org/show_bug.cgi?id=95394 7003 7004 Reviewed by Brady Eidson. 7005 7006 We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since 7007 there's no telling what the plugin will do, including destroying itself. 7008 7009 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 7010 (WebKit::JSNPObject::getOwnPropertySlot): 7011 (WebKit::JSNPObject::getOwnPropertyDescriptor): 7012 70132012-08-30 Mike Sierra <mike.sierra@nokia.com> 7014 7015 [QT][WK2] webview API doc 7016 https://bugs.webkit.org/show_bug.cgi?id=81701 7017 7018 Reviewed by Simon Hausmann. 7019 7020 Various improvements and additions to the documentation of the QML WebView element. 7021 7022 * UIProcess/API/qt/qquickwebview.cpp: 7023 70242012-08-29 Kangil Han <kangil.han@samsung.com> 7025 7026 [EFL][WK2] Replace PageClientImpl with ewk view in constructor of EflViewportHandler. 7027 https://bugs.webkit.org/show_bug.cgi?id=95408 7028 7029 Reviewed by Gyuyoung Kim. 7030 7031 To keep consistency of implementation, derived classes(from ewk view) should have view reference. 7032 From this, derived classes would have less interference from changes that would happen in port specific classes, i.e. PageClientImpl. 7033 7034 * UIProcess/API/efl/EflViewportHandler.cpp: 7035 (WebKit::EflViewportHandler::EflViewportHandler): 7036 (WebKit::EflViewportHandler::drawingArea): 7037 (WebKit): 7038 (WebKit::EflViewportHandler::updateViewportSize): 7039 * UIProcess/API/efl/EflViewportHandler.h: 7040 (WebKit::EflViewportHandler::create): 7041 (EflViewportHandler): 7042 * UIProcess/API/efl/ewk_view.cpp: 7043 (_ewk_view_initialize): 7044 70452012-08-29 Gyuyoung Kim <gyuyoung.kim@samsung.com> 7046 7047 [WK2] Use ASCIILiteral hotness for DEFINE_STATIC_LOCAL string 7048 https://bugs.webkit.org/show_bug.cgi?id=95318 7049 7050 Reviewed by Benjamin Poulain. 7051 7052 As recommended by http://trac.webkit.org/wiki/EfficientStrings, 7053 WebKit2 needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL. 7054 7055 * Shared/WebError.cpp: 7056 (WebKit::WebError::webKitErrorDomain): 7057 * Shared/WebPreferencesStore.cpp: 7058 (WebPreferencesKey): 7059 * UIProcess/InspectorServer/WebInspectorServer.cpp: 7060 (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest): 7061 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 7062 (WebKit::remoteInspectorPagePath): 7063 * UIProcess/WebDatabaseManagerProxy.cpp: 7064 (WebKit::WebDatabaseManagerProxy::originKey): 7065 (WebKit::WebDatabaseManagerProxy::originQuotaKey): 7066 (WebKit::WebDatabaseManagerProxy::originUsageKey): 7067 (WebKit::WebDatabaseManagerProxy::databaseDetailsKey): 7068 (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): 7069 (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): 7070 (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): 7071 (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): 7072 * UIProcess/WebPageProxy.cpp: 7073 (WebKit::WebPageProxy::executeEditCommand): 7074 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 7075 (WebKit::WebEditorClient::didBeginEditing): 7076 (WebKit::WebEditorClient::respondToChangedContents): 7077 (WebKit::WebEditorClient::respondToChangedSelection): 7078 (WebKit::WebEditorClient::didEndEditing): 7079 * WebProcess/WebProcess.cpp: 7080 (WebKit::getWebCoreMemoryCacheStatistics): 7081 70822012-08-29 Luciano Wolf <luciano.wolf@openbossa.org> 7083 7084 [Qt][WK2] ApplicationCache LayoutTests failed 7085 https://bugs.webkit.org/show_bug.cgi?id=69541 7086 7087 Reviewed by Kenneth Rohde Christiansen. 7088 7089 Returns defaultDiskCacheDirectory when no cache directory was provided. 7090 It's used by setOfflineWebApplicationCacheEnabled method that won't work 7091 with an invalid cache directory. 7092 7093 * UIProcess/qt/WebContextQt.cpp: 7094 (WebKit::WebContext::applicationCacheDirectory): 7095 70962012-08-29 José Dapena Paz <jdapena@igalia.com> 7097 7098 [Gtk] Process Gtk 3.4 smooth scroll events properly. 7099 https://bugs.webkit.org/show_bug.cgi?id=88070 7100 7101 Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that 7102 provides detailed delta information. 7103 7104 Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added 7105 code to process properly the new direction GDK_SCROLL_SMOOTH and 7106 its deltas. 7107 7108 Reviewed by Martin Robinson. 7109 7110 * Shared/gtk/WebEventFactory.cpp: 7111 (WebKit::WebEventFactory::createWebWheelEvent): 7112 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7113 (webkitWebViewBaseRealize): 7114 71152012-08-29 Brady Eidson <beidson@apple.com> 7116 7117 REGRESSION: Not sending NPP_SetWindow is causing Flash to not throttle itself 7118 <rdar://problem/12133021> and https://bugs.webkit.org/show_bug.cgi?id=95274 7119 7120 Reviewed by Sam Weinig. 7121 7122 * UIProcess/API/mac/WKView.mm: 7123 (-[WKView viewDidMoveToWindow]): Previously we'd only update window visibility when the window is hidden. 7124 Now we also update window visibility when the window is shown. 7125 7126 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7127 (WebKit::NetscapePlugin::callSetWindowInvisible): Call set window with a manufactured empty clip rect to tell 7128 the plug-in that it is complete hidden. 7129 (WebKit): 7130 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 7131 (NetscapePlugin): 7132 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 7133 (WebKit::NetscapePlugin::windowVisibilityChanged): Call "callSetWindow" or "callSetWindowInvisible" as appropriate. 7134 7135 * WebProcess/Plugins/PluginView.cpp: 7136 (WebKit::PluginView::setWindowIsVisible): Tell the plugin that its visibility changed. 7137 (WebKit::PluginView::viewGeometryDidChange): Grab a clip rect that - although incorrect - at least is correct if 7138 the PluginView is completely hidden. 7139 71402012-08-29 Jon Lee <jonlee@apple.com> 7141 7142 Build patch for Qt 7143 7144 * Target.pri: Missing WKMutableArray.cpp. 7145 71462012-08-29 Jon Lee <jonlee@apple.com> 7147 7148 Build patch for Qt. 7149 7150 * Target.pri: Export WKArray and WKMutableArray for Qt. 7151 71522012-08-29 Jon Lee <jonlee@apple.com> 7153 7154 Added missing exports for Windows. 7155 7156 * win/WebKit2Generated.make: 7157 71582012-08-29 Jon Lee <jonlee@apple.com> 7159 7160 Windows build fix. 7161 7162 * win/WebKit2Generated.make: Export WKNotificationManager.h. 7163 71642012-08-29 Jon Lee <jonlee@apple.com> 7165 7166 [WK2] Add SPI to retrieve internal IDs for web notifications 7167 https://bugs.webkit.org/show_bug.cgi?id=95100 7168 <rdar://problem/12180208> 7169 7170 Reviewed by Alexey Proskuryakov. 7171 7172 This is work toward providing Mac support for web notifications in DRT and WTR (77969). 7173 7174 Add function to retrieve the internal ID for a notification. This is needed by tests to support simulating 7175 a user click on a notification. 7176 7177 * DerivedSources.pri: Expose JSNotification.h as private header. 7178 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 7179 (WKBundleGetWebNotificationID): Calls into notification manager to get internal ID. 7180 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able 7181 retrieve notification ID. 7182 * WebProcess/InjectedBundle/InjectedBundle.cpp: 7183 (WebKit::InjectedBundle::webNotificationID): 7184 (WebKit): 7185 * WebProcess/InjectedBundle/InjectedBundle.h: 7186 (InjectedBundle): 7187 * WebProcess/Notifications/WebNotificationManager.cpp: 7188 (WebKit::WebNotificationManager::notificationIDForTesting): 7189 (WebKit): 7190 * WebProcess/Notifications/WebNotificationManager.h: 7191 (WebNotificationManager): 7192 71932012-08-28 Martin Robinson <mrobinson@igalia.com> 7194 7195 [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers 7196 https://bugs.webkit.org/show_bug.cgi?id=95272 7197 7198 Reviewed by No'am Rosenthal. 7199 7200 Turn on edge-distance anti-aliasing for GTK+ WebKit2. This 7201 improves the quality of layer rendering. 7202 7203 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 7204 (WebKit::LayerTreeHostGtk::initialize): 7205 72062012-08-28 Kangil Han <kangil.han@samsung.com> 7207 7208 [WK2] Use explicit constructor in PageClientImpl. 7209 https://bugs.webkit.org/show_bug.cgi?id=95170 7210 7211 Reviewed by Darin Adler. 7212 7213 Added explicit keyword in constructor of PageClientImpl in order to avoid implicit type conversion. 7214 7215 * UIProcess/API/gtk/PageClientImpl.h: 7216 (PageClientImpl): 7217 * UIProcess/API/mac/PageClientImpl.h: 7218 (PageClientImpl): 7219 72202012-08-28 Rik Cabanier <cabanier@adobe.com> 7221 7222 Add ENABLE_CSS_COMPOSITING flag to WebKit2 project 7223 https://bugs.webkit.org/show_bug.cgi?id=95227 7224 7225 Reviewed by Dirk Schulze. 7226 7227 The WebKit2 project was not updated to compile with the CSS_COMPOSITING flag. 7228 This caused crashes when the webkit2 code had to use that flag. 7229 7230 * Configurations/FeatureDefines.xcconfig: 7231 72322012-08-28 Sheriff Bot <webkit.review.bot@gmail.com> 7233 7234 Unreviewed, rolling out r126914. 7235 http://trac.webkit.org/changeset/126914 7236 https://bugs.webkit.org/show_bug.cgi?id=95239 7237 7238 it breaks everything and fixes nothing (Requested by pizlo on 7239 #webkit). 7240 7241 * Platform/CoreIPC/ArgumentCoders.h: 7242 * Platform/CoreIPC/Connection.cpp: 7243 (CoreIPC::Connection::SyncMessageState::getOrCreate): 7244 (CoreIPC::Connection::waitForMessage): 7245 (CoreIPC::Connection::processIncomingMessage): 7246 * Platform/gtk/WorkQueueGtk.cpp: 7247 (WorkQueue::registerEventSourceHandler): 7248 (WorkQueue::unregisterEventSourceHandler): 7249 * Platform/mac/WorkQueueMac.cpp: 7250 (WorkQueue::unregisterMachPortEventHandler): 7251 * Shared/Plugins/NPRemoteObjectMap.cpp: 7252 (WebKit::NPRemoteObjectMap::pluginDestroyed): 7253 * Shared/UserMessageCoders.h: 7254 (WebKit::UserMessageEncoder::baseEncode): 7255 * Shared/WebPreferencesStore.cpp: 7256 (WebKit::valueForKey): 7257 (WebKit::WebPreferencesStore::getBoolValueForKey): 7258 * Shared/mac/WebCoreArgumentCodersMac.mm: 7259 (CoreIPC::::decode): 7260 * Shared/qt/ArgumentCodersQt.cpp: 7261 (CoreIPC::::decode): 7262 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 7263 (CoreIPC::::decode): 7264 * UIProcess/API/efl/ewk_back_forward_list.cpp: 7265 (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List): 7266 * UIProcess/API/efl/ewk_context.cpp: 7267 (_Ewk_Context::~_Ewk_Context): 7268 * UIProcess/API/efl/ewk_view.cpp: 7269 (_ewk_view_priv_loading_resources_clear): 7270 * UIProcess/API/gtk/WebKitWebView.cpp: 7271 (webkit_web_view_get_subresources): 7272 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7273 (webkitWebViewBaseContainerForall): 7274 * UIProcess/API/mac/WKPrintingView.mm: 7275 (-[WKPrintingView _expectedPreviewCallbackForRect:]): 7276 (pageDidDrawToPDF): 7277 (-[WKPrintingView _drawPreview:]): 7278 * UIProcess/API/mac/WKView.mm: 7279 (commandNameForSelector): 7280 (-[WKView validateUserInterfaceItem:]): 7281 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: 7282 (WebKit::CoordinatedBackingStore::updateTile): 7283 (WebKit::CoordinatedBackingStore::texture): 7284 (WebKit::CoordinatedBackingStore::paintToTextureMapper): 7285 (WebKit::CoordinatedBackingStore::commitTileOperations): 7286 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 7287 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 7288 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 7289 (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers): 7290 (WebKit::LayerTreeRenderer::syncCanvas): 7291 (WebKit::LayerTreeRenderer::setLayerChildren): 7292 (WebKit::LayerTreeRenderer::setLayerFilters): 7293 (WebKit::LayerTreeRenderer::setLayerState): 7294 (WebKit::LayerTreeRenderer::assignImageToLayer): 7295 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 7296 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): 7297 * UIProcess/InspectorServer/WebInspectorServer.cpp: 7298 (WebKit::WebInspectorServer::~WebInspectorServer): 7299 (WebKit::WebInspectorServer::registerPage): 7300 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 7301 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 7302 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 7303 (WebKit::WebInspectorServer::buildPageList): 7304 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 7305 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 7306 * UIProcess/Plugins/PluginProcessProxy.cpp: 7307 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 7308 * UIProcess/WebContext.cpp: 7309 (WebKit::createDictionaryFromHashMap): 7310 * UIProcess/WebIconDatabase.cpp: 7311 (WebKit::WebIconDatabase::didFinishURLImport): 7312 * UIProcess/WebIntentData.cpp: 7313 (WebKit::WebIntentData::extras): 7314 * UIProcess/WebProcessProxy.cpp: 7315 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 7316 (WebKit::WebProcessProxy::addBackForwardItem): 7317 (WebKit::WebProcessProxy::frameCountInPage): 7318 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 7319 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 7320 (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision): 7321 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7322 (WebKit::InjectedBundleNodeHandle::getOrCreate): 7323 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 7324 (WebKit::InjectedBundleRangeHandle::getOrCreate): 7325 * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: 7326 (WebKit::InjectedBundleIntent::extras): 7327 * WebProcess/Notifications/WebNotificationManager.cpp: 7328 (WebKit::WebNotificationManager::policyForOrigin): 7329 (WebKit::WebNotificationManager::show): 7330 (WebKit::WebNotificationManager::clearNotifications): 7331 (WebKit::WebNotificationManager::removeNotificationFromContextMap): 7332 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 7333 (WebKit::NPRuntimeObjectMap::invalidate): 7334 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7335 (WebKit::NetscapePlugin::destroyStream): 7336 (WebKit::NetscapePlugin::unscheduleTimer): 7337 (WebKit::NetscapePlugin::frameDidFinishLoading): 7338 (WebKit::NetscapePlugin::frameDidFail): 7339 * WebProcess/Plugins/PluginView.cpp: 7340 (WebKit::buildHTTPHeaders): 7341 (WebKit::PluginView::~PluginView): 7342 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 7343 (WebCore::CoordinatedGraphicsLayer::layerByID): 7344 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 7345 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 7346 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 7347 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 7348 (WebKit::WebBackForwardListProxy::removeItem): 7349 * WebProcess/WebPage/mac/WebPageMac.mm: 7350 (WebKit::commandNameForSelectorName): 7351 * WebProcess/WebProcess.cpp: 7352 (WebKit::WebProcess::visitedLinkStateChanged): 7353 (WebKit::WebProcess::allVisitedLinkStateChanged): 7354 (WebKit::WebProcess::focusedWebPage): 7355 (WebKit::WebProcess::createWebPage): 7356 (WebKit::WebProcess::webPageGroup): 7357 (WebKit::fromCountedSetToHashMap): 7358 (WebKit::WebProcess::setTextCheckerState): 7359 73602012-08-28 Alexey Proskuryakov <ap@apple.com> 7361 7362 [WK2] Expose process model as API 7363 https://bugs.webkit.org/show_bug.cgi?id=95228 7364 7365 Reviewed by Jon Honeycutt. 7366 7367 * UIProcess/API/C/WKAPICast.h: 7368 (WebKit::toProcessModel): 7369 (WebKit::toAPI): 7370 Convert ProcessModel values. 7371 7372 * UIProcess/API/C/WKContext.cpp: 7373 (WKContextSetProcessModel): 7374 (WKContextGetProcessModel): 7375 * UIProcess/API/C/WKContext.h: 7376 * UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel): 7377 * UIProcess/WebContext.h: 7378 Added a setter and a getter. Setting process model is only allowed when there are 7379 no processes yet - that's checked with a CRASH to guarantee that clients using 7380 production builds of WebKit2 don't misstep. 7381 73822012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 7383 7384 Rename first/second to key/value in HashMap iterators 7385 https://bugs.webkit.org/show_bug.cgi?id=82784 7386 7387 Reviewed by Eric Seidel. 7388 7389 * Platform/CoreIPC/ArgumentCoders.h: 7390 * Platform/CoreIPC/Connection.cpp: 7391 (CoreIPC::Connection::SyncMessageState::getOrCreate): 7392 (CoreIPC::Connection::waitForMessage): 7393 (CoreIPC::Connection::processIncomingMessage): 7394 * Platform/gtk/WorkQueueGtk.cpp: 7395 (WorkQueue::registerEventSourceHandler): 7396 (WorkQueue::unregisterEventSourceHandler): 7397 * Platform/mac/WorkQueueMac.cpp: 7398 (WorkQueue::unregisterMachPortEventHandler): 7399 * Shared/Plugins/NPRemoteObjectMap.cpp: 7400 (WebKit::NPRemoteObjectMap::pluginDestroyed): 7401 * Shared/UserMessageCoders.h: 7402 (WebKit::UserMessageEncoder::baseEncode): 7403 * Shared/WebPreferencesStore.cpp: 7404 (WebKit::valueForKey): 7405 (WebKit::WebPreferencesStore::getBoolValueForKey): 7406 * Shared/mac/WebCoreArgumentCodersMac.mm: 7407 (CoreIPC::::decode): 7408 * Shared/qt/ArgumentCodersQt.cpp: 7409 (CoreIPC::::decode): 7410 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 7411 (CoreIPC::::decode): 7412 * UIProcess/API/efl/ewk_back_forward_list.cpp: 7413 (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List): 7414 * UIProcess/API/efl/ewk_context.cpp: 7415 (_Ewk_Context::~_Ewk_Context): 7416 * UIProcess/API/efl/ewk_view.cpp: 7417 (_ewk_view_priv_loading_resources_clear): 7418 * UIProcess/API/gtk/WebKitWebView.cpp: 7419 (webkit_web_view_get_subresources): 7420 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7421 (webkitWebViewBaseContainerForall): 7422 * UIProcess/API/mac/WKPrintingView.mm: 7423 (-[WKPrintingView _expectedPreviewCallbackForRect:]): 7424 (pageDidDrawToPDF): 7425 (-[WKPrintingView _drawPreview:]): 7426 * UIProcess/API/mac/WKView.mm: 7427 (commandNameForSelector): 7428 (-[WKView validateUserInterfaceItem:]): 7429 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: 7430 (WebKit::CoordinatedBackingStore::updateTile): 7431 (WebKit::CoordinatedBackingStore::texture): 7432 (WebKit::CoordinatedBackingStore::paintToTextureMapper): 7433 (WebKit::CoordinatedBackingStore::commitTileOperations): 7434 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 7435 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 7436 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 7437 (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers): 7438 (WebKit::LayerTreeRenderer::syncCanvas): 7439 (WebKit::LayerTreeRenderer::setLayerChildren): 7440 (WebKit::LayerTreeRenderer::setLayerFilters): 7441 (WebKit::LayerTreeRenderer::setLayerState): 7442 (WebKit::LayerTreeRenderer::assignImageToLayer): 7443 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 7444 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): 7445 * UIProcess/InspectorServer/WebInspectorServer.cpp: 7446 (WebKit::WebInspectorServer::~WebInspectorServer): 7447 (WebKit::WebInspectorServer::registerPage): 7448 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 7449 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 7450 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 7451 (WebKit::WebInspectorServer::buildPageList): 7452 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 7453 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 7454 * UIProcess/Plugins/PluginProcessProxy.cpp: 7455 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 7456 * UIProcess/WebContext.cpp: 7457 (WebKit::createDictionaryFromHashMap): 7458 * UIProcess/WebIconDatabase.cpp: 7459 (WebKit::WebIconDatabase::didFinishURLImport): 7460 * UIProcess/WebIntentData.cpp: 7461 (WebKit::WebIntentData::extras): 7462 * UIProcess/WebProcessProxy.cpp: 7463 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 7464 (WebKit::WebProcessProxy::addBackForwardItem): 7465 (WebKit::WebProcessProxy::frameCountInPage): 7466 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 7467 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 7468 (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision): 7469 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7470 (WebKit::InjectedBundleNodeHandle::getOrCreate): 7471 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 7472 (WebKit::InjectedBundleRangeHandle::getOrCreate): 7473 * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: 7474 (WebKit::InjectedBundleIntent::extras): 7475 * WebProcess/Notifications/WebNotificationManager.cpp: 7476 (WebKit::WebNotificationManager::policyForOrigin): 7477 (WebKit::WebNotificationManager::show): 7478 (WebKit::WebNotificationManager::clearNotifications): 7479 (WebKit::WebNotificationManager::removeNotificationFromContextMap): 7480 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 7481 (WebKit::NPRuntimeObjectMap::invalidate): 7482 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7483 (WebKit::NetscapePlugin::destroyStream): 7484 (WebKit::NetscapePlugin::unscheduleTimer): 7485 (WebKit::NetscapePlugin::frameDidFinishLoading): 7486 (WebKit::NetscapePlugin::frameDidFail): 7487 * WebProcess/Plugins/PluginView.cpp: 7488 (WebKit::buildHTTPHeaders): 7489 (WebKit::PluginView::~PluginView): 7490 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 7491 (WebCore::CoordinatedGraphicsLayer::layerByID): 7492 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 7493 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 7494 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 7495 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 7496 (WebKit::WebBackForwardListProxy::removeItem): 7497 * WebProcess/WebPage/mac/WebPageMac.mm: 7498 (WebKit::commandNameForSelectorName): 7499 * WebProcess/WebProcess.cpp: 7500 (WebKit::WebProcess::visitedLinkStateChanged): 7501 (WebKit::WebProcess::allVisitedLinkStateChanged): 7502 (WebKit::WebProcess::focusedWebPage): 7503 (WebKit::WebProcess::createWebPage): 7504 (WebKit::WebProcess::webPageGroup): 7505 (WebKit::fromCountedSetToHashMap): 7506 (WebKit::WebProcess::setTextCheckerState): 7507 75082012-08-28 Jon Lee <jonlee@apple.com> 7509 7510 [WK2] Bugs in maintenance of internal state when user decides whether to grant notification permissions 7511 https://bugs.webkit.org/show_bug.cgi?id=95220 7512 <rdar://problem/12189895> 7513 7514 Reviewed by Jessie Berlin. 7515 7516 A couple of the maps maintained by the request manager should have been cleaned up when the user decided on 7517 whether to grant a website permission to post notifications. 7518 7519 Also, the web process' copy of the permissions was not updated appropriately. This meant that in the 7520 permission callback, Notification.permission was not the same value as the permission value included as 7521 the first parameter of the callback. 7522 7523 This first surfaced as part of the work to bring Mac support for web notifications. I have a test that 7524 will check for regressions in this area, once all of that has been checked in (bug 77969). 7525 7526 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 7527 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): 7528 75292012-08-28 Jon Lee <jonlee@apple.com> 7530 7531 [WK2] Add SPI for injected bundle to manually set permissions 7532 https://bugs.webkit.org/show_bug.cgi?id=95127 7533 <rdar://problem/12182635> 7534 7535 Reviewed by Jessie Berlin. 7536 7537 This is work toward providing Mac support for web notifications in DRT and WTR (77969). 7538 7539 Add support functions to WebKit2 which maintain the map of permissions to origins for web notifications. 7540 For WebKit1 the map is managed by DumpRenderTree. 7541 7542 * WebProcess/InjectedBundle/InjectedBundle.h: Add TestRunner SPI. 7543 * WebProcess/InjectedBundle/InjectedBundle.cpp: 7544 (WebKit::InjectedBundle::setWebNotificationPermission): 7545 (WebKit::InjectedBundle::removeAllWebNotificationPermissions): 7546 7547 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Expose as WK API. Also, rearrange the ordering of the 7548 functions so that it reflects the same order found in InjectedBundle.h. 7549 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 7550 7551 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 7552 (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): Manually set the permission 7553 level for an origin. 7554 (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting): 7555 * WebProcess/Notifications/NotificationPermissionRequestManager.h: 7556 (NotificationPermissionRequestManager): 7557 * WebProcess/Notifications/WebNotificationManager.cpp: 7558 (WebKit::WebNotificationManager::removeAllPermissionsForTesting): Clear the permission map. 7559 * WebProcess/Notifications/WebNotificationManager.h: Promote didUpdateNotificationDecision message as public 7560 function, so that NotificationPermissionRequestManager can update the permission map. 7561 75622012-08-28 Christophe Dumez <christophe.dumez@intel.com> 7563 7564 [EFL] WebKit EFL updates view on HTTP 204 response 7565 https://bugs.webkit.org/show_bug.cgi?id=95199 7566 7567 Reviewed by Kenneth Rohde Christiansen. 7568 7569 Ignore HTTP responses which have status code equal 7570 to 204 (No Content). 7571 7572 * UIProcess/API/efl/ewk_view_policy_client.cpp: 7573 (decidePolicyForResponseCallback): 7574 75752012-08-28 Zeno Albisser <zeno@webkit.org> 7576 7577 LayerTreeCoordinatorProxy should use uint64_t for surface key. 7578 https://bugs.webkit.org/show_bug.cgi?id=95175 7579 7580 GraphicsSurface tokens are of type uint64_t. 7581 Therefore LayerTreeCoordinatorProxy must use the same type to 7582 identify a GraphicsSurface/ShareableSurface. 7583 7584 Reviewed by Noam Rosenthal. 7585 7586 * Shared/ShareableSurface.h: 7587 (WebKit::ShareableSurface::Handle::graphicsSurfaceToken): 7588 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 7589 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 7590 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: 7591 (LayerTreeCoordinatorProxy): 7592 75932012-08-28 Ryuan Choi <ryuan.choi@samsung.com> 7594 7595 [EFL][WK2] Implement WebPopupMenuProxyEfl to support <select> 7596 https://bugs.webkit.org/show_bug.cgi?id=88616 7597 7598 Reviewed by Gyuyoung Kim. 7599 7600 Implemented popup menu proxy and interface for Efl. 7601 7602 Applications should implement popup menu by overriding 7603 smart class function to support select tag. 7604 7605 * PlatformEfl.cmake: 7606 * UIProcess/API/efl/EWebKit2.h: Included ewk_popup_menu_item.h 7607 * UIProcess/API/efl/PageClientImpl.cpp: 7608 (WebKit::PageClientImpl::createPopupMenuProxy): 7609 * UIProcess/API/efl/ewk_popup_menu_item.cpp: Added. 7610 (_Ewk_Popup_Menu_Item): 7611 (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item): 7612 (ewk_popup_menu_item_new): 7613 (ewk_popup_menu_item_free): 7614 (ewk_popup_menu_item_type_get): Added API to retrieve type of item. 7615 (ewk_popup_menu_item_text_get): Added API to retrieve text of item. 7616 * UIProcess/API/efl/ewk_popup_menu_item.h: Added. 7617 * UIProcess/API/efl/ewk_popup_menu_item_private.h: Added. 7618 * UIProcess/API/efl/ewk_view.cpp: 7619 (_Ewk_View_Private_Data): 7620 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 7621 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 7622 (ewk_view_popup_menu_request): Added to call popup_menu_show, smart class function. 7623 (ewk_view_popup_menu_close): Added API to call popup_menu_hide, smart class function. 7624 (ewk_view_popup_menu_select): Added API to change selected index. 7625 * UIProcess/API/efl/ewk_view.h: 7626 Added smart class function for applications to override. 7627 * UIProcess/API/efl/ewk_view_private.h: 7628 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 7629 (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase): 7630 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 7631 (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync): 7632 (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished): 7633 Extracted from loadUrlSync for tests using ewk_view_html_string_load to 7634 share onLoadFinished. 7635 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 7636 (EWK2UnitTest::EWK2UnitTestBase::ewkViewClass): 7637 Added ewkViewClass to test smart methods such as popup_menu_show. 7638 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 7639 (popup_menu_show): 7640 (TEST_F): Added a test case for ewk_view_popup_menu_select and related codes. 7641 * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Added. 7642 (WebKit): 7643 (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl): 7644 (WebKit::WebPopupMenuProxyEfl::showPopupMenu): 7645 (WebKit::WebPopupMenuProxyEfl::hidePopupMenu): 7646 (WebKit::WebPopupMenuProxyEfl::valueChanged): 7647 * UIProcess/efl/WebPopupMenuProxyEfl.h: Added. 7648 (WebPopupMenuProxyEfl): 7649 (WebKit::WebPopupMenuProxyEfl::create): 7650 76512012-08-27 Kangil Han <kangil.han@samsung.com> 7652 7653 [EFL][WK2] Fix PageClientImpl layer violation 7654 https://bugs.webkit.org/show_bug.cgi?id=94906 7655 7656 Reviewed by Gyuyoung Kim. 7657 7658 Given WK2 hierarchy, current PageClientImpl has violated API layer by having WebPageProxy. 7659 Subsequently, it has been given WebContext, static singleton object, in its argument unnecessarily. 7660 Therefore, this patch moved WebPageProxy from PageClientImpl to Ewk_View_Private_Data. 7661 Plus, WebContext was removed from PageClientImpl since it is not needed anymore. 7662 As a result, EFL has same form of PageClientImpl with other ports, i.e. gtk+ and mac. 7663 From API point of view, nothing has been changed because all things done locally. 7664 7665 * UIProcess/API/efl/PageClientImpl.cpp: 7666 (WebKit::PageClientImpl::PageClientImpl): 7667 (WebKit::PageClientImpl::createDrawingAreaProxy): 7668 * UIProcess/API/efl/PageClientImpl.h: 7669 (WebKit::PageClientImpl::create): 7670 (PageClientImpl): 7671 * UIProcess/API/efl/ewk_view.cpp: 7672 (_Ewk_View_Private_Data): 7673 (_ewk_view_smart_focus_in): 7674 (_ewk_view_smart_focus_out): 7675 (_ewk_view_smart_mouse_wheel): 7676 (_ewk_view_smart_mouse_down): 7677 (_ewk_view_smart_mouse_up): 7678 (_ewk_view_smart_mouse_move): 7679 (_ewk_view_smart_key_down): 7680 (_ewk_view_smart_key_up): 7681 (_ewk_view_smart_calculate): 7682 (_ewk_view_smart_color_set): 7683 (_ewk_view_initialize): 7684 (ewk_view_uri_update): 7685 (ewk_view_uri_set): 7686 (ewk_view_reload): 7687 (ewk_view_reload_bypass_cache): 7688 (ewk_view_stop): 7689 (ewk_view_title_get): 7690 (ewk_view_load_progress_get): 7691 (ewk_view_scale_set): 7692 (ewk_view_scale_get): 7693 (ewk_view_device_pixel_ratio_set): 7694 (ewk_view_device_pixel_ratio_get): 7695 (ewk_view_theme_set): 7696 (ewk_view_back): 7697 (ewk_view_forward): 7698 (ewk_view_intent_deliver): 7699 (ewk_view_back_possible): 7700 (ewk_view_forward_possible): 7701 (ewk_view_html_string_load): 7702 (ewk_view_page_get): 7703 (ewk_view_setting_encoding_custom_get): 7704 (ewk_view_setting_encoding_custom_set): 7705 (ewk_view_text_find): 7706 (ewk_view_text_find_highlight_clear): 7707 77082012-08-27 Sheriff Bot <webkit.review.bot@gmail.com> 7709 7710 Unreviewed, rolling out r126836. 7711 http://trac.webkit.org/changeset/126836 7712 https://bugs.webkit.org/show_bug.cgi?id=95163 7713 7714 Broke all Apple ports, EFL, and Qt. (Requested by tkent on 7715 #webkit). 7716 7717 * Platform/CoreIPC/ArgumentCoders.h: 7718 * Platform/CoreIPC/Connection.cpp: 7719 (CoreIPC::Connection::SyncMessageState::getOrCreate): 7720 (CoreIPC::Connection::waitForMessage): 7721 (CoreIPC::Connection::processIncomingMessage): 7722 * Platform/gtk/WorkQueueGtk.cpp: 7723 (WorkQueue::registerEventSourceHandler): 7724 (WorkQueue::unregisterEventSourceHandler): 7725 * Platform/mac/WorkQueueMac.cpp: 7726 (WorkQueue::unregisterMachPortEventHandler): 7727 * Shared/Plugins/NPRemoteObjectMap.cpp: 7728 (WebKit::NPRemoteObjectMap::pluginDestroyed): 7729 * Shared/UserMessageCoders.h: 7730 (WebKit::UserMessageEncoder::baseEncode): 7731 * Shared/WebPreferencesStore.cpp: 7732 (WebKit::valueForKey): 7733 (WebKit::WebPreferencesStore::getBoolValueForKey): 7734 * Shared/mac/WebCoreArgumentCodersMac.mm: 7735 (CoreIPC::::decode): 7736 * Shared/qt/ArgumentCodersQt.cpp: 7737 (CoreIPC::::decode): 7738 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 7739 (CoreIPC::::decode): 7740 * UIProcess/API/efl/ewk_back_forward_list.cpp: 7741 (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List): 7742 * UIProcess/API/efl/ewk_context.cpp: 7743 (_Ewk_Context::~_Ewk_Context): 7744 * UIProcess/API/efl/ewk_view.cpp: 7745 (_ewk_view_priv_loading_resources_clear): 7746 * UIProcess/API/gtk/WebKitWebView.cpp: 7747 (webkit_web_view_get_subresources): 7748 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7749 (webkitWebViewBaseContainerForall): 7750 * UIProcess/API/mac/WKPrintingView.mm: 7751 (-[WKPrintingView _expectedPreviewCallbackForRect:]): 7752 (pageDidDrawToPDF): 7753 (-[WKPrintingView _drawPreview:]): 7754 * UIProcess/API/mac/WKView.mm: 7755 (commandNameForSelector): 7756 (-[WKView validateUserInterfaceItem:]): 7757 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: 7758 (WebKit::CoordinatedBackingStore::updateTile): 7759 (WebKit::CoordinatedBackingStore::texture): 7760 (WebKit::CoordinatedBackingStore::paintToTextureMapper): 7761 (WebKit::CoordinatedBackingStore::commitTileOperations): 7762 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 7763 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 7764 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 7765 (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers): 7766 (WebKit::LayerTreeRenderer::syncCanvas): 7767 (WebKit::LayerTreeRenderer::setLayerChildren): 7768 (WebKit::LayerTreeRenderer::setLayerFilters): 7769 (WebKit::LayerTreeRenderer::setLayerState): 7770 (WebKit::LayerTreeRenderer::assignImageToLayer): 7771 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 7772 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): 7773 * UIProcess/InspectorServer/WebInspectorServer.cpp: 7774 (WebKit::WebInspectorServer::~WebInspectorServer): 7775 (WebKit::WebInspectorServer::registerPage): 7776 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 7777 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 7778 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 7779 (WebKit::WebInspectorServer::buildPageList): 7780 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 7781 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 7782 * UIProcess/Plugins/PluginProcessProxy.cpp: 7783 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 7784 * UIProcess/WebContext.cpp: 7785 (WebKit::createDictionaryFromHashMap): 7786 * UIProcess/WebIconDatabase.cpp: 7787 (WebKit::WebIconDatabase::didFinishURLImport): 7788 * UIProcess/WebIntentData.cpp: 7789 (WebKit::WebIntentData::extras): 7790 * UIProcess/WebProcessProxy.cpp: 7791 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 7792 (WebKit::WebProcessProxy::addBackForwardItem): 7793 (WebKit::WebProcessProxy::frameCountInPage): 7794 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 7795 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 7796 (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision): 7797 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7798 (WebKit::InjectedBundleNodeHandle::getOrCreate): 7799 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 7800 (WebKit::InjectedBundleRangeHandle::getOrCreate): 7801 * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: 7802 (WebKit::InjectedBundleIntent::extras): 7803 * WebProcess/Notifications/WebNotificationManager.cpp: 7804 (WebKit::WebNotificationManager::policyForOrigin): 7805 (WebKit::WebNotificationManager::show): 7806 (WebKit::WebNotificationManager::clearNotifications): 7807 (WebKit::WebNotificationManager::removeNotificationFromContextMap): 7808 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 7809 (WebKit::NPRuntimeObjectMap::invalidate): 7810 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7811 (WebKit::NetscapePlugin::destroyStream): 7812 (WebKit::NetscapePlugin::unscheduleTimer): 7813 (WebKit::NetscapePlugin::frameDidFinishLoading): 7814 (WebKit::NetscapePlugin::frameDidFail): 7815 * WebProcess/Plugins/PluginView.cpp: 7816 (WebKit::buildHTTPHeaders): 7817 (WebKit::PluginView::~PluginView): 7818 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 7819 (WebCore::CoordinatedGraphicsLayer::layerByID): 7820 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 7821 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 7822 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 7823 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 7824 (WebKit::WebBackForwardListProxy::removeItem): 7825 * WebProcess/WebPage/mac/WebPageMac.mm: 7826 (WebKit::commandNameForSelectorName): 7827 * WebProcess/WebProcess.cpp: 7828 (WebKit::WebProcess::visitedLinkStateChanged): 7829 (WebKit::WebProcess::allVisitedLinkStateChanged): 7830 (WebKit::WebProcess::focusedWebPage): 7831 (WebKit::WebProcess::createWebPage): 7832 (WebKit::WebProcess::webPageGroup): 7833 (WebKit::fromCountedSetToHashMap): 7834 (WebKit::WebProcess::setTextCheckerState): 7835 78362012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 7837 7838 Rename first/second to key/value in HashMap iterators 7839 https://bugs.webkit.org/show_bug.cgi?id=82784 7840 7841 Reviewed by Eric Seidel. 7842 7843 * Platform/CoreIPC/ArgumentCoders.h: 7844 * Platform/CoreIPC/Connection.cpp: 7845 (CoreIPC::Connection::SyncMessageState::getOrCreate): 7846 (CoreIPC::Connection::waitForMessage): 7847 (CoreIPC::Connection::processIncomingMessage): 7848 * Platform/gtk/WorkQueueGtk.cpp: 7849 (WorkQueue::registerEventSourceHandler): 7850 (WorkQueue::unregisterEventSourceHandler): 7851 * Platform/mac/WorkQueueMac.cpp: 7852 (WorkQueue::unregisterMachPortEventHandler): 7853 * Shared/Plugins/NPRemoteObjectMap.cpp: 7854 (WebKit::NPRemoteObjectMap::pluginDestroyed): 7855 * Shared/UserMessageCoders.h: 7856 (WebKit::UserMessageEncoder::baseEncode): 7857 * Shared/WebPreferencesStore.cpp: 7858 (WebKit::valueForKey): 7859 (WebKit::WebPreferencesStore::getBoolValueForKey): 7860 * Shared/mac/WebCoreArgumentCodersMac.mm: 7861 (CoreIPC::::decode): 7862 * Shared/qt/ArgumentCodersQt.cpp: 7863 (CoreIPC::::decode): 7864 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 7865 (CoreIPC::::decode): 7866 * UIProcess/API/efl/ewk_back_forward_list.cpp: 7867 (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List): 7868 * UIProcess/API/efl/ewk_context.cpp: 7869 (_Ewk_Context::~_Ewk_Context): 7870 * UIProcess/API/efl/ewk_view.cpp: 7871 (_ewk_view_priv_loading_resources_clear): 7872 * UIProcess/API/gtk/WebKitWebView.cpp: 7873 (webkit_web_view_get_subresources): 7874 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7875 (webkitWebViewBaseContainerForall): 7876 * UIProcess/API/mac/WKPrintingView.mm: 7877 (-[WKPrintingView _expectedPreviewCallbackForRect:]): 7878 (pageDidDrawToPDF): 7879 (-[WKPrintingView _drawPreview:]): 7880 * UIProcess/API/mac/WKView.mm: 7881 (commandNameForSelector): 7882 (-[WKView validateUserInterfaceItem:]): 7883 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: 7884 (WebKit::CoordinatedBackingStore::updateTile): 7885 (WebKit::CoordinatedBackingStore::texture): 7886 (WebKit::CoordinatedBackingStore::paintToTextureMapper): 7887 (WebKit::CoordinatedBackingStore::commitTileOperations): 7888 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 7889 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 7890 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 7891 (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers): 7892 (WebKit::LayerTreeRenderer::syncCanvas): 7893 (WebKit::LayerTreeRenderer::setLayerChildren): 7894 (WebKit::LayerTreeRenderer::setLayerFilters): 7895 (WebKit::LayerTreeRenderer::setLayerState): 7896 (WebKit::LayerTreeRenderer::assignImageToLayer): 7897 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 7898 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): 7899 * UIProcess/InspectorServer/WebInspectorServer.cpp: 7900 (WebKit::WebInspectorServer::~WebInspectorServer): 7901 (WebKit::WebInspectorServer::registerPage): 7902 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 7903 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 7904 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 7905 (WebKit::WebInspectorServer::buildPageList): 7906 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 7907 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 7908 * UIProcess/Plugins/PluginProcessProxy.cpp: 7909 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 7910 * UIProcess/WebContext.cpp: 7911 (WebKit::createDictionaryFromHashMap): 7912 * UIProcess/WebIconDatabase.cpp: 7913 (WebKit::WebIconDatabase::didFinishURLImport): 7914 * UIProcess/WebIntentData.cpp: 7915 (WebKit::WebIntentData::extras): 7916 * UIProcess/WebProcessProxy.cpp: 7917 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 7918 (WebKit::WebProcessProxy::addBackForwardItem): 7919 (WebKit::WebProcessProxy::frameCountInPage): 7920 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 7921 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 7922 (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision): 7923 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7924 (WebKit::InjectedBundleNodeHandle::getOrCreate): 7925 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 7926 (WebKit::InjectedBundleRangeHandle::getOrCreate): 7927 * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: 7928 (WebKit::InjectedBundleIntent::extras): 7929 * WebProcess/Notifications/WebNotificationManager.cpp: 7930 (WebKit::WebNotificationManager::policyForOrigin): 7931 (WebKit::WebNotificationManager::show): 7932 (WebKit::WebNotificationManager::clearNotifications): 7933 (WebKit::WebNotificationManager::removeNotificationFromContextMap): 7934 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 7935 (WebKit::NPRuntimeObjectMap::invalidate): 7936 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7937 (WebKit::NetscapePlugin::destroyStream): 7938 (WebKit::NetscapePlugin::unscheduleTimer): 7939 (WebKit::NetscapePlugin::frameDidFinishLoading): 7940 (WebKit::NetscapePlugin::frameDidFail): 7941 * WebProcess/Plugins/PluginView.cpp: 7942 (WebKit::buildHTTPHeaders): 7943 (WebKit::PluginView::~PluginView): 7944 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 7945 (WebCore::CoordinatedGraphicsLayer::layerByID): 7946 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 7947 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 7948 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 7949 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 7950 (WebKit::WebBackForwardListProxy::removeItem): 7951 * WebProcess/WebPage/mac/WebPageMac.mm: 7952 (WebKit::commandNameForSelectorName): 7953 * WebProcess/WebProcess.cpp: 7954 (WebKit::WebProcess::visitedLinkStateChanged): 7955 (WebKit::WebProcess::allVisitedLinkStateChanged): 7956 (WebKit::WebProcess::focusedWebPage): 7957 (WebKit::WebProcess::createWebPage): 7958 (WebKit::WebProcess::webPageGroup): 7959 (WebKit::fromCountedSetToHashMap): 7960 (WebKit::WebProcess::setTextCheckerState): 7961 79622012-08-27 Simon Fraser <simon.fraser@apple.com> 7963 7964 Make Force Repaint work with tiled backing store 7965 https://bugs.webkit.org/show_bug.cgi?id=95102 7966 7967 Reviewed by Dan Bernstein. 7968 7969 Have forceRepaint() call down to the tiled backing of each FrameView, 7970 so they can repaint. 7971 7972 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 7973 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint): 7974 79752012-08-27 Rafael Brandao <rafael.lobo@openbossa.org> 7976 7977 [Qt] Fix typo in CoordinatedGraphicsLayer::syncAnimatedProperties 7978 https://bugs.webkit.org/show_bug.cgi?id=95085 7979 7980 Reviewed by Noam Rosenthal. 7981 7982 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: The flag should be disabled 7983 once we process the sync for animated properties. Previously, it was never disabling it once enabled. 7984 79852012-08-27 Philippe Normand <pnormand@igalia.com> 7986 7987 [GStreamer][Qt] WebAudio support 7988 https://bugs.webkit.org/show_bug.cgi?id=94806 7989 7990 Reviewed by Simon Hausmann. 7991 7992 New boolean webAudioEnabled WebSetting to be used at runtime to 7993 toggle WebAudio support on or off. 7994 7995 * UIProcess/API/qt/qwebpreferences.cpp: 7996 (QWebPreferencesPrivate::testAttribute): 7997 (QWebPreferencesPrivate::setAttribute): 7998 (QWebPreferences::webAudioEnabled): 7999 (QWebPreferences::setWebAudioEnabled): 8000 * UIProcess/API/qt/qwebpreferences_p.h: 8001 * UIProcess/API/qt/qwebpreferences_p_p.h: 8002 80032012-08-27 Simon Hausmann <simon.hausmann@nokia.com> 8004 8005 [Qt][WK2] REGRESSION(r126067): It made qmltests::DoubleTapToZoom::test_basic() fail 8006 https://bugs.webkit.org/show_bug.cgi?id=94949 8007 8008 Reviewed by Kenneth Rohde Christiansen. 8009 8010 Use JSON to serialize the client rect for the async evaluateJavaScript call. 8011 8012 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: 8013 80142012-08-27 Simon Hausmann <simon.hausmann@nokia.com> 8015 8016 [Qt] Fix failing QML2 auto tests due to conflicting signal declaration 8017 https://bugs.webkit.org/show_bug.cgi?id=95059 8018 8019 Reviewed by Kenneth Rohde Christiansen. 8020 8021 Don't define a scaleChanged signal when QQuickItem already declares one to notify about changes 8022 in the scale property. As it turns out there is not need for declaring a signal in the test case 8023 at all. 8024 8025 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: 8026 * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: 8027 80282012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8029 8030 Rename RegisterProtocolHandler API to NavigatorContentUtils 8031 https://bugs.webkit.org/show_bug.cgi?id=94920 8032 8033 Reviewed by Adam Barth. 8034 8035 Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed. 8036 8037 * Configurations/FeatureDefines.xcconfig: 8038 * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h. 8039 (WebKit): 8040 (WebNavigatorContentUtilsClient): 8041 (WebKit::WebNavigatorContentUtilsClient::~WebNavigatorContentUtilsClient): 8042 (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered): 8043 (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler): 8044 80452012-08-25 Vivek Galatage <vivekgalatage@gmail.com> 8046 8047 WinCairo Build Broken due to missing export definitions 8048 https://bugs.webkit.org/show_bug.cgi?id=95007 8049 8050 Reviewed by Ryosuke Niwa. 8051 8052 Export symbols were missing from the def file for WinCairo port. Added 8053 these missing symbols to avoid build break 8054 8055 * win/WebKit2CFLite.def: 8056 80572012-08-24 Alexey Proskuryakov <ap@apple.com> 8058 8059 <rdar://problem/12157689> REGRESSION: WebProcessProxy destructor is sometimes called recursively 8060 https://bugs.webkit.org/show_bug.cgi?id=94997 8061 8062 Reviewed by Dan Bernstein. 8063 8064 * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess): Make sure that 8065 we don't try to delete WebProcessProxy while the vector still contains it. Previously, 8066 we used RefPtr::clear, which zeroes out the value before destructing, but doing that 8067 in every RefPtr destructor would be bad for performance. 8068 80692012-08-24 Benjamin Poulain <bpoulain@apple.com> 8070 8071 Unify Number to StringImpl conversion 8072 https://bugs.webkit.org/show_bug.cgi?id=94879 8073 8074 Reviewed by Geoffrey Garen. 8075 8076 * win/WebKit2.def: Update the exported symbols. 8077 80782012-08-24 Andras Becsi <andras.becsi@nokia.com> 8079 8080 [Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests 8081 https://bugs.webkit.org/show_bug.cgi?id=88531 8082 8083 Reviewed by Kenneth Rohde Christiansen. 8084 8085 Defer setting the custom device pixel ratio until the page item has 8086 a valid size to make sure that the scale factor reaches the web process. 8087 8088 QML test based on patch by Alexander Færøy. 8089 8090 * UIProcess/API/qt/qquickwebview.cpp: 8091 (QQuickWebViewPrivate::QQuickWebViewPrivate): 8092 (QQuickWebViewPrivate::didRelaunchProcess): 8093 (QQuickWebViewPrivate::didChangeContentsSize): 8094 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 8095 (QQuickWebViewExperimental::devicePixelRatio): 8096 (QQuickWebViewExperimental::setDevicePixelRatio): 8097 * UIProcess/API/qt/qquickwebview_p.h: 8098 * UIProcess/API/qt/qquickwebview_p_p.h: 8099 (QQuickWebViewPrivate): 8100 * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added. 8101 Test case for the QML device pixel ratio API. 8102 81032012-08-24 Kangil Han <kangil.han@samsung.com> 8104 8105 [EFL] Fix compile warning 8106 https://bugs.webkit.org/show_bug.cgi?id=94930 8107 8108 Reviewed by Kenneth Rohde Christiansen. 8109 8110 Fixed compile warning. 8111 8112 * UIProcess/API/efl/ewk_back_forward_list.cpp: 8113 (ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith] 8114 (ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith] 8115 81162012-08-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8117 8118 [EFL][WK2] Back-forward list API needs extension 8119 https://bugs.webkit.org/show_bug.cgi?id=94582 8120 8121 Reviewed by Kenneth Rohde Christiansen. 8122 8123 Added several new functions wrapping existing WK2 C back-forward list API 8124 and returning list of items preceding or following the current one. 8125 Corresponding API unit tests are also added. 8126 8127 * UIProcess/API/efl/ewk_back_forward_list.cpp: 8128 (createEinaList): 8129 (ewk_back_forward_list_n_back_items_copy): 8130 (ewk_back_forward_list_n_forward_items_copy): 8131 * UIProcess/API/efl/ewk_back_forward_list.h: 8132 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: 8133 (freeEinaList): 8134 (TEST_F): 8135 81362012-08-24 Michael Brüning <michaelbruening@gmail.com> 8137 8138 [Qt][WK2] Make viewport related experimental.test properties encapsulated. 8139 https://bugs.webkit.org/show_bug.cgi?id=88320 8140 8141 Reviewed by Kenneth Rohde Christiansen. 8142 8143 Introducing a new viewport attribute to QWebKitTest to group the viewport related 8144 attributes into one QJsonObject. Also adding a static method to convert a QSizeF to 8145 a QJsonObject. 8146 8147 * UIProcess/API/qt/qwebkittest.cpp: 8148 (qSizeFToJsonObject): 8149 (QWebKitTest::viewport): 8150 (QWebKitTest::devicePixelRatio): 8151 (QWebKitTest::contentsScale): 8152 * UIProcess/API/qt/qwebkittest_p.h: 8153 * UIProcess/qt/QtViewportHandler.cpp: 8154 (WebKit::QtViewportHandler::viewportAttributesChanged): 8155 81562012-08-23 Frederik Gladhorn <gladhorn@kde.org> 8157 8158 Make it possible to build WebKit with Python 3 (and 2) 8159 https://bugs.webkit.org/show_bug.cgi?id=94814 8160 8161 Reviewed by Ryosuke Niwa. 8162 8163 Exceptions need a hack to work with both. 8164 string.join was already deprecated in Python 2. 8165 Relative imports are no longer supported, use package name instead. 8166 8167 * Scripts/webkit2/messages.py: 8168 * Scripts/webkit2/parser.py: 8169 81702012-08-24 Mark Rowe <mrowe@apple.com> 8171 8172 <http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper. 8173 8174 Reviewed by Dan Bernstein. 8175 8176 This will allow relative imports within the webkit2 module to be removed in the future without 8177 requiring future changes to clients of the module. 8178 8179 * WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back 8180 as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders 8181 directory. We also need to add a script phase to clean up any .pyc files that may be present in 8182 the module. 8183 81842012-08-23 Sheriff Bot <webkit.review.bot@gmail.com> 8185 8186 Unreviewed, rolling out r126542. 8187 http://trac.webkit.org/changeset/126542 8188 https://bugs.webkit.org/show_bug.cgi?id=94907 8189 8190 Broke WK2 build on OS X (Requested by tronical_ on #webkit). 8191 8192 * Scripts/webkit2/messages.py: 8193 * Scripts/webkit2/parser.py: 8194 81952012-08-23 Frederik Gladhorn <gladhorn@kde.org> 8196 8197 Make it possible to build WebKit with Python 3 (and 2) 8198 https://bugs.webkit.org/show_bug.cgi?id=94814 8199 8200 Reviewed by Ryosuke Niwa. 8201 8202 Exceptions need a hack to work with both. 8203 string.join was already deprecated in Python 2. 8204 Relative imports are no longer supported, use package name instead. 8205 8206 * Scripts/webkit2/messages.py: 8207 * Scripts/webkit2/parser.py: 8208 82092012-08-23 Mark Hahnenberg <mhahnenberg@apple.com> 8210 8211 Change behavior of MasqueradesAsUndefined to better accommodate DFG changes 8212 https://bugs.webkit.org/show_bug.cgi?id=93884 8213 8214 Reviewed by Filip Pizlo. 8215 8216 With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 8217 MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 8218 we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 8219 objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 8220 For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 8221 masquerade as undefined within frame B, but it will continue to masquerade in frame A. 8222 8223 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 8224 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call. 8225 82262012-08-23 Brady Eidson <beidson@apple.com> 8227 8228 REGRESSION (r124815): PDF in frame does not display any more 8229 <rdar://problem/12063306> and https://bugs.webkit.org/show_bug.cgi?id=94869 8230 8231 Reviewed by Alexey Proskuryakov. 8232 8233 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: 8234 (WebKit::BuiltInPDFView::initialize): Tell the controller that initialization was successful. 8235 82362012-08-23 Mark Rowe <mrowe@apple.com> 8237 8238 Make WebKit2 build with the latest version of clang. 8239 8240 Reviewed by Dan Bernstein. 8241 8242 * Configurations/Base.xcconfig: Ensure that operator new isn't exported as a weak external symbol. 8243 82442012-08-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 8245 8246 [EFL] Use WTF_USE_SOUP instead BUILDING_SOUP__ 8247 https://bugs.webkit.org/show_bug.cgi?id=94744 8248 8249 Reviewed by Gustavo Noronha Silva. 8250 8251 Use #if defined(WTF_USE_SOUP) instead of #if defined(BUILDING_SOUP__) 8252 since the former is used everywhere. 8253 8254 * Shared/API/c/WKBase.h: 8255 82562012-08-23 Christophe Dumez <christophe.dumez@intel.com> 8257 8258 [EFL][WK2] Free ewk context data on program exit. 8259 https://bugs.webkit.org/show_bug.cgi?id=94808 8260 8261 Reviewed by Kenneth Rohde Christiansen. 8262 8263 Make sure the default Ewk_Context gets freed 8264 on program exit. 8265 8266 The patch also fixes leaking of WKContextRef 8267 inside Ewk_Context which should have been 8268 adopted. 8269 8270 * UIProcess/API/efl/ewk_context.cpp: 8271 (_Ewk_Context::_Ewk_Context): 8272 (ewk_context_default_get): 8273 82742012-08-23 Adrienne Walker <enne@google.com> 8275 8276 Convert ScrollableArea ASSERT_NOT_REACHED virtuals 8277 https://bugs.webkit.org/show_bug.cgi?id=93306 8278 8279 Reviewed by Darin Adler. 8280 8281 Add implementations where necessary to make derived classes concrete. 8282 Add OVERRIDE for ScrollableArea functions. 8283 8284 * UIProcess/win/WebPopupMenuProxyWin.cpp: 8285 (WebKit::WebPopupMenuProxyWin::visibleHeight): 8286 (WebKit): 8287 (WebKit::WebPopupMenuProxyWin::visibleWidth): 8288 (WebKit::WebPopupMenuProxyWin::contentsSize): 8289 (WebKit::WebPopupMenuProxyWin::scrollableAreaBoundingBox): 8290 * UIProcess/win/WebPopupMenuProxyWin.h: 8291 (WebPopupMenuProxyWin): 8292 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 8293 82942012-08-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8295 8296 [EFL][WK2] ewk_intent_request API test does not free Eina_List 8297 https://bugs.webkit.org/show_bug.cgi?id=94809 8298 8299 Reviewed by Kenneth Rohde Christiansen. 8300 8301 The used Eina_List should be freed due to ewk_intent_suggestions_get() documentation. 8302 8303 * UIProcess/API/efl/tests/test_ewk2_intents.cpp: 8304 (onIntentReceived): 8305 83062012-08-23 Andras Becsi <andras.becsi@nokia.com> 8307 8308 [Qt][WK2] Helper functions used by the raw webview tests should not be guarded by HAVE_QTQUICK 8309 8310 Reviewed by Simon Hausmann. 8311 8312 This fixes the build if the QtQuick module is not present. 8313 8314 * UIProcess/API/qt/tests/util.cpp: 8315 (messageHandler): 8316 (suppressDebugOutput): 8317 * UIProcess/API/qt/tests/util.h: 8318 83192012-08-23 Carlos Garcia Campos <cgarcia@igalia.com> 8320 8321 REGRESSION(r126306): it broke the plugin process 8322 https://bugs.webkit.org/show_bug.cgi?id=94797 8323 8324 Reviewed by Xan Lopez. 8325 8326 * GNUmakefile.am: 8327 83282012-08-23 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8329 8330 [WK2] Refactoring: WebBackForwardList getters should be const 8331 https://bugs.webkit.org/show_bug.cgi?id=94711 8332 8333 Reviewed by Kenneth Rohde Christiansen. 8334 8335 Before the change were not consistent with each other 8336 (WebBackForwardList::entries() was const but WebBackForwardList::currentIndex() was not). 8337 Besides having not const getters is not a good practice in C++. (Please read 8338 Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6. 8339 Item 3: 'Use const whenever possible'). 8340 8341 * UIProcess/WebBackForwardList.cpp: 8342 (WebKit::WebBackForwardList::backListCount): 8343 (WebKit::WebBackForwardList::forwardListCount): 8344 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 8345 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 8346 * UIProcess/WebBackForwardList.h: 8347 (WebKit::WebBackForwardList::currentIndex): 8348 (WebBackForwardList): 8349 83502012-08-22 Nikhil Bhargava <nbhargava@google.com> 8351 8352 Reduce Font.h includes across project -- improves RenderObject.h compile time 8353 https://bugs.webkit.org/show_bug.cgi?id=93629 8354 8355 Reviewed by Eric Seidel. 8356 8357 Adds includes due to change in RenderStyle.h 8358 8359 * WebProcess/WebPage/mac/WebPageMac.mm: 8360 83612012-08-22 Beth Dakin <bdakin@apple.com> 8362 8363 https://bugs.webkit.org/show_bug.cgi?id=94401 8364 Add support for making a web site become paginated using overflow: 8365 paged-x | paged-y 8366 -and corresponding- 8367 <rdar://problem/11831783> 8368 8369 Reviewed by Dave Hyatt. 8370 8371 WebCore::Page::Pagination is now just WebCore::Pagination. 8372 * Shared/WebPageCreationParameters.h: 8373 (WebPageCreationParameters): 8374 * UIProcess/API/C/WKPage.cpp: 8375 (WKPageSetPaginationMode): 8376 (WKPageGetPaginationMode): 8377 * UIProcess/WebPageProxy.cpp: 8378 (WebKit::WebPageProxy::WebPageProxy): 8379 (WebKit::WebPageProxy::setPaginationMode): 8380 * UIProcess/WebPageProxy.h: 8381 (WebPageProxy): 8382 (WebKit::WebPageProxy::paginationMode): 8383 * WebProcess/WebPage/WebPage.cpp: 8384 (WebKit::WebPage::setPaginationMode): 8385 (WebKit::WebPage::setPaginationBehavesLikeColumns): 8386 (WebKit::WebPage::setPageLength): 8387 (WebKit::WebPage::setGapBetweenPages): 8388 * WebProcess/WebPage/WebPage.h: 8389 (WebPage): 8390 83912012-08-22 Jer Noble <jer.noble@apple.com> 8392 8393 Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode 8394 https://bugs.webkit.org/show_bug.cgi?id=93892 8395 8396 Reviewed by Eric Carlson. 8397 8398 Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed, 8399 it can join the new one. 8400 8401 * UIProcess/mac/WKFullScreenWindowController.mm: 8402 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): 8403 84042012-08-22 Alexey Proskuryakov <ap@apple.com> 8405 8406 [WK2] Support posting injected bundle messages to a page 8407 https://bugs.webkit.org/show_bug.cgi?id=94630 8408 8409 Reviewed by Sam Weinig. 8410 8411 * Shared/APIClientTraits.cpp: 8412 * Shared/APIClientTraits.h: 8413 * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: 8414 * UIProcess/API/C/WKPage.cpp: 8415 (WKPagePostMessageToInjectedBundle): 8416 * UIProcess/API/C/WKPage.h: 8417 * UIProcess/WebPageProxy.cpp: 8418 (WebKit::WebPageProxy::postMessageToInjectedBundle): 8419 * UIProcess/WebPageProxy.h: 8420 * WebProcess/InjectedBundle/API/c/WKBundle.h: 8421 * WebProcess/InjectedBundle/InjectedBundle.cpp: 8422 (WebKit::InjectedBundle::didReceiveMessageToPage): 8423 (WebKit::InjectedBundle::didReceiveMessage): 8424 * WebProcess/InjectedBundle/InjectedBundle.h: 8425 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: 8426 (WebKit::InjectedBundleClient::didReceiveMessageToPage): 8427 * WebProcess/InjectedBundle/InjectedBundleClient.h: 8428 (InjectedBundleClient): 8429 Added a PostMessageToPage injected bundle message type, with all associated 8430 machinery. API is WKPagePostMessageToInjectedBundle(), and an associated 8431 didReceiveMessageToPage() injected bundle client function. 8432 8433 * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize): 8434 Updated for new client API. 8435 8436 * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle): 8437 Implemented multiple process model case. 8438 84392012-08-22 Gustavo Noronha Silva <gns@gnome.org> 8440 8441 [GTK] Split WebCore/platform into a separate library 8442 https://bugs.webkit.org/show_bug.cgi?id=94435 8443 8444 Reviewed by Martin Robinson. 8445 8446 More people have been reporting problems when linking WebCore because 8447 the command line limit is being exceeded. Splitting WebCore a bit more 8448 is in order. 8449 8450 * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk 8451 84522012-08-22 Carlos Garcia Campos <cgarcia@igalia.com> 8453 8454 [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2 8455 https://bugs.webkit.org/show_bug.cgi?id=94683 8456 8457 Reviewed by Alejandro G. Castro. 8458 8459 Change spell-checker and preferred languages API to use a GStrv 8460 instead of a comma-separated string and GList. This makes the API 8461 more consistent and convenient to use. 8462 8463 * UIProcess/API/gtk/WebKitTextChecker.cpp: 8464 (WebKitTextChecker::getSpellCheckingLanguages): Return a 8465 Vector<String> instead of a String. 8466 (WebKitTextChecker::setSpellCheckingLanguages): Receive a 8467 Vector<String> instead of a String. 8468 * UIProcess/API/gtk/WebKitTextChecker.h: 8469 (WebKitTextChecker): Use a GPtrArray to cache languages. 8470 * UIProcess/API/gtk/WebKitWebContext.cpp: 8471 (webkit_web_context_get_spell_checking_languages): 8472 (webkit_web_context_set_spell_checking_languages): 8473 (webkit_web_context_set_preferred_languages): 8474 * UIProcess/API/gtk/WebKitWebContext.h: 8475 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 8476 (testWebContextSpellChecker): 8477 (testWebContextLanguages): 8478 84792012-08-22 Csaba Osztrogonác <ossy@webkit.org> 8480 8481 [Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation 8482 https://bugs.webkit.org/show_bug.cgi?id=94692 8483 8484 Reviewed by Kenneth Rohde Christiansen. 8485 8486 * WebProcess/qt/WebProcessQt.cpp: 8487 (WebKit::WebProcess::platformInitializeWebProcess): 8488 84892012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 8490 8491 Wrong default for new ScrollAnimatorEnabled preference. 8492 8493 Reviewed by Simon Hausmann. 8494 8495 ScrollAnimatorEnabled introduced in r126291, should default to 'true' 8496 to preserve existing behaviour on WK2 platforms that already enabled 8497 SMOOTH_SCROLLING unconditionally. 8498 8499 * Shared/WebPreferencesStore.h: 8500 (WebKit): 8501 85022012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 8503 8504 Unreviewed, build fixup for r126291. 8505 8506 * Shared/WebPreferencesStore.h: 8507 (WebKit): 8508 85092012-08-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 8510 8511 [Qt] Optionally support smooth-scrolling on all platforms 8512 https://bugs.webkit.org/show_bug.cgi?id=74926 8513 8514 Reviewed by Simon Hausmann. 8515 8516 Expose scroll-animator preference, but ensure animated smooth scrolling 8517 on the web process side is disabled when scrolling has been delegated 8518 to the UI process. 8519 8520 * Shared/WebPreferencesStore.h: 8521 * WebProcess/WebPage/WebPage.cpp: 8522 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 8523 (WebKit::WebPage::updatePreferences): 8524 85252012-08-22 Luiz Agostini <luiz.agostini@nokia.com> 8526 8527 [Qt] Avoid using WebKit macros in qrawwebview_p.h 8528 https://bugs.webkit.org/show_bug.cgi?id=94648 8529 8530 Reviewed by Noam Rosenthal. 8531 8532 ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file. 8533 8534 * UIProcess/API/qt/raw/qrawwebview.cpp: 8535 (QRawWebView::sendTouchEvent): 8536 * UIProcess/API/qt/raw/qrawwebview_p.h: 8537 85382012-08-21 Sheriff Bot <webkit.review.bot@gmail.com> 8539 8540 Unreviewed, rolling out r126216. 8541 http://trac.webkit.org/changeset/126216 8542 https://bugs.webkit.org/show_bug.cgi?id=94661 8543 8544 "Broke many Mac-WK2 tests" (Requested by bradee-oh on 8545 #webkit). 8546 8547 * WebProcess/com.apple.WebProcess.sb.in: 8548 85492012-08-21 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 8550 8551 [GTK] [WK2] Memory leaks in TestWebKitFindController 8552 https://bugs.webkit.org/show_bug.cgi?id=94627 8553 8554 Reviewed by Martin Robinson. 8555 8556 Fix memory leaks in TestWebKitFindController by using adoptGRef 8557 instead of just getting new reference of GdkPixbuf. 8558 8559 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: 8560 (testFindControllerHide): 8561 85622012-08-21 Alexey Proskuryakov <ap@apple.com> 8563 8564 <rdar://problem/11241850> Block access to xpcd in WebProcess.sb 8565 8566 Reviewed by Sam Weinig and Jon Honeycutt. 8567 8568 * WebProcess/com.apple.WebProcess.sb.in: 8569 85702012-08-21 Alexey Proskuryakov <ap@apple.com> 8571 8572 <rdar://problem/8900275> Remove PubSub access from WebProcess, since it is no longer necessary 8573 8574 Reviewed by Mark Rowe. 8575 8576 * WebProcess/com.apple.WebProcess.sb.in: 8577 85782012-08-21 Thiago Marcos P. Santos <thiago.santos@intel.com> 8579 8580 [EFL] Some public API functions don't have their symbols exported 8581 https://bugs.webkit.org/show_bug.cgi?id=94589 8582 8583 Reviewed by Kenneth Rohde Christiansen. 8584 8585 Added missing export symbol macro to these public API functions. 8586 8587 * UIProcess/API/efl/ewk_view.h: 8588 85892012-08-21 Martin Robinson <mrobinson@igalia.com> 8590 8591 [GTK] Using a native window for the WebView breaks GtkOverlay 8592 https://bugs.webkit.org/show_bug.cgi?id=90085 8593 8594 Reviewed by Alejandro G. Castro. 8595 8596 Add XComposite libraries to the linker list for WebKit2. 8597 8598 * GNUmakefile.am: Add XComposite 8599 86002012-08-21 Jesse van den Kieboom <jessevdk@gnome.org> and Carlos Garcia Campos <cgarcia@igalia.com> 8601 8602 [GTK] Add destroy notify for register_uri_scheme 8603 https://bugs.webkit.org/show_bug.cgi?id=94315 8604 8605 Reviewed by Philippe Normand. 8606 8607 For introspection to work correctly, a destroy notify needs to be 8608 added to register_uri_scheme so that bindings know when to 8609 finalize the user_data. 8610 8611 * UIProcess/API/gtk/WebKitWebContext.cpp: 8612 (webkit_web_context_register_uri_scheme): 8613 (webkitWebContextReceivedURIRequest): 8614 * UIProcess/API/gtk/WebKitWebContext.h: 8615 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 8616 86172012-08-21 Simon Hausmann <simon.hausmann@nokia.com> 8618 8619 Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but 8620 the code here needs QSignalSpy from QTestLib 8621 8622 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 8623 * UIProcess/API/qt/tests/qmltests/WebView.pro: 8624 86252012-08-18 John Sullivan <sullivan@apple.com> 8626 8627 <https://bugs.webkit.org/show_bug.cgi?id=94486> 8628 <rdar://problem/12128557> 8629 REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash 8630 8631 Reviewed by Darin Adler. 8632 8633 * UIProcess/API/mac/WKView.mm: 8634 (-[WKView viewWillMoveToWindow:]): 8635 Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up 8636 before the WKView is moved from one window to another when the WKView is being moved 8637 out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8. 8638 While this technically reopens a potentially crashing code path that 121482 closed, 8639 it only reopens it for WKViews that are used for text editing and that are removed 8640 from an NSPopover at some time earlier than tear-down of the NSPopover. 8641 86422012-08-20 Allan Sandfeld Jensen <allan.jensen@nokia.com> 8643 8644 [Qt] Custom tap-highlight-color renders fully opaque 8645 https://bugs.webkit.org/show_bug.cgi?id=94468 8646 8647 Reviewed by Kenneth Rohde Christiansen. 8648 8649 Draw tap-highlight-color at 50% transparency, to better match how 8650 existing WebKit browsers act on custom tap-highlight colors. 8651 8652 * WebProcess/WebPage/TapHighlightController.cpp: 8653 (WebKit::TapHighlightController::drawRect): 8654 86552012-08-20 Carlos Garcia Campos <cgarcia@igalia.com> 8656 8657 [GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html 8658 https://bugs.webkit.org/show_bug.cgi?id=94471 8659 8660 Reviewed by Martin Robinson. 8661 8662 In WebKit1 there's code to prevent that load signals are emitted 8663 when loading internal custom error pages. We added 8664 webkit_web_view_replace_content() with the same idea, but it has 8665 ended up being problematic, because it allows to add any HTML 8666 content (in WebKit1 we assumed internal error pages never failed 8667 and always loaded) and it's impossible to know when the load has 8668 finished. It also required a lot of logic to handle 8669 replace_content as an especial case, in order to hide the fact 8670 that it loads content. This patch renames 8671 webkit_web_view_replace_content() as 8672 webkit_web_view_load_alternate_html() and emit load events 8673 normally. 8674 8675 * UIProcess/API/gtk/WebKitWebView.cpp: 8676 (_WebKitWebViewPrivate): 8677 (webkitWebViewLoadChanged): 8678 (webkitWebViewLoadFailed): 8679 (webkitWebViewSetEstimatedLoadProgress): 8680 (webkitWebViewResourceLoadStarted): 8681 (webkitWebViewGetLoadingWebResource): 8682 (webkitWebViewRemoveLoadingWebResource): 8683 (webkitWebViewResourceLoadFinished): 8684 (webkit_web_view_load_alternate_html): 8685 * UIProcess/API/gtk/WebKitWebView.h: 8686 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 8687 * UIProcess/API/gtk/tests/TestLoaderClient.cpp: 8688 (testLoadAlternateHTML): 8689 (beforeAll): 8690 * UIProcess/API/gtk/tests/TestResources.cpp: 8691 (beforeAll): 8692 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 8693 (beforeAll): 8694 * UIProcess/API/gtk/tests/WebViewTest.cpp: 8695 (WebViewTest::loadAlternateHTML): 8696 * UIProcess/API/gtk/tests/WebViewTest.h: 8697 86982012-08-20 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8699 8700 [EFL][WK2] Add unit tests for WKEinaSharedString 8701 https://bugs.webkit.org/show_bug.cgi?id=94104 8702 8703 Reviewed by Kenneth Rohde Christiansen. 8704 8705 Added unit tests for WKEinaSharedString class. 8706 8707 * PlatformEfl.cmake: 8708 * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added. 8709 (checkString): 8710 (TEST_F): 8711 87122012-08-20 Carlos Garcia Campos <cgarcia@igalia.com> 8713 8714 [GTK] Add API to set preferred languages to WebKit2 GTK+ 8715 https://bugs.webkit.org/show_bug.cgi?id=90878 8716 8717 Reviewed by Martin Robinson. 8718 8719 * UIProcess/API/gtk/WebKitWebContext.cpp: 8720 (webkit_web_context_set_preferred_languages): Public API to set a 8721 list of preferred languages sorted from most desirable to least 8722 desirable. 8723 * UIProcess/API/gtk/WebKitWebContext.h: 8724 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 8725 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 8726 (testWebContextLanguages): 8727 (serverCallback): 8728 (beforeAll): 8729 (afterAll): 8730 * UIProcess/API/gtk/tests/WebViewTest.cpp: 8731 (resourceGetDataCallback): 8732 (WebViewTest::mainResourceData): Moved from TestWebKitWebContext 8733 to make it available to all WebViewTests. 8734 * UIProcess/API/gtk/tests/WebViewTest.h: 8735 * WebProcess/WebProcess.cpp: 8736 (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our 8737 observer that the languages have been overriden. 8738 * WebProcess/gtk/WebProcessGtk.cpp: 8739 (WebKit::buildAcceptLanguages): Helper function to build the 8740 accept languages as specified in RFC 2616. 8741 (WebKit::setSoupSessionAcceptLanguage): Set the accept-language 8742 property of the default SoupSession. 8743 (WebKit::languageChanged): Update the preferred languages in 8744 SoupSession. 8745 (WebKit::WebProcess::platformInitializeWebProcess): Add an 8746 observer to be notified when the list of preferred languages is 8747 updated. 8748 (WebKit::WebProcess::platformTerminate): Remove the observer added 8749 in platformInitializeWebProcess(). 8750 87512012-08-19 Dan Bernstein <mitz@apple.com> 8752 8753 WebPageProxy::setCursor does not check that the view is still in an active window 8754 https://bugs.webkit.org/show_bug.cgi?id=94427 8755 8756 Reviewed by Alexey Proskuryakov. 8757 8758 The Web process may ask to change the cursor when the view is in an active window, but 8759 if by the time the UI process receives the message, the view is no longer in a window or the 8760 window is not active , then the cursor should not change. 8761 8762 * UIProcess/WebPageProxy.cpp: 8763 (WebKit::WebPageProxy::setCursor): Added a check that the view is in an active window before 8764 allowing the page to change the cursor. 8765 87662012-08-19 Sheriff Bot <webkit.review.bot@gmail.com> 8767 8768 Unreviewed, rolling out r125972. 8769 http://trac.webkit.org/changeset/125972 8770 https://bugs.webkit.org/show_bug.cgi?id=94431 8771 8772 Breaks AppleMac builds (Requested by pfeldman on #webkit). 8773 8774 * UIProcess/API/gtk/WebKitWebContext.cpp: 8775 * UIProcess/API/gtk/WebKitWebContext.h: 8776 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 8777 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 8778 (beforeAll): 8779 (afterAll): 8780 * UIProcess/API/gtk/tests/WebViewTest.cpp: 8781 (WebViewTest::WebViewTest): 8782 * UIProcess/API/gtk/tests/WebViewTest.h: 8783 * WebProcess/WebProcess.cpp: 8784 (WebKit::WebProcess::userPreferredLanguagesChanged): 8785 * WebProcess/gtk/WebProcessGtk.cpp: 8786 (WebKit::WebProcess::platformInitializeWebProcess): 8787 (WebKit::WebProcess::platformTerminate): 8788 87892012-08-19 Christophe Dumez <christophe.dumez@intel.com> 8790 8791 [EFL][WK2] Add API unit tests for Web Intents 8792 https://bugs.webkit.org/show_bug.cgi?id=90454 8793 8794 Reviewed by Kenneth Rohde Christiansen. 8795 8796 Add unit testing for Web intent requests, 8797 including the "intent,request,new" signal on 8798 the Ewk_View and the Ewk_Intent API. 8799 8800 * UIProcess/API/efl/ewk_view.h: Fix documentation for argument type of "intent,request,new" signal. 8801 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 8802 (EWK2UnitTest::EWK2UnitTestBase::mouseClick): Add utility method to simulate a click at given 8803 coordinates. This is needed for testing functionality that requires a user gesture. 8804 (EWK2UnitTest): 8805 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 8806 (EWK2UnitTestBase): 8807 * UIProcess/API/efl/tests/resources/intent-request.html: Added. 8808 * UIProcess/API/efl/tests/test_ewk2_intents.cpp: 8809 (stringSortCb): 8810 (onIntentReceived): 8811 (TEST_F): 8812 88132012-08-18 Carlos Garcia Campos <cgarcia@igalia.com> 8814 8815 [GTK] Add API to set preferred languages to WebKit2 GTK+ 8816 https://bugs.webkit.org/show_bug.cgi?id=90878 8817 8818 Reviewed by Martin Robinson. 8819 8820 * UIProcess/API/gtk/WebKitWebContext.cpp: 8821 (webkit_web_context_set_preferred_languages): Public API to set a 8822 list of preferred languages sorted from most desirable to least 8823 desirable. 8824 * UIProcess/API/gtk/WebKitWebContext.h: 8825 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 8826 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 8827 (testWebContextLanguages): 8828 (serverCallback): 8829 (beforeAll): 8830 (afterAll): 8831 * UIProcess/API/gtk/tests/WebViewTest.cpp: 8832 (resourceGetDataCallback): 8833 (WebViewTest::mainResourceData): Moved from TestWebKitWebContext 8834 to make it available to all WebViewTests. 8835 * UIProcess/API/gtk/tests/WebViewTest.h: 8836 * WebProcess/WebProcess.cpp: 8837 (WebKit::WebProcess::userPreferredLanguagesChanged): Notify our 8838 observer that the languages have been overriden. 8839 * WebProcess/gtk/WebProcessGtk.cpp: 8840 (WebKit::buildAcceptLanguages): Helper function to build the 8841 accept languages as specified in RFC 2616. 8842 (WebKit::setSoupSessionAcceptLanguage): Set the accept-language 8843 property of the default SoupSession. 8844 (WebKit::languageChanged): Update the preferred languages in 8845 SoupSession. 8846 (WebKit::WebProcess::platformInitializeWebProcess): Add an 8847 observer to be notified when the list of preferred languages is 8848 updated. 8849 (WebKit::WebProcess::platformTerminate): Remove the observer added 8850 in platformInitializeWebProcess(). 8851 88522012-08-18 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8853 8854 [EFL][WK2] ewk_back_forward_list_item properties should be in sync with WebProcessProxy::m_backForwardListItemMap 8855 https://bugs.webkit.org/show_bug.cgi?id=94248 8856 8857 Reviewed by Kenneth Rohde Christiansen. 8858 8859 Currently ewk_back_forward_list_item properties are initialized from 8860 WKBackForwardListItemRef once in the constructor and then just stored. 8861 This is erroneous approach as back forward items can be initialized within 8862 several iterations, meaning several ipc calls to UI process and several updates 8863 of WebProcessProxy::m_backForwardListItemMap where the items are stored. 8864 Hence the values of ewk_back_forward_list_item properties should be updated 8865 with the corresponding WKBackForwardListItem function invokes every time 8866 they are called. 8867 8868 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: 8869 (_Ewk_Back_Forward_List_Item): Data members have to be mutable as assigned being const pointers. 8870 (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item): 8871 (ewk_back_forward_list_item_uri_get): 8872 (ewk_back_forward_list_item_title_get): 8873 (ewk_back_forward_list_item_original_uri_get): 8874 88752012-08-17 Enrica Casucci <enrica@apple.com> 8876 8877 Adding back the first statement of WebProcessMain accidentally 8878 removed in r125358. 8879 8880 Reviewed by Sam Weinig. 8881 8882 * WebProcess/mac/WebProcessMainMac.mm: Adding back the stripping 8883 of DYLD_INSERT_LIBRARIES. 8884 88852012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 8886 8887 [EFL] REGRESSION(r125923): Breaks EFL build 8888 https://bugs.webkit.org/show_bug.cgi?id=94376 8889 8890 Reviewed by Alexey Proskuryakov. 8891 8892 Fix EFL build break after r125923. 8893 8894 * UIProcess/WebPageProxy.cpp: 8895 (WebKit::WebPageProxy::didReceiveIntentForFrame): 8896 88972012-08-17 Alexey Proskuryakov <ap@apple.com> 8898 8899 Access m_process directly in WebPageProxy.cpp 8900 https://bugs.webkit.org/show_bug.cgi?id=94363 8901 8902 Reviewed by John Sullivan. 8903 8904 Consistency fix - we don't use accessors when we don't have to, and there is a mix in this file. 8905 8906 * UIProcess/WebPageProxy.cpp: 8907 89082012-08-17 Claudio Saavedra <csaavedra@igalia.com> 8909 8910 [GTK] Add WK2 API to get suggested filename for URI responses 8911 https://bugs.webkit.org/show_bug.cgi?id=92967 8912 8913 Reviewed by Carlos Garcia Campos. 8914 8915 Webcore has API to get the suggested filename for a response, add 8916 a property and getter for it in WebKitURIResponse. 8917 8918 * UIProcess/API/gtk/WebKitURIResponse.cpp: 8919 (_WebKitURIResponsePrivate): Add a CString holding the value. 8920 (webkitURIResponseGetProperty): Add the gobject bits for the 8921 property. 8922 (webkit_uri_response_class_init): Install the property. 8923 (webkit_uri_response_get_suggested_filename): New getter. 8924 * UIProcess/API/gtk/WebKitURIResponse.h: Declare the public 8925 method. 8926 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API 8927 symbols. 8928 * UIProcess/API/gtk/tests/TestResources.cpp: 8929 (testWebResourceSuggestedFilename): Test the new API. 8930 (serverCallback): Add the the content-disposition header 8931 in one case, in order to test it. 8932 (beforeAll): Add the new test. 8933 89342012-08-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 8935 8936 [EFL][wk2] Add unit tests for back-forward list API 8937 https://bugs.webkit.org/show_bug.cgi?id=92617 8938 8939 Reviewed by Kenneth Rohde Christiansen. 8940 8941 Added unit tests covering the existing EFL WK2 back-forward list API. 8942 8943 * PlatformEfl.cmake: 8944 * UIProcess/API/efl/tests/resources/default_test_page.html: 8945 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Added. 8946 (serverCallbackNavigation): 8947 (checkItem): 8948 (urlFromTitle): 8949 (TEST_F): 8950 89512012-08-17 Jeff Miller <jeffm@apple.com> 8952 8953 UserMessageEncoder::baseEncode() should ASSERT when attempting to encode a non-shareable image 8954 https://bugs.webkit.org/show_bug.cgi?id=94245 8955 8956 Reviewed by Alexey Proskuryakov. 8957 8958 It's a programming error if a client attempts to encode an image that has an 8959 allocated bitmap, but isn't shareable, so we should assert in this case. 8960 8961 * Shared/UserMessageCoders.h: 8962 (WebKit::UserMessageEncoder::baseEncode): 8963 Assert if we're trying to encode valid non-shareable image. 8964 89652012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 8966 8967 [EFL] [WK2] Add unit tests for vibration_client_callbacks_set API 8968 https://bugs.webkit.org/show_bug.cgi?id=93890 8969 8970 Reviewed by Kenneth Rohde Christiansen. 8971 8972 This patch covers unit testing of the Vibration API as delivered. 8973 8974 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 8975 (VibrationCbData): 8976 (vibrateCallback): 8977 (cancelVibrationCallback): 8978 (loadVibrationHTMLString): 8979 (TEST_F): 8980 89812012-08-17 Carlos Garcia Campos <cgarcia@igalia.com> 8982 8983 [GTK] Rename WebKitWebView print-requested signal to print 8984 https://bugs.webkit.org/show_bug.cgi?id=94306 8985 8986 Reviewed by Martin Robinson. 8987 8988 WebKitWebView::print-requested is inconsistent with the rest of 8989 the API. It's a true_handled signal that allows users to implement 8990 their own print dialog, or block printing, or rely on 8991 defaults. The signal should be WebKitWebView::print like other 8992 signals (create, close, decide_policy, etc.) 8993 8994 * UIProcess/API/gtk/WebKitWebView.cpp: 8995 (webkit_web_view_class_init): 8996 (webkitWebViewPrintFrame): 8997 * UIProcess/API/gtk/WebKitWebView.h: 8998 (_WebKitWebViewClass): 8999 * UIProcess/API/gtk/tests/TestPrinting.cpp: 9000 (webViewPrintCallback): 9001 (testWebViewPrint): 9002 (beforeAll): 9003 90042012-08-17 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 9005 9006 [EFL] [WK2] Free Eina Strbuf with eina_strbuf_free() instead of eina_strbuf_string_free() 9007 https://bugs.webkit.org/show_bug.cgi?id=94312 9008 9009 Reviewed by Kenneth Rohde Christiansen. 9010 9011 eina_strbuf_string_free() frees the contents of a string buffer but not the 9012 buffer, so eina_strbuf_free() must be used to free the buffer. 9013 9014 Contents of the buffer has already been take care by stealing it with 9015 eina_strbuf_string_steal(), so no reason to call eina_strbuf_string_free(). 9016 9017 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 9018 (serverCallback): 9019 90202012-08-17 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 9021 9022 [EFL][WK2] Getting unnecessary EINA_SAFETY_ON_NULL_RETURN_VAL warnings while page navigation 9023 https://bugs.webkit.org/show_bug.cgi?id=94308 9024 9025 Reviewed by Kenneth Rohde Christiansen. 9026 9027 The reason is that loadClient.didChangeBackForwardList callback is invoked with zero 9028 arguments which is valid case while page back-forward navigation and means basically 9029 that the back-froward list has changed but items were not added or deleted. 9030 9031 * UIProcess/API/efl/ewk_back_forward_list.cpp: 9032 (ewk_back_forward_list_changed): 9033 90342012-08-16 Lauro Neto <lauro.neto@openbossa.org> 9035 9036 [Qt] Failure to build with --no-inspector 9037 https://bugs.webkit.org/show_bug.cgi?id=94148 9038 9039 Reviewed by Noam Rosenthal. 9040 9041 Add guards around usage of inspector functions. 9042 9043 * UIProcess/API/qt/qquickwebview.cpp: 9044 (QQuickWebViewExperimental::remoteInspectorUrl): 9045 90462012-08-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 9047 9048 [Qt] Remove an unused variable 9049 9050 Reviewed by Simon Hausmann. 9051 9052 * UIProcess/API/qt/qquickwebpage.cpp: 9053 (QQuickWebPagePrivate::QQuickWebPagePrivate): 9054 * UIProcess/API/qt/qquickwebpage_p_p.h: 9055 (QQuickWebPagePrivate): 9056 90572012-08-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 9058 9059 [Qt][WK2] Change the default cache model to enable the page cache 9060 https://bugs.webkit.org/show_bug.cgi?id=94221 9061 9062 Reviewed by Simon Hausmann. 9063 9064 The default CacheModelDocumentViewer disables the memory back-forward page cache. 9065 As uses of applications using QQuickWebView might vary, I'm setting the default to 9066 CacheModelDocumentBrowser. 9067 We should eventually expose this in the API to allow serious Web browsers setting it 9068 to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight 9069 on memory with limited page navigations. 9070 9071 * UIProcess/qt/QtWebContext.cpp: 9072 (WebKit::QtWebContext::defaultContext): 9073 90742012-08-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 9075 9076 [Qt] Make sure that we don't prematurely force the first layout during loading. 9077 https://bugs.webkit.org/show_bug.cgi?id=94106 9078 9079 Reviewed by Kenneth Rohde Christiansen. 9080 9081 This would have the nasty effect that the frame loader would report the first layout 9082 before loadCommitted was reported. This would resume the rendering engine prematurely, 9083 showing blank content and reporting an empty contents size. 9084 9085 * WebProcess/WebPage/WebPage.cpp: 9086 (WebKit::WebPage::setFixedLayoutSize): 9087 90882012-08-16 Marcelo Lira <marcelo.lira@openbossa.org> 9089 9090 [Qt] Input method hints are not being set. 9091 https://bugs.webkit.org/show_bug.cgi?id=92386 9092 9093 Reviewed by Kenneth Rohde Christiansen. 9094 9095 Input method hints for an editable element must be obtained from a proper 9096 HTML element. If the editable element is a complex one, it will have elements 9097 in the Shadow DOM, and it's one of those that will be returned as the root 9098 editable element. This works for editable DIVs, but not for INPUT elements. 9099 Using Element::shadowHost() on the root editable element will provide the 9100 needed HTML element, and for further clarity a method that does this was added 9101 to FrameSelection. 9102 9103 Added an API test to the Qt port regarding the correct setting 9104 of input method hints information on INPUT HTML tags. 9105 9106 * UIProcess/API/qt/tests/html/inputmethod.html: 9107 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 9108 (tst_QQuickWebView): 9109 (tst_QQuickWebView::inputMethodHints): 9110 * WebProcess/WebPage/WebPage.cpp: 9111 (WebKit::WebPage::editorState): 9112 91132012-08-16 Zeno Albisser <zeno@webkit.org> 9114 9115 Make GraphicsSurface double buffered by default. 9116 https://bugs.webkit.org/show_bug.cgi?id=93252 9117 9118 Create only a single GraphicsSurface per canvas 9119 on both supported platforms Mac/Linux. 9120 The GraphicsSurface on Mac internally uses two IOSurface 9121 to provide a front and a back buffer. 9122 The GLX implementation of GraphicsSurface uses 9123 an XWindow which already provides a front and a back buffer. 9124 9125 Reviewed by Noam Rosenthal. 9126 9127 * Shared/ShareableSurface.h: 9128 (Handle): 9129 Change the type of GraphicsSurface token to uint64_t. 9130 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 9131 (WebKit::LayerTreeCoordinatorProxy::syncCanvas): 9132 Add a parameter that denotes the current front buffer of the 9133 GraphicsSurface. 9134 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: 9135 (LayerTreeCoordinatorProxy): 9136 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: 9137 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 9138 (WebKit::LayerTreeRenderer::syncCanvas): 9139 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: 9140 (LayerTreeRenderer): 9141 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 9142 (WebCore::CoordinatedGraphicsLayer::syncCanvas): 9143 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: 9144 (CoordinatedGraphicsLayerClient): 9145 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 9146 (WebKit::LayerTreeCoordinator::syncCanvas): 9147 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 9148 (LayerTreeCoordinator): 9149 91502012-08-16 Pierre Rossi <pierre.rossi@gmail.com> 9151 9152 [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code 9153 https://bugs.webkit.org/show_bug.cgi?id=93960 9154 9155 Reviewed by Simon Hausmann. 9156 9157 Following the removal of Qt 4 support from trunk in r124879. 9158 9159 * WebProcess/WebProcess.cpp: 9160 (WebKit::WebProcess::getWebCoreStatistics): 9161 91622012-08-16 Christophe Dumez <christophe.dumez@intel.com> 9163 9164 [EFL][WK2] Add unit tests for Web intent registration 9165 https://bugs.webkit.org/show_bug.cgi?id=94133 9166 9167 Reviewed by Kenneth Rohde Christiansen. 9168 9169 Add unit tests for Web Intent service registration. 9170 This tests the "intent,service,register" signaling 9171 on the Ewk_View as well as Ewk_Intent_Service. 9172 9173 * PlatformEfl.cmake: 9174 * UIProcess/API/efl/tests/resources/intent-service.html: Added. 9175 * UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added. 9176 (onIntentServiceRegistration): 9177 (TEST_F): 9178 91792012-08-16 Marja Hölttä <marja@chromium.org> 9180 9181 FormController, WebHistoryItem: Enable reading selected file names from document state 9182 https://bugs.webkit.org/show_bug.cgi?id=91231 9183 9184 Reviewed by Jochen Eisinger. 9185 9186 This change enables Chromium to set up file permissions properly when 9187 the session restore feature restores a page with selected files. 9188 9189 * win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState. 9190 91912012-08-15 Ryosuke Niwa <rniwa@webkit.org> 9192 9193 Update manual tests and comments to refer to TestRunner instead of LayoutTestController 9194 https://bugs.webkit.org/show_bug.cgi?id=94168 9195 9196 Reviewed by Kent Tamura. 9197 9198 * Shared/WebPreferencesStore.cpp: 9199 (WebKit::WebPreferencesStore::getBoolValueForKey): 9200 92012012-08-15 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> 9202 9203 [css3-text] Add CSS3 Text decoration compile flag 9204 https://bugs.webkit.org/show_bug.cgi?id=93863 9205 9206 Reviewed by Julien Chaffraix. 9207 9208 This patch handles the compile flag implementation, which will come disabled by 9209 default, thus not exposing the CSS3 text decoration features to the web, unless 9210 when explicitly enabling it with "--css3-text-decoration" build parameter. 9211 9212 * Configurations/FeatureDefines.xcconfig: 9213 92142012-08-15 Sheriff Bot <webkit.review.bot@gmail.com> 9215 9216 Unreviewed, rolling out r125687. 9217 http://trac.webkit.org/changeset/125687 9218 https://bugs.webkit.org/show_bug.cgi?id=94147 9219 9220 It broke the whole world (Requested by Ossy_night on #webkit). 9221 9222 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 9223 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 9224 92252012-08-15 Beth Dakin <bdakin@apple.com> 9226 9227 https://bugs.webkit.org/show_bug.cgi?id=93693 9228 [WK2] REGRESSION(125091): pixel results don't sow scrollbars 9229 anymore 9230 9231 Reviewed by Sam Weinig. 9232 9233 This is a regression from http://trac.webkit.org/changeset/125091 9234 in which I failed to noticed that 9235 WKBundlePageCreateSnapshotInViewCoordinates() did actually do 9236 something different than 9237 WKBundlePageCreateSnapshotInDocumentCoordinates(). Specifically, 9238 it used ScrollView::paint() to paint instead of 9239 FrameView::paintContents(). So this patch restores that 9240 functionality by adding a value to SnapshotOptions indicating 9241 whether the snapshot should be taken in ViewCoordinates 9242 (otherwise it defaults to DocumentCoordinates). 9243 9244 * Shared/API/c/WKImage.h: 9245 * Shared/API/c/WKSharedAPICast.h: 9246 (WebKit::toSnapshotOptions): 9247 * Shared/ImageOptions.h: 9248 * WebProcess/WebPage/WebPage.cpp: 9249 (WebKit::WebPage::scaledSnapshotWithOptions): 9250 9251 Even though we plan to deprecate this API, it should keep doing 9252 the right thing until it's gone. 9253 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 9254 (WKBundlePageCreateSnapshotInViewCoordinates): 9255 92562012-08-15 Brady Eidson <beidson@apple.com> 9257 9258 Removing a plug-in element from a page opened in a background tab in Safari crashes 9259 <rdar://problem/12057991> and https://bugs.webkit.org/show_bug.cgi?id=93913 9260 9261 Reviewed by Beth Dakin. 9262 9263 This only happens in WebKit2 with asynchronous plug-in initialization enabled. 9264 9265 * WebProcess/Plugins/PluginProxy.cpp: 9266 (WebKit::PluginProxy::destroy): Null-check m_connection, as it might not have been created yet. 9267 9268 * win/WebKit2.def: Export Page::setCanStartMedia for InternalSettings/DRT use. 9269 92702012-08-14 Mark Hahnenberg <mhahnenberg@apple.com> 9271 9272 Change behavior of MasqueradesAsUndefined to better accommodate DFG changes 9273 https://bugs.webkit.org/show_bug.cgi?id=93884 9274 9275 Reviewed by Geoffrey Garen. 9276 9277 With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of 9278 MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines, 9279 we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined 9280 objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject). 9281 For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not 9282 masquerade as undefined within frame B, but it will continue to masquerade in frame A. 9283 9284 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 9285 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): Passing ExecState to toBoolean call. 9286 92872012-08-15 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 9288 9289 [EFL][WK2] Refactoring: start using WKEinaSharedString in ewk_ classes 9290 https://bugs.webkit.org/show_bug.cgi?id=93964 9291 9292 Reviewed by Kenneth Rohde Christiansen. 9293 9294 Started using WKEinaSharedString where it is advisable. 9295 9296 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: 9297 (WKEinaSharedString::operator==): 9298 * UIProcess/API/cpp/efl/WKEinaSharedString.h: 9299 * UIProcess/API/efl/ewk_download_job.cpp: 9300 (_Ewk_Download_Job): 9301 (_Ewk_Download_Job::_Ewk_Download_Job): 9302 (_Ewk_Download_Job::~_Ewk_Download_Job): 9303 (ewk_download_job_destination_set): 9304 (ewk_download_job_suggested_filename_set): 9305 * UIProcess/API/efl/ewk_intent.cpp: 9306 (_Ewk_Intent): 9307 (_Ewk_Intent::_Ewk_Intent): 9308 (_Ewk_Intent::~_Ewk_Intent): 9309 (ewk_intent_action_get): 9310 (ewk_intent_type_get): 9311 (ewk_intent_service_get): 9312 * UIProcess/API/efl/ewk_intent_service.cpp: 9313 (_Ewk_Intent_Service): 9314 (_Ewk_Intent_Service::_Ewk_Intent_Service): 9315 (_Ewk_Intent_Service::~_Ewk_Intent_Service): 9316 (ewk_intent_service_action_get): 9317 (ewk_intent_service_type_get): 9318 (ewk_intent_service_href_get): 9319 (ewk_intent_service_title_get): 9320 (ewk_intent_service_disposition_get): 9321 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 9322 (_Ewk_Navigation_Policy_Decision): 9323 (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision): 9324 (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision): 9325 * UIProcess/API/efl/ewk_url_request.cpp: 9326 (_Ewk_Url_Request): 9327 (_Ewk_Url_Request::_Ewk_Url_Request): 9328 (_Ewk_Url_Request::~_Ewk_Url_Request): 9329 (ewk_url_request_url_get): 9330 (ewk_request_cookies_first_party_get): 9331 (ewk_url_request_http_method_get): 9332 * UIProcess/API/efl/ewk_url_response.cpp: 9333 (_Ewk_Url_Response): 9334 (_Ewk_Url_Response::_Ewk_Url_Response): 9335 (_Ewk_Url_Response::~_Ewk_Url_Response): 9336 (ewk_url_response_url_get): 9337 (ewk_url_response_mime_type_get): 9338 * UIProcess/API/efl/ewk_view.cpp: 9339 (_Ewk_View_Private_Data): 9340 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 9341 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 9342 (ewk_view_uri_update): 9343 (ewk_view_title_get): 9344 (ewk_view_theme_set): 9345 (ewk_view_setting_encoding_custom_get): 9346 (ewk_view_setting_encoding_custom_set): 9347 * UIProcess/API/efl/ewk_web_error.cpp: 9348 (_Ewk_Web_Error): 9349 (_Ewk_Web_Error::_Ewk_Web_Error): 9350 (_Ewk_Web_Error::~_Ewk_Web_Error): 9351 (ewk_web_error_url_get): 9352 (ewk_web_error_description_get): 9353 * UIProcess/API/efl/ewk_web_resource.cpp: 9354 (_Ewk_Web_Resource): 9355 (_Ewk_Web_Resource::_Ewk_Web_Resource): 9356 (_Ewk_Web_Resource::~_Ewk_Web_Resource): 9357 93582012-08-15 Christophe Dumez <christophe.dumez@intel.com> 9359 9360 [WK2] Add support for Web Intents MessagePorts 9361 https://bugs.webkit.org/show_bug.cgi?id=89072 9362 9363 Reviewed by Kenneth Rohde Christiansen. 9364 9365 Add support for WebIntents MessagePorts in WebKit2. 9366 MessagePorts can be passed with a Web Intent in 9367 order to open a direct communication channel 9368 between the Web application and the intent service. 9369 9370 This functionality is already supported by WebKit 1. 9371 9372 This patch introduces a new InjectedBundleIntent 9373 class which wraps a WebCore::Intent. This way 9374 information regarding the MessagePorts in a Web 9375 Intent is kept when using an injected bundle. 9376 9377 For the UIProcess, WebIntentData now carries 9378 identifiers for the MessagePorts which can go over 9379 IPC. Those identifiers map to actual MessagePorts 9380 stored in the Web process. This way, when the UI 9381 delivers an intent to a frame, we can get back the 9382 corresponding MessagePorts from the Web process 9383 before delivering the intent to the DOMWindow. 9384 9385 This functionality is already tested by: 9386 9387 - webintents/web-intents-invoke-port.html 9388 - webintents/web-intents-obj-constructor.html 9389 9390 * CMakeLists.txt: 9391 * GNUmakefile.list.am: 9392 * Shared/API/c/WKBase.h: 9393 * Shared/APIObject.h: 9394 * Shared/IntentData.cpp: Add MessagePort identifiers. 9395 (WebKit::IntentData::IntentData): 9396 (WebKit::IntentData::encode): 9397 (WebKit::IntentData::decode): 9398 * Shared/IntentData.h: 9399 (IntentData): 9400 * Target.pri: 9401 * UIProcess/API/C/WKIntentData.cpp: Rename WKIntentDataCopyExtra() to 9402 WKIntentDataCopyExtraValue() for clarity. 9403 (WKIntentDataCopyExtraValue): 9404 * UIProcess/API/C/WKIntentData.h: Remove WKIntentDataCreate() function now 9405 that WTR uses WKBundleIntentCreate() instead. 9406 * UIProcess/API/efl/ewk_intent.cpp: 9407 (ewk_intent_extra_get): Use WKIntentDataCopyExtraValue() instead of 9408 WKIntentDataCopyExtra() since it was renamed. 9409 * UIProcess/WebIntentData.cpp: 9410 (WebKit::WebIntentData::WebIntentData): 9411 (WebKit::WebIntentData::~WebIntentData): Remove MessagePorts from WebProcess upon 9412 WebIntentData destruction. 9413 (WebKit): 9414 (WebKit::WebIntentData::extras): 9415 * UIProcess/WebIntentData.h: 9416 (WebKit): 9417 (WebKit::WebIntentData::create): 9418 (WebIntentData): 9419 * UIProcess/WebPageProxy.cpp: 9420 (WebKit::WebPageProxy::didReceiveIntentForFrame): 9421 * UIProcess/WebProcessProxy.cpp: 9422 (WebKit): 9423 (WebKit::WebProcessProxy::removeMessagePortChannel): 9424 * UIProcess/WebProcessProxy.h: 9425 (WebProcessProxy): 9426 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 9427 (WebKit): 9428 * WebProcess/InjectedBundle/API/c/WKBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.cpp. 9429 (WKBundleIntentGetTypeID): 9430 (WKBundleIntentCreate): 9431 (WKBundleIntentCopyAction): 9432 (WKBundleIntentCopyType): 9433 (WKBundleIntentCopyService): 9434 (WKBundleIntentCopySuggestions): 9435 (WKBundleIntentCopyExtraValue): 9436 (WKBundleIntentCopyExtras): 9437 (WKBundleIntentMessagePortCount): 9438 * WebProcess/InjectedBundle/API/c/WKBundleIntent.h: Copied from Source/WebKit2/UIProcess/API/C/WKIntentData.h. 9439 * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: 9440 (WKBundleIntentRequestCopyIntent): 9441 * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: 9442 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 9443 (WKBundlePageDeliverIntentToFrame): 9444 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9445 * WebProcess/InjectedBundle/InjectedBundleIntent.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp. 9446 (WebKit): 9447 (WebKit::InjectedBundleIntent::create): 9448 (WebKit::InjectedBundleIntent::InjectedBundleIntent): 9449 (WebKit::InjectedBundleIntent::action): 9450 (WebKit::InjectedBundleIntent::payloadType): 9451 (WebKit::InjectedBundleIntent::service): 9452 (WebKit::InjectedBundleIntent::data): 9453 (WebKit::InjectedBundleIntent::extra): 9454 (WebKit::InjectedBundleIntent::extras): 9455 (WebKit::InjectedBundleIntent::suggestions): 9456 * WebProcess/InjectedBundle/InjectedBundleIntent.h: Copied from Source/WebKit2/UIProcess/WebIntentData.h. 9457 (WebKit): 9458 (InjectedBundleIntent): 9459 (WebKit::InjectedBundleIntent::coreIntent): 9460 (WebKit::InjectedBundleIntent::type): 9461 * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: 9462 (WebKit::InjectedBundleIntentRequest::intent): 9463 * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: 9464 (WebKit): 9465 (InjectedBundleIntentRequest): 9466 * WebProcess/WebPage/WebFrame.cpp: 9467 (WebKit::WebFrame::deliverIntent): 9468 (WebKit): 9469 * WebProcess/WebPage/WebFrame.h: 9470 (WebCore): 9471 (WebFrame): 9472 * WebProcess/WebPage/WebPage.cpp: 9473 (WebKit): 9474 (WebKit::WebPage::deliverCoreIntentToFrame): 9475 * WebProcess/WebPage/WebPage.h: 9476 (WebCore): 9477 (WebPage): 9478 * WebProcess/WebProcess.cpp: Store MessagePorts in WebProcess and keep mapping with 9479 their identifiers. 9480 (WebKit): 9481 (WebKit::WebProcess::addMessagePortChannel): 9482 (WebKit::WebProcess::messagePortChannel): 9483 (WebKit::WebProcess::removeMessagePortChannel): 9484 * WebProcess/WebProcess.h: 9485 (WebCore): 9486 (WebProcess): 9487 * WebProcess/WebProcess.messages.in: 9488 94892012-08-14 Adam Barth <abarth@webkit.org> 9490 9491 Delete Frame::domWindow() and Frame::existingDOMWindow() 9492 https://bugs.webkit.org/show_bug.cgi?id=93990 9493 9494 Reviewed by Eric Seidel. 9495 9496 * WebProcess/WebPage/WebFrame.cpp: 9497 (WebKit::WebFrame::deliverIntent): 9498 (WebKit::WebFrame::pendingUnloadCount): 9499 95002012-08-14 Lauro Neto <lauro.neto@openbossa.org> 9501 9502 Convert signals/slots to Q_* macros. 9503 9504 [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals 9505 https://bugs.webkit.org/show_bug.cgi?id=93996 9506 9507 Reviewed by Kenneth Rohde Christiansen. 9508 9509 Change usage of keyword-conflicting 'signals' and 'slots' for 9510 Q_SIGNALS and Q_SLOTS macro. 9511 9512 * UIProcess/API/qt/qwebkittest_p.h: 9513 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: 9514 (tst_InspectorServer): 9515 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 9516 (tst_publicapi): 9517 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 9518 (tst_QQuickWebView): 9519 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 9520 (WebView): 9521 (tst_qrawwebview): 9522 * UIProcess/API/qt/tests/util.cpp: 9523 (LoadSpy): 9524 * UIProcess/API/qt/tests/util.h: 9525 (LoadStartedCatcher): 9526 * UIProcess/InspectorServer/qt/WebSocketServerQt.h: 9527 (QtTcpServerHandler): 9528 * UIProcess/qt/QtDialogRunner.cpp: 9529 (DialogContextBase): 9530 (DialogContextObject): 9531 (BaseAuthenticationContextObject): 9532 (CertificateVerificationDialogContextObject): 9533 (FilePickerContextObject): 9534 (DatabaseQuotaDialogContextObject): 9535 * UIProcess/qt/QtDialogRunner.h: 9536 (QtDialogRunner): 9537 * UIProcess/qt/QtWebPageEventHandler.h: 9538 (QtWebPageEventHandler): 9539 * WebProcess/Downloads/qt/QtFileDownloader.h: 9540 95412012-08-14 Alexey Proskuryakov <ap@apple.com> 9542 9543 [WK2] Track multiple Web Processes per context 9544 https://bugs.webkit.org/show_bug.cgi?id=93915 9545 9546 Reviewed by Sam Weinig. 9547 9548 * UIProcess/Downloads/DownloadProxy.cpp: 9549 (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): Downloads don't work 9550 yet, added a FIXME. 9551 9552 * UIProcess/WebContext.cpp: 9553 (WebKit::WebContext::deprecatedSharedProcess): Renamed from process(), added an 9554 assertion that this is only used in single proces mode. 9555 (WebKit::WebContext::textCheckerStateChanged): Abstract out access to web processes. 9556 (WebKit::WebContext::ensureSharedWebProcess): Renamed ensureWebProcess() for clarity. 9557 (WebKit::WebContext::createNewWebProcess): Extracted code for creating a process 9558 from ensureWebProcess(). 9559 (WebKit::WebContext::warmInitialProcess): Create the process more explicitly. 9560 (WebKit::WebContext::enableProcessTermination): Iterate over all processes. 9561 (WebKit::WebContext::shouldTerminate): Updated assertion. 9562 (WebKit::WebContext::processDidFinishLaunching): Changed to use process argument 9563 instead of m_process. 9564 (WebKit::WebContext::disconnectProcess): Updated code forto use m_processes. 9565 (WebKit::WebContext::createWebPage): Handle both process policies (initial support 9566 for multi-process). 9567 (WebKit::WebContext::relaunchProcessIfNecessary): Added cases for both policies. 9568 (WebKit::WebContext::download): Ditto. 9569 (WebKit::WebContext::postMessageToInjectedBundle): Ditto. 9570 (WebKit::WebContext::didReceiveSyncMessage): Fixed whitespace. 9571 (WebKit::WebContext::getWebCoreStatistics): Added cases for both policies. 9572 9573 * UIProcess/WebContext.h: 9574 (WebKit::WebContext::sendToAllProcesses): 9575 (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary): 9576 Send to all processes. Changed return type to void, since no caller checked it. 9577 9578 * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::createWebPage): Removed 9579 an assertion that assumed one process per context. 9580 9581 * UIProcess/WebTextChecker.cpp: (WebKit::updateStateForAllWebProcesses): Updated 9582 to use a WebContext method. 9583 95842012-08-14 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 9585 9586 WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks 9587 https://bugs.webkit.org/show_bug.cgi?id=42332 9588 9589 Reviewed by Kenneth Rohde Christiansen. 9590 9591 Added new getters to WKURL, WKURLRequest, WKURLResponse so that it is possible 9592 to dump information necessary for the tests passing. 9593 9594 * Shared/API/c/WKURL.cpp: 9595 (WKURLCopyPath): 9596 * Shared/API/c/WKURL.h: 9597 * Shared/API/c/WKURLRequest.cpp: 9598 (WKURLRequestCopyFirstPartyForCookies): 9599 (WKURLRequestCopyHTTPMethod): 9600 * Shared/API/c/WKURLRequest.h: 9601 * Shared/API/c/WKURLResponse.cpp: 9602 (WKURLResponseHTTPStatusCode): 9603 * Shared/API/c/WKURLResponse.h: 9604 * Shared/WebURL.h: 9605 (WebKit::WebURL::path): 9606 (WebURL): 9607 96082012-08-14 Allan Sandfeld Jensen <allan.jensen@nokia.com> 9609 9610 [Qt] UpdateAtlas is wasting memory 9611 https://bugs.webkit.org/show_bug.cgi?id=93606 9612 9613 Reviewed by Jocelyn Turcotte. 9614 9615 Imported and QAreaAllocator from Qt3D and ported it to WebCore style, 9616 and use this new area allocator to replace old one from UpdateAtlas. 9617 9618 * CMakeLists.txt: 9619 * Target.pri: 9620 * WebProcess/WebPage/AreaAllocator.cpp: Added. 9621 (WebKit::AreaAllocator::AreaAllocator): 9622 (WebKit::AreaAllocator::~AreaAllocator): 9623 (WebKit::AreaAllocator::expand): 9624 (WebKit::AreaAllocator::expandBy): 9625 (WebKit::AreaAllocator::release): 9626 (WebKit::AreaAllocator::overhead): 9627 (WebKit::AreaAllocator::roundAllocation): 9628 (WebKit::GeneralAreaAllocator::GeneralAreaAllocator): 9629 (WebKit::GeneralAreaAllocator::~GeneralAreaAllocator): 9630 (WebKit::GeneralAreaAllocator::freeNode): 9631 (WebKit::GeneralAreaAllocator::expand): 9632 (WebKit::fitsWithin): 9633 (WebKit::GeneralAreaAllocator::allocate): 9634 (WebKit::GeneralAreaAllocator::allocateFromNode): 9635 (WebKit::GeneralAreaAllocator::splitNode): 9636 (WebKit::GeneralAreaAllocator::updateLargestFree): 9637 (WebKit::GeneralAreaAllocator::release): 9638 (WebKit::GeneralAreaAllocator::overhead): 9639 * WebProcess/WebPage/AreaAllocator.h: Added. 9640 (WebCore::nextPowerOfTwo): 9641 (AreaAllocator): 9642 (WebKit::AreaAllocator::size): 9643 (WebKit::AreaAllocator::minimumAllocation): 9644 (WebKit::AreaAllocator::setMinimumAllocation): 9645 (WebKit::AreaAllocator::margin): 9646 (WebKit::AreaAllocator::setMargin): 9647 (GeneralAreaAllocator): 9648 (Node): 9649 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 9650 (WebKit::LayerTreeCoordinator::renderNextFrame): 9651 (WebKit::LayerTreeCoordinator::beginContentUpdate): 9652 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 9653 (LayerTreeCoordinator): 9654 * WebProcess/WebPage/UpdateAtlas.cpp: 9655 (WebKit::UpdateAtlas::UpdateAtlas): 9656 (WebKit::UpdateAtlas::buildLayoutIfNeeded): 9657 (WebKit::UpdateAtlas::didSwapBuffers): 9658 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer): 9659 * WebProcess/WebPage/UpdateAtlas.h: 9660 (UpdateAtlas): 9661 96622012-08-14 Sergio Villar Senin <svillar@igalia.com> 9663 9664 [GTK] REGRESSION (r122428) WebKit2APITests/TestWebKitFindController fails "next" test 9665 https://bugs.webkit.org/show_bug.cgi?id=91083 9666 9667 Reviewed by Carlos Garcia Campos. 9668 9669 After r122428 search_next()/search_prev() should return just 1 match 9670 if the text is found. 9671 9672 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: 9673 (testFindControllerNext): 9674 (testFindControllerPrevious): 9675 96762012-08-13 Carlos Garcia Campos <cgarcia@igalia.com> 9677 9678 [GTK] Implement smart separators for context menu in WebKit2 GTK+ 9679 https://bugs.webkit.org/show_bug.cgi?id=90449 9680 9681 Reviewed by Martin Robinson. 9682 9683 Don't add to the context menu separators that are at the very 9684 beginning or end of the menu. Once the context menu is shown, 9685 monitor menu items visibility to hide or show separators to make 9686 sure they never appear in the context menu unless they are between 9687 two visible items. 9688 9689 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 9690 (testContextMenuSmartSeparators): 9691 (beforeAll): 9692 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 9693 (WebKit::contextMenuItemVisibilityChanged): 9694 (WebKit): 9695 (WebKit::WebContextMenuProxyGtk::append): 9696 (WebKit::WebContextMenuProxyGtk::populate): 9697 96982012-08-14 Kihong Kwon <kihong.kwon@samsung.com> 9699 9700 [WK2] Add getter for capture attribute of input element 9701 https://bugs.webkit.org/show_bug.cgi?id=93710 9702 9703 Reviewed by Antonio Gomes. 9704 9705 Add getter for capture attribute to WKOpenPanelParameters to support HTML Media Capture. 9706 9707 * Shared/WebCoreArgumentCoders.cpp: 9708 (CoreIPC::::encode): 9709 (CoreIPC::::decode): 9710 * Shared/WebOpenPanelParameters.cpp: 9711 (WebKit): 9712 (WebKit::WebOpenPanelParameters::capture): 9713 * Shared/WebOpenPanelParameters.h: 9714 (WebOpenPanelParameters): 9715 * UIProcess/API/C/WKOpenPanelParameters.cpp: 9716 (WKOpenPanelParametersCopyCapture): 9717 * UIProcess/API/C/WKOpenPanelParameters.h: 9718 97192012-08-13 Tom Sepez <tsepez@chromium.org> 9720 9721 [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach. 9722 https://bugs.webkit.org/show_bug.cgi?id=93283 9723 9724 Reviewed by Eric Seidel. 9725 9726 Chromium has a refptr that needs to be NULLed at this point. 9727 9728 Change the client redirectDataToPlugin method(s) to expect the possibility of 9729 a NULL argument, keeping existing behaviour otherwise. 9730 9731 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9732 (WebKit::WebFrameLoaderClient::redirectDataToPlugin): 9733 97342012-08-13 Raphael Kubo da Costa <rakuco@webkit.org> 9735 9736 [EFL] Unreviewed bot fix after r125467. 9737 9738 * PlatformEfl.cmake: Make the WK2 tests link against glib, gobject 9739 and gio as well. 9740 97412012-08-13 Raphael Kubo da Costa <rakuco@webkit.org> 9742 9743 [EFL] Unreviewed attempt at fixing the bots after r125467. 9744 9745 * PlatformEfl.cmake: Link against GIO and GObject due to the usage 9746 of libsoup. 9747 97482012-08-11 Raphael Kubo da Costa <rakuco@webkit.org> 9749 9750 [CMake] Rewrite FindLibSoup2.cmake. 9751 https://bugs.webkit.org/show_bug.cgi?id=93191 9752 9753 Reviewed by Rob Buis. 9754 9755 * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO, and 9756 do not use LIBSOUP24_LDFLAGS, as it is not needed anymore. 9757 97582012-08-13 Alexey Proskuryakov <ap@apple.com> 9759 9760 [WK2] Move a remaining per-process message from WebContext to WebProcessProxy 9761 https://bugs.webkit.org/show_bug.cgi?id=93883 9762 9763 More Windows build fixing. 9764 9765 * UIProcess/WebContext.cpp: 9766 (WebKit::WebContext::dummy): 9767 97682012-08-13 Alexey Proskuryakov <ap@apple.com> 9769 9770 [WK2] Move a remaining per-process message from WebContext to WebProcessProxy 9771 https://bugs.webkit.org/show_bug.cgi?id=93883 9772 9773 More Windows build fix 9774 9775 * UIProcess/WebContext.cpp: 9776 (WebKit::WebPage::dummy): 9777 * UIProcess/WebContext.h: (WebContext): 9778 * UIProcess/WebContext.messages.in: 9779 Add a dummy sync message - the same workaround is already used in WebPage. 9780 97812012-08-13 Brady Eidson <beidson@apple.com> 9782 9783 With asynchronous plug-in initialization, WebProcess and PluginProcess can deadlock 9784 <rdar://problem/12062125> and https://bugs.webkit.org/show_bug.cgi?id=93894 9785 9786 Reviewed by Alexey Proskuryakov. 9787 9788 A few things were in play here: 9789 - The WebProcess thought the plug-in was done initializing but it wasn't. 9790 - The sync message out from the PluginProcess was not being handled by the WebProcess. 9791 9792 Expose the ability for the PluginProcess to act as if it is handling a sync message and needs messages dispatched: 9793 * Platform/CoreIPC/Connection.h: 9794 (CoreIPC::Connection::incrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount): 9795 (CoreIPC::Connection::decrementDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount): 9796 9797 * PluginProcess/PluginControllerProxy.cpp: 9798 (WebKit::PluginControllerProxy::PluginControllerProxy): 9799 (WebKit::PluginControllerProxy::setInitializationReply): Save the delayed reply for synchronous initialization. 9800 (WebKit::PluginControllerProxy::takeInitializationReply): Give back the delayed reply for initialization completion. 9801 (WebKit::PluginControllerProxy::initialize): 9802 * PluginProcess/PluginControllerProxy.h: 9803 (WebKit::PluginControllerProxy::isInitializing): Accessor so WebProcessConnection knows whether or not to store the 9804 delayed reply for later. 9805 9806 * PluginProcess/WebProcessConnection.messages.in: Make the synchronous form of "CreatePlugin" have a delayed reply. 9807 * PluginProcess/WebProcessConnection.cpp: 9808 (WebKit::WebProcessConnection::createPlugin): Store away the delayed reply message so it can be responded to after 9809 asynchronous initialization completes. 9810 (WebKit::WebProcessConnection::createPluginAsynchronously): If there is a stored away delayed reply message, respond to 9811 it instead of sending the asynchronously reply. 9812 * PluginProcess/WebProcessConnection.h: 9813 (WebProcessConnection): 9814 98152012-08-13 Alexey Proskuryakov <ap@apple.com> 9816 9817 [WK2] Move a remaining per-process message from WebContext to WebProcessProxy 9818 https://bugs.webkit.org/show_bug.cgi?id=93883 9819 9820 Windows build fix. 9821 9822 * WebProcess/WebProcess.cpp: 9823 (WebKit::WebProcess::getSitesWithPluginData): 9824 (WebKit::WebProcess::clearPluginSiteData): 9825 Use WebProcessProxy for the message here, too. 9826 98272012-08-13 Alexey Proskuryakov <ap@apple.com> 9828 9829 [WK2] Move a remaining per-process message from WebContext to WebProcessProxy 9830 https://bugs.webkit.org/show_bug.cgi?id=93883 9831 9832 Reviewed by Sam Weinig. 9833 9834 There was one plug-in message renaming. Moving it, and also other plug-in messages 9835 for consistency. 9836 9837 * UIProcess/WebContext.cpp: 9838 (WebKit): Got rid of the last MESSAGE_CHECK in this file. 9839 (WebKit::WebContext::WebContext): Moved m_pluginWorkQueue to a singleton. 9840 We don't need more than one queue (all it does is read plug-in info), and if we 9841 needed, it would have been per-process, not per-context. 9842 (WebKit::WebContext::~WebContext): No more work queue. 9843 (WebKit::WebContext::processDidFinishLaunching): Ditto. 9844 9845 * UIProcess/WebContext.h: No longer needs to be a QueueClient. 9846 9847 * UIProcess/WebContext.messages.in: 9848 * UIProcess/WebProcessProxy.messages.in: 9849 Moved plug-in related messages. 9850 9851 * UIProcess/WebProcessProxy.cpp: 9852 (WebKit::pluginWorkQueue): Moved from WebContext to a singleton. 9853 (WebKit::WebProcessProxy::sendDidGetPlugins): Moved from WebContext. 9854 (WebKit::WebProcessProxy::handleGetPlugins): Ditto. 9855 (WebKit::WebProcessProxy::getPlugins): Ditto. 9856 (WebKit::WebProcessProxy::getPluginPath): Ditto. 9857 (WebKit::WebProcessProxy::getPluginProcessConnection): Ditto. 9858 (WebKit::WebProcessProxy::didGetSitesWithPluginData): Ditto. 9859 (WebKit::WebProcessProxy::didClearPluginSiteData): Ditto. 9860 9861 * UIProcess/WebProcessProxy.h: Process proxy needs to be thread safe ref counted 9862 now, since it sends messages to itself on a work queue and back. 9863 9864 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 9865 (WebKit::WebPlatformStrategies::populatePluginCache): Updated for new receiver. 9866 9867 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Ditto. 9868 9869 * WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ditto. 9870 98712012-08-13 Raphael Kubo da Costa <rakuco@webkit.org> 9872 9873 [CMake] Remove glib-related Find modules and write single new one instead. 9874 https://bugs.webkit.org/show_bug.cgi?id=93786 9875 9876 Reviewed by Rob Buis. 9877 9878 * PlatformEfl.cmake: Use GLIB_* instead of Glib_*. 9879 98802012-08-13 Christophe Dumez <christophe.dumez@intel.com> 9881 9882 [SOUP][WK2] Missing LocalTerminationDisabler in WebCookieManager::setCookiePersistentStorage() 9883 https://bugs.webkit.org/show_bug.cgi?id=93837 9884 9885 Reviewed by Carlos Garcia Campos. 9886 9887 Add missing WebCore::LocalTerminationDisabler in 9888 WebCookieManager::setCookiePersistentStorage() to 9889 temporarily disable process termination. 9890 9891 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: 9892 (WebKit::WebCookieManager::setCookiePersistentStorage): 9893 98942012-08-12 Nuno Lopes <nlopes@apple.com> 9895 9896 Fix build with recent clang. 9897 https://bugs.webkit.org/show_bug.cgi?id=90701 9898 9899 Reviewed by Eric Seidel. 9900 9901 * Shared/CommandLine.h: 9902 (CommandLine): 9903 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 9904 (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager): 9905 * WebProcess/Notifications/NotificationPermissionRequestManager.h: 9906 (NotificationPermissionRequestManager): 9907 99082012-08-11 Sam Weinig <sam@webkit.org> 9909 9910 Fix the build. 9911 9912 * Platform/CoreIPC/Connection.h: 9913 Add missing include. 9914 99152012-08-11 Sam Weinig <sam@webkit.org> 9916 9917 [WK2] Get rid of ProcessModelSharedSecondaryThread 9918 https://bugs.webkit.org/show_bug.cgi?id=93652 9919 9920 Reviewed by Dan Bernstein. 9921 9922 The threaded model for WebKit2 has been broken a long time and its continued existence in 9923 the code only serves to confuse. It's time to say good bye to it. 9924 9925 * UIProcess/API/C/WKContext.cpp: 9926 * UIProcess/API/C/WKContextPrivate.h: 9927 Remove WKContextGetSharedThreadContext(). 9928 9929 * UIProcess/ProcessModel.h: 9930 Remove ProcessModelSharedSecondaryThread from the ProcessModel enum. 9931 9932 * UIProcess/WebContext.cpp: 9933 * UIProcess/WebContext.h: 9934 Remove WebContext::sharedThreadContext(). 9935 9936 * UIProcess/WebProcessProxy.cpp: 9937 (WebKit::WebProcessProxy::~WebProcessProxy): 9938 (WebKit::WebProcessProxy::connect): 9939 (WebKit::WebProcessProxy::isLaunching): 9940 * UIProcess/WebProcessProxy.h: 9941 Remove the ThreadLauncher member and stop deriving from ThreadLauncher::Client. 9942 9943 * UIProcess/Launcher/ThreadLauncher.cpp: Removed. 9944 * UIProcess/Launcher/ThreadLauncher.h: Removed. 9945 * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Removed. 9946 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Removed. 9947 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Removed. 9948 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Removed. 9949 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Removed. 9950 * WebKit2.xcodeproj/project.pbxproj: 9951 * win/WebKit2.vcproj: 9952 * CMakeLists.txt: 9953 * GNUmakefile.list.am: 9954 * PlatformEfl.cmake: 9955 * Target.pri: 9956 Remove ThreadLauncher files. 9957 99582012-08-11 Sam Weinig <sam@webkit.org> 9959 9960 Enable XPC Service based WebProcess with runtime flag 9961 https://bugs.webkit.org/show_bug.cgi?id=93773 9962 9963 Reviewed by Dan Bernstein. 9964 9965 Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS 9966 is set in the environment. 9967 9968 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 9969 (WebKit::launchXPCService): 9970 Fix issue that was causing this code not to compile. This was not caught before since 9971 the code was not being built. 9972 9973 * UIProcess/WebProcessProxy.cpp: 9974 (WebKit::WebProcessProxy::connect): 9975 Switch from hard coding always using the XPC Service code path if 9976 HAVE(XPC) was true, to doing it conditionally on an environment variable. 9977 99782012-08-11 Sam Weinig <sam@webkit.org> 9979 9980 Make it possible to run the WebProcess as an XPC service 9981 https://bugs.webkit.org/show_bug.cgi?id=92814 9982 9983 Reviewed by Anders Carlsson. 9984 9985 In this initial implementation, we are only using the XPC service 9986 to launch the WebProcess, and then using the xpc_connection to send 9987 over a mach_port to the WebProcess which is then used for creating 9988 the CoreIPC connection. In the future, we will switch to using the 9989 xpc_connection for all messaging. 9990 9991 When the XPC service is enabled (it is compiled out by default for now), both 9992 the XPC service and the old spawned process are runtime choosable. This allows 9993 the connect to pre-existing process workflow to continue to work. 9994 9995 There are a few additional caveats of this initial implementation: 9996 - It is only set up for the WebProcess (not for the PluginProcess) 9997 - The WebProcess shim does not work. 9998 - It requires a new environment variable to be set when launching 9999 to find the right service to launch (__XPC_DYLD_FRAMEWORK_PATH). 10000 10001 * Configurations/WebKit2Service.xcconfig: Added. 10002 Add new configuration file for the service. 10003 10004 * Platform/CoreIPC/Connection.h: 10005 (CoreIPC::Connection::Identifier::Identifier): 10006 (CoreIPC::Connection::identifierIsNull): 10007 Added to encapsulate the concept of a null identifier, now that it 10008 is not possible to just compare to null. 10009 10010 * Platform/CoreIPC/mac/ConnectionMac.cpp: 10011 (CoreIPC::Connection::platformInvalidate): 10012 (CoreIPC::Connection::platformInitialize): 10013 Change Connection::Identifier on the Mac to be a struct instead of 10014 a typedef to a mach_port. This allows for the Connection to get both 10015 the listening port and a reference to the xpc_connection (if it 10016 compiled in). For now, all we do is retain the xpc_connection when it 10017 is given to us, and release on Connection invalidation. 10018 10019 * PluginProcess/PluginProcess.cpp: 10020 (WebKit::PluginProcess::createWebProcessConnection): 10021 * PluginProcess/mac/PluginProcessMainMac.mm: 10022 (WebKit::PluginProcessMain): 10023 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 10024 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 10025 Use the Connection::Identifier constructor. 10026 10027 * UIProcess/Launcher/ProcessLauncher.h: 10028 (LaunchOptions): 10029 Add a UseXPC option to the LaunchOptions so we can dynamically choose whether to use it. 10030 10031 (ProcessLauncher): 10032 Make processTypeAsString public to allow better factoring in the implementation file 10033 using static functions. 10034 10035 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 10036 Factor out the different launching options into helper functions. Always start by 10037 trying to connect to a pre-existing process. 10038 10039 (WebKit::launchXPCService): 10040 Create a new xpc_connection to our service, and give it a unique instance UUID. 10041 Then, send a bootstrap message with a mach_port and wait for a reply to complete 10042 the launch procedure. 10043 10044 (WebKit::tryPreexistingProcess): 10045 Move the code to connect to a preexisting process to its own helper function. 10046 10047 (WebKit::ProcessLauncher::launchProcess): 10048 Clean up a bit, calling the helper functions and adding call to launch the XPC service 10049 if it is enabled. 10050 10051 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: 10052 (WebKit::webThreadBody): 10053 (WebKit::ThreadLauncher::createWebThread): 10054 Switch to using the constructor version of Identifier. 10055 10056 * UIProcess/Plugins/PluginProcessProxy.cpp: 10057 (WebKit::PluginProcessProxy::PluginProcessProxy): 10058 Don't try to use the XPC service for plugins yet. 10059 10060 (WebKit::PluginProcessProxy::didFinishLaunching): 10061 Use Connection::identifierIsNull instead of explicit null check. 10062 10063 * UIProcess/WebProcessProxy.cpp: 10064 (WebKit::WebProcessProxy::connect): 10065 If XPC is compiled in (it currently is not) enable it by default. 10066 10067 * WebKit2.xcodeproj/project.pbxproj: 10068 Add the new files and targets. 10069 10070 * WebKit2Service: Added. 10071 * WebKit2Service/Info.plist: Added. 10072 Add the paper work needed for an XPC service. Importantly, set up the XPC 10073 service to be an Application service type, use NSApplicationMain as its run 10074 loop, and allow for multiple instantiations. Also make sure the service acts 10075 like the WebProcess binary by making it a LSUIElement, enabling LSFileQuarantine, 10076 and setting the principle class to NSApplication. 10077 10078 * WebKit2Service/MainMacService.mm: Added. 10079 (WebKit2ServiceEventHandler): 10080 (main): 10081 The initialization of the XPC service is quite a bit different than the 10082 WebProcess version, since we don't get passed parameters in argv. Instead, 10083 we initiate the XPC service via xpc_main, and wait for the bootstrap message 10084 we sent in ProcessLauncherMac.mm. When we receive that message we can load 10085 WebKit2 framework and initialize the WebProcess normally (we also get the mach_port 10086 for the CoreIPC connection in that bootstrap message). 10087 10088 * WebProcess/mac/WebProcessMainMac.mm: 10089 (WebKit::WebProcessMainXPC): 10090 Add a variant of WebProcessMain that is used for the XPC service case, where we don't 10091 have command line arguments and don't need to talk to the mach bootstrap server. 10092 10093 (WebKit::WebProcessMain): 10094 * mac/MainMac.cpp: Removed. 10095 * mac/MainMacProcess.cpp: Copied from Source/WebKit2/mac/MainMac.cpp. 10096 Rename MainMac to MainMacProcess to signify that it is different from the XPC 10097 service main. 10098 100992012-08-09 Jer Noble <jer.noble@apple.com> 10100 10101 Crash exiting from HTML5 FS mode to normal mode via ESC key 10102 https://bugs.webkit.org/show_bug.cgi?id=93663 10103 10104 Reviewed by Eric Carlson. 10105 10106 Crash is due to a refcount underrun with _watchdogTimer due to adopting an autoreleased NSTimer. 10107 Use the non-autoreleased NSTimer creation method and manually add to the main NSRunLoop. 10108 10109 * UIProcess/mac/WKFullScreenWindowController.mm: 10110 (-[WKFullScreenWindowController cancelOperation:]): 10111 101122012-08-10 Rafael Brandao <rafael.lobo@openbossa.org> 10113 10114 [Qt] WebViewLoadFavIcon::test_favIconLoad() fails 10115 https://bugs.webkit.org/show_bug.cgi?id=91888 10116 10117 Reviewed by Simon Hausmann. 10118 10119 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: 10120 We should wait for iconChanged signal instead of loadFinished, 10121 there was no guarantee that at that point we would get it already. 10122 101232012-08-10 Allan Sandfeld Jensen <allan.jensen@nokia.com> 10124 10125 [Qt] Uninitialized flags in CoordinatedGraphicsLayer 10126 https://bugs.webkit.org/show_bug.cgi?id=93719 10127 10128 Reviewed by Kenneth Rohde Christiansen. 10129 10130 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 10131 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer): 10132 101332012-08-10 Mario Sanchez Prada <msanchez@igalia.com> 10134 10135 [WK2][GTK] Implement new API to save a web page using MHTML 10136 https://bugs.webkit.org/show_bug.cgi?id=89873 10137 10138 Reviewed by Carlos Garcia Campos. 10139 10140 Implemented new asynchronous API in WebKitWebView for saving a web 10141 page to a GInputStream or to a file, using MHTML as the only 10142 supported method at the moment. 10143 10144 * UIProcess/API/gtk/WebKitWebView.cpp: 10145 (ViewSaveAsyncData): 10146 (webViewFileSavedCallback): 10147 (webViewMHTMLDataGotCallback): 10148 (webkit_web_view_save): 10149 (webkit_web_view_save_finish): 10150 (webkit_web_view_save_to_file): 10151 (webkit_web_view_save_to_file_finish): 10152 * UIProcess/API/gtk/WebKitWebView.h: 10153 10154 Added new unit test. 10155 10156 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 10157 (testWebViewSave): 10158 (beforeAll): 10159 (afterAll): 10160 10161 Updated documentation files with new symbols. 10162 10163 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 10164 101652012-08-09 Carlos Garcia Campos <cgarcia@igalia.com> 10166 10167 Handle SSL errors for SOUP 10168 https://bugs.webkit.org/show_bug.cgi?id=90267 10169 10170 Reviewed by Martin Robinson. 10171 10172 Ignore SSL errors by default for compatibility. 10173 10174 * WebProcess/efl/WebProcessMainEfl.cpp: 10175 (WebKit::WebProcessMainEfl): 10176 * WebProcess/gtk/WebProcessMainGtk.cpp: 10177 (WebKit::WebProcessMainGtk): 10178 101792012-08-09 Alexey Proskuryakov <ap@apple.com> 10180 10181 [WK2] Add a process model constant for multiple processes 10182 https://bugs.webkit.org/show_bug.cgi?id=93642 10183 10184 Reviewed by Anders Carlsson. 10185 10186 * UIProcess/ProcessModel.h: Added ProcessModelMultipleSecondaryProcesses. 10187 Deleted ProcessModelSecondaryProcess in favor of more descriptive ProcessModelSharedSecondaryProcess - 10188 these used to behave the same. 10189 10190 * UIProcess/WebContext.cpp: (WebKit::WebContext::create): Changed to use ProcessModelSharedSecondaryProcess. 10191 10192 * UIProcess/WebProcessProxy.h: Removed an unncessary include of ProcessModel.h. 10193 101942012-08-09 Dan Bernstein <mitz@apple.com> 10195 10196 <rdar://problem/12035637> 32-bit PluginProcess launches without appropriate DYLD environment variables if UI process is 64-bit only 10197 https://bugs.webkit.org/show_bug.cgi?id=93596 10198 10199 Reviewed by Mark Rowe. 10200 10201 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 10202 (WebKit::ProcessLauncher::launchProcess): Changed to pass the current architecture, rather than 10203 the intended child process architecture, to the DynamicLinkerEnvironmentExtractor constructor. 10204 102052012-08-09 Tim Horton <timothy_horton@apple.com> 10206 10207 Add optional debug logging for tiled scrolling 10208 https://bugs.webkit.org/show_bug.cgi?id=93305 10209 10210 Reviewed by Simon Fraser. 10211 10212 Add a new boolean preference, ScrollingPerformanceLoggingEnabled, which will be used to toggle 10213 the WebCore parts of this change. 10214 10215 * Shared/WebPreferencesStore.h: Add ScrollingPerformanceLoggingEnabled. 10216 * UIProcess/API/C/WKPreferences.cpp: 10217 (WKPreferencesSetScrollingPerformanceLoggingEnabled): Added. 10218 (WKPreferencesGetScrollingPerformanceLoggingEnabled): Added. 10219 * UIProcess/API/C/WKPreferencesPrivate.h: Add getters and setters for ScrollingPerformanceLoggingEnabled. 10220 * WebProcess/WebPage/WebPage.cpp: 10221 (WebKit::WebPage::WebPage): Add ScrollingPerformanceLoggingEnabled. 10222 (WebKit::WebPage::updatePreferences): Add ScrollingPerformanceLoggingEnabled. 10223 (WebKit::WebPage::setScrollingPerformanceLoggingEnabled): Propagate settings changes through to FrameView. 10224 * WebProcess/WebPage/WebPage.h: 10225 (WebKit::WebPage::scrollingPerformanceLoggingEnabled): Add a getter for the setting so that TiledCoreAnimationDrawingArea can access it. 10226 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 10227 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Pass ScrollingPerformanceLoggingEnabled down into the scrolling thread. 10228 102292012-08-08 Shane Stephens <shanestephens@google.com> 10230 10231 Compile flag for CSS Hierarchies 10232 https://bugs.webkit.org/show_bug.cgi?id=92433 10233 10234 Reviewed by Tony Chang. 10235 10236 * Configurations/FeatureDefines.xcconfig: 10237 102382012-08-08 Anders Carlsson <andersca@apple.com> 10239 10240 REGRESSION: Crash when plug-in initialization fails 10241 https://bugs.webkit.org/show_bug.cgi?id=93534 10242 <rdar://problem/12059786> 10243 10244 Reviewed by Simon Fraser. 10245 10246 Protect the PluginProxy while calling out to functions that could cause it to be destroyed. 10247 10248 * WebProcess/Plugins/PluginProxy.cpp: 10249 (WebKit::PluginProxy::didFailToCreatePluginInternal): 10250 102512012-08-08 Anders Carlsson <andersca@apple.com> 10252 10253 Make isTransparentSilverlightBackgroundValue handle all the possible transparent colors 10254 https://bugs.webkit.org/show_bug.cgi?id=93532 10255 10256 Reviewed by Simon Fraser. 10257 10258 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 10259 (WebKit::isTransparentSilverlightBackgroundValue): 10260 Check for all the possible transparent colors and assume that the color is opaque otherwise. 10261 10262 (WebKit::NetscapePlugin::initialize): 10263 Pass the lowercase string to isTransparentSilverlightBackgroundValue. 10264 102652012-08-08 Beth Dakin <bdakin@apple.com> 10266 10267 https://bugs.webkit.org/show_bug.cgi?id=92275 10268 Need a way to get a snapshot image that does not show the selection 10269 -and corresponding- 10270 <rdar://problem/11956802> 10271 10272 Reviewed by Anders Carlsson. 10273 10274 Added new API WKBundlePageCreateSnapshotWithOptions() 10275 10276 New enum SnapshotOptions tracks whether snapshots should exclude 10277 selection highlighting in addition to tracking whether the image is 10278 sharable like the original ImageOptions. 10279 * Shared/API/c/WKImage.h: 10280 * Shared/API/c/WKSharedAPICast.h: 10281 (WebKit::snapshotOptionsFromImageOptions): 10282 (WebKit): 10283 (WebKit::toSnapshotOptions): 10284 * Shared/ImageOptions.h: 10285 10286 New API. 10287 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 10288 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 10289 (WKBundlePageCreateSnapshotWithOptions): 10290 10291 These existing APIs all now call 10292 WebPage::scaledSnapshotWithOptions(). 10293 (WKBundlePageCreateSnapshotInViewCoordinates): 10294 (WKBundlePageCreateSnapshotInDocumentCoordinates): 10295 (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): 10296 10297 This patch removes WebPage::snapshotInViewCoordinates(), 10298 WebPage::snapshotInDocumentCoordinates(), and 10299 WebPage::scaledSnapshotInDocumentCoordinates(). All of the logic is 10300 now consolidated into WebPage::scaledSnapshotWithOptions(). It turns 10301 out that we never did anything different for document coordinates 10302 versus view coordinates, so that complexity could just be eliminated 10303 outright. 10304 * WebProcess/WebPage/WebPage.cpp: 10305 (WebKit::snapshotOptionsToImageOptions): 10306 (WebKit::WebPage::scaledSnapshotWithOptions): 10307 (WebKit): 10308 * WebProcess/WebPage/WebPage.h: 10309 (WebPage): 10310 103112012-08-08 Anders Carlsson <andersca@apple.com> 10312 10313 Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending 10314 https://bugs.webkit.org/show_bug.cgi?id=93508 10315 <rdar://problem/12056765> 10316 10317 Reviewed by Simon Fraser. 10318 10319 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 10320 (WebKit::NetscapePluginModule::determineQuirks): 10321 * Shared/Plugins/PluginQuirks.h: 10322 Rename the MakeTransparentIfBackgroundAttributeExists quirk to MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists 10323 since we'll explicitly check for opaque background colors (at least one opaque background color for now), instead of just making the 10324 plug-in transparent whenever there's a background specified. 10325 10326 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 10327 (WebKit::isTransparentSilverlightBackgroundValue): 10328 Helper function for determining if a background value is transparent. Just check for opaque black now and treat everything else as transparent. 10329 10330 (WebKit::NetscapePlugin::initialize): 10331 Call isTransparentSilverlightBackgroundValue. 10332 10333 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 10334 (WebKit::makeCGLPresentLayerOpaque): 10335 Helper function for grabbing the CGLPresentLayer from the layer hierarchy and setting it to be opaque. 10336 10337 (WebKit::NetscapePlugin::updatePluginLayer): 10338 Call makeCGLPresentLayerOpaque if the plug-in has the MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists quirk and 10339 the plug-in is not transparent. 10340 103412012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 10342 10343 [WK2] Coding style violation was brought with r125031 10344 https://bugs.webkit.org/show_bug.cgi?id=93503 10345 10346 Reviewed by Alexey Proskuryakov. 10347 10348 WKURLResponseCopyMimeType is corrected to WKURLResponseCopyMIMEType. 10349 10350 * Shared/API/c/WKURLResponse.cpp: 10351 (WKURLResponseCopyMIMEType): 10352 * Shared/API/c/WKURLResponse.h: 10353 103542012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 10355 10356 [EFL] EFL Webkit needs a class wrapping eina stringshare 10357 https://bugs.webkit.org/show_bug.cgi?id=93229 10358 10359 Reviewed by Kenneth Rohde Christiansen. 10360 10361 Added a new auxiliary class wrapping Eina Stringshare and providing 10362 more convenient C++ interface for using it. 10363 10364 * PlatformEfl.cmake: 10365 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Added. 10366 (:m_string): 10367 (WKEinaSharedString::~WKEinaSharedString): 10368 (WKEinaSharedString::operator=): 10369 * UIProcess/API/cpp/efl/WKEinaSharedString.h: Added. 10370 (WebKit): 10371 103722012-08-08 Balazs Kelemen <kbalazs@webkit.org> 10373 10374 [Qt] Snowshoe desktop crashes when opening a new tab 10375 https://bugs.webkit.org/show_bug.cgi?id=92753 10376 10377 Reviewed by Jocelyn Turcotte. 10378 10379 Change back forceRepaint to consider the UI process state. 10380 It has been tweaked to satisfy the needs of WKPageForceRepaint but 10381 it has other callers so this new behavior was not safe. This patch 10382 implements WebPage::forceRepaintAsync for testing purposes. It is 10383 done by LayerTreeCoordinator that holds the callback and sends the 10384 reply message in the next flushPendingLayerChanges. In theory it 10385 could be implemented for the non conposited path in DrawingAreaImpl 10386 as well but neither it is needed nor can I test it. 10387 10388 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 10389 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator): 10390 (WebKit::LayerTreeCoordinator::forceRepaintAsync): 10391 (WebKit): 10392 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 10393 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 10394 (LayerTreeCoordinator): 10395 * WebProcess/WebPage/DrawingAreaImpl.cpp: 10396 (WebKit::DrawingAreaImpl::forceRepaintAsync): 10397 (WebKit): 10398 * WebProcess/WebPage/DrawingAreaImpl.h: 10399 (DrawingAreaImpl): 10400 * WebProcess/WebPage/LayerTreeHost.h: 10401 (WebKit::LayerTreeHost::forceRepaintAsync): 10402 104032012-08-08 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 10404 10405 [WK2] [WTR] Provide Resource Response dumping. 10406 https://bugs.webkit.org/show_bug.cgi?id=93454 10407 10408 Reviewed by Kenneth Rohde Christiansen. 10409 10410 Several new getter functions were added to WKURLResponse and WKURL, so that WTR has 10411 necessary data for dumping. 10412 10413 * Shared/API/c/WKURL.cpp: 10414 (WKURLCopyLastPathComponent): 10415 * Shared/API/c/WKURL.h: 10416 * Shared/API/c/WKURLResponse.cpp: 10417 (WKURLResponseCopyURL): Returns URL of the response. 10418 (WKURLResponseCopyMimeType): Returns MIME type of the response. 10419 * Shared/API/c/WKURLResponse.h: 10420 * Shared/WebURL.h: 10421 (WebKit::WebURL::lastPathComponent): Returns last path component of the URL. 10422 (WebURL): 10423 104242012-08-08 Eunmi Lee <eunmi15.lee@samsung.com> 10425 10426 [EFL][WK2] Make ewk_view inheritable in the WebKit2. 10427 https://bugs.webkit.org/show_bug.cgi?id=90054 10428 10429 Reviewed by Kenneth Rohde Christiansen. 10430 10431 Make the ewk_view inheritable by exposing ewk_view_smart_class_set() 10432 API. Additionally, the ewk_view_smart_add() API is added to create 10433 Evas_Object for WebKit2 EFL. The default initialization is done in the 10434 ewk_view_smart_add(), so the object which inherits the ewk_view should 10435 use ewk_view_smart_add() instead of evas_object_smart_add() to create 10436 Evas_Object. 10437 10438 * UIProcess/API/efl/ewk_context.cpp: 10439 (ewk_context_new_from_WKContext): 10440 * UIProcess/API/efl/ewk_context_private.h: 10441 * UIProcess/API/efl/ewk_view.cpp: 10442 (ewk_view_smart_class_set): 10443 (_ewk_view_smart_class_new): 10444 (_ewk_view_initialize): 10445 (_ewk_view_add_with_smart): 10446 (ewk_view_base_add): 10447 (ewk_view_smart_add): 10448 (ewk_view_add_with_context): 10449 * UIProcess/API/efl/ewk_view.h: 10450 104512012-08-08 Allan Sandfeld Jensen <allan.jensen@nokia.com> 10452 10453 [Qt] WebProcess hangs on plugin initialization. 10454 https://bugs.webkit.org/show_bug.cgi?id=93272 10455 10456 Reviewed by Kenneth Rohde Christiansen. 10457 10458 * UIProcess/Plugins/PluginProcessProxy.cpp: 10459 (WebKit::PluginProcessProxy::didFinishLaunching): Ensure PluginProcessConnectionManager is informed of plugin crashes. 10460 * WebProcess/WebPage/WebPage.cpp: 10461 (WebKit::WebPage::WebPage): Let setIsInWindow set canStartMedia asynchronously. 10462 104632012-08-08 Andras Becsi <andras.becsi@nokia.com> 10464 10465 [Qt][WK2] Set the fixed layout setting before creating the page 10466 https://bugs.webkit.org/show_bug.cgi?id=93374 10467 10468 Reviewed by Noam Rosenthal. 10469 10470 Any page setting should preferrable be set before creating the page 10471 but fixed layout was set after the initialization of the web page. 10472 10473 * UIProcess/API/qt/qquickwebview.cpp: 10474 (QQuickWebViewPrivate::initialize): 10475 (QQuickWebViewFlickablePrivate::initialize): 10476 104772012-08-08 Mario Sanchez Prada <msanchez@igalia.com> 10478 10479 [WK2] Add new C API to generate MHTML data from the UI process 10480 https://bugs.webkit.org/show_bug.cgi?id=89872 10481 10482 Reviewed by Anders Carlsson. 10483 10484 Add new C API in the UI Process, using ENABLE(MHTML) guards as needed. 10485 10486 * UIProcess/API/C/WKPage.cpp: 10487 (WKPageGetContentsAsMHTMLData): 10488 * UIProcess/API/C/WKPage.h: 10489 10490 Implementation in the UI Process's WebPage proxy object. 10491 10492 * UIProcess/WebPageProxy.cpp: 10493 (WebKit): 10494 (WebKit::WebPageProxy::getContentsAsMHTMLData): 10495 * UIProcess/WebPageProxy.h: 10496 (WebPageProxy): 10497 10498 Implementation in the WebProcess, relying in WebCore::MHTMLArchive. 10499 10500 * WebProcess/WebPage/WebPage.cpp: 10501 (WebKit): 10502 (WebKit::WebPage::getContentsAsMHTMLData): 10503 * WebProcess/WebPage/WebPage.h: 10504 (WebPage): 10505 * WebProcess/WebPage/WebPage.messages.in: 10506 105072012-08-07 YoungTaeck Song <youngtaeck.song@samsung.com> 10508 10509 [WK2][EFL] Implement accelerated compositing on WK2 Efl port 10510 https://bugs.webkit.org/show_bug.cgi?id=89840 10511 10512 Reviewed by Noam Rosenthal. 10513 10514 Implement accelerated composition with TiledBackingStore on WK2 Efl port. 10515 This implementation is based on COORDINATED_GRAPHICS. 10516 10517 * CMakeLists.txt: 10518 * PlatformEfl.cmake: 10519 * Shared/ShareableSurface.cpp: 10520 * Shared/WebCoreArgumentCoders.cpp: 10521 * Shared/WebCoreArgumentCoders.h: 10522 * UIProcess/API/efl/PageClientImpl.cpp: 10523 (WebKit::PageClientImpl::PageClientImpl): 10524 (WebKit::PageClientImpl::didChangeContentsSize): 10525 (WebKit): 10526 * UIProcess/API/efl/PageClientImpl.h: 10527 (PageClientImpl): 10528 * UIProcess/API/efl/ViewportProcessor.cpp: Added. 10529 (WebKit): 10530 (WebKit::ViewportProcessor::ViewportProcessor): 10531 (WebKit::ViewportProcessor::~ViewportProcessor): 10532 (WebKit::ViewportProcessor::display): 10533 (WebKit::ViewportProcessor::updateViewportSize): 10534 (WebKit::ViewportProcessor::setVisibleContentsRect): 10535 (WebKit::ViewportProcessor::didChangeContentsSize): 10536 * UIProcess/API/efl/ViewportProcessor.h: Added. 10537 (WebKit): 10538 (ViewportProcessor): 10539 (WebKit::ViewportProcessor::create): 10540 (WebKit::ViewportProcessor::drawingArea): 10541 (WebKit::ViewportProcessor::viewSize): 10542 * UIProcess/API/efl/ewk_view.cpp: 10543 (_Ewk_View_Private_Data): 10544 (_ewk_view_smart_calculate): 10545 (ewk_view_base_add): 10546 (ewk_view_display): 10547 (ewk_view_contents_size_changed): 10548 * UIProcess/API/efl/ewk_view_private.h: 10549 * UIProcess/PageClient.h: 10550 (PageClient): 10551 * UIProcess/WebPageProxy.cpp: 10552 (WebKit): 10553 (WebKit::WebPageProxy::didChangeContentsSize): 10554 * UIProcess/WebPageProxy.h: 10555 (WebPageProxy): 10556 * UIProcess/WebPageProxy.messages.in: 10557 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 10558 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 10559 * WebProcess/WebPage/LayerTreeHost.cpp: 10560 (WebKit::LayerTreeHost::create): 10561 * WebProcess/WebPage/LayerTreeHost.h: 10562 (WebKit): 10563 * WebProcess/efl/WebProcessMainEfl.cpp: 10564 (WebKit::WebProcessMainEfl): 10565 105662012-08-07 Csaba Osztrogonác <ossy@webkit.org> 10567 10568 [Qt] New API tests introuduced in r119723 marked as fail, but pass 10569 https://bugs.webkit.org/show_bug.cgi?id=88870 10570 10571 Reviewed by Alexis Menard. 10572 10573 Revert r119723, because there are 2 failing tests, and the author and 10574 the reviewer of the original patch ignore the bug report long time ago. 10575 10576 * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Removed. 10577 105782012-08-07 No'am Rosenthal <noam.rosenthal@nokia.com> 10579 10580 GraphicsLayerAnimation shouldn't use HashMap<String> 10581 https://bugs.webkit.org/show_bug.cgi?id=93284 10582 10583 Reviewed by Kenneth Rohde Christiansen. 10584 10585 Apply the changes to GraphicsLayerAnimation API. 10586 10587 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 10588 (WebCore::CoordinatedGraphicsLayer::addAnimation): 10589 105902012-08-07 No'am Rosenthal <noam.rosenthal@nokia.com> 10591 10592 [Qt] Make it possible to build without QtQuick 10593 10594 Reviewed by Simon Hausmann. 10595 10596 * Target.pri: 10597 * UIProcess/API/qt/tests/tests.pri: 10598 * UIProcess/API/qt/tests/util.cpp: 10599 * UIProcess/API/qt/tests/util.h: 10600 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 10601 (WebKit::WebFullScreenManagerProxy::invalidate): 10602 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 10603 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 10604 * UIProcess/qt/WebPageProxyQt.cpp: 10605 (WebKit::WebPageProxy::resolveApplicationSchemeRequest): 10606 (WebKit::WebPageProxy::sendApplicationSchemeReply): 10607 * WebKit2.pri: 10608 106092012-07-19 Simon Hausmann <simon.hausmann@nokia.com> 10610 10611 [Qt] Remove Qt 4 specific code paths 10612 https://bugs.webkit.org/show_bug.cgi?id=88161 10613 10614 Reviewed by Kenneth Rohde Christiansen. 10615 10616 * UIProcess/API/qt/qquickwebview.cpp: 10617 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 10618 (gatherAPI): 10619 * WebKit2.pri: 10620 106212012-08-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 10622 10623 [EFL][WK2] Add back forward list API 10624 https://bugs.webkit.org/show_bug.cgi?id=92345 10625 10626 Reviewed by Kenneth Rohde Christiansen. 10627 10628 Added new Back Forward list API to EFL WK2. Ewk_Back_Forward_List and 10629 Ewk_Back_Forward_List_Item structures were added. The new API is 10630 mostly the same as one from UIProcess/API/C/{ WKBackForwardList.h, WKBackForwardListItem.h }. 10631 10632 * PlatformEfl.cmake: 10633 * UIProcess/API/efl/ewk_back_forward_list.cpp: Added. 10634 (_Ewk_Back_Forward_List): 10635 (_Ewk_Back_Forward_List::_Ewk_Back_Forward_List): 10636 (getOrCreateItem): 10637 (webkit_back_forward_list_current_item_get): 10638 (webkit_back_forward_list_back_item_get): 10639 (webkit_back_forward_list_forward_item_get): 10640 (webkit_back_forward_list_item_at_index_get): 10641 (webkit_back_forward_list_length_get): 10642 (ewk_back_forward_list_changed): 10643 (ewk_back_forward_list_new): 10644 (ewk_back_forward_list_free): 10645 * UIProcess/API/efl/ewk_back_forward_list.h: Added. 10646 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Added. 10647 (getItemProperty): 10648 (_Ewk_Back_Forward_List_Item): 10649 (_Ewk_Back_Forward_List_Item::_Ewk_Back_Forward_List_Item): 10650 (_Ewk_Back_Forward_List_Item::~_Ewk_Back_Forward_List_Item): 10651 (ewk_back_forward_list_item_ref): 10652 (ewk_back_forward_list_item_unref): 10653 (ewk_back_forward_list_item_uri_get): 10654 (ewk_back_forward_list_item_title_get): 10655 (ewk_back_forward_list_item_original_uri_get): 10656 (ewk_back_forward_list_item_new): 10657 * UIProcess/API/efl/ewk_back_forward_list_item.h: Added. 10658 * UIProcess/API/efl/ewk_back_forward_list_item_private.h: Added. 10659 * UIProcess/API/efl/ewk_back_forward_list_private.h: Added. 10660 * UIProcess/API/efl/ewk_view.cpp: 10661 (_Ewk_View_Private_Data): 10662 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 10663 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 10664 (ewk_view_back_forward_list_get): New function to get back-forward list. 10665 * UIProcess/API/efl/ewk_view.h: 10666 * UIProcess/API/efl/ewk_view_loader_client.cpp: 10667 (didChangeBackForwardList): The callback added to update back-forward list items cache. 10668 (ewk_view_loader_client_attach): 10669 106702012-08-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 10671 10672 CUSTOM_SCHEME_HANDLER flag should depend on REGISTER_PROTOCOL_HANDLER 10673 https://bugs.webkit.org/show_bug.cgi?id=93081 10674 10675 Reviewed by Adam Barth. 10676 10677 CUSTOM_SCHEME_HANDLER #if guards are enclosed in the REGISTER_PROTOCOL_HANDLER guards. 10678 10679 * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: 10680 (WebRegisterProtocolHandlerClient): 10681 106822012-08-07 Hyerim Bae <hyerim.bae@samsung.com> 10683 10684 [EFL][WK2] Add ewk_view_find_client.h / cpp for wrapping WKPageSetPageFindClient. 10685 https://bugs.webkit.org/show_bug.cgi?id=90927 10686 10687 Reviewed by Kentaro Hara. 10688 10689 Add ewk_view_find_client.h / files for wrapping WKPageSetPageFindClient, 10690 add didFindString callback member of WKPageSetPageFindClient. 10691 10692 * PlatformEfl.cmake: 10693 * UIProcess/API/efl/ewk_view.cpp: 10694 (ewk_view_base_add): 10695 (ewk_view_text_found): 10696 (ewk_view_text_find): 10697 (ewk_view_text_find_highlight_clear): 10698 * UIProcess/API/efl/ewk_view.h: 10699 * UIProcess/API/efl/ewk_view_find_client.cpp: Added. 10700 (toEwkView): 10701 (didFindString): 10702 (ewk_view_find_client_attach): 10703 * UIProcess/API/efl/ewk_view_find_client_private.h: Added. 10704 * UIProcess/API/efl/ewk_view_private.h: 10705 107062012-08-06 Sheriff Bot <webkit.review.bot@gmail.com> 10707 10708 Unreviewed, rolling out r124816. 10709 http://trac.webkit.org/changeset/124816 10710 https://bugs.webkit.org/show_bug.cgi?id=93311 10711 10712 made some tests crash (Requested by noamr on #webkit). 10713 10714 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 10715 (WebCore::CoordinatedGraphicsLayer::addAnimation): 10716 107172012-08-06 No'am Rosenthal <noam.rosenthal@nokia.com> 10718 10719 GraphicsLayerAnimation shouldn't use HashMap<String> 10720 https://bugs.webkit.org/show_bug.cgi?id=93284 10721 10722 Reviewed by Kenneth Rohde Christiansen. 10723 10724 Apply the changes to GraphicsLayerAnimation API. 10725 10726 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 10727 (WebCore::CoordinatedGraphicsLayer::addAnimation): 10728 107292012-08-03 Brady Eidson <beidson@apple.com> 10730 10731 Out-of-process plug-ins should support asynchronous initialization 10732 <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919 10733 10734 Reviewed by Anders Carlsson. 10735 10736 If a plug-in has been deemed capable of asynchronous initialization when run out of process... 10737 ...then do that! 10738 10739 Add flags to communicate that this plugin create is meant to create a plug-in already requested asynchronously and 10740 to include whether or not the initialize call should include an artificial delay (for testing): 10741 * PluginProcess/PluginCreationParameters.cpp: 10742 (WebKit::PluginCreationParameters::PluginCreationParameters): 10743 (WebKit::PluginCreationParameters::encode): 10744 (WebKit::PluginCreationParameters::decode): 10745 * PluginProcess/PluginCreationParameters.h: 10746 (PluginCreationParameters): 10747 10748 Add a flag for the UI Process to tell the PluginProcess that it supports asynchronous initialization: 10749 * Shared/Plugins/PluginProcessCreationParameters.cpp: 10750 (WebKit::PluginProcessCreationParameters::PluginProcessCreationParameters): 10751 (WebKit::PluginProcessCreationParameters::encode): 10752 (WebKit::PluginProcessCreationParameters::decode): 10753 * Shared/Plugins/PluginProcessCreationParameters.h: 10754 (PluginProcessCreationParameters): 10755 10756 Allow the UI Process to pass along whether the plug-on supports asynchronous initialization: 10757 * UIProcess/Plugins/PluginProcessProxy.cpp: 10758 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 10759 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 10760 * UIProcess/Plugins/PluginProcessProxy.h: 10761 (PluginProcessProxy): 10762 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 10763 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 10764 * UIProcess/WebProcessProxy.messages.in: 10765 10766 Allow the Plugin Process to pass whether or not it supports asynchronous initialization, originally determined 10767 in the UI Process, along to the WebProcess: 10768 * PluginProcess/PluginProcess.cpp: 10769 (WebKit::PluginProcess::PluginProcess): 10770 (WebKit::PluginProcess::initializePluginProcess): 10771 (WebKit::PluginProcess::createWebProcessConnection): 10772 * PluginProcess/PluginProcess.h: 10773 (PluginProcess): 10774 * UIProcess/Plugins/PluginProcessProxy.messages.in: 10775 10776 Add a flag so PluginProcessConnections remember whether or not they support asynchronous initialization: 10777 * WebProcess/Plugins/PluginProcessConnection.cpp: 10778 (WebKit::PluginProcessConnection::PluginProcessConnection): 10779 (WebKit::PluginProcessConnection::setSupportsAsynchronousPluginInitialization): 10780 (WebKit): 10781 * WebProcess/Plugins/PluginProcessConnection.h: 10782 (WebKit::PluginProcessConnection::create): 10783 (WebKit::PluginProcessConnection::supportsAsynchronousPluginInitialization): 10784 (PluginProcessConnection): 10785 10786 Create PluginProcessConnections with the flag passed down from the PluginProcess about whether or not they 10787 support asynchronous initialization: 10788 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 10789 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 10790 10791 Responding to messages from the WebProcess, most of the heavy decision making in asynchronous initialization is here: 10792 * PluginProcess/WebProcessConnection.cpp: 10793 (WebKit::asynchronousInstanceIDsToIgnore): A set of instance IDs to *not* create asynchronously later because we know 10794 we no longer need to. 10795 (WebKit): 10796 (WebKit::WebProcessConnection::didReceiveMessage): 10797 (WebKit::WebProcessConnection::destroyPlugin): If the plug-in doesn't exist but is awaiting asynchronous creation, flag 10798 this instance ID in the "asynchronous ignore set". 10799 (WebKit::WebProcessConnection::createPluginInternal): Renamed from createPlugin, actually does the plug-in creation. 10800 (WebKit::WebProcessConnection::createPlugin): Adds the instance ID to the "asynchronous ignore set" then calls createPluginInternal. 10801 (WebKit::WebProcessConnection::createPluginAsynchronously): If the instance ID is in the "asynchronous ignore set", remove it from the 10802 set and do nothing else. Otherwise, perform the initialization and then send the asynchronous result back to the WebProcess. 10803 * PluginProcess/WebProcessConnection.h: 10804 (WebProcessConnection): 10805 * PluginProcess/WebProcessConnection.messages.in: 10806 10807 Add helpers for asynchronous initialization that all plug-in types must implement: 10808 * WebProcess/Plugins/Plugin.h: 10809 (Plugin): 10810 10811 Add helpers for asynchronous initialization that plug-in controllers can override: 10812 * WebProcess/Plugins/PluginController.h: 10813 (PluginController): 10814 (WebKit::PluginController::asynchronousPluginInitializationEnabled): 10815 (WebKit::PluginController::asynchronousPluginInitializationEnabledForAllPlugins): 10816 (WebKit::PluginController::artificialPluginInitializationDelayEnabled): 10817 10818 Give PluginProxys the ability to initialize either asynchronously or synchronously, and also the ability to synchronously 10819 wait for previously asynchronous initialization (in case their PluginScriptObject is required): 10820 * WebProcess/Plugins/PluginProxy.cpp: 10821 (WebKit::PluginProxy::PluginProxy): 10822 (WebKit::PluginProxy::initialize): Store the plugin creation parameters as a member, and decide whether to try synchronous 10823 or asynchronous initialization. 10824 (WebKit): 10825 (WebKit::PluginProxy::canInitializeAsynchronously): Answer based on preferences and what the PluginProcessConnection says 10826 that it supports. 10827 (WebKit::PluginProxy::waitForAsynchronousInitialization): Synchronously wait on initialization when asynchronous initialization 10828 was previously requested. 10829 (WebKit::PluginProxy::initializeSynchronously): 10830 (WebKit::PluginProxy::didCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call 10831 through to didCreatePluginInternal. 10832 (WebKit::PluginProxy::didCreatePluginInternal): Handle completion of initialization (both synchronously and asynchronously) 10833 (WebKit::PluginProxy::didFailToCreatePlugin): Double-check that we're still expecting asynchronous initialization, then call 10834 through to didFailToCreatePluginInternal. 10835 (WebKit::PluginProxy::didFailToCreatePluginInternal): Handle failure to initialize (both synchronously and asynchronously) 10836 (WebKit::PluginProxy::destroy): 10837 * WebProcess/Plugins/PluginProxy.h: 10838 (WebKit): 10839 (WebKit::PluginProxy::isInitializingAsynchronously): 10840 (PluginProxy): 10841 * WebProcess/Plugins/PluginProxy.messages.in: 10842 10843 * WebProcess/Plugins/PluginView.cpp: 10844 (WebKit::PluginView::PluginView): 10845 (WebKit::PluginView::~PluginView): Always destroy the plug-in even if it hasn't been initialized yet, as it might be initializing 10846 right now. 10847 (WebKit::PluginView::initializePlugin): Don't handle the result of initialization immediately. Break that out in to two 10848 methods that will be called later. 10849 (WebKit): 10850 (WebKit::PluginView::didFailToInitializePlugin): 10851 (WebKit::PluginView::didInitializePlugin): 10852 (WebKit::PluginView::scriptObject): If we truly need the script object, then wait for a synchronous initialization of the plug-in. 10853 (WebKit::PluginView::asynchronousPluginInitializationEnabled): 10854 (WebKit::PluginView::asynchronousPluginInitializationEnabledForAllPlugins): 10855 (WebKit::PluginView::artificialPluginInitializationDelayEnabled): 10856 * WebProcess/Plugins/PluginView.h: 10857 (PluginView): 10858 10859 These methods shouldn't be called in the PluginProcess, only in the WebProcess: 10860 * PluginProcess/PluginControllerProxy.cpp: 10861 (WebKit::PluginControllerProxy::didInitializePlugin): 10862 (WebKit): 10863 (WebKit::PluginControllerProxy::didFailToInitializePlugin): 10864 * PluginProcess/PluginControllerProxy.h: 10865 (PluginControllerProxy): 10866 10867 NetscapePlugin is for in-process plug-ins: 10868 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 10869 (NetscapePlugin): 10870 (WebKit::NetscapePlugin::waitForAsynchronousInitialization): 10871 (WebKit::NetscapePlugin::isInitializingAsynchronously): 10872 10873 Built-in PDFView is currently only in-process: 10874 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 10875 (BuiltInPDFView): 10876 (WebKit::BuiltInPDFView::waitForAsynchronousInitialization): 10877 (WebKit::BuiltInPDFView::isInitializingAsynchronously): 10878 108792012-08-06 Luciano Wolf <luciano.wolf@openbossa.org> 10880 10881 [Qt] Default sizes for input-text and text-area are different when running DRT/WTR 10882 https://bugs.webkit.org/show_bug.cgi?id=91990 10883 10884 Reviewed by Kenneth Rohde Christiansen. 10885 10886 WTR wasn't using the proper font types provided by testfonts directory. 10887 The same approach as DRT was applied and now it takes info from QFont to 10888 update the store variable. 10889 10890 * UIProcess/qt/WebPreferencesQt.cpp: 10891 (WebKit::setStringValueIfInUserDefaults): 10892 (WebKit): 10893 (WebKit::WebPreferences::platformInitializeStore): 10894 108952012-08-06 No'am Rosenthal <noam.rosenthal@nokia.com> 10896 10897 [Qt] Use GraphicsLayerAnimation in LayerTreeCoordinator 10898 https://bugs.webkit.org/show_bug.cgi?id=93147 10899 10900 Reviewed by Kenneth Rohde Christiansen 10901 10902 Allow controlling animations outside of WebCore. This is an intermediate step before moving 10903 to threaded animations. 10904 10905 CoordinatedGraphicsLayer maintains the GraphicsLayerAnimation structures, and applies the 10906 animation interpolation at the right time, before syncing the rest of the layer info and 10907 the visible contents rect. 10908 10909 This also allows sending shorter IPC messages for animated opacity/transform changes, 10910 without the rest of the layer info. 10911 10912 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: 10913 (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedOpacity): 10914 (WebKit): 10915 (WebKit::LayerTreeCoordinatorProxy::setLayerAnimatedTransform): 10916 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: 10917 (LayerTreeCoordinatorProxy): 10918 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: 10919 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: 10920 (WebKit::LayerTreeRenderer::setAnimatedOpacity): 10921 (WebKit): 10922 (WebKit::LayerTreeRenderer::setAnimatedTransform): 10923 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: 10924 (LayerTreeRenderer): 10925 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: 10926 (WebCore::CoordinatedGraphicsLayer::didChangeAnimatedProperties): 10927 (WebCore): 10928 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer): 10929 (WebCore::CoordinatedGraphicsLayer::syncLayerState): 10930 (WebCore::CoordinatedGraphicsLayer::syncAnimatedProperties): 10931 (WebCore::CoordinatedGraphicsLayer::syncCompositingStateForThisLayerOnly): 10932 (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect): 10933 account for the animated transform in the visible rect. 10934 10935 (WebCore::CoordinatedGraphicsLayer::addAnimation): 10936 (WebCore::CoordinatedGraphicsLayer::pauseAnimation): 10937 (WebCore::CoordinatedGraphicsLayer::removeAnimation): 10938 (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired): 10939 (WebCore::CoordinatedGraphicsLayer::setAnimatedTransform): 10940 (WebCore::CoordinatedGraphicsLayer::setAnimatedOpacity): 10941 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: 10942 (CoordinatedGraphicsLayerClient): 10943 (CoordinatedGraphicsLayer): 10944 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: 10945 (WebKit): 10946 (WebKit::LayerTreeCoordinator::setLayerAnimatedOpacity): 10947 (WebKit::LayerTreeCoordinator::setLayerAnimatedTransform): 10948 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: 10949 (LayerTreeCoordinator): 10950 109512012-08-06 Anders Carlsson <andersca@apple.com> 10952 10953 If the Apple Java plug-in is blocked and no runtime is installed, don't load it 10954 https://bugs.webkit.org/show_bug.cgi?id=93289 10955 <rdar://problem/11730092> 10956 10957 Reviewed by Dan Bernstein. 10958 10959 If the Apple Java plug-in is blocked, but there's no Java runtime installed (or the Java plug-in is disabled), 10960 don't even include it in the plug-in info store. 10961 10962 * UIProcess/Plugins/PluginInfoStore.cpp: 10963 (WebKit::PluginInfoStore::shouldBlockPlugin): 10964 Since this is static now, it shouldn't be const. 10965 10966 * UIProcess/Plugins/PluginInfoStore.h: 10967 (PluginInfoStore): 10968 shouldBlockPlugin can be static. 10969 10970 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 10971 (WebKit::PluginInfoStore::shouldUsePlugin): 10972 Return false if the Apple Java plug-in is blocked but Java isn't installed or enabled. 10973 10974 (WebKit::PluginInfoStore::shouldBlockPlugin): 10975 Since this is static now, it shouldn't be const. 10976 109772012-08-06 Mario Sanchez Prada <msanchez@igalia.com> 10978 10979 [WK2][GTK] Improvements for the new spell-checking API 10980 https://bugs.webkit.org/show_bug.cgi?id=93262 10981 10982 Reviewed by Carlos Garcia Campos. 10983 10984 Improve the way the new spell-checking API is implemented, by 10985 using better internal representations for data, documenting better 10986 the new functions and using better unit tests. 10987 10988 * UIProcess/API/gtk/WebKitTextChecker.cpp: 10989 (WebKitTextChecker::getSpellCheckingLanguages): Just return the 10990 value previously cached when calling to the setter function. 10991 (WebKitTextChecker::setSpellCheckingLanguages): Update the text 10992 checker in WebCore and cache the value returned from it. 10993 * UIProcess/API/gtk/WebKitTextChecker.h: 10994 (WebKitTextChecker): Use a CString instead of an String to cache 10995 the list of spell checking languages. Update getter and setter. 10996 * UIProcess/API/gtk/WebKitWebContext.cpp: 10997 (_WebKitWebContextPrivate): No need to cache the spell checking 10998 languages here anymore. 10999 (webkit_web_context_get_spell_checking_languages): Improve 11000 both implementation and documentation to be more consistent. 11001 (webkit_web_context_set_spell_checking_languages): Make 11002 'languages' a mandatory (non-NULL) parameter. Update documentation. 11003 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 11004 (testWebContextSpellChecker): Test even more situations. 11005 110062012-08-06 Andras Becsi <andras.becsi@nokia.com> 11007 11008 [Qt][WK2] Remove workarounds from input event handling 11009 https://bugs.webkit.org/show_bug.cgi?id=93125 11010 11011 Reviewed by Jocelyn Turcotte. 11012 11013 Since input event propagation in Qt5 has been fixed we can remove 11014 the workarounds introduced to prevent the QML WebView from receiving 11015 input events targeting a child dialog. 11016 To do this the childMouseEventFilter function has to be changed to 11017 force touch and mouse events through the default propagation path. 11018 11019 * UIProcess/API/qt/qquickwebview.cpp: 11020 (QQuickWebViewPrivate::QQuickWebViewPrivate): 11021 (QQuickWebViewLegacyPrivate::initialize): 11022 (QQuickWebView::childMouseEventFilter): 11023 (QQuickWebView::touchEvent): 11024 * UIProcess/API/qt/qquickwebview_p_p.h: 11025 (QQuickWebViewPrivate): 11026 (QQuickWebViewLegacyPrivate): 11027 * UIProcess/qt/QtDialogRunner.cpp: 11028 (WebKit::QtDialogRunner::run): 11029 * UIProcess/qt/WebColorChooserProxyQt.cpp: 11030 (WebKit::WebColorChooserProxyQt::createItem): 11031 (WebKit::WebColorChooserProxyQt::endChooser): 11032 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 11033 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 11034 (WebKit::WebPopupMenuProxyQt::hidePopupMenu): 11035 110362012-08-06 Mario Sanchez Prada <msanchez@igalia.com> 11037 11038 [WK2][GTK] Implement a new spell checker API for WebKit2GTK+ 11039 https://bugs.webkit.org/show_bug.cgi?id=90268 11040 11041 Reviewed by Martin Robinson. 11042 11043 Add a simple spell checking API to WK2, allowing to enable/disable 11044 this feature and to define a list of languages associated to it. 11045 11046 * GNUmakefile.am: Add flags to handle the SPELLCHECK feature. 11047 * GNUmakefile.list.am: Added new files 11048 11049 Added new internal class that will act both as the implementation 11050 of TextCheckerClient and as the object WebKitWebContext will 11051 depend on to implement the newly added API. 11052 11053 * UIProcess/API/gtk/WebKitTextChecker.cpp: Added. 11054 (toTextChecker): 11055 (continuousSpellCheckingEnabledCallback): 11056 (setContinuousSpellCheckingEnabledCallback): 11057 (checkSpellingOfStringCallback): 11058 (guessesForWordCallback): 11059 (learnWordCallback): 11060 (ignoreWordCallback): 11061 (WebKitTextChecker::~WebKitTextChecker): 11062 (WebKitTextChecker::create): 11063 (WebKitTextChecker::WebKitTextChecker): 11064 (WebKitTextChecker::checkSpellingOfString): 11065 (WebKitTextChecker::getGuessesForWord): 11066 (WebKitTextChecker::learnWord): 11067 (WebKitTextChecker::ignoreWord): 11068 (WebKitTextChecker::setSpellCheckingEnabled): 11069 (WebKitTextChecker::setSpellCheckingLanguages): 11070 * UIProcess/API/gtk/WebKitTextChecker.h: Added. 11071 (WebKitTextChecker): 11072 (WebKitTextChecker::isSpellCheckingEnabled): 11073 (WebKitTextChecker::getSpellCheckingLanguages): 11074 11075 Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker. 11076 11077 * UIProcess/API/gtk/WebKitPrivate.h: 11078 11079 Add new API to WebKitWebContext to allow enabling/disabling this 11080 spell checking feature, and to set/get the list of languages used 11081 to decide which dictionaries will be consulted. 11082 11083 * UIProcess/API/gtk/WebKitWebContext.cpp: 11084 (_WebKitWebContextPrivate): 11085 (createDefaultWebContext): 11086 (webkit_web_context_get_spell_checking_enabled): New API. 11087 (webkit_web_context_set_spell_checking_enabled): Ditto. 11088 (webkit_web_context_get_spell_checking_languages): Ditto. 11089 (webkit_web_context_set_spell_checking_languages): Ditto. 11090 * UIProcess/API/gtk/WebKitWebContext.h: 11091 11092 New tests for checking the new API added to WebKitWebContext. 11093 11094 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 11095 (testWebContextSpellChecker): 11096 (beforeAll): 11097 11098 Update documentation with new sections and symbols. 11099 11100 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 11101 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 11102 111032012-08-05 Benjamin Poulain <bpoulain@apple.com> 11104 11105 Assert in checkValidity() in hashtable.h from WebGeolocationManager::didFailToDeterminePosition() when fetching http://html5demos.com/geo 11106 https://bugs.webkit.org/show_bug.cgi?id=80386 11107 11108 Reviewed by Alexey Proskuryakov. 11109 11110 WebKit2's WebGeolocationManager was delivering events without accounting that each event 11111 can modify the list of page that need delivery. 11112 Any page can remove itself by invoking clearWatch() from the callback function. A page can also cause another 11113 page to be removed. 11114 11115 This patch solves the issue by taking a copy of the list of page before delivery. Each page is 11116 referenced as it can be deleted during the delivery. 11117 11118 Unfortunately, this cannot be tested due to missing features of WebKitTestRunner. 11119 11120 * WebProcess/Geolocation/WebGeolocationManager.cpp: 11121 (WebKit::WebGeolocationManager::didChangePosition): 11122 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 11123 111242012-08-04 No'am Rosenthal <noam.rosenthal@nokia.com> 11125 11126 [Qt] UI_SIDE_COMPOSITING code has confusing names 11127 https://bugs.webkit.org/show_bug.cgi?id=93164 11128 11129 Reviewed by Kenneth Rohde Christiansen. 11130 11131 Renamed and consolidated code guarded under UI_SIDE_COMPOSITING, now under 11132 USE(COORDINATED_GRAPHICS) guard and CoordinatedGraphics folders. 11133 11134 * CMakeLists.txt: 11135 * DerivedSources.pri: 11136 * Shared/WebCoreArgumentCoders.cpp: 11137 (CoreIPC): 11138 * Shared/WebCoreArgumentCoders.h: 11139 * Shared/WebLayerTreeInfo.cpp: 11140 * Shared/WebLayerTreeInfo.h: 11141 * Target.pri: 11142 * UIProcess/API/qt/qquickwebpage.cpp: 11143 (QQuickWebPage::updatePaintNode): 11144 * UIProcess/API/qt/raw/qrawwebview.cpp: 11145 (QRawWebView::paint): 11146 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.cpp. 11147 * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.h. 11148 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp. 11149 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.h. 11150 * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.messages.in. 11151 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp. 11152 * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.h. 11153 * UIProcess/DrawingAreaProxy.cpp: 11154 (WebKit): 11155 * UIProcess/DrawingAreaProxy.h: 11156 (DrawingAreaProxy): 11157 * UIProcess/DrawingAreaProxyImpl.cpp: 11158 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 11159 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 11160 (WebKit): 11161 * UIProcess/DrawingAreaProxyImpl.h: 11162 (DrawingAreaProxyImpl): 11163 * UIProcess/WebPageProxy.cpp: 11164 (WebKit::WebPageProxy::didReceiveMessage): 11165 * UIProcess/qt/QtWebPageSGNode.cpp: 11166 (WebKit::ContentsSGNode::ContentsSGNode): 11167 (WebKit::ContentsSGNode::layerTreeRenderer): 11168 (ContentsSGNode): 11169 (WebKit::QtWebPageSGNode::setRenderer): 11170 * UIProcess/qt/QtWebPageSGNode.h: 11171 (WebKit): 11172 (QtWebPageSGNode): 11173 * WebKit2.pri: 11174 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11175 (WebKit::WebChromeClient::scheduleAnimation): 11176 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp. 11177 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h. 11178 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp. 11179 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.h. 11180 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp. 11181 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h. 11182 * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in. 11183 * WebProcess/WebPage/DrawingArea.h: 11184 (DrawingArea): 11185 * WebProcess/WebPage/DrawingAreaImpl.cpp: 11186 (WebKit): 11187 * WebProcess/WebPage/DrawingAreaImpl.h: 11188 (DrawingAreaImpl): 11189 * WebProcess/WebPage/LayerTreeHost.h: 11190 (LayerTreeHost): 11191 * WebProcess/WebPage/UpdateAtlas.cpp: 11192 * WebProcess/WebPage/UpdateAtlas.h: 11193 * WebProcess/qt/WebProcessMainQt.cpp: 11194 (WebKit::WebProcessMainQt): 11195 111962012-08-04 Christophe Dumez <christophe.dumez@intel.com> 11197 11198 [WK2] Move WebIntentData from Shared to UIProcess 11199 https://bugs.webkit.org/show_bug.cgi?id=93175 11200 11201 Reviewed by Kenneth Rohde Christiansen. 11202 11203 Move WebIntentData from Shared to UIProcess to 11204 prepare for MessagePorts support in WK2. 11205 11206 * CMakeLists.txt: 11207 * GNUmakefile.list.am: 11208 * Target.pri: 11209 * UIProcess/WebIntentData.cpp: Renamed from Source/WebKit2/Shared/WebIntentData.cpp. 11210 (WebKit): 11211 (WebKit::WebIntentData::WebIntentData): 11212 (WebKit::WebIntentData::data): 11213 (WebKit::WebIntentData::suggestions): 11214 (WebKit::WebIntentData::extra): 11215 (WebKit::WebIntentData::extras): 11216 * UIProcess/WebIntentData.h: Renamed from Source/WebKit2/Shared/WebIntentData.h. 11217 (WebKit): 11218 (WebIntentData): 11219 (WebKit::WebIntentData::create): 11220 (WebKit::WebIntentData::~WebIntentData): 11221 (WebKit::WebIntentData::action): 11222 (WebKit::WebIntentData::payloadType): 11223 (WebKit::WebIntentData::service): 11224 (WebKit::WebIntentData::store): 11225 (WebKit::WebIntentData::type): 11226 112272012-08-03 Anders Carlsson <andersca@apple.com> 11228 11229 Nothing happens when clicking on the unavailable plug-in button for a blocked plug-in 11230 https://bugs.webkit.org/show_bug.cgi?id=93161 11231 11232 Reviewed by John Sullivan. 11233 11234 Be more robust against values being added to the RenderEmbeddedObject::PluginUnavailabilityReason 11235 enumeration, and use a switch statement instead of blindly casting the type value to a WKPluginUnavailabilityReason. 11236 11237 * UIProcess/WebPageProxy.cpp: 11238 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 11239 112402012-08-03 Brady Eidson <beidson@apple.com> 11241 11242 Small part of "Out-of-process plug-ins should support asynchronous initialization." 11243 <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919 11244 11245 Unreviewed (build fix). 11246 11247 * Shared/WebPreferencesStore.h: 11248 (WebKit): Include this file which has the declaration of the new pref. 11249 112502012-08-03 Brady Eidson <beidson@apple.com> 11251 11252 Small part of "Out-of-process plug-ins should support asynchronous initialization." 11253 <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919 11254 11255 Reviewed by Anders Carlsson. 11256 11257 -Add API-level preferences for forcing asynchronous initialization of all plug-ins (for testing). 11258 -Make sure "overridePreference" is hooked up properly for all needed preferences. 11259 11260 * UIProcess/API/C/WKPreferences.cpp: 11261 (WKPreferencesSetAsynchronousPluginInitializationEnabledForAllPlugins): 11262 (WKPreferencesGetAsynchronousPluginInitializationEnabledForAllPlugins): 11263 * UIProcess/API/C/WKPreferencesPrivate.h: 11264 11265 * WebProcess/InjectedBundle/InjectedBundle.cpp: 11266 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 11267 11268 * WebProcess/WebPage/WebPage.cpp: 11269 (WebKit::WebPage::WebPage): 11270 (WebKit::WebPage::updatePreferences): 11271 * WebProcess/WebPage/WebPage.h: 11272 (WebKit::WebPage::setAsynchronousPluginInitializationEnabled): 11273 (WebKit::WebPage::asynchronousPluginInitializationEnabledForAllPlugins): 11274 (WebKit::WebPage::setAsynchronousPluginInitializationEnabledForAllPlugins): 11275 (WebKit::WebPage::setArtificialPluginInitializationDelayEnabled): 11276 (WebPage): 11277 112782012-08-02 Jeffrey Pfau <jpfau@apple.com> 11279 11280 Add API for enabling blanket third-party data blocking 11281 https://bugs.webkit.org/show_bug.cgi?id=93022 11282 11283 Reviewed by Anders Carlsson. 11284 11285 Added API for enabling third-party storage blocking. 11286 11287 * Shared/WebPreferencesStore.h: 11288 (WebKit): 11289 * UIProcess/API/C/WKPreferences.cpp: 11290 (WKPreferencesSetThirdPartyStorageBlockingEnabled): 11291 (WKPreferencesGetThirdPartyStorageBlockingEnabled): 11292 * UIProcess/API/C/WKPreferences.h: 11293 * WebProcess/WebPage/WebPage.cpp: 11294 (WebKit::WebPage::updatePreferences): 11295 112962012-08-03 Hugo Parente Lima <hugo.lima@openbossa.org> 11297 11298 [Qt][WK2] There's no way to test the gesture tap on WTR 11299 https://bugs.webkit.org/show_bug.cgi?id=92895 11300 11301 Reviewed by Kenneth Rohde Christiansen. 11302 11303 Add an instance of QtViewportHandler to QQuickWebViewPrivate, so it's 11304 now available on mobile and desktop modes, as a side effect gesture tap 11305 events can now be created and sent to WebCore. 11306 11307 This is needed to test tap gestures and to get tap gestures working 11308 when you have a WebView (in desktop mode) on notebooks equipped with 11309 touch screens. 11310 11311 * UIProcess/API/qt/qquickwebview.cpp: 11312 (QQuickWebViewPrivate::onComponentComplete): 11313 (QQuickWebViewFlickablePrivate::onComponentComplete): Implementation 11314 moved to QQuickWebViewPrivate::onComponentComplete. 11315 * UIProcess/API/qt/qquickwebview_p_p.h: 11316 (QQuickWebViewPrivate): 11317 (QQuickWebViewFlickablePrivate): 11318 113192012-08-02 Alexey Proskuryakov <ap@apple.com> 11320 11321 [WK2] Move some WebContext messages to WebProcessProxy 11322 https://bugs.webkit.org/show_bug.cgi?id=93046 11323 11324 Reviewed by Anders Carlsson. 11325 11326 * UIProcess/WebContext.cpp: (WebKit::WebContext::didReceiveSyncMessage): Unrelated 11327 fix - use actual process argument instead of second-guessing where the message came 11328 from. 11329 11330 * UIProcess/WebContext.h: (WebKit::WebContext::historyClient): Expose history client, 11331 since WebProcessProxy now needs it. 11332 11333 * UIProcess/WebContext.messages.in: 11334 * UIProcess/WebProcessProxy.cpp: 11335 (WebKit::WebProcessProxy::didNavigateWithNavigationData): 11336 (WebKit::WebProcessProxy::didPerformClientRedirect): 11337 (WebKit::WebProcessProxy::didPerformServerRedirect): 11338 (WebKit::WebProcessProxy::didUpdateHistoryTitle): 11339 * UIProcess/WebProcessProxy.h: 11340 * UIProcess/WebProcessProxy.messages.in: 11341 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11342 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 11343 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 11344 (WebKit::WebFrameLoaderClient::setTitle): 11345 Move the messages. 11346 113472012-08-03 Balazs Kelemen <kbalazs@webkit.org> 11348 11349 Unreviewed, rolling out r124603. 11350 http://trac.webkit.org/changeset/124603 11351 https://bugs.webkit.org/show_bug.cgi?id=93077 11352 11353 Made a few tests crash under 11354 LayerTreeCoordinator::flushPendingLayerChanges 11355 11356 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 11357 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator): 11358 (WebKit::LayerTreeCoordinator::forceRepaint): 11359 (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed): 11360 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 11361 (LayerTreeCoordinator): 11362 113632012-08-03 Mario Sanchez Prada <msanchez@igalia.com> 11364 11365 Unreviewed build fix for GTK after r124479. 11366 11367 * UIProcess/WebInspectorProxy.cpp: 11368 (WebKit): Moved static const definitions from header file. 11369 * UIProcess/WebInspectorProxy.h: 11370 (WebInspectorProxy): Don't give values to static const members 11371 here. 11372 113732012-08-03 Balazs Kelemen <kbalazs@webkit.org> 11374 11375 [WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint 11376 https://bugs.webkit.org/show_bug.cgi?id=93077 11377 11378 Reviewed by Jocelyn Turcotte. 11379 11380 Force tile updates when doing a forced repaint. 11381 11382 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 11383 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator): 11384 (WebKit::LayerTreeCoordinator::forceRepaint): 11385 (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed): 11386 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 11387 (LayerTreeCoordinator): 11388 113892012-08-02 Carlos Garcia Campos <cgarcia@igalia.com> 11390 11391 [GTK] Inspector should set a default attached height before being attached 11392 https://bugs.webkit.org/show_bug.cgi?id=90767 11393 11394 Reviewed by Xan Lopez. 11395 11396 We are currently using the minimum attached height in 11397 WebKitWebViewBase as the default height for the inspector when 11398 attached. It would be easier for WebKitWebViewBase and embedders 11399 implementing attach() if the inspector already had an attached 11400 height set when it's being attached. 11401 11402 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 11403 (webkitWebViewBaseContainerAdd): Don't initialize 11404 inspectorViewHeight. 11405 (webkitWebViewBaseSetInspectorViewHeight): Allow to set the 11406 inspector view height before having an inpector view, but only 11407 queue a resize when the view already has an inspector view. 11408 * UIProcess/API/gtk/tests/TestInspector.cpp: 11409 (testInspectorDefault): 11410 (testInspectorManualAttachDetach): 11411 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 11412 (WebKit::WebInspectorProxy::platformAttach): Set the default 11413 attached height before attach the inspector view. 11414 114152012-08-02 Dinu Jacob <dinu.jacob@nokia.com> 11416 11417 WebKitTestRunner needs layoutTestController.setUserStyleSheetEnabled 11418 https://bugs.webkit.org/show_bug.cgi?id=42679 11419 11420 Reviewed by Eric Seidel. 11421 11422 Added WKBundleSetUserStyleSheetLocation API. 11423 11424 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 11425 (WKBundleSetUserStyleSheetLocation): Added. 11426 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetUserStyleSheetLocation. 11427 * WebProcess/InjectedBundle/InjectedBundle.cpp: 11428 (WebKit::InjectedBundle::setUserStyleSheetLocation): Added. Sets the user style sheet location 11429 for all pages in the page group. 11430 (WebKit): 11431 * WebProcess/InjectedBundle/InjectedBundle.h: 11432 (InjectedBundle): 11433 114342012-08-02 Lauro Neto <lauro.neto@openbossa.org> 11435 11436 [Qt] Fix axis locking when panning on N9 11437 https://bugs.webkit.org/show_bug.cgi?id=92394 11438 11439 Reviewed by Simon Hausmann. 11440 11441 Make the QQuickWebView axis locker calculate the 11442 time between events using QInputEvent.timestamp, which 11443 is set from the native event when available. 11444 11445 Also use touchPoint.pos() instead of screenPos() to 11446 correct the axis detection when running on N9, which 11447 has a native landscape display and the applications usually 11448 run in portrait mode. 11449 11450 * UIProcess/API/qt/qquickwebview.cpp: 11451 (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker): 11452 (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity): 11453 (QQuickWebViewPrivate::FlickableAxisLocker::update): 11454 * UIProcess/API/qt/qquickwebview_p_p.h: 11455 (FlickableAxisLocker): 11456 114572012-08-02 Hyerim Bae <hyerim.bae@samsung.com> 11458 11459 [EFL][WK2]Add ewk_view_ui_client. 11460 https://bugs.webkit.org/show_bug.cgi?id=89864 11461 11462 Reviewed by Kentaro Hara. 11463 11464 Add ewk_view_ui_client.h / cpp files for wrapping WKPageSetPageUIClient, 11465 add close, createNewPage callback member to WKPageSetPageUIClient. 11466 11467 * PlatformEfl.cmake: 11468 * UIProcess/API/efl/ewk_view.cpp: 11469 (ewk_view_base_add): 11470 (ewk_view_page_close): 11471 (ewk_view_page_create): 11472 * UIProcess/API/efl/ewk_view.h: 11473 * UIProcess/API/efl/ewk_view_private.h: 11474 * UIProcess/API/efl/ewk_view_ui_client.cpp: Added. 11475 (toEwkView): 11476 (closePage): 11477 (createNewPage): 11478 (ewk_view_ui_client_attach): 11479 * UIProcess/API/efl/ewk_view_ui_client_private.h: Added. 11480 114812012-08-02 Carlos Garcia Campos <cgarcia@igalia.com> 11482 11483 [GTK] No main resource in WebView on load committed when page has been loaded from history cache 11484 https://bugs.webkit.org/show_bug.cgi?id=91482 11485 11486 Reviewed by Martin Robinson. 11487 11488 We assume that on load committed, we already have a main resource 11489 in the web view, and it has already received a response. This is 11490 not true for pages loaded from the history cache, so when going 11491 back/forward, we don't have a main resource when the 11492 load-committed signal is emitted. We must ensure that the loading 11493 process documented in the API is the same for pages loaded from 11494 the history cache too. 11495 11496 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 11497 (didCommitLoadForFrame): Call webkitWebViewLoadChanged() and let 11498 the web view handle the certificate. 11499 * UIProcess/API/gtk/WebKitWebResource.cpp: 11500 (webkitWebResourceGetFrame): Helper private function to easily get 11501 the WKFrame associated with a WebResource. 11502 * UIProcess/API/gtk/WebKitWebResourcePrivate.h: 11503 * UIProcess/API/gtk/WebKitWebView.cpp: 11504 (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): 11505 Disconnect the notify::response signal of the main resource. 11506 (webkitWebViewFinalize): Call 11507 webkitWebViewDisconnectMainResourceResponseChangedSignalHandler(). 11508 (setCertificateToMainResource): Set the TLS certificate on the 11509 response of the main resource. 11510 (webkitWebViewEmitLoadChanged): Helper function to emit 11511 load-chancged signal. 11512 (webkitWebViewEmitDelayedLoadEvents): If we were waiting for the 11513 main resource, emit the signals that were delayed. 11514 (webkitWebViewLoadChanged): Do not emit committed or finished if 11515 we are still waiting for the main resource. Set the TLS 11516 certificate if we already have a main resource or wait until we 11517 have the main resource with a response. 11518 (mainResourceResponseChangedCallback): Emitted when the main 11519 resource received the response. Set the certificate on the 11520 response and emit load signals delayed. 11521 (waitForMainResourceResponseIfWaitingForResource): If we are 11522 waiting for the main resource, connect to the notify::response 11523 signal of the WebResource to make sure it has a response already 11524 when load signal delayed are emitted. 11525 (webkitWebViewResourceLoadStarted): Call 11526 waitForMainResourceResponseIfWaitingForResource(). 11527 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 11528 (loadChangedCallback): 11529 (LoadTrackingTest::goBack): 11530 (LoadTrackingTest::goForward): 11531 * UIProcess/API/gtk/tests/LoadTrackingTest.h: 11532 (LoadTrackingTest): 11533 * UIProcess/API/gtk/tests/TestLoaderClient.cpp: 11534 (testWebViewHistoryLoad): 11535 (serverCallback): 11536 (beforeAll): 11537 115382012-08-02 Andras Becsi <andras.becsi@nokia.com> 11539 11540 [Qt][WK2] Click, mouse and links rely on touch mocking. 11541 https://bugs.webkit.org/show_bug.cgi?id=83091 11542 11543 Reviewed by Simon Hausmann. 11544 11545 Send the incoming mouse events directly to the gesture recognizers to make 11546 the WebView behave consistent with other Flickables. 11547 This patch unifies the code paths for input events and makes it possible 11548 to enable mouse events on the flickable web view again, thus makes the 11549 mobile-version of QQuickWebView usable on desktop. 11550 11551 * UIProcess/API/qt/qquickwebview.cpp: 11552 (QQuickWebViewPrivate::handleMouseEvent): 11553 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 11554 (QQuickWebViewFlickablePrivate::handleMouseEvent): 11555 (QQuickWebView::mousePressEvent): 11556 (QQuickWebView::mouseMoveEvent): 11557 (QQuickWebView::mouseReleaseEvent): 11558 (QQuickWebView::mouseDoubleClickEvent): 11559 * UIProcess/API/qt/qquickwebview_p_p.h: 11560 (QQuickWebViewPrivate): 11561 (QQuickWebViewFlickablePrivate): 11562 * UIProcess/qt/QtPanGestureRecognizer.cpp: 11563 (WebKit::QtPanGestureRecognizer::update): 11564 * UIProcess/qt/QtWebPageEventHandler.cpp: 11565 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler): 11566 (WebKit::QtWebPageEventHandler::handleInputEvent): 11567 (WebKit): 11568 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 11569 * UIProcess/qt/QtWebPageEventHandler.h: 11570 (QtWebPageEventHandler): 11571 115722012-08-01 Brady Eidson <beidson@apple.com> 11573 11574 Small part of "Out-of-process plug-ins should support asynchronous initialization." 11575 <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919 11576 11577 Reviewed by Anders Carlsson. 11578 11579 Add API-level preferences for: 11580 - Is asynchronous plug-in initialization enabled. 11581 - Is an artificial initialization delay (for testing purposes) enabled. 11582 11583 * Shared/WebPreferencesStore.h: 11584 (WebKit): 11585 11586 * UIProcess/API/C/WKPreferences.cpp: 11587 (WKPreferencesSetAsynchronousPluginInitializationEnabled): 11588 (WKPreferencesGetAsynchronousPluginInitializationEnabled): 11589 (WKPreferencesSetArtificialPluginInitializationDelayEnabled): 11590 (WKPreferencesGetArtificialPluginInitializationDelayEnabled): 11591 * UIProcess/API/C/WKPreferencesPrivate.h: 11592 11593 * WebProcess/WebPage/WebPage.cpp: 11594 (WebKit::WebPage::WebPage): 11595 (WebKit::WebPage::updatePreferences): 11596 * WebProcess/WebPage/WebPage.h: 11597 (WebKit::WebPage::asynchronousPluginInitializationEnabled): 11598 (WebKit::WebPage::artificialPluginInitializationDelayEnabled): 11599 (WebPage): 11600 116012012-08-01 Jian Li <jianli@chromium.org> 11602 11603 Add new CSS property "-webkit-widget-region" to expose dashboard region support for other port 11604 https://bugs.webkit.org/show_bug.cgi?id=90298 11605 11606 Reviewed by Adam Barth. 11607 11608 * Configurations/FeatureDefines.xcconfig: Add ENABLE_WIDGET_REGION define. 11609 116102012-08-01 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 11611 11612 [Qt][WK2] Race condition between first layout and viewport attributes initialization 11613 https://bugs.webkit.org/show_bug.cgi?id=92902 11614 11615 Reviewed by Noam Rosenthal. 11616 11617 Initializing m_rawAttributes from QtViewportHandler to avoid calculation of random 11618 scale factors on the first layout is triggered. 11619 11620 * UIProcess/qt/QtViewportHandler.cpp: 11621 (WebKit::QtViewportHandler::QtViewportHandler): 11622 116232012-08-01 Zeno Albisser <zeno@webkit.org> 11624 11625 [Qt]REGRESSION(r123786): It made 3 fast/animation tests fail. 11626 https://bugs.webkit.org/show_bug.cgi?id=92490 11627 11628 Make sure that scripted animations are also serviced when 11629 forceRepaint is being executed. As this is what is being used for 11630 running layout tests. 11631 Move servicing of scripted animations and layoutIfNeeded call 11632 into a separate function syncDisplayState. 11633 This function can then be called from forceRepaint as well as from 11634 performScheduledLayerFlush. 11635 11636 Reviewed by Noam Rosenthal. 11637 11638 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 11639 (WebKit::LayerTreeCoordinator::forceRepaint): 11640 (WebKit::LayerTreeCoordinator::performScheduledLayerFlush): 11641 (WebKit): 11642 (WebKit::LayerTreeCoordinator::syncDisplayState): 11643 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 11644 (LayerTreeCoordinator): 11645 116462012-08-01 Carlos Garcia Campos <cgarcia@igalia.com> 11647 11648 Unreviewed. Fix GTK+ build with recent version of GTK+. 11649 11650 Use g_threads_enter/leave instead of the wrapper macros. This 11651 gives a compile warning because they are now deprecated but at 11652 least it builds. 11653 11654 * UIProcess/API/gtk/WebKitWebView.cpp: 11655 (webkitWebViewRunAsModal): Fix enter/leave order. 11656 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 11657 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 11658 116592012-07-31 Anders Carlsson <andersca@apple.com> 11660 11661 Prefer the Oracle Java plug-in over the Apple Java plug-in 11662 https://bugs.webkit.org/show_bug.cgi?id=92780 11663 11664 Reviewed by Oliver Hunt. 11665 11666 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 11667 (WebKit::findPluginWithBundleIdentifier): 11668 Add a new helper for finding a plug-in with the given bundle identifier. 11669 11670 (WebKit::checkForPreferredPlugin): 11671 Helper function for making sure that an old plug-in is never loaded if a new plug-in is found, and that the old plug-in 11672 is removed from the list of loaded plug-ins if the new plug-in is found. 11673 11674 (WebKit::PluginInfoStore::shouldUsePlugin): 11675 Prefer the Oracle Java plug-in over the Apple Java plug-in. 11676 116772012-07-31 Alexey Proskuryakov <ap@apple.com> 11678 11679 [WK2] Use an actual WebProcessProxy when decoding messages 11680 https://bugs.webkit.org/show_bug.cgi?id=92788 11681 11682 Reviewed by Anders Carlsson. 11683 11684 WebContextUserMessageDecoder gets process proxy from a WebContext object, but we 11685 know which process a message came from, and can just use that. 11686 11687 * UIProcess/WebContextUserMessageCoders.h: 11688 (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder): 11689 (WebKit::WebContextUserMessageDecoder::decode): 11690 This is the focal point of this patch - decoder no longer needs to call m_context->process(). 11691 11692 * UIProcess/WebContext.cpp: 11693 (WebKit::WebContext::didReceiveMessage): 11694 (WebKit::WebContext::didReceiveSyncMessage): 11695 * UIProcess/WebContext.h: 11696 These methods now take a WebProcessProxy pointer instead of IPC::Connection, 11697 so that they can call the updated coder. 11698 A number of other didReceiveMessage can be modified to take WebProcessProxy later 11699 if needed (it's a richer interface than IPC::Connection), although not all messages 11700 come from WebProcesses. 11701 11702 * UIProcess/WebConnectionToWebProcess.cpp: 11703 (WebKit::WebConnectionToWebProcess::didReceiveMessage): 11704 * UIProcess/WebPageProxy.cpp: 11705 (WebKit::WebPageProxy::willGoToBackForwardListItem): 11706 (WebKit::WebPageProxy::registerIntentServiceForFrame): 11707 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 11708 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 11709 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 11710 (WebKit::WebPageProxy::didCommitLoadForFrame): 11711 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 11712 (WebKit::WebPageProxy::didFinishLoadForFrame): 11713 (WebKit::WebPageProxy::didFailLoadForFrame): 11714 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 11715 (WebKit::WebPageProxy::didReceiveTitleForFrame): 11716 (WebKit::WebPageProxy::didFirstLayoutForFrame): 11717 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 11718 (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout): 11719 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 11720 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 11721 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 11722 (WebKit::WebPageProxy::didDetectXSSForFrame): 11723 (WebKit::WebPageProxy::didReceiveIntentForFrame): 11724 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 11725 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 11726 (WebKit::WebPageProxy::decidePolicyForResponse): 11727 (WebKit::WebPageProxy::unableToImplementPolicy): 11728 (WebKit::WebPageProxy::willSubmitForm): 11729 (WebKit::WebPageProxy::mouseDidMoveOverElement): 11730 (WebKit::WebPageProxy::internalShowContextMenu): 11731 * UIProcess/WebProcessProxy.cpp: 11732 (WebKit::WebProcessProxy::didReceiveMessage): 11733 (WebKit::WebProcessProxy::didReceiveSyncMessage): 11734 Updated arguments accordingly. 11735 117362012-07-31 Andras Becsi <andras.becsi@nokia.com> 11737 11738 [WK2] Visible content rect update with null trajectory vector does not reach the backing store 11739 https://bugs.webkit.org/show_bug.cgi?id=92750 11740 11741 Reviewed by Jocelyn Turcotte. 11742 11743 Make sure that notifications with a null trajectory vector reach the backing store 11744 since a null vector means that all tiles around the viewport were requested. 11745 11746 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 11747 (WebKit::LayerTreeCoordinator::setVisibleContentsRect): 11748 117492012-07-31 Marcelo Lira <marcelo.lira@openbossa.org> 11750 11751 [Qt] Input method update should also include hints 11752 https://bugs.webkit.org/show_bug.cgi?id=92744 11753 11754 Reviewed by Simon Hausmann. 11755 11756 The QInputMethod is told to query for input method hints when updated. 11757 11758 * UIProcess/qt/QtWebPageEventHandler.cpp: 11759 (WebKit::QtWebPageEventHandler::updateTextInputState): 11760 117612012-07-31 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> 11762 11763 add Farstream flags/deps to WebKit, for WebRTC 11764 https://bugs.webkit.org/show_bug.cgi?id=87524 11765 11766 Reviewed by Philippe Normand. 11767 11768 Since Farstream will be used as the backend for GTK's WebRTC, this 11769 patch adds it as a dependency to the build system. 11770 11771 * GNUmakefile.am: 11772 117732012-07-30 Huang Dongsung <luxtella@company100.net> 11774 11775 [Texmap] Remove the backing store after 'style.visibility' for an element sets 'hidden'. 11776 https://bugs.webkit.org/show_bug.cgi?id=92492 11777 11778 Reviewed by Noam Rosenthal. 11779 11780 Texmap handles visibility:hidden in this patch, so WebGraphicsLayer 11781 sends the LayerTreeCoordinatorProxyMessages with additional infomation 11782 to UIProcess. 11783 11784 * Shared/WebLayerTreeInfo.h: 11785 * UIProcess/WebLayerTreeRenderer.cpp: 11786 (WebKit::WebLayerTreeRenderer::setLayerState): 11787 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: 11788 (WebCore::WebGraphicsLayer::setContentsVisible): 11789 (WebCore): 11790 (WebCore::WebGraphicsLayer::syncLayerState): 11791 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: 11792 (WebGraphicsLayer): 11793 117942012-07-30 Sam Weinig <sam@webkit.org> 11795 11796 Add a proper umbrella header for the public WebKit2 API headers 11797 https://bugs.webkit.org/show_bug.cgi?id=92708 11798 <rdar://problem/11970825> 11799 11800 Reviewed by Dan Bernstein. 11801 11802 Create a new umbrella WebKit2.h and add the currently public (as decided by their 11803 status in Xcode) Objective-C headers. 11804 11805 * UIProcess/API/mac/WebKit2.h: Added. 11806 * WebKit2.xcodeproj/project.pbxproj: 11807 While we are here, make WebKit2_C.h a private header. 11808 118092012-07-30 Sam Weinig <sam@webkit.org> 11810 11811 Rename WebKit2.h to WebKit2_C.h 11812 https://bugs.webkit.org/show_bug.cgi?id=92704 11813 11814 Reviewed by Dan Bernstein. 11815 11816 * GNUmakefile.list.am: 11817 * Target.pri: 11818 * UIProcess/API/C/WebKit2_C.h: Renamed from Source/WebKit2/UIProcess/API/C/WebKit2.h. 11819 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: 11820 * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: 11821 * UIProcess/API/gtk/WebKitPrivate.h: 11822 * UIProcess/API/gtk/WebKitSettingsPrivate.h: 11823 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 11824 * WebKit2.xcodeproj/project.pbxproj: 11825 * win/WebKit2.vcproj: 11826 * win/WebKit2Generated.make: 11827 Update for changed header file name. 11828 118292012-07-28 Sam Weinig <sam@webkit.org> 11830 11831 Add ability to load from a string to the ObjC WK API 11832 https://bugs.webkit.org/show_bug.cgi?id=92590 11833 11834 Reviewed by Dan Bernstein. 11835 11836 This adds an often used method to the new Objective-C API and will 11837 be helpful for writing API tests. 11838 11839 * UIProcess/API/mac/WKBrowsingContextController.h: 11840 * UIProcess/API/mac/WKBrowsingContextController.mm: 11841 (-[WKBrowsingContextController loadHTMLString:baseURL:]): 11842 Implement via calling down to WKPageLoadHTMLString. 11843 118442012-07-30 Rafael Brandao <rafael.lobo@openbossa.org> 11845 11846 [WK2] Kill the concept of secondary shared process 11847 https://bugs.webkit.org/show_bug.cgi?id=92676 11848 11849 Reviewed by Alexey Proskuryakov. 11850 11851 Build fix after r124092. 11852 11853 * UIProcess/qt/QtWebContext.cpp: Build fix for Qt. In exchange of the 11854 method removed, I've used WebContext::create(String()). 11855 118562012-07-30 Alexey Proskuryakov <ap@apple.com> 11857 11858 [WK2] Kill the concept of secondary shared process 11859 https://bugs.webkit.org/show_bug.cgi?id=92676 11860 11861 Reviewed by Sam Weinig. 11862 11863 * UIProcess/API/C/WKContext.cpp: 11864 * UIProcess/API/C/WKContext.h: 11865 * UIProcess/WebContext.cpp: 11866 * UIProcess/WebContext.h: 11867 Deleted shared process related code. We don't need to build the singleton into 11868 the cross-platform C API, platform-specific API wrappers are perfectly capable 11869 of doing that. 11870 11871 * UIProcess/API/efl/ewk_context.cpp: (createDefaultEwkContext): 11872 * UIProcess/API/gtk/WebKitWebContext.cpp: (createDefaultWebContext): 11873 Use WKContextCreate() when creating default context. 11874 118752012-07-30 Claudio Saavedra <csaavedra@igalia.com> 11876 11877 [GTK] critical warning: gdk_window_get_cursor() called on a NULL window 11878 https://bugs.webkit.org/show_bug.cgi?id=92651 11879 11880 Reviewed by Martin Robinson. 11881 11882 PageClientImpl::setCursor() might get called before the 11883 window is realized, so safeguard against it. 11884 11885 * UIProcess/API/gtk/PageClientImpl.cpp: 11886 (WebKit::PageClientImpl::setCursor): early return if the window is 11887 not realized. 11888 118892012-07-30 Sheriff Bot <webkit.review.bot@gmail.com> 11890 11891 Unreviewed, rolling out r123983. 11892 http://trac.webkit.org/changeset/123983 11893 https://bugs.webkit.org/show_bug.cgi?id=92663 11894 11895 EFL build is broken when unit tests are enabled (Requested by 11896 paroga on #webkit). 11897 11898 * CMakeLists.txt: 11899 * PlatformEfl.cmake: 11900 119012012-07-30 Sheriff Bot <webkit.review.bot@gmail.com> 11902 11903 Unreviewed, rolling out r123966 and r123967. 11904 http://trac.webkit.org/changeset/123966 11905 http://trac.webkit.org/changeset/123967 11906 https://bugs.webkit.org/show_bug.cgi?id=92656 11907 11908 This patch is causing assertion failures on the debug bot 11909 (also rolling out a dependent patch) (Requested by mrobinson 11910 on #webkit). 11911 11912 * GNUmakefile.am: 11913 * GNUmakefile.list.am: 11914 * UIProcess/API/gtk/WebKitPrivate.h: 11915 * UIProcess/API/gtk/WebKitTextChecker.cpp: Removed. 11916 * UIProcess/API/gtk/WebKitTextChecker.h: Removed. 11917 * UIProcess/API/gtk/WebKitWebContext.cpp: 11918 (_WebKitWebContextPrivate): 11919 (createDefaultWebContext): 11920 * UIProcess/API/gtk/WebKitWebContext.h: 11921 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 11922 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 11923 (beforeAll): 11924 119252012-07-29 Vsevolod Vlasov <vsevik@chromium.org> 11926 11927 Web Inspector: Resource agent's reference to cached resources should be weak. 11928 https://bugs.webkit.org/show_bug.cgi?id=92108 11929 11930 Reviewed by Pavel Feldman. 11931 11932 * win/WebKit2.def: 11933 * win/WebKit2CFLite.def: 11934 119352012-07-30 Sheriff Bot <webkit.review.bot@gmail.com> 11936 11937 Unreviewed, rolling out r124000. 11938 http://trac.webkit.org/changeset/124000 11939 https://bugs.webkit.org/show_bug.cgi?id=92632 11940 11941 seems to have broken chromium Range_InstanceSizeUnknown unit 11942 test across many platforms (Requested by tomhudson on 11943 #webkit). 11944 11945 * win/WebKit2.def: 11946 * win/WebKit2CFLite.def: 11947 119482012-07-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 11949 11950 [Qt] Remove accurateVisibleContentsPosition and use a FloatRect for visibleContentsRect instead 11951 https://bugs.webkit.org/show_bug.cgi?id=92536 11952 11953 Reviewed by Noam Rosenthal. 11954 11955 AccurateVisibleContentsPosition carries the same information as visibleContentsRect.location() and 11956 is needed for fixed layer position updates. 11957 This patch instead uses a FloatRect for the visible contents rect from the web view down to the 11958 LayerCoordinatorProxy, and converts it to an IntRect at this moment, before sending it to the 11959 web process. 11960 This also moves the check to prevent sending the same rect to the moment of the conversion 11961 in LayerTreeCoordinatorProxy to fix a bug where the fixed layer deltas wouldn't be updated 11962 unless the integer part of position components changed. 11963 11964 * UIProcess/API/qt/qquickwebview.cpp: 11965 (QQuickWebViewLegacyPrivate::updateViewportSize): 11966 * UIProcess/DrawingAreaProxy.h: 11967 (WebKit::DrawingAreaProxy::setVisibleContentsRect): 11968 * UIProcess/DrawingAreaProxyImpl.cpp: 11969 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect): 11970 * UIProcess/DrawingAreaProxyImpl.h: 11971 (DrawingAreaProxyImpl): 11972 * UIProcess/LayerTreeCoordinatorProxy.cpp: 11973 (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy): 11974 (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect): 11975 * UIProcess/LayerTreeCoordinatorProxy.h: 11976 (LayerTreeCoordinatorProxy): 11977 * UIProcess/WebLayerTreeRenderer.cpp: 11978 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer): 11979 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect): 11980 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers): 11981 * UIProcess/WebLayerTreeRenderer.h: 11982 (WebLayerTreeRenderer): 11983 * UIProcess/qt/QtViewportHandler.cpp: 11984 (WebKit::QtViewportHandler::visibleContentsRect): 11985 (WebKit::QtViewportHandler::informVisibleContentChange): 11986 * UIProcess/qt/QtViewportHandler.h: 11987 (QtViewportHandler): 11988 119892012-07-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 11990 11991 [Qt] Fix issues remaining with fixed positioned layers 11992 https://bugs.webkit.org/show_bug.cgi?id=92528 11993 11994 Reviewed by Noam Rosenthal. 11995 11996 This partially fixes jittering of fixed layers when zoomed in and the 11997 blurriness of rendered tiles of the non-composited contents layer. 11998 11999 * UIProcess/WebLayerTreeRenderer.cpp: 12000 (WebKit::boundedScrollPosition): 12001 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 12002 Remove the adjustment on the root layer. This cancels setPixelAligned and causes the blurriness. 12003 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers): 12004 Use m_accurateVisibleContentsPosition to calculate the delta. 12005 (WebKit::WebLayerTreeRenderer::didChangeScrollPosition): 12006 120072012-07-29 Vsevolod Vlasov <vsevik@chromium.org> 12008 12009 Web Inspector: Resource agent's reference to cached resources should be weak. 12010 https://bugs.webkit.org/show_bug.cgi?id=92108 12011 12012 Reviewed by Pavel Feldman. 12013 12014 * win/WebKit2.def: 12015 * win/WebKit2CFLite.def: 12016 120172012-07-29 YoungTaeck Song <youngtaeck.song@samsung.com> 12018 12019 [WK2][EFL] TILED_BACKING_STORE support on Efl WebKit2 12020 https://bugs.webkit.org/show_bug.cgi?id=91582 12021 12022 Reviewed by Noam Rosenthal. 12023 12024 This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation. 12025 Add a dummy function for fixing building error when enabling TILED_BACKING_STORE. 12026 12027 * UIProcess/API/efl/PageClientImpl.cpp: 12028 (WebKit): 12029 (WebKit::PageClientImpl::pageDidRequestScroll): 12030 * UIProcess/API/efl/PageClientImpl.h: 12031 (PageClientImpl): 12032 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12033 (WebKit::WebChromeClient::contentsSizeChanged): 12034 120352012-07-29 Patrick Gansterer <paroga@webkit.org> 12036 12037 [CMake] Use WEBKIT_CREATE_FORWARDING_HEADERS to generate WK2 forwarding headers 12038 https://bugs.webkit.org/show_bug.cgi?id=83579 12039 12040 Reviewed by Daniel Bates. 12041 12042 Using a list of directories in combination with the WEBKIT_CREATE_FORWARDING_HEADERS 12043 macro allows us to share the common generation of forwarding headers across ports. 12044 12045 * CMakeLists.txt: 12046 * PlatformEfl.cmake: 12047 120482012-07-28 Sam Weinig <sam@webkit.org> 12049 12050 Stop copying unnecessary files in WebKit2 build 12051 https://bugs.webkit.org/show_bug.cgi?id=92587 12052 12053 Reviewed by Dan Bernstein. 12054 12055 * WebKit2.xcodeproj/project.pbxproj: 12056 We were accidentally copying ColorSpaceData.h and EventDispatcher.messages.in into the 12057 build products. Stop this. 12058 120592012-07-28 Ryuan Choi <ryuan.choi@samsung.com> 12060 12061 [WK2][EFL] Add ewk_view_scale_{get|set} to EwkView. 12062 https://bugs.webkit.org/show_bug.cgi?id=92446 12063 12064 Reviewed by Kenneth Rohde Christiansen. 12065 12066 Add methods to Ewk_View to get or set the scale factor of page. 12067 12068 * UIProcess/API/efl/ewk_view.cpp: 12069 (ewk_view_scale_set): 12070 (ewk_view_scale_get): 12071 * UIProcess/API/efl/ewk_view.h: 12072 120732012-07-28 Mario Sanchez Prada <msanchez@igalia.com> 12074 12075 [WK2][GTK] Implement a new spell checker API for WebKit2GTK+ 12076 https://bugs.webkit.org/show_bug.cgi?id=90268 12077 12078 Reviewed by Martin Robinson. 12079 12080 Add a simple spell checking API to WK2, allowing to enable/disable 12081 this feature and to define a list of languages associated to it. 12082 12083 * GNUmakefile.am: Add flags to handle the SPELLCHECK feature. 12084 * GNUmakefile.list.am: Added new files 12085 12086 Added new internal class that will act both as the implementation 12087 of TextCheckerClient and as the object WebKitWebContext will 12088 depend on to implement the newly added API. 12089 12090 * UIProcess/API/gtk/WebKitTextChecker.cpp: Added. 12091 (toTextChecker): 12092 (continuousSpellCheckingEnabledCallback): 12093 (setContinuousSpellCheckingEnabledCallback): 12094 (checkSpellingOfStringCallback): 12095 (guessesForWordCallback): 12096 (learnWordCallback): 12097 (ignoreWordCallback): 12098 (WebKitTextChecker::~WebKitTextChecker): 12099 (WebKitTextChecker::create): 12100 (WebKitTextChecker::WebKitTextChecker): 12101 (WebKitTextChecker::checkSpellingOfString): 12102 (WebKitTextChecker::getGuessesForWord): 12103 (WebKitTextChecker::learnWord): 12104 (WebKitTextChecker::ignoreWord): 12105 (WebKitTextChecker::setSpellCheckingEnabled): 12106 (WebKitTextChecker::setSpellCheckingLanguages): 12107 * UIProcess/API/gtk/WebKitTextChecker.h: Added. 12108 (WebKitTextChecker): 12109 (WebKitTextChecker::isSpellCheckingEnabled): 12110 (WebKitTextChecker::getSpellCheckingLanguages): 12111 12112 Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker. 12113 12114 * UIProcess/API/gtk/WebKitPrivate.h: 12115 12116 Add new API to WebKitWebContext to allow enabling/disabling this 12117 spell checking feature, and to set/get the list of languages used 12118 to decide which dictionaries will be consulted. 12119 12120 * UIProcess/API/gtk/WebKitWebContext.cpp: 12121 (_WebKitWebContextPrivate): 12122 (createDefaultWebContext): 12123 (webkit_web_context_get_spell_checking_enabled): New API. 12124 (webkit_web_context_set_spell_checking_enabled): Ditto. 12125 (webkit_web_context_get_spell_checking_languages): Ditto. 12126 (webkit_web_context_set_spell_checking_languages): Ditto. 12127 * UIProcess/API/gtk/WebKitWebContext.h: 12128 12129 New tests for checking the new API added to WebKitWebContext. 12130 12131 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 12132 (testWebContextSpellChecker): 12133 (beforeAll): 12134 12135 Update documentation with new sections and symbols. 12136 12137 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 12138 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 12139 121402012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12141 12142 [EFL][WK2] Assertion hit in ewk_cookie_manager.cpp 12143 https://bugs.webkit.org/show_bug.cgi?id=92544 12144 12145 Reviewed by Kenneth Rohde Christiansen. 12146 12147 Removed wrong assertion in ewk_cookie_manager.cpp 12148 and replace it by an if check. The assertion was 12149 sometimes hit by our unit tests. 12150 12151 * UIProcess/API/efl/ewk_cookie_manager.cpp: 12152 (cookiesDidChange): 12153 121542012-07-27 Anders Carlsson <andersca@apple.com> 12155 12156 Don't use an NSUserDefault for disabling the web process sandbox 12157 https://bugs.webkit.org/show_bug.cgi?id=92542 12158 <rdar://problem/11976060> 12159 12160 Reviewed by Mark Rowe. 12161 12162 The user default was really helpful during WebKit2 bringup, but we no longer need to pay the IPC cost of initializing NSUserDefaults at startup, 12163 so get rid of the preference and use a good old #ifdef instead. 12164 12165 * WebProcess/mac/WebProcessMac.mm: 12166 (WebKit::initializeSandbox): 12167 121682012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12169 12170 [WK2][WTR] LayoutTestController.deliverWebIntent() needs to be implemented 12171 https://bugs.webkit.org/show_bug.cgi?id=92228 12172 12173 Reviewed by Anders Carlsson. 12174 12175 Add C API to create a WKIntentData and to deliver 12176 it to a frame. This is needed by WebKitTestRunner 12177 to implement LayoutTestController.deliverWebIntent(). 12178 12179 * UIProcess/API/C/WKIntentData.cpp: 12180 (WKIntentDataCreate): 12181 * UIProcess/API/C/WKIntentData.h: 12182 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 12183 (WKBundlePageDeliverIntentToFrame): 12184 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 12185 * WebProcess/WebPage/WebPage.h: 12186 (WebPage): Make deliverIntentToFrame() public so that it can 12187 be used by WKBundlePage. 12188 121892012-07-27 Anders Carlsson <andersca@apple.com> 12190 12191 Show the unavailable plug-in indicator for Java applets as well 12192 https://bugs.webkit.org/show_bug.cgi?id=92521 12193 12194 Reviewed by Sam Weinig. 12195 12196 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12197 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 12198 This can now be called on applet elements as well. 12199 12200 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12201 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): 12202 Get the MIME type from the applet element. 12203 122042012-07-27 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12205 12206 [WK2] Fix build warning in WebEventConversion.cpp 12207 https://bugs.webkit.org/show_bug.cgi?id=92517 12208 12209 Reviewed by Darin Adler. 12210 12211 There is a build warning related to comparison between signed and unsigned integer expressions. 12212 12213 * Shared/WebEventConversion.cpp: 12214 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 12215 122162012-07-27 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12217 12218 [WK2] Fix build warning in WebEventConversion.cpp 12219 https://bugs.webkit.org/show_bug.cgi?id=92517 12220 12221 Reviewed by Darin Adler. 12222 12223 There is a build warning related to comparison between signed and unsigned integer expressions. 12224 12225 * Shared/WebEventConversion.cpp: 12226 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 12227 122282012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12229 12230 [EFL][WK2] Add download client for Ewk_Context 12231 https://bugs.webkit.org/show_bug.cgi?id=91345 12232 12233 Reviewed by Kenneth Rohde Christiansen. 12234 12235 Add download client for Ewk_Context so that 12236 information about downloads can be reported 12237 to the client application via Ewk_View signals. 12238 12239 The client application needs to listen for 12240 "download,request" signal on the view and set 12241 the download path for the download in the 12242 callback in order to accept it. If the signal 12243 is ignored or if the download path is not set 12244 the download will fail. 12245 12246 A new Ewk_Download_Job type is introduced to provide 12247 information relative to a download to the client 12248 and to allow the client to interact with it (e.g. 12249 set its download path, cancel it, ...). 12250 12251 * PlatformEfl.cmake: 12252 * UIProcess/API/efl/EWebKit2.h: 12253 * UIProcess/API/efl/PageClientImpl.cpp: 12254 (WebKit::PageClientImpl::handleDownloadRequest): 12255 (WebKit): 12256 * UIProcess/API/efl/PageClientImpl.h: 12257 (PageClientImpl): 12258 * UIProcess/API/efl/ewk_context.cpp: 12259 (_Ewk_Context): 12260 (_Ewk_Context::_Ewk_Context): 12261 (_Ewk_Context::~_Ewk_Context): 12262 (ewk_context_download_job_add): 12263 (ewk_context_download_job_get): 12264 (ewk_context_download_job_remove): 12265 * UIProcess/API/efl/ewk_context_download_client.cpp: Added. 12266 (toEwkContext): 12267 (decideDestinationWithSuggestedFilename): 12268 (didReceiveResponse): 12269 (didCreateDestination): 12270 (didReceiveData): 12271 (didFail): 12272 (didCancel): 12273 (didFinish): 12274 (ewk_context_download_client_attach): 12275 * UIProcess/API/efl/ewk_context_download_client_private.h: Added. 12276 * UIProcess/API/efl/ewk_context_private.h: 12277 * UIProcess/API/efl/ewk_download_job.cpp: Added. 12278 (_Ewk_Download_Job): 12279 (_Ewk_Download_Job::_Ewk_Download_Job): 12280 (_Ewk_Download_Job::~_Ewk_Download_Job): 12281 (ewk_download_job_ref): 12282 (ewk_download_job_unref): 12283 (ewk_download_job_id_get): 12284 (ewk_download_job_view_get): 12285 (ewk_download_job_state_get): 12286 (ewk_download_job_request_get): 12287 (ewk_download_job_response_get): 12288 (ewk_download_job_destination_get): 12289 (ewk_download_job_destination_set): 12290 (ewk_download_job_suggested_filename_get): 12291 (ewk_download_job_cancel): 12292 (ewk_download_job_estimated_progress_get): 12293 (ewk_download_job_elapsed_time_get): 12294 (ewk_download_job_response_set): 12295 (ewk_download_job_suggested_filename_set): 12296 (ewk_download_job_received_data): 12297 (ewk_download_job_state_set): 12298 (ewk_download_job_new): 12299 * UIProcess/API/efl/ewk_download_job.h: Added. 12300 * UIProcess/API/efl/ewk_download_job_private.h: Added. 12301 (WebKit): 12302 * UIProcess/API/efl/ewk_url_response.cpp: 12303 (ewk_url_response_content_length_get): Add a function to 12304 retrieve the content length of a URL response. 12305 * UIProcess/API/efl/ewk_url_response.h: 12306 * UIProcess/API/efl/ewk_view.cpp: 12307 (ewk_view_download_job_cancelled): 12308 (ewk_view_download_job_requested): 12309 (ewk_view_download_job_failed): 12310 (ewk_view_download_job_finished): 12311 * UIProcess/API/efl/ewk_view.h: 12312 * UIProcess/API/efl/ewk_view_private.h: 12313 * UIProcess/API/efl/tests/resources/test.pdf: Added. 12314 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: Added. This tests 12315 the download functionality. 12316 (DownloadTestData): 12317 (fileExists): 12318 (serverCallback): 12319 (on_download_requested): 12320 (on_download_cancelled): 12321 (on_download_failed): 12322 (on_download_finished): 12323 (TEST_F): 12324 * UIProcess/PageClient.h: 12325 (PageClient): 12326 * UIProcess/WebPageProxy.cpp: 12327 (WebKit::WebPageProxy::receivedPolicyDecision): 12328 (WebKit): 12329 (WebKit::WebPageProxy::handleDownloadRequest): 12330 * UIProcess/WebPageProxy.h: 12331 (WebPageProxy): 12332 123332012-07-27 YoungTaeck Song <youngtaeck.song@samsung.com> 12334 12335 [WK2][EFL] Add an ACCELERATED_COMPOSITING implementation for Efl WebKit2 12336 https://bugs.webkit.org/show_bug.cgi?id=91581 12337 12338 Reviewed by Noam Rosenthal. 12339 12340 This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation. 12341 When enter accelerated compositing mode, create evas_gl, evas_gl_context, and evas_gl_surface. 12342 12343 * PlatformEfl.cmake: 12344 * Shared/LayerTreeContext.h: 12345 (LayerTreeContext): 12346 * UIProcess/API/efl/PageClientImpl.cpp: 12347 (WebKit::PageClientImpl::viewSize): 12348 (WebKit::PageClientImpl::enterAcceleratedCompositingMode): 12349 (WebKit::PageClientImpl::exitAcceleratedCompositingMode): 12350 * UIProcess/API/efl/ewk_view.cpp: 12351 (_Ewk_View_Private_Data): 12352 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 12353 (ewk_view_size_get): 12354 (ewk_view_create_gl_surface): 12355 (ewk_view_enter_accelerated_compositing_mode): 12356 (ewk_view_exit_accelerated_compositing_mode): 12357 (_ewk_view_smart_calculate): 12358 * UIProcess/API/efl/ewk_view_private.h: 12359 123602012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12361 12362 [EFL][WK2] Add API to Ewk_Cookie_Manager to watch for cookie changes 12363 https://bugs.webkit.org/show_bug.cgi?id=92484 12364 12365 Reviewed by Kenneth Rohde Christiansen. 12366 12367 Add API tp Ewk_Cookie_Manager so that the client can watch 12368 for cookie changes. 12369 12370 * UIProcess/API/efl/ewk_cookie_manager.cpp: 12371 * UIProcess/API/efl/ewk_cookie_manager.h: 12372 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Add unit tests 12373 for cookie changes watching. 12374 123752012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12376 12377 [EFL][WK2] Stop using C API to interact with the page in Ewk_View 12378 https://bugs.webkit.org/show_bug.cgi?id=92463 12379 12380 Reviewed by Simon Hausmann. 12381 12382 Stop using C API to interact with the PageProxy in Ewk_View 12383 and use the PageProxy object directly. This avoids useless 12384 converting to WK type using toAPI() all the time. 12385 12386 * UIProcess/API/efl/ewk_view.cpp: 12387 (ewk_view_base_add): 12388 (ewk_view_uri_update): 12389 (ewk_view_uri_set): 12390 (ewk_view_reload): 12391 (ewk_view_reload_bypass_cache): 12392 (ewk_view_stop): 12393 (ewk_view_load_progress_get): 12394 (ewk_view_device_pixel_ratio_set): 12395 (ewk_view_theme_get): 12396 (ewk_view_cursor_set): 12397 (ewk_view_back): 12398 (ewk_view_forward): 12399 (ewk_view_intent_deliver): 12400 (ewk_view_back_possible): 12401 (ewk_view_forward_possible): 12402 (ewk_view_setting_encoding_custom_get): 12403 (ewk_view_setting_encoding_custom_set): 12404 124052012-07-27 Dominik Röttsches <dominik.rottsches@intel.com> 12406 12407 [Cairo] Add complex font drawing using HarfbuzzNG 12408 https://bugs.webkit.org/show_bug.cgi?id=91864 12409 12410 Reviewed by Simon Hausmann and Martin Robinson. 12411 12412 Adding includes for harfbuzz folders. 12413 12414 * CMakeLists.txt: 12415 124162012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12417 12418 [EFL][WK2] Add more Ewk_View unit tests 12419 https://bugs.webkit.org/show_bug.cgi?id=92407 12420 12421 Reviewed by Kenneth Rohde Christiansen. 12422 12423 Add more unit tests for WebKit2 Ewk_View API. 12424 In particular, navigation, HTML loading and 12425 device pixel ratio functions are now tested. 12426 12427 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 12428 (EWK2UnitTest::EWK2UnitTestBase::SetUp): Call ewk_init() instead 12429 of duplicating initialization code. 12430 (EWK2UnitTest::EWK2UnitTestBase::TearDown): call ewk_shutdown(). 12431 (TitleChangedData): 12432 (EWK2UnitTest): 12433 (EWK2UnitTest::onTitleChanged): 12434 (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo): Add convenience 12435 method to wait until the view main frame title changes to a given value. 12436 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 12437 (EWK2UnitTestBase): 12438 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 12439 (TEST_F): 12440 (serverCallbackNavigation): 12441 124422012-07-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 12443 12444 [EFL][WK2] Keyboard events miss key location data. 12445 https://bugs.webkit.org/show_bug.cgi?id=92235 12446 12447 Reviewed by Simon Hausmann. 12448 12449 EFL WK2 did not initialize WebKeyboardEvent::m_isKeypad field. 12450 This caused failure of fast/events/keydown-numpad-keys.html test. 12451 12452 * Shared/efl/WebEventFactory.cpp: WebKeyboardEvent::m_isKeypad is initialized. 12453 (WebKit::WebEventFactory::createWebKeyboardEvent): 12454 124552012-07-27 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12456 12457 [EFL] Fix wrong return value in EWK_VIEW_XXX macro. 12458 https://bugs.webkit.org/show_bug.cgi?id=92466 12459 12460 Reviewed by Simon Hausmann. 12461 12462 There are wrong return values in EWK_VIEW_XXX macros. The wrong return values 12463 should be fixed. In addition, API description is also modified according to returned 12464 value change. 12465 12466 * UIProcess/API/efl/ewk_view.cpp: 12467 (ewk_view_uri_set): 12468 (ewk_view_load_progress_get): 12469 (ewk_view_device_pixel_ratio_get): 12470 * UIProcess/API/efl/ewk_view.h: 12471 124722012-07-27 Christophe Dumez <christophe.dumez@intel.com> 12473 12474 [EFL][WK2] Add unit tests for Ewk_View form client 12475 https://bugs.webkit.org/show_bug.cgi?id=92468 12476 12477 Reviewed by Simon Hausmann. 12478 12479 Add unit test for form client functionality in 12480 Ewk_View. 12481 12482 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 12483 (onFormAboutToBeSubmitted): 12484 (TEST_F): 12485 124862012-07-26 Zeno Albisser <zeno@webkit.org> 12487 12488 Unreviewed Qt buildfix after r123786. 12489 12490 Qt-minimal builds with ENABLE_REQUEST_ANIMATION_FRAME=0. 12491 Therefore adding #ifdefs to allow for that configuration. 12492 12493 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 12494 (WebKit): 12495 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 12496 (LayerTreeCoordinator): 12497 124982012-07-26 Zeno Albisser <zeno@webkit.org> 12499 12500 [Qt] requestAnimationFrame should only trigger when a new frame can be displayed. 12501 https://bugs.webkit.org/show_bug.cgi?id=88638 12502 12503 Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie 12504 the servicing of scripted animations to layer syncing for WK2. 12505 For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation. 12506 12507 Reviewed by Jocelyn Turcotte. 12508 12509 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12510 (WebKit): 12511 (WebKit::WebChromeClient::scheduleAnimation): 12512 * WebProcess/WebCoreSupport/WebChromeClient.h: 12513 (WebChromeClient): 12514 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 12515 (WebKit::LayerTreeCoordinator::performScheduledLayerFlush): 12516 (WebKit::LayerTreeCoordinator::scheduleAnimation): 12517 (WebKit): 12518 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: 12519 (LayerTreeCoordinator): 12520 * WebProcess/WebPage/LayerTreeHost.h: 12521 (LayerTreeHost): 12522 125232012-07-26 Jer Noble <jer.noble@apple.com> 12524 12525 Add a ChromeClient method to send diagnostic logging messages from WebCore to the client. 12526 https://bugs.webkit.org/show_bug.cgi?id=92340 12527 12528 Reviewed by Anders Carlsson. 12529 12530 Pipe the ChromeClient logDiagnosticMessage() function through WebKit2 to a new bundle class 12531 InjectedBundlePageDiagnosticLoggingClient, to be implemented by the client. 12532 12533 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 12534 (WKBundlePageSetDiagnosticLoggingClient): Added. 12535 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 12536 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Added. 12537 (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): 12538 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Added. 12539 (InjectedBundlePageDiagnosticLoggingClient): 12540 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12541 (WebKit::WebChromeClient::logDiagnosticMessage): 12542 * WebProcess/WebCoreSupport/WebChromeClient.h: 12543 * WebProcess/WebPage/WebPage.cpp: 12544 (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): 12545 * WebProcess/WebPage/WebPage.h: 12546 (WebKit::WebPage::injectedBundleDiagnosticLoggingClient): 12547 12548 Add a convenience class to retrieve the diagnostic message keys: 12549 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Added. 12550 (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): 12551 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Added. 12552 (InjectedBundlePageDiagnosticLoggingClient): 12553 12554 Add the InjectedBundlePageDiagnosticLoggingClient.cpp,h files. 12555 * CMakeLists.txt: 12556 * GNUmakefile.list.am: 12557 * Target.pri: 12558 * win/WebKit2.vcproj: 12559 * WebKit2.xcodeproj/project.pbxproj: 12560 125612012-07-25 Jer Noble <jer.noble@apple.com> 12562 12563 Add setting to enable and disable diagnostic logging. 12564 https://bugs.webkit.org/show_bug.cgi?id=92337 12565 12566 Reviewed by Anders Carlsson. 12567 12568 Add a WebKit2 WKPreferences API to set set the WebCore diagnosticLoggingEnabled setting. 12569 12570 * Shared/WebPreferencesStore.h: 12571 * UIProcess/API/C/WKPreferences.cpp: 12572 (WKPreferencesSetDiagnosticLoggingEnabled): 12573 (WKPreferencesGetDiagnosticLoggingEnabled): 12574 * UIProcess/API/C/WKPreferencesPrivate.h: 12575 * WebProcess/WebPage/WebPage.cpp: 12576 (WebKit::WebPage::updatePreferences): Ensure this preference is propagated to Settings 12577 whenever the preferences change. 12578 125792012-07-26 Thiago Marcos P. Santos <thiago.santos@intel.com> 12580 12581 [EFL][WK2] Regression(r123731): Linking errors due to efreet functions 12582 https://bugs.webkit.org/show_bug.cgi?id=92378 12583 12584 Unreviewed build fix. 12585 12586 The library list created by PlatformEfl.cmake was being erased by a 12587 SET called after including the platform specific file. Luckily the 12588 dependencies were fulfilled by other targets until efreet was add. 12589 12590 * CMakeLists.txt: 12591 125922012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12593 12594 [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp 12595 https://bugs.webkit.org/show_bug.cgi?id=92387 12596 12597 Reviewed by Kenneth Rohde Christiansen. 12598 12599 Fix compilation warning in EWK2UnitTestServer.cpp. 12600 12601 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: 12602 (EWK2UnitTestServer::EWK2UnitTestServer): 12603 126042012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12605 12606 [EFL][WK2] Implement Network Information provider 12607 https://bugs.webkit.org/show_bug.cgi?id=92343 12608 12609 Reviewed by Kenneth Rohde Christiansen. 12610 12611 Add Network Information provider for WebKit2 EFL 12612 by using NetworkInfoProviderEfl class from 12613 WebCore. 12614 12615 * CMakeLists.txt: 12616 * PlatformEfl.cmake: 12617 * UIProcess/API/efl/NetworkInfoProvider.cpp: Added. 12618 (toNetworkInfoProvider): 12619 (startUpdatingCallback): 12620 (stopUpdatingCallback): 12621 (getBandwidthCallback): 12622 (isMeteredCallback): 12623 (NetworkInfoProvider::create): 12624 (NetworkInfoProvider::NetworkInfoProvider): 12625 (NetworkInfoProvider::~NetworkInfoProvider): 12626 (NetworkInfoProvider::bandwidth): 12627 (NetworkInfoProvider::metered): 12628 (NetworkInfoProvider::startUpdating): 12629 (NetworkInfoProvider::stopUpdating): 12630 * UIProcess/API/efl/NetworkInfoProvider.h: Added. 12631 (NetworkInfoProvider): 12632 126332012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12634 12635 [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp 12636 https://bugs.webkit.org/show_bug.cgi?id=92387 12637 12638 Reviewed by Kenneth Rohde Christiansen. 12639 12640 Fix compilation warning in EWK2UnitTestServer.cpp. 12641 12642 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: 12643 (EWK2UnitTestServer::EWK2UnitTestServer): 12644 126452012-07-26 Thiago Marcos P. Santos <thiago.santos@intel.com> 12646 12647 [EFL][WK2] Regression(r123731): Linking errors due to efreet functions 12648 https://bugs.webkit.org/show_bug.cgi?id=92378 12649 12650 Unreviewed build fix. 12651 12652 The library list created by PlatformEfl.cmake was being erased by a 12653 SET called after including the platform specific file. Luckily the 12654 dependencies were fulfilled by other targets until efreet was add. 12655 12656 * CMakeLists.txt: 12657 126582012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12659 12660 [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp 12661 https://bugs.webkit.org/show_bug.cgi?id=92387 12662 12663 Reviewed by Kenneth Rohde Christiansen. 12664 12665 Fix compilation warning in EWK2UnitTestServer.cpp. 12666 12667 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: 12668 (EWK2UnitTestServer::EWK2UnitTestServer): 12669 126702012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12671 12672 [EFL][WK2] Implement Network Information provider 12673 https://bugs.webkit.org/show_bug.cgi?id=92343 12674 12675 Reviewed by Kenneth Rohde Christiansen. 12676 12677 Add Network Information provider for WebKit2 EFL 12678 by using NetworkInfoProviderEfl class from 12679 WebCore. 12680 12681 * CMakeLists.txt: 12682 * PlatformEfl.cmake: 12683 * UIProcess/API/efl/NetworkInfoProvider.cpp: Added. 12684 (toNetworkInfoProvider): 12685 (startUpdatingCallback): 12686 (stopUpdatingCallback): 12687 (getBandwidthCallback): 12688 (isMeteredCallback): 12689 (NetworkInfoProvider::create): 12690 (NetworkInfoProvider::NetworkInfoProvider): 12691 (NetworkInfoProvider::~NetworkInfoProvider): 12692 (NetworkInfoProvider::bandwidth): 12693 (NetworkInfoProvider::metered): 12694 (NetworkInfoProvider::startUpdating): 12695 (NetworkInfoProvider::stopUpdating): 12696 * UIProcess/API/efl/NetworkInfoProvider.h: Added. 12697 (NetworkInfoProvider): 12698 126992012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12700 12701 [EFL][WK2] Compilation warning in EWK2UnitTestServer.cpp 12702 https://bugs.webkit.org/show_bug.cgi?id=92387 12703 12704 Reviewed by Kenneth Rohde Christiansen. 12705 12706 Fix compilation warning in EWK2UnitTestServer.cpp. 12707 12708 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: 12709 (EWK2UnitTestServer::EWK2UnitTestServer): 12710 127112012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12712 12713 [EFL][WK2] Add unit tests for Ewk_Context 12714 https://bugs.webkit.org/show_bug.cgi?id=92005 12715 12716 Reviewed by Antonio Gomes. 12717 12718 Add unit tests for WebKit2 Ewk_Context. 12719 12720 * PlatformEfl.cmake: 12721 * UIProcess/API/efl/ewk_url_scheme_request.cpp: 12722 (ewk_url_scheme_request_finish): 12723 * UIProcess/API/efl/ewk_url_scheme_request.h: Mark content_data 12724 argument as const. 12725 * UIProcess/API/efl/tests/test_ewk2_context.cpp: Added. 12726 (TEST_F): 12727 (schemeRequestCallback): 12728 127292012-07-26 Christophe Dumez <christophe.dumez@intel.com> 12730 12731 [EFL][WK2] Add form client for Ewk_View 12732 https://bugs.webkit.org/show_bug.cgi?id=92358 12733 12734 Reviewed by Kenneth Rohde Christiansen. 12735 12736 Implement a form client for EFL port in order to 12737 send a "form,request,new" signal on the Ewk_View 12738 whenever a form will be submitted. 12739 12740 The Ewk_Form_Submission_Request type is 12741 introduced to provide the client with information 12742 about the form (e.g. text fields contained in the 12743 form) and to submit it. 12744 12745 This is typically used to store login information 12746 that can be used later to pre-fill the form. 12747 12748 * PlatformEfl.cmake: 12749 * UIProcess/API/efl/EWebKit2.h: 12750 * UIProcess/API/efl/ewk_form_submission_request.cpp: Added. 12751 (_Ewk_Form_Submission_Request): 12752 (_Ewk_Form_Submission_Request::_Ewk_Form_Submission_Request): 12753 (_Ewk_Form_Submission_Request::~_Ewk_Form_Submission_Request): 12754 (ewk_form_submission_request_ref): 12755 (ewk_form_submission_request_unref): 12756 (ewk_form_submission_request_field_names_get): 12757 (ewk_form_submission_request_field_value_get): 12758 (ewk_form_submission_request_submit): 12759 (ewk_form_submission_request_new): 12760 * UIProcess/API/efl/ewk_form_submission_request.h: Added. 12761 * UIProcess/API/efl/ewk_form_submission_request_private.h: Added. 12762 * UIProcess/API/efl/ewk_view.cpp: 12763 (ewk_view_base_add): 12764 (ewk_view_form_submission_request_new): 12765 * UIProcess/API/efl/ewk_view.h: 12766 * UIProcess/API/efl/ewk_view_form_client.cpp: Added. 12767 (willSubmitForm): 12768 (ewk_view_form_client_attach): 12769 * UIProcess/API/efl/ewk_view_form_client_private.h: Added. 12770 * UIProcess/API/efl/ewk_view_private.h: 12771 127722012-07-26 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 12773 12774 [WK2] WebPage::handleEditingKeyboardEvent does not check whether the node allows editing. 12775 https://bugs.webkit.org/show_bug.cgi?id=92364 12776 12777 Reviewed by Kenneth Rohde Christiansen. 12778 12779 Added a check whether the input node allows editing. If editing is not allowed 12780 text input event will not be emitted. 12781 12782 * WebProcess/WebPage/WebPage.cpp: 12783 (WebKit::WebPage::handleEditingKeyboardEvent): 12784 127852012-07-26 Zoltan Nyul <zoltan.nyul@intel.com> 12786 12787 [EFL] EFL port should use XDG paths 12788 https://bugs.webkit.org/show_bug.cgi?id=91719 12789 12790 Reviewed by Kenneth Rohde Christiansen. 12791 12792 Setting xdg paths for application cache, web-database and local-storage. 12793 12794 * PlatformEfl.cmake: 12795 * UIProcess/efl/WebContextEfl.cpp: 12796 (WebKit::WebContext::applicationCacheDirectory): 12797 (WebKit::WebContext::platformDefaultDatabaseDirectory): 12798 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 12799 128002012-07-26 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 12801 12802 [EFL] [WK2] Memory leak in ewk_view_resource_load_client.cpp 12803 https://bugs.webkit.org/show_bug.cgi?id=92099 12804 12805 Reviewed by Kentaro Hara. 12806 12807 Fix a memory leak by clearing the loadingResources HashMap on exit. 12808 12809 * UIProcess/API/efl/ewk_view.cpp: 12810 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 12811 (_ewk_view_priv_loading_resources_clear): 12812 (ewk_view_load_provisional_started): 12813 128142012-07-26 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12815 12816 [DRT] LTC:: pageNumberForElementById() could be moved to Internals 12817 https://bugs.webkit.org/show_bug.cgi?id=92091 12818 12819 Reviewed by Kentaro Hara. 12820 12821 Missing a symbol filter for Mac win port. 12822 12823 * win/WebKit2.def: 12824 * win/WebKit2CFLite.def: 12825 128262012-07-25 Seokju Kwon <seokju.kwon@samsung.com> 12827 12828 [EFL][WK2] Implement the inspector for WebKitTestRunner 12829 https://bugs.webkit.org/show_bug.cgi?id=92213 12830 12831 Reviewed by Ryosuke Niwa. 12832 12833 Partial Implementation of WebInspectorProxyEfl for WebkitTestRunner. 12834 And Web Inspector resources installation. 12835 12836 * PlatformEfl.cmake: 12837 * UIProcess/WebInspectorProxy.cpp: 12838 (WebKit::WebInspectorProxy::WebInspectorProxy): 12839 * UIProcess/WebInspectorProxy.h: 12840 (WebInspectorProxy): 12841 * UIProcess/efl/WebInspectorProxyEfl.cpp: 12842 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 12843 (WebKit::WebInspectorProxy::platformDidClose): 12844 (WebKit::WebInspectorProxy::inspectorPageURL): 12845 (WebKit::WebInspectorProxy::inspectorBaseURL): 12846 128472012-07-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 12848 12849 Create a specialized struct for use in HashMap iterators 12850 https://bugs.webkit.org/show_bug.cgi?id=92137 12851 12852 Reviewed by Ryosuke Niwa. 12853 12854 * Platform/CoreIPC/ArgumentCoders.h: Add encode/decode for KeyValuePair. 12855 128562012-07-25 Anders Carlsson <andersca@apple.com> 12857 12858 Crash when calling PluginView::pluginFocusOrWindowFocusChanged when the web page is null 12859 https://bugs.webkit.org/show_bug.cgi?id=92289 12860 <rdar://problem/11785352> 12861 12862 Reviewed by Andreas Kling. 12863 12864 Plug-in views that outlive their containing web page for various reasons (such as being protected from 12865 destruction) need to null check the web page. 12866 12867 * WebProcess/Plugins/PluginView.cpp: 12868 (WebKit::PluginView::pluginFocusOrWindowFocusChanged): 12869 (WebKit::PluginView::setComplexTextInputState): 12870 128712012-07-25 Christophe Dumez <christophe.dumez@intel.com> 12872 12873 [WK2][WTR] LayoutTestController.sendWebIntentResponse() needs to be implemented 12874 https://bugs.webkit.org/show_bug.cgi?id=92227 12875 12876 Reviewed by Kenneth Rohde Christiansen. 12877 12878 Add new InjectedBundleIntentRequest class to wrap WebCore's 12879 IntentRequest and use it in InjectedBundle's 12880 didReceiveIntentForFrame callback. The WebKitTestRunner needs 12881 to be able to reply to a Web intent request in order to 12882 implement LayoutTestController.sendWebIntentResponse(). As 12883 a consequence, passing a WebIntentData type in not enough. 12884 12885 * CMakeLists.txt: 12886 * GNUmakefile.list.am: 12887 * Shared/API/c/WKBase.h: 12888 * Shared/APIObject.h: 12889 * Shared/IntentData.cpp: 12890 (WebKit::IntentData::IntentData): 12891 (WebKit): 12892 * Shared/IntentData.h: 12893 (WebCore): 12894 (WebKit::IntentData::IntentData): 12895 (IntentData): 12896 * Target.pri: 12897 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 12898 (WebKit): 12899 * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp. 12900 (WKBundleIntentRequestGetTypeID): 12901 (WKBundleIntentRequestCopyIntent): 12902 (WKBundleIntentRequestPostResult): 12903 (WKBundleIntentRequestPostFailure): 12904 * WebProcess/InjectedBundle/API/c/WKBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h. 12905 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 12906 * WebProcess/InjectedBundle/InjectedBundleIntentRequest.cpp: Copied from Source/WebKit2/Shared/IntentData.cpp. 12907 (WebKit): 12908 (WebKit::InjectedBundleIntentRequest::create): 12909 (WebKit::InjectedBundleIntentRequest::InjectedBundleIntentRequest): 12910 (WebKit::InjectedBundleIntentRequest::postResult): 12911 (WebKit::InjectedBundleIntentRequest::postFailure): 12912 (WebKit::InjectedBundleIntentRequest::intent): 12913 * WebProcess/InjectedBundle/InjectedBundleIntentRequest.h: Copied from Source/WebKit2/Shared/IntentData.h. 12914 (WebCore): 12915 (WebKit): 12916 (InjectedBundleIntentRequest): 12917 (WebKit::InjectedBundleIntentRequest::type): 12918 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 12919 (WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame): 12920 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 12921 (WebKit): 12922 (InjectedBundlePageLoaderClient): 12923 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12924 (WebKit::WebFrameLoaderClient::dispatchIntent): 12925 129262012-07-25 Anders Carlsson <andersca@apple.com> 12927 12928 Crash when a web page is closed with outstanding scrolling thread barriers 12929 https://bugs.webkit.org/show_bug.cgi?id=92280 12930 <rdar://problem/11630200> 12931 12932 Reviewed by Andreas Kling. 12933 12934 There was a check in forceRepaintAsync to handle the drawing area going away before the block had 12935 been invoked, but this check needs to be done earlier (as the FIXME suggested). 12936 Move this check to dispatchAfterEnsuringUpdatedScrollPosition instead. 12937 12938 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 12939 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync): 12940 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 12941 129422012-07-25 Alexey Proskuryakov <ap@apple.com> 12943 12944 Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari. 12945 https://bugs.webkit.org/show_bug.cgi?id=89048 12946 <rdar://problem/11786384> 12947 12948 Reviewed by Andreas Kling. 12949 12950 Cannot test text input from UI process side. 12951 12952 Stop relying on IPC to handle key events in order. There are too many complications 12953 where out of order delivery is performed. Instead, queue the events at UI process 12954 side. 12955 12956 * UIProcess/WebPageProxy.cpp: 12957 (WebKit::WebPageProxy::handleKeyboardEvent): 12958 (WebKit::WebPageProxy::didReceiveEvent): 12959 129602012-07-25 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12961 12962 [EFL] Use eina_stringshare_add instead of strdup. 12963 https://bugs.webkit.org/show_bug.cgi?id=92072 12964 12965 Reviewed by Kentaro Hara. 12966 12967 Eina of EFL libraries supports a string functionality that replaces strdup. So, EFL port needs 12968 to replace strdup with eina_stringshare_add function. 12969 12970 * UIProcess/API/efl/ewk_intent.cpp: 12971 (ewk_intent_suggestions_get): 12972 (ewk_intent_extra_get): 12973 * UIProcess/API/efl/ewk_intent.h: 12974 129752012-07-25 Ryuan Choi <ryuan.choi@samsung.com> 12976 12977 [EFL][WK2] Add ewk_view_cursor_set to change cursor. 12978 https://bugs.webkit.org/show_bug.cgi?id=89140 12979 12980 Reviewed by Hajime Morita. 12981 12982 Implement ewk_view_cursor_set to support cursor changes. 12983 12984 * UIProcess/API/efl/PageClientImpl.cpp: 12985 (WebKit::PageClientImpl::setCursor): Called ewk_view_cursor_set. 12986 * UIProcess/API/efl/ewk_view.cpp: 12987 (_Ewk_View_Private_Data): 12988 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 12989 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 12990 (_ewk_view_priv_new): Check whether ecore_x can be used. 12991 (_ewk_view_smart_add): 12992 Change order of initialization to use base structure in _ewk_view_priv_new. 12993 (ewk_view_cursor_set): Added to set cursor. 12994 * UIProcess/API/efl/ewk_view_private.h: 12995 129962012-07-25 Ryuan Choi <ryuan.choi@samsung.com> 12997 12998 [EFL][WK2] Update uri when the active URI is changed while loading. 12999 https://bugs.webkit.org/show_bug.cgi?id=92001 13000 13001 Reviewed by Hajime Morita. 13002 13003 For now, ewk_view_uri_get just return the last uri of setter. 13004 This patch updates the uri of ewk_view when it is changed while loading. 13005 13006 * UIProcess/API/efl/ewk_view.cpp: 13007 (ewk_view_uri_update): 13008 Added to check whether current active URI has changed and send uri,changed 13009 signal if it has changed. 13010 (ewk_view_uri_set): 13011 Called ewk_view_uri_update to make sure the active uri is updated when the 13012 load operation is started. 13013 (ewk_view_reload): Ditto. 13014 (ewk_view_reload_bypass_cache): Ditto. 13015 (ewk_view_load_finished): Ditto. 13016 (ewk_view_load_provisional_redirect): Ditto. 13017 (ewk_view_load_provisional_started): Ditto. 13018 (ewk_view_html_string_load): Ditto. 13019 * UIProcess/API/efl/ewk_view.h: Updated comment for uri,changed signal. 13020 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 13021 (EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource): 13022 Added to get url of custom resource for test. 13023 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: 13024 * UIProcess/API/efl/tests/resources/redirect_uri_to_default.html: 13025 Added to test ewk_view_uri_get when the page is redirected. 13026 * UIProcess/API/efl/tests/test_ewk2_view.cpp: Ditto. 13027 (onLoadFinishedForRedirection): 13028 (TEST_F): Added new test case whether ewk_view_uri_get returns correct uri when 13029 the page is redirected. 13030 130312012-07-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 13032 13033 [EFL][WK2] Add ewk_main.{cpp,h} to EFL WK2 13034 https://bugs.webkit.org/show_bug.cgi?id=92101 13035 13036 Reviewed by Kenneth Rohde Christiansen. 13037 13038 Added a centralized place for general initialization in UI process for EFL WK2. 13039 13040 * PlatformEfl.cmake: 13041 * UIProcess/API/efl/EWebKit2.h: 13042 * UIProcess/API/efl/ewk_main.cpp: Added. 13043 (ewk_init): General initialization. 13044 (ewk_shutdown): General freeing. 13045 (_ewk_init_body): An aux function. 13046 * UIProcess/API/efl/ewk_main.h: Added. 13047 130482012-07-24 Jae Hyun Park <jae.park@company100.net> 13049 13050 WKContextGetGlobalStatistics() assigns wrong value to wkFrameCount in WKContextStatistics 13051 https://bugs.webkit.org/show_bug.cgi?id=92173 13052 13053 Reviewed by John Sullivan. 13054 13055 In WKContextGetGlobalStatistics(), wkViewCount in WebContext::Statistics 13056 is assigned to wkFrameCount in WKContextStatistics. 13057 wkFrameCount in WebContext:Statistics should be assigned to wkFrameCount in WKContextStatistics. 13058 13059 * UIProcess/API/C/WKContext.cpp: 13060 (WKContextGetGlobalStatistics): 13061 130622012-07-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 13063 13064 [EFL][WK2] Add unit tests for custom text encoding setting 13065 https://bugs.webkit.org/show_bug.cgi?id=91983 13066 13067 Reviewed by Dirk Pranke. 13068 13069 Add unit tests for get and set custom text encoding methods. Also, fix 13070 a style nit for r123177. 13071 13072 * UIProcess/API/efl/ewk_view.cpp: 13073 (ewk_view_setting_encoding_custom_set): Fix a style nit - add newline 13074 before return. 13075 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 13076 (TEST_F): 13077 130782012-07-24 Ryosuke Niwa <rniwa@webkit.org> 13079 13080 WinCairo build fix attempt. 13081 13082 * win/WebKit2CFLite.def: 13083 130842012-07-24 Ryosuke Niwa <rniwa@webkit.org> 13085 13086 Windows build fix attempt. 13087 13088 * win/WebKit2.def: 13089 130902012-07-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 13091 13092 [Qt] Make sure that an AC sync is triggered when the canvas contents is updated. 13093 https://bugs.webkit.org/show_bug.cgi?id=92128 13094 13095 Reviewed by Kenneth Rohde Christiansen. 13096 13097 This would cause missed frames when animating an accelerated 2D canvas without 13098 touching the document. 13099 13100 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: 13101 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 13102 131032012-07-24 Alexey Proskuryakov <ap@apple.com> 13104 13105 [Mac WK2] Improve text input logging 13106 https://bugs.webkit.org/show_bug.cgi?id=92147 13107 13108 Reviewed by Andreas Kling. 13109 13110 * UIProcess/API/mac/WKView.mm: 13111 (-[WKView insertText:replacementRange:]): 13112 (-[WKView keyUp:]): 13113 (-[WKView keyDown:]): 13114 (-[WKView flagsChanged:]): 13115 (-[WKView _executeSavedKeypressCommands]): 13116 (-[WKView _notifyInputContextAboutDiscardedComposition]): 13117 (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): 13118 (-[WKView _updateSecureInputState]): 13119 131202012-07-24 Christophe Dumez <christophe.dumez@intel.com> 13121 13122 [EFL][WK2] Provide more useful output when an injected bundle cannot be loaded 13123 https://bugs.webkit.org/show_bug.cgi?id=92136 13124 13125 Reviewed by Kenneth Rohde Christiansen. 13126 13127 Call eina_error_get() in case an injected bundle cannot be 13128 loaded in order to print more information about the error. 13129 13130 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: 13131 (WebKit::InjectedBundle::load): 13132 131332012-07-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 13134 13135 [EFL][WK2] Add vibration client 13136 https://bugs.webkit.org/show_bug.cgi?id=91371 13137 13138 Reviewed by Antonio Gomes. 13139 13140 Implement Vibration provider for WebKit2 EFL and add an API to set 13141 vibration client callbacks by application to handle the tactile 13142 feedback in the application when the page content ask for vibration. 13143 13144 * CMakeLists.txt: Add WebCore/Modules/vibration to include path. 13145 * PlatformEfl.cmake: Add VibrationProvider.cpp file to the build 13146 system. 13147 * UIProcess/API/efl/VibrationProvider.cpp: Added. 13148 (_Ewk_Vibration_Client): Structure contains the vibration client 13149 callbacks. 13150 (_Ewk_Vibration_Client::_Ewk_Vibration_Client): 13151 (toVibrationProvider): Helper function to cast the clientinfo to 13152 VibrationProvider. 13153 (vibrateCallback): 13154 (cancelVibrationCallback): 13155 (VibrationProvider::create): 13156 (VibrationProvider::VibrationProvider): 13157 (VibrationProvider::~VibrationProvider): 13158 (VibrationProvider::vibrate): 13159 (VibrationProvider::cancelVibration): 13160 (VibrationProvider::setVibrationClientCallbacks): 13161 * UIProcess/API/efl/VibrationProvider.h: Added. 13162 (VibrationProvider): 13163 * UIProcess/API/efl/ewk_context.cpp: 13164 (_Ewk_Context): 13165 (createDefaultEwkContext): 13166 (ewk_context_vibration_client_callbacks_set): API to set vibration 13167 client callbacks. 13168 * UIProcess/API/efl/ewk_context.h: 13169 131702012-07-24 Simon Hausmann <simon.hausmann@nokia.com> 13171 13172 [Qt] Fix compilation after QtQuick API changes 13173 https://bugs.webkit.org/show_bug.cgi?id=91822 13174 13175 Reviewed by Kenneth Rohde Christiansen. 13176 13177 QQuickCanvas is now QQuickWindow, QQuickItem::canvas() is window() and rootItem() 13178 is contentItem(). Also QQuickWindow::grabFrameBuffer() is now grabWindow(). 13179 13180 * UIProcess/API/qt/qquickwebpage.cpp: 13181 * UIProcess/API/qt/qquickwebview.cpp: 13182 (QQuickWebViewPrivate::updateIcon): 13183 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 13184 (tst_QQuickWebView::multipleWebViews): 13185 (tst_QQuickWebView::basicRenderingSanity): 13186 (tst_QQuickWebView::transparentWebViews): 13187 * UIProcess/API/qt/tests/testwindow.h: 13188 (TestWindow::TestWindow): 13189 * UIProcess/qt/QtPageClient.cpp: 13190 (WebKit::QtPageClient::isViewVisible): 13191 * UIProcess/qt/QtWebPageEventHandler.cpp: 13192 (WebKit::QtWebPageEventHandler::startDrag): 13193 131942012-07-24 Balazs Kelemen <kbalazs@webkit.org> 13195 13196 [Qt] Add quirks for running the web process in a profiler shell, like valgrind 13197 https://bugs.webkit.org/show_bug.cgi?id=87672 13198 13199 Reviewed by Jocelyn Turcotte. 13200 13201 If environment variables QT_WEBKIT_WEB_PROCESS_COMMAND_PREFIX 13202 and/or QT_WEBKIT_PLUGIN_PROCESS_COMMAND_PREFIX are set, use their 13203 values as the prefix of the command when launching the child process. 13204 Example usage: 13205 export QT_WEB_PROCESS_COMMAND_PREFIX="valgrind --smc-check=all" 13206 ./MiniBrowser http://somepage.html 13207 ./WebKitTestRunner --no-timeout-at-all some_layouttest.html 13208 13209 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 13210 (WebKit::ProcessLauncher::launchProcess): 13211 132122012-07-23 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 13213 13214 [Qt] Fix compilation against namespaced Qt 13215 13216 Reviewed by Simon Hausmann. 13217 13218 * Platform/CoreIPC/Connection.h: 13219 * Platform/PlatformProcessIdentifier.h: 13220 * Platform/WorkQueue.h: 13221 * Shared/qt/QtNetworkRequestData.h: 13222 * Shared/qt/WebEventFactoryQt.h: 13223 * UIProcess/API/C/qt/WKNativeEvent.h: 13224 * UIProcess/API/qt/qquickwebview_p.h: 13225 * UIProcess/API/qt/qwebnavigationhistory_p.h: 13226 * UIProcess/API/qt/raw/qrawwebview_p.h: 13227 * UIProcess/DrawingAreaProxy.h: 13228 * UIProcess/Launcher/ThreadLauncher.h: 13229 * UIProcess/LayerTreeCoordinatorProxy.h: 13230 * UIProcess/qt/QtViewportHandler.h: 13231 * UIProcess/qt/QtWebPageSGNode.h: 13232 * UIProcess/qt/WebColorChooserProxyQt.h: 13233 * UIProcess/qt/WebGeolocationProviderQt.h: 13234 * UIProcess/qt/WebPopupMenuProxyQt.h: 13235 * WebProcess/WebProcess.h: 13236 132372012-07-24 Christophe Dumez <christophe.dumez@intel.com> 13238 13239 [EFL][WK2] Remove unneeded WebURLRequestEfl and WebURLResponseEfl 13240 https://bugs.webkit.org/show_bug.cgi?id=92087 13241 13242 Reviewed by Kenneth Rohde Christiansen. 13243 13244 Remove WebURLRequestEfl and WebURLResponseEfl classes 13245 and their corresponding C APIs since we don't need / use 13246 them. 13247 13248 * Shared/API/c/efl/WKURLRequestEfl.cpp: Removed. 13249 * Shared/API/c/efl/WKURLRequestEfl.h: Removed. 13250 * Shared/API/c/efl/WKURLResponseEfl.cpp: Removed. 13251 * Shared/API/c/efl/WKURLResponseEfl.h: Removed. 13252 * Shared/efl/WebURLRequestEfl.cpp: Removed. 13253 * Shared/efl/WebURLRequestEfl.h: Removed. 13254 * Shared/efl/WebURLResponseEfl.cpp: Removed. 13255 * Shared/efl/WebURLResponseEfl.h: Removed. 13256 * UIProcess/API/efl/ewk_url_request.cpp: 13257 132582012-07-24 Pierre Rossi <pierre.rossi@gmail.com> 13259 13260 [Qt] Enable touch slider when touch events are enabled 13261 https://bugs.webkit.org/show_bug.cgi?id=91013 13262 13263 Reviewed by Kenneth Rohde Christiansen. 13264 13265 TOUCH_SLIDER guards are used in WebCore, so we should really 13266 be setting the corresponding ENABLE define in features.prf. 13267 13268 * Target.pri: 13269 132702012-07-24 Christophe Dumez <christophe.dumez@intel.com> 13271 13272 [EFL][WK2] Fix possible crash in didSendRequestForResource 13273 https://bugs.webkit.org/show_bug.cgi?id=92077 13274 13275 Reviewed by Kenneth Rohde Christiansen. 13276 13277 Add NULL check for wkRedirectResponse in 13278 didSendRequestForResource() before using it. The 13279 argument may be NULL if there was no redirection. 13280 13281 * UIProcess/API/efl/ewk_view.h: 13282 * UIProcess/API/efl/ewk_view_resource_load_client.cpp: 13283 (didSendRequestForResource): 13284 132852012-07-24 Christophe Dumez <christophe.dumez@intel.com> 13286 13287 [WK2][EFL][GTK] Share WebCoreArgumentCoders for soup-related types 13288 https://bugs.webkit.org/show_bug.cgi?id=92073 13289 13290 Reviewed by Kenneth Rohde Christiansen. 13291 13292 Move WebCoreArgumentCoders for soup-related types such as 13293 ResourceRequest, ResourceResponse and ResourceError from 13294 port specific file to Shared/soup/WebCoreArgumentCodersSoup.cpp. 13295 This way, the different ports using libsoup can share 13296 code and avoid duplication. 13297 13298 * GNUmakefile.list.am: 13299 * PlatformEfl.cmake: 13300 * Shared/efl/WebCoreArgumentCodersEfl.cpp: Removed. 13301 * Shared/soup/WebCoreArgumentCodersSoup.cpp: Renamed from Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp. 13302 (CoreIPC): 13303 (CoreIPC::::encode): 13304 (CoreIPC::::decode): 13305 133062012-07-23 Sheriff Bot <webkit.review.bot@gmail.com> 13307 13308 Unreviewed, rolling out r123184, r123195, and r123197. 13309 http://trac.webkit.org/changeset/123184 13310 http://trac.webkit.org/changeset/123195 13311 http://trac.webkit.org/changeset/123197 13312 https://bugs.webkit.org/show_bug.cgi?id=92049 13313 13314 pagecycler regression (Requested by morrita on #webkit). 13315 13316 * win/WebKit2.def: 13317 * win/WebKit2CFLite.def: 13318 133192012-07-23 Simon Fraser <simon.fraser@apple.com> 13320 13321 Part 2 of: Implement sticky positioning 13322 https://bugs.webkit.org/show_bug.cgi?id=90046 13323 13324 Reviewed by Ojan Vafai. 13325 13326 Turn on ENABLE_CSS_STICKY_POSITION. 13327 13328 * Configurations/FeatureDefines.xcconfig: 13329 133302012-07-23 Christophe Dumez <christophe.dumez@intel.com> 13331 13332 [WK2] WebKitTestRunner needs to print information about Web intents 13333 https://bugs.webkit.org/show_bug.cgi?id=90873 13334 13335 Reviewed by Anders Carlsson. 13336 13337 Add Bundle API for Web Intents. This is needed by the WebKitTestRunner 13338 to print information about the new intent requests and the intent 13339 service registrations. 13340 13341 * CMakeLists.txt: Move WebIntentData and WebIntentServiceInfo from 13342 UIProcess/ to Shared/. 13343 * GNUmakefile.list.am: Move WebIntentData and WebIntentServiceInfo from 13344 UIProcess/ to Shared/. 13345 * Shared/APIClientTraits.h: 13346 * Shared/WebIntentData.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentData.cpp. 13347 (WebKit): 13348 (WebKit::WebIntentData::WebIntentData): 13349 (WebKit::WebIntentData::data): 13350 (WebKit::WebIntentData::suggestions): 13351 (WebKit::WebIntentData::extra): 13352 (WebKit::WebIntentData::extras): 13353 * Shared/WebIntentData.h: Renamed from Source/WebKit2/UIProcess/WebIntentData.h. 13354 (WebKit): 13355 (WebIntentData): 13356 (WebKit::WebIntentData::create): 13357 (WebKit::WebIntentData::~WebIntentData): 13358 (WebKit::WebIntentData::action): 13359 (WebKit::WebIntentData::payloadType): 13360 (WebKit::WebIntentData::service): 13361 (WebKit::WebIntentData::store): 13362 (WebKit::WebIntentData::type): 13363 * Shared/WebIntentServiceInfo.cpp: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.cpp. 13364 (WebKit): 13365 (WebKit::WebIntentServiceInfo::WebIntentServiceInfo): 13366 * Shared/WebIntentServiceInfo.h: Renamed from Source/WebKit2/UIProcess/WebIntentServiceInfo.h. 13367 (WebKit): 13368 (WebIntentServiceInfo): 13369 (WebKit::WebIntentServiceInfo::create): 13370 (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo): 13371 (WebKit::WebIntentServiceInfo::action): 13372 (WebKit::WebIntentServiceInfo::payloadType): 13373 (WebKit::WebIntentServiceInfo::href): 13374 (WebKit::WebIntentServiceInfo::title): 13375 (WebKit::WebIntentServiceInfo::disposition): 13376 (WebKit::WebIntentServiceInfo::type): 13377 * Target.pri: Move WebIntentData and WebIntentServiceInfo from 13378 UIProcess/ to Shared/. 13379 * UIProcess/API/C/WKPage.h: 13380 * UIProcess/API/efl/ewk_view_loader_client.cpp: 13381 (didReceiveIntentForFrame): 13382 (registerIntentServiceForFrame): 13383 * UIProcess/WebLoaderClient.cpp: 13384 (WebKit::WebLoaderClient::didReceiveIntentForFrame): 13385 (WebKit::WebLoaderClient::registerIntentServiceForFrame): 13386 * UIProcess/WebLoaderClient.h: 13387 (WebLoaderClient): 13388 * UIProcess/WebPageProxy.cpp: 13389 (WebKit::WebPageProxy::registerIntentServiceForFrame): 13390 (WebKit::WebPageProxy::didReceiveIntentForFrame): 13391 * UIProcess/WebPageProxy.h: 13392 (WebPageProxy): 13393 * UIProcess/WebPageProxy.messages.in: 13394 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 13395 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 13396 (WebKit): 13397 (WebKit::InjectedBundlePageLoaderClient::didReceiveIntentForFrame): 13398 (WebKit::InjectedBundlePageLoaderClient::registerIntentServiceForFrame): 13399 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 13400 (WebKit): 13401 (InjectedBundlePageLoaderClient): 13402 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13403 (WebKit::WebFrameLoaderClient::dispatchIntent): 13404 (WebKit::WebFrameLoaderClient::registerIntentService): 13405 * WebProcess/qt/QtBuiltinBundlePage.cpp: 13406 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 13407 134082012-07-23 Christophe Dumez <christophe.dumez@intel.com> 13409 13410 [EFL][WK2] Add unit tests for Ewk_Cookie_Manager 13411 https://bugs.webkit.org/show_bug.cgi?id=91639 13412 13413 Reviewed by Antonio Gomes. 13414 13415 Add unit tests for Ewk_Cookie_Manager. 13416 13417 * PlatformEfl.cmake: 13418 * UIProcess/API/efl/ewk_cookie_manager.h: Fix "accept policy" documentation 13419 to indicate that only cookies set by the main document are accepted by default. 13420 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: Added. 13421 (EWK2UnitTestServer::EWK2UnitTestServer): Add HTTP server similar to the one 13422 used by GTK port unit tests. 13423 (EWK2UnitTestServer::~EWK2UnitTestServer): 13424 (EWK2UnitTestServer::run): 13425 (EWK2UnitTestServer::getURIForPath): 13426 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h: Added. 13427 (EWK2UnitTestServer): 13428 (EWK2UnitTestServer::baseURI): 13429 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Added. 13430 (serverCallback): 13431 (getAcceptPolicyCallback): 13432 (getAcceptPolicy): 13433 (getHostnamesWithCookiesCallback): 13434 (getHostnamesWithCookies): 13435 (freeHostNames): 13436 (countHostnamesWithCookies): 13437 (TEST_F): 13438 (cleanUpCookieFiles): 13439 134402012-07-23 Pierre Rossi <pierre.rossi@gmail.com> 13441 13442 [Qt] Enable touch slider when touch events are enabled 13443 https://bugs.webkit.org/show_bug.cgi?id=91013 13444 13445 Reviewed by Antonio Gomes. 13446 13447 Take advantage of the logic introduced in r122286. 13448 13449 * Target.pri: 13450 134512012-07-23 Pierre Rossi <pierre.rossi@gmail.com> 13452 13453 Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client 13454 https://bugs.webkit.org/show_bug.cgi?id=91006 13455 13456 Reviewed by Ryosuke Niwa. 13457 13458 Remove numTouchEventHandlersChanged stub. 13459 13460 * WebProcess/WebCoreSupport/WebChromeClient.h: 13461 (WebChromeClient): 13462 134632012-07-23 Simon Fraser <simon.fraser@apple.com> 13464 13465 Part 1 of: Implement sticky positioning 13466 https://bugs.webkit.org/show_bug.cgi?id=90046 13467 13468 Reviewed by Ojan Vafai. 13469 13470 Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially. 13471 13472 Sort the ENABLE_CSS lines in the file. Make sure all the flags 13473 are in FEATURE_DEFINES. 13474 13475 * Configurations/FeatureDefines.xcconfig: 13476 134772012-07-23 Christophe Dumez <christophe.dumez@intel.com> 13478 13479 [EFL][WK2] Add request manager client 13480 https://bugs.webkit.org/show_bug.cgi?id=91193 13481 13482 Reviewed by Kenneth Rohde Christiansen. 13483 13484 Add a URL request manager client and attach it 13485 to the Ewk_Context. 13486 13487 The client application can now register a URL scheme 13488 via the Ewk_Context API and provide a callback handler 13489 that will get called whenever a URL request with this 13490 scheme is made. 13491 13492 A new Ewk_Url_Scheme_Request type is introduced to 13493 provide information about the request to the client 13494 and to allow the client to finish it by setting its 13495 contents. 13496 13497 * PlatformEfl.cmake: 13498 * UIProcess/API/efl/EWebKit2.h: 13499 * UIProcess/API/efl/ewk_context.cpp: 13500 (_Ewk_Url_Scheme_Handler): 13501 (_Ewk_Url_Scheme_Handler::_Ewk_Url_Scheme_Handler): 13502 (_Ewk_Context): 13503 (_Ewk_Context::_Ewk_Context): 13504 (ewk_context_request_manager_get): 13505 (ewk_context_url_scheme_request_received): 13506 (createDefaultEwkContext): 13507 (ewk_context_uri_scheme_register): 13508 * UIProcess/API/efl/ewk_context.h: 13509 * UIProcess/API/efl/ewk_context_private.h: 13510 * UIProcess/API/efl/ewk_context_request_manager_client.cpp: Added. 13511 (toEwkContext): 13512 (didReceiveURIRequest): 13513 (ewk_context_request_manager_client_attach): 13514 * UIProcess/API/efl/ewk_context_request_manager_client_private.h: Added. 13515 * UIProcess/API/efl/ewk_url_scheme_request.cpp: Added. 13516 (_Ewk_Url_Scheme_Request): 13517 (_Ewk_Url_Scheme_Request::_Ewk_Url_Scheme_Request): 13518 (_Ewk_Url_Scheme_Request::~_Ewk_Url_Scheme_Request): 13519 (ewk_url_scheme_request_ref): 13520 (ewk_url_scheme_request_unref): 13521 (ewk_url_scheme_request_scheme_get): 13522 (ewk_url_scheme_request_url_get): 13523 (ewk_url_scheme_request_path_get): 13524 (ewk_url_scheme_request_id_get): 13525 (ewk_url_scheme_request_finish): 13526 (ewk_url_scheme_request_new): 13527 * UIProcess/API/efl/ewk_url_scheme_request.h: Added. 13528 * UIProcess/API/efl/ewk_url_scheme_request_private.h: Added. 13529 135302012-07-23 KwangYong Choi <ky0.choi@samsung.com> 13531 13532 [EFL][WK2] ProcessExecutablePath is required 13533 https://bugs.webkit.org/show_bug.cgi?id=89719 13534 13535 Reviewed by Kenneth Rohde Christiansen. 13536 13537 Added executablePathOfWebProcess and executablePathOfPluginProcess. 13538 It's used for getting the location of WebProcess and PluginProcess. 13539 13540 * PlatformEfl.cmake: Added LIBEXECDIR definition 13541 * Shared/efl/ProcessExecutablePathEfl.cpp: Added. 13542 (WebKit): 13543 (WebKit::findWebKitProcess): 13544 (WebKit::executablePathOfWebProcess): Get the absolute path of WebProcess 13545 (WebKit::executablePathOfPluginProcess): Get the absolute path of PluginProcess 13546 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 13547 (WebKit::ProcessLauncher::launchProcess): Modified to use above routines 13548 135492012-07-23 Christophe Dumez <christophe.dumez@intel.com> 13550 13551 WebKit2 needs layoutTestController.setAlwaysAcceptCookies 13552 https://bugs.webkit.org/show_bug.cgi?id=42778 13553 13554 Reviewed by Kenneth Rohde Christiansen. 13555 13556 Add setAlwaysAcceptCookies() method to InjectedBundle 13557 so that we can use it in LayoutTestController. 13558 The method uses WebCookieManager::setHTTPCookieAcceptPolicy() 13559 internally. 13560 13561 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 13562 (WKBundleSetAlwaysAcceptCookies): 13563 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 13564 * WebProcess/InjectedBundle/InjectedBundle.cpp: 13565 (WebKit::InjectedBundle::setAlwaysAcceptCookies): 13566 (WebKit): 13567 * WebProcess/InjectedBundle/InjectedBundle.h: 13568 (InjectedBundle): 13569 135702012-07-23 Thiago Marcos P. Santos <thiago.santos@intel.com> 13571 13572 [WK2] SQL Database cannot be disabled at build time 13573 https://bugs.webkit.org/show_bug.cgi?id=91837 13574 13575 Reviewed by Kenneth Rohde Christiansen. 13576 13577 WebKit2 had no #ifdefs for SQL Database. This patch adds these 13578 statments and it can now be disabled at build time. 13579 13580 * Shared/OriginAndDatabases.cpp: 13581 * Shared/OriginAndDatabases.h: 13582 * Shared/WebCoreArgumentCoders.cpp: 13583 (CoreIPC): 13584 * UIProcess/API/C/WKContext.cpp: 13585 (WKContextGetDatabaseManager): 13586 * UIProcess/API/C/WKDatabaseManager.cpp: 13587 (WKDatabaseManagerGetTypeID): 13588 (WKDatabaseManagerGetOriginKey): 13589 (WKDatabaseManagerGetOriginQuotaKey): 13590 (WKDatabaseManagerGetOriginUsageKey): 13591 (WKDatabaseManagerGetDatabaseDetailsKey): 13592 (WKDatabaseManagerGetDatabaseDetailsNameKey): 13593 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): 13594 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): 13595 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): 13596 (WKDatabaseManagerSetClient): 13597 (WKDatabaseManagerGetDatabasesByOrigin): 13598 (callGetDatabasesByOriginBlockAndDispose): 13599 (WKDatabaseManagerGetDatabasesByOrigin_b): 13600 (WKDatabaseManagerGetDatabaseOrigins): 13601 (callGetDatabaseOriginsBlockBlockAndDispose): 13602 (WKDatabaseManagerGetDatabaseOrigins_b): 13603 (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): 13604 (WKDatabaseManagerDeleteDatabasesForOrigin): 13605 (WKDatabaseManagerDeleteAllDatabases): 13606 (WKDatabaseManagerSetQuotaForOrigin): 13607 * UIProcess/WebContext.cpp: 13608 (WebKit::WebContext::WebContext): 13609 (WebKit::WebContext::~WebContext): 13610 (WebKit::WebContext::shouldTerminate): 13611 (WebKit::WebContext::disconnectProcess): 13612 (WebKit::WebContext::didReceiveMessage): 13613 * UIProcess/WebContext.h: 13614 (WebContext): 13615 * UIProcess/WebDatabaseManagerProxy.cpp: 13616 * UIProcess/WebDatabaseManagerProxy.h: 13617 * UIProcess/WebDatabaseManagerProxy.messages.in: 13618 * WebProcess/InjectedBundle/InjectedBundle.cpp: 13619 (WebKit::InjectedBundle::clearAllDatabases): 13620 (WebKit::InjectedBundle::setDatabaseQuota): 13621 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 13622 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 13623 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: 13624 * WebProcess/WebProcess.cpp: 13625 (WebKit::WebProcess::didReceiveMessage): 13626 136272012-07-23 Kent Tamura <tkent@chromium.org> 13628 13629 Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively 13630 https://bugs.webkit.org/show_bug.cgi?id=91941 13631 13632 Reviewed by Kentaro Hara. 13633 13634 A flag name for an elmement should be ENABLE_*_ELEMENT. 13635 13636 * Configurations/FeatureDefines.xcconfig: 13637 136382012-07-22 Kent Tamura <tkent@chromium.org> 13639 13640 Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT 13641 https://bugs.webkit.org/show_bug.cgi?id=91928 13642 13643 Reviewed by Kentaro Hara. 13644 13645 A flag name for an elmement should be ENABLE_*_ELEMENT. 13646 13647 * Configurations/FeatureDefines.xcconfig: 13648 136492012-07-20 Kent Tamura <tkent@chromium.org> 13650 13651 Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT 13652 https://bugs.webkit.org/show_bug.cgi?id=91846 13653 13654 Reviewed by Kentaro Hara. 13655 13656 A flag name for an elmement should be ENABLE_*_ELEMENT. 13657 13658 * Configurations/FeatureDefines.xcconfig: 13659 136602012-07-20 Rafael Brandao <rafael.lobo@openbossa.org> 13661 13662 QtNetworkAccessManager should not rely on signal sslErrors when QT_NO_SSL is defined 13663 https://bugs.webkit.org/show_bug.cgi?id=91866 13664 13665 Reviewed by Noam Rosenthal. 13666 13667 * WebProcess/qt/QtNetworkAccessManager.cpp: 13668 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): QNAM's signal is only defined when 13669 that flag is undefined. Removed the connection when we have the flag set. 13670 (WebKit::QtNetworkAccessManager::onSslErrors): When the flag is set, this slot becomes unused. 13671 136722012-07-20 Christophe Dumez <christophe.dumez@intel.com> 13673 13674 [EFL] Proxy configuration should honor the no_proxy environment variable 13675 https://bugs.webkit.org/show_bug.cgi?id=91747 13676 13677 Reviewed by Kenneth Rohde Christiansen. 13678 13679 Use the new custom proxy resolver from WebCore in 13680 WebKit2-EFL so that it is possible for the client 13681 to set proxy exceptions via the "no_proxy" 13682 environment variable. 13683 13684 By default, the proxy set in the "http_proxy" 13685 environment variable will not be used for requests 13686 to localhost or 127.0.0.1. 13687 13688 * WebProcess/efl/WebProcessMainEfl.cpp: 13689 (WebKit::WebProcessMainEfl): 13690 136912012-06-01 Dinu Jacob <dinu.jacob@nokia.com> 13692 13693 [Qt][WK2] Add support for multi-select list 13694 https://bugs.webkit.org/show_bug.cgi?id=85527 13695 13696 Reviewed by Kenneth Rohde Christiansen. 13697 13698 Added support for multi-select list: 13699 - Added multi-selection flag to PlatformPopupMenuData to indicate whether to accept multiple selections or not. 13700 - Added selected state to WebPopupItem. 13701 - Modified WebPopupMenuQt to support multiple selections. 13702 13703 * Shared/PlatformPopupMenuData.cpp: 13704 (WebKit::PlatformPopupMenuData::PlatformPopupMenuData): 13705 (WebKit::PlatformPopupMenuData::encode): 13706 (WebKit::PlatformPopupMenuData::decode): 13707 * Shared/PlatformPopupMenuData.h: 13708 (PlatformPopupMenuData): 13709 * Shared/WebPopupItem.cpp: 13710 (WebKit::WebPopupItem::WebPopupItem): 13711 (WebKit::WebPopupItem::encode): 13712 (WebKit::WebPopupItem::decode): 13713 * Shared/WebPopupItem.h: 13714 * UIProcess/API/qt/tests/qmltests/WebView/tst_multiSelect.qml: Added. 13715 * UIProcess/API/qt/tests/qmltests/common/multiselect.html: Added. 13716 * UIProcess/WebPageProxy.h: 13717 (WebPageProxy): 13718 * UIProcess/WebPopupMenuProxy.h: 13719 (Client): 13720 * UIProcess/qt/WebPageProxyQt.cpp: 13721 (WebKit::WebPageProxy::changeSelectedIndex): 13722 (WebKit): 13723 (WebKit::WebPageProxy::closePopupMenu): 13724 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 13725 (WebKit::PopupMenuItemModel::multiple): 13726 (PopupMenuItemModel): 13727 (WebKit::PopupMenuItemModel::Item::Item): 13728 (ItemSelectorContextObject): 13729 (WebKit::ItemSelectorContextObject::allowMultiSelect): 13730 (WebKit::ItemSelectorContextObject::reject): 13731 (WebKit::ItemSelectorContextObject::dismiss): 13732 (WebKit::ItemSelectorContextObject::ItemSelectorContextObject): 13733 (WebKit): 13734 (WebKit::ItemSelectorContextObject::onIndexUpdate): 13735 (WebKit::ItemSelectorContextObject::accept): 13736 (WebKit::PopupMenuItemModel::PopupMenuItemModel): 13737 (WebKit::PopupMenuItemModel::select): 13738 (WebKit::PopupMenuItemModel::toggleItem): 13739 (WebKit::PopupMenuItemModel::buildItems): 13740 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 13741 (WebKit::WebPopupMenuProxyQt::hidePopupMenu): 13742 (WebKit::WebPopupMenuProxyQt::selectIndex): 13743 (WebKit::WebPopupMenuProxyQt::createItem): 13744 * UIProcess/qt/WebPopupMenuProxyQt.h: 13745 (WebPopupMenuProxyQt): 13746 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 13747 (WebKit::WebPopupMenu::didChangeSelectedIndex): 13748 (WebKit::WebPopupMenu::populateItems): 13749 * WebProcess/WebCoreSupport/WebPopupMenu.h: 13750 (WebPopupMenu): 13751 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: 13752 (WebKit::WebPopupMenu::setUpPlatformData): 13753 * WebProcess/WebPage/WebPage.cpp: 13754 (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu): 13755 (WebKit): 13756 (WebKit::WebPage::changeSelectedIndex): 13757 * WebProcess/WebPage/WebPage.h: 13758 (WebPage): 13759 * WebProcess/WebPage/WebPage.messages.in: 13760 * WebProcess/WebPage/qt/WebPageQt.cpp: 13761 (WebKit::WebPage::selectedIndex): 13762 (WebKit): 13763 (WebKit::WebPage::hidePopupMenu): 13764 137652012-07-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> 13766 13767 Unreviewed, rolling out r123085. 13768 http://trac.webkit.org/changeset/123085 13769 https://bugs.webkit.org/show_bug.cgi?id=91719 13770 13771 r123085 causes crashes on EFL layout test bot. 13772 13773 * UIProcess/efl/WebContextEfl.cpp: 13774 (WebKit::WebContext::applicationCacheDirectory): 13775 137762012-07-20 Christophe Dumez <christophe.dumez@intel.com> 13777 13778 [EFL][WK2] Use "load,finished" signal in EWK2UnitTestBase::loadUrlSync() instead of "load,progress" 13779 https://bugs.webkit.org/show_bug.cgi?id=91721 13780 13781 Reviewed by Kenneth Rohde Christiansen. 13782 13783 The purpose of EWK2UnitTestBase::loadUrlSync() is to load 13784 a URL in the view and wait synchronously for the load to finish. 13785 The current implementation uses the "load,progress" signal to 13786 detect when the load is finished, which is inefficient because 13787 it gets emitted several times. 13788 13789 It is better to wait for the "load,finished" signal which gets 13790 emitted only once when the load is complete. 13791 13792 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 13793 (EWK2UnitTest::onLoadFinished): 13794 (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase): 13795 (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync): 13796 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 13797 (EWK2UnitTestBase): 13798 137992012-07-19 MORITA Hajime <morrita@google.com> 13800 13801 [Refactoring] Replace Node's Document pointer with a TreeScope pointer 13802 https://bugs.webkit.org/show_bug.cgi?id=59816 13803 13804 Reviewed by Ryosuke Niwa. 13805 13806 * win/WebKit2.def: Added newly exported symbols. 13807 * win/WebKit2CFLite.def: Ditto. 13808 138092012-07-19 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 13810 13811 [EFL] [WK2] Add methods to get/set a custom text encoding 13812 https://bugs.webkit.org/show_bug.cgi?id=90604 13813 13814 Reviewed by Kenneth Rohde Christiansen. 13815 13816 Add methods to get/set custom character encoding. 13817 13818 * UIProcess/API/efl/ewk_view.cpp: 13819 (_Ewk_View_Private_Data): 13820 (_ewk_view_priv_del): 13821 (ewk_view_setting_encoding_custom_get): 13822 (ewk_view_setting_encoding_custom_set): 13823 * UIProcess/API/efl/ewk_view.h: 13824 138252012-07-19 Gyuyoung Kim <gyuyoung.kim@samsung.com> 13826 13827 Unreviewed. Fix build break because of changing parameter type of 13828 vibration virtual function on EFL port. 13829 13830 * WebProcess/WebCoreSupport/WebVibrationClient.cpp: 13831 (WebKit::WebVibrationClient::vibrate): 13832 * WebProcess/WebCoreSupport/WebVibrationClient.h: 13833 (WebVibrationClient): 13834 138352012-07-19 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 13836 13837 [WK2] Add Vibration API integration to WebContext and WebPage 13838 https://bugs.webkit.org/show_bug.cgi?id=91081 13839 13840 Reviewed by Anders Carlsson. 13841 13842 Integrate Vibration API to WebPage, WebContext and properly route 13843 messages to the WebVibrationProxy. 13844 13845 * UIProcess/API/C/WKContext.cpp: 13846 (WKContextGetVibration): 13847 * UIProcess/API/C/WKContext.h: 13848 * UIProcess/WebContext.cpp: 13849 (WebKit::WebContext::WebContext): 13850 (WebKit::WebContext::~WebContext): 13851 (WebKit::WebContext::disconnectProcess): 13852 (WebKit::WebContext::didReceiveMessage): 13853 * UIProcess/WebContext.h: 13854 (WebKit): 13855 (WebContext): 13856 (WebKit::WebContext::vibrationProxy): 13857 * UIProcess/WebProcessProxy.cpp: 13858 (WebKit::WebProcessProxy::didReceiveMessage): 13859 * WebProcess/WebPage/WebPage.cpp: 13860 (WebKit::WebPage::WebPage): 13861 138622012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com> 13863 13864 [Qt] Enable CSS shaders in Qt (software mode) 13865 https://bugs.webkit.org/show_bug.cgi?id=85140 13866 13867 Reviewed by Simon Hausmann. 13868 13869 Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default. 13870 13871 * UIProcess/API/qt/qwebpreferences.cpp: 13872 (QWebPreferencesPrivate::testAttribute): 13873 (QWebPreferencesPrivate::setAttribute): 13874 * UIProcess/API/qt/qwebpreferences_p_p.h: 13875 138762012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com> 13877 13878 [Qt] Enable CSS shaders in Qt (software mode) 13879 https://bugs.webkit.org/show_bug.cgi?id=85140 13880 13881 Reviewed by Simon Hausmann. 13882 13883 Add CSSCustomFilterEnabled to QWebPreferences. It's disabled by default. 13884 13885 * UIProcess/API/qt/qwebpreferences.cpp: 13886 (QWebPreferencesPrivate::testAttribute): 13887 (QWebPreferencesPrivate::setAttribute): 13888 * UIProcess/API/qt/qwebpreferences_p_p.h: 13889 138902012-07-19 Pierre Rossi <pierre.rossi@gmail.com> 13891 13892 [Qt][WK2] Map the elementRect exposed in QML to the view for popup menu 13893 https://bugs.webkit.org/show_bug.cgi?id=91645 13894 13895 Reviewed by Simon Hausmann. 13896 13897 This way the geometry of the QML item is still sensible even if we panned 13898 and zoomed. 13899 13900 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 13901 (ItemSelectorContextObject): 13902 (WebKit::ItemSelectorContextObject::elementRect): 13903 (WebKit::ItemSelectorContextObject::ItemSelectorContextObject): 13904 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 13905 139062012-07-19 Zoltan Nyul <zoltan.nyul@intel.com> 13907 13908 [EFL][WK2] Using different cache directory for each WTR process 13909 https://bugs.webkit.org/show_bug.cgi?id=91719 13910 13911 Reviewed by Kenneth Rohde Christiansen. 13912 13913 Make sure we return a valid application cache directory in 13914 WebContextEfl. 13915 13916 * UIProcess/efl/WebContextEfl.cpp: 13917 (WebKit::WebContext::applicationCacheDirectory): 13918 139192012-07-18 Christophe Dumez <christophe.dumez@intel.com> 13920 13921 [EFL][WK2] EFL should use DownloadSoup instead of defining DownloadEfl 13922 https://bugs.webkit.org/show_bug.cgi?id=91602 13923 13924 Reviewed by Kenneth Rohde Christiansen. 13925 13926 Reuse WebProcess/Downloads/soup/DownloadSoup.cpp in EFL port 13927 instead of redefining our own DownloadEfl.cpp. The EFL port 13928 is also using libsoup so it is best to avoid code duplication. 13929 13930 * GNUmakefile.am: 13931 * GNUmakefile.list.am: 13932 * PlatformEfl.cmake: 13933 * WebProcess/Downloads/Download.h: 13934 (WebKit): 13935 (Download): 13936 * WebProcess/Downloads/efl/DownloadEfl.cpp: Removed. 13937 * WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp: Added. 13938 (WebKit): 13939 (WebKit::platformDownloadNetworkError): 13940 (WebKit::platformDownloadDestinationError): 13941 * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Removed. 13942 * WebProcess/Downloads/efl/FileDownloaderEfl.h: Removed. 13943 * WebProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp: Added. 13944 (WebKit): 13945 (WebKit::platformDownloadNetworkError): 13946 (WebKit::platformDownloadDestinationError): 13947 * WebProcess/Downloads/soup/DownloadSoup.cpp: Make the code 13948 compile for other ports than GTK. 13949 (WebKit::DownloadClient::didReceiveResponse): 13950 (WebKit::DownloadClient::didReceiveData): 13951 (WebKit::DownloadClient::didFail): 13952 (WebKit::Download::continueWithoutCredential): 13953 (WebKit): 13954 (WebKit::Download::useCredential): 13955 (WebKit::Download::cancelAuthenticationChallenge): 13956 * WebProcess/Downloads/soup/DownloadSoupErrors.h: Added. 13957 (WebKit): 13958 139592012-07-18 Christophe Dumez <christophe.dumez@intel.com> 13960 13961 [WK2] Add C API for Network Information API 13962 https://bugs.webkit.org/show_bug.cgi?id=90762 13963 13964 Reviewed by Kenneth Rohde Christiansen. 13965 13966 Add C API for WKNetworkInfo and WKNetworkInfoManager 13967 so that they can be used by the client. 13968 13969 * CMakeLists.txt: 13970 * GNUmakefile.list.am: 13971 * Target.pri: 13972 * UIProcess/API/C/WKContext.cpp: 13973 (WKContextGetNetworkInfoManager): 13974 * UIProcess/API/C/WKContext.h: 13975 * UIProcess/API/C/WKNetworkInfo.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp. 13976 (WKNetworkInfoGetTypeID): 13977 (WKNetworkInfoCreate): 13978 * UIProcess/API/C/WKNetworkInfo.h: Copied from Source/WebKit2/UIProcess/API/C/WKNetworkInfoManager.cpp. 13979 * UIProcess/API/C/WKNetworkInfoManager.cpp: 13980 (WKNetworkInfoManagerSetProvider): 13981 (WKNetworkInfoManagerProviderDidChangeNetworkInformation): 13982 * UIProcess/API/C/WKNetworkInfoManager.h: 13983 139842012-07-18 Christophe Dumez <christophe.dumez@intel.com> 13985 13986 [EFL][WK2] ewk_cookie_manager_persistent_storage_set is not exported 13987 https://bugs.webkit.org/show_bug.cgi?id=91647 13988 13989 Reviewed by Gustavo Noronha Silva. 13990 13991 Properly export ewk_cookie_manager_persistent_storage_set in 13992 ewk_cookie_manager.h by using EAPI. 13993 13994 * UIProcess/API/efl/ewk_cookie_manager.h: 13995 139962012-07-18 Christophe Dumez <christophe.dumez@intel.com> 13997 13998 [EFL] Add central error management to EFL port 13999 https://bugs.webkit.org/show_bug.cgi?id=91598 14000 14001 Reviewed by Kenneth Rohde Christiansen. 14002 14003 Make use of ErrorsEfl header from WebCore in 14004 WebKit2, for Ewk_Web_Error and WebErrorsEfl. 14005 14006 * UIProcess/API/efl/ewk_web_error.cpp: 14007 (ewk_web_error_type_get): 14008 * UIProcess/API/efl/ewk_web_error.h: 14009 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 14010 (WebKit::cancelledError): 14011 (WebKit::blockedError): 14012 (WebKit::cannotShowURLError): 14013 (WebKit::interruptedForPolicyChangeError): 14014 (WebKit::cannotShowMIMETypeError): 14015 (WebKit::fileDoesNotExistError): 14016 (WebKit::pluginWillHandleLoadError): 14017 140182012-07-18 Thiago Marcos P. Santos <thiago.santos@intel.com> 14019 14020 [EFL] Set a theme for EFL WebKit2 unit test fixture 14021 https://bugs.webkit.org/show_bug.cgi?id=91618 14022 14023 Reviewed by Kenneth Rohde Christiansen. 14024 14025 The test fixture should load the theme generated by the build 14026 instead of trying to load the system theme. 14027 14028 * PlatformEfl.cmake: 14029 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 14030 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 14031 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 14032 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme): 14033 (EWK2UnitTest): 14034 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: 14035 (EWK2UnitTestEnvironment): 14036 140372012-07-18 Pierre Rossi <pierre.rossi@gmail.com> 14038 14039 [Qt] QQuickWebView shouldn't recieve mouse events while dialogs are active 14040 https://bugs.webkit.org/show_bug.cgi?id=91634 14041 14042 Reviewed by Alexis Menard. 14043 14044 One side-effect of reimplementing childMouseEventFilter() in r122438 is that it can end up 14045 bypassing the mouseArea mechanism used in QML dialogs and still forward some mouse events 14046 over to the web process. We can rely on the same m_dialogActive mechanism already used for 14047 touch events in there as well. 14048 14049 * UIProcess/API/qt/qquickwebview.cpp: 14050 (QQuickWebView::childMouseEventFilter): ignore events and return early if a dialog is active. 14051 140522012-07-18 Pierre Rossi <pierre.rossi@gmail.com> 14053 14054 [Qt] Build fix for ENABLE_TOUCH_EVENTS=0 14055 14056 Rubber-stamped by No'am Rosenthal. 14057 14058 Add the appropriate ENABLE(TOUCH_EVENTS) where they're needed. 14059 14060 * UIProcess/API/qt/raw/qrawwebview.cpp: 14061 * UIProcess/API/qt/raw/qrawwebview_p.h: include Platform.h so we can use the ENABLE macro. 14062 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Also add the missing QFile include. 14063 * UIProcess/qt/QtWebPageEventHandler.cpp: 14064 (WebKit::QtWebPageEventHandler::deactivateTapHighlight): 14065 140662012-07-18 Christophe Dumez <christophe.dumez@intel.com> 14067 14068 [EFL][WK2] Add Ewk class for cookie manager 14069 https://bugs.webkit.org/show_bug.cgi?id=91053 14070 14071 Reviewed by Gustavo Noronha Silva. 14072 14073 Add new Ewk_Cookie_Manager class to allow the client 14074 to set/get the cookie acceptance policy, support 14075 persistent cookie storage and clear cookies. 14076 14077 The Ewk_Cookie_Manager instance can be retrieved 14078 from the Ewk_Context API. 14079 14080 * PlatformEfl.cmake: 14081 * UIProcess/API/efl/EWebKit2.h: 14082 * UIProcess/API/efl/ewk_context.cpp: 14083 (_Ewk_Context): 14084 (_Ewk_Context::_Ewk_Context): 14085 (_Ewk_Context::~_Ewk_Context): 14086 (ewk_context_cookie_manager_get): 14087 * UIProcess/API/efl/ewk_context.h: 14088 * UIProcess/API/efl/ewk_cookie_manager.cpp: Added. 14089 (_Ewk_Cookie_Manager): 14090 (_Ewk_Cookie_Manager::_Ewk_Cookie_Manager): 14091 (ewk_cookie_manager_persistent_storage_set): 14092 (ewk_cookie_manager_accept_policy_set): 14093 (Get_Policy_Async_Data): 14094 (getAcceptPolicyCallback): 14095 (ewk_cookie_manager_async_accept_policy_get): 14096 (Get_Hostnames_Async_Data): 14097 (getHostnamesWithCookiesCallback): 14098 (ewk_cookie_manager_async_hostnames_with_cookies_get): 14099 (ewk_cookie_manager_hostname_cookies_clear): 14100 (ewk_cookie_manager_cookies_clear): 14101 (ewk_cookie_manager_free): 14102 (ewk_cookie_manager_new): 14103 * UIProcess/API/efl/ewk_cookie_manager.h: Added. 14104 * UIProcess/API/efl/ewk_cookie_manager_private.h: Added. 14105 141062012-07-18 Carlos Garcia Campos <cgarcia@igalia.com> 14107 14108 [GTK] Add WebKitWebView::submit-form signal to WebKit2 GTK+ API 14109 https://bugs.webkit.org/show_bug.cgi?id=91605 14110 14111 Reviewed by Gustavo Noronha Silva. 14112 14113 The signal is emitted when a form is about to submitted, with a 14114 form submission request that can be used to get the text fields 14115 and to continue the form submission wheh done. 14116 14117 * GNUmakefile.list.am: Add new files to compilation. 14118 * UIProcess/API/gtk/WebKitFormClient.cpp: Added. 14119 (willSubmitForm): Create a WebKitFormSubmissionRequest and call 14120 webkitWebViewSubmitFormRequest() with the request. 14121 (attachFormClientToView): Add impementation for willSubmitForm 14122 callback. 14123 * UIProcess/API/gtk/WebKitFormClient.h: Added. 14124 * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: Added. 14125 (webkit_form_submission_request_init): 14126 (webkitFormSubmissionRequestFinalize): 14127 (webkit_form_submission_request_class_init): 14128 (webkitFormSubmissionRequestCreate): Create a new 14129 WebKitFormSubmissionRequest for the given values dictionary and 14130 submission listener. 14131 (webkit_form_submission_request_get_text_fields): Create a 14132 GHashTable with the text fields values and return it. 14133 (webkit_form_submission_request_submit): Continue the form 14134 submission. 14135 * UIProcess/API/gtk/WebKitFormSubmissionRequest.h: Added. 14136 * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h: Added. 14137 * UIProcess/API/gtk/WebKitWebView.cpp: 14138 (webkitWebViewConstructed): Attach web view to form client. 14139 (webkit_web_view_class_init): Add WebKitWebView::submit-form 14140 signal. 14141 (webkitWebViewSubmitFormRequest): Emit WebKitWebView::submit-form 14142 signal. 14143 * UIProcess/API/gtk/WebKitWebView.h: 14144 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 14145 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 14146 WebKitFormSubmissionRequest. 14147 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 14148 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 14149 (testWebViewSubmitForm): 14150 (beforeAll): 14151 * UIProcess/API/gtk/webkit2.h: Include 14152 WebKitFormSubmissionRequest.h. 14153 141542012-07-18 Carlos Garcia Campos <cgarcia@igalia.com> 14155 14156 [GTK] No main resource in WebView when page has been loaded from history cache 14157 https://bugs.webkit.org/show_bug.cgi?id=91478 14158 14159 Reviewed by Gustavo Noronha Silva. 14160 14161 We are assuming that a resource loaded for the main frame that is 14162 provisionally loading is the main resource of the web view. However 14163 that's not true for pages loaded from history cache, so when you 14164 go back/forward webkit_web_view_get_main_resource() always returns 14165 NULL. We can assume that the first resource loaded for the main 14166 frame is the main resource of the web view when 14167 pageIsProvisionallyLoading is false. 14168 14169 * UIProcess/API/gtk/WebKitWebView.cpp: 14170 (webkitWebViewResourceLoadStarted): Make sure we always have a 14171 main resource for the web view. 14172 * UIProcess/API/gtk/tests/TestResources.cpp: 14173 (testWebViewResourcesHistoryCache): Test we always have a main 14174 resource even after going back/forward. 14175 (beforeAll): Add new test case. 14176 141772012-07-18 Seokju Kwon <seokju.kwon@samsung.com> 14178 14179 [EFL] Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp 14180 https://bugs.webkit.org/show_bug.cgi?id=91585 14181 14182 Reviewed by Andreas Kling. 14183 14184 Rename WebInspectorEfl.cpp as WebInspectorProxyEfl.cpp 14185 since it implements the platform specific methods of WebInspectorProxy. 14186 14187 * PlatformEfl.cmake: 14188 * UIProcess/efl/WebInspectorProxyEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebInspectorEfl.cpp. 14189 (WebKit): 14190 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 14191 (WebKit::WebInspectorProxy::platformOpen): 14192 (WebKit::WebInspectorProxy::platformDidClose): 14193 (WebKit::WebInspectorProxy::platformBringToFront): 14194 (WebKit::WebInspectorProxy::platformIsFront): 14195 (WebKit::WebInspectorProxy::platformInspectedURLChanged): 14196 (WebKit::WebInspectorProxy::inspectorPageURL): 14197 (WebKit::WebInspectorProxy::inspectorBaseURL): 14198 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 14199 (WebKit::WebInspectorProxy::platformAttach): 14200 (WebKit::WebInspectorProxy::platformDetach): 14201 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): 14202 142032012-07-18 Zoltan Horvath <zoltan@webkit.org> 14204 14205 [Qt] Modify the using of the QImage::Format enum to the appropriate functions from NativeImageQt 14206 https://bugs.webkit.org/show_bug.cgi?id=91600 14207 14208 Reviewed by Andreas Kling. 14209 14210 Use NativeImageQt::defaultFormatForAlphaEnabledImages() and NativeImageQt::defaultFormatForOpaqueImages() 14211 instead of the direct imagetypes at the appropriate places. 14212 14213 * Shared/qt/ShareableBitmapQt.cpp: 14214 (WebKit::ShareableBitmap::createQImage): 14215 142162012-07-18 Zeno Albisser <zeno@webkit.org> 14217 14218 [Qt][WK2] Caching of ShareableSurfaces breaks tiling. 14219 https://bugs.webkit.org/show_bug.cgi?id=91609 14220 14221 A ShareableSurface should only be cached, 14222 when it is GraphicsSurface based. 14223 14224 Reviewed by Kenneth Rohde Christiansen. 14225 14226 * UIProcess/LayerTreeCoordinatorProxy.cpp: 14227 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 14228 * UIProcess/LayerTreeCoordinatorProxy.h: 14229 (LayerTreeCoordinatorProxy): 14230 142312012-07-18 Carlos Garcia Campos <cgarcia@igalia.com> 14232 14233 [GTK] Fix a crash due to an invalid assert 14234 https://bugs.webkit.org/show_bug.cgi?id=91614 14235 14236 Reviewed by Xan Lopez. 14237 14238 In webkitWebViewBaseContainerAdd() there's 14239 ASSERT(priv->inspectorView); that should be the opposite, since we 14240 shoulnd't have an inspector view when the inspector view is added. 14241 14242 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 14243 (webkitWebViewBaseContainerAdd): 14244 142452012-07-18 Thiago Marcos P. Santos <thiago.santos@intel.com> 14246 14247 [CMake] Make gtest a shared library 14248 https://bugs.webkit.org/show_bug.cgi?id=90973 14249 14250 Reviewed by Daniel Bates. 14251 14252 No need to link with gtest dependencies now since it is a shared library. 14253 14254 * PlatformEfl.cmake: 14255 142562012-07-18 YoungTaeck Song <youngtaeck.song@samsung.com> 14257 14258 [WK2][EFL] Add a common code using Color instead of QColor 14259 https://bugs.webkit.org/show_bug.cgi?id=91580 14260 14261 Reviewed by Simon Hausmann. 14262 14263 This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation. 14264 drawBorder's argument is QColor. So add a common code using Color to be used by Efl. 14265 14266 * UIProcess/texmap/LayerBackingStore.cpp: 14267 (WebKit::LayerBackingStore::paintToTextureMapper): 14268 142692012-07-17 Christophe Dumez <christophe.dumez@intel.com> 14270 14271 [EFL] Replace 0 by NULL in public headers documentation 14272 https://bugs.webkit.org/show_bug.cgi?id=91470 14273 14274 Reviewed by Dirk Pranke. 14275 14276 Use NULL instead of 0 for pointer types in public 14277 C headers. 14278 14279 * UIProcess/API/efl/ewk_intent.h: 14280 * UIProcess/API/efl/ewk_intent_service.h: 14281 * UIProcess/API/efl/ewk_url_request.h: 14282 * UIProcess/API/efl/ewk_url_response.h: 14283 * UIProcess/API/efl/ewk_view.h: 14284 * UIProcess/API/efl/ewk_web_resource.h: 14285 142862012-07-17 Carlos Garcia Campos <cgarcia@igalia.com> 14287 14288 [GTK] Don't use deprecated soup API in WebKit2APITests/TestResources 14289 https://bugs.webkit.org/show_bug.cgi?id=91496 14290 14291 Reviewed by Martin Robinson. 14292 14293 soup_message_headers_get() is deprecated, use 14294 soup_message_headers_get_one() instead. 14295 14296 * UIProcess/API/gtk/tests/TestResources.cpp: 14297 (serverCallback): 14298 142992012-07-17 Carlos Garcia Campos <cgarcia@igalia.com> 14300 14301 [GTK] Fix a typo in WebKit2APITests/TestResources 14302 https://bugs.webkit.org/show_bug.cgi?id=91495 14303 14304 Reviewed by Xan Lopez. 14305 14306 * UIProcess/API/gtk/tests/TestResources.cpp: 14307 (testWebResourceLoading): 14308 (testWebResourceResponse): 14309 (testWebResourceMimeType): 14310 (testWebResourceActiveURI): 14311 143122012-07-17 Vivek Galatage <vivekgalatage@gmail.com> 14313 14314 Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel. 14315 https://bugs.webkit.org/show_bug.cgi?id=91196 14316 14317 Reviewed by Pavel Feldman. 14318 14319 Refactoring InspectorClients. InspectorClient::openInspectorFrontend 14320 now returning the InspectorFrontendChannel. 14321 14322 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 14323 (WebKit::WebInspectorClient::openInspectorFrontend): 14324 * WebProcess/WebCoreSupport/WebInspectorClient.h: 14325 (WebInspectorClient): 14326 143272012-07-17 Carlos Garcia Campos <cgarcia@igalia.com> 14328 14329 [GTK] Paste primary selection when middle clicking in X11 WebKit2 14330 https://bugs.webkit.org/show_bug.cgi?id=91411 14331 14332 Reviewed by Xan Lopez. 14333 14334 Handle middle click events to paste primary selection as expected 14335 in any X11 application. 14336 14337 * WebProcess/WebPage/WebPage.cpp: 14338 (WebKit::handleMouseEvent): Call handleMousePressedEvent() for GTK+ 14339 platform. 14340 * WebProcess/WebPage/WebPage.h: 14341 (WebPage): Add handleMousePressedEvent() for GTK+ platform. 14342 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 14343 (WebKit::WebPage::handleMousePressedEvent): Handle middle click 14344 events to paste primary selection like we do in WebKit1. 14345 143462012-07-17 Ryuan Choi <ryuan.choi@samsung.com> 14347 14348 [EFL] Move codes related to theme setting from Widget to RenderTheme 14349 https://bugs.webkit.org/show_bug.cgi?id=89842 14350 14351 Reviewed by Kenneth Rohde Christiansen. 14352 14353 * CMakeLists.txt: Added html/shadow to WebKit_INCLUDE_DIRECTORIES. 14354 * WebProcess/WebPage/efl/WebPageEfl.cpp: 14355 (WebKit::WebPage::setThemePath): Called RenderThemeEfl::setThemePath instead of setting theme in FrameView. 14356 143572012-07-17 David Barr <davidbarr@chromium.org> 14358 14359 Introduce ENABLE_CSS_IMAGE_ORIENTATION compile flag 14360 https://bugs.webkit.org/show_bug.cgi?id=89055 14361 14362 Reviewed by Kent Tamura. 14363 14364 The css3-images module is at candidate recommendation. 14365 http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation 14366 14367 Add a configuration option for CSS image-orientation support, disabling it by default. 14368 14369 * Configurations/FeatureDefines.xcconfig: 14370 143712012-07-16 Gyuyoung Kim <gyuyoung.kim@samsung.com> 14372 14373 Add RegisterProtocolHandlerClient to the Modules/protocolhandler 14374 https://bugs.webkit.org/show_bug.cgi?id=90940 14375 14376 Reviewed by Hajime Morita. 14377 14378 As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs 14379 to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for 14380 protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient. 14381 14382 In order to support this, WebRegisterProtocolHandlerClient class is added. However, this is not implemented yet. 14383 In addition, existing virtual functions in WebChromeClient are moved to WebRegisterProtocolHandlerClient. 14384 14385 * WebProcess/WebCoreSupport/WebChromeClient.h: 14386 * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: Added. 14387 (WebKit): 14388 (WebRegisterProtoclHandlerClient): 14389 (WebKit::WebRegisterProtoclHandlerClient::isProtocolHandlerRegistered): 14390 (WebKit::WebRegisterProtoclHandlerClient::unregisterProtocolHandler): 14391 143922012-07-16 Pete Williamson <petewil@google.com> 14393 14394 Export the iconURL list to make it available to the Internals class for testing 14395 https://bugs.webkit.org/show_bug.cgi?id=88665 14396 14397 Reviewed by Kent Tamura. 14398 14399 * win/WebKit2.def: export the DocumentL::iconURLs function 14400 144012012-07-16 Hajime Morrita <morrita@chromium.org> 14402 14403 WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing. 14404 https://bugs.webkit.org/show_bug.cgi?id=90764 14405 14406 Reviewed by Adam Barth. 14407 14408 Removed symbols which are now covered by WEBCORE_TESTING. 14409 14410 * win/WebKit2.def: 14411 * win/WebKit2CFLite.def: 14412 144132012-07-16 Christophe Dumez <christophe.dumez@intel.com> 14414 14415 [EFL][WK2] Implement decidePolicyForResponse in policy client 14416 https://bugs.webkit.org/show_bug.cgi?id=91401 14417 14418 Reviewed by Kenneth Rohde Christiansen. 14419 14420 Provide implementation for decidePolicyForResponse callback 14421 in WebKit2 EFL's policy client. 14422 14423 * UIProcess/API/efl/ewk_view_policy_client.cpp: 14424 (decidePolicyForResponseCallback): 14425 (ewk_view_policy_client_attach): 14426 144272012-07-16 Ryuan Choi <ryuan.choi@samsung.com> 14428 14429 [EFL][WK2] Add APIs to support theme. 14430 https://bugs.webkit.org/show_bug.cgi?id=90107 14431 14432 Reviewed by Hajime Morita. 14433 14434 RenderThemeEfl uses edj file to render native theme of form elements. 14435 This patch provides default theme and a way to change edj theme file for 14436 WebKit2/Efl. 14437 14438 * PlatformEfl.cmake: 14439 * UIProcess/API/efl/ewk_view.cpp: 14440 (_Ewk_View_Private_Data): 14441 (ewk_view_base_add): 14442 (ewk_view_theme_set): 14443 (ewk_view_theme_get): 14444 * UIProcess/API/efl/ewk_view.h: 14445 * UIProcess/WebPageProxy.h: 14446 (WebPageProxy): 14447 * UIProcess/efl/WebPageProxyEfl.cpp: 14448 (WebKit::WebPageProxy::setThemePath): 14449 * WebProcess/WebPage/WebPage.h: 14450 * WebProcess/WebPage/WebPage.messages.in: 14451 * WebProcess/WebPage/efl/WebPageEfl.cpp: 14452 (WebKit::WebPage::setThemePath): 14453 144542012-07-16 Kihong Kwon <kihong.kwon@samsung.com> 14455 14456 Remove setController from BatteryClient 14457 https://bugs.webkit.org/show_bug.cgi?id=90944 14458 14459 Reviewed by Adam Barth. 14460 14461 Remove WebBatteryClient::setController function. 14462 14463 * WebProcess/WebCoreSupport/WebBatteryClient.cpp: 14464 * WebProcess/WebCoreSupport/WebBatteryClient.h: 14465 (WebBatteryClient): 14466 144672012-07-16 Christophe Dumez <christophe.dumez@intel.com> 14468 14469 [EFL][WK2] Make Ewk_Navigation_Policy_Decision ref counted 14470 https://bugs.webkit.org/show_bug.cgi?id=91343 14471 14472 Reviewed by Antonio Gomes. 14473 14474 Make Ewk_Navigation_Policy_Decision ref counted so that the 14475 client can make navigation policy decisions asynchronously 14476 by ref'ing the Ewk_Navigation_Policy_Decision object passed 14477 with the "policy,*" signals. 14478 14479 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 14480 (_Ewk_Navigation_Policy_Decision): 14481 (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision): 14482 (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision): 14483 (ewk_navigation_policy_decision_ref): 14484 (ewk_navigation_policy_decision_unref): 14485 * UIProcess/API/efl/ewk_navigation_policy_decision.h: 14486 * UIProcess/API/efl/ewk_view.h: 14487 * UIProcess/API/efl/ewk_view_policy_client.cpp: 14488 (decidePolicyForNavigationAction): 14489 (decidePolicyForNewWindowAction): 14490 144912012-07-16 Zoltan Horvath <zoltan@webkit.org> 14492 14493 [Qt] Change NativeImagePtr from QPixmap* to QImage* 14494 https://bugs.webkit.org/show_bug.cgi?id=88785 14495 14496 Reviewed by Simon Hausmann. 14497 14498 Since we use raster engine there is no difference between QPixmap and QImage, so we are going 14499 to use QImage everywhere where it is possible. This refactoring contains the change of the 14500 NativeImagePtr typedef from QPixmap* to QImage* and covers the related modifications. 14501 14502 Part of the change is similar to Viatcheslav Ostapenko's internal work. 14503 14504 Covered by existing tests. 14505 14506 * Shared/qt/ShareableBitmapQt.cpp: 14507 (WebKit::ShareableBitmap::createImage): 14508 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 14509 (WebKit::QtWebIconDatabaseClient::iconImageForPageURL): 14510 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: 14511 (WebKit::convertQImageToShareableBitmap): 14512 (WebKit::WebDragClient::startDrag): 14513 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 14514 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 14515 145162012-07-16 Carlos Garcia Campos <cgarcia@igalia.com> 14517 14518 Unreviewed. Fix make distcheck. 14519 14520 * UIProcess/API/gtk/tests/GNUmakefile.am: Add test resources to 14521 EXTRA_DIST. 14522 145232012-07-15 Christophe Dumez <christophe.dumez@intel.com> 14524 14525 [EFL][WK2] Define destructors for Ewk structures 14526 https://bugs.webkit.org/show_bug.cgi?id=91338 14527 14528 Reviewed by Kentaro Hara. 14529 14530 Add destructors to Ewk structures and move 14531 memory freeing code from *_free() or *_unref() 14532 functions to the destructors. 14533 14534 * UIProcess/API/efl/ewk_intent.cpp: 14535 (_Ewk_Intent::_Ewk_Intent): 14536 (_Ewk_Intent): 14537 (_Ewk_Intent::~_Ewk_Intent): 14538 (ewk_intent_unref): 14539 * UIProcess/API/efl/ewk_intent_service.cpp: 14540 (_Ewk_Intent_Service): 14541 (_Ewk_Intent_Service::~_Ewk_Intent_Service): 14542 (ewk_intent_service_unref): 14543 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 14544 (_Ewk_Navigation_Policy_Decision): 14545 (_Ewk_Navigation_Policy_Decision::~_Ewk_Navigation_Policy_Decision): 14546 (ewk_navigation_policy_decision_free): 14547 * UIProcess/API/efl/ewk_url_request.cpp: 14548 (_Ewk_Url_Request): 14549 (_Ewk_Url_Request::~_Ewk_Url_Request): 14550 (ewk_url_request_unref): 14551 * UIProcess/API/efl/ewk_url_response.cpp: 14552 (_Ewk_Url_Response): 14553 (_Ewk_Url_Response::~_Ewk_Url_Response): 14554 (ewk_url_response_unref): 14555 * UIProcess/API/efl/ewk_view.cpp: 14556 (_Ewk_View_Private_Data): 14557 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data): 14558 (_ewk_view_priv_del): 14559 * UIProcess/API/efl/ewk_web_error.cpp: 14560 (_Ewk_Web_Error): 14561 (_Ewk_Web_Error::~_Ewk_Web_Error): 14562 (ewk_web_error_free): 14563 * UIProcess/API/efl/ewk_web_resource.cpp: 14564 (_Ewk_Web_Resource): 14565 (_Ewk_Web_Resource::~_Ewk_Web_Resource): 14566 (ewk_web_resource_unref): 14567 145682012-07-14 Eric Carlson <eric.carlson@apple.com> 14569 14570 Enable AVCF hardware video decoding 14571 https://bugs.webkit.org/show_bug.cgi?id=90015 14572 <rdar://problem/10770317> 14573 14574 Reviewed by Anders Carlsson. 14575 14576 * DerivedSources.make: Define HAVE_AVCF if necessary. 14577 14578 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14579 (WebKit): 14580 (WebKit::WebChromeClient::graphicsDeviceAdapter): New, return the layer tree host's 14581 graphics adapter. 14582 * WebProcess/WebCoreSupport/WebChromeClient.h: 14583 (WebChromeClient): 14584 * WebProcess/WebPage/LayerTreeHost.h: 14585 (WebCore): 14586 (LayerTreeHost): 14587 (WebKit::LayerTreeHost::graphicsDeviceAdapter): New, default implementation. 14588 14589 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: 14590 (LayerTreeHostCAWin): 14591 145922012-07-13 Thiago Marcos P. Santos <thiago.santos@intel.com> 14593 14594 [CMake] Proper handling of ENABLE_API_TESTS build option 14595 https://bugs.webkit.org/show_bug.cgi?id=91221 14596 14597 Reviewed by Rob Buis. 14598 14599 Build unit tests only if ENABLE_API_TESTS is set. 14600 14601 * PlatformEfl.cmake: 14602 146032012-07-13 Christophe Dumez <christophe.dumez@intel.com> 14604 14605 [EFL][WK2] Make new public Ewk headers as installable 14606 https://bugs.webkit.org/show_bug.cgi?id=91232 14607 14608 Reviewed by Antonio Gomes. 14609 14610 Make new public Ewk headers installable. 14611 14612 * PlatformEfl.cmake: 14613 146142012-07-13 Carlos Garcia Campos <cgarcia@igalia.com> 14615 14616 [GTK] Implement disk cache in WebKit2 14617 https://bugs.webkit.org/show_bug.cgi?id=90797 14618 14619 Reviewed by Xan Lopez. 14620 14621 * WebProcess/gtk/WebProcessGtk.cpp: 14622 (WebKit::getCacheDiskFreeSize): Use an ASSERT instead of an early 14623 return since the cache feature is now always added to the session. 14624 (WebKit::WebProcess::platformSetCacheModel): Get the cache from 14625 the session and set the maximum cache size as computed by 14626 calculateCacheSizes(). 14627 (WebKit::WebProcess::platformClearResourceCaches): Call 14628 soup_cache_clear(). 14629 (WebKit::WebProcess::platformTerminate): Make sure all pending 14630 data is saved to the disk before the web process finishes. 14631 * WebProcess/gtk/WebProcessMainGtk.cpp: 14632 (WebKit::WebProcessMainGtk): Create a SoupCache feature and add it 14633 to the default SoupSession. 14634 146352012-07-13 Carlos Garcia Campos <cgarcia@igalia.com> 14636 14637 [GTK] Fix disk cache size computation in WebKit2 14638 https://bugs.webkit.org/show_bug.cgi?id=91226 14639 14640 Reviewed by Xan Lopez. 14641 14642 We are passing the free disk space value in bytes to 14643 calculateCacheSizes() which expects values in MB. 14644 14645 * WebProcess/gtk/WebProcessGtk.cpp: 14646 (WebKit::WebProcess::platformSetCacheModel): 14647 146482012-07-13 Carlos Garcia Campos <cgarcia@igalia.com> 14649 14650 [GTK] WebKit2 crash when going back/forward 14651 https://bugs.webkit.org/show_bug.cgi?id=91220 14652 14653 Reviewed by Xan Lopez. 14654 14655 For some reason when a page is loaded from the backforward list, 14656 when the didCommitLoadForFrame callback is called for the main 14657 frame, the callback didInitiateLoadForResource hasn't been called 14658 yet, so we don't even have a main resource at that point. We were 14659 assuming we always had a main resource with a response. For now we 14660 just check whether we have a resource before trying to set the 14661 certificate to fix the crash, but we need to figue out why this is 14662 happening an how to properly fix it. 14663 14664 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 14665 (didCommitLoadForFrame): Check whether we have a main resource 14666 before setting the certificate. 14667 146682012-07-13 Christophe Dumez <christophe.dumez@intel.com> 14669 14670 [EFL][WK2] Use eina stringsharing for Ewk_Web_Resource's url 14671 https://bugs.webkit.org/show_bug.cgi?id=91200 14672 14673 Reviewed by Kenneth Rohde Christiansen. 14674 14675 Use eina stringsharing for Ewk_Web_Resource's url 14676 for consistency. 14677 14678 * UIProcess/API/efl/ewk_web_resource.cpp: 14679 (_Ewk_Web_Resource): 14680 (_Ewk_Web_Resource::_Ewk_Web_Resource): 14681 (ewk_web_resource_unref): 14682 (ewk_web_resource_url_get): 14683 * UIProcess/API/efl/ewk_web_resource.h: 14684 146852012-07-13 Carlos Garcia Campos <cgarcia@igalia.com> 14686 14687 [GTK] WebKitWebView::mouse-target-changed is not emitted when moved to/from edtiable content 14688 https://bugs.webkit.org/show_bug.cgi?id=91216 14689 14690 Reviewed by Xan Lopez. 14691 14692 The problem is that the function to check whether two hit test 14693 results are equal doesn't check the editable flag. 14694 14695 * UIProcess/API/gtk/WebKitHitTestResult.cpp: 14696 (webkitHitTestResultCompare): Check also the editable flag. 14697 146982012-07-13 Gyuyoung Kim <gyuyoung.kim@samsung.com> 14699 14700 [EFL] Add *explicit* keyword to constructor which has a parameter 14701 https://bugs.webkit.org/show_bug.cgi?id=91207 14702 14703 Reviewed by Zoltan Herczeg. 14704 14705 Add *explicit* keyword to contructor which has a parameter in order to avoid implicit type conversion. 14706 14707 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: 14708 (WebFrameNetworkingContext::WebFrameNetworkingContext): 14709 147102012-07-13 Zeno Albisser <zeno@webkit.org> 14711 14712 [Qt][WK2] Implement GraphicsSurface for Linux/GLX. 14713 https://bugs.webkit.org/show_bug.cgi?id=90881 14714 14715 Add a GLX based GraphicsSurface implementation for Linux. 14716 14717 Reviewed by Noam Rosenthal. 14718 14719 * Shared/ShareableSurface.cpp: 14720 (WebKit::ShareableSurface::create): 14721 Only create a GraphicsSurface from a ShareableSurface::Handle 14722 in case the Handle contains a valid GraphicsSurface token. 14723 Otherwise fall back to creating a ShareableBitmap. 14724 * UIProcess/LayerTreeCoordinatorProxy.cpp: 14725 (WebKit::createLayerTileUniqueKey): 14726 Create a unique key for a surface based on tileID and layerID. 14727 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 14728 Even when GraphicsSurface is enabled, not all ShareableSurfaces 14729 will necessarily be backed by a GraphicsSurface. In case of 14730 a ShareableSurface being backed by a ShareableBitmap instead, 14731 the GraphicsSurface token will always be null. 14732 So instead of using the GraphicsSurface token as a key for 14733 storing surfaces in a map, we create a unique key from 14734 layerID and tileID. 14735 * UIProcess/LayerTreeCoordinatorProxy.h: 14736 (LayerTreeCoordinatorProxy): 14737 147382012-07-12 Carlos Garcia Campos <cgarcia@igalia.com> 14739 14740 [GTK] Add API to get HTTPS status to WebKit2 GTK+ 14741 https://bugs.webkit.org/show_bug.cgi?id=91100 14742 14743 Reviewed by Martin Robinson. 14744 14745 Add webkit_uri_response_get_https_status() to return 14746 GTlsCertificate and GTlsCertificateFlags with information about 14747 the SSL certificate and the possible errors with the certificate. 14748 14749 * GNUmakefile.list.am: Add new files to compilation. 14750 * PlatformEfl.cmake: Ditto. 14751 * Shared/efl/PlatformCertificateInfo.h: Removed. 14752 * Shared/soup/PlatformCertificateInfo.cpp: Added. 14753 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 14754 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): 14755 (WebKit::PlatformCertificateInfo::encode): Encode the 14756 GTlsCertificate and GTlsCertificateFlags. 14757 (WebKit::PlatformCertificateInfo::decode): Decode 14758 PlatformCertificateInfo into a GTlsCertificate and GTlsCertificateFlags. 14759 * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebKit2/Shared/gtk/PlatformCertificateInfo.h. 14760 (WebKit::PlatformCertificateInfo::certificate): Return the certificate. 14761 (WebKit::PlatformCertificateInfo::tlsErrors): Return the TLS errors 14762 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 14763 (didCommitLoadForFrame): Set the certificate of the current frame 14764 to the response of the main resource. 14765 * UIProcess/API/gtk/WebKitURIResponse.cpp: 14766 (webkit_uri_response_get_https_status): Return GTlsCertificate and 14767 GTlsCertificateFlags. 14768 (webkitURIResponseSetCertificateInfo): Update the internal 14769 ResourceResponse with the GTlsCertificate and GTlsCertificateFlags 14770 of the given PlatformCertificateInfo. 14771 * UIProcess/API/gtk/WebKitURIResponse.h: 14772 * UIProcess/API/gtk/WebKitURIResponsePrivate.h: 14773 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 14774 * UIProcess/API/gtk/tests/GNUmakefile.am: 14775 * UIProcess/API/gtk/tests/TestMain.h: 14776 (Test::getResourcesDir): Helper function to get the resources 14777 directory of the WebKit2 API tests. 14778 * UIProcess/API/gtk/tests/TestSSL.cpp: Added. 14779 (testSSL): 14780 (serverCallback): 14781 (beforeAll): 14782 (afterAll): 14783 * UIProcess/API/gtk/tests/WebKitTestServer.cpp: 14784 (WebKitTestServer::WebKitTestServer): Add support por SSL test 14785 servers. 14786 * UIProcess/API/gtk/tests/WebKitTestServer.h: 14787 (WebKitTestServer): Add ssl parameter to create a HTTPS server. 14788 * UIProcess/API/gtk/tests/resources/test-cert.pem: Added. 14789 * UIProcess/API/gtk/tests/resources/test-key.pem: Added. 14790 147912012-07-12 Christophe Dumez <christophe.dumez@intel.com> 14792 14793 [WK2][EFL] Facilitate debugging of the Web Process 14794 https://bugs.webkit.org/show_bug.cgi?id=90768 14795 14796 Reviewed by Kenneth Rohde Christiansen. 14797 14798 The EFL port now checks if the WEB_PROCESS_CMD_PREFIX 14799 environment variable is set and uses it as prefix 14800 when spawning the Web process if it is. This is used 14801 for debugging purposes with prefixes such as: 14802 "xterm -title renderer -e gdb --args". 14803 14804 * UIProcess/Launcher/ProcessLauncher.h: 14805 (LaunchOptions): 14806 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 14807 (WebKit::ProcessLauncher::launchProcess): 14808 * UIProcess/WebProcessProxy.cpp: 14809 (WebKit::WebProcessProxy::connect): 14810 148112012-07-12 Timothy Hatcher <timothy@apple.com> 14812 14813 Make the "Inspect Element" context menu item appear in nightly builds again. 14814 14815 https://webkit.org/b/89323 14816 14817 Reviewed by Anders Carlsson. 14818 14819 * Shared/API/c/WKContextMenuItem.cpp: 14820 (compatibleContextMenuItemTag): Added. Checks for the specific version of Safari 6 that needs the 14821 tag fixed up to match values it expects. 14822 (WKContextMenuItemGetTag): On Mac platforms call compatibleContextMenuItemTag to fix up the tag 14823 before returning it. 14824 * Shared/API/c/WKContextMenuItemTypes.h: Fix the order of the WKContextMenuItemTag enum 14825 to be binary compatible with older versions of WebKit2. 14826 148272012-07-12 Thiago Marcos P. Santos <thiago.santos@intel.com> 14828 14829 [EFL] Port the test framework to WebKit 2 14830 https://bugs.webkit.org/show_bug.cgi?id=90606 14831 14832 Reviewed by Kenneth Rohde Christiansen. 14833 14834 This port of EFL's WebKit 1 test framework uses a more gtest-ish 14835 way of writing tests and it is based on a test fixture that loads a 14836 page synchronously as convenience (if needed). This base fixture can be 14837 easily extended by just inheriting from it. 14838 14839 * PlatformEfl.cmake: 14840 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: Added. 14841 (EWK2UnitTest): 14842 (EWK2UnitTest::onLoadProgress): 14843 (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase): 14844 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 14845 (EWK2UnitTest::EWK2UnitTestBase::TearDown): 14846 (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync): 14847 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added. 14848 (EWK2UnitTest): 14849 (EWK2UnitTestBase): 14850 (EWK2UnitTest::EWK2UnitTestBase::setLoadProgress): 14851 (EWK2UnitTest::EWK2UnitTestBase::webView): 14852 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added. 14853 (EWK2UnitTest): 14854 (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment): 14855 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl): 14856 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: Added. 14857 (EWK2UnitTest): 14858 (EWK2UnitTestEnvironment): 14859 (EWK2UnitTest::EWK2UnitTestEnvironment::useX11Window): 14860 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultWidth): 14861 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultHeight): 14862 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp: Added. 14863 (parseArguments): 14864 (main): 14865 * UIProcess/API/efl/tests/resources/default_test_page.html: Added. 14866 * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added. 14867 (TEST_F): 14868 148692012-07-12 Christophe Dumez <christophe.dumez@intel.com> 14870 14871 [WK2] Add missing Network Information API integration to WebContext and WebPage 14872 https://bugs.webkit.org/show_bug.cgi?id=90781 14873 14874 Reviewed by Anders Carlsson. 14875 14876 Integrate Network Information API to WebPage, WebContext and 14877 properly route messages to the WebNetworkInfoManagerProxy. 14878 Without this, the Network Information tests are crashing for 14879 WebKit2. 14880 14881 * UIProcess/WebContext.cpp: 14882 (WebKit::WebContext::WebContext): 14883 (WebKit::WebContext::~WebContext): 14884 (WebKit::WebContext::disconnectProcess): 14885 (WebKit::WebContext::didReceiveMessage): 14886 (WebKit::WebContext::didReceiveSyncMessage): 14887 * UIProcess/WebContext.h: 14888 (WebKit): 14889 (WebContext): 14890 (WebKit::WebContext::networkInfoManagerProxy): 14891 * UIProcess/WebNetworkInfoManagerProxy.cpp: 14892 (WebKit::WebNetworkInfoManagerProxy::didReceiveSyncMessage): 14893 (WebKit): 14894 * UIProcess/WebNetworkInfoManagerProxy.h: 14895 (WebNetworkInfoManagerProxy): 14896 * UIProcess/WebProcessProxy.cpp: 14897 (WebKit::WebProcessProxy::didReceiveMessage): 14898 (WebKit::WebProcessProxy::didReceiveSyncMessage): 14899 * WebProcess/WebPage/WebPage.cpp: 14900 (WebKit::WebPage::WebPage): 14901 149022012-07-12 No'am Rosenthal <noam.rosenthal@nokia.com> 14903 14904 Move TextureMapperAnimation and texmap/LayerTransform to platform/graphics 14905 https://bugs.webkit.org/show_bug.cgi?id=91111 14906 14907 Reviewed by Kenneth Rohde Christiansen. 14908 14909 Include the new filenames. 14910 14911 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: 14912 (WebGraphicsLayer): 14913 149142012-07-12 Adenilson Cavalcanti <cavalcantii@gmail.com> 14915 14916 [Qt][WK2] Implement web notifications support 14917 https://bugs.webkit.org/show_bug.cgi?id=80702 14918 14919 Reviewed by Noam Rosenthal. 14920 14921 Adding a new type of permission request for Desktop Notifications (plus required code 14922 to register the handle for this requests). 14923 14924 * UIProcess/API/qt/qwebpermissionrequest.cpp: 14925 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate): 14926 (QWebPermissionRequestPrivate): 14927 (QWebPermissionRequest::create): 14928 (QWebPermissionRequest::QWebPermissionRequest): 14929 (QWebPermissionRequest::setAllow): 14930 * UIProcess/API/qt/qwebpermissionrequest_p.h: 14931 * UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Added. 14932 * UIProcess/API/qt/tests/qmltests/common/notification.html: Added. 14933 * UIProcess/qt/QtWebPageUIClient.cpp: 14934 (WebKit::QtWebPageUIClient::QtWebPageUIClient): 14935 (WebKit::QtWebPageUIClient::policyForNotificationPermissionRequest): 14936 (WebKit): 14937 * UIProcess/qt/QtWebPageUIClient.h: 14938 149392012-07-12 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 14940 14941 [EFL][WK2] Browser crashes running BatteryStatus tests. 14942 https://bugs.webkit.org/show_bug.cgi?id=91065 14943 14944 Reviewed by Kentaro Hara. 14945 14946 clientInfo was incorrectly casted to BatteryProviderEfl in helper 14947 function. This patch fixes the issue. 14948 14949 * UIProcess/API/efl/BatteryProvider.cpp: 14950 (toBatteryProvider): 14951 149522012-07-12 Christophe Dumez <christophe.dumez@intel.com> 14953 14954 [EFL] [WK2] regression(r122411) Crashes in Ewk_View 14955 https://bugs.webkit.org/show_bug.cgi?id=91068 14956 14957 Reviewed by Kentaro Hara. 14958 14959 Avoid using calloc() to allocate memory for structures 14960 and use new operator instead. calloc() causes unwanted 14961 behavior when allocing a structure which contains 14962 non-pointer types (e.g. a HashMap) and leads to 14963 crashes. 14964 14965 * UIProcess/API/efl/ewk_context.cpp: 14966 (_Ewk_Context::_Ewk_Context): 14967 * UIProcess/API/efl/ewk_intent.cpp: 14968 (_Ewk_Intent): 14969 (_Ewk_Intent::_Ewk_Intent): 14970 (ewk_intent_unref): 14971 (ewk_intent_new): 14972 * UIProcess/API/efl/ewk_intent_service.cpp: 14973 (_Ewk_Intent_Service): 14974 (_Ewk_Intent_Service::_Ewk_Intent_Service): 14975 (ewk_intent_service_unref): 14976 (ewk_intent_service_new): 14977 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 14978 (_Ewk_Navigation_Policy_Decision): 14979 (_Ewk_Navigation_Policy_Decision::_Ewk_Navigation_Policy_Decision): 14980 (ewk_navigation_policy_decision_free): 14981 (ewk_navigation_policy_decision_new): 14982 * UIProcess/API/efl/ewk_url_request.cpp: 14983 (_Ewk_Url_Request): 14984 (_Ewk_Url_Request::_Ewk_Url_Request): 14985 (ewk_url_request_unref): 14986 (ewk_url_request_new): 14987 * UIProcess/API/efl/ewk_url_response.cpp: 14988 (_Ewk_Url_Response): 14989 (_Ewk_Url_Response::_Ewk_Url_Response): 14990 (ewk_url_response_unref): 14991 (ewk_url_response_new): 14992 * UIProcess/API/efl/ewk_view.cpp: 14993 (_Ewk_View_Private_Data): 14994 (_Ewk_View_Private_Data::_Ewk_View_Private_Data): 14995 (_ewk_view_priv_new): 14996 (_ewk_view_priv_del): 14997 * UIProcess/API/efl/ewk_web_error.cpp: 14998 (_Ewk_Web_Error): 14999 (_Ewk_Web_Error::_Ewk_Web_Error): 15000 (ewk_web_error_free): 15001 (ewk_web_error_new): 15002 * UIProcess/API/efl/ewk_web_resource.cpp: 15003 (_Ewk_Web_Resource): 15004 (_Ewk_Web_Resource::_Ewk_Web_Resource): 15005 (ewk_web_resource_unref): 15006 (ewk_web_resource_new): 15007 150082012-07-11 Andras Becsi <andras.becsi@nokia.com> 15009 15010 [Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded() 15011 https://bugs.webkit.org/show_bug.cgi?id=90875 15012 15013 Reviewed by Kenneth Rohde Christiansen. 15014 15015 Since MultiPointTouchArea and PinchArea use the childMouseEventFilter 15016 method to filter touch events and because Flickable filters child mouse 15017 events the canvas calls this function before propagating the touch event 15018 to the WebView. Since Flickable does not accept touch events the canvas 15019 tries to propagate a synthesized mouse event through the base class 15020 childMouseEventFilter function which is accepted by Flickable and 15021 interferes with the input events we send to Flicakble hence messes up 15022 the internal state of the WebView. 15023 This patch reimplements the virtual childMouseEventFilter method so that all 15024 the mouse and touch events can be processed by WebKit before they arrive to 15025 Flickable. 15026 15027 * UIProcess/API/qt/qquickwebview.cpp: 15028 (QQuickWebView::childMouseEventFilter): 15029 * UIProcess/API/qt/qquickwebview_p.h: 15030 150312012-07-12 Carlos Garcia Campos <cgarcia@igalia.com> 15032 15033 Unreviewed. Fix GTK+ debug build after r122425. 15034 15035 * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: 15036 (webkitSoupCookieJarSqliteNew): 15037 150382012-07-12 Sergio Villar Senin <svillar@igalia.com> 15039 15040 [WK2] Performance issue in FindController::findString 15041 https://bugs.webkit.org/show_bug.cgi?id=78132 15042 15043 Reviewed by Anders Carlsson. 15044 15045 FindController should not unmark all text matches by default. It 15046 will be done only if the string is not found or if 15047 markAllTextMatches() is called. This will allow clients to look 15048 for the next/previous without having to unmark() + mark() all the 15049 text matches for every single search operation. 15050 15051 * UIProcess/API/gtk/WebKitFindController.cpp: 15052 (webKitFindControllerPerform): 15053 (webkit_find_controller_search_next): 15054 (webkit_find_controller_search_previous): 15055 * WebProcess/WebPage/FindController.cpp: 15056 (WebKit::FindController::updateFindUIAfterPageScroll): 15057 (WebKit::FindController::findString): 15058 150592012-07-12 Christophe Dumez <christophe.dumez@intel.com> 15060 15061 [WK2][EFL] Add policy client to Ewk_View 15062 https://bugs.webkit.org/show_bug.cgi?id=90953 15063 15064 Reviewed by Kenneth Rohde Christiansen. 15065 15066 Emit new "policy,decision,navigation" and "policy,decision,new,window" 15067 on the Ewk_View when policy decisions should be taken by the client. 15068 15069 A new Ewk_Navigation_Policy_Decision type is introduced to provide 15070 information about the navigation request and make a decision. 15071 By default, the navigation request is accepted. 15072 15073 * PlatformEfl.cmake: 15074 * UIProcess/API/efl/EWebKit2.h: 15075 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: Added. 15076 (_Ewk_Navigation_Policy_Decision): 15077 (ewk_navigation_policy_decision_free): 15078 (ewk_navigation_policy_navigation_type_get): 15079 (ewk_navigation_policy_mouse_button_get): 15080 (ewk_navigation_policy_modifiers_get): 15081 (ewk_navigation_policy_frame_name_get): 15082 (ewk_navigation_policy_request_get): 15083 (ewk_navigation_policy_decision_accept): 15084 (ewk_navigation_policy_decision_reject): 15085 (ewk_navigation_policy_decision_download): 15086 (ewk_navigation_policy_decision_new): 15087 * UIProcess/API/efl/ewk_navigation_policy_decision.h: Added. 15088 * UIProcess/API/efl/ewk_navigation_policy_decision_private.h: Added. 15089 * UIProcess/API/efl/ewk_private.h: Added. 15090 * UIProcess/API/efl/ewk_view.cpp: 15091 (ewk_view_base_add): 15092 (ewk_view_navigation_policy_decision): 15093 (ewk_view_new_window_policy_decision): 15094 * UIProcess/API/efl/ewk_view.h: 15095 * UIProcess/API/efl/ewk_view_policy_client.cpp: Added. 15096 (toEwkView): 15097 (decidePolicyForNavigationAction): 15098 (decidePolicyForNewWindowAction): 15099 (ewk_view_policy_client_attach): 15100 * UIProcess/API/efl/ewk_view_policy_client_private.h: Added. 15101 * UIProcess/API/efl/ewk_view_private.h: 15102 151032012-07-11 Carlos Garcia Campos <cgarcia@igalia.com> 15104 15105 [GTK] Add webkit_cookie_manager_set_persistent_storage() to WebKit2 GTK+ API 15106 https://bugs.webkit.org/show_bug.cgi?id=83016 15107 15108 Reviewed by Martin Robinson. 15109 15110 Add a custom implementation of SoupCookieJarSqlite based on 15111 libsoup code but using WebCore SQLite classes. SoupCookieJarSqlite 15112 is part of libsoup-gnome, it's not a lot of code and it doesn't 15113 change often, so it's better to simply have our own implementation 15114 instead of making this important feature depend on an optional 15115 dependency. There are plans to move the implementation to libsoup, 15116 if that eventually happens we will remove our code to use libsoup 15117 directly. 15118 15119 * GNUmakefile.am: Add new dirs to include path. 15120 * GNUmakefile.list.am: Add new files to compilation. 15121 * PlatformEfl.cmake: Ditto. 15122 * Shared/soup/SoupCookiePersistentStorageType.h: Added. 15123 * UIProcess/API/gtk/WebKitCookieManager.cpp: 15124 (webkit_cookie_manager_set_persistent_storage): Set a persistent 15125 storage for cookies. 15126 * UIProcess/API/gtk/WebKitCookieManager.h: 15127 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols 15128 * UIProcess/API/gtk/tests/TestCookieManager.cpp: 15129 (testCookieManagerPersistentStorage): 15130 (serverCallback): 15131 (beforeAll): 15132 (afterAll): 15133 * UIProcess/WebCookieManagerProxy.h: 15134 (WebCookieManagerProxy): Add setCookiePersistentStorage() method 15135 when using soup. 15136 * UIProcess/soup/WebCookieManagerProxySoup.cpp: Added. 15137 (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): Send 15138 SetCookiePersistentStorage message to the web process. 15139 * WebProcess/Cookies/WebCookieManager.h: 15140 (WebCookieManager): Add setCookiePersistentStorage() method when 15141 using soup. 15142 * WebProcess/Cookies/WebCookieManager.messages.in: Add 15143 SetCookiePersistentStorage message when using soup. 15144 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: 15145 (WebKit::WebCookieManager::setCookiePersistentStorage): Create a 15146 new cookie jar for the given filename and storage type and add it 15147 to the soup session. 15148 * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp: Added. 15149 (webkitSoupCookieJarSqliteOpenDatabase): Open SQLite database. 15150 (webkitSoupCookieJarSqliteCreateTable): Create moz_cookies if it 15151 doesn't exist. 15152 (webkitSoupCookieJarSqliteLoad): Load the initial set of cookies 15153 from the database. 15154 (webkitSoupCookieJarSqliteInsertCookie): Insert a new cookie into 15155 the database. 15156 (webkitSoupCookieJarSqliteDeleteCookie): Delete an exising cookie 15157 from the database. 15158 (webkitSoupCookieJarSqliteChanged): Insert/delete cookies 15159 depending on the change. 15160 (webkitSoupCookieJarSqliteFinalize): 15161 (webkit_soup_cookie_jar_sqlite_init): 15162 (webkit_soup_cookie_jar_sqlite_class_init): 15163 (webkitSoupCookieJarSqliteNew): 15164 * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h: Added. 15165 151662012-07-11 Christophe Dumez <christophe.dumez@intel.com> 15167 15168 [WK2][EFL] Ewk_View should provide more resource loading notifications 15169 https://bugs.webkit.org/show_bug.cgi?id=90601 15170 15171 Reviewed by Antonio Gomes. 15172 15173 Add new "resource,request,sent", "resource,request,response", 15174 "resource,request,failed" and "resource,request,finished" to 15175 Ewk_View in order to notify the clients of the main resource 15176 load state changes. 15177 15178 Introduce new Ewk_Url_Response type that is used to provide 15179 information to the clients regarding the resource load 15180 responses that are received. 15181 15182 * PlatformEfl.cmake: 15183 * UIProcess/API/efl/EWebKit2.h: 15184 * UIProcess/API/efl/ewk_url_response.cpp: Added. 15185 (_Ewk_Url_Response): 15186 (ewk_url_response_ref): 15187 (ewk_url_response_unref): 15188 (ewk_url_response_url_get): 15189 (ewk_url_response_status_code_get): 15190 (ewk_url_response_mime_type_get): 15191 (ewk_url_response_new): 15192 * UIProcess/API/efl/ewk_url_response.h: Added. 15193 * UIProcess/API/efl/ewk_url_response_private.h: Added. 15194 * UIProcess/API/efl/ewk_view.cpp: 15195 (_Ewk_View_Private_Data): 15196 (ewk_view_resource_load_initiated): 15197 (ewk_view_resource_load_response): 15198 (ewk_view_resource_load_failed): 15199 (ewk_view_resource_load_finished): 15200 (ewk_view_resource_request_sent): 15201 (ewk_view_load_provisional_started): 15202 * UIProcess/API/efl/ewk_view.h: 15203 * UIProcess/API/efl/ewk_view_private.h: 15204 * UIProcess/API/efl/ewk_view_resource_load_client.cpp: 15205 (toEwkView): 15206 (didInitiateLoadForResource): 15207 (didSendRequestForResource): 15208 (didReceiveResponseForResource): 15209 (didFinishLoadForResource): 15210 (didFailLoadForResource): 15211 (ewk_view_resource_load_client_attach): 15212 152132012-07-11 Mark Rowe <mrowe@apple.com> 15214 15215 Fix a logic error in the #if so that the correct code is compiled on Snow Leopard. 15216 15217 I introduced this in r122403 when I inverted the sense of the #if. 15218 15219 * UIProcess/mac/WKFullScreenWindowController.mm: 15220 152212012-07-11 Mark Rowe <mrowe@apple.com> 15222 15223 <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions. 15224 15225 Reviewed by Dan Bernstein. 15226 15227 The deployment target is already set to the version that we're targeting, and it's that setting 15228 which determines which functionality from the SDK is available to us. 15229 15230 * Configurations/Base.xcconfig: 15231 152322012-07-11 Mark Rowe <mrowe@apple.com> 15233 15234 <http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes 15235 15236 Reviewed by Dan Bernstein. 15237 15238 * UIProcess/mac/WKFullScreenWindowController.mm: 15239 (convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists 15240 but otherwise provides a compatibility implementation of it. 15241 (-[WKFullScreenWindowController enterFullScreen:]): Call our new helper. 15242 152432012-07-11 Mark Rowe <mrowe@apple.com> 15244 15245 <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros 15246 15247 This removal was handled by a script that translates the relevant macros in to the equivalent checks 15248 using the system availability macros. 15249 15250 Reviewed by Filip Pizlo. 15251 15252 * Shared/DictionaryPopupInfo.cpp: 15253 * Shared/DictionaryPopupInfo.h: 15254 * Shared/mac/PasteboardTypes.mm: 15255 * Shared/mac/WebEventFactory.mm: 15256 * UIProcess/API/mac/PDFViewController.mm: 15257 * UIProcess/API/mac/PageClientImpl.mm: 15258 * UIProcess/API/mac/WKView.mm: 15259 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: 15260 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: 15261 * UIProcess/Launcher/mac/EnvironmentVariables.cpp: 15262 * UIProcess/Launcher/mac/EnvironmentVariables.h: 15263 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 15264 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 15265 * UIProcess/WebPageProxy.cpp: 15266 * UIProcess/WebPageProxy.h: 15267 * UIProcess/WebPageProxy.messages.in: 15268 * UIProcess/mac/TextCheckerMac.mm: 15269 * UIProcess/mac/WKFullScreenWindowController.mm: 15270 * UIProcess/mac/WebContextMac.mm: 15271 * UIProcess/mac/WebPageProxyMac.mm: 15272 * WebKit2Prefix.h: 15273 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 15274 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 15275 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 15276 * WebProcess/WebCoreSupport/WebEditorClient.h: 15277 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 15278 * WebProcess/WebPage/WebPage.cpp: 15279 * WebProcess/WebPage/WebPage.h: 15280 * WebProcess/WebPage/WebPage.messages.in: 15281 * WebProcess/WebPage/mac/WebPageMac.mm: 15282 * WebProcess/com.apple.WebProcess.sb.in: 15283 * WebProcess/mac/KeychainItemShimMethods.mm: 15284 * WebProcess/mac/SecItemShimMethods.mm: 15285 * WebProcess/mac/WebProcessMac.mm: 15286 * WebProcess/mac/WebProcessMainMac.mm: 15287 * WebProcess/mac/WebProcessShim.mm: 15288 152892012-07-11 Simon Fraser <simon.fraser@apple.com> 15290 15291 pagesPerView param is misnamed for WKPageSetPageLength() 15292 https://bugs.webkit.org/show_bug.cgi?id=91033 15293 15294 Rubber-stamped by Dan Bernstein. 15295 15296 The name of the second parameter to WKPageSetPageLength(), 15297 'pagesPerView', was confusing; it's a page size (normally width) 15298 in pixels. 15299 15300 * UIProcess/API/C/WKPagePrivate.h: 15301 153022012-07-11 Anders Carlsson <andersca@apple.com> 15303 15304 Add -Wtautological-compare and -Wsign-compare warning flags 15305 https://bugs.webkit.org/show_bug.cgi?id=90994 15306 15307 Reviewed by Mark Rowe. 15308 15309 * Configurations/Base.xcconfig: 15310 153112012-07-11 No'am Rosenthal <noam.rosenthal@nokia.com> 15312 15313 [Qt][WK2] Test actual rendering results in API tests 15314 https://bugs.webkit.org/show_bug.cgi?id=80609 15315 15316 Reviewed by Alexis Menard. 15317 15318 Added a very basic test to tst_QQuickWebView to make sure rendering actually occurs. 15319 15320 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 15321 (tst_QQuickWebView): 15322 (tst_QQuickWebView::basicRenderingSanity): 15323 153242012-07-11 Mark Rowe <mrowe@apple.com> 15325 15326 Add a Mountain Lion version of libWebKitSystemInterface.a. 15327 15328 Reviewed by John Sullivan. 15329 15330 * Configurations/DebugRelease.xcconfig: Look for the library under its expected name. 15331 153322012-07-11 No'am Rosenthal <noam.rosenthal@nokia.com> 15333 15334 [Qt] QRawWebView should notify when rendering is done, so that pixel results can be grabbed at the appropriate moment. 15335 https://bugs.webkit.org/show_bug.cgi?id=90641 15336 15337 Reviewed by Jocelyn Turcotte. 15338 15339 Implement LayerTreeCoordinator::forceRepaint with logic equivalent to the one in 15340 LayerTreeHostCA. If we flush the layers synchronously when forceRepaint is called,when 15341 WKPageForceRepaint returns we are guaranteed to have an up-to-date image, as the visible 15342 tiles are also synchronously updated. 15343 15344 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 15345 (WebView::WebView): 15346 (WebView::viewNeedsDisplay): 15347 (WebView::frameLoaded): 15348 (WebView): 15349 (WebView::onRepaintDone): 15350 (WebView::finishForceRepaint): 15351 (WebView::finishFirstLayoutForFrame): 15352 (tst_qrawwebview::doNoBackground1): 15353 (tst_qrawwebview::doNoBackground2): 15354 (tst_qrawwebview::doNoBackground3): 15355 (tst_qrawwebview::run): 15356 The test for QRawWebView has been updated to use the WebKit2 ForcePaint API prior to 15357 generating the pixel results. This has exposed a timing bug in the test - setting the 15358 transparentBackground property of a page has to be done before it's created. This has 15359 been fixed in the test. 15360 15361 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: 15362 (WebKit::LayerTreeCoordinator::forceRepaint): 15363 (WebKit::LayerTreeCoordinator::performScheduledLayerFlush): 15364 (WebKit): 15365 153662012-07-11 MORITA Hajime <morrita@google.com> 15367 15368 WebCoreSupport needs objects each of which follows major WebCore objects 15369 https://bugs.webkit.org/show_bug.cgi?id=88499 15370 15371 Reviewed by Alexey Proskuryakov. 15372 15373 Added exporting symbols. 15374 15375 * win/WebKit2.def: 15376 * win/WebKit2CFLite.def: 15377 153782012-07-11 Sheriff Bot <webkit.review.bot@gmail.com> 15379 15380 Unreviewed, rolling out r122318. 15381 http://trac.webkit.org/changeset/122318 15382 https://bugs.webkit.org/show_bug.cgi?id=90961 15383 15384 It made 11 fast/events/touch fail (Requested by bbandix on 15385 #webkit). 15386 15387 * UIProcess/API/qt/qquickwebview.cpp: 15388 * UIProcess/API/qt/qquickwebview_p.h: 15389 153902012-07-11 Keunsoon Lee <keunsoon.lee@samsung.com> 15391 15392 [EFL][Wk2] WebErrorsEfl.cpp needs to return non-empty errors 15393 https://bugs.webkit.org/show_bug.cgi?id=90688 15394 15395 Reviewed by Hajime Morita. 15396 15397 Return meaningful error for each case. 15398 15399 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 15400 (WebKit::cancelledError): create ResourceError for "request canceled". 15401 (WebKit::blockedError): create ResourceError for "request blocked". 15402 (WebKit::cannotShowURLError): create ResourceError for "cannot show url". 15403 (WebKit::interruptedForPolicyChangeError): create ResourceError for "Frame load interrupted by policy change". 15404 (WebKit::cannotShowMIMETypeError): create ResourceError for "Cannot show mimetype". 15405 (WebKit::fileDoesNotExistError): create ResourceError for "File does not exist". 15406 (WebKit::pluginWillHandleLoadError): create ResourceError for "Plugin will handle load". 15407 154082012-07-11 Andras Becsi <andras.becsi@nokia.com> 15409 15410 [Qt][WK2] Fix wheel scrolling for simple pages 15411 https://bugs.webkit.org/show_bug.cgi?id=90793 15412 15413 Reviewed by Kenneth Rohde Christiansen. 15414 15415 Call WebPage::setFixedLayoutSize in setResizesToContentsUsingLayoutSize 15416 instead of setting the view size manually and scheduling a relayout. 15417 Since setFixedLayoutSize forces a relayout it also updates the scrollbars 15418 after the visible rect is available. 15419 This fixes scrolling with wheel events for a QML WebView loading a simple 15420 local page which previously ended up in a state where scrolling was disabled 15421 because the scrollbar update happened before the correct visible rect size was 15422 available. 15423 15424 Add a QML test and infrastructure to QWebKitTest to cover this case. 15425 15426 * UIProcess/API/qt/qwebkittest.cpp: 15427 (QWebKitTest::wheelEvent): 15428 * UIProcess/API/qt/qwebkittest_p.h: 15429 * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Added. 15430 * UIProcess/API/qt/tests/qmltests/common/test4.html: Added. 15431 * WebProcess/WebPage/WebPage.cpp: 15432 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 15433 154342012-07-11 Andras Becsi <andras.becsi@nokia.com> 15435 15436 [Qt][WK2] ASSERT: "!m_viewportItem->isMoving()" in QtViewportHandler::flickMoveEnded() 15437 https://bugs.webkit.org/show_bug.cgi?id=90875 15438 15439 Reviewed by Kenneth Rohde Christiansen. 15440 15441 Since MultiPointTouchArea and PinchArea use the childMouseEventFilter 15442 method to filter touch events too, and because Flickable filters child 15443 mouse events the canvas calls this function before propagating the touch 15444 event to the WebView. Since Flickable does not accept touch events the 15445 canvas tries to propagate a synthesized mouse event through the base 15446 class childMouseEventFilter function which is accepted by Flickable and 15447 interferes with the input events we send to Flicakble hence messes up 15448 the internal state of the WebView. 15449 This patch reimplements the virtual childMouseEventFilter method so that all 15450 the mouse and touch events can be processed by WebKit before they arrive to 15451 Flickable. 15452 15453 * UIProcess/API/qt/qquickwebview.cpp: 15454 (QQuickWebView::childMouseEventFilter): 15455 * UIProcess/API/qt/qquickwebview_p.h: 15456 154572012-07-10 Christophe Dumez <christophe.dumez@intel.com> 15458 15459 [WK2][EFL] Add Battery Status Provider 15460 https://bugs.webkit.org/show_bug.cgi?id=90543 15461 15462 Reviewed by Kenneth Rohde Christiansen. 15463 15464 Define a battery status provider for WebKit2 EFL which 15465 relies on WebCore::BatteryProviderEfl. 15466 15467 * CMakeLists.txt: Add WebCore/Modules/battery to include 15468 paths. 15469 * PlatformEfl.cmake: Add BatteryProvider class to CMake. 15470 * UIProcess/API/efl/BatteryProvider.cpp: Added. 15471 (toBatteryProvider): 15472 (startUpdatingCallback): 15473 (stopUpdatingCallback): 15474 (BatteryProvider::~BatteryProvider): 15475 (BatteryProvider::create): 15476 (BatteryProvider::BatteryProvider): 15477 (BatteryProvider::startUpdating): 15478 (BatteryProvider::stopUpdating): 15479 (BatteryProvider::didChangeBatteryStatus): 15480 * UIProcess/API/efl/BatteryProvider.h: Added. 15481 (BatteryProvider): 15482 * UIProcess/API/efl/ewk_context.cpp: 15483 (_Ewk_Context): Add BatteryProvider to Ewk_Context. 15484 (createDefaultEwkContext): 15485 (ewk_context_default_get): 15486 154872012-07-10 No'am Rosenthal <noam.rosenthal@nokia.com> 15488 15489 [Qt] Enable antialiasing for TextureMapper 15490 https://bugs.webkit.org/show_bug.cgi?id=90915 15491 15492 Reviewed by Martin Robinson. 15493 15494 Enable the new antialiasing functionality for WebLayerTreeRendering. 15495 This will make one-tile layers antialiased when using UI_SIDE_COMPOSITING. 15496 15497 * UIProcess/WebLayerTreeRenderer.cpp: 15498 (WebKit::WebLayerTreeRenderer::ensureRootLayer): 15499 155002012-07-10 Adam Barth <abarth@webkit.org> 15501 15502 WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed 15503 https://bugs.webkit.org/show_bug.cgi?id=90910 15504 15505 Reviewed by Eric Seidel. 15506 15507 * Shared/WebPreferencesStore.h: 15508 (WebKit): 15509 * UIProcess/API/C/WKPreferences.cpp: 15510 (WKPreferencesSetHixie76WebSocketProtocolEnabled): 15511 (WKPreferencesGetHixie76WebSocketProtocolEnabled): 15512 * WebProcess/InjectedBundle/InjectedBundle.cpp: 15513 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 15514 * WebProcess/WebPage/WebPage.cpp: 15515 (WebKit::WebPage::updatePreferences): 15516 155172012-07-10 Helder Correia <helder.correia@nokia.com> 15518 15519 [Qt] Repaint counter for accelerated compositing 15520 https://bugs.webkit.org/show_bug.cgi?id=90116 15521 15522 Reviewed by Noam Rosenthal. 15523 15524 No new tests, just introducing a debug feature. 15525 15526 For this feature to be enabled, the environment variable 15527 QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled, 15528 both repaint counters and tile borders will be painted. 15529 15530 Important notes: 15531 - Only WebKit2 is targetted for now. 15532 - There is no integration with Preferences. That aproach was 15533 taken initially but revealed complex and overkill for such a 15534 debugging-only functionality. Thus, to disable it simply restart with 15535 the environment variable unset or set to some other value. 15536 15537 A Qt-specific drawRepaintCounter() function was added to 15538 TextureMapperGL. A QImage is used as scratch buffer to paint borders and 15539 counters. It is then uploaded to a BitmapTexture acquired from the pool 15540 and finally draw by TextureMapper. The actual compositing happens inside 15541 LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile 15542 now has a repaint counter which gets incremented in 15543 LayerBackingStore::updateTile(). 15544 15545 * UIProcess/texmap/LayerBackingStore.cpp: 15546 (WebKit::LayerBackingStore::updateTile): 15547 (WebKit): 15548 (WebKit::shouldShowTileDebugVisuals): 15549 (WebKit::LayerBackingStore::paintToTextureMapper): 15550 * UIProcess/texmap/LayerBackingStore.h: 15551 (WebKit::LayerBackingStoreTile::LayerBackingStoreTile): 15552 (LayerBackingStoreTile): 15553 (WebKit::LayerBackingStoreTile::incrementRepaintCount): 15554 (WebKit::LayerBackingStoreTile::repaintCount): 15555 155562012-07-10 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 15557 15558 [WK2] Add Vibration API support for WebKit2 15559 https://bugs.webkit.org/show_bug.cgi?id=90058 15560 15561 Reviewed by Anders Carlsson. 15562 15563 Add support for Vibration API to WebKit2. 15564 15565 * CMakeLists.txt: 15566 * DerivedSources.pri: 15567 * GNUmakefile.list.am: 15568 * Platform/CoreIPC/MessageID.h: 15569 * Shared/API/c/WKBase.h: 15570 * Shared/APIObject.h: 15571 * Target.pri: 15572 * UIProcess/API/C/WKAPICast.h: 15573 (WebKit): 15574 * UIProcess/API/C/WKVibration.cpp: Added. 15575 (WKVibrationGetTypeID): 15576 (WKVibrationSetProvider): 15577 * UIProcess/API/C/WKVibration.h: Added. 15578 * UIProcess/WebVibrationProvider.cpp: Added. 15579 (WebKit): 15580 (WebKit::WebVibrationProvider::vibrate): 15581 (WebKit::WebVibrationProvider::cancelVibration): 15582 * UIProcess/WebVibrationProvider.h: Added. 15583 (WebKit): 15584 (WebVibrationProvider): 15585 * UIProcess/WebVibrationProxy.cpp: Added. 15586 (WebKit): 15587 (WebKit::WebVibrationProxy::create): 15588 (WebKit::WebVibrationProxy::WebVibrationProxy): 15589 (WebKit::WebVibrationProxy::~WebVibrationProxy): 15590 (WebKit::WebVibrationProxy::invalidate): 15591 (WebKit::WebVibrationProxy::initializeProvider): 15592 (WebKit::WebVibrationProxy::didReceiveMessage): 15593 (WebKit::WebVibrationProxy::vibrate): 15594 (WebKit::WebVibrationProxy::cancelVibration): 15595 * UIProcess/WebVibrationProxy.h: Added. 15596 (CoreIPC): 15597 (WebKit): 15598 (WebVibrationProxy): 15599 (WebKit::WebVibrationProxy::clearContext): 15600 (WebKit::WebVibrationProxy::type): 15601 * UIProcess/WebVibrationProxy.messages.in: Added. 15602 * WebProcess/WebCoreSupport/WebVibrationClient.cpp: Added. 15603 (WebKit): 15604 (WebKit::WebVibrationClient::vibrate): 15605 (WebKit::WebVibrationClient::cancelVibration): 15606 (WebKit::WebVibrationClient::vibrationDestroyed): 15607 * WebProcess/WebCoreSupport/WebVibrationClient.h: Added. 15608 (WebKit): 15609 (WebVibrationClient): 15610 (WebKit::WebVibrationClient::WebVibrationClient): 15611 (WebKit::WebVibrationClient::~WebVibrationClient): 15612 156132012-07-10 Carlos Garcia Campos <cgarcia@igalia.com> 15614 15615 [GTK] Add API to clear the cache to WebKit2 GTK+ 15616 https://bugs.webkit.org/show_bug.cgi?id=90856 15617 15618 Reviewed by Martin Robinson. 15619 15620 * UIProcess/API/gtk/WebKitWebContext.cpp: 15621 (webkit_web_context_clear_cache): Call 15622 WKResourceCacheManagerClearCacheForAllOrigins() to clear all 15623 resources currently cached. 15624 * UIProcess/API/gtk/WebKitWebContext.h: 15625 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 15626 156272012-07-10 Sheriff Bot <webkit.review.bot@gmail.com> 15628 15629 Unreviewed, rolling out r122178. 15630 http://trac.webkit.org/changeset/122178 15631 https://bugs.webkit.org/show_bug.cgi?id=90857 15632 15633 browser tests, PrerenderBrowserTest.PrerenderFavicon and other 15634 tests, started to fail (Requested by hayato on #webkit). 15635 15636 * win/WebKit2.def: 15637 156382012-07-09 Matt Falkenhagen <falken@chromium.org> 15639 15640 Add ENABLE_DIALOG_ELEMENT and skeleton files 15641 https://bugs.webkit.org/show_bug.cgi?id=90521 15642 15643 Reviewed by Kent Tamura. 15644 15645 * Configurations/FeatureDefines.xcconfig: 15646 156472012-07-09 Pete Williamson <petewil@google.com> 15648 15649 Export the iconURL list to make it available to the Internals class for testing 15650 https://bugs.webkit.org/show_bug.cgi?id=88665 15651 15652 Reviewed by Kent Tamura. 15653 15654 * win/WebKit2.def: export the DocumentL::iconURLs function 15655 156562012-07-09 Christophe Dumez <christophe.dumez@intel.com> 15657 15658 [WK2] Add missing Battery Status API integration to WebContext and WebPage 15659 https://bugs.webkit.org/show_bug.cgi?id=90784 15660 15661 Reviewed by Anders Carlsson. 15662 15663 Integrate Battery Status API to WebPage, WebContext and 15664 properly route messages to the WebBatteryManagerProxy. 15665 Without this, the Battery Status tests are crashing for 15666 WebKit2. 15667 15668 * UIProcess/API/C/WKContext.cpp: 15669 (WKContextGetBatteryManager): 15670 * UIProcess/API/C/WKContext.h: 15671 * UIProcess/WebContext.cpp: 15672 (WebKit::WebContext::WebContext): 15673 (WebKit::WebContext::~WebContext): 15674 (WebKit::WebContext::disconnectProcess): 15675 (WebKit::WebContext::didReceiveMessage): 15676 * UIProcess/WebContext.h: 15677 (WebKit): 15678 (WebContext): 15679 (WebKit::WebContext::batteryManagerProxy): 15680 * UIProcess/WebProcessProxy.cpp: 15681 (WebKit::WebProcessProxy::didReceiveMessage): 15682 * WebProcess/WebCoreSupport/WebBatteryClient.cpp: 15683 (WebKit::WebBatteryClient::setController): 15684 (WebKit): 15685 * WebProcess/WebCoreSupport/WebBatteryClient.h: 15686 (WebBatteryClient): 15687 * WebProcess/WebPage/WebPage.cpp: 15688 (WebKit::WebPage::WebPage): 15689 156902012-07-09 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 15691 15692 [EFL] [WK2] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) 15693 https://bugs.webkit.org/show_bug.cgi?id=90464 15694 15695 Reviewed by Daniel Bates. 15696 15697 HashMap has the property that 0 is the empty value for integer 15698 keys, so do not use 0 as a key in the HashMap. 15699 15700 * Platform/efl/WorkQueueEfl.cpp: 15701 (WorkQueue::dispatchAfterDelay): 15702 157032012-07-09 Carlos Garcia Campos <cgarcia@igalia.com> 15704 15705 [GTK] Add a setting to enable/disable page cache to WebKit2 GTK+ API 15706 https://bugs.webkit.org/show_bug.cgi?id=90773 15707 15708 Reviewed by Martin Robinson. 15709 15710 * UIProcess/API/gtk/WebKitSettings.cpp: 15711 (webKitSettingsSetProperty): 15712 (webKitSettingsGetProperty): 15713 (webkit_settings_class_init): 15714 (webkit_settings_get_enable_page_cache): 15715 (webkit_settings_set_enable_page_cache): 15716 * UIProcess/API/gtk/WebKitSettings.h: 15717 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 15718 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 15719 (testWebKitSettings): 15720 157212012-07-09 Sheriff Bot <webkit.review.bot@gmail.com> 15722 15723 Unreviewed, rolling out r122107. 15724 http://trac.webkit.org/changeset/122107 15725 https://bugs.webkit.org/show_bug.cgi?id=90794 15726 15727 Build failure on Mac debug bots (Requested by falken_ on 15728 #webkit). 15729 15730 * Configurations/FeatureDefines.xcconfig: 15731 157322012-07-09 Carlos Garcia Campos <cgarcia@igalia.com> 15733 15734 [GTK] Fix inspector detach when inspector was attached by the client 15735 https://bugs.webkit.org/show_bug.cgi?id=90763 15736 15737 Reviewed by Martin Robinson. 15738 15739 When the inspector is detached, we are unconditionally removing it 15740 from the inspected view, but if the inspector was attached by the 15741 client, the parent might be another widget. 15742 15743 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 15744 (WebKit::WebInspectorProxy::platformDetach): Remove the inspector 15745 view from its parent widget. 15746 157472012-07-09 Matt Falkenhagen <falken@chromium.org> 15748 15749 Add ENABLE_DIALOG_ELEMENT and skeleton files 15750 https://bugs.webkit.org/show_bug.cgi?id=90521 15751 15752 Reviewed by Kent Tamura. 15753 15754 * Configurations/FeatureDefines.xcconfig: 15755 157562012-07-09 Dan Bernstein <mitz@apple.com> 15757 15758 Fix the Mac build when codesign_allocate is not installed at /usr/bin. 15759 15760 * PluginProcess/mac/add-entitlements.sh: Let codesign(1) know where the codesign_allocate 15761 tool is by setting the CODESIGN_ALLOCATE environment variable to its path as obtained with 15762 xcrun. 15763 157642012-07-06 Christophe Dumez <christophe.dumez@intel.com> 15765 15766 [WK2] Add support for Network Information API 15767 https://bugs.webkit.org/show_bug.cgi?id=89870 15768 15769 Reviewed by Anders Carlsson. 15770 15771 Add Network Information API support for WebKit2. 15772 15773 * CMakeLists.txt: 15774 * DerivedSources.pri: 15775 * GNUmakefile.am: 15776 * GNUmakefile.list.am: 15777 * Platform/CoreIPC/MessageID.h: 15778 * Shared/API/c/WKBase.h: 15779 * Shared/APIObject.h: 15780 * Shared/WebNetworkInfo.cpp: Added. 15781 (WebKit): 15782 (WebKit::WebNetworkInfo::WebNetworkInfo): 15783 (WebKit::WebNetworkInfo::~WebNetworkInfo): 15784 (WebKit::WebNetworkInfo::Data::encode): 15785 (WebKit::WebNetworkInfo::Data::decode): 15786 * Shared/WebNetworkInfo.h: Added. 15787 (WebKit): 15788 (WebNetworkInfo): 15789 (Data): 15790 (WebKit::WebNetworkInfo::create): 15791 (WebKit::WebNetworkInfo::bandwidth): 15792 (WebKit::WebNetworkInfo::metered): 15793 (WebKit::WebNetworkInfo::data): 15794 (WebKit::WebNetworkInfo::type): 15795 * Target.pri: 15796 * UIProcess/API/C/WKAPICast.h: 15797 (WebKit): 15798 * UIProcess/API/C/WKNetworkInfoManager.cpp: Added. 15799 (WKNetworkInfoManagerGetTypeID): 15800 * UIProcess/API/C/WKNetworkInfoManager.h: Added. 15801 * UIProcess/WebNetworkInfoManagerProxy.cpp: Added. 15802 (WebKit): 15803 (WebKit::WebNetworkInfoManagerProxy::create): 15804 (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): 15805 (WebKit::WebNetworkInfoManagerProxy::~WebNetworkInfoManagerProxy): 15806 (WebKit::WebNetworkInfoManagerProxy::invalidate): 15807 (WebKit::WebNetworkInfoManagerProxy::initializeProvider): 15808 (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): 15809 (WebKit::WebNetworkInfoManagerProxy::didReceiveMessage): 15810 (WebKit::WebNetworkInfoManagerProxy::startUpdating): 15811 (WebKit::WebNetworkInfoManagerProxy::stopUpdating): 15812 (WebKit::WebNetworkInfoManagerProxy::getBandwidth): 15813 (WebKit::WebNetworkInfoManagerProxy::isMetered): 15814 * UIProcess/WebNetworkInfoManagerProxy.h: Added. 15815 (CoreIPC): 15816 (WebKit): 15817 (WebNetworkInfoManagerProxy): 15818 (WebKit::WebNetworkInfoManagerProxy::clearContext): 15819 (WebKit::WebNetworkInfoManagerProxy::type): 15820 * UIProcess/WebNetworkInfoManagerProxy.messages.in: Added. 15821 * UIProcess/WebNetworkInfoProvider.cpp: Added. 15822 (WebKit): 15823 (WebKit::WebNetworkInfoProvider::startUpdating): 15824 (WebKit::WebNetworkInfoProvider::stopUpdating): 15825 (WebKit::WebNetworkInfoProvider::bandwidth): 15826 (WebKit::WebNetworkInfoProvider::metered): 15827 * UIProcess/WebNetworkInfoProvider.h: Added. 15828 (WebKit): 15829 (WebNetworkInfoProvider): 15830 * WebKit2.pri: 15831 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: Added. 15832 (WebKit): 15833 (WebKit::WebNetworkInfoManager::WebNetworkInfoManager): 15834 (WebKit::WebNetworkInfoManager::~WebNetworkInfoManager): 15835 (WebKit::WebNetworkInfoManager::didReceiveMessage): 15836 (WebKit::WebNetworkInfoManager::registerWebPage): 15837 (WebKit::WebNetworkInfoManager::unregisterWebPage): 15838 (WebKit::WebNetworkInfoManager::bandwidth): 15839 (WebKit::WebNetworkInfoManager::metered): 15840 (WebKit::WebNetworkInfoManager::didChangeNetworkInformation): 15841 * WebProcess/NetworkInfo/WebNetworkInfoManager.h: Added. 15842 (CoreIPC): 15843 (WebKit): 15844 (WebNetworkInfoManager): 15845 * WebProcess/NetworkInfo/WebNetworkInfoManager.messages.in: Added. 15846 * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: Added. 15847 (WebKit): 15848 (WebKit::WebNetworkInfoClient::~WebNetworkInfoClient): 15849 (WebKit::WebNetworkInfoClient::bandwidth): 15850 (WebKit::WebNetworkInfoClient::metered): 15851 (WebKit::WebNetworkInfoClient::startUpdating): 15852 (WebKit::WebNetworkInfoClient::stopUpdating): 15853 * WebProcess/WebCoreSupport/WebNetworkInfoClient.h: Added. 15854 (WebKit): 15855 (WebNetworkInfoClient): 15856 (WebKit::WebNetworkInfoClient::WebNetworkInfoClient): 15857 * WebProcess/WebProcess.cpp: 15858 (WebKit::WebProcess::WebProcess): 15859 (WebKit::WebProcess::didReceiveMessage): 15860 * WebProcess/WebProcess.h: 15861 (WebProcess): 15862 (WebKit::WebProcess::networkInfoManager): 15863 158642012-07-06 Jessie Berlin <jberlin@apple.com> 15865 15866 WKContext should ask for its injected bundle initialization user data when it needs it so the 15867 client doesn't have to keep it up to date. 15868 https://bugs.webkit.org/show_bug.cgi?id=90627 15869 15870 Reviewed by Anders Carlsson. 15871 15872 Add a getInjectedBundleInitializationUserData callback to WKContextInjectedBundleClient. 15873 15874 * Shared/APIClientTraits.cpp: 15875 Allow the WKContextInjectedBundleClient API to be versioned. 15876 * Shared/APIClientTraits.h: 15877 15878 * UIProcess/API/C/WKContext.h: 15879 Add the callback and bump the version of WKContextInjectedBundleClient. 15880 15881 * UIProcess/WebContext.cpp: 15882 (WebKit::WebContext::ensureWebProcess): 15883 Prefer any user data returned when the callback is invoked over that set with 15884 WKContextSetInitializationUserDataForInjectedBundle. 15885 15886 * UIProcess/WebContextInjectedBundleClient.cpp: 15887 (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData): 15888 Invoke the callback if the client has registered for it. 15889 * UIProcess/WebContextInjectedBundleClient.h: 15890 158912012-07-06 Jessie Berlin <jberlin@apple.com> 15892 15893 WebContext::injectedBundleInitializationUserData() is unused, should be removed 15894 https://bugs.webkit.org/show_bug.cgi?id=90486 15895 15896 Reviewed by Anders Carlsson. 15897 15898 * UIProcess/WebContext.h: 15899 Remove it. 15900 159012012-07-06 Carlos Garcia Campos <cgarcia@igalia.com> 15902 15903 [GTK] Add site specific quirks setting to WebKit2 GTK+ API 15904 https://bugs.webkit.org/show_bug.cgi?id=90663 15905 15906 Reviewed by Martin Robinson. 15907 15908 * UIProcess/API/gtk/WebKitSettings.cpp: 15909 (webKitSettingsSetProperty): 15910 (webKitSettingsGetProperty): 15911 (webkit_settings_class_init): 15912 (webkit_settings_get_enable_site_specific_quirks): 15913 (webkit_settings_set_enable_site_specific_quirks): 15914 * UIProcess/API/gtk/WebKitSettings.h: 15915 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 15916 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 15917 (testWebKitSettings): 15918 159192012-07-06 Dominik Röttsches <dominik.rottsches@intel.com> 15920 15921 ProcessLauncher's WorkQueue's name is too long on Windows 15922 https://bugs.webkit.org/show_bug.cgi?id=44041 15923 15924 Reviewed by Andreas Kling. 15925 15926 Shorten thread name for process launcher so that we can silence the warning 15927 for thread names getting truncated under VisualStudio - 15928 see createThread() in Threading.cpp. 15929 15930 * UIProcess/Launcher/ProcessLauncher.cpp: 15931 (WebKit::processLauncherWorkQueue): 15932 159332012-07-06 Christophe Dumez <christophe.dumez@intel.com> 15934 15935 [EFL] WebKit-EFL headers do not build with gcc < 4.6 15936 https://bugs.webkit.org/show_bug.cgi?id=90681 15937 15938 Unreviewed EFL build fix. 15939 15940 Remove several forward declarations from ewk_view 15941 header to avoid typedef redefinitions which are 15942 illegal in C. 15943 15944 * UIProcess/API/efl/ewk_view.h: 15945 159462012-07-06 Csaba Osztrogonác <ossy@webkit.org> 15947 15948 [Qt] Buildfix for newer Qt5 15949 https://bugs.webkit.org/show_bug.cgi?id=90519 15950 15951 Reviewed by Tor Arne Vestbø. 15952 15953 * UIProcess/API/qt/qwebkittest.cpp: Include qpa/qwindowsysteminterface.h instead of deprecated qwindowsysteminterface_qpa.h. 15954 159552012-07-06 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 15956 15957 [Qt] Adjust to changed generation of master include file 15958 15959 The responsiblity for creating the master include was moved out of syncqt. 15960 @ignore_for_master_contents still stays, as syncqt (ab-)uses this for 15961 determining whether a header is private. 15962 15963 https://bugs.webkit.org/show_bug.cgi?id=90461 15964 15965 Reviewed by Tor Arne Vestbø. 15966 15967 * UIProcess/API/qt/tests/bytearraytestdata.h: 15968 * UIProcess/API/qt/tests/testwindow.h: 15969 159702012-07-05 Christophe Dumez <christophe.dumez@intel.com> 15971 15972 [WK2][EFL] Ewk_View needs to report load status changes 15973 https://bugs.webkit.org/show_bug.cgi?id=90566 15974 15975 Reviewed by Kenneth Rohde Christiansen. 15976 15977 Add new "load,finished", "load,provisional,failed", 15978 "load,provisional,redirect" and "load,provisional,started" 15979 signals on the Ewk_View to notify the client of different 15980 load state changes. 15981 15982 * UIProcess/API/efl/ewk_view.cpp: 15983 (ewk_view_load_finished): 15984 (ewk_view_load_provisional_failed): 15985 (ewk_view_load_provisional_redirect): 15986 (ewk_view_load_provisional_started): 15987 * UIProcess/API/efl/ewk_view.h: 15988 * UIProcess/API/efl/ewk_view_loader_client.cpp: 15989 (didFinishLoadForFrame): 15990 (didFailLoadWithErrorForFrame): 15991 (didStartProvisionalLoadForFrame): 15992 (didReceiveServerRedirectForProvisionalLoadForFrame): 15993 (didFailProvisionalLoadWithErrorForFrame): 15994 (ewk_view_loader_client_attach): 15995 * UIProcess/API/efl/ewk_view_private.h: 15996 159972012-07-05 Luiz Agostini <luiz.agostini@nokia.com> 15998 15999 [Qt] Transform should be applied to the clip rect in QRawWebView::paint 16000 https://bugs.webkit.org/show_bug.cgi?id=90652 16001 16002 Reviewed by Kenneth Rohde Christiansen. 16003 16004 Applying the transformation matrix to the clip rect in QRawWebView::paint. 16005 16006 * UIProcess/API/qt/raw/qrawwebview.cpp: 16007 (QRawWebView::paint): 16008 160092012-07-05 Christophe Dumez <christophe.dumez@intel.com> 16010 16011 [WK2][EFL] Ewk_View should provide API to set/get device pixel ratio 16012 https://bugs.webkit.org/show_bug.cgi?id=90590 16013 16014 Reviewed by Kenneth Rohde Christiansen. 16015 16016 Add API to Ewk_View so retrieve and set the device 16017 pixel ratio. 16018 16019 * UIProcess/API/efl/ewk_view.cpp: 16020 (ewk_view_device_pixel_ratio_set): 16021 (ewk_view_device_pixel_ratio_get): 16022 * UIProcess/API/efl/ewk_view.h: 16023 160242012-07-05 Anders Carlsson <andersca@apple.com> 16025 16026 Type-ahead doesn't work in options inside optgroups 16027 https://bugs.webkit.org/show_bug.cgi?id=90647 16028 <rdar://problem/5604894> 16029 16030 Reviewed by Dan Bernstein. 16031 16032 Set the title of the menu item to a string that doesn't contain any leading or trailing whitespace. 16033 16034 * UIProcess/mac/WebPopupMenuProxyMac.mm: 16035 (WebKit::WebPopupMenuProxyMac::populate): 16036 160372012-07-05 Christophe Dumez <christophe.dumez@intel.com> 16038 16039 [WK2] Add C API for Battery Status API 16040 https://bugs.webkit.org/show_bug.cgi?id=90545 16041 16042 Reviewed by Anders Carlsson. 16043 16044 Add C API for WKBatteryManager and WKBatteryStatus 16045 so that clients can support the Battery Status API 16046 in WebKit2. 16047 16048 * CMakeLists.txt: 16049 * GNUmakefile.list.am: 16050 * Target.pri: 16051 * UIProcess/API/C/WKBatteryManager.cpp: 16052 (WKBatteryManagerProviderDidChangeBatteryStatus): 16053 (WKBatteryManagerProviderUpdateBatteryStatus): 16054 * UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp. 16055 (WKBatteryStatusGetTypeID): 16056 (WKBatteryStatusCreate): 16057 * UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp. 16058 160592012-07-05 Sheriff Bot <webkit.review.bot@gmail.com> 16060 16061 Unreviewed, rolling out r121899. 16062 http://trac.webkit.org/changeset/121899 16063 https://bugs.webkit.org/show_bug.cgi?id=90623 16064 16065 Unauthorized WK2 API breakage (Requested by andersca on 16066 #webkit). 16067 16068 * Shared/API/c/WKSharedAPICast.h: 16069 (WebKit::toCopiedURLAPI): 16070 160712012-07-05 Balazs Kelemen <kbalazs@webkit.org> 16072 16073 [Qt] WTR crashes if a URL is passed as a parameter 16074 https://bugs.webkit.org/show_bug.cgi?id=88093 16075 16076 Reviewed by Zoltan Herczeg. 16077 16078 * Shared/API/c/WKSharedAPICast.h: 16079 (WebKit::toCopiedURLAPI): 16080 Don't special case null string. It's handled 16081 fine by WebURL and passing 0 is not suitable 16082 to the API. 16083 160842012-07-05 Dongwoo Im <dw.im@samsung.com> 16085 16086 [EFL] Enable the CUSTOM_SCHEME_HANDLER feature as default. 16087 https://bugs.webkit.org/show_bug.cgi?id=88608 16088 16089 Reviewed by Hajime Morita. 16090 16091 * WebProcess/WebCoreSupport/WebChromeClient.h: 16092 (WebKit::WebChromeClient::isProtocolHandlerRegistered): Add a stub function. 16093 (WebKit::WebChromeClient::unregisterProtocolHandler): Add a stub function. 16094 (WebChromeClient): 16095 160962012-07-05 Ryuan Choi <ryuan.choi@samsung.com> 16097 16098 [Wk2][EFL] EFL needs a WebKitTestRunner 16099 https://bugs.webkit.org/show_bug.cgi?id=87659 16100 16101 Reviewed by Kenneth Rohde Christiansen. 16102 16103 * PlatformEfl.cmake: Added WKImageCairo.cpp in source list. 16104 161052012-07-05 Hyerim Bae <hyerim.bae@samsung.com> 16106 16107 [EFL][WK2] Add ewk_view_reload_bypass_cache API. 16108 https://bugs.webkit.org/show_bug.cgi?id=89413 16109 16110 Reviewed by Kenneth Rohde Christiansen. 16111 16112 Add API, which is for reloading documents without cache. 16113 16114 * UIProcess/API/efl/ewk_view.cpp: 16115 (ewk_view_reload_bypass_cache): 16116 * UIProcess/API/efl/ewk_view.h: 16117 161182012-07-05 Christophe Dumez <christophe.dumez@intel.com> 16119 16120 [WK2][EFL] Ewk_View needs API to load HTML data 16121 https://bugs.webkit.org/show_bug.cgi?id=90540 16122 16123 Reviewed by Kenneth Rohde Christiansen. 16124 16125 Add method to Ewk_View to load provided HTML data. 16126 This is used for e.g. when an URL cannot be reached 16127 and we need to display an error page. 16128 16129 * UIProcess/API/efl/ewk_view.cpp: 16130 (ewk_view_html_load): 16131 * UIProcess/API/efl/ewk_view.h: 16132 161332012-07-05 Christophe Dumez <christophe.dumez@intel.com> 16134 16135 [WK2][EFL] Ewk_View needs to report new resource requests 16136 https://bugs.webkit.org/show_bug.cgi?id=90577 16137 16138 Reviewed by Kenneth Rohde Christiansen. 16139 16140 Add new "resource,request,new" signal to Ewk_View to 16141 notify clients of the resource requests being initiated. 16142 New Ewk_Url_Request and Ewk_Web_Resource types are 16143 introduced in order to provide the clients with the 16144 needed information regarding the resource requests. 16145 16146 * PlatformEfl.cmake: 16147 * UIProcess/API/efl/EWebKit2.h: 16148 * UIProcess/API/efl/ewk_url_request.cpp: Added. 16149 (_Ewk_Url_Request): 16150 (ewk_url_request_ref): 16151 (ewk_url_request_unref): 16152 (ewk_url_request_url_get): 16153 (ewk_request_first_party_get): 16154 (ewk_url_request_http_method_get): 16155 (ewk_url_request_new): 16156 * UIProcess/API/efl/ewk_url_request.h: Added. 16157 * UIProcess/API/efl/ewk_url_request_private.h: Added. 16158 * UIProcess/API/efl/ewk_view.cpp: 16159 (ewk_view_base_add): 16160 (ewk_view_resource_load_initiated): 16161 * UIProcess/API/efl/ewk_view.h: 16162 * UIProcess/API/efl/ewk_view_private.h: 16163 * UIProcess/API/efl/ewk_view_resource_load_client.cpp: Added. 16164 (didInitiateLoadForResource): 16165 (ewk_view_resource_load_client_attach): 16166 * UIProcess/API/efl/ewk_view_resource_load_client_private.h: Added. 16167 * UIProcess/API/efl/ewk_web_resource.cpp: Added. 16168 (_Ewk_Web_Resource): 16169 (ewk_web_resource_ref): 16170 (ewk_web_resource_unref): 16171 (ewk_web_resource_uri_get): 16172 (ewk_web_resource_new): 16173 (ewk_web_resource_main_get): 16174 * UIProcess/API/efl/ewk_web_resource.h: Added. 16175 * UIProcess/API/efl/ewk_web_resource_private.h: Added. 16176 161772012-07-04 John Mellor <johnme@chromium.org> 16178 16179 Text Autosizing: Add compile flag and runtime setting 16180 https://bugs.webkit.org/show_bug.cgi?id=87394 16181 16182 This patch renames Font Boosting to Text Autosizing. 16183 16184 Reviewed by Adam Barth. 16185 16186 * Configurations/FeatureDefines.xcconfig: 16187 161882012-07-04 Christophe Dumez <christophe.dumez@intel.com> 16189 16190 [EFL][WK2] Ewk_View should report load errors 16191 https://bugs.webkit.org/show_bug.cgi?id=90479 16192 16193 Reviewed by Kenneth Rohde Christiansen. 16194 16195 The Ewk_View now emits a "load,error" signal when the 16196 main frame fails loading. Information about the error 16197 is provided via the new Ewk_Web_Error type. 16198 16199 * PlatformEfl.cmake: 16200 * UIProcess/API/efl/EWebKit2.h: 16201 * UIProcess/API/efl/ewk_view.cpp: 16202 (ewk_view_load_error): 16203 * UIProcess/API/efl/ewk_view.h: 16204 * UIProcess/API/efl/ewk_view_loader_client.cpp: 16205 (didFailLoadWithErrorForFrame): 16206 (ewk_view_loader_client_attach): 16207 * UIProcess/API/efl/ewk_view_private.h: 16208 * UIProcess/API/efl/ewk_web_error.cpp: Added. 16209 (_Ewk_Web_Error): 16210 (ewk_web_error_free): 16211 (ewk_web_error_domain_get): 16212 (ewk_web_error_url_get): 16213 (ewk_web_error_code_get): 16214 (ewk_web_error_description_get): 16215 (ewk_web_error_cancellation_get): 16216 (ewk_web_error_new): 16217 * UIProcess/API/efl/ewk_web_error.h: Added. 16218 * UIProcess/API/efl/ewk_web_error_private.h: Added. 16219 162202012-07-03 Christophe Dumez <christophe.dumez@intel.com> 16221 16222 [WK2][EFL] Ewk_View should report the load progress 16223 https://bugs.webkit.org/show_bug.cgi?id=90457 16224 16225 Reviewed by Kenneth Rohde Christiansen. 16226 16227 The Ewk_View now reports the estimated load progress 16228 of the page via the new "load,progress". 16229 A method is also added to Ewk_View in order to 16230 retrieve the current load progress. 16231 16232 * UIProcess/API/efl/ewk_view.cpp: 16233 (ewk_view_load_progress_get): 16234 (ewk_view_load_progress_changed): 16235 * UIProcess/API/efl/ewk_view.h: 16236 * UIProcess/API/efl/ewk_view_loader_client.cpp: 16237 (didChangeProgress): 16238 (ewk_view_loader_client_attach): 16239 * UIProcess/API/efl/ewk_view_private.h: 16240 162412012-07-03 Christophe Dumez <christophe.dumez@intel.com> 16242 16243 [WK2] Add support for Battery Status API 16244 https://bugs.webkit.org/show_bug.cgi?id=89558 16245 16246 Reviewed by Anders Carlsson. 16247 16248 Add support for Battery Status API to WebKit2. 16249 16250 * CMakeLists.txt: 16251 * DerivedSources.pri: 16252 * GNUmakefile.am: 16253 * GNUmakefile.list.am: 16254 * Platform/CoreIPC/MessageID.h: 16255 * Shared/API/c/WKBase.h: 16256 * Shared/APIObject.h: 16257 * Shared/WebBatteryStatus.cpp: Added. 16258 (WebKit): 16259 (WebKit::WebBatteryStatus::WebBatteryStatus): 16260 (WebKit::WebBatteryStatus::~WebBatteryStatus): 16261 (WebKit::WebBatteryStatus::Data::encode): 16262 (WebKit::WebBatteryStatus::Data::decode): 16263 * Shared/WebBatteryStatus.h: Added. 16264 (WebKit): 16265 (WebBatteryStatus): 16266 (Data): 16267 (WebKit::WebBatteryStatus::create): 16268 (WebKit::WebBatteryStatus::isCharging): 16269 (WebKit::WebBatteryStatus::chargingTime): 16270 (WebKit::WebBatteryStatus::dischargingTime): 16271 (WebKit::WebBatteryStatus::level): 16272 (WebKit::WebBatteryStatus::data): 16273 (WebKit::WebBatteryStatus::type): 16274 * Target.pri: 16275 * UIProcess/API/C/WKAPICast.h: 16276 (WebKit): 16277 * UIProcess/API/C/WKBatteryManager.cpp: Added. 16278 (WKBatteryManagerGetTypeID): 16279 * UIProcess/API/C/WKBatteryManager.h: Added. 16280 * UIProcess/WebBatteryManagerProxy.cpp: Added. 16281 (WebKit): 16282 (WebKit::WebBatteryManagerProxy::create): 16283 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): 16284 (WebKit::WebBatteryManagerProxy::~WebBatteryManagerProxy): 16285 (WebKit::WebBatteryManagerProxy::invalidate): 16286 (WebKit::WebBatteryManagerProxy::initializeProvider): 16287 (WebKit::WebBatteryManagerProxy::didReceiveMessage): 16288 (WebKit::WebBatteryManagerProxy::startUpdating): 16289 (WebKit::WebBatteryManagerProxy::stopUpdating): 16290 (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): 16291 (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): 16292 * UIProcess/WebBatteryManagerProxy.h: Added. 16293 (CoreIPC): 16294 (WebKit): 16295 (WebBatteryManagerProxy): 16296 (WebKit::WebBatteryManagerProxy::clearContext): 16297 (WebKit::WebBatteryManagerProxy::type): 16298 * UIProcess/WebBatteryManagerProxy.messages.in: Added. 16299 * UIProcess/WebBatteryProvider.cpp: Added. 16300 (WebKit): 16301 (WebKit::WebBatteryProvider::startUpdating): 16302 (WebKit::WebBatteryProvider::stopUpdating): 16303 * UIProcess/WebBatteryProvider.h: Added. 16304 (WebKit): 16305 (WebBatteryProvider): 16306 * WebKit2.pri: 16307 * WebProcess/Battery/WebBatteryManager.cpp: Added. 16308 (WebKit): 16309 (WebKit::WebBatteryManager::WebBatteryManager): 16310 (WebKit::WebBatteryManager::~WebBatteryManager): 16311 (WebKit::WebBatteryManager::didReceiveMessage): 16312 (WebKit::WebBatteryManager::registerWebPage): 16313 (WebKit::WebBatteryManager::unregisterWebPage): 16314 (WebKit::WebBatteryManager::didChangeBatteryStatus): 16315 (WebKit::WebBatteryManager::updateBatteryStatus): 16316 * WebProcess/Battery/WebBatteryManager.h: Added. 16317 (CoreIPC): 16318 (WebKit): 16319 (WebBatteryManager): 16320 * WebProcess/Battery/WebBatteryManager.messages.in: Added. 16321 * WebProcess/WebCoreSupport/WebBatteryClient.cpp: Added. 16322 (WebKit): 16323 (WebKit::WebBatteryClient::startUpdating): 16324 (WebKit::WebBatteryClient::stopUpdating): 16325 (WebKit::WebBatteryClient::batteryControllerDestroyed): 16326 * WebProcess/WebCoreSupport/WebBatteryClient.h: Added. 16327 (WebKit): 16328 (WebBatteryClient): 16329 (WebKit::WebBatteryClient::WebBatteryClient): 16330 (WebKit::WebBatteryClient::~WebBatteryClient): 16331 * WebProcess/WebProcess.cpp: 16332 (WebKit::WebProcess::WebProcess): 16333 (WebKit::WebProcess::didReceiveMessage): 16334 * WebProcess/WebProcess.h: 16335 (WebProcess): 16336 (WebKit::WebProcess::batteryManager): 16337 163382012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 16339 16340 [Qt] Make use of .qmake.cache for caching features 16341 16342 Instead of loading() features from the files that need them (and re-running 16343 a bunch of checks), we now run feature detection as part of configure.pro, 16344 and have build-webkit write the computed feature-defines and CONFIG to 16345 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre 16346 when building WebKit.pro. 16347 16348 At some point we'll be able to selectivly prevent running of config tests 16349 in configure.pro, which means we don't need a separate code-path for 16350 the build-webkit --help case. 16351 16352 We should also move the code in build-webkit that now uses .webkit.config 16353 to detect clean builds, to use .qmake.cache, since we now store the same 16354 thing there. 16355 16356 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 16357 16358 Reviewed by Tor Arne Vestbø. 16359 16360 * DerivedSources.pri: 16361 * Target.pri: 16362 163632012-07-03 Sheriff Bot <webkit.review.bot@gmail.com> 16364 16365 Unreviewed, rolling out r121766. 16366 http://trac.webkit.org/changeset/121766 16367 https://bugs.webkit.org/show_bug.cgi?id=90465 16368 16369 It caused flakey build errors on the bots (Requested by Ossy 16370 on #webkit). 16371 16372 * DerivedSources.pri: 16373 * Target.pri: 16374 163752012-07-03 Carlos Garcia Campos <cgarcia@igalia.com> 16376 16377 [GTK] Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+ API 16378 https://bugs.webkit.org/show_bug.cgi?id=90386 16379 16380 Reviewed by Martin Robinson. 16381 16382 * UIProcess/API/gtk/WebKitWebView.cpp: 16383 (webkit_web_view_class_init): Add context-menu-dismissed signal. 16384 (contextMenuDismissed): Emit context-menu-dismissed signal. 16385 (webkitWebViewPopulateContextMenu): Connect to deactivate signal 16386 of the GtkMenu and emit WebKitWebView::context-menu-dismissed when 16387 the gtk menu is deactivated. 16388 * UIProcess/API/gtk/WebKitWebView.h: 16389 (_WebKitWebViewClass): Add virtual methos for 16390 context-menu-dismissed signal. 16391 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 16392 (testContextMenuDismissed): 16393 (beforeAll): 16394 * UIProcess/gtk/WebContextMenuProxyGtk.h: 16395 (WebKit::WebContextMenuProxyGtk::gtkMenu): Get the GtkMenu built 16396 for the context menu proxy. 16397 163982012-07-03 Piotr Roguski <p.roguski@samsung.com> 16399 16400 [EFL][WK2] Added missing WebPageProxy::ViewIsFocused flag to WebPageProxy::viewStateDidChange() 16401 call in _ewk_view_smart_focus_out() function. 16402 https://bugs.webkit.org/show_bug.cgi?id=89877 16403 16404 Reviewed by Andreas Kling. 16405 16406 Although name of the flag suggest it should be used only on focus in, 16407 omitting it in case of focus out will prevent WebPageProxy::viewStateDidChange() 16408 from sending Messages::WebPage::SetFocused(false). 16409 16410 * UIProcess/API/efl/ewk_view.cpp: 16411 (_ewk_view_smart_focus_out): 16412 164132012-07-03 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 16414 16415 [Qt][WK2] API tests randomly asserts in QQuickWebPage::setContentsScale(qreal) 16416 https://bugs.webkit.org/show_bug.cgi?id=88679 16417 16418 Reviewed by Csaba Osztrogonác. 16419 16420 Viewport parameters cannot be calculated while viewport is not visible and 16421 viewport size is 0, so let's delay calculation of viewport parameters until view 16422 becomes visible. 16423 16424 * UIProcess/qt/QtViewportHandler.cpp: 16425 (WebKit::QtViewportHandler::pageContentsSizeChanged): 16426 164272012-07-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 16428 16429 [Qt] Make use of .qmake.cache for caching features 16430 16431 Instead of loading() features from the files that need them (and re-running 16432 a bunch of checks), we now run feature detection as part of configure.pro, 16433 and have build-webkit write the computed feature-defines and CONFIG to 16434 .qmake.cache, which is then loaded by qmake _before_ even defaults_pre 16435 when building WebKit.pro. 16436 16437 At some point we'll be able to selectivly prevent running of config tests 16438 in configure.pro, which means we don't need a separate code-path for 16439 the build-webkit --help case. 16440 16441 We should also move the code in build-webkit that now uses .webkit.config 16442 to detect clean builds, to use .qmake.cache, since we now store the same 16443 thing there. 16444 16445 Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> 16446 16447 Reviewed by Tor Arne Vestbø. 16448 16449 * DerivedSources.pri: 16450 * Target.pri: 16451 164522012-07-03 Alexis Menard <alexis.menard@openbossa.org> 16453 16454 [Qt] When calling accept() on the FilePickerContextObject with an empty list, early return and call reject(). 16455 https://bugs.webkit.org/show_bug.cgi?id=89755 16456 16457 Reviewed by Simon Hausmann. 16458 16459 When calling accept with an empty list of files we can just bailout 16460 and call reject(). Any other processing is pointless. 16461 16462 * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: 16463 * UIProcess/qt/QtDialogRunner.cpp: 16464 (WebKit::FilePickerContextObject::accept): 16465 164662012-07-03 Balazs Kelemen <kbalazs@webkit.org> 16467 16468 [Qt][WK2] fast/viewport/viewport-91.html still fails after r121555 and r121661 16469 https://bugs.webkit.org/show_bug.cgi?id=90376 16470 16471 Reviewed by Csaba Osztrogonác. 16472 16473 layoutTestController.dumpConfigurationForViewport still need 16474 to use the constant target DPI of 160. 16475 * WebProcess/WebPage/WebPage.cpp: 16476 (WebKit::WebPage::viewportConfigurationAsText): 16477 164782012-07-03 Christophe Dumez <christophe.dumez@intel.com> 16479 16480 [EFL][WK2] Add API to deliver a Web Intent to a frame 16481 https://bugs.webkit.org/show_bug.cgi?id=90067 16482 16483 Reviewed by Kenneth Rohde Christiansen. 16484 16485 Add ewk_view_intent_deliver() method on the Ewk_View 16486 to deliver a Web Intent to the view's main frame. 16487 16488 * UIProcess/API/efl/ewk_view.cpp: 16489 (ewk_view_intent_deliver): 16490 * UIProcess/API/efl/ewk_view.h: 16491 164922012-07-02 Christophe Dumez <christophe.dumez@intel.com> 16493 16494 [EFL][WK2] Add API to inspect a Web Intent service 16495 https://bugs.webkit.org/show_bug.cgi?id=90066 16496 16497 Reviewed by Kenneth Rohde Christiansen. 16498 16499 Add EFL API to inspect a Web Intent Service and emit 16500 a signal on the view when a new intent service 16501 registers. 16502 16503 * PlatformEfl.cmake: 16504 * UIProcess/API/efl/EWebKit2.h: 16505 * UIProcess/API/efl/ewk_intent_service.cpp: Added. 16506 (_Ewk_Intent_Service): 16507 (ewk_intent_service_ref): 16508 (ewk_intent_service_unref): 16509 (ewk_intent_service_action_get): 16510 (ewk_intent_service_type_get): 16511 (ewk_intent_service_href_get): 16512 (ewk_intent_service_title_get): 16513 (ewk_intent_service_disposition_get): 16514 (ewk_intent_service_new): 16515 * UIProcess/API/efl/ewk_intent_service.h: Added. 16516 * UIProcess/API/efl/ewk_intent_service_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp. 16517 * UIProcess/API/efl/ewk_view.cpp: 16518 (ewk_view_intent_service_register): 16519 * UIProcess/API/efl/ewk_view.h: 16520 * UIProcess/API/efl/ewk_view_loader_client.cpp: 16521 (registerIntentServiceForFrame): 16522 (ewk_view_loader_client_attach): 16523 * UIProcess/API/efl/ewk_view_private.h: 16524 165252012-07-02 Christophe Dumez <christophe.dumez@intel.com> 16526 16527 [WK2][EFL] Free Ewk_Intent calloc'd memory with free() instead of delete 16528 https://bugs.webkit.org/show_bug.cgi?id=90433 16529 16530 Reviewed by Kenneth Rohde Christiansen. 16531 16532 Free calloc'd memory with free() instead of delete in Ewk_Intent. 16533 Add blank lines before return statements for consistency. 16534 16535 * UIProcess/API/efl/ewk_intent.cpp: 16536 (ewk_intent_unref): 16537 (ewk_intent_action_get): 16538 (ewk_intent_type_get): 16539 (ewk_intent_service_get): 16540 (ewk_intent_suggestions_get): 16541 (ewk_intent_extra_get): 16542 (ewk_intent_extra_names_get): 16543 (ewk_intent_new): 16544 165452012-07-02 Martin Robinson <mrobinson@igalia.com> 16546 16547 [TextureMapper] The TextureMapper should support edge-distance anti-antialiasing 16548 https://bugs.webkit.org/show_bug.cgi?id=90308 16549 16550 Reviewed by Noam Rosenthal. 16551 16552 * UIProcess/texmap/LayerBackingStore.cpp: 16553 (WebKit::LayerBackingStore::paintToTextureMapper): Update the method to call paint with 16554 the new argument. 16555 165562012-07-02 Benjamin Poulain <bpoulain@apple.com> 16557 16558 Do not do any logging initialization when logging is disabled 16559 https://bugs.webkit.org/show_bug.cgi?id=90228 16560 16561 Reviewed by Simon Fraser. 16562 16563 * Platform/Logging.cpp: 16564 * Platform/Logging.h: 16565 * UIProcess/WebContext.cpp: 16566 (WebKit::WebContext::WebContext): 16567 * WebProcess/WebProcess.cpp: 16568 (WebKit::WebProcess::WebProcess): 16569 165702012-07-02 No'am Rosenthal <noam.rosenthal@nokia.com> 16571 16572 [Qt][WK2] New API tests introduced in r121620 fail 16573 https://bugs.webkit.org/show_bug.cgi?id=90372 16574 16575 Reviewed by Luiz Agostini. 16576 16577 Updated the pixel comparison to produce more predictable results. 16578 16579 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: 16580 (compareImages): 16581 165822012-07-02 Alexis Menard <alexis.menard@openbossa.org> 16583 16584 [Qt] Fix WebProcess crash on Mac when accessing a site with video tag. 16585 https://bugs.webkit.org/show_bug.cgi?id=90384 16586 16587 Reviewed by Jocelyn Turcotte. 16588 16589 We need to initialize the private symbols used by MediaPlayerPrivateQTKit 16590 otherwise they will be null and it will lead to a crash. We copy WebSystemInterface 16591 files for WK2 just like the Mac port as WK2 may have different needs than WK1 layer (we 16592 may add or remove symbols in here). It doesn't fix the video rendering yet but it's 16593 first step. 16594 16595 * Target.pri: 16596 * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Added. 16597 * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Added. 16598 (InitWebCoreSystemInterfaceForWK2): 16599 * WebProcess/qt/WebProcessMainQt.cpp: 16600 (WebKit::WebProcessMainQt): 16601 166022012-07-02 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 16603 16604 [EFL] [WK2] Remove content sniffer and decoder initialization from WebProcess 16605 https://bugs.webkit.org/show_bug.cgi?id=90275 16606 16607 Reviewed by Martin Robinson. 16608 16609 Do not initialize content sniffer and decoder in the WebProcess 16610 because the initialization is now done in WebCore. 16611 16612 * WebProcess/efl/WebProcessMainEfl.cpp: 16613 (WebKit::WebProcessMainEfl): 16614 166152012-07-02 Sheriff Bot <webkit.review.bot@gmail.com> 16616 16617 Unreviewed, rolling out r120329, r121113, and r121138. 16618 http://trac.webkit.org/changeset/120329 16619 http://trac.webkit.org/changeset/121113 16620 http://trac.webkit.org/changeset/121138 16621 https://bugs.webkit.org/show_bug.cgi?id=90368 16622 16623 Introduced noticeable keyboard-related spins due to 16624 synchronous IPC. (Requested by kling on #webkit). 16625 16626 * UIProcess/WebPageProxy.cpp: 16627 (WebKit::WebPageProxy::handleKeyboardEvent): 16628 (WebKit::WebPageProxy::didReceiveEvent): 16629 * UIProcess/WebPageProxy.h: 16630 (WebPageProxy): 16631 * UIProcess/WebPageProxy.messages.in: 16632 * WebProcess/WebPage/WebPage.cpp: 16633 (WebKit::WebPage::keyEvent): 16634 166352012-07-01 Christophe Dumez <christophe.dumez@intel.com> 16636 16637 [EFL][WK2] Add API to inspect a Web Intent 16638 https://bugs.webkit.org/show_bug.cgi?id=89749 16639 16640 Reviewed by Kenneth Rohde Christiansen. 16641 16642 Add EFL API to inspect a Web Intent and emit a signal 16643 on the view when a new intent request is made. 16644 16645 * PlatformEfl.cmake: 16646 * UIProcess/API/efl/EWebKit2.h: 16647 * UIProcess/API/efl/ewk_intent.cpp: Added. 16648 (_Ewk_Intent): 16649 (ewk_intent_ref): 16650 (ewk_intent_unref): 16651 (ewk_intent_action_get): 16652 (ewk_intent_type_get): 16653 (ewk_intent_service_get): 16654 (ewk_intent_suggestions_get): 16655 (ewk_intent_extra_get): 16656 (ewk_intent_extra_names_get): 16657 (ewk_intent_new): 16658 * UIProcess/API/efl/ewk_intent.h: Added. 16659 * UIProcess/API/efl/ewk_intent_private.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp. 16660 * UIProcess/API/efl/ewk_view.cpp: 16661 (ewk_view_intent_request_new): 16662 * UIProcess/API/efl/ewk_view.h: 16663 * UIProcess/API/efl/ewk_view_loader_client.cpp: 16664 (didReceiveIntentForFrame): 16665 (ewk_view_loader_client_attach): 16666 * UIProcess/API/efl/ewk_view_private.h: 16667 166682012-06-29 Luiz Agostini <luiz.agostini@nokia.com> 16669 16670 [Qt][WK2] Private non-QtQuick API 16671 https://bugs.webkit.org/show_bug.cgi?id=84532 16672 16673 Reviewed by Noam Rosenthal. 16674 16675 Adding new private non-QtQuick API. This new C++ API makes it possible 16676 to have control over the lower levels of WebKit without going via QML. 16677 16678 This is a first version of the API, enough to show pages on the screen. 16679 Many features are not implemented. 16680 16681 * Target.pri: 16682 * UIProcess/API/qt/raw/qrawwebview.cpp: Added. 16683 * UIProcess/API/qt/raw/qrawwebview_p.h: Added. 16684 * UIProcess/API/qt/raw/qrawwebview_p_p.h: Added. 16685 16686 The tests for the new API are pixel tests. They use QRawWebView to load 16687 html files and generate images, and them compare those images to the ones 16688 in UIProcess/API/qt/tests/html/resources. 16689 16690 * UIProcess/API/qt/tests/html/bluesquare.html: Added. 16691 * UIProcess/API/qt/tests/html/redsquare.html: Added. 16692 * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Added. 16693 * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Added. 16694 * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Added. 16695 * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Added. 16696 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Added. 16697 166982012-06-29 Christophe Dumez <christophe.dumez@intel.com> 16699 16700 [WK2] Move intent delivery code from the frame to the page 16701 https://bugs.webkit.org/show_bug.cgi?id=89974 16702 16703 Reviewed by Anders Carlsson. 16704 16705 Move the intent delivery code from the frame to the page 16706 and add the corresponding C API for WKPage. 16707 16708 * UIProcess/API/C/WKPage.cpp: 16709 (WKPageDeliverIntentToFrame): 16710 * UIProcess/API/C/WKPage.h: 16711 * UIProcess/WebFrameProxy.cpp: 16712 (WebKit::WebFrameProxy::stopLoading): 16713 * UIProcess/WebFrameProxy.h: 16714 (WebKit): 16715 * UIProcess/WebPageProxy.cpp: 16716 (WebKit): 16717 (WebKit::WebPageProxy::deliverIntentToFrame): 16718 * UIProcess/WebPageProxy.h: 16719 (WebPageProxy): 16720 167212012-06-29 Dan Bernstein <mitz@apple.com> 16722 16723 Can’t get basic element info from a WKRenderObject 16724 https://bugs.webkit.org/show_bug.cgi?id=90301 16725 16726 Reviewed by Anders Carlsson. 16727 16728 Moved the element info (tag name, id and class names) from WebRenderLayer to WebRenderObject, 16729 and gave WebRenderLayer a reference to a (shallow) WebRenderObject. Added WKRenderObject API 16730 for getting element info, while leaving the WKRenderLayer API in place for now for Safari. 16731 16732 * Shared/API/c/WKRenderLayer.cpp: 16733 (WKRenderLayerGetRenderer): Added this wrapper. 16734 (WKRenderLayerCopyRendererName): Changed to get the name from the renderer. 16735 (WKRenderLayerCopyElementTagName): Changed to go through the renderer. 16736 (WKRenderLayerCopyElementID): Ditto. 16737 (WKRenderLayerGetElementClassNames): Ditto. 16738 * Shared/API/c/WKRenderLayer.h: Added declaration of WKRenderLayerGetRenderer() and comments 16739 about removing older API. 16740 * Shared/API/c/WKRenderObject.cpp: 16741 (WKRenderObjectCopyElementTagName): Added this wrapper. 16742 (WKRenderObjectCopyElementID): Ditto. 16743 (WKRenderObjectGetElementClassNames): Ditto. 16744 * Shared/API/c/WKRenderObject.h: 16745 * Shared/UserMessageCoders.h: 16746 (WebKit::UserMessageEncoder::baseEncode): Removed the element info from the encoding of 16747 WebRenderLayer, and added the renderer. Added the element info to the encoding of 16748 WebRenderObject. 16749 (WebKit::UserMessageDecoder::baseDecode): Updated to match the encoding changes. 16750 * Shared/WebRenderLayer.cpp: 16751 (WebKit::WebRenderLayer::WebRenderLayer): Changed to initialize the m_renderer member 16752 variable with a WebRenderObject for the layer’s renderer, and removed the initialization of 16753 the element-related member variables that were removed. 16754 * Shared/WebRenderLayer.h: 16755 (WebKit::WebRenderLayer::create): Changed to take a renderer instead of renderer and element 16756 info. 16757 (WebKit::WebRenderLayer::renderer): Added this getter. 16758 (WebKit::WebRenderLayer::WebRenderLayer): Changed to take a renderer instead of renderer and 16759 element info. 16760 * Shared/WebRenderObject.cpp: 16761 (WebKit::WebRenderObject::create): Changed to pass true for the shouldIncludeDescendants 16762 parameter. 16763 (WebKit::WebRenderObject::WebRenderObject): Added a shouldIncludeDescdendants boolean 16764 parameter. When it is false, the m_children array remains null. Added initialization of 16765 member variables with the element’s tag name, id and class list. 16766 * Shared/WebRenderObject.h: 16767 (WebKit::WebRenderObject::create): Added an overload that takes a RenderObject and creates 16768 a shallow WebRenderObject. 16769 (WebRenderObject): Changed to take element tag name, id and class list. 16770 (WebKit::WebRenderObject::elementTagName): Added this getter. 16771 (WebKit::WebRenderObject::elementID): Ditto. 16772 (WebKit::WebRenderObject::elementClassNames): Ditto. 16773 (WebKit::WebRenderObject::WebRenderObject): 16774 167752012-06-29 Tony Chang <tony@chromium.org> 16776 16777 Unreviewed, rolling out r121572. 16778 http://trac.webkit.org/changeset/121572 16779 https://bugs.webkit.org/show_bug.cgi?id=90249 16780 16781 Breaks Mac build since it depends on r121547, which was rolled 16782 out 16783 16784 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 16785 (WebKit::NPN_GetValue): 16786 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 16787 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 16788 * WebProcess/WebCoreSupport/WebEditorClient.h: 16789 167902012-06-29 Eric Seidel <eric@webkit.org> 16791 16792 Remove BUILDING_ON_LEOPARD now that no ports build on Leopard 16793 https://bugs.webkit.org/show_bug.cgi?id=90249 16794 16795 Reviewed by Ryosuke Niwa. 16796 16797 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 16798 (WebKit::NPN_GetValue): 16799 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 16800 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 16801 * WebProcess/WebCoreSupport/WebEditorClient.h: 16802 168032012-06-29 Konrad Piascik <kpiascik@rim.com> 16804 16805 Don't hardcode target dpi of 160 (it should be 96 on desktop) 16806 https://bugs.webkit.org/show_bug.cgi?id=88114 16807 16808 Reviewed by Adam Barth. 16809 16810 Updated the call to computeViewportAttributes. 16811 16812 * WebProcess/WebPage/WebPage.cpp: 16813 (WebKit::WebPage::sendViewportAttributesChanged): 16814 (WebKit::WebPage::viewportConfigurationAsText): 16815 168162012-06-29 Sheriff Bot <webkit.review.bot@gmail.com> 16817 16818 Unreviewed, rolling out r121529. 16819 http://trac.webkit.org/changeset/121529 16820 https://bugs.webkit.org/show_bug.cgi?id=90260 16821 16822 Failed to compile on Chromium WebKitMacBuilder (Requested by 16823 keishi on #webkit). 16824 16825 * UIProcess/mac/WKFullScreenWindowController.mm: 16826 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): 16827 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): 16828 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 16829 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 16830 (InitWebCoreSystemInterface): 16831 168322012-06-29 Eric Seidel <eric@webkit.org> 16833 16834 Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard 16835 https://bugs.webkit.org/show_bug.cgi?id=90252 16836 16837 Reviewed by Ryosuke Niwa. 16838 16839 * UIProcess/mac/WKFullScreenWindowController.mm: 16840 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): 16841 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): 16842 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 16843 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 16844 (InitWebCoreSystemInterface): 16845 168462012-06-28 MORITA Hajime <morrita@google.com> 16847 16848 [Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker 16849 https://bugs.webkit.org/show_bug.cgi?id=89732 16850 16851 Reviewed by Dimitri Glazkov. 16852 16853 * win/WebKit2.def: 16854 * win/WebKit2CFLite.def: 16855 168562012-06-28 John Sullivan <sullivan@apple.com> 16857 16858 <https://bugs.webkit.org/show_bug.cgi?id=90216> 16859 <rdar://problem/11766518> 16860 Undo handling in WebKit2 is not robust against some page-closing code paths 16861 16862 Reviewed by Enrica Casucci. 16863 16864 * UIProcess/API/mac/PageClientImpl.h: 16865 Declared public function viewWillMoveToAnotherWindow(). 16866 16867 * UIProcess/API/mac/PageClientImpl.mm: 16868 (WebKit::PageClientImpl::viewWillMoveToAnotherWindow): 16869 New function, calls clearAllEditCommands() to remove any Undo actions from the stack. 16870 This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed. 16871 16872 * UIProcess/API/mac/WKView.mm: 16873 (-[WKView viewWillMoveToWindow:]): 16874 Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow(). 16875 168762012-06-28 Christophe Dumez <christophe.dumez@intel.com> 16877 16878 [WK2] Add C API to inspect a Web Intent service 16879 https://bugs.webkit.org/show_bug.cgi?id=89276 16880 16881 Reviewed by Anders Carlsson. 16882 16883 Add C API for Web intent service so that it can be queried 16884 on client side. 16885 16886 * CMakeLists.txt: 16887 * GNUmakefile.list.am: 16888 * Target.pri: 16889 * UIProcess/API/C/WKIntentServiceInfo.cpp: Added. 16890 (WKIntentServiceInfoGetTypeID): 16891 (WKIntentServiceInfoCopyAction): 16892 (WKIntentServiceInfoCopyType): 16893 (WKIntentServiceInfoCopyHref): 16894 (WKIntentServiceInfoCopyTitle): 16895 (WKIntentServiceInfoCopyDisposition): 16896 * UIProcess/API/C/WKIntentServiceInfo.h: Added. 16897 168982012-06-28 Balazs Kelemen <kbalazs@webkit.org> 16899 16900 [Qt] KURL assert at fast/loader/opaque-base-url.html 16901 https://bugs.webkit.org/show_bug.cgi?id=89468 16902 16903 Reviewed by Simon Hausmann. 16904 16905 Don't use the KURL(ParsedURLStringTag, const String&) constructor. 16906 We cannot be sure that the url in encode was valid and even if it 16907 was the message could have been corrupted. 16908 * Shared/qt/WebCoreArgumentCodersQt.cpp: 16909 (CoreIPC::::encode): 16910 (CoreIPC::::decode): 16911 169122012-06-27 Carlos Garcia Campos <cgarcia@igalia.com> 16913 16914 Unreviewed. Fix the build without TEXTURE_MAPPER_GL. 16915 16916 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 16917 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 16918 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 16919 (WebKit::WebPage::platformInitialize): 16920 169212012-06-25 Mark Hahnenberg <mhahnenberg@apple.com> 16922 16923 JSLock should be per-JSGlobalData 16924 https://bugs.webkit.org/show_bug.cgi?id=89123 16925 16926 Reviewed by Geoffrey Garen. 16927 16928 Changed all sites that used JSLock to instead use the new JSLockHolder 16929 and pass in the correct JS context that the code is about to interact with that 16930 needs protection. Also added a couple JSLocks to places that didn't already 16931 have it that needed it. 16932 16933 * Shared/mac/WebMemorySampler.mac.mm: 16934 (WebKit::WebMemorySampler::sampleWebKit): 16935 * WebProcess/InjectedBundle/InjectedBundle.cpp: 16936 (WebKit::InjectedBundle::javaScriptObjectsCount): 16937 (WebKit::InjectedBundle::reportException): 16938 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 16939 (WebKit::JSNPObject::callMethod): 16940 (WebKit::JSNPObject::callObject): 16941 (WebKit::JSNPObject::callConstructor): 16942 (WebKit::JSNPObject::put): 16943 (WebKit::JSNPObject::deleteProperty): 16944 (WebKit::JSNPObject::getOwnPropertyNames): 16945 (WebKit::JSNPObject::propertyGetter): 16946 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 16947 (WebKit::NPJSObject::hasMethod): 16948 (WebKit::NPJSObject::invoke): 16949 (WebKit::NPJSObject::invokeDefault): 16950 (WebKit::NPJSObject::hasProperty): 16951 (WebKit::NPJSObject::getProperty): 16952 (WebKit::NPJSObject::setProperty): 16953 (WebKit::NPJSObject::removeProperty): 16954 (WebKit::NPJSObject::enumerate): 16955 (WebKit::NPJSObject::construct): 16956 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 16957 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 16958 (WebKit::NPRuntimeObjectMap::evaluate): 16959 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 16960 * WebProcess/WebPage/WebFrame.cpp: 16961 (WebKit::WebFrame::jsWrapperForWorld): 16962 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): 16963 * WebProcess/WebPage/WebPage.cpp: 16964 (WebKit::WebPage::runJavaScriptInMainFrame): 16965 * WebProcess/WebProcess.cpp: 16966 (WebKit::WebProcess::getWebCoreStatistics): 16967 169682012-06-27 Thiago Marcos P. Santos <thiago.santos@intel.com> 16969 16970 REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail 16971 https://bugs.webkit.org/show_bug.cgi?id=89871 16972 16973 Reviewed by Simon Hausmann. 16974 16975 Added proper event synchronization to the test case. 16976 16977 * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: 16978 169792012-06-27 Brady Eidson <beidson@apple.com> 16980 16981 https://bugs.webkit.org/show_bug.cgi?id=87513 16982 WebBackForwardList needs an overhaul to consistently and clearly handle error conditions. 16983 16984 Reviewed by Darin Adler. 16985 16986 - We think a null entry might somehow be getting in the list so we now try to prevent that. 16987 - We think a null entry might somehow be in the list so we now null check when indexing into m_entries. 16988 - A lot of index math - especially tracking "no current index" - was implicit or wrong. 16989 - Operating on a WebBackForwardList whose page has been closed is now an explicit no-op. 16990 - The session state data reading and writing code was fragile and needed an overhaul. 16991 - This includes adding a new V1 format of the session data that is easier to validate when reading back in. 16992 16993 * UIProcess/WebBackForwardList.cpp: 16994 (WebKit::WebBackForwardList::~WebBackForwardList): 16995 (WebKit::WebBackForwardList::pageClosed): 16996 (WebKit::WebBackForwardList::addItem): 16997 (WebKit::WebBackForwardList::goToItem): 16998 (WebKit::WebBackForwardList::backListCount): 16999 (WebKit::WebBackForwardList::forwardListCount): 17000 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 17001 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 17002 (WebKit::WebBackForwardList::clear): 17003 17004 * UIProcess/WebBackForwardList.h: 17005 (WebBackForwardList): 17006 17007 * UIProcess/cf/WebBackForwardListCF.cpp: 17008 (WebKit::createEmptySessionHistoryDictionary): 17009 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 17010 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 17011 (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation): 17012 (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation): 17013 (WebKit::extractBackForwardListEntriesFromArray): 17014 170152012-06-27 Zan Dobersek <zandobersek@gmail.com> 17016 17017 [Gtk] Add support for the Gamepad API 17018 https://bugs.webkit.org/show_bug.cgi?id=87503 17019 17020 Reviewed by Carlos Garcia Campos. 17021 17022 Add the Gamepad feature dependencies libraries to the LIBADD 17023 list for the libwebkitgtk2 library. 17024 17025 * GNUmakefile.am: 17026 170272012-06-26 Simon Hausmann <simon.hausmann@nokia.com> 17028 17029 [Qt] Avoid use of deprecated Qt API 17030 17031 Reviewed by Tor Arne Vestbø. 17032 17033 QGuiApplication::inputPanel() has been deprecated in favour of 17034 inputMethod(). 17035 17036 * UIProcess/qt/QtWebPageEventHandler.cpp: 17037 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler): 17038 (WebKit::QtWebPageEventHandler::~QtWebPageEventHandler): 17039 (WebKit::setInputPanelVisible): 17040 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged): 17041 (WebKit::QtWebPageEventHandler::updateTextInputState): 17042 170432012-06-26 Christophe Dumez <christophe.dumez@intel.com> 17044 17045 [WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp 17046 https://bugs.webkit.org/show_bug.cgi?id=89948 17047 17048 Reviewed by Martin Robinson. 17049 17050 Properly initialize didInitializeState in 17051 TextChecker::state(). 17052 17053 * UIProcess/gtk/TextCheckerGtk.cpp: 17054 (WebKit::TextChecker::state): 17055 170562012-06-25 Simon Hausmann <simon.hausmann@nokia.com> 17057 17058 [Qt] Make it possible to build WebKit without QtWidgets 17059 https://bugs.webkit.org/show_bug.cgi?id=78109 17060 17061 Reviewed by Tor Arne Vestbø. 17062 17063 * WebKit2.pri: Add missing WK2 specific dependencies. 17064 * qt/MainQt.cpp: Do the QStyle initialization hook only if we are 17065 compiling with QtWidgets support. 17066 (WebKit): 17067 (main): 17068 170692012-06-25 Raphael Kubo da Costa <rakuco@webkit.org> 17070 17071 [EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h. 17072 https://bugs.webkit.org/show_bug.cgi?id=89804 17073 17074 Reviewed by Hajime Morita. 17075 17076 The pid_t typedef ends up coming from stdlib.h (indirectly via WTF 17077 includes) on Mac and Linux, even though that is not mandated by 17078 POSIX and breaks other platforms (such as FreeBSD). Fix that by 17079 explicitly including unistd.h, which is where the typedef is 17080 supposed to come from. 17081 17082 * Platform/PlatformProcessIdentifier.h: 17083 170842012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com> 17085 17086 [WK2][Qt][EFL] Extract common code from LayerTreeHostQt 17087 https://bugs.webkit.org/show_bug.cgi?id=89837 17088 17089 Reviewed by Noam Rosenthal. 17090 17091 Extract common code from LayerTreeHostQt to be used by both Qt and Efl. 17092 I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator. 17093 I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair. 17094 Also WebGraphicsLayer moved under that directory. 17095 17096 * CMakeLists.txt: 17097 * DerivedSources.pri: 17098 * GNUmakefile.list.am: 17099 * Platform/CoreIPC/MessageID.h: 17100 * Target.pri: 17101 * UIProcess/API/qt/qquickwebpage.cpp: 17102 (QQuickWebPagePrivate::paint): 17103 (QQuickWebPage::updatePaintNode): 17104 (QQuickWebPagePrivate::updateSize): 17105 * UIProcess/DrawingAreaProxy.cpp: 17106 (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage): 17107 * UIProcess/DrawingAreaProxy.h: 17108 (WebKit): 17109 (WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy): 17110 (DrawingAreaProxy): 17111 * UIProcess/DrawingAreaProxyImpl.cpp: 17112 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 17113 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 17114 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage): 17115 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect): 17116 * UIProcess/DrawingAreaProxyImpl.h: 17117 (WebKit): 17118 (DrawingAreaProxyImpl): 17119 * UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp. 17120 (WebKit): 17121 (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy): 17122 (WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy): 17123 (WebKit::LayerTreeCoordinatorProxy::updateViewport): 17124 (WebKit::LayerTreeCoordinatorProxy::dispatchUpdate): 17125 (WebKit::LayerTreeCoordinatorProxy::createTileForLayer): 17126 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer): 17127 (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer): 17128 (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer): 17129 (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer): 17130 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState): 17131 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren): 17132 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters): 17133 (WebKit::LayerTreeCoordinatorProxy::didRenderFrame): 17134 (WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage): 17135 (WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage): 17136 (WebKit::LayerTreeCoordinatorProxy::setContentsSize): 17137 (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect): 17138 (WebKit::LayerTreeCoordinatorProxy::renderNextFrame): 17139 (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition): 17140 (WebKit::LayerTreeCoordinatorProxy::syncCanvas): 17141 (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores): 17142 * UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h. 17143 (WebKit): 17144 (LayerTreeCoordinatorProxy): 17145 (WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer): 17146 * UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in. 17147 * UIProcess/WebLayerTreeRenderer.cpp: 17148 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer): 17149 (WebKit::WebLayerTreeRenderer::updateViewport): 17150 (WebKit::WebLayerTreeRenderer::renderNextFrame): 17151 (WebKit::WebLayerTreeRenderer::purgeBackingStores): 17152 (WebKit::WebLayerTreeRenderer::detach): 17153 * UIProcess/WebLayerTreeRenderer.h: 17154 (WebKit): 17155 (WebLayerTreeRenderer): 17156 * UIProcess/WebPageProxy.cpp: 17157 (WebKit::WebPageProxy::didReceiveMessage): 17158 * WebKit2.pri: 17159 * WebProcess/WebPage/DrawingArea.h: 17160 (DrawingArea): 17161 * WebProcess/WebPage/DrawingAreaImpl.cpp: 17162 (WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage): 17163 * WebProcess/WebPage/DrawingAreaImpl.h: 17164 (DrawingAreaImpl): 17165 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp. 17166 (WebKit): 17167 (WebKit::LayerTreeCoordinator::create): 17168 (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator): 17169 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator): 17170 (WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled): 17171 (WebKit::LayerTreeCoordinator::scheduleLayerFlush): 17172 (WebKit::LayerTreeCoordinator::cancelPendingLayerFlush): 17173 (WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush): 17174 (WebKit::LayerTreeCoordinator::setRootCompositingLayer): 17175 (WebKit::LayerTreeCoordinator::invalidate): 17176 (WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay): 17177 (WebKit::LayerTreeCoordinator::scrollNonCompositedContents): 17178 (WebKit::LayerTreeCoordinator::forceRepaint): 17179 (WebKit::LayerTreeCoordinator::sizeDidChange): 17180 (WebKit::LayerTreeCoordinator::didInstallPageOverlay): 17181 (WebKit::LayerTreeCoordinator::didUninstallPageOverlay): 17182 (WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay): 17183 (WebKit::LayerTreeCoordinator::setPageOverlayOpacity): 17184 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges): 17185 (WebKit::LayerTreeCoordinator::syncLayerState): 17186 (WebKit::LayerTreeCoordinator::syncLayerChildren): 17187 (WebKit::LayerTreeCoordinator::syncCanvas): 17188 (WebKit::LayerTreeCoordinator::syncLayerFilters): 17189 (WebKit::LayerTreeCoordinator::attachLayer): 17190 (WebKit::LayerTreeCoordinator::detachLayer): 17191 (WebKit::updateOffsetFromViewportForSelf): 17192 (WebKit::updateOffsetFromViewportForLayer): 17193 (WebKit::LayerTreeCoordinator::syncFixedLayers): 17194 (WebKit::LayerTreeCoordinator::performScheduledLayerFlush): 17195 (WebKit::LayerTreeCoordinator::layerFlushTimerFired): 17196 (WebKit::LayerTreeCoordinator::createPageOverlayLayer): 17197 (WebKit::LayerTreeCoordinator::destroyPageOverlayLayer): 17198 (WebKit::LayerTreeCoordinator::adoptImageBackingStore): 17199 (WebKit::LayerTreeCoordinator::releaseImageBackingStore): 17200 (WebKit::LayerTreeCoordinator::notifyAnimationStarted): 17201 (WebKit::LayerTreeCoordinator::notifySyncRequired): 17202 (WebKit::LayerTreeCoordinator::paintContents): 17203 (WebKit::LayerTreeCoordinator::showDebugBorders): 17204 (WebKit::LayerTreeCoordinator::showRepaintCounter): 17205 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 17206 (WebKit::LayerTreeCoordinator::createTile): 17207 (WebKit::LayerTreeCoordinator::updateTile): 17208 (WebKit::LayerTreeCoordinator::removeTile): 17209 (WebKit::LayerTreeCoordinator::visibleContentsRect): 17210 (WebKit::LayerTreeCoordinator::setVisibleContentsRect): 17211 (WebKit::LayerTreeCoordinator::renderNextFrame): 17212 (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed): 17213 (WebKit::LayerTreeCoordinator::purgeBackingStores): 17214 (WebKit::LayerTreeCoordinator::beginContentUpdate): 17215 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h. 17216 (WebKit): 17217 (LayerTreeCoordinator): 17218 (WebKit::LayerTreeCoordinator::layerTreeContext): 17219 (WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting): 17220 (WebKit::LayerTreeCoordinator::pauseRendering): 17221 (WebKit::LayerTreeCoordinator::resumeRendering): 17222 (WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange): 17223 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in. 17224 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp. 17225 (WebCore): 17226 (WebCore::layerByIDMap): 17227 (WebCore::WebGraphicsLayer::layerByID): 17228 (WebCore::toWebLayerID): 17229 (WebCore::WebGraphicsLayer::didChangeLayerState): 17230 (WebCore::WebGraphicsLayer::didChangeChildren): 17231 (WebCore::WebGraphicsLayer::didChangeFilters): 17232 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect): 17233 (WebCore::WebGraphicsLayer::didChangeGeometry): 17234 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 17235 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 17236 (WebCore::WebGraphicsLayer::willBeDestroyed): 17237 (WebCore::WebGraphicsLayer::setChildren): 17238 (WebCore::WebGraphicsLayer::addChild): 17239 (WebCore::WebGraphicsLayer::addChildAtIndex): 17240 (WebCore::WebGraphicsLayer::addChildAbove): 17241 (WebCore::WebGraphicsLayer::addChildBelow): 17242 (WebCore::WebGraphicsLayer::replaceChild): 17243 (WebCore::WebGraphicsLayer::removeFromParent): 17244 (WebCore::WebGraphicsLayer::setPosition): 17245 (WebCore::WebGraphicsLayer::setAnchorPoint): 17246 (WebCore::WebGraphicsLayer::setSize): 17247 (WebCore::WebGraphicsLayer::setTransform): 17248 (WebCore::WebGraphicsLayer::setChildrenTransform): 17249 (WebCore::WebGraphicsLayer::setPreserves3D): 17250 (WebCore::WebGraphicsLayer::setMasksToBounds): 17251 (WebCore::WebGraphicsLayer::setDrawsContent): 17252 (WebCore::WebGraphicsLayer::setContentsOpaque): 17253 (WebCore::WebGraphicsLayer::setBackfaceVisibility): 17254 (WebCore::WebGraphicsLayer::setOpacity): 17255 (WebCore::WebGraphicsLayer::setContentsRect): 17256 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 17257 (WebCore::WebGraphicsLayer::setContentsToCanvas): 17258 (WebCore::WebGraphicsLayer::setFilters): 17259 (WebCore::WebGraphicsLayer::setContentsToImage): 17260 (WebCore::WebGraphicsLayer::setMaskLayer): 17261 (WebCore::WebGraphicsLayer::setReplicatedByLayer): 17262 (WebCore::WebGraphicsLayer::setNeedsDisplay): 17263 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 17264 (WebCore::WebGraphicsLayer::id): 17265 (WebCore::WebGraphicsLayer::syncCompositingState): 17266 (WebCore::toWebGraphicsLayer): 17267 (WebCore::WebGraphicsLayer::syncChildren): 17268 (WebCore::WebGraphicsLayer::syncFilters): 17269 (WebCore::WebGraphicsLayer::syncLayerState): 17270 (WebCore::WebGraphicsLayer::syncCanvas): 17271 (WebCore::WebGraphicsLayer::ensureImageBackingStore): 17272 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 17273 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin): 17274 (WebCore::WebGraphicsLayer::setRootLayer): 17275 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 17276 (WebCore::WebGraphicsLayer::setContentsScale): 17277 (WebCore::WebGraphicsLayer::effectiveContentsScale): 17278 (WebCore::WebGraphicsLayer::adjustContentsScale): 17279 (WebCore::WebGraphicsLayer::createBackingStore): 17280 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 17281 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd): 17282 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed): 17283 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 17284 (WebCore::WebGraphicsLayer::shouldUseTiledBackingStore): 17285 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 17286 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor): 17287 (WebCore::WebGraphicsLayer::beginContentUpdate): 17288 (WebCore::WebGraphicsLayer::createTile): 17289 (WebCore::WebGraphicsLayer::updateTile): 17290 (WebCore::WebGraphicsLayer::removeTile): 17291 (WebCore::WebGraphicsLayer::updateContentBuffers): 17292 (WebCore::WebGraphicsLayer::purgeBackingStores): 17293 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient): 17294 (WebCore::WebGraphicsLayer::adjustVisibleRect): 17295 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect): 17296 (WebCore::createWebGraphicsLayer): 17297 (WebCore::WebGraphicsLayer::initFactory): 17298 (WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms): 17299 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h. 17300 (WebCore): 17301 (WebKit): 17302 (WebGraphicsLayerClient): 17303 (WebGraphicsLayer): 17304 (WebCore::WebGraphicsLayer::image): 17305 (WebCore::WebGraphicsLayer::fixedToViewport): 17306 (WebCore::WebGraphicsLayer::setFixedToViewport): 17307 (WebCore::WebGraphicsLayer::maskTarget): 17308 (WebCore::WebGraphicsLayer::setMaskTarget): 17309 * WebProcess/WebPage/LayerTreeHost.cpp: 17310 (WebKit::LayerTreeHost::create): 17311 * WebProcess/WebPage/LayerTreeHost.h: 17312 (LayerTreeHost): 17313 * WebProcess/WebPage/WebPage.cpp: 17314 (WebKit::WebPage::didReceiveMessage): 17315 173162012-06-25 Anders Carlsson <andersca@apple.com> 17317 17318 [Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert 17319 https://bugs.webkit.org/show_bug.cgi?id=89611 17320 <rdar://problem/11714023> 17321 17322 Reviewed by Sam Weinig. 17323 17324 Make sure to send the response along to the plug-in in the case where the stream was empty. 17325 17326 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17327 (WebKit::WebFrameLoaderClient::finishedLoading): 17328 173292012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com> 17330 17331 [WK2][Qt][EFL] Move LayerBackingStore into common directory 17332 https://bugs.webkit.org/show_bug.cgi?id=89838 17333 17334 Reviewed by Noam Rosenthal. 17335 17336 Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl. 17337 17338 * Target.pri: 17339 * UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp. 17340 (WebKit): 17341 (WebKit::LayerBackingStoreTile::swapBuffers): 17342 (WebKit::LayerBackingStoreTile::setBackBuffer): 17343 (WebKit::LayerBackingStore::createTile): 17344 (WebKit::LayerBackingStore::removeTile): 17345 (WebKit::LayerBackingStore::updateTile): 17346 (WebKit::LayerBackingStore::texture): 17347 (WebKit::LayerBackingStore::paintToTextureMapper): 17348 (WebKit::LayerBackingStore::commitTileOperations): 17349 * UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h. 17350 (WebKit): 17351 (LayerBackingStoreTile): 17352 (WebKit::LayerBackingStoreTile::LayerBackingStoreTile): 17353 (WebKit::LayerBackingStoreTile::scale): 17354 (LayerBackingStore): 17355 (WebKit::LayerBackingStore::create): 17356 (WebKit::LayerBackingStore::LayerBackingStore): 17357 173582012-06-25 Carlos Garcia Campos <cgarcia@igalia.com> 17359 17360 [GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning 17361 https://bugs.webkit.org/show_bug.cgi?id=89858 17362 17363 Reviewed by Xan Lopez. 17364 17365 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 17366 (testWebViewPermissionRequests): Make runtime warnings non-fatal 17367 for test /webkit2/WebKitWebView/permission-requests. 17368 173692012-06-25 Huang Dongsung <luxtella@company100.net> 17370 17371 [GTK] Remove unused code in LayerTreeHostGtk. 17372 https://bugs.webkit.org/show_bug.cgi?id=89854 17373 17374 LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have 17375 virtual float deviceScaleFactor() const; 17376 17377 Reviewed by Martin Robinson. 17378 17379 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 17380 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 17381 (LayerTreeHostGtk): 17382 173832012-06-24 Andreas Kling <kling@webkit.org> 17384 17385 REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages. 17386 <rdar://problem/11686974> 17387 <http://webkit.org/b/89659> 17388 17389 Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent() 17390 rather than didReceiveEvent(). 17391 17392 * UIProcess/WebPageProxy.cpp: 17393 (WebKit::WebPageProxy::handleKeyboardEvent): 17394 (WebKit::WebPageProxy::didReceiveKeyEvent): 17395 173962012-06-24 YoungTaeck Song <youngtaeck.song@samsung.com> 17397 17398 [WK2][Qt][EFL] Modify Qt specific code to common code 17399 https://bugs.webkit.org/show_bug.cgi?id=89839 17400 17401 Reviewed by Noam Rosenthal. 17402 17403 Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl. 17404 17405 * UIProcess/WebLayerTreeRenderer.cpp: 17406 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext): 17407 174082012-06-24 Simon Fraser <simon.fraser@apple.com> 17409 17410 Rename isPositioned to isOutOfFlowPositioned for clarity 17411 https://bugs.webkit.org/show_bug.cgi?id=89836 17412 17413 Reviewed by Antti Koivisto. 17414 17415 RenderObject and RenderStyle had an isPositioned() method that was 17416 confusing, because it excluded relative positioning. Rename to 17417 isOutOfFlowPositioned(), which makes it clearer that it only applies 17418 to absolute and fixed positioning. 17419 17420 Simple rename; no behavior change. 17421 17422 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 17423 (WebKit::updateOffsetFromViewportForSelf): 17424 174252012-06-24 Andreas Kling <kling@webkit.org> 17426 17427 REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages. 17428 <rdar://problem/11686974> 17429 <http://webkit.org/b/89659> 17430 17431 Reviewed by Sam Weinig. 17432 17433 Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply, 17434 use proper synchronous messages. This makes the WebProcess block while the UIProcess handles 17435 the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before 17436 a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that 17437 invalidates the frame ID passed to DecidePolicyForNavigationAction. 17438 17439 This is a speculative fire-fighting fix. 17440 17441 * UIProcess/WebPageProxy.cpp: 17442 (WebKit::WebPageProxy::didReceiveKeyEvent): 17443 (WebKit::WebPageProxy::didReceiveEvent): 17444 * UIProcess/WebPageProxy.h: 17445 * UIProcess/WebPageProxy.messages.in: 17446 * WebProcess/WebPage/WebPage.cpp: 17447 (WebKit::WebPage::keyEvent): 17448 174492012-06-23 Sheriff Bot <webkit.review.bot@gmail.com> 17450 17451 Unreviewed, rolling out r121058. 17452 http://trac.webkit.org/changeset/121058 17453 https://bugs.webkit.org/show_bug.cgi?id=89809 17454 17455 Patch causes plugins tests to crash in GTK debug builds 17456 (Requested by zdobersek on #webkit). 17457 17458 * Shared/mac/WebMemorySampler.mac.mm: 17459 (WebKit::WebMemorySampler::sampleWebKit): 17460 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17461 (WebKit::InjectedBundle::javaScriptObjectsCount): 17462 (WebKit::InjectedBundle::reportException): 17463 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 17464 (WebKit::JSNPObject::callMethod): 17465 (WebKit::JSNPObject::callObject): 17466 (WebKit::JSNPObject::callConstructor): 17467 (WebKit::JSNPObject::put): 17468 (WebKit::JSNPObject::deleteProperty): 17469 (WebKit::JSNPObject::getOwnPropertyNames): 17470 (WebKit::JSNPObject::propertyGetter): 17471 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 17472 (WebKit::NPJSObject::hasMethod): 17473 (WebKit::NPJSObject::invoke): 17474 (WebKit::NPJSObject::invokeDefault): 17475 (WebKit::NPJSObject::hasProperty): 17476 (WebKit::NPJSObject::getProperty): 17477 (WebKit::NPJSObject::setProperty): 17478 (WebKit::NPJSObject::removeProperty): 17479 (WebKit::NPJSObject::enumerate): 17480 (WebKit::NPJSObject::construct): 17481 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 17482 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 17483 (WebKit::NPRuntimeObjectMap::evaluate): 17484 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 17485 * WebProcess/WebPage/WebFrame.cpp: 17486 (WebKit::WebFrame::jsWrapperForWorld): 17487 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): 17488 * WebProcess/WebPage/WebPage.cpp: 17489 (WebKit::WebPage::runJavaScriptInMainFrame): 17490 * WebProcess/WebProcess.cpp: 17491 (WebKit::WebProcess::getWebCoreStatistics): 17492 174932012-06-23 Zan Dobersek <zandobersek@gmail.com> 17494 17495 Unreviewed build fix for GTK's WebKit2 build after r121093. 17496 17497 * UIProcess/API/gtk/WebKitWebView.cpp: 17498 (webkitWebViewPopulateContextMenu): 17499 175002012-06-23 Carlos Garcia Campos <cgarcia@igalia.com> 17501 17502 Unreviewed. Fix several GTK+ unit tests. 17503 17504 GTK+ unit tests using WebViewTest::wait() started to fail due to a 17505 bug introduced in r121093. 17506 17507 * UIProcess/API/gtk/tests/WebViewTest.cpp: 17508 (WebViewTest::wait): Use this instead of m_mainLoop as user data 17509 for the idle callback. 17510 175112012-06-23 Carlos Garcia Campos <cgarcia@igalia.com> 17512 17513 [GTK] Add ContextMenu API to WebKit2 GTK+ API 17514 https://bugs.webkit.org/show_bug.cgi?id=81011 17515 17516 Reviewed by Martin Robinson. 17517 17518 Add WebKitWebView::context-menu signal and WebKitContextMenu and 17519 WebKitContextMenuItem objects to customize the default menu or 17520 buils new menus. 17521 17522 * GNUmakefile.list.am: Add new files to destination. 17523 * UIProcess/API/gtk/WebKitContextMenu.cpp: Added. 17524 (webkitContextMenuFinalize): 17525 (webkit_context_menu_init): 17526 (webkit_context_menu_class_init): 17527 (webkitContextMenuPopulate): Populate the given vector of 17528 ContextMenuItems with the WebKitContextMenu items releasing the 17529 items added to the vector. 17530 (webkitContextMenuCreate): Create a new WebKitContextMenu for the 17531 given WKArrayRef of WKContextMenuItemRef. 17532 (webkitContextMenuSetParentItem): Set the parent menu item of the 17533 menu. Used when a menu is added as a submenu of a menu item. 17534 (webkitContextMenuGetParentItem): Return the parent menu item of 17535 the menu. 17536 (webkit_context_menu_new): Create a new WebKitContextMenu. 17537 (webkit_context_menu_new_with_items): Create a new 17538 WebKitContextMenu using the given list of WebKitContextMenuItem. 17539 (webkit_context_menu_prepend): Add item at the beginning. 17540 (webkit_context_menu_append): Add item at the end. 17541 (webkit_context_menu_insert): Insert item at a random position. 17542 (webkit_context_menu_move_item): Move an existing item to a new 17543 position. 17544 (webkit_context_menu_get_items): Get the list of items. 17545 (webkit_context_menu_get_n_items): Get the number of items. 17546 (webkit_context_menu_first): Get the first item. 17547 (webkit_context_menu_last): Get the last item. 17548 (webkit_context_menu_get_item_at_position): Get the item at the 17549 given position. 17550 (webkit_context_menu_remove): Remove the given item. 17551 (webkit_context_menu_remove_all): Remove all items. 17552 * UIProcess/API/gtk/WebKitContextMenu.h: Added. 17553 * UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added. 17554 (webkitContextMenuActionIsCheckable): Check if the given stock 17555 action is a toggle action. 17556 (webkitContextMenuActionGetActionTag): Get the WebCore 17557 ContextMenuAction corresponding to the given stock action. 17558 (webkitContextMenuActionGetForContextMenuItem): Get the stock 17559 action corresponding to the given WebCore ContextMenuAction. 17560 (webkitContextMenuActionGetLabel): Get the label string of the 17561 given stock action. 17562 * UIProcess/API/gtk/WebKitContextMenuActions.h: Added. 17563 * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added. 17564 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added. 17565 (webkitContextMenuItemFinalize): 17566 (webkit_context_menu_item_init): 17567 (webkit_context_menu_item_class_init): 17568 (checkAndWarnIfMenuHasParentItem): Check whether the given menu 17569 is already inside another menu showing a warning in such case. 17570 (webkitContextMenuItemSetSubMenu): Set the submenu of a menu item, 17571 checking that the menu is not part of another menu and setting the 17572 item as the parent of the submenu. 17573 (webkitContextMenuItemCreate): Create a new WebKitContextMenuItem 17574 for the given WKContextMenuItemRef. 17575 (webkitContextMenuItemCreateForGtkItem): Create a new 17576 WebKitContextMenuItem using the given GtkMenuItem. 17577 (webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given 17578 GtkMenu as submenu of the item. This is used only to add Input 17579 Methods submenu that is created by GTK. 17580 (webkitContextMenuItemRelease): Release the WebCore 17581 ContextMenuItem associated to the item. 17582 (webkit_context_menu_item_new): Create a new WebKitContextMenuItem 17583 for the given GtkAction. 17584 (webkit_context_menu_item_new_from_stock_action): Create a new 17585 WebKitContextMenuItem for a stock action. 17586 (webkit_context_menu_item_new_from_stock_action_with_label): 17587 Create a new WebKitContextMenuItem for a stock action using a 17588 custom label. 17589 (webkit_context_menu_item_new_with_submenu): Create a new 17590 WebKitContextMenuItem with a submenu. 17591 (webkit_context_menu_item_new_separator): Create a new separator 17592 menu item. 17593 (webkit_context_menu_item_get_action): Get the GtkAction of the item. 17594 (webkit_context_menu_item_get_stock_action): Get the stock action 17595 of the item. 17596 (webkit_context_menu_item_is_separator): Whether item is a separator. 17597 (webkit_context_menu_item_set_submenu): Set or replace the 17598 submenu of the item. 17599 (webkit_context_menu_item_get_submenu): Get the submenu of the item. 17600 * UIProcess/API/gtk/WebKitContextMenuItem.h: Added. 17601 * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added. 17602 * UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added. 17603 * UIProcess/API/gtk/WebKitDefines.h: 17604 * UIProcess/API/gtk/WebKitWebView.cpp: 17605 (webkit_web_view_class_init): Add WebKitWebView::context-menu signal. 17606 (getUnicodeMenuItemPosition): Helper function that returns the 17607 position of the unicode menu item in the proposed context menu. 17608 (webkitWebViewCreateAndAppendInputMethodsMenuItem): Use 17609 WebKitContextMenu API to add the input methods submenu to the 17610 default context menu. 17611 (webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for 17612 the default context menu and emit WebKitWebView::context-menu 17613 signal. Then populate the context menu proxy with the resulting 17614 WebKitContextMenu. 17615 * UIProcess/API/gtk/WebKitWebView.h: 17616 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 17617 (webkitWebViewBaseButtonPressEvent): In case of right click save 17618 the event to be used by context menu signal. 17619 (webkitWebViewBaseTakeContextMenuEvent): Return and release the 17620 saved button event. 17621 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 17622 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for 17623 WebKitContextMenu and WebKitContextMenuItem. 17624 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 17625 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 17626 webkit_context_menu_get_type and webkit_context_menu_item_get_type. 17627 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu. 17628 * UIProcess/API/gtk/tests/TestContextMenu.cpp: Added. 17629 (testContextMenuDefaultMenu): 17630 (testContextMenuPopulateMenu): 17631 (testContextMenuCustomMenu): 17632 (testContextMenuDisableMenu): 17633 (testContextMenuSubMenu): 17634 (beforeAll): 17635 (afterAll): 17636 * UIProcess/API/gtk/tests/TestMain.h: 17637 (Test::addLogFatalFlag): Add a log level flag to the mask of flags 17638 causing the program to abort. 17639 (Test::removeLogFatalFlag): Remove a log level flag to the mask of 17640 flags causing the program to abort. 17641 * UIProcess/API/gtk/tests/WebViewTest.cpp: 17642 (WebViewTest::quitMainLoop): Finish the main loop. 17643 (WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish 17644 the main loop when all pending events have been processed. 17645 (quitMainLoopIdleCallback): 17646 (WebViewTest::wait): 17647 * UIProcess/API/gtk/tests/WebViewTest.h: 17648 * UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h, 17649 WebKitContextMenuItem.h and WebKitContextMenuActions.h. 17650 * UIProcess/API/gtk/webkit2marshal.list: 17651 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 17652 (WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the 17653 popup menu to the view widget before showing it. 17654 176552012-06-22 Alexandru Chiculita <achicu@adobe.com> 17656 17657 [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac 17658 https://bugs.webkit.org/show_bug.cgi?id=89781 17659 17660 Reviewed by Dean Jackson. 17661 17662 Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac. 17663 17664 * Configurations/FeatureDefines.xcconfig: 17665 176662012-06-22 Ryuan Choi <ryuan.choi@samsung.com> 17667 17668 [EFL][WK2] Support keyboard event 17669 https://bugs.webkit.org/show_bug.cgi?id=89268 17670 17671 Reviewed by Chang Shu. 17672 17673 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: 17674 (WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior. 17675 * WebProcess/WebPage/efl/WebPageEfl.cpp: 17676 (WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did. 17677 176782012-06-20 Mark Hahnenberg <mhahnenberg@apple.com> 17679 17680 JSLock should be per-JSGlobalData 17681 https://bugs.webkit.org/show_bug.cgi?id=89123 17682 17683 Reviewed by Gavin Barraclough. 17684 17685 Changed all sites that used JSLock to instead use the new JSLockHolder 17686 and pass in the correct JS context that the code is about to interact with that 17687 needs protection. 17688 17689 * Shared/mac/WebMemorySampler.mac.mm: 17690 (WebKit::WebMemorySampler::sampleWebKit): 17691 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17692 (WebKit::InjectedBundle::javaScriptObjectsCount): 17693 (WebKit::InjectedBundle::reportException): 17694 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 17695 (WebKit::JSNPObject::callMethod): 17696 (WebKit::JSNPObject::callObject): 17697 (WebKit::JSNPObject::callConstructor): 17698 (WebKit::JSNPObject::put): 17699 (WebKit::JSNPObject::deleteProperty): 17700 (WebKit::JSNPObject::getOwnPropertyNames): 17701 (WebKit::JSNPObject::propertyGetter): 17702 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 17703 (WebKit::NPJSObject::hasMethod): 17704 (WebKit::NPJSObject::invoke): 17705 (WebKit::NPJSObject::invokeDefault): 17706 (WebKit::NPJSObject::hasProperty): 17707 (WebKit::NPJSObject::getProperty): 17708 (WebKit::NPJSObject::setProperty): 17709 (WebKit::NPJSObject::removeProperty): 17710 (WebKit::NPJSObject::enumerate): 17711 (WebKit::NPJSObject::construct): 17712 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 17713 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 17714 (WebKit::NPRuntimeObjectMap::evaluate): 17715 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 17716 * WebProcess/WebPage/WebFrame.cpp: 17717 (WebKit::WebFrame::jsWrapperForWorld): 17718 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): 17719 * WebProcess/WebPage/WebPage.cpp: 17720 (WebKit::WebPage::runJavaScriptInMainFrame): 17721 * WebProcess/WebProcess.cpp: 17722 (WebKit::WebProcess::getWebCoreStatistics): 17723 177242012-06-22 Jocelyn Turcotte <turcotte.j@gmail.com> 17725 17726 [Qt] Fix the remote inspector loading problems on Mac 17727 https://bugs.webkit.org/show_bug.cgi?id=89747 17728 17729 Reviewed by Simon Hausmann. 17730 17731 Reverse the creation order of the inter-dependent WebSocketServerConnection 17732 and SocketStreamHandle to make sure that the later has a client properly 17733 set on construction. 17734 17735 This is to work around the assert on m_state in SocketStreamHandle::setClient. 17736 17737 * UIProcess/InspectorServer/WebSocketServer.cpp: 17738 (WebKit::WebSocketServer::didAcceptConnection): 17739 * UIProcess/InspectorServer/WebSocketServer.h: 17740 (WebKit::WebSocketServer::client): 17741 (WebSocketServer): 17742 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 17743 (WebKit::WebSocketServerConnection::WebSocketServerConnection): 17744 (WebKit::WebSocketServerConnection::setSocketHandle): 17745 (WebKit): 17746 * UIProcess/InspectorServer/WebSocketServerConnection.h: 17747 (WebSocketServerConnection): 17748 * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: 17749 (WebKit::QtTcpServerHandler::handleNewConnection): 17750 177512012-06-22 Sergio Villar Senin <svillar@igalia.com> 17752 17753 [WK2] FindController::hideFindUI should unmark highlighted text matches 17754 https://bugs.webkit.org/show_bug.cgi?id=77747 17755 17756 Reviewed by Carlos Garcia Campos. 17757 17758 Unmark all text matches whenever FindController::hideFindUI is 17759 called to allow callers using the ShowHighlight find option to 17760 remove highlighting. 17761 17762 This patch enables a unit test for the WebKitFindController 17763 previously guarded by a #if(0) after r109222. 17764 17765 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: 17766 (testFindControllerHide): 17767 * WebProcess/WebPage/FindController.cpp: 17768 (WebKit::FindController::hideFindUI): 17769 177702012-06-21 Christophe Dumez <christophe.dumez@intel.com> 17771 17772 [WK2] Add C API to inspect a Web Intent 17773 https://bugs.webkit.org/show_bug.cgi?id=89275 17774 17775 Reviewed by Anders Carlsson. 17776 17777 Add C API for Web Intent so that it can be queried 17778 on client side. 17779 17780 * CMakeLists.txt: 17781 * GNUmakefile.list.am: 17782 * Target.pri: 17783 * UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp. 17784 (WKIntentDataGetTypeID): 17785 (WKIntentDataCopyAction): 17786 (WKIntentDataCopyType): 17787 (WKIntentDataCopyService): 17788 (WKIntentDataCopySuggestions): 17789 (WKIntentDataCopyExtra): 17790 (WKIntentDataCopyExtras): 17791 * UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp. 17792 * UIProcess/WebIntentData.cpp: 17793 (WebKit::WebIntentData::suggestions): 17794 (WebKit): 17795 (WebKit::WebIntentData::extra): 17796 (WebKit::WebIntentData::extras): 17797 * UIProcess/WebIntentData.h: 17798 (WebIntentData): 17799 178002012-06-21 Christophe Dumez <christophe.dumez@intel.com> 17801 17802 [WK2] Properly encode/decode service in IntentData 17803 https://bugs.webkit.org/show_bug.cgi?id=89460 17804 17805 Reviewed by Gustavo Noronha Silva. 17806 17807 Update IntentData::encode() and IntentData::decode() 17808 so that the "service" member is properly encoded 17809 and decoded. 17810 17811 * Shared/IntentData.cpp: 17812 (WebKit::IntentData::encode): 17813 (WebKit::IntentData::decode): 17814 178152012-06-21 Ryuan Choi <ryuan.choi@gmail.com> 17816 17817 [EFL][WK2] Make WebKit2/Efl headers and resources installable. 17818 https://bugs.webkit.org/show_bug.cgi?id=88207 17819 17820 Reviewed by Chang Shu. 17821 17822 * CMakeLists.txt: Install WebProcess. 17823 * PlatformEfl.cmake: Generate ewebkit2.pc and install it. 17824 * efl/ewebkit2.pc.in: Added. 17825 178262012-06-21 Ryuan Choi <ryuan.choi@samsung.com> 17827 17828 [EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object. 17829 https://bugs.webkit.org/show_bug.cgi?id=88935 17830 17831 Reviewed by Chang Shu. 17832 17833 Add WKViewEfl to support WTR/Efl. 17834 17835 * PlatformEfl.cmake: 17836 * Shared/API/c/WKBase.h: 17837 * Shared/API/c/efl/WKBaseEfl.h: Added. 17838 * UIProcess/API/C/WKAPICast.h: 17839 * UIProcess/API/C/efl/WKAPICastEfl.h: Added. 17840 (WebKit): 17841 * UIProcess/API/C/efl/WKView.cpp: Added. 17842 (WKViewCreate): 17843 (WKViewGetPage): 17844 * UIProcess/API/C/efl/WKView.h: Added. 17845 * UIProcess/API/efl/ewk_view.cpp: 17846 (ewk_view_page_get): 17847 * UIProcess/API/efl/ewk_view_private.h: 17848 178492012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com> 17850 17851 [Qt] API tests for ColorChooser 17852 https://bugs.webkit.org/show_bug.cgi?id=88101 17853 17854 Reviewed by Kenneth Rohde Christiansen. 17855 17856 The test uses the value sanitization to detect if the feature is 17857 enabled or disabled and will just pass when disabled. 17858 17859 * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added. 17860 * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added. 17861 178622012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com> 17863 17864 [WK2][Qt] Color chooser API missing 17865 https://bugs.webkit.org/show_bug.cgi?id=87749 17866 17867 Reviewed by Kenneth Rohde Christiansen. 17868 17869 Added public experimental API for ColorChooser. This will 17870 allow the browser to define a custom dialog for selecting 17871 color when a input field of type "color" get focus. 17872 17873 The current implementation gives a model to the QML Component 17874 that has methods for canceling a request, selecting a color 17875 and fetching what is the current value of the HTML input. 17876 17877 * Target.pri: 17878 * UIProcess/API/qt/qquickwebview.cpp: 17879 (QQuickWebViewPrivate::QQuickWebViewPrivate): 17880 (QQuickWebViewExperimental::colorChooser): 17881 (QQuickWebViewExperimental::setColorChooser): 17882 * UIProcess/API/qt/qquickwebview_p.h: 17883 * UIProcess/API/qt/qquickwebview_p_p.h: 17884 (QQuickWebViewPrivate): 17885 * UIProcess/qt/QtPageClient.cpp: 17886 (WebKit::QtPageClient::createColorChooserProxy): 17887 * UIProcess/qt/WebColorChooserProxyQt.cpp: Added. 17888 (WebKit): 17889 (ColorChooserContextObject): 17890 (WebKit::ColorChooserContextObject::ColorChooserContextObject): 17891 (WebKit::ColorChooserContextObject::currentColor): 17892 (WebKit::ColorChooserContextObject::accept): 17893 (WebKit::ColorChooserContextObject::reject): 17894 (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt): 17895 (WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt): 17896 (WebKit::WebColorChooserProxyQt::createItem): 17897 (WebKit::WebColorChooserProxyQt::createContext): 17898 (WebKit::WebColorChooserProxyQt::setSelectedColor): 17899 (WebKit::WebColorChooserProxyQt::notifyColorSelected): 17900 (WebKit::WebColorChooserProxyQt::endChooser): 17901 * UIProcess/qt/WebColorChooserProxyQt.h: Added. 17902 (WebCore): 17903 (WebKit): 17904 (WebColorChooserProxyQt): 17905 (WebKit::WebColorChooserProxyQt::create): 17906 179072012-06-21 Mario Sanchez Prada <msanchez@igalia.com> 17908 17909 [GTK] Add support for window.showModalDialog in WebKit2GTK+ 17910 https://bugs.webkit.org/show_bug.cgi?id=79500 17911 17912 Reviewed by Carlos Garcia Campos. 17913 17914 Implement runModal in WebKitUIClient to make the WebKitWebView 17915 emit a 'run-as-modal' signal when requested, creating a new 17916 mainloop there to block user interaction with the original window 17917 while the modal dialog is showing. 17918 17919 * UIProcess/API/gtk/WebKitUIClient.cpp: 17920 (runModal): Call to the new webkitWebViewRunAsModalPage function. 17921 (attachUIClientToView): Add runModal. 17922 * UIProcess/API/gtk/WebKitWebView.cpp: 17923 (_WebKitWebViewPrivate): Add an atribute for a new main loop. 17924 (webkitWebViewFinalize): Make sure the main loop for main dialogs, 17925 if any, is stopped if it was still running. 17926 (webkit_web_view_class_init): Declare new signal 'run-as-modal'. 17927 (webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if 17928 handled, create and run a new main loop. 17929 * UIProcess/API/gtk/WebKitWebView.h: 17930 (_WebKitWebViewClass): New handler for the 'run-as-modal' signal. 17931 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage. 17932 17933 Allow setting and getting the value of WebPage's canRunModal 17934 attribute in the WebProcess from the UIProcess after the creation 17935 of a WebPage, to allow using it from WebKitWebView to allow the 17936 client application to decide whether to allow create modal 17937 dialogs, which would result in launching an additional nested 17938 event loop in the web process, after creating the dialog. 17939 17940 * UIProcess/WebPageProxy.cpp: 17941 (WebKit::WebPageProxy::WebPageProxy): Initialize the new 17942 m_canRunModal attribute, to cache the current status of the 17943 WebPage in the WebProcess. 17944 (WebKit::WebPageProxy::initializeUIClient): Call the new function 17945 setCanRunModal, instead of manually sending the SetCanRunModal message. 17946 (WebKit::WebPageProxy::creationParameters): Use m_canRunModal 17947 instead of m_uiClient.canRunModal when preparing the parameters. 17948 (WebKit::WebPageProxy::setCanRunModal): New public function, it 17949 sets the value of m_canRunModal and sends a message to the Web 17950 process for updating the WebPage, whenever possible. 17951 (WebKit::WebPageProxy::canRunModal): New public function, returns 17952 the value of the m_canRunModal attribute. 17953 * UIProcess/WebPageProxy.h: 17954 (WebPageProxy): Added new public functions and private attribute. 17955 17956 New property in WebKitSettings to be able to decide whether it is 17957 allowed to create and run new child webviews as modal dialogs. 17958 17959 * UIProcess/API/gtk/WebKitSettings.cpp: 17960 (_WebKitSettingsPrivate): New attribute allowModalDialogs. 17961 (webKitSettingsSetProperty): Handle the new property. 17962 (webKitSettingsGetProperty): Ditto. 17963 (webkit_settings_class_init): Install the new property. 17964 (webkitSettingsAttachSettingsToPage): Make sure the WebPage is 17965 initialized with the value of the new property. 17966 (webkit_settings_set_allow_modal_dialogs): New setter. 17967 (webkit_settings_get_allow_modal_dialogs): New getter. 17968 * UIProcess/API/gtk/WebKitSettings.h: 17969 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors. 17970 17971 Connect to the 'notify::allow-modal-dialogs' signal from 17972 WebKitSettings to ensure that canRunModal property of the WebPage 17973 is kept up to date. Ensure that signal handlers for monitoring 17974 settings are disconnected when the webview is finalized. 17975 17976 * UIProcess/API/gtk/WebKitWebView.cpp: 17977 (webkitWebViewSetSettings): Connect to the new signal 17978 'notify::allow-modal-dialogs', from WebKitSettings. 17979 (allowModalDialogsChanged): Callback to update WebPage's 17980 canRunModal property when updated through WebKitSettings. 17981 (webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal 17982 handlers for monitoring WebKitSettings properties. 17983 (webkitWebViewFinalize): Ensure signal handlers are disconnected. 17984 (webkit_web_view_set_settings): Ditto. 17985 * UIProcess/API/gtk/WebKitWebView.h: 17986 17987 Add new unit tests to check the 'run-as-modal' signal is emitted 17988 only when the new property in WebKitSettings is set to TRUE. 17989 17990 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 17991 (testWebViewAllowModalDialogs): New unit test to check that modal 17992 dialogs are properly created from JavaScript when allowed. 17993 (testWebViewDisallowModalDialogs): New unit test to check that 17994 it's not possible to create modal dialogs when not allowed. 17995 (beforeAll): Add the new unit test. 17996 179972012-06-20 Thiago Marcos P. Santos <thiago.santos@intel.com> 17998 17999 [WK2] Color chooser API missing 18000 https://bugs.webkit.org/show_bug.cgi?id=87495 18001 18002 Reviewed by Andreas Kling. 18003 18004 Added ColorChooser API to WebKit2. This API allows the 18005 embedder to define a custom color picker for <input type="color">. 18006 18007 Only one ColorChooser can be active for a page at a time. Although 18008 the implementation doesn't not assume a modal dialog, no other 18009 color chooser will be created until the active one is closed. 18010 18011 Also added stubs for all platforms, so it wont break the build when 18012 enabling color chooser, even though they don't have the backend 18013 implemented yet. 18014 18015 * CMakeLists.txt: 18016 * GNUmakefile.list.am: 18017 * Target.pri: 18018 * UIProcess/API/efl/PageClientImpl.cpp: 18019 (WebKit): 18020 (WebKit::PageClientImpl::createColorChooserProxy): 18021 * UIProcess/API/efl/PageClientImpl.h: 18022 (PageClientImpl): 18023 * UIProcess/API/gtk/PageClientImpl.cpp: 18024 (WebKit): 18025 (WebKit::PageClientImpl::createColorChooserProxy): 18026 * UIProcess/API/gtk/PageClientImpl.h: 18027 (PageClientImpl): 18028 * UIProcess/API/mac/PageClientImpl.h: 18029 (PageClientImpl): 18030 * UIProcess/API/mac/PageClientImpl.mm: 18031 (WebKit): 18032 (WebKit::PageClientImpl::createColorChooserProxy): 18033 * UIProcess/PageClient.h: 18034 (WebKit): 18035 (PageClient): 18036 * UIProcess/WebColorChooserProxy.h: Added. 18037 (WebCore): 18038 (WebKit): 18039 (WebColorChooserProxy): 18040 (Client): 18041 (WebKit::WebColorChooserProxy::Client::~Client): 18042 (WebKit::WebColorChooserProxy::~WebColorChooserProxy): 18043 (WebKit::WebColorChooserProxy::invalidate): 18044 (WebKit::WebColorChooserProxy::WebColorChooserProxy): 18045 * UIProcess/WebPageProxy.cpp: 18046 (WebKit::WebPageProxy::close): 18047 (WebKit): 18048 (WebKit::WebPageProxy::showColorChooser): 18049 (WebKit::WebPageProxy::setColorChooserColor): 18050 (WebKit::WebPageProxy::endColorChooser): 18051 (WebKit::WebPageProxy::didChooseColor): 18052 (WebKit::WebPageProxy::didEndColorChooser): 18053 (WebKit::WebPageProxy::processDidCrash): 18054 * UIProcess/WebPageProxy.h: 18055 (WebPageProxy): 18056 * UIProcess/WebPageProxy.messages.in: 18057 * UIProcess/qt/QtPageClient.cpp: 18058 (WebKit): 18059 (WebKit::QtPageClient::createColorChooserProxy): 18060 * UIProcess/qt/QtPageClient.h: 18061 (QtPageClient): 18062 * UIProcess/win/WebView.cpp: 18063 (WebKit): 18064 (WebKit::WebView::createColorChooserProxy): 18065 * UIProcess/win/WebView.h: 18066 (WebView): 18067 * WebKit2.xcodeproj/project.pbxproj: 18068 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 18069 (WebKit::WebChromeClient::createColorChooser): 18070 * WebProcess/WebCoreSupport/WebColorChooser.cpp: Added. 18071 (WebKit): 18072 (WebKit::WebColorChooser::WebColorChooser): 18073 (WebKit::WebColorChooser::~WebColorChooser): 18074 (WebKit::WebColorChooser::didChooseColor): 18075 (WebKit::WebColorChooser::didEndChooser): 18076 (WebKit::WebColorChooser::disconnectFromPage): 18077 (WebKit::WebColorChooser::setSelectedColor): 18078 (WebKit::WebColorChooser::endChooser): 18079 * WebProcess/WebCoreSupport/WebColorChooser.h: Added. 18080 (WebCore): 18081 (WebKit): 18082 (WebColorChooser): 18083 * WebProcess/WebPage/WebPage.cpp: 18084 (WebKit::WebPage::WebPage): 18085 (WebKit::WebPage::close): 18086 (WebKit): 18087 (WebKit::WebPage::setActiveColorChooser): 18088 (WebKit::WebPage::didEndColorChooser): 18089 (WebKit::WebPage::didChooseColor): 18090 * WebProcess/WebPage/WebPage.h: 18091 (WebKit): 18092 (WebPage): 18093 (WebKit::WebPage::activeColorChooser): 18094 * WebProcess/WebPage/WebPage.messages.in: 18095 * win/WebKit2.vcproj: 18096 180972012-06-20 Brady Eidson <beidson@apple.com> 18098 18099 <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590 18100 showModalDialog message handling is flaky in WebKit2 18101 18102 Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling 18103 the functions an inner run-loop - such as we see with running a modal dialog - does not have 18104 a change to handle any of the functions that were queued after the WebPageProxy::RunModal message. 18105 18106 By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up 18107 where it left off if RunLoop::performWork is re-entered. 18108 18109 To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal 18110 its source before entering the modal run loop so our RunLoop is woken up. 18111 18112 Reviewed by Darin Adler. 18113 18114 * Platform/CoreIPC/Connection.cpp: 18115 (CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up 18116 before it enters the modal dialog run loop. 18117 * Platform/CoreIPC/Connection.h: 18118 18119 * UIProcess/WebPageProxy.cpp: 18120 (WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop. 18121 181222012-06-20 Julien Chaffraix <jchaffraix@webkit.org> 18123 18124 Use IntSize in RenderLayer to represent scroll offsets 18125 https://bugs.webkit.org/show_bug.cgi?id=89154 18126 18127 Reviewed by Eric Seidel. 18128 18129 * WebProcess/WebPage/win/WebPageWin.cpp: 18130 (WebKit::WebPage::gestureDidScroll): 18131 Updated to pass an IntSize to scrollByRecursively. 18132 181332012-06-20 Christophe Dumez <christophe.dumez@intel.com> 18134 18135 [WK2] Implement Web Intent delivery 18136 https://bugs.webkit.org/show_bug.cgi?id=88989 18137 18138 Reviewed by Anders Carlsson. 18139 18140 Add a deliverIntent() method to the WebFrame so that 18141 Web intents can be delivered once matched to a 18142 specific service. 18143 18144 * UIProcess/WebFrameProxy.cpp: 18145 (WebKit): 18146 (WebKit::WebFrameProxy::deliverIntent): 18147 * UIProcess/WebFrameProxy.h: 18148 (WebKit): 18149 (WebFrameProxy): 18150 * UIProcess/WebIntentData.h: 18151 (WebKit::WebIntentData::store): 18152 * WebProcess/WebPage/WebFrame.cpp: 18153 (WebKit): 18154 (WebKit::WebFrame::deliverIntent): 18155 * WebProcess/WebPage/WebFrame.h: 18156 (WebKit): 18157 (WebFrame): 18158 * WebProcess/WebPage/WebPage.cpp: 18159 (WebKit): 18160 (WebKit::WebPage::deliverIntentToFrame): 18161 * WebProcess/WebPage/WebPage.h: 18162 (WebKit): 18163 (WebPage): 18164 * WebProcess/WebPage/WebPage.messages.in: 18165 181662012-06-20 Alexis Menard <alexis.menard@openbossa.org> 18167 18168 REGRESSION (120705) : LayerTreeHostQt asserts in debug. 18169 https://bugs.webkit.org/show_bug.cgi?id=89487 18170 18171 Reviewed by Noam Rosenthal. 18172 18173 We try to call createHandle twice on the same handle when the 18174 first matching atlas is full. This patch solved the problem by 18175 moving the createHandle call inside UpdateAtlas and call createHandle 18176 only when the atlas is not full. We can also remove the surface() 18177 getter as it is not used anymore. 18178 18179 * WebProcess/WebPage/UpdateAtlas.cpp: 18180 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer): 18181 * WebProcess/WebPage/UpdateAtlas.h: 18182 (UpdateAtlas): 18183 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 18184 (WebKit::LayerTreeHostQt::beginContentUpdate): 18185 181862012-06-19 Ryuan Choi <ryuan.choi@samsung.com> 18187 18188 [EFL][Regression] Build break after r120786 18189 https://bugs.webkit.org/show_bug.cgi?id=89549 18190 18191 Unreviewed build fix for Efl port. 18192 18193 * CMakeLists.txt: Added disassembler in includes. 18194 181952012-06-19 Dan Bernstein <mitz@apple.com> 18196 18197 WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction 18198 https://bugs.webkit.org/show_bug.cgi?id=89394 18199 18200 Reviewed by Darin Adler. 18201 18202 * UIProcess/API/C/WKPage.cpp: 18203 (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new 18204 Pagination::Mode values. 18205 (WKPageGetPaginationMode): Similarly, in the opposite direction. 18206 * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify 18207 an axis and a direction along that axis. 18208 * UIProcess/API/mac/WKBrowsingContextController.mm: 18209 (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values. 18210 (-[WKBrowsingContextController paginationMode]): Ditto. 18211 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced 18212 WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along 18213 that axis. 18214 182152012-06-19 Alexis Menard <alexis.menard@openbossa.org> 18216 18217 [Qt] Create an extra atlas when there is no available buffer space. 18218 https://bugs.webkit.org/show_bug.cgi?id=89012 18219 18220 Reviewed by Noam Rosenthal. 18221 18222 In case of the desktop mode when we scroll the view all the tiles 18223 are updated. It can happen that there no available buffer space for 18224 the currently used atlas(especially when scrolling fast). In that case 18225 we can create a new one. One future improvement could be to make a timer and 18226 delete this extra atlas when it is not used. 18227 18228 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 18229 (WebKit::beginContentUpdateInAtlas): 18230 (WebKit::LayerTreeHostQt::beginContentUpdate): 18231 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 18232 (LayerTreeHostQt): 18233 182342012-06-19 Csaba Osztrogonác <ossy@webkit.org> 18235 18236 [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer. 18237 https://bugs.webkit.org/show_bug.cgi?id=89449 18238 18239 Reviewed by Simon Hausmann. 18240 18241 * UIProcess/API/qt/qquicknetworkreply_p.h: 18242 182432012-06-19 Mike West <mkwst@chromium.org> 18244 18245 Introduce ENABLE_CSP_NEXT configuration flag. 18246 https://bugs.webkit.org/show_bug.cgi?id=89300 18247 18248 Reviewed by Adam Barth. 18249 18250 The 1.0 draft of the Content Security Policy spec is just about to 18251 move to Last Call. We'll hide work on the upcoming 1.1 spec behind 18252 this ENABLE flag, disabled by default. 18253 18254 Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html 18255 18256 * Configurations/FeatureDefines.xcconfig: 18257 182582012-06-19 Mike West <mkwst@chromium.org> 18259 18260 Add a scheme registry for bypassing Content Security Policy. 18261 https://bugs.webkit.org/show_bug.cgi?id=89373 18262 18263 Reviewed by Adam Barth. 18264 18265 * win/WebKit2.def: 18266 * win/WebKit2CFLite.def: 18267 182682012-06-16 Adam Barth <abarth@webkit.org> 18269 18270 Settings::devicePixelRatio doesn't do anything and is confusing 18271 https://bugs.webkit.org/show_bug.cgi?id=89272 18272 18273 Reviewed by James Robinson. 18274 18275 * Shared/WebPreferencesStore.h: 18276 (WebKit): 18277 - Remove boilerplate code for the setting. 18278 * UIProcess/API/qt/qquickwebview.cpp: 18279 (QQuickWebViewExperimental::devicePixelRatio): 18280 (QQuickWebViewExperimental::setDevicePixelRatio): 18281 - Change these functions to get and set the real device scale factor. 18282 * WebProcess/WebPage/WebPage.cpp: 18283 (WebKit::WebPage::sendViewportAttributesChanged): 18284 - Use the real device scale factor for the viewport calculation. 18285 (WebKit::WebPage::updatePreferences): 18286 - Remove boilerplate code for the setting. 18287 182882012-06-15 Christophe Dumez <christophe.dumez@intel.com> 18289 18290 [WK2] Add support for explicit intents 18291 https://bugs.webkit.org/show_bug.cgi?id=89206 18292 18293 Reviewed by Kenneth Rohde Christiansen. 18294 18295 Expose the service URL of a Web Intent. This URL 18296 is set for explicit intents. 18297 18298 * Shared/IntentData.h: 18299 (IntentData): 18300 * UIProcess/WebIntentData.h: 18301 (WebKit::WebIntentData::service): 18302 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18303 (WebKit::WebFrameLoaderClient::dispatchIntent): 18304 183052012-06-15 Christophe Dumez <christophe.dumez@intel.com> 18306 18307 [EFL][WK2] Add title support to Ewk_View 18308 https://bugs.webkit.org/show_bug.cgi?id=89095 18309 18310 Reviewed by Kenneth Rohde Christiansen. 18311 18312 Add a method to get the title of the main frame in 18313 an Ewk_View. A "title,changed" signal is now emitted 18314 on the view to notify clients that the main frame 18315 title was changed. 18316 18317 * PlatformEfl.cmake: 18318 * UIProcess/API/efl/ewk_view.cpp: 18319 (_Ewk_View_Private_Data): 18320 (_ewk_view_priv_del): 18321 (ewk_view_base_add): 18322 (ewk_view_title_get): 18323 (ewk_view_title_changed): 18324 * UIProcess/API/efl/ewk_view.h: 18325 * UIProcess/API/efl/ewk_view_loader_client.cpp: Added. 18326 (didReceiveTitleForFrame): 18327 (ewk_view_loader_client_attach): 18328 * UIProcess/API/efl/ewk_view_loader_client_private.h: Added. 18329 * UIProcess/API/efl/ewk_view_private.h: 18330 183312012-06-15 Christophe Dumez <christophe.dumez@intel.com> 18332 18333 [WK2][EFL] Implement navigation back/forward in Ewk_View 18334 https://bugs.webkit.org/show_bug.cgi?id=89173 18335 18336 Reviewed by Kenneth Rohde Christiansen. 18337 18338 Add API for Ewk_View to ask the main frame to navigate backwards 18339 or forwards in history. Also add API to query if such navigation 18340 is possible. 18341 18342 * UIProcess/API/efl/ewk_view.cpp: 18343 (ewk_view_back): 18344 (ewk_view_forward): 18345 (ewk_view_back_possible): 18346 (ewk_view_forward_possible): 18347 * UIProcess/API/efl/ewk_view.h: 18348 183492012-06-15 Christophe Dumez <christophe.dumez@intel.com> 18350 18351 [EFL][WK2] Implement reload / stop in Ewk_View 18352 https://bugs.webkit.org/show_bug.cgi?id=89168 18353 18354 Reviewed by Kenneth Rohde Christiansen. 18355 18356 Add API on the Ewk_View to reload the main frame 18357 and to stop the current load. 18358 18359 * UIProcess/API/efl/ewk_view.cpp: 18360 (ewk_view_reload): 18361 (ewk_view_stop): 18362 * UIProcess/API/efl/ewk_view.h: 18363 183642012-06-14 Kent Tamura <tkent@chromium.org> 18365 18366 Validate form state strings in FormController::setStateForNewFormElements() 18367 https://bugs.webkit.org/show_bug.cgi?id=88768 18368 18369 Reviewed by Hajime Morita. 18370 18371 * win/WebKit2.def: Expose some symbols used by Internals.cpp. 18372 * win/WebKit2CFLite.def: ditto. 18373 183742012-06-14 Tim Horton <timothy_horton@apple.com> 18375 18376 DrawingArea: Painting is being resumed while the view is not visible 18377 https://bugs.webkit.org/show_bug.cgi?id=88940 18378 <rdar://problem/11652545> 18379 18380 Reviewed by Dean Jackson. 18381 18382 Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause 18383 rAF to permanently suspend animations after entering full-screen mode, because of the following: 18384 18385 0. JavaScript causes fullscreen transition to start. 18386 1. Painting (and rAF) are suspended. 18387 2. The page changes size. 18388 a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting. 18389 b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false. 18390 3. The view becomes visible, windowIsVisible is updated to true. 18391 4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended. 18392 18393 Notice that because of the early exit in 4, rAF is never resumed. 18394 18395 To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting, 18396 temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange 18397 during the window animations that occur while entering and exiting full-screen. 18398 18399 * UIProcess/API/mac/WKViewInternal.h: 18400 * UIProcess/API/mac/WKView.mm: 18401 (-[WKView setAutomaticallySuspendAndResumePainting:]): 18402 (-[WKView automaticallySuspendAndResumePainting]): 18403 * UIProcess/DrawingAreaProxyImpl.cpp: 18404 (WebKit::DrawingAreaProxyImpl::visibilityDidChange): 18405 * UIProcess/WebPageProxy.h: 18406 (WebKit::WebPageProxy::setShouldSuspendAndResumePainting): 18407 (WebKit::WebPageProxy::shouldSuspendAndResumePainting): 18408 * UIProcess/mac/WKFullScreenWindowController.mm: 18409 (-[WKFullScreenWindowController enterFullScreen:]): 18410 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): 18411 184122012-06-14 Jia Pu <jpu@apple.com> 18413 18414 Mark text with text alternative with blue underline. 18415 https://bugs.webkit.org/show_bug.cgi?id=83047 18416 18417 Reviewed by Enrica Casucci. 18418 18419 Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient, 18420 and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's 18421 alternatives attached to the input string. 18422 18423 * Shared/API/c/WKContextMenuItemTypes.h: 18424 * Shared/API/c/WKSharedAPICast.h: 18425 * Shared/WebCoreArgumentCoders.cpp: 18426 * Shared/WebCoreArgumentCoders.h: 18427 * UIProcess/API/mac/PageClientImpl.h: 18428 * UIProcess/API/mac/PageClientImpl.mm: 18429 (WebKit::PageClientImpl::PageClientImpl): 18430 (WebKit::PageClientImpl::pageClosed): 18431 (WebKit::PageClientImpl::addDictationAlternatives): 18432 (WebKit::PageClientImpl::removeDictationAlternatives): 18433 (WebKit::PageClientImpl::showDictationAlternativeUI): 18434 (WebKit::PageClientImpl::dictationAlternatives): 18435 (WebKit::PageClientImpl::dismissDictationAlternativeUI): 18436 * UIProcess/API/mac/WKView.mm: 18437 (-[WKView insertText:replacementRange:]): 18438 (-[WKView validAttributesForMarkedText]): 18439 (-[WKView handleAcceptedAlternativeText:]): 18440 * UIProcess/API/mac/WKViewInternal.h: 18441 * UIProcess/PageClient.h: 18442 * UIProcess/WebPageProxy.cpp: 18443 (WebKit::WebPageProxy::showDictationAlternativeUI): 18444 (WebKit::WebPageProxy::dismissDictationAlternativeUI): 18445 (WebKit::WebPageProxy::removeDictationAlternatives): 18446 (WebKit::WebPageProxy::dictationAlternatives): 18447 * UIProcess/WebPageProxy.h: 18448 * UIProcess/WebPageProxy.messages.in: 18449 * UIProcess/mac/CorrectionPanel.mm: 18450 (correctionIndicatorType): 18451 (WebKit::CorrectionPanel::handleAcceptedReplacement): 18452 * UIProcess/mac/WebPageProxyMac.mm: 18453 (WebKit::WebPageProxy::insertDictatedText): 18454 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: 18455 (WebAlternativeTextClient): 18456 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: 18457 (WebKit::WebAlternativeTextClient::showCorrectionAlternative): 18458 (WebKit::WebAlternativeTextClient::dismissAlternative): 18459 (WebKit::WebAlternativeTextClient::dismissAlternativeSoon): 18460 (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse): 18461 (WebKit::WebAlternativeTextClient::removeDictationAlternatives): 18462 (WebKit::WebAlternativeTextClient::showDictationAlternativeUI): 18463 (WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI): 18464 (WebKit::WebAlternativeTextClient::dictationAlternatives): 18465 * WebProcess/WebPage/WebPage.h: 18466 * WebProcess/WebPage/WebPage.messages.in: 18467 * WebProcess/WebPage/mac/WebPageMac.mm: 18468 (WebKit::WebPage::insertDictatedText): 18469 184702012-06-13 Andreas Kling <kling@webkit.org> 18471 18472 Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari. 18473 <http://webkit.org/b/89048> 18474 <rdar://problem/11449702> 18475 18476 Reviewed by Darin Adler. 18477 18478 Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag 18479 for keyboard events. This ensures that it always arrives before the corresponding synchronous 18480 InterpretQueuedKeyEvent message. 18481 18482 The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in 18483 the same order they were sent. This was not always true, since DidReceiveEvent (async) would 18484 get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync) 18485 gets dispatched right away. 18486 18487 * WebProcess/WebPage/WebPage.cpp: 18488 (WebKit::WebPage::keyEvent): 18489 184902012-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 18491 18492 [GTK] Add input methods submenu item to the default context menu for editable content 18493 https://bugs.webkit.org/show_bug.cgi?id=80600 18494 18495 Reviewed by Martin Robinson. 18496 18497 * GNUmakefile.am: Add new files to compilation. 18498 * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added. 18499 (getContextMenuFromProposedMenu): Call webkitWebViewContextMenu(). 18500 (attachContextMenuClientToView): Add implementation for 18501 getContextMenuFromProposedMenu callback. 18502 * UIProcess/API/gtk/WebKitContextMenuClient.h: Added. 18503 * UIProcess/API/gtk/WebKitWebView.cpp: 18504 (webkitWebViewConstructed): Attach context menu client to view. 18505 (webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to 18506 add default context menu items to the new context menu items vector. 18507 (webkitWebViewShouldShowInputMethodsMenu): Helper function to 18508 check whether to show the input methods submenu according to the 18509 gtk-show-input-method-menu GTK+ setting. 18510 (webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper 18511 function to add input methods submenu to the new context menu 18512 items vector. 18513 (webkitWebViewContextMenu): Create a new context menu items vector 18514 containing default items and input methods submenu in case of 18515 editable content. The active content menu is populated using that 18516 new vector. 18517 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 18518 (webkitWebViewBaseSetActiveContextMenu): Set the active context menu. 18519 (webkitWebViewBaseGetActiveContextMenu): Get the active context menu. 18520 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 18521 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 18522 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 18523 (WebKit::WebContextMenuProxyGtk::append): Helper method to add a 18524 new item to the context menu. 18525 (WebKit::WebContextMenuProxyGtk::populate): Add items to the 18526 context menu. 18527 (WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the 18528 menu with the given items and popup the menu if it's not empty. 18529 (WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu 18530 from the WebCore ContextMenu to popdown it. 18531 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call 18532 webkitWebViewBaseSetActiveContextMenu() to set the menu as the current 18533 active one for the view. 18534 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call 18535 webkitWebViewBaseSetActiveContextMenu() with NULL to reset the 18536 current active context of the view. GtkMenu is destroyed by 18537 WebCore ContextMenu in its destructor. 18538 * UIProcess/gtk/WebContextMenuProxyGtk.h: 18539 185402012-06-14 Christophe Dumez <christophe.dumez@intel.com> 18541 18542 [WK2] Add implementation for registerIntentService in WebFrameLoaderClient 18543 https://bugs.webkit.org/show_bug.cgi?id=88399 18544 18545 Reviewed by Kenneth Rohde Christiansen. 18546 18547 Add implementation for registerIntentService() in 18548 WebFrameLoaderClient. 18549 18550 * CMakeLists.txt: 18551 * GNUmakefile.list.am: 18552 * Shared/API/c/WKBase.h: 18553 * Shared/APIClientTraits.h: 18554 * Shared/APIObject.h: 18555 * Shared/IntentServiceInfo.cpp: Added. 18556 (WebKit): 18557 (WebKit::IntentServiceInfo::encode): 18558 (WebKit::IntentServiceInfo::decode): 18559 * Shared/IntentServiceInfo.h: Added. 18560 (CoreIPC): 18561 (WebKit): 18562 (IntentServiceInfo): 18563 * Target.pri: 18564 * UIProcess/API/C/WKAPICast.h: 18565 (WebKit): 18566 * UIProcess/API/C/WKPage.h: 18567 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 18568 (attachLoaderClientToView): 18569 * UIProcess/WebIntentServiceInfo.cpp: Added. 18570 (WebKit): 18571 (WebKit::WebIntentServiceInfo::WebIntentServiceInfo): 18572 * UIProcess/WebIntentServiceInfo.h: Added. 18573 (WebKit): 18574 (WebIntentServiceInfo): 18575 (WebKit::WebIntentServiceInfo::create): 18576 (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo): 18577 (WebKit::WebIntentServiceInfo::action): 18578 (WebKit::WebIntentServiceInfo::payloadType): 18579 (WebKit::WebIntentServiceInfo::href): 18580 (WebKit::WebIntentServiceInfo::title): 18581 (WebKit::WebIntentServiceInfo::disposition): 18582 (WebKit::WebIntentServiceInfo::type): 18583 * UIProcess/WebLoaderClient.cpp: 18584 (WebKit): 18585 (WebKit::WebLoaderClient::registerIntentServiceForFrame): 18586 * UIProcess/WebLoaderClient.h: 18587 (WebKit): 18588 (WebLoaderClient): 18589 * UIProcess/WebPageProxy.cpp: 18590 (WebKit): 18591 (WebKit::WebPageProxy::registerIntentServiceForFrame): 18592 * UIProcess/WebPageProxy.h: 18593 (WebKit): 18594 (WebPageProxy): 18595 * UIProcess/WebPageProxy.messages.in: 18596 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18597 (WebKit): 18598 (WebKit::WebFrameLoaderClient::registerIntentService): 18599 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 18600 (WebFrameLoaderClient): 18601 186022012-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 18603 18604 [WK2] Add WKHitTestResultIsContentEditable() 18605 https://bugs.webkit.org/show_bug.cgi?id=80597 18606 18607 Reviewed by Martin Robinson. 18608 18609 * Shared/WebHitTestResult.cpp: 18610 (WebKit::WebHitTestResult::Data::encode): Encode isContentEditable. 18611 (WebKit::WebHitTestResult::Data::decode): Decode isContentEditable. 18612 * Shared/WebHitTestResult.h: 18613 (Data): Add isContentEditable. 18614 (WebKit::WebHitTestResult::Data::Data): Initialize 18615 isContentEditable. 18616 (WebKit::WebHitTestResult::isContentEditable): Returns whether 18617 hit test result target is editable content. 18618 * UIProcess/API/C/WKHitTestResult.cpp: 18619 (WKHitTestResultIsContentEditable): C API to get whether hit test 18620 result target is editable content. 18621 * UIProcess/API/C/WKHitTestResult.h: 18622 * UIProcess/API/gtk/WebKitHitTestResult.cpp: 18623 (webkitHitTestResultCreate): Add 18624 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if 18625 hit test result target is editable content. 18626 (webkit_hit_test_result_context_is_editable): Returns TRUE if 18627 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in 18628 context. 18629 * UIProcess/API/gtk/WebKitHitTestResult.h: 18630 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 18631 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 18632 (testWebViewMouseTarget): Add tests for 18633 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE. 18634 186352012-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com> 18636 18637 [WK2] Fix client interface size for WKPageLoaderClient. 18638 https://bugs.webkit.org/show_bug.cgi?id=88764 18639 18640 Reviewed by Anders Carlsson. 18641 18642 Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame. 18643 The offset should be off the first new callback that was added in the new version. 18644 18645 * Shared/APIClientTraits.cpp: 18646 (WebKit): 18647 186482012-06-13 Christophe Dumez <christophe.dumez@intel.com> 18649 18650 [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient 18651 https://bugs.webkit.org/show_bug.cgi?id=88340 18652 18653 Reviewed by Kenneth Rohde Christiansen. 18654 18655 Add implementation for dispatchIntent() in WebFrameLoaderClient. 18656 18657 * CMakeLists.txt: 18658 * GNUmakefile.list.am: 18659 * Shared/API/c/WKBase.h: 18660 * Shared/APIClientTraits.h: 18661 * Shared/APIObject.h: 18662 * Shared/IntentData.cpp: Added. 18663 (WebKit): 18664 (WebKit::IntentData::encode): 18665 (WebKit::IntentData::decode): 18666 * Shared/IntentData.h: Added. 18667 (CoreIPC): 18668 (WebKit): 18669 (IntentData): 18670 * Target.pri: 18671 * UIProcess/API/C/WKAPICast.h: 18672 (WebKit): 18673 * UIProcess/API/C/WKPage.h: 18674 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 18675 (attachLoaderClientToView): 18676 * UIProcess/WebIntentData.cpp: Added. 18677 (WebKit): 18678 (WebKit::WebIntentData::WebIntentData): 18679 (WebKit::WebIntentData::data): 18680 * UIProcess/WebIntentData.h: Added. 18681 (WebKit): 18682 (WebIntentData): 18683 (WebKit::WebIntentData::create): 18684 (WebKit::WebIntentData::~WebIntentData): 18685 (WebKit::WebIntentData::action): 18686 (WebKit::WebIntentData::payloadType): 18687 (WebKit::WebIntentData::extras): 18688 (WebKit::WebIntentData::suggestions): 18689 (WebKit::WebIntentData::type): 18690 * UIProcess/WebLoaderClient.cpp: 18691 (WebKit): 18692 (WebKit::WebLoaderClient::didReceiveIntentForFrame): 18693 * UIProcess/WebLoaderClient.h: 18694 (WebKit): 18695 (WebLoaderClient): 18696 * UIProcess/WebPageProxy.cpp: 18697 (WebKit): 18698 (WebKit::WebPageProxy::didReceiveIntentForFrame): 18699 * UIProcess/WebPageProxy.h: 18700 (WebKit): 18701 (WebPageProxy): 18702 * UIProcess/WebPageProxy.messages.in: 18703 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18704 (WebKit::WebFrameLoaderClient::dispatchIntent): 18705 187062012-06-13 Tim Horton <timothy_horton@apple.com> 18707 18708 Rename _swapView:with: to _replaceView:with: 18709 https://bugs.webkit.org/show_bug.cgi?id=89037 18710 18711 Reviewed by Darin Adler. 18712 18713 _swapView:with: is a misnomer - after calling it, the first view is no longer 18714 contained within the view hierarchy. "Replace" is a more accurate term. 18715 18716 * UIProcess/mac/WKFullScreenWindowController.mm: 18717 (-[WKFullScreenWindowController enterFullScreen:]): 18718 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): 18719 (-[WKFullScreenWindowController _replaceView:with:]): 18720 187212012-06-13 Martin Robinson <mrobinson@igalia.com> 18722 18723 [GTK] Add an accelerated compositing implementation for WebKit2 18724 https://bugs.webkit.org/show_bug.cgi?id=86037 18725 18726 Reviewed by Alejandro G. Castro. 18727 18728 Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL. 18729 Later this implementation will fall back to using the ImageBuffer TextureMapper. 18730 18731 * GNUmakefile.am: Add new files to the compilation. 18732 * Shared/LayerTreeContext.h: 18733 (LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle. 18734 * Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp. 18735 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added. 18736 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added. 18737 Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID. 18738 Later implementations might find a more cross-platform solution. 18739 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 18740 (WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero. 18741 (WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window 18742 handle and send it to the WebProcess. 18743 187442012-06-13 Andras Becsi <andras.becsi@nokia.com> 18745 18746 [Qt][WK2] ASSERT(m_rawAttributes.initialScale > 0) in QtViewportHandler::initialRect() 18747 https://bugs.webkit.org/show_bug.cgi?id=89026 18748 18749 Reviewed by Csaba Osztrogonác. 18750 18751 Only act on viewport attribute changes if the layout size is valid. 18752 18753 * UIProcess/qt/QtViewportHandler.cpp: 18754 (WebKit::QtViewportHandler::setInitialScaleIfNeeded): 18755 (WebKit::QtViewportHandler::viewportAttributesChanged): 18756 187572012-06-13 Brent Fulgham <bfulgham@webkit.org> 18758 18759 [WinCairo] Build fix after Windows export definition file change. 18760 18761 * win/WebKit2CFLite.def: Add missing symbol exports. 18762 187632012-06-13 Allan Sandfeld Jensen <allan.jensen@nokia.com> 18764 18765 [Qt] Fixed visible content rect lost during page-load 18766 https://bugs.webkit.org/show_bug.cgi?id=88991 18767 18768 Reviewed by Kenneth Rohde Christiansen. 18769 18770 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18771 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 18772 187732012-06-13 Sheriff Bot <webkit.review.bot@gmail.com> 18774 18775 Unreviewed, rolling out r120209. 18776 http://trac.webkit.org/changeset/120209 18777 https://bugs.webkit.org/show_bug.cgi?id=89007 18778 18779 Broke the WebKit2 mac build. (Requested by andersca on 18780 #webkit). 18781 18782 * CMakeLists.txt: 18783 * GNUmakefile.list.am: 18784 * Shared/API/c/WKBase.h: 18785 * Shared/APIClientTraits.h: 18786 * Shared/APIObject.h: 18787 * Shared/IntentData.cpp: Removed. 18788 * Shared/IntentData.h: Removed. 18789 * Target.pri: 18790 * UIProcess/API/C/WKAPICast.h: 18791 (WebKit): 18792 * UIProcess/API/C/WKPage.h: 18793 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 18794 (attachLoaderClientToView): 18795 * UIProcess/WebIntentData.cpp: Removed. 18796 * UIProcess/WebIntentData.h: Removed. 18797 * UIProcess/WebLoaderClient.cpp: 18798 * UIProcess/WebLoaderClient.h: 18799 (WebKit): 18800 (WebLoaderClient): 18801 * UIProcess/WebPageProxy.cpp: 18802 * UIProcess/WebPageProxy.h: 18803 (WebKit): 18804 (WebPageProxy): 18805 * UIProcess/WebPageProxy.messages.in: 18806 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18807 (WebKit::WebFrameLoaderClient::dispatchIntent): 18808 188092012-06-13 Alexis Menard <alexis.menard@openbossa.org> 18810 18811 Web Inspector: add a way to get the remote inspector url for a given page. 18812 https://bugs.webkit.org/show_bug.cgi?id=88902 18813 18814 Reviewed by Jocelyn Turcotte. 18815 18816 Expose the remote inspector url for a given page in the API. If you want 18817 to create a web view and load directly the inspector for the page you want to inspect, 18818 it helps to get the url as it is impossible to figure it out from the API layer. 18819 18820 * UIProcess/API/qt/qquickwebview.cpp: 18821 (QQuickWebViewExperimental::remoteInspectorUrl): 18822 * UIProcess/API/qt/qquickwebview_p.h: 18823 * UIProcess/InspectorServer/WebInspectorServer.cpp: 18824 (WebKit): 18825 (WebKit::WebInspectorServer::inspectorUrlForPageID): 18826 * UIProcess/InspectorServer/WebInspectorServer.h: 18827 (WebInspectorServer): 18828 * UIProcess/InspectorServer/WebSocketServer.cpp: 18829 (WebKit::WebSocketServer::WebSocketServer): 18830 (WebKit::WebSocketServer::listen): 18831 (WebKit::WebSocketServer::close): 18832 * UIProcess/InspectorServer/WebSocketServer.h: 18833 (WebKit::WebSocketServer::bindAddress): 18834 (WebKit::WebSocketServer::port): 18835 (WebKit::WebSocketServer::serverState): 18836 (WebSocketServer): 18837 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 18838 (WebKit::remoteInspectorPagePath): 18839 (WebKit): 18840 (WebKit::WebInspectorServer::inspectorUrlForPageID): 18841 (WebKit::WebInspectorServer::buildPageList): 18842 * UIProcess/WebInspectorProxy.h: 18843 (WebKit::WebInspectorProxy::remoteInspectionPageID): 18844 188452012-06-13 Christophe Dumez <christophe.dumez@intel.com> 18846 18847 [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient 18848 https://bugs.webkit.org/show_bug.cgi?id=88340 18849 18850 Reviewed by Kenneth Rohde Christiansen. 18851 18852 Add implementation for dispatchIntent() in WebFrameLoaderClient. 18853 18854 * CMakeLists.txt: 18855 * GNUmakefile.list.am: 18856 * Shared/API/c/WKBase.h: 18857 * Shared/APIClientTraits.h: 18858 * Shared/APIObject.h: 18859 * Shared/IntentData.cpp: Added. 18860 (WebKit): 18861 (WebKit::IntentData::encode): 18862 (WebKit::IntentData::decode): 18863 * Shared/IntentData.h: Added. 18864 (CoreIPC): 18865 (WebKit): 18866 (IntentData): 18867 * Target.pri: 18868 * UIProcess/API/C/WKAPICast.h: 18869 (WebKit): 18870 * UIProcess/API/C/WKPage.h: 18871 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 18872 (attachLoaderClientToView): 18873 * UIProcess/WebIntentData.cpp: Added. 18874 (WebKit): 18875 (WebKit::WebIntentData::WebIntentData): 18876 (WebKit::WebIntentData::data): 18877 * UIProcess/WebIntentData.h: Added. 18878 (WebKit): 18879 (WebIntentData): 18880 (WebKit::WebIntentData::create): 18881 (WebKit::WebIntentData::~WebIntentData): 18882 (WebKit::WebIntentData::action): 18883 (WebKit::WebIntentData::payloadType): 18884 (WebKit::WebIntentData::extras): 18885 (WebKit::WebIntentData::suggestions): 18886 (WebKit::WebIntentData::type): 18887 * UIProcess/WebLoaderClient.cpp: 18888 (WebKit): 18889 (WebKit::WebLoaderClient::didReceiveIntentForFrame): 18890 * UIProcess/WebLoaderClient.h: 18891 (WebKit): 18892 (WebLoaderClient): 18893 * UIProcess/WebPageProxy.cpp: 18894 (WebKit): 18895 (WebKit::WebPageProxy::didReceiveIntentForFrame): 18896 * UIProcess/WebPageProxy.h: 18897 (WebKit): 18898 (WebPageProxy): 18899 * UIProcess/WebPageProxy.messages.in: 18900 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18901 (WebKit::WebFrameLoaderClient::dispatchIntent): 18902 189032012-06-13 Balazs Kelemen <kbalazs@webkit.org> 18904 18905 [Qt][WK2] Scanning plugins blocks the UI for a long time 18906 https://bugs.webkit.org/show_bug.cgi?id=88535 18907 18908 Reviewed by Simon Hausmann. 18909 18910 Implement a persistent cache for the meta data of plugins. 18911 This way the UI process will not block for too long when 18912 it's time to scan the plugins (except the first time). 18913 The cache is a json file stored in a standard hidden cache 18914 directory. 18915 18916 * Shared/qt/QtDefaultDataLocation.cpp: Added. 18917 (WebKit): 18918 (WebKit::defaultDataLocation): 18919 * Shared/qt/QtDefaultDataLocation.h: Added. 18920 (WebKit): 18921 Added a common helper for the path we use to 18922 put stuff into. 18923 18924 * Target.pri: 18925 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: 18926 (WebKit::cacheFile): 18927 (WebKit): 18928 (WebKit::readMetaDataFromCacheFile): 18929 (WebKit::writeToCacheFile): 18930 (WebKit::appendToCacheFile): 18931 (WebKit::tryReadPluginMetaDataFromCacheFile): 18932 (WebKit::PluginProcessProxy::scanPlugin): 18933 * UIProcess/qt/WebContextQt.cpp: 18934 189352012-06-13 Kenneth Rohde Christiansen <kenneth@webkit.org> 18936 18937 [Qt] Do not set contents pos to the current position 18938 https://bugs.webkit.org/show_bug.cgi?id=88990 18939 18940 Reviewed by Laszlo Gombos. 18941 18942 This is basically an optimization but it also solves flickering 18943 in some cases. 18944 18945 * UIProcess/API/qt/qquickwebview.cpp: 18946 (QQuickWebView::setContentPos): 18947 189482012-06-12 MORITA Hajime <morrita@google.com> 18949 18950 Shadow Pseudo ID should be able to nest to point nested shadow DOM. 18951 https://bugs.webkit.org/show_bug.cgi?id=62218 18952 18953 Reviewed by Dimitri Glazkov. 18954 18955 * win/WebKit2.def: 18956 * win/WebKit2CFLite.def: 18957 189582012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org> 18959 18960 Unreviewed build fix. 18961 18962 * UIProcess/qt/QtViewportHandler.cpp: 18963 (WebKit::QtViewportHandler::initialRect): 18964 189652012-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18966 18967 Using extrernal ICU library on case unsensitive drives will not work 18968 https://bugs.webkit.org/show_bug.cgi?id=70913 18969 18970 Reviewed by Csaba Osztrogonác. 18971 18972 * WebProcess/WebPage/UpdateAtlas.cpp: 18973 189742012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org> 18975 18976 [Qt] Do not move/scale content while the user is interacting with it 18977 https://bugs.webkit.org/show_bug.cgi?id=88872 18978 18979 Reviewed by Simon Hausmann. 18980 18981 Don't try moving content into valid bounds when the content 18982 size changes and the user is interacting with the content. 18983 18984 Only apply the viewport initial scale after user interaction 18985 has ended. 18986 18987 * UIProcess/qt/QtViewportHandler.cpp: 18988 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 18989 (WebKit::QtViewportHandler::setInitialScaleIfNeeded): 18990 (WebKit::QtViewportHandler::viewportAttributesChanged): 18991 (WebKit::QtViewportHandler::pageContentsSizeChanged): 18992 (WebKit::QtViewportHandler::initialRect): 18993 (WebKit): 18994 * UIProcess/qt/QtViewportHandler.h: 18995 (QtViewportHandler): 18996 189972012-06-11 Kaustubh Atrawalkar <kaustubh@motorola.com> 18998 18999 [DRT] LTC:: counterValueForElementById() could be moved to Internals. 19000 https://bugs.webkit.org/show_bug.cgi?id=84406 19001 19002 Reviewed by Hajime Morita. 19003 19004 Exporting Internals::counterValueForElement symbols for the win build. 19005 19006 * win/WebKit2.def: 19007 190082012-06-11 Ryuan Choi <ryuan.choi@samsung.com> 19009 19010 [CMAKE][WK2] Make WebProcess target name more clear. 19011 https://bugs.webkit.org/show_bug.cgi?id=88767 19012 19013 Reviewed by Ryosuke Niwa. 19014 19015 * CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME. 19016 190172012-06-11 Alexis Menard <alexis.menard@openbossa.org> 19018 19019 [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag. 19020 https://bugs.webkit.org/show_bug.cgi?id=88804 19021 19022 Reviewed by Tony Chang. 19023 19024 Protect box-decoration-break behind a feature flag enabled by default. 19025 19026 * Configurations/FeatureDefines.xcconfig: 19027 190282012-06-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> 19029 19030 [CMAKE][EFL] Remove duplicated executable output path 19031 https://bugs.webkit.org/show_bug.cgi?id=88765 19032 19033 Reviewed by Daniel Bates. 19034 19035 CMake files for EFL port have redefined executable output path. However, EFL port doesn't 19036 need to define again because it is already defined in top-level CMake file. 19037 19038 * CMakeLists.txt: 19039 190402012-06-11 Anders Carlsson <andersca@apple.com> 19041 19042 Pass the right color space over to the web process so we can set it on our CA context 19043 https://bugs.webkit.org/show_bug.cgi?id=88819 19044 <rdar://problem/11629050> 19045 19046 Reviewed by John Sullivan. 19047 19048 * Platform/mac/LayerHostingContext.h: 19049 (LayerHostingContext): 19050 * Platform/mac/LayerHostingContext.mm: 19051 (WebKit::LayerHostingContext::createForPort): 19052 (WebKit::LayerHostingContext::createForWindowServer): 19053 Use a single constructor and explicitly set up the parameters of the constructed object. 19054 19055 (WebKit::LayerHostingContext::setColorSpace): 19056 (WebKit::LayerHostingContext::colorSpace): 19057 Add getter and setter. 19058 19059 * Scripts/webkit2/messages.py: 19060 (struct_or_class): 19061 WebKit::ColorSpaceData is a struct. 19062 19063 * Shared/WebPageCreationParameters.cpp: 19064 Encode and decode the color space parameter. 19065 19066 * Shared/WebPageCreationParameters.h: 19067 Add the color space. 19068 19069 * Shared/mac/ColorSpaceData.h: Added. 19070 * Shared/mac/ColorSpaceData.mm: Added. 19071 Add a new class that represents a color space that can be sent over the wire. 19072 19073 * UIProcess/API/mac/PageClientImpl.h: 19074 * UIProcess/API/mac/PageClientImpl.mm: 19075 (WebKit::PageClientImpl::colorSpace): 19076 Call through to the WKView. 19077 19078 * UIProcess/API/mac/WKView.mm: 19079 (-[WKView _windowDidChangeBackingProperties:]): 19080 Fix whitespace. 19081 19082 (-[WKView viewDidChangeBackingProperties]): 19083 Check if our new color space is different from the current one and null the current one out if that is the case, 19084 it will be reinitialized by the next call to -[WKView _colorSpace]. 19085 19086 (-[WKView _colorSpace:]): 19087 Compute the color space. If we're not in a window we'll get the main screen's color space. 19088 19089 * UIProcess/DrawingAreaProxy.h: 19090 (WebKit::DrawingAreaProxy::colorSpaceDidChange): 19091 Add empty stub. 19092 19093 * UIProcess/PageClient.h: 19094 Add colorSpace getter. 19095 19096 * UIProcess/WebPageProxy.cpp: 19097 (WebKit::WebPageProxy::creationParameters): 19098 Initialize the color space. 19099 19100 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 19101 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 19102 (WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange): 19103 Send the new color space over to the web process. 19104 19105 * UIProcess/mac/WebPageProxyMac.mm: 19106 (WebKit::WebPageProxy::colorSpace): 19107 Call through to the page client. 19108 19109 * WebKit2.xcodeproj/project.pbxproj: 19110 Add ColorSpaceData.h and ColorSpaceData.mm. 19111 19112 * WebProcess/WebPage/DrawingArea.h: 19113 * WebProcess/WebPage/DrawingArea.messages.in: 19114 Add SetColorSpace message. 19115 19116 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 19117 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 19118 Set the color space from the creation parameters. 19119 19120 (WebKit::TiledCoreAnimationDrawingArea::setColorSpace): 19121 Set the color space on the layer hosting context. 19122 19123 (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): 19124 Make sure we apply the color space from the previous layer hosting context if one exists. 19125 191262012-06-11 Anders Carlsson <andersca@apple.com> 19127 19128 Crash when a plug-in tries to use the NPRuntime API with JavaScript disabled 19129 https://bugs.webkit.org/show_bug.cgi?id=88797 19130 <rdar://problem/11574844> 19131 19132 Reviewed by Brady Eidson. 19133 19134 * PluginProcess/PluginControllerProxy.cpp: 19135 (WebKit::PluginControllerProxy::initialize): 19136 Handle the windowNPObjectID being 0. 19137 19138 (WebKit::PluginControllerProxy::windowScriptNPObject): 19139 Handle m_windownPObject being null. 19140 19141 * WebProcess/Plugins/PluginView.cpp: 19142 (WebKit::PluginView::windowScriptNPObject): 19143 Return null if JavaScript is disabled. 19144 19145 (WebKit::PluginView::pluginElementNPObject): 19146 Ditto. 19147 191482012-06-11 Kenneth Rohde Christiansen <kenneth@webkit.org> 19149 19150 Add QML api for setting device width and height 19151 https://bugs.webkit.org/show_bug.cgi?id=88777 19152 19153 Reviewed by Simon Hausmann. 19154 19155 Add the new API and set the default values to 0 (unset). The 19156 current values were introduced by Qt and only Qt depends on them. 19157 19158 * Shared/WebPreferencesStore.h: 19159 (WebKit): 19160 * UIProcess/API/qt/qquickwebview.cpp: 19161 (QQuickWebViewExperimental::deviceWidth): 19162 (QQuickWebViewExperimental::setDeviceWidth): 19163 (QQuickWebViewExperimental::deviceHeight): 19164 (QQuickWebViewExperimental::setDeviceHeight): 19165 * UIProcess/API/qt/qquickwebview_p.h: 19166 * UIProcess/qt/QtViewportHandler.cpp: 19167 (WebKit::QtViewportHandler::viewportItemSizeChanged): 19168 * WebProcess/WebPage/WebPage.cpp: 19169 (WebKit::WebPage::sendViewportAttributesChanged): 19170 191712012-06-11 Michael Brüning <michael.bruning@nokia.com> 19172 19173 [Qt][WK2] Compute and set cache capacities using the current CacheModel 19174 https://bugs.webkit.org/show_bug.cgi?id=73918 19175 19176 Reviewed by Kenneth Rohde Christiansen. 19177 19178 Added implementation of cache model for Qt WK 2 port including supporting 19179 functionality such as WebProcess creation parameters and default values 19180 for disk cache directories. 19181 19182 * Shared/WebProcessCreationParameters.cpp: 19183 (WebKit::WebProcessCreationParameters::encode): 19184 (WebKit::WebProcessCreationParameters::decode): 19185 * Shared/WebProcessCreationParameters.h: 19186 (WebProcessCreationParameters): 19187 * UIProcess/qt/WebContextQt.cpp: 19188 (WebKit::defaultDiskCacheDirectory): 19189 (WebKit): 19190 (WebKit::WebContext::platformInitializeWebProcess): 19191 * WebProcess/qt/WebProcessQt.cpp: 19192 (WebKit::physicalMemorySizeInBytes): 19193 (WebKit::WebProcess::platformSetCacheModel): 19194 (WebKit::WebProcess::platformInitializeWebProcess): 19195 191962012-06-10 Darin Adler <darin@apple.com> 19197 19198 Remove unneeded callRemovedLastRef function from TreeShared refactoring 19199 https://bugs.webkit.org/show_bug.cgi?id=88653 19200 19201 Reviewed by Sam Weinig. 19202 19203 * win/WebKit2.def: Export removedLastRef instead of callRemovedLastRef. 19204 * win/WebKit2CFLite.def: Ditto. 19205 192062012-06-10 Ryuan Choi <ryuan.choi@samsung.com> 19207 19208 [EFL][WK2] Add and refactor ewk API in order to support MiniBrowser without WK API. 19209 https://bugs.webkit.org/show_bug.cgi?id=84124 19210 19211 Reviewed by Chang Shu. 19212 19213 Modify ewk_view and add ewk_context to provide a platform-depedent WebKit2 19214 API. 19215 This patch provides the minimum to support MiniBrowser. 19216 19217 * PlatformEfl.cmake: add ewk_context.cpp. 19218 * UIProcess/API/efl/EWebKit2.h: Added. 19219 * UIProcess/API/efl/ewk_context.cpp: Added. 19220 (_Ewk_Context): 19221 (createDefaultWebContext): 19222 (ewk_context_WKContext_get): 19223 (ewk_context_default_get): 19224 * UIProcess/API/efl/ewk_context.h: Added. 19225 * UIProcess/API/efl/ewk_context_private.h: Added. 19226 * UIProcess/API/efl/ewk_view.cpp: 19227 (_Ewk_View_Private_Data): 19228 (_ewk_view_priv_del): 19229 (ewk_view_base_add): 19230 (ewk_view_add_with_context): 19231 (ewk_view_add): 19232 (ewk_view_uri_set): 19233 (ewk_view_uri_get): 19234 * UIProcess/API/efl/ewk_view.h: 19235 * UIProcess/API/efl/ewk_view_private.h: 19236 192372012-06-09 Sukolsak Sakshuwong <sukolsak@google.com> 19238 19239 Add UNDO_MANAGER flag 19240 https://bugs.webkit.org/show_bug.cgi?id=87908 19241 19242 Reviewed by Tony Chang. 19243 19244 * Configurations/FeatureDefines.xcconfig: 19245 192462012-06-08 Brent Fulgham <bfulgham@webkit.org> 19247 [WinCairo] Build fix after Windows export definition file change. 19248 19249 * win/WebKit2CFLite.def: This file needs to be kept in sync with 19250 WebKit2.def (aside from the WebKitInterface exports.) 19251 192522012-06-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 19253 19254 [Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer 19255 https://bugs.webkit.org/show_bug.cgi?id=88667 19256 19257 Reviewed by Noam Rosenthal. 19258 19259 Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores 19260 to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is 19261 invoked on main thread after going through call gate and it is too late to deactivate 19262 renderer here, because some update messages are able to go through. 19263 WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation 19264 and it is right place to deactivate renderer. 19265 19266 * UIProcess/LayerTreeHostProxy.cpp: 19267 (WebKit::LayerTreeHostProxy::purgeBackingStores): 19268 * UIProcess/WebLayerTreeRenderer.cpp: 19269 (WebKit::WebLayerTreeRenderer::purgeGLResources): 19270 192712012-06-08 Carlos Garcia Campos <cgarcia@igalia.com> 19272 19273 [GTK] Add API to get the library version to WebKit2 GTK+ 19274 https://bugs.webkit.org/show_bug.cgi?id=88426 19275 19276 Reviewed by Martin Robinson. 19277 19278 * GNUmakefile.am: 19279 * GNUmakefile.list.am: 19280 * UIProcess/API/gtk/WebKitVersion.cpp: Added. 19281 (webkit_get_major_version): 19282 (webkit_get_minor_version): 19283 (webkit_get_micro_version): 19284 * UIProcess/API/gtk/WebKitVersion.h.in: Added. 19285 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new symbols. 19286 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new section 19287 for WebKitVersion. 19288 * UIProcess/API/gtk/tests/GNUmakefile.am: 19289 * UIProcess/API/gtk/tests/TestWebKitVersion.cpp: Added. 19290 (testWebKitVersion): 19291 (testWebKitCheckVersion): 19292 (beforeAll): 19293 (afterAll): 19294 * UIProcess/API/gtk/webkit2.h: Include WebKitVersion.h. 19295 192962012-06-08 Dan Bernstein <mitz@apple.com> 19297 19298 Tried to fix the Snow Leopard build after r119806. 19299 19300 * WebKit2Prefix.h: 19301 193022012-06-08 Andy Estes <aestes@apple.com> 19303 19304 [WebKit2] Move Mac-specific bits from config.h to WebKit2Prefix.h 19305 https://bugs.webkit.org/show_bug.cgi?id=88625 19306 19307 Reviewed by Dan Bernstein. 19308 19309 Since the Mac supports prefix headers, there is no point in having 19310 Mac-specific code in WebKit2's config.h. Move it to WebKit2Prefix.h. 19311 19312 * WebKit2Prefix.h: 19313 * config.h: 19314 193152012-06-07 Kentaro Hara <haraken@chromium.org> 19316 19317 Reduce Node object size from 72 byte to 64 byte 19318 https://bugs.webkit.org/show_bug.cgi?id=88528 19319 19320 Reviewed by Ryosuke Niwa. 19321 19322 Added a symbol for callRemovedLastRef(). 19323 19324 * mac/WebKit2.order: 19325 * win/WebKit2.def: 19326 * win/WebKit2CFLite.def: 19327 193282012-06-07 Andy Estes <aestes@apple.com> 19329 19330 [WebKit2] Explicitly include CoreFoundation.h in config.h 19331 https://bugs.webkit.org/show_bug.cgi?id=88619 19332 19333 Reviewed by Dan Bernstein. 19334 19335 WebKit2 relies (probably unintentionally) on CoreFoundation.h being 19336 included by CoreGraphics.h (via CGSession.h), but some versions of 19337 CoreGraphics headers don't include CoreFoundation.h. WebKit2 should 19338 include it explicitly in config.h. 19339 19340 * config.h: Import CoreFoundation.h. 19341 193422012-06-07 Andy Estes <aestes@apple.com> 19343 19344 [WebKit2] Only include Cocoa.h on platforms that use AppKit 19345 https://bugs.webkit.org/show_bug.cgi?id=88517 19346 19347 Reviewed by Sam Weinig. 19348 19349 * WebKit2Prefix.h: Include Platform.h to get USE() macros. GTK needs to 19350 include autotoolsconfig.h before including Platform.h, so do that first 19351 if building on GTK. Then, if compiling an Objective-C file, it's safe 19352 to include Foundation.h, but not necessarily Cocoa.h; only include the 19353 latter if USE(APPKIT) is true. 19354 * config.h: There's no need to import Cocoa.h since this is already 19355 imported in the prefix header. 19356 193572012-06-07 Anders Carlsson <andersca@apple.com> 19358 19359 Search highlight does not scroll with the content of the page, and find overlay doesn't work, on large-enough window 19360 https://bugs.webkit.org/show_bug.cgi?id=88577 19361 <rdar://problem/11430118> 19362 19363 Reviewed by John Sullivan. 19364 19365 Prevent the page overlay layer from falling into tiled mode. 19366 19367 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 19368 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 19369 193702012-06-07 Alexander Færøy <ahf@0x90.dk> 19371 19372 Add QML API tests for Device Pixel Ratio 19373 https://bugs.webkit.org/show_bug.cgi?id=88531 19374 19375 Reviewed by Kenneth Rohde Christiansen. 19376 19377 This patch adds an initial test case for the QML device pixel ratio 19378 API. The test currently fails and is therefore marked as being 19379 expected to fail. This will be fixed in a separated patch. 19380 19381 * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added. 19382 193832012-06-07 Christophe Dumez <christophe.dumez@intel.com> 19384 19385 [EFL][WK2] WebKit2-EFL does not link in debug mode 19386 https://bugs.webkit.org/show_bug.cgi?id=88518 19387 19388 Unreviewed. Fix WebKit2-EFL linking error in debug mode. 19389 19390 * CMakeLists.txt: 19391 193922012-06-07 Simon Pena <spena@igalia.com> 19393 19394 [GTK] Fix broken build due to missing <SECTION> in GTK-DOC 19395 https://bugs.webkit.org/show_bug.cgi?id=88525 19396 19397 Unreviewed gardening. Added missing <SECTION> tag. 19398 19399 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 19400 194012012-06-07 Carlos Garcia Campos <cgarcia@igalia.com> 19402 19403 [GTK] Add API to register custom URI schemes to WebKit2 GTK+ API 19404 https://bugs.webkit.org/show_bug.cgi?id=84133 19405 19406 Reviewed by Martin Robinson. 19407 19408 * GNUmakefile.list.am: Add new files to compilation. 19409 * UIProcess/API/gtk/WebKitPrivate.h: 19410 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Added. 19411 (didReceiveURIRequest): Callback emitted by the C API when a 19412 request for a custom URI scheme has been received. Call 19413 webkitWebContextReceivedURIRequest() to handle the request. 19414 (didFailToLoadURIRequest): Callback emitted by the C API when a 19415 request for a custom URI scheme failed to load. Call 19416 webkitWebContextDidFailToLoadURIRequest() to noitfy the web 19417 context. 19418 (attachRequestManagerClientToContext): Initialize the 19419 WKSoupRequestManagerClient. 19420 * UIProcess/API/gtk/WebKitRequestManagerClient.h: Added. 19421 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Added. 19422 (webkit_uri_scheme_request_init): 19423 (webkitURISchemeRequestFinalize): 19424 (webkit_uri_scheme_request_class_init): 19425 (webkitURISchemeRequestCreate): Create a new 19426 WebKitURISchemeRequest for the given URI and request identifier. 19427 (webkitURISchemeRequestGetID): Return the request identifier. 19428 (webkitURISchemeRequestCancel): Cancel the request operation. 19429 (webkit_uri_scheme_request_get_scheme): Return the scheme of the 19430 request. 19431 (webkit_uri_scheme_request_get_uri): Return the full URI of the 19432 request. 19433 (webkit_uri_scheme_request_get_path): Return the path of the URI. 19434 (webkitURISchemeRequestReadCallback): Read callback emitted when 19435 reading the contents of the input stream. 19436 (webkit_uri_scheme_request_finish): Finish the request by reading 19437 the contents of the input stream and sending the data to the 19438 WebProcess. 19439 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Added. 19440 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: Added. 19441 * UIProcess/API/gtk/WebKitWebContext.cpp: 19442 (WebKitURISchemeHandler::WebKitURISchemeHandler): Helper struct to 19443 save callback and user data of registered URI schemes. 19444 (createDefaultWebContext): Initialize the SoupRequestManager. 19445 (webkit_web_context_register_uri_scheme): Public API to register a 19446 custom URI scheme providing a callback that will be called to 19447 handle requests for that URI scheme. 19448 (webkitWebContextGetRequestManager): Helper private method to 19449 return the SoupRequestManager. 19450 (webkitWebContextReceivedURIRequest): Get the 19451 WebKitURISchemeHandler for the given request identifier and call 19452 the callback. Save the request in the request map. 19453 (webkitWebContextDidFailToLoadURIRequest): Cancel the ongoing 19454 request. 19455 (webkitWebContextDidFinishURIRequest): Remove the request from the 19456 map. 19457 * UIProcess/API/gtk/WebKitWebContext.h: 19458 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 19459 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add 19460 WebKitURISchemeRequest section. 19461 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 19462 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 19463 webkit_uri_scheme_request_get_type. 19464 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 19465 (testWebContextURIScheme): 19466 (beforeAll): 19467 * UIProcess/API/gtk/webkit2.h: Include WebKitURISchemeRequest.h. 19468 194692012-06-07 Andras Becsi <andras.becsi@nokia.com> 19470 19471 [Qt][WK2] setPageItemRectVisible() is not guarded by ViewportUpdateDeferrer at scaleAnimationValueChanged() 19472 https://bugs.webkit.org/show_bug.cgi?id=87954 19473 19474 Reviewed by Kenneth Rohde Christiansen. 19475 19476 Resetting the end value, the easing curve or the duration of the scale animation triggers 19477 a recalculation of the animation interval. This might change the current value of the 19478 animated property. 19479 Since guarding of setPageItemRectVisible() relies on animation state change we have to 19480 make sure we only act on animation value changes if the animation is in active state. 19481 19482 * UIProcess/qt/QtViewportHandler.cpp: 19483 (WebKit::QtViewportHandler::QtViewportHandler): 19484 (WebKit::QtViewportHandler::animatePageItemRectVisible): 19485 (WebKit::QtViewportHandler::scaleAnimationValueChanged): 19486 194872012-06-06 Carlos Garcia Campos <cgarcia@igalia.com> 19488 19489 [SOUP] WebSoupRequestManager should handle loading errors and zero-length replies 19490 https://bugs.webkit.org/show_bug.cgi?id=88087 19491 19492 Reviewed by Martin Robinson. 19493 19494 * UIProcess/API/C/soup/WKSoupRequestManager.h: 19495 * UIProcess/soup/WebSoupRequestManagerClient.cpp: 19496 (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest): 19497 Call didFailToLoadURIRequest in the client if present. 19498 * UIProcess/soup/WebSoupRequestManagerClient.h: 19499 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 19500 (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy): 19501 Initialize m_loadFailed. 19502 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData): 19503 Don't send more data to the web process if the resource failed to 19504 load. 19505 (WebKit::WebSoupRequestManagerProxy::didFailToLoadURIRequest): Set 19506 m_loadFailed and notifiy the client calling didFailToLoadURIRequest. 19507 * UIProcess/soup/WebSoupRequestManagerProxy.h: 19508 * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Add 19509 DidFailToLoadURIRequest message. 19510 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: 19511 (webkitSoupRequestGenericSendAsync): Pass the cancellable to the 19512 WebSoupRequestManager. 19513 * WebProcess/soup/WebSoupRequestManager.cpp: 19514 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): Helper 19515 struct to save requests. 19516 (WebSoupRequestAsyncData): Add a weak pointer to invalidate the 19517 request when it's destroyed before the operation has finished. 19518 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData): 19519 Remove the weak pointer. 19520 (WebKit::WebSoupRequestAsyncData::requestFailed): Return whther 19521 the request failed. 19522 (WebKit::WebSoupRequestAsyncData::releaseResult): Return the 19523 result and clear the pointer. 19524 (WebKit::WebSoupRequestManager::didHandleURIRequest): Create and 19525 empty memory stream for zero-length replies instead of creating an 19526 error. 19527 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): If the 19528 request failed and more data expected from the UI process, send a 19529 message to the UI process to notify that the resource load failed. 19530 (WebKit::WebSoupRequestManager::send): Save request information in 19531 the request map. 19532 * WebProcess/soup/WebSoupRequestManager.h: 19533 195342012-06-06 Andy Estes <aestes@apple.com> 19535 19536 Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT) 19537 https://bugs.webkit.org/show_bug.cgi?id=88504 19538 19539 Reviewed by Dan Bernstein. 19540 19541 uppercaseWord, lowercaseWord, and capitalizeWord are methods declared 19542 by NSResponder that subclasses are expected to implement. WebKit should 19543 only support these implementations on platforms that use AppKit. 19544 19545 * UIProcess/WebPageProxy.h: 19546 * WebProcess/WebCoreSupport/WebEditorClient.h: 19547 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 19548 * WebProcess/WebPage/WebPage.cpp: 19549 * WebProcess/WebPage/WebPage.h: 19550 * WebProcess/WebPage/WebPage.messages.in: 19551 195522012-06-06 chandra Shekar Vallala <chandra.vallala@motorola.com> 19553 19554 [WK2-Gtk]Compilation errors with flag CONTEXT_MENUS=0 19555 https://bugs.webkit.org/show_bug.cgi?id=87842 19556 19557 Reviewed by Martin Robinson. 19558 19559 Fix for compilation errors while building webkit2-gtk with CONTEXT_MENUS=0 19560 19561 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added code under CONTEXT_MENUS CC 19562 * UIProcess/gtk/WebContextMenuProxyGtk.h: Ditto 19563 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Ditto 19564 195652012-06-06 Michael Brüning <michael.bruning@nokia.com> 19566 19567 [Qt][WK2] Add preferredMinimumContentsWidth to the viewport info in MiniBrowser. 19568 https://bugs.webkit.org/show_bug.cgi?id=88327 19569 19570 Reviewed by Kenneth Rohde Christiansen. 19571 19572 * UIProcess/API/qt/qquickwebview.cpp: 19573 (QQuickWebViewExperimental::setPreferredMinimumContentsWidth): 19574 * UIProcess/API/qt/qquickwebview_p.h: 19575 195762012-06-06 Tim Horton <timothy_horton@apple.com> 19577 19578 WebPage::windowIsVisible is incorrect during resumePainting 19579 https://bugs.webkit.org/show_bug.cgi?id=88374 19580 <rdar://problem/11587039> 19581 19582 Reviewed by Simon Fraser. 19583 19584 Currently, when changing window visibility, WKView calls viewStateDidChange(ViewIsVisible) 19585 and then _updateWindowVisibility. This means that during viewStateDidChange, the WebPage's 19586 windowIsVisible state is incorrect. 19587 19588 viewStateDidChange(ViewIsVisible) can end up in (one of the DrawingArea implementations)::resumePainting(), 19589 which uses windowIsVisible to determine whether or not to unpause requestAnimationFrame. 19590 19591 This results in a state where, with some configurations, doing the following: 19592 19593 1. requestAnimationFrame() 19594 2. requestFullScreen() 19595 3. requestAnimationFrame() 19596 4. cancelFullScreen() 19597 5. requestAnimationFrame() 19598 19599 Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called, 19600 the fact that we have had unpaired suspend/resumeScriptedAnimations will cause the suspend count 19601 on the ScriptedAnimationController to never return to zero, which will cause us to never 19602 recover rAF functionality. 19603 19604 The fix is very simple: we should _updateWindowVisibility *before* viewStateDidChange, so that it is 19605 always correct for any code called underneath that method. 19606 19607 * UIProcess/API/mac/WKView.mm: 19608 (-[WKView viewDidMoveToWindow]): 19609 (-[WKView _windowDidOrderOffScreen:]): 19610 (-[WKView _windowDidOrderOnScreen:]): 19611 196122012-06-05 Dinu Jacob <dinu.jacob@nokia.com> 19613 19614 [Qt][WK2] Use Component.onCompleted in API tests for single and multi file upload tests. 19615 https://bugs.webkit.org/show_bug.cgi?id=88247 19616 19617 Reviewed by Kenneth Rohde Christiansen. 19618 19619 With r116936, Component.onCompleted can be used for callback instead of the 19620 1s timer in single and multi file upload tests. 19621 19622 * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: 19623 * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: 19624 196252012-06-04 Stephanie Lewis <slewis@apple.com> 19626 19627 https://bugs.webkit.org/show_bug.cgi?id=88370 19628 Memory sampler should trigger low memory signal 19629 19630 Reviewed by Geoff Garen. 19631 19632 Send low memory signal when running the memory sampler. We'd 19633 like to test memory that cannot be freed. 19634 19635 * Shared/WebMemorySampler.cpp: 19636 (WebKit::WebMemorySampler::sampleTimerFired): 19637 * Shared/WebMemorySampler.h: 19638 (WebMemorySampler): 19639 * Shared/mac/WebMemorySampler.mac.mm: 19640 (WebKit): 19641 (WebKit::WebMemorySampler::sendMemoryPressureEvent): 19642 196432012-06-05 Brady Eidson <beidson@apple.com> 19644 19645 <rdar://problem/11575898> and https://bugs.webkit.org/show_bug.cgi?id=88372 19646 REGRESSION(110494): Can no longer drag-and-drop links into FileMaker Pro 12 19647 19648 - Before r110494 we used to write the NSStringPboardType to the pasteboard. 19649 After r110494 we write NSURLPboardType instead. 19650 That's basically a no-op, but the NSStringPboardType needs to be restored. 19651 - Before r110494 we wrote the link destination URL to the pasteboard. 19652 After r110494 we write the image src URL if the link is an image. 19653 We need to revert to writing the link URL. 19654 19655 Fortunately these changes can be accomplished with a 2-line fix. 19656 19657 Reviewed by Enrica Casucci. 19658 19659 * UIProcess/API/mac/WKView.mm: 19660 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]): 19661 n 19662 196632012-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 19664 19665 [Qt] Implement log channel initialization for WebKit2 19666 19667 Reviewed by Alexis Menard. 19668 19669 * Platform/Logging.cpp: 19670 (WebKit): 19671 * Platform/Logging.h: 19672 (WebKit): 19673 * Platform/qt/LoggingQt.cpp: Copied from Source/WebKit2/Platform/gtk/LoggingGtk.cpp 19674 (WebKit): 19675 (WebKit::initializeLogChannel): 19676 * Target.pri: 19677 196782012-06-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 19679 19680 WebLayerTreeRenderer behaves wrongly when no contentsScale is set. 19681 https://bugs.webkit.org/show_bug.cgi?id=88357 19682 19683 Reviewed by Alexis Menard. 19684 19685 The contentsScale needs to get a default value in case no 19686 value is explicitely set yet. 19687 This fixes the blank-until-resize problem when running MiniBrowser 19688 in --desktop mode. 19689 19690 * UIProcess/WebLayerTreeRenderer.cpp: 19691 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer): 19692 196932012-06-05 Alexis Menard <alexis.menard@openbossa.org> 19694 19695 [Qt] Don't propagate viewport size changes if the viewport is empty. 19696 https://bugs.webkit.org/show_bug.cgi?id=88336 19697 19698 Reviewed by Tor Arne Vestbø. 19699 19700 Qt Quick sequentially set the x, y, width, height of the view. We really want to 19701 start propagating further when the size of the viewport becomes valid, i.e. both 19702 height and width are defined. In any case lower level classes are discarding an empty 19703 size such as WebPage::sendViewportAttributesChanged() so it was pointless to send the size 19704 through the IPC bus for nothing. 19705 19706 * UIProcess/API/qt/qquickwebview.cpp: 19707 (QQuickWebViewLegacyPrivate::updateViewportSize): 19708 197092012-06-05 Carlos Garcia Campos <cgarcia@igalia.com> 19710 19711 [GTK] Add webkit_download_get_received_data_length to WebKit2 GTK+ API 19712 https://bugs.webkit.org/show_bug.cgi?id=88323 19713 19714 Reviewed by Martin Robinson. 19715 19716 * UIProcess/API/gtk/WebKitDownload.cpp: 19717 (webkit_download_get_received_data_length): 19718 * UIProcess/API/gtk/WebKitDownload.h: 19719 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 19720 * UIProcess/API/gtk/tests/TestDownloads.cpp: 19721 197222012-06-05 Dongwoo Im <dw.im@samsung.com> 19723 19724 Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'. 19725 https://bugs.webkit.org/show_bug.cgi?id=73176 19726 19727 Reviewed by Adam Barth. 19728 19729 Two more APIs are added in Custom Scheme Handler specification. 19730 http://dev.w3.org/html5/spec/Overview.html#custom-handlers 19731 One is 'isProtocolHandlerRegistered' to query whether the specific URL 19732 is registered or not. 19733 The other is 'unregisterProtocolHandler' to remove the registered URL. 19734 19735 * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'. 19736 197372012-06-05 Christophe Dumez <christophe.dumez@intel.com> 19738 19739 [EFL][WK2] WebKit2-EFL does not link with gold linker 19740 https://bugs.webkit.org/show_bug.cgi?id=88295 19741 19742 Unreviewed. Fix linking when using gold linker. 19743 19744 * PlatformEfl.cmake: 19745 197462012-06-05 Mario Sanchez Prada <msanchez@igalia.com> 19747 19748 [GTK][WK2] Implement API for Geolocation permission requests in the GTK port 19749 https://bugs.webkit.org/show_bug.cgi?id=83879 19750 19751 Reviewed by Carlos Garcia Campos. 19752 19753 Added a new kind of permission request for supporting the 19754 Geolocation API in WebKit2GTK+. 19755 19756 New WebKitGeolocationPermissionRequest class, implementing the 19757 WebKitPermissionRequest interface, to enabling client applications 19758 to allow or deny geolocation permission requests. 19759 19760 * GNUmakefile.list.am: Added new files. 19761 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp: Added. 19762 (_WebKitGeolocationPermissionRequestPrivate): 19763 (webkitGeolocationPermissionRequestAllow): 19764 (webkitGeolocationPermissionRequestDeny): 19765 (webkit_permission_request_interface_init): 19766 (webkit_geolocation_permission_request_init): 19767 (webkitGeolocationPermissionRequestFinalize): 19768 (webkit_geolocation_permission_request_class_init): 19769 (webkitGeolocationPermissionRequestCreate): 19770 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h: Added. 19771 (_WebKitGeolocationPermissionRequest): 19772 (_WebKitGeolocationPermissionRequestClass): 19773 * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h: Added. 19774 19775 Include WKGeolocationPermissionRequest.h in WebKitPrivate.h, so we 19776 can use it from the new WebKitGeolocationPermissionRequest class. 19777 19778 * UIProcess/API/gtk/WebKitPrivate.h: Added new include. 19779 19780 Implement geolocation permission requests in the UI client. 19781 19782 * UIProcess/API/gtk/WebKitUIClient.cpp: 19783 (decidePolicyForGeolocationPermissionRequest): Create a new 19784 instance of the WebKitGeolocationPermissionRequest class and call 19785 to webkitWebViewMakePermissionRequest(). 19786 (attachUIClientToView): Provide an implementation function for 19787 decidePolicyForGeolocationPermissionRequest. 19788 * UIProcess/API/gtk/WebKitWebView.h: Add new element to 19789 WebKitPermissionRequestType enumeration for geolocation requests. 19790 * UIProcess/API/gtk/webkit2.h: Added header file for 19791 WebKitGeolocationPermissionRequest 19792 19793 New unit tests to test allowing and denying permission requests. 19794 19795 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 19796 (testWebViewPermissionRequests): New test that loads a simple HTML 19797 with JavaScript code requesting the current location. 19798 (beforeAll): Added new test. 19799 19800 Updated documentation files. 19801 19802 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 19803 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 19804 198052012-06-04 Sadrul Habib Chowdhury <sadrul@chromium.org> 19806 19807 [chromium] Fix software rendering for device-scale-factor > 1 19808 https://bugs.webkit.org/show_bug.cgi?id=88136 19809 19810 Reviewed by Darin Fisher. 19811 19812 Export WebCore::Page::setDeviceScaleFactor and WebCore::Settings::setDefaultDeviceScaleFactor. 19813 19814 * win/WebKit2.def: 19815 * win/WebKit2CFLite.def: 19816 198172012-06-04 Andy Estes <aestes@apple.com> 19818 19819 Use ENABLE() and USE() macros in a few more places 19820 https://bugs.webkit.org/show_bug.cgi?id=88245 19821 19822 Reviewed by Anders Carlsson. 19823 19824 * UIProcess/API/C/WKPluginSiteDataManager.cpp: Only include npapi.h if 19825 Netscape plug-in API is enabled. 19826 * UIProcess/mac/CorrectionPanel.h: Wrap with USE(AUTOCORRECTION_PANEL) 19827 * WebProcess/Authentication/AuthenticationManager.cpp: Use the stub 19828 version of tryUsePlatformCertificateInfoForChallenge if 19829 Security.framework isn't available. 19830 * WebProcess/WebProcess.messages.in: Only generate two messages if 19831 Security.framework is available. 19832 * WebProcess/mac/KeychainItemShimMethods.mm: Wrap with 19833 USE(SECURITY_FRAMEWORK). 19834 198352012-06-04 Andy Estes <aestes@apple.com> 19836 19837 Add stub WebKit2 implementations of PLUGIN_PROXY_FOR_VIDEO methods declared in FrameLoaderClient 19838 https://bugs.webkit.org/show_bug.cgi?id=88244 19839 19840 Reviewed by Anders Carlsson. 19841 19842 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 19843 (WebKit::WebFrameLoaderClient::createMediaPlayerProxyPlugin): Add a stub implementation. 19844 (WebKit::WebFrameLoaderClient::hideMediaPlayerProxyPlugin): Ditto. 19845 (WebKit::WebFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto. 19846 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 19847 198482012-06-04 Mario Sanchez Prada <msanchez@igalia.com> 19849 19850 [GTK][WK2] Implement geolocation provider for the GTK port 19851 https://bugs.webkit.org/show_bug.cgi?id=83877 19852 19853 Reviewed by Carlos Garcia Campos. 19854 19855 Add a new client-based geolocation provider for WebKit2GTK+, relying the 19856 new Geoclue-based geolocation provider available in WebCore. 19857 19858 * GNUmakefile.am: 19859 * GNUmakefile.list.am: 19860 * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Added. 19861 (toGeolocationProvider): 19862 (startUpdatingCallback): 19863 (stopUpdatingCallback): 19864 (WebKitGeolocationProvider::~WebKitGeolocationProvider): 19865 (WebKitGeolocationProvider::create): 19866 (WebKitGeolocationProvider::WebKitGeolocationProvider): 19867 (WebKitGeolocationProvider::startUpdating): 19868 (WebKitGeolocationProvider::stopUpdating): 19869 (WebKitGeolocationProvider::notifyPositionChanged): 19870 (WebKitGeolocationProvider::notifyErrorOccurred): 19871 * UIProcess/API/gtk/WebKitGeolocationProvider.h: Added. 19872 * UIProcess/API/gtk/WebKitPrivate.h: 19873 * UIProcess/API/gtk/WebKitWebContext.cpp: 19874 (_WebKitWebContextPrivate): 19875 (createDefaultWebContext): 19876 198772012-06-04 Zalan Bujtas <zbujtas@gmail.com> 19878 19879 [Qt][WK2] Rename QtViewportInteractionEngine to QtViewportHandler. 19880 https://bugs.webkit.org/show_bug.cgi?id=88226 19881 19882 Reviewed by Kenneth Rohde Christiansen. 19883 19884 * Target.pri: 19885 * UIProcess/API/qt/qquickwebpage_p_p.h: 19886 (WebKit): 19887 * UIProcess/API/qt/qquickwebview.cpp: 19888 (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate): 19889 (QQuickWebViewFlickablePrivate::onComponentComplete): 19890 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 19891 (QQuickWebViewFlickablePrivate::updateViewportSize): 19892 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 19893 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 19894 * UIProcess/API/qt/qquickwebview_p.h: 19895 (WebKit): 19896 * UIProcess/API/qt/qquickwebview_p_p.h: 19897 (WebKit): 19898 (QQuickWebViewPrivate::viewportHandler): 19899 (QQuickWebViewFlickablePrivate::viewportHandler): 19900 (QQuickWebViewFlickablePrivate): 19901 * UIProcess/API/qt/qwebkittest.cpp: 19902 (QWebKitTest::contentsScale): 19903 (QWebKitTest::devicePixelRatio): 19904 (QWebKitTest::initialScale): 19905 (QWebKitTest::minimumScale): 19906 (QWebKitTest::maximumScale): 19907 (QWebKitTest::isScalable): 19908 (QWebKitTest::layoutSize): 19909 * UIProcess/qt/QtGestureRecognizer.cpp: 19910 (WebKit::QtGestureRecognizer::viewportHandler): 19911 * UIProcess/qt/QtGestureRecognizer.h: 19912 (WebKit): 19913 * UIProcess/qt/QtPanGestureRecognizer.cpp: 19914 (WebKit::QtPanGestureRecognizer::update): 19915 (WebKit::QtPanGestureRecognizer::finish): 19916 (WebKit::QtPanGestureRecognizer::cancel): 19917 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 19918 (WebKit::QtPinchGestureRecognizer::update): 19919 (WebKit::QtPinchGestureRecognizer::finish): 19920 (WebKit::QtPinchGestureRecognizer::cancel): 19921 * UIProcess/qt/QtViewportHandler.cpp: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp. 19922 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer): 19923 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 19924 (ViewportUpdateDeferrer): 19925 (WebKit::QtViewportHandler::suspendPageContent): 19926 (WebKit::QtViewportHandler::resumePageContent): 19927 (WebKit::QtViewportHandler::cssScaleFromItem): 19928 (WebKit::QtViewportHandler::itemScaleFromCSS): 19929 (WebKit::QtViewportHandler::itemCoordFromCSS): 19930 (WebKit::QtViewportHandler::itemRectFromCSS): 19931 (WebKit::QtViewportHandler::QtViewportHandler): 19932 (WebKit::QtViewportHandler::~QtViewportHandler): 19933 (WebKit::QtViewportHandler::innerBoundedCSSScale): 19934 (WebKit::QtViewportHandler::outerBoundedCSSScale): 19935 (WebKit::QtViewportHandler::viewportAttributesChanged): 19936 (WebKit::QtViewportHandler::pageContentsSizeChanged): 19937 (WebKit::QtViewportHandler::setPageItemRectVisible): 19938 (WebKit::QtViewportHandler::animatePageItemRectVisible): 19939 (WebKit::QtViewportHandler::flickMoveStarted): 19940 (WebKit::QtViewportHandler::flickMoveEnded): 19941 (WebKit::QtViewportHandler::pageItemPositionChanged): 19942 (WebKit::QtViewportHandler::pageContentPositionRequested): 19943 (WebKit::QtViewportHandler::scaleAnimationStateChanged): 19944 (WebKit::QtViewportHandler::scaleAnimationValueChanged): 19945 (WebKit::QtViewportHandler::touchBegin): 19946 (WebKit::QtViewportHandler::touchEnd): 19947 (WebKit::QtViewportHandler::computePosRangeForPageItemAtScale): 19948 (WebKit::QtViewportHandler::focusEditableArea): 19949 (WebKit::QtViewportHandler::zoomToAreaGestureEnded): 19950 (WebKit::QtViewportHandler::nearestValidBounds): 19951 (WebKit::QtViewportHandler::setCSSScale): 19952 (WebKit::QtViewportHandler::currentCSSScale): 19953 (WebKit::QtViewportHandler::scrollAnimationActive): 19954 (WebKit::QtViewportHandler::panGestureActive): 19955 (WebKit::QtViewportHandler::panGestureStarted): 19956 (WebKit::QtViewportHandler::panGestureRequestUpdate): 19957 (WebKit::QtViewportHandler::panGestureEnded): 19958 (WebKit::QtViewportHandler::panGestureCancelled): 19959 (WebKit::QtViewportHandler::scaleAnimationActive): 19960 (WebKit::QtViewportHandler::cancelScrollAnimation): 19961 (WebKit::QtViewportHandler::interruptScaleAnimation): 19962 (WebKit::QtViewportHandler::pinchGestureActive): 19963 (WebKit::QtViewportHandler::pinchGestureStarted): 19964 (WebKit::QtViewportHandler::pinchGestureRequestUpdate): 19965 (WebKit::QtViewportHandler::pinchGestureEnded): 19966 (WebKit::QtViewportHandler::pinchGestureCancelled): 19967 (WebKit::QtViewportHandler::visibleContentsRect): 19968 (WebKit::QtViewportHandler::informVisibleContentChange): 19969 (WebKit::QtViewportHandler::viewportItemSizeChanged): 19970 (WebKit::QtViewportHandler::scaleContent): 19971 * UIProcess/qt/QtViewportHandler.h: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h. 19972 (QtViewportHandler): 19973 * UIProcess/qt/QtViewportInteractionEngine.cpp: Removed. 19974 * UIProcess/qt/QtViewportInteractionEngine.h: Removed. 19975 * UIProcess/qt/QtWebPageEventHandler.cpp: 19976 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler): 19977 (WebKit::QtWebPageEventHandler::setViewportHandler): 19978 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged): 19979 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 19980 (WebKit::QtWebPageEventHandler::didFindZoomableArea): 19981 * UIProcess/qt/QtWebPageEventHandler.h: 19982 (WebKit): 19983 (QtWebPageEventHandler): 19984 (WebKit::QtWebPageEventHandler::viewportHandler): 19985 199862012-06-04 David Kilzer <ddkilzer@apple.com> 19987 19988 BUILD FIX: FeatureDefines.xcconfig should match across projects 19989 19990 * Configurations/FeatureDefines.xcconfig: 19991 - Add missing ENABLE_LEGACY_CSS_VENDOR_PREFIXES. 19992 199932012-06-04 Allan Sandfeld Jensen <allan.jensen@nokia.com> 19994 19995 [Qt] Tap-to-zoom overshoot animation. 19996 https://bugs.webkit.org/show_bug.cgi?id=87108 19997 19998 Reviewed by Tor Arne Vestbø. 19999 20000 Reverts the change in animation, so the default is more "neutral". 20001 This should be made configurable later. 20002 20003 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20004 (WebKit::QtViewportInteractionEngine::animatePageItemRectVisible): 20005 200062012-06-04 Andras Becsi <andras.becsi@nokia.com> 20007 20008 [Qt][WK2] Refactor the tap gesture recognizer 20009 https://bugs.webkit.org/show_bug.cgi?id=88096 20010 20011 Reviewed by Simon Hausmann. 20012 20013 Refactor the tap gesture recognizer so that its internal state machine is 20014 self contained and independent of input event types. 20015 Also change the internal API for tap highlighting to make the code easier 20016 to understand on the caller side. 20017 20018 This patch makes the tap gesture recognizer more robust, consistent with 20019 other gesture recognizers and fixes some issues related to highlighting 20020 and link activation with respect to native touch events. 20021 20022 * UIProcess/qt/QtTapGestureRecognizer.cpp: 20023 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 20024 (WebKit::QtTapGestureRecognizer::withinDistance): 20025 (WebKit::QtTapGestureRecognizer::update): 20026 (WebKit::QtTapGestureRecognizer::finish): 20027 (WebKit::QtTapGestureRecognizer::cancel): 20028 (WebKit::QtTapGestureRecognizer::highlightTimeout): 20029 (WebKit::QtTapGestureRecognizer::singleTapTimeout): 20030 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 20031 (WebKit::QtTapGestureRecognizer::reset): 20032 * UIProcess/qt/QtTapGestureRecognizer.h: 20033 (QtTapGestureRecognizer): 20034 * UIProcess/qt/QtWebPageEventHandler.cpp: 20035 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler): 20036 (WebKit::QtWebPageEventHandler::activateTapHighlight): 20037 (WebKit::QtWebPageEventHandler::deactivateTapHighlight): 20038 (WebKit): 20039 (WebKit::QtWebPageEventHandler::handleSingleTapEvent): 20040 (WebKit::QtWebPageEventHandler::handleDoubleTapEvent): 20041 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 20042 * UIProcess/qt/QtWebPageEventHandler.h: 20043 (QtWebPageEventHandler): 20044 200452012-06-02 Geoffrey Garen <ggaren@apple.com> 20046 20047 Try to fix the Windows build. 20048 20049 * win/WebKit2.def: 20050 * win/WebKit2CFLite.def: 20051 200522012-06-02 Andy Estes <aestes@apple.com> 20053 20054 [WebKit2] Use USE(), ENABLE(), and HAVE() macros in more places 20055 https://bugs.webkit.org/show_bug.cgi?id=88182 20056 20057 Reviewed by Sam Weinig. 20058 20059 Use USE(APPKIT): 20060 * Shared/mac/NativeWebKeyboardEventMac.mm: 20061 * Shared/mac/NativeWebMouseEventMac.mm: 20062 * Shared/mac/NativeWebWheelEventMac.mm: 20063 * Shared/mac/WebEventFactory.h: 20064 * UIProcess/API/mac/WKTextInputWindowController.h: 20065 * UIProcess/API/mac/WKTextInputWindowController.mm: 20066 * UIProcess/PageClient.h: 20067 * UIProcess/WebPageProxy.h: 20068 20069 Use ENABLE(NETSCAPE_PLUGIN_API): 20070 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 20071 (WKPluginSiteDataManagerClearSiteData): 20072 (WKPluginSiteDataManagerClearAllSiteData): 20073 20074 Use USE(AUTOCORRECTION_PANEL): 20075 * UIProcess/API/mac/PageClientImpl.h: 20076 * UIProcess/API/mac/PageClientImpl.mm: 20077 (WebKit::PageClientImpl::showCorrectionPanel): 20078 (WebKit::PageClientImpl::dismissCorrectionPanel): 20079 (WebKit::PageClientImpl::dismissCorrectionPanelSoon): 20080 * UIProcess/mac/CorrectionPanel.mm: 20081 20082 Use HAVE(HOSTED_CORE_ANIMATION): 20083 * UIProcess/mac/WebContextMac.mm: 20084 20085 Put ENABLE(FULLSCREEN_API) in the right place: 20086 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 20087 20088 Remove unnecessary use of USE(APPKIT): 20089 * UIProcess/mac/WebPageProxyMac.mm: 20090 20091 Use USE(SECURITY_FRAMEWORK): 20092 * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: 20093 20094 Use ENABLE(CONTEXT_MENUS): 20095 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 20096 20097 Use USE(SECURITY_FRAMEWORK): 20098 * WebProcess/WebProcess.h: 20099 20100 Remove unnecessary use of USE(SECURITY_FRAMEWORK): 20101 * WebProcess/mac/WebProcessMac.mm: 20102 201032012-06-02 Andy Estes <aestes@apple.com> 20104 20105 Remove a duplicate INIT() from WebSystemInterface.mm 20106 https://bugs.webkit.org/show_bug.cgi?id=88181 20107 20108 Reviewed by Anders Carlsson. 20109 20110 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 20111 (InitWebCoreSystemInterface): 20112 201132012-06-02 Andy Estes <aestes@apple.com> 20114 20115 Remove unnecessary import of <Cocoa/Cocoa.h> 20116 https://bugs.webkit.org/show_bug.cgi?id=88180 20117 20118 Reviewed by Sam Weinig. 20119 20120 * UIProcess/mac/WKFullKeyboardAccessWatcher.h: 20121 201222012-06-02 Andy Estes <aestes@apple.com> 20123 20124 Ensure cpu_type_t is defined by including <mach/machine.h> 20125 https://bugs.webkit.org/show_bug.cgi?id=88178 20126 20127 Reviewed by Anders Carlsson. 20128 20129 * Shared/Plugins/PluginModuleInfo.h: 20130 201312012-06-02 Sam Weinig <sam@webkit.org> 20132 20133 InjectedBundles' sandbox extensions don't do what we think they do 20134 https://bugs.webkit.org/show_bug.cgi?id=88177 20135 20136 Reviewed by Anders Carlsson. 20137 20138 This cannot be tested with our current infrastructure (or any modifications of the 20139 infrastructure I can think of) since it relies on the bundle being put outside 20140 the build directory where WebKit is put. 20141 20142 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 20143 (WebKit::InjectedBundle::load): 20144 Use SandboxExtension::consumePermanently() rather than consume(), otherwise, 20145 nulling out the SandboxExtension a few lines later invalidates the extension 20146 we just consumed. 20147 201482012-06-02 Dan Bernstein <mitz@apple.com> 20149 20150 Reverted the last change. 20151 20152 * WebKit2.xcodeproj/project.pbxproj: 20153 201542012-06-02 Dan Bernstein <mitz@apple.com> 20155 20156 Stop treating two Python scripts as private headers. 20157 20158 * WebKit2.xcodeproj/project.pbxproj: Removed model.py and parser.py from the Copy Headers 20159 build phase. 20160 201612012-06-02 Zeno Albisser <zeno@webkit.org> 20162 20163 Fix and enable WebGL for WebKit2 on Qt. 20164 https://bugs.webkit.org/show_bug.cgi?id=86214 20165 20166 Added glue code to make use of GraphicsSurface 20167 as a backend for the webgl-canvas in case of WK2. 20168 20169 Reviewed by Noam Rosenthal. 20170 20171 * UIProcess/API/qt/qwebpreferences.cpp: 20172 (QWebPreferencesPrivate::testAttribute): 20173 (QWebPreferencesPrivate::setAttribute): 20174 (QWebPreferences::webGLEnabled): 20175 (QWebPreferences::setWebGLEnabled): 20176 * UIProcess/API/qt/qwebpreferences_p.h: 20177 * UIProcess/API/qt/qwebpreferences_p_p.h: 20178 Added WebGLEnabled enum to allow enabling/disabling of 20179 WebGL using QWebPreferences. 20180 20181 * UIProcess/LayerTreeHostProxy.cpp: 20182 (WebKit::LayerTreeHostProxy::syncCanvas): 20183 Dispatch syncCanvas calls to the apropriate 20184 WebLayerTreeRenderer. 20185 20186 * UIProcess/LayerTreeHostProxy.h: 20187 (LayerTreeHostProxy): 20188 * UIProcess/LayerTreeHostProxy.messages.in: 20189 * UIProcess/WebLayerTreeRenderer.h: 20190 (WebLayerTreeRenderer): 20191 * UIProcess/WebLayerTreeRenderer.cpp: 20192 (WebKit::WebLayerTreeRenderer::syncCanvas): 20193 (WebKit::WebLayerTreeRenderer::deleteLayer): 20194 (WebKit::WebLayerTreeRenderer::purgeGLResources): 20195 Create a TextureMapperSurfaceBackingStore for the canvas 20196 if necessary and pass or update the graphicsSurfaceToken 20197 for to be used with the backing store. 20198 20199 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 20200 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 20201 (WebCore): 20202 (WebCore::WebGraphicsLayer::setContentsToCanvas): 20203 (WebCore::WebGraphicsLayer::syncCanvas): 20204 Copy the multisample framebuffer contents onto the GraphicsSurface. 20205 Notify the UIProcess of the availability of a new texture. 20206 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 20207 Sync the canvas as well. 20208 20209 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 20210 Added a pure virtual function syncCanvas. 20211 This is guarded by PLATFORM(QT). 20212 (WebGraphicsLayerClient): 20213 (WebGraphicsLayer): 20214 20215 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 20216 (WebKit::LayerTreeHostQt::syncLayerChildren): 20217 (WebKit): 20218 (WebKit::LayerTreeHostQt::syncCanvas): 20219 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 20220 (LayerTreeHostQt): 20221 202222012-06-01 Brady Eidson <beidson@apple.com> 20223 20224 <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119 20225 REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call 20226 20227 Followup to r119260 20228 20229 Rubber-stamped by Anders Carlsson. 20230 20231 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 20232 (WebKit::NetscapePlugin::callSetWindow): Set the m_hasCalledSetWindow here... 20233 (WebKit::NetscapePlugin::geometryDidChange): ...instead of here. 20234 202352012-06-01 Brady Eidson <beidson@apple.com> 20236 20237 <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119 20238 REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call 20239 20240 Reviewed by Oliver Hunt. 20241 20242 Add a flag to NetscapePlugin to track whether or not NPP_SetWindow has ever been called. 20243 Check this flag in geometryDidChange to make sure every plug-in gets the call at least once. 20244 20245 "Everybody gets one. Tell him, Peter." 20246 "Apparently everybody gets one." 20247 "Bingo." 20248 20249 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 20250 (WebKit::NetscapePlugin::NetscapePlugin): 20251 (WebKit::NetscapePlugin::geometryDidChange): 20252 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 20253 (NetscapePlugin): 20254 202552012-06-01 Dinu Jacob <dinu.jacob@nokia.com> 20256 20257 [WK2] WebLayerTreeRenderer::setContentsSize called synchronously 20258 https://bugs.webkit.org/show_bug.cgi?id=88091 20259 20260 Reviewed by Noam Rosenthal. 20261 20262 Do not call WebLayerTreeRenderer::setContentsSize synchronously 20263 from LayerTreeHostProxy. 20264 20265 * UIProcess/LayerTreeHostProxy.cpp: 20266 (WebKit::LayerTreeHostProxy::setContentsSize): 20267 202682012-06-01 Dinu Jacob <dinu.jacob@nokia.com> 20269 20270 [Qt][WK2] Set QWebKitTest::isScalable default as false 20271 https://bugs.webkit.org/show_bug.cgi?id=88095 20272 20273 Reviewed by Tor Arne Vestbø. 20274 20275 Set QWebKitTest::isScalable default as false 20276 20277 * UIProcess/API/qt/qwebkittest.cpp: 20278 (QWebKitTest::isScalable): 20279 202802012-06-01 Allan Sandfeld Jensen <allan.jensen@nokia.com> 20281 20282 [Qt] Remove QtViewportInteractionEngine::pageItemSizeChanged. 20283 https://bugs.webkit.org/show_bug.cgi?id=88082 20284 20285 Reviewed by Kenneth Rohde Christiansen. 20286 20287 The function was causing flickering, and after testing it was verified 20288 that it was no longer needed either. 20289 20290 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20291 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20292 * UIProcess/qt/QtViewportInteractionEngine.h: 20293 (QtViewportInteractionEngine): 20294 202952012-06-01 Dinu Jacob <dinu.jacob@nokia.com> 20296 20297 [Qt][WK2] Contents not rendered in MiniBrowser for some pages 20298 https://bugs.webkit.org/show_bug.cgi?id=87922 20299 20300 Reviewed by Kenneth Rohde Christiansen. 20301 20302 Set drawing area visible contents rect if new visible contents rect is different from 20303 the previous one. 20304 20305 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20306 (WebKit::QtViewportInteractionEngine::informVisibleContentChange): 20307 * UIProcess/qt/QtViewportInteractionEngine.h: 20308 (QtViewportInteractionEngine): 20309 203102012-06-01 Kenneth Rohde Christiansen <kenneth@webkit.org> 20311 20312 [Qt] Move suspension to QtViewportInteractionEngine 20313 https://bugs.webkit.org/show_bug.cgi?id=88078 20314 20315 Reviewed by Simon Hausmann. 20316 20317 Next step is to take care of visibility changes. 20318 20319 * UIProcess/API/qt/qquickwebview.cpp: 20320 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 20321 (QQuickWebViewFlickablePrivate::onComponentComplete): 20322 * UIProcess/API/qt/qquickwebview_p.h: 20323 * UIProcess/API/qt/qquickwebview_p_p.h: 20324 (QQuickWebViewPrivate): 20325 (QQuickWebViewFlickablePrivate): 20326 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20327 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer): 20328 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 20329 (WebKit::QtViewportInteractionEngine::suspendPageContent): 20330 (WebKit): 20331 (WebKit::QtViewportInteractionEngine::resumePageContent): 20332 * UIProcess/qt/QtViewportInteractionEngine.h: 20333 (QtViewportInteractionEngine): 20334 203352012-06-01 Dinu Jacob <dinu.jacob@nokia.com> 20336 20337 [Qt][W2] Qml Error in ViewportInfoItem.qml in MiniBrowser 20338 https://bugs.webkit.org/show_bug.cgi?id=87999 20339 20340 Reviewed by Kenneth Rohde Christiansen. 20341 20342 Return default viewport attributes rather than invalid QVariant. 20343 20344 * UIProcess/API/qt/qwebkittest.cpp: 20345 (QWebKitTest::contentsScale): 20346 (QWebKitTest::devicePixelRatio): 20347 (QWebKitTest::initialScale): 20348 (QWebKitTest::minimumScale): 20349 (QWebKitTest::maximumScale): 20350 (QWebKitTest::isScalable): 20351 (QWebKitTest::layoutSize): 20352 203532012-05-31 Kenneth Rohde Christiansen <kenneth@webkit.org> 20354 20355 [Qt] Clean up our viewport handling mess 20356 https://bugs.webkit.org/show_bug.cgi?id=87977 20357 20358 Reviewed by Simon Hausmann. 20359 20360 Consolidated functionality from QQuickWebViewPrivate* into 20361 ViewportInteractionEngine that belongs there, in preparation for 20362 renaming ViewportInteractionEngine in the future. 20363 20364 Remove unneeded methods and move others to private. 20365 20366 * UIProcess/API/qt/qquickwebview.cpp: 20367 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 20368 (QQuickWebViewFlickablePrivate::onComponentComplete): 20369 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 20370 (QQuickWebViewFlickablePrivate::updateViewportSize): 20371 (QQuickWebViewFlickablePrivate::_q_resume): 20372 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 20373 * UIProcess/API/qt/qquickwebview_p.h: 20374 * UIProcess/API/qt/qquickwebview_p_p.h: 20375 (QQuickWebViewPrivate): 20376 (QQuickWebViewFlickablePrivate): 20377 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20378 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 20379 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20380 (WebKit::QtViewportInteractionEngine::viewportAttributesChanged): 20381 (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged): 20382 (WebKit::QtViewportInteractionEngine::pageItemPositionChanged): 20383 (WebKit::QtViewportInteractionEngine::pageContentPositionRequested): 20384 (WebKit::QtViewportInteractionEngine::visibleContentsRect): 20385 (WebKit): 20386 (WebKit::QtViewportInteractionEngine::informVisibleContentChange): 20387 (WebKit::QtViewportInteractionEngine::viewportItemSizeChanged): 20388 * UIProcess/qt/QtViewportInteractionEngine.h: 20389 (WebKit): 20390 (QtViewportInteractionEngine): 20391 203922012-05-31 Hajime Morrita <morrita@chromium.org> 20393 20394 REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac 20395 https://bugs.webkit.org/show_bug.cgi?id=86859 20396 20397 Reviewed by Ryosuke Niwa. 20398 20399 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 20400 (WebKit::WebEditorClient::requestCheckingOfString): 20401 * WebProcess/WebCoreSupport/WebEditorClient.h: 20402 204032012-05-31 Andy Estes <aestes@apple.com> 20404 20405 [WebKit2] Remove nested #if conditions from messages.in files 20406 https://bugs.webkit.org/show_bug.cgi?id=88039 20407 20408 Reviewed by Filip Pizlo. 20409 20410 The code generator that processes messages.in files can't handle nested 20411 #if conditions. Sadly I added said conditions in r117700 but failed to 20412 verify the generated result. Un-nest the conditions I added. 20413 20414 * UIProcess/WebPageProxy.messages.in: 20415 * WebProcess/WebPage/WebPage.messages.in: 20416 204172012-05-31 Andy Estes <aestes@apple.com> 20418 20419 Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC) 20420 https://bugs.webkit.org/show_bug.cgi?id=87933 20421 20422 Reviewed by Dan Bernstein. 20423 20424 * WebProcess/WebCoreSupport/WebEditorClient.h: 20425 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 20426 204272012-05-31 Carlos Garcia Campos <cgarcia@igalia.com> 20428 20429 [GTK] Add webkit_download_get_request to WebKit2 GTK+ API 20430 https://bugs.webkit.org/show_bug.cgi?id=87957 20431 20432 Reviewed by Martin Robinson. 20433 20434 * UIProcess/API/gtk/WebKitDownload.cpp: 20435 (webkit_download_get_request): Return the WebKitURIRequest 20436 representing the request that originated the download. 20437 * UIProcess/API/gtk/WebKitDownload.h: 20438 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 20439 * UIProcess/API/gtk/tests/TestDownloads.cpp: 20440 (testDownloadLocalFile): 20441 (testDownloadRemoteFile): 20442 204432012-05-31 Carlos Garcia Campos <cgarcia@igalia.com> 20444 20445 [SOUP] WebProcess crashes when a download is started from an existing ResourceHandle 20446 https://bugs.webkit.org/show_bug.cgi?id=87953 20447 20448 Reviewed by Martin Robinson. 20449 20450 The output stream to write the downloaded data is created in the 20451 didReceiveResponse callback of the download client. When a 20452 download is created for an existing ResourceHandle (this happens 20453 for example when policy decision is download), the response has 20454 already been received. In this case we should make sure that the 20455 download client is notified about the response, so that when data 20456 actually arrives the output stream has already been created. 20457 20458 * WebProcess/Downloads/soup/DownloadSoup.cpp: 20459 (WebKit::Download::startWithHandle): 20460 204612012-05-31 Carlos Garcia Campos <cgarcia@igalia.com> 20462 20463 [GTK] Fix webkit_web_view_can_execute_editing_command() API doc 20464 https://bugs.webkit.org/show_bug.cgi?id=87930 20465 20466 Reviewed by Martin Robinson. 20467 20468 * UIProcess/API/gtk/WebKitWebView.cpp: 20469 204702012-05-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 20471 20472 [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5) 20473 https://bugs.webkit.org/show_bug.cgi?id=87955 20474 20475 Reviewed by Simon Hausmann. 20476 20477 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 20478 204792012-05-31 Zalan Bujtas <zbujtas@gmail.com> 20480 20481 [Qt][WK2] Add missing ViewportUpdateDeferrer guarding to setPageItemRectVisible() calls. 20482 https://bugs.webkit.org/show_bug.cgi?id=87936 20483 20484 Reviewed by Kenneth Rohde Christiansen. 20485 20486 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20487 (WebKit::QtViewportInteractionEngine::viewportAttributesChanged): 20488 (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged): 20489 204902012-05-31 Keunsoon Lee <keunsoon.lee@samsung.com> 20491 20492 [EFL][WK2] Add WKURLRequestEfl and WKURLResponseEfl 20493 https://bugs.webkit.org/show_bug.cgi?id=70231 20494 20495 Reviewed by Chang Shu. 20496 20497 These codes can be used for WKPageDecidePolicyForResponseCallback on page policy callbacks. 20498 The callback conveys WKURLResponseRef and WKURLRequestRef as parameter. 20499 20500 By the way, EFL browser needs content type from response to decide correct policy. 20501 Another information, cookie, is necessary with similar reason. 20502 But, there is no way to obtain such information on WebKit2 main stream, except for WKURLRequestCopyURL(). 20503 20504 So, EFL port created those files to extract necessary information from WKURLResponseRef and WKURLRequestRef, 20505 and not to desturb WebKit2 main stream. 20506 20507 * Shared/API/c/efl/WKURLRequestEfl.cpp: Added. 20508 (WKURLRequestEflCopyCookies): extracting cookie information from WKURLRequestRef. 20509 * Shared/API/c/efl/WKURLRequestEfl.h: Added. 20510 * Shared/API/c/efl/WKURLResponseEfl.cpp: Added. 20511 (WKURLResponseEflCopyContentType): extracting content type (i.e. MIME type) from WKURLResponseRef. 20512 * Shared/API/c/efl/WKURLResponseEfl.h: Added. 20513 * Shared/efl/WebCoreArgumentCodersEfl.cpp: Added. 20514 (CoreIPC): 20515 (CoreIPC::::encode): 20516 (CoreIPC::::decode): 20517 * Shared/efl/WebURLRequestEfl.cpp: Added. 20518 (WebKit): 20519 (WebKit::WebURLRequestEfl::WebURLRequestEfl): 20520 (WebKit::WebURLRequestEfl::cookies): obtaining cookie information from ResourceRequest. 20521 * Shared/efl/WebURLRequestEfl.h: Added. 20522 (WebKit): 20523 (WebURLRequestEfl): 20524 (WebKit::WebURLRequestEfl::create): 20525 * Shared/efl/WebURLResponseEfl.cpp: Added. 20526 (WebKit): 20527 (WebKit::WebURLResponseEfl::WebURLResponseEfl): 20528 (WebKit::WebURLResponseEfl::contentType): obtaining content type (i.e. MIME type) from ResourceResponse. 20529 * Shared/efl/WebURLResponseEfl.h: Added. 20530 (WebKit): 20531 (WebURLResponseEfl): 20532 (WebKit::WebURLResponseEfl::create): 20533 205342012-05-31 Gyuyoung Kim <gyuyoung.kim@samsung.com> 20535 20536 [EFL][WK2] Rename ewk_private.h to ewk_view_private.h 20537 https://bugs.webkit.org/show_bug.cgi?id=87923 20538 20539 Reviewed by Kenneth Rohde Christiansen. 20540 20541 EFL WK1 decided to divide up ewk_private.h into each file's XXX_private.h file in order to maintain 20542 internal functions more easily. EFL WK2 needs to adjust this as well. 20543 20544 * UIProcess/API/efl/PageClientImpl.cpp: 20545 * UIProcess/API/efl/ewk_view_private.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h. 20546 (WebCore): 20547 * UIProcess/cairo/BackingStoreCairo.cpp: 20548 205492012-05-31 Andy Estes <aestes@apple.com> 20550 20551 Move the specification of framework and library linking out of WebKit2.xcodeproj and into WebKit2.xcconfig 20552 https://bugs.webkit.org/show_bug.cgi?id=87932 20553 20554 Reviewed by Dan Bernstein. 20555 20556 Doing this makes it easier to vary linking based on SDK or other factors. 20557 20558 * Configurations/WebKit2.xcconfig: Create FRAMEWORK_AND_LIBRARY_LDFLAGS, 20559 which specifies the same list of frameworks and libraries that were 20560 previously in WebKit2's 'Link Binary With Libraries' build phase, and 20561 append it to $(OTHER_LDFLAGS). 20562 * WebKit2.xcodeproj/project.pbxproj: Remove all frameworks and 20563 libraries from the 'Link Binary With Libraries' build phase. 20564 205652012-05-30 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 20566 20567 [GTK] [WK2] Memory leak in webkitWebViewBaseStartDrag 20568 https://bugs.webkit.org/show_bug.cgi?id=87756 20569 20570 Reviewed by Carlos Garcia Campos. 20571 20572 Fixed memory leaks in drag and drop by using adoptRef instead 20573 of just getting new references. 20574 20575 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 20576 (webkitWebViewBaseStartDrag): 20577 205782012-05-30 Luiz Agostini <luiz.agostini@nokia.com> 20579 20580 [Qt] handled touchmove events should not cancel tap gesture recognition 20581 https://bugs.webkit.org/show_bug.cgi?id=87808 20582 20583 Reviewed by Kenneth Rohde Christiansen. 20584 20585 Tap gesture recognition should not be canceled if a touchmove event is handled 20586 by the web process. 20587 20588 * UIProcess/qt/QtWebPageEventHandler.cpp: 20589 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 20590 205912012-05-30 Mario Sanchez Prada <msanchez@igalia.com> 20592 20593 [GTK][WK2] Errors in documentation about webkit_web_view_run_javascript() 20594 https://bugs.webkit.org/show_bug.cgi?id=87866 20595 20596 Reviewed by Martin Robinson. 20597 20598 * UIProcess/API/gtk/WebKitWebView.cpp: Fix errors. 20599 206002012-05-30 Andy Estes <aestes@apple.com> 20601 20602 WebProcessMainMac.mm doesn't need to import WKView.h. 20603 20604 Rubber-stamped by Anders Carlsson. 20605 20606 * WebProcess/mac/WebProcessMainMac.mm: 20607 206082012-05-30 Marcelo Lira <marcelo.lira@openbossa.org> 20609 20610 WebKit2: Implement layoutTestController.setPluginsEnabled() in WebKitTestRunner. 20611 https://bugs.webkit.org/show_bug.cgi?id=58593 20612 20613 Adds the ability to change the pluginsEnabled flag in WebCore::Settings 20614 to WebKitTestRunner's LayoutTestController. The flag is modified via the 20615 public C API of the WebProcess. 20616 20617 Reviewed by Darin Adler. 20618 20619 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 20620 (WKBundleSetPluginsEnabled): 20621 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 20622 * WebProcess/InjectedBundle/InjectedBundle.cpp: 20623 (WebKit::InjectedBundle::setPluginsEnabled): Calls the setPluginsEnabled 20624 method for the WebCore::Settings of each WebCore::Page in the current 20625 page group. 20626 (WebKit): 20627 * WebProcess/InjectedBundle/InjectedBundle.h: 20628 (InjectedBundle): 20629 206302012-05-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 20631 20632 HashTable.h has using directives for std::pair and std::make_pair 20633 https://bugs.webkit.org/show_bug.cgi?id=29919 20634 20635 Reviewed by Darin Adler. 20636 20637 Change code to use std::pair and std::make_pair. 20638 20639 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: 20640 (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): 20641 * UIProcess/WebContext.cpp: 20642 (WebKit::WebContext::postMessageToInjectedBundle): 20643 206442012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 20645 20646 Unreviewed: Fix wrongly typed Qt slot. 20647 20648 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20649 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20650 206512012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 20652 20653 [Qt] Move ViewportAttribute related methods to the interaction engine. 20654 https://bugs.webkit.org/show_bug.cgi?id=87855 20655 20656 Reviewed by Simon Hausmann. 20657 20658 Move the logic of didChange{ViewportProperties|ContentsSize} to the 20659 interaction engine and update our testing object. 20660 20661 * UIProcess/API/qt/qquickwebview.cpp: 20662 (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate): 20663 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 20664 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 20665 * UIProcess/API/qt/qquickwebview_p_p.h: 20666 (QQuickWebViewPrivate): 20667 * UIProcess/API/qt/qwebkittest.cpp: 20668 (QWebKitTest::contentsScale): 20669 (QWebKitTest::devicePixelRatio): 20670 (QWebKitTest::initialScale): 20671 (QWebKitTest::minimumScale): 20672 (QWebKitTest::maximumScale): 20673 (QWebKitTest::isScalable): 20674 (QWebKitTest::layoutSize): 20675 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20676 (WebKit::QtViewportInteractionEngine::viewportAttributesChanged): 20677 (WebKit): 20678 (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged): 20679 * UIProcess/qt/QtViewportInteractionEngine.h: 20680 (QtViewportInteractionEngine): 20681 206822012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 20683 20684 [Qt] Do renames in ViewportInteractionEngine as agreed upon 20685 https://bugs.webkit.org/show_bug.cgi?id=87845 20686 20687 Reviewed by Simon Hausmann. 20688 20689 Mostly moving methods around and renaming them to be more 20690 consistent and avoid terminology clashes. 20691 20692 * UIProcess/API/qt/qquickwebview.cpp: 20693 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 20694 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 20695 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 20696 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20697 (WebKit::boundPosition): 20698 (WebKit): 20699 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20700 (WebKit::QtViewportInteractionEngine::setPageItemRectVisible): 20701 (WebKit::QtViewportInteractionEngine::animatePageItemRectVisible): 20702 (WebKit::QtViewportInteractionEngine::flickMoveStarted): 20703 (WebKit::QtViewportInteractionEngine::flickMoveEnded): 20704 (WebKit::QtViewportInteractionEngine::pageItemPositionChanged): 20705 (WebKit::QtViewportInteractionEngine::pageContentPositionRequest): 20706 (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged): 20707 (WebKit::QtViewportInteractionEngine::computePosRangeForPageItemAtScale): 20708 (WebKit::QtViewportInteractionEngine::focusEditableArea): 20709 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 20710 (WebKit::QtViewportInteractionEngine::nearestValidBounds): 20711 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 20712 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 20713 (WebKit::QtViewportInteractionEngine::pageItemSizeChanged): 20714 * UIProcess/qt/QtViewportInteractionEngine.h: 20715 (WebKit::QtViewportInteractionEngine::setDevicePixelRatio): 20716 (QtViewportInteractionEngine): 20717 207182012-05-30 Mariusz Grzegorczyk <mariusz.g@samsung.com>, Ryuan Choi <ryuan.choi@samsung.com> 20719 20720 [EFL][WK2] Fix WebKit2-EFL build 20721 https://bugs.webkit.org/show_bug.cgi?id=83693 20722 20723 Reviewed by Carlos Garcia Campos. 20724 20725 * CMakeLists.txt: Move IDL generator codes to generate port specific *.messages.in. 20726 * PlatformEfl.cmake: Add soup related files after r115411 and includes to fix build break. 20727 * UIProcess/API/efl/PageClientImpl.cpp: Fix build break with ENABLE_TOUCH_EVENTS. 20728 (WebKit): 20729 (WebKit::PageClientImpl::doneWithTouchEvent): 20730 * UIProcess/API/efl/PageClientImpl.h: 20731 (PageClientImpl): 20732 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Fix build break with ENABLE_INPUT_TYPE_COLOR and ENABLE_REGISTER_PROTOCOL_HANDLER. 20733 (WebKit): 20734 (WebKit::WebChromeClient::createColorChooser): 20735 * WebProcess/WebCoreSupport/WebChromeClient.h: 20736 (WebChromeClient): 20737 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Fix build break with ENABLE_WEB_INTENTS 20738 (WebKit): 20739 (WebKit::WebFrameLoaderClient::dispatchIntent): 20740 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 20741 (WebCore): 20742 (WebFrameLoaderClient): 20743 * WebProcess/WebProcess.cpp: Guard PLATFORM_STRATEGIES codes. 20744 (WebKit::WebProcess::didGetPlugins): 20745 * WebProcess/soup/WebSoupRequestManager.cpp: Try to share with EFL port. 20746 (WebKit::WebSoupRequestManager::didHandleURIRequest): 20747 207482012-05-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 20749 20750 [Qt] Variable renaming as preparation of further refactoring. 20751 20752 Rubberstamped by Simon Hausmann. 20753 20754 Change m_viewport to m_viewportItem and m_content to m_pageItem. 20755 20756 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20757 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20758 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 20759 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 20760 (WebKit::QtViewportInteractionEngine::flickableMoveStarted): 20761 (WebKit::QtViewportInteractionEngine::flickableMoveEnded): 20762 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 20763 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 20764 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 20765 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 20766 (WebKit::QtViewportInteractionEngine::focusEditableArea): 20767 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 20768 (WebKit::QtViewportInteractionEngine::nearestValidBounds): 20769 (WebKit::QtViewportInteractionEngine::reset): 20770 (WebKit::QtViewportInteractionEngine::setCSSScale): 20771 (WebKit::QtViewportInteractionEngine::currentCSSScale): 20772 (WebKit::QtViewportInteractionEngine::scrollAnimationActive): 20773 (WebKit::QtViewportInteractionEngine::panGestureActive): 20774 (WebKit::QtViewportInteractionEngine::panGestureStarted): 20775 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 20776 (WebKit::QtViewportInteractionEngine::panGestureEnded): 20777 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 20778 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 20779 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 20780 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 20781 (WebKit::QtViewportInteractionEngine::scaleContent): 20782 * UIProcess/qt/QtViewportInteractionEngine.h: 20783 (QtViewportInteractionEngine): 20784 207852012-05-30 Zalan Bujtas <zbujtas@gmail.com> 20786 20787 [Qt][WK2] Do not use anonymous variables for ViewportUpdateDeferrer. 20788 https://bugs.webkit.org/show_bug.cgi?id=87831 20789 20790 Reviewed by Kenneth Rohde Christiansen. 20791 20792 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20793 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 20794 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 20795 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 20796 207972012-05-30 Carlos Garcia Campos <cgarcia@igalia.com> 20798 20799 Unreviewed. Fix WebKit2GTK+ API tests in the bots. 20800 20801 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 20802 (testWebViewCanShowMIMEType): Remove the check for multimedia and 20803 plugins MIME types since they depend on the configuration and they 20804 are not available in the bots. 20805 208062012-05-29 Jer Noble <jer.noble@apple.com> 20807 20808 Noticeable delay taking an HTML5 trailer fullscreen. 20809 https://bugs.webkit.org/show_bug.cgi?id=87794 20810 20811 Reviewed by Darin Adler. 20812 20813 Work around a not-entirely understood delay when using the results of a CGWindowListCreateImage() 20814 call as the contents of a placeholder view. The backing of the resulting CGImageRef resides on 20815 the WindowServer, and drawing that image requires synchronous calls to the WindowServer process. 20816 By copying the image data, up front, into our own process, we can avoid those synchronous calls 20817 later and avoid the delay-causing drawing behavior. 20818 20819 * UIProcess/mac/WKFullScreenWindowController.mm: 20820 (CGImageDeepCopy): Added a helper function which copies the image data into a new CGImage. 20821 (-[WKFullScreenWindowController enterFullScreen:]): Use the above. 20822 208232012-05-29 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 20824 20825 [GTK] [WK2] Reproducible crash in performDragControllerAction 20826 https://bugs.webkit.org/show_bug.cgi?id=87744 20827 20828 Reviewed by Martin Robinson. 20829 20830 Fix a crash by using deref() instead of delete to dereference and 20831 release the platformData of DragData. 20832 20833 * WebProcess/WebPage/WebPage.cpp: 20834 (WebKit::WebPage::performDragControllerAction): 20835 208362012-05-29 Simon Pena <spena@igalia.com> 20837 20838 [GTK] Missing field initializers for WKPageLoaderClient and WKPageUIClient 20839 https://bugs.webkit.org/show_bug.cgi?id=87745 20840 20841 Reviewed by Carlos Garcia Campos. 20842 20843 Add missing initializers for WKPageLoaderClient and 20844 WKPageUIClient, for callbacks WKPagePluginDidFailCallback and 20845 WKPageUnavailablePluginButtonClickedCallback, introduced in 20846 revision r116716. 20847 20848 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 20849 (attachLoaderClientToView): Initialize WKPagePluginDidFailCallback 20850 * UIProcess/API/gtk/WebKitUIClient.cpp: 20851 (attachUIClientToView): Initialize callback 20852 WKPageUnavailablePluginButtonClickedCallback 20853 208542012-05-29 Carlos Garcia Campos <cgarcia@igalia.com> 20855 20856 [GTK] Policy decision headers are not included in the main webkit2.h header 20857 https://bugs.webkit.org/show_bug.cgi?id=87753 20858 20859 Reviewed by Martin Robinson. 20860 20861 * UIProcess/API/gtk/webkit2.h: Include 20862 WebKitNavigationPolicyDecision.h and WebKitResponsePolicyDecision.h. 20863 208642012-05-29 Carlos Garcia Campos <cgarcia@igalia.com> 20865 20866 [GTK] Add webkit_web_view_can_show_mime_type() to WebKit2 GTK+ API 20867 https://bugs.webkit.org/show_bug.cgi?id=85998 20868 20869 Reviewed by Martin Robinson. 20870 20871 And use it in the default handler of WebKitWebView::decide-policy 20872 signal to decide whether to use or ignore a response policy 20873 decision depending on whether the mime type of the response can be 20874 displayed in the WebView or not. 20875 20876 * UIProcess/API/gtk/WebKitURIResponse.cpp: 20877 (webkitURIResponseGetProperty): Add getter for mime-type property. 20878 (webkit_uri_response_class_init): Add mime-type property. 20879 (webkit_uri_response_get_mime_type): Return the mime type of the 20880 response. 20881 * UIProcess/API/gtk/WebKitURIResponse.h: 20882 * UIProcess/API/gtk/WebKitWebView.cpp: 20883 (webkitWebViewDecidePolicy): In case of response policy decisions, 20884 use the URI response to decide what to do: download if the 20885 response is an attachment, use if the mime type is supported by 20886 the web view or ignore otherwise. 20887 (webkit_web_view_can_show_mime_type): Returns whether the given 20888 mime type can be displayed in the WebView or not. 20889 * UIProcess/API/gtk/WebKitWebView.h: 20890 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 20891 * UIProcess/API/gtk/tests/TestResources.cpp: 20892 (testWebResourceResponse): 20893 (testWebResourceMimeType): 20894 (serverCallback): 20895 (beforeAll): 20896 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 20897 (testWebViewCanShowMIMEType): 20898 (beforeAll): 20899 209002012-05-29 David Barr <davidbarr@chromium.org> 20901 20902 Introduce ENABLE_CSS_IMAGE_RESOLUTION compile flag 20903 https://bugs.webkit.org/show_bug.cgi?id=87685 20904 20905 Reviewed by Eric Seidel. 20906 20907 Add a configuration option for CSS image-resolution support, disabling it by default. 20908 20909 * Configurations/FeatureDefines.xcconfig: 20910 209112012-05-29 Kenneth Rohde Christiansen <kenneth@webkit.org> 20912 20913 [Qt] Move tests from DesktopBehavior which can be made to work 20914 https://bugs.webkit.org/show_bug.cgi?id=87736 20915 20916 Rubberstamped by Simon Hausmann. 20917 20918 Move and modify the following tests to WebView/ and make them 20919 use touch events. 20920 20921 * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml. 20922 * UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml. 20923 * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml. 20924 * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml. 20925 209262012-05-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 20927 20928 [Qt] Sync up favicon-implementation with WebView url changes in r118158 20929 20930 https://bugs.webkit.org/show_bug.cgi?id=87133 20931 20932 We now base64-encode the page url in the image-provider url, so that any 20933 normalization done by QUrl will not mess up the page-url. The logic of 20934 creating and parsing the provider-url has been moved into the image 20935 provider, to keep it in one place. 20936 20937 We were also releasing icons (even ones we hadn't retained), which we can't 20938 do since we don't know when the icon url is no longer in use. 20939 20940 Reviewed-by Simon Hausmann. 20941 20942 * UIProcess/API/qt/qquickwebview.cpp: 20943 (QQuickWebViewPrivate::initialize): 20944 (QQuickWebViewPrivate::loadProgressDidChange): 20945 (QQuickWebViewPrivate::_q_onUrlChanged): 20946 (QQuickWebViewPrivate::_q_onIconChangedForPageURL): 20947 (QQuickWebViewPrivate::updateIcon): 20948 (QQuickWebView::icon): 20949 * UIProcess/API/qt/qquickwebview_p.h: 20950 * UIProcess/API/qt/qquickwebview_p_p.h: 20951 (QQuickWebViewPrivate): 20952 * UIProcess/API/qt/qwebiconimageprovider.cpp: 20953 (QWebIconImageProvider::iconURLForPageURLInContext): 20954 (QWebIconImageProvider::requestImage): 20955 * UIProcess/API/qt/qwebiconimageprovider_p.h: 20956 (WebKit): 20957 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: 20958 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 20959 (WebKit::QtWebIconDatabaseClient::didChangeIconForPageURL): 20960 (WebKit::QtWebIconDatabaseClient::iconForPageURL): 20961 (WebKit): 20962 (WebKit::QtWebIconDatabaseClient::iconImageForPageURL): 20963 * UIProcess/qt/QtWebIconDatabaseClient.h: 20964 (QtWebIconDatabaseClient): 20965 209662012-05-29 Kenneth Rohde Christiansen <kenneth@webkit.org> 20967 20968 [Qt][WK2] Fix failing qmltests::FitToView::test_basic() 20969 https://bugs.webkit.org/show_bug.cgi?id=87236 20970 20971 Reviewed by Simon Hausmann. 20972 20973 The fix is a combination of things. First of all some events 20974 were emitted at the wrong times or when nothing had changed. 20975 20976 We also initialized the view saying it was suspended which is 20977 not correct. 20978 20979 Another bug was that the touch tap, didn't result in marking 20980 the view as having user interaction. This was recently fixed 20981 in r118493. 20982 20983 * UIProcess/API/qt/qquickwebpage.cpp: 20984 (QQuickWebPage::setContentsScale): 20985 * UIProcess/API/qt/qquickwebview.cpp: 20986 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 20987 20988 Make sure pageIsSuspended is initialized to false. 20989 20990 (QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange): 20991 20992 Early bail out if there is no change. 20993 20994 Inform contentScaleCommitted if the scale changed since last time. 20995 20996 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 20997 20998 Make sure to commit the right signals, ie. *Changed and not *Committed. 20999 21000 * UIProcess/API/qt/qquickwebview_p.h: 21001 * UIProcess/API/qt/qwebkittest.cpp: 21002 (touchPoint): 21003 (QWebKitTest::sendTouchEvent): 21004 (QWebKitTest::touchTap): 21005 (QWebKitTest::touchDoubleTap): 21006 21007 Add proper touch emulation for the testing system. Call directly 21008 to our WebKit API (avoid Qt event loop) to ensure all events gets 21009 delivered. 21010 21011 * UIProcess/API/qt/qwebkittest_p.h: 21012 * UIProcess/qt/QtViewportInteractionEngine.cpp: 21013 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 21014 21015 Assert that a ViewportUpdateDeferrer is always used when calling 21016 this method. 21017 21018 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 21019 21020 Remove work around now we have the proper fix in place. 21021 21022 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 21023 21024 Do not send the informVisibleContentChange manually, use the 21025 ViewportUpdateDeferrer instead. 21026 21027 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 21028 21029 Add missing ViewportUpdateDeferrer. 21030 21031 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 21032 21033 No reason to emit informVisibleContentChange before pinch 21034 start, as it is always done on end (due to the ViewportUpdateDeferrer). 21035 21036 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 21037 21038 Add missing ViewportUpdateDeferrer. 21039 210402012-05-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 21041 21042 [Qt] [WK2] Allow user to inject JS scripts when the page loads 21043 https://bugs.webkit.org/show_bug.cgi?id=85827 21044 21045 Reviewed by Simon Hausmann. 21046 21047 Create a new experimental property to list URLs of JS scripts that should be 21048 loaded when a page is loaded. These scripts will run in the normal JS environment 21049 of the page. 21050 21051 The supported URL schemes are file:/// and qrc:///. The scripts are read from the 21052 UI process and transfered to the Web process. 21053 21054 Together with the experimental messaging API this provides a way for the 21055 application to manipulate the DOM (by injecting a script that does the 21056 manipulation and communicating with it via postMessage). This covers some of the 21057 use cases of QWebElement in our WK1 API. 21058 21059 * UIProcess/API/qt/qquickwebview.cpp: 21060 (QQuickWebViewPrivate::didRelaunchProcess): 21061 (readUserScript): 21062 (QQuickWebViewPrivate::updateUserScripts): 21063 (QQuickWebViewExperimental::userScripts): 21064 (QQuickWebViewExperimental::setUserScripts): 21065 * UIProcess/API/qt/qquickwebview_p.h: 21066 * UIProcess/API/qt/qquickwebview_p_p.h: 21067 (QQuickWebViewPrivate): 21068 * UIProcess/API/qt/tests/qmltests/WebView.pro: 21069 * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added. 21070 * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added. 21071 * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added. 21072 * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added. 21073 * UIProcess/API/qt/tests/qmltests/resources.qrc: Added. 21074 * UIProcess/WebPageProxy.h: 21075 (WebPageProxy): 21076 * UIProcess/qt/WebPageProxyQt.cpp: 21077 (WebKit::WebPageProxy::setUserScripts): 21078 (WebKit): 21079 * WebProcess/WebPage/WebPage.h: 21080 (WebPage): 21081 * WebProcess/WebPage/WebPage.messages.in: 21082 * WebProcess/WebPage/qt/WebPageQt.cpp: 21083 (WebKit::WebPage::setUserScripts): 21084 (WebKit): 21085 210862012-05-29 Sheriff Bot <webkit.review.bot@gmail.com> 21087 21088 Unreviewed, rolling out r118752. 21089 http://trac.webkit.org/changeset/118752 21090 https://bugs.webkit.org/show_bug.cgi?id=87731 21091 21092 incomplete patch (Requested by cmarcelo on #webkit). 21093 21094 * UIProcess/API/qt/qquickwebview.cpp: 21095 (QQuickWebViewPrivate::didRelaunchProcess): 21096 * UIProcess/API/qt/qquickwebview_p.h: 21097 * UIProcess/API/qt/qquickwebview_p_p.h: 21098 (QQuickWebViewPrivate): 21099 * UIProcess/API/qt/tests/qmltests/WebView.pro: 21100 * UIProcess/WebPageProxy.h: 21101 (WebPageProxy): 21102 * UIProcess/qt/WebPageProxyQt.cpp: 21103 * WebProcess/WebPage/WebPage.h: 21104 (WebPage): 21105 * WebProcess/WebPage/WebPage.messages.in: 21106 * WebProcess/WebPage/qt/WebPageQt.cpp: 21107 211082012-05-21 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 21109 21110 [Qt] [WK2] Allow user to inject JS scripts when the page loads 21111 https://bugs.webkit.org/show_bug.cgi?id=85827 21112 21113 Reviewed by Simon Hausmann. 21114 21115 Create a new experimental property to list URLs of JS scripts that should be 21116 loaded when a page is loaded. These scripts will run in the normal JS environment 21117 of the page. 21118 21119 The supported URL schemes are file:/// and qrc:///. The scripts are read from the 21120 UI process and transfered to the Web process. 21121 21122 Together with the experimental messaging API this provides a way for the 21123 application to manipulate the DOM (by injecting a script that does the 21124 manipulation and communicating with it via postMessage). This covers some of the 21125 use cases of QWebElement in our WK1 API. 21126 21127 * UIProcess/API/qt/qquickwebview.cpp: 21128 (QQuickWebViewPrivate::didRelaunchProcess): 21129 (readUserScript): 21130 (QQuickWebViewPrivate::updateUserScripts): 21131 (QQuickWebViewExperimental::userScripts): 21132 (QQuickWebViewExperimental::setUserScripts): 21133 * UIProcess/API/qt/qquickwebview_p.h: 21134 * UIProcess/API/qt/qquickwebview_p_p.h: 21135 (QQuickWebViewPrivate): 21136 * UIProcess/API/qt/tests/qmltests/WebView.pro: 21137 * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Added. 21138 * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Added. 21139 * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Added. 21140 * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Added. 21141 * UIProcess/API/qt/tests/qmltests/resources.qrc: Added. 21142 * UIProcess/WebPageProxy.h: 21143 (WebPageProxy): 21144 * UIProcess/qt/WebPageProxyQt.cpp: 21145 (WebKit::WebPageProxy::setUserScripts): 21146 (WebKit): 21147 * WebProcess/WebPage/WebPage.h: 21148 (WebPage): 21149 * WebProcess/WebPage/WebPage.messages.in: 21150 * WebProcess/WebPage/qt/WebPageQt.cpp: 21151 (WebKit::WebPage::setUserScripts): 21152 (WebKit): 21153 211542012-05-29 Carlos Garcia Campos <cgarcia@igalia.com> 21155 21156 [GTK] Add return value information to WebKitWebView::load-failed signal documentation 21157 https://bugs.webkit.org/show_bug.cgi?id=87704 21158 21159 Reviewed by Martin Robinson. 21160 21161 * UIProcess/API/gtk/WebKitWebView.cpp: 21162 (webkit_web_view_class_init): 21163 211642012-05-29 Carlos Garcia Campos <cgarcia@igalia.com> 21165 21166 [GTK] Add WebKitWebInspector.h to the list of WebKit2 GTK public headers 21167 https://bugs.webkit.org/show_bug.cgi?id=87703 21168 21169 Reviewed by Martin Robinson. 21170 21171 * GNUmakefile.list.am: Add WebKitWebInspector.h to webkit2gtk_h_api. 21172 211732012-05-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 21174 21175 WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled 21176 https://bugs.webkit.org/show_bug.cgi?id=42328 21177 21178 Reviewed by Eric Seidel. 21179 21180 Removed unneeded setJavaScriptProfilingEnabled function from WTR after its 21181 move to windows.internals.settings. 21182 21183 * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: 21184 * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: 21185 * WebProcess/WebPage/WebInspector.cpp: 21186 (WebKit::WebInspector::setJavaScriptProfilingEnabled): 21187 * win/WebKit2.def: 21188 211892012-05-28 No'am Rosenthal <noam.rosenthal@nokia.com> 21190 21191 Remove unused argument coders for animation 21192 https://bugs.webkit.org/show_bug.cgi?id=87435 21193 21194 Reviewed by Sam Weinig. 21195 21196 Left the used argument coders only, behind a proper USE(UI_SIDE_COMPOSITING) flag. 21197 21198 * Shared/WebCoreArgumentCoders.cpp: 21199 (CoreIPC): 21200 * Shared/WebCoreArgumentCoders.h: 21201 212022012-05-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> 21203 21204 Move allowRoundingHacks to Internals interface 21205 https://bugs.webkit.org/show_bug.cgi?id=87328 21206 21207 Reviewed by Hajime Morita. 21208 21209 * win/WebKit2.def: Add setAllowsRoundingHacks() to symbol filter. 21210 212112012-05-26 Geoffrey Garen <ggaren@apple.com> 21212 21213 WebKit should be lazy-finalization-safe (esp. the DOM) v2 21214 https://bugs.webkit.org/show_bug.cgi?id=87581 21215 21216 Reviewed by Oliver Hunt. 21217 21218 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 21219 (WebKit::JSNPObject::destroy): 21220 (WebKit::JSNPObject::leakNPObject): 21221 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 21222 (WebKit::NPRuntimeObjectMap::finalize): Use static_cast instead of jsCast because 21223 jsCast does Structure-based validation, and our Structure is not guaranteed 21224 to be alive when we get finalized. 21225 212262012-05-25 Maciej Stachowiak <mjs@apple.com> 21227 21228 REGRESSION (r116720): Subframe PDF scrolls extremely slowly 21229 https://bugs.webkit.org/show_bug.cgi?id=87557 21230 <rdar://problem/11499408> 21231 21232 Reviewed by Anders Carlsson. 21233 21234 It's not possible to make an automated test for this. 21235 21236 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: 21237 (WebKit::BuiltInPDFView::wantsWheelEvents): Return true instead of false and delete 21238 misleading comment. While the built-in PDF view would get added to the set of scrollable 21239 areas anyway, there are some code paths that check wantsWheelEvents explicitly, so it seems 21240 necessary to reutrn true. 21241 212422012-05-25 Brady Eidson <beidson@apple.com> 21243 21244 https://bugs.webkit.org/show_bug.cgi?id=87418 21245 WebBackForwardList should separate "has no current index" from the integer value of the current index 21246 21247 This patch also renames "m_current" to "m_currentIndex" for clarity and symmetry with 21248 other variable names that reference "index", 21249 21250 It also removes the m_closed and m_enabled flags which were never actually used. 21251 21252 Reviewed by Darin Adler. 21253 21254 * UIProcess/WebBackForwardList.cpp: 21255 (WebKit::WebBackForwardList::WebBackForwardList): 21256 (WebKit::WebBackForwardList::addItem): 21257 (WebKit::WebBackForwardList::goToItem): 21258 (WebKit::WebBackForwardList::currentItem): 21259 (WebKit::WebBackForwardList::backItem): 21260 (WebKit::WebBackForwardList::forwardItem): 21261 (WebKit::WebBackForwardList::itemAtIndex): 21262 (WebKit::WebBackForwardList::backListCount): 21263 (WebKit::WebBackForwardList::forwardListCount): 21264 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 21265 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 21266 (WebKit::WebBackForwardList::clear): 21267 21268 * UIProcess/WebBackForwardList.h: 21269 (WebKit::WebBackForwardList::currentIndex): 21270 (WebBackForwardList): 21271 21272 * UIProcess/cf/WebBackForwardListCF.cpp: 21273 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 21274 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 21275 212762012-05-25 Beth Dakin <bdakin@apple.com> 21277 21278 https://bugs.webkit.org/show_bug.cgi?id=87529 21279 Background tabs hosted in window server flash before painting 21280 when they first become active 21281 21282 Reviewed by Anders Carlsson. 21283 21284 Initialize to LayerHostingModeInWindowServer if that is 21285 available to avoid having to re-make the context and re-set 21286 everything later on. 21287 * UIProcess/WebPageProxy.cpp: 21288 (WebKit::WebPageProxy::WebPageProxy): 21289 212902012-05-25 Mario Sanchez Prada <msanchez@igalia.com> 21291 21292 [GTK][WK2] Implement API for generic permission requests 21293 https://bugs.webkit.org/show_bug.cgi?id=84018 21294 21295 Reviewed by Martin Robinson. 21296 21297 Added new 'permission-request' signal to WebKitWebView, to be 21298 fired when WebKit needs confirmation from the user on whether to 21299 allow or deny certain operations, such as sharing the user's 21300 location with web site through the Geolocation API. 21301 21302 New WebKitPermissionRequest interface, providing allow() and 21303 deny() operations, to be called over the objects implementing it 21304 when emitted along with the new 'permission-request' signal. 21305 21306 * UIProcess/API/gtk/WebKitPermissionRequest.cpp: Added. 21307 (webkit_permission_request_default_init): 21308 (webkit_permission_request_allow): 21309 (webkit_permission_request_deny): 21310 * UIProcess/API/gtk/WebKitPermissionRequest.h: Added. 21311 (_WebKitPermissionRequestIface): 21312 * GNUmakefile.am: Added new files. 21313 21314 Added the new signal to WebKitWebView, providing a default handler 21315 that will just deny the request when the signal is not handled. 21316 21317 * UIProcess/API/gtk/WebKitWebView.cpp: 21318 (webkitWebViewDecidePermissionRequest): Default handler. 21319 (webkit_web_view_class_init): Declare the new signal and connect 21320 to the default handler. 21321 (webkitWebViewMakePermissionRequest): Helper function to create a 21322 make a new permission request and emit the new signal signal. 21323 * UIProcess/API/gtk/WebKitWebView.h: 21324 (_WebKitWebViewClass): 21325 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Declare the creational 21326 function webkitWebViewMakePermissionRequest for internal use only. 21327 21328 Updated documentation files. 21329 21330 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 21331 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 21332 213332012-05-25 Grzegorz Czajkowski <g.czajkowski@samsung.com> 21334 21335 [WK2] Fix client interface size for WKPageContextMenuClient. 21336 https://bugs.webkit.org/show_bug.cgi?id=87472 21337 21338 Reviewed by Carlos Garcia Campos. 21339 21340 Add correct offset for version 1 and 2 of WKPageContextMenuClient. 21341 Revision 109750 introduces a new API and increases size of interfaceSizesByVersion 21342 but the table is not properly initialized for newly introduced version 2. 21343 21344 * Shared/APIClientTraits.cpp: 21345 (WebKit): 21346 213472012-05-24 Andreas Kling <kling@webkit.org> 21348 21349 Mac bots crashing under PluginInfo destructor. 21350 <http://webkit.org/b/87414> 21351 <rdar://problem/11527172> 21352 21353 Reviewed by Darin Adler. 21354 21355 We can't safely pass WTF::String to another thread without a deref() race, 21356 so pass the PluginInfo vector by pointer instead of by value. 21357 21358 * UIProcess/WebContext.cpp: 21359 (WebKit::WebContext::sendDidGetPlugins): 21360 (WebKit::WebContext::handleGetPlugins): 21361 * UIProcess/WebContext.h: 21362 213632012-05-25 Zalan Bujtas <zbujtas@gmail.com> 21364 21365 [Qt][WK2] Fix failing qmltests::FitToView::test_basic() 21366 https://bugs.webkit.org/show_bug.cgi?id=87236 21367 21368 Reviewed by Kenneth Rohde Christiansen. 21369 21370 Rename contentViewportChanged to informVisibleContentChange() to 21371 reflect its functionality better. Centralize m_hadUserInteraction flag 21372 setting and add assertions on it to ensure that designated 21373 functions are called only on user interaction. 21374 21375 * UIProcess/API/qt/qquickwebview.cpp: 21376 (QQuickWebViewFlickablePrivate::onComponentComplete): 21377 (QQuickWebViewFlickablePrivate::updateViewportSize): 21378 (QQuickWebViewFlickablePrivate::_q_onInformVisibleContentChange): 21379 (QQuickWebViewFlickablePrivate::_q_resume): 21380 * UIProcess/API/qt/qquickwebview_p.h: 21381 * UIProcess/API/qt/qquickwebview_p_p.h: 21382 (QQuickWebViewPrivate::_q_onInformVisibleContentChange): 21383 (QQuickWebViewFlickablePrivate): 21384 * UIProcess/qt/QtViewportInteractionEngine.cpp: 21385 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 21386 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 21387 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 21388 (WebKit::QtViewportInteractionEngine::touchBegin): 21389 (WebKit::QtViewportInteractionEngine::focusEditableArea): 21390 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 21391 (WebKit::QtViewportInteractionEngine::panGestureStarted): 21392 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 21393 * UIProcess/qt/QtViewportInteractionEngine.h: 21394 (QtViewportInteractionEngine): 21395 213962012-05-24 Tim Horton <timothy_horton@apple.com> 21397 21398 Add feature defines for web-facing parts of CSS Regions and Exclusions 21399 https://bugs.webkit.org/show_bug.cgi?id=87442 21400 <rdar://problem/10887709> 21401 21402 Reviewed by Dan Bernstein. 21403 21404 * Configurations/FeatureDefines.xcconfig: 21405 214062012-05-24 Geoffrey Garen <ggaren@apple.com> 21407 21408 WebKit should be lazy-finalization-safe (esp. the DOM) 21409 https://bugs.webkit.org/show_bug.cgi?id=87456 21410 21411 Reviewed by Filip Pizlo. 21412 21413 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 21414 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use the new idioms. 21415 21416 (WebKit::NPRuntimeObjectMap::invalidate): Check for null while iterating, 21417 since that's possible now. 21418 21419 (WebKit::NPRuntimeObjectMap::finalize): Use the new idioms. 21420 214212012-05-24 Brady Eidson <beidson@apple.com> 21422 21423 Fix the build after http://trac.webkit.org/changeset/118441 21424 Also fix a glaring bug with the new code, will run it by original reviewer retroactively. 21425 21426 * UIProcess/cf/WebBackForwardListCF.cpp: 21427 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fix up the types of the ? operands 21428 to appease super-strict compilers. Don't allow negative indexes (besides the -1 "No index" index). 21429 214302012-05-24 Brady Eidson <beidson@apple.com> 21431 21432 <rdar://problem/10090764> and https://bugs.webkit.org/show_bug.cgi?id=87417 21433 (Unrepro) Crashes saving session state in WebBackForwardList 21434 21435 Reviewed by Darin Adler. 21436 21437 * UIProcess/WebBackForwardList.cpp: 21438 (WebKit::WebBackForwardList::addItem): Null check the proposed item and also m_page, to make 21439 sure the page hasn't been closed making this list inactive. Be more aggressive about 21440 clearing the current entries out if there is no current item index. 21441 (WebKit::WebBackForwardList::itemAtIndex): Early null return if there is no current index. 21442 (WebKit::WebBackForwardList::clear): Don't put the current item back in the array if there was 21443 no current item. 21444 21445 * UIProcess/cf/WebBackForwardListCF.cpp: 21446 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Don't create a meaningless WebURL. 21447 Don't successfully return a dictionary if any of the entries were null. Be more aggressive about 21448 validating the current index we plan to return in the dictionary. 21449 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): More aggressively validate the 21450 current index read from disk. Replace a meaningless sanity check with our typical ASSERT. 21451 214522012-05-24 Anders Carlsson <andersca@apple.com> 21453 21454 Make sure that the layer hosting mode is up-to-date when reconnecting to a new web process 21455 https://bugs.webkit.org/show_bug.cgi?id=87421 21456 <rdar://problem/11510337> 21457 21458 Reviewed by Beth Dakin. 21459 21460 Send over the layer hosting mode as part of the web page creation parameters and create the right 21461 layer hosting context based on the mode. 21462 21463 * Shared/WebPageCreationParameters.cpp: 21464 (WebKit::WebPageCreationParameters::encode): 21465 (WebKit::WebPageCreationParameters::decode): 21466 * Shared/WebPageCreationParameters.h: 21467 (WebPageCreationParameters): 21468 * UIProcess/WebPageProxy.cpp: 21469 (WebKit::WebPageProxy::creationParameters): 21470 * WebProcess/WebPage/WebPage.cpp: 21471 (WebKit::WebPage::WebPage): 21472 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 21473 (TiledCoreAnimationDrawingArea): 21474 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21475 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 21476 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 21477 (WebKit): 21478 (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): 21479 214802012-05-24 John Mellor <johnme@chromium.org> 21481 21482 Font Boosting: Add compile flag and runtime setting 21483 https://bugs.webkit.org/show_bug.cgi?id=87394 21484 21485 Reviewed by Adam Barth. 21486 21487 Add ENABLE_FONT_BOOSTING. 21488 21489 * Configurations/FeatureDefines.xcconfig: 21490 214912012-05-24 Yael Aharon <yael.aharon@nokia.com> 21492 21493 [Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT 21494 https://bugs.webkit.org/show_bug.cgi?id=87392 21495 21496 Reviewed by Antonio Gomes. 21497 21498 Turn on the setting setFixedPositionCreatesStackingContext. 21499 21500 * WebProcess/WebPage/WebPage.cpp: 21501 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 21502 215032012-05-24 Alexey Proskuryakov <ap@apple.com> 21504 21505 [WK2] Let the client give local files universal access on a case by case basis 21506 https://bugs.webkit.org/show_bug.cgi?id=87174 21507 <rdar://problem/11024330> 21508 21509 Reviewed by Maciej Stachowiak. 21510 21511 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 21512 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 21513 (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL): 21514 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 21515 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 21516 (WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL): 21517 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 21518 * WebProcess/qt/QtBuiltinBundlePage.cpp: 21519 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 21520 Added glue code to call bundle client. 21521 215222012-05-24 Alexander Færøy <alexander.faeroy@nokia.com> 21523 21524 Reorder arguments to compare() in the QML WebView tests 21525 https://bugs.webkit.org/show_bug.cgi?id=87374 21526 21527 Reviewed by Simon Hausmann. 21528 21529 Based on patch by Kenneth Rohde Christiansen. 21530 21531 The reordering is necessary to get correct information printed when 21532 the tests fails. Without this, the test suite will display the bogus 21533 value and not the expected value. 21534 21535 This patch also removes the delayed windowShown since this is not 21536 needed anymore, due to us using the touch events instead of mouse 21537 events. 21538 21539 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: 21540 215412012-05-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> 21542 21543 [Qt] Tiles not painted after wheel or keyboard scroll. 21544 https://bugs.webkit.org/show_bug.cgi?id=87358 21545 21546 Reviewed by Kenneth Rohde Christiansen. 21547 21548 After performing a scroll requested from the WebProcess we also need 21549 to inform the painting layer of the viewport change. 21550 21551 * UIProcess/qt/QtViewportInteractionEngine.cpp: 21552 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 21553 215542012-05-24 Andras Becsi <andras.becsi@nokia.com> 21555 21556 [Qt][WK2] Fix bounce-back animation on pinch->pan 21557 https://bugs.webkit.org/show_bug.cgi?id=87266 21558 21559 Reviewed by Kenneth Rohde Christiansen. 21560 21561 If ending an out-of-bounds pinch gesture with releasing one finger 21562 (transition to a pan gesture) the bounce back animation blinks in 21563 the end position immediately first, then animates the content back 21564 into bounds. 21565 21566 QtViewportInteractionEngine::cancelScrollAnimation should return 21567 early if there is no active kinetic animation. 21568 21569 * UIProcess/qt/QtViewportInteractionEngine.cpp: 21570 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 21571 215722012-05-23 Ojan Vafai <ojan@chromium.org> 21573 21574 add back the ability to disable flexbox 21575 https://bugs.webkit.org/show_bug.cgi?id=87147 21576 21577 Reviewed by Tony Chang. 21578 21579 * Configurations/FeatureDefines.xcconfig: 21580 215812012-05-23 Jer Noble <jer.noble@apple.com> 21582 21583 REGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick animated fade 21584 https://bugs.webkit.org/show_bug.cgi?id=87294 21585 21586 Reviewed by Darin Adler. 21587 21588 When setting the sublayers array on the layer hosting view, wrap the call in a CATransaction which disables 21589 animations. 21590 21591 * UIProcess/API/mac/WKView.mm: 21592 (-[WKView _updateAcceleratedCompositingMode:WebKit::]): 21593 215942012-05-23 Dinu Jacob <dinu.jacob@nokia.com> 21595 21596 [Qt][Wk2] Assertion failure when selecting an option in select list with size attribute greater than one 21597 https://bugs.webkit.org/show_bug.cgi?id=86974 21598 21599 Reviewed by Simon Hausmann. 21600 21601 Select list with size attribute greater than one will not initially have any 21602 item in selected state (if no option has 'selected' tag), resulting in 21603 m_selectedModelIndex in WebPopupMenuProxyQt to be invalid. Hence, need to check 21604 whether the old index is invalid before accessing the item at that index. 21605 21606 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Added new test that 21607 tests selection in a select list with size attribute value of 2. 21608 * UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Added. 21609 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 21610 (WebKit::PopupMenuItemModel::select): Check whether old index is valid before accessing 21611 the item at that index. 21612 216132012-05-23 Jer Noble <jer.noble@apple.com> 21614 21615 REGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline video speeds through frames as it catches up with audio 21616 https://bugs.webkit.org/show_bug.cgi?id=87206 21617 21618 Reviewed by Darin Adler. 21619 21620 When re-enabling the Safari window's autodisplay flag, also force the window to re-display. 21621 Otherwise, the window will not repaint itself until it is forced to by user interaction. 21622 21623 * UIProcess/mac/WKFullScreenWindowController.mm: 21624 (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): 21625 216262012-05-23 Martin Robinson <mrobinson@igalia.com> 21627 21628 [GTK] [WebKit2] Add an API to enable and disable composited layer indicators 21629 https://bugs.webkit.org/show_bug.cgi?id=87053 21630 21631 Reviewed by Carlos Garcia Campos. 21632 21633 Add a WebKitSetting that allows the client to enable and disable debug 21634 borders and repaint counters for accelerated content. 21635 21636 * UIProcess/API/gtk/WebKitSettings.cpp: 21637 (webKitSettingsSetProperty): Added. 21638 (webKitSettingsGetProperty): Added. 21639 (webkit_settings_class_init): Add the new property. 21640 (webkit_settings_set_draw_compositing_indicators): Added. 21641 (webkit_settings_get_draw_compositing_indicators): Added. 21642 * UIProcess/API/gtk/WebKitSettings.h: 21643 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API points to the 21644 documentation. 21645 * UIProcess/API/gtk/test/TestWebKitSettings.h: Add a new unit test. 21646 216472012-05-23 Michael Brüning <michael.bruning@nokia.com> 21648 21649 [Qt][WK2] Small refactoring WebPage::confirmComposition. 21650 https://bugs.webkit.org/show_bug.cgi?id=87243 21651 21652 Reviewed by Kenneth Rohde Christiansen. 21653 21654 Change nested if into an early return to reduce complexity. 21655 21656 * WebProcess/WebPage/qt/WebPageQt.cpp: 21657 (WebKit::WebPage::confirmComposition): 21658 216592012-05-22 Alexander Færøy <alexander.faeroy@nokia.com> 21660 21661 [Qt] Missing tests for the evaluateJavaScript API 21662 https://bugs.webkit.org/show_bug.cgi?id=86351 21663 21664 Reviewed by Kenneth Rohde Christiansen. 21665 21666 * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: 21667 * UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Added. 21668 216692012-05-23 Allan Sandfeld Jensen <allan.jensen@nokia.com> 21670 21671 [Qt] FloatSize Qt Support 21672 https://bugs.webkit.org/show_bug.cgi?id=87237 21673 21674 Reviewed by Andreas Kling. 21675 21676 Basic cleanup possible to new Qt support in FloatSize. 21677 21678 * UIProcess/API/qt/qquickwebpage.cpp: 21679 (QQuickWebPagePrivate::updateSize): 21680 * UIProcess/API/qt/qwebkittest.cpp: 21681 (QWebKitTest::layoutSize): 21682 216832012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21684 21685 [Qt] Make the web view's url property follow the active url 21686 21687 https://bugs.webkit.org/show_bug.cgi?id=77554 21688 21689 The url property of the webview now reflects the 'active' url of the 21690 page, which maps to either the currently loading url, in the case of 21691 an ongoing load, or the result of a load, even when the load failed. 21692 21693 In practice this means that setting the url though QML, or navigating 21694 to a new url in the page by e.g clicking, will both instantly change 21695 the url-property of the webview to the target url. This differs from 21696 earlier behavior, where we would update the url when the load 21697 committed. 21698 21699 An optional argument is added to loadHtml(), to allow setting 21700 the unreachable url when providing replacement content for failed 21701 loads. 21702 21703 Finally, the location bar in the minibrowser is updated to behave 21704 a bit more like normal browsers in terms of when the url will change 21705 and how active focus is handled. 21706 21707 Reviewed by Simon Hausmann. 21708 21709 * UIProcess/API/qt/qquickwebview.cpp: 21710 (QQuickWebViewPrivate::onComponentComplete): 21711 (QQuickWebView::reload): 21712 (QQuickWebView::url): 21713 (QQuickWebView::setUrl): 21714 (QQuickWebView::loadHtml): 21715 * UIProcess/API/qt/qquickwebview_p.h: 21716 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 21717 * UIProcess/API/qt/tests/qmltests/WebView.pro: 21718 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 21719 * UIProcess/API/qt/tests/qmltests/common/link.html: Added. 21720 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added. 21721 * UIProcess/qt/QtWebPageLoadClient.cpp: 21722 (QtWebPageLoadClient::QtWebPageLoadClient): 21723 (QtWebPageLoadClient::didStartProvisionalLoadForFrame): 21724 (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame): 21725 (QtWebPageLoadClient::didCommitLoadForFrame): 21726 (QtWebPageLoadClient::dispatchLoadFailed): 21727 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 21728 (QtWebPageLoadClient::didFailLoadWithErrorForFrame): 21729 * UIProcess/qt/QtWebPageLoadClient.h: 21730 (QtWebPageLoadClient): 21731 217322012-05-23 Simon Hausmann <simon.hausmann@nokia.com> 21733 21734 [Qt] Race condition in LayerTreeHost/Proxy can cause blank rendering 21735 https://bugs.webkit.org/show_bug.cgi?id=87239 21736 21737 Reviewed by Kenneth Rohde Christiansen. 21738 21739 On the UI process side the WebLayerTreeRenderer/LayerTreeHostProxy pair is 21740 created with m_active = false, which makes it ignore any incoming layer updates. 21741 It remains inactive until the ContentsSGNode is created and setActive(true) is called. 21742 21743 On the web process side the LayerTreeHost is created with m_waitingForUIProcess = false. 21744 21745 Those two variables must be in sync, otherwise a race condition can 21746 happen: The web process sends updates to the ui process before the 21747 ContentsSGNode is created. This can happen for example when re-using an 21748 existing WebProcess to create a QQuickWebView and load a page very fast 21749 from the disk cache. The update arrives on the ui process side, but it 21750 is discarded because setActive(true) hasn't been called yet. As a 21751 result any updates that would for example create and populate the tiles 21752 required for rendering are ignored. 21753 21754 This patch ensures that the variables are initialized with the same values and that calling 21755 setActive(true) will trigger the rendering of the next frame. 21756 21757 * UIProcess/WebLayerTreeRenderer.cpp: 21758 (WebKit::WebLayerTreeRenderer::setActive): 21759 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 21760 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 21761 217622012-05-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 21763 21764 [Qt] Make QtWebError return the failing URL as a QString instead of QUrl 21765 21766 We don't want to use QUrl inside QtWebKit (only in the API layer), due 21767 to how QUrl normalizes the url. 21768 21769 Reviewed by Simon Hausmann. 21770 21771 * UIProcess/qt/QtWebError.cpp: 21772 (WebKit::QtWebError::url): 21773 * UIProcess/qt/QtWebError.h: 21774 217752012-05-22 Carlos Garcia Campos <cgarcia@igalia.com> 21776 21777 [GTK] Add inspector API to WebKit2 GTK+ 21778 https://bugs.webkit.org/show_bug.cgi?id=87113 21779 21780 Reviewed by Martin Robinson. 21781 21782 * GNUmakefile.list.am: Add new files to compilation. 21783 * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Added. 21784 (WKInspectorSetInspectorClientGtk): 21785 * UIProcess/API/C/gtk/WKInspectorClientGtk.h: Added. 21786 * UIProcess/API/gtk/WebKitPrivate.h: 21787 * UIProcess/API/gtk/WebKitWebInspector.cpp: Added. 21788 (webkitWebInspectorFinalize): 21789 (webkit_web_inspector_init): 21790 (webkit_web_inspector_class_init): 21791 (openWindow): Emit WebKitWebInspector::open-window singal. 21792 (didClose): Emit WebKitWebInspector::closed signal. 21793 (bringToFront): Emit WebKitWebInspector::bring-to-front singal. 21794 (inspectedURLChanged): Set the inspected URI and emit 21795 GObject::notify signal if it changed. 21796 (attach): Emit WebKitWebInspector::attach signal. 21797 (detach): Emit WebKitWebInspector::detach signal. 21798 (didChangeAttachedHeight): Set the attached height and emit 21799 GObject::notify signal if it changed. 21800 (webkitWebInspectorCreate): Ceate a new WebKitWebInspector object 21801 for the given WKInspector. Also initialize and set the inspector 21802 client. 21803 (webkit_web_inspector_get_web_view): Return the web view used to 21804 render the inspector. 21805 (webkit_web_inspector_get_inspected_uri): Return the URI that is 21806 being inspected. 21807 (webkit_web_inspector_is_attached): Whether the inspector view is 21808 currently attached. 21809 (webkit_web_inspector_attach): Request to attach the inspector. 21810 (webkit_web_inspector_detach): Request to detach the inspector. 21811 (webkit_web_inspector_show): Request to show the inspector. 21812 (webkit_web_inspector_close): Request to close the inspector. 21813 (webkit_web_inspector_get_attached_height): Return the height that 21814 the inspector view should have when attached. 21815 * UIProcess/API/gtk/WebKitWebInspector.h: Added. 21816 * UIProcess/API/gtk/WebKitWebInspectorPrivate.h: Added. 21817 * UIProcess/API/gtk/WebKitWebView.cpp: 21818 (webkit_web_view_get_inspector): Return the WebKitWebInspector 21819 associated to the web view. 21820 * UIProcess/API/gtk/WebKitWebView.h: 21821 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 21822 WebKitWebInspector. 21823 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ad new symbols. 21824 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 21825 webkit_web_inspector_get_type. 21826 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for the 21827 inspector API. 21828 * UIProcess/API/gtk/tests/TestInspector.cpp: Added. 21829 (testInspectorDefault): 21830 (testInspectorCustom): 21831 (testInspectorWindowDestroyed): 21832 (beforeAll): 21833 (afterAll): 21834 * UIProcess/API/gtk/tests/WebViewTest.cpp: 21835 (WebViewTest::showInWindowAndWaitUntilMapped): Add optional 21836 parameter to create a toplevel or popup window. 21837 (WebViewTest::resizeView): Helper function to set the widget 21838 allocation to a given size. 21839 * UIProcess/API/gtk/tests/WebViewTest.h: 21840 * UIProcess/API/gtk/webkit2.h: Include WebKitWebInspector.h 21841 * UIProcess/WebInspectorProxy.h: 21842 (WebKit::WebInspectorProxy::inspectorView): Return the view used 21843 to render the inspector. 21844 * UIProcess/gtk/WebInspectorClientGtk.cpp: Added. 21845 (WebKit::WebInspectorClientGtk::openWindow): 21846 (WebKit::WebInspectorClientGtk::didClose): 21847 (WebKit::WebInspectorClientGtk::bringToFront): 21848 (WebKit::WebInspectorClientGtk::inspectedURLChanged): 21849 (WebKit::WebInspectorClientGtk::attach): 21850 (WebKit::WebInspectorClientGtk::detach): 21851 (WebKit::WebInspectorClientGtk::didChangeAttachedHeight): 21852 * UIProcess/gtk/WebInspectorClientGtk.h: Added. 21853 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 21854 (WebKit::inspectorViewDestroyed): Close the inspector page when 21855 the inspector view is destroyed, instead of when the inspector 21856 window is deleted, because the inspector view can now be inside a 21857 window created by the user. 21858 (WebKit::WebInspectorProxy::initializeInspectorClientGtk): 21859 Initialze the inspector client. 21860 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add a 21861 weak pointer to the inspector view to make sure it's NULL when 21862 destroyed. 21863 (WebKit::WebInspectorProxy::createInspectorWindow): Call 21864 openWindow on the inspector client, and return early if the 21865 callback was handled. 21866 (WebKit::WebInspectorProxy::platformOpen): Connect to destroy 21867 signal of the inspector view to close the page when the view is 21868 destroyed. 21869 (WebKit::WebInspectorProxy::platformDidClose): Call didClose on 21870 the inspector client. 21871 (WebKit::WebInspectorProxy::platformBringToFront): Call 21872 bringToFront on the inspector client, and return early if the 21873 callback was handled. 21874 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Call 21875 inspectedURLChanged on the inspector client. 21876 (WebKit::WebInspectorProxy::platformAttach): Call attach on the 21877 inspector client and return if the callback was handled. 21878 (WebKit::WebInspectorProxy::platformDetach): Call detach on the 21879 inspector client and return if the callback was handled. 21880 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call 21881 didChangeAttachedHeight on the inspector client. 21882 218832012-05-22 Anders Carlsson <andersca@apple.com> 21884 21885 Functions dispatched by dispatchAfterEnsuringUpdatedScrollPosition can be called after drawing area has been destroyed 21886 https://bugs.webkit.org/show_bug.cgi?id=87173 21887 <rdar://problem/11474087> 21888 21889 Reviewed by Beth Dakin. 21890 21891 Don't try to call forceRepaint if the drawing area has already been destroyed. 21892 21893 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21894 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync): 21895 218962012-05-22 Anders Carlsson <andersca@apple.com> 21897 21898 Crash when a plug-in view outlives its containing WebPage 21899 https://bugs.webkit.org/show_bug.cgi?id=87163 21900 <rdar://problem/10849258> 21901 21902 Reviewed by Dan Bernstein. 21903 21904 In rare cases, when a plug-in is kept alive for some reason it can outlive its WebPage. When that happens, 21905 the PluginView destructor will try to access the (deleted) web page and we'll crash. 21906 21907 Fix this by making the WebPage destructor iterate over all the registered plug-ins and null out the m_webPage pointer. 21908 Don't try to access the WebPage object if it's null. 21909 21910 Also, remove PLATFORM(MAC) ifdefs around the HashSet of known plug-in views as well as the member functions that access the set; 21911 we want this to be cross platform now. 21912 21913 * WebProcess/Plugins/PluginView.cpp: 21914 (WebKit::PluginView::PluginView): 21915 (WebKit::PluginView::~PluginView): 21916 (WebKit::PluginView::webPageDestroyed): 21917 (WebKit): 21918 * WebProcess/Plugins/PluginView.h: 21919 (PluginView): 21920 * WebProcess/WebPage/WebPage.cpp: 21921 (WebKit::WebPage::~WebPage): 21922 (WebKit::WebPage::scalePage): 21923 (WebKit): 21924 * WebProcess/WebPage/WebPage.h: 21925 (WebPage): 21926 21927== Rolled over to ChangeLog-2012-05-22 == 21928