12012-05-21 Gavin Barraclough <barraclough@apple.com> 2 3 Disable private names by default in WebCore 4 https://bugs.webkit.org/show_bug.cgi?id=87088 5 6 Reviewed by Geoff Garen. 7 8 r117859 introduced a preliminary implementation of ES6-like private name objects to JSC. 9 These are probably not yet ready to be web-facing, so disabling by default in WebCore. 10 Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test. 11 12 * Shared/WebPreferencesStore.h: 13 (WebKit): 14 * UIProcess/API/C/WKPreferences.cpp: 15 (WKPreferencesSetJavaScriptExperimentsEnabled): 16 (WKPreferencesGetJavaScriptExperimentsEnabled): 17 * UIProcess/API/C/WKPreferences.h: 18 * WebProcess/WebPage/WebPage.cpp: 19 (WebKit::WebPage::updatePreferences): 20 - Added JavaScriptExperimentsEnabled to WebPreferences. 21 222012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 23 24 [Qt] Clean up internal viewport animation API 25 https://bugs.webkit.org/show_bug.cgi?id=87130 26 27 Reviewed by Simon Hausmann. 28 29 const'ify classes which should be const. 30 31 There is now only one method which can animate, animateItemRectVisible 32 which is used for also animating the contents back into valid bounds. 33 The valid bounds are computed using a separate method. It is now more 34 clear when an animation is used or not and asserts are added for 35 ensuring no concurrent animations as well as proper update deferring. 36 37 * UIProcess/API/qt/qquickwebview.cpp: 38 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 39 * UIProcess/qt/QtViewportInteractionEngine.cpp: 40 (WebKit::QtViewportInteractionEngine::cssScaleFromItem): 41 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS): 42 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS): 43 (WebKit::QtViewportInteractionEngine::itemRectFromCSS): 44 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale): 45 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale): 46 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 47 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 48 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 49 (WebKit::QtViewportInteractionEngine::nearestValidBounds): 50 (WebKit::QtViewportInteractionEngine::currentCSSScale): 51 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 52 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 53 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 54 * UIProcess/qt/QtViewportInteractionEngine.h: 55 (QtViewportInteractionEngine): 56 572012-05-21 Kenneth Rohde Christiansen <kenneth@webkit.org> 58 59 [Qt] Mini clean ups in the interaction engine 60 https://bugs.webkit.org/show_bug.cgi?id=87013 61 62 Reviewed by Simon Hausmann. 63 64 * UIProcess/qt/QtViewportInteractionEngine.cpp: 65 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 66 Assert that we are suspended. 67 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 68 Never zoom to any area if suspended which indicates other 69 animation or user interaction. 70 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 71 If immediate is set, ignore suspension. 72 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 73 Improve the comment. 74 752012-05-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 76 77 [Qt] Tap-to-zoom overshoot animation 78 https://bugs.webkit.org/show_bug.cgi?id=87108 79 80 Reviewed by Kenneth Rohde Christiansen. 81 82 Defines a simple animation curve that combines a large 83 ease-out (overshoot) with a small ease-in (correction). 84 Uses that curve for zooming animation. 85 86 * UIProcess/qt/QtViewportInteractionEngine.cpp: 87 (WebKit::physicalOvershoot): 88 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 89 902012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 91 92 [Qt] Make the resizing code more straight forward 93 https://bugs.webkit.org/show_bug.cgi?id=87015 94 95 Reviewed by Simon Hausmann. 96 97 * UIProcess/API/qt/qquickwebpage.cpp: 98 (QQuickWebPage::transformToItem): 99 (QQuickWebPagePrivate::updateSize): 100 * UIProcess/API/qt/qquickwebview.cpp: 101 * UIProcess/API/qt/qquickwebview_p.h: 102 * UIProcess/API/qt/qquickwebview_p_p.h: 103 (QQuickWebViewFlickablePrivate): 104 1052012-05-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 106 107 [Qt] Add UI tests for fit-to-view 108 https://bugs.webkit.org/show_bug.cgi?id=86857 109 110 Reviewed by Simon Hausmann. 111 112 Make sure to always emit contentsScaleCommitted when the 113 contents size changes, so that it can be used for testing. 114 115 Also add a method to do single taps. 116 117 * UIProcess/API/qt/qquickwebview.cpp: 118 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 119 * UIProcess/API/qt/qwebkittest.cpp: 120 (touchPoint): 121 (QWebKitTest::touchTap): 122 (QWebKitTest::touchDoubleTap): 123 * UIProcess/API/qt/qwebkittest_p.h: 124 * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Added. 125 1262012-05-21 Brady Eidson <beidson@apple.com> 127 128 <rdar://problem/11460336> and https://bugs.webkit.org/show_bug.cgi?id=87061 129 WKPageGetScaleFactor can return 0.0 after a session is restored 130 131 Reviewed by Beth Dakin. 132 133 API test WKPageGetScaleFactorNotZero added. 134 135 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 136 (WebKit::WebFrameLoaderClient::restoreViewState): Tell the UI Process the scale factor 137 is 1.0 if it has never been manually set. 138 1392012-05-21 Anders Carlsson <andersca@apple.com> 140 141 Flash player buttons do not work when page is zoomed in 142 https://bugs.webkit.org/show_bug.cgi?id=87056 143 <rdar://problem/11491501> 144 145 Reviewed by Oliver Hunt. 146 147 Use the page scale factor when computing the plug-in to root view transform, otherwise we'll compute an 148 incorrect transform for plug-ins inside subframes. Also, make sure that viewGeometryDidChange is called for all plug-ins 149 when scaling the page since otherwise it won't be called unless the scroll position changes. 150 151 * WebProcess/Plugins/PluginView.cpp: 152 (WebKit::PluginView::pageScaleFactorDidChange): 153 (WebKit): 154 (WebKit::PluginView::viewGeometryDidChange): 155 * WebProcess/Plugins/PluginView.h: 156 (PluginView): 157 * WebProcess/WebPage/WebPage.cpp: 158 (WebKit::WebPage::scalePage): 159 1602012-05-15 Gavin Barraclough <barraclough@apple.com> 161 162 Add support for private names 163 https://bugs.webkit.org/show_bug.cgi?id=86509 164 165 Reviewed by Oliver Hunt. 166 167 The spec isn't final, but we can start adding support to allow property maps 168 to contain keys that aren't identifiers. 169 170 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 171 (WebKit::npIdentifierFromIdentifier): 172 (WebKit::JSNPObject::methodGetter): 173 - Removed PropertyName::impl(), call publicName() to get the string associated with a name. 174 1752012-05-21 Hugo Parente Lima <hugo.lima@openbossa.org> 176 177 [Qt][WK2] fast/forms/submit-to-blank-multiple-times.html fails 178 https://bugs.webkit.org/show_bug.cgi?id=68309 179 180 Reviewed by Alexis Menard. 181 182 Force focus when the element receives a double click event. 183 184 * UIProcess/API/qt/qquickwebview.cpp: 185 (QQuickWebView::mouseDoubleClickEvent): 186 1872012-05-21 Marcelo Lira <marcelo.lira@openbossa.org> 188 189 [Qt][WK2] REGRESSION, fix a failing API test in qmltests 190 https://bugs.webkit.org/show_bug.cgi?id=82700 191 192 Reviewed by Alexis Menard. 193 194 The value of a CSS font-family property is expected to have single 195 quotes when white space is present in its name, and no quotes otherwise. 196 Font family names returned by WebView.experimental.preferences never add quotes. 197 198 Since what matter to the test is only the identity of the font, an auxiliar 199 method to remove single quotes was added. 200 201 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 202 2032012-05-21 Allan Sandfeld Jensen <allan.jensen@nokia.com> 204 205 GCC 4.7 and C++11 206 https://bugs.webkit.org/show_bug.cgi?id=86465 207 208 Reviewed by Darin Adler. 209 210 Avoid triggering C++11 string literals. 211 212 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: 213 2142012-05-21 Allan Sandfeld Jensen <allan.jensen@nokia.com> 215 216 Disambiguate WTF::bind and std::bind from C++11 217 https://bugs.webkit.org/show_bug.cgi?id=86465 218 219 Reviewed by Darin Adler. 220 221 * Platform/CoreIPC/Connection.cpp: 222 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 223 (CoreIPC::Connection::addQueueClient): 224 (CoreIPC::Connection::removeQueueClient): 225 (CoreIPC::Connection::invalidate): 226 (CoreIPC::Connection::sendMessage): 227 (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue): 228 (CoreIPC::Connection::connectionDidClose): 229 (CoreIPC::Connection::enqueueIncomingMessage): 230 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 231 (CoreIPC::Connection::open): 232 (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination): 233 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 234 (WebKit::NetscapePlugin::pluginThreadAsyncCall): 235 * WebProcess/WebPage/FindController.cpp: 236 (WebKit::FindController::findString): 237 2382012-05-20 Carlos Garcia Campos <cgarcia@igalia.com> 239 240 [GTK] Add GCancellable parameter to all methods using gio async pattern 241 https://bugs.webkit.org/show_bug.cgi?id=86843 242 243 Reviewed by Gustavo Noronha Silva. 244 245 Add a private macro WEBKIT_DEFINE_ASYNC_DATA_STRUCT() to make it 246 easier to define temporary structs used in async operations. 247 248 * UIProcess/API/gtk/WebKitCookieManager.cpp: 249 (GetAcceptPolicyAsyncData): 250 (webkitCookieManagerGetAcceptPolicyCallback): 251 (webkit_cookie_manager_get_accept_policy): 252 (webkit_cookie_manager_get_accept_policy_finish): 253 (GetDomainsWithCookiesAsyncData): 254 (webkitCookieManagerGetDomainsWithCookiesCallback): 255 (webkit_cookie_manager_get_domains_with_cookies): 256 (webkit_cookie_manager_get_domains_with_cookies_finish): 257 * UIProcess/API/gtk/WebKitCookieManager.h: 258 * UIProcess/API/gtk/WebKitPrivate.h: 259 * UIProcess/API/gtk/WebKitWebContext.cpp: 260 (webkit_web_context_get_plugins): 261 * UIProcess/API/gtk/WebKitWebResource.cpp: 262 (ResourceGetDataAsyncData): 263 (resourceDataCallback): 264 (webkit_web_resource_get_data): 265 (webkit_web_resource_get_data_finish): 266 * UIProcess/API/gtk/WebKitWebResource.h: 267 * UIProcess/API/gtk/WebKitWebView.cpp: 268 (ValidateEditingCommandAsyncData): 269 (didValidateCommand): 270 (webkit_web_view_can_execute_editing_command): 271 (webkit_web_view_can_execute_editing_command_finish): 272 (RunJavaScriptAsyncData::~RunJavaScriptAsyncData): 273 (RunJavaScriptAsyncData): 274 (webkitWebViewRunJavaScriptCallback): 275 (webkit_web_view_run_javascript): 276 (webkit_web_view_run_javascript_finish): 277 * UIProcess/API/gtk/WebKitWebView.h: 278 * UIProcess/API/gtk/tests/TestCookieManager.cpp: 279 * UIProcess/API/gtk/tests/TestResources.cpp: 280 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 281 * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: 282 * UIProcess/API/gtk/tests/WebViewTest.cpp: 283 (WebViewTest::runJavaScriptAndWaitUntilFinished): 284 2852012-05-19 Andy Estes <aestes@apple.com> 286 287 Use USE_APPKIT and USE_SECURITY_FRAMEWORK in a few more places 288 https://bugs.webkit.org/show_bug.cgi?id=86951 289 290 Reviewed by Dan Bernstein. 291 292 * UIProcess/WebProcessProxy.messages.in: Change #if PLATFORM(MAC) to 293 the more specific #if USE(SECURITY_FRAMEWORK). 294 * UIProcess/mac/WebPageProxyMac.mm: Wrap some uses of AppKit classes 295 with #if USE(APPKIT). 296 * UIProcess/mac/WebPopupMenuProxyMac.h: Ditto. 297 * UIProcess/mac/WebPopupMenuProxyMac.mm: Ditto. 298 2992012-05-18 Anders Carlsson <andersca@apple.com> 300 301 REGRESSION (r108181): corruption after scrolling 302 https://bugs.webkit.org/show_bug.cgi?id=86934 303 <rdar://problem/11487337> 304 305 Reviewed by Dan Bernstein. 306 307 Use the flipped Y coordinate when resetting the scrolled rect. 308 309 * UIProcess/mac/BackingStoreMac.mm: 310 (WebKit::BackingStore::resetScrolledRect): 311 3122012-05-19 Andy Estes <aestes@apple.com> 313 314 Fix build errors found when disabling ENABLE_DRAG_SUPPORT 315 https://bugs.webkit.org/show_bug.cgi?id=86947 316 317 Reviewed by Jon Honeycutt. 318 319 Fix more build errors. 320 321 * UIProcess/API/mac/WKView.mm: 322 * UIProcess/WebPageProxy.cpp: 323 (WebKit): 324 * UIProcess/WebPageProxy.h: 325 (WebPageProxy): 326 * UIProcess/WebPageProxy.messages.in: 327 * UIProcess/mac/WebPageProxyMac.mm: 328 (WebKit): 329 * WebProcess/WebPage/WebPage.h: 330 (WebPage): 331 * WebProcess/WebPage/WebPage.messages.in: 332 3332012-05-19 Andy Estes <aestes@apple.com> 334 335 Fix build errors found when disabling ENABLE_DRAG_SUPPORT 336 https://bugs.webkit.org/show_bug.cgi?id=86947 337 338 Reviewed by Jon Honeycutt. 339 340 * UIProcess/API/mac/WKView.mm: 341 (createSandboxExtensionsForFileUpload): 342 (-[WKView performDragOperation:]): 343 * WebProcess/WebCoreSupport/WebDragClient.cpp: 344 * WebProcess/WebCoreSupport/WebDragClient.h: 345 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 346 * WebProcess/WebPage/WebPage.cpp: 347 (WebKit::WebPage::WebPage): 348 (WebKit): 349 * WebProcess/WebPage/mac/WebPageMac.mm: 350 (WebKit::WebPage::shouldDelayWindowOrderingEvent): 351 (WebKit::WebPage::acceptsFirstMouse): 352 3532012-05-19 Andy Estes <aestes@apple.com> 354 355 Plug-in process should only be enabled if Netscape plug-in API is enabled 356 https://bugs.webkit.org/show_bug.cgi?id=86945 357 358 Reviewed by Dan Bernstein. 359 360 * config.h: Only define ENABLE_PLUGIN_PROCESS if ENABLE_NETSCAPE_PLUGIN_API is true. 361 3622012-04-27 Filip Pizlo <fpizlo@apple.com> 363 364 DFG should have control flow graph simplification 365 https://bugs.webkit.org/show_bug.cgi?id=84553 366 367 Reviewed by Oliver Hunt. 368 369 Merged r115512 from dfgopt. 370 371 JSValue::toBoolean(ExecState*) -> JSValue::toBoolean() 372 373 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 374 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 375 3762012-05-18 Anders Carlsson <andersca@apple.com> 377 378 Missing plugin msg becomes "insecure plugin version" after Real Player page refresh 379 https://bugs.webkit.org/show_bug.cgi?id=86903 380 <rdar://problem/11477163> 381 382 Reviewed by Andreas Kling. 383 384 Set blocked to false before returning early when the plug-in doesn't exist. 385 386 * UIProcess/WebContext.cpp: 387 (WebKit::WebContext::getPluginPath): 388 3892012-05-18 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 390 391 [GTK] [WK2] Memory leaks in WebKitBackForwardList 392 https://bugs.webkit.org/show_bug.cgi?id=86872 393 394 Reviewed by Martin Robinson. 395 396 Fix memory leaks by adopting WKArray of WebBackForwardListItems 397 allocations using AdoptWK. 398 399 * UIProcess/API/gtk/WebKitBackForwardList.cpp: 400 (webkit_back_forward_list_get_back_list): 401 (webkit_back_forward_list_get_back_list_with_limit): 402 (webkit_back_forward_list_get_forward_list): 403 (webkit_back_forward_list_get_forward_list_with_limit): 404 4052012-05-18 Anders Carlsson <andersca@apple.com> 406 407 PDF page does not show up when opened in the background 408 https://bugs.webkit.org/show_bug.cgi?id=86890 409 <rdar://problem/11259951> 410 411 Reviewed by Andreas Kling. 412 413 * UIProcess/API/mac/WKView.mm: 414 (-[WKView _updateAcceleratedCompositingMode:WebKit::]): 415 Just set the new render layer if we're already in accelerated compositing mode. 416 4172012-05-18 Tony Chang <tony@chromium.org> 418 419 remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off 420 https://bugs.webkit.org/show_bug.cgi?id=86767 421 422 Reviewed by Ojan Vafai. 423 424 * Configurations/FeatureDefines.xcconfig: 425 * Shared/WebPreferencesStore.h: 426 (WebKit): 427 * UIProcess/API/C/WKPreferences.cpp: 428 (WKPreferencesSetCSSGridLayoutEnabled): 429 (WKPreferencesGetCSSGridLayoutEnabled): 430 * UIProcess/API/C/WKPreferencesPrivate.h: 431 * WebProcess/InjectedBundle/InjectedBundle.cpp: 432 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 433 * WebProcess/WebPage/WebPage.cpp: 434 (WebKit::WebPage::updatePreferences): 435 4362012-05-18 Shezan Baig <shezbaig.wk@gmail.com> 437 438 Expose FrameSelection::absoluteCaretBounds via window.internals 439 https://bugs.webkit.org/show_bug.cgi?id=86390 440 441 Reviewed by Ryosuke Niwa. 442 443 Exports necessary symbols. 444 445 * win/WebKit2.def: 446 * win/WebKit2CFLite.def: 447 4482012-05-18 Carlos Garcia Campos <cgarcia@igalia.com> 449 450 [GTK] Allow to attach/detach the inspector in WebKit2 451 https://bugs.webkit.org/show_bug.cgi?id=86823 452 453 Reviewed by Gustavo Noronha Silva. 454 455 Also rename WebInspectorGtk.cpp as WebInspectorProxyGtk.cpp since 456 it implements the platform specific methods of WebInspectorProxy. 457 458 * GNUmakefile.list.am: Add new files to compilation. 459 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 460 (webkitWebViewBaseContainerAdd): Allow to add a WebView containing 461 the inspector as an internal child. 462 (webkitWebViewBaseContainerRemove): Check whether the widget 463 removed is the inspector web view. 464 (webkitWebViewBaseContainerForall): When includeInternals is True, 465 add also the inspector web view if it's present. 466 (resizeWebKitWebViewBaseFromAllocation): Allocate space for the 467 inspector web view if it's present. 468 (webkitWebViewBaseSetInspectorViewHeight): Private function used 469 by the inspector proxy to set the height of the inspector web 470 view. 471 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 472 * UIProcess/WebInspectorProxy.h: 473 (WebInspectorProxy): Remove unneeded method windowDestroyed. 474 * UIProcess/gtk/WebInspectorProxyGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp. 475 (WebKit::inspectorFilesBasePath): 476 (WebKit::inspectorWindowClosed): Renamed as inspectorWindowClosed 477 instead of inspectorWindowDestroyed, since this is called when the 478 window manager requests to close the window, and not when the 479 widget is destroyed. Also remove the call to windowDestroyed that 480 has been removed. 481 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 482 (WebKit::WebInspectorProxy::createInspectorWindow): Helper 483 function to create the inspector window and add the inspector 484 view. Also set the inspector window as transient for the 485 inspected view toplevel window. And use a weak pointer to make 486 sure inspector window pointer is NULL when it's destroyed, not 487 only when the window is closed. 488 (WebKit::WebInspectorProxy::platformOpen): Call platformAttach if 489 the inspector is opened attached, or createInspectorWindow 490 otherwise. 491 (WebKit::WebInspectorProxy::platformDidClose): Always set the view 492 inspector pointer to NULL. 493 (WebKit::WebInspectorProxy::platformBringToFront): Implement it by 494 showing the toplevel window where the inspector view is contained. 495 (WebKit::WebInspectorProxy::platformIsFront): Implement it by 496 checking whether the toplevel window where the inspector view is 497 contained is active or not. 498 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Return 499 early if there's no inspector window. 500 (WebKit::WebInspectorProxy::inspectorPageURL): 501 (WebKit::WebInspectorProxy::inspectorBaseURL): 502 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Return 503 the height of the inpected view. 504 (WebKit::WebInspectorProxy::platformAttach): Remove the view from 505 the current window if there's one, and insert the inspector view 506 into the inspected view. 507 (WebKit::WebInspectorProxy::platformDetach): Remove the inspector 508 view from the inspected view and create a new window for it if 509 it's visible. 510 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call 511 webkitWebViewBaseSetInspectorViewHeight(). 512 5132012-05-18 Carlos Garcia Campos <cgarcia@igalia.com> 514 515 Return TRUE for events handled to avoid their propagation. 516 517 Reviewed by Gustavo Noronha Silva. 518 519 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 520 (webkitWebViewBaseButtonPressEvent): 521 (webkitWebViewBaseButtonReleaseEvent): 522 (webkitWebViewBaseScrollEvent): 523 (webkitWebViewBaseMotionNotifyEvent): 524 5252012-05-18 Hugo Parente Lima <hugo.lima@openbossa.org> 526 527 [Qt][WK2] fast/events/page-visibility-iframe-move-test.html fails 528 https://bugs.webkit.org/show_bug.cgi?id=86731 529 530 Reviewed by Simon Hausmann. 531 532 Set the page visibility on a single page instead of on all pages 533 from the page group. 534 535 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 536 (WKBundleSetPageVisibilityState): 537 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 538 * WebProcess/InjectedBundle/InjectedBundle.cpp: 539 (WebKit::InjectedBundle::setPageVisibilityState): 540 * WebProcess/InjectedBundle/InjectedBundle.h: 541 (InjectedBundle): 542 5432012-05-18 MORITA Hajime <morrita@google.com> 544 545 Yet another unreviewed build fix on r117572, this time for wk2... 546 547 * WebProcess/WebCoreSupport/WebEditorClient.h: 548 5492012-05-17 Philippe Normand <pnormand@igalia.com> 550 551 Unreviewed, WebKit2 GTK/Qt build fix attempt after r117516. 552 553 * UIProcess/WebPageProxy.cpp: 554 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 555 5562012-05-17 Anders Carlsson <andersca@apple.com> 557 558 Plug-ins blacklist mechanism can tell clients about plug-in with null identifier 559 https://bugs.webkit.org/show_bug.cgi?id=86788 560 <rdar://problem/11479503> 561 562 Reviewed by John Sullivan. 563 564 Pass along the URL string of the blocked plug-in so we can find the plug-in even if there was no 565 MIME type specified in the <embed> or <object> tag. 566 567 * UIProcess/WebPageProxy.cpp: 568 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 569 * UIProcess/WebPageProxy.h: 570 (WebPageProxy): 571 * UIProcess/WebPageProxy.messages.in: 572 * WebProcess/WebPage/WebPage.cpp: 573 (WebKit::WebPage::createPlugin): 574 5752012-05-17 Oliver Hunt <oliver@apple.com> 576 577 Endeavour to make the windows test bot actually able to run tests. 578 https://bugs.webkit.org/show_bug.cgi?id=86772 579 580 Reviewed by Sam Weinig. 581 582 Remove the ClassInfo exports from the .def files as we're now using 583 WEBKIT_EXPORT declarations to get expected behaviour on windows. 584 585 * win/WebKit2.def: 586 * win/WebKit2CFLite.def: 587 5882012-05-17 Timothy Hatcher <timothy@apple.com> 589 590 Make the docked Web Inspector use autoresizing masks so the view doesn't jitter when 591 resizing the window. 592 593 https://webkit.org/b/86765 594 595 Reviewed by John Sullivan. 596 597 * UIProcess/mac/WebInspectorProxyMac.mm: 598 (-[WKWebInspectorProxyObjCAdapter close]): Added. Zero out _inspectorProxy. 599 (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Perform the work on a delay to 600 prevent interfering with Cocoa's resizing. 601 (WebKit::WebInspectorProxy::createInspectorWindow): Added setAutoresizingMask: call. 602 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Removed setAutoresizingMask: call. 603 createInspectorWindow and platformAttach do this now. 604 (WebKit::WebInspectorProxy::platformDidClose): Call close on WKWebInspectorProxyObjCAdapter. 605 (WebKit::WebInspectorProxy::platformAttach): Added setAutoresizingMask: call. 606 6072012-05-16 Andreas Kling <kling@webkit.org> 608 609 Make PluginInfoStore properly thread-safe. 610 <http://webkit.org/b/86648> 611 <rdar://problem/11451178> 612 613 Reviewed by Darin Adler. 614 615 Deep copy the internal storage of PluginInfoStore after constructing it, as we can 616 be doing this from a secondary thread. 617 618 * Shared/Plugins/PluginModuleInfo.h: 619 (WebKit::PluginModuleInfo::isolatedCopy): 620 * UIProcess/Plugins/PluginInfoStore.cpp: 621 (WebKit::deepIsolatedCopyPluginInfoVector): 622 (WebKit::PluginInfoStore::loadPluginsIfNecessary): 623 (WebKit::PluginInfoStore::plugins): 624 6252012-05-17 Hironori Bono <hbono@chromium.org> 626 627 [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer 628 https://bugs.webkit.org/show_bug.cgi?id=86591 629 630 Reviewed by Ryosuke Niwa. 631 632 This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection 633 function to remove platform-specific code from Editor::respondToChangedSelection 634 function. 635 636 No new tests, no change in behavior. 637 638 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 639 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 640 (WebKit): 641 * WebProcess/WebCoreSupport/WebEditorClient.h: 642 6432012-05-17 Dan Bernstein <mitz@apple.com> 644 645 REGRESSION (r117428): WebKit API/SPI was removed 646 https://bugs.webkit.org/show_bug.cgi?id=86748 647 648 Reverted r117428. 649 650 * win/WebKit2.def: 651 6522012-05-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> 653 654 Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface 655 https://bugs.webkit.org/show_bug.cgi?id=86704 656 657 Reviewed by Eric Seidel. 658 659 * win/WebKit2.def: Add setDomainRelaxationForbiddenForURLScheme symbol filter. 660 6612012-05-16 Brent Fulgham <bfulgham@webkit.org> 662 663 [WinCairo] Unreviewed build change after exported symbol 664 updates (r114790) and expansion of CG routines in WebPage 665 PDF output (r114476). 666 667 * WebProcess/WebPage/WebPage.cpp: 668 (WebKit::WebPage::drawRectToPDF): Exclude CG use on WinCairo. 669 (WebKit::WebPage::drawPagesToPDF): Exclude CG use on WinCairo. 670 * win/WebKit2CFLite.def: Don't claim to export symbols we don't 671 provide (e.g., full screen API calls). 672 6732012-05-16 Carlos Garcia Campos <cgarcia@igalia.com> 674 675 [GTK] Add API to get plugins to WebKit2 GTK+ 676 https://bugs.webkit.org/show_bug.cgi?id=86356 677 678 Reviewed by Martin Robinson. 679 680 * GNUmakefile.list.am: Add new files to compilation. 681 * UIProcess/API/gtk/WebKitMimeInfo.cpp: Added. 682 (_WebKitMimeInfo): Boxed type to represent MIME type information. 683 (webkitMimeInfoCreate): Ceate a new WebKitMimeInfo. 684 (webkit_mime_info_ref): 685 (webkit_mime_info_unref): 686 (webkit_mime_info_get_mime_type): Return the mime type. 687 (webkit_mime_info_get_description): Return the mime type 688 description. 689 (webkit_mime_info_get_extensions): Return the list of extensions 690 associated to the mime type. 691 * UIProcess/API/gtk/WebKitMimeInfo.h: Added. 692 * UIProcess/API/gtk/WebKitMimeInfoPrivate.h: Added. 693 * UIProcess/API/gtk/WebKitPlugin.cpp: Added. 694 (webkitPluginFinalize): 695 (webkit_plugin_init): 696 (webkit_plugin_class_init): 697 (webkitPluginCreate): Create a new WebKitPlugin for the given 698 PluginModuleInfo. 699 (webkit_plugin_get_name): Return the plugin name. 700 (webkit_plugin_get_description): Return the plugin description. 701 (webkit_plugin_get_path): Return the path where the plugin is 702 installed. 703 (webkit_plugin_get_mime_info_list): Return the list of mime types 704 handled by the plugin. 705 * UIProcess/API/gtk/WebKitPlugin.h: Added. 706 * UIProcess/API/gtk/WebKitPluginPrivate.h: Added. 707 * UIProcess/API/gtk/WebKitWebContext.cpp: 708 (webkit_web_context_set_additional_plugins_directory): Set an 709 additional directory to be scanned for plugins. 710 (GetPluginsAsyncData): Helper struct used to asynchronously get 711 the list of plugins. 712 (getPluginsAsyncDataCreate): Create a GetPluginsAsyncData struct. 713 (getPluginsAsyncDataDestroy): Destroy a GetPluginsAsyncData 714 struct. 715 (webkitWebContextGetPluginThread): Thread body to get the list of 716 plugins installed. 717 (webkit_web_context_get_plugins): Asynchronously get the list of 718 plugins installed. 719 (webkit_web_context_get_plugins_finish): Finish async operation 720 started by webkit_web_context_get_plugins() returning a list of 721 WebKitPlugin. 722 * UIProcess/API/gtk/WebKitWebContext.h: 723 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 724 WebKitPlugin. 725 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 726 * UIProcess/API/gtk/docs/webkit2gtk.types: Add new types. 727 * UIProcess/API/gtk/tests/GNUmakefile.am: 728 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 729 (testWebContextGetPlugins): 730 (beforeAll): 731 * UIProcess/API/gtk/webkit2.h: 732 7332012-05-16 Brady Eidson <beidson@apple.com> 734 735 https://bugs.webkit.org/show_bug.cgi?id=86638 736 Bump the version number on the WKBundlePageLoaderClient 737 738 Reviewed by Dan Bernstein. 739 740 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: s/1/2/ 741 * Shared/APIClientTraits.cpp: Update client traits for the BundlePageLoaderClient 742 * Shared/APIClientTraits.h: Update client traits for the BundlePageLoaderClient 743 744 * ChangeLog: Change a confusing ChangeLog entry to reflect the actual client that was changed. 745 7462012-05-16 Dinu Jacob <dinu.jacob@nokia.com> 747 748 Add didFinishProgress BundlePageLoaderClient callback 749 https://bugs.webkit.org/show_bug.cgi?id=86541 750 751 Reviewed by Kenneth Rohde Christiansen. 752 753 Added didFinishProgress BundleUIClient callback needed by 754 WebKitTestRunner. This callback is invoked in postProgressFinishedNotification. 755 756 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 757 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 758 (WebKit::InjectedBundlePageLoaderClient::didFinishProgress): 759 (WebKit): 760 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 761 (InjectedBundlePageLoaderClient): 762 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 763 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification): 764 * WebProcess/qt/QtBuiltinBundlePage.cpp: 765 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 766 7672012-05-16 Keishi Hattori <keishi@webkit.org> 768 769 [chromium] Add WebKit API to access inner text value of input element 770 https://bugs.webkit.org/show_bug.cgi?id=85353 771 772 Reviewed by Kent Tamura. 773 774 * win/WebKit2.def: Added HTMLInputElement::setEditingValue 775 * win/WebKit2CFLite.def: Added HTMLInputElement::setEditingValue 776 7772012-05-16 Zalan Bujtas <zbujtas@gmail.com> 778 779 [Qt][WK2] Move WebFrameNetworkingContext to WebKit namespace. 780 https://bugs.webkit.org/show_bug.cgi?id=86590 781 782 Reviewed by Simon Hausmann. 783 784 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 785 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): 786 (WebKit::WebFrameNetworkingContext::create): 787 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 788 (WebKit): 789 (WebFrameNetworkingContext): 790 (WebKit::WebFrameNetworkingContext::originatingObject): 791 (WebKit::WebFrameNetworkingContext::~WebFrameNetworkingContext): 792 (WebKit::WebFrameNetworkingContext::networkAccessManager): 793 (WebKit::WebFrameNetworkingContext::mimeSniffingEnabled): 794 (WebKit::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission): 795 7962012-05-16 Andras Becsi <andras.becsi@nokia.com> 797 798 [WTR] Visited link tracking is not disabled properly 799 https://bugs.webkit.org/show_bug.cgi?id=76699 800 801 Reviewed by Jocelyn Turcotte. 802 803 If PLATFORM_STRATEGIES is enabled visited link tracking is done through 804 VisitedLinkProvider and not through PageGroup. 805 InjectedBundle sets the shouldTrackVisitedLinks flag on the PageGroup, 806 thus the shared VisitedLinkTable does get populated with visited links 807 regardless of the flag. 808 809 The WebProcess should only track visited links if tracking is specifically 810 enabled for a test through WTR's LayoutTestController. 811 812 This patch fixes several flacky and failing layout tests on Qt-WK2. 813 814 * WebProcess/InjectedBundle/InjectedBundle.cpp: 815 (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Let the WebProcess 816 know about visited link tracking. 817 * WebProcess/WebProcess.cpp: 818 (WebKit::WebProcess::WebProcess): 819 (WebKit::WebProcess::setShouldTrackVisitedLinks): 820 (WebKit::WebProcess::addVisitedLink): 821 * WebProcess/WebProcess.h: 822 (WebProcess): 823 8242012-05-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 825 826 Fix Qt5/Mac build after r117212 by adding missing NETSCAPE_PLUGIN_API guards 827 https://bugs.webkit.org/show_bug.cgi?id=86577 828 829 Reviewed by Andy Estes. 830 831 * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp: 832 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: 833 (WebKit::PluginInfoStore::getPluginInfo): 834 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: 835 8362012-05-15 Andy Estes <aestes@apple.com> 837 838 WebKit2 would fail to build on Windows if Netscape plug-ins were disabled. 839 840 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 841 (WebKit::PluginInfoStore::getPluginInfo): Return false if ENABLE_NETSCAPE_PLUGIN_API is false. 842 8432012-05-15 Andy Estes <aestes@apple.com> 844 845 Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API) 846 https://bugs.webkit.org/show_bug.cgi?id=86496 847 848 Reviewed by Sam Weinig. 849 850 Ensure that WebKit2 can compile with ENABLE_NETSCAPE_PLUGIN_API disabled. 851 852 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 853 * Shared/Plugins/Netscape/NetscapePluginModule.h: 854 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 855 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 856 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 857 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 858 (WebKit::PluginInfoStore::getPluginInfo): 859 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 860 * WebProcess/Plugins/Netscape/JSNPMethod.h: 861 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 862 * WebProcess/Plugins/Netscape/JSNPObject.h: 863 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 864 * WebProcess/Plugins/Netscape/NPJSObject.h: 865 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 866 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 867 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 868 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: 869 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 870 (WebKit::NPN_GetValue): 871 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: 872 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 873 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 874 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 875 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 876 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 877 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: 878 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 879 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 880 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: 881 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 882 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 883 * WebProcess/Plugins/PluginController.h: 884 (PluginController): 885 * WebProcess/Plugins/PluginView.cpp: 886 (WebKit::PluginView::Stream::didFinishLoading): 887 (WebKit::PluginView::PluginView): 888 (WebKit::PluginView::~PluginView): 889 (WebKit::PluginView::scriptObject): 890 (WebKit): 891 * WebProcess/Plugins/PluginView.h: 892 (PluginView): 893 * WebProcess/WebPage/WebPage.cpp: 894 (WebKit::WebPage::createPlugin): 895 * WebProcess/WebProcess.cpp: 896 (WebKit::WebProcess::getSitesWithPluginData): 897 (WebKit::WebProcess::clearPluginSiteData): 898 8992012-05-15 Michael Brüning <michael.bruning@nokia.com> 900 901 [Qt][WK2] http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml crashes 902 https://bugs.webkit.org/show_bug.cgi?id=80209 903 904 Reviewed by Kenneth Rohde Christiansen. 905 906 This patch adds a method isOpen to WebIconDatabase to 907 be able to check whether the database has already been opened. 908 This helps preventing problems when reusing a WebContext 909 to create another view, as e.g. WebKitTestRunner does it in the 910 Qt port. 911 912 * UIProcess/WebIconDatabase.cpp: 913 (WebKit::WebIconDatabase::setDatabasePath): 914 (WebKit::WebIconDatabase::isOpen): Added. 915 (WebKit): 916 * UIProcess/WebIconDatabase.h: 917 (WebIconDatabase): 918 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 919 (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient): 920 9212012-05-15 Anders Carlsson <andersca@apple.com> 922 923 Use unaccelerated scrolling deltas when rubber-banding 924 https://bugs.webkit.org/show_bug.cgi?id=86503 925 <rdar://problem/11378742> 926 927 Reviewed by Sam Weinig. 928 929 * Shared/WebEvent.h: 930 (WebWheelEvent): 931 (WebKit::WebWheelEvent::scrollCount): 932 (WebKit::WebWheelEvent::unacceleratedScrollingDelta): 933 Add scroll count and unaccelerated scrolling delta. 934 935 * Shared/WebEventConversion.cpp: 936 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 937 Initialize scroll count and unaccelerated scrolling deltas. 938 939 * Shared/WebWheelEvent.cpp: 940 (WebKit::WebWheelEvent::WebWheelEvent): 941 Initialize scroll count and unaccelerated scrolling deltas. 942 943 (WebKit::WebWheelEvent::encode): 944 (WebKit::WebWheelEvent::decode): 945 Encode and decode scroll count and unaccelerated scrolling deltas. 946 947 * Shared/mac/WebEventFactory.mm: 948 (WebKit::WebEventFactory::createWebWheelEvent): 949 Initialize the scroll count and unaccelerated scrolling deltas from the underlying NSEvent. 950 951 * UIProcess/WebPageProxy.cpp: 952 (WebKit::coalesce): 953 Coalesce unaccelerated scrolling deltas as well. 954 955 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 956 (InitWebCoreSystemInterface): 957 Init new WKSI functions. 958 9592012-05-15 Sheriff Bot <webkit.review.bot@gmail.com> 960 961 Unreviewed, rolling out r117095. 962 http://trac.webkit.org/changeset/117095 963 https://bugs.webkit.org/show_bug.cgi?id=86511 964 965 broke Qt Mac build (Requested by estes on #webkit). 966 967 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 968 * Shared/Plugins/Netscape/NetscapePluginModule.h: 969 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 970 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 971 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 972 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 973 (WebKit::PluginInfoStore::getPluginInfo): 974 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 975 * WebProcess/Plugins/Netscape/JSNPMethod.h: 976 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 977 * WebProcess/Plugins/Netscape/JSNPObject.h: 978 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 979 * WebProcess/Plugins/Netscape/NPJSObject.h: 980 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 981 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 982 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 983 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: 984 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 985 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: 986 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 987 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 988 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: 989 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 990 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 991 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 992 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: 993 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 994 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: 995 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 996 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 997 9982012-05-15 Alexey Proskuryakov <ap@apple.com> 999 1000 [WK2] Crash when dropping a reference to a non-existing file 1001 https://bugs.webkit.org/show_bug.cgi?id=86505 1002 <rdar://problem/11402084> 1003 1004 Reviewed by Darin Adler. 1005 1006 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction): Check that 1007 extension handle actually has a non-null extension. Extensions for non-existent files can not 1008 exist, so they are passed as null ones. 1009 10102012-05-15 Andy Estes <aestes@apple.com> 1011 1012 Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC) 1013 https://bugs.webkit.org/show_bug.cgi?id=86508 1014 1015 Reviewed by Sam Weinig. 1016 1017 * Shared/cf/ArgumentCodersCF.cpp: 1018 (CoreIPC::typeFromCFTypeRef): 1019 (CoreIPC::encode): 1020 (CoreIPC::decode): 1021 (CoreIPC): 1022 * Shared/cf/ArgumentCodersCF.h: 1023 (CoreIPC): 1024 * Shared/mac/KeychainAttribute.cpp: 1025 * Shared/mac/KeychainAttribute.h: 1026 * Shared/mac/SecKeychainItemRequestData.cpp: 1027 * Shared/mac/SecKeychainItemRequestData.h: 1028 * Shared/mac/SecKeychainItemResponseData.cpp: 1029 * Shared/mac/SecKeychainItemResponseData.h: 1030 * UIProcess/WebProcessProxy.h: 1031 (WebKit): 1032 (WebProcessProxy): 1033 * WebProcess/mac/WebProcessMac.mm: 1034 10352012-05-15 Andreas Kling <kling@webkit.org> 1036 1037 Deep copy PluginModuleInfo before passing across thread boundary. 1038 <http://webkit.org/b/86491> 1039 <rdar://problem/11451178> 1040 1041 Reviewed by Anders Carlsson. 1042 1043 Since the vector of PluginModuleInfo objects returned by PluginInfoStore::plugins() 1044 can end up being passed to another thread, we should clone it to make sure it's 1045 safe to do so. 1046 1047 No new tests, speculative use-after-free fix. 1048 1049 * Shared/Plugins/PluginModuleInfo.h: 1050 (PluginModuleInfo): 1051 (WebKit::PluginModuleInfo::isolatedCopy): 1052 * UIProcess/Plugins/PluginInfoStore.cpp: 1053 (WebKit::PluginInfoStore::plugins): 1054 10552012-05-15 Andy Estes <aestes@apple.com> 1056 1057 Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API) 1058 https://bugs.webkit.org/show_bug.cgi?id=86496 1059 1060 Reviewed by Dan Bernstein. 1061 1062 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 1063 * Shared/Plugins/Netscape/NetscapePluginModule.h: 1064 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 1065 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 1066 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 1067 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 1068 (WebKit::PluginInfoStore::individualPluginPaths): 1069 (WebKit::PluginInfoStore::getPluginInfo): 1070 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 1071 * WebProcess/Plugins/Netscape/JSNPMethod.h: 1072 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 1073 * WebProcess/Plugins/Netscape/JSNPObject.h: 1074 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 1075 * WebProcess/Plugins/Netscape/NPJSObject.h: 1076 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 1077 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 1078 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 1079 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: 1080 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 1081 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: 1082 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 1083 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 1084 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: 1085 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 1086 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 1087 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 1088 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: 1089 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 1090 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: 1091 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 1092 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 1093 10942012-05-14 Andy Estes <aestes@apple.com> 1095 1096 Guard some AppKit-specific code in WebKit2 with USE(APPKIT) 1097 https://bugs.webkit.org/show_bug.cgi?id=86444 1098 1099 Reviewed by Sam Weinig. 1100 1101 * Shared/NativeWebKeyboardEvent.h: 1102 (NativeWebKeyboardEvent): 1103 (WebKit::NativeWebKeyboardEvent::nativeEvent): 1104 * Shared/NativeWebMouseEvent.h: 1105 (NativeWebMouseEvent): 1106 (WebKit::NativeWebMouseEvent::nativeEvent): 1107 * Shared/NativeWebWheelEvent.h: 1108 (NativeWebWheelEvent): 1109 (WebKit::NativeWebWheelEvent::nativeEvent): 1110 * Shared/mac/ArgumentCodersMac.h: 1111 (CoreIPC): 1112 * Shared/mac/ArgumentCodersMac.mm: 1113 (CoreIPC::typeFromObject): 1114 (CoreIPC::encode): 1115 (CoreIPC::decode): 1116 * Shared/mac/WebEventFactory.mm: 1117 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: 1118 (WebKit::WebPopupMenu::setUpPlatformData): 1119 * WebProcess/mac/WebProcessMainMac.mm: 1120 (WebKit::WebProcessMain): 1121 11222012-05-15 Dinu Jacob <dinu.jacob@nokia.com> 1123 1124 [Qt][WK2] fast/loader/create-frame-in-DOMContentLoaded.html crashes 1125 https://bugs.webkit.org/show_bug.cgi?id=83578 1126 1127 Retrieve and save page ID only for a valid page in WebFrameNetworkingContext. 1128 The page will be null if the frame was detached from the page. 1129 1130 Reviewed by Simon Hausmann. 1131 1132 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 1133 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 1134 11352012-05-15 Allan Sandfeld Jensen <allan.jensen@nokia.com> 1136 1137 [Qt][WK2] Fix scrolling in touch mode 1138 https://bugs.webkit.org/show_bug.cgi?id=75006 1139 1140 Reviewed by Kenneth Rohde Christiansen. 1141 1142 Only handle mouse-wheel events in WebCore to avoid double scrolling, and 1143 scale pixels scrolled by wheel events according to viewport transformation. 1144 1145 * Shared/qt/WebEventFactoryQt.cpp: 1146 (WebKit::WebEventFactory::createWebWheelEvent): 1147 * UIProcess/qt/QtViewportInteractionEngine.cpp: 1148 * UIProcess/qt/QtViewportInteractionEngine.h: 1149 (QtViewportInteractionEngine): 1150 * UIProcess/qt/QtWebPageEventHandler.cpp: 1151 (QtWebPageEventHandler::handleWheelEvent): 1152 11532012-05-15 Kenneth Rohde Christiansen <kenneth@webkit.org> 1154 1155 [Qt] Add infra for testing double-tap to zoom functionality etc 1156 https://bugs.webkit.org/show_bug.cgi?id=86474 1157 1158 Reviewed by Simon Hausmann. 1159 1160 Rename the WebViewportInfo class to QWebKitTest in preparation 1161 of becoming a separate module. Adapt the use API. 1162 1163 Modify the API to work better for testing and make sure the 1164 signals are emitted the right places. Also add a method for 1165 simulating a double tap. 1166 1167 Work around issue with animations not running when the item 1168 doesn't have focus. 1169 1170 Create an example test for double-tap to zoom, showing how we can 1171 now create UI tests using QML. 1172 1173 * Target.pri: 1174 * UIProcess/API/qt/qquickwebpage.cpp: 1175 (QQuickWebPage::setContentsSize): 1176 (QQuickWebPage::setContentsScale): 1177 * UIProcess/API/qt/qquickwebview.cpp: 1178 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 1179 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged): 1180 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 1181 (QQuickWebViewExperimental::QQuickWebViewExperimental): 1182 (QQuickWebViewExperimental::test): 1183 (QQuickWebView::mouseDoubleClickEvent): 1184 * UIProcess/API/qt/qquickwebview_p.h: 1185 * UIProcess/API/qt/qquickwebview_p_p.h: 1186 (QQuickWebViewPrivate): 1187 * UIProcess/API/qt/qwebkittest.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp. 1188 (QWebKitTest::QWebKitTest): 1189 (QWebKitTest::~QWebKitTest): 1190 (QWebKitTest::touchDoubleTap): 1191 (QWebKitTest::contentsSize): 1192 (QWebKitTest::contentsScale): 1193 (QWebKitTest::devicePixelRatio): 1194 (QWebKitTest::initialScale): 1195 (QWebKitTest::minimumScale): 1196 (QWebKitTest::maximumScale): 1197 (QWebKitTest::isScalable): 1198 (QWebKitTest::layoutSize): 1199 * UIProcess/API/qt/qwebkittest_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo_p.h. 1200 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Added. 1201 * UIProcess/qt/QtViewportInteractionEngine.cpp: 1202 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 1203 * UIProcess/qt/QtViewportInteractionEngine.h: 1204 (QtViewportInteractionEngine): 1205 12062012-05-15 Michael Brüning <michael.bruning@nokia.com> 1207 1208 [Qt][WK2] http/tests/navigation/https-in-page-cache.html fails with timeout 1209 https://bugs.webkit.org/show_bug.cgi?id=83576 1210 1211 Reviewed by Simon Hausmann. 1212 1213 * UIProcess/API/qt/qquickwebview.cpp: 1214 (QQuickWebViewPrivate::QQuickWebViewPrivate): 1215 (QQuickWebViewPrivate::handleCertificateVerificationRequest): 1216 (QQuickWebView::allowAnyHTTPSCertificateForLocalHost): Added. 1217 (QQuickWebView::setAllowAnyHTTPSCertificateForLocalHost): Added. 1218 * UIProcess/API/qt/qquickwebview_p.h: 1219 * UIProcess/API/qt/qquickwebview_p_p.h: 1220 (QQuickWebViewPrivate): Added bool m_allowAnyHTTPSCertificateForLocalHost. 1221 12222012-05-14 Shinya Kawanaka <shinyak@chromium.org> 1223 1224 document.execCommand('Indent') in the direct child of ShadowRoot causes a crash. 1225 https://bugs.webkit.org/show_bug.cgi?id=86341 1226 1227 Reviewed by Ryosuke Niwa. 1228 1229 Exports necessary symbols. 1230 1231 * win/WebKit2.def: 1232 * win/WebKit2CFLite.def: 1233 12342012-05-14 Luke Macpherson <macpherson@chromium.org> 1235 1236 Introduce ENABLE_CSS_VARIABLES compile flag. 1237 https://bugs.webkit.org/show_bug.cgi?id=86338 1238 1239 Reviewed by Dimitri Glazkov. 1240 1241 Add a configuration option for CSS Variables support, disabling it by default. 1242 1243 * Configurations/FeatureDefines.xcconfig: 1244 12452012-05-14 Michael Saboff <msaboff@apple.com> 1246 1247 Enh: Add the Ability to Disable / Enable JavaScript GC Timer 1248 https://bugs.webkit.org/show_bug.cgi?id=86382 1249 1250 Reviewed by Darin Adler. 1251 1252 Plumbing to set / clear JS GC activity timer enable flag. 1253 1254 * UIProcess/API/C/WKContext.cpp: 1255 (WKContextSetJavaScriptGarbageCollectorTimerEnabled): 1256 * UIProcess/API/C/WKContext.h: 1257 * UIProcess/WebContext.cpp: 1258 (WebKit::WebContext::setJavaScriptGarbageCollectorTimerEnabled): 1259 * UIProcess/WebContext.h: 1260 * WebProcess/WebProcess.cpp: 1261 (WebKit::WebProcess::setJavaScriptGarbageCollectorTimerEnabled): 1262 * WebProcess/WebProcess.h: 1263 * WebProcess/WebProcess.messages.in: 1264 12652012-05-14 Anders Carlsson <andersca@apple.com> 1266 1267 The "plug-in was blocked" callback needs to include enough info to uniquely identify the plug-in + version 1268 https://bugs.webkit.org/show_bug.cgi?id=86395 1269 <rdar://problem/11447652> 1270 1271 Reviewed by John Sullivan. 1272 1273 Add the plug-in identifier and version string to the didFail client callback. 1274 1275 * UIProcess/API/C/WKPage.h: 1276 * UIProcess/WebLoaderClient.cpp: 1277 (WebKit::WebLoaderClient::didFailToInitializePlugin): 1278 Pass a null plug-in identifier and version here since we don't have the plug-in information here. 1279 1280 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): 1281 * UIProcess/WebLoaderClient.h: 1282 (WebLoaderClient): 1283 * UIProcess/WebPageProxy.cpp: 1284 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 1285 12862012-05-14 Andreas Kling <kling@webkit.org> 1287 1288 REGRESSION(r116796): Assertion failure in API tests 1289 <http://webkit.org/b/86378> 1290 <rdar://problem/10777218> 1291 1292 Reviewed by Anders Carlsson. 1293 1294 Invalidate the plugin work queue in ~WebContext to avoid hitting 1295 the !m_isValid assertion in ~WorkQueue later on. 1296 1297 * UIProcess/WebContext.cpp: 1298 (WebKit::WebContext::~WebContext): 1299 13002012-05-14 Sheriff Bot <webkit.review.bot@gmail.com> 1301 1302 Unreviewed, rolling out r116969. 1303 http://trac.webkit.org/changeset/116969 1304 https://bugs.webkit.org/show_bug.cgi?id=86386 1305 1306 i accidentally the icondatabase (Requested by kling on 1307 #webkit). 1308 1309 * UIProcess/WebContext.cpp: 1310 (WebKit::WebContext::~WebContext): 1311 13122012-05-14 Andreas Kling <kling@webkit.org> 1313 1314 REGRESSION(r116796): Assertion failure in API tests 1315 <http://webkit.org/b/86378> 1316 <rdar://problem/10777218> 1317 1318 Reviewed by Anders Carlsson. 1319 1320 Invalidate the plugin work queue in ~WebContext to avoid hitting 1321 the !m_isValid assertion in ~WorkQueue later on. 1322 1323 * UIProcess/WebContext.cpp: 1324 (WebKit::WebContext::~WebContext): 1325 13262012-05-14 Csaba Osztrogonác <ossy@webkit.org> 1327 1328 [Qt][WK2] Unreviewed trivial buildfix after r116958. 1329 1330 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 1331 13322012-05-14 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 1333 1334 [Qt] Simplify OTHER_FILES for QML tests project files 1335 1336 Reviewed by Jocelyn Turcotte. 1337 1338 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 1339 * UIProcess/API/qt/tests/qmltests/WebView.pro: 1340 13412012-05-14 Carlos Garcia Campos <cgarcia@igalia.com> 1342 1343 Unreviewed. Fix make distcheck. 1344 1345 * GNUmakefile.am: Explicitly link WebProcess to 1346 libjavascriptcoregtk to make sure it uses the non installed 1347 library. 1348 * GNUmakefile.list.am: Add missing header file. 1349 13502012-05-14 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 1351 1352 [GTK] [WK2] Memory leaks in WebKitWebSettings 1353 https://bugs.webkit.org/show_bug.cgi?id=86365 1354 1355 Reviewed by Martin Robinson. 1356 1357 Fix memory leaks in WebKitWebSettings by adopting allocations 1358 using adoptWK. 1359 1360 * UIProcess/API/gtk/WebKitSettings.cpp: 1361 (webkit_settings_init): 1362 (webkit_settings_set_serif_font_family): 1363 13642012-05-14 Allan Sandfeld Jensen <allan.jensen@nokia.com> 1365 1366 [Qt] Doesn't build with ENABLE_INSPECTOR=0 1367 https://bugs.webkit.org/show_bug.cgi?id=85056 1368 1369 Reviewed by Tor Arne Vestbø. 1370 1371 * Target.pri: 1372 * UIProcess/qt/QtWebContext.cpp: 1373 (WebKit::initInspectorServer): 1374 13752012-05-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 1376 1377 [Qt] Make sure dialogs have their parent and attached properties set before Component.onCompleted 1378 https://bugs.webkit.org/show_bug.cgi?id=86222 1379 1380 The WebView QML api for dialogs is based on delegates for each dialog, which 1381 are implemented as components. Since there's no explicit API to show the dialog, 1382 the natural place to allow the dialog to choose how to display itself is in 1383 Component.onCompleted. 1384 1385 The issue was that we were using QQmlComponent::create() when instantiating the 1386 component, at which point the component did not have a parent or it's attached 1387 WebView property set. That meant that we had to do some ugly workaround in our 1388 test, using a 1ms timer, to get a callback once the parent was there. 1389 1390 We now use the QQmlComponent::beginCreate() -> QQmlComponent::completeCreate() 1391 pair, which allows us to set the relevant properties before triggering the 1392 Component.onCompleted callback. We were already doing this for the context 1393 menus (except for setting the parent, which we did afterwards). 1394 1395 Reviewed by Simon Hausmann. 1396 1397 * UIProcess/API/qt/qquickwebview.cpp: 1398 * UIProcess/API/qt/qquickwebview_p_p.h: 1399 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 1400 * UIProcess/qt/QtDialogRunner.cpp: 1401 * UIProcess/qt/QtDialogRunner.h: 1402 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 1403 14042012-05-11 Gavin Barraclough <barraclough@apple.com> 1405 1406 Introduce PropertyName class 1407 https://bugs.webkit.org/show_bug.cgi?id=86241 1408 1409 Reviewed by Geoff Garen. 1410 1411 Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type. 1412 This change paves the way to allow for properties keyed by values that are not Identifiers. 1413 1414 This change is largely a mechanical find & replace. 1415 It also changes JSFunction's constructor to take a UString& instead of an Identifier& 1416 (since in some cases we can no longer guarantee that we'lll have an Identifier), and 1417 unifies Identifier's methods to obtain array indices onto PropertyName. 1418 1419 The new PropertyName class retains the ability to support .impl() and .ustring(), but 1420 in a future patch we may need to rework this, since not all PropertyNames should be 1421 equal based on their string representation. 1422 1423 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 1424 (WebKit::JSNPMethod::finishCreation): 1425 * WebProcess/Plugins/Netscape/JSNPMethod.h: 1426 (WebKit::JSNPMethod::create): 1427 (JSNPMethod): 1428 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 1429 (WebKit::npIdentifierFromIdentifier): 1430 (WebKit::JSNPObject::getOwnPropertySlot): 1431 (WebKit::JSNPObject::getOwnPropertyDescriptor): 1432 (WebKit::JSNPObject::put): 1433 (WebKit::JSNPObject::deleteProperty): 1434 (WebKit::JSNPObject::propertyGetter): 1435 (WebKit::JSNPObject::methodGetter): 1436 * WebProcess/Plugins/Netscape/JSNPObject.h: 1437 (JSNPObject): 1438 14392012-05-11 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 1440 1441 [GTK] [WK2] Memory leak in PluginProcessProxy::scanPlugin 1442 https://bugs.webkit.org/show_bug.cgi?id=86240 1443 1444 Reviewed by Martin Robinson. 1445 1446 Free the output received from the g_spawn_sync(). 1447 1448 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: 1449 (WebKit::PluginProcessProxy::scanPlugin): 1450 14512012-05-11 Andreas Kling <kling@webkit.org> 1452 1453 WK2/Plugins: Move enumeration of plugins to a secondary UIProcess thread. 1454 <http://webkit.org/b/86143> 1455 <rdar://problem/10777218> 1456 1457 Reviewed by Anders Carlsson. 1458 1459 To avoid spins beneath PluginInfoStore::getPluginInfo(), do this work on a secondary 1460 thread in the UIProcess. 1461 1462 * Shared/APIObject.h: 1463 1464 Made APIObject a ThreadSafeRefCounted. In the context of this patch, this is to 1465 be able to dispatch bound Functions on WebContext. 1466 1467 * WebProcess/mac/KeychainItemShimMethods.mm: 1468 (WebKit::responseMap): 1469 * WebProcess/mac/SecItemShimMethods.mm: 1470 (WebKit::responseMap): 1471 * WebKit2.xcodeproj/project.pbxproj: 1472 * Shared/BlockingResponseMap.h: 1473 (BlockingResponseMap): 1474 (BlockingResponseMap::waitForResponse): 1475 (BlockingResponseMap::didReceiveResponse): 1476 1477 Renamed from Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h. 1478 Generalize this somewhat since it's useful in more than just the keychain scenario. 1479 This can/should be generalized further, but that's a topic for another patch. 1480 1481 * UIProcess/Plugins/PluginInfoStore.h: 1482 * UIProcess/Plugins/PluginInfoStore.cpp: 1483 (WebKit::PluginInfoStore::plugins): 1484 (WebKit::PluginInfoStore::findPluginForMIMEType): 1485 (WebKit::PluginInfoStore::findPluginForExtension): 1486 (WebKit::PluginInfoStore::findPlugin): 1487 (WebKit::PluginInfoStore::infoForPluginWithPath): 1488 1489 Slap a mutex on the PluginInfoStore since it can now be called from both the 1490 main thread (via WKFrameCanShowMIMEType) and the GetPlugin work queue. 1491 1492 * UIProcess/WebContext.messages.in: 1493 * UIProcess/WebContext.h: 1494 * UIProcess/WebContext.cpp: 1495 (WebKit::WebContext::WebContext): 1496 (WebKit::WebContext::~WebContext): 1497 (WebKit::WebContext::processDidFinishLaunching): 1498 (WebKit::WebContext::sendDidGetPlugins): 1499 (WebKit::WebContext::handleGetPlugins): 1500 (WebKit::WebContext::getPlugins): 1501 (WebKit::WebContext::didReceiveMessageOnConnectionWorkQueue): 1502 1503 Make GetPlugins a DispatchOnConnectionQueue message and execute it on a new 1504 plug-in work queue. This effectively makes the GetPlugin call asynchronous. 1505 On Mac, the built-in PDF reader is still registered on the main thread as that 1506 ends up calling into localizedString(). 1507 1508 * WebProcess/WebProcess.cpp: 1509 (WebKit::WebProcess::didGetPlugins): 1510 * WebProcess/WebProcess.h: 1511 * WebProcess/WebProcess.messages.in: 1512 1513 Add a DidGetPlugins message to WebProcess. This is passed directly to the handler 1514 in WebPlatformStrategies.cpp. 1515 1516 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 1517 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 1518 (WebKit::responseMap): 1519 (WebKit::handleDidGetPlugins): 1520 (WebKit::generateRequestID): 1521 (WebKit::WebPlatformStrategies::populatePluginCache): 1522 1523 Use a BlockingResponseMap to block the WebProcess main thread until the UIProcess 1524 responds with DidGetPlugins. 1525 15262012-05-11 Gustavo Noronha Silva <gns@gnome.org> 1527 1528 REGRESSION(r116205): [GTK]: build no longer supports thin archives 1529 https://bugs.webkit.org/show_bug.cgi?id=86207 1530 1531 * GNUmakefile.am: link libWebCoreModules to the webkit2gtk shared 1532 library; tell the linker to ignore internal unresolved symbols for 1533 PluginProcess and avoid linking libWebCoreModules. 1534 15352012-05-11 Hajime Morrita <morrita@chromium.org> 1536 1537 Unreviewed build fix attempt. 1538 1539 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 1540 (WebKit::WebPopupMenu::setUpPlatformData): 1541 15422012-05-11 Carlos Garcia Campos <cgarcia@igalia.com> 1543 1544 [SOUP] Allow sending URI request data in chunks 1545 https://bugs.webkit.org/show_bug.cgi?id=85880 1546 1547 Reviewed by Martin Robinson. 1548 1549 The API to handle custom URI schemes will receive an input stream 1550 to read from. Current code requires to buffer the whole stream 1551 before sending it to the WebProcess. This patch allows to send the 1552 data in chunks while it's read from the stream. 1553 1554 * GNUmakefile.list.am: Add new files to compilation 1555 * UIProcess/API/C/soup/WKSoupRequestManager.cpp: 1556 (WKSoupRequestManagerRegisterURIScheme): Use toWTFString() to 1557 convert from WKString to WTFString. 1558 (WKSoupRequestManagerDidHandleURIRequest): Use didHandleURIRequest 1559 as it has been renamed. 1560 (WKSoupRequestManagerDidReceiveURIRequestData): New method to send 1561 more data for the uri request to the web process. 1562 * UIProcess/API/C/soup/WKSoupRequestManager.h: 1563 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 1564 (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest): 1565 HandleURIRequest has been renamed to DidHandleURIRequest. 1566 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData): 1567 Send DidReceiveURIRequestData message to the web process. 1568 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Use 1569 didHandleURIRequest as it has been renamed. 1570 * UIProcess/soup/WebSoupRequestManagerProxy.h: 1571 (WebSoupRequestManagerProxy): 1572 * WebProcess/soup/WebKitSoupRequestInputStream.cpp: Added. 1573 (AsyncReadData::AsyncReadData): Helper struct to store information 1574 about pending async read operations. 1575 (_WebKitSoupRequestInputStreamPrivate): 1576 (webkitSoupRequestInputStreamReadAsyncResultComplete): Read the 1577 data from the memory input stream and complete the async read 1578 operation. 1579 (webkitSoupRequestInputStreamReadAsync): Read the data from the 1580 memory input stream and complete the async read operation if 1581 there's data to read, or save the async result to be completed 1582 when more data is added to the stream. 1583 (webkitSoupRequestInputStreamReadFinish): Finish an async read 1584 started with webkitSoupRequestInputStreamReadAsync. 1585 (webkitSoupRequestInputStreamFinalize): 1586 (webkit_soup_request_input_stream_init): 1587 (webkit_soup_request_input_stream_class_init): 1588 (webkitSoupRequestInputStreamNew): Create a new input stream with 1589 a fixed size or 0 if content length is not known. 1590 (webkitSoupRequestInputStreamAddData): Add more data to the 1591 stream and complete any pending async read. 1592 (webkitSoupRequestInputStreamFinished): Whether all data expected 1593 by the stream has been received. 1594 * WebProcess/soup/WebKitSoupRequestInputStream.h: Added. 1595 * WebProcess/soup/WebSoupRequestManager.cpp: 1596 (WebKit::WebSoupRequestManager::didHandleURIRequest): Create a 1597 WebKitSoupRequestInputStream if we haven't received all the 1598 request data in the HandleURIRequest message. Otherwise just 1599 create a memory input stream with all the data. 1600 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): Add the data 1601 received to the WebKitSoupRequestInputStream associated to the 1602 given request identifier. 1603 * WebProcess/soup/WebSoupRequestManager.h: 1604 * WebProcess/soup/WebSoupRequestManager.messages.in: Add 1605 contentLength parameter to DidHandleURIRequest message and add 1606 DidReceiveURIRequestData message. 1607 16082012-05-10 MORITA Hajime <morrita@google.com> 1609 1610 ElementShadow should minimize the usage of "ShadowRoot" name 1611 https://bugs.webkit.org/show_bug.cgi?id=85970 1612 1613 Reviewed by Dimitri Glazkov. 1614 1615 Removed symbols which no longer exists 1616 1617 * win/WebKit2.def: 1618 * win/WebKit2CFLite.def: 1619 16202012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 1621 1622 Move resumeAnimations to use Internals interface 1623 https://bugs.webkit.org/show_bug.cgi?id=86063 1624 1625 Reviewed by Alexey Proskuryakov. 1626 1627 * win/WebKit2.def: Add a symbol filter for resumeAnimations. 1628 16292012-05-10 Anders Carlsson <andersca@apple.com> 1630 1631 PDF files won't scroll in Safari when using Adobe plug-in 1632 https://bugs.webkit.org/show_bug.cgi?id=86167 1633 <rdar://problem/11389719> 1634 1635 Reviewed by Sam Weinig. 1636 1637 Add a way to whitelist plug-ins that we know will process wheel events correctly. Add the new 1638 Adobe Reader plug-in to this whitelist. Only send wheel events to plug-ins that are in the whitelist. 1639 1640 * PluginProcess/PluginControllerProxy.cpp: 1641 (WebKit::PluginControllerProxy::wantsWheelEvents): 1642 (WebKit): 1643 * PluginProcess/PluginControllerProxy.h: 1644 (PluginControllerProxy): 1645 * PluginProcess/WebProcessConnection.cpp: 1646 (WebKit::WebProcessConnection::createPlugin): 1647 * PluginProcess/WebProcessConnection.h: 1648 (WebProcessConnection): 1649 * PluginProcess/WebProcessConnection.messages.in: 1650 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 1651 (WebKit::NetscapePluginModule::determineQuirks): 1652 * Shared/Plugins/PluginQuirks.h: 1653 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 1654 (WebKit::NetscapePlugin::wantsWheelEvents): 1655 (WebKit): 1656 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 1657 (NetscapePlugin): 1658 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 1659 (BuiltInPDFView): 1660 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: 1661 (WebKit::BuiltInPDFView::wantsWheelEvents): 1662 (WebKit): 1663 * WebProcess/Plugins/Plugin.h: 1664 (Plugin): 1665 * WebProcess/Plugins/PluginProxy.cpp: 1666 (WebKit::PluginProxy::PluginProxy): 1667 (WebKit::PluginProxy::initialize): 1668 (WebKit::PluginProxy::wantsWheelEvents): 1669 (WebKit): 1670 * WebProcess/Plugins/PluginProxy.h: 1671 (PluginProxy): 1672 * WebProcess/Plugins/PluginView.cpp: 1673 (WebKit::PluginView::initializePlugin): 1674 (WebKit::PluginView::wantsWheelEvents): 1675 (WebKit): 1676 (WebKit::PluginView::handleEvent): 1677 * WebProcess/Plugins/PluginView.h: 1678 (PluginView): 1679 16802012-05-10 Anders Carlsson <andersca@apple.com> 1681 1682 WebKit2: Add a way to blacklist specific plug-ins/plug-in versions 1683 https://bugs.webkit.org/show_bug.cgi?id=86164 1684 <rdar://problem/9551196> 1685 1686 Reviewed by Sam Weinig. 1687 1688 * Shared/API/c/WKError.h: 1689 Add kWKErrorCodeInsecurePlugInVersion error code. 1690 1691 * Shared/APIClientTraits.cpp: 1692 Update now that didFailToInitializePlugin is deprecated. 1693 1694 * UIProcess/API/C/WKPage.h: 1695 Deprecate didFailToInitializePlugin and replace it with the more generic pluginDidFail. 1696 Also, deprecate missingPluginButtonClicked and replace it with unavailablePluginButtonClicked. 1697 1698 * UIProcess/Plugins/PluginInfoStore.cpp: 1699 (WebKit::PluginInfoStore::shouldBlockPlugin): 1700 Non-Mac version, always return false. 1701 1702 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 1703 (WebKit::PluginInfoStore::shouldBlockPlugin): 1704 Call WKShouldBlockPlugin. 1705 1706 * UIProcess/WebContext.cpp: 1707 (WebKit::WebContext::getPluginPath): 1708 Check if the plug-in should be blocked. 1709 1710 * UIProcess/WebContext.messages.in: 1711 GetPluginPath now takes an additional out parameter, a boolean that determines whether the plug-in 1712 should be blocked from loading or not. 1713 1714 * UIProcess/WebLoaderClient.cpp: 1715 (WebKit::WebLoaderClient::didFailToInitializePlugin): 1716 Call m_client.pluginDidFail. 1717 1718 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): 1719 Ditto. 1720 1721 * UIProcess/WebPageProxy.cpp: 1722 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 1723 Call the loader client. 1724 1725 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 1726 Ditto. 1727 1728 * UIProcess/WebPageProxy.messages.in: 1729 Rename MissingPluginButtonClicked to UnavailablePluginButtonClicked and add a new DidBlockInsecurePluginVersion message. 1730 1731 * UIProcess/WebUIClient.cpp: 1732 (WebKit::WebUIClient::unavailablePluginButtonClicked): 1733 Call missingPluginButtonClicked and unavailablePluginButtonClicked. 1734 1735 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 1736 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton): 1737 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 1738 Handle RenderEmbeddedObject::InsecurePluginVersion. 1739 1740 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1741 (WebKit::WebFrameLoaderClient::createPlugin): 1742 WebPage::createPlugin now takes the plug-in element. 1743 1744 * WebProcess/WebPage/WebPage.cpp: 1745 (WebKit::WebPage::createPlugin): 1746 If the plug-in is blocked, set the appropriate unavailability reason. 1747 1748 * WebProcess/WebProcess.cpp: 1749 (WebKit::canPluginHandleResponse): 1750 Update now that GetPluginPath returns a blocked parameter as well. 1751 17522012-05-10 Anders Carlsson <andersca@apple.com> 1753 1754 Rename the missing plug-in indicator to the unavailable plug-in indicator 1755 https://bugs.webkit.org/show_bug.cgi?id=86136 1756 1757 Reviewed by Sam Weinig. 1758 1759 Update for WebCore changes. 1760 1761 * WebProcess/Plugins/PluginView.cpp: 1762 (WebKit::PluginView::pluginProcessCrashed): 1763 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 1764 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton): 1765 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 1766 * WebProcess/WebCoreSupport/WebChromeClient.h: 1767 (WebChromeClient): 1768 17692012-05-10 Carlos Garcia Campos <cgarcia@igalia.com> 1770 1771 [GTK] Test /webkit2/WebKitWebView/resources times out 1772 https://bugs.webkit.org/show_bug.cgi?id=86088 1773 1774 Reviewed by Martin Robinson. 1775 1776 * UIProcess/API/gtk/tests/TestResources.cpp: 1777 (testWebViewResources): Use webkit_web_view_reload_bypass_cache() 1778 instead of webkit_web_view_reload() to make sure resources are not 1779 read from the cache. 1780 17812012-05-10 Simon Pena <spena@igalia.com> 1782 1783 [GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline playback 1784 https://bugs.webkit.org/show_bug.cgi?id=85999 1785 1786 Reviewed by Martin Robinson. 1787 1788 Expose WebKitSettings for media playback requiring user gesture and 1789 media playback allows inline to GTK side. 1790 1791 This adds two properties (mediaPlaybackRequiresUserGesture and 1792 mediaPlaybackAllowsInline), with their setters and getters, to 1793 WebKitSettings. It also updates the WebKitSettings tests so these 1794 two properties are checked, and includes the new methods in the 1795 documentation. 1796 1797 * UIProcess/API/gtk/WebKitSettings.cpp: added the new properties and 1798 their accessors 1799 (webKitSettingsSetProperty): 1800 (webKitSettingsGetProperty): 1801 (webkit_settings_class_init): 1802 (webkit_settings_set_media_playback_requires_user_gesture): 1803 (webkit_settings_get_media_playback_requires_user_gesture): 1804 (webkit_settings_set_media_playback_allows_inline): 1805 (webkit_settings_get_media_playback_allows_inline): 1806 * UIProcess/API/gtk/WebKitSettings.h: 1807 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: included the new 1808 methods in the documentation 1809 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: tested the newly 1810 added methods 1811 (testWebKitSettings): 1812 18132012-05-10 Simon Pena <spena@igalia.com> 1814 1815 [GTK] Missing field initializers for WKPageLoaderClient 1816 https://bugs.webkit.org/show_bug.cgi?id=86005 1817 1818 Reviewed by Martin Robinson. 1819 1820 Initialize willGoToBackForwardListItem and 1821 interactionOccurredWhileProcessUnresponsive fields of 1822 WKPageLoaderClient. 1823 1824 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 1825 (attachLoaderClientToView): 1826 18272012-05-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 1828 1829 [Qt] Double tap to zoom is considered a user interaction 1830 https://bugs.webkit.org/show_bug.cgi?id=86094 1831 1832 Reviewed by Simon Hausmann. 1833 1834 This makes it so that the content size change doesn't change scale 1835 after a double tap to zoom. 1836 1837 * UIProcess/qt/QtViewportInteractionEngine.cpp: 1838 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 1839 18402012-05-10 Kent Hansen <kent.hansen@nokia.com> 1841 1842 [Qt] Rename QDeclarative* to QQml* 1843 https://bugs.webkit.org/show_bug.cgi?id=86089 1844 1845 Reviewed by Simon Hausmann. 1846 1847 The QtDeclarative module was deprecated in favor of QtQml. 1848 1849 * Target.pri: 1850 * UIProcess/API/qt/qquickwebview.cpp: 1851 (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload): 1852 (QQuickWebViewExperimental::alertDialog): 1853 (QQuickWebViewExperimental::setAlertDialog): 1854 (QQuickWebViewExperimental::confirmDialog): 1855 (QQuickWebViewExperimental::setConfirmDialog): 1856 (QQuickWebViewExperimental::promptDialog): 1857 (QQuickWebViewExperimental::setPromptDialog): 1858 (QQuickWebViewExperimental::authenticationDialog): 1859 (QQuickWebViewExperimental::setAuthenticationDialog): 1860 (QQuickWebViewExperimental::proxyAuthenticationDialog): 1861 (QQuickWebViewExperimental::setProxyAuthenticationDialog): 1862 (QQuickWebViewExperimental::certificateVerificationDialog): 1863 (QQuickWebViewExperimental::setCertificateVerificationDialog): 1864 (QQuickWebViewExperimental::itemSelector): 1865 (QQuickWebViewExperimental::setItemSelector): 1866 (QQuickWebViewExperimental::filePicker): 1867 (QQuickWebViewExperimental::setFilePicker): 1868 (QQuickWebViewExperimental::databaseQuotaDialog): 1869 (QQuickWebViewExperimental::setDatabaseQuotaDialog): 1870 (QQuickWebViewExperimental::schemeDelegates_At): 1871 (QQuickWebViewExperimental::schemeDelegates_Append): 1872 (QQuickWebViewExperimental::schemeDelegates_Count): 1873 (QQuickWebViewExperimental::schemeDelegates_Clear): 1874 (QQuickWebViewExperimental::schemeDelegates): 1875 * UIProcess/API/qt/qquickwebview_p.h: 1876 * UIProcess/API/qt/qquickwebview_p_p.h: 1877 (QQuickWebViewPrivate): 1878 * UIProcess/API/qt/qwebiconimageprovider.cpp: 1879 (QWebIconImageProvider::QWebIconImageProvider): 1880 * UIProcess/API/qt/qwebiconimageprovider_p.h: 1881 * UIProcess/API/qt/qwebviewportinfo_p.h: 1882 * UIProcess/API/qt/tests/tests.pri: 1883 * UIProcess/qt/QtDialogRunner.h: 1884 (QtDialogRunner): 1885 * UIProcess/qt/WebPopupMenuProxyQt.h: 1886 (WebPopupMenuProxyQt): 1887 18882012-05-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 1889 1890 [Qt] Fix sites with a viewport meta tag when devicePixelRatio isn't explicitely set on the WebView 1891 https://bugs.webkit.org/show_bug.cgi?id=86002 1892 1893 Reviewed by Kenneth Rohde Christiansen. 1894 1895 The preference was recently changed to a double ratio, but was still left under 1896 FOR_EACH_WEBKIT_UINT32_PREFERENCE and was initialized to inf instead of 1.0. 1897 This would cause the viewport constraints to apply a multi-millionaire device 1898 pixel ratio and make the contents invisible. 1899 1900 This moves it with other double preferences under FOR_EACH_WEBKIT_DOUBLE_PREFERENCE. 1901 1902 * Shared/WebPreferencesStore.h: 1903 (WebKit): 1904 19052012-05-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 1906 1907 [Qt] Implement fit-to-width behaviour 1908 https://bugs.webkit.org/show_bug.cgi?id=86085 1909 1910 Reviewed by Simon Hausmann. 1911 1912 We don't restrict the minimum scale to the layout viewport anymore, 1913 but instead update the minimum scale when the content size changes. 1914 1915 * UIProcess/API/qt/qquickwebview.cpp: 1916 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 1917 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 1918 * UIProcess/API/qt/qwebviewportinfo.cpp: 1919 (QWebViewportInfo::minimumScale): 1920 (QWebViewportInfo::maximumScale): 1921 * UIProcess/qt/QtViewportInteractionEngine.h: 1922 (QtViewportInteractionEngine): 1923 19242012-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 1925 1926 WebPageProxy::activeURL() should return the pending API request, even when there's no main frame 1927 https://bugs.webkit.org/show_bug.cgi?id=85806 1928 1929 The m_pendingAPIRequestURL member is used (presumably) to mask over the async 1930 nature of WebKit2, so that starting a load of a URL will reflect that URL 1931 immedeatly from activeURL, even if the request has not been passed over to 1932 the web process yet and reflected there. 1933 1934 This works well, except in the case of the initial request, where the main 1935 frame creation happens on the web process side and is notified back to the 1936 UI process. Until we've recived the notification we don't know about the main 1937 frame, and this race condition will potentially give us an empty url instead 1938 of the pending request. 1939 1940 To solve this we always return the pending API request if it's set, even 1941 when there's no mainframe yet (that we known about). 1942 1943 Reviewed by Simon Hausmann. 1944 1945 * UIProcess/WebPageProxy.cpp: 1946 19472012-05-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> 1948 1949 Move suspendAnimations to use Internals interface. 1950 https://bugs.webkit.org/show_bug.cgi?id=85986 1951 1952 Reviewed by Ryosuke Niwa. 1953 1954 * win/WebKit2.def: Add a symbol filter for suspendAnimations. 1955 19562012-05-09 Carlos Garcia Campos <cgarcia@igalia.com> 1957 1958 [GTK] Split WebKit2 Makefile moving source code listings to GNUmakefile.list.am 1959 https://bugs.webkit.org/show_bug.cgi?id=85985 1960 1961 Reviewed by Gustavo Noronha Silva. 1962 1963 * GNUmakefile.am: 1964 * GNUmakefile.list.am: Copied from Source/WebKit2/GNUmakefile.am. 1965 19662012-05-09 Carlos Garcia Campos <cgarcia@igalia.com> 1967 1968 [GTK] Use independent version numbers for public libraries 1969 https://bugs.webkit.org/show_bug.cgi?id=85984 1970 1971 Reviewed by Gustavo Noronha Silva. 1972 1973 * GNUmakefile.am: Use LIBWEBKIT2GTK_VERSION for library version. 1974 19752012-05-09 Allan Sandfeld Jensen <allan.jensen@nokia.com> 1976 1977 [Qt] Tap-to-zoom zooms to wrong area. 1978 https://bugs.webkit.org/show_bug.cgi?id=85982 1979 1980 Reviewed by Kenneth Rohde Christiansen. 1981 1982 Fix computation and take more care when to use CSS scale and when to use Item scale. 1983 1984 * UIProcess/qt/QtViewportInteractionEngine.cpp: 1985 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 1986 19872012-05-09 Zalan Bujtas <zbujtas@gmail.com> 1988 1989 [Qt][WK2] Define clear split between QtWebPageLoadClient and QQuickWebViewPrivate for loading tasks. 1990 https://bugs.webkit.org/show_bug.cgi?id=84527#c3 1991 1992 Reviewed by Simon Hausmann. 1993 1994 Moving loading related code and signal emission from QtWebPageLoadClient to QQuickWebViewPrivate. 1995 It puts the loading code that implements an API right where the API is defined, including 1996 signal emission as well as translation of WebPageProxy internals to public Qt API with correct types. 1997 1998 * UIProcess/API/qt/qquickwebview.cpp: 1999 (QQuickWebViewPrivate::QQuickWebViewPrivate): 2000 (QQuickWebViewPrivate::provisionalLoadDidStart): 2001 (QQuickWebViewPrivate::loadDidCommit): 2002 (QQuickWebViewPrivate::didSameDocumentNavigation): 2003 (QQuickWebViewPrivate::titleDidChange): 2004 (QQuickWebViewPrivate::loadProgressDidChange): 2005 (QQuickWebViewPrivate::backForwardListDidChange): 2006 (QQuickWebViewPrivate::loadDidFail): 2007 (QQuickWebViewPrivate::processDidCrash): 2008 (QQuickWebView::loadProgress): 2009 * UIProcess/API/qt/qquickwebview_p_p.h: 2010 (WebKit): 2011 (QQuickWebViewPrivate): 2012 (QQuickWebViewPrivate::didChangeViewportProperties): 2013 (QQuickWebViewPrivate::loadProgress): 2014 (QQuickWebViewFlickablePrivate): 2015 * UIProcess/qt/QtWebError.cpp: 2016 (WebKit::QtWebError::isCancellation): 2017 (WebKit): 2018 * UIProcess/qt/QtWebError.h: 2019 * UIProcess/qt/QtWebPageLoadClient.cpp: 2020 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient): 2021 (WebKit): 2022 (WebKit::QtWebPageLoadClient::didStartProvisionalLoad): 2023 (WebKit::QtWebPageLoadClient::didCommitLoad): 2024 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation): 2025 (WebKit::QtWebPageLoadClient::didReceiveTitle): 2026 (WebKit::QtWebPageLoadClient::didChangeProgress): 2027 (WebKit::QtWebPageLoadClient::didChangeBackForwardList): 2028 (WebKit::QtWebPageLoadClient::dispatchLoadFailed): 2029 (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 2030 (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame): 2031 (WebKit::QtWebPageLoadClient::didStartProgress): 2032 (WebKit::QtWebPageLoadClient::didFinishProgress): 2033 * UIProcess/qt/QtWebPageLoadClient.h: 2034 (WebKit): 2035 (QtWebPageLoadClient): 2036 20372012-05-09 Zalan Bujtas <zbujtas@gmail.com> 2038 2039 [Qt][WK2] Remove delayed loadDidSucceed() signaling and m_deferedUrlToLoad from QQuickWebViewPrivate 2040 https://bugs.webkit.org/show_bug.cgi?id=85906 2041 2042 Reviewed by Kenneth Rohde Christiansen. 2043 2044 Deferred loading activies were introduced to work around the delayed Flickable construction 2045 at onComponentComplete(). QQuickWebView inherits from QQuickFlickable now, 2046 so no need for the workaround anymore. 2047 2048 * UIProcess/API/qt/qquickwebview.cpp: 2049 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 2050 (QQuickWebViewFlickablePrivate::onComponentComplete): 2051 (QQuickWebView::setUrl): 2052 (QQuickWebView::componentComplete): 2053 * UIProcess/API/qt/qquickwebview_p_p.h: 2054 (QQuickWebViewPrivate::onComponentComplete): 2055 (QQuickWebViewPrivate): 2056 (QQuickWebViewFlickablePrivate): 2057 20582012-05-08 Jon Lee <jonlee@apple.com> 2059 2060 Unreviewed build fix. 2061 2062 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: 2063 (LayerTreeHostCAWin): 2064 20652012-05-08 Anders Carlsson <andersca@apple.com> 2066 2067 DrawingAreaProxyImpl doesn't work with window server hosting 2068 https://bugs.webkit.org/show_bug.cgi?id=85947 2069 <rdar://problem/11213718> 2070 2071 Reviewed by Andreas Kling. 2072 2073 * UIProcess/DrawingAreaProxyImpl.cpp: 2074 (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode): 2075 Update the layer tree context and call WebPage::updateAcceleratedCompositingMode. 2076 2077 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2078 (WebKit::DrawingAreaImpl::setLayerHostingMode): 2079 If setting the layer hosting mode changed the layer tree context, send back an UpdateAcceleratedCompositingMode message 2080 with the new context. 2081 2082 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 2083 (WebKit::LayerTreeHostCA::initialize): 2084 platformInitialize no longer takes a context. 2085 2086 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 2087 (LayerTreeHostCA): 2088 Make m_layerTreeContext protected instead. 2089 2090 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 2091 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 2092 (WebKit::LayerTreeHostCAMac::platformInitialize): 2093 Assign to m_layerTreeContext directly. 2094 2095 (WebKit::LayerTreeHostCAMac::setLayerHostingMode): 2096 Set m_layerTreeContext.contextID. 2097 2098 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 2099 (WebKit::LayerTreeHostCAWin::platformInitialize): 2100 Assign to m_layerTreeContext directly. 2101 21022012-05-08 Jon Lee <jonlee@apple.com> 2103 2104 Safari warns that it needs to resend the form in an iFrame when going back 2105 https://bugs.webkit.org/show_bug.cgi?id=82658 2106 <rdar://problem/11292558> 2107 2108 Reviewed by Darin Adler. 2109 2110 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 2111 (InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching. 2112 21132012-05-08 Anders Carlsson <andersca@apple.com> 2114 2115 Can't scroll PDF in subframe 2116 https://bugs.webkit.org/show_bug.cgi?id=85932 2117 <rdar://problem/11405527> 2118 2119 Reviewed by Sam Weinig. 2120 2121 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 2122 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: 2123 (WebKit::BuiltInPDFView::updateScrollbars): 2124 Trigger a layout when scrollbars come and go so the non fast scrollable region gets recomputed. 2125 2126 (WebKit::BuiltInPDFView::scrollableAreaBoundingBox): 2127 Implement this by calling out to the PluginView. 2128 21292012-05-06 Jon Lee <jonlee@apple.com> 2130 2131 [WK2] Push wheel events if there are too many in queue 2132 https://bugs.webkit.org/show_bug.cgi?id=85747 2133 <rdar://problem/11390790> 2134 2135 Reviewed by Anders Carlsson. 2136 2137 It is possible that a whole bunch of messages added to the message queue, or a series 2138 of long-running messages, cause unresponsiveness. The reason for this is that we have 2139 a scroll event waiting for acknowledgment from the web process before it sends the next 2140 event. And in the time between the user has scrolled, causing a large backlog of scroll 2141 events to be held in the UI process. 2142 2143 We should push new scroll events if the queue accumulates too many of them. 2144 2145 * UIProcess/WebPageProxy.h: The vector m_currentlyProcessedWheelEvents used to hold the 2146 series of wheel events that were coalesced and sent as a single wheel event to the web 2147 process. When the web process acknowledges this with didReceiveEvent, the UI process 2148 cleared that vector, then tried to coalesce the next wheel event to send. Now we might have 2149 multiple sets of coalesced wheel events that we are sending to the web process. To keep 2150 track of these sets, m_currentlyProcessedWheelEvents now is a queue of Vectors. 2151 (WebPageProxy): 2152 * UIProcess/WebPageProxy.cpp: Add new constant wheelEventQueueSizeThreshold representing 2153 the threshold of scroll events to look for before we start pushing events. 2154 (WebKit::canCoalesce): Move static function so that handleWheelEvent() has access. No changes. 2155 (WebKit::coalesce): Move static function so that handleWheelEvent() has access. No changes. 2156 (WebKit::coalescedWheelEvent): Move static function so that handleWheelEvent() has access. No changes. 2157 (WebKit::WebPageProxy::handleWheelEvent): If we are currently waiting for acknowledgment 2158 from the web process that a wheel event has been handled, we add it to the queue. We 2159 check to see that the queue size is within our threshold before we return early. Otherwise 2160 we will start pushing events in the queue. Refactor the rest of the function into 2161 processNextQueuedWheelEvent() and sendWheelEvent(). If we are not currently waiting for 2162 acknowledgment, nor have events in the queue, then we send the current wheel event. 2163 (WebKit::WebPageProxy::processNextQueuedWheelEvent): Try to coalesce events based on the 2164 wheel event at the head of the queue, and send that event to the web process. 2165 (WebKit::WebPageProxy::sendWheelEvent): Refactored from handleWheelEvent(). 2166 (WebKit::WebPageProxy::didReceiveEvent): Instead of clearing m_currentlyProcessedWheelEvents, 2167 which contained the set of one coalesced wheel event, we pull the head Vector, which 2168 contains the same set of events. Refactor to use processNextQueuedWheelEvent(). 2169 21702012-05-08 Timothy Hatcher <timothy@apple.com> 2171 2172 Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen. 2173 2174 <rdar://problem/11406517> 2175 2176 Reviewed by Mark Rowe. 2177 2178 * UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version. 2179 * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto. 2180 21812012-05-08 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 2182 2183 [WK2] Integrate Page Visibility state change and WK2 Suspend/Resume API 2184 https://bugs.webkit.org/show_bug.cgi?id=85650 2185 2186 Reviewed by Kenneth Rohde Christiansen. 2187 2188 This patch uses state changes of the Page Visibility API to trigger the 2189 automatic suspension/resume of animations on the WebPage and its main frame, 2190 in the same fashion of what is used by the Suspend/Resume API of WebKit2. 2191 By telling the WebPage it will move off/on the screen and the FrameView to 2192 hide/show, this patch is suspending/resuming animations (animated painting) 2193 but not timers and other active DOM objects. 2194 2195 * WebProcess/WebPage/WebPage.cpp: 2196 (WebKit::WebPage::setVisibilityState): 2197 21982012-05-08 Kenneth Rohde Christiansen <kenneth@webkit.org> 2199 2200 [Qt] Add QML/WK2 evaluateJavaScript experimental API 2201 https://bugs.webkit.org/show_bug.cgi?id=85496 2202 2203 Reviewed by Simon Hausmann. 2204 2205 This is an initial patch adding support for strings, 2206 numbers and bools as return values. 2207 2208 Test: qmltests/WebView/tst_evaluateJavaScript.qml 2209 2210 * UIProcess/API/qt/qquickwebview.cpp: 2211 (JSCallbackClosure): 2212 (toQString): 2213 (toQJSValue): 2214 (buildQJSValue): 2215 (javaScriptCallback): 2216 (QQuickWebViewExperimental::evaluateJavaScript): 2217 (QQuickWebView::runJavaScriptInMainFrame): 2218 * UIProcess/API/qt/qquickwebview_p.h: 2219 * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Added. 2220 22212012-05-07 Alexis Menard <alexis.menard@openbossa.org> 2222 2223 [Qt] Unbreak debugging of WebKit2. 2224 https://bugs.webkit.org/show_bug.cgi?id=85839 2225 2226 Reviewed by Simon Hausmann. 2227 2228 When you attach GDB to a running process, it stops it. 2229 http://trac.webkit.org/changeset/115958 introduced a pause() 2230 call to wait the debugger to be attached to then continue 2231 the execution of the WebProcess. Unfortunately the pause() 2232 function does not return unless a signal handler is called. 2233 This patch introduce an event handler to exit from the paused 2234 state when the debugger send the signal SIGCONT. The old code 2235 works with older version of GDB (<7.0) but not with newer 2236 versions where the behavior of pause() is correct. 2237 2238 * qt/MainQt.cpp: 2239 (sigcontHandler): 2240 (main): 2241 22422012-05-07 Julien Chaffraix <jchaffraix@webkit.org> 2243 2244 Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency 2245 https://bugs.webkit.org/show_bug.cgi?id=84090 2246 2247 Reviewed by David Hyatt. 2248 2249 * WebProcess/Plugins/PluginView.cpp: 2250 (WebKit::PluginView::clipRectInWindowCoordinates): 2251 Updated after windowClipRectForLayer name and signature change. 2252 22532012-05-07 Andy Estes <aestes@apple.com> 2254 2255 ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES. 2256 2257 * Configurations/FeatureDefines.xcconfig: 2258 22592012-05-07 Eric Seidel <eric@webkit.org> 2260 2261 Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed 2262 https://bugs.webkit.org/show_bug.cgi?id=85822 2263 2264 Reviewed by Adam Barth. 2265 2266 * Configurations/FeatureDefines.xcconfig: 2267 22682012-05-07 Alexis Menard <alexis.menard@openbossa.org> 2269 2270 Unreviewed Qt build fix in Debug. 2271 2272 We need some system includes here for getpid() to be recognized. 2273 2274 * qt/MainQt.cpp: 2275 22762012-05-07 Sheriff Bot <webkit.review.bot@gmail.com> 2277 2278 Unreviewed, rolling out r116299, r116301, and r116303. 2279 http://trac.webkit.org/changeset/116299 2280 http://trac.webkit.org/changeset/116301 2281 http://trac.webkit.org/changeset/116303 2282 https://bugs.webkit.org/show_bug.cgi?id=85795 2283 2284 Build is still broken (Requested by Ossy on #webkit). 2285 2286 * qt/MainQt.cpp: 2287 (main): 2288 22892012-05-07 Balazs Kelemen <kbalazs@webkit.org> 2290 2291 [Qt] Add test specific platform plugin to achieve unified layout test results 2292 https://bugs.webkit.org/show_bug.cgi?id=80996 2293 2294 Reviewed by Simon Hausmann. 2295 2296 Initialize the test platform plugin before initializing 2297 the web process if we are in a WTR run. 2298 It is necessary to place this initialization here as we 2299 cannot control wich platform plugin will be used after 2300 the instantiation of the QApplication. 2301 2302 * qt/MainQt.cpp: 2303 (initializeTestPlatformPluginForWTRIfRequired): 2304 (main): 2305 23062012-05-06 MORITA Hajime <morrita@google.com> 2307 2308 https://bugs.webkit.org/show_bug.cgi?id=85265 2309 [Shadow DOM] ShadowTree needs a better name 2310 2311 Reviewed by Dimitri Glazkov. 2312 2313 * win/WebKit2.def: Updated exported symbol names according to the rename. 2314 * win/WebKit2CFLite.def: Updated exported symbol names according to the rename. 2315 23162012-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com> 2317 2318 Convert isPageBoxVisible to use Internals interface. 2319 https://bugs.webkit.org/show_bug.cgi?id=85692 2320 2321 Reviewed by Darin Adler. 2322 2323 * win/WebKit2.def: Add isPageBoxVisible symbol filter. 2324 23252012-05-05 Dean Jackson <dino@apple.com> 2326 2327 Add new Setting/Preference to disable requestAnimationFrame 2328 https://bugs.webkit.org/show_bug.cgi?id=85693 2329 2330 Reviewed by Simon Fraser. 2331 2332 Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled. 2333 The default value is true. The majority of applications will leave 2334 it this way. 2335 2336 * Shared/WebPreferencesStore.h: 2337 (WebKit): 2338 * UIProcess/API/C/WKPreferences.cpp: 2339 (WKPreferencesSetRequestAnimationFrameEnabled): 2340 (WKPreferencesGetRequestAnimationFrameEnabled): 2341 * UIProcess/API/C/WKPreferencesPrivate.h: 2342 * WebProcess/WebPage/WebPage.cpp: 2343 (WebKit::WebPage::updatePreferences): 2344 23452012-05-04 Jon Lee <jonlee@apple.com> 2346 2347 [WK2] Incoming events may be processed out-of-order 2348 https://bugs.webkit.org/show_bug.cgi?id=85696 2349 <rdar://problem/11386129> 2350 2351 Reviewed by Maciej Stachowiak. 2352 2353 All messages go to a single queue that gets iterated over by dispatchMessages(). If an input 2354 event arrives in the middle of a flood of messages, all of them will be dispatched before the 2355 input event is dispatched. 2356 2357 In other words, the first dispatchMessages() call will process all of the messages in the queue, 2358 and all subsequent dispatchMessages() calls will act as no-ops, since there is nothing in the queue. 2359 2360 To fix this, we rename dispatchMessages to dispatchOneMessage, and only process one message at a 2361 time. 2362 2363 * Platform/CoreIPC/Connection.h: Rename dispatchMessages() to dispatchOneMessage(). 2364 * Platform/CoreIPC/Connection.cpp: 2365 (CoreIPC::Connection::enqueueIncomingMessage): Dispatch a call to dispatchOneMessage() on the 2366 run loop. 2367 (CoreIPC::Connection::dispatchOneMessage): Remove the while(true) loop. 2368 23692012-05-04 Gustavo Noronha Silva <gns@gnome.org> 2370 2371 [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build 2372 https://bugs.webkit.org/show_bug.cgi?id=85691 2373 2374 * GNUmakefile.am: no longer link libWebCoreModules, and remove -no- 2375 fast-install and -no-install from link flags, since we want those 2376 programs installed. 2377 23782012-05-04 Mark Rowe <mrowe@apple.com> 2379 2380 Fix a leak in WebProcess when it is used to launch the UI process. 2381 2382 Rubber-stamped by Anders Carlsson. 2383 2384 * WebProcess/mac/WebProcessMainMac.mm: 2385 (WebKit::WebProcessMain): Destory the attributes and file actions after 2386 spawning the subprocess. 2387 23882012-05-02 Jer Noble <jer.noble@apple.com> 2389 2390 Flash of white when exiting full screen HTML5 video 2391 https://bugs.webkit.org/show_bug.cgi?id=85438 2392 2393 Reviewed by Maciej Stachowiak. 2394 2395 Force a repaint before displaying the newly exited WebView window. This gives the window 2396 a chance to seamlessly repaint before enabling screen updates. 2397 2398 Also, send the WebProcess the didExitFullScreen and setAnimatingFullScreen(false) messages 2399 after swapping the WebView back into its original window. Doing otherwise seems to cause 2400 forceRepaint to paint a white frame. 2401 2402 * UIProcess/mac/WKFullScreenWindowController.mm: 2403 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): 2404 (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): 2405 (completeFinishExitFullScreenAnimationAfterRepaint): 2406 24072012-05-04 Anders Carlsson <andersca@apple.com> 2408 2409 Set the right device scale factor when creating the web page 2410 https://bugs.webkit.org/show_bug.cgi?id=85667 2411 <rdar://problem/11376611> 2412 2413 Reviewed by Oliver Hunt. 2414 2415 * UIProcess/API/mac/WKView.mm: 2416 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 2417 Set the scale factor before initializing the page, to ensure that the WebPageCreationParameters struct gets the right scale factor. 2418 2419 * UIProcess/WebPageProxy.cpp: 2420 (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor): 2421 This can now be called with a null drawing area. Also, remove the isValid() check since we still want to update the scale factor even if the web process has crashed. 2422 2423 * WebProcess/WebPage/WebPage.cpp: 2424 (WebKit::WebPage::WebPage): 2425 Set the device scale factor from the creation parameters. 2426 24272012-05-02 Jer Noble <jer.noble@apple.com> 2428 2429 Taking a visibility:hidden element full screen causes full screen window to disappear. 2430 https://bugs.webkit.org/show_bug.cgi?id=85432 2431 2432 Reviewed by Maciej Stachowiak. 2433 2434 When given an initial or final frame with a zero width or height, return a rect representing 2435 the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will 2436 confuse the window server when it's instructed to scale the full screen window to that size. 2437 2438 * UIProcess/mac/WKFullScreenWindowController.mm: 2439 (windowFrameFromApparentFrames): 2440 24412012-04-30 Jer Noble <jer.noble@apple.com> 2442 2443 Full screen will exit during a provisional load of a non-ancestor iframe. 2444 https://bugs.webkit.org/show_bug.cgi?id=85230 2445 2446 Reviewed by Maciej Stachowiak . 2447 2448 Only exit full screen mode if the frame being loaded contains the full 2449 screen element: 2450 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2451 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 2452 2453 Move the full screen exiting logic up into WebFrameLoaderClient in the 2454 WebProcess: 2455 * UIProcess/WebPageProxy.cpp: 2456 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 2457 2458 Add a WebFullScreenManager "close" method & message: 2459 * UIProcess/WebFullScreenManagerProxy.messages.in: 2460 * WebProcess/FullScreen/WebFullScreenManager.cpp: 2461 (WebKit::WebFullScreenManager::close): 2462 * WebProcess/FullScreen/WebFullScreenManager.h: 2463 2464 Add support for this new message to the WKBundlePage and client: 2465 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2466 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: 2467 (WebKit::InjectedBundlePageFullScreenClient::closeFullScreen): 2468 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: 2469 24702012-05-04 Anders Carlsson <andersca@apple.com> 2471 2472 TiledCoreAnimationDrawingArea should handle visibility changes 2473 https://bugs.webkit.org/show_bug.cgi?id=85645 2474 <rdar://problem/11247192> 2475 2476 Reviewed by Oliver Hunt. 2477 2478 Replicate the visibility handling logic from DrawingAreaImpl and LayerTreeHostCAMac. 2479 2480 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 2481 (TiledCoreAnimationDrawingAreaProxy): 2482 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 2483 (WebKit::TiledCoreAnimationDrawingAreaProxy::visibilityDidChange): 2484 (WebKit): 2485 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 2486 (TiledCoreAnimationDrawingArea): 2487 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 2488 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 2489 (WebKit::TiledCoreAnimationDrawingArea::suspendPainting): 2490 (WebKit): 2491 (WebKit::TiledCoreAnimationDrawingArea::resumePainting): 2492 24932012-05-04 Nate Chapin <japhet@chromium.org> 2494 2495 Don't require FrameLoaderClient to manufacture a commitData() call for empty documents. 2496 https://bugs.webkit.org/show_bug.cgi?id=85533 2497 2498 Reviewed by Alexey Proskuryakov. 2499 2500 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2501 (WebKit::WebFrameLoaderClient::finishedLoading): 2502 25032012-05-04 Kent Hansen <kent.hansen@nokia.com> 2504 2505 [Qt] Update Qt bridge after changes to QMetaMethod 2506 https://bugs.webkit.org/show_bug.cgi?id=85478 2507 2508 Reviewed by Tor Arne Vestbø. 2509 2510 QMetaMethod::signature() has been renamed to methodSignature() and 2511 returns a QByteArray. 2512 2513 The new function QMetaMethod::name() gives direct access to a 2514 method's name. returnType(), parameterCount(), and parameterType() 2515 give direct access to type information. 2516 2517 Ported the custom QtConnectionObject meta-object to revision 7; 2518 revision 6 and below aren't supported (and don't compile) with Qt5. 2519 2520 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 2521 (gatherAPI): 2522 25232012-05-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 2524 2525 [Qt] Don't pass viewport-create function to quick_test_main. 2526 https://bugs.webkit.org/show_bug.cgi?id=85478 2527 2528 Reviewed by Csaba Osztrogonác. 2529 2530 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 2531 (main): 2532 25332012-05-04 Csaba Osztrogonác <ossy@webkit.org> 2534 2535 [Qt] Buildfix for newer Qt5 2536 https://bugs.webkit.org/show_bug.cgi?id=85478 2537 2538 Reviewed by Tor Arne Vestbø. 2539 2540 * Shared/qt/ProcessExecutablePathQt.cpp: 2541 (WebKit::executablePath): 2542 * UIProcess/API/qt/qwebiconimageprovider_p.h: 2543 25442012-05-03 Alexis Menard <alexis.menard@openbossa.org> 2545 2546 [Qt] Enable fullscreen API for WebKit2. 2547 https://bugs.webkit.org/show_bug.cgi?id=85498 2548 2549 Reviewed by Simon Hausmann. 2550 2551 Enable the fullscreen API for Qt port. It is only 2552 supported on WebKit2. It adds experimental settings 2553 to enable it and also add two experimental signals so 2554 the API user can react when the fullscreen is requested 2555 (e.g hide the urlbar of a browser and change the state 2556 of the window to be fullscreen). 2557 2558 * UIProcess/API/qt/qquickwebview.cpp: 2559 (QQuickWebViewPrivate::initialize): 2560 * UIProcess/API/qt/qquickwebview_p.h: 2561 * UIProcess/API/qt/qwebpreferences.cpp: 2562 (QWebPreferencesPrivate::testAttribute): 2563 (QWebPreferencesPrivate::setAttribute): 2564 (QWebPreferences::fullScreenEnabled): 2565 (QWebPreferences::setFullScreenEnabled): 2566 * UIProcess/API/qt/qwebpreferences_p.h: 2567 * UIProcess/API/qt/qwebpreferences_p_p.h: 2568 * UIProcess/WebFullScreenManagerProxy.h: 2569 (WebKit): 2570 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 2571 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 2572 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 2573 25742012-05-04 Simon Hausmann <simon.hausmann@nokia.com> 2575 2576 [Qt] Images are scaled badly in WebKit2 2577 https://bugs.webkit.org/show_bug.cgi?id=85610 2578 2579 Reviewed by Jocelyn Turcotte. 2580 2581 Enable smooth pixmap transforms for WK2 bitmaps. 2582 2583 * Shared/qt/ShareableBitmapQt.cpp: 2584 (WebKit::ShareableBitmap::createGraphicsContext): 2585 25862012-05-03 Ojan Vafai <ojan@chromium.org> 2587 2588 Histogram total allocated bytes in the arena in addition to the render tree size 2589 https://bugs.webkit.org/show_bug.cgi?id=85537 2590 2591 Reviewed by Eric Seidel. 2592 2593 * WebProcess/WebPage/WebPage.cpp: 2594 (WebKit::WebPage::renderTreeSize): 2595 25962012-05-03 Raphael Kubo da Costa <rakuco@webkit.org> 2597 2598 [CMake] Rewrite FindCairo.cmake. 2599 https://bugs.webkit.org/show_bug.cgi?id=84895 2600 2601 Reviewed by Daniel Bates. 2602 2603 The old approach relied on pkg-config for finding Cairo (which 2604 introduced a dependency on pkg-config that could be avoided), used 2605 the LibFindMacros code that we should probably remove in the 2606 future and did not use the FindPackageHandleStandardArguments 2607 module. 2608 2609 Change all that by rewriting the module. 2610 - Use the pkg-config output optionally instead of requiring it 2611 like LibFindMacros did. 2612 - Remove the implicit dependency on FreeType which often found it 2613 the wrong way via pkg-config and without considering 2614 CMAKE_PREFIX_PATH. 2615 - Retrieve the Cairo version by looking at cairo-version.h instead 2616 of relying on pkg-config. It requires some additional code for 2617 checking if the desired version has been found, but that will not 2618 be needed once we start depending on CMake 2.8.3 or later. 2619 2620 The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND 2621 instead of <Name>_FOUND, and to keep things consistent 2622 Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES 2623 and CAIRO_INCLUDE_DIRS. 2624 2625 * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO. 2626 26272012-05-03 Tobias Netzel <tobias.netzel@googlemail.com> 2628 2629 Bugs in WebFullScreenController 2630 https://bugs.webkit.org/show_bug.cgi?id=85388 2631 2632 Reviewed by Alexey Proskuryakov. 2633 2634 Leopard specific fixes: 2635 NSWindow doesn't respond to isOnActiveSpace so find out first. 2636 Values passed to SetSystemUIMode were swapped. 2637 2638 * UIProcess/mac/WKFullScreenWindowController.mm: 2639 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): 2640 (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]): 2641 26422012-04-18 Jon Honeycutt <jhoneycutt@apple.com> 2643 2644 WebFrameLoaderClient::dispatchWillSendSubmitEvent() needs to be 2645 implemented for WebKit2 2646 https://bugs.webkit.org/show_bug.cgi?id=84304 2647 2648 Reviewed by Jessie Berlin. 2649 2650 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2651 Declare willSendSubmitEvent on WKBundlePageFormClient. 2652 2653 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 2654 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): 2655 From the String pair vector, create a map from control name to value. 2656 Call the client's willSendSubmitEvent. 2657 2658 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 2659 Declare willSendSubmitEvent. 2660 2661 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2662 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent): 2663 Call the injected bundle form client's willSendSubmitEvent. 2664 2665 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 2666 Un-stub willSendSubmitEvent. 2667 2668 * Shared/APIClientTraits.cpp: 2669 (WebKit): 2670 Set the interface sizes for WKBundlePageFormClient; version 1 includes 2671 willSendSubmitEvent. 2672 2673 * Shared/APIClientTraits.h: 2674 Declare a specialization for WKBundlePageFormClient. 2675 2676 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2677 Bump the WKBundlePageFormClient version number. 2678 26792012-05-03 Fady Samuel <fsamuel@chromium.org> 2680 2681 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport 2682 https://bugs.webkit.org/show_bug.cgi?id=70609 2683 2684 Reviewed by Kenneth Rohde Christiansen. 2685 2686 * UIProcess/API/qt/qwebviewportinfo.cpp: 2687 (QWebViewportInfo::layoutSize): 2688 * WebProcess/WebPage/WebPage.cpp: 2689 (WebKit::WebPage::sendViewportAttributesChanged): 2690 (WebKit::WebPage::viewportConfigurationAsText): 2691 26922012-05-03 Michael Brüning <michael.bruning@nokia.com> 2693 2694 [Qt][WK2] Also update Qt::ImEnabled flag when updating the input method. 2695 https://bugs.webkit.org/show_bug.cgi?id=85495 2696 2697 Reviewed by Simon Hausmann. 2698 2699 QInputMethod only issues a new inputMethodQuery if the Qt::ImEnabled 2700 flag got updated as well. 2701 2702 * UIProcess/qt/QtWebPageEventHandler.cpp: 2703 (WebKit::QtWebPageEventHandler::updateTextInputState): 2704 (WebKit::QtWebPageEventHandler::doneWithGestureEvent): 2705 27062012-05-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> 2707 2708 [Qt] Tap-highlight blinks when activated. 2709 https://bugs.webkit.org/show_bug.cgi?id=85481 2710 2711 Reviewed by Kenneth Rohde Christiansen. 2712 2713 Set the opacity on the page-overlay the first time it is requested to be drawn. Otherwiser 2714 it will start fully opaque before fading in. 2715 2716 * WebProcess/WebPage/PageOverlay.cpp: 2717 (WebKit::PageOverlay::setNeedsDisplay): 2718 27192012-05-03 Kenneth Rohde Christiansen <kenneth@webkit.org> 2720 2721 Document the QML WebViewExperimental API devicePixelRatio. 2722 2723 Rubberstamped by Simon Hausmann. 2724 2725 * UIProcess/API/qt/qquickwebview.cpp: 2726 27272012-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 2728 2729 [Qt] Allow the web process and WTR to be paused on startup 2730 2731 Makes it easier to debug the web process or run-webkit-tests -2, as you 2732 have ample time to attach gdb to the process. 2733 2734 Reviewed by Simon Hausmann. 2735 2736 * WebProcess/qt/WebProcessMainQt.cpp: 2737 (WebKit::WebProcessMainQt): 2738 * qt/MainQt.cpp: 2739 (main): 2740 27412012-05-03 Alexander Færøy <ahf@0x90.dk> 2742 2743 Rename deviceDPI to devicePixelRatio 2744 https://bugs.webkit.org/show_bug.cgi?id=85049 2745 2746 Reviewed by Kenneth Rohde Christiansen. 2747 2748 This patch fixes an API test regression from r115948 in 2749 tst_QQuickWebView::scrollRequest() by setting the device pixel ratio 2750 for the test WebView to 1.5. 2751 2752 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 2753 (tst_QQuickWebView::newWebView): 2754 27552012-05-03 Stephanie Lewis <slewis@apple.com> 2756 2757 https://bugs.webkit.org/show_bug.cgi?id=85450 unbounded growth of JSDOMWindowShells loading pages in the same window 2758 <rdar://problem/11320059> REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run 2759 2760 Reviewed by Brady Eidson. 2761 2762 The API added for DOMWindowExtension, didCreateGlobalObjectForFrame, would create a global object 2763 for every world, even those that did not need the callback. This had the side effect of creating a 2764 JSDOMWindowShell that the associated world didn't necessarily know to clean up. Instead of creating 2765 unnecessary objects change the API to globalObjectIsAvailableForFrame and do not pass the global object 2766 in the API. The object can be accessed later by those worlds which require it. 2767 2768 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2769 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 2770 (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): rename API and remove globalObject parameter 2771 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 2772 (InjectedBundlePageLoaderClient): ditto 2773 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2774 (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): ditto 2775 27762012-05-02 Alexander Færøy <ahf@0x90.dk> 2777 2778 Rename deviceDPI to devicePixelRatio 2779 https://bugs.webkit.org/show_bug.cgi?id=85049 2780 2781 Reviewed by Kenneth Rohde Christiansen. 2782 2783 Add experimental QML API to set and get the device pixel ratio. 2784 2785 * Shared/WebPreferencesStore.h: 2786 (WebKit): 2787 * UIProcess/API/qt/qquickwebview.cpp: 2788 (QQuickWebViewFlickablePrivate::updateViewportSize): 2789 (QQuickWebViewExperimental::devicePixelRatio): 2790 (QQuickWebViewExperimental::setDevicePixelRatio): 2791 * UIProcess/API/qt/qquickwebview_p.h: 2792 * WebProcess/WebPage/WebPage.cpp: 2793 (WebKit::WebPage::sendViewportAttributesChanged): 2794 (WebKit::WebPage::updatePreferences): 2795 27962012-05-02 Jon Lee <jonlee@apple.com> 2797 2798 Migrate permission functions to Notification from NotificationCenter 2799 https://bugs.webkit.org/show_bug.cgi?id=80485 2800 <rdar://problem/10965458> 2801 2802 Reviewed by Jian Li. 2803 2804 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 2805 (WebKit::NotificationPermissionRequestManager::startRequest): Add version to support both kinds of 2806 callbacks. 2807 (WebKit::NotificationPermissionRequestManager::cancelRequest): 2808 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): 2809 * WebProcess/Notifications/NotificationPermissionRequestManager.h: Add another map for new callback type. 2810 (NotificationPermissionRequestManager): 2811 * WebProcess/Notifications/WebNotificationManager.cpp: 2812 (WebKit::WebNotificationManager::show): Add #ifdef to use replaceId() or tag() depending on which feature 2813 has been enabled. In the case where both are enabled, we prefer tag() since that is in the latest spec. 2814 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 2815 (WebKit::WebNotificationClient::requestPermission): 2816 * WebProcess/WebCoreSupport/WebNotificationClient.h: Implement both client functions to request permissions. 2817 28182012-05-02 Sheriff Bot <webkit.review.bot@gmail.com> 2819 2820 Unreviewed, rolling out r115907. 2821 http://trac.webkit.org/changeset/115907 2822 https://bugs.webkit.org/show_bug.cgi?id=85458 2823 2824 It broke all viewport tests on Qt and on GTK (Requested by 2825 Ossy on #webkit). 2826 2827 * UIProcess/API/qt/qwebviewportinfo.cpp: 2828 (QWebViewportInfo::layoutSize): 2829 * WebProcess/WebPage/WebPage.cpp: 2830 (WebKit::WebPage::sendViewportAttributesChanged): 2831 (WebKit::WebPage::viewportConfigurationAsText): 2832 28332012-05-02 Eric Seidel <eric@webkit.org> 2834 2835 Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate) 2836 https://bugs.webkit.org/show_bug.cgi?id=85433 2837 2838 Reviewed by Adam Barth. 2839 2840 I have a script which can autogenerate these xcconfig files as well as the 2841 vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists 2842 from a central feature list file. 2843 In preparation for posting such a tool, I'm re-sorting these xcconfig files to be 2844 alphabetically ordered (currently they're close, but not quite). 2845 There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which 2846 I will fix in a second pass. I will also sort the FEATURE_DEFINES = line in a follow-up patch. 2847 2848 * Configurations/FeatureDefines.xcconfig: 2849 28502012-04-18 Jon Honeycutt <jhoneycutt@apple.com> 2851 2852 FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more 2853 information about the form being submitted 2854 https://bugs.webkit.org/show_bug.cgi?id=84297 2855 2856 Reviewed by Andy Estes. 2857 2858 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 2859 (WebFrameLoaderClient): 2860 Updated method declaration. 2861 2862 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2863 (WebFrameLoaderClient::willSendSubmitEvent): 2864 Stubbed. 2865 28662012-05-01 Jon Honeycutt <jhoneycutt@apple.com> 2867 2868 Make Page::setDefersLoading() have a call count so that each time 2869 loading is deferred, it must be balanced with a call to resume. 2870 https://bugs.webkit.org/show_bug.cgi?id=84522 2871 2872 Reviewed by Andy Estes. 2873 2874 * Shared/WebPreferencesStore.h: 2875 Use the macro to declare the new preference. 2876 2877 * WebProcess/WebPage/WebPage.cpp: 2878 (WebKit::WebPage::updatePreferences): 2879 Set the setting from the WebPreferencesStore's value. 2880 28812012-05-02 Ojan Vafai <ojan@chromium.org> 2882 2883 Add a histogram for rendertree size 2884 https://bugs.webkit.org/show_bug.cgi?id=85226 2885 2886 Reviewed by Eric Seidel. 2887 2888 * WebProcess/WebPage/WebPage.cpp: 2889 (WebKit::WebPage::renderTreeSize): 2890 Move the renderTreeSize code into Page.cpp, so it can be reused. 2891 28922012-05-02 Anders Carlsson <andersca@apple.com> 2893 2894 PDF page does not show up when opened in the background 2895 https://bugs.webkit.org/show_bug.cgi?id=85427 2896 <rdar://problem/11259951> 2897 2898 Reviewed by Sam Weinig. 2899 2900 Ensure that the accelerated hosting view is always the bottom view so it won't obscure subviews that are before it. 2901 2902 * UIProcess/API/mac/WKView.mm: 2903 (-[WKView _enterAcceleratedCompositingMode:]): 2904 29052012-05-02 Fady Samuel <fsamuel@chromium.org> 2906 2907 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport 2908 https://bugs.webkit.org/show_bug.cgi?id=70609 2909 2910 Reviewed by Kenneth Rohde Christiansen. 2911 2912 * UIProcess/API/qt/qwebviewportinfo.cpp: 2913 (QWebViewportInfo::layoutSize): 2914 * WebProcess/WebPage/WebPage.cpp: 2915 (WebKit::WebPage::viewportConfigurationAsText): 2916 29172012-05-02 Emil A Eklund <eae@chromium.org> 2918 2919 Fix usage of layout types in platform code 2920 https://bugs.webkit.org/show_bug.cgi?id=85392 2921 2922 Reviewed by Eric Seidel. 2923 2924 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 2925 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 2926 Use enclosingIntRect to convert visible rect for transform results to 2927 line up with device pixels. 2928 2929 * WebProcess/WebPage/WebPage.cpp: 2930 (WebKit::WebPage::editorState): 2931 Use pixelSnapped rect for editor rect calculation as it represents a 2932 device coordinate. 2933 29342012-05-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 2935 2936 Revert r115191 - "Make the web view's url property follow the active url" 2937 2938 It uncovered/caused issues in the icon-implementation that can't be 2939 easily fixed, so rolling out instead. 2940 2941 https://bugs.webkit.org/show_bug.cgi?id=77554 2942 2943 Rubber-stamped by Simon Hausmann. 2944 2945 * UIProcess/API/qt/qquickwebview.cpp: 2946 (QQuickWebViewPrivate::onComponentComplete): 2947 (QQuickWebView::reload): 2948 (QQuickWebView::url): 2949 (QQuickWebView::setUrl): 2950 (QQuickWebView::loadHtml): 2951 * UIProcess/API/qt/qquickwebview_p.h: 2952 * UIProcess/API/qt/qquickwebview_p_p.h: 2953 (QQuickWebViewPrivate): 2954 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 2955 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 2956 * UIProcess/API/qt/tests/qmltests/WebView.pro: 2957 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 2958 * UIProcess/API/qt/tests/qmltests/common/link.html: Removed. 2959 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed. 2960 * UIProcess/WebPageProxy.cpp: 2961 (WebKit::WebPageProxy::activeURL): 2962 * UIProcess/qt/QtWebPageLoadClient.cpp: 2963 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient): 2964 (WebKit::QtWebPageLoadClient::didCommitLoad): 2965 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation): 2966 (WebKit::QtWebPageLoadClient::dispatchLoadFailed): 2967 (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 2968 (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame): 2969 * UIProcess/qt/QtWebPageLoadClient.h: 2970 (QtWebPageLoadClient): 2971 29722012-05-02 Anders Carlsson <andersca@apple.com> 2973 2974 When viewing a PDF, the Safari Status Bar shows other text 2975 https://bugs.webkit.org/show_bug.cgi?id=85395 2976 <rdar://problem/11297250> 2977 2978 Reviewed by Beth Dakin. 2979 2980 Set the layer contents placement for the WKView so that its layer will get masksToBounds set. 2981 2982 * UIProcess/API/mac/WKView.mm: 2983 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 2984 29852012-05-02 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> 2986 2987 Unreviewed. Build fix for Qt port on mac. 2988 2989 * UIProcess/API/qt/qwebnavigationhistory_p.h: 2990 29912012-05-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 2992 2993 Make ShareableSurface's ref-counting thread-safe 2994 2995 Fixes assert when threaded rendering is enabled for the Qt scene-graph. 2996 2997 https://bugs.webkit.org/show_bug.cgi?id=85381 2998 2999 Reviewed by Noam Rosenthal. 3000 3001 * Shared/ShareableSurface.h: 3002 30032012-05-02 No'am Rosenthal <noam.rosenthal@nokia.com> 3004 3005 [Texmap] Enable css filters in TextureMapperGL 3006 https://bugs.webkit.org/show_bug.cgi?id=75778 3007 3008 Add the plumbing in the ui-side compositing code in Qt to support filters. 3009 Serialize the filter operations for a layer when it's changed. 3010 3011 Reviewed by Jocelyn Turcotte. 3012 3013 * Shared/WebCoreArgumentCoders.cpp: 3014 (CoreIPC): 3015 (CoreIPC::::encode): 3016 (CoreIPC::::decode): 3017 * Shared/WebCoreArgumentCoders.h: 3018 (WebCore): 3019 * UIProcess/LayerTreeHostProxy.cpp: 3020 (WebKit): 3021 (WebKit::LayerTreeHostProxy::setCompositingLayerFilters): 3022 * UIProcess/LayerTreeHostProxy.h: 3023 (LayerTreeHostProxy): 3024 * UIProcess/LayerTreeHostProxy.messages.in: 3025 * UIProcess/WebLayerTreeRenderer.cpp: 3026 (WebKit): 3027 (WebKit::WebLayerTreeRenderer::setLayerFilters): 3028 * UIProcess/WebLayerTreeRenderer.h: 3029 (WebLayerTreeRenderer): 3030 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 3031 (WebCore): 3032 (WebCore::WebGraphicsLayer::didChangeFilters): 3033 (WebCore::WebGraphicsLayer::setFilters): 3034 (WebCore::WebGraphicsLayer::syncFilters): 3035 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 3036 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 3037 (WebGraphicsLayerClient): 3038 (WebGraphicsLayer): 3039 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 3040 (WebKit): 3041 (WebKit::LayerTreeHostQt::syncLayerFilters): 3042 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 3043 (LayerTreeHostQt): 3044 30452012-05-02 Simon Hausmann <simon.hausmann@nokia.com> 3046 3047 [Qt] Fix vkb showing incorrect flags/keys when content changes 3048 3049 Reviewed by Tor Arne Vestbø. 3050 3051 When the editor state changes we have to inform the input method about changed 3052 properties so that it can issue a new input method query. Otherwise it may use old values 3053 from other QQuickItems or other incorrectly initialized data. 3054 3055 Also use isActiveFocus() instead of hasFocus() to detect whether we're actively focused. 3056 This is also what QQuick uses internally to determine whether it can make calls to the input method 3057 or not. 3058 3059 * UIProcess/qt/QtWebPageEventHandler.cpp: 3060 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged): 3061 (WebKit::QtWebPageEventHandler::updateTextInputState): 3062 (WebKit::QtWebPageEventHandler::doneWithGestureEvent): 3063 30642012-05-02 Kenneth Rohde Christiansen <kenneth@webkit.org> 3065 3066 [Qt] Add initial QML documentation 3067 https://bugs.webkit.org/show_bug.cgi?id=85370 3068 3069 Reviewed by Simon Hausmann. 3070 3071 Add initial documentation which also serves as an example on how it 3072 should be done. 3073 3074 * UIProcess/API/qt/qquickwebview.cpp: 3075 * UIProcess/API/qt/qwebloadrequest.cpp: 3076 30772012-05-02 Zalan Bujtas <zbujtas@gmail.com> 3078 3079 [Qt][WK2] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions() 3080 https://bugs.webkit.org/show_bug.cgi?id=84241 3081 3082 Reviewed by Kenneth Rohde Christiansen. 3083 3084 Add ASSERT to ensure at least one viewport argument change call is dispatched to WebPage per main frame. 3085 3086 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3087 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 3088 30892012-05-02 Lars Knudsen <lars.knudsen@nokia.com> 3090 3091 [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2 3092 https://bugs.webkit.org/show_bug.cgi?id=64595 3093 3094 Reviewed by Kenneth Rohde Christiansen. 3095 3096 Adding support for DeviceOrientation in WK2 WebPage 3097 3098 * Target.pri: 3099 * WebProcess/WebPage/WebPage.cpp: 3100 (WebKit::WebPage::WebPage): 3101 31022012-05-02 Zalan Bujtas <zbujtas@gmail.com> 3103 3104 [Qt][WK2] Minibrowser's progress bar should reset when WebProcess crashes while loading. 3105 https://bugs.webkit.org/show_bug.cgi?id=84445 3106 3107 Reviewed by Jocelyn Turcotte. 3108 3109 Progress value needs resetting, when WebProcess crashes. 3110 This patch moves crash logic for loading to QtWebPageLoadClient. It 3111 also simplifies the callback function names in QtWebPageLoadClient, as they 3112 all valid only for main frames. 3113 3114 * UIProcess/API/qt/qquickwebview.cpp: 3115 (QQuickWebViewPrivate::QQuickWebViewPrivate): 3116 (QQuickWebViewPrivate::processDidCrash): 3117 (QQuickWebViewFlickablePrivate::loadDidSucceed): 3118 * UIProcess/API/qt/qquickwebview_p_p.h: 3119 (QQuickWebViewPrivate::didChangeViewportProperties): 3120 (QQuickWebViewPrivate): 3121 * UIProcess/qt/QtWebPageLoadClient.cpp: 3122 (WebKit::QtWebPageLoadClient::QtWebPageLoadClient): 3123 (WebKit::QtWebPageLoadClient::completeLoadWhenProcessDidCrashIfNeeded): 3124 (WebKit): 3125 (WebKit::QtWebPageLoadClient::didStartProvisionalLoad): 3126 (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoad): 3127 (WebKit::QtWebPageLoadClient::didCommitLoad): 3128 (WebKit::QtWebPageLoadClient::didSameDocumentNavigation): 3129 (WebKit::QtWebPageLoadClient::didReceiveTitle): 3130 (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayout): 3131 (WebKit::QtWebPageLoadClient::didStartProvisionalLoadForFrame): 3132 (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame): 3133 (WebKit::QtWebPageLoadClient::didCommitLoadForFrame): 3134 (WebKit::QtWebPageLoadClient::didSameDocumentNavigationForFrame): 3135 (WebKit::QtWebPageLoadClient::didReceiveTitleForFrame): 3136 (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame): 3137 * UIProcess/qt/QtWebPageLoadClient.h: 3138 (WebKit): 3139 (QtWebPageLoadClient): 3140 31412012-05-02 Simon Hausmann <simon.hausmann@nokia.com> 3142 3143 [Qt] QQuickWebView does not allow for input from virtual keyboard 3144 https://bugs.webkit.org/show_bug.cgi?id=85350 3145 3146 Reviewed by Kenneth Christiansen. 3147 3148 It is necessary to set the ItemAcceptsInputMethod flag on the QQuickWebView if we have editable 3149 content, in order for the input method to recognize that we can handle input method events. 3150 3151 Analyzed by Michael Brüning. 3152 3153 * UIProcess/API/qt/qquickwebview.cpp: Add simple hook for executing JS as private C++ API. 3154 (JSCallbackClosure): 3155 (javaScriptCallback): 3156 (QQuickWebView::runJavaScriptInMainFrame): 3157 * UIProcess/API/qt/qquickwebview_p.h: 3158 * UIProcess/API/qt/tests/html/inputmethod.html: Added. 3159 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 3160 (tst_QQuickWebView): 3161 (tst_QQuickWebView::runJavaScript): Simple helper for running JS. 3162 (tst_QQuickWebView::inputMethod): Added simple test for ItemAcceptsInputMethod toggling. 3163 * UIProcess/qt/QtWebPageEventHandler.cpp: 3164 (WebKit::QtWebPageEventHandler::updateTextInputState): Set ItemAcceptsInputMethod as soon as we 3165 have editable content. 3166 31672012-05-01 Anders Carlsson <andersca@apple.com> 3168 3169 inspectorReallyUsesWebKitUserInterface should be more robust against missing files 3170 https://bugs.webkit.org/show_bug.cgi?id=85327 3171 <rdar://problem/11332864> 3172 3173 Reviewed by Timothy Hatcher. 3174 3175 * UIProcess/mac/WebInspectorProxyMac.mm: 3176 (WebKit::inspectorReallyUsesWebKitUserInterface): 3177 * WebProcess/WebPage/mac/WebInspectorMac.mm: 3178 (WebKit::inspectorReallyUsesWebKitUserInterface): 3179 31802012-05-01 Jeffrey Pfau <jpfau@apple.com> 3181 3182 <rdar://problem/10422318> Support for web content filter delegate for filtering https content 3183 https://bugs.webkit.org/show_bug.cgi?id=85300 3184 3185 Reviewed by Alexey Proskuryakov. 3186 3187 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 3188 (InitWebCoreSystemInterface): 3189 31902012-05-01 Ryosuke Niwa <rniwa@webkit.org> 3191 3192 *Command.h files shouldn't be exported to WebKit layer 3193 https://bugs.webkit.org/show_bug.cgi?id=74778 3194 3195 Reviewed by Eric Seidel. 3196 3197 * WebProcess/WebPage/WebPage.cpp: 3198 31992012-05-01 Anders Carlsson <andersca@apple.com> 3200 3201 Use the new barrier function in TiledCoreAnimationDrawingArea::forceRepaintAsync 3202 https://bugs.webkit.org/show_bug.cgi?id=85313 3203 <rdar://problem/10996039> 3204 3205 Reviewed by Sam Weinig. 3206 3207 Use the new dispatchAfterEnsuringUpdatedScrollPosition function in forceRepaintAsync to 3208 ensure that the scroll position is up to date. 3209 3210 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3211 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync): 3212 32132012-05-01 Kenneth Rohde Christiansen <kenneth@webkit.org> 3214 3215 [Qt] Add an experimental extension to set the min. contents width 3216 https://bugs.webkit.org/show_bug.cgi?id=85281 3217 3218 Reviewed by Antonio Gomes. 3219 3220 Add the experimental property preferredMinimumContentsWidth: which 3221 can be used to set the minimum contents width when not overriden by 3222 the page itself. 3223 3224 Default value is set to 0, which defines normal [desktop] behaviour. 3225 3226 * Shared/WebPreferencesStore.h: 3227 (WebKit): 3228 * UIProcess/API/qt/qquickwebview.cpp: 3229 (QQuickWebViewExperimental::preferredMinimumContentsWidth): 3230 (QQuickWebViewExperimental::setPreferredMinimumContentsWidth): 3231 * UIProcess/API/qt/qquickwebview_p.h: 3232 32332012-05-01 Kenneth Rohde Christiansen <kenneth@webkit.org> 3234 3235 [Qt] Stop repeating timers which should only fire once 3236 https://bugs.webkit.org/show_bug.cgi?id=85277 3237 3238 Reviewed by Antonio Gomes. 3239 3240 The TapGestureRecognizer uses QBasicTimers which are 3241 repeating timers, so stop then when they fire. 3242 3243 * UIProcess/qt/QtTapGestureRecognizer.cpp: 3244 (WebKit::QtTapGestureRecognizer::highlightTimeout): 3245 (WebKit::QtTapGestureRecognizer::singleTapTimeout): 3246 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 3247 32482012-04-30 Anders Carlsson <andersca@apple.com> 3249 3250 Crash when opening plug-ins in background tabs 3251 https://bugs.webkit.org/show_bug.cgi?id=85255 3252 <rdar://problem/11344053> 3253 3254 Reviewed by Dan Bernstein. 3255 3256 * PluginProcess/mac/PluginControllerProxyMac.mm: 3257 (WebKit::PluginControllerProxy::setLayerHostingMode): 3258 m_layerHostingContext can be null for plug-ins that don't use the Core Animation drawing model, so check for that. 3259 32602012-04-30 Yael Aharon <yael.aharon@nokia.com> 3261 3262 [Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error. 3263 https://bugs.webkit.org/show_bug.cgi?id=84306 3264 3265 Reviewed by Noam Rosenthal. 3266 3267 When zooming, we need to be careful about how to convert the visible rect from float to int. 3268 Using toAlignedRect can produce inconsistent width and height when we are scrolling. 3269 This patch carefully modifies each piece of the visible rect, to avoid such rounding errors. 3270 In addition, the TransformationMatrix we use for painting, needs to be adjusted for the same rounding error. 3271 3272 * UIProcess/API/qt/qquickwebview.cpp: 3273 (QQuickWebViewPrivate::visibleContentsRect): 3274 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged): 3275 * UIProcess/DrawingAreaProxy.h: 3276 (WebCore): 3277 (WebKit::DrawingAreaProxy::setVisibleContentsRect): 3278 * UIProcess/DrawingAreaProxyImpl.cpp: 3279 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect): 3280 * UIProcess/DrawingAreaProxyImpl.h: 3281 (DrawingAreaProxyImpl): 3282 * UIProcess/LayerTreeHostProxy.cpp: 3283 (WebKit::LayerTreeHostProxy::setVisibleContentsRect): 3284 * UIProcess/LayerTreeHostProxy.h: 3285 (LayerTreeHostProxy): 3286 * UIProcess/WebLayerTreeRenderer.cpp: 3287 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 3288 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect): 3289 * UIProcess/WebLayerTreeRenderer.h: 3290 (WebLayerTreeRenderer): 3291 32922012-04-30 Anders Carlsson <andersca@apple.com> 3293 3294 ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position 3295 https://bugs.webkit.org/show_bug.cgi?id=85240 3296 <rdar://problem/11286609> 3297 3298 Reviewed by Sam Weinig. 3299 3300 The find machinery should cope with asynchronous scroll position updates. 3301 3302 * WebProcess/WebPage/FindController.cpp: 3303 (WebKit::FindController::updateFindUIAfterPageScroll): 3304 Split the code that handles updating the find indicator and find overlay out into a separate function. 3305 3306 (WebKit::FindController::findString): 3307 Call updateFindUIAfterPageScroll once we know that the scroll position has been updated. 3308 33092012-04-30 Anders Carlsson <andersca@apple.com> 3310 3311 Add a way to asynchronously call a function once the scroll position of a page has been updated 3312 https://bugs.webkit.org/show_bug.cgi?id=85237 3313 3314 Reviewed by Sam Weinig. 3315 3316 Add DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition, which will call the given function object after 3317 making sure that the scroll position has been updated correctly. This is important for TiledCoreAnimationDrawingArea, 3318 which updates the scrolling position asynchronously. 3319 3320 * WebProcess/WebPage/DrawingArea.cpp: 3321 (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 3322 Since scroll position updates are synchronous by default, just call function directly. 3323 3324 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3325 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 3326 Commit the layer tree state and then use ScrollingThread::dispatchBarrier to make sure that the function is called when any 3327 scroll position changes have been made. If possible, freeze the layer tree to make sure that the update is atomic. 3328 33292012-04-30 Anders Carlsson <andersca@apple.com> 3330 3331 Fix ALL the build failures! 3332 3333 * UIProcess/API/mac/WKView.mm: 3334 (-[WKView WebKit::]): 3335 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 3336 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 3337 33382012-04-30 Anders Carlsson <andersca@apple.com> 3339 3340 Build fix. 3341 3342 * Shared/DrawingAreaInfo.h: 3343 33442012-04-30 Emil A Eklund <eae@chromium.org> 3345 3346 [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code 3347 https://bugs.webkit.org/show_bug.cgi?id=85222 3348 3349 Reviewed by Eric Seidel. 3350 3351 Update platform code to use the pixel snapped values for painting rects 3352 to line up with device pixels and change platform specific hit testing 3353 code to use roundedPoint as hit testing is still mostly done on integer 3354 bounds. 3355 3356 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 3357 (WebKit::WebPopupMenu::setUpPlatformData): 3358 33592012-04-30 Anders Carlsson <andersca@apple.com> 3360 3361 Put all of TiledCoreAnimationDrawingArea in #if ENABLE(THREADED_SCROLLING) 3362 https://bugs.webkit.org/show_bug.cgi?id=85232 3363 3364 Reviewed by Sam Weinig. 3365 3366 Stop pretending that TiledCoreAnimationDrawingArea works without threaded scrolling. 3367 3368 * WebProcess/WebPage/DrawingArea.cpp: 3369 (WebKit::DrawingArea::create): 3370 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 3371 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 3372 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 3373 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 3374 (WebKit::dispatchBackToMainThread): 3375 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync): 3376 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 3377 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 3378 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 3379 33802012-04-30 Benjamin Poulain <benjamin@webkit.org> 3381 3382 Add String::startsWith() and endsWith() for string literals 3383 https://bugs.webkit.org/show_bug.cgi?id=85154 3384 3385 Reviewed by Darin Adler. 3386 3387 Update WebKit2 to use String::endsWith(UChar). 3388 3389 * UIProcess/Plugins/PluginInfoStore.cpp: 3390 (WebKit::pathExtension): 3391 33922012-04-30 Alexey Proskuryakov <ap@apple.com> 3393 3394 Validate keypress command names 3395 https://bugs.webkit.org/show_bug.cgi?id=85204 3396 <rdar://problem/11249368> 3397 3398 Reviewed by Darin Adler. 3399 3400 * UIProcess/API/mac/WKView.mm: 3401 (-[WKView doCommandBySelector:]): 3402 (-[WKView insertText:replacementRange:]): 3403 * UIProcess/WebPageProxy.h: 3404 (WebKit::WebPageProxy::registerKeypressCommandName): 3405 (WebKit::WebPageProxy::isValidKeypressCommandName): 3406 * UIProcess/mac/WebPageProxyMac.mm: 3407 (WebKit::WebPageProxy::executeSavedCommandBySelector): 3408 34092012-04-30 Mario Sanchez Prada <msanchez@igalia.com> 3410 3411 [GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+ 3412 https://bugs.webkit.org/show_bug.cgi?id=78491 3413 3414 Reviewed by Martin Robinson. 3415 3416 Add a new public class to the API, WebKitFileChooserRequest, to be 3417 emitted along with a new WebKitWebView::run-file-chooser signal to 3418 let client applications to provide their own file chooser dialog 3419 when the use interacts with HTML Input elements of type 'file'. 3420 3421 * GNUmakefile.am: Added new source files and headers. 3422 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added. 3423 (_WebKitFileChooserRequestPrivate): 3424 (webkit_file_chooser_request_init): 3425 (webkitFileChooserRequestFinalize): 3426 (webkitFileChooserRequestGetProperty): 3427 (webkit_file_chooser_request_class_init): 3428 (webkitFileChooserRequestCreate): 3429 (webkit_file_chooser_request_get_mime_types): 3430 (webkit_file_chooser_request_get_mime_types_filter): 3431 (webkit_file_chooser_request_get_select_multiple): 3432 (webkit_file_chooser_request_select_files): 3433 (webkit_file_chooser_request_get_selected_files): 3434 (webkit_file_chooser_request_cancel): 3435 * UIProcess/API/gtk/WebKitFileChooserRequest.h: Added. 3436 (_WebKitFileChooserRequest): 3437 (_WebKitFileChooserRequestClass): 3438 * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added, 3439 containing the prototype of webkitFileChooserRequestCreate. 3440 3441 Provide private API to make a file chooser request from the 3442 WebView, and provide a default handler for it. 3443 3444 * UIProcess/API/gtk/WebKitWebView.cpp: 3445 (fileChooserDialogResponseCallback): Handler for the 'response' 3446 signal for the GtkFileChooserDialog used in the default 3447 handler. It will call to webkit_file_chooser_request_select_files 3448 or webkit_file_chooser_request_cancel as needed. 3449 (webkitWebViewRunFileChooser): Default handler for the new 3450 'run-file-chooser' signal. It will create a GtkFileChooserDialog, 3451 connect to the 'response' signal and show it. 3452 (webkit_web_view_class_init): Connect the 'run-file-chooser' 3453 signal to the default handler, webkitWebViewRunFileChooser. 3454 (webkitWebViewRunFileChooserRequest): 3455 * UIProcess/API/gtk/WebKitWebView.h: 3456 (_WebKitWebViewClass): Added prototype for the handler of the new 3457 'run-file-chooser' signal. 3458 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for 3459 private new function webkitWebViewRunFileChooserRequest. 3460 3461 Provide an implementation for runOpenPanel in WebKitUIClient. 3462 3463 * UIProcess/API/gtk/WebKitUIClient.cpp: 3464 (runOpenPanel): New, implements runOpenPanel by creating an 3465 instance of WebKitFileChooserRequest and asking the WebView to 3466 emit the 'run-file-chooser' signal with it. 3467 (attachUIClientToView): Reference the new runOpenPanel function. 3468 3469 Added the new publich header to the main header. 3470 3471 * UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h. 3472 3473 New unit tests for the new WebKitFileChooserRequest API. Also, 3474 extended the WebViewTest class to allow simulating mouse clicks. 3475 3476 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 3477 (checkMimeTypeForFilter): New, checks whether a GtkFileFilter 3478 filters a given MIME type, as specified by RFC 2046. 3479 (testWebViewFileChooserRequest): New unit test. 3480 (beforeAll): Add the new unit test as an UIClientTest. 3481 3482 * UIProcess/API/gtk/tests/WebViewTest.cpp: 3483 (WebViewTest::clickMouseButton): New public function to simulate a 3484 mouse click through GdkEvents, as the combination of a 'press' and 3485 a 'release' event. Used from the new unit test to simulate the 3486 user pressing in the button rendered for a HTML Input element. 3487 (WebViewTest::executeMouseButtonEvent): New private function to 3488 simulate a mouse event through GdkEvents. 3489 * UIProcess/API/gtk/tests/WebViewTest.h: 3490 3491 Updated documentation related files with the new API. 3492 3493 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API. 3494 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section. 3495 * UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function. 3496 34972012-04-28 Yury Semikhatsky <yurys@chromium.org> 3498 3499 Unreviewed. Added new exported symbols after r115553. 3500 3501 * win/WebKit2.def: 3502 * win/WebKit2CFLite.def: 3503 35042012-04-27 Geoffrey Garen <ggaren@apple.com> 3505 3506 Made WeakSet::allocate() static and removed its JSGlobalData argument 3507 https://bugs.webkit.org/show_bug.cgi?id=85128 3508 3509 Reviewed by Anders Carlsson. 3510 3511 Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation. 3512 3513 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 3514 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 3515 35162012-04-27 Yael Aharon <yael.aharon@nokia.com> 3517 3518 [Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext 3519 https://bugs.webkit.org/show_bug.cgi?id=85088 3520 3521 Reviewed by Noam Rosenthal. 3522 3523 Remove the call to syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext, 3524 since it was moved to QQuickWebPage::updatePaintNode. 3525 To make sure that we always sync before painting, this patch also calls page->update() 3526 when the viewport changes. 3527 3528 * UIProcess/API/qt/qquickwebview.cpp: 3529 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged): 3530 * UIProcess/WebLayerTreeRenderer.cpp: 3531 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 3532 35332012-04-27 Gavin Peters <gavinp@chromium.org> 3534 3535 Add new ENABLE_LINK_PRERENDER define to control the Prerendering API 3536 https://bugs.webkit.org/show_bug.cgi?id=84871 3537 3538 Reviewed by Adam Barth. 3539 3540 Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering 3541 API separates it from prefetching. Having separate include guards lets ports enable prefetching, 3542 a relatively easy change, without needing to build the infrastructure for prerendering, which 3543 is considerably more complicated. 3544 35452012-04-27 Yael Aharon <yael.aharon@nokia.com> 3546 3547 [Qt][WK2] setVisibleContentsRect is not thread safe 3548 https://bugs.webkit.org/show_bug.cgi?id=85060 3549 3550 Reviewed by Noam Rosenthal. 3551 3552 Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead. 3553 3554 * UIProcess/LayerTreeHostProxy.cpp: 3555 (WebKit::LayerTreeHostProxy::setVisibleContentsRect): 3556 35572012-04-26 Carlos Garcia Campos <cgarcia@igalia.com> 3558 3559 [SOUP] Add a way to register custom uri schemes in WebKit2 3560 https://bugs.webkit.org/show_bug.cgi?id=84130 3561 3562 Reviewed by Martin Robinson. 3563 3564 * GNUmakefile.am: Add new files to compilation. 3565 * Platform/CoreIPC/MessageID.h: Add 3566 MessageClassWebSoupRequestManager and 3567 MessageClassWebSoupRequestManagerProxy message types to identify 3568 WebSoupRequestManager messages. 3569 * Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with 3570 soup network backend. 3571 * Shared/API/c/soup/WKBaseSoup.h: Added. 3572 * Shared/APIObject.h: Add SoupRequestManager type when using soup. 3573 * UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when 3574 building with soup network backend. 3575 * UIProcess/API/C/soup/WKAPICastSoup.h: Added. 3576 (WebKit): Map WKSoupRequestManagerRef to 3577 WebSoupRequestManagerProxy. 3578 * UIProcess/API/C/soup/WKContextSoup.cpp: Added. 3579 (WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef 3580 associated to the context. 3581 * UIProcess/API/C/soup/WKContextSoup.h: Added. 3582 * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added. 3583 (WKSoupRequestManagerGetTypeID): Return the 3584 WebSoupRequestManagerProxy API type. 3585 (WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient. 3586 (WKSoupRequestManagerRegisterURIScheme): Call 3587 WebSoupRequestManagerProxy::registerURIScheme(). 3588 (WKSoupRequestManagerHandleURIRequest): Call 3589 WebSoupRequestManagerProxy::handleURIRequest(). 3590 * UIProcess/API/C/soup/WKSoupRequestManager.h: Added. 3591 * UIProcess/WebContext.cpp: 3592 (WebKit::WebContext::WebContext): Initialize 3593 m_soupRequestManagerProxy when using soup. 3594 (WebKit::WebContext::~WebContext): Invalidate and clear the 3595 m_soupRequestManagerProxy when using soup. 3596 (WebKit::WebContext::disconnectProcess): Invalidate the 3597 m_soupRequestManagerProxy when using soup. 3598 (WebKit::WebContext::didReceiveMessage): Forward the message to 3599 m_soupRequestManagerProxy if it's a 3600 MessageClassWebSoupRequestManagerProxy message. 3601 * UIProcess/WebContext.h: 3602 (WebKit::WebContext::soupRequestManagerProxy): Return 3603 m_soupRequestManagerProxy. 3604 * UIProcess/WebProcessProxy.cpp: 3605 (WebKit::WebProcessProxy::didReceiveMessage): Forward message to 3606 the web context if it's a MessageClassWebSoupRequestManagerProxy 3607 message. 3608 * UIProcess/soup/WebSoupRequestManagerClient.cpp: Added. 3609 (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call 3610 didReceiveURIRequest callback if it has an implementation. 3611 * UIProcess/soup/WebSoupRequestManagerClient.h: Added. 3612 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added. 3613 (WebKit::WebSoupRequestManagerProxy::create): Create a new 3614 WebSoupRequestManagerProxy. 3615 (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy): 3616 (WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy): 3617 (WebKit::WebSoupRequestManagerProxy::invalidate): 3618 (WebKit::WebSoupRequestManagerProxy::initializeClient): 3619 (WebKit::WebSoupRequestManagerProxy::didReceiveMessage): 3620 (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send 3621 RegisterURIScheme message to the WebProcess to register the given 3622 URI scheme. 3623 (WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send 3624 HandleURIRequest message to the WebProcess with the given data and 3625 data type. 3626 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call 3627 didReceiveURIRequest callback to allow the user to handle the 3628 request. 3629 * UIProcess/soup/WebSoupRequestManagerProxy.h: Added. 3630 * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added. 3631 * WebProcess/WebProcess.cpp: 3632 (WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager 3633 when using soup. 3634 (WebKit::WebProcess::didReceiveMessage): Forward the message to 3635 m_soupRequestManager if it's a MessageClassWebSoupRequestManager 3636 message. 3637 * WebProcess/WebProcess.h: 3638 (WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager. 3639 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added. 3640 (webkitSoupRequestGenericFinalize): 3641 (webkit_soup_request_generic_init): 3642 (webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult 3643 to handle the request and pass it to the WebSoupRequestManager. 3644 (webkitSoupRequestGenericSendFinish): Finish the async operation 3645 started by webkitSoupRequestGenericSendAsync() and return the 3646 contents of the request as returned by WebSoupRequestManager. 3647 (webkitSoupRequestGenericGetContentLength): Get the request 3648 contents length. 3649 (webkitSoupRequestGenericGetContentType): Get the request mime 3650 type. 3651 (webkit_soup_request_generic_class_init): 3652 (webkitSoupRequestGenericSetContentLength): Set the request 3653 contents length. 3654 (webkitSoupRequestGenericSetContentType): Set the request mime 3655 type. 3656 * WebProcess/soup/WebKitSoupRequestGeneric.h: Added. 3657 * WebProcess/soup/WebSoupRequestManager.cpp: Added. 3658 (WebKit::generateSoupRequestID): Helper function to generate a 3659 unique request identifier. 3660 (WebKit::WebSoupRequestManager::WebSoupRequestManager): 3661 (WebKit::WebSoupRequestManager::~WebSoupRequestManager): 3662 (WebKit::WebSoupRequestManager::didReceiveMessage): 3663 (WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme 3664 to the schemes array and add a new WebKitSoupRequestGeneric 3665 feature with the new scheme list to the SoupRequester feature. 3666 (WebKit::WebSoupRequestManager::handleURIRequest): Complete the 3667 async operation by creating a GInputStream with the request data, 3668 or setting an error in case of failure. 3669 (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest 3670 message to the UI process. 3671 (WebKit::WebSoupRequestManager::finish): Return the GInputStream 3672 containing the request data. 3673 * WebProcess/soup/WebSoupRequestManager.h: Added. 3674 * WebProcess/soup/WebSoupRequestManager.messages.in: Added. 3675 36762012-04-26 No'am Rosenthal <noam.rosenthal@nokia.com> 3677 3678 [Qt][WK2] A GraphicsSurface instance is created with every update 3679 https://bugs.webkit.org/show_bug.cgi?id=85014 3680 3681 Reviewed by Kenneth Rohde Christiansen. 3682 3683 Keep a copy of the GraphicsSurface in the UI process, and reuse it for 3684 subsequent updates. This ensure that the texture and other data associated 3685 with the GraphicsSurface does not need to be reconstructed. 3686 3687 * Shared/ShareableSurface.h: 3688 (Handle): 3689 (WebKit::ShareableSurface::Handle::graphicsSurfaceToken): 3690 * UIProcess/LayerTreeHostProxy.cpp: 3691 (WebKit::LayerTreeHostProxy::updateTileForLayer): 3692 * UIProcess/LayerTreeHostProxy.h: 3693 (LayerTreeHostProxy): 3694 36952012-04-26 Martin Robinson <mrobinson@igalia.com> 3696 3697 [Cairo] Wrap cairo surfaces in a class when storing native images 3698 https://bugs.webkit.org/show_bug.cgi?id=83611 3699 3700 Reviewed by Alejandro G. Castro. 3701 3702 * Shared/gtk/ArgumentCodersGtk.cpp: Updated to reflect the addition of NativeImageCairo. 3703 37042012-04-26 Jon Lee <jonlee@apple.com> 3705 3706 [WK2] AlternativeTextClient leaks when the page is destroyed 3707 https://bugs.webkit.org/show_bug.cgi?id=84307 3708 <rdar://problem/11328431> 3709 3710 Reviewed by Enrica Casucci. 3711 3712 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient. 3713 (WebAlternativeTextClient): 3714 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: 3715 (WebKit::WebAlternativeTextClient::pageDestroyed): Deletes itself. 3716 37172012-04-26 Jer Noble <jer.noble@apple.com> 3718 3719 Full Screen mode does not preserve CALayer ordering after exiting. 3720 https://bugs.webkit.org/show_bug.cgi?id=83931 3721 3722 Reviewed by Eric Carlson. 3723 3724 Further corrections to r114567. When swapping view for otherView, give the correct 3725 relative view to -[NSView addSubview:positioned:relativeTo:]. 3726 3727 * UIProcess/mac/WKFullScreenWindowController.mm: 3728 (-[WKFullScreenWindowController _swapView:with:]): 3729 37302012-04-25 Jer Noble <jer.noble@apple.com> 3731 3732 Placeholder view is immediately removed from hosting window upon entering full screen. 3733 https://bugs.webkit.org/show_bug.cgi?id=84916 3734 3735 Reviewed by Darin Adler. 3736 3737 Correct a mistake added in r114567. When swapping view for otherView, add otherView and 3738 remove view (rather than adding otherView and removing otherView). 3739 3740 * UIProcess/mac/WKFullScreenWindowController.mm: 3741 (-[WKFullScreenWindowController _swapView:with:]): 3742 37432012-04-26 Carlos Garcia Campos <cgarcia@igalia.com> 3744 3745 [GTK] Build and run TestWebKitAPI WebKit2 unit tests 3746 https://bugs.webkit.org/show_bug.cgi?id=84446 3747 3748 Reviewed by Philippe Normand. 3749 3750 * UIProcess/API/C/WKNativeEvent.h: Define WKNativeEventPtr as 3751 GdkEvent for the GTK+ port. 3752 37532012-04-26 Andras Becsi <andras.becsi@nokia.com> 3754 3755 [Qt][WK2] Tap highlight should have a delay not to interfere with panning 3756 https://bugs.webkit.org/show_bug.cgi?id=84948 3757 3758 Reviewed by Kenneth Rohde Christiansen. 3759 3760 Start the tap highlight animation after a slight delay so that pan 3761 gestures do not result in flashing highlight rects which slow down 3762 flicking, especially during continuous pan gestures. 3763 3764 * UIProcess/qt/QtTapGestureRecognizer.cpp: 3765 (WebKit::QtTapGestureRecognizer::update): 3766 (WebKit::QtTapGestureRecognizer::highlightTimeout): 3767 (WebKit): 3768 (WebKit::QtTapGestureRecognizer::reset): 3769 (WebKit::QtTapGestureRecognizer::timerEvent): 3770 * UIProcess/qt/QtTapGestureRecognizer.h: 3771 (QtTapGestureRecognizer): 3772 * UIProcess/qt/QtWebPageEventHandler.cpp: 3773 (WebKit::QtWebPageEventHandler::doneWithTouchEvent): 3774 37752012-04-26 Lars Knudsen <lars.knudsen@nokia.com> 3776 3777 Make it possible to use accelerated compositing for page overlay fading 3778 https://bugs.webkit.org/show_bug.cgi?id=82336 3779 3780 Reviewed by Noam Rosenthal. 3781 3782 Page overlay fading will use AC where possible. Otherwise, it will 3783 fall back to the previous method of redrawing each frame in the animation. 3784 3785 * WebProcess/WebPage/DrawingArea.h: 3786 (WebKit::DrawingArea::setPageOverlayOpacity): 3787 (DrawingArea): 3788 (WebKit::DrawingArea::pageOverlayShouldApplyFadeWhenPainting): 3789 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3790 (WebKit::DrawingAreaImpl::setPageOverlayOpacity): 3791 (WebKit): 3792 (WebKit::DrawingAreaImpl::pageOverlayShouldApplyFadeWhenPainting): 3793 * WebProcess/WebPage/DrawingAreaImpl.h: 3794 (DrawingAreaImpl): 3795 * WebProcess/WebPage/LayerTreeHost.h: 3796 (WebKit::LayerTreeHost::setPageOverlayOpacity): 3797 (WebKit::LayerTreeHost::pageOverlayShouldApplyFadeWhenPainting): 3798 * WebProcess/WebPage/PageOverlay.cpp: 3799 (WebKit::PageOverlay::PageOverlay): 3800 (WebKit::PageOverlay::setPage): 3801 (WebKit::PageOverlay::fadeAnimationTimerFired): 3802 * WebProcess/WebPage/PageOverlay.h: 3803 * WebProcess/WebPage/TapHighlightController.cpp: 3804 (WebKit::TapHighlightController::drawRect): 3805 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 3806 (WebKit::LayerTreeHostQt::setPageOverlayOpacity): 3807 (WebKit): 3808 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 3809 (LayerTreeHostQt): 3810 (WebKit::LayerTreeHostQt::pageOverlayShouldApplyFadeWhenPainting): 3811 38122012-04-26 Alexander Færøy <ahf@0x90.dk> 3813 3814 [Qt] r115300 broke the Qt build on Mac OS X. 3815 3816 This patch adds guards around the createPluginContainer and 3817 windowedPluginGeometryDidChange member functions in WebPageProxy. 3818 3819 Unreviewed build fix. 3820 3821 * UIProcess/qt/WebPageProxyQt.cpp: 3822 (WebKit): 3823 38242012-04-26 Carlos Garcia Campos <cgarcia@igalia.com> 3825 3826 [GTK][WebKit2] Initial windowed plugins implementation 3827 https://bugs.webkit.org/show_bug.cgi?id=61065 3828 3829 Reviewed by Philippe Normand. 3830 3831 * PluginProcess/PluginControllerProxy.cpp: 3832 (WebKit::PluginControllerProxy::createPluginContainer): 3833 (WebKit::PluginControllerProxy::windowedPluginGeometryDidChange): 3834 * PluginProcess/PluginControllerProxy.h: 3835 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3836 (webkitWebViewBaseContainerAdd): Implement GtkContainer::add(). 3837 (webkitWebViewBaseContainerRemove): Implement GtkContainer::remove(). 3838 (webkitWebViewBaseContainerForall): Implement GtkContainer::forall(). 3839 (webkitWebViewBaseChildMoveResize): Set a new geometry for a child widget. 3840 (webkitWebViewBaseChildAllocate): Allocate a child widget. 3841 (resizeWebKitWebViewBaseFromAllocation): Allocate child widgets. 3842 (webkit_web_view_base_class_init): 3843 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseSizeAllocate(). 3844 * UIProcess/WebPageProxy.h: 3845 * UIProcess/WebPageProxy.messages.in: Add createPluginContainer 3846 and windowedPluginGeometryDidChange messages. 3847 * UIProcess/gtk/WebPageProxyGtk.cpp: 3848 (WebKit::pluginWindowMap): 3849 (WebKit::pluginContainerPlugRemoved): Remove the socket from the 3850 hash map when its plug is removed. 3851 (WebKit::WebPageProxy::createPluginContainer): Create a GtkSocket 3852 as container widget for windowed plugins. 3853 (WebKit::WebPageProxy::windowedPluginGeometryDidChange): Call 3854 webkitWebViewBaseSizeAllocate() to update the plugin widget 3855 geometry. 3856 * UIProcess/qt/WebPageProxyQt.cpp: 3857 (WebKit::WebPageProxy::createPluginContainer): 3858 (WebKit::WebPageProxy::windowedPluginGeometryDidChange): 3859 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 3860 (WebKit::NetscapePlugin::NetscapePlugin): 3861 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 3862 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 3863 (WebKit::socketPlugRemovedCallback): Return TRUE to avoid the 3864 socket to be destroyed, since we need to reuse it. 3865 (WebKit::NetscapePlugin::platformPostInitializeWindowed): Ask the 3866 ui process to create a plugin container. 3867 (WebKit::NetscapePlugin::platformPostInitializeWindowless): 3868 (WebKit::NetscapePlugin::platformPostInitialize): 3869 (WebKit::NetscapePlugin::platformGeometryDidChange): For windowed 3870 plugins notify the ui process that the plugin geometry has 3871 changed. 3872 (WebKit::NetscapePlugin::platformPaint): Do nothing for windowed 3873 plugins, the caller already calls callSetWindow(). 3874 * WebProcess/Plugins/PluginController.h: 3875 * WebProcess/Plugins/PluginProxy.cpp: 3876 (WebKit::PluginProxy::createPluginContainer): 3877 (WebKit::PluginProxy::windowedPluginGeometryDidChange): 3878 * WebProcess/Plugins/PluginProxy.h: 3879 * WebProcess/Plugins/PluginProxy.messages.in: 3880 * WebProcess/Plugins/PluginView.cpp: 3881 (WebKit::PluginView::createPluginContainer): 3882 (WebKit::PluginView::windowedPluginGeometryDidChange): 3883 * WebProcess/Plugins/PluginView.h: 3884 38852012-04-26 Chris Fleizach2 <cfleizach@apple.com> 3886 3887 CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29 3888 https://bugs.webkit.org/show_bug.cgi?id=84463 3889 3890 Reviewed by Darin Adler. 3891 3892 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 3893 (WebKit): 3894 38952012-04-25 Benjamin Poulain <benjamin@webkit.org> 3896 3897 Add a version of StringImpl::find() without offset 3898 https://bugs.webkit.org/show_bug.cgi?id=83968 3899 3900 Update the symbols files. 3901 3902 * win/WebKit2.def: 3903 * win/WebKit2CFLite.def: 3904 39052012-04-25 Mark Hahnenberg <mhahnenberg@apple.com> 3906 3907 WebCore shouldn't call collectAllGarbage directly 3908 https://bugs.webkit.org/show_bug.cgi?id=84897 3909 3910 Reviewed by Geoffrey Garen. 3911 3912 * WebProcess/WebProcess.cpp: 3913 (WebKit::WebProcess::didClose): Changed to call garbageCollectSoon. This is the 3914 function that causes us to do so much collection on page navigation. 3915 39162012-04-25 Beth Dakin <bdakin@apple.com> 3917 3918 https://bugs.webkit.org/show_bug.cgi?id=84909 3919 Background tabs are fuzzy until repaint when deviceScaleFactor > 1 3920 -and corresponding- 3921 <rdar://problem/11312064> 3922 3923 Rubber-stamped by Darin Adler. 3924 3925 Re-order the parameters of paintBitmapContext to match paintImage. 3926 * Platform/cg/CGUtilities.cpp: 3927 (WebKit::paintBitmapContext): 3928 * Platform/cg/CGUtilities.h: 3929 (WebKit): 3930 * UIProcess/mac/BackingStoreMac.mm: 3931 (WebKit::BackingStore::resetScrolledRect): 3932 (WebKit::BackingStore::paint): 3933 (WebKit::BackingStore::backingStoreContext): 3934 39352012-04-25 Beth Dakin <bdakin@apple.com> 3936 3937 https://bugs.webkit.org/show_bug.cgi?id=84909 3938 Background tabs are fuzzy until repaint when deviceScaleFactor > 1 3939 -and corresponding- 3940 <rdar://problem/11312064> 3941 3942 Reviewed by Darin Adler. 3943 3944 BackingStoreMac paints into a Bitmap instead of a CGLayer when there is no 3945 containing window. That bitmap is used for the initial paint when a background tab 3946 first comes to he foreground, so it needs to be HiDPI-aware. 3947 3948 paintBitmapContext() now takes a scale factor that it passes along to paintImage 3949 rather than hardcoding a scale factor of 1 for paintImage. 3950 * Platform/cg/CGUtilities.cpp: 3951 (WebKit::paintBitmapContext): 3952 * Platform/cg/CGUtilities.h: 3953 (WebKit): 3954 3955 When these functions fall into the bitmap case, they need to adopt the device 3956 scale factor, which means they need to scale in size by the scale factor, and also 3957 scale their context. 3958 * UIProcess/mac/BackingStoreMac.mm: 3959 (WebKit::BackingStore::resetScrolledRect): 3960 (WebKit::BackingStore::paint): 3961 (WebKit::BackingStore::backingStoreContext): 3962 39632012-04-25 Enrica Casucci <enrica@apple.com> 3964 3965 REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file 3966 https://bugs.webkit.org/show_bug.cgi?id=84878 3967 <rdar://problem/11155407> 3968 3969 In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature 3970 of the communication between the UI process and the WebProcess. 3971 We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership 3972 gets changed which affects the promised file types. 3973 The fix for the problem is in WebCore and we can now remove the guard on _setDragImage. 3974 3975 Reviewed by Alexey Proskuryakov. 3976 3977 * UIProcess/API/mac/WKView.mm: 3978 (-[WKView mouseDown:]): 3979 (-[WKView _setDragImage:at:linkDrag:]): 3980 39812012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 3982 3983 [Qt] Make the web view's url property follow the active url 3984 3985 https://bugs.webkit.org/show_bug.cgi?id=77554 3986 3987 The url property of the webview now reflects the 'active' url of the 3988 page, which maps to either the currently loading url, in the case of 3989 an ongoing load, or the result of a load, even when the load failed. 3990 3991 In practice this means that setting the url though QML, or navigating 3992 to a new url in the page by e.g clicking, will both instantly change 3993 the url-property of the webview to the target url. This differs from 3994 earlier behavior, where we would update the url when the load 3995 committed. 3996 3997 An optional argument is added to loadHtml(), to allow setting 3998 the unreachable url when providing replacement content for failed 3999 loads. 4000 4001 A slight change in the activeUrl() implementation is also done, 4002 where we now favour the url of an pending API request, even when 4003 we don't have a mainframe yet. 4004 4005 Finally, the location bar in the minibrowser is updated to behave 4006 a bit more like normal browsers in terms of when the url will change 4007 and how active focus is handled. 4008 4009 Reviewed by Simon Hausmann. 4010 4011 * UIProcess/API/qt/qquickwebview.cpp: 4012 (QQuickWebViewPrivate::onComponentComplete): 4013 (QQuickWebView::reload): 4014 (QQuickWebView::url): 4015 (QQuickWebView::setUrl): 4016 (QQuickWebView::loadHtml): 4017 * UIProcess/API/qt/qquickwebview_p.h: 4018 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 4019 * UIProcess/API/qt/tests/qmltests/WebView.pro: 4020 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 4021 * UIProcess/API/qt/tests/qmltests/common/link.html: Added. 4022 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added. 4023 * UIProcess/WebPageProxy.cpp: 4024 (WebKit::WebPageProxy::activeURL): 4025 * UIProcess/qt/QtWebPageLoadClient.cpp: 4026 (QtWebPageLoadClient::QtWebPageLoadClient): 4027 (QtWebPageLoadClient::didStartProvisionalLoadForFrame): 4028 (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame): 4029 (QtWebPageLoadClient::didCommitLoadForFrame): 4030 (QtWebPageLoadClient::dispatchLoadFailed): 4031 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 4032 (QtWebPageLoadClient::didFailLoadWithErrorForFrame): 4033 * UIProcess/qt/QtWebPageLoadClient.h: 4034 (QtWebPageLoadClient): 4035 40362012-04-25 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4037 4038 [Qt] Zoom back can overscroll document edges. 4039 https://bugs.webkit.org/show_bug.cgi?id=84851 4040 4041 Reviewed by Kenneth Rohde Christiansen. 4042 4043 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4044 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4045 40462012-04-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 4047 4048 [Qt] Make the web view's url property follow the active url 4049 4050 https://bugs.webkit.org/show_bug.cgi?id=77554 4051 4052 The url property of the webview now reflects the 'active' url of the 4053 page, which maps to either the currently loading url, in the case of 4054 an ongoing load, or the result of a load, even when the load failed. 4055 4056 In practice this means that setting the url though QML, or navigating 4057 to a new url in the page by e.g clicking, will both instantly change 4058 the url-property of the webview to the target url. This differs from 4059 earlier behavior, where we would update the url when the load 4060 committed. 4061 4062 An optional argument is added to loadHtml(), to allow setting 4063 the unreachable url when providing replacement content for failed 4064 loads. 4065 4066 A slight change in the activeUrl() implementation is also done, 4067 where we now favour the url of an pending API request, even when 4068 we don't have a mainframe yet. 4069 4070 Finally, the location bar in the minibrowser is updated to behave 4071 a bit more like normal browsers in terms of when the url will change 4072 and how active focus is handled. 4073 4074 Reviewed by Simon Hausmann. 4075 4076 * UIProcess/API/qt/qquickwebview.cpp: 4077 (QQuickWebViewPrivate::onComponentComplete): 4078 (QQuickWebView::reload): 4079 (QQuickWebView::url): 4080 (QQuickWebView::setUrl): 4081 (QQuickWebView::loadHtml): 4082 * UIProcess/API/qt/qquickwebview_p.h: 4083 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 4084 * UIProcess/API/qt/tests/qmltests/WebView.pro: 4085 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 4086 * UIProcess/API/qt/tests/qmltests/common/link.html: Added. 4087 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added. 4088 * UIProcess/WebPageProxy.cpp: 4089 (WebKit::WebPageProxy::activeURL): 4090 * UIProcess/qt/QtWebPageLoadClient.cpp: 4091 (QtWebPageLoadClient::QtWebPageLoadClient): 4092 (QtWebPageLoadClient::didStartProvisionalLoadForFrame): 4093 (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame): 4094 (QtWebPageLoadClient::didCommitLoadForFrame): 4095 (QtWebPageLoadClient::dispatchLoadFailed): 4096 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 4097 (QtWebPageLoadClient::didFailLoadWithErrorForFrame): 4098 * UIProcess/qt/QtWebPageLoadClient.h: 4099 (QtWebPageLoadClient): 4100 41012012-04-24 Enrica Casucci <enrica@apple.com> 4102 4103 REGRESSION (r109022) Safari not placing service data on pasteboard. 4104 https://bugs.webkit.org/show_bug.cgi?id=84766 4105 <rdar://problem/11085756> 4106 4107 The support for OS X services requires that the write operations to 4108 the pasteboard occur synchronously. This behavior was changed with r109022. 4109 This change removes the original synchronous call to the WebProcess to perform 4110 the pasteboard write that had become asynchronous after r109022. 4111 It implements instead a synchronous call to retrive the content to be placed 4112 in the pasteboard. 4113 4114 Reviewed by Alexey Proskuryakov. 4115 4116 * UIProcess/API/mac/WKView.mm: 4117 (-[WKView writeSelectionToPasteboard:types:]): Uses new methods. 4118 * UIProcess/WebPageProxy.h: 4119 * UIProcess/mac/WebPageProxyMac.mm: Removed writeSelectionToPasteboard. 4120 (WebKit::WebPageProxy::getStringSelectionForPasteboard): Added. 4121 (WebKit::WebPageProxy::getBufferSelectionForPasteboard): Added. 4122 * WebProcess/WebPage/WebPage.h: Added support for the new messages and 4123 removed old message. 4124 * WebProcess/WebPage/WebPage.messages.in: Ditto. 4125 * WebProcess/WebPage/mac/WebPageMac.mm: Ditto. 4126 (WebKit::WebPage::readSelectionFromPasteboard): Added. 4127 (WebKit::WebPage::getBufferSelectionForPasteboard): Added. 4128 41292012-04-24 Brady Eidson <beidson@apple.com> 4130 4131 Fix Windows build. 4132 4133 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: 4134 (~InjectedBundleDOMWindowExtension): VS doesn't like OVERRIDE on d'tor's 4135 41362012-04-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 4137 4138 [Qt] Unreviewed build fix after r115083 4139 4140 * WebProcess/qt/QtBuiltinBundlePage.cpp: 4141 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 4142 41432012-04-24 Brady Eidson <beidson@apple.com> 4144 4145 <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664 4146 Need DOMWindow mechanism to supplement UserScripts for page cache notifications 4147 4148 Reviewed by Sam Weinig. 4149 4150 - Adds a new API object WKBundleDOMWindowExtension 4151 - Exposes callbacks about the lifetime of DOMWindowExtensions through BundlePageLoaderClient 4152 4153 Add new API casts: 4154 * Shared/API/c/WKBase.h: 4155 * Shared/APIClientTraits.cpp: 4156 * Shared/APIObject.h: 4157 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 4158 4159 Add API for the new DOMWindowExtension object: 4160 * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: Added. 4161 (WKBundleDOMWindowExtensionGetTypeID): 4162 (WKBundleDOMWindowExtensionCreate): 4163 (WKBundleDOMWindowExtensionGetFrame): 4164 (WKBundleDOMWindowExtensionGetScriptWorld): 4165 * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h: Added. 4166 4167 Add implementation for that API which wraps the WebCore::DOMWindowExtension: 4168 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: Added. 4169 (WebKit::allExtensions): 4170 (WebKit::InjectedBundleDOMWindowExtension::create): 4171 (WebKit::InjectedBundleDOMWindowExtension::get): 4172 (WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension): 4173 (WebKit::InjectedBundleDOMWindowExtension::~InjectedBundleDOMWindowExtension): 4174 (WebKit::InjectedBundleDOMWindowExtension::frame): 4175 (WebKit::InjectedBundleDOMWindowExtension::world): 4176 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: Added. 4177 (InjectedBundleDOMWindowExtension): 4178 (WebKit::InjectedBundleDOMWindowExtension::type): 4179 4180 Add new BundlePageLoaderClient methods: 4181 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 4182 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 4183 (WebKit::InjectedBundlePageLoaderClient::didCreateGlobalObjectForFrame): 4184 (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject): 4185 (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject): 4186 (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension): 4187 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 4188 (InjectedBundlePageLoaderClient): 4189 4190 Implement the 4 new callbacks from WebCore which notify the BundlePageLoaderClient: 4191 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4192 (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): 4193 (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject): 4194 (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject): 4195 (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension): 4196 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 4197 4198 Project Files: 4199 * CMakeLists.txt: 4200 * GNUmakefile.am: 4201 * Target.pri: 4202 * WebKit2.xcodeproj/project.pbxproj: 4203 * win/WebKit2.vcproj: 4204 42052012-04-24 Andras Becsi <andras.becsi@nokia.com> 4206 4207 [Qt][WK2] Implement axis locking on the WebView for pan gestures 4208 https://bugs.webkit.org/show_bug.cgi?id=84350 4209 4210 Reviewed by Kenneth Rohde Christiansen. 4211 4212 If a pan gesture has sufficient velocity along one axis the WebView 4213 should automatically lock the page movement to that axis. 4214 This locking should be maintained until the ongoing pan gesture ends. 4215 4216 This patch implements a simple axis locker which adjusts the positions 4217 sent to the Flickable to the initial reference position according to the 4218 direction an velocity information it gathered from incoming touch events. 4219 4220 The FlickableAxisLocker makes use of the velocity information of the touch point 4221 if available, else an approximate velocity of the incoming event is 4222 calculated. 4223 4224 * UIProcess/API/qt/qquickwebview.cpp: 4225 (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker): 4226 (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity): 4227 (QQuickWebViewPrivate::FlickableAxisLocker::update): 4228 (QQuickWebViewPrivate::FlickableAxisLocker::setReferencePosition): 4229 (QQuickWebViewPrivate::FlickableAxisLocker::reset): 4230 (QQuickWebViewPrivate::FlickableAxisLocker::adjust): 4231 (QQuickWebViewPrivate::QQuickWebViewPrivate): 4232 (QQuickWebView::touchEvent): 4233 (QQuickWebView::handleFlickableMousePress): 4234 (QQuickWebView::handleFlickableMouseMove): 4235 (QQuickWebView::handleFlickableMouseRelease): 4236 * UIProcess/API/qt/qquickwebview_p_p.h: 4237 (QQuickWebViewPrivate): 4238 42392012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4240 4241 [Qt] Tap-to zoom should navigate when appropiate 4242 https://bugs.webkit.org/show_bug.cgi?id=84602 4243 4244 Reviewed by Simon Hausmann. 4245 4246 When a zoomable area is returned and has the same zoom-level as the current, 4247 examine if the using this target would expose currently unexposed parts of 4248 the zoom-target. If it does, pan to that area instead of zooming back. 4249 4250 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4251 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4252 42532012-04-24 Carlos Garcia Campos <cgarcia@igalia.com> 4254 4255 [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API 4256 https://bugs.webkit.org/show_bug.cgi?id=82598 4257 4258 Reviewed by Philippe Normand. 4259 4260 * UIProcess/API/gtk/WebKitCookieManager.cpp: 4261 (webkitCookieManagerFinalize): Stop observing cookie changes. 4262 (webkit_cookie_manager_class_init): Add 4263 WebKitCookieManager::changed signal. 4264 (cookiesDidChange): Emit WebKitCookieManager::changed signal. 4265 (webkitCookieManagerCreate): Implement WKCookieManagerClient and 4266 start observing cookie changes. 4267 * UIProcess/API/gtk/tests/TestCookieManager.cpp: 4268 (testCookieManagerCookiesChanged): 4269 (beforeAll): 4270 42712012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4272 4273 [Qt] Restore x-position when restoring previous zoom-level. 4274 https://bugs.webkit.org/show_bug.cgi?id=84591 4275 4276 Reviewed by Simon Hausmann. 4277 4278 Tap-to-zoom fits content to width, therefore it is essentional that 4279 the content is refitted to width when zooming out. 4280 4281 This patch pairs horizontal position and scale on the zoom-out stack. 4282 4283 Additionally it fixes a problem with not detecting zoom-out properly 4284 due to floating point errors. 4285 4286 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4287 (WebKit::fuzzyCompare): 4288 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4289 * UIProcess/qt/QtViewportInteractionEngine.h: 4290 (WebKit::QtViewportInteractionEngine::ScaleStackItem::ScaleStackItem): 4291 (QtViewportInteractionEngine): 4292 42932012-04-24 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4294 4295 [Qt] Incomplete interaction-engine reset. 4296 https://bugs.webkit.org/show_bug.cgi?id=84594 4297 4298 Reviewed by Simon Hausmann. 4299 4300 Reset a few values forgotten in the reset function. 4301 4302 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4303 (WebKit::QtViewportInteractionEngine::reset): 4304 43052012-04-23 Andreas Kling <kling@webkit.org> 4306 4307 [Mac] WebProcess should empty cache on a background thread/block. 4308 <http://webkit.org/b/84619> 4309 <rdar://problem/10668689> 4310 4311 Reviewed by Anders Carlsson. 4312 4313 Move the removeAllCachedResponses call to a dispatch queue and wait for it on exit. 4314 4315 * WebProcess/WebProcess.cpp: 4316 (WebKit::WebProcess::WebProcess): 4317 * WebProcess/WebProcess.h: 4318 (WebProcess): 4319 * WebProcess/mac/WebProcessMac.mm: 4320 (WebKit::WebProcess::platformClearResourceCaches): 4321 (WebKit::WebProcess::platformTerminate): 4322 43232012-04-23 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4324 4325 [Qt][WK2] Convert touch-point area. 4326 https://bugs.webkit.org/show_bug.cgi?id=84434 4327 4328 Reviewed by Kenneth Rohde Christiansen. 4329 4330 Missed WebKit2 conversion in commit r106470. 4331 4332 * Shared/qt/WebEventFactoryQt.cpp: 4333 (WebKit::WebEventFactory::createWebTouchEvent): 4334 43352012-04-23 Balazs Kelemen <kbalazs@webkit.org> 4336 4337 [Qt] Add desktop zooming support for QQuickWebView 4338 https://bugs.webkit.org/show_bug.cgi?id=82337 4339 4340 Reviewed by Simon Hausmann. 4341 4342 Add private C++ API for programmatic zooming. 4343 This is important on desktop where we don't 4344 have any way to zoom currently. 4345 4346 * UIProcess/API/qt/qquickwebview.cpp: 4347 (QQuickWebViewLegacyPrivate::zoomFactor): 4348 (QQuickWebViewLegacyPrivate::setZoomFactor): 4349 (QQuickWebView::zoomFactor): 4350 (QQuickWebView::setZoomFactor): 4351 * UIProcess/API/qt/qquickwebview_p.h: 4352 * UIProcess/API/qt/qquickwebview_p_p.h: 4353 (QQuickWebViewPrivate::zoomFactor): 4354 (QQuickWebViewPrivate::setZoomFactor): 4355 (QQuickWebViewPrivate): 4356 (QQuickWebViewLegacyPrivate): 4357 43582012-04-23 Zalan Bujtas <zbujtas@gmail.com> 4359 4360 [Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt 4361 https://bugs.webkit.org/show_bug.cgi?id=84528 4362 4363 Reviewed by Simon Hausmann. 4364 4365 Fix namespace usage in non-api classes for Qt. 4366 4367 * UIProcess/API/qt/qquickwebpage.cpp: 4368 * UIProcess/API/qt/qquickwebpage_p.h: 4369 (WebKit): 4370 * UIProcess/API/qt/qquickwebpage_p_p.h: 4371 (WebKit): 4372 (QQuickWebPagePrivate): 4373 * UIProcess/API/qt/qquickwebview.cpp: 4374 * UIProcess/API/qt/qquickwebview_p.h: 4375 (WebKit): 4376 * UIProcess/API/qt/qquickwebview_p_p.h: 4377 (WebKit): 4378 (QQuickWebViewPrivate::viewportInteractionEngine): 4379 (QQuickWebViewPrivate): 4380 (QQuickWebViewFlickablePrivate::viewportInteractionEngine): 4381 (QQuickWebViewFlickablePrivate): 4382 * UIProcess/API/qt/qwebdownloaditem_p.h: 4383 (WebKit): 4384 * UIProcess/API/qt/qwebviewportinfo.cpp: 4385 * UIProcess/qt/LayerBackingStore.cpp: 4386 * UIProcess/qt/LayerBackingStore.h: 4387 (WebKit): 4388 * UIProcess/qt/QtDialogRunner.cpp: 4389 (WebKit): 4390 * UIProcess/qt/QtDialogRunner.h: 4391 (WebKit): 4392 * UIProcess/qt/QtDownloadManager.cpp: 4393 * UIProcess/qt/QtDownloadManager.h: 4394 (WebKit): 4395 * UIProcess/qt/QtGestureRecognizer.cpp: 4396 * UIProcess/qt/QtGestureRecognizer.h: 4397 (WebKit): 4398 * UIProcess/qt/QtPageClient.cpp: 4399 (WebKit): 4400 * UIProcess/qt/QtPageClient.h: 4401 (WebKit): 4402 (QtPageClient): 4403 * UIProcess/qt/QtPanGestureRecognizer.cpp: 4404 * UIProcess/qt/QtPanGestureRecognizer.h: 4405 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 4406 * UIProcess/qt/QtPinchGestureRecognizer.h: 4407 * UIProcess/qt/QtTapGestureRecognizer.h: 4408 (WebKit): 4409 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4410 * UIProcess/qt/QtViewportInteractionEngine.h: 4411 * UIProcess/qt/QtWebContext.cpp: 4412 * UIProcess/qt/QtWebContext.h: 4413 * UIProcess/qt/QtWebError.cpp: 4414 (WebKit): 4415 * UIProcess/qt/QtWebError.h: 4416 (WebKit): 4417 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 4418 (WebKit): 4419 * UIProcess/qt/QtWebIconDatabaseClient.h: 4420 (WTF): 4421 (WebKit): 4422 (QtWebIconDatabaseClient): 4423 * UIProcess/qt/QtWebPageEventHandler.cpp: 4424 (WebKit): 4425 * UIProcess/qt/QtWebPageEventHandler.h: 4426 (WebCore): 4427 (WebKit): 4428 * UIProcess/qt/QtWebPageLoadClient.cpp: 4429 (WebKit): 4430 * UIProcess/qt/QtWebPageLoadClient.h: 4431 (WebKit): 4432 * UIProcess/qt/QtWebPagePolicyClient.cpp: 4433 (WebKit): 4434 * UIProcess/qt/QtWebPagePolicyClient.h: 4435 (WebKit): 4436 * UIProcess/qt/QtWebPageSGNode.cpp: 4437 * UIProcess/qt/QtWebPageSGNode.h: 4438 (WebKit): 4439 * UIProcess/qt/QtWebPageUIClient.cpp: 4440 * UIProcess/qt/QtWebPageUIClient.h: 4441 (WebKit): 4442 * UIProcess/qt/QtWebUndoController.cpp: 4443 (WebKit): 4444 * UIProcess/qt/QtWebUndoController.h: 4445 (WebKit): 4446 * UIProcess/qt/WebContextMenuProxyQt.cpp: 4447 * UIProcess/qt/WebContextQt.cpp: 4448 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 4449 * UIProcess/qt/WebGeolocationProviderQt.cpp: 4450 (WebKit): 4451 * UIProcess/qt/WebGeolocationProviderQt.h: 4452 (WebKit): 4453 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 4454 (WebKit): 4455 * UIProcess/qt/WebPopupMenuProxyQt.h: 4456 44572012-04-23 Kent Tamura <tkent@chromium.org> 4458 4459 Add test function to get placeholder string 4460 https://bugs.webkit.org/show_bug.cgi?id=84536 4461 4462 Reviewed by Ryosuke Niwa. 4463 4464 * win/WebKit2.def: Expose HTMLNames::inputTag, 4465 HTMLTextFormControlElement::placeholderShouldBeVisible(), and 4466 Node::textContent. 4467 * win/WebKit2CFLite.def: ditto. 4468 44692012-04-22 Sriram Neelakandan <sriram.neelakandan@gmail.com> 4470 4471 [Gtk] Added MOZ_X11 build flag for TARGET_X11 4472 [Qt] Added MOZ_X11 build flag for !embedded 4473 https://bugs.webkit.org/show_bug.cgi?id=40785 4474 4475 Reviewed by Anders Carlsson. 4476 4477 * GNUmakefile.am: 4478 * Target.pri: 4479 44802012-04-22 Jon Lee <jonlee@apple.com> 4481 4482 Remove notifications support on Mac Lion. 4483 https://bugs.webkit.org/show_bug.cgi?id=84554 4484 <rdar://problem/11297128> 4485 4486 Reviewed by Sam Weinig. 4487 4488 * Configurations/FeatureDefines.xcconfig: 4489 44902012-04-22 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4491 4492 [Qt] Multi-level tap-to-zoom. 4493 https://bugs.webkit.org/show_bug.cgi?id=84456 4494 4495 Reviewed by Kenneth Rohde Christiansen. 4496 4497 Replace tap-to-zoomed flag with a stack of progressively higher zoom levels, 4498 and zoom out to last zoom-level when attempting to zoom to current level. 4499 4500 Additionally detect a series of tap-to-zoom gestures on the same level and 4501 continue to zoom out. 4502 4503 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4504 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 4505 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4506 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 4507 * UIProcess/qt/QtViewportInteractionEngine.h: 4508 (QtViewportInteractionEngine): 4509 45102012-04-20 Jon Lee <jonlee@apple.com> 4511 4512 Add Notification constructor 4513 https://bugs.webkit.org/show_bug.cgi?id=80477 4514 <rdar://problem/10912431> 4515 4516 Reviewed by Jian Li. 4517 4518 * WebProcess/Notifications/WebNotificationManager.cpp: 4519 (WebKit::WebNotificationManager::show): If the notification doesn't get shown, 4520 we should return false, since it will not go through a setPendingActivity cycle. 4521 (WebKit::WebNotificationManager::clearNotifications): When clearing notifications, 4522 finalize them so that they can be cleaned up by the GC. 4523 45242012-04-20 Timothy Hatcher <timothy@apple.com> 4525 4526 Make the Web Inspector be the first responder when opening docked. 4527 4528 <rdar://problem/11294217> 4529 4530 Reviewed by Brian Weinstein. 4531 4532 * UIProcess/mac/WebInspectorProxyMac.mm: 4533 (WebKit::WebInspectorProxy::platformAttach): Call makeFirstResponder: on 4534 the window and pass the Inspector's WKView. 4535 45362012-04-06 Jer Noble <jer.noble@apple.com> 4537 4538 apple.com top navigation bar appears inside video during full screen exit animation 4539 https://bugs.webkit.org/show_bug.cgi?id=83095 4540 4541 Reviewed by Eric Carlson. 4542 4543 Add new WebCore symbols needed by DumpRenderTree to exported symbol list. 4544 4545 * win/WebKit2.def: 4546 * win/WebKit2CFLite.def: 4547 45482012-04-19 Carlos Garcia Campos <cgarcia@igalia.com> 4549 4550 [GTK] Ignore resources while replacing content in WebKit2 GTK+ API 4551 https://bugs.webkit.org/show_bug.cgi?id=79777 4552 4553 Reviewed by Philippe Normand. 4554 4555 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: 4556 (didSendRequestForResource): Return early if resources is Null. 4557 (didReceiveResponseForResource): Ditto. 4558 (didReceiveContentLengthForResource): Ditto. 4559 (didFinishLoadForResource): Ditto. 4560 (didFailLoadForResource): Ditto. 4561 * UIProcess/API/gtk/WebKitWebView.cpp: 4562 (webkitWebViewLoadChanged): Clear resources before checking 4563 whether we are replacing content. 4564 (webkitWebViewIsReplacingContentOrDidReplaceContent): Helper 4565 function to check whether view is replacing content or current 4566 content is replaced. 4567 (webkitWebViewResourceLoadStarted): Do not create resources when 4568 replacing content. 4569 (webkitWebViewGetLoadingWebResource): Ignore when replacing 4570 content. Also add an assert when getting a loading resources to 4571 make sure we only return Null when replacing content. 4572 (webkitWebViewRemoveLoadingWebResource): Ditto. 4573 (webkitWebViewResourceLoadFinished): Ditto. 4574 * UIProcess/API/gtk/tests/TestResources.cpp: 4575 (replacedContentResourceLoadStartedCallback): 4576 (testWebViewResourcesReplacedContent): 4577 (beforeAll): 4578 45792012-04-19 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 4580 4581 [Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph 4582 https://bugs.webkit.org/show_bug.cgi?id=84278 4583 4584 Reviewed by Noam Rosenthal. 4585 4586 Delete the whole layer tree on UI side when paint node is deleted and force resync of the layers when 4587 page becomes visible again. 4588 4589 * UIProcess/LayerTreeHostProxy.cpp: 4590 (WebKit::LayerTreeHostProxy::purgeBackingStores): 4591 * UIProcess/WebLayerTreeRenderer.cpp: 4592 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer): 4593 (WebKit::WebLayerTreeRenderer::purgeGLResources): 4594 (WebKit::WebLayerTreeRenderer::appendUpdate): 4595 (WebKit::WebLayerTreeRenderer::setActive): 4596 (WebKit): 4597 * UIProcess/WebLayerTreeRenderer.h: 4598 (WebLayerTreeRenderer): 4599 * UIProcess/qt/QtWebPageSGNode.cpp: 4600 (WebKit::ContentsSGNode::ContentsSGNode): 4601 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 4602 (WebCore::WebGraphicsLayer::purgeBackingStores): 4603 46042012-04-19 Vivek Galatage <vivekgalatage@gmail.com> 4605 4606 DevTools: assertion failure upon devtools window reopen. 4607 https://bugs.webkit.org/show_bug.cgi?id=53493 4608 4609 Reviewed by Pavel Feldman. 4610 4611 The pointers pointed to by WebInspector must be reset explicitly 4612 in WebInspector::didClose() method 4613 4614 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 4615 (WebKit::WebInspectorClient::closeInspectorFrontend): 4616 * WebProcess/WebPage/WebInspector.cpp: 4617 (WebKit::WebInspector::didClose): 4618 46192012-04-19 Zalan Bujtas <zbujtas@gmail.com> 4620 4621 [Qt][WK2] Zoom out on the second double click does not always scale right. 4622 https://bugs.webkit.org/show_bug.cgi?id=84332 4623 4624 Reviewed by Simon Hausmann. 4625 4626 Zoom out to the minimum scale value instead of the fixed 1. 4627 4628 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4629 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4630 46312012-04-18 Jer Noble <jer.noble@apple.com> 4632 4633 Full Screen mode does not preserve CALayer ordering after exiting. 4634 https://bugs.webkit.org/show_bug.cgi?id=83931 4635 4636 Reviewed by Eric Carlson. 4637 4638 When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:] 4639 instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order 4640 of the view's backing CALayers. 4641 4642 * UIProcess/mac/WKFullScreenWindowController.mm: 4643 (-[WKFullScreenWindowController _swapView:with:]): 4644 46452012-04-18 Alexey Proskuryakov <ap@apple.com> 4646 4647 [WK2] Sandbox violations prevent attaching files to gmail messages 4648 https://bugs.webkit.org/show_bug.cgi?id=84263 4649 <rdar://problem/11248260> 4650 4651 Reviewed by Oliver Hunt. 4652 4653 * WebProcess/WebCoreSupport/WebDragClient.cpp: (WebKit::WebDragClient::willPerformDragDestinationAction): 4654 Prepare to the possibility that file data will be read. This needs to happen on every drop 4655 with files, not just after event dispatch. 4656 4657 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mayPerformUploadDragDestinationAction): 4658 * WebProcess/WebPage/WebPage.h: 4659 Renamed performUploadDragDestinationAction to mayPerformUploadDragDestinationAction. We don't 4660 know if an upload will actually happen, it's up to JavaScript code to decide. 4661 46622012-04-18 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4663 4664 Clean-up WheelEvent Conversion. 4665 https://bugs.webkit.org/show_bug.cgi?id=84243 4666 4667 Reviewed by Simon Hausmann. 4668 4669 * Shared/qt/WebEventFactoryQt.cpp: 4670 (WebKit::WebEventFactory::createWebWheelEvent): 4671 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4672 (WebKit::QtViewportInteractionEngine::wheelEvent): 4673 46742012-04-18 Zalan Bujtas <zbujtas@gmail.com> 4675 4676 [Qt][WK2] Minibrowser asserts on startup at QtViewportInteractionEngine::ensureContentWithinViewportBoundary() 4677 https://bugs.webkit.org/show_bug.cgi?id=84172 4678 4679 Reviewed by Simon Hausmann. 4680 4681 After the viewport computing refactor, ensureContentWithinViewportBoundary() can be called 4682 with resumed page. QtViewportInteractionEngine::ensureContentWithinViewportBoundary() 4683 functionality does not necessarily require the page to be suspended. It's the caller's context 4684 that determines whether the page needs to be suspended, so it's the caller's responsibility 4685 to enforce the ASSERT(). 4686 Remove the invalid ASSERT on m_suspendCount at QtViewportInteractionEngine::ensureContentWithinViewportBoundary() 4687 4688 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4689 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 4690 46912012-04-17 Alexey Proskuryakov <ap@apple.com> 4692 4693 [Mac] USPS Shipping label prints without barcode 4694 https://bugs.webkit.org/show_bug.cgi?id=84099 4695 <rdar://problem/11133877> 4696 4697 Reviewed by Sam Weinig. 4698 4699 Use PDFDocuemnt instead of CGPDFDocument when printing PDFs, because PDFKit knows 4700 how to draw PDF buttons, and CG does not. 4701 4702 * Shared/mac/PDFKitImports.h: Added. 4703 * Shared/mac/PDFKitImports.mm: Added. 4704 * UIProcess/API/mac/WKPrintingView.mm: 4705 Moved code for dealing with dynamically loaded PDFKit from WKPrintingView, as we 4706 now also need it elsewhere. 4707 4708 * WebKit2.xcodeproj/project.pbxproj: Added 4709 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Rebamed to .mm. 4710 4711 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Changed m_pdfDocument to PDFDocument. 4712 4713 * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Copied from Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.cpp. 4714 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): 4715 (WebKit::BuiltInPDFView::calculateSizes): 4716 (WebKit::BuiltInPDFView::paintContent): 4717 Changed m_pdfDocument to PDFDocument, and updated for the changes. We still use 4718 CGPDF when drawing to screen though, because that doesn't affect USPS. 4719 4720 * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::pdfDocumentForPrinting): Updated 4721 the type, and changed ifsed from CG to MAC, as we're now fully dependent on Cocoa. 4722 4723 * WebProcess/Plugins/PluginView.h: (WebKit::PluginView::pdfDocumentForPrinting): 4724 Ditto. 4725 4726 * WebProcess/WebPage/WebPage.cpp: 4727 (WebKit::WebPage::pdfDocumentForPrintingFrame): 4728 (WebKit::WebPage::beginPrinting): 4729 (WebKit::WebPage::computePagesForPrinting): 4730 (WebKit::WebPage::drawRectToPDF): 4731 (WebKit::WebPage::drawPagesToPDF): 4732 * WebProcess/WebPage/WebPage.h: 4733 Moved PDF document printing code to WebPageMac.mm, as it's now Objective C. 4734 4735 * WebProcess/WebPage/mac/WebPageMac.mm: 4736 (WebKit::WebPage::computePagesForPrintingPDFDocument): 4737 (WebKit::roundCGFloat): 4738 (WebKit::drawPDFPage): While moving, also fixed a logic error in calculating the box 4739 (it used to intersect with an empty box). 4740 (WebKit::WebPage::drawRectToPDFFromPDFDocument): 4741 (WebKit::WebPage::drawPagesToPDFFromPDFDocument): 4742 47432012-04-17 Anders Carlsson <andersca@apple.com> 4744 4745 Need a client callback for when the user tires to interact with an already unresponsive page 4746 https://bugs.webkit.org/show_bug.cgi?id=84201 4747 <rdar://problem/11140862> 4748 4749 Reviewed by Andreas Kling. 4750 4751 Add a interactionOccurredWhileProcessUnresponsive callback that's called when the unresponsiveness timer 4752 fires while it's already unresponsive. 4753 4754 * UIProcess/API/C/WKPage.h: 4755 * UIProcess/ResponsivenessTimer.cpp: 4756 (WebKit): 4757 (WebKit::ResponsivenessTimer::timerFired): 4758 (WebKit::ResponsivenessTimer::start): 4759 * UIProcess/ResponsivenessTimer.h: 4760 (Client): 4761 * UIProcess/WebLoaderClient.cpp: 4762 (WebKit::WebLoaderClient::processDidBecomeUnresponsive): 4763 (WebKit): 4764 (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive): 4765 * UIProcess/WebLoaderClient.h: 4766 (WebLoaderClient): 4767 * UIProcess/WebPageProxy.cpp: 4768 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): 4769 (WebKit): 4770 * UIProcess/WebPageProxy.h: 4771 (WebPageProxy): 4772 * UIProcess/WebProcessProxy.cpp: 4773 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): 4774 (WebKit): 4775 * UIProcess/WebProcessProxy.h: 4776 (WebProcessProxy): 4777 47782012-04-17 Anders Carlsson <andersca@apple.com> 4779 4780 Make sure that the layer hosting mode is kept up to date if it changes before the plug-in is initialized 4781 https://bugs.webkit.org/show_bug.cgi?id=84180 4782 <rdar://problem/11265113> 4783 4784 Reviewed by Andreas Kling. 4785 4786 * WebProcess/Plugins/PluginView.cpp: 4787 (WebKit::PluginView::setLayerHostingMode): 4788 47892012-04-17 Jer Noble <jer.noble@apple.com> 4790 4791 Exiting full screen video brings the wrong Safari window to the foreground 4792 https://bugs.webkit.org/show_bug.cgi?id=83936 4793 4794 Reviewed by Adele Peterson. 4795 4796 Tell the original webView's window to makeKeyAndOrderFront once the exit 4797 animation completes. 4798 4799 * UIProcess/mac/WKFullScreenWindowController.mm: 4800 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): 4801 48022012-04-17 Michał Pakuła vel Rutka <m.pakula@samsung.com> 4803 4804 [EFL][WK2] Fix build break when FULLSCREEN_API is enabled. 4805 https://bugs.webkit.org/show_bug.cgi?id=84142 4806 4807 Reviewed by Martin Robinson. 4808 4809 Create a cpp file needed to build EFL port with FULLSCREEN_API. 4810 4811 * PlatformEfl.cmake: Added WebFullScreenManagerProxyEfl.cpp to build list. 4812 * UIProcess/WebFullScreenManagerProxy.h: 4813 (WebKit): 4814 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Added. 4815 (WebKit): 4816 (WebKit::WebFullScreenManagerProxy::invalidate): 4817 (WebKit::WebFullScreenManagerProxy::close): 4818 (WebKit::WebFullScreenManagerProxy::isFullScreen): 4819 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 4820 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 4821 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 4822 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 4823 48242012-04-17 Andras Becsi <andras.becsi@nokia.com> 4825 4826 [Qt][WK2] Refactor the gesture recognizers 4827 https://bugs.webkit.org/show_bug.cgi?id=83044 4828 4829 Reviewed by Kenneth Rohde Christiansen and Simon Hausmann. 4830 4831 This patch implements a simple decision tree in the web page event handler 4832 on the basis of how many active touch points the current touch event has. 4833 4834 Active touch points are pressed, moved or stationary and the number of these 4835 fully determine which gesture recognizer should be updated, cancelled or 4836 finished. 4837 4838 This new structure makes the internal states of the pinch and pan gesture 4839 recognizers independent from the event type, thus makes it possible to handle 4840 the transitions between these gestures in one centralized place which reduces 4841 code duplication and complexity and fixes some issues regarding incorrectly 4842 handled transitions. 4843 4844 * UIProcess/qt/QtPanGestureRecognizer.cpp: 4845 (WebKit::QtPanGestureRecognizer::update): 4846 (WebKit::QtPanGestureRecognizer::finish): 4847 (WebKit): 4848 (WebKit::QtPanGestureRecognizer::cancel): 4849 * UIProcess/qt/QtPanGestureRecognizer.h: 4850 (QtPanGestureRecognizer): 4851 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 4852 (WebKit): 4853 (WebKit::QtPinchGestureRecognizer::update): 4854 (WebKit::QtPinchGestureRecognizer::finish): 4855 * UIProcess/qt/QtPinchGestureRecognizer.h: 4856 (QtPinchGestureRecognizer): 4857 * UIProcess/qt/QtTapGestureRecognizer.cpp: 4858 (WebKit::QtTapGestureRecognizer::withinDistance): 4859 (WebKit::QtTapGestureRecognizer::update): 4860 (WebKit::QtTapGestureRecognizer::cancel): 4861 (WebKit): 4862 (WebKit::QtTapGestureRecognizer::singleTapTimeout): 4863 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 4864 (WebKit::QtTapGestureRecognizer::reset): 4865 * UIProcess/qt/QtTapGestureRecognizer.h: 4866 (QtTapGestureRecognizer): 4867 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4868 (WebKit): 4869 * UIProcess/qt/QtViewportInteractionEngine.h: 4870 (QtViewportInteractionEngine): 4871 * UIProcess/qt/QtWebPageEventHandler.cpp: 4872 (QtWebPageEventHandler::resetGestureRecognizers): 4873 (QtWebPageEventHandler::doneWithTouchEvent): 4874 48752012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4876 4877 REGRESSION(r113172) Wheel events are scrolling inversed. 4878 https://bugs.webkit.org/show_bug.cgi?id=84156 4879 4880 Reviewed by Simon Hausmann. 4881 4882 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4883 (WebKit::QtViewportInteractionEngine::wheelEvent): 4884 48852012-04-17 Balazs Kelemen <kbalazs@webkit.org> 4886 4887 [Qt] Unreviewed ARM build fix 4888 4889 * PluginProcess/qt/PluginProcessMainQt.cpp: 4890 (WebKit::PluginProcessMain): Export this function. 4891 48922012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com> 4893 4894 [Qt] Zoom out on second double-tap. 4895 https://bugs.webkit.org/show_bug.cgi?id=84145 4896 4897 Reviewed by Simon Hausmann. 4898 4899 * UIProcess/qt/QtViewportInteractionEngine.cpp: 4900 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 4901 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 4902 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 4903 * UIProcess/qt/QtViewportInteractionEngine.h: 4904 (QtViewportInteractionEngine): 4905 49062012-04-17 Mariusz Grzegorczyk <mariusz.g@samsung.com> 4907 4908 [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled. 4909 https://bugs.webkit.org/show_bug.cgi?id=83285 4910 4911 Reviewed by Ryosuke Niwa. 4912 4913 Surround code related to context menu with ENABLE(CONTEXT_MENUS) macro. 4914 Add dummy functions for public API implementation related to context menu. 4915 4916 * Shared/API/c/WKContextMenuItem.cpp: 4917 (WKContextMenuItemGetTypeID): 4918 (WKContextMenuItemCreateAsAction): 4919 (WKContextMenuItemCreateAsCheckableAction): 4920 (WKContextMenuItemCreateAsSubmenu): 4921 (WKContextMenuItemSeparatorItem): 4922 (WKContextMenuItemGetTag): 4923 (WKContextMenuItemGetType): 4924 (WKContextMenuItemCopyTitle): 4925 (WKContextMenuItemGetEnabled): 4926 (WKContextMenuItemGetChecked): 4927 (WKContextMenuCopySubmenuItems): 4928 (WKContextMenuItemGetUserData): 4929 (WKContextMenuItemSetUserData): 4930 * Shared/WebContextMenuItem.cpp: 4931 * Shared/WebContextMenuItem.h: 4932 * Shared/WebContextMenuItemData.cpp: 4933 * Shared/WebContextMenuItemData.h: 4934 * UIProcess/API/C/WKPage.cpp: 4935 (WKPageSetPageContextMenuClient): 4936 * UIProcess/WebPageContextMenuClient.cpp: 4937 * UIProcess/WebPageContextMenuClient.h: 4938 * UIProcess/WebPageProxy.cpp: 4939 (WebKit): 4940 * UIProcess/WebPageProxy.h: 4941 (WebPageProxy): 4942 * UIProcess/WebPageProxy.messages.in: 4943 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 4944 (WKBundlePageSetContextMenuClient): 4945 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 4946 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 4947 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 4948 * WebProcess/WebCoreSupport/WebContextMenuClient.h: 4949 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: 4950 * WebProcess/WebPage/WebContextMenu.cpp: 4951 * WebProcess/WebPage/WebContextMenu.h: 4952 * WebProcess/WebPage/WebPage.cpp: 4953 (WebKit::WebPage::WebPage): 4954 (WebKit): 4955 (WebKit::handleMouseEvent): 4956 (WebKit::WebPage::mouseEvent): 4957 * WebProcess/WebPage/WebPage.h: 4958 (WebPage): 4959 * WebProcess/WebPage/WebPage.messages.in: 4960 49612012-04-16 Ryuan Choi <ryuan.choi@samsung.com> 4962 4963 [EFL][WK2] Add missing files to build webkit2/Efl. 4964 https://bugs.webkit.org/show_bug.cgi?id=76139 4965 4966 Reviewed by Ryosuke Niwa. 4967 4968 Add missing files needed to build webkit2/Efl. 4969 4970 * Shared/efl/PlatformCertificateInfo.h: Added. 4971 (WebKit): 4972 (PlatformCertificateInfo): 4973 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 4974 (WebKit::PlatformCertificateInfo::encode): 4975 (WebKit::PlatformCertificateInfo::decode): 4976 * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Added. 4977 (WebKit): 4978 (WebKit::ThreadLauncher::createWebThread): 4979 49802012-04-16 Brady Eidson <beidson@apple.com> 4981 4982 Followup to http://trac.webkit.org/changeset/114323 4983 4984 For more correctness, actually include an autorelease pool instead of cleverly trying to avoid its use. 4985 4986 Reviewed by Mark Rowe. 4987 4988 * PluginProcess/mac/PluginProcessMainMac.mm: 4989 (WebKit::PluginProcessMain): 4990 49912012-04-16 Brady Eidson <beidson@apple.com> 4992 4993 <rdar://problem/11238965> Leak in Plugin Process when launched 32-bit 4994 4995 Reviewed by Jessie Berlin. 4996 4997 * PluginProcess/mac/PluginProcessMainMac.mm: 4998 (WebKit::PluginProcessMain): alloc/init an NSDictionary then release it, instead of leaking an autoreleased one. 4999 50002012-04-16 Anders Carlsson <andersca@apple.com> 5001 5002 Nightly Back/Forward no longer calls plug-in's NPP_NewStream 5003 https://bugs.webkit.org/show_bug.cgi?id=83805 5004 <rdar://problem/11238748> 5005 5006 Reviewed by Simon Fraser. 5007 5008 When a page with a full-frame plug-in is restored from the page cache, it needs to re-fetch the plug-in stream. 5009 5010 Fix this by breaking the assumption that a plug-in will always get its data from WebCore if it's a full-frame plug-in; 5011 instead it only get its data from WebCore if it's a full-frame plug-in that's not being restored from the page cache. 5012 5013 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 5014 (WebKit::NetscapePlugin::NetscapePlugin): 5015 Rename m_loadManually to m_shouldUseManualLoader. 5016 5017 (WebKit::NetscapePlugin::initialize): 5018 Get the mode from parameters.isFullFramePlugin instead. 5019 5020 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse): 5021 (WebKit::NetscapePlugin::manualStreamDidReceiveData): 5022 (WebKit::NetscapePlugin::manualStreamDidFinishLoading): 5023 (WebKit::NetscapePlugin::manualStreamDidFail): 5024 Rename m_loadManually to m_shouldUseManualLoader. 5025 5026 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 5027 Rename m_loadManually to m_shouldUseManualLoader. 5028 5029 * WebProcess/Plugins/Plugin.cpp: 5030 (WebKit::Plugin::Parameters::encode): 5031 (WebKit::Plugin::Parameters::decode): 5032 * WebProcess/Plugins/Plugin.h: 5033 (Parameters): 5034 Add an extra isFullFramePlugin parameter, and rename loadManually to shouldUseManualLoader. 5035 5036 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5037 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 5038 Initialize m_frameCameFromPageCache. 5039 5040 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 5041 Set m_frameCameFromPageCache to true. 5042 5043 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 5044 Set m_frameCameFromPageCache to false. 5045 5046 (WebKit::WebFrameLoaderClient::createPlugin): 5047 Initialize isFullFramePlugin and shouldUseManualLoader. 5048 50492012-04-16 Alexey Proskuryakov <ap@apple.com> 5050 5051 EndPrinting message should be sent synchronously when printing was initiated from DOM. 5052 https://bugs.webkit.org/show_bug.cgi?id=84049 5053 <rdar://problem/11096575> 5054 5055 Reviewed by Oliver Hunt. 5056 5057 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): When printing is 5058 initiated by WebProcess, all messages from UI process are sent synchronously to 5059 avoid being queued, and so should EndPrinting. 5060 50612012-04-16 Brady Eidson <beidson@apple.com> 5062 5063 <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050 5064 WebKit2 back/forward items in the page cache are never removed when the page is closed 5065 5066 Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee. 5067 5068 Individual WebBackForwardListProxy's had no idea which items are associated with them. 5069 This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes. 5070 5071 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 5072 (WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it. 5073 (WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs. 5074 (WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache. 5075 * WebProcess/WebPage/WebBackForwardListProxy.h: 5076 50772012-04-16 Michał Pakuła vel Rutka <m.pakula@samsung.com> 5078 5079 [EFL][WK2] Fix build break in PageClientImpl.cpp. 5080 https://bugs.webkit.org/show_bug.cgi?=id=84034 5081 5082 Reviewed by Kenneth Rohde Christiansen. 5083 5084 Fixes typo in didChangeViewportProperites definition. 5085 5086 * UIProcess/API/efl/PageClientImpl.cpp: 5087 (WebKit::PageClientImpl::didChangeViewportProperties): 5088 50892012-04-16 Yael Aharon <yael.aharon@nokia.com> 5090 5091 [Qt][WK2] Fixed elements position is wrong after zooming. 5092 https://bugs.webkit.org/show_bug.cgi?id=83981 5093 5094 Reviewed by Kenneth Rohde Christiansen. 5095 5096 Turn on the flag setFixedElementsLayoutRelativeToFrame. This causes fixed elements position to be calculated based on 5097 visibleWidth and visibleHeight. When zoom level grows, the visibleWidth and visibleHeight become smaller. 5098 5099 * WebProcess/WebPage/WebPage.cpp: 5100 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 5101 51022012-04-16 Kenneth Rohde Christiansen <kenneth@webkit.org> 5103 5104 [Qt] Clean up how the interaction engine is making use of ViewportAttributes 5105 https://bugs.webkit.org/show_bug.cgi?id=83895 5106 5107 Reviewed by Simon Hausmann. 5108 5109 Refactor how the interaction engine is using the ViewportAttributes 5110 and get rid of the Contraints subclass. 5111 5112 Push the ViewportAttributes through to the QQuickWebViewPrivate class 5113 and add some default values in the case the Legacy view is used. 5114 5115 * UIProcess/API/qt/qquickwebview.cpp: 5116 (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate): 5117 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 5118 * UIProcess/API/qt/qquickwebview_p_p.h: 5119 (QQuickWebViewPrivate): 5120 * UIProcess/API/qt/qwebviewportinfo.cpp: 5121 (QWebViewportInfo::QWebViewportInfo): 5122 (QWebViewportInfo::~QWebViewportInfo): 5123 (QWebViewportInfo::currentScale): 5124 (QWebViewportInfo::devicePixelRatio): 5125 (QWebViewportInfo::initialScale): 5126 (QWebViewportInfo::minimumScale): 5127 (QWebViewportInfo::maximumScale): 5128 (QWebViewportInfo::isScalable): 5129 (QWebViewportInfo::layoutSize): 5130 * UIProcess/qt/QtViewportInteractionEngine.cpp: 5131 (WebKit::QtViewportInteractionEngine::cssScaleFromItem): 5132 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS): 5133 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS): 5134 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale): 5135 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale): 5136 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 5137 (WebKit::QtViewportInteractionEngine::setCSSScaleBounds): 5138 (WebKit::QtViewportInteractionEngine::setCSSScale): 5139 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 5140 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 5141 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 5142 * UIProcess/qt/QtViewportInteractionEngine.h: 5143 (QtViewportInteractionEngine): 5144 (WebKit::QtViewportInteractionEngine::hadUserInteraction): 5145 (WebKit::QtViewportInteractionEngine::setAllowsUserScaling): 5146 (WebKit::QtViewportInteractionEngine::setContentToDevicePixelRatio): 5147 51482012-04-15 Carlos Garcia Campos <cgarcia@igalia.com> 5149 5150 [GTK] Use GRefPtr to delete the default web context in WebKit2 GTK+ 5151 https://bugs.webkit.org/show_bug.cgi?id=83752 5152 5153 Reviewed by Martin Robinson. 5154 5155 * UIProcess/API/gtk/WebKitWebContext.cpp: 5156 (createDefaultWebContext): 5157 51582012-04-13 Jer Noble <jer.noble@apple.com> 5159 5160 Video at apple.com gets standard controls in addition to custom controls after returning from full screen 5161 https://bugs.webkit.org/show_bug.cgi?id=83939 5162 5163 Reviewed by Eric Carlson. 5164 5165 So that the media controls don't show up momentarily during full screen animations, call setAnimatingFullScreen(true) 5166 before calling will{Enter,Exit}FullScreen(), so that the CSS rule for full screen animation will be in effect 5167 immediately. 5168 5169 Similarly, call setAnimatingFullScreen(false) after calling did{Enter,Exit}FullScreen, so that the full screen media 5170 controls don't momentarily appear at the end of an animation. 5171 5172 * UIProcess/mac/WKFullScreenWindowController.mm: 5173 (-[WKFullScreenWindowController enterFullScreen:]): 5174 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): 5175 (-[WKFullScreenWindowController exitFullScreen]): 5176 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): 5177 51782012-04-13 Anders Carlsson <andersca@apple.com> 5179 5180 Make sure that we're using the right compiler for generating derived sources. 5181 5182 Rubber-stamped by Dan Bernstein. 5183 5184 * WebKit2.xcodeproj/project.pbxproj: 5185 51862012-04-13 Anders Carlsson <andersca@apple.com> 5187 5188 Include the error if we fail to initialize the web process sandbox 5189 https://bugs.webkit.org/show_bug.cgi?id=83927 5190 5191 Reviewed by Alexey Proskuryakov. 5192 5193 * WebProcess/mac/WebProcessMac.mm: 5194 (WebKit::initializeSandbox): 5195 51962012-04-13 Brady Eidson <beidson@apple.com> 5197 5198 <rdar://problem/11176921> and https://bugs.webkit.org/show_bug.cgi?id=83600 5199 Need WebKit2 API to notify whether history loads are in the page cache 5200 5201 - Add a new WKBundlePageLoaderClient callback allowing the bundle to be notified 5202 of back/forward navigations (and deny them if it chooses) 5203 - Add a new API to WKBundleBackForwardListItem to probe if the item is in the page cache. 5204 5205 Reviewed by Darin Adler. 5206 5207 Add the new WKBundleBackForwardListItem API: 5208 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: 5209 (WKBundleBackForwardListItemIsInPageCache): 5210 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h: 5211 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 5212 (WebKit::InjectedBundleBackForwardListItem::isInPageCache): 5213 5214 Update the UI page loader client to allow for a user data object to be passed from the bundle: 5215 * UIProcess/API/C/WKPage.h: 5216 * UIProcess/WebLoaderClient.cpp: 5217 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Update a comment typo. 5218 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Update for the user data field. 5219 * UIProcess/WebLoaderClient.h: 5220 * UIProcess/WebPageProxy.cpp: 5221 (WebKit::WebPageProxy::willGoToBackForwardListItem): 5222 * UIProcess/WebPageProxy.h: 5223 * UIProcess/WebPageProxy.messages.in: 5224 5225 Add the new callback to the bundle loader client: 5226 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 5227 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 5228 (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): 5229 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 5230 (InjectedBundlePageLoaderClient): 5231 5232 Call the bundle client before doing anything else, possibly canceling the navigation: 5233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5234 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): 5235 5236 * WebProcess/qt/QtBuiltinBundlePage.cpp: 5237 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage) Adopt new bundle client interface. 5238 52392012-04-13 Dinu Jacob <dinu.jacob@nokia.com> 5240 5241 [Qt][WK2] Title in MiniBrowser is not updated for a page with no title 5242 https://bugs.webkit.org/show_bug.cgi?id=82483 5243 5244 Reviewed by Noam Rosenthal. 5245 5246 This fixes API tests broken by r113715. 5247 5248 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: 5249 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 5250 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: 5251 52522012-04-13 Sheriff Bot <webkit.review.bot@gmail.com> 5253 5254 Unreviewed, rolling out r113714. 5255 http://trac.webkit.org/changeset/113714 5256 https://bugs.webkit.org/show_bug.cgi?id=83887 5257 5258 It is behaving strange on the bots and needs more 5259 investigation. (Requested by jeez_ on #webkit). 5260 5261 * UIProcess/qt/QtPageClient.cpp: 5262 (QtPageClient::isViewWindowActive): 5263 52642012-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 5265 5266 [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering. 5267 https://bugs.webkit.org/show_bug.cgi?id=83770 5268 5269 Reviewed by Kenneth Rohde Christiansen. 5270 5271 - Do the alignment on the highest level as possible: the QQuickFlickable content item 5272 position. It already supports this with setPixelAligned which rounds the content item's position. 5273 - Also move the setClip(true) to the common constructor as this constructor is currently only used by WTR. 5274 - Remove setFlags(QQuickItem::ItemClipsChildrenToShape) as it is redundant with setClip(true). 5275 5276 * UIProcess/API/qt/qquickwebview.cpp: 5277 (QQuickWebViewPrivate::QQuickWebViewPrivate): 5278 (QQuickWebView::QQuickWebView): 5279 52802012-04-12 Alexey Proskuryakov <ap@apple.com> 5281 5282 Preprocessing text files with modern clang treats double slashes in comments 5283 https://bugs.webkit.org/show_bug.cgi?id=83827 5284 5285 Reviewed by Mark Rowe. 5286 5287 * DerivedSources.make: Pass appropriate flags to both llvm and gcc. 5288 52892012-04-12 Brent Fulgham <bfulgham@webkit.org> 5290 5291 [WinCairo] Build fix after Windows export definition file change. 5292 5293 * win/WebKit2CFLite.def: This file needs to be kept in sync with 5294 WebKit2.def (aside from the WebKitInterface exports.) 5295 52962012-04-12 Bear Travis <betravis@adobe.com> 5297 5298 [CSS Exclusions] Add flag to enable / disable exclusions at runtime 5299 https://bugs.webkit.org/show_bug.cgi?id=83313 5300 5301 Reviewed by Ryosuke Niwa. 5302 5303 Adding windows symbols 5304 5305 * win/WebKit2.def: 5306 * win/WebKit2CFLite.def: 5307 53082012-04-12 Yael Aharon <yael.aharon@nokia.com> 5309 5310 [Qt][WK2] Nested fixed elements scroll too fast 5311 https://bugs.webkit.org/show_bug.cgi?id=83720 5312 5313 Reviewed by Noam Rosenthal. 5314 5315 Set the fixedToViewport flag on the fixed position layers and adjust to 5316 the new function name for setting scrollPositionDelta. 5317 5318 * UIProcess/WebLayerTreeRenderer.cpp: 5319 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers): 5320 (WebKit::WebLayerTreeRenderer::setLayerState): 5321 53222012-04-12 Kenneth Rohde Christiansen <kenneth@webkit.org> 5323 5324 Move viewport meta handling to the web process side 5325 https://bugs.webkit.org/show_bug.cgi?id=83771 5326 5327 Reviewed by Simon Hausmann. 5328 5329 Instead of computing the viewport attributes on both sides, 5330 we now do everything on the web process side, and just send 5331 over the computed result. 5332 5333 * Scripts/webkit2/messages.py: 5334 (struct_or_class): 5335 (headers_for_type): 5336 * Shared/WebCoreArgumentCoders.cpp: 5337 (CoreIPC::::encode): 5338 (CoreIPC::::decode): 5339 * Shared/WebCoreArgumentCoders.h: 5340 (WebCore): 5341 * UIProcess/API/efl/PageClientImpl.cpp: 5342 (WebKit::PageClientImpl::didChangeViewportProperties): 5343 * UIProcess/API/efl/PageClientImpl.h: 5344 (PageClientImpl): 5345 * UIProcess/API/gtk/PageClientImpl.cpp: 5346 (WebKit::PageClientImpl::didChangeViewportProperties): 5347 * UIProcess/API/gtk/PageClientImpl.h: 5348 (PageClientImpl): 5349 * UIProcess/API/mac/PageClientImpl.h: 5350 (PageClientImpl): 5351 * UIProcess/API/mac/PageClientImpl.mm: 5352 (WebKit::PageClientImpl::didChangeViewportProperties): 5353 * UIProcess/API/qt/qquickwebview.cpp: 5354 (QQuickWebViewPrivate::didRelaunchProcess): 5355 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 5356 (QQuickWebViewFlickablePrivate::updateViewportSize): 5357 * UIProcess/API/qt/qquickwebview_p_p.h: 5358 (QQuickWebViewPrivate::didChangeViewportProperties): 5359 (QQuickWebViewPrivate): 5360 (QQuickWebViewFlickablePrivate): 5361 * UIProcess/PageClient.h: 5362 (WebCore): 5363 (PageClient): 5364 * UIProcess/WebPageProxy.cpp: 5365 (WebKit::WebPageProxy::didChangeViewportProperties): 5366 * UIProcess/WebPageProxy.h: 5367 (WebCore): 5368 (WebPageProxy): 5369 * UIProcess/WebPageProxy.messages.in: 5370 * UIProcess/qt/QtPageClient.cpp: 5371 (QtPageClient::didChangeViewportProperties): 5372 * UIProcess/qt/QtPageClient.h: 5373 (QtPageClient): 5374 * UIProcess/win/WebView.cpp: 5375 (WebKit::WebView::didChangeViewportProperties): 5376 * UIProcess/win/WebView.h: 5377 (WebView): 5378 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 5379 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 5380 (WebKit): 5381 * WebProcess/WebPage/WebPage.cpp: 5382 (WebKit::WebPage::sendViewportAttributesChanged): 5383 (WebKit): 5384 (WebKit::WebPage::setViewportSize): 5385 * WebProcess/WebPage/WebPage.h: 5386 (WebPage): 5387 53882012-04-12 Zalan Bujtas <zbujtas@gmail.com> 5389 5390 [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset. 5391 https://bugs.webkit.org/show_bug.cgi?id=83428 5392 5393 Reviewed by Kenneth Rohde Christiansen. 5394 5395 When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting 5396 coordinates. It is already done at ScrollView base class and this patch copies the logic to the 5397 FrameView subclass. 5398 Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller. 5399 5400 * WebProcess/WebPage/WebPage.cpp: 5401 (WebKit::WebPage::highlightPotentialActivation): 5402 (WebKit::WebPage::findZoomableAreaForPoint): 5403 54042012-04-11 Andy Estes <aestes@apple.com> 5405 5406 Remove an autorelease pool made redundant by r113923. 5407 https://bugs.webkit.org/show_bug.cgi?id=83730 5408 5409 Reviewed by Dan Bernstein. 5410 5411 Remove flushLayer()'s autorelease pool, since one now exists in the 5412 call frame above it (in LayerFlushScheduler::runLoopObserverCallback()). 5413 5414 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 5415 (WebKit::LayerTreeHostCAMac::flushLayers): 5416 54172012-04-11 Carlos Garcia Campos <cgarcia@igalia.com> 5418 5419 [GTK] Initial cookies API for WebKit2 GTK+ API 5420 https://bugs.webkit.org/show_bug.cgi?id=82441 5421 5422 Reviewed by Gustavo Noronha Silva. 5423 5424 * GNUmakefile.am: Add new files to compilation. 5425 * UIProcess/API/gtk/WebKitCookieManager.cpp: Added. 5426 (webkit_cookie_manager_init): 5427 (webkitCookieManagerFinalize): 5428 (webkit_cookie_manager_class_init): 5429 (webkitCookieManagerCreate): Create a new WebKitCookieManager for 5430 the given WKCookieManagerRef. 5431 (webkit_cookie_manager_set_accept_policy): Set the cookie 5432 acceptance policy. 5433 (webkitCookieManagerGetAcceptPolicyCallback): Callback called by 5434 the C API when the cookie acceptance policy has been received. 5435 (webkit_cookie_manager_get_accept_policy): Asynchronously get the 5436 cookie acceptance policy. 5437 (webkit_cookie_manager_get_accept_policy_finish): Finish async 5438 operation started by webkit_cookie_manager_get_accept_policy() 5439 returning the cookie acceptance policy. 5440 (webkitCookieManagerGetDomainsWithCookiesCallback): Callback 5441 called by the C API when the list of hostnames with cookies has 5442 been received. 5443 (webkit_cookie_manager_get_domains_with_cookies): Asynchronously 5444 get the list of domains with cookies. 5445 (webkit_cookie_manager_get_domains_with_cookies_finish): Finish 5446 async operation started by 5447 webkit_cookie_manager_get_domains_with_cookies() returning the 5448 list of domains. 5449 (webkit_cookie_manager_delete_cookies_for_domain): Delete all 5450 cookies for the given domain. 5451 (webkit_cookie_manager_delete_all_cookies): Delete all cookies. 5452 * UIProcess/API/gtk/WebKitCookieManager.h: Added. 5453 * UIProcess/API/gtk/WebKitCookieManagerPrivate.h: Added. 5454 * UIProcess/API/gtk/WebKitWebContext.cpp: 5455 (webkit_web_context_get_cookie_manager): Get the 5456 WebKitCookieManager associated with the web context. 5457 * UIProcess/API/gtk/WebKitWebContext.h: 5458 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for 5459 WebKitCookieManager. 5460 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 5461 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 5462 webkit_cookie_manager_get_type. 5463 * UIProcess/API/gtk/tests/GNUmakefile.am: 5464 * UIProcess/API/gtk/tests/TestCookieManager.cpp: Added. 5465 (testCookieManagerAcceptPolicy): 5466 (testCookieManagerDeleteCookies): 5467 (serverCallback): 5468 (beforeAll): 5469 (afterAll): 5470 * UIProcess/API/gtk/webkit2.h: Include WebKitCookieManager.h. 5471 54722012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 5473 5474 [Qt] InspectorServer: Add an API level auto test 5475 https://bugs.webkit.org/show_bug.cgi?id=83594 5476 5477 Reviewed by Kenneth Rohde Christiansen. 5478 5479 This tests InspectorServer and WebSocketServer. 5480 5481 * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Added. 5482 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Added. 5483 (tst_InspectorServer): 5484 (tst_InspectorServer::tst_InspectorServer): 5485 (tst_InspectorServer::prepareWebViewComponent): 5486 (tst_InspectorServer::newWebView): 5487 (tst_InspectorServer::init): 5488 (tst_InspectorServer::cleanup): 5489 (tst_InspectorServer::webView): 5490 (tst_InspectorServer::fetchPageList): 5491 (tst_InspectorServer::testPageList): This tests that pages with developerExtrasEnabled appear available for inspection. 5492 (tst_InspectorServer::testRemoteDebuggingMessage): This tests a web socket connection using a raw inspector command. 5493 (tst_InspectorServer::openRemoteDebuggingSession): This tests the whole pipeline by starting a remote inspection session. 5494 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 5495 (tst_QQuickWebView): 5496 (tst_QQuickWebView::prepareWebViewComponent): 5497 * UIProcess/API/qt/tests/tests.pri: 5498 * UIProcess/API/qt/tests/util.cpp: 5499 (LoadStartedCatcher::LoadStartedCatcher): 5500 (LoadStartedCatcher::onLoadingChanged): 5501 * UIProcess/API/qt/tests/util.h: 5502 (LoadStartedCatcher): 5503 55042012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 5505 5506 [Qt] InspectorServer: Improve the JSON page list's parameter names 5507 https://bugs.webkit.org/show_bug.cgi?id=83592 5508 5509 Reviewed by Simon Hausmann. 5510 5511 - Add "id" that would be needed to build the URL when using local front-end resources 5512 (and will be used by tests) 5513 - Rename description to "title", the description contains both the title and URL on the final list 5514 - Rename inspectorLocation to "inspectorUrl" to match with the url parameter. 5515 5516 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: 5517 (WebKit::WebInspectorServer::buildPageList): 5518 * qt/Resources/inspectorPageIndex.html: 5519 55202012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 5521 5522 [Qt] Fix issues when using the WebView as ShaderEffectSource 5523 https://bugs.webkit.org/show_bug.cgi?id=83587 5524 5525 Reviewed by Noam Rosenthal. 5526 5527 Qt is going to mirror the projection matrix when the shader effect source 5528 is grabbed. Detect that the matrix is mirrored and pass on this information 5529 to TextureMapper so that it can do the same. 5530 5531 * UIProcess/WebLayerTreeRenderer.cpp: 5532 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 5533 * UIProcess/WebLayerTreeRenderer.h: 5534 (WebLayerTreeRenderer): 5535 * UIProcess/qt/QtWebPageSGNode.cpp: 5536 (WebKit::ContentsSGNode::render): 5537 55382012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 5539 5540 [Qt] Remove unnecessary rendering code 5541 https://bugs.webkit.org/show_bug.cgi?id=83591 5542 5543 Reviewed by Noam Rosenthal. 5544 5545 - Remove code that isn't needed since the introduction of WebLayerTreeRenderer 5546 - Remove TextureMapper::bindSurface(0) calls following beginPainting, which calls it itself. 5547 5548 * UIProcess/API/qt/qquickwebpage.cpp: 5549 (QQuickWebPagePrivate::paint): 5550 * UIProcess/API/qt/qquickwebpage_p_p.h: 5551 (QQuickWebPagePrivate): 5552 * UIProcess/DrawingAreaProxy.h: 5553 * UIProcess/DrawingAreaProxyImpl.cpp: 5554 * UIProcess/DrawingAreaProxyImpl.h: 5555 (DrawingAreaProxyImpl): 5556 * UIProcess/LayerTreeHostProxy.cpp: 5557 * UIProcess/LayerTreeHostProxy.h: 5558 (LayerTreeHostProxy): 5559 * UIProcess/WebLayerTreeRenderer.cpp: 5560 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 5561 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext): 5562 55632012-04-10 Carlos Garcia Campos <cgarcia@igalia.com> 5564 5565 Unreviewed. Fix make distcheck issues. 5566 5567 * GNUmakefile.am: Add missing header file. 5568 55692012-04-10 Mark Rowe <mrowe@apple.com> 5570 5571 <rdar://problem/10583749> WebKit2 should log to both ASL and stderr 5572 5573 Replace direct calls to fprintf stderr with calls to WTFLogAlways. 5574 5575 Reviewed by Sam Weinig. 5576 5577 * PluginProcess/mac/PluginProcessMainMac.mm: 5578 (WebKit::PluginProcessMain): 5579 * UIProcess/WebProcessProxy.cpp: 5580 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 5581 (WebKit::WebProcessProxy::didReceiveInvalidMessage): 5582 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 5583 (WebKit::InjectedBundle::load): 5584 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 5585 (readSandboxProfile): 5586 (WKN_EnterSandbox): 5587 * WebProcess/mac/WebProcessMac.mm: 5588 (WebKit::initializeSandbox): 5589 * WebProcess/mac/WebProcessMainMac.mm: 5590 (WebKit::WebProcessMain): 5591 55922012-04-10 Yael Aharon <yael.aharon@nokia.com> 5593 5594 Unreviewed build fix after r113791. 5595 5596 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 5597 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 5598 55992012-04-10 Yael Aharon <yael.aharon@nokia.com> 5600 5601 Initial support for fixed position elements in Qt WebKit2 5602 https://bugs.webkit.org/show_bug.cgi?id=81786 5603 5604 Reviewed by Noam Rosenthal. 5605 5606 Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout. 5607 As we scroll, we keep track of the delta in scroll position between the UI and web processes, 5608 and adjust the position of all the fixed layers by that delta. 5609 When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending, 5610 and commit the new scroll position in flushLayerChanges. 5611 This patch does not address scrolling overshoot and it does not fix the wrong positioning 5612 that occurs when we zoom. These issues will be addressed in future patches. 5613 5614 * Shared/WebLayerTreeInfo.h: 5615 * UIProcess/API/qt/qquickwebpage.cpp: 5616 (QQuickWebPagePrivate::updateSize): 5617 * UIProcess/LayerTreeHostProxy.cpp: 5618 (WebKit::LayerTreeHostProxy::setContentsSize): 5619 (WebKit): 5620 (WebKit::LayerTreeHostProxy::renderNextFrame): 5621 (WebKit::LayerTreeHostProxy::didChangeScrollPosition): 5622 * UIProcess/LayerTreeHostProxy.h: 5623 (LayerTreeHostProxy): 5624 * UIProcess/LayerTreeHostProxy.messages.in: 5625 * UIProcess/WebLayerTreeRenderer.cpp: 5626 (WebKit::boundedScrollPosition): 5627 (WebKit): 5628 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 5629 (WebKit::WebLayerTreeRenderer::setContentsSize): 5630 (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers): 5631 (WebKit::WebLayerTreeRenderer::didChangeScrollPosition): 5632 (WebKit::WebLayerTreeRenderer::syncLayerParameters): 5633 (WebKit::WebLayerTreeRenderer::deleteLayer): 5634 (WebKit::WebLayerTreeRenderer::flushLayerChanges): 5635 * UIProcess/WebLayerTreeRenderer.h: 5636 (WebLayerTreeRenderer): 5637 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 5638 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 5639 (WebCore::WebGraphicsLayer::syncCompositingState): 5640 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 5641 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 5642 (WebGraphicsLayerClient): 5643 (WebCore::WebGraphicsLayer::fixedToViewport): 5644 (WebCore::WebGraphicsLayer::setFixedToViewport): 5645 (WebGraphicsLayer): 5646 * WebProcess/WebPage/WebPage.cpp: 5647 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 5648 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 5649 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 5650 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer): 5651 (WebKit::updateOffsetFromViewportForSelf): 5652 (WebKit): 5653 (WebKit::updateOffsetFromViewportForLayer): 5654 (WebKit::LayerTreeHostQt::syncFixedLayers): 5655 (WebKit::LayerTreeHostQt::setVisibleContentsRect): 5656 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 5657 (LayerTreeHostQt): 5658 56592012-04-10 Anders Carlsson <andersca@apple.com> 5660 5661 Fix fast/images/exif-orientation.html WebKitTestRunner failure 5662 https://bugs.webkit.org/show_bug.cgi?id=83627 5663 5664 Reviewed by Sam Weinig. 5665 5666 Handle overriding the WebKitShouldRespectImageOrientation preference. 5667 5668 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5669 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 5670 56712012-04-10 No'am Rosenthal <noam.rosenthal@nokia.com> 5672 5673 [Qt][WK2] Manage graphics buffers in the web process 5674 https://bugs.webkit.org/show_bug.cgi?id=78675 5675 5676 Added ShareableSurface, a class allowing the use of GPU-enabled 5677 surfaces for bitmap transfer between the web and UI processes. 5678 Since GraphicsSurfaces may not always be available, ShareableSurface 5679 uses a standard ShareableBitmap as a fallback backend. 5680 5681 The necessary plumbing was added in WebKit2 for passing updates via 5682 ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was 5683 added, as to not make UpdateInfo more complicated. 5684 5685 Reviewed by Kenneth Rohde Christiansen. 5686 5687 * Shared/ShareableSurface.cpp: Added. 5688 * Shared/ShareableSurface.h: Added. 5689 * Shared/SurfaceUpdateInfo.cpp: Added. 5690 * Shared/SurfaceUpdateInfo.h: Added. 5691 * Target.pri: 5692 * UIProcess/LayerTreeHostProxy.cpp: 5693 (WebKit::LayerTreeHostProxy::createTileForLayer): 5694 (WebKit::LayerTreeHostProxy::updateTileForLayer): 5695 * UIProcess/LayerTreeHostProxy.h: 5696 (LayerTreeHostProxy): 5697 * UIProcess/LayerTreeHostProxy.messages.in: 5698 * UIProcess/WebLayerTreeRenderer.cpp: 5699 (WebKit::WebLayerTreeRenderer::updateTile): 5700 * UIProcess/WebLayerTreeRenderer.h: 5701 (TileUpdate): 5702 (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate): 5703 * UIProcess/qt/LayerBackingStore.cpp: 5704 (WebKit::LayerBackingStoreTile::swapBuffers): 5705 (WebKit::LayerBackingStoreTile::setBackBuffer): 5706 (WebKit::LayerBackingStore::updateTile): 5707 * UIProcess/qt/LayerBackingStore.h: 5708 (LayerBackingStoreTile): 5709 (LayerBackingStore): 5710 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 5711 (WebCore::WebGraphicsLayer::beginContentUpdate): 5712 (WebCore::WebGraphicsLayer::createTile): 5713 (WebCore::WebGraphicsLayer::updateTile): 5714 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 5715 (WebGraphicsLayerClient): 5716 (WebGraphicsLayer): 5717 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 5718 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 5719 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: 5720 (WebKit): 5721 (TiledBackingStoreRemoteTileClient): 5722 * WebProcess/WebPage/UpdateAtlas.cpp: 5723 (WebKit::UpdateAtlas::UpdateAtlas): 5724 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer): 5725 * WebProcess/WebPage/UpdateAtlas.h: 5726 (WebKit::UpdateAtlas::surface): 5727 (WebKit::UpdateAtlas::size): 5728 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 5729 (WebKit::LayerTreeHostQt::createTile): 5730 (WebKit::LayerTreeHostQt::updateTile): 5731 (WebKit::LayerTreeHostQt::beginContentUpdate): 5732 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 5733 (LayerTreeHostQt): 5734 57352012-04-10 Patrick Gansterer <paroga@webkit.org> 5736 5737 [CMake] Enable USE_FOLDERS property 5738 https://bugs.webkit.org/show_bug.cgi?id=83571 5739 5740 Reviewed by Daniel Bates. 5741 5742 Setting the FOLDER property on targets gives more structure 5743 to the generated Visual Studio solutions. 5744 This does not affect other CMake generators. 5745 5746 * CMakeLists.txt: 5747 57482012-04-10 Dinu Jacob <dinu.jacob@nokia.com> 5749 5750 [Qt][WK2] Assertion failure on loading new page after panning/zooming 5751 https://bugs.webkit.org/show_bug.cgi?id=83049 5752 5753 Reviewed by Kenneth Rohde Christiansen. 5754 5755 When handling contents size change, set the visible content rectangle immediately, 5756 instead of animating to it. 5757 5758 * UIProcess/qt/QtViewportInteractionEngine.cpp: 5759 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 5760 57612012-04-10 Dinu Jacob <dinu.jacob@nokia.com> 5762 5763 [Qt][WK2] Title in MiniBrowser is not updated for a page with no title 5764 https://bugs.webkit.org/show_bug.cgi?id=82483 5765 5766 Reviewed by Kenneth Rohde Christiansen. 5767 5768 titleChanged signal is not emitted on comitting a new load. 5769 5770 * UIProcess/API/qt/tests/html/basic_page.html: 5771 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 5772 (tst_QQuickWebView): 5773 (tst_QQuickWebView::titleUpdate): 5774 * UIProcess/qt/QtWebPageLoadClient.cpp: 5775 (QtWebPageLoadClient::didCommitLoadForFrame): 5776 57772012-04-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 5778 5779 [Qt][WK2] Implement PageClient::isViewWindowActive() 5780 https://bugs.webkit.org/show_bug.cgi?id=81143 5781 5782 Reviewed by Kenneth Rohde Christiansen. 5783 5784 This patch implements PageClient::isViewWindowActive() 5785 now that QQuickCanvas::isActive() is available (from QWindow). 5786 5787 * UIProcess/qt/QtPageClient.cpp: 5788 (QtPageClient::isViewWindowActive): 5789 57902012-04-10 Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos <cgarcia@igalia.com> 5791 5792 [WK2][GTK] FullScreen signals 5793 https://bugs.webkit.org/show_bug.cgi?id=76166 5794 5795 Reviewed by Gustavo Noronha Silva. 5796 5797 * GNUmakefile.am: Add new files to compilation. 5798 * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp: 5799 (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase 5800 fullscreen client. 5801 * UIProcess/API/C/gtk/WKFullScreenClientGtk.h: 5802 * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added. 5803 (willEnterFullScreen): Call webkitWebViewEnterFullScreen(). 5804 (willExitFullScreen): Call webkitWebViewLeaveFullScreen(). 5805 (attachFullScreenClientToView): Initialize FullScreenClient adding 5806 implementations for willEnterFullScreen and willExitFullScreen callbacks. 5807 * UIProcess/API/gtk/WebKitFullscreenClient.h: Added. 5808 * UIProcess/API/gtk/WebKitPrivate.h: 5809 * UIProcess/API/gtk/WebKitWebView.cpp: 5810 (webkitWebViewConstructed): Attach fullscreen client to view. 5811 (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen 5812 and WebKitWebView::leave-fullscreen signals. 5813 (webkitWebViewEnterFullScreen): Emit 5814 WebKitWebView::enter-fullscreen signal. 5815 (webkitWebViewLeaveFullScreen): Emit 5816 WebKitWebView::leave-fullscreen signal. 5817 * UIProcess/API/gtk/WebKitWebView.h: 5818 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 5819 (webkitWebViewBaseKeyPressEvent): Only return early when leaving 5820 fullscreen, otherwise let the view process the key pressed. 5821 (webkitWebViewBaseEnterFullScreen): Return early if 5822 willEnterFullScreen callback is handled and returns false. 5823 (webkitWebViewBaseExitFullScreen): Return early if 5824 willExitFullScreen callback is handled and returns false. 5825 (webkitWebViewBaseInitializeFullScreenClient): Initialize the 5826 fullscreen client. 5827 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 5828 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 5829 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 5830 (testWebViewFullScreen): 5831 (beforeAll): 5832 * UIProcess/API/gtk/tests/WebViewTest.cpp: 5833 (WebViewTest::keyStroke): Helper function to synthesize key 5834 press/release events. 5835 * UIProcess/API/gtk/tests/WebViewTest.h: 5836 * UIProcess/API/gtk/webkit2marshal.list: 5837 * UIProcess/gtk/WebFullScreenClientGtk.cpp: 5838 (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call 5839 willEnterFullScreen callback if defined. 5840 (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call 5841 willExitFullScreen callback if defined. 5842 * UIProcess/gtk/WebFullScreenClientGtk.h: 5843 58442012-04-10 Patrick Gansterer <paroga@webkit.org> 5845 5846 [CMake] Add missing source files to build system 5847 5848 * CMakeLists.txt: 5849 58502012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 5851 5852 [WK2] Enable using a single ShareableBitmap for multiple updates 5853 https://bugs.webkit.org/show_bug.cgi?id=83424 5854 5855 Reviewed by Kenneth Rohde Christiansen. 5856 5857 Enabled creating a GraphicsContext that references a rect inside ShareableBitmap. 5858 Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap. 5859 Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap. 5860 5861 In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is 5862 either available or used. When the buffers are swapped, all used buffers become available 5863 again. A future enhancement might allow triple-buffering, where available rects can be 5864 updated while other rects from the same atlas are in use. 5865 5866 Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of 5867 UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one 5868 alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer, 5869 the update would be postponed to the next frame, creating a tiling-artifact in low memory 5870 situations. 5871 5872 * Shared/UpdateInfo.cpp: 5873 (WebKit::UpdateInfo::encode): 5874 (WebKit::UpdateInfo::decode): 5875 * Shared/UpdateInfo.h: 5876 (UpdateInfo): 5877 * Target.pri: 5878 * UIProcess/LayerTreeHostProxy.cpp: 5879 (WebKit::LayerTreeHostProxy::updateTileForLayer): 5880 * UIProcess/WebLayerTreeRenderer.cpp: 5881 (WebKit::WebLayerTreeRenderer::syncLayerParameters): 5882 (WebKit::WebLayerTreeRenderer::updateTile): 5883 (WebKit::WebLayerTreeRenderer::createImage): 5884 * UIProcess/WebLayerTreeRenderer.h: 5885 (TileUpdate): 5886 (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate): 5887 (WebLayerTreeRenderer): 5888 * UIProcess/qt/LayerBackingStore.cpp: 5889 (WebKit::LayerBackingStoreTile::swapBuffers): 5890 (WebKit::LayerBackingStoreTile::setBackBuffer): 5891 (WebKit::LayerBackingStore::createTile): 5892 * UIProcess/qt/LayerBackingStore.h: 5893 (LayerBackingStoreTile): 5894 (LayerBackingStore): 5895 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 5896 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor): 5897 (WebCore::WebGraphicsLayer::beginContentUpdate): 5898 (WebCore): 5899 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 5900 (WebGraphicsLayerClient): 5901 (WebGraphicsLayer): 5902 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 5903 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 5904 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: 5905 (TiledBackingStoreRemoteTileClient): 5906 * WebProcess/WebPage/UpdateAtlas.cpp: Added. 5907 (WebKit): 5908 (WebKit::UpdateAtlas::UpdateAtlas): 5909 (WebKit::nextPowerOfTwo): 5910 (WebKit::UpdateAtlas::buildLayoutIfNeeded): 5911 (WebKit::UpdateAtlas::findAvailableIndex): 5912 (WebKit::UpdateAtlas::didSwapBuffers): 5913 (WebKit::UpdateAtlas::acquireScratchBuffer): 5914 (WebKit::UpdateAtlas::offsetForIndex): 5915 * WebProcess/WebPage/UpdateAtlas.h: Added. 5916 (WebCore): 5917 (WebKit): 5918 (UpdateAtlas): 5919 (WebKit::UpdateAtlas::bitmap): 5920 (WebKit::UpdateAtlas::size): 5921 (WebKit::UpdateAtlas::flags): 5922 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 5923 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 5924 (WebKit::LayerTreeHostQt::renderNextFrame): 5925 (WebKit::LayerTreeHostQt::purgeBackingStores): 5926 (WebKit): 5927 (WebKit::LayerTreeHostQt::getAtlas): 5928 (WebKit::LayerTreeHostQt::beginContentUpdate): 5929 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 5930 (LayerTreeHostQt): 5931 59322012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 5933 5934 [Qt][WK2] Sync the layer's state and the layer's children separately 5935 https://bugs.webkit.org/show_bug.cgi?id=82534 5936 5937 Reviewed by Kenneth Rohde Christiansen. 5938 5939 Switched the WebLayerInfo struct, which includes a single layer's state, 5940 to use only POD types that can be serialized via SimpleArgumentCoder. 5941 To allow POD-serialization, we serialize the children IDs in a seperate 5942 message (SetLayerChildren), and only when the tree layout has actually 5943 been modified. 5944 5945 * Shared/WebLayerTreeInfo.cpp: 5946 (WebKit::WebLayerInfo::encode): 5947 (WebKit::WebLayerInfo::decode): 5948 * Shared/WebLayerTreeInfo.h: 5949 (WebKit::WebLayerInfo::WebLayerInfo): 5950 * UIProcess/LayerTreeHostProxy.cpp: 5951 (WebKit::LayerTreeHostProxy::setCompositingLayerState): 5952 (WebKit): 5953 (WebKit::LayerTreeHostProxy::setCompositingLayerChildren): 5954 * UIProcess/LayerTreeHostProxy.h: 5955 (LayerTreeHostProxy): 5956 * UIProcess/LayerTreeHostProxy.messages.in: 5957 * UIProcess/WebLayerTreeRenderer.cpp: 5958 (WebKit::WebLayerTreeRenderer::setLayerChildren): 5959 (WebKit): 5960 (WebKit::WebLayerTreeRenderer::setLayerState): 5961 * UIProcess/WebLayerTreeRenderer.h: 5962 (WebLayerTreeRenderer): 5963 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 5964 (WebCore::WebGraphicsLayer::didChangeLayerState): 5965 (WebCore): 5966 (WebCore::WebGraphicsLayer::didChangeChildren): 5967 (WebCore::WebGraphicsLayer::didChangeGeometry): 5968 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 5969 (WebCore::WebGraphicsLayer::setChildren): 5970 (WebCore::WebGraphicsLayer::addChild): 5971 (WebCore::WebGraphicsLayer::addChildAtIndex): 5972 (WebCore::WebGraphicsLayer::addChildAbove): 5973 (WebCore::WebGraphicsLayer::addChildBelow): 5974 (WebCore::WebGraphicsLayer::replaceChild): 5975 (WebCore::WebGraphicsLayer::removeFromParent): 5976 (WebCore::WebGraphicsLayer::setDrawsContent): 5977 (WebCore::WebGraphicsLayer::setContentsOpaque): 5978 (WebCore::WebGraphicsLayer::setBackfaceVisibility): 5979 (WebCore::WebGraphicsLayer::setOpacity): 5980 (WebCore::WebGraphicsLayer::setContentsRect): 5981 (WebCore::WebGraphicsLayer::setContentsToImage): 5982 (WebCore::WebGraphicsLayer::setMaskLayer): 5983 (WebCore::WebGraphicsLayer::setReplicatedByLayer): 5984 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 5985 (WebCore::WebGraphicsLayer::id): 5986 (WebCore::WebGraphicsLayer::syncChildren): 5987 (WebCore::WebGraphicsLayer::syncLayerState): 5988 (WebCore::WebGraphicsLayer::syncImageBackingStore): 5989 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 5990 (WebCore::WebGraphicsLayer::setRootLayer): 5991 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 5992 (WebGraphicsLayerClient): 5993 (WebGraphicsLayer): 5994 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 5995 (WebKit::LayerTreeHostQt::syncLayerState): 5996 (WebKit): 5997 (WebKit::LayerTreeHostQt::syncLayerChildren): 5998 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 5999 (LayerTreeHostQt): 6000 60012012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 6002 6003 [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized 6004 https://bugs.webkit.org/show_bug.cgi?id=75780 6005 6006 Reviewed by Kenneth Rohde Christiansen. 6007 6008 Remove the ui-side animation code, and return false from addAnimation so that web-side 6009 animations kick in. 6010 6011 * Shared/WebLayerTreeInfo.cpp: 6012 (WebKit): 6013 * Shared/WebLayerTreeInfo.h: 6014 (WebLayerInfo): 6015 * UIProcess/WebLayerTreeRenderer.cpp: 6016 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 6017 (WebKit::WebLayerTreeRenderer::setLayerState): 6018 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6019 (WebCore::WebGraphicsLayer::didChangeGeometry): 6020 (WebCore::WebGraphicsLayer::syncLayerState): 6021 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect): 6022 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 6023 (WebGraphicsLayer): 6024 60252012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 6026 6027 [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed 6028 https://bugs.webkit.org/show_bug.cgi?id=82522 6029 6030 Reviewed by Kenneth Rohde Christiansen. 6031 6032 Currently we set the m_modified flags for all of the descendants of a layer 6033 that has changed its geometry. This causes unnecessary layer sync messages. 6034 Instead, we only sync when the actual layer has changed, and add a flag 6035 called m_shouldUpdateVisibleRect that applies to descendants of a layer 6036 that has a modified geometry. 6037 6038 * Shared/WebLayerTreeInfo.h: 6039 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6040 (WebCore::WebGraphicsLayer::didChangeChildren): 6041 (WebCore): 6042 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect): 6043 (WebCore::WebGraphicsLayer::didChangeGeometry): 6044 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 6045 (WebCore::WebGraphicsLayer::setPosition): 6046 (WebCore::WebGraphicsLayer::setAnchorPoint): 6047 (WebCore::WebGraphicsLayer::setSize): 6048 (WebCore::WebGraphicsLayer::setTransform): 6049 (WebCore::WebGraphicsLayer::setChildrenTransform): 6050 (WebCore::WebGraphicsLayer::setPreserves3D): 6051 (WebCore::WebGraphicsLayer::setContentsToImage): 6052 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 6053 (WebCore::WebGraphicsLayer::syncImageBackingStore): 6054 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 6055 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin): 6056 (WebCore::WebGraphicsLayer::setRootLayer): 6057 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 6058 (WebCore::WebGraphicsLayer::setContentsScale): 6059 (WebCore::WebGraphicsLayer::effectiveContentsScale): 6060 (WebCore::WebGraphicsLayer::adjustContentsScale): 6061 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 6062 (WebGraphicsLayer): 6063 60642012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 6065 6066 [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING 6067 https://bugs.webkit.org/show_bug.cgi?id=82533 6068 6069 Reviewed by Kenneth Rohde Christiansen. 6070 6071 No change in behavior, removing some #defines. 6072 6073 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6074 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect): 6075 (WebCore::WebGraphicsLayer::adjustContentsScale): 6076 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 6077 (WebGraphicsLayer): 6078 * WebProcess/WebPage/LayerTreeHost.h: 6079 (LayerTreeHost): 6080 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 6081 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 6082 (WebKit::LayerTreeHostQt::detachLayer): 6083 60842012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com> 6085 6086 [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine 6087 https://bugs.webkit.org/show_bug.cgi?id=82523 6088 6089 Reviewed by Kenneth Rohde Christiansen. 6090 6091 Always use contentsScale of 1 and a full visibleContentsRect when 6092 the layer's transform is not affine. That's because layer's with 6093 complex transform would not gain from the benefit of contents scaling, 6094 and might also create unexpected layer content sizes. 6095 6096 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6097 (WebCore::WebGraphicsLayer::createBackingStore): 6098 (WebCore): 6099 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 6100 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd): 6101 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 6102 (WebCore::WebGraphicsLayer::updateTile): 6103 (WebCore::WebGraphicsLayer::removeTile): 6104 (WebCore::WebGraphicsLayer::updateContentBuffers): 6105 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 6106 (WebGraphicsLayer): 6107 61082012-04-09 Zalan Bujtas <zbujtas@gmail.com> 6109 6110 [Qt][WK2] Fail to activate links after double tap gesture. 6111 https://bugs.webkit.org/show_bug.cgi?id=83468 6112 6113 Reviewed by Kenneth Rohde Christiansen. 6114 6115 After a recognized double tap gesture, QtTapGestureRecognizer 6116 gets stuck in the double-tap state. Only tapping outside of 6117 the double tap radius cancels it. 6118 Call reset() to set the default state back. 6119 6120 * UIProcess/qt/QtTapGestureRecognizer.cpp: 6121 (WebKit::QtTapGestureRecognizer::recognize): 6122 6123 ManualTests/link-activation-fails-after-double-tap-gesture.html: Added. 6124 61252012-04-07 Patrick Gansterer <paroga@webkit.org> 6126 6127 [CMake] Cleanup WTF include directories 6128 https://bugs.webkit.org/show_bug.cgi?id=82716 6129 6130 Reviewed by Eric Seidel. 6131 6132 * CMakeLists.txt: 6133 61342012-04-06 Jon Lee <jonlee@apple.com> 6135 6136 Build fix for Windows bots. 6137 6138 * win/WebKit2.def: Add missing export symbol. 6139 61402012-04-06 Hironori Bono <hbono@chromium.org> 6141 6142 REGRESSION: Cannot write a word with Korean double consonant 6143 https://bugs.webkit.org/show_bug.cgi?id=81186 6144 6145 Reviewed by Dan Bernstein. 6146 6147 WebKit change r103859 posts fake mouse-move events when the keyboard status is 6148 changed. Unfortunately, these mouse events go to input methods and confuse a 6149 Korean input method. This change directly calls handleMouseEvent() instead of 6150 -mouseMoved: to prevent sending these fake events to input methods. 6151 6152 * UIProcess/API/mac/WKView.mm: 6153 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): 6154 61552012-04-06 Alexey Proskuryakov <ap@apple.com> 6156 6157 [Mac] Adopt a different method of telling AppKit when inline input isn't supported 6158 https://bugs.webkit.org/show_bug.cgi?id=83408 6159 <rdar://problem/9205734> 6160 6161 Reviewed by Adele Peterson. 6162 6163 * UIProcess/API/mac/WKTextInputWindowController.mm: 6164 (-[WKTextInputView validAttributesForMarkedText]): 6165 (-[WKTextInputPanel init]): 6166 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment 6167 about old approach. 6168 61692012-04-06 Jer Noble <jer.noble@apple.com> 6170 6171 WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus. 6172 https://bugs.webkit.org/show_bug.cgi?id=83388 6173 6174 Reviewed by Geoffrey Garen. 6175 6176 Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if 6177 one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access. 6178 Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller 6179 and add that check to WebFullScreenManagerProxy::isFullScreen(). 6180 6181 * UIProcess/API/mac/WKView.mm: 6182 (-[WKView hasFullScreenWindowController]): 6183 * UIProcess/API/mac/WKViewInternal.h: 6184 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 6185 (WebKit::WebFullScreenManagerProxy::isFullScreen): 6186 61872012-04-06 Tim Horton <timothy_horton@apple.com> 6188 6189 Add autodetection of image orientation from EXIF information 6190 https://bugs.webkit.org/show_bug.cgi?id=19688 6191 <rdar://problem/4126979> and <rdar://problem/11091578> 6192 6193 Original patch by David Carson and Eric Seidel. 6194 6195 Reviewed by Simon Fraser. 6196 6197 Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images. 6198 6199 * Shared/WebPreferencesStore.h: 6200 (WebKit): 6201 * UIProcess/API/C/WKPreferences.cpp: 6202 (WKPreferencesSetShouldRespectImageOrientation): 6203 (WKPreferencesGetShouldRespectImageOrientation): 6204 * UIProcess/API/C/WKPreferences.h: 6205 * WebProcess/WebPage/WebPage.cpp: 6206 (WebKit::WebPage::updatePreferences): 6207 62082012-04-06 Dan Bernstein <mitz@apple.com> 6209 6210 <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access 6211 6212 Reviewed by Sam Weinig. 6213 6214 * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS. 6215 62162012-04-05 Anders Carlsson <andersca@apple.com> 6217 6218 Crash when switching to a tab with plug-ins 6219 https://bugs.webkit.org/show_bug.cgi?id=83339 6220 <rdar://problem/11183338> 6221 6222 Reviewed by Oliver Hunt. 6223 6224 Add an additional check so we don't try to call into plug-ins that haven't yet been initialized. 6225 6226 * WebProcess/Plugins/PluginView.cpp: 6227 (WebKit::PluginView::setLayerHostingMode): 6228 62292012-04-05 Dean Jackson <dino@apple.com> 6230 6231 [mac] requestAnimationFrame sometimes stuck when page loads in a background tab 6232 https://bugs.webkit.org/show_bug.cgi?id=76105 6233 6234 Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only. 6235 This means a Page might start requestAnimationFrame-based animations 6236 even when it isn't visible. This should only happen when a Page is 6237 opened in the background though. The regular hide and show should still 6238 pause animations. 6239 6240 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6241 (WebKit::DrawingAreaImpl::resumePainting): 6242 62432012-04-05 Dean Jackson <dino@apple.com> 6244 6245 [mac] requestAnimationFrame sometimes stuck when page loads in a background tab 6246 https://bugs.webkit.org/show_bug.cgi?id=76105 6247 6248 Reviewed by Simon Fraser. 6249 6250 When we are resuming painting only start the scripted animations 6251 if we're a visible window. This can happen when tabs are opened 6252 in the background. 6253 6254 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6255 (WebKit::DrawingAreaImpl::resumePainting): 6256 62572012-04-05 Patrick Gansterer <paroga@webkit.org> 6258 6259 [Qt] Correct <wtf/*.h> include paths. 6260 https://bugs.webkit.org/show_bug.cgi?id=83270 6261 6262 Reviewed by Eric Seidel. 6263 6264 Modify the #include declerations so that the 6265 wtf types are included using the full path. 6266 6267 * Shared/qt/QtNetworkReplyData.cpp: 6268 * UIProcess/WebLayerTreeRenderer.cpp: 6269 * UIProcess/qt/LayerBackingStore.h: 6270 * UIProcess/qt/QtViewportInteractionEngine.cpp: 6271 * UIProcess/qt/QtViewportInteractionEngine.h: 6272 * UIProcess/qt/QtWebPageSGNode.h: 6273 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6274 62752012-04-05 Jia Pu <jpu@apple.com> 6276 6277 Move correction panel related functions from EditorClient into separated AlternativeTextClient class. 6278 https://bugs.webkit.org/show_bug.cgi?id=82970 6279 6280 Reviewed by Enrica Casucci. 6281 6282 Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient. 6283 See WebCore/ChangeLog for details. 6284 6285 * UIProcess/API/gtk/PageClientImpl.cpp: 6286 * UIProcess/API/mac/PageClientImpl.h: 6287 (PageClientImpl): 6288 * UIProcess/API/mac/PageClientImpl.mm: 6289 (WebKit::PageClientImpl::recordAutocorrectionResponse): 6290 * UIProcess/API/qt/qquickwebview.cpp: 6291 * UIProcess/PageClient.h: 6292 (PageClient): 6293 * UIProcess/WebPageProxy.cpp: 6294 (WebKit::WebPageProxy::recordAutocorrectionResponse): 6295 * UIProcess/mac/CorrectionPanel.h: 6296 * UIProcess/mac/CorrectionPanel.mm: 6297 * WebKit2.xcodeproj/project.pbxproj: 6298 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added. 6299 (WebKit): 6300 (WebKit::WebAlternativeTextClient::WebAlternativeTextClient): 6301 (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient): 6302 (WebKit::WebAlternativeTextClient::showCorrectionAlternative): 6303 (WebKit::WebAlternativeTextClient::dismissAlternative): 6304 (WebKit::WebAlternativeTextClient::dismissAlternativeSoon): 6305 (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse): 6306 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added. 6307 (WebKit): 6308 (WebAlternativeTextClient): 6309 * WebProcess/WebCoreSupport/WebEditorClient.h: 6310 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 6311 (WebKit): 6312 * WebProcess/WebPage/WebPage.cpp: 6313 (WebKit::WebPage::WebPage): 6314 63152012-04-05 Csaba Osztrogonác <ossy@webkit.org> 6316 6317 [Qt] Fix includes after QtDeclarative -> QtQML renaming 6318 https://bugs.webkit.org/show_bug.cgi?id=82195 6319 6320 Relanding r112651, because Qt5 is updated everywhere. 6321 6322 * UIProcess/API/qt/qquicknetworkreply_p.h: 6323 * UIProcess/API/qt/qquicknetworkrequest_p.h: 6324 * UIProcess/API/qt/qquickwebview.cpp: 6325 * UIProcess/API/qt/qquickwebview_p.h: 6326 * UIProcess/API/qt/qwebiconimageprovider_p.h: 6327 * UIProcess/API/qt/qwebnavigationhistory.cpp: 6328 * UIProcess/API/qt/qwebnavigationhistory_p.h: 6329 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 6330 * UIProcess/qt/QtDialogRunner.cpp: 6331 (QtDialogRunner::initForAlert): 6332 (QtDialogRunner::initForConfirm): 6333 (QtDialogRunner::initForPrompt): 6334 (QtDialogRunner::initForAuthentication): 6335 (QtDialogRunner::initForProxyAuthentication): 6336 (QtDialogRunner::initForCertificateVerification): 6337 (QtDialogRunner::initForFilePicker): 6338 (QtDialogRunner::initForDatabaseQuotaDialog): 6339 (QtDialogRunner::createDialog): 6340 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 6341 (WebKit::WebPopupMenuProxyQt::createItem): 6342 (WebKit::WebPopupMenuProxyQt::createContext): 6343 63442012-04-04 Hayato Ito <hayato@chromium.org> 6345 6346 Remove ReifiedTreeTraversal. 6347 https://bugs.webkit.org/show_bug.cgi?id=83110 6348 6349 Reviewed by Dimitri Glazkov. 6350 6351 * win/WebKit2.def: 6352 * win/WebKit2CFLite.def: 6353 63542012-04-04 Shinya Kawanaka <shinyak@chromium.org> 6355 6356 Shadow DOM is exposed in JS. 6357 https://bugs.webkit.org/show_bug.cgi?id=82607 6358 6359 Reviewed by Hajime Morita. 6360 6361 * win/WebKit2.def: 6362 * win/WebKit2CFLite.def: 6363 63642012-04-04 Anders Carlsson <andersca@apple.com> 6365 6366 Text input doesn't work for some Flash forms 6367 https://bugs.webkit.org/show_bug.cgi?id=83232 6368 <rdar://problem/11186162> 6369 6370 Reviewed by Alexey Proskuryakov. 6371 6372 If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this 6373 is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename 6374 this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing 6375 and change WebPage::focusedWebPage to use windowAndWebPageAreFocused. 6376 6377 * WebProcess/WebPage/WebPage.cpp: 6378 (WebKit::WebPage::windowIsFocused): 6379 (WebKit): 6380 (WebKit::WebPage::windowAndWebPageAreFocused): 6381 * WebProcess/WebPage/WebPage.h: 6382 (WebPage): 6383 * WebProcess/WebProcess.cpp: 6384 (WebKit::WebProcess::focusedWebPage): 6385 63862012-03-15 Jer Noble <jer.noble@apple.com> 6387 6388 Full Screen mode should cancel before navigation. 6389 https://bugs.webkit.org/show_bug.cgi?id=81295 6390 6391 Reviewed by Anders Carlsson. 6392 6393 When a provisional load is started, if the page is currently in full screen mode, instruct 6394 the full screen controller to close the full screen window immediately. 6395 6396 Close the full screen window controller, if present and in full screen mode: 6397 * UIProcess/WebPageProxy.cpp: 6398 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 6399 6400 Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy 6401 to the WKFullScreenWindowController: 6402 * UIProcess/WebFullScreenManagerProxy.h: 6403 * UIProcess/mac/WKFullScreenWindowController.h: 6404 * UIProcess/mac/WKFullScreenWindowController.mm: 6405 (-[WKFullScreenWindowController isFullScreen]): Added simple accessor. 6406 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 6407 (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController. 6408 (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto. 6409 64102012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 6411 6412 WKTR needs to implement layoutTestController.setPageVisibility() 6413 https://bugs.webkit.org/show_bug.cgi?id=69554 6414 6415 Reviewed by Simon Fraser. 6416 6417 This patch implements the setPageVisibilityState through InjectedBundle 6418 so WKTR supports the Page Visibility API and can set the visibility state 6419 directly to Page. 6420 6421 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 6422 (WKBundleSetPageVisibilityState): 6423 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 6424 * WebProcess/InjectedBundle/InjectedBundle.cpp: 6425 (WebKit): 6426 (WebKit::InjectedBundle::setPageVisibilityState): 6427 * WebProcess/InjectedBundle/InjectedBundle.h: 6428 (InjectedBundle): 6429 64302012-04-04 Alexis Menard <alexis.menard@openbossa.org> 6431 6432 Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids. 6433 https://bugs.webkit.org/show_bug.cgi?id=83050 6434 6435 Reviewed by Simon Fraser. 6436 6437 The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission. 6438 6439 * Shared/WebCoreArgumentCoders.cpp: 6440 (CoreIPC::::encode): 6441 (CoreIPC::::decode): 6442 64432012-04-04 Allan Sandfeld Jensen <allan.jensen@nokia.com> 6444 6445 [Qt] Entire page highlighted on panning. 6446 https://bugs.webkit.org/show_bug.cgi?id=83158 6447 6448 Reviewed by Kenneth Rohde Christiansen. 6449 6450 * WebProcess/WebPage/WebPage.cpp: 6451 (WebKit::WebPage::highlightPotentialActivation): 6452 64532012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 6454 6455 [Qt][WK2] QtWebKit2 should support Page Visibility API 6456 https://bugs.webkit.org/show_bug.cgi?id=81164 6457 6458 Reviewed by Kenneth Rohde Christiansen. 6459 6460 Implementing the last bits needed for getting the expected 6461 behavior for Page Visibility API, according to its spec. 6462 The only missing part in Qt was a way to check whether 6463 the view was exposed or not. 6464 6465 * UIProcess/qt/QtPageClient.cpp: 6466 (QtPageClient::isViewVisible): 6467 64682012-04-04 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 6469 6470 [WK2] Add Page Visibility API support 6471 https://bugs.webkit.org/show_bug.cgi?id=81154 6472 6473 Reviewed by Kenneth Rohde Christiansen. 6474 6475 Use WebPageProxy::viewStateDidChange to correctly define the page's 6476 visibilityState and then set it to the WebProcess. The WebKit2's based 6477 ports just need to implement the related PageClient functions in order 6478 to get this API enabled and working properly. 6479 6480 * UIProcess/WebPageProxy.cpp: 6481 (WebKit::WebPageProxy::WebPageProxy): 6482 (WebKit::WebPageProxy::initializeWebPage): 6483 (WebKit::WebPageProxy::viewStateDidChange): 6484 * WebProcess/WebPage/WebPage.cpp: 6485 (WebKit): 6486 (WebKit::WebPage::setVisibilityState): 6487 * WebProcess/WebPage/WebPage.h: 6488 (WebPage): 6489 * WebProcess/WebPage/WebPage.messages.in: 6490 64912012-04-04 Kenneth Rohde Christiansen <kenneth@webkit.org> 6492 6493 [Qt] Further improvements of the tap gesture recognizer 6494 https://bugs.webkit.org/show_bug.cgi?id=83149 6495 6496 Reviewed by Zoltan Herczeg. 6497 6498 Ignore single tap while finger is still pressed. 6499 Some renaming to make the states more clear. 6500 A pan further than the maxPanDistance can now invalidate 6501 double-taps as well. 6502 6503 * UIProcess/qt/QtTapGestureRecognizer.cpp: 6504 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 6505 (WebKit::QtTapGestureRecognizer::recognize): 6506 (WebKit::QtTapGestureRecognizer::singleTapTimeout): 6507 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 6508 (WebKit::QtTapGestureRecognizer::reset): 6509 * UIProcess/qt/QtTapGestureRecognizer.h: 6510 65112012-04-04 Andras Becsi <andras.becsi@nokia.com> 6512 6513 [Qt][WK2] Make the WebView a subclass of Flickable 6514 https://bugs.webkit.org/show_bug.cgi?id=83033 6515 6516 Reviewed by Kenneth Rohde Christiansen. 6517 6518 Hitherto, the experiment of a QML WebView with an internal Flickable 6519 instance showed that the approach of hiding the Flickable raises more 6520 problems than it solves. 6521 6522 One set of problems arose because the internal Flickable was a separate 6523 item which received and reacted on automatically synthesized mouse events 6524 send by the canvas, this interfered with the gesture recognizers of the 6525 WebView. 6526 6527 Other issues were related to orientation and the integration of the 6528 WebView item with other QML items and components (like scroll indicators) 6529 which require a larger set of the Flickable API or the Flickable object 6530 itself (e.g. ScrollDecorator). 6531 6532 These disadvantages of an internal Flickable instance outweigh the 6533 benefits of controlling the exposed API, therefore the experiment had 6534 the conclusion that there is no way around the public inheritance from 6535 QQuickFlickable. 6536 6537 This patch removes the QtFlickProvider class, inherits QQuickWebView 6538 from QQuickFlickable and adjusts the viewport interaction engine and 6539 the gesture recognizers to use the Flickable API of the WebView to 6540 keep the same behaviour as before. 6541 6542 * Target.pri: 6543 * UIProcess/API/qt/qquickwebpage.cpp: 6544 (QQuickWebPage::QQuickWebPage): 6545 * UIProcess/API/qt/qquickwebview.cpp: 6546 (QQuickWebViewPrivate::QQuickWebViewPrivate): 6547 (QQuickWebViewFlickablePrivate::initialize): 6548 (QQuickWebViewFlickablePrivate::pageItemPos): 6549 (QQuickWebViewFlickablePrivate::updateContentsSize): 6550 (QQuickWebViewFlickablePrivate::onComponentComplete): 6551 (QQuickWebViewFlickablePrivate::updateViewportSize): 6552 (QQuickWebViewExperimental::useDefaultContentItemSize): 6553 (QQuickWebViewExperimental::setUseDefaultContentItemSize): 6554 (QQuickWebView::QQuickWebView): 6555 (QQuickWebView::inputMethodQuery): 6556 (QQuickWebView::geometryChanged): 6557 (QQuickWebView::componentComplete): 6558 (QQuickWebView::event): 6559 (QQuickWebView::contentPos): 6560 (QQuickWebView::setContentPos): 6561 (QQuickWebView::handlePress): 6562 (QQuickWebView::handleMove): 6563 (QQuickWebView::handleRelease): 6564 * UIProcess/API/qt/qquickwebview_p.h: 6565 (WebKit): 6566 * UIProcess/API/qt/qquickwebview_p_p.h: 6567 (QQuickWebViewPrivate): 6568 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 6569 (tst_QQuickWebView::scrollRequest): 6570 * UIProcess/API/qt/tests/tests.pri: 6571 * UIProcess/qt/QtFlickProvider.cpp: Removed. 6572 * UIProcess/qt/QtFlickProvider.h: Removed. 6573 * UIProcess/qt/QtPanGestureRecognizer.cpp: 6574 (WebKit::QtPanGestureRecognizer::recognize): 6575 * UIProcess/qt/QtViewportInteractionEngine.cpp: 6576 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 6577 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 6578 (WebKit::QtViewportInteractionEngine::flickableMoveStarted): 6579 (WebKit::QtViewportInteractionEngine::flickableMoveEnded): 6580 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 6581 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 6582 (WebKit::QtViewportInteractionEngine::wheelEvent): 6583 (WebKit::QtViewportInteractionEngine::reset): 6584 (WebKit::QtViewportInteractionEngine::scrollAnimationActive): 6585 (WebKit::QtViewportInteractionEngine::panGestureActive): 6586 (WebKit::QtViewportInteractionEngine::panGestureStarted): 6587 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 6588 (WebKit::QtViewportInteractionEngine::panGestureEnded): 6589 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 6590 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 6591 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 6592 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 6593 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 6594 (WebKit::QtViewportInteractionEngine::scaleContent): 6595 * UIProcess/qt/QtViewportInteractionEngine.h: 6596 (QtViewportInteractionEngine): 6597 * UIProcess/qt/QtWebPageEventHandler.cpp: 6598 (QtWebPageEventHandler::doneWithTouchEvent): 6599 66002012-04-04 Allan Sandfeld Jensen <allan.jensen@nokia.com> 6601 6602 [Qt] Unable to zoom to some areas. 6603 https://bugs.webkit.org/show_bug.cgi?id=83144 6604 6605 Reviewed by Kenneth Rohde Christiansen. 6606 6607 Remember to convert touch-area to touch-point radius. 6608 6609 * WebProcess/WebPage/WebPage.cpp: 6610 (WebKit::WebPage::findZoomableAreaForPoint): 6611 66122012-04-04 Kenneth Rohde Christiansen <kenneth@webkit.org> 6613 6614 [Qt] Improve the tap gesture recognizer 6615 https://bugs.webkit.org/show_bug.cgi?id=83135 6616 6617 Reviewed by Simon Hausmann. 6618 6619 Clean up the code and make sure that the first single tap 6620 event, as part of a double tap gesture, is ignored. 6621 6622 * UIProcess/qt/QtTapGestureRecognizer.cpp: 6623 (WebKit::QtTapGestureRecognizer::withinDistance): 6624 (WebKit): 6625 (WebKit::QtTapGestureRecognizer::recognize): 6626 (WebKit::QtTapGestureRecognizer::singleTapTimeout): 6627 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 6628 (WebKit::QtTapGestureRecognizer::reset): 6629 * UIProcess/qt/QtTapGestureRecognizer.h: 6630 (QtTapGestureRecognizer): 6631 66322012-04-03 Geoffrey Garen <ggaren@apple.com> 6633 6634 Fixed some WebKit2 crashes seen on the buildbot after my last patch. 6635 6636 Reviewed by Beth Dakin. 6637 6638 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 6639 (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value 6640 out of the map, since Weak<T> returns NULL during finalization. Instead, 6641 use the handle we've been passed for finalization. 6642 66432012-03-29 Geoffrey Garen <ggaren@apple.com> 6644 6645 First step toward incremental Weak<T> finalization 6646 https://bugs.webkit.org/show_bug.cgi?id=82670 6647 6648 Reviewed by Filip Pizlo. 6649 6650 Updated for API change. 6651 6652 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 6653 (WebKit::NPRuntimeObjectMap::finalize): 6654 66552012-04-03 Keishi Hattori <keishi@webkit.org> 6656 6657 Disable ENABLE_DATALIST for now 6658 https://bugs.webkit.org/show_bug.cgi?id=82871 6659 6660 Reviewed by Kent Tamura. 6661 6662 * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST. 6663 66642012-04-03 Yael Aharon <yael.aharon@nokia.com> 6665 6666 [Qt][WK2] Assert on startup after r113090 6667 https://bugs.webkit.org/show_bug.cgi?id=83111 6668 6669 Reviewed by Noam Rosenthal. 6670 6671 Add willBeDestroyed to to WebGraphicsLayer. 6672 6673 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 6674 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 6675 (WebCore): 6676 (WebCore::WebGraphicsLayer::willBeDestroyed): 6677 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 6678 (WebGraphicsLayer): 6679 66802012-04-03 Sam Weinig <sam@webkit.org> 6681 6682 Allow the old WebKit2 drawing model to host layers in the window server 6683 <rdar://problem/11170525> 6684 https://bugs.webkit.org/show_bug.cgi?id=83101 6685 6686 Reviewed by Anders Carlsson. 6687 6688 * UIProcess/DrawingAreaProxyImpl.cpp: 6689 (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange): 6690 * UIProcess/DrawingAreaProxyImpl.h: 6691 (DrawingAreaProxyImpl): 6692 * WebProcess/WebPage/DrawingArea.h: 6693 (DrawingArea): 6694 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6695 (WebKit::DrawingAreaImpl::setLayerHostingMode): 6696 * WebProcess/WebPage/DrawingAreaImpl.h: 6697 (DrawingAreaImpl): 6698 * WebProcess/WebPage/LayerTreeHost.h: 6699 (LayerTreeHost): 6700 (WebKit::LayerTreeHost::setLayerHostingMode): 6701 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 6702 (LayerTreeHostCAMac): 6703 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 6704 (WebKit::LayerTreeHostCAMac::platformInitialize): 6705 (WebKit::LayerTreeHostCAMac::setLayerHostingMode): 6706 Pipe layer hosting mode to the old drawing area. 6707 67082012-04-03 Jia Pu <jpu@apple.com> 6709 6710 Rename SpellingCorrectionController to AlternativeTextController. 6711 https://bugs.webkit.org/show_bug.cgi?id=82942 6712 6713 Reviewed by Enrica Casucci. 6714 6715 These changes are simply for adopting new class names. 6716 6717 * UIProcess/API/mac/PageClientImpl.h: 6718 (PageClientImpl): 6719 * UIProcess/API/mac/PageClientImpl.mm: 6720 (WebKit::PageClientImpl::showCorrectionPanel): 6721 (WebKit::PageClientImpl::dismissCorrectionPanel): 6722 (WebKit::PageClientImpl::dismissCorrectionPanelSoon): 6723 * UIProcess/API/mac/WKView.mm: 6724 (-[WKView handleCorrectionPanelResult:]): 6725 * UIProcess/PageClient.h: 6726 (PageClient): 6727 * UIProcess/WebPageProxy.cpp: 6728 (WebKit::WebPageProxy::didCommitLoadForFrame): 6729 (WebKit::WebPageProxy::pageDidScroll): 6730 (WebKit::WebPageProxy::processDidCrash): 6731 (WebKit::WebPageProxy::showCorrectionPanel): 6732 (WebKit::WebPageProxy::dismissCorrectionPanel): 6733 (WebKit::WebPageProxy::dismissCorrectionPanelSoon): 6734 (WebKit::WebPageProxy::handleAlternativeTextUIResult): 6735 * UIProcess/WebPageProxy.h: 6736 (WebPageProxy): 6737 * UIProcess/mac/CorrectionPanel.h: 6738 (CorrectionPanel): 6739 * UIProcess/mac/CorrectionPanel.mm: 6740 (correctionIndicatorType): 6741 (WebKit::CorrectionPanel::CorrectionPanel): 6742 (WebKit::CorrectionPanel::~CorrectionPanel): 6743 (WebKit::CorrectionPanel::show): 6744 (WebKit::CorrectionPanel::dismiss): 6745 (WebKit::CorrectionPanel::dismissInternal): 6746 (WebKit::CorrectionPanel::handleAcceptedReplacement): 6747 * WebProcess/WebCoreSupport/WebEditorClient.h: 6748 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 6749 (WebKit::WebEditorClient::showCorrectionPanel): 6750 (WebKit::WebEditorClient::dismissCorrectionPanel): 6751 (WebKit::WebEditorClient::dismissCorrectionPanelSoon): 6752 * WebProcess/WebPage/WebPage.cpp: 6753 (WebKit::WebPage::handleAlternativeTextUIResult): 6754 * WebProcess/WebPage/WebPage.h: 6755 (WebPage): 6756 * WebProcess/WebPage/WebPage.messages.in: 6757 67582012-04-03 Zalan Bujtas <zbujtas@gmail.com> 6759 6760 [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage() 6761 https://bugs.webkit.org/show_bug.cgi?id=83070 6762 6763 Reviewed by Andreas Kling. 6764 6765 It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with 6766 WebFrameLoaderClient::transitionToCommittedFromCachedFrame() 6767 6768 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6769 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 6770 67712012-04-03 Jer Noble <jer.noble@apple.com> 6772 6773 ESC key in full screen does not result in webkitFullScreenChange event. 6774 https://bugs.webkit.org/show_bug.cgi?id=82755 6775 <rdar://problem/11093513> 6776 6777 Reviewed by Eric Carlson. 6778 6779 Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures 6780 that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent 6781 out correctly. 6782 6783 Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full 6784 screen if the WebProcess does not respond in a timely manner (defaults to 1s). 6785 6786 Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document: 6787 * UIProcess/WebFullScreenManagerProxy.cpp: 6788 (WebKit::WebFullScreenManagerProxy::requestExitFullScreen): 6789 * UIProcess/WebFullScreenManagerProxy.h: 6790 * WebProcess/FullScreen/WebFullScreenManager.cpp: 6791 (WebKit::WebFullScreenManager::requestExitFullScreen): 6792 * WebProcess/FullScreen/WebFullScreenManager.h: 6793 * WebProcess/FullScreen/WebFullScreenManager.messages.in: 6794 6795 Request that the document exits full screen when the ESC key is pressed: 6796 * UIProcess/mac/WKFullScreenWindowController.h: 6797 * UIProcess/mac/WKFullScreenWindowController.mm: 6798 (-[WKFullScreenWindowController cancelOperation:]): 6799 (-[WKFullScreenWindowController exitFullScreen]): 6800 68012012-04-03 Balazs Kelemen <kbalazs@webkit.org> 6802 6803 [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp 6804 https://bugs.webkit.org/show_bug.cgi?id=83034 6805 6806 Reviewed by Zoltan Herczeg. 6807 6808 Don't allow the plugin to pollute the standard output. 6809 Reinvent StdOutDevNullRedirector which was removed in 6810 r112889 for this purpose. 6811 6812 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 6813 (StdoutDevNullRedirector): 6814 (WebKit): 6815 (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): 6816 (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): 6817 (WebKit::NetscapePluginModule::scanPlugin): 6818 68192012-04-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 6820 6821 Enable and connect the WebInspectorServer with WebKit2 pages. 6822 https://bugs.webkit.org/show_bug.cgi?id=73094 6823 6824 Reviewed by Simon Hausmann. 6825 6826 Pages are registered/unregistered as they are created/destroyed, if they have 6827 developer extras enabled. The server is run on the UI process and communicates 6828 with the web process through IPC for each message between the inspector 6829 controller and the remote frontend. 6830 6831 Includes the server spawning logic for the Qt port, the server is 6832 started through an environment variable specifying the interface and 6833 port to bind the server to, by default on 127.0.0.1. 6834 6835 * UIProcess/WebInspectorProxy.cpp: 6836 (WebKit::WebInspectorProxy::WebInspectorProxy): 6837 (WebKit::WebInspectorProxy::invalidate): 6838 (WebKit): 6839 (WebKit::WebInspectorProxy::enableRemoteInspection): 6840 (WebKit::WebInspectorProxy::remoteFrontendConnected): 6841 (WebKit::WebInspectorProxy::remoteFrontendDisconnected): 6842 (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend): 6843 (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend): 6844 * UIProcess/WebInspectorProxy.h: 6845 (WebInspectorProxy): 6846 * UIProcess/WebInspectorProxy.messages.in: 6847 * UIProcess/WebPageProxy.cpp: 6848 (WebKit::WebPageProxy::initializeWebPage): 6849 (WebKit::WebPageProxy::preferencesDidChange): 6850 * UIProcess/qt/QtWebContext.cpp: 6851 (WebKit::initInspectorServer): 6852 (WebKit): 6853 (WebKit::globalInitialization): 6854 (WebKit::QtWebContext::create): 6855 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 6856 (WebKit::WebInspectorClient::sendMessageToFrontend): 6857 * WebProcess/WebPage/WebInspector.cpp: 6858 (WebKit::WebInspector::WebInspector): 6859 (WebKit): 6860 (WebKit::WebInspector::sendMessageToRemoteFrontend): 6861 (WebKit::WebInspector::dispatchMessageFromRemoteFrontend): 6862 (WebKit::WebInspector::remoteFrontendConnected): 6863 (WebKit::WebInspector::remoteFrontendDisconnected): 6864 * WebProcess/WebPage/WebInspector.h: 6865 (WebInspector): 6866 (WebKit::WebInspector::hasRemoteFrontendConnected): 6867 * WebProcess/WebPage/WebInspector.messages.in: 6868 68692012-03-29 Joseph Pecoraro <joepeck@webkit.org> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 6870 6871 WebInspectorServer for WebKit2. 6872 https://bugs.webkit.org/show_bug.cgi?id=73855 6873 6874 Reviewed by Simon Hausmann. 6875 6876 The server uses WebSocket for communication with the remote client and 6877 normal HTTP requests are handled to optionally send the frontend on the 6878 wire. Those decision are handled per platform and Qt currently maps: 6879 6880 - "/" to a static listing page. 6881 - "/pagelist.json" to the page list for the listing page or tools. 6882 - anything else, for example "/inspector.js" to the file with the 6883 same name in the dynamic libraries built resources. 6884 Invalid files should return a 404. 6885 6886 * Target.pri: 6887 * UIProcess/InspectorServer/WebInspectorServer.cpp: Added. 6888 (WebKit): 6889 (WebKit::pageIdFromRequestPath): 6890 (WebKit::WebInspectorServer::server): 6891 (WebKit::WebInspectorServer::WebInspectorServer): 6892 (WebKit::WebInspectorServer::~WebInspectorServer): 6893 (WebKit::WebInspectorServer::registerPage): 6894 (WebKit::WebInspectorServer::unregisterPage): 6895 (WebKit::WebInspectorServer::sendMessageOverConnection): 6896 (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest): 6897 (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest): 6898 (WebKit::WebInspectorServer::didEstablishWebSocketConnection): 6899 (WebKit::WebInspectorServer::didReceiveWebSocketMessage): 6900 (WebKit::WebInspectorServer::didCloseWebSocketConnection): 6901 (WebKit::WebInspectorServer::closeConnection): 6902 * UIProcess/InspectorServer/WebInspectorServer.h: Added. 6903 (WebKit): 6904 (WebInspectorServer): 6905 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added. 6906 (WebKit): 6907 (WebKit::WebInspectorServer::platformResourceForPath): 6908 (WebKit::WebInspectorServer::buildPageList): 6909 * WebKit2.qrc: Added. 6910 * qt/Resources/inspectorPageIndex.html: Added. 6911 69122012-03-29 Joseph Pecoraro <joepeck@webkit.org> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 6913 6914 Add a Generic WebSocket Server. 6915 https://bugs.webkit.org/show_bug.cgi?id=73093 6916 6917 Reviewed by Simon Hausmann. 6918 6919 The Inspector Server will be a WebSocket Server that also responds to 6920 non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server 6921 that passes on what it doesn't know on to its client for extended 6922 functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag. 6923 6924 There are no tests yet for a built-in WebSocket server. 6925 This will be covered by API level tests in a later patch. 6926 6927 * Target.pri: 6928 6929 WebSocketServer is a simple server. Calling listen, or close, 6930 multiple times is safe. Subclassing is expected. 6931 6932 * UIProcess/InspectorServer/WebSocketServer.cpp: Added. 6933 (WebKit): 6934 (WebKit::WebSocketServer::WebSocketServer): 6935 (WebKit::WebSocketServer::~WebSocketServer): 6936 (WebKit::WebSocketServer::listen): 6937 (WebKit::WebSocketServer::close): 6938 (WebKit::WebSocketServer::didAcceptConnection): 6939 (WebKit::WebSocketServer::didCloseWebSocketServerConnection): 6940 * UIProcess/InspectorServer/WebSocketServer.h: Added. 6941 (WebKit): 6942 (WebCore): 6943 (WebSocketServer): 6944 * UIProcess/InspectorServer/WebSocketServerClient.h: Added. 6945 (WebCore): 6946 (WebKit): 6947 (WebSocketServerClient): 6948 (WebKit::WebSocketServerClient::~WebSocketServerClient): 6949 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest): 6950 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest): 6951 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection): 6952 (WebKit::WebSocketServerClient::didReceiveWebSocketMessage): 6953 (WebKit::WebSocketServerClient::didCloseWebSocketConnection): 6954 6955 Each WebSocketConnection: 6956 6957 - Passes unknown HTTP Requests to the server's client. 6958 - Handles WebSocket Upgrade Requests. 6959 - First ask the client if it is okay. 6960 - Later notify the client about a success. 6961 - Once upgraded the connection parses and passes WebSocket 6962 frames to the client. 6963 6964 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added. 6965 (WebKit): 6966 (WebKit::WebSocketServerConnection::WebSocketServerConnection): 6967 (WebKit::WebSocketServerConnection::~WebSocketServerConnection): 6968 (WebKit::WebSocketServerConnection::shutdownNow): 6969 (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected. 6970 (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection. 6971 (WebKit::WebSocketServerConnection::sendHTTPResponseHeader): 6972 (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection. 6973 (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios. 6974 (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes. 6975 (WebKit::WebSocketServerConnection::didFailSocketStream): log errors. 6976 (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message. 6977 (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection): 6978 (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible. 6979 (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame. 6980 * UIProcess/InspectorServer/WebSocketServerConnection.h: Added. 6981 (WebCore): 6982 (WebKit): 6983 (WebSocketServerConnection): 6984 (WebKit::WebSocketServerConnection::identifier): 6985 (WebKit::WebSocketServerConnection::setIdentifier): 6986 6987 Qt specific implementation. 6988 6989 * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added. 6990 (WebKit): 6991 (WebKit::WebSocketServer::platformInitialize): 6992 (WebKit::WebSocketServer::platformListen): 6993 (WebKit::WebSocketServer::platformClose): 6994 (WebKit::QtTcpServerHandler::QtTcpServerHandler): 6995 (WebKit::QtTcpServerHandler::handleNewConnection): 6996 (WebKit::QtTcpServerHandler::listen): 6997 (WebKit::QtTcpServerHandler::close): 6998 * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added. 6999 (WebKit): 7000 (QtTcpServerHandler): 7001 7002 * WebKit2.pri: 7003 * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2. 7004 70052012-04-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 7006 7007 [Qt] Add developerExtrasEnabled to QWebPreferences. 7008 https://bugs.webkit.org/show_bug.cgi?id=83018 7009 7010 Reviewed by Kenneth Rohde Christiansen. 7011 7012 This is required to allow inspecting pages. 7013 7014 * UIProcess/API/qt/qwebpreferences.cpp: 7015 (QWebPreferencesPrivate::testAttribute): 7016 (QWebPreferencesPrivate::setAttribute): 7017 (QWebPreferences::developerExtrasEnabled): 7018 (QWebPreferences::setDeveloperExtrasEnabled): 7019 * UIProcess/API/qt/qwebpreferences_p.h: 7020 * UIProcess/API/qt/qwebpreferences_p_p.h: 7021 70222012-04-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> 7023 7024 [Qt] Tap highlight attempted hidden several times 7025 https://bugs.webkit.org/show_bug.cgi?id=82903 7026 7027 Reviewed by Kenneth Rohde Christiansen. 7028 7029 Do not reset GestureRecognizer if already reset, and do not 7030 disable tap-highlight on touch-end if already reset. 7031 7032 * UIProcess/qt/QtTapGestureRecognizer.cpp: 7033 (WebKit::QtTapGestureRecognizer::recognize): 7034 (WebKit::QtTapGestureRecognizer::reset): 7035 70362012-04-03 Allan Sandfeld Jensen <allan.jensen@nokia.com> 7037 7038 [Qt] Tap highlight still showing when tap gesture has timed out 7039 https://bugs.webkit.org/show_bug.cgi?id=82902 7040 7041 Reviewed by Kenneth Rohde Christiansen. 7042 7043 Disable highlight of potential tap, when tap-and-hold state 7044 replaces potential tap state. 7045 7046 * UIProcess/qt/QtTapGestureRecognizer.cpp: 7047 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 7048 70492012-04-02 Zalan Bujtas <zbujtas@gmail.com> 7050 7051 [Qt][WK2] Set viewport size back, when WebProcess is relaunched. 7052 https://bugs.webkit.org/show_bug.cgi?id=82936 7053 7054 Reviewed by Andreas Kling. 7055 7056 Fixed layout requires viewport size set properly on the WebProcess side. 7057 Make sure it is set, when WebProcess is relaunched. 7058 7059 * UIProcess/API/qt/qquickwebview.cpp: 7060 (QQuickWebViewPrivate::didRelaunchProcess): 7061 70622012-04-02 Anders Carlsson <andersca@apple.com> 7063 7064 Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa 7065 https://bugs.webkit.org/show_bug.cgi?id=82951 7066 <rdar://problem/10589308> 7067 7068 Reviewed by Sam Weinig. 7069 7070 * PluginProcess/mac/PluginControllerProxyMac.mm: 7071 (WebKit::PluginControllerProxy::setLayerHostingMode): 7072 Call Plugin::setLayerHostingMode). 7073 7074 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7075 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: 7076 Move WKNVCALayerRenderServerPort to the header file. 7077 7078 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7079 (WebKit::NetscapePlugin::NetscapePlugin): 7080 Initialize m_layerHostingMode. 7081 7082 (WebKit::NetscapePlugin::initialize): 7083 Set m_layerHostingMode from the parameters struct. 7084 7085 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 7086 (WebKit::NetscapePlugin::compositingRenderServerPort): 7087 Return MACH_PORT_NULL when hosted in the window server. 7088 7089 (WebKit::NetscapePlugin::platformPostInitialize): 7090 Move the code that gets the layer out into a separate function, updatePluginLayer. 7091 7092 (WebKit::NetscapePlugin::setLayerHostingMode): 7093 Let the plug-in know that the layer hosting mode changed and update the plug-in layer if 7094 setting the new compositing port was successful. 7095 70962012-04-02 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 7097 7098 [Qt][WK2] ResourceError::isCancellation() is always returning false 7099 https://bugs.webkit.org/show_bug.cgi?id=82917 7100 7101 Reviewed by Noam Rosenthal. 7102 7103 We were missing the encoding of a boolean in ArgumentCoder<ResourceError> 7104 and, therefore, we were getting always "false" for ResourceError::isCancellation() 7105 for errors being sent through the IPC. 7106 7107 * Shared/qt/WebCoreArgumentCodersQt.cpp: 7108 (CoreIPC::::encode): 7109 (CoreIPC::::decode): 7110 71112012-03-29 Sam Weinig <sam@webkit.org> 7112 7113 Add setting to disable Java for local files even if it is otherwise enabled 7114 https://bugs.webkit.org/show_bug.cgi?id=82685 7115 7116 Reviewed by Anders Carlsson. 7117 7118 * Shared/WebPreferencesStore.h: 7119 * UIProcess/API/C/WKPreferences.cpp: 7120 (WKPreferencesSetJavaEnabledForLocalFiles): 7121 (WKPreferencesGetJavaEnabledForLocalFiles): 7122 * UIProcess/API/C/WKPreferencesPrivate.h: 7123 * WebProcess/WebPage/WebPage.cpp: 7124 (WebKit::WebPage::updatePreferences): 7125 Add pref as SPI and forward to WebCore. 7126 71272012-04-02 Balazs Kelemen <kbalazs@webkit.org> 7128 7129 [Qt][WK2] Set up plugin process on Unix 7130 https://bugs.webkit.org/show_bug.cgi?id=72121 7131 7132 Reviewed by Simon Hausmann. 7133 7134 Setup plugin process for Qt and move the task of querying the plugins 7135 to this process in order to avoid crashes due to plugin bugs or library 7136 incompatibility. 7137 7138 * GNUmakefile.am: 7139 * PluginProcess.pro: Added. 7140 7141 * PluginProcess/gtk/PluginProcessMainGtk.cpp: 7142 (WebKit::PluginProcessMainGtk): 7143 * PluginProcess/qt/PluginProcessMainQt.cpp: 7144 (WebKit::messageHandler): 7145 (WebKit::initializeGtk): 7146 (WebKit): 7147 (WebKit::PluginProcessMain): 7148 Implement entry point of the plugin process. 7149 Handle -scanPlugin command line switch: produce meta data 7150 of plugin on standard output and terminate. Move Gtk initialization 7151 hack to there. 7152 7153 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 7154 (WebKit::NetscapePluginModule::tryLoad): 7155 Get rid of the Gtk initialization hack. We do not nead it here anymore. 7156 7157 * Shared/Plugins/Netscape/NetscapePluginModule.h: 7158 (WebKit): 7159 (NetscapePluginModule): 7160 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 7161 (WebKit::parseMIMEDescription): 7162 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): 7163 (WebKit): 7164 (WebKit::NetscapePluginModule::getPluginInfo): 7165 Get plugin meta data via PluginProcessproxy. If a failure 7166 happened we ignore to use the plugin. Remove the concept 7167 of stdout redirection since we can control it when launching 7168 the process. 7169 7170 (WebKit::NetscapePluginModule::determineQuirks): 7171 (WebKit::truncateToSingleLine): 7172 (WebKit::NetscapePluginModule::scanPlugin): 7173 Produce plugin meta data on standard output. 7174 7175 * Shared/ProcessExecutablePath.h: Added. 7176 (WebKit): 7177 * Shared/gtk/ProcessExecutablePathGtk.cpp: Added. 7178 (findWebKitProcess): 7179 (executablePathOfWebProcess): 7180 (executablePathOfPluginProcess): 7181 * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp. 7182 (WebKit): 7183 (WebKit::executablePath): 7184 (WebKit::executablePathOfWebProcess): 7185 (WebKit::executablePathOfPluginProcess): 7186 Factored the executable path determination into free functions 7187 to avoid code duplication. 7188 7189 * Shared/qt/ShareableBitmapQt.cpp: 7190 (WebKit::ShareableBitmap::paint): 7191 Added implementation for the override with the scale factor because 7192 it is called from PluginProxy. It does not actually handle the case 7193 when the scale factor is not 1. However it's ok because it can only 7194 happen on Mac in the moment. 7195 7196 * Target.pri: 7197 * UIProcess/Launcher/ProcessLauncher.h: 7198 (ProcessLauncher): 7199 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 7200 (WebKit::ProcessLauncher::launchProcess): 7201 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 7202 (WebKit::ProcessLauncher::launchProcess): 7203 Use the new functions to determine the executable path. 7204 7205 * UIProcess/Plugins/PluginProcessProxy.h: 7206 (WebKit): 7207 (RawPluginMetaData): 7208 (PluginProcessProxy): 7209 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: 7210 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7211 (WebKit): 7212 (WebKit::PluginProcessProxy::scanPlugin): 7213 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: 7214 (WebKit): 7215 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7216 (WebKit::PluginProcessProxy::scanPlugin): 7217 Launch plugin process and parse it's output to get the meta data 7218 for the plugin. 7219 7220 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7221 (WebKit::NPN_GetValue): 7222 Changed according to the removing of the flash hack. Do not try 7223 to decide whether the plugin needs Gtk by it's name but instead 7224 always get back the expected Gtk version (2). Only Gtk plugins 7225 should ask for this anyway. 7226 7227 * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp. 7228 (WebKit): 7229 (main): 7230 72312012-04-02 Sheriff Bot <webkit.review.bot@gmail.com> 7232 7233 Unreviewed, rolling out r112868, r112879, and r112881. 7234 http://trac.webkit.org/changeset/112868 7235 http://trac.webkit.org/changeset/112879 7236 http://trac.webkit.org/changeset/112881 7237 https://bugs.webkit.org/show_bug.cgi?id=82901 7238 7239 "Build fail on bots." (Requested by kbalazs on #webkit). 7240 7241 * GNUmakefile.am: 7242 * PluginProcess.pro: Removed. 7243 * PluginProcess/gtk/PluginProcessMainGtk.cpp: 7244 (WebKit::PluginProcessMainGtk): 7245 * PluginProcess/qt/PluginProcessMainQt.cpp: 7246 (WebKit::PluginProcessMain): 7247 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 7248 (WebKit::NetscapePluginModule::tryLoad): 7249 * Shared/Plugins/Netscape/NetscapePluginModule.h: 7250 (NetscapePluginModule): 7251 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 7252 (StdoutDevNullRedirector): 7253 (WebKit): 7254 (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): 7255 (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): 7256 (WebKit::initializeGTK): 7257 (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad): 7258 (WebKit::NetscapePluginModule::setMIMEDescription): 7259 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): 7260 (WebKit::NetscapePluginModule::getPluginInfo): 7261 (WebKit::NetscapePluginModule::determineQuirks): 7262 * Shared/ProcessExecutablePath.h: Removed. 7263 * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed. 7264 * Shared/qt/ProcessExecutablePathQt.cpp: Removed. 7265 * Shared/qt/ShareableBitmapQt.cpp: 7266 (WebKit::ShareableBitmap::paint): 7267 * Target.pri: 7268 * UIProcess/Launcher/ProcessLauncher.h: 7269 (ProcessLauncher): 7270 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 7271 (WebKit): 7272 (WebKit::findWebKitProcess): 7273 (WebKit::ProcessLauncher::launchProcess): 7274 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 7275 (WebKit::ProcessLauncher::launchProcess): 7276 * UIProcess/Plugins/PluginProcessProxy.h: 7277 (WebKit): 7278 (PluginProcessProxy): 7279 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: 7280 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7281 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: 7282 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7283 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7284 (WebKit::NPN_GetValue): 7285 * qt/PluginMainQt.cpp: Removed. 7286 72872012-04-02 Balazs Kelemen <kbalazs@webkit.org> 7288 7289 One more try to fix Qt build after r112868. 7290 7291 It's a misery why I don't have these build failures 7292 locally. 7293 7294 * PluginProcess.pro: 7295 72962012-04-02 Balazs Kelemen <kbalazs@webkit.org> 7297 7298 Fix Qt build after r112868. 7299 7300 * PluginProcess.pro: Add WTF into includepath. 7301 73022012-04-02 Zalan Bujtas <zbujtas@gmail.com> 7303 7304 [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes. 7305 https://bugs.webkit.org/show_bug.cgi?id=82892 7306 7307 Reviewed by Kenneth Rohde Christiansen. 7308 7309 Check against the expanded size before calling resize on frameview. 7310 7311 * WebProcess/WebPage/WebPage.cpp: 7312 (WebKit::WebPage::setFixedVisibleContentRect): 7313 (WebKit::WebPage::resizeToContentsIfNeeded): 7314 73152012-04-02 Balazs Kelemen <kbalazs@webkit.org> 7316 7317 [Qt][WK2] Set up plugin process on Unix 7318 https://bugs.webkit.org/show_bug.cgi?id=72121 7319 7320 Reviewed by Simon Hausmann. 7321 7322 Setup plugin process for Qt and move the task of querying the plugins 7323 to this process in order to avoid crashes due to plugin bugs or library 7324 incompatibility. 7325 7326 * GNUmakefile.am: 7327 * PluginProcess.pro: Added. 7328 7329 * PluginProcess/gtk/PluginProcessMainGtk.cpp: 7330 (WebKit::PluginProcessMainGtk): 7331 * PluginProcess/qt/PluginProcessMainQt.cpp: 7332 (WebKit::messageHandler): 7333 (WebKit::initializeGtk): 7334 (WebKit): 7335 (WebKit::PluginProcessMain): 7336 Implement entry point of the plugin process. 7337 Handle -scanPlugin command line switch: produce meta data 7338 of plugin on standard output and terminate. Move Gtk initialization 7339 hack to there. 7340 7341 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 7342 (WebKit::NetscapePluginModule::tryLoad): 7343 Get rid of the Gtk initialization hack. We do not nead it here anymore. 7344 7345 * Shared/Plugins/Netscape/NetscapePluginModule.h: 7346 (WebKit): 7347 (NetscapePluginModule): 7348 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 7349 (WebKit::parseMIMEDescription): 7350 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): 7351 (WebKit): 7352 (WebKit::NetscapePluginModule::getPluginInfo): 7353 Get plugin meta data via PluginProcessproxy. If a failure 7354 happened we ignore to use the plugin. Remove the concept 7355 of stdout redirection since we can control it when launching 7356 the process. 7357 7358 (WebKit::NetscapePluginModule::determineQuirks): 7359 (WebKit::truncateToSingleLine): 7360 (WebKit::NetscapePluginModule::scanPlugin): 7361 Produce plugin meta data on standard output. 7362 7363 * Shared/ProcessExecutablePath.h: Added. 7364 (WebKit): 7365 * Shared/gtk/ProcessExecutablePathGtk.cpp: Added. 7366 (findWebKitProcess): 7367 (executablePathOfWebProcess): 7368 (executablePathOfPluginProcess): 7369 * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp. 7370 (WebKit): 7371 (WebKit::executablePath): 7372 (WebKit::executablePathOfWebProcess): 7373 (WebKit::executablePathOfPluginProcess): 7374 Factored the executable path determination into free functions 7375 to avoid code duplication. 7376 7377 * Shared/qt/ShareableBitmapQt.cpp: 7378 (WebKit::ShareableBitmap::paint): 7379 Added implementation for the override with the scale factor because 7380 it is called from PluginProxy. It does not actually handle the case 7381 when the scale factor is not 1. However it's ok because it can only 7382 happen on Mac in the moment. 7383 7384 * Target.pri: 7385 * UIProcess/Launcher/ProcessLauncher.h: 7386 (ProcessLauncher): 7387 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 7388 (WebKit::ProcessLauncher::launchProcess): 7389 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 7390 (WebKit::ProcessLauncher::launchProcess): 7391 Use the new functions to determine the executable path. 7392 7393 * UIProcess/Plugins/PluginProcessProxy.h: 7394 (WebKit): 7395 (RawPluginMetaData): 7396 (PluginProcessProxy): 7397 * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp: 7398 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7399 (WebKit): 7400 (WebKit::PluginProcessProxy::scanPlugin): 7401 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: 7402 (WebKit): 7403 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7404 (WebKit::PluginProcessProxy::scanPlugin): 7405 Launch plugin process and parse it's output to get the meta data 7406 for the plugin. 7407 7408 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7409 (WebKit::NPN_GetValue): 7410 Changed according to the removing of the flash hack. Do not try 7411 to decide whether the plugin needs Gtk by it's name but instead 7412 always get back the expected Gtk version (2). Only Gtk plugins 7413 should ask for this anyway. 7414 7415 * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp. 7416 (WebKit): 7417 (main): 7418 74192012-03-16 Philippe Normand <pnormand@igalia.com> 7420 7421 [GTK][WK2] Initial FullScreen support 7422 https://bugs.webkit.org/show_bug.cgi?id=75553 7423 7424 Reviewed by Martin Robinson. 7425 7426 Full screen display support in WebKitWebViewBase. Two functions 7427 have been added to handle this. They're called by the 7428 WebFullScreenManagerProxy when full screen display needs to be 7429 managed for an HTML element. 7430 7431 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7432 (_WebKitWebViewBasePrivate): 7433 (webkitWebViewBaseCreateWebPage): 7434 (onFullscreenGtkKeyPressEvent): 7435 (webkitWebViewBaseEnterFullScreen): 7436 (webkitWebViewBaseExitFullScreen): 7437 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 7438 * UIProcess/WebFullScreenManagerProxy.h: 7439 (WebKit): 7440 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 7441 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 7442 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 7443 74442012-04-02 Sheriff Bot <webkit.review.bot@gmail.com> 7445 7446 Unreviewed, rolling out r112651. 7447 http://trac.webkit.org/changeset/112651 7448 https://bugs.webkit.org/show_bug.cgi?id=82887 7449 7450 It doesn't work with older Qt5 (Requested by Ossy on #webkit). 7451 7452 * UIProcess/API/qt/qquicknetworkreply_p.h: 7453 * UIProcess/API/qt/qquicknetworkrequest_p.h: 7454 * UIProcess/API/qt/qquickwebview.cpp: 7455 * UIProcess/API/qt/qquickwebview_p.h: 7456 * UIProcess/API/qt/qwebiconimageprovider_p.h: 7457 * UIProcess/API/qt/qwebnavigationhistory.cpp: 7458 * UIProcess/API/qt/qwebnavigationhistory_p.h: 7459 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 7460 * UIProcess/qt/QtDialogRunner.cpp: 7461 (QtDialogRunner::initForAlert): 7462 (QtDialogRunner::initForConfirm): 7463 (QtDialogRunner::initForPrompt): 7464 (QtDialogRunner::initForAuthentication): 7465 (QtDialogRunner::initForProxyAuthentication): 7466 (QtDialogRunner::initForCertificateVerification): 7467 (QtDialogRunner::initForFilePicker): 7468 (QtDialogRunner::initForDatabaseQuotaDialog): 7469 (QtDialogRunner::createDialog): 7470 * UIProcess/qt/QtFlickProvider.cpp: 7471 * UIProcess/qt/QtFlickProvider.h: 7472 (QtFlickProvider): 7473 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 7474 (WebKit::WebPopupMenuProxyQt::createItem): 7475 (WebKit::WebPopupMenuProxyQt::createContext): 7476 74772012-04-02 Hayato Ito <hayato@chromium.org> 7478 7479 [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs 7480 https://bugs.webkit.org/show_bug.cgi?id=82009 7481 7482 Reviewed by Dimitri Glazkov. 7483 7484 * win/WebKit2.def: 7485 * win/WebKit2CFLite.def: 7486 74872012-04-01 Jon Lee <jonlee@apple.com> 7488 7489 Rename notification properties and functions 7490 https://bugs.webkit.org/show_bug.cgi?id=80482 7491 <rdar://problem/10912432> 7492 7493 Reviewed by Kentaro Hara. 7494 7495 Rename APIs to use tag. 7496 * UIProcess/API/C/WKNotification.cpp: 7497 (WKNotificationCopyTag): 7498 * UIProcess/API/C/WKNotification.h: 7499 * UIProcess/Notifications/WebNotification.cpp: 7500 (WebKit::WebNotification::WebNotification): 7501 * UIProcess/Notifications/WebNotification.h: 7502 (WebKit::WebNotification::create): 7503 (WebKit::WebNotification::tag): 7504 (WebNotification): 7505 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 7506 (WebKit::WebNotificationManagerProxy::show): 7507 * UIProcess/Notifications/WebNotificationManagerProxy.h: 7508 (WebNotificationManagerProxy): 7509 * UIProcess/WebPageProxy.cpp: 7510 (WebKit::WebPageProxy::showNotification): 7511 * UIProcess/WebPageProxy.h: 7512 (WebPageProxy): 7513 * UIProcess/WebPageProxy.messages.in: 7514 * WebProcess/Notifications/WebNotificationManager.cpp: 7515 (WebKit::WebNotificationManager::show): 7516 75172012-03-31 Timothy Hatcher <timothy@apple.com> 7518 7519 Prevent opening external URLs in the Web Inspector's WebView. 7520 7521 All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView. 7522 7523 https://webkit.org/b/82812 7524 rdar://problem/9488558 7525 7526 Reviewed by Joseph Pecoraro. 7527 7528 * UIProcess/WebInspectorProxy.cpp: 7529 (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs 7530 will be opened in the inspected page. 7531 (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction. 7532 * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction. 7533 75342012-03-31 Anders Carlsson <andersca@apple.com> 7535 7536 32-bit plug-ins need to opt into magnified mode 7537 https://bugs.webkit.org/show_bug.cgi?id=82837 7538 <rdar://problem/9104840> 7539 7540 Reviewed by Simon Fraser. 7541 7542 * PluginProcess/mac/PluginProcessMainMac.mm: 7543 (WebKit::PluginProcessMain): 7544 75452012-03-30 Timothy Hatcher <timothy@apple.com> 7546 7547 Stop creating the Web Inspector's NSWindow when detaching on close. 7548 7549 This fixes a UI process crash that would happen when detaching because of a Web Process crash. 7550 7551 https://webkit.org/b/82820 7552 rdar://problem/11085467 7553 7554 Reviewed by Dan Bernstein. 7555 7556 * UIProcess/mac/WebInspectorProxyMac.mm: 7557 (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end 7558 and added an early return if we are not visible in the middle. 7559 75602012-03-30 Emil A Eklund <eae@chromium.org> 7561 7562 Change WebKit/WebKit2 platform code to use pixel snapped values 7563 https://bugs.webkit.org/show_bug.cgi?id=82549 7564 7565 Change WebKit and WebKit2 platform code to use rounded locations and 7566 pixel snapped rects and sizes. This largely avoids having to expose the 7567 fractional layout types to the platform code. 7568 7569 Reviewed by Eric Seidel. 7570 7571 * Shared/WebRenderObject.cpp: 7572 (WebKit::WebRenderObject::WebRenderObject): 7573 * UIProcess/win/WebPopupMenuProxyWin.cpp: 7574 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize): 7575 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7576 (WebKit::InjectedBundleNodeHandle::renderRect): 7577 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 7578 (WebKit::BuiltInPDFView::invalidateScrollbarRect): 7579 * WebProcess/WebPage/mac/WebPageMac.mm: 7580 (WebKit::WebPage::characterIndexForPoint): 7581 75822012-03-30 Anders Carlsson <andersca@apple.com> 7583 7584 Fix Lion build. 7585 7586 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 7587 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 7588 75892012-03-30 Mark Pilgrim <pilgrim@chromium.org> 7590 7591 GEOLOCATION should be implemented as Page Supplement 7592 https://bugs.webkit.org/show_bug.cgi?id=82228 7593 7594 Reviewed by Adam Barth. 7595 7596 Geolocation is now a Supplement in Page so the interface 7597 has changed for setting up the page's geolocation client 7598 initially and accessing the controller later. 7599 7600 * WebProcess/Geolocation/WebGeolocationManager.cpp: 7601 (WebKit::WebGeolocationManager::didChangePosition): 7602 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 7603 * WebProcess/InjectedBundle/InjectedBundle.cpp: 7604 (WebKit::InjectedBundle::setGeoLocationPermission): 7605 * WebProcess/WebPage/WebPage.cpp: 7606 (WebKit::WebPage::WebPage): 7607 76082012-03-30 Anders Carlsson <andersca@apple.com> 7609 7610 Show a scrolling indicator light when compositing borders are turned on 7611 https://bugs.webkit.org/show_bug.cgi?id=82758 7612 <rdar://problem/11143892> 7613 7614 Reviewed by Andreas Kling. 7615 7616 * WebProcess/WebPage/DrawingArea.h: 7617 (WebKit::DrawingArea::updatePreferences): 7618 Add a hook for letting drawing area subclasses know when preferences change. 7619 7620 * WebProcess/WebPage/WebPage.cpp: 7621 Call DrawingArea::updatePreferences. 7622 7623 (WebKit::WebPage::updatePreferences): 7624 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 7625 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 7626 Call updatePreferences. 7627 7628 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 7629 If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it. 7630 7631 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 7632 If we have a debug root layer, make sure it's in front. 7633 76342012-03-30 Allan Sandfeld Jensen <allan.jensen@nokia.com> 7635 7636 [Qt] Find zoomable area using area-based hit-testing 7637 https://bugs.webkit.org/show_bug.cgi?id=82609 7638 7639 Reviewed by Kenneth Rohde Christiansen. 7640 7641 Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT 7642 code-path to find the best zoomable area. 7643 7644 * UIProcess/WebPageProxy.cpp: 7645 (WebKit::WebPageProxy::findZoomableAreaForPoint): 7646 * UIProcess/WebPageProxy.h: 7647 (WebPageProxy): 7648 * UIProcess/qt/QtWebPageEventHandler.cpp: 7649 (QtWebPageEventHandler::handleDoubleTapEvent): 7650 * WebProcess/WebPage/WebPage.cpp: 7651 (WebKit): 7652 (WebKit::WebPage::findZoomableAreaForPoint): 7653 * WebProcess/WebPage/WebPage.h: 7654 (WebPage): 7655 * WebProcess/WebPage/WebPage.messages.in: 7656 76572012-03-30 Keishi Hattori <keishi@webkit.org> 7658 7659 Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium 7660 https://bugs.webkit.org/show_bug.cgi?id=80972 7661 7662 Reviewed by Kent Tamura. 7663 7664 * Configurations/FeatureDefines.xcconfig: 7665 76662012-03-29 Ádám Kallai <kadam@inf.u-szeged.hu> 7667 7668 [Qt] Build fix by renameing QtDeclarative to QtQml in header calls. 7669 https://bugs.webkit.org/show_bug.cgi?id=82195 7670 7671 Reviewed by Simon Hausmann. 7672 7673 * UIProcess/API/qt/qquicknetworkreply_p.h: 7674 * UIProcess/API/qt/qquicknetworkrequest_p.h: 7675 * UIProcess/API/qt/qquickwebview.cpp: 7676 * UIProcess/API/qt/qquickwebview_p.h: 7677 * UIProcess/API/qt/qwebiconimageprovider_p.h: 7678 * UIProcess/API/qt/qwebnavigationhistory.cpp: 7679 * UIProcess/API/qt/qwebnavigationhistory_p.h: 7680 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 7681 * UIProcess/qt/QtDialogRunner.cpp: 7682 (QtDialogRunner::initForAlert): 7683 (QtDialogRunner::initForConfirm): 7684 (QtDialogRunner::initForPrompt): 7685 (QtDialogRunner::initForAuthentication): 7686 (QtDialogRunner::initForProxyAuthentication): 7687 (QtDialogRunner::initForCertificateVerification): 7688 (QtDialogRunner::initForFilePicker): 7689 (QtDialogRunner::initForDatabaseQuotaDialog): 7690 (QtDialogRunner::createDialog): 7691 * UIProcess/qt/QtFlickProvider.cpp: 7692 * UIProcess/qt/QtFlickProvider.h: 7693 (QtFlickProvider): 7694 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 7695 (WebKit::WebPopupMenuProxyQt::createItem): 7696 (WebKit::WebPopupMenuProxyQt::createContext): 7697 76982012-03-29 No'am Rosenthal <noam.rosenthal@nokia.com> 7699 7700 [Qt][WK2] Direct composited image assignment doesn't work 7701 https://bugs.webkit.org/show_bug.cgi?id=82525 7702 7703 Reviewed by Kenneth Rohde Christiansen. 7704 7705 We don't need to check whether the image or contentsRect are updated, 7706 since assignImageToLayer is a cheap operation after the LayerBackingStore 7707 refactor. 7708 7709 * UIProcess/WebLayerTreeRenderer.cpp: 7710 (WebKit::WebLayerTreeRenderer::setLayerChildren): 7711 (WebKit::WebLayerTreeRenderer::setLayerState): 7712 (WebKit::WebLayerTreeRenderer::renderNextFrame): 7713 77142012-03-29 Sheriff Bot <webkit.review.bot@gmail.com> 7715 7716 Unreviewed, rolling out r112553. 7717 http://trac.webkit.org/changeset/112553 7718 https://bugs.webkit.org/show_bug.cgi?id=82638 7719 7720 It made all tests crash on Qt WK2 (Requested by Ossy_away on 7721 #webkit). 7722 7723 * WebProcess/Geolocation/WebGeolocationManager.cpp: 7724 (WebKit::WebGeolocationManager::didChangePosition): 7725 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 7726 * WebProcess/InjectedBundle/InjectedBundle.cpp: 7727 (WebKit::InjectedBundle::setGeoLocationPermission): 7728 * WebProcess/WebPage/WebPage.cpp: 7729 (WebKit::WebPage::WebPage): 7730 77312012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 7732 7733 HashMap<>::add should return a more descriptive object 7734 https://bugs.webkit.org/show_bug.cgi?id=71063 7735 7736 Reviewed by Ryosuke Niwa. 7737 7738 Update code to use AddResult instead of a pair. 7739 7740 * Platform/CoreIPC/ArgumentCoders.h: 7741 * Platform/CoreIPC/Connection.cpp: 7742 (CoreIPC::Connection::SyncMessageState::getOrCreate): 7743 * Shared/MutableDictionary.cpp: 7744 (WebKit::MutableDictionary::add): 7745 (WebKit::MutableDictionary::set): 7746 * Shared/UserMessageCoders.h: 7747 (WebKit::UserMessageDecoder::baseDecode): 7748 * Shared/mac/CommandLineMac.cpp: 7749 (WebKit::CommandLine::parse): 7750 * UIProcess/API/mac/WKPrintingView.mm: 7751 (pageDidDrawToPDF): 7752 * UIProcess/API/mac/WKView.mm: 7753 (-[WKView validateUserInterfaceItem:]): 7754 * UIProcess/WebProcessProxy.cpp: 7755 (WebKit::WebProcessProxy::addBackForwardItem): 7756 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7757 (WebKit::InjectedBundleNodeHandle::getOrCreate): 7758 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 7759 (WebKit::InjectedBundleRangeHandle::getOrCreate): 7760 * WebProcess/Notifications/WebNotificationManager.cpp: 7761 (WebKit::WebNotificationManager::show): 7762 * WebProcess/WebProcess.cpp: 7763 (WebKit::WebProcess::createWebPage): 7764 (WebKit::WebProcess::webPageGroup): 7765 77662012-03-29 Mark Pilgrim <pilgrim@chromium.org> 7767 7768 GEOLOCATION should be implemented as Page Supplement 7769 https://bugs.webkit.org/show_bug.cgi?id=82228 7770 7771 Reviewed by Adam Barth. 7772 7773 Geolocation is now a Supplement in Page so the interface 7774 has changed for setting up the page's geolocation client 7775 initially and accessing the controller later. 7776 7777 * WebProcess/Geolocation/WebGeolocationManager.cpp: 7778 (WebKit::WebGeolocationManager::didChangePosition): 7779 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 7780 * WebProcess/InjectedBundle/InjectedBundle.cpp: 7781 (WebKit::InjectedBundle::setGeoLocationPermission): 7782 * WebProcess/WebPage/WebPage.cpp: 7783 (WebKit::WebPage::WebPage): 7784 77852012-03-28 Anders Carlsson <andersca@apple.com> 7786 7787 Fix a crash and an assertion when recovering from a web process crash 7788 https://bugs.webkit.org/show_bug.cgi?id=82559 7789 <rdar://problem/10902574> 7790 7791 Reviewed by Mark Rowe. 7792 7793 * UIProcess/API/mac/WKView.mm: 7794 (-[WKView _processDidCrash]): 7795 If we're currently in accelerated compositing mode, exit. 7796 7797 (-[WKView updateLayer]): 7798 Guard against a null drawing area. 7799 78002012-03-28 Nate Chapin <japhet@chromium.org> 7801 7802 Remove dispatchDidLoadMainResource callback, since no 7803 port implements it. 7804 https://bugs.webkit.org/show_bug.cgi?id=82539 7805 7806 Reviewed by Alexey Proskuryakov. 7807 7808 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7809 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 7810 78112012-03-28 Anders Carlsson <andersca@apple.com> 7812 7813 Massive lag opening a link in a new background tab 7814 https://bugs.webkit.org/show_bug.cgi?id=82542 7815 <rdar://problem/11004502> 7816 7817 Reviewed by Sam Weinig. 7818 7819 Defer waiting for the web process to update the page size until we're actually going to display the layer. 7820 This matches what we do in the non-tiled code path. 7821 7822 * UIProcess/API/mac/WKView.mm: 7823 (-[WKView setFrameSize:]): 7824 (-[WKView updateLayer]): 7825 * UIProcess/DrawingAreaProxy.h: 7826 (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate): 7827 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 7828 (TiledCoreAnimationDrawingAreaProxy): 7829 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 7830 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange): 7831 (WebKit): 7832 (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate): 7833 78342012-03-28 Anders Carlsson <andersca@apple.com> 7835 7836 REGRESSION (r109826): Can't type into Flash text fields 7837 https://bugs.webkit.org/show_bug.cgi?id=82488 7838 <rdar://problem/11022004> 7839 7840 Reviewed by Sam Weinig. 7841 7842 This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process 7843 that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting 7844 the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly). 7845 7846 * UIProcess/API/mac/WKView.mm: 7847 (-[WKView _setPluginComplexTextInputState:]): 7848 (-[WKView _handlePluginComplexTextInputKeyDown:]): 7849 * WebProcess/Plugins/PluginView.cpp: 7850 (WebKit::PluginView::~PluginView): 7851 78522012-03-28 Balazs Kelemen <kbalazs@webkit.org> 7853 7854 [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test. 7855 7856 Rubber-stamped by Csaba Osztrogonác. 7857 7858 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 7859 There is no load() API of the view, we have to use the url property. 7860 78612012-03-27 YoungTaeck Song <youngtaeck.song@samsung.com> 7862 7863 [EFL][WK2] Add RunLoopEfl and WorkQueueEfl 7864 https://bugs.webkit.org/show_bug.cgi?id=62777 7865 7866 Reviewed by Hajime Morita. 7867 7868 Add initial version WorkQueueEfl for WebKit2 Efl. 7869 7870 * Platform/CoreIPC/Connection.h: 7871 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 7872 (CoreIPC::Connection::platformInvalidate): 7873 (CoreIPC::Connection::open): 7874 * Platform/PlatformProcessIdentifier.h: 7875 (WebKit): 7876 * Platform/WorkQueue.h: 7877 (WorkQueue): 7878 * Platform/efl/WorkQueueEfl.cpp: Added. 7879 (TimerWorkItem): 7880 (TimerWorkItem::TimerWorkItem): 7881 (TimerWorkItem::~TimerWorkItem): 7882 (TimerWorkItem::function): 7883 (TimerWorkItem::queue): 7884 (TimerWorkItem::timerID): 7885 (WorkQueue::platformInitialize): 7886 (WorkQueue::platformInvalidate): 7887 (WorkQueue::performWork): 7888 (WorkQueue::performFdWork): 7889 (WorkQueue::sendMessageToThread): 7890 (WorkQueue::workQueueThread): 7891 (WorkQueue::registerSocketEventHandler): 7892 (WorkQueue::unregisterSocketEventHandler): 7893 (WorkQueue::dispatch): 7894 (WorkQueue::timerFired): 7895 (WorkQueue::dispatchAfterDelay): 7896 * PlatformEfl.cmake: 7897 78982012-03-27 Anders Carlsson <andersca@apple.com> 7899 7900 Plug-ins using the Core Animation drawing model should work when hosting the layer tree in the window server 7901 https://bugs.webkit.org/show_bug.cgi?id=82387 7902 <rdar://problem/11031942> 7903 7904 Reviewed by Sam Weinig. 7905 7906 * PluginProcess/PluginControllerProxy.cpp: 7907 (WebKit::PluginControllerProxy::PluginControllerProxy): 7908 (WebKit::PluginControllerProxy::initialize): 7909 Remove m_pluginCreationParameters; it was used by the old NPRuntime short-circuit code. 7910 Make platformInitialize take creation parameters. 7911 7912 * PluginProcess/PluginControllerProxy.messages.in: 7913 Add SetLayerHostingMode message. 7914 7915 * PluginProcess/gtk/PluginControllerProxyGtk.cpp: 7916 (WebKit::PluginControllerProxy::platformInitialize): 7917 Make platformInitialize take creation parameters. 7918 7919 * PluginProcess/mac/PluginControllerProxyMac.mm: 7920 (WebKit::PluginControllerProxy::platformInitialize): 7921 Call updateLayerHostingContext. 7922 7923 (WebKit::PluginControllerProxy::setLayerHostingMode): 7924 Call updateLayerHostingContext and send back the new context ID. 7925 7926 (WebKit::PluginControllerProxy::updateLayerHostingContext): 7927 Create a new LayerHostingContext given the layer hosting mode. 7928 7929 * PluginProcess/qt/PluginControllerProxyQt.cpp: 7930 (WebKit::PluginControllerProxy::platformInitialize): 7931 Make platformInitialize take creation parameters. 7932 7933 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 7934 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 7935 (WebKit::NetscapePlugin::setLayerHostingMode): 7936 Add stub. 7937 7938 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 7939 (WebKit::makeRenderLayer): 7940 Add helper function for creating a new render layer. 7941 7942 (WebKit::PluginProxy::pluginLayer): 7943 Call makeRenderLayer. 7944 7945 (WebKit::PluginProxy::setLayerHostingMode): 7946 Send a message to the plug-in process. 7947 7948 (WebKit::PluginProxy::setLayerHostingContextID): 7949 Update the context ID and make a new render layer. 7950 7951 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 7952 (WebKit::BuiltInPDFView::setLayerHostingMode): 7953 Add stub. 7954 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 7955 7956 * WebProcess/Plugins/Plugin.cpp: 7957 (WebKit::Plugin::Parameters::encode): 7958 (WebKit::Plugin::Parameters::decode): 7959 * WebProcess/Plugins/Plugin.h: 7960 Add the layer hosting mode as a parameter. Add a new setLayerHostingMode pure virtual member function. 7961 7962 * WebProcess/Plugins/PluginProxy.messages.in: 7963 Add a SetLayerHostingContextID message. 7964 7965 * WebProcess/Plugins/PluginView.cpp: 7966 (WebKit::PluginView::setLayerHostingMode): 7967 Call down to the plug-in. 7968 7969 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7970 (WebKit::WebFrameLoaderClient::createPlugin): 7971 Set the layer hosting mode of the page. 7972 7973 * WebProcess/WebPage/WebPage.cpp: 7974 (WebKit::WebPage::WebPage): 7975 Initialize m_layerHostingMode to false. 7976 7977 * WebProcess/WebPage/WebPage.h: 7978 (WebKit::WebPage::layerHostingMode): 7979 Add m_layerHostingMode and a getter. 7980 7981 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 7982 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 7983 Call WebPage::setLayerHostingMode. 7984 7985 * WebProcess/WebPage/mac/WebPageMac.mm: 7986 (WebKit::WebPage::setLayerHostingMode): 7987 Tell all plug-ins that the layer hosting mode changed. 7988 79892012-03-27 Timothy Hatcher <timothy@apple.com> 7990 7991 Make WebKit properly load a staged framework when soft linking. 7992 7993 https://webkit.org/b/82371 7994 rdar://problem/11125989 7995 7996 Reviewed by Dan Bernstein. 7997 7998 * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly 7999 load the WebInspector framework. 8000 * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto. 8001 80022012-03-27 Anders Carlsson <andersca@apple.com> 8003 8004 Don't update the layer hosting state unless the WKView is added to a window 8005 https://bugs.webkit.org/show_bug.cgi?id=82359 8006 8007 Reviewed by Sam Weinig. 8008 8009 This avoids thrashing the layer hosting state when switching tabs. 8010 8011 * UIProcess/WebPageProxy.cpp: 8012 (WebKit::WebPageProxy::viewStateDidChange): 8013 80142012-03-27 Carlos Garcia Campos <cgarcia@igalia.com> 8015 8016 Implement WebFrameNetworkingContext for soup in WebKit2 8017 8018 [SOUP] Implement WebFrameNetworkingContext for soup in WebKit2 8019 https://bugs.webkit.org/show_bug.cgi?id=82081 8020 8021 Reviewed by Martin Robinson. 8022 8023 * GNUmakefile.am: Add new files to compilation 8024 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h. 8025 (WebKit::WebFrameNetworkingContext::soupSession): Return the 8026 default SoupSession. 8027 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h. 8028 (WebKit): 8029 (WebFrameNetworkingContext): 8030 (WebKit::WebFrameNetworkingContext::create): Create a new 8031 WebFrameNetworkingContext(). 8032 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): 8033 80342012-03-27 Yael Aharon <yael.aharon@nokia.com> 8035 8036 [Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect 8037 https://bugs.webkit.org/show_bug.cgi?id=82289 8038 8039 Reviewed by Kenneth Rohde Christiansen. 8040 8041 As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one. 8042 8043 * UIProcess/API/qt/qquickwebview.cpp: 8044 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged): 8045 * UIProcess/WebPageProxy.cpp: 8046 (WebKit): 8047 * UIProcess/WebPageProxy.h: 8048 (WebPageProxy): 8049 * WebProcess/WebPage/WebPage.messages.in: 8050 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 8051 (WebKit::LayerTreeHostQt::setVisibleContentsRect): 8052 80532012-03-27 Carlos Garcia Campos <cgarcia@igalia.com> 8054 8055 [SOUP] Implement missing methods in CookieJarSoup 8056 https://bugs.webkit.org/show_bug.cgi?id=82082 8057 8058 Reviewed by Martin Robinson. 8059 8060 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: 8061 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use 8062 soupCookieJar() instead of defaultCookieJar(). 8063 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto. 8064 80652012-03-27 Carlos Garcia Campos <cgarcia@igalia.com> 8066 8067 [GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API 8068 https://bugs.webkit.org/show_bug.cgi?id=79667 8069 8070 Reviewed by Gustavo Noronha Silva. 8071 8072 * UIProcess/API/gtk/WebKitWebResource.cpp: 8073 (webkitWebResourceCreate): Add isMainResource parameter indication 8074 whether the resource is the main one of the frame. 8075 (resourceDataCallback): C API callback called when resource data 8076 is available. 8077 (webkit_web_resource_get_data): Asynchronously get the raw data of 8078 the resource. 8079 (webkit_web_resource_get_data_finish): Finish asynchronous 8080 operation started by webkit_web_resource_get_data(). 8081 * UIProcess/API/gtk/WebKitWebResource.h: 8082 * UIProcess/API/gtk/WebKitWebResourcePrivate.h: 8083 * UIProcess/API/gtk/WebKitWebView.cpp: 8084 (webkitWebViewResourceLoadStarted): Pass isMainResource parameter 8085 to webkitWebResourceCreate(). 8086 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 8087 * UIProcess/API/gtk/tests/TestResources.cpp: 8088 (testWebResourceGetData): 8089 (serverCallback): 8090 (beforeAll): 8091 80922012-03-27 Carlos Garcia Campos <cgarcia@igalia.com> 8093 8094 [GTK] Add resources API to WebKit2 GTK+ 8095 https://bugs.webkit.org/show_bug.cgi?id=79477 8096 8097 Reviewed by Gustavo Noronha Silva. 8098 8099 * GNUmakefile.am: Add new files to compilation. 8100 * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added. 8101 (didInitiateLoadForResource): Call 8102 webkitWebViewResourceLoadStarted() so that view will create the 8103 resource and emit WebKitWebView::resource-load-started. 8104 (didSendRequestForResource): Call webkitWebResourceSentRequest() 8105 with the given request and response. 8106 (didReceiveResponseForResource): Call 8107 webkitWebResourceSetResponse() with the given response. 8108 (didReceiveContentLengthForResource): Call 8109 webkitWebResourceNotifyProgress(). 8110 (didFinishLoadForResource): Call webkitWebResourceFinished(). 8111 (didFailLoadForResource): Create a GError for the given WKError 8112 and call webkitWebResourceFailed(). 8113 (attachResourceLoadClientToView): Add callbacks for the 8114 WKPageResourceLoadClient. 8115 * UIProcess/API/gtk/WebKitResourceLoadClient.h: Added. 8116 * UIProcess/API/gtk/WebKitWebResource.cpp: Added. 8117 (webkitWebResourceGetProperty): 8118 (webkit_web_resource_init): 8119 (webkit_web_resource_class_init): 8120 (webkitWebResourceUpdateURI): Update the active URI every time a 8121 new request is sent to the server. 8122 (webkitWebResourceCreate): Create a WebResource for the given 8123 frame. 8124 (webkitWebResourceSentRequest): Update uri and emit 8125 WebKitWebResource::sent-request. 8126 (webkitWebResourceSetResponse): Set the response property. 8127 (webkitWebResourceNotifyProgress): Emit 8128 WebKitWebResource::received-data. 8129 (webkitWebResourceFinished): Emit WebKitWebResource::finished. 8130 (webkitWebResourceFailed): Emit WebKitWebResource::failed and then 8131 WebKitWebResource::finished. 8132 (webkit_web_resource_get_uri): Return the currentr active URI. 8133 (webkit_web_resource_get_response): Return the response received 8134 from the server. 8135 * UIProcess/API/gtk/WebKitWebResource.h: Added. 8136 * UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added. 8137 * UIProcess/API/gtk/WebKitWebView.cpp: 8138 (webkitWebViewConstructed): Attach the resource load client to the 8139 view. 8140 (webkit_web_view_class_init): Add 8141 WebKitWebView::resource-load-started signal. 8142 (webkitWebViewLoadChanged): Clear loading resources map when a new 8143 load starts and loaded resources map when the new load has been 8144 committed. 8145 (webkitWebViewResourceLoadStarted): Create a resource for the 8146 given identifier, add it to the loading resources map and emit 8147 WebKitWebView::resource-load-started signal. 8148 (webkitWebViewGetLoadingWebResource): Return the resource that is 8149 being loaded corresponding to the given identifier. 8150 (webkitWebViewRemoveLoadingWebResource): Remove the resouurce 8151 corresponfing to the given identifier from the loading resources 8152 map. 8153 (webkitWebViewResourceLoadFinished): Move the resource from the 8154 loading resources map to the loaded resources map. 8155 (webkit_web_view_get_main_resource): Return the main resource. 8156 (webkit_web_view_get_subresources): Return the list of 8157 subresources. 8158 * UIProcess/API/gtk/WebKitWebView.h: 8159 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 8160 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 8161 WebKitWebResource. 8162 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 8163 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 8164 webkit_web_resource_get_type. 8165 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources. 8166 * UIProcess/API/gtk/tests/TestDownloads.cpp: 8167 (testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test. 8168 (testDownloadLocalFileError): Ditto. 8169 (serverCallback): Ditto. 8170 * UIProcess/API/gtk/tests/TestMain.h: 8171 (Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that 8172 it can be used by other tests. 8173 (Test): Add information about leaked objects. 8174 * UIProcess/API/gtk/tests/TestResources.cpp: Added. 8175 (testWebViewResources): 8176 (testWebResourceLoading): 8177 (testWebResourceResponse): 8178 (testWebResourceActiveURI): 8179 (addCacheHTTPHeadersToResponse): 8180 (serverCallback): 8181 (beforeAll): 8182 (afterAll): 8183 * UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h 8184 * UIProcess/API/gtk/webkit2marshal.list: 8185 81862012-03-26 Pratik Solanki <psolanki@apple.com> 8187 8188 Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength 8189 https://bugs.webkit.org/show_bug.cgi?id=82254 8190 8191 Reviewed by Benjamin Poulain. 8192 8193 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 8194 (WebKit::WebPopupMenu::setUpPlatformData): 8195 81962012-03-26 Dinu Jacob <dinu.jacob@nokia.com> 8197 8198 [Qt][WK2] Support multi-file upload 8199 https://bugs.webkit.org/show_bug.cgi?id=81589 8200 8201 Reviewed by Simon Hausmann. 8202 8203 Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow 8204 multiple file selections. 8205 8206 * UIProcess/API/qt/qquickwebview.cpp: 8207 (QQuickWebViewPrivate::chooseFiles): 8208 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 8209 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added. 8210 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: 8211 * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added. 8212 * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: 8213 * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added. 8214 (updateTitle): 8215 * UIProcess/qt/QtDialogRunner.cpp: 8216 (FilePickerContextObject): 8217 (FilePickerContextObject::FilePickerContextObject): 8218 (FilePickerContextObject::allowMultipleFiles): 8219 (FilePickerContextObject::accept): 8220 (QtDialogRunner::initForFilePicker): 8221 * UIProcess/qt/QtDialogRunner.h: 8222 (QtDialogRunner): 8223 82242012-03-26 Adam Barth <abarth@webkit.org> 8225 8226 FrameLoader::shouldAllowNavigation uses Frame for context rather than Document 8227 https://bugs.webkit.org/show_bug.cgi?id=81020 8228 8229 Reviewed by Eric Seidel. 8230 8231 Update call site to new function name. 8232 8233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 8234 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 8235 82362012-03-26 Anders Carlsson <andersca@apple.com> 8237 8238 Never remove root compositing layers in the web process 8239 https://bugs.webkit.org/show_bug.cgi?id=82255 8240 <rdar://problem/11058521> 8241 8242 Reviewed by Sam Weinig. 8243 8244 Since we never leave accelerated compositing mode when using tiled drawing, we should 8245 never remove root compositing layers in the web process. 8246 8247 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 8248 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 8249 82502012-03-26 Rafael Brandao <rafael.lobo@openbossa.org> 8251 8252 [Qt][WK2] default families are not set in QWebPreferences 8253 https://bugs.webkit.org/show_bug.cgi?id=81933 8254 8255 This is a build-fix after r112116. 8256 8257 Reviewed by Tor Arne Vestbø. 8258 8259 * UIProcess/API/qt/qwebpreferences_p_p.h: 8260 82612012-03-26 Pierre Rossi <pierre.rossi@nokia.com> 8262 8263 [Qt][WK2] default families are not set in QWebPreferences 8264 https://bugs.webkit.org/show_bug.cgi?id=81933 8265 8266 This would result in an attempt to create FontPlatformData 8267 with the -webkit- prefixed family name. 8268 Logic adapted from QWebSettings. 8269 8270 Reviewed by Kenneth Rohde Christiansen. 8271 8272 * UIProcess/API/qt/qwebpreferences.cpp: 8273 (QWebPreferencesPrivate::createPreferences): 8274 (QWebPreferencesPrivate::initFontDefaults): 8275 * UIProcess/API/qt/qwebpreferences_p_p.h: 8276 82772012-03-26 Dinu Jacob <dinu.jacob@nokia.com> 8278 8279 [Qt WK2] Disable/enable mouse events when displaying dialogs only for desktop view 8280 https://bugs.webkit.org/show_bug.cgi?id=80542 8281 8282 Reviewed by Simon Hausmann. 8283 8284 * UIProcess/API/qt/qquickwebview.cpp: 8285 (QQuickWebViewLegacyPrivate::enableMouseEvents): 8286 (QQuickWebViewLegacyPrivate::disableMouseEvents): 8287 * UIProcess/API/qt/qquickwebview_p_p.h: 8288 (QQuickWebViewPrivate::enableMouseEvents): 8289 (QQuickWebViewPrivate::disableMouseEvents): 8290 (QQuickWebViewLegacyPrivate): 8291 82922012-03-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8293 8294 [Qt] Make sure that purged directly composited images are re-created before a layer's sync. 8295 https://bugs.webkit.org/show_bug.cgi?id=81771 8296 8297 Reviewed by Noam Rosenthal. 8298 8299 This fixes a regression in tst_qquickwebview introduced by r111567. 8300 8301 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 8302 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 8303 (WebCore::WebGraphicsLayer::updateContentBuffers): 8304 83052012-03-26 Simon Hausmann <simon.hausmann@nokia.com> 8306 8307 [WK2][Qt] Fix compilation without QtWidgets 8308 https://bugs.webkit.org/show_bug.cgi?id=79458 8309 8310 Reviewed by Tor Arne Vestbø. 8311 8312 * Shared/qt/WebEventFactoryQt.cpp: 8313 (WebKit::WebEventFactory::createWebWheelEvent): Replace use of QApplication::wheelScrollLines() 8314 with the constant that is actually used and usually not changed anyway. 8315 * Target.pri: Remove widgets from Qt variable. 8316 * UIProcess/qt/QtWebPageEventHandler.cpp: Remove unecessary include. 8317 * WebProcess.pro: Use widgets for the process (for the time being). 8318 * WebProcess/qt/WebProcessMainQt.cpp: Delegate QApplication creation to the caller. 8319 (WebKit::WebProcessMainQt): 8320 * qt/MainQt.cpp: Create QApplication here. 8321 (WebKit): 8322 (main): 8323 83242012-03-26 Andras Becsi <andras.becsi@nokia.com> 8325 8326 Be more careful with git gui usage 8327 8328 Unreviewed typo fix. 8329 8330 * UIProcess/qt/QtViewportInteractionEngine.cpp: Remove additional line committed by accident. 8331 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 8332 83332012-03-26 Allan Sandfeld Jensen <allan.jensen@nokia.com> 8334 8335 [Qt] Taps are sometimes not highlighted. 8336 https://bugs.webkit.org/show_bug.cgi?id=82188 8337 8338 Reviewed by Kenneth Rohde Christiansen. 8339 8340 Highlight any focusable parent element, or if none is found at least 8341 the element returned by bestClickableNodeForTouchPoint. 8342 8343 * WebProcess/WebPage/WebPage.cpp: 8344 (WebKit::WebPage::highlightPotentialActivation): 8345 83462012-03-26 Sheriff Bot <webkit.review.bot@gmail.com> 8347 8348 Unreviewed, rolling out r111993. 8349 http://trac.webkit.org/changeset/111993 8350 https://bugs.webkit.org/show_bug.cgi?id=82184 8351 8352 It broke layout and API tests and made WTR crash (Requested by 8353 Ossy on #webkit). 8354 8355 * UIProcess/qt/QtPageClient.cpp: 8356 (QtPageClient::isViewWindowActive): 8357 83582012-03-25 Hayato Ito <hayato@chromium.org> 8359 8360 [Shadow DOM] Add Reified DOM Tree traversal internal APIs. 8361 https://bugs.webkit.org/show_bug.cgi?id=79197 8362 8363 Reviewed by Dimitri Glazkov. 8364 8365 Add internal APIs which can be used to traverse Reified DOM tree, which is 8366 a result of node distribution algorithm explained in Shadow DOM spec. 8367 https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html 8368 8369 Every public functions defined in ReifiedTreeTraversal are static 8370 functions and are named in a similar way to ones defined in WebCore::Node class. 8371 The only difference is that ReifiedTreeTraversal APIs consider shadow 8372 hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary 8373 transparently. 8374 8375 There is no actual client which uses these APIs. Follow-up patches for FocusNavigation 8376 and EventDispatcher will use the APIs so that they can traverse node in reified tree order. 8377 8378 * win/WebKit2.def: 8379 * win/WebKit2CFLite.def: 8380 83812012-03-25 Alexander Færøy <alexander.faeroy@nokia.com> 8382 8383 Unreviewed build fix for QtWebKit on Mac OS X. 8384 8385 * UIProcess/API/qt/tests/bytearraytestdata.cpp: 8386 (ByteArrayTestData::~ByteArrayTestData): 8387 * UIProcess/API/qt/tests/bytearraytestdata.h: 8388 83892012-03-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 8390 8391 [Qt][WK2] Implement PageClient::isViewWindowActive() 8392 https://bugs.webkit.org/show_bug.cgi?id=81143 8393 8394 Reviewed by Kenneth Rohde Christiansen. 8395 8396 This patch implements PageClient::isViewWindowActive() 8397 now that QQuickCanvas::isActive() is available (from QWindow). 8398 8399 * UIProcess/qt/QtPageClient.cpp: 8400 (QtPageClient::isViewWindowActive): 8401 84022012-03-23 Alexey Proskuryakov <ap@apple.com> 8403 8404 [Mac] No need for platform-specific ENABLE_BLOB values 8405 https://bugs.webkit.org/show_bug.cgi?id=82102 8406 8407 Reviewed by David Kilzer. 8408 8409 * Configurations/FeatureDefines.xcconfig: 8410 84112012-03-23 Sheriff Bot <webkit.review.bot@gmail.com> 8412 8413 Unreviewed, rolling out r108851. 8414 http://trac.webkit.org/changeset/108851 8415 https://bugs.webkit.org/show_bug.cgi?id=82098 8416 8417 "Revert the addition of unnecessary, deprecated functions in 8418 WKPreferences.h" (Requested by estes on #webkit). 8419 8420 * UIProcess/API/C/WKPreferences.cpp: 8421 * UIProcess/API/C/WKPreferences.h: 8422 84232012-03-23 Brent Fulgham <bfulgham@webkit.org> 8424 8425 [WinCairo] Unreviewed build fix. 8426 8427 * win/WebKit2CFLite.def: Add missing export symbols so that other 8428 tools can link properly. 8429 84302012-03-23 Dean Jackson <dino@apple.com> 8431 8432 Disable CSS_SHADERS in Apple builds 8433 https://bugs.webkit.org/show_bug.cgi?id=81996 8434 8435 Reviewed by Simon Fraser. 8436 8437 Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h. 8438 8439 * Configurations/FeatureDefines.xcconfig: 8440 84412012-03-23 Dave Michael <dmichael@chromium.org> 8442 8443 Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called 8444 https://bugs.webkit.org/show_bug.cgi?id=80428 8445 8446 Reviewed by Eric Seidel and Ryosuke Niwa. 8447 8448 * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue 8449 * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue 8450 84512012-03-23 Sheriff Bot <webkit.review.bot@gmail.com> 8452 8453 Unreviewed, rolling out r111855. 8454 http://trac.webkit.org/changeset/111855 8455 https://bugs.webkit.org/show_bug.cgi?id=82053 8456 8457 It broke 30+ tests (Requested by Ossy on #webkit). 8458 8459 * UIProcess/qt/QtPageClient.cpp: 8460 (QtPageClient::isViewWindowActive): 8461 84622012-03-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 8463 8464 [Qt][WK2] Implement PageClient::isViewWindowActive() 8465 https://bugs.webkit.org/show_bug.cgi?id=81143 8466 8467 Reviewed by Kenneth Rohde Christiansen. 8468 8469 This patch implements PageClient::isViewWindowActive() 8470 now that QQuickCanvas::isActive() is available (from QWindow). 8471 8472 * UIProcess/qt/QtPageClient.cpp: 8473 (QtPageClient::isViewWindowActive): 8474 84752012-03-23 Andras Becsi <andras.becsi@nokia.com> 8476 8477 [Qt][WK2] Disable the flickable when pinching. 8478 8479 Reviewed by Kenneth Rohde Christiansen. 8480 8481 Set the interactivity of the internal flickable to false 8482 when pinching so that it does not react to mouse events 8483 which might break pinch zoom. 8484 This is a temporal workaround and needed until the event 8485 propagation in QtQuick is fixed. 8486 8487 * UIProcess/qt/QtViewportInteractionEngine.cpp: 8488 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 8489 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 8490 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 8491 84922012-03-23 Ryosuke Niwa <rniwa@webkit.org> 8493 8494 REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms 8495 https://bugs.webkit.org/show_bug.cgi?id=82035 8496 8497 * win/WebKit2.def: 8498 * win/WebKit2CFLite.def: 8499 85002012-03-22 Anders Carlsson <andersca@apple.com> 8501 8502 Remove the Flash NPRuntime short-circuit hacks 8503 https://bugs.webkit.org/show_bug.cgi?id=81997 8504 <rdar://problem/10409289> 8505 8506 Reviewed by Sam Weinig. 8507 8508 This code was added to help speed up Flash plug-in instantiation by reducing the number of 8509 synchronous API calls from the plug-in process to the web process during instantiation. 8510 However, there was no real indication that this actually improved performance. 8511 8512 Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls 8513 after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has 8514 improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to 8515 rip out this egregious hack. 8516 8517 * PluginProcess/PluginControllerProxy.cpp: 8518 (WebKit::PluginControllerProxy::evaluate): 8519 * PluginProcess/PluginControllerProxy.h: 8520 (PluginControllerProxy): 8521 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 8522 (WebKit::NetscapePluginModule::determineQuirks): 8523 * Shared/Plugins/PluginQuirks.h: 8524 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 8525 (WebKit::NPN_Invoke): 8526 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 8527 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 8528 (NetscapePlugin): 8529 * WebProcess/Plugins/Plugin.cpp: 8530 (WebKit::Plugin::Parameters::encode): 8531 (WebKit::Plugin::Parameters::decode): 8532 * WebProcess/Plugins/Plugin.h: 8533 (Parameters): 8534 * WebProcess/Plugins/PluginController.h: 8535 (PluginController): 8536 * WebProcess/Plugins/PluginView.cpp: 8537 * WebProcess/Plugins/PluginView.h: 8538 (PluginView): 8539 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 8540 (WebKit::WebFrameLoaderClient::createPlugin): 8541 85422012-03-22 Raphael Kubo da Costa <rakuco@FreeBSD.org> 8543 8544 [CMake] Unreviewed build fix after r111778. 8545 8546 * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with 8547 ${WTF_DIR}/wtf ones. 8548 85492012-03-22 Csaba Osztrogonác <ossy@webkit.org> 8550 8551 Actually move WTF files to their new home 8552 https://bugs.webkit.org/show_bug.cgi?id=81844 8553 8554 [Qt] Unreviewed buildfix after r111778. 8555 8556 * UIProcess/API/qt/qquicknetworkrequest_p.h: 8557 * WebKit2.pri: 8558 85592012-03-22 Dave Michael <dmichael@chromium.org> 8560 8561 HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called 8562 https://bugs.webkit.org/show_bug.cgi?id=80428 8563 8564 Reviewed by Eric Seidel. 8565 8566 Test: plugins/netscape-dom-access-and-reload.html 8567 8568 * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue 8569 * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue 8570 85712012-03-22 Pierre Rossi <pierre.rossi@gmail.com> 8572 8573 Revert back the device DPI to 160. 8574 8575 This corresponds to a device pixel ratio of 1, which 8576 is nicer on the eye in many cases. 8577 8578 Rubber-stamped by Kenneth Rohde Christiansen. 8579 8580 * UIProcess/API/qt/qquickwebview.cpp: 8581 (QQuickWebViewFlickablePrivate::computeViewportConstraints): 8582 85832012-03-22 Alexander Færøy <alexander.faeroy@nokia.com> 8584 8585 [Qt][WK2] Remember to initialize databaseQuotaDialog 8586 https://bugs.webkit.org/show_bug.cgi?id=81942 8587 8588 Reviewed by Kenneth Rohde Christiansen. 8589 8590 * UIProcess/API/qt/qquickwebview.cpp: 8591 (QQuickWebViewPrivate::QQuickWebViewPrivate): 8592 85932012-03-22 Alexander Færøy <alexander.faeroy@nokia.com> 8594 8595 [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject 8596 https://bugs.webkit.org/show_bug.cgi?id=81910 8597 8598 Reviewed by Simon Hausmann. 8599 8600 * UIProcess/API/qt/qquickwebview.cpp: 8601 (QQuickWebViewPrivate::exceededDatabaseQuota): 8602 * UIProcess/API/qt/qquickwebview_p_p.h: 8603 (QQuickWebViewPrivate): 8604 * UIProcess/qt/QtDialogRunner.cpp: 8605 (DatabaseQuotaDialogContextObject): 8606 (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject): 8607 (DatabaseQuotaDialogContextObject::securityOrigin): 8608 (QtDialogRunner::initForDatabaseQuotaDialog): 8609 * UIProcess/qt/QtDialogRunner.h: 8610 (QtDialogRunner): 8611 * UIProcess/qt/QtWebPageUIClient.cpp: 8612 (QtWebPageUIClient::exceededDatabaseQuota): 8613 * UIProcess/qt/QtWebPageUIClient.h: 8614 86152012-03-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8616 8617 [Qt] Don't resume the suspended page if the user is continuously flicking. 8618 https://bugs.webkit.org/show_bug.cgi?id=81895 8619 8620 Reviewed by Kenneth Rohde Christiansen. 8621 8622 Create an additional suspend deferrer between TouchBegin and TouchEnd to 8623 relay with the one kept while the flick animation is running. 8624 This allows the page to be suspended when a pan gesture starts and stay 8625 that way until the last flick animation ends. 8626 8627 * UIProcess/qt/QtViewportInteractionEngine.cpp: 8628 (WebKit::QtViewportInteractionEngine::touchBegin): 8629 (WebKit): 8630 (WebKit::QtViewportInteractionEngine::touchEnd): 8631 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 8632 * UIProcess/qt/QtViewportInteractionEngine.h: 8633 (QtViewportInteractionEngine): 8634 * UIProcess/qt/QtWebPageEventHandler.cpp: 8635 (QtWebPageEventHandler::doneWithTouchEvent): 8636 86372012-03-22 Carlos Garcia Campos <cgarcia@bb-webkit-rel-64.local.igalia.com> 8638 8639 [GTK] Use the angle-bracket form to include wtf headers 8640 https://bugs.webkit.org/show_bug.cgi?id=81884 8641 8642 Reviewed by Eric Seidel. 8643 8644 Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>. 8645 8646 * UIProcess/API/gtk/tests/TestMain.h: 8647 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 8648 86492012-03-22 No'am Rosenthal <noam.rosenthal@nokia.com> 8650 8651 [Qt][WK2] The background appears to have one extra pixel from the contents 8652 https://bugs.webkit.org/show_bug.cgi?id=81830 8653 8654 Reviewed by Kenneth Rohde Christiansen. 8655 8656 The clip-polygon from the scenegraph uses floats, not integers. 8657 This could cause 1-offset clipping problems in some cases. 8658 8659 * UIProcess/qt/QtWebPageSGNode.cpp: 8660 (WebKit::ContentsSGNode::clipRect): 8661 86622012-03-21 Alexander Færøy <alexander.faeroy@nokia.com> 8663 8664 [Qt][WK2] Add QML API for handling database quotas 8665 https://bugs.webkit.org/show_bug.cgi?id=81827 8666 8667 Reviewed by Simon Hausmann. 8668 8669 Patch by Pierre Rossi and Alexander Færøy. 8670 8671 This patch adds a QML API for handling database quotas. 8672 8673 * UIProcess/API/qt/qquickwebview.cpp: 8674 (QQuickWebViewPrivate::exceededDatabaseQuota): 8675 (QQuickWebViewExperimental::databaseQuotaDialog): 8676 (QQuickWebViewExperimental::setDatabaseQuotaDialog): 8677 * UIProcess/API/qt/qquickwebview_p.h: 8678 * UIProcess/API/qt/qquickwebview_p_p.h: 8679 (QQuickWebViewPrivate): 8680 * UIProcess/qt/QtDialogRunner.cpp: 8681 (DatabaseQuotaDialogContextObject): 8682 (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject): 8683 (DatabaseQuotaDialogContextObject::databaseName): 8684 (DatabaseQuotaDialogContextObject::displayName): 8685 (DatabaseQuotaDialogContextObject::currentQuota): 8686 (DatabaseQuotaDialogContextObject::currentOriginUsage): 8687 (DatabaseQuotaDialogContextObject::currentDatabaseUsage): 8688 (DatabaseQuotaDialogContextObject::expectedUsage): 8689 (DatabaseQuotaDialogContextObject::accept): 8690 (DatabaseQuotaDialogContextObject::reject): 8691 (QtDialogRunner::initForDatabaseQuotaDialog): 8692 * UIProcess/qt/QtDialogRunner.h: 8693 (QtDialogRunner): 8694 (QtDialogRunner::databaseQuota): 8695 (QtDialogRunner::onDatabaseQuotaAccepted): 8696 * UIProcess/qt/QtWebPageUIClient.cpp: 8697 (QtWebPageUIClient::QtWebPageUIClient): 8698 (QtWebPageUIClient::exceededDatabaseQuota): 8699 * UIProcess/qt/QtWebPageUIClient.h: 8700 * UIProcess/qt/WebContextQt.cpp: 8701 (WebKit::WebContext::platformDefaultDatabaseDirectory): 8702 87032012-03-21 Tim Horton <timothy_horton@apple.com> 8704 8705 Make use of CG rounded-rect primitives 8706 https://bugs.webkit.org/show_bug.cgi?id=79932 8707 <rdar://problem/9274953> 8708 8709 Reviewed by Simon Fraser. 8710 8711 Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman. 8712 8713 Add wkCGPathAddRoundedRect. 8714 8715 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 8716 (InitWebCoreSystemInterface): 8717 87182012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8719 8720 [Qt] WebGraphicsLayer: Untie the layer updates and tile updates. 8721 https://bugs.webkit.org/show_bug.cgi?id=81771 8722 8723 Reviewed by Kenneth Rohde Christiansen. 8724 8725 The DidRenderFrame message needs to be sent for every UpdateTileForLayer 8726 message, but this currently has to be triggered by m_shouldSyncFrame which 8727 is only set after sending a SyncCompositingLayerState message. 8728 This patch makes sure that tile updates won't trigger sending the whole 8729 layer info if it didn't change, and send the DidRenderFrame message directly. 8730 8731 It also makes sure that the layer info is sent before any tile update so that 8732 the layer can be created on the UI process before any tile update is handled. 8733 8734 * UIProcess/WebLayerTreeRenderer.cpp: 8735 (WebKit::WebLayerTreeRenderer::getBackingStore): 8736 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 8737 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 8738 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 8739 (WebCore::WebGraphicsLayer::createTile): 8740 (WebCore::WebGraphicsLayer::updateTile): 8741 (WebCore::WebGraphicsLayer::removeTile): 8742 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 8743 (WebKit::LayerTreeHostQt::createTile): 8744 (WebKit::LayerTreeHostQt::updateTile): 8745 (WebKit::LayerTreeHostQt::removeTile): 8746 87472012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8748 8749 [Qt] Don't clip the contents rendering to the contents size. 8750 https://bugs.webkit.org/show_bug.cgi?id=81770 8751 8752 Reviewed by Kenneth Rohde Christiansen. 8753 8754 The original bug was caused by the contents size updates 8755 having to go through the UI process before being applied 8756 on the TiledBackingStore of the non composited contents layer. 8757 With this bug being fixed, the clipping isn't necessary anymore. 8758 8759 * UIProcess/qt/LayerBackingStore.cpp: 8760 (WebKit::LayerBackingStore::paintToTextureMapper): 8761 87622012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8763 8764 [Qt] Apply tile removals at the same time as update buffer swaps. 8765 https://bugs.webkit.org/show_bug.cgi?id=81768 8766 8767 Reviewed by Kenneth Rohde Christiansen. 8768 8769 When committing the scale, we have to remove old tiles once the 8770 tiles for the new scale are rendered. This should however wait 8771 until those tiles gets their buffer swapped (following the DidRenderFrame 8772 message) to make sure that there is no rendered gap between the removals 8773 and updates swap. 8774 This patch continues rendering the removed tiles until the DidRenderFrame 8775 message is received to discard the old contents and show the new contents 8776 at the same frame. 8777 8778 * UIProcess/WebLayerTreeRenderer.cpp: 8779 (WebKit::WebLayerTreeRenderer::commitTileUpdates): 8780 (WebKit::WebLayerTreeRenderer::flushLayerChanges): 8781 * UIProcess/WebLayerTreeRenderer.h: 8782 (WebLayerTreeRenderer): 8783 * UIProcess/qt/LayerBackingStore.cpp: 8784 (WebKit::LayerBackingStore::removeTile): 8785 (WebKit::LayerBackingStore::commitTileUpdates): 8786 * UIProcess/qt/LayerBackingStore.h: 8787 (LayerBackingStore): 8788 87892012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8790 8791 [Qt] Trigger scene graph repaints only for relevant layer updates. 8792 https://bugs.webkit.org/show_bug.cgi?id=81765 8793 8794 Reviewed by Kenneth Rohde Christiansen. 8795 8796 Tile updates and removal shouldn't re-render the scene all by themselves 8797 since they need a buffer swap before having any effect on the framebuffer. 8798 8799 * UIProcess/LayerTreeHostProxy.cpp: 8800 (WebKit::LayerTreeHostProxy::dispatchUpdate): 8801 (WebKit::LayerTreeHostProxy::deleteCompositingLayer): 8802 (WebKit::LayerTreeHostProxy::setRootCompositingLayer): 8803 (WebKit::LayerTreeHostProxy::didRenderFrame): 8804 88052012-03-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 8806 8807 [Qt] Don't go through the UI process to update a layer's contents size. 8808 https://bugs.webkit.org/show_bug.cgi?id=81764 8809 8810 Reviewed by Kenneth Rohde Christiansen. 8811 8812 It's happening when navigating pages that contents from the old page 8813 is still present on the tiles until the contents size is shrunk to cut it out. 8814 Since the contents size updates are asynchronous and go through the UI process, 8815 this could occasionally show some glitch frames. 8816 Even worse, the user could delay this update by starting to pan and keep 8817 his finger on the screen. 8818 This patch makes sure that changes to contents size are notifying the LayerTreeHost 8819 immediately when in fixed layout mode, and remove the loop through the UI process. 8820 8821 * UIProcess/API/qt/qquickwebpage.cpp: 8822 (QQuickWebPage::setContentsSize): 8823 * UIProcess/API/qt/qquickwebpage_p_p.h: 8824 (QQuickWebPagePrivate): 8825 * UIProcess/API/qt/qquickwebview.cpp: 8826 (QQuickWebViewPrivate::didRelaunchProcess): 8827 (QQuickWebViewLegacyPrivate::updateViewportSize): 8828 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 8829 (WebKit::WebChromeClient::contentsSizeChanged): 8830 * WebProcess/WebPage/DrawingArea.h: 8831 (WebKit): 8832 (WebKit::DrawingArea::layerTreeHost): 8833 * WebProcess/WebPage/DrawingAreaImpl.cpp: 8834 (WebKit::DrawingAreaImpl::updateBackingStoreState): 8835 * WebProcess/WebPage/DrawingAreaImpl.h: 8836 (WebKit::DrawingAreaImpl::layerTreeHost): 8837 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 8838 (WebKit::LayerTreeHostQt::sizeDidChange): 8839 88402012-03-21 Kenneth Rohde Christiansen <kenneth@webkit.org> 8841 8842 The activation highlight does not always hide 8843 https://bugs.webkit.org/show_bug.cgi?id=81767 8844 8845 Reviewed by Simon Hausmann. 8846 8847 The zero point used for hiding potential activations should 8848 not be transformed. 8849 8850 * UIProcess/qt/QtWebPageEventHandler.cpp: 8851 (QtWebPageEventHandler::handlePotentialSingleTapEvent): 8852 88532012-03-21 Dinu Jacob <dinu.jacob@nokia.com> 8854 8855 [Qt][WK2] Item cannot be selected from select list in touch webview 8856 https://bugs.webkit.org/show_bug.cgi?id=81674 8857 8858 Reviewed by Simon Hausmann. 8859 8860 Activate flag to prevent QQuickWebView from accepting touch event when select 8861 dialog is being displayed. 8862 8863 * UIProcess/API/qt/qquickwebview.cpp: 8864 (QQuickWebViewPrivate::QQuickWebViewPrivate): 8865 (QQuickWebViewPrivate::execDialogRunner): 8866 (QQuickWebView::touchEvent): 8867 * UIProcess/API/qt/qquickwebview_p_p.h: 8868 (QQuickWebViewPrivate::setDialogActive): 8869 (QQuickWebViewPrivate): 8870 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 8871 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 8872 (WebKit::WebPopupMenuProxyQt::hidePopupMenu): 8873 88742012-03-21 Kenneth Rohde Christiansen <kenneth@webkit.org> 8875 8876 [Qt] Remove the PostTransitionState 8877 https://bugs.webkit.org/show_bug.cgi?id=81751 8878 8879 Reviewed by Simon Hausmann. 8880 8881 As we are handling content size change event etc from the 8882 WebProcess, that conflicts with the PostTransitionState handling 8883 and we therefore need to handle this slightly differently. 8884 8885 Remove the code and make sure that we never resize the tiled 8886 area to something smaller than the layout viewport. 8887 8888 * UIProcess/API/qt/qquickwebview.cpp: 8889 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 8890 (QQuickWebViewFlickablePrivate::loadDidCommit): 8891 (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout): 8892 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 8893 (QQuickWebViewFlickablePrivate::_q_resume): 8894 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 8895 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 8896 * UIProcess/API/qt/qquickwebview_p_p.h: 8897 (QQuickWebViewFlickablePrivate): 8898 * UIProcess/qt/QtViewportInteractionEngine.cpp: 8899 (WebKit::QtViewportInteractionEngine::applyConstraints): 8900 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 8901 (WebKit::WebChromeClient::contentsSizeChanged): 8902 * WebProcess/WebPage/WebPage.cpp: 8903 (WebKit::WebPage::resizeToContentsIfNeeded): 8904 89052012-03-21 Carlos Garcia Campos <cgarcia@igalia.com> 8906 8907 [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+ 8908 https://bugs.webkit.org/show_bug.cgi?id=75543 8909 8910 Reviewed by Martin Robinson. 8911 8912 * GNUmakefile.am: Add new files to compilation. 8913 * UIProcess/API/gtk/WebKitError.cpp: 8914 (webkit_javascript_error_quark): Add new error domain for 8915 Javascript errors. 8916 * UIProcess/API/gtk/WebKitError.h: 8917 * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added. 8918 (webkitJavascriptResultCreate): Create a WebKitJavascriptResult 8919 for the given WKSerializedScriptValueRef. 8920 (webkit_javascript_result_ref): Increment reference count of 8921 WebKitJavascriptResult. 8922 (webkit_javascript_result_unref): Decrement reference count of 8923 WebKitJavascriptResult. 8924 (webkit_javascript_result_get_global_context): Get global 8925 javascript context of the result. 8926 (webkit_javascript_result_get_value): Get the JSValueRef of the 8927 result. 8928 * UIProcess/API/gtk/WebKitJavascriptResult.h: Added. 8929 * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added. 8930 * UIProcess/API/gtk/WebKitPrivate.h: 8931 * UIProcess/API/gtk/WebKitWebView.cpp: 8932 (webkitWebViewFinalize): Release the global javascript context. 8933 (webkit_web_view_get_javascript_global_context): Get or create the 8934 global javascript context. 8935 (webkitWebViewRunJavaScriptCallback): Callback called by C API when 8936 javascript execution finishes. 8937 (webkit_web_view_run_javascript): Asynchronously run a given 8938 javascript. 8939 (webkit_web_view_run_javascript_finish): Finish async operation 8940 started by webkit_web_view_run_javascript(). 8941 * UIProcess/API/gtk/WebKitWebView.h: 8942 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 8943 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 8944 webkit_javascript_result_get_type(). 8945 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 8946 (testWebViewRunJavaScript): 8947 (beforeAll): 8948 * UIProcess/API/gtk/tests/WebViewTest.cpp: 8949 (WebViewTest::WebViewTest): 8950 (WebViewTest::~WebViewTest): 8951 (runJavaScriptReadyCallback): 8952 (WebViewTest::runJavaScriptAndWaitUntilFinished): 8953 (jsValueToCString): 8954 (WebViewTest::javascriptResultToCString): 8955 (WebViewTest::javascriptResultToNumber): 8956 (WebViewTest::javascriptResultToBoolean): 8957 (WebViewTest::javascriptResultIsNull): 8958 (WebViewTest::javascriptResultIsUndefined): 8959 * UIProcess/API/gtk/tests/WebViewTest.h: 8960 * UIProcess/API/gtk/webkit2.h: 8961 89622012-03-20 Eric Seidel <eric@webkit.org> 8963 8964 Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf 8965 https://bugs.webkit.org/show_bug.cgi?id=80911 8966 8967 Reviewed by Adam Barth. 8968 8969 Update to not depend on "Foo.h" includes for WTF headers. 8970 8971 * Shared/qt/QtNetworkReplyData.h: 8972 * Shared/qt/QtNetworkRequestData.cpp: 8973 * Shared/qt/QtNetworkRequestData.h: 8974 89752012-03-20 Anders Carlsson <andersca@apple.com> 8976 8977 REGRESSION (r110780): Loading a PDF always makes the WKView layer backed 8978 https://bugs.webkit.org/show_bug.cgi?id=81734 8979 <rdar://problem/11088172> 8980 8981 Reviewed by Adele Peterson. 8982 8983 * UIProcess/API/mac/WKView.mm: 8984 (-[WKView _setPageHasCustomRepresentation:]): 8985 Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting 8986 accelerated compositing mode for us. 8987 89882012-03-20 Jon Lee <jonlee@apple.com> 8989 8990 Restrict access to notifications for unique origins and file URLs with no local file access 8991 https://bugs.webkit.org/show_bug.cgi?id=79704 8992 <rdar://problem/10912430> 8993 8994 Reviewed by Adam Barth. 8995 8996 In the specific case where a file URL has restricted file access and is denied universal access, 8997 SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin. 8998 The cached table of permissions held by the notification manager will typically not have an entry for 8999 the toString() representation of these file URLs, which is "null", since that can also cover unique 9000 origins, and it is possible that the client will want different permissions between the two types. 9001 9002 It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup. 9003 9004 * WebProcess/Notifications/WebNotificationManager.cpp: 9005 (WebKit::WebNotificationManager::policyForOrigin): 9006 90072012-03-20 Alexey Proskuryakov <ap@apple.com> 9008 9009 Address review comment for WebProcess side, too. 9010 9011 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for 9012 path to be in static storage, setenv will copy the value. 9013 90142012-03-20 Alexey Proskuryakov <ap@apple.com> 9015 9016 Sandboxed PluginProcess should use private temporary and cache directories 9017 https://bugs.webkit.org/show_bug.cgi?id=81702 9018 <rdar://problem/10792047> 9019 9020 Reviewed by Anders Carlsson. 9021 9022 * Platform/Module.h: 9023 * Platform/mac/ModuleMac.mm: 9024 (WebKit::Module::bundleIdentifier): 9025 Expose plug-in's bundle identifier. 9026 9027 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make 9028 networking functional on my testing platforms. These serveices are already allowed for 9029 WebProcess. 9030 9031 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: 9032 (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but 9033 didn't update where it's read from! 9034 (WKN_EnterSandbox): Add a suffix to user directories. 9035 90362012-03-20 Sheriff Bot <webkit.review.bot@gmail.com> 9037 9038 Unreviewed, rolling out r111445 and r111446. 9039 http://trac.webkit.org/changeset/111445 9040 http://trac.webkit.org/changeset/111446 9041 https://bugs.webkit.org/show_bug.cgi?id=81708 9042 9043 It broke Qt and GTK build intentionally (Requested by Ossy on 9044 #webkit). 9045 9046 * WebProcess/Notifications/WebNotificationManager.cpp: 9047 (WebKit::WebNotificationManager::policyForOrigin): 9048 90492012-03-20 Jon Lee <jonlee@apple.com> 9050 9051 Restrict access to notifications for unique origins and file URLs with no local file access 9052 https://bugs.webkit.org/show_bug.cgi?id=79704 9053 <rdar://problem/10912430> 9054 9055 Reviewed by Adam Barth. 9056 9057 In the specific case where a file URL has restricted file access and is denied universal access, 9058 SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin. 9059 The cached table of permissions held by the notification manager will typically not have an entry for 9060 the toString() representation of these file URLs, which is "null", since that can also cover unique 9061 origins, and it is possible that the client will want different permissions between the two types. 9062 9063 It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup. 9064 9065 * WebProcess/Notifications/WebNotificationManager.cpp: 9066 (WebKit::WebNotificationManager::policyForOrigin): 9067 90682012-03-20 Alexey Proskuryakov <ap@apple.com> 9069 9070 WebProcess should use private temporary and cache directories 9071 https://bugs.webkit.org/show_bug.cgi?id=80876 9072 9073 Reviewed by Sam Weinig. 9074 9075 * Shared/WebProcessCreationParameters.cpp: 9076 (WebKit::WebProcessCreationParameters::encode): 9077 (WebKit::WebProcessCreationParameters::decode): 9078 * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters): 9079 * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess): 9080 Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than 9081 CFURL sessions. 9082 9083 * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it. 9084 9085 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix 9086 on user directories. 9087 90882012-03-20 Anders Carlsson <andersca@apple.com> 9089 9090 Graphic distortion effect when launching with empty page Safari after reset 9091 https://bugs.webkit.org/show_bug.cgi?id=81677 9092 <rdar://problem/11065904> 9093 9094 Reviewed by Sam Weinig. 9095 9096 Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead, 9097 let AppKit decide which redraw policy to use. 9098 9099 * UIProcess/API/mac/WKView.mm: 9100 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 9101 91022012-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com> 9103 9104 Convert hasSpellingMarker to use Internals interface. 9105 https://bugs.webkit.org/show_bug.cgi?id=81300 9106 9107 Reviewed by Ryosuke Niwa. 9108 9109 * win/WebKit2.def: Export a symbol for hasSpellingMarker. 9110 91112012-03-20 Antaryami Pandia <antaryami.pandia@motorola.com> 9112 9113 [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API. 9114 https://bugs.webkit.org/show_bug.cgi?id=80981 9115 9116 Reviewed by Martin Robinson. 9117 9118 Add WebSettings to enable/disable javascript clipboard functionality. 9119 9120 * UIProcess/API/gtk/WebKitSettings.cpp: 9121 (webKitSettingsSetProperty): 9122 (webKitSettingsGetProperty): 9123 (webkit_settings_class_init): 9124 (webkit_settings_get_javascript_can_access_clipboard): 9125 (webkit_settings_set_javascript_can_access_clipboard): 9126 * UIProcess/API/gtk/WebKitSettings.h: 9127 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 9128 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 9129 (testWebKitSettings): 9130 91312012-03-19 Adam Barth <abarth@webkit.org> 9132 9133 Remove support for "magic" iframe 9134 https://bugs.webkit.org/show_bug.cgi?id=81590 9135 9136 Reviewed by Eric Seidel. 9137 9138 Remove FrameLoaderClient methods that no longer exist. 9139 9140 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9141 (WebKit): 9142 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 9143 91442012-03-19 Gustavo Noronha Silva <gns@gnome.org> 9145 9146 [GTK] libWebCore.la has become too big for make 9147 https://bugs.webkit.org/show_bug.cgi?id=81582 9148 9149 Unreviewed build fix. 9150 9151 * GNUmakefile.am: link-in the new libWebCoreModules.la 9152 91532012-03-19 Sam Weinig <sam@webkit.org> 9154 9155 Stop messing with the AppKit grow box on platforms that don't support it 9156 <rdar://problem/10752048> 9157 https://bugs.webkit.org/show_bug.cgi?id=81614 9158 9159 Reviewed by Dan Bernstein. 9160 9161 * UIProcess/API/mac/WKView.mm: 9162 (-[WKView viewWillMoveToWindow:]): 9163 (-[WKView _didChangeScrollbarsForMainFrame]): 9164 Snow Leopard was the last Mac OS to need a grow box. 9165 91662012-03-19 Enrica Casucci <enrica@apple.com> 9167 9168 WebKit2: create sandbox extensions for files that are dropped in an input control. 9169 https://bugs.webkit.org/show_bug.cgi?id=81153 9170 <rdar://problem/11031207> 9171 9172 Reviewed by Alexey Proskuryakov. 9173 9174 Now the pasteboard access is performed only in the UI process, it is 9175 necessary to create sandbox extensions for each file that is dropped into 9176 an input type=file element. The extensions are created at the time the files 9177 are dropped and consumed immediately. 9178 9179 * Platform/CoreIPC/HandleMessage.h: 9180 (CoreIPC::callMemberFunction): Added template that takes 8 arguments. 9181 * Shared/SandboxExtension.h: 9182 (HandleArray): Added new class to handle an array of sandbox extension handles. 9183 (WebKit::SandboxExtension::HandleArray::HandleArray): 9184 (WebKit::SandboxExtension::HandleArray::~HandleArray): 9185 (WebKit::SandboxExtension::HandleArray::resize): 9186 (WebKit::SandboxExtension::HandleArray::operator[]): 9187 (WebKit::SandboxExtension::HandleArray::size): 9188 (WebKit::SandboxExtension::HandleArray::encode): 9189 (WebKit::SandboxExtension::HandleArray::decode): 9190 * Shared/mac/SandboxExtensionMac.mm: Added new class implementation. 9191 (WebKit::SandboxExtension::HandleArray::HandleArray): 9192 (WebKit::SandboxExtension::HandleArray::~HandleArray): 9193 (WebKit::SandboxExtension::HandleArray::resize): 9194 (WebKit::SandboxExtension::HandleArray::operator[]): 9195 (WebKit::SandboxExtension::HandleArray::size): 9196 (WebKit::SandboxExtension::HandleArray::encode): 9197 (WebKit::SandboxExtension::HandleArray::decode): 9198 * UIProcess/API/mac/WKView.mm: 9199 (createSandboxExtensionsForFileUpload): 9200 (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each 9201 file/directory being dropped. 9202 * UIProcess/WebPageProxy.cpp: 9203 (WebKit::WebPageProxy::dragEntered): 9204 (WebKit::WebPageProxy::dragUpdated): 9205 (WebKit::WebPageProxy::dragExited): 9206 (WebKit::WebPageProxy::performDrag): 9207 (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter. 9208 * UIProcess/WebPageProxy.h: 9209 * UIProcess/qt/QtWebPageEventHandler.cpp: 9210 (QtWebPageEventHandler::handleDropEvent): 9211 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 9212 * UIProcess/win/WebView.cpp: 9213 (WebKit::WebView::Drop): 9214 * WebProcess/WebCoreSupport/WebDragClient.cpp: 9215 (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload. 9216 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 9217 (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process. 9218 * WebProcess/WebPage/WebPage.cpp: 9219 (WebKit::WebPage::performDragControllerAction): 9220 (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions. 9221 * WebProcess/WebPage/WebPage.h: 9222 * WebProcess/WebPage/WebPage.messages.in: 9223 92242012-03-19 Alexey Proskuryakov <ap@apple.com> 9225 9226 Make WebFrameLoaderClient::createFrame more like WebKit1 version. 9227 https://bugs.webkit.org/show_bug.cgi?id=81550 9228 9229 Covered by existing tests. 9230 9231 Reviewed by Jessie Berlin. 9232 9233 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame): 9234 92352012-03-19 Anders Carlsson <andersca@apple.com> 9236 9237 Find in page highlights get out of place when scrolling 9238 https://bugs.webkit.org/show_bug.cgi?id=81543 9239 <rdar://problem/10932590> 9240 9241 Reviewed by Sam Weinig. 9242 9243 When we have a page overlay layer, always force a full repaint of it whenever the page changes. 9244 If this turns out to be a real performance problem (measurements suggest that it isn't), we could once 9245 again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than 9246 simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly. 9247 9248 Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling 9249 on a page that had a find overlay visible. 9250 9251 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 9252 (TiledCoreAnimationDrawingArea): 9253 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 9254 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 9255 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 9256 92572012-03-19 Anders Carlsson <andersca@apple.com> 9258 9259 When Find overlay first appears and the page scrolls, the scrolling happens through a fade 9260 https://bugs.webkit.org/show_bug.cgi?id=81539 9261 <rdar://problem/11031093> 9262 9263 Reviewed by Dan Bernstein. 9264 9265 Disable implicit animations when adding the page overlay layer to its superlayer. 9266 9267 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 9268 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 9269 92702012-03-19 Anders Carlsson <andersca@apple.com> 9271 9272 Crash when closing an inspected web page with tiled drawing enabled 9273 https://bugs.webkit.org/show_bug.cgi?id=81524 9274 <rdar://problem/11062396> 9275 9276 Reviewed by Sam Weinig. 9277 9278 Guard against the WebPage's underlying WebCore Page being null, which can happen 9279 when the inspector highlight overlay is uninstalled by the inspector when the inspected 9280 page goes away. 9281 9282 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 9283 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 9284 92852012-03-19 Kenneth Rohde Christiansen <kenneth@webkit.org> 9286 9287 Merge _q_commitScaleChange and _q_commitPositionChange 9288 https://bugs.webkit.org/show_bug.cgi?id=81511 9289 9290 Reviewed by Simon Hausmann. 9291 9292 Both methods were used for notifying WebCore of the new 9293 viewport and re-tiling. The methods are merge into 9294 _q_contentViewportChanged. 9295 9296 * UIProcess/API/qt/qquickwebview.cpp: 9297 (QQuickWebViewFlickablePrivate::onComponentComplete): 9298 (QQuickWebViewFlickablePrivate::updateViewportSize): 9299 (QQuickWebViewFlickablePrivate::_q_contentViewportChanged): 9300 (QQuickWebViewFlickablePrivate::_q_resume): 9301 * UIProcess/API/qt/qquickwebview_p.h: 9302 * UIProcess/API/qt/qquickwebview_p_p.h: 9303 (QQuickWebViewPrivate::_q_contentViewportChanged): 9304 (QQuickWebViewFlickablePrivate): 9305 * UIProcess/qt/QtViewportInteractionEngine.cpp: 9306 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 9307 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 9308 (WebKit::QtViewportInteractionEngine::wheelEvent): 9309 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 9310 * UIProcess/qt/QtViewportInteractionEngine.h: 9311 (QtViewportInteractionEngine): 9312 93132012-03-19 Allan Sandfeld Jensen <allan.jensen@nokia.com> 9314 9315 Select best target for tap gesture. 9316 https://bugs.webkit.org/show_bug.cgi?id=78801 9317 9318 Reviewed by Kenneth Rohde Christiansen. 9319 9320 Send radius to handlePotentialSingleTapEvent so it can do the same hit 9321 detection the tap gesture later does. 9322 9323 * UIProcess/WebPageProxy.cpp: 9324 (WebKit::WebPageProxy::handlePotentialActivation): 9325 * UIProcess/WebPageProxy.h: 9326 * UIProcess/qt/QtWebPageEventHandler.cpp: 9327 (QtWebPageEventHandler::handlePotentialSingleTapEvent): 9328 * WebProcess/WebPage/WebPage.cpp: 9329 (WebKit::WebPage::highlightPotentialActivation): 9330 * WebProcess/WebPage/WebPage.h: 9331 * WebProcess/WebPage/WebPage.messages.in: 9332 93332012-03-19 Alexander Færøy <alexander.faeroy@nokia.com> 9334 9335 [Qt] Add experimental API for dynamically changing the UA string 9336 9337 Reviewed by Simon Hausmann. 9338 9339 This patch adds a new property named userAgent to the 9340 QQuickWebViewExperimental type which allows us to dynamically change 9341 the user agent string from the QML API. 9342 9343 * UIProcess/API/qt/qquickwebview.cpp: 9344 (QQuickWebViewExperimental::userAgent): 9345 (QQuickWebViewExperimental::setUserAgent): 9346 * UIProcess/API/qt/qquickwebview_p.h: 9347 93482012-03-18 No'am Rosenthal <noam.rosenthal@nokia.com> 9349 9350 [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration 9351 https://bugs.webkit.org/show_bug.cgi?id=81368 9352 9353 Reviewed by Simon Hausmann. 9354 9355 Moved the QtScenegraph integration classes to a separate file, 9356 QtWebPageSGNode. The nodes created for QQuickWebPage now include 9357 a QSGTransformNode that controls the contentsScale, a 9358 QSGSimpleRectNode that controls the background color, and a 9359 QSGRenderNode subclass that renders the actual contents. 9360 * Target.pri: 9361 * UIProcess/API/qt/qquickwebpage.cpp: 9362 (QQuickWebPage::updatePaintNode): 9363 * UIProcess/qt/QtWebPageSGNode.cpp: Added. 9364 * UIProcess/qt/QtWebPageSGNode.h: Added. 9365 93662012-03-18 No'am Rosenthal <noam.rosenthal@nokia.com> 9367 9368 [Qt] The background is visible for tiles inside the contents area which are not ready 9369 https://bugs.webkit.org/show_bug.cgi?id=81349 9370 9371 Reviewed by Simon Hausmann. 9372 9373 Split PageProxyNode to BackgroundSGNode and ContentsSGNode. 9374 BackgroundSGNode paints a solid background, either white or transparent 9375 (depending on drawsTransparentBackground flag). 9376 9377 * UIProcess/API/qt/qquickwebpage.cpp: 9378 (ContentsSGNode): 9379 (ContentsSGNode::ContentsSGNode): 9380 (ContentsSGNode::changedStates): 9381 (ContentsSGNode::~ContentsSGNode): 9382 (BackgroundSGNode): 9383 (BackgroundSGNode::BackgroundSGNode): 9384 (BackgroundSGNode::contentsNode): 9385 (QQuickWebPage::updatePaintNode): 9386 93872012-03-17 Joe Thomas <joethomas@motorola.com> 9388 9389 move calc*Value functions out from Length (and platform) 9390 https://bugs.webkit.org/show_bug.cgi?id=80897 9391 9392 Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder. 9393 This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160). 9394 9395 Reviewed by Antti Koivisto. 9396 9397 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 9398 (WebKit::WebPopupMenu::setUpPlatformData): 9399 94002012-03-17 Dan Bernstein <mitz@apple.com> 9401 9402 <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar 9403 https://bugs.webkit.org/show_bug.cgi?id=81454 9404 9405 Reviewed by Ada Chan. 9406 9407 When the Press and Hold panel is dismissed by clicking in the menu bar, 9408 -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1 9409 (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range 9410 returns 0, which leads to the crash. 9411 9412 * WebProcess/WebPage/mac/WebPageMac.mm: 9413 (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges. 9414 94152012-03-16 Stephanie Lewis <slewis@apple.com> 9416 9417 https://bugs.webkit.org/show_bug.cgi?id=81065 9418 <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142 9419 Add some string function exports to Windows so the WebKitTestRunner can use them. 9420 9421 Reviewed by Geoff Garen. 9422 9423 * win/WebKit2.def: 9424 94252012-03-16 Brady Eidson <beidson@apple.com> 9426 9427 <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412 9428 REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted 9429 9430 Reviewed by Geoff Garen. 9431 9432 Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL: 9433 * UIProcess/WebContext.h: 9434 * UIProcess/WebContext.messages.in: 9435 * UIProcess/mac/WebContextMac.mm: 9436 (WebKit::WebContext::getPasteboardURL): 9437 9438 Use that new message to implement the pasteboard strategy: 9439 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 9440 (WebKit::WebPlatformStrategies::url): 9441 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 9442 (WebPlatformStrategies): 9443 94442012-03-16 Alexey Proskuryakov <ap@apple.com> 9445 9446 ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing 9447 "crashes" on Lion Intel Debug WebKit2 Tests 9448 https://bugs.webkit.org/show_bug.cgi?id=81184 9449 <rdar://problem/11052462> 9450 9451 Rubber-stamped by Anders Carlsson. 9452 9453 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading): 9454 Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty, 9455 we would create the plug-in here, but failed to finalize the load. 9456 94572012-03-08 Jer Noble <jer.noble@apple.com> 9458 9459 Support W3C Full Screen API proposal 9460 https://bugs.webkit.org/show_bug.cgi?id=80660 9461 9462 Reviewed by Alexey Proskuryakov. 9463 9464 Allow full screen elements to access the keyboard. 9465 9466 * UIProcess/WebFullScreenManagerProxy.cpp: 9467 (WebKit::WebFullScreenManagerProxy::supportsFullScreen): 9468 * WebProcess/FullScreen/WebFullScreenManager.cpp: 9469 (WebKit::WebFullScreenManager::exitFullScreenForElement): 9470 94712012-03-16 Andras Becsi <andras.becsi@nokia.com> 9472 9473 [Qt][WK2] Fix bounce-back behaviour for panning 9474 https://bugs.webkit.org/show_bug.cgi?id=81144 9475 9476 Reviewed by Kenneth Rohde Christiansen. 9477 9478 If the pan gesture recognizer receives a touch begin event 9479 during an ongoing kinetic scroll animation of a previous 9480 pan gesture, the animation is stopped and the content is 9481 immediately positioned back to valid boundaries. 9482 9483 * UIProcess/qt/QtPanGestureRecognizer.cpp: 9484 (WebKit::QtPanGestureRecognizer::recognize): 9485 * UIProcess/qt/QtViewportInteractionEngine.cpp: 9486 (WebKit::QtViewportInteractionEngine::cancelScrollAnimation): 9487 (WebKit): 9488 * UIProcess/qt/QtViewportInteractionEngine.h: 9489 (QtViewportInteractionEngine): 9490 94912012-03-16 Dinu Jacob <dinu.jacob@nokia.com> 9492 9493 [Qt][Wk2] Assertion Failure and crash on file upload 9494 https://bugs.webkit.org/show_bug.cgi?id=80854 9495 9496 Reviewed by Simon Hausmann. 9497 9498 Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a 9499 QGuiApplication. Replace QFileDialog with a QML implementable component. 9500 Added a new property 'filePicker' to WebView experimental to set the QML component for 9501 file upload triggered by an input file element. 9502 9503 Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com> 9504 9505 * UIProcess/API/qt/qquickwebview.cpp: 9506 (QQuickWebViewPrivate::QQuickWebViewPrivate): 9507 (QQuickWebViewPrivate::chooseFiles): 9508 (QQuickWebViewExperimental::filePicker): 9509 (QQuickWebViewExperimental::setFilePicker): 9510 * UIProcess/API/qt/qquickwebview_p.h: 9511 * UIProcess/API/qt/qquickwebview_p_p.h: 9512 (QQuickWebViewPrivate): 9513 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 9514 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added. 9515 * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added. 9516 * UIProcess/qt/QtDialogRunner.cpp: 9517 (FilePickerContextObject): 9518 (FilePickerContextObject::FilePickerContextObject): 9519 (FilePickerContextObject::fileList): 9520 (FilePickerContextObject::reject): 9521 (FilePickerContextObject::accept): 9522 (QtDialogRunner::initForFilePicker): 9523 * UIProcess/qt/QtDialogRunner.h: 9524 (QtDialogRunner): 9525 (QtDialogRunner::filePaths): 9526 (QtDialogRunner::onFileSelected): 9527 95282012-03-16 Dinu Jacob <dinu.jacob@nokia.com> 9529 9530 [Qt][WK2] Build failure when using --no-touch-events 9531 https://bugs.webkit.org/show_bug.cgi?id=81241 9532 9533 Reviewed by Simon Hausmann. 9534 9535 Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build 9536 failure when using --no-touch-events option 9537 9538 * UIProcess/qt/QtPageClient.h: 9539 (QtPageClient): 9540 * UIProcess/qt/QtWebPageEventHandler.cpp: 9541 (QtWebPageEventHandler::handlePotentialSingleTapEvent): 9542 * UIProcess/qt/QtWebPageEventHandler.h: 9543 (QtWebPageEventHandler): 9544 * WebProcess/WebPage/WebPage.cpp: 9545 (WebKit::WebPage::WebPage): 9546 * WebProcess/WebPage/WebPage.h: 9547 (WebPage): 9548 * WebProcess/WebPage/WebPage.messages.in: 9549 95502012-03-16 Kenneth Rohde Christiansen <kenneth@webkit.org> 9551 9552 Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning 9553 https://bugs.webkit.org/show_bug.cgi?id=81346 9554 9555 Reviewed by Simon Hausmann. 9556 9557 This cleans up the code path and is one step on the way to avoid 9558 calling both methods in succession, for instance after ending pinch 9559 zoom. 9560 9561 * UIProcess/API/qt/qquickwebview.cpp: 9562 (QQuickWebViewLegacyPrivate::updateViewportSize): 9563 (QQuickWebViewFlickablePrivate::_q_commitScaleChange): 9564 (QQuickWebViewPrivate::_q_commitPositionChange): 9565 * UIProcess/DrawingAreaProxy.h: 9566 (WebKit::DrawingAreaProxy::setVisibleContentsRect): 9567 * UIProcess/DrawingAreaProxyImpl.cpp: 9568 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect): 9569 * UIProcess/DrawingAreaProxyImpl.h: 9570 (DrawingAreaProxyImpl): 9571 * UIProcess/LayerTreeHostProxy.cpp: 9572 (WebKit::LayerTreeHostProxy::setVisibleContentsRect): 9573 * UIProcess/LayerTreeHostProxy.h: 9574 (LayerTreeHostProxy): 9575 * UIProcess/WebLayerTreeRenderer.cpp: 9576 (WebKit::WebLayerTreeRenderer::setVisibleContentsRect): 9577 * UIProcess/WebLayerTreeRenderer.h: 9578 (WebLayerTreeRenderer): 9579 * WebProcess/WebPage/LayerTreeHost.h: 9580 (WebKit::LayerTreeHost::setVisibleContentsRect): 9581 * WebProcess/WebPage/LayerTreeHost.messages.in: 9582 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 9583 (WebKit::LayerTreeHostQt::setVisibleContentsRect): 9584 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 9585 (LayerTreeHostQt): 9586 95872012-03-16 YoungTaeck Song <youngtaeck.song@samsung.com> 9588 9589 [EFL][WK2] Add ProcessLauncherEfl.cpp 9590 https://bugs.webkit.org/show_bug.cgi?id=75464 9591 9592 Reviewed by Hajime Morita. 9593 9594 Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess(). 9595 9596 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added. 9597 (WebKit::ProcessLauncher::launchProcess): 9598 (WebKit::ProcessLauncher::terminateProcess): 9599 (WebKit::ProcessLauncher::platformInvalidate): 9600 96012012-03-15 Anders Carlsson <andersca@apple.com> 9602 9603 Try to fix the Snow Leopard build. 9604 9605 * UIProcess/API/mac/PDFViewController.mm: 9606 (WebKit::PDFViewController::pdfKitBundle): 9607 96082012-03-07 Jon Lee <jonlee@apple.com> 9609 9610 Move NotificationContents into Notification 9611 https://bugs.webkit.org/show_bug.cgi?id=80487 9612 <rdar://problem/10965519> 9613 9614 Reviewed by Jian Li. 9615 9616 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include. 9617 * WebProcess/Notifications/WebNotificationManager.cpp: 9618 (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification. 9619 96202012-03-15 Brent Fulgham <bfulgham@webkit.org> 9621 9622 Unreviewed build correction. WinCairo export definitions 9623 file was not updated when the main Apple file was changed. 9624 9625 * win/WebKit2CFLite.def: Revise export declarations to match 9626 new symbol names. 9627 96282012-03-15 Anders Carlsson <andersca@apple.com> 9629 9630 REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers 9631 https://bugs.webkit.org/show_bug.cgi?id=81162 9632 <rdar://problem/11050423> 9633 9634 Reviewed by Beth Dakin and Jessie Berlin. 9635 9636 Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions. 9637 9638 * WebProcess/WebPage/WebPage.cpp: 9639 (WebKit::pageContainsAnyHorizontalScrollbars): 9640 96412012-03-15 David Hyatt <hyatt@apple.com> 9642 9643 https://bugs.webkit.org/show_bug.cgi?id=81258 9644 9645 Add a preference for enabling the new multi-column layout code that will be based on regions. 9646 9647 Reviewed by Beth Dakin. 9648 9649 * Shared/WebPreferencesStore.h: 9650 (WebKit): 9651 * UIProcess/API/C/WKPreferences.cpp: 9652 (WKPreferencesSetRegionBasedColumnsEnabled): 9653 (WKPreferencesGetRegionBasedColumnsEnabled): 9654 * UIProcess/API/C/WKPreferencesPrivate.h: 9655 * WebProcess/WebPage/WebPage.cpp: 9656 (WebKit::WebPage::updatePreferences): 9657 96582012-03-14 Anders Carlsson <andersca@apple.com> 9659 9660 Can't swipe to go back/forward when the current page is a PDF document 9661 https://bugs.webkit.org/show_bug.cgi?id=81194 9662 <rdar://problem/6954125> 9663 9664 Reviewed by Sam Weinig. 9665 9666 Override -[PDFViewScrollView scrollWheel:] and have the new implementation call 9667 -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side. 9668 WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward, 9669 and passes the event along to the WKView which ends up triggering the swiping machinery in Safari. 9670 9671 * UIProcess/API/mac/PDFViewController.h: 9672 * UIProcess/API/mac/PDFViewController.mm: 9673 (-[WKPDFView forwardScrollWheelEvent:]): 9674 (WebKit): 9675 (WebKit::PDFViewController::forwardScrollWheelEvent): 9676 (WebKit::findEnclosingWKPDFView): 9677 (WebKit::PDFViewScrollView_scrollWheel): 9678 (WebKit::PDFViewController::pdfKitBundle): 9679 * UIProcess/WebPageProxy.cpp: 9680 (WebKit::WebPageProxy::didCommitLoadForFrame): 9681 96822012-03-15 Brady Eidson <beidson@apple.com> 9683 9684 <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079 9685 REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard 9686 9687 Reviewed by Sam Weinig. 9688 9689 Add the non-destructive "addTypes" to supplement the destructive "setTypes" 9690 9691 * UIProcess/WebContext.h: 9692 * UIProcess/WebContext.messages.in: 9693 * UIProcess/mac/WebContextMac.mm: 9694 (WebKit::WebContext::addPasteboardTypes): 9695 9696 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 9697 (WebKit::WebPlatformStrategies::addTypes): 9698 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 9699 97002012-03-15 Carlos Garcia Campos <cgarcia@igalia.com> 9701 9702 [GTK] Implement unicode submenu items 9703 https://bugs.webkit.org/show_bug.cgi?id=81117 9704 9705 Reviewed by Martin Robinson. 9706 9707 * WebProcess/WebCoreSupport/WebEditorClient.h: 9708 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 9709 (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement 9710 shouldShowUnicodeMenu() returning always true. When ContextMenu 9711 API is implemented for GTK+ the UI process will decide whether to 9712 show the unicode menu or not. 9713 97142012-03-15 Andras Becsi <andras.becsi@nokia.com> 9715 9716 [Qt][WK2] Fix bounce-back behaviour for panning 9717 https://bugs.webkit.org/show_bug.cgi?id=81144 9718 9719 Reviewed by Kenneth Rohde Christiansen. 9720 9721 Move the content back to boundaries immediately 9722 in response to a tap gesture during the bounce-back 9723 animation after panning. 9724 9725 * UIProcess/qt/QtPanGestureRecognizer.cpp: 9726 (WebKit::QtPanGestureRecognizer::recognize): 9727 * UIProcess/qt/QtViewportInteractionEngine.h: 9728 Make the ensureContentWithinViewportBoundary function public. 9729 (QtViewportInteractionEngine): 9730 97312012-03-15 Carlos Garcia Campos <cgarcia@igalia.com> 9732 9733 [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty 9734 https://bugs.webkit.org/show_bug.cgi?id=75465 9735 9736 Reviewed by Philippe Normand. 9737 9738 * UIProcess/API/gtk/tests/WebViewTest.cpp: 9739 (WebViewTest::replaceContent): Return the main frame 9740 unreachableURL if it's not empty. 9741 * UIProcess/WebPageProxy.cpp: 9742 (WebKit::WebPageProxy::activeURL): 9743 97442012-03-14 Anders Carlsson <andersca@apple.com> 9745 9746 java/java-and-plugins.html test failing 9747 https://bugs.webkit.org/show_bug.cgi?id=81188 9748 <rdar://problem/11048657> 9749 9750 Reviewed by Sam Weinig. 9751 9752 When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the 9753 current plug-in instance is the same as the plug-in instance the object came from and don't 9754 pass the unwrapped object ID if that is the case. 9755 9756 * Shared/Plugins/NPRemoteObjectMap.cpp: 9757 (WebKit::remoteNPObjectID): 9758 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 9759 97602012-03-14 Matt Falkenhagen <falken@chromium.org> 9761 9762 Allow per-script font settings to be specified in layout tests 9763 https://bugs.webkit.org/show_bug.cgi?id=78184 9764 9765 Reviewed by Hajime Morita. 9766 9767 This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of 9768 the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented 9769 for Chromium so far. 9770 9771 * win/WebKit2.def: Added symbols. 9772 * win/WebKit2CFLite.def: Added symbols. 9773 97742012-03-14 Michael Saboff <msaboff@apple.com> 9775 9776 REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots 9777 https://bugs.webkit.org/show_bug.cgi?id=80993 9778 9779 Reviewed by Mark Rowe. 9780 9781 Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH 9782 to fix builds given the wtf move. 9783 9784 * Configurations/BaseTarget.xcconfig: 9785 97862012-03-14 Andy Estes <aestes@apple.com> 9787 9788 Stop shadowing the argument to drawRect: with a local variable. 9789 9790 Reviewed by Sam Weinig. 9791 9792 * UIProcess/API/mac/WKView.mm: 9793 (-[WKView drawRect:]): 9794 97952012-03-13 Jon Lee <jonlee@apple.com> 9796 9797 Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS 9798 https://bugs.webkit.org/show_bug.cgi?id=80922 9799 <rdar://problem/11035082> 9800 9801 Reviewed by Jian Li. 9802 9803 You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API. 9804 LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the 9805 new API. Therefore, APIs that are common between the two will have: 9806 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) 9807 9808 This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to 9809 the new API, the defines will begin to split. This allows ports to decide which set of APIs to include. 9810 9811 Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) 9812 * Shared/WebProcessCreationParameters.cpp: 9813 (WebKit::WebProcessCreationParameters::encode): 9814 (WebKit::WebProcessCreationParameters::decode): 9815 * Shared/WebProcessCreationParameters.h: 9816 (WebProcessCreationParameters): 9817 * UIProcess/WebContext.cpp: 9818 (WebKit::WebContext::ensureWebProcess): 9819 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 9820 (WebKit): 9821 (WebKit::NotificationPermissionRequestManager::startRequest): 9822 (WebKit::NotificationPermissionRequestManager::cancelRequest): 9823 (WebKit::NotificationPermissionRequestManager::permissionLevel): 9824 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): 9825 * WebProcess/Notifications/WebNotificationManager.cpp: 9826 (WebKit): 9827 (WebKit::WebNotificationManager::initialize): 9828 (WebKit::WebNotificationManager::didUpdateNotificationDecision): 9829 (WebKit::WebNotificationManager::didRemoveNotificationDecisions): 9830 (WebKit::WebNotificationManager::policyForOrigin): 9831 (WebKit::WebNotificationManager::show): 9832 (WebKit::WebNotificationManager::cancel): 9833 (WebKit::WebNotificationManager::clearNotifications): 9834 (WebKit::WebNotificationManager::didDestroyNotification): 9835 (WebKit::WebNotificationManager::didShowNotification): 9836 (WebKit::WebNotificationManager::didClickNotification): 9837 (WebKit::WebNotificationManager::didCloseNotifications): 9838 * WebProcess/Notifications/WebNotificationManager.h: 9839 (WebNotificationManager): 9840 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 9841 * WebProcess/WebCoreSupport/WebNotificationClient.h: 9842 * WebProcess/WebPage/WebPage.cpp: 9843 (WebKit::WebPage::WebPage): 9844 (WebKit::WebPage::updatePreferences): 9845 * WebProcess/WebProcess.cpp: 9846 (WebKit::WebProcess::WebProcess): 9847 (WebKit::WebProcess::didReceiveMessage): 9848 * WebProcess/WebProcess.h: 9849 (WebProcess): 9850 * WebProcess/mac/WebProcessMac.mm: 9851 (WebKit::WebProcess::platformInitializeWebProcess): 9852 98532012-03-14 Dinu Jacob <dinu.jacob@nokia.com> 9854 9855 [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class 9856 https://bugs.webkit.org/show_bug.cgi?id=80627 9857 9858 Reviewed by Kenneth Rohde Christiansen. 9859 9860 No impact to QML API. 9861 9862 * UIProcess/qt/QtDialogRunner.cpp: 9863 (BaseAuthenticationContextObject): 9864 (BaseAuthenticationContextObject::BaseAuthenticationContextObject): 9865 (HttpAuthenticationDialogContextObject): 9866 (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject): 9867 (HttpAuthenticationDialogContextObject::realm): 9868 (ProxyAuthenticationDialogContextObject): 9869 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject): 9870 (QtDialogRunner::initForAuthentication): 9871 98722012-03-14 Anders Carlsson <andersca@apple.com> 9873 9874 With tiled drawing enabled, clicking a link to a PDF causes a cross-fade 9875 https://bugs.webkit.org/show_bug.cgi?id=79247 9876 <rdar://problem/10910808> 9877 9878 Reviewed by Sam Weinig. 9879 9880 Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us. 9881 This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case). 9882 9883 * UIProcess/API/mac/WKView.mm: 9884 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 9885 (-[WKView wantsUpdateLayer]): 9886 (-[WKView updateLayer]): 9887 98882012-03-14 Alexey Proskuryakov <ap@apple.com> 9889 9890 WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests 9891 https://bugs.webkit.org/show_bug.cgi?id=81150 9892 <rdar://problem/11002254> 9893 9894 Reviewed by Anders Carlsson. 9895 9896 * WebProcess/WebPage/WebPage.cpp: 9897 (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): 9898 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): 9899 It's not great, but for now we need to handle this case. Hopefully, some day we'll make 9900 both WebKit2 processes better aware of what's going on with loading in WebCore. 9901 99022012-03-14 Anders Carlsson <andersca@apple.com> 9903 9904 Fix UI process crash when a plug-in process crashes with a modal dialog showing 9905 https://bugs.webkit.org/show_bug.cgi?id=81139 9906 <rdar://problem/9641197> 9907 9908 Reviewed by Dan Bernstein. 9909 9910 When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately, 9911 which is bad if we're currently running a nested run loop. 9912 9913 Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:]. 9914 9915 * UIProcess/Plugins/PluginProcessManager.cpp: 9916 (WebKit::PluginProcessManager::pluginProcessWithPath): 9917 (WebKit::PluginProcessManager::getOrCreatePluginProcess): 9918 * UIProcess/Plugins/PluginProcessManager.h: 9919 (PluginProcessManager): 9920 * UIProcess/Plugins/PluginProcessProxy.cpp: 9921 (WebKit::PluginProcessProxy::create): 9922 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 9923 * UIProcess/Plugins/PluginProcessProxy.h: 9924 (PluginProcessProxy): 9925 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 9926 (WebKit::PluginProcessProxy::setModalWindowIsShowing): 9927 (WebKit::PluginProcessProxy::beginModal): 9928 99292012-03-14 Carlos Garcia Campos <cgarcia@igalia.com> 9930 9931 [GTK] Handle printing errors in WebKit2 9932 https://bugs.webkit.org/show_bug.cgi?id=77197 9933 9934 Reviewed by Gustavo Noronha Silva. 9935 9936 * UIProcess/API/gtk/WebKitError.cpp: 9937 (webkit_print_error_quark): Add new error domain for print 9938 errors. 9939 * UIProcess/API/gtk/WebKitError.h: Ad print errors. 9940 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 9941 (webkit_print_operation_class_init): Add 9942 WebKitPrintOperation::failed signal. 9943 (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed 9944 when the print operation failed with the given error. 9945 (webkitPrintOperationPrintPagesForFrame): Use 9946 PrintFinishedCallback instead of a VoidCallback. 9947 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 9948 * UIProcess/API/gtk/tests/TestPrinting.cpp: 9949 (testPrintOperationPrint): 9950 (testPrintOperationErrors): Test different print errors are 9951 correctly reported. 9952 (beforeAll): 9953 * UIProcess/WebPageProxy.cpp: 9954 (WebKit::WebPageProxy::close): Invalidate print finished callbacks 9955 map. 9956 (WebKit::WebPageProxy::printFinishedCallback): Callback called 9957 when the print operation has finished in the web process. 9958 (WebKit::WebPageProxy::processDidCrash): Invalidate print finished 9959 callbacks map. 9960 (WebKit::WebPageProxy::drawPagesForPrinting): Use a 9961 PrintFinishedCallback instead of a VoidCallback. 9962 * UIProcess/WebPageProxy.h: 9963 (WebKit): Delcare PrintFinishedCallback as a generic callback. 9964 (WebPageProxy): 9965 * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback 9966 instead of VoidCallback as callback argument of 9967 DrawPagesForPrinting message. 9968 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 9969 (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid 9970 when there are no pages to print. 9971 (PrintPagesData): Add isValid parameter to mark the data struct as 9972 invalid. 9973 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call 9974 printPagesDone() instead of printDone(). 9975 (WebKit::WebPrintOperationGtk::printPagesDone): Renamed. 9976 (WebKit::WebPrintOperationGtk::printDone): Notify the UI process 9977 that the print operation has finsihed. 9978 (WebKit::WebPrintOperationGtk::print): Finish the print if the 9979 PrintPagesData struct is not valid. 9980 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 9981 99822012-03-13 Jer Noble <jer.noble@apple.com> 9983 9984 Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:] 9985 https://bugs.webkit.org/show_bug.cgi?id=81056 9986 9987 Reviewed by Jessie Berlin. 9988 9989 Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen: 9990 * WebProcess/FullScreen/WebFullScreenManager.cpp: 9991 (WebKit::WebFullScreenManager::willEnterFullScreen): 9992 (WebKit::WebFullScreenManager::willExitFullScreen): 9993 9994 And call the client function if it exists; otherwise, continue to message the page: 9995 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9996 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: 9997 (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen): 9998 (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen): 9999 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: 10000 10001 Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change. 10002 * Shared/APIClientTraits.cpp: 10003 * Shared/APIClientTraits.h: 10004 100052012-03-14 Andrey Kosyakov <caseq@chromium.org> 10006 10007 Web Inspector: add didCancelFrame timeline event 10008 https://bugs.webkit.org/show_bug.cgi?id=80994 10009 10010 Reviewed by Pavel Feldman. 10011 10012 * win/WebKit2.def: 10013 * win/WebKit2CFLite.def: 10014 100152012-03-13 Anders Carlsson <andersca@apple.com> 10016 10017 Find bouncy doesn’t hide when a subframe is scrolled 10018 https://bugs.webkit.org/show_bug.cgi?id=81060 10019 <rdar://problem/9365329> 10020 10021 Reviewed by Andreas Kling. 10022 10023 Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide 10024 the find indicator there if the find selection bounds have changed since the last call to drawRect. 10025 10026 * WebProcess/WebPage/FindController.cpp: 10027 (WebKit::FindController::updateFindIndicator): 10028 (WebKit::FindController::drawRect): 10029 * WebProcess/WebPage/FindController.h: 10030 (FindController): 10031 * WebProcess/WebPage/WebPage.cpp: 10032 (WebKit::WebPage::pageDidScroll): 10033 100342012-03-13 Jeff Miller <jeffm@apple.com> 10035 10036 Support loading a WKPage from web archive data 10037 https://bugs.webkit.org/show_bug.cgi?id=81044 10038 10039 This code was written by Jessie Berlin. 10040 10041 Reviewed by Brady Eidson. 10042 10043 * UIProcess/API/C/WKPage.cpp: 10044 (WKPageLoadWebArchiveData): Added. 10045 10046 * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData(). 10047 10048 * UIProcess/WebPageProxy.cpp: 10049 (WebKit::WebPageProxy::loadWebArchiveData): Added. 10050 10051 * UIProcess/WebPageProxy.h: Added loadWebArchiveData(). 10052 10053 * WebProcess/WebPage/WebPage.cpp: 10054 (WebKit::WebPage::loadWebArchiveData): Added. 10055 10056 * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData(). 10057 10058 * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message. 10059 100602012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com> 10061 10062 Always enable ENABLE(CLIENT_BASED_GEOLOCATION) 10063 https://bugs.webkit.org/show_bug.cgi?id=78853 10064 10065 Reviewed by Adam Barth. 10066 10067 * Configurations/FeatureDefines.xcconfig: 10068 * WebProcess/Geolocation/WebGeolocationManager.cpp: 10069 (WebKit::WebGeolocationManager::registerWebPage): 10070 (WebKit::WebGeolocationManager::unregisterWebPage): 10071 (WebKit::WebGeolocationManager::didChangePosition): 10072 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 10073 * WebProcess/InjectedBundle/InjectedBundle.cpp: 10074 (WebKit::InjectedBundle::setGeoLocationPermission): 10075 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10076 (WebKit): 10077 * WebProcess/WebCoreSupport/WebChromeClient.h: 10078 (WebChromeClient): 10079 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: 10080 * WebProcess/WebCoreSupport/WebGeolocationClient.h: 10081 * WebProcess/WebPage/WebPage.cpp: 10082 (WebKit::WebPage::WebPage): 10083 * mac/WebKit2.order: 10084 100852012-03-13 Max Vujovic <mvujovic@adobe.com> 10086 10087 Add a method to window.internals to enable testing of inspector highlight rects 10088 https://bugs.webkit.org/show_bug.cgi?id=80338 10089 10090 Reviewed by Pavel Feldman. 10091 10092 * win/WebKit2.def: Export symbols for win. 10093 * win/WebKit2CFLite.def: Same as above. 10094 100952012-03-13 Allan Sandfeld Jensen <allan.jensen@nokia.com> 10096 10097 [Qt] Set correct device width and height. 10098 https://bugs.webkit.org/show_bug.cgi?id=80980 10099 10100 Reviewed by Tor Arne Vestbø. 10101 10102 * UIProcess/API/qt/qquickwebview.cpp: 10103 (QQuickWebViewFlickablePrivate::computeViewportConstraints): 10104 101052012-03-12 Sam Weinig <sam@webkit.org> 10106 10107 Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with 10108 a function called layerHostingMode. 10109 10110 Reviewed by Anders Carlsson. 10111 10112 * UIProcess/API/mac/PageClientImpl.h: 10113 * UIProcess/API/mac/PageClientImpl.mm: 10114 (WebKit::PageClientImpl::viewLayerHostingMode): 10115 Update name and add OVERRIDE to catch this in the future. 10116 101172012-03-12 Enrica Casucci <enrica@apple.com> 10118 10119 WebKit2: remove NSPasteboard access for promised data from the WebProcess 10120 https://bugs.webkit.org/show_bug.cgi?id=80073 10121 10122 Reviewed by Alexey Proskuryakov. 10123 10124 This patch removes the last remaining access to NSPasteboard from the WebProcess. 10125 The code in WebDragClient::declareAndWriteDragImage now packages all the data 10126 required for the drag and the promised drag types and sends one request to the UI 10127 process that will place the data in the NSPasteboard when appropriate. 10128 10129 * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method. 10130 * UIProcess/API/mac/PageClientImpl.mm: 10131 (WebKit::PageClientImpl::setPromisedData): 10132 * UIProcess/API/mac/WKView.mm: 10133 (matchesExtensionOrEquivalent): Added. 10134 (fileExists): Added. 10135 (pathWithUniqueFilenameForPath): Added. 10136 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]): 10137 (-[WKView pasteboardChangedOwner:]): 10138 (-[WKView pasteboard:provideDataForType:]): 10139 (-[WKView namesOfPromisedFilesDroppedAtDestination:]): 10140 * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData. 10141 * UIProcess/PageClient.h: 10142 * UIProcess/WebPageProxy.h: Added method for the new message. 10143 * UIProcess/WebPageProxy.messages.in: Added setPromisedData message. 10144 * UIProcess/mac/WebPageProxyMac.mm: 10145 (WebKit::WebPageProxy::setPromisedData): 10146 * WebProcess/WebCoreSupport/WebDragClient.cpp: 10147 * WebProcess/WebCoreSupport/WebDragClient.h: 10148 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 10149 (WebKit::WebDragClient::declareAndWriteDragImage): 10150 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 10151 (InitWebCoreSystemInterface): Added SetMetadataURL. 10152 101532012-03-12 Andras Becsi <andras.becsi@nokia.com> 10154 10155 [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser 10156 https://bugs.webkit.org/show_bug.cgi?id=80832 10157 10158 Reviewed by Tor Arne Vestbø. 10159 10160 Since the ScrollDecorator QML component requires a Flickable in its API 10161 we need to expose the Flickable in QML for now and we also need to add 10162 a notifier because we instantiate the internal Flickable only when the 10163 WebView component completes construction. 10164 10165 * UIProcess/API/qt/qquickwebview.cpp: 10166 (QQuickWebViewFlickablePrivate::onComponentComplete): 10167 (QQuickWebViewExperimental::flickable): 10168 * UIProcess/API/qt/qquickwebview_p.h: 10169 101702012-03-11 Timothy Hatcher <timothy@apple.com> 10171 10172 Update how the Web Inspector resources are loaded. 10173 10174 https://bugs.webkit.org/show_bug.cgi?id=80814 10175 rdar://problem/10359959 10176 10177 Reviewed by John Sullivan. 10178 10179 * Shared/WebPreferencesStore.h: 10180 (WebKit): Added InspectorUsesWebKitUserInterface. 10181 * Shared/WebProcessCreationParameters.cpp: 10182 (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath. 10183 (WebKit::WebProcessCreationParameters::decode): Ditto. 10184 * Shared/WebProcessCreationParameters.h: Ditto. 10185 (WebProcessCreationParameters): Ditto. 10186 * UIProcess/API/C/WKContext.cpp: 10187 * UIProcess/API/C/WKContextPrivate.h: 10188 * UIProcess/API/C/WKPreferences.cpp: 10189 (WKPreferencesSetInspectorUsesWebKitUserInterface): Added. 10190 (WKPreferencesGetInspectorUsesWebKitUserInterface): Added. 10191 * UIProcess/API/C/WKPreferencesPrivate.h: 10192 * UIProcess/WebContext.cpp: 10193 (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath. 10194 * UIProcess/WebContext.h: 10195 (WebContext): Ditto. 10196 * UIProcess/mac/WebInspectorProxyMac.mm: 10197 (WebKit::inspectorReallyUsesWebKitUserInterface): Added. 10198 (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface 10199 to determine if texture should be used. 10200 (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path. 10201 (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto. 10202 * WebProcess/WebPage/WebInspector.h: 10203 * WebProcess/WebPage/mac/WebInspectorMac.mm: 10204 (WebKit::inspectorReallyUsesWebKitUserInterface): 10205 (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added. 10206 (WebKit::WebInspector::localizedStringsURL): 10207 * WebProcess/WebPage/mac/WebPageMac.mm: 10208 (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface. 10209 * WebProcess/mac/WebProcessMac.mm: 10210 (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath. 10211 102122012-03-11 Andy Estes <aestes@apple.com> 10213 10214 Remove unnecessary call to NSSizeToCGSize(). 10215 https://bugs.webkit.org/show_bug.cgi?id=80817 10216 10217 Reviewed by Dan Bernstein. 10218 10219 There is no need to call NSSizeToCGSize() to convert an IntSize to a 10220 CGSize. IntSize defines a conversion function to CGSize that will do 10221 this for us implicitly. 10222 10223 * UIProcess/mac/BackingStoreMac.mm: 10224 (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize(). 10225 102262012-03-11 Dan Bernstein <mitz@apple.com> 10227 10228 WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer 10229 <http://webkit.org/b/80791> 10230 10231 Reviewed by Anders Carlsson. 10232 10233 * CMakeLists.txt: 10234 * GNUmakefile.am: 10235 10236 * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef. 10237 10238 * Shared/API/c/WKRenderLayer.cpp: Added. 10239 (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID. 10240 (WKRenderLayerCopyRendererName): Added this getter wrapper. 10241 (WKRenderLayerCopyElementTagName): Ditto. 10242 (WKRenderLayerCopyElementID): Ditto. 10243 (WKRenderLayerGetElementClassNames): Ditto. 10244 (WKRenderLayerGetAbsoluteBounds): Ditto. 10245 (WKRenderLayerIsClipping): Ditto. 10246 (WKRenderLayerIsClipped): Ditto. 10247 (WKRenderLayerIsReflection): Ditto. 10248 (WKRenderLayerGetCompositingLayerType): Ditto. 10249 (WKRenderLayerGetNegativeZOrderList): Ditto. 10250 (WKRenderLayerGetNormalFlowList): Ditto. 10251 (WKRenderLayerGetPositiveZOrderList): Ditto. 10252 10253 * Shared/API/c/WKRenderLayer.h: Added. 10254 10255 * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum. 10256 10257 * Shared/UserMessageCoders.h: 10258 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding. 10259 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding. 10260 10261 * Shared/WebRenderLayer.cpp: Added. 10262 (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main 10263 frame’s root layer. 10264 (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function. 10265 (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the 10266 renderer name, element tag, ID and class names, metrics, child lists, and compositing 10267 layer properties of the given RenderLayer. 10268 10269 * Shared/WebRenderLayer.h: Added. 10270 (WebKit::WebRenderLayer::create): 10271 (WebKit::WebRenderLayer::negativeZOrderList): 10272 (WebKit::WebRenderLayer::normalFlowList): 10273 (WebKit::WebRenderLayer::positiveZOrderList): 10274 (WebKit::WebRenderLayer::renderObjectName): 10275 (WebKit::WebRenderLayer::elementTagName): 10276 (WebKit::WebRenderLayer::elementID): 10277 (WebKit::WebRenderLayer::elementClassNames): 10278 (WebKit::WebRenderLayer::isReflection): 10279 (WebKit::WebRenderLayer::isClipping): 10280 (WebKit::WebRenderLayer::isClipped): 10281 (WebKit::WebRenderLayer::compositingLayerType): 10282 (WebKit::WebRenderLayer::absoluteBoundingBox): 10283 (WebKit::WebRenderLayer::WebRenderLayer): 10284 10285 * Target.pri 10286 10287 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer. 10288 10289 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}. 10290 10291 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 10292 (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree. 10293 10294 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 10295 10296 * win/WebKit2.vcproj: 10297 102982012-03-11 Joseph Pecoraro <pecoraro@apple.com> 10299 10300 <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector 10301 10302 The WebInspectorFrontendClient reference should be cleared when the 10303 WebInspectorClient::closeInspectorFrontend is called. This adds a 10304 destroyInspectorPage to mirror createInspectorPage and clear the weak 10305 pointers that are no longer valid. 10306 10307 Reviewed by Pavel Feldman. 10308 10309 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 10310 (WebKit::WebInspectorClient::closeInspectorFrontend): 10311 (WebKit::WebInspectorClient::didResizeMainFrame): 10312 * WebProcess/WebPage/WebInspector.cpp: 10313 (WebKit::WebInspector::destroyInspectorPage): 10314 * WebProcess/WebPage/WebInspector.h: 10315 103162012-03-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 10317 10318 [Qt] [WK2] Support threaded renderer in WK2 10319 https://bugs.webkit.org/show_bug.cgi?id=76661 10320 10321 Reviewed by Noam Rosenthal. 10322 10323 Implement Qt5 threaded rendering support for Qt WebKit2. 10324 Parts of LayerTreeHostProxy which contain layer tree and layer painting objects 10325 are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is 10326 thread safe ref counted and referenced by LayerTreeHostProxy and paint node. 10327 All layer tree and graphics objects are created, accessed and deallocated from Qt 10328 Scenegraph's paint thread only. 10329 Layer tree updates from render queue are fetched in updatePaintNode call stack when 10330 main thread is locked. 10331 Messages from paint thread to web process are passed through MainThreadGuardedInvoker 10332 call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde 10333 Christiansen). 10334 10335 * Target.pri: 10336 * UIProcess/API/qt/qquickwebpage.cpp: 10337 (PageProxyNode::PageProxyNode): 10338 (PageProxyNode::render): 10339 (PageProxyNode::~PageProxyNode): 10340 (PageProxyNode::layerTreeRenderer): 10341 (PageProxyNode): 10342 (PageProxyNode::setScale): 10343 (QQuickWebPage::updatePaintNode): 10344 (QQuickWebPagePrivate::~QQuickWebPagePrivate): 10345 * UIProcess/LayerTreeHostProxy.cpp: Added. 10346 (WebKit): 10347 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy): 10348 (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy): 10349 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 10350 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 10351 (WebKit::LayerTreeHostProxy::updateViewport): 10352 (WebKit::LayerTreeHostProxy::dispatchUpdate): 10353 (WebKit::LayerTreeHostProxy::createTileForLayer): 10354 (WebKit::LayerTreeHostProxy::updateTileForLayer): 10355 (WebKit::LayerTreeHostProxy::removeTileForLayer): 10356 (WebKit::LayerTreeHostProxy::deleteCompositingLayer): 10357 (WebKit::LayerTreeHostProxy::setRootCompositingLayer): 10358 (WebKit::LayerTreeHostProxy::syncCompositingLayerState): 10359 (WebKit::LayerTreeHostProxy::didRenderFrame): 10360 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage): 10361 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage): 10362 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning): 10363 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling): 10364 (WebKit::LayerTreeHostProxy::renderNextFrame): 10365 (WebKit::LayerTreeHostProxy::purgeBackingStores): 10366 * UIProcess/LayerTreeHostProxy.h: 10367 (WebKit): 10368 (LayerTreeHostProxy): 10369 (WebKit::LayerTreeHostProxy::layerTreeRenderer): 10370 * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp. 10371 (WebKit): 10372 (MainThreadGuardedInvoker): 10373 (WebKit::MainThreadGuardedInvoker::call): 10374 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker): 10375 (WebKit::MainThreadGuardedInvoker::invoke): 10376 (WebKit::WebLayerTreeRenderer::callOnMainTread): 10377 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer): 10378 (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer): 10379 (WebKit::WebLayerTreeRenderer::createLayer): 10380 (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext): 10381 (WebKit::WebLayerTreeRenderer::syncAnimations): 10382 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext): 10383 (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling): 10384 (WebKit::WebLayerTreeRenderer::updateViewport): 10385 (WebKit::WebLayerTreeRenderer::syncLayerParameters): 10386 (WebKit::WebLayerTreeRenderer::deleteLayer): 10387 (WebKit::WebLayerTreeRenderer::ensureLayer): 10388 (WebKit::WebLayerTreeRenderer::setRootLayerID): 10389 (WebKit::WebLayerTreeRenderer::getBackingStore): 10390 (WebKit::WebLayerTreeRenderer::createTile): 10391 (WebKit::WebLayerTreeRenderer::removeTile): 10392 (WebKit::WebLayerTreeRenderer::updateTile): 10393 (WebKit::WebLayerTreeRenderer::createImage): 10394 (WebKit::WebLayerTreeRenderer::destroyImage): 10395 (WebKit::WebLayerTreeRenderer::assignImageToLayer): 10396 (WebKit::WebLayerTreeRenderer::swapBuffers): 10397 (WebKit::WebLayerTreeRenderer::flushLayerChanges): 10398 (WebKit::WebLayerTreeRenderer::renderNextFrame): 10399 (WebKit::WebLayerTreeRenderer::ensureRootLayer): 10400 (WebKit::WebLayerTreeRenderer::syncRemoteContent): 10401 (WebKit::WebLayerTreeRenderer::purgeGLResources): 10402 (WebKit::WebLayerTreeRenderer::purgeBackingStores): 10403 (WebKit::WebLayerTreeRenderer::detach): 10404 (WebKit::WebLayerTreeRenderer::appendUpdate): 10405 * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h. 10406 (WebKit): 10407 (WebLayerTreeRenderer): 10408 (WebKit::WebLayerTreeRenderer::layerByID): 10409 (WebKit::WebLayerTreeRenderer::rootLayer): 10410 (WebKit::WebLayerTreeRenderer::notifyAnimationStarted): 10411 (WebKit::WebLayerTreeRenderer::notifySyncRequired): 10412 (WebKit::WebLayerTreeRenderer::showDebugBorders): 10413 (WebKit::WebLayerTreeRenderer::showRepaintCounter): 10414 (WebKit::WebLayerTreeRenderer::paintContents): 10415 104162012-03-09 Jon Lee <jonlee@apple.com> 10417 10418 Rename NotificationPresenter to NotificationClient 10419 https://bugs.webkit.org/show_bug.cgi?id=80488 10420 <rdar://problem/10965558> 10421 10422 Reviewed by Kentaro Hara. 10423 10424 Refactor to use renamed WebCore::NotificationClient. 10425 * UIProcess/Notifications/WebNotificationManagerProxy.h: 10426 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 10427 (WebKit::NotificationPermissionRequestManager::startRequest): 10428 (WebKit::NotificationPermissionRequestManager::permissionLevel): 10429 * WebProcess/Notifications/NotificationPermissionRequestManager.h: 10430 (NotificationPermissionRequestManager): 10431 * WebProcess/Notifications/WebNotificationManager.cpp: 10432 (WebKit::WebNotificationManager::policyForOrigin): 10433 * WebProcess/Notifications/WebNotificationManager.h: 10434 (WebNotificationManager): 10435 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 10436 (WebKit::WebNotificationClient::checkPermission): 10437 * WebProcess/WebCoreSupport/WebNotificationClient.h: 10438 (WebNotificationClient): 10439 104402012-03-09 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 10441 10442 [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node. 10443 https://bugs.webkit.org/show_bug.cgi?id=80714 10444 10445 Reviewed by Noam Rosenthal. 10446 10447 Replace item based clip-rect calculation with clipping-nodes based calculation. 10448 This is required for threaded rendering, since we don't have access to the QSGItems 10449 from the render thread. 10450 10451 * UIProcess/API/qt/qquickwebpage.cpp: 10452 (QQuickWebPage::QQuickWebPage): 10453 (QQuickWebPagePrivate::paintToCurrentGLContext): 10454 (PageProxyNode::render): 10455 (PageProxyNode::clipRect): 10456 (PageProxyNode): 10457 * UIProcess/API/qt/qquickwebpage_p_p.h: 10458 (QQuickWebPagePrivate): 10459 * UIProcess/API/qt/qquickwebview.cpp: 10460 (QQuickWebView::QQuickWebView): 10461 104622012-03-09 Enrica Casucci <enrica@apple.com> 10463 10464 Move WebNSURLExtras code down to WebCore. 10465 https://bugs.webkit.org/show_bug.cgi?id=80611 10466 10467 Reviewed by Alexey Proskuryakov. 10468 10469 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 10470 (InitWebCoreSystemInterface): 10471 104722012-03-09 Jeff Miller <jeffm@apple.com> 10473 10474 Add WKPageEndPrinting() to balance WKPageBeginPrinting() 10475 https://bugs.webkit.org/show_bug.cgi?id=80739 10476 10477 Reviewed by Dan Bernstein. 10478 10479 * UIProcess/API/C/WKPage.cpp: 10480 (WKPageEndPrinting): Added. 10481 10482 * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting(). 10483 104842012-03-09 Emil A Eklund <eae@chromium.org> 10485 10486 Add roundedPoint to HitTestResult and change platform code to use it 10487 https://bugs.webkit.org/show_bug.cgi?id=80715 10488 10489 Reviewed by James Robinson. 10490 10491 Change ports to use roundedPoint to avoid exposing subpixel types to 10492 platform code. 10493 10494 * WebProcess/WebPage/WebContextMenu.cpp: 10495 (WebKit::WebContextMenu::show): 10496 104972012-03-09 Alexey Proskuryakov <ap@apple.com> 10498 10499 [Mac] Pass sandbox profiles through preprocessor 10500 https://bugs.webkit.org/show_bug.cgi?id=80651 10501 10502 Reviewed by Mark Rowe. 10503 10504 * DerivedSources.make: Preprocess sandbox profiles. 10505 10506 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed. 10507 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb. 10508 * WebProcess/com.apple.WebProcess.sb: Removed. 10509 * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb. 10510 Renamed to avoid make finding the wrong original in default paths. 10511 10512 * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals. 10513 Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths. 10514 105152012-03-09 Jon Lee <jonlee@apple.com> 10516 10517 Add support for ENABLE(LEGACY_NOTIFICATIONS) 10518 https://bugs.webkit.org/show_bug.cgi?id=80497 10519 10520 Reviewed by Adam Barth. 10521 10522 Prep for b80472: Update API for Web Notifications 10523 * Configurations/FeatureDefines.xcconfig: 10524 105252012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com> 10526 10527 Bash scripts should support LF endings only 10528 https://bugs.webkit.org/show_bug.cgi?id=79509 10529 10530 Reviewed by David Kilzer. 10531 10532 * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style. 10533 105342012-03-08 Enrica Casucci <enrica@apple.com> 10535 10536 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation. 10537 https://bugs.webkit.org/show_bug.cgi?id=80203 10538 <rdar://problem/10976643> 10539 10540 Reviewed by Alexey Proskuryakov. 10541 10542 This patch reverts a small part fo r109022, leaving access to 10543 NSPasteboard in the WebProcess when retrieving pathnames for 10544 files being dragged. This avoid the sandbox violation until we 10545 implement a mechanism to provide a sandbox extension to the WebProcess. 10546 10547 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10548 (WebKit::WebPlatformStrategies::getPathnamesForType): 10549 105502012-03-09 Sheriff Bot <webkit.review.bot@gmail.com> 10551 10552 Unreviewed, rolling out r110191, r110202, and r110279. 10553 http://trac.webkit.org/changeset/110191 10554 http://trac.webkit.org/changeset/110202 10555 http://trac.webkit.org/changeset/110279 10556 https://bugs.webkit.org/show_bug.cgi?id=80694 10557 10558 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on 10559 #webkit). 10560 10561 * win/WebKit2.def: 10562 * win/WebKit2CFLite.def: 10563 105642012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 10565 10566 [Qt] Use Qt's module system for install rules and depending on QtWebKit 10567 10568 Instead of rolling our own install rules we now use the same approach as 10569 every other Qt module, by loading qt_module.prf and qt_module_config.prf. 10570 10571 This ensures that we follow the same semantics as the rest of Qt on 10572 what sort of config options are enabled by default (create_cmake eg.). 10573 It also allows us to use QT += webkit instead of the workaround we had 10574 with CONFIG += qtwebkit. 10575 10576 We do however force Qt to always treat our build as a non-developer build, 10577 so the libraries will end up in the WebKit lib directory instead of the 10578 qtbase directory (as with a normal developer-build). This allows us to 10579 keep the webkit-build self-contained. If Qt is a developer build we still 10580 copy the module file manually to Qt, so that you don't have to install 10581 WebKit to make it available. 10582 10583 For non-developer builds of Qt, it is still possible to use the built 10584 WebKit libraries without having to install them, by having the variable 10585 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file, 10586 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules. 10587 10588 https://bugs.webkit.org/show_bug.cgi?id=80590 10589 10590 Reviewed by Simon Hausmann. 10591 10592 * UIProcess/API/qt/tests/publicapi/publicapi.pro: 10593 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 10594 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: 10595 * UIProcess/API/qt/tests/qmltests/WebView.pro: 10596 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 10597 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: 10598 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 10599 * UIProcess/API/qt/tests/tests.pri: 10600 * UIProcess/API/qt/tests/util.cpp: 10601 * WebProcess.pro: 10602 106032012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com> 10604 10605 [Qt][WK2] Allow transparent WebViews 10606 https://bugs.webkit.org/show_bug.cgi?id=80608 10607 10608 Reviewed by Tor Arne Vestbø. 10609 10610 Added support for transparentBackground in QQuickWebViewExperimental. 10611 This uses the existing drawsTransparentBackground property in WebKit2. 10612 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes, 10613 otherwise the change doesn't take effect. 10614 10615 A new API test was added. 10616 10617 * UIProcess/API/qt/qquickwebview.cpp: 10618 (QQuickWebViewPrivate::setTransparentBackground): 10619 (QQuickWebViewPrivate::transparentBackground): 10620 (QQuickWebViewExperimental::transparentBackground): 10621 (QQuickWebViewExperimental::setTransparentBackground): 10622 * UIProcess/API/qt/qquickwebview_p.h: 10623 * UIProcess/API/qt/qquickwebview_p_p.h: 10624 (QQuickWebViewPrivate): 10625 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 10626 (tst_QQuickWebView): 10627 (tst_QQuickWebView::transparentWebViews): 10628 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 10629 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 10630 (WebKit::LayerTreeHostQt::setRootCompositingLayer): 10631 106322012-03-08 Gustavo Noronha Silva <gns@gnome.org> 10633 10634 GTK+ build fix. Only try to get the backing from the layer in when 10635 ACCELERATED_COMPOSITING is enabled. 10636 10637 Rubber-stamped by Ryosuke Niwa. 10638 10639 * WebProcess/FullScreen/WebFullScreenManager.cpp: 10640 (WebKit::screenRectOfContents): 10641 106422012-03-08 Ryosuke Niwa <rniwa@webkit.org> 10643 10644 Mac build fix for micro data API. 10645 10646 * Configurations/FeatureDefines.xcconfig: 10647 106482012-03-08 Jer Noble <jer.noble@apple.com> 10649 10650 Unreviewed Snow Leopard build fix. 10651 10652 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:]. 10653 10654 * UIProcess/mac/WKFullScreenWindowController.mm: 10655 (-[NSWindow convertRectToScreen:]): 10656 106572012-03-08 Jer Noble <jer.noble@apple.com> 10658 10659 Further unreviewed build fix. 10660 10661 Add in the WebCore namespace, so that IntRect is pulled in. 10662 10663 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 10664 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 10665 * UIProcess/win/WebFullScreenManagerProxyWin.cpp: 10666 106672012-03-08 Jer Noble <jer.noble@apple.com> 10668 10669 Unreviewed build fix. 10670 10671 Add stub implementations of beganEnterFullScreen and beganExitFullScreen 10672 to platform-specific WebFullScreenManagerProxy implementations. 10673 10674 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 10675 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 10676 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 10677 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 10678 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 10679 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 10680 * UIProcess/win/WebFullScreenManagerProxyWin.cpp: 10681 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 10682 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 10683 106842012-03-08 Jer Noble <jer.noble@apple.com> 10685 10686 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes. 10687 https://bugs.webkit.org/show_bug.cgi?id=78928 10688 10689 Reviewed by Anders Carlsson. 10690 10691 Boilerplate changes to WebKit2 IPC messages and supporting functions. 10692 * UIProcess/WebFullScreenManagerProxy.cpp: 10693 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate. 10694 * UIProcess/WebFullScreenManagerProxy.h: 10695 * UIProcess/WebFullScreenManagerProxy.messages.in: 10696 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 10697 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate. 10698 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate. 10699 * WebProcess/FullScreen/WebFullScreenManager.cpp: 10700 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents. 10701 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents() 10702 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen 10703 XPC message. 10704 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color. 10705 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new 10706 BeganExitFullScreen XPC message. 10707 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color. 10708 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate. 10709 * WebProcess/FullScreen/WebFullScreenManager.h: 10710 * WebProcess/FullScreen/WebFullScreenManager.messages.in: 10711 10712 * UIProcess/mac/WKFullScreenWindowController.h: 10713 * UIProcess/mac/WKFullScreenWindowController.mm: 10714 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:. 10715 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead 10716 of _requestExitWithAnimation. 10717 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of 10718 both the full screen window and the background window. 10719 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current 10720 page to use in the placeholder. 10721 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 10722 beganEnterFullScreenAnimation. 10723 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap 10724 placeholder views here, as they were already swapped in beganEnter...:. 10725 (-[WKFullScreenWindowController exitFullScreen]): 10726 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 10727 beganExitFullScreenAnimation. 10728 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place. 10729 (-[WKFullScreenWindowController close]): 10730 (-[WKFullScreenWindowController animationDidEnd:]): Added. 10731 (createBackgroundFullscreenWindow): Added. 10732 (windowFrameFromApparentFrames): Added. 10733 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added. 10734 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added. 10735 107362012-03-08 Jer Noble <jer.noble@apple.com> 10737 10738 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made 10739 https://bugs.webkit.org/show_bug.cgi?id=78926 10740 10741 Reviewed by John Sullivan. 10742 10743 The following functions (and also their Proxy versions) were removed completely: 10744 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&) 10745 WebFullScreenManager::exitAcceleratedCompositingMode() 10746 WebFullScreenManager::beganEnterFullScreenAnimation() 10747 WebFullScreenManager::finishedEnterFullScreenAnimation(bool) 10748 WebFullScreenManager::beganExitFullScreenAnimation() 10749 WebFullScreenManager::finishedExitFullScreenAnimation(bool) 10750 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&) 10751 10752 * UIProcess/WebFullScreenManagerProxy.cpp: 10753 * UIProcess/WebFullScreenManagerProxy.h: 10754 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation): 10755 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation): 10756 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient): 10757 (WebFullScreenManagerProxy): 10758 * UIProcess/WebFullScreenManagerProxy.messages.in: 10759 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 10760 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 10761 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: 10762 * UIProcess/win/WebFullScreenManagerProxyWin.cpp: 10763 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): 10764 * WebKit2.xcodeproj/project.pbxproj: 10765 * WebProcess/FullScreen/WebFullScreenManager.cpp: 10766 (WebKit::WebFullScreenManager::create): 10767 (WebKit::WebFullScreenManager::~WebFullScreenManager): 10768 * WebProcess/FullScreen/WebFullScreenManager.h: 10769 (WebFullScreenManager): 10770 * WebProcess/FullScreen/WebFullScreenManager.messages.in: 10771 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10772 (WebKit::WebChromeClient::exitFullScreenForElement): 10773 * WebProcess/WebCoreSupport/WebChromeClient.h: 10774 (WebChromeClient): 10775 10776 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no 10777 platform-specific implementations remained after the above functions were removed: 10778 * GNUmakefile.am: 10779 * Target.pri: 10780 * win/WebKit2.vcproj: 10781 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed. 10782 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed. 10783 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed. 10784 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed. 10785 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed. 10786 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed. 10787 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed. 10788 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed. 10789 107902012-03-08 Matt Lilek <mrl@apple.com> 10791 10792 Don't enable VIDEO_TRACK on all OS X platforms 10793 https://bugs.webkit.org/show_bug.cgi?id=80635 10794 10795 Reviewed by Eric Carlson. 10796 10797 * Configurations/FeatureDefines.xcconfig: 10798 107992012-03-08 Max Vujovic <mvujovic@adobe.com> 10800 10801 Add a method to window.internals to enable testing of inspector highlight rects 10802 https://bugs.webkit.org/show_bug.cgi?id=80338 10803 10804 Reviewed by Pavel Feldman. 10805 10806 * win/WebKit2.def: Export symbols for win. 10807 * win/WebKit2CFLite.def: Same as above. 10808 108092012-03-08 Dinu Jacob <dinu.jacob@nokia.com> 10810 10811 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView 10812 https://bugs.webkit.org/show_bug.cgi?id=80557 10813 10814 Reviewed by Simon Hausmann. 10815 10816 Move common code related to running QtDialogRunner into a separate function 10817 10818 * UIProcess/API/qt/qquickwebview.cpp: 10819 (QQuickWebViewPrivate::runJavaScriptAlert): 10820 (QQuickWebViewPrivate::runJavaScriptConfirm): 10821 (QQuickWebViewPrivate::runJavaScriptPrompt): 10822 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest): 10823 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest): 10824 (QQuickWebViewPrivate::handleCertificateVerificationRequest): 10825 (QQuickWebViewPrivate::execDialogRunner): 10826 * UIProcess/API/qt/qquickwebview_p_p.h: 10827 (QQuickWebViewPrivate): 10828 108292012-03-07 Dinu Jacob <dinu.jacob@nokia.com> 10830 10831 [Qt] Authentication dialog does not work 10832 https://bugs.webkit.org/show_bug.cgi?id=79738 10833 10834 Reviewed by Simon Hausmann. 10835 10836 QQuickWebView should accept touch events only if there is 10837 no active dialog. 10838 10839 * UIProcess/API/qt/qquickwebview.cpp: 10840 (QQuickWebViewPrivate::QQuickWebViewPrivate): 10841 (QQuickWebViewPrivate::runJavaScriptAlert): 10842 (QQuickWebViewPrivate::runJavaScriptConfirm): 10843 (QQuickWebViewPrivate::runJavaScriptPrompt): 10844 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest): 10845 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest): 10846 (QQuickWebViewPrivate::handleCertificateVerificationRequest): 10847 (QQuickWebView::touchEvent): 10848 * UIProcess/API/qt/qquickwebview_p_p.h: 10849 (QQuickWebViewPrivate): 10850 108512012-03-07 Dan Bernstein <mitz@apple.com> 10852 10853 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode 10854 https://bugs.webkit.org/show_bug.cgi?id=80230 10855 10856 Reviewed by Beth Dakin. 10857 10858 * CMakeLists.txt: 10859 * GNUmakefile.am: 10860 10861 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef. 10862 10863 * Shared/API/c/WKRenderObject.cpp: Added. 10864 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID. 10865 (WKRenderObjectCopyName): Added this getter wrapper. 10866 (WKRenderObjectGetAbsolutePosition): Ditto. 10867 (WKRenderObjectGetFrameRect): Ditto. 10868 (WKRenderObjectGetChildren): Ditto. 10869 10870 * Shared/API/c/WKRenderObject.h: Added. 10871 10872 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum. 10873 * Shared/UserMessageCoders.h: 10874 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding. 10875 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding. 10876 * Shared/WebRenderObject.cpp: Added. 10877 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main 10878 frame content renderer. 10879 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the 10880 name, metrics and children of the given RenderObject, following the rules used in WebKit1 10881 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content 10882 renderer as a child. 10883 10884 * Shared/WebRenderObject.h: Added. 10885 (WebKit::WebRenderObject::create): 10886 (WebKit::WebRenderObject::children): 10887 (WebKit::WebRenderObject::name): 10888 (WebKit::WebRenderObject::absolutePosition): 10889 (WebKit::WebRenderObject::frameRect): 10890 (WebKit::WebRenderObject::WebRenderObject): 10891 10892 * Target.pri: 10893 10894 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject. 10895 10896 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}. 10897 10898 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 10899 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree. 10900 10901 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 10902 10903 * win/WebKit2.vcproj: 10904 109052012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org> 10906 10907 Pinch zoom acts weirdly on nytimes.com while loading 10908 https://webkit.org/b/80508 10909 10910 Reviewed by Simon Hausmann. 10911 10912 Make sure to suspend the page while doing pinch zooming. 10913 If the page is suspended (which happens while pinch zooming) 10914 then do not send touch events to the page, even if it has 10915 listeners. 10916 10917 * UIProcess/WebPageProxy.cpp: 10918 (WebKit::WebPageProxy::handleTouchEvent): 10919 * UIProcess/qt/QtViewportInteractionEngine.cpp: 10920 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 10921 109222012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 10923 10924 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int 10925 https://bugs.webkit.org/show_bug.cgi?id=80164 10926 10927 Reviewed by Simon Hausmann. 10928 10929 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger 10930 value that give some room for us to put Experimental values in the middle. This 10931 way the Experimental values are in a valid range for the original enumeration. To 10932 avoid confusion, the Experimental enumeration was renamed. 10933 10934 * UIProcess/API/qt/qquickwebview_p.h: 10935 * UIProcess/API/qt/qwebnavigationrequest.cpp: 10936 (QWebNavigationRequestPrivate): 10937 (QWebNavigationRequest::setAction): 10938 (QWebNavigationRequest::action): 10939 * UIProcess/API/qt/qwebnavigationrequest_p.h: 10940 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 10941 109422012-03-07 Andras Becsi <andras.becsi@nokia.com> 10943 10944 [WK2] Make it possible to build without geolocation support 10945 https://bugs.webkit.org/show_bug.cgi?id=80426 10946 10947 Reviewed by Simon Hausmann. 10948 10949 Add missing guards. 10950 10951 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 10952 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision): 10953 * UIProcess/WebPageProxy.cpp: 10954 (WebKit::WebPageProxy::close): 10955 (WebKit::WebPageProxy::processDidCrash): 10956 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 10957 * WebProcess/WebPage/WebPage.cpp: 10958 (WebKit::WebPage::WebPage): 10959 (WebKit): 10960 * WebProcess/WebPage/WebPage.h: 10961 (WebPage): 10962 * WebProcess/WebPage/WebPage.messages.in: 10963 109642012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi> 10965 10966 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7. 10967 https://bugs.webkit.org/show_bug.cgi?id=80469 10968 10969 Reviewed by Antonio Gomes. 10970 10971 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target 10972 property on the library being created. 10973 109742012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org> 10975 10976 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles. 10977 https://bugs.webkit.org/show_bug.cgi?id=80313 10978 10979 Reviewed by Kenneth Rohde Christiansen. 10980 10981 Fix the math to get the visible rectangle and add a method to get it. 10982 10983 * UIProcess/API/qt/qquickwebview.cpp: 10984 (QQuickWebViewPrivate::visibleContentsRect): 10985 (QQuickWebViewFlickablePrivate::_q_commitScaleChange): 10986 (QQuickWebViewPrivate::_q_commitPositionChange): 10987 * UIProcess/API/qt/qquickwebview_p_p.h: 10988 (QQuickWebViewPrivate): 10989 109902012-03-05 Joseph Pecoraro <pecoraro@apple.com> 10991 10992 Web Inspector: Hide dock button when not allowed to dock 10993 https://bugs.webkit.org/show_bug.cgi?id=78575 10994 10995 Reviewed by Pavel Feldman. 10996 10997 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 10998 (WebKit::WebInspectorClient::didResizeMainFrame): 10999 * WebProcess/WebCoreSupport/WebInspectorClient.h: 11000 * WebProcess/WebPage/WebInspector.cpp: 11001 (WebKit::WebInspector::updateDockingAvailability): 11002 * WebProcess/WebPage/WebInspector.h: 11003 110042012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com> 11005 11006 [Qt] Interaction Engine suspends content during pageload. 11007 https://bugs.webkit.org/show_bug.cgi?id=80294 11008 11009 Only suspend content when viewport updates are deferred 11010 for a non-instantanious interaction. 11011 11012 Reviewed by Kenneth Rohde Christiansen. 11013 11014 * UIProcess/qt/QtViewportInteractionEngine.cpp: 11015 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer): 11016 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 11017 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 11018 (WebKit::QtViewportInteractionEngine::flickableMoveStarted): 11019 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 11020 * UIProcess/qt/QtViewportInteractionEngine.h: 11021 (QtViewportInteractionEngine): 11022 110232012-03-06 Simon Hausmann <simon.hausmann@nokia.com> 11024 11025 [Qt] Make QQuickWebView's url property work with a flickable webview 11026 11027 Reviewed by Tor Arne Vestbø. 11028 11029 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading 11030 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate 11031 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete 11032 but forgot to call the base implementation. 11033 11034 * UIProcess/API/qt/qquickwebview.cpp: 11035 (QQuickWebViewFlickablePrivate::onComponentComplete): 11036 110372012-03-06 Carlos Garcia Campos <cgarcia@igalia.com> 11038 11039 [GTK] Fix several documentation issues in WebKit2 GTK+ API 11040 https://bugs.webkit.org/show_bug.cgi?id=80281 11041 11042 Reviewed by Martin Robinson. 11043 11044 * UIProcess/API/gtk/WebKitFindController.cpp: 11045 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: 11046 (webkit_navigation_policy_decision_class_init): 11047 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 11048 * UIProcess/API/gtk/WebKitWebView.h: 11049 110502012-03-06 Carlos Garcia Campos <cgarcia@igalia.com> 11051 11052 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API 11053 https://bugs.webkit.org/show_bug.cgi?id=80271 11054 11055 Reviewed by Martin Robinson. 11056 11057 Add a new signal WebKitWebView::script-dialog that passes a 11058 WebKitScriptDialog boxed type that can be used to build the dialog 11059 and set the responses. It simplifies the API and makes it bindings 11060 friendly. 11061 11062 * GNUmakefile.am: 11063 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added. 11064 (webkitScriptDialogCopy): Copy method for boxed type. 11065 (webkitScriptDialogFree): Free method for boxed type. 11066 (webkit_script_dialog_get_dialog_type): Return the type of dialog: 11067 alert, confirm or prompt. 11068 (webkit_script_dialog_get_message): Return the message of the dialog. 11069 (webkit_script_dialog_confirm_set_confirmed): Set whether user 11070 confirmed the dialog, for confirm dialogs. 11071 (webkit_script_dialog_prompt_get_default_text): Get the default 11072 text of prompt dialogs. 11073 (webkit_script_dialog_prompt_set_text): Set the text entered by 11074 the user, for prompt dialogs. 11075 * UIProcess/API/gtk/WebKitScriptDialog.h: Added. 11076 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added. 11077 * UIProcess/API/gtk/WebKitWebView.cpp: 11078 (webkitWebViewScriptDialog): Default implementation of 11079 WebKitWebView::script-dialog signal. 11080 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and 11081 remove alert, confirm and propmpt. 11082 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and 11083 emit WebKitWebView::script-dialog signal. 11084 (webkitWebViewRunJavaScriptConfirm): Ditto. 11085 (webkitWebViewRunJavaScriptPrompt): Ditto. 11086 * UIProcess/API/gtk/WebKitWebView.h: 11087 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new 11088 symbols. 11089 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type(). 11090 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 11091 (testWebViewJavaScriptDialogs): Update javascript dialog test to 11092 use the new API. 11093 * UIProcess/API/gtk/webkit2marshal.list: 11094 * UIProcess/API/gtk/webkit2.h: 11095 110962012-03-05 Gavin Barraclough <barraclough@apple.com> 11097 11098 putByIndex should throw in strict mode 11099 https://bugs.webkit.org/show_bug.cgi?id=80335 11100 11101 Reviewed by Filip Pizlo. 11102 11103 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter. 11104 11105 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 11106 (WebKit::NPJSObject::setProperty): 11107 111082012-03-05 Joseph Pecoraro <pecoraro@apple.com> 11109 11110 Unreviewed rollout of r109858 for restructuring. 11111 111122012-03-05 Joseph Pecoraro <pecoraro@apple.com> 11113 11114 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock 11115 11116 Reviewed by Timothy Hatcher. 11117 11118 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 11119 (WebKit::WebInspectorClient::updateDockingAvailability): 11120 * WebProcess/WebCoreSupport/WebInspectorClient.h: 11121 * WebProcess/WebPage/WebInspector.cpp: 11122 (WebKit::WebInspector::updateDockingAvailability): 11123 * WebProcess/WebPage/WebInspector.h: 11124 111252012-03-05 Anders Carlsson <andersca@apple.com> 11126 11127 pinch-to-zoom and double-tap flicker when using the new scrolling model 11128 https://bugs.webkit.org/show_bug.cgi?id=80368 11129 <rdar://problem/10866221> 11130 11131 Reviewed by Sam Weinig. 11132 11133 Add a way for drawing areas to respond to callback based force repaint requests asynchronously. 11134 This is currently needed for the tiled drawing area when there might be outstanding scroll updates 11135 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed 11136 before sending a message back. 11137 11138 * WebProcess/WebPage/DrawingArea.h: 11139 (WebKit::DrawingArea::forceRepaintAsync): 11140 Add new member function. 11141 11142 * WebProcess/WebPage/WebPage.cpp: 11143 (WebKit::WebPage::forceRepaint): 11144 Try forceRepaintAsync first. 11145 11146 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 11147 (WebKit::forceRepaintAndSendMessage): 11148 Force the repaint and send the message. 11149 11150 (WebKit::dispatchBackToMainThread): 11151 Dispatch a call to forceRepaintAndSendMessage to the main thread. 11152 11153 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync): 11154 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the 11155 main thread, ensuring that all previously dispatched functions have been executed. 11156 111572012-03-05 Enrica Casucci <enrica@apple.com> 11158 11159 Can't type on some websites (plug-ins steal key events). 11160 <rdar://problem/10892291> 11161 11162 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier 11163 in order to return the correct input context. Failure to do so results in the inputContext 11164 method to return the plugin input context instead of the context of the browser view. 11165 11166 Reviewed by Sam Weinig. 11167 11168 * UIProcess/API/mac/WKView.mm: 11169 (-[WKView _setPluginComplexTextInputState:]): 11170 (-[WKView _handlePluginComplexTextInputKeyDown:]): 11171 111722012-03-05 Anders Carlsson <andersca@apple.com> 11173 11174 Be more aggressive about repainting page overlays 11175 https://bugs.webkit.org/show_bug.cgi?id=80336 11176 <rdar://problem/10965943> 11177 11178 Reviewed by Simon Fraser. 11179 11180 Whenever we're flushing layers and we have a page overlay, check if the main frame 11181 has scrolled or if the main frame root content layer needs to be repainted and force the 11182 overlay layer to be repainted if either of those conditions are true. 11183 11184 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 11185 (TiledCoreAnimationDrawingArea): 11186 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 11187 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 11188 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer): 11189 (WebKit): 11190 111912012-03-05 Sam Weinig <sam@webkit.org> 11192 11193 Add support for hosting layers in the window server in WebKit2 11194 <rdar://problem/10400246> 11195 https://bugs.webkit.org/show_bug.cgi?id=80310 11196 11197 Reviewed by Anders Carlsson. 11198 11199 This currently only works if you are using TiledCoreAnimation drawing model. 11200 11201 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h. 11202 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm. 11203 (WebKit::LayerHostingContext::createForPort): 11204 (WebKit::LayerHostingContext::LayerHostingContext): 11205 (WebKit::LayerHostingContext::createForWindowServer): 11206 (WebKit::LayerHostingContext::~LayerHostingContext): 11207 (WebKit::LayerHostingContext::setRootLayer): 11208 (WebKit::LayerHostingContext::rootLayer): 11209 (WebKit::LayerHostingContext::contextID): 11210 (WebKit::LayerHostingContext::invalidate): 11211 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server 11212 as the remote context. 11213 11214 * PluginProcess/PluginControllerProxy.cpp: 11215 * PluginProcess/PluginControllerProxy.h: 11216 * PluginProcess/mac/PluginControllerProxyMac.mm: 11217 Update for new names. 11218 11219 * Shared/LayerTreeContext.h: 11220 Add LayerHostingMode enum. 11221 11222 * UIProcess/PageClient.h: 11223 * UIProcess/API/mac/PageClientImpl.h: 11224 * UIProcess/API/mac/PageClientImpl.mm: 11225 (WebKit::PageClientImpl::layerHostingMode): 11226 (WebKit::PageClientImpl::updateAcceleratedCompositingMode): 11227 Add PageClient access points to get the current layer hosting mode, 11228 and a hook to tell the underlying view that the layer hosting context 11229 has changed. 11230 11231 * UIProcess/API/mac/WKViewInternal.h: 11232 * UIProcess/API/mac/WKView.mm: 11233 (-[WKView _updateAcceleratedCompositingMode:WebKit::]): 11234 Implement responding to a new layer hosting context as a simple 11235 exit and re-entrance of compositing. 11236 11237 * UIProcess/DrawingAreaProxy.h: 11238 (WebKit::DrawingAreaProxy::layerHostingModeDidChange): 11239 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode): 11240 * UIProcess/DrawingAreaProxy.messages.in: 11241 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 11242 (TiledCoreAnimationDrawingAreaProxy): 11243 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 11244 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange): 11245 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode): 11246 Pipe layer hosting changes around. 11247 11248 * UIProcess/WebPageProxy.h: 11249 (WebKit::WebPageProxy::layerHostingMode): 11250 * UIProcess/WebPageProxy.cpp: 11251 (WebKit::WebPageProxy::WebPageProxy): 11252 (WebKit::WebPageProxy::viewStateDidChange): 11253 Cache the current layer hosting mode so we don't overzealously 11254 tell the WebProcess to reset its context. Re-check layer hosting 11255 mode each time we are added/removed from a window. 11256 11257 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: 11258 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 11259 Update for new names. 11260 11261 * WebProcess/WebPage/DrawingArea.h: 11262 (WebKit::DrawingArea::setDeviceScaleFactor): 11263 (WebKit::DrawingArea::setLayerHostingMode): 11264 * WebProcess/WebPage/DrawingArea.messages.in: 11265 Pipe layer hosting changes around. 11266 11267 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 11268 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 11269 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): 11270 (WebKit::LayerTreeHostCAMac::platformInitialize): 11271 (WebKit::LayerTreeHostCAMac::invalidate): 11272 Update for new names. 11273 11274 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 11275 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 11276 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 11277 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 11278 Respond to a change in the layer hosting mode by invalidating our old context, 11279 making a new one of the right type, and informing the UIProcess of our new context. 11280 11281 * WebKit2.xcodeproj/project.pbxproj: 11282 Add new files. 11283 112842012-03-05 Anders Carlsson <andersca@apple.com> 11285 11286 Always update the scroll layer position on the main thread when we have an overlay 11287 https://bugs.webkit.org/show_bug.cgi?id=80324 11288 11289 Reviewed by Sam Weinig. 11290 11291 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays, 11292 so we'll be able to synchronize painting between the tile cache and the page overlays. 11293 11294 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 11295 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 11296 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 11297 112982012-03-05 Timothy Hatcher <timothy@apple.com> 11299 11300 Change how the Web Inspector Develop menu actions work. 11301 11302 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari. 11303 11304 https://webkit.org/b/80308 11305 11306 Reviewed by John Sullivan. 11307 11308 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h. 11309 * UIProcess/mac/WebInspectorProxyMac.mm: 11310 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added. 11311 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature. 11312 113132012-03-02 Jon Lee <jonlee@apple.com> 11314 11315 Add support for notification replaceId in Mac WebKit and WK2 11316 https://bugs.webkit.org/show_bug.cgi?id=80206 11317 <rdar://problem/10965574> 11318 11319 Reviewed by Sam Weinig. 11320 11321 * UIProcess/API/C/WKNotification.cpp: Add WK API. 11322 (WKNotificationCopyReplaceID): 11323 * UIProcess/API/C/WKNotification.h: 11324 * UIProcess/Notifications/WebNotification.cpp: 11325 (WebKit::WebNotification::WebNotification): 11326 * UIProcess/Notifications/WebNotification.h: Add replaceID member. 11327 (WebKit::WebNotification::create): 11328 (WebKit::WebNotification::replaceID): 11329 (WebNotification): 11330 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 11331 (WebKit::WebNotificationManagerProxy::show): 11332 * UIProcess/Notifications/WebNotificationManagerProxy.h: 11333 (WebNotificationManagerProxy): 11334 * UIProcess/WebPageProxy.cpp: 11335 (WebKit::WebPageProxy::showNotification): 11336 * UIProcess/WebPageProxy.h: 11337 (WebPageProxy): 11338 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message. 11339 * WebProcess/Notifications/WebNotificationManager.cpp: 11340 (WebKit::WebNotificationManager::show): 11341 113422012-03-05 Sheriff Bot <webkit.review.bot@gmail.com> 11343 11344 Unreviewed, rolling out r109748. 11345 http://trac.webkit.org/changeset/109748 11346 https://bugs.webkit.org/show_bug.cgi?id=80296 11347 11348 Made some tests crash, will fix and recommit (Requested by 11349 noamr on #webkit). 11350 11351 * Target.pri: 11352 * UIProcess/API/qt/qquickwebpage.cpp: 11353 (QQuickWebPagePrivate::paintToCurrentGLContext): 11354 (PageProxyNode::PageProxyNode): 11355 (PageProxyNode): 11356 (PageProxyNode::changedStates): 11357 (PageProxyNode::render): 11358 (PageProxyNode::~PageProxyNode): 11359 (QQuickWebPage::updatePaintNode): 11360 (QQuickWebPagePrivate::updateSize): 11361 (QQuickWebPagePrivate::resetPaintNode): 11362 (QQuickWebPagePrivate::~QQuickWebPagePrivate): 11363 * UIProcess/API/qt/qquickwebpage_p_p.h: 11364 (QQuickWebPagePrivate): 11365 * UIProcess/DrawingAreaProxy.h: 11366 (WebKit): 11367 (WebKit::DrawingAreaProxy::layerTreeHostProxy): 11368 (DrawingAreaProxy): 11369 * UIProcess/DrawingAreaProxyImpl.cpp: 11370 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 11371 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 11372 * UIProcess/LayerTreeHostProxy.h: 11373 (LayerTreeHostProxy): 11374 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 11375 (WebKit::LayerTreeHostProxy::syncAnimations): 11376 (WebKit::LayerTreeHostProxy::updateViewport): 11377 (WebKit::LayerTreeHostProxy::syncLayerParameters): 11378 (WebKit::LayerTreeHostProxy::flushLayerChanges): 11379 (WebKit::LayerTreeHostProxy::ensureRootLayer): 11380 (WebKit::LayerTreeHostProxy::syncRemoteContent): 11381 (WebKit::LayerTreeHostProxy::dispatchUpdate): 11382 (WebKit): 11383 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage): 11384 (WebKit::LayerTreeHostProxy::purgeGLResources): 11385 * UIProcess/qt/QtWebPageSGNode.cpp: Removed. 11386 * UIProcess/qt/QtWebPageSGNode.h: Removed. 11387 113882012-03-05 Joone Hur <joone.hur@collabora.co.uk> 11389 11390 [GTK] zlib link error with --enable-webkit2 11391 https://bugs.webkit.org/show_bug.cgi?id=79877 11392 11393 Reviewed by Martin Robinson. 11394 11395 zlib should be linked properly. 11396 11397 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of 11398 linking it with WebKitWebProcess. 11399 114002012-03-05 Carlos Garcia Campos <cgarcia@igalia.com> 11401 11402 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult 11403 https://bugs.webkit.org/show_bug.cgi?id=77208 11404 11405 Reviewed by Anders Carlsson. 11406 11407 A HitTestResultData is now passed to ShowContextMenu WebPageProxy 11408 message instead of the ContextMenuState. ContextMenu client has 11409 been updated to pass the HitTestResult to the 11410 getContextMenuFromProposedMenu callback. 11411 11412 * GNUmakefile.am: Remove ContextMenuState.h. 11413 * Shared/APIClientTraits.h: 11414 * Shared/ContextMenuState.h: Removed. 11415 * Shared/WebHitTestResult.h: 11416 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes 11417 a WebCore::HitTestResult. 11418 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to 11419 getContextMenuFromProposedMenu callback and deprecate the old 11420 version. 11421 * UIProcess/WebPageContextMenuClient.cpp: 11422 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 11423 Pass a HitTestResult to getContextMenuFromProposedMenu or use the 11424 deprecated one if client version is an old one. 11425 * UIProcess/WebPageContextMenuClient.h: 11426 * UIProcess/WebPageProxy.cpp: 11427 (WebKit::WebPageProxy::showContextMenu): 11428 (WebKit::WebPageProxy::internalShowContextMenu): Save the 11429 WebHitTestResult::Data to use it for handling context menu actions. 11430 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved 11431 WebHitTestResult::Data. 11432 * UIProcess/WebPageProxy.h: 11433 * UIProcess/WebPageProxy.messages.in: 11434 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h. 11435 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11436 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new 11437 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult. 11438 * WebProcess/WebPage/WebContextMenu.cpp: 11439 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data 11440 instead of a ContextMenuState and pass it to ShowContextMenu message. 11441 * win/WebKit2.vcproj: ContextMenuState.h. 11442 114432012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com> 11444 11445 [Qt] [WK2] Support threaded renderer in WK2 11446 https://bugs.webkit.org/show_bug.cgi?id=76661 11447 11448 Made the appropriate fixes in the UI process code to make rendering thread-safe. 11449 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access 11450 to LayerTreeHostProxy. 11451 11452 - Each function in LayerTreeHostProxy can be either called from the main thread (handling 11453 messages from the web process), or from the renderer thread (handling the GL context). 11454 The render-queue is locked with a mutex, and messages back to the web process are sent 11455 via callOnMainThread. 11456 11457 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL 11458 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be 11459 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is 11460 deleted only after its GL resources are freed, otherwise those resources may leak. 11461 11462 Based on a patch by Viatcheslav Ostapenko. 11463 11464 Reviewed by Kenneth Rohde Christiansen. 11465 11466 * Target.pri: Added new files. 11467 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out. 11468 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode 11469 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode 11470 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client 11471 (QQuickWebPagePrivate::~QQuickWebPagePrivate): 11472 * UIProcess/API/qt/qquickwebpage_p_p.h: 11473 (QQuickWebPagePrivate): 11474 * UIProcess/DrawingAreaProxy.h: 11475 (WebKit): 11476 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted. 11477 (DrawingAreaProxy): 11478 * UIProcess/DrawingAreaProxyImpl.cpp: 11479 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 11480 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 11481 * UIProcess/LayerTreeHostProxy.h: 11482 (WebKit): 11483 (WebKit::LayerTreeHostProxy::create): 11484 (LayerTreeHostProxy): 11485 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 11486 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 11487 (WebKit): 11488 (MainThreadGuardedInvoker): 11489 A class that allows invoking functions in the main thread, while guarding a ref- 11490 counted object. 11491 11492 (WebKit::MainThreadGuardedInvoker::call): 11493 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker): 11494 (WebKit::MainThreadGuardedInvoker::invoke): 11495 (WebKit::LayerTreeHostProxy::syncAnimations): 11496 (WebKit::LayerTreeHostProxy::updateViewport): 11497 (WebKit::LayerTreeHostProxy::detachDrawingArea): 11498 (WebKit::LayerTreeHostProxy::syncLayerParameters): 11499 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame): 11500 (WebKit::LayerTreeHostProxy::flushLayerChanges): 11501 (WebKit::LayerTreeHostProxy::ensureRootLayer): 11502 (WebKit::LayerTreeHostProxy::syncRemoteContent): 11503 (WebKit::LayerTreeHostProxy::dispatchUpdate): 11504 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage): 11505 (WebKit::LayerTreeHostProxy::purgeGLResources): 11506 * UIProcess/qt/QtWebPageSGNode.cpp: Added. 11507 * UIProcess/qt/QtWebPageSGNode.h: Added. 11508 115092012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi> 11510 11511 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64 11512 https://bugs.webkit.org/show_bug.cgi?id=71507 11513 11514 Reviewed by Antonio Gomes. 11515 11516 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib". 11517 115182012-03-03 Simon Hausmann <simon.hausmann@nokia.com> 11519 11520 [Qt] Fix static_libs_as_shared build 11521 https://bugs.webkit.org/show_bug.cgi?id=80214 11522 11523 Reviewed by Tor Arne Vestbø. 11524 11525 Replace (static) link time dependency to WK1 with entrypoint 11526 in the separate WebProcess for activating the QStyle theme if 11527 necessary. 11528 11529 * Target.pri: 11530 * UIProcess/Launcher/ProcessLauncher.h: 11531 * WebProcess/qt/WebProcessMainQt.cpp: 11532 (WebKit::WebProcessMainQt): 11533 * qt/MainQt.cpp: 11534 (WebKit): 11535 (main): 11536 115372012-03-03 Hans Wennborg <hans@chromium.org> 11538 11539 Implement Speech JavaScript API 11540 https://bugs.webkit.org/show_bug.cgi?id=80019 11541 11542 Reviewed by Adam Barth. 11543 11544 Add ENABLE_SCRIPTED_SPEECH. 11545 11546 * Configurations/FeatureDefines.xcconfig: 11547 115482012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com> 11549 11550 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode 11551 https://bugs.webkit.org/show_bug.cgi?id=79543 11552 11553 Use QSGNode::inheritedOpacity() and QSGNode::matrix(). 11554 Also, remove flags from changedStates() that we don't actually touch. 11555 This is covered by existing API tests. 11556 11557 Reviewed by Kenneth Rohde Christiansen. 11558 11559 * UIProcess/API/qt/qquickwebpage.cpp: 11560 (QQuickWebPagePrivate::paintToCurrentGLContext): 11561 (PageProxyNode::changedStates): 11562 (PageProxyNode::render): 11563 * UIProcess/API/qt/qquickwebpage_p_p.h: 11564 (QQuickWebPagePrivate): 11565 115662012-03-03 Anders Carlsson <andersca@apple.com> 11567 11568 Fix build with newer versions of clang. 11569 11570 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11571 (WebKit::NPN_GetValue): 11572 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type. 11573 115742012-03-02 Andy Estes <aestes@apple.com> 11575 11576 Move nsStringFromWebCoreString out of PageClientImpl 11577 https://bugs.webkit.org/show_bug.cgi?id=80202 11578 11579 Reviewed by Sam Weinig. 11580 11581 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm, 11582 and it makes us include PageClientImpl.h in places where we shouldn't. 11583 Move this function into StringUtilities.{h, mm}. 11584 11585 * Platform/mac/StringUtilities.h: Added. 11586 * Platform/mac/StringUtilities.mm: Added. 11587 (WebKit::nsStringFromWebCoreString): 11588 * UIProcess/API/mac/PageClientImpl.h: 11589 * UIProcess/API/mac/PageClientImpl.mm: 11590 * UIProcess/API/mac/WKView.mm: 11591 * UIProcess/mac/WebContextMenuProxyMac.mm: 11592 * UIProcess/mac/WebPageProxyMac.mm: 11593 * UIProcess/mac/WebPopupMenuProxyMac.mm: 11594 * UIProcess/mac/WebPreferencesMac.mm: 11595 * WebKit2.xcodeproj/project.pbxproj: 11596 115972012-03-02 Andy Estes <aestes@apple.com> 11598 11599 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase 11600 https://bugs.webkit.org/show_bug.cgi?id=80197 11601 11602 Reviewed by Alexey Proskuryakov. 11603 11604 It doesn't belong there, and it makes Xcode consider the project to be 11605 invalid, triggering assertions in some builds of Xcode. 11606 11607 * WebKit2.xcodeproj/project.pbxproj: 11608 116092012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 11610 11611 [Qt] Fix spelling mistake in header guard 11612 11613 Reviewed by Noam Rosenthal. 11614 11615 * UIProcess/API/qt/qwebviewportinfo_p.h: 11616 116172012-03-02 Carlos Garcia Campos <cgarcia@igalia.com> 11618 11619 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled 11620 https://bugs.webkit.org/show_bug.cgi?id=80150 11621 11622 Reviewed by Philippe Normand. 11623 11624 * UIProcess/API/gtk/WebKitWebView.cpp: 11625 (webkit_web_view_set_zoom_level): Use 11626 webkit_web_view_get_zoom_level() instead of 11627 WKPageGetPageZoomFactor() to get the current effective zoom level 11628 depending on zoom-text-only setting. 11629 116302012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com> 11631 11632 Fix build on AppleWebKit after 109548. 11633 11634 * mac/WebKit2.order: 11635 116362012-03-02 Simon Hausmann <simon.hausmann@nokia.com> 11637 11638 [Qt] Fix tests run with WTR not using QStyle theme 11639 https://bugs.webkit.org/show_bug.cgi?id=80147 11640 11641 Reviewed by Csaba Osztrogonác. 11642 11643 Use an environment variable (set by WTR) to select the QStyle theme. 11644 This is a temporary kludge until we rebase the layout tests to use the 11645 QStyle independent "mobile" theme. This also temporarily breaks the 11646 force_static_libs_as_shared build. 11647 11648 * Target.pri: 11649 * WebProcess/qt/WebProcessMainQt.cpp: 11650 (WebKit::WebProcessMainQt): 11651 116522012-03-02 Simon Hausmann <simon.hausmann@nokia.com> 11653 11654 [Qt] Compile WebCore without QtWidgets 11655 https://bugs.webkit.org/show_bug.cgi?id=80141 11656 11657 Reviewed by Tor Arne Vestbø. 11658 11659 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include. 11660 * Target.pri: Require widgets for WK2 for the moment, until bug #79458 11661 is fixed. 11662 116632012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com> 11664 11665 Suspend/Resume API for pausing timers and animations. 11666 https://bugs.webkit.org/show_bug.cgi?id=76063 11667 11668 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>, 11669 11670 Adds suspend and resume API for WebKit2 and uses it in Qt to 11671 suspend animations and DOM timers during panning and zoom. 11672 11673 Reviewed by Kenneth Rohde Christiansen. 11674 11675 * UIProcess/API/qt/qquickwebview.cpp: 11676 (QQuickWebViewFlickablePrivate::_q_suspend): 11677 (QQuickWebViewFlickablePrivate::_q_resume): 11678 * UIProcess/WebPageProxy.cpp: 11679 (WebKit::WebPageProxy::WebPageProxy): 11680 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations): 11681 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations): 11682 (WebKit::WebPageProxy::processDidCrash): 11683 * UIProcess/WebPageProxy.h: 11684 * WebProcess/WebPage/WebPage.cpp: 11685 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations): 11686 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations): 11687 * WebProcess/WebPage/WebPage.h: 11688 * WebProcess/WebPage/WebPage.messages.in: 11689 116902012-03-02 Joone Hur <joone.hur@collabora.co.uk> 11691 11692 Unreviewed. Fix WebKit2 GTK+ build. 11693 11694 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly. 11695 116962012-03-01 Andras Becsi <andras.becsi@nokia.com> 11697 11698 [Qt][WK2] Make the interaction with the Flickable work on the N9 11699 https://bugs.webkit.org/show_bug.cgi?id=80029 11700 11701 Reviewed by Simon Hausmann. 11702 11703 Because the WebView item accepts all touch events it receives and sends 11704 them to the web process before propagating them to the gesture recognizers, 11705 which is correct behaviour, we can not rely on the touch->mouse conversion 11706 of Qt5 when controlling Flickable. Hence we need to convert the received 11707 touch events to mouse events in the QtFlickProvider. 11708 11709 * UIProcess/qt/QtFlickProvider.cpp: 11710 (QtFlickProvider::handleTouchFlickEvent): 11711 Do the touch to mouse event conversion for the Flickable. 11712 * UIProcess/qt/QtPanGestureRecognizer.cpp: 11713 (WebKit::QtPanGestureRecognizer::recognize): 11714 A touch begin event should cancel the previous pan gesture 11715 and stop the ongoing flick animation. 11716 117172012-03-01 Anders Carlsson <andersca@apple.com> 11718 11719 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs 11720 https://bugs.webkit.org/show_bug.cgi?id=80044 11721 <rdar://problem/10919940> 11722 11723 Reviewed by Brady Eidson. 11724 11725 Remove the code that would add and remove wheel event handlers since that's not what we want to track. 11726 Instead, dynamically add and remove the view as its scrollbars come and go. 11727 11728 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 11729 (WebKit::BuiltInPDFView::updateScrollbars): 11730 (WebKit::BuiltInPDFView::initialize): 11731 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 11732 (BuiltInPDFView): 11733 117342012-03-01 Kangil Han <kangil.han@samsung.com> 11735 11736 [DRT] Remove all PlainTextController usages in existing tests by adding internal API 11737 https://bugs.webkit.org/show_bug.cgi?id=78570 11738 11739 Reviewed by Hajime Morita. 11740 11741 This patch will remove all PlainTextController usages 11742 in existing DRT tests by adding internal API to WebCore/testing/Internals 11743 11744 * win/WebKit2.def: 11745 * win/WebKit2CFLite.def: 11746 117472012-03-01 Nikolas Zimmermann <nzimmermann@rim.com> 11748 11749 Unreviewed, rolling out r109255. 11750 http://trac.webkit.org/changeset/109255 11751 https://bugs.webkit.org/show_bug.cgi?id=79932 11752 11753 Breaks rounded rects with dashed strokes in SVG 11754 11755 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 11756 (InitWebCoreSystemInterface): 11757 117582012-03-01 Sergio Villar Senin <svillar@igalia.com> 11759 11760 [WK2] [GTK] [libsoup] SoupSession should use system CA 11761 https://bugs.webkit.org/show_bug.cgi?id=79657 11762 11763 Reviewed by Martin Robinson. 11764 11765 SoupSession sould use system CA list to validate SSL 11766 certificates. Do not use strict certificate validation though as 11767 we want clients to decide whether or not accept/decline invalid 11768 certificates (API to be added later). 11769 11770 No new tests required as current behaviour does not change at all 11771 as we continue to accept invalid certificates by default. 11772 11773 * WebProcess/gtk/WebProcessMainGtk.cpp: 11774 (WebKit::WebProcessMainGtk): 11775 117762012-03-01 Carlos Garcia Campos <cgarcia@igalia.com> 11777 11778 Unreviewed. Fix WebKit2 GTK+ build. 11779 11780 * UIProcess/API/gtk/WebKitDefines.h: 11781 * UIProcess/API/gtk/WebKitWebView.h: 11782 117832012-02-29 Simon Hausmann <simon.hausmann@nokia.com> 11784 11785 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle 11786 https://bugs.webkit.org/show_bug.cgi?id=78047 11787 11788 Reviewed by Kenneth Rohde Christiansen. 11789 11790 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to 11791 QtWebPageEventHandler::handle*Event. 11792 11793 * UIProcess/API/qt/qquickwebview.cpp: 11794 (QQuickWebView::keyPressEvent): 11795 (QQuickWebView::keyReleaseEvent): 11796 (QQuickWebView::inputMethodEvent): 11797 (QQuickWebView::focusInEvent): 11798 (QQuickWebView::focusOutEvent): 11799 (QQuickWebView::touchEvent): 11800 (QQuickWebView::mousePressEvent): 11801 (QQuickWebView::mouseMoveEvent): 11802 (QQuickWebView::mouseReleaseEvent): 11803 (QQuickWebView::mouseDoubleClickEvent): 11804 (QQuickWebView::wheelEvent): 11805 (QQuickWebView::hoverEnterEvent): 11806 (QQuickWebView::hoverMoveEvent): 11807 (QQuickWebView::hoverLeaveEvent): 11808 (QQuickWebView::dragMoveEvent): 11809 (QQuickWebView::dragEnterEvent): 11810 (QQuickWebView::dragLeaveEvent): 11811 (QQuickWebView::dropEvent): 11812 (QQuickWebView::event): 11813 * UIProcess/qt/QtWebPageEventHandler.cpp: 11814 (QtWebPageEventHandler::handleMouseMoveEvent): 11815 (QtWebPageEventHandler::handleMousePressEvent): 11816 (QtWebPageEventHandler::handleMouseReleaseEvent): 11817 (QtWebPageEventHandler::handleWheelEvent): 11818 (QtWebPageEventHandler::handleHoverLeaveEvent): 11819 (QtWebPageEventHandler::handleHoverMoveEvent): 11820 (QtWebPageEventHandler::handleDragEnterEvent): 11821 (QtWebPageEventHandler::handleDragLeaveEvent): 11822 (QtWebPageEventHandler::handleDragMoveEvent): 11823 (QtWebPageEventHandler::handleDropEvent): 11824 (QtWebPageEventHandler::handleKeyPressEvent): 11825 (QtWebPageEventHandler::handleKeyReleaseEvent): 11826 (QtWebPageEventHandler::handleFocusInEvent): 11827 (QtWebPageEventHandler::handleFocusOutEvent): 11828 (QtWebPageEventHandler::handleInputMethodEvent): 11829 (QtWebPageEventHandler::handleTouchEvent): 11830 * UIProcess/qt/QtWebPageEventHandler.h: 11831 (QtWebPageEventHandler): 11832 118332012-03-01 Csaba Osztrogonác <ossy@webkit.org> 11834 11835 [Qt][WK2] Unreviewed buildfix after r109277. 11836 11837 * WebProcess/qt/QtBuiltinBundlePage.cpp: 11838 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 11839 118402012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com> 11841 11842 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy] 11843 https://bugs.webkit.org/show_bug.cgi?id=79501 11844 11845 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use. 11846 11847 Reviewed by Kenneth Rohde Christiansen. 11848 11849 * Shared/WebLayerTreeInfo.cpp: 11850 * Shared/WebLayerTreeInfo.h: 11851 * UIProcess/DrawingAreaProxy.cpp: 11852 (WebKit): 11853 * UIProcess/DrawingAreaProxy.h: 11854 (DrawingAreaProxy): 11855 * UIProcess/DrawingAreaProxyImpl.cpp: 11856 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 11857 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 11858 (WebKit): 11859 * UIProcess/DrawingAreaProxyImpl.h: 11860 (DrawingAreaProxyImpl): 11861 * UIProcess/LayerTreeHostProxy.h: 11862 (LayerTreeHostProxy): 11863 * UIProcess/WebPageProxy.cpp: 11864 (WebKit::WebPageProxy::didReceiveMessage): 11865 * UIProcess/qt/LayerBackingStore.cpp: 11866 * UIProcess/qt/LayerBackingStore.h: 11867 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 11868 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 11869 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 11870 * WebProcess/WebPage/DrawingArea.h: 11871 (DrawingArea): 11872 * WebProcess/WebPage/DrawingAreaImpl.cpp: 11873 (WebKit): 11874 * WebProcess/WebPage/DrawingAreaImpl.h: 11875 (DrawingAreaImpl): 11876 * WebProcess/WebPage/LayerTreeHost.cpp: 11877 (WebKit::LayerTreeHost::create): 11878 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 11879 (WebKit::LayerTreeHostQt::purgeBackingStores): 11880 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 11881 (LayerTreeHostQt): 11882 118832012-02-28 Brian Weinstein <bweinstein@apple.com> 11884 11885 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle 11886 https://bugs.webkit.org/show_bug.cgi?id=79849 11887 11888 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently 11889 just tell the UI process). 11890 11891 Reviewed by Beth Dakin. 11892 11893 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1. 11894 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 11895 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the 11896 client. 11897 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 11898 (InjectedBundlePageLoaderClient): 11899 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11900 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected 11901 bundle. 11902 119032012-02-29 Tim Horton <timothy_horton@apple.com> 11904 11905 Make use of CG rounded-rect primitives 11906 https://bugs.webkit.org/show_bug.cgi?id=79932 11907 <rdar://problem/9274953> 11908 11909 Reviewed by Simon Fraser. 11910 11911 Add wkCGPathAddRoundedRect. 11912 11913 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 11914 (InitWebCoreSystemInterface): 11915 119162012-02-29 Andy Estes <aestes@apple.com> 11917 11918 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows 11919 https://bugs.webkit.org/show_bug.cgi?id=79936 11920 11921 Reviewed by Brady Eidson. 11922 11923 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows 11924 platforms. Non-Windows platforms that use CFNetwork-based downloads 11925 should omit this call. 11926 11927 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: 11928 (WebKit::Download::start): 11929 119302012-02-29 Rafael Brandao <rafael.lobo@openbossa.org> 11931 11932 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header 11933 https://bugs.webkit.org/show_bug.cgi?id=79847 11934 11935 Reviewed by Alexey Proskuryakov. 11936 11937 * Target.pri: Fix typo, so we can add ".h" file instead. 11938 119392012-02-29 Sam Weinig <sam@webkit.org> 11940 11941 When invoking Lookup while zoomed in, the highlighted word renders out of line 11942 <rdar://problem/10812527> 11943 11944 Reviewed by Simon Fraser. 11945 11946 * WebProcess/WebPage/mac/WebPageMac.mm: 11947 (WebKit::WebPage::performDictionaryLookupForRange): 11948 Make sure to scale the ascent when determining the origin for the overlay. 11949 119502012-02-29 Carlos Garcia Campos <cgarcia@igalia.com> 11951 11952 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only 11953 https://bugs.webkit.org/show_bug.cgi?id=75252 11954 11955 Reviewed by Gustavo Noronha Silva. 11956 11957 * UIProcess/API/gtk/WebKitWebView.cpp: 11958 (zoomTextOnlyChanged): Update text/page zoom factor when 11959 zoom-text-only setting changes. 11960 (webkitWebViewSetSettings): Helper function to set the settings 11961 object for the web view, initializing the settings for the page 11962 and connecting to notify::zoom-text-only signal. 11963 (webkitWebViewConstructed): Use webkitWebViewSetSettings(). 11964 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and 11965 disconnect from the notify::zoom-text-only signal of the previous 11966 settings object. 11967 (webkit_web_view_set_zoom_level): Set text/page zoom factor 11968 depending on WebKitSettings:zoom-text-only property. 11969 (webkit_web_view_get_zoom_level): Get text/page zoom factor 11970 depending on WebKitSettings:zoom-text-only property. 11971 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 11972 (testWebViewZoomLevel): 11973 119742012-02-29 Carlos Garcia Campos <cgarcia@igalia.com> 11975 11976 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API 11977 https://bugs.webkit.org/show_bug.cgi?id=75249 11978 11979 Reviewed by Gustavo Noronha Silva. 11980 11981 To set whether zoom level of web view should affect only the text 11982 or all page contents. It's disabled by default. 11983 11984 * UIProcess/API/gtk/WebKitSettings.cpp: 11985 (webKitSettingsSetProperty): 11986 (webKitSettingsGetProperty): 11987 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only 11988 property. 11989 (webkit_settings_set_zoom_text_only): Set 11990 WebKitSettings:zoom-text-only. 11991 (webkit_settings_get_zoom_text_only): Get 11992 WebKitSettings:zoom-text-only. 11993 * UIProcess/API/gtk/WebKitSettings.h: 11994 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new 11995 symbols. 11996 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 11997 (testWebKitSettings): 11998 119992012-02-29 Sergio Villar Senin <svillar@igalia.com> 12000 12001 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled 12002 https://bugs.webkit.org/show_bug.cgi?id=76522 12003 12004 Reviewed by Darin Adler. 12005 12006 DidFindString message should be issued always even if neither 12007 FindOptionsShowOverlay or FindOptionsShowHighlight are 12008 provided. The difference is that if any of those flags are present 12009 the find operation will look for all the appearances of the text 12010 in the web view, otherwise it will just look and report the next 12011 occurrence. 12012 12013 This patch removes the temporary workaround added in r109222 to 12014 the WebKitFindController unit tests. 12015 12016 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: 12017 * WebProcess/WebPage/FindController.cpp: 12018 (WebKit::FindController::findString): 12019 120202012-01-19 Sergio Villar Senin <svillar@igalia.com> 12021 12022 [GTK] [WK2] Add Find API 12023 https://bugs.webkit.org/show_bug.cgi?id=76070 12024 12025 Reviewed by Martin Robinson. 12026 12027 This patch adds a new public find API for the Gtk+ WK2 port. It 12028 defines a new object called WebKitFindController owned by each 12029 WebKitWebView. Clients will use this new object to search strings 12030 in the WebKitWebView. 12031 12032 Changes include also documentation and unit tests for the new 12033 public API. 12034 12035 * GNUmakefile.am: 12036 * UIProcess/API/gtk/WebKitDefines.h: 12037 * UIProcess/API/gtk/WebKitFindController.cpp: Added. 12038 (didFindString): implementation of the WKPage Find interface. 12039 (didFailToFindString): Ditto. 12040 (didCountStringMatches): Ditto. 12041 (webkit_find_controller_init): 12042 (getWKPageFromWebKitWebView): 12043 (webkitFindControllerConstructed): 12044 (webkitFindControllerGetProperty): 12045 (webkitFindControllerSetProperty): 12046 (webkitFindControllerFinalize): 12047 (webkit_find_controller_class_init): 12048 (webkit_find_controller_get_search_text): 12049 (webkit_find_controller_get_options): 12050 (webkit_find_controller_get_max_match_count): 12051 (webkit_find_controller_get_web_view): 12052 (webKitFindControllerPerform): 12053 (webKitFindControllerSetSearchData): 12054 (webkit_find_controller_search): asynchronously looks for the 12055 search string in the WebKitWebView. 12056 (webkit_find_controller_search_finish): unhighlights text matches. 12057 (webkit_find_controller_search_next): 12058 (webkit_find_controller_search_previous): 12059 (webkit_find_controller_count_matches): asynchronously counts the 12060 number of matches of the search string in the WebKitWebView. 12061 * UIProcess/API/gtk/WebKitFindController.h: Added. 12062 * UIProcess/API/gtk/WebKitPrivate.h: 12063 * UIProcess/API/gtk/WebKitWebView.cpp: 12064 (webkit_web_view_get_find_controller): returns the 12065 WebKitFindController instance owned by the WebKitWebView. 12066 * UIProcess/API/gtk/WebKitWebView.h: 12067 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 12068 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 12069 * UIProcess/API/gtk/docs/webkit2gtk.types: 12070 * UIProcess/API/gtk/tests/GNUmakefile.am: 12071 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added. 12072 (testFindControllerTextFound): 12073 (testFindControllerTextNotFound): 12074 (testFindControllerMatchCount): 12075 (testFindControllerMaxMatchCount): 12076 (testFindControllerNext): 12077 (testFindControllerPrevious): 12078 (testFindControllerCountedMatches): 12079 (testFindControllerOptions): 12080 (testFindControllerInstance): 12081 (testFindControllerGetters): 12082 (testFindControllerHide): 12083 (beforeAll): 12084 (afterAll): 12085 * UIProcess/API/gtk/webkit2.h: 12086 120872012-02-28 Simon Fraser <simon.fraser@apple.com> 12088 12089 Update WebKitSystemInterface. 12090 12091 Reviewed by Sam Weinig. 12092 12093 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 12094 (InitWebCoreSystemInterface): 12095 120962012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org> 12097 12098 All mouse events after a right click are ignored when they came from WebkitTestRunner 12099 https://bugs.webkit.org/show_bug.cgi?id=77350 12100 12101 Reviewed by Chang Shu. 12102 12103 Never ignore mouse events when using sync events, even if the context menu is being 12104 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden. 12105 12106 * WebProcess/WebPage/WebPage.cpp: 12107 (WebKit::WebPage::mouseEventSyncForTesting): 12108 121092012-02-28 Alexey Proskuryakov <ap@apple.com> 12110 12111 More build fix. 12112 12113 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform 12114 properly. 12115 121162012-02-28 Alexey Proskuryakov <ap@apple.com> 12117 12118 Build fix. 12119 12120 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): 12121 Check for build platform properly. 12122 121232012-02-28 Enrica Casucci <enrica@apple.com> 12124 12125 More Pasteboard code cleanup. 12126 https://bugs.webkit.org/show_bug.cgi?id=79816 12127 12128 Removing the last references to NSPasteboard. 12129 12130 Reviewed by Alexey Proskuryakov. 12131 12132 * WebProcess/WebCoreSupport/WebEditorClient.h: 12133 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 12134 (WebKit::WebEditorClient::setInsertionPasteboard): 12135 121362012-02-28 Alexey Proskuryakov <ap@apple.com> 12137 12138 [Mac] Add an experimental SPI for plug-ins to enter sandbox 12139 https://bugs.webkit.org/show_bug.cgi?id=79709 12140 12141 Reviewed by Anders Carlsson. 12142 12143 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path. 12144 12145 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added. 12146 12147 * WebKit2.xcodeproj/project.pbxproj: Added new files. 12148 12149 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed 12150 a function to access sandboxing functions when available. 12151 12152 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added. 12153 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added. 12154 121552012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> 12156 12157 [Qt] Allow read/write to the WebView.url property 12158 https://bugs.webkit.org/show_bug.cgi?id=77554 12159 12160 Reviewed by Tor Arne Vestbø. 12161 12162 Change QML API WebView.url to read/write to reflect either the url requested by the user. 12163 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 12164 Fixed c++ and qml tests to reflect the new API. 12165 12166 * Target.pri: 12167 * UIProcess/API/qt/qquickwebview.cpp: 12168 (QQuickWebViewPrivate::QQuickWebViewPrivate): 12169 (QQuickWebViewPrivate::onComponentComplete): 12170 (QQuickWebView::setUrl): 12171 * UIProcess/API/qt/qquickwebview_p_p.h: 12172 (QQuickWebViewPrivate): 12173 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12174 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: 12175 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 12176 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 12177 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 12178 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: 12179 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: 12180 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: 12181 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: 12182 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 12183 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: 12184 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: 12185 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: 12186 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 12187 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: 12188 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: 12189 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 12190 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: 12191 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: 12192 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 12193 (tst_QQuickWebView::loadEmptyPageViewHidden): 12194 (tst_QQuickWebView::loadNonexistentFileUrl): 12195 121962012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 12197 12198 [Qt] Signal and property cleanup in QQuickWebView 12199 https://bugs.webkit.org/show_bug.cgi?id=78820 12200 12201 Reviewed by Noam Rosenthal. 12202 12203 - Remove parameters from property change notify signals: 12204 titleChanged, urlChanged, iconChanged, loadProgressChanged 12205 - Rename the parameters of linkHovered to prevent shadoing properties of WebView 12206 - Rename navigationStateChanged to navigationHistoryChanged 12207 12208 * UIProcess/API/qt/qquickwebview.cpp: 12209 (QQuickWebViewPrivate::QQuickWebViewPrivate): 12210 (QQuickWebViewPrivate::initialize): 12211 (QQuickWebViewPrivate::_q_onUrlChanged): 12212 (QQuickWebViewPrivate::setIcon): 12213 * UIProcess/API/qt/qquickwebview_p.h: 12214 * UIProcess/API/qt/qquickwebview_p_p.h: 12215 (QQuickWebViewPrivate): 12216 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12217 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 12218 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 12219 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 12220 (tst_QQuickWebView::loadProgress): 12221 * UIProcess/qt/QtWebPageLoadClient.cpp: 12222 (QtWebPageLoadClient::didCommitLoadForFrame): 12223 (QtWebPageLoadClient::didSameDocumentNavigationForFrame): 12224 (QtWebPageLoadClient::didReceiveTitleForFrame): 12225 (QtWebPageLoadClient::setLoadProgress): 12226 * UIProcess/qt/QtWebPageLoadClient.h: 12227 (QtWebPageLoadClient): 12228 122292012-02-28 Mario Sanchez Prada <msanchez@igalia.com> 12230 12231 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr 12232 https://bugs.webkit.org/show_bug.cgi?id=79496 12233 12234 Reviewed by Martin Robinson. 12235 12236 Updated places where raw pointers to GMainLoop and GMainContext 12237 were being used, replacing them with GRefPtr-based code. 12238 12239 * Platform/WorkQueue.h: 12240 (WorkQueue): 12241 * Platform/gtk/WorkQueueGtk.cpp: 12242 (WorkQueue::platformInitialize): 12243 (WorkQueue::platformInvalidate): 12244 (WorkQueue::workQueueThreadBody): 12245 (WorkQueue::registerEventSourceHandler): 12246 (WorkQueue::dispatchOnSource): 12247 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 12248 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk): 12249 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 12250 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop): 12251 * UIProcess/gtk/WebPopupMenuProxyGtk.h: 12252 (WebPopupMenuProxyGtk): 12253 122542012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 12255 12256 [Qt] Initialize QtWebContext as much as we can in its constructor. 12257 https://bugs.webkit.org/show_bug.cgi?id=79809 12258 12259 Reviewed by Tor Arne Vestbø. 12260 12261 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner 12262 since it doesn't call the initialize method on it after creating it. 12263 Remove the initialize method, move the download manager and icon database initialization 12264 in the constructor and call initializeContextInjectedBundleClient directly in 12265 defaultContext to prevent overriding WKTR's injected bundle client. 12266 12267 * UIProcess/qt/QtWebContext.cpp: 12268 (WebKit::QtWebContext::QtWebContext): 12269 (WebKit::QtWebContext::defaultContext): 12270 * UIProcess/qt/QtWebContext.h: 12271 (QtWebContext): 12272 122732012-02-28 Carlos Garcia Campos <cgarcia@igalia.com> 12274 12275 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2 12276 https://bugs.webkit.org/show_bug.cgi?id=79775 12277 12278 Reviewed by Martin Robinson. 12279 12280 Use an enum instead of a boolean to track the status of a 12281 replace_content() load operation. We need to know when the load of 12282 the replace content actually starts to not ignore valid load 12283 events of a previous ongoing load operation. 12284 12285 * UIProcess/API/gtk/WebKitWebView.cpp: 12286 (webkitWebViewLoadChanged): Transit to new replace content state 12287 when replacing content depending on the load event. 12288 (webkitWebViewLoadFailed): Ignore load failed events when 12289 replacing content. 12290 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when 12291 replacing content. 12292 (webkit_web_view_replace_content): Set replace content status to 12293 WillReplaceContent. 12294 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 12295 (replaceContentLoadCallback): 12296 (testWebViewReplaceContent): 12297 * UIProcess/API/gtk/tests/WebViewTest.cpp: 12298 (titleChanged): 12299 (WebViewTest::waitUntilTitleChanged): Convenient method to wait 12300 until title changes. Use with replaceConent() since load events 12301 are not emitted when replacing content. 12302 * UIProcess/API/gtk/tests/WebViewTest.h: 12303 123042012-02-27 Anders Carlsson <andersca@apple.com> 12305 12306 Add basic page overlay support to TiledCoreAnimationDrawingArea 12307 https://bugs.webkit.org/show_bug.cgi?id=79716 12308 <rdar://problem/10923079> 12309 12310 Reviewed by Sam Weinig. 12311 12312 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 12313 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient. 12314 12315 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 12316 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 12317 Create the page overlay layer. 12318 12319 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 12320 Destroy the page overlay layer. 12321 12322 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay): 12323 Mark the page overlay layer as needing display. 12324 12325 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted): 12326 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired): 12327 Add empty GraphisLayerClient member function implementations. 12328 12329 (WebKit::TiledCoreAnimationDrawingArea::paintContents): 12330 Ask the page overlay to paint itself. 12331 12332 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 12333 Flush the page overlay layer. 12334 12335 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 12336 Resize the page overlay layer. 12337 12338 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 12339 If we have a page overlay layer, add it as a sublayer of the root layer. 12340 12341 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 12342 Create the page overlay layer and add it as a sublayer of the root layer. 12343 12344 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer): 12345 Remove the page overlay layer and destroy it. 12346 123472012-02-28 Carlos Garcia Campos <cgarcia@igalia.com> 12348 12349 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API 12350 https://bugs.webkit.org/show_bug.cgi?id=79804 12351 12352 Reviewed by Martin Robinson. 12353 12354 That comes from the first patch that followed the approach of the 12355 first LoaderClient implementation. With current implementation 12356 download signals, except decide-destination, don't need to be 12357 true_handled, and they won't have a default handler 12358 implementation. Also the download object is not supposed to be 12359 inheritable, since instances are created privately by the 12360 WebContext, so it's not possible to override the virtual methods 12361 in derived classes. 12362 12363 * UIProcess/API/gtk/WebKitDownload.cpp: 12364 (webkit_download_class_init): 12365 (webkitDownloadNotifyProgress): 12366 (webkitDownloadFailed): 12367 (webkitDownloadFinished): 12368 * UIProcess/API/gtk/WebKitDownload.h: 12369 (_WebKitDownloadClass): 12370 * UIProcess/API/gtk/webkit2marshal.list: 12371 123722012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 12373 12374 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum 12375 https://bugs.webkit.org/show_bug.cgi?id=79800 12376 12377 Reviewed by Csaba Osztrogonác. 12378 12379 We have two different enums called NavigationRequestAction. If we use one of them 12380 to store the variables, compilers can rightfully warn about comparison with 12381 values from other enums. 12382 12383 We might revisit the strategy of exposing different enumerations in experimental, 12384 but for now, fallback to using int for the 'action' property in 12385 QWebNavigationRequest. 12386 12387 * UIProcess/API/qt/qwebnavigationrequest.cpp: 12388 (QWebNavigationRequestPrivate): 12389 (QWebNavigationRequest::setAction): 12390 (QWebNavigationRequest::action): 12391 * UIProcess/API/qt/qwebnavigationrequest_p.h: 12392 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12393 123942012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 12395 12396 [Qt] API changes to QWebNavigationRequest 12397 https://bugs.webkit.org/show_bug.cgi?id=78821 12398 12399 Reviewed by Kenneth Rohde Christiansen. 12400 12401 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton', 12402 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and 12403 use the enum type for 'action'. 12404 12405 * UIProcess/API/qt/qwebnavigationrequest.cpp: 12406 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 12407 (QWebNavigationRequestPrivate): 12408 (QWebNavigationRequest::QWebNavigationRequest): 12409 (QWebNavigationRequest::setAction): 12410 (QWebNavigationRequest::mouseButton): 12411 (QWebNavigationRequest::keyboardModifiers): 12412 (QWebNavigationRequest::action): 12413 * UIProcess/API/qt/qwebnavigationrequest_p.h: 12414 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12415 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 12416 * UIProcess/qt/QtWebPagePolicyClient.cpp: 12417 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 12418 * UIProcess/qt/QtWebPagePolicyClient.h: 12419 (QtWebPagePolicyClient): 12420 124212012-02-28 Shinya Kawanaka <shinyak@chromium.org> 12422 12423 Element should be able to have multiple shadow roots. 12424 https://bugs.webkit.org/show_bug.cgi?id=77931 12425 12426 Reviewed by Hajime Morita. 12427 12428 * win/WebKit2.def: 12429 * win/WebKit2CFLite.def: 12430 124312012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org> 12432 12433 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine 12434 https://bugs.webkit.org/show_bug.cgi?id=79521 12435 12436 Reviewed by Kenneth Rohde Christiansen. 12437 12438 movingChanged() signal is emitted many times, so the use of movementStarted() and 12439 movementEnded() is a better choice. 12440 12441 * UIProcess/qt/QtFlickProvider.cpp: 12442 (QtFlickProvider::QtFlickProvider): 12443 * UIProcess/qt/QtFlickProvider.h: 12444 (QtFlickProvider): 12445 * UIProcess/qt/QtViewportInteractionEngine.cpp: 12446 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 12447 * UIProcess/qt/QtViewportInteractionEngine.h: 12448 (QtViewportInteractionEngine): 12449 124502012-02-27 Shinya Kawanaka <shinyak@chromium.org> 12451 12452 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree. 12453 https://bugs.webkit.org/show_bug.cgi?id=78313 12454 12455 Reviewed by Hajime Morita. 12456 12457 * win/WebKit2.def: 12458 * win/WebKit2CFLite.def: 12459 124602012-02-27 Brady Eidson <beidson@apple.com> 12461 12462 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725 12463 <a ping> doesn't work in WebKit2 12464 12465 Reviewed by Alexey Proskuryakov. 12466 12467 * WebProcess/WebPage/WebPage.cpp: 12468 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings. 12469 124702012-02-27 Enrica Casucci <enrica@apple.com> 12471 12472 WebKit2: implement platform strategy to access Pasteboard in the UI process. 12473 https://bugs.webkit.org/show_bug.cgi?id=79253 12474 <rdar://problem/9971876> 12475 12476 Reviewed by Alexey Proskuryakov. 12477 12478 * UIProcess/WebContext.h: 12479 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard 12480 in the UI process. 12481 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the 12482 new messages. 12483 (WebKit::WebContext::getPasteboardTypes): 12484 (WebKit::WebContext::getPasteboardPathnamesForType): 12485 (WebKit::WebContext::getPasteboardStringForType): 12486 (WebKit::WebContext::getPasteboardBufferForType): 12487 (WebKit::WebContext::pasteboardCopy): 12488 (WebKit::WebContext::getPasteboardChangeCount): 12489 (WebKit::WebContext::getPasteboardUniqueName): 12490 (WebKit::WebContext::getPasteboardColor): 12491 (WebKit::WebContext::setPasteboardTypes): 12492 (WebKit::WebContext::setPasteboardPathnamesForType): 12493 (WebKit::WebContext::setPasteboardStringForType): 12494 (WebKit::WebContext::setPasteboardBufferForType): 12495 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange 12496 with the UI process. 12497 (WebKit::WebPlatformStrategies::getTypes): 12498 (WebKit::WebPlatformStrategies::bufferForType): 12499 (WebKit::WebPlatformStrategies::getPathnamesForType): 12500 (WebKit::WebPlatformStrategies::stringForType): 12501 (WebKit::WebPlatformStrategies::copy): 12502 (WebKit::WebPlatformStrategies::changeCount): 12503 (WebKit::WebPlatformStrategies::uniqueName): 12504 (WebKit::WebPlatformStrategies::color): 12505 (WebKit::WebPlatformStrategies::setTypes): 12506 (WebKit::WebPlatformStrategies::setBufferForType): 12507 (WebKit::WebPlatformStrategies::setPathnamesForType): 12508 (WebKit::WebPlatformStrategies::setStringForType): 12509 125102012-02-27 Dan Bernstein <mitz@apple.com> 12511 12512 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work 12513 https://bugs.webkit.org/show_bug.cgi?id=79607 12514 12515 Reviewed by Adele Peterson. 12516 12517 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm 12518 12519 This was caused by not mapping the mouse event coordinates from window coordinates to 12520 document coordinates. 12521 12522 * WebProcess/WebPage/mac/WebPageMac.mm: 12523 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame 12524 coordinates when performing the hit test. 12525 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused 12526 frame coordinates when perfomring the hit test. 12527 (WebKit::WebPage::acceptsFirstMouse): Ditto. 12528 125292012-02-27 Timothy Hatcher <timothy@apple.com> 12530 12531 Add WKInspector API to know when the Web Inspector is the frontmost window. 12532 12533 Also makes the Safari Develop menu items work when the Web Inspector is frontmost. 12534 12535 https://webkit.org/b/79649 12536 12537 Reviewed by John Sullivan. 12538 12539 * UIProcess/API/C/WKInspector.cpp: 12540 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront. 12541 * UIProcess/API/C/WKInspector.h: 12542 * UIProcess/WebInspectorProxy.cpp: 12543 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront. 12544 * UIProcess/WebInspectorProxy.h: 12545 * UIProcess/efl/WebInspectorEfl.cpp: 12546 (WebKit::WebInspectorProxy::platformIsFront): Added stub. 12547 * UIProcess/gtk/WebInspectorGtk.cpp: 12548 (WebKit::WebInspectorProxy::platformIsFront): Added stub. 12549 * UIProcess/mac/WebInspectorProxyMac.mm: 12550 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when 12551 the Web Inspector window is front. 12552 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto. 12553 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto. 12554 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto. 12555 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto. 12556 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto. 12557 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles. 12558 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main. 12559 * UIProcess/qt/WebInspectorProxyQt.cpp: 12560 (WebKit::WebInspectorProxy::platformIsFront): Added stub. 12561 * UIProcess/win/WebInspectorProxyWin.cpp: 12562 (WebKit::WebInspectorProxy::platformIsFront): Added stub. 12563 125642012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com> 12565 12566 [EFL][WK2] Add InjectedBundleEfl.cpp 12567 https://bugs.webkit.org/show_bug.cgi?id=75463 12568 12569 Reviewed by Andreas Kling. 12570 12571 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack(). 12572 12573 * WebProcess/InjectedBundle/InjectedBundle.h: 12574 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: 12575 (WebKit::InjectedBundle::load): 12576 (WebKit::InjectedBundle::activateMacFontAscentHack): 12577 125782012-02-26 Shinya Kawanaka <shinyak@chromium.org> 12579 12580 Rename ShadowRootList to ShadowTree. 12581 https://bugs.webkit.org/show_bug.cgi?id=79342 12582 12583 Reviewed by Hajime Morita. 12584 12585 * win/WebKit2.def: 12586 * win/WebKit2CFLite.def: 12587 125882012-02-26 Hajime Morrita <morrita@chromium.org> 12589 12590 Move ChromeClient::showContextMenu() to ContextMenuClient 12591 https://bugs.webkit.org/show_bug.cgi?id=79427 12592 12593 Reviewed by Adam Barth. 12594 12595 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12596 * WebProcess/WebCoreSupport/WebChromeClient.h: 12597 (WebChromeClient): 12598 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 12599 (WebKit): 12600 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient 12601 * WebProcess/WebCoreSupport/WebContextMenuClient.h: 12602 (WebContextMenuClient): 12603 * WebProcess/WebPage/WebPage.cpp: 12604 (WebKit::handleContextMenuEvent): 12605 (WebKit::handleMouseEvent): 12606 (WebKit::WebPage::mouseEvent): 12607 (WebKit::WebPage::mouseEventSyncForTesting): 12608 126092012-02-26 Huang Dongsung <luxtella@company100.net> 12610 12611 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy 12612 renderer. 12613 https://bugs.webkit.org/show_bug.cgi?id=79478 12614 12615 This makes a lot of the broilerplate code for message-passing unnecessary, and 12616 results in a much more succinct implementation. 12617 12618 Reviewed by Noam Rosenthal. 12619 12620 * UIProcess/LayerTreeHostProxy.h: 12621 (WebKit): 12622 (LayerTreeHostProxy): 12623 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 12624 (WebKit): 12625 (WebKit::LayerTreeHostProxy::updateTile): 12626 (WebKit::LayerTreeHostProxy::createImage): 12627 (WebKit::LayerTreeHostProxy::syncRemoteContent): 12628 (WebKit::LayerTreeHostProxy::dispatchUpdate): 12629 (WebKit::LayerTreeHostProxy::createTileForLayer): 12630 (WebKit::LayerTreeHostProxy::updateTileForLayer): 12631 (WebKit::LayerTreeHostProxy::removeTileForLayer): 12632 (WebKit::LayerTreeHostProxy::deleteCompositingLayer): 12633 (WebKit::LayerTreeHostProxy::setRootCompositingLayer): 12634 (WebKit::LayerTreeHostProxy::syncCompositingLayerState): 12635 (WebKit::LayerTreeHostProxy::didRenderFrame): 12636 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage): 12637 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage): 12638 126392012-02-26 Filip Pizlo <fpizlo@apple.com> 12640 12641 Build fix for SL. 12642 12643 * Platform/mac/RemoteLayerClient.mm: 12644 (WebKit::RemoteLayerClient::RemoteLayerClient): 12645 126462012-02-26 Sam Weinig <sam@webkit.org> 12647 12648 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class 12649 https://bugs.webkit.org/show_bug.cgi?id=79612 12650 12651 Reviewed by Anders Carlsson. 12652 12653 * Platform/mac/RemoteLayerClient.h: 12654 * Platform/mac/RemoteLayerClient.mm: 12655 (WebKit::RemoteLayerClient::create): 12656 (WebKit::RemoteLayerClient::RemoteLayerClient): 12657 (WebKit::RemoteLayerClient::~RemoteLayerClient): 12658 (WebKit::RemoteLayerClient::clientID): 12659 (WebKit::RemoteLayerClient::invalidate): 12660 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms 12661 where the use of WKSI is not necessary, due to CARemoteLayerClient being available, 12662 stop using WKSI. 12663 12664 * PluginProcess/PluginControllerProxy.cpp: 12665 * PluginProcess/PluginControllerProxy.h: 12666 * PluginProcess/mac/PluginControllerProxyMac.mm: 12667 (WebKit::PluginControllerProxy::platformInitialize): 12668 (WebKit::PluginControllerProxy::platformDestroy): 12669 (WebKit::PluginControllerProxy::remoteLayerClientID): 12670 (WebKit::PluginControllerProxy::platformGeometryDidChange): 12671 * WebKit2.xcodeproj/project.pbxproj: 12672 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: 12673 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 12674 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): 12675 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient): 12676 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 12677 (LayerTreeHostCAMac): 12678 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 12679 (WebKit::LayerTreeHostCAMac::platformInitialize): 12680 (WebKit::LayerTreeHostCAMac::invalidate): 12681 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 12682 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 12683 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 12684 Switch to using RemoteLayerClient. 12685 12686 * UIProcess/mac/WebContextMac.mm: 12687 (WebKit::WebContext::platformInitializeWebProcess): 12688 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 12689 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 12690 Use CARemoteLayerServer directly if available. 12691 126922012-02-25 Anders Carlsson <andersca@apple.com> 12693 12694 Address review feedback from Andreas Kling. 12695 12696 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 12697 (WebKit::NetscapePlugin::platformHandleMouseEvent): 12698 126992012-02-25 Anders Carlsson <andersca@apple.com> 12700 12701 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement 12702 https://bugs.webkit.org/show_bug.cgi?id=79589 12703 <rdar://problem/9719592> 12704 12705 Reviewed by Sam Weinig. 12706 12707 In the Carbon event model, mouse event coordinates are flipped relative to the first screen, 12708 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where 12709 the containing WKView is on. 12710 12711 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate 12712 system that the plug-in expects. 12713 12714 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 12715 (WebKit::NetscapePlugin::platformHandleMouseEvent): 12716 127172012-02-25 Sheriff Bot <webkit.review.bot@gmail.com> 12718 12719 Unreviewed, rolling out r108900. 12720 http://trac.webkit.org/changeset/108900 12721 https://bugs.webkit.org/show_bug.cgi?id=79587 12722 12723 broke some API tests, will investigate and re-commit 12724 (Requested by noamr on #webkit). 12725 12726 * UIProcess/API/qt/qquickwebpage.cpp: 12727 (computeEffectiveOpacity): 12728 (QQuickWebPagePrivate::paintToCurrentGLContext): 12729 (PageProxyNode::changedStates): 12730 (PageProxyNode::render): 12731 * UIProcess/API/qt/qquickwebpage_p_p.h: 12732 (QQuickWebPagePrivate): 12733 127342012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com> 12735 12736 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode 12737 https://bugs.webkit.org/show_bug.cgi?id=79543 12738 12739 Use QSGNode::inheritedOpacity() and QSGNode::matrix(). 12740 Also, remove flags from changedStates() that we don't actually touch. 12741 12742 Reviewed by Kenneth Rohde Christiansen. 12743 12744 * UIProcess/API/qt/qquickwebpage.cpp: 12745 (QQuickWebPagePrivate::paintToCurrentGLContext): 12746 (PageProxyNode::changedStates): 12747 (PageProxyNode::render): 12748 * UIProcess/API/qt/qquickwebpage_p_p.h: 12749 (QQuickWebPagePrivate): 12750 127512012-02-25 Sheriff Bot <webkit.review.bot@gmail.com> 12752 12753 Unreviewed, rolling out r108816. 12754 http://trac.webkit.org/changeset/108816 12755 https://bugs.webkit.org/show_bug.cgi?id=79562 12756 12757 It made many tests crash and timeout on Qt-WK2 (Requested by 12758 ossy__ on #webkit). 12759 12760 * UIProcess/API/qt/qquickwebview.cpp: 12761 (QQuickWebViewPrivate::QQuickWebViewPrivate): 12762 (QQuickWebViewPrivate::initialize): 12763 (QQuickWebViewPrivate::setIcon): 12764 * UIProcess/API/qt/qquickwebview_p.h: 12765 * UIProcess/API/qt/qquickwebview_p_p.h: 12766 (QQuickWebViewPrivate): 12767 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12768 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 12769 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 12770 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 12771 (tst_QQuickWebView::loadProgress): 12772 * UIProcess/qt/QtWebPageLoadClient.cpp: 12773 (QtWebPageLoadClient::didCommitLoadForFrame): 12774 (QtWebPageLoadClient::didSameDocumentNavigationForFrame): 12775 (QtWebPageLoadClient::didReceiveTitleForFrame): 12776 (QtWebPageLoadClient::setLoadProgress): 12777 * UIProcess/qt/QtWebPageLoadClient.h: 12778 (QtWebPageLoadClient): 12779 127802012-02-24 Andy Estes <aestes@apple.com> 12781 12782 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming 12783 https://bugs.webkit.org/show_bug.cgi?id=79515 12784 12785 Reviewed by Alexey Proskuryakov. 12786 12787 Some versions of Safari contain call sites to two functions in WebKit2 12788 that were removed in r108730. Restore these two functions so that these 12789 versions of Safari can be used with WebKit nightly builds. 12790 12791 * UIProcess/API/C/WKPreferences.cpp: 12792 (WKPreferencesSetSuppressIncrementalRendering): 12793 (WKPreferencesGetSuppressIncrementalRendering): 12794 * UIProcess/API/C/WKPreferences.h: 12795 127962012-02-24 Jessie Berlin <jberlin@apple.com> 12797 12798 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process 12799 about the permission level. 12800 https://bugs.webkit.org/show_bug.cgi?id=79494 12801 12802 Reviewed by Jon Honeycutt. 12803 12804 Invoke the callback in the case where the permission level is known and no message is sent 12805 to the UI Process. 12806 12807 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 12808 (WebKit::NotificationPermissionRequestManager::startRequest): 12809 128102012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 12811 12812 [Qt] Signal and property cleanup in QQuickWebView 12813 https://bugs.webkit.org/show_bug.cgi?id=78820 12814 12815 Reviewed by Simon Hausmann. 12816 12817 - Remove parameters from property change notify signals: 12818 titleChanged, urlChanged, iconChanged, loadProgressChanged 12819 - Rename the parameters of linkHovered to prevent shadoing properties of WebView 12820 - Rename navigationStateChanged to navigationHistoryChanged 12821 12822 * UIProcess/API/qt/qquickwebview.cpp: 12823 (QQuickWebViewPrivate::QQuickWebViewPrivate): 12824 (QQuickWebViewPrivate::initialize): 12825 (QQuickWebViewPrivate::_q_onUrlChanged): 12826 (QQuickWebViewPrivate::setIcon): 12827 * UIProcess/API/qt/qquickwebview_p.h: 12828 * UIProcess/API/qt/qquickwebview_p_p.h: 12829 (QQuickWebViewPrivate): 12830 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12831 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 12832 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 12833 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 12834 (tst_QQuickWebView::loadProgress): 12835 * UIProcess/qt/QtWebPageLoadClient.cpp: 12836 (QtWebPageLoadClient::didCommitLoadForFrame): 12837 (QtWebPageLoadClient::didSameDocumentNavigationForFrame): 12838 (QtWebPageLoadClient::didReceiveTitleForFrame): 12839 (QtWebPageLoadClient::setLoadProgress): 12840 * UIProcess/qt/QtWebPageLoadClient.h: 12841 (QtWebPageLoadClient): 12842 128432012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 12844 12845 [Qt] API: Unify the loading properties and signals. 12846 https://bugs.webkit.org/show_bug.cgi?id=79486 12847 12848 Reviewed by Simon Hausmann. 12849 12850 - Remove the canReload signal, instead assume that calling reload in those cases 12851 won't have any effect. 12852 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged. 12853 The signal carries an argument with a status and error codes giving the intended context. 12854 - Use loadingChanged as the notification signal for the property "loading" instead of 12855 navigationStateChanged. 12856 12857 Also update all API tests to use the new loading signals and add some utility functions 12858 to track the loading since the new API aims to be more adapted to declarative logic 12859 and the auto tests are using an imperative logic. 12860 12861 * Target.pri: 12862 * UIProcess/API/qt/qquickwebview.cpp: 12863 (QQuickWebViewPrivate::QQuickWebViewPrivate): 12864 (QQuickWebViewPrivate::loadDidSucceed): 12865 (QQuickWebViewPrivate::didChangeLoadingState): 12866 (QQuickWebViewPrivate::processDidCrash): 12867 (QQuickWebViewPrivate::didRelaunchProcess): 12868 * UIProcess/API/qt/qquickwebview_p.h: 12869 * UIProcess/API/qt/qquickwebview_p_p.h: 12870 (QQuickWebViewPrivate): 12871 * UIProcess/API/qt/qwebloadrequest.cpp: Added. 12872 (QWebLoadRequestPrivate): 12873 (QWebLoadRequestPrivate::QWebLoadRequestPrivate): 12874 (QWebLoadRequest::QWebLoadRequest): 12875 (QWebLoadRequest::~QWebLoadRequest): 12876 (QWebLoadRequest::url): 12877 (QWebLoadRequest::status): 12878 (QWebLoadRequest::errorString): 12879 (QWebLoadRequest::errorDomain): 12880 (QWebLoadRequest::errorCode): 12881 * UIProcess/API/qt/qwebloadrequest_p.h: Added. 12882 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 12883 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: 12884 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 12885 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 12886 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 12887 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 12888 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: 12889 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 12890 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: 12891 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: 12892 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: 12893 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: 12894 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: 12895 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: 12896 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 12897 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: 12898 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: 12899 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added. 12900 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 12901 (tst_QQuickWebView::navigationStatusAtStartup): 12902 (LoadStartedCatcher::LoadStartedCatcher): 12903 (LoadStartedCatcher::onLoadingChanged): 12904 (tst_QQuickWebView::stopEnabledAfterLoadStarted): 12905 (tst_QQuickWebView::loadEmptyPageViewHidden): 12906 (tst_QQuickWebView::loadNonexistentFileUrl): 12907 (tst_QQuickWebView::backAndForward): 12908 (tst_QQuickWebView::reload): 12909 (tst_QQuickWebView::stop): 12910 (tst_QQuickWebView::loadProgress): 12911 (tst_QQuickWebView::showWebView): 12912 (tst_QQuickWebView::multipleWebViewWindows): 12913 (tst_QQuickWebView::multipleWebViews): 12914 (tst_QQuickWebView::scrollRequest): 12915 * UIProcess/API/qt/tests/util.cpp: 12916 (LoadSpy): 12917 (LoadSpy::LoadSpy): 12918 (LoadSpy::onLoadingChanged): 12919 (waitForLoadSucceeded): 12920 (waitForLoadFailed): 12921 * UIProcess/API/qt/tests/util.h: 12922 * UIProcess/qt/QtWebError.h: 12923 * UIProcess/qt/QtWebPageLoadClient.cpp: 12924 (QtWebPageLoadClient::didStartProvisionalLoadForFrame): 12925 (QtWebPageLoadClient::dispatchLoadFailed): 12926 * UIProcess/qt/QtWebPageLoadClient.h: 12927 (QtWebPageLoadClient): 12928 129292012-02-24 Simon Hausmann <simon.hausmann@nokia.com> 12930 12931 Unreviewed, rolling out r108798. 12932 http://trac.webkit.org/changeset/108798 12933 https://bugs.webkit.org/show_bug.cgi?id=78047 12934 12935 Broke too many Qt WK2 tests. 12936 12937 * UIProcess/API/qt/qquickwebview.cpp: 12938 (QQuickWebView::keyPressEvent): 12939 (QQuickWebView::keyReleaseEvent): 12940 (QQuickWebView::inputMethodEvent): 12941 (QQuickWebView::focusInEvent): 12942 (QQuickWebView::focusOutEvent): 12943 (QQuickWebView::touchEvent): 12944 (QQuickWebView::mousePressEvent): 12945 (QQuickWebView::mouseMoveEvent): 12946 (QQuickWebView::mouseReleaseEvent): 12947 (QQuickWebView::mouseDoubleClickEvent): 12948 (QQuickWebView::wheelEvent): 12949 (QQuickWebView::hoverEnterEvent): 12950 (QQuickWebView::hoverMoveEvent): 12951 (QQuickWebView::hoverLeaveEvent): 12952 (QQuickWebView::dragMoveEvent): 12953 (QQuickWebView::dragEnterEvent): 12954 (QQuickWebView::dragLeaveEvent): 12955 (QQuickWebView::dropEvent): 12956 (QQuickWebView::event): 12957 * UIProcess/qt/QtWebPageEventHandler.cpp: 12958 (QtWebPageEventHandler::handleEvent): 12959 (QtWebPageEventHandler::handleMouseMoveEvent): 12960 (QtWebPageEventHandler::handleMousePressEvent): 12961 (QtWebPageEventHandler::handleMouseReleaseEvent): 12962 (QtWebPageEventHandler::handleWheelEvent): 12963 (QtWebPageEventHandler::handleHoverLeaveEvent): 12964 (QtWebPageEventHandler::handleHoverMoveEvent): 12965 (QtWebPageEventHandler::handleDragEnterEvent): 12966 (QtWebPageEventHandler::handleDragLeaveEvent): 12967 (QtWebPageEventHandler::handleDragMoveEvent): 12968 (QtWebPageEventHandler::handleDropEvent): 12969 (QtWebPageEventHandler::handleKeyPressEvent): 12970 (QtWebPageEventHandler::handleKeyReleaseEvent): 12971 (QtWebPageEventHandler::handleFocusInEvent): 12972 (QtWebPageEventHandler::handleFocusOutEvent): 12973 (QtWebPageEventHandler::inputMethodEvent): 12974 (QtWebPageEventHandler::touchEvent): 12975 * UIProcess/qt/QtWebPageEventHandler.h: 12976 (QtWebPageEventHandler): 12977 129782012-02-24 Simon Hausmann <simon.hausmann@nokia.com> 12979 12980 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle 12981 https://bugs.webkit.org/show_bug.cgi?id=78047 12982 12983 Reviewed by Kenneth Rohde Christiansen. 12984 12985 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to 12986 QtWebPageEventHandler::handle*Event. 12987 12988 * UIProcess/API/qt/qquickwebview.cpp: 12989 (QQuickWebView::keyPressEvent): 12990 (QQuickWebView::keyReleaseEvent): 12991 (QQuickWebView::inputMethodEvent): 12992 (QQuickWebView::focusInEvent): 12993 (QQuickWebView::focusOutEvent): 12994 (QQuickWebView::touchEvent): 12995 (QQuickWebView::mousePressEvent): 12996 (QQuickWebView::mouseMoveEvent): 12997 (QQuickWebView::mouseReleaseEvent): 12998 (QQuickWebView::mouseDoubleClickEvent): 12999 (QQuickWebView::wheelEvent): 13000 (QQuickWebView::hoverEnterEvent): 13001 (QQuickWebView::hoverMoveEvent): 13002 (QQuickWebView::hoverLeaveEvent): 13003 (QQuickWebView::dragMoveEvent): 13004 (QQuickWebView::dragEnterEvent): 13005 (QQuickWebView::dragLeaveEvent): 13006 (QQuickWebView::dropEvent): 13007 (QQuickWebView::event): 13008 * UIProcess/qt/QtWebPageEventHandler.cpp: 13009 (QtWebPageEventHandler::handleMouseMoveEvent): 13010 (QtWebPageEventHandler::handleMousePressEvent): 13011 (QtWebPageEventHandler::handleMouseReleaseEvent): 13012 (QtWebPageEventHandler::handleWheelEvent): 13013 (QtWebPageEventHandler::handleHoverLeaveEvent): 13014 (QtWebPageEventHandler::handleHoverMoveEvent): 13015 (QtWebPageEventHandler::handleDragEnterEvent): 13016 (QtWebPageEventHandler::handleDragLeaveEvent): 13017 (QtWebPageEventHandler::handleDragMoveEvent): 13018 (QtWebPageEventHandler::handleDropEvent): 13019 (QtWebPageEventHandler::handleKeyPressEvent): 13020 (QtWebPageEventHandler::handleKeyReleaseEvent): 13021 (QtWebPageEventHandler::handleFocusInEvent): 13022 (QtWebPageEventHandler::handleFocusOutEvent): 13023 (QtWebPageEventHandler::handleInputMethodEvent): 13024 (QtWebPageEventHandler::handleTouchEvent): 13025 * UIProcess/qt/QtWebPageEventHandler.h: 13026 (QtWebPageEventHandler): 13027 130282012-02-24 Simon Hausmann <simon.hausmann@nokia.com> 13029 13030 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration 13031 https://bugs.webkit.org/show_bug.cgi?id=79022 13032 13033 Reviewed by Csaba Osztrogonác. 13034 13035 * Target.pri: 13036 * UIProcess/API/qt/qquickwebpage.cpp: 13037 (PageProxyNode::PageProxyNode): 13038 (PageProxyNode::changedStates): 13039 (PageProxyNode::render): 13040 (PageProxyNode): 13041 130422012-02-24 Carlos Garcia Campos <cgarcia@igalia.com> 13043 13044 [GTK] Encode/decode Null ResourceResponse objects in WebKit2 13045 https://bugs.webkit.org/show_bug.cgi?id=79471 13046 13047 Reviewed by Philippe Normand. 13048 13049 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 13050 (CoreIPC::::encode): Check whether ResourceResponse is Null before 13051 encoding it. 13052 (CoreIPC::::decode): Check whether response is Null and create a 13053 Null ResourceResponse object in such case. 13054 130552012-02-24 Shinya Kawanaka <shinyak@chromium.org> 13056 13057 SpellCheckRequest needs to know the context where the spellcheck happened. 13058 https://bugs.webkit.org/show_bug.cgi?id=79320 13059 13060 Reviewed by Hajime Morita. 13061 13062 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13063 (WebKit::WebEditorClient::requestCheckingOfString): 13064 * WebProcess/WebCoreSupport/WebEditorClient.h: 13065 130662012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org> 13067 13068 [Qt] Tiling: Improve the method names dealing with moving and scaling. 13069 13070 Rubberstamped by Simon Hausmann. 13071 13072 * UIProcess/API/qt/qquickwebview.cpp: 13073 (QQuickWebViewLegacyPrivate::updateViewportSize): 13074 (QQuickWebViewFlickablePrivate::onComponentComplete): 13075 (QQuickWebViewFlickablePrivate::updateViewportSize): 13076 (QQuickWebViewFlickablePrivate::_q_commitScaleChange): 13077 (QQuickWebViewPrivate::_q_commitPositionChange): 13078 (QQuickWebViewFlickablePrivate::_q_resume): 13079 * UIProcess/API/qt/qquickwebview_p.h: 13080 * UIProcess/API/qt/qquickwebview_p_p.h: 13081 (QQuickWebViewPrivate): 13082 (QQuickWebViewPrivate::_q_commitScaleChange): 13083 (QQuickWebViewFlickablePrivate): 13084 * UIProcess/DrawingAreaProxy.h: 13085 (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling): 13086 (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning): 13087 * UIProcess/DrawingAreaProxyImpl.cpp: 13088 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling): 13089 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning): 13090 * UIProcess/DrawingAreaProxyImpl.h: 13091 (DrawingAreaProxyImpl): 13092 * UIProcess/LayerTreeHostProxy.h: 13093 (LayerTreeHostProxy): 13094 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 13095 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning): 13096 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling): 13097 * UIProcess/qt/QtViewportInteractionEngine.cpp: 13098 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 13099 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 13100 (WebKit::QtViewportInteractionEngine::wheelEvent): 13101 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 13102 * UIProcess/qt/QtViewportInteractionEngine.h: 13103 (QtViewportInteractionEngine): 13104 * WebProcess/WebPage/LayerTreeHost.h: 13105 (WebKit::LayerTreeHost::setVisibleContentsRectForScaling): 13106 (WebKit::LayerTreeHost::setVisibleContentsRectForPanning): 13107 (WebKit::LayerTreeHost::setVisibleContentsRectForLayer): 13108 * WebProcess/WebPage/LayerTreeHost.messages.in: 13109 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 13110 (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling): 13111 (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning): 13112 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 13113 (LayerTreeHostQt): 13114 131152012-02-24 Sergio Villar Senin <svillar@igalia.com> 13116 13117 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver 13118 https://bugs.webkit.org/show_bug.cgi?id=79466 13119 13120 Reviewed by Philippe Normand. 13121 13122 Explicitly cast the observer before deleting it instead of just 13123 deleting a generic pointer. We must to that in order to get the 13124 destructor of the object properly called. 13125 13126 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 13127 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization): 13128 131292012-02-23 Andy Estes <aestes@apple.com> 13130 13131 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API. 13132 https://bugs.webkit.org/show_bug.cgi?id=79433 13133 13134 Reviewed by Dan Bernstein. 13135 13136 * Shared/WebPreferencesStore.h: 13137 (WebKit): 13138 * UIProcess/API/C/WKPreferences.cpp: 13139 (WKPreferencesSetSuppressesIncrementalRendering): 13140 (WKPreferencesGetSuppressesIncrementalRendering): 13141 * UIProcess/API/C/WKPreferences.h: 13142 * UIProcess/WebInspectorProxy.cpp: 13143 (WebKit::createInspectorPageGroup): 13144 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13145 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 13146 * WebProcess/WebPage/WebPage.cpp: 13147 (WebKit::WebPage::updatePreferences): 13148 131492012-02-23 Mario Sanchez Prada <msanchez@igalia.com> 13150 13151 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp 13152 https://bugs.webkit.org/show_bug.cgi?id=79352 13153 13154 Reviewed by Philippe Normand. 13155 13156 Emit the signal 'resizable' instead of 'resizable-visible'. 13157 13158 * UIProcess/API/gtk/WebKitWindowProperties.cpp: 13159 (webkitWindowPropertiesSetResizable): Use right signal name. 13160 131612012-02-23 Anders Carlsson <andersca@apple.com> 13162 13163 Flush layer changes after layout when resizing web page 13164 https://bugs.webkit.org/show_bug.cgi?id=79399 13165 <rdar://problem/10920157> 13166 13167 Reviewed by Andreas Kling. 13168 13169 Flush layer changes after layout, otherwise the scrollbars won't be updated 13170 until sometime later which looks bad. 13171 13172 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 13173 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 13174 131752012-02-23 Daniel Bates <dbates@webkit.org> 13176 13177 Add missing "Reviewed by" line to change log entry for changeset r108631 13178 (https://bugs.webkit.org/show_bug.cgi?id=79252) 13179 13180 The patch landed in changeset r108631 was reviewed by Martin Robinson. 13181 13182 * ChangeLog: 13183 131842012-02-23 Patrick Gansterer <paroga@webkit.org> 13185 13186 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro 13187 https://bugs.webkit.org/show_bug.cgi?id=79371 13188 13189 Reviewed by Daniel Bates. 13190 13191 * CMakeLists.txt: 13192 131932012-02-23 Simon Hausmann <simon.hausmann@nokia.com> 13194 13195 [Qt] Add support for touch cancellation 13196 https://bugs.webkit.org/show_bug.cgi?id=79348 13197 13198 Reviewed by Kenneth Rohde Christiansen. 13199 13200 Convert and forward incoming touch cancellation events 13201 to the web process. 13202 13203 * Shared/qt/WebEventFactoryQt.cpp: 13204 (WebKit::webEventTypeForEvent): 13205 (WebKit::WebEventFactory::createWebTouchEvent): 13206 * UIProcess/API/qt/qquickwebview.cpp: 13207 (QQuickWebView::event): 13208 * UIProcess/qt/QtWebPageEventHandler.cpp: 13209 (QtWebPageEventHandler::handleEvent): 13210 132112012-02-23 Brent Fulgham <bfulgham@webkit.org> 13212 13213 [WinCairo] Build fix after r108428. 13214 13215 * win/WebKit2CFLite.def: Add missing export declaration. 13216 132172012-02-23 Simon Hausmann <simon.hausmann@nokia.com> 13218 13219 Unreviewed test fix after r108614: Adjust public API after changes. 13220 13221 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 13222 132232012-02-23 Simon Hausmann <simon.hausmann@nokia.com> 13224 13225 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler. 13226 https://bugs.webkit.org/show_bug.cgi?id=79335 13227 13228 Reviewed by Kenneth Rohde Christiansen. 13229 13230 In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem 13231 will be removed. There's no need for us to use it, we can implement passing the hints 13232 to the input method right away in our re-implementation of inputMethodQuery, which works 13233 with old and newer Qt 5 builds. 13234 13235 * UIProcess/API/qt/qquickwebview.cpp: 13236 (QQuickWebView::inputMethodQuery): 13237 * UIProcess/qt/QtWebPageEventHandler.cpp: 13238 (QtWebPageEventHandler::updateTextInputState): 13239 132402012-02-23 Sergio Villar Senin <svillar@igalia.com> 13241 13242 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling 13243 https://bugs.webkit.org/show_bug.cgi?id=79252 13244 13245 Reviewed by Martin Robinson. 13246 13247 Do not execute clipboard callbacks after the Frame associated with 13248 it is destroyed. 13249 13250 This change is already covered by the TestWebViewEditor unit tests 13251 (among others), they hang (because WebProcess dies) without this 13252 patch in Debug builds. 13253 13254 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 13255 (EditorClientFrameDestructionObserver): 13256 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver): 13257 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed): 13258 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization): 13259 (WebKit): 13260 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded): 13261 132622012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org> 13263 13264 [Qt] Page doesn't get repainted while panning is in progress 13265 https://bugs.webkit.org/show_bug.cgi?id=78602 13266 13267 Reviewed by Simon Hausmann. 13268 13269 The tiling code needed the current visibleContentsRect in order to be 13270 able to create tiles, so we now make sure it gets it. We also needed 13271 to make sure to set the trajectory vector while panning and while the 13272 flicking engine was animating kinetic scrolling. 13273 13274 * UIProcess/API/qt/qquickwebview.cpp: 13275 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale): 13276 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged): 13277 * UIProcess/DrawingAreaProxy.h: 13278 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector): 13279 * UIProcess/DrawingAreaProxyImpl.cpp: 13280 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector): 13281 * UIProcess/DrawingAreaProxyImpl.h: 13282 (DrawingAreaProxyImpl): 13283 * UIProcess/LayerTreeHostProxy.h: 13284 (LayerTreeHostProxy): 13285 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 13286 (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector): 13287 * UIProcess/qt/QtViewportInteractionEngine.cpp: 13288 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 13289 (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged): 13290 (WebKit): 13291 (WebKit::QtViewportInteractionEngine::panMoveStarted): 13292 (WebKit::QtViewportInteractionEngine::panMoveEnded): 13293 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate): 13294 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 13295 * UIProcess/qt/QtViewportInteractionEngine.h: 13296 (QtViewportInteractionEngine): 13297 * WebProcess/WebPage/LayerTreeHost.h: 13298 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector): 13299 * WebProcess/WebPage/LayerTreeHost.messages.in: 13300 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 13301 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 13302 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector): 13303 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 13304 (LayerTreeHostQt): 13305 133062012-02-23 Patrick Gansterer <paroga@webkit.org> 13307 13308 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt. 13309 https://bugs.webkit.org/show_bug.cgi?id=76122 13310 13311 Reviewed by Eric Seidel. 13312 13313 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition. 13314 133152012-02-23 Simon Hausmann <simon.hausmann@nokia.com> 13316 13317 [WK2] Trivial build fix after r108615. 13318 13319 * WebProcess/WebPage/WebPage.cpp: 13320 (WebKit::WebPage::WebPage): 13321 133222012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com> 13323 13324 [Qt][WK2] navigationType is missing in new API 13325 https://bugs.webkit.org/show_bug.cgi?id=78867 13326 13327 Reviewed by Simon Hausmann. 13328 13329 In QtWebPagePolicyClient::decidePolicyForNavigationAction() 13330 navigationType argument is dropped by mistake. Adding it back 13331 and make it available through NavigationRequest. 13332 13333 * UIProcess/API/qt/qquickwebview_p.h: 13334 * UIProcess/API/qt/qwebnavigationrequest.cpp: 13335 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 13336 (QWebNavigationRequestPrivate): 13337 (QWebNavigationRequest::QWebNavigationRequest): 13338 (QWebNavigationRequest::navigationType): 13339 * UIProcess/API/qt/qwebnavigationrequest_p.h: 13340 * UIProcess/qt/QtWebPagePolicyClient.cpp: 13341 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 13342 (toQuickWebViewNavigationType): 13343 * UIProcess/qt/QtWebPagePolicyClient.h: 13344 (QtWebPagePolicyClient): 13345 133462012-02-22 Anders Carlsson <andersca@apple.com> 13347 13348 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange 13349 https://bugs.webkit.org/show_bug.cgi?id=79297 13350 <rdar://problem/10748510> 13351 13352 Reviewed by Beth Dakin. 13353 13354 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 13355 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange): 13356 Send a message to the web process. 13357 13358 * WebProcess/WebPage/DrawingArea.h: 13359 (WebKit::DrawingArea::setDeviceScaleFactor): 13360 Add empty stub. 13361 13362 * WebProcess/WebPage/DrawingArea.messages.in: 13363 Add SetDeviceScaleFactor message. 13364 13365 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 13366 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor): 13367 Call WebPage::setDeviceScaleFactor. 13368 133692012-02-22 Brady Eidson <beidson@apple.com> 13370 13371 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279 13372 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs 13373 13374 Reviewed by Anders Carlsson. 13375 13376 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue. 13377 13378 In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward 13379 notification but don't actually want to make a policy decision. 13380 13381 Making it an asynchronous notification instead of a synchronous policy call will remove the 13382 possibility of a hang here. 13383 13384 If clients later decide it is important to have a policy here we should implement a form of 13385 shouldGoToBackForwardListItem in the bundle loader client. 13386 13387 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient: 13388 * UIProcess/API/C/WKPage.h: 13389 13390 * UIProcess/WebPageProxy.cpp: 13391 (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be 13392 sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message. 13393 (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 13394 (WebKit::WebPageProxy::willGoToBackForwardListItem): 13395 * UIProcess/WebPageProxy.h: 13396 * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message 13397 13398 Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 13399 of the callback should be used: 13400 * WebProcess/WebPage/WebPage.cpp: 13401 (WebKit::WebPage::WebPage): 13402 * WebProcess/WebPage/WebPage.h: 13403 (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled): 13404 (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled): 13405 * WebProcess/WebPage/WebPage.messages.in: 13406 13407 * UIProcess/WebLoaderClient.cpp: 13408 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for 13409 version 0 clients. 13410 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback. 13411 * UIProcess/WebLoaderClient.h: 13412 (WebLoaderClient): 13413 13414 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13415 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message 13416 or the asynchronous "will" message depending on which the WebProcess was last told that the 13417 UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess 13418 hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay; 13419 It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions 13420 of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up. 13421 134222012-02-16 Jon Lee <jonlee@apple.com> 13423 13424 [WK2] Clearing notifications does not clean up internal state 13425 https://bugs.webkit.org/show_bug.cgi?id=78861 13426 <rdar://problem/10881167> 13427 13428 Reviewed by Anders Carlsson. 13429 13430 * WebProcess/Notifications/WebNotificationManager.cpp: 13431 (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification 13432 entries from the other maps. 13433 (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should 13434 also be removed from the context map. 13435 (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes 13436 a provided notification from the context map. 13437 (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and 13438 remove it. If the map is empty, get rid of the entry. 13439 * WebProcess/Notifications/WebNotificationManager.h: 13440 (WebNotificationManager): 13441 134422012-02-22 Jon Lee <jonlee@apple.com> 13443 13444 Code cleanup in WebNotificationManager (79285) 13445 https://bugs.webkit.org/show_bug.cgi?id=79285 13446 <rdar://problem/10914522> 13447 13448 Reviewed by Anders Carlsson. 13449 13450 * WebProcess/Notifications/WebNotificationManager.cpp: 13451 (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(), 13452 similar to what is found in WebNotificationClient.mm in WebKit 1. 13453 134542012-02-21 Ryosuke Niwa <rniwa@webkit.org> 13455 13456 Remove the remaining uses of CSSStyleDeclaration in Editor 13457 https://bugs.webkit.org/show_bug.cgi?id=78939 13458 13459 Reviewed by Enrica Casucci. 13460 13461 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13462 (WebKit::WebEditorClient::shouldApplyStyle): 13463 * WebProcess/WebCoreSupport/WebEditorClient.h: 13464 (WebEditorClient): 13465 134662012-02-22 Martin Robinson <mrobinson@igalia.com> 13467 13468 [GTK] Clean build is broken when using make -j 13469 https://bugs.webkit.org/show_bug.cgi?id=76388 13470 13471 * GNUmakefile.am: Add some WebKit2 sources to global sources lists 13472 so that we can refer to them in separate GNUmakefiles. 13473 134742012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com> 13475 13476 [GTK][WK2] Add WebGL WebSetting. 13477 https://bugs.webkit.org/show_bug.cgi?id=79217 13478 13479 Reviewed by Martin Robinson. 13480 13481 Add a WebSetting to enable/disable Webgl. 13482 13483 * UIProcess/API/gtk/WebKitSettings.cpp: 13484 (webKitSettingsSetProperty): 13485 (webKitSettingsGetProperty): 13486 (webkit_settings_class_init): 13487 (webkit_settings_set_enable_webaudio): 13488 (webkit_settings_get_enable_webgl): 13489 (webkit_settings_set_enable_webgl): 13490 * UIProcess/API/gtk/WebKitSettings.h: 13491 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 13492 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 13493 (testWebKitSettings): 13494 134952012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 13496 13497 [Qt] Disregard previous backing store as soon as possible 13498 https://bugs.webkit.org/show_bug.cgi?id=79232 13499 13500 Reviewed by Simon Hausmann and No'am Rosenthal. 13501 13502 Between creating the new backing store and painting the content, 13503 we do not want to drop the previous one as that might result in 13504 briefly seeing flickering as the old tiles may be dropped before 13505 something replaces them. 13506 13507 But we do need to drop it at some point and we need to make sure 13508 to not spike the memory usage before of this. 13509 13510 What we now do, is to store the previous backing store as before, 13511 but drop all tiles which are not visible and then drop it as soon 13512 as the visible rect (which might change due if followed by a quick 13513 panning) has been fully covered by tiles. 13514 13515 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 13516 (WebCore::WebGraphicsLayer::setContentsScale): 13517 (WebCore::WebGraphicsLayer::updateContentBuffers): 13518 135192012-02-22 Michael Brüning <michael.bruning@nokia.com> 13520 13521 [Qt][WK2] Implement proxy authentication handling. 13522 https://bugs.webkit.org/show_bug.cgi?id=78792 13523 13524 Reviewed by Simon Hausmann. 13525 13526 This patch corrects two bugs with the previous implementation: 13527 1. The signal proxyAuthenticationRequired was not connected to a 13528 slot. 13529 2. The slot onProxyAuthenticationRequired had the wrong parameters. 13530 13531 * WebProcess/qt/QtNetworkAccessManager.cpp: 13532 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): 13533 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired): 13534 * WebProcess/qt/QtNetworkAccessManager.h: Added include. 13535 (QtNetworkAccessManager): 13536 135372012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org> 13538 13539 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to 13540 the more descriptive coverWithTilesIfNeeded 13541 https://bugs.webkit.org/show_bug.cgi?id=79230 13542 13543 Reviewed by Simon Hausmann. 13544 13545 Replace use by coverWithTilesIfNeeded(). 13546 13547 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 13548 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 13549 (WebCore::WebGraphicsLayer::adjustVisibleRect): 13550 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect): 13551 135522012-02-22 Zalan Bujtas <zbujtas@gmail.com> 13553 13554 [Qt][WK2] Add frame flattening setting to QWebPreferences. 13555 https://bugs.webkit.org/show_bug.cgi?id=79099 13556 13557 Reviewed by Simon Hausmann. 13558 13559 Frame flattening is enabled by default for Qt WebKit2. 13560 13561 * UIProcess/API/qt/qquickwebview.cpp: 13562 (QQuickWebViewPrivate::initialize): 13563 * UIProcess/API/qt/qwebpreferences.cpp: 13564 (QWebPreferencesPrivate::testAttribute): 13565 (QWebPreferencesPrivate::setAttribute): 13566 (QWebPreferences::setNavigatorQtObjectEnabled): 13567 (QWebPreferences::frameFlatteningEnabled): 13568 (QWebPreferences::setFrameFlatteningEnabled): 13569 * UIProcess/API/qt/qwebpreferences_p.h: 13570 135712012-02-22 Ryosuke Niwa <rniwa@webkit.org> 13572 13573 Remove the remaining uses of CSSStyleDeclaration in Editor 13574 https://bugs.webkit.org/show_bug.cgi?id=78939 13575 13576 Reviewed by Enrica Casucci. 13577 13578 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13579 (WebKit::WebEditorClient::shouldApplyStyle): 13580 * WebProcess/WebCoreSupport/WebEditorClient.h: 13581 (WebEditorClient): 13582 135832012-02-21 Carlos Garcia Campos <cgarcia@igalia.com> 13584 13585 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors 13586 https://bugs.webkit.org/show_bug.cgi?id=79120 13587 13588 Reviewed by Martin Robinson. 13589 13590 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 13591 (CoreIPC::::encode): Encode a boolean to indicate whether it's a 13592 Null error. 13593 (CoreIPC::::decode): Check whether the error is Null and do not 13594 continue decoding in such case. 13595 135962012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com> 13597 13598 [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles 13599 https://bugs.webkit.org/show_bug.cgi?id=78962 13600 13601 Only avoid painting old-scale tiles in semi-transparent situtations if the old 13602 tiles intersect with existing tiles. 13603 13604 Reviewed by Kenneth Rohde Christiansen. 13605 13606 * UIProcess/qt/LayerBackingStore.cpp: 13607 (WebKit::LayerBackingStore::paintToTextureMapper): 13608 136092012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com> 13610 13611 [Qt] Previous web page appears outside content rect 13612 https://bugs.webkit.org/show_bug.cgi?id=78816 13613 13614 Apply a clip on painted tiles if some of the tiles fall outside of the target rect. 13615 13616 Reviewed by Kenneth Rohde Christiansen. 13617 13618 * UIProcess/qt/LayerBackingStore.cpp: 13619 (WebKit::LayerBackingStore::paintToTextureMapper): 13620 136212012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com> 13622 13623 [Qt][WK2] Accelerated animations don't work on Mac 13624 https://bugs.webkit.org/show_bug.cgi?id=78963 13625 13626 Problem came from using a non-RunLoop timer. 13627 Remove the unused viewportUpdateTimer, and use the existing animationTimer instead. 13628 Use a continuous timer that we only stop when animations stop. 13629 13630 Reviewed by Kenneth Rohde Christiansen. 13631 13632 * UIProcess/LayerTreeHostProxy.h: 13633 (LayerTreeHostProxy): 13634 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 13635 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy): 13636 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 13637 (WebKit): 13638 (WebKit::LayerTreeHostProxy::syncAnimations): 13639 136402012-02-21 Sam Weinig <sam@webkit.org> 13641 13642 Attempt to fix the Snow Leopard build. 13643 13644 * Configurations/Base.xcconfig: 13645 136462012-02-21 Sam Weinig <sam@webkit.org> 13647 13648 Use libc++ when building with Clang on Mac 13649 https://bugs.webkit.org/show_bug.cgi?id=78981 13650 13651 Reviewed by Dan Bernstein. 13652 13653 * Configurations/Base.xcconfig: 13654 136552012-02-21 Andras Becsi <andras.becsi@nokia.com> 13656 13657 [Qt][WK2] Get rid of the dependency to QtWidgets 13658 https://bugs.webkit.org/show_bug.cgi?id=76276 13659 13660 Reviewed by Simon Hausmann. 13661 13662 * Target.pri: 13663 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 13664 (main): 13665 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 13666 * UIProcess/API/qt/tests/tests.pri: 13667 * UIProcess/API/qt/tests/util.h: 13668 136692012-02-20 Martin Robinson <mrobinson@igalia.com> 13670 13671 [UNIX] Plugin information fields are not interpreted as UTF-8 13672 https://bugs.webkit.org/show_bug.cgi?id=78635 13673 13674 Reviewed by Gustavo Noronha Silva. 13675 13676 Interpret plugin metadata as UTF8 aways. This matches the behavior 13677 of Chromium and the Totem plugin. 13678 13679 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 13680 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8. 13681 136822012-02-20 Carlos Garcia Campos <cgarcia@igalia.com> 13683 13684 [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang 13685 https://bugs.webkit.org/show_bug.cgi?id=79036 13686 13687 Reviewed by Martin Robinson. 13688 13689 This looks like a bug in gobject. Initializing the WebProcess 13690 before creating the soup session seems to fix the problem. It's 13691 actually a workaround, but initializing the WebProcess as sson as 13692 possible it's a good idea in any case. 13693 13694 * WebProcess/gtk/WebProcessMainGtk.cpp: 13695 (WebKit::WebProcessMainGtk): 13696 136972012-02-20 Michael Brüning <michael.bruning@nokia.com> 13698 13699 [Qt][WK2] Implement proxy authentication handling. 13700 https://bugs.webkit.org/show_bug.cgi?id=78792 13701 13702 Reviewed by Simon Hausmann. 13703 13704 This patch implements the proxy authentication handling 13705 for the Qt port in a similar matter to the http authentication 13706 implementation. 13707 13708 Since there is a need to pass the proxy port, which is of type uint16_t, 13709 from the WebProcess to the UIProcess, an encoder and a decoder for 13710 this type was added because it did not exist. 13711 13712 The message that was added to the WebPageProxy is called synchronously 13713 as this is needed by the implementation of the network access manager 13714 and has also been implemented this way already for the http 13715 authentication. 13716 13717 * Platform/CoreIPC/ArgumentDecoder.cpp: 13718 (CoreIPC::ArgumentDecoder::decodeUInt16): 13719 (CoreIPC): 13720 * Platform/CoreIPC/ArgumentDecoder.h: 13721 (ArgumentDecoder): 13722 (CoreIPC::ArgumentDecoder::decode): 13723 (CoreIPC): 13724 * Platform/CoreIPC/ArgumentEncoder.cpp: 13725 (CoreIPC::ArgumentEncoder::encodeUInt16): 13726 (CoreIPC): 13727 * Platform/CoreIPC/ArgumentEncoder.h: 13728 (ArgumentEncoder): 13729 (CoreIPC::ArgumentEncoder::encode): 13730 (CoreIPC): 13731 * UIProcess/API/qt/qquickwebview.cpp: 13732 (QQuickWebViewPrivate::QQuickWebViewPrivate): 13733 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest): 13734 (QQuickWebViewExperimental::proxyAuthenticationDialog): 13735 (QQuickWebViewExperimental::setProxyAuthenticationDialog): 13736 * UIProcess/API/qt/qquickwebview_p.h: 13737 * UIProcess/API/qt/qquickwebview_p_p.h: 13738 (QQuickWebViewPrivate): 13739 * UIProcess/PageClient.h: 13740 (PageClient): 13741 * UIProcess/WebPageProxy.cpp: 13742 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest): 13743 (WebKit): 13744 * UIProcess/WebPageProxy.h: 13745 (WebPageProxy): 13746 * UIProcess/WebPageProxy.messages.in: 13747 * UIProcess/qt/QtDialogRunner.cpp: 13748 (ProxyAuthenticationDialogContextObject): 13749 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject): 13750 (ProxyAuthenticationDialogContextObject::hostname): 13751 (ProxyAuthenticationDialogContextObject::port): 13752 (ProxyAuthenticationDialogContextObject::prefilledUsername): 13753 (ProxyAuthenticationDialogContextObject::accept): 13754 (ProxyAuthenticationDialogContextObject::reject): 13755 (QtDialogRunner::initForProxyAuthentication): 13756 * UIProcess/qt/QtDialogRunner.h: 13757 (QtDialogRunner): 13758 * UIProcess/qt/QtPageClient.cpp: 13759 (QtPageClient::handleProxyAuthenticationRequiredRequest): 13760 * UIProcess/qt/QtPageClient.h: 13761 (QtPageClient): 13762 * WebProcess/WebPage/DecoderAdapter.cpp: 13763 (WebKit::DecoderAdapter::decodeUInt16): 13764 (WebKit): 13765 * WebProcess/WebPage/DecoderAdapter.h: 13766 (DecoderAdapter): 13767 * WebProcess/WebPage/EncoderAdapter.cpp: 13768 (WebKit::EncoderAdapter::encodeUInt16): 13769 (WebKit): 13770 * WebProcess/WebPage/EncoderAdapter.h: 13771 (EncoderAdapter): 13772 * WebProcess/qt/QtNetworkAccessManager.cpp: 13773 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired): 13774 (WebKit): 13775 * WebProcess/qt/QtNetworkAccessManager.h: 13776 (QtNetworkAccessManager): 13777 137782012-02-20 Patrick Gansterer <paroga@webkit.org> 13779 13780 [CMake] Update and sort list of source files. 13781 13782 * CMakeLists.txt: 13783 137842012-02-20 Martin Robinson <mrobinson@igalia.com> 13785 13786 Fix WebKit2GTK+ for 'make distcheck'. 13787 13788 Instead of conditionally including WebKit2 GNUmakefiles, always 13789 include them and conditionally activate the final targets. 13790 13791 * GNUmakefile.am: 13792 * UIProcess/API/gtk/tests/GNUmakefile.am: 13793 137942012-02-20 Martin Robinson <mrobinson@igalia.com> 13795 13796 [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available 13797 https://bugs.webkit.org/show_bug.cgi?id=79011 13798 13799 Fix the build when gtk-unix-printing-3.0 is not present. 13800 13801 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 13802 (webkitPrintOperationRunDialog): 13803 (webkitPrintOperationRunDialogForFrame): 13804 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 13805 (WebKit::WebPrintOperationGtk::create): 13806 138072012-02-18 Dan Bernstein <mitz@apple.com> 13808 13809 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around 13810 https://bugs.webkit.org/show_bug.cgi?id=78976 13811 13812 Reviewed by Anders Carlsson. 13813 13814 Rather than move pixels in the backing store in response to scrolling, we can maintain a 13815 mapping, for the most recently scrolled rect, from backing store coordinates to view 13816 client coordinates. 13817 13818 * UIProcess/BackingStore.h: 13819 * UIProcess/mac/BackingStoreMac.mm: 13820 (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be 13821 performed on a rect, divides the rect into parts such that for each part the mapping from 13822 backing store coordinates to client coordinates is a (uniform) translation, and performs 13823 the block on that part, passing it the translation that applies to the part. 13824 (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect 13825 back to where it should be under the identity map, and resets the scrolled rect and offset. 13826 (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform(). 13827 (WebKit::BackingStore::incorporateUpdate): Ditto. 13828 (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled 13829 rect and offset. 13830 138312012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com> 13832 13833 [Qt][WK2] Allow opaque tiles 13834 https://bugs.webkit.org/show_bug.cgi?id=78809 13835 13836 Apply the SupportsAlpha flag only when the buffers actually have alpha. 13837 13838 Reviewed by Kenneth Rohde Christiansen. 13839 13840 * Shared/ShareableBitmap.h: 13841 (ShareableBitmap): 13842 * Shared/qt/ShareableBitmapQt.cpp: 13843 * UIProcess/qt/LayerBackingStore.cpp: 13844 (WebKit::LayerBackingStoreTile::swapBuffers): 13845 138462012-02-17 Adam Roben <aroben@apple.com> 13847 13848 Clang build fix after r108119 13849 13850 * WebProcess/WebProcess.cpp: 13851 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH. 13852 138532012-02-17 Kalev Lember <kalevlember@gmail.com> 13854 13855 Remove unused parameters from WTF threading API 13856 https://bugs.webkit.org/show_bug.cgi?id=78389 13857 13858 Reviewed by Adam Roben. 13859 13860 waitForThreadCompletion() had an out param 'void **result' to get the 13861 'void *' returned by ThreadFunction. However, the implementation in 13862 ThreadingWin.cpp ignored the out param, not filling it in. This had 13863 led to a situation where none of the client code made use of the param 13864 and just ignored it. 13865 13866 To clean this up, the patch changes the signature of ThreadFunction to 13867 return void instead of void* and drops the the unused 'void **result' 13868 parameter from waitForThreadCompletion. Also, all client code is 13869 updated for the API change. 13870 13871 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even 13872 though the change only affects internal API, Safari is using it 13873 directly and we'll need to keep the old versions around for ABI 13874 compatibility. For this, the patch adds compatibility wrappers with 13875 the old ABI. 13876 13877 * Platform/WorkQueue.h: 13878 (WorkQueue): 13879 * Platform/gtk/WorkQueueGtk.cpp: 13880 (WorkQueue::startWorkQueueThread): 13881 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: 13882 (WebKit::webThreadBody): 13883 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: 13884 (WebKit::webThreadBody): 13885 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: 13886 (WebKit::webThreadBody): 13887 * WebProcess/WebProcess.cpp: 13888 (WebKit::randomCrashThread): 13889 * win/WebKit2.def: 13890 * win/WebKit2CFLite.def: 13891 138922012-02-17 Mihnea Ovidenie <mihnea@adobe.com> 13893 13894 CSS regions enabled by default 13895 https://bugs.webkit.org/show_bug.cgi?id=78525 13896 13897 Reviewed by David Hyatt. 13898 13899 Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled). 13900 CSSRegions are still enabled by default. 13901 In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality. 13902 13903 * Shared/WebPreferencesStore.h: 13904 (WebKit): 13905 * UIProcess/API/C/WKPreferences.cpp: 13906 (WKPreferencesSetCSSRegionsEnabled): 13907 (WKPreferencesGetCSSRegionsEnabled): 13908 * UIProcess/API/C/WKPreferencesPrivate.h: 13909 * WebProcess/InjectedBundle/InjectedBundle.cpp: 13910 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 13911 * WebProcess/WebPage/WebPage.cpp: 13912 (WebKit::WebPage::updatePreferences): 13913 139142012-02-17 Enrica Casucci <enrica@apple.com> 13915 13916 Refactor DragData class to use PlatformStrategies in the Mac implementation. 13917 https://bugs.webkit.org/show_bug.cgi?id=78768 13918 13919 Reviewed by Darin Adler. 13920 13921 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method. 13922 (WebKit::WebPlatformStrategies::color): 13923 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 13924 139252012-02-17 Martin Robinson <mrobinson@igalia.com> 13926 13927 Fix some warnings encountered during the GTK+ build 13928 https://bugs.webkit.org/show_bug.cgi?id=78911 13929 13930 Reviewed by Xan Lopez. 13931 13932 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 13933 (attachLoaderClientToView): Initialize a new member of the loader client struct. 13934 139352012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 13936 13937 [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it 13938 https://bugs.webkit.org/show_bug.cgi?id=78823 13939 13940 Reviewed by Gustavo Noronha Silva. 13941 13942 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 13943 (webkitPrintOperationRunDialogUnix): Enable scale option in print 13944 dialog. 13945 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 13946 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize 13947 manual scale to 1. 13948 (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and 13949 moved the needs rotate check here as an early return. 13950 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the 13951 page according to the manual scale factor. 13952 (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to 13953 prepareContextToDraw. 13954 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 13955 139562012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 13957 13958 [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it 13959 https://bugs.webkit.org/show_bug.cgi?id=78805 13960 13961 Reviewed by Gustavo Noronha Silva. 13962 13963 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 13964 (webkitPrintOperationRunDialogUnix): Enable multiple copies and 13965 collate options in print dialog. 13966 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 13967 (WebKit::PrintPagesData::PrintPagesData): Initialize number of 13968 collated and uncolated copies done and total. 13969 (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that 13970 returns the number of collated copies left to do. 13971 (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function 13972 that returns the number of uncollated copies left to do. 13973 (WebKit::PrintPagesData::copiesLeft): Helper function 13974 that returns the number of collated or uncollated copies left to 13975 do. 13976 (WebKit::PrintPagesData::incrementPageSequence): Do not finish the 13977 print if there are uncollated copies left, and do not increment 13978 sheet number if there are collated copies left. 13979 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize 13980 m_manualCopies to 1 and m_manualCollateCopies to false. 13981 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 13982 139832012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 13984 13985 [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it 13986 https://bugs.webkit.org/show_bug.cgi?id=78799 13987 13988 Reviewed by Gustavo Noronha Silva. 13989 13990 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 13991 (webkitPrintOperationRunDialogUnix): Enable printing in reverse 13992 order option in print dialog. 13993 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 13994 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber 13995 and lastPagePosition depending on whether printing is in reverse 13996 order or not. 13997 (WebKit::PrintPagesData::incrementPageSequence): Use a negative 13998 increment step when printing in reverse order. Fix page 13999 incrementing when printing only odd/even pages broken in previous 14000 commit due to merge conflicts. 14001 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize 14002 reverse printing to false. 14003 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 14004 140052012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 14006 14007 [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it 14008 https://bugs.webkit.org/show_bug.cgi?id=78793 14009 14010 Reviewed by Gustavo Noronha Silva. 14011 14012 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14013 (webkitPrintOperationRunDialogUnix): Enable print odd/even pages 14014 option in print dialog. 14015 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 14016 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 14017 (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and 14018 initialize it depending on the page set. 14019 (WebKit::PrintPagesData::incrementPageSequence): Use 2 step 14020 increment when printing only odd/even pages. 14021 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize 14022 m_manualPageSet to GTK_PAGE_SET_ALL. 14023 140242012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 14025 14026 [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it 14027 https://bugs.webkit.org/show_bug.cgi?id=78715 14028 14029 Reviewed by Gustavo Noronha Silva. 14030 14031 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14032 (webkitPrintOperationRunDialogUnix): Enable multiple pages per 14033 sheet options in print dialog. 14034 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 14035 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber 14036 and numberOfSheets. Move pagePosition to WebPrintOperationGtk. 14037 (WebKit::PrintPagesData::incrementPageSequence): Increment current 14038 sheet and page position. 14039 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): 14040 (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet): 14041 Helper function to check whether current pages is the first one of 14042 the current sheet. 14043 (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet): 14044 Helper function to check whether current pages is the last one of 14045 the current sheet. 14046 (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet): 14047 Returns the number of rows and columns of pages per sheet. 14048 (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns 14049 the row and column number of the current page in the current sheet. 14050 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate, 14051 scale and rotate accordingly to render every page in the right 14052 place of the sheet. 14053 (WebKit::WebPrintOperationGtk::renderPage): Call 14054 prepareContextToDraw() before drawing the page. 14055 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 14056 (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint): 14057 (WebKit::WebPrintOperationGtk::pagePosition): 14058 (WebKit::WebPrintOperationGtk::setPagePosition): 14059 (WebKit::WebPrintOperationGtk::numberUp): 14060 (WebKit::WebPrintOperationGtk::numberUpLayout): 14061 140622012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 14063 14064 [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2 14065 https://bugs.webkit.org/show_bug.cgi?id=78893 14066 14067 Reviewed by Gustavo Noronha Silva. 14068 14069 And it's not emitted anynmore when the print dialog has been 14070 cancelled. Since it's not possible to know whether the print 14071 dialog was cancelled or not, the enum WebKitPrintOperationResponse 14072 has been added, with Print and Cancel values, and it's used as 14073 return value of webkit_print_operation_run_dialog(). 14074 14075 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14076 (webkit_print_operation_class_init): Rename done as finished. 14077 (webkitPrintOperationRunDialogUnix): Return a 14078 WebKitPrintOperationResponse instead of bool. 14079 (webkitPrintOperationRunDialogWin32): Ditto. 14080 (drawPagesForPrintingCompleted): Emit finished instead of done. 14081 (webkitPrintOperationRunDialogForFrame): Do not emit finished if 14082 the dialog was cancelled and return a WebKitPrintOperationResponse. 14083 (webkit_print_operation_run_dialog): Return 14084 WebKitPrintOperationResponse. 14085 * UIProcess/API/gtk/WebKitPrintOperation.h: Add 14086 WebKitPrintOperationResponse enum. 14087 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: 14088 * UIProcess/API/gtk/WebKitWebView.cpp: 14089 (webkitWebViewPrintFrame): Check whether the dialog has been 14090 cancelled or not and connect to finish when the print operation is 14091 in progress to release the print operation object when printing 14092 finishes. 14093 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add 14094 WebKitPrintOperationResponse symbol. 14095 * UIProcess/API/gtk/tests/TestPrinting.cpp: 14096 (testPrintOperationPrintFinished): Use finished instead of done. 14097 (testPrintOperationPrint): Ditto. 14098 140992012-02-17 Carlos Garcia Campos <cgarcia@igalia.com> 14100 14101 [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API 14102 https://bugs.webkit.org/show_bug.cgi?id=76536 14103 14104 Reviewed by Gustavo Noronha Silva. 14105 14106 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14107 (webkitPrintOperationPrintPagesForFrame): Helper function to call 14108 WebPageProxy::drawPagesForPrinting using the given 14109 GtkPrintSettings and GtkPageSetup. 14110 (webkitPrintOperationRunDialogForFrame): Use 14111 webkitPrintOperationPrintPagesForFrame(). 14112 (webkit_print_operation_print): Print directly using current 14113 GtkPrintSettings and GtkPageSetup without showing the print 14114 dialog. 14115 * UIProcess/API/gtk/WebKitPrintOperation.h: 14116 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 14117 * UIProcess/API/gtk/tests/GNUmakefile.am: 14118 * UIProcess/API/gtk/tests/TestPrinting.cpp: 14119 (testPrintOperationPrintLoadChanged): 14120 (testPrintOperationPrintDone): 14121 (testPrintOperationPrintPrinter): 14122 (testPrintOperationPrint): 14123 (beforeAll): 14124 (afterAll): 14125 141262012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com> 14127 14128 [Qt][WK2] Allow partial updates 14129 https://bugs.webkit.org/show_bug.cgi?id=78824 14130 14131 Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that 14132 contains only the dirty rectangle of the current paint. This requires a lot less memory 14133 for small updates, for example when typing a text in an input field. 14134 This shows a significant reduction in overhead when testing on Mac with Instruments. 14135 14136 Reviewed by Simon Hausmann. 14137 14138 * UIProcess/qt/LayerBackingStore.cpp: 14139 (WebKit::LayerBackingStoreTile::swapBuffers): 14140 (WebKit::LayerBackingStoreTile::setBackBuffer): 14141 (WebKit): 14142 (WebKit::LayerBackingStore::updateTile): 14143 * UIProcess/qt/LayerBackingStore.h: 14144 (LayerBackingStoreTile): 14145 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 14146 (WebKit::LayerTreeHostProxy::updateTileForLayer): 14147 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 14148 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 14149 141502012-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 14151 14152 [GTK] Make sure print operation object is alive until printing finishes in WebKit2 14153 https://bugs.webkit.org/show_bug.cgi?id=78829 14154 14155 Reviewed by Martin Robinson. 14156 14157 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14158 (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation 14159 reference so that it's released when the callback finishes. 14160 (webkitPrintOperationRunDialogForFrame): Pass a reference of 14161 WebKitPrintOperation to the printing callback. 14162 141632012-02-15 Geoffrey Garen <ggaren@apple.com> 14164 14165 Made Weak<T> single-owner, adding PassWeak<T> 14166 https://bugs.webkit.org/show_bug.cgi?id=78740 14167 14168 Reviewed by Sam Weinig. 14169 14170 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 14171 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and 14172 PassWeak<T>, as required by our new hash map API. 14173 141742012-02-16 Sergio Villar Senin <svillar@igalia.com> 14175 14176 [soup] Move important SoupSession feature initialization to WebCore 14177 https://bugs.webkit.org/show_bug.cgi?id=68602 14178 14179 Reviewed by Martin Robinson. 14180 14181 Moved content sniffer and decoder initialization from the 14182 WebProcess to WebCore because network stuff will not work as 14183 expected without them. 14184 14185 No new tests required as we're just moving stuff from the 14186 WebProcess to WebCore. 14187 14188 * WebProcess/gtk/WebProcessMainGtk.cpp: 14189 (WebKit::WebProcessMainGtk): 14190 141912012-02-16 Philippe Normand <pnormand@igalia.com> 14192 14193 Unreviewed, rolling out r107941. 14194 http://trac.webkit.org/changeset/107941 14195 https://bugs.webkit.org/show_bug.cgi?id=68602 14196 14197 Broke 23 http tests on GTK 14198 14199 * WebProcess/gtk/WebProcessMainGtk.cpp: 14200 (WebKit::WebProcessMainGtk): 14201 142022012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com> 14203 14204 [Texmap] Improve the way we deal with BGRA extension 14205 https://bugs.webkit.org/show_bug.cgi?id=78822 14206 14207 Get rid of swizzling in the web process. Instead, we moved swizzling back to 14208 TextureMapperGL, as we're moving towards a setup where textures are uploaded 14209 in the web process. 14210 14211 Reviewed by Kenneth Rohde Christiansen. 14212 14213 * UIProcess/qt/LayerBackingStore.cpp: 14214 (WebKit::LayerBackingStoreTile::swapBuffers): 14215 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 14216 (WebKit::LayerTreeHostProxy::createImage): 14217 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 14218 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 14219 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 14220 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 14221 142222012-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 14223 14224 Unreviewed. Fix WebKit2 GTK+ build after r107947. 14225 14226 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 14227 (webkitPrintOperationRunDialogForFrame): 14228 142292012-02-16 Alexander Færøy <ahf@0x90.dk> 14230 14231 [Qt] Fix linking in debug builds on Mac OS X 14232 https://bugs.webkit.org/show_bug.cgi?id=78811 14233 14234 Reviewed by Kenneth Rohde Christiansen. 14235 14236 * UIProcess/API/qt/tests/bytearraytestdata.h: 14237 142382012-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 14239 14240 [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2 14241 https://bugs.webkit.org/show_bug.cgi?id=78712 14242 14243 Reviewed by Martin Robinson. 14244 14245 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 14246 (WebKit::WebPrintOperationGtk::enumeratePrintersFunction): 14247 Simplify the code to select the printer. 14248 (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save() 14249 before rendering the page and cairo_restore() when page has been 14250 rendered. 14251 142522012-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 14253 14254 [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API 14255 https://bugs.webkit.org/show_bug.cgi?id=76448 14256 14257 Reviewed by Martin Robinson. 14258 14259 * GNUmakefile.am: Add new files to compilation. 14260 * UIProcess/API/gtk/WebKitDefines.h: 14261 * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added. 14262 (webViewDestroyed): Delete the print operation when the view 14263 widget associated is destroyed. 14264 (webkitPrintOperationConstructed): Connect to destroy signal of 14265 associated web view. 14266 (webkitPrintOperationGetProperty): 14267 (webkitPrintOperationSetProperty): 14268 (webkit_print_operation_init): 14269 (webkit_print_operation_class_init): 14270 (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to 14271 show the printing dialog in UNIX platforms. 14272 (webkitPrintOperationRunDialogWin32): Empty, not implemented yet. 14273 (drawPagesForPrintingCompleted): Callback called when printing 14274 operation has finished in the web process. 14275 (webkitPrintOperationRunDialogForFrame): Run the printing dialog 14276 and start printing the given frame. 14277 (webkit_print_operation_new): Create a new print operation for the 14278 given web view. 14279 (webkit_print_operation_get_print_settings): 14280 (webkit_print_operation_set_print_settings): 14281 (webkit_print_operation_get_page_setup): 14282 (webkit_print_operation_set_page_setup): 14283 (webkit_print_operation_run_dialog): Run the print dialog to print 14284 the web view main frame. 14285 * UIProcess/API/gtk/WebKitPrintOperation.h: Added. 14286 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added. 14287 * UIProcess/API/gtk/WebKitUIClient.cpp: 14288 (printFrame): Call webkitWebViewPrintFrame. 14289 (attachUIClientToView): Add implementation for 14290 printFrame callback. 14291 * UIProcess/API/gtk/WebKitWebView.cpp: 14292 (webkit_web_view_class_init): Add WebKitWebView::print-requested 14293 signal. 14294 (webkitWebViewPrintFrame): Emit print-requested and show the print 14295 dialog to print the frame when not signal is not handled by user. 14296 * UIProcess/API/gtk/WebKitWebView.h: 14297 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 14298 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 14299 WebKitPrintOperation. 14300 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 14301 * UIProcess/API/gtk/tests/GNUmakefile.am: 14302 * UIProcess/API/gtk/tests/TestPrinting.cpp: Added. 14303 (testPrintOperationPrintSettings): 14304 (webViewPrintRequestedCallback): 14305 (testWebViewPrintRequested): 14306 (beforeAll): 14307 (afterAll): 14308 * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h. 14309 143102012-02-16 Simon Hausmann <simon.hausmann@nokia.com> 14311 14312 [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory 14313 https://bugs.webkit.org/show_bug.cgi?id=78800 14314 14315 Reviewed by Kenneth Rohde Christiansen. 14316 14317 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h 14318 location - no more cairo prefix needed. 14319 143202012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com> 14321 14322 [Qt][WK2] Allow opaque tiles 14323 https://bugs.webkit.org/show_bug.cgi?id=78809 14324 14325 Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled. 14326 Use the flag for ShareableBitmaps created by TiledBackingStore. 14327 14328 For now this will not have impact on performance/memory, because we allocate the same type 14329 of buffers for opaque and transparent tiles. 14330 14331 Reviewed by Kenneth Rohde Christiansen. 14332 14333 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 14334 (WebCore::WebGraphicsLayer::setContentsOpaque): 14335 (WebCore::WebGraphicsLayer::setContentsScale): 14336 (WebCore::WebGraphicsLayer::createBackingStore): 14337 (WebCore): 14338 (WebCore::WebGraphicsLayer::updateContentBuffers): 14339 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 14340 (WebGraphicsLayer): 14341 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 14342 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 14343 143442012-02-16 Sergio Villar Senin <svillar@igalia.com> 14345 14346 [soup] Move important SoupSession feature initialization to WebCore 14347 https://bugs.webkit.org/show_bug.cgi?id=68602 14348 14349 Reviewed by Martin Robinson. 14350 14351 Moved content sniffer and decoder initialization from the 14352 WebProcess to WebCore because network stuff will not work as 14353 expected without them. 14354 14355 No new tests required as we're just moving stuff from the 14356 WebProcess to WebCore. 14357 14358 * WebProcess/gtk/WebProcessMainGtk.cpp: 14359 (WebKit::WebProcessMainGtk): 14360 143612012-02-16 Adenilson Cavalcanti <cavalcantii@gmail.com> 14362 14363 [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin 14364 https://bugs.webkit.org/show_bug.cgi?id=73215 14365 14366 Reviewed by Kenneth Rohde Christiansen. 14367 14368 Introducing a new class to expose security origin information 14369 (port/scheme/etc), useful for inspecting the origin of permission 14370 requests. 14371 14372 * Target.pri: 14373 * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added. 14374 (QtWebSecurityOrigin::QtWebSecurityOrigin): 14375 (QtWebSecurityOrigin::~QtWebSecurityOrigin): 14376 (QtWebSecurityOrigin::host): 14377 (QtWebSecurityOrigin::scheme): 14378 (QtWebSecurityOrigin::path): 14379 (QtWebSecurityOrigin::port): 14380 (QtWebSecurityOrigin::setHost): 14381 (QtWebSecurityOrigin::setScheme): 14382 (QtWebSecurityOrigin::setPath): 14383 (QtWebSecurityOrigin::setPort): 14384 * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added. 14385 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added. 14386 * UIProcess/API/qt/qwebpermissionrequest.cpp: 14387 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate): 14388 (QWebPermissionRequest::securityOrigin): 14389 * UIProcess/API/qt/qwebpermissionrequest_p.h: 14390 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 14391 143922012-02-16 Patrick Gansterer <paroga@webkit.org> 14393 14394 [CMake] Add missing include directories. 14395 14396 * CMakeLists.txt: 14397 143982012-02-16 Carlos Garcia Campos <cgarcia@igalia.com> 14399 14400 [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate 14401 https://bugs.webkit.org/show_bug.cgi?id=78719 14402 14403 Reviewed by Martin Robinson. 14404 14405 * UIProcess/API/gtk/WebKitWebView.cpp: 14406 144072012-02-15 Anders Carlsson <andersca@apple.com> 14408 14409 Add TiledCoreAnimationDrawingArea::forceRepaint 14410 https://bugs.webkit.org/show_bug.cgi?id=78749 14411 <rdar://problem/10866221> 14412 14413 Reviewed by Sam Weinig. 14414 14415 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 14416 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 14417 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint): 14418 Force a repaint and synchronize the layer tree to the UI process. 14419 144202012-02-15 Enrica Casucci <enrica@apple.com> 14421 14422 Refactor ClipboardMac class to use PlatformStrategies. 14423 https://bugs.webkit.org/show_bug.cgi?id=78554 14424 14425 Reviewed by Anders Carlsson. 14426 14427 * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference 14428 the pasteboard by name. 14429 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods. 14430 (WebKit::WebPlatformStrategies::changeCount): 14431 (WebKit::WebPlatformStrategies::uniqueName): 14432 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto. 14433 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 14434 (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference 14435 the pasteboard by name. 14436 144372012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org> 14438 14439 Notify ChromeClient when touch-event handlers are installed/removed. 14440 https://bugs.webkit.org/show_bug.cgi?id=77440 14441 14442 Reviewed by Darin Fisher and Ryosuke Niwa. 14443 14444 * UIProcess/WebPageProxy.h: 14445 (WebKit::WebPageProxy::numTouchEventHandlersChanged): 14446 * WebProcess/WebCoreSupport/WebChromeClient.h: 14447 144482012-02-15 Patrick Gansterer <paroga@webkit.org> 14449 14450 [CMake] Move RunLoop to WebCore/platform 14451 https://bugs.webkit.org/show_bug.cgi?id=78504 14452 14453 Reviewed by Adam Roben. 14454 14455 * CMakeLists.txt: Remove RunLoop.cpp from list of souces. 14456 144572012-02-14 Simon Hausmann <simon.hausmann@nokia.com> 14458 14459 [Qt] Eliminate first set of QtWidgets dependencies from WebCore 14460 https://bugs.webkit.org/show_bug.cgi?id=78611 14461 14462 Reviewed by Kenneth Rohde Christiansen. 14463 14464 * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include 14465 to fix compilation. 14466 144672012-02-15 Roland Steiner <rolandsteiner@chromium.org> 14468 14469 <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot 14470 https://bugs.webkit.org/show_bug.cgi?id=77853 14471 14472 numberOfScopedHTMLStyleChildren got moved from Element into Node. 14473 14474 Reviewed by Dimitri Glazkov. 14475 14476 * win/WebKit2.def: 14477 * win/WebKit2CFLite.def: 14478 144792012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com> 14480 14481 [Texmap] Divide TextureMapperNode.cpp to 3 files. 14482 https://bugs.webkit.org/show_bug.cgi?id=76660 14483 14484 Rename TextureMapperNode to TextureMapperLayer. 14485 14486 Reviewed by Kenneth Rohde Christiansen. 14487 14488 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 14489 (WebKit::LayerTreeHostProxy::createLayer): 14490 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 14491 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 14492 (WebKit::LayerTreeHostProxy::getBackingStore): 14493 (WebKit::LayerTreeHostProxy::ensureRootLayer): 14494 (WebKit::LayerTreeHostProxy::purgeGLResources): 14495 144962012-02-14 Anders Carlsson <andersca@apple.com> 14497 14498 Swipe gestures don't work if main frame has a horizontal scrollbar 14499 https://bugs.webkit.org/show_bug.cgi?id=78650 14500 <rdar://problem/10864993> 14501 14502 Reviewed by Sam Weinig. 14503 14504 * WebProcess/WebPage/EventDispatcher.cpp: 14505 (WebKit::EventDispatcher::wheelEvent): 14506 ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case. 14507 14508 (WebKit::EventDispatcher::sendDidReceiveEvent): 14509 Rename this now that it takes a parameter indicating whether the event was handled or not. 14510 145112012-02-14 Brian Weinstein <bweinstein@apple.com> 14512 14513 Web Inspector: Add the ability to show the resources panel on launch 14514 https://bugs.webkit.org/show_bug.cgi?id=78641 14515 14516 Add WebKit2 API for the ability to show the resources panel. This calls down 14517 from the WK API all the way to InspectorFrontendClientLocal::showResources. 14518 14519 Reviewed by Timothy Hatcher. 14520 14521 * UIProcess/API/C/WKInspector.cpp: 14522 (WKInspectorShowResources): Call WebInspectorProxy::showResources. 14523 * UIProcess/API/C/WKInspector.h: 14524 * UIProcess/WebInspectorProxy.cpp: 14525 (WebKit::WebInspectorProxy::showResources): Send a message to the web process. 14526 * UIProcess/WebInspectorProxy.h: 14527 * WebProcess/WebPage/WebInspector.cpp: 14528 (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources. 14529 * WebProcess/WebPage/WebInspector.h: 14530 * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message. 14531 145322012-02-14 Matt Lilek <mrl@apple.com> 14533 14534 Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms 14535 https://bugs.webkit.org/show_bug.cgi?id=78629 14536 14537 Reviewed by David Kilzer. 14538 14539 * Configurations/FeatureDefines.xcconfig: 14540 145412012-02-13 Raphael Kubo da Costa <kubo@profusion.mobi> 14542 14543 [CMake] Merge WebKitEfl.cmake into FindEFL.cmake. 14544 https://bugs.webkit.org/show_bug.cgi?id=78566 14545 14546 Reviewed by Daniel Bates. 14547 14548 * PlatformEfl.cmake: Do not include WebKitEfl.cmake. 14549 145502012-02-14 No'am Rosenthal <noam.rosenthal@nokia.com> 14551 14552 [Qt][Texmap] Refactor backing-store code in TextureMapper 14553 https://bugs.webkit.org/show_bug.cgi?id=78305 14554 14555 Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions 14556 in TextureMapperBackingStore. 14557 We save the double-buffered tile in the backing-store, and then convert them to regular 14558 tiles in updateContents, based on the order of painting. 14559 Use TextureMapperCompositedImage for images instead of saving our own composited image 14560 registry. 14561 14562 Reviewed by Kenneth Rohde Christiansen. 14563 14564 * Target.pri: 14565 * UIProcess/LayerTreeHostProxy.h: 14566 (WebKit): 14567 (LayerTreeHostProxy): 14568 * UIProcess/qt/LayerBackingStore.cpp: Added. 14569 * UIProcess/qt/LayerBackingStore.h: Added. 14570 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 14571 (WebKit::LayerTreeHostProxy::createLayer): 14572 (WebKit::LayerTreeHostProxy::syncLayerParameters): 14573 (WebKit::LayerTreeHostProxy::getBackingStore): 14574 (WebKit::LayerTreeHostProxy::createTile): 14575 (WebKit::LayerTreeHostProxy::removeTile): 14576 (WebKit::LayerTreeHostProxy::updateTile): 14577 (WebKit::LayerTreeHostProxy::createImage): 14578 (WebKit::LayerTreeHostProxy::assignImageToLayer): 14579 (WebKit::LayerTreeHostProxy::purgeGLResources): 14580 * WebProcess.pro: 14581 14582 145832012-02-14 Shinya Kawanaka <shinyak@google.com> 14584 14585 Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot(). 14586 https://bugs.webkit.org/show_bug.cgi?id=78455 14587 14588 Reviewed by Hajime Morita. 14589 14590 Exports necesarry symbols. 14591 14592 * win/WebKit2.def: 14593 * win/WebKit2CFLite.def: 14594 145952012-02-14 Alexey Proskuryakov <ap@apple.com> 14596 14597 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets 14598 https://bugs.webkit.org/show_bug.cgi?id=78541 14599 <rdar://problem/10036695> 14600 14601 Reviewed by Kent Tamura. 14602 14603 * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference. 14604 146052012-02-13 W. James MacLean <wjmaclean@chromium.org> 14606 14607 [chromium] Remove obsolete zoom animation pathway. 14608 https://bugs.webkit.org/show_bug.cgi?id=78359 14609 14610 Reviewed by James Robinson. 14611 14612 This patch removes dead code from the previous incarnation of zoom animation for chromium. 14613 14614 WebProcess/Plugins/PDF/BuiltInPDFView.h: 14615 (BuiltInPDFView): 14616 146172012-02-13 Enrica Casucci <enrica@apple.com> 14618 14619 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. 14620 https://bugs.webkit.org/show_bug.cgi?id=78282 14621 14622 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which 14623 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and 14624 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard 14625 class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy 14626 interface but this one more step in the direction of removing access to NSPasteboard from 14627 the WebProcess. 14628 As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. 14629 14630 Reviewed by Anders Carlsson. 14631 14632 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy 14633 interface. 14634 (WebKit::WebPlatformStrategies::createPasteboardStrategy): 14635 (WebKit::WebPlatformStrategies::getTypes): 14636 (WebKit::WebPlatformStrategies::bufferForType): 14637 (WebKit::WebPlatformStrategies::getPathnamesForType): 14638 (WebKit::WebPlatformStrategies::stringForType): 14639 (WebKit::WebPlatformStrategies::copy): 14640 (WebKit::WebPlatformStrategies::setTypes): 14641 (WebKit::WebPlatformStrategies::setBufferForType): 14642 (WebKit::WebPlatformStrategies::setPathnamesForType): 14643 (WebKit::WebPlatformStrategies::setStringForType): 14644 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy. 14645 146462012-02-13 Anders Carlsson <andersca@apple.com> 14647 14648 The scrolling tree needs to know about the back forward state of the page 14649 https://bugs.webkit.org/show_bug.cgi?id=78523 14650 <rdar://problem/10756548> 14651 14652 Reviewed by Sam Weinig. 14653 14654 Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well. 14655 14656 * Platform/CoreIPC/HandleMessage.h: 14657 (CoreIPC): 14658 (CoreIPC::callMemberFunction): 14659 * UIProcess/WebPageProxy.cpp: 14660 (WebKit::WebPageProxy::handleWheelEvent): 14661 (WebKit::WebPageProxy::didReceiveEvent): 14662 * WebProcess/WebPage/EventDispatcher.cpp: 14663 (WebKit::EventDispatcher::wheelEvent): 14664 * WebProcess/WebPage/EventDispatcher.h: 14665 (EventDispatcher): 14666 * WebProcess/WebPage/EventDispatcher.messages.in: 14667 146682012-02-13 Dan Bernstein <mitz@apple.com> 14669 14670 WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework 14671 https://bugs.webkit.org/show_bug.cgi?id=78451 14672 14673 Reviewed by Sam Weinig. 14674 14675 * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO. 14676 146772012-02-13 Sam Weinig <sam@webkit.org> 14678 14679 Windows build fix. 14680 14681 * UIProcess/win/WebPopupMenuProxyWin.cpp: 14682 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection): 14683 146842012-02-13 Zalan Bujtas <zbujtas@gmail.com> 14685 14686 Manage ShareableBitmap object lifecycle properly, when QImage is created 14687 using the shared data. 14688 https://bugs.webkit.org/show_bug.cgi?id=77546 14689 14690 Reviewed by Simon Hausmann. 14691 14692 * Shared/ShareableBitmap.h: 14693 (ShareableBitmap): 14694 * Shared/qt/ShareableBitmapQt.cpp: 14695 (WebKit::ShareableBitmap::createQImage): 14696 (WebKit): 14697 (WebKit::ShareableBitmap::releaseSharedMemoryData): 14698 146992012-02-06 Raphael Kubo da Costa <kubo@profusion.mobi> 14700 14701 [EFL] Drop support for the Curl network backend. 14702 https://bugs.webkit.org/show_bug.cgi?id=77874 14703 14704 Reviewed by Eric Seidel. 14705 14706 Nobody seems to be maintaining the Curl backend in WebCore, the 14707 EFL port developers all seem to be using the Soup backend and the 14708 port itself has many features which are only implemented for the 14709 latter. 14710 14711 * PlatformEfl.cmake: Unconditionally build the glib/soup source 14712 files and unconditionally add the required include directories and 14713 libraries. 14714 * WebProcess/efl/WebProcessMainEfl.cpp: 14715 (WebKit::WebProcessMainEfl): Remove USE(SOUP) check. 14716 147172012-02-11 Sheriff Bot <webkit.review.bot@gmail.com> 14718 14719 Unreviewed, rolling out r107435. 14720 http://trac.webkit.org/changeset/107435 14721 https://bugs.webkit.org/show_bug.cgi?id=78410 14722 14723 It broke the Qt build (Requested by Ossy on #webkit). 14724 14725 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 14726 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 14727 (WebPlatformStrategies): 14728 147292012-02-10 Brian Weinstein <bweinstein@apple.com> 14730 14731 Web Inspector: Add the ability to jump to the source for a given frame 14732 https://bugs.webkit.org/show_bug.cgi?id=78396 14733 14734 Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down 14735 from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame. 14736 14737 Reviewed by Tim Hatcher. 14738 14739 * UIProcess/API/C/WKInspector.cpp: 14740 (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame. 14741 * UIProcess/API/C/WKInspector.h: 14742 14743 * UIProcess/WebInspectorProxy.cpp: 14744 (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing 14745 the frame ID of the frame we want to show the main resource of. 14746 * UIProcess/WebInspectorProxy.h: 14747 14748 * WebProcess/WebPage/WebInspector.cpp: 14749 (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the 14750 main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame. 14751 * WebProcess/WebPage/WebInspector.h: 14752 14753 * WebProcess/WebPage/WebInspector.messages.in: Add a new message. 14754 147552012-02-10 Adam Klein <adamk@chromium.org> 14756 14757 Enable MUTATION_OBSERVERS by default on all platforms 14758 https://bugs.webkit.org/show_bug.cgi?id=78196 14759 14760 Reviewed by Ojan Vafai. 14761 14762 * Configurations/FeatureDefines.xcconfig: 14763 147642012-02-10 Enrica Casucci <enrica@apple.com> 14765 14766 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies. 14767 https://bugs.webkit.org/show_bug.cgi?id=78282 14768 14769 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which 14770 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and 14771 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard 14772 class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy 14773 interface but this one more step in the direction of removing access to NSPasteboard from 14774 the WebProcess. 14775 As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes. 14776 14777 Reviewed by Anders Carlsson. 14778 14779 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy 14780 interface. 14781 (WebKit::WebPlatformStrategies::createPasteboardStrategy): 14782 (WebKit::WebPlatformStrategies::getTypes): 14783 (WebKit::WebPlatformStrategies::bufferForType): 14784 (WebKit::WebPlatformStrategies::getPathnamesForType): 14785 (WebKit::WebPlatformStrategies::stringForType): 14786 (WebKit::WebPlatformStrategies::copy): 14787 (WebKit::WebPlatformStrategies::setTypes): 14788 (WebKit::WebPlatformStrategies::setBufferForType): 14789 (WebKit::WebPlatformStrategies::setPathnamesForType): 14790 (WebKit::WebPlatformStrategies::setStringForType): 14791 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy. 14792 147932012-02-09 Timothy Hatcher <timothy@apple.com> 14794 14795 Prevent attaching when inspecting the Web Inspector. 14796 14797 Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow 14798 and why there are two implementations of the same function. 14799 14800 https://webkit.org/b/78304 14801 14802 Reviewed by Brian Weinstein. 14803 14804 * UIProcess/WebInspectorProxy.cpp: 14805 (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page. 14806 Added comments about InspectorFrontendClientLocal::canAttachWindow. 14807 * UIProcess/WebInspectorProxy.h: 14808 (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal. 14809 148102012-02-09 Alexey Proskuryakov <ap@apple.com> 14811 14812 Managed network proxy settings are not used in WebProcess 14813 https://bugs.webkit.org/show_bug.cgi?id=78288 14814 <rdar://problem/9962116> 14815 14816 Reviewed by Anders Carlsson. 14817 14818 * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences. 14819 148202012-02-09 Alexey Proskuryakov <ap@apple.com> 14821 14822 ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed 14823 https://bugs.webkit.org/show_bug.cgi?id=70845 14824 <rdar://problem/10269985> 14825 14826 Reviewed by Anders Carlsson. 14827 14828 This also fixes some case where WebProcess did not get a sandbox extension after a crash. 14829 14830 * UIProcess/WebPageProxy.cpp: 14831 (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox 14832 extension here, we're now passing it at b/f navigation bottleneck. 14833 (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error 14834 page after a crash, so WebProcess may no longer have the extension. 14835 (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here, 14836 we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked 14837 a WebBackForwardListItem pointer, and then used it anyway. 14838 (WebKit::WebPageProxy::goBack): Ditto. 14839 (WebKit::WebPageProxy::goToBackForwardItem): Ditto. 14840 (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI 14841 actions like pressing the Back button, and for window.history.go() navigations. JS navigations 14842 previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's 14843 always OK to grant a sandbox extension if one of them is a file: one. 14844 14845 * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle. 14846 14847 * UIProcess/WebPageProxy.messages.in: Ditto. 14848 14849 * UIProcess/WebProcessProxy.cpp: 14850 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f 14851 list, then it has been already vetted as something the Web process knows about. No need to 14852 crash if it actually attempts going there. 14853 (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons 14854 of fprintfs besides this one). Fixed log message syntax. 14855 14856 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData): 14857 We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation 14858 bottleneck. 14859 14860 * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem): 14861 We now get an extension here, when telling UI process that we're navigating to a b/f list item. 14862 14863 * WebProcess/WebPage/WebPage.cpp: 14864 (WebKit::WebPage::reload): Use the extension we're getting. 14865 (WebKit::WebPage::goForward): Don't use one we're not getting. 14866 (WebKit::WebPage::goBack): Ditto. 14867 (WebKit::WebPage::goToBackForwardItem): Ditto. 14868 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto. 14869 14870 * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly. 14871 14872 * WebProcess/WebPage/WebPage.messages.in: Ditto. 14873 148742012-02-09 Matthew Delaney <mdelaney@apple.com> 14875 14876 HiDPI: WebKit2's drag images are blurry 14877 https://bugs.webkit.org/show_bug.cgi?id=67779 14878 14879 Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor 14880 14881 Reviewed by Beth Dakin. 14882 14883 * UIProcess/API/mac/WKView.mm: 14884 (-[WKView _setDragImage:at:linkDrag:]): 14885 148862012-02-09 Alexey Proskuryakov <ap@apple.com> 14887 14888 [WK2] Allow reading some debug-only preference files 14889 https://bugs.webkit.org/show_bug.cgi?id=78255 14890 <rdar://problem/9382382> 14891 <rdar://problem/10830558> 14892 14893 Reviewed by Dan Bernstein. 14894 14895 * WebProcess/com.apple.WebProcess.sb: 14896 148972012-02-09 Matthew Delaney <mdelaney@apple.com> 14898 14899 HiDPI: WebKit2's link-dragging images are blurry 14900 https://bugs.webkit.org/show_bug.cgi?id=67779 14901 14902 Reviewed by Beth Dakin. 14903 14904 Teach startDrag about the deviceScaleFactor so that it creates 14905 an appropriately scaled bitmap image to ship over. 14906 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 14907 (WebKit::WebDragClient::startDrag): 14908 (WebKit::convertImageToBitmap): 14909 14910 Have setDragImage assume that it's receiving a bitmap image scaled 14911 up by the deviceScaleFactor that it sees. 14912 * UIProcess/API/mac/WKView.mm: 14913 (-[WKView _setDragImage:at:linkDrag:]): 14914 149152012-02-09 Carlos Garcia Campos <cgarcia@igalia.com> 14916 14917 [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API 14918 https://bugs.webkit.org/show_bug.cgi?id=78097 14919 14920 Reviewed by Martin Robinson. 14921 14922 * GNUmakefile.am: Add new files to compilation. 14923 * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added. 14924 (webkitHitTestResultFinalize): 14925 (webkitHitTestResultGetProperty): 14926 (webkitHitTestResultSetProperty): 14927 (webkit_hit_test_result_init): 14928 (webkit_hit_test_result_class_init): 14929 (webkitHitTestResultCreate): Create a new WebKitHitTestResult for 14930 the given WKHitTestResult. 14931 (stringIsEqualToCString): Helper function to compare String and 14932 CString considering String::isEmpty() == CString.isNull(). 14933 (webkitHitTestResultCompare): Helper function to check whether a 14934 WebKitHitTestResult contains the same information than the given 14935 WKHitTestResult. 14936 (webkit_hit_test_result_get_context): 14937 (webkit_hit_test_result_context_is_link): 14938 (webkit_hit_test_result_context_is_image): 14939 (webkit_hit_test_result_context_is_media): 14940 (webkit_hit_test_result_get_link_uri): 14941 (webkit_hit_test_result_get_link_title): 14942 (webkit_hit_test_result_get_link_label): 14943 (webkit_hit_test_result_get_image_uri): 14944 (webkit_hit_test_result_get_media_uri): 14945 * UIProcess/API/gtk/WebKitHitTestResult.h: Added. 14946 * UIProcess/API/gtk/WebKitHitTestResultPrivate.h: 14947 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: 14948 (webkitNavigationPolicyDecisionCreate): Use 14949 wkEventModifiersToGdkModifiers. 14950 * UIProcess/API/gtk/WebKitPrivate.cpp: 14951 (wkEventModifiersToGdkModifiers): Moved from 14952 WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers. 14953 * UIProcess/API/gtk/WebKitPrivate.h: 14954 * UIProcess/API/gtk/WebKitUIClient.cpp: 14955 (mouseDidMoveOverElement): UI client callback that calls 14956 webkitWebViewMouseTargetChanged(). 14957 (attachUIClientToView): Add implementation for callback 14958 mouseDidMoveOverElement. 14959 * UIProcess/API/gtk/WebKitWebView.cpp: 14960 (webkit_web_view_class_init): Add 14961 WebKitWebView::mouse-target-changed signal. 14962 (webkitWebViewMouseTargetChanged): Emit 14963 WebKitWebView::mouse-target-changed signal. 14964 * UIProcess/API/gtk/WebKitWebView.h: 14965 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 14966 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 14967 WebKitHitTestResult. 14968 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 14969 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 14970 (testWebViewMouseTarget): 14971 (beforeAll): 14972 * UIProcess/API/gtk/tests/WebViewTest.cpp: 14973 (WebViewTest::WebViewTest): 14974 (WebViewTest::~WebViewTest): 14975 (parentWindowMapped): 14976 (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the 14977 view into a popup window and show it running the main loop until 14978 the window is mapped. 14979 (WebViewTest::mouseMoveTo): Method to synthesize a 14980 GDK_MOTION_EVENT on the given coordinates and using the given 14981 modifiers. 14982 * UIProcess/API/gtk/tests/WebViewTest.h: 14983 * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h. 14984 * UIProcess/API/gtk/webkit2marshal.list: 14985 149862012-02-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 14987 14988 [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer. 14989 https://bugs.webkit.org/show_bug.cgi?id=78009 14990 14991 Reviewed by Noam Rosenthal. 14992 14993 Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't 14994 need to keep the visible rect to pass it down their child layers anymore. 14995 14996 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 14997 (WebCore::WebGraphicsLayer::setContentsScale): 14998 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 14999 (WebCore::WebGraphicsLayer::adjustVisibleRect): 15000 (WebCore): 15001 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 15002 (WebGraphicsLayerClient): 15003 (WebGraphicsLayer): 15004 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 15005 (WebKit::LayerTreeHostQt::registerLayer): 15006 (WebKit::LayerTreeHostQt::visibleContentsRect): 15007 (WebKit): 15008 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 15009 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 15010 (LayerTreeHostQt): 15011 150122012-02-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 15013 15014 [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer. 15015 https://bugs.webkit.org/show_bug.cgi?id=78005 15016 15017 Reviewed by Noam Rosenthal. 15018 15019 This makes sure that no empty tiles are generated for layers without contents and that 15020 no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient. 15021 15022 - Create the main TiledBackingStore only when the layer has drawsContent and has no 15023 directly composited image 15024 - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores 15025 in updateContentBuffers 15026 - Call purgeBackingStores on registered layers instead of passing it down the layer tree 15027 15028 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 15029 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 15030 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 15031 (WebCore::WebGraphicsLayer::setDrawsContent): 15032 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 15033 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 15034 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 15035 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 15036 (WebCore::WebGraphicsLayer::updateContentBuffers): 15037 (WebCore::WebGraphicsLayer::purgeBackingStores): 15038 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient): 15039 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect): 15040 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 15041 (WebGraphicsLayer): 15042 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 15043 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 15044 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 15045 (WebKit): 15046 (WebKit::LayerTreeHostQt::purgeBackingStores): 15047 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 15048 (LayerTreeHostQt): 15049 150502012-02-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 15051 15052 [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively 15053 https://bugs.webkit.org/show_bug.cgi?id=78105 15054 15055 Reviewed by Kenneth Rohde Christiansen. 15056 15057 The method is unused. 15058 15059 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 15060 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 15061 (WebGraphicsLayer): 15062 150632012-02-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 15064 15065 [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole. 15066 https://bugs.webkit.org/show_bug.cgi?id=77976 15067 15068 Reviewed by Kenneth Rohde Christiansen. 15069 15070 The LayerTreeHost association had to be maintained between re-parented layers and it would be 15071 impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting 15072 or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile). 15073 15074 Instead, this patch assumes that graphics layers will only be in contact with one instance of 15075 LayerTreeHost, and that this association can be kept until either the graphics layer or the layer 15076 tree host gets deleted. 15077 15078 The registered layers are kept in a set and the visible rect and scales are passed directly 15079 to layers instead of down the tree, through the root layer. 15080 15081 This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests. 15082 15083 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 15084 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 15085 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 15086 (WebCore::WebGraphicsLayer::setChildren): 15087 (WebCore::WebGraphicsLayer::addChild): 15088 (WebCore::WebGraphicsLayer::addChildAtIndex): 15089 (WebCore::WebGraphicsLayer::addChildAbove): 15090 (WebCore::WebGraphicsLayer::addChildBelow): 15091 (WebCore::WebGraphicsLayer::replaceChild): 15092 (WebCore::WebGraphicsLayer::removeFromParent): 15093 (WebCore::WebGraphicsLayer::setContentsToImage): 15094 (WebCore::WebGraphicsLayer::setMaskLayer): 15095 (WebCore::WebGraphicsLayer::setReplicatedByLayer): 15096 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 15097 (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale): 15098 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed): 15099 (WebCore::WebGraphicsLayer::createTile): 15100 (WebCore::WebGraphicsLayer::updateTile): 15101 (WebCore::WebGraphicsLayer::removeTile): 15102 (WebCore::WebGraphicsLayer::updateContentBuffers): 15103 (WebCore::WebGraphicsLayer::purgeBackingStores): 15104 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient): 15105 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 15106 (WebCore): 15107 (WebGraphicsLayerClient): 15108 (WebGraphicsLayer): 15109 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 15110 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 15111 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 15112 (WebKit::LayerTreeHostQt::attachLayer): 15113 (WebKit): 15114 (WebKit::LayerTreeHostQt::detachLayer): 15115 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 15116 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 15117 (LayerTreeHostQt): 15118 151192012-02-07 Andras Becsi <andras.becsi@nokia.com> 15120 15121 [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning 15122 https://bugs.webkit.org/show_bug.cgi?id=76275 15123 15124 Reviewed by Simon Hausmann and Kenneth Rohde Christiansen. 15125 15126 The current WebView implementation uses QScroller to manage positioning but other 15127 similar items in QML (ie. ListView, GridView) use Flickable as their base class. 15128 Since QScroller will be dropped from Qt5 this patch removes the QScroller code 15129 and redirects pan gestures to a dynamically created encapsulated Flickable instance 15130 (QtFlickProvider) which handles the positioning. 15131 15132 This implementation only uses public QML API and does not depend on declarative-private. 15133 It propagates a small subset of the Flickable API as the public API of the WebView. 15134 This minimalistic API is accessible via the experimental extension and makes it possible 15135 in QML to place additional items (such as toolbars, scroll indicators and floating menus) 15136 aroud the page. 15137 These items can use anchoring and binding for positioning on the flickable contentItem. 15138 15139 The patch depends however on the automatic touch->mouse event synthetization of Qt5. 15140 The touch events sent to the flickProvider are translated to mouse events automatically 15141 as long as the Flickable does not handle touch events directly. 15142 15143 After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be 15144 removed in a follow-up patch. 15145 15146 * Target.pri: Added QtFlickProvider source. 15147 * UIProcess/API/qt/qquickwebpage.cpp: 15148 (QQuickWebPagePrivate::paintToCurrentGLContext): 15149 (QQuickWebPage::transformToItem): 15150 (QQuickWebPagePrivate::updateSize): 15151 * UIProcess/API/qt/qquickwebview.cpp: 15152 (QQuickWebViewPrivate::QQuickWebViewPrivate): 15153 (QQuickWebViewPrivate::pageItemPos): 15154 (QQuickWebViewFlickablePrivate::pageItemPos): 15155 (QQuickWebViewFlickablePrivate::updateContentsSize): 15156 (QQuickWebViewFlickablePrivate::onComponentComplete): 15157 (QQuickWebViewFlickablePrivate::updateViewportSize): 15158 (QQuickWebViewExperimental::flickableData): 15159 (QQuickWebViewExperimental::contentItem): 15160 (QQuickWebViewExperimental::contentWidth): 15161 (QQuickWebViewExperimental::setContentWidth): 15162 (QQuickWebViewExperimental::contentHeight): 15163 (QQuickWebViewExperimental::setContentHeight): 15164 (QQuickWebViewExperimental::contentX): 15165 (QQuickWebViewExperimental::setContentX): 15166 (QQuickWebViewExperimental::contentY): 15167 (QQuickWebViewExperimental::setContentY): 15168 (QQuickWebView::pageItemPos): 15169 (QQuickWebView::updateContentsSize): 15170 * UIProcess/API/qt/qquickwebview_p.h: 15171 * UIProcess/API/qt/qquickwebview_p_p.h: 15172 (QQuickWebViewPrivate): 15173 (QQuickWebViewPrivate::updateContentsSize): 15174 (QQuickWebViewFlickablePrivate): 15175 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 15176 (tst_QQuickWebView::scrollRequest): 15177 * UIProcess/qt/QtFlickProvider.cpp: Added. 15178 (QtFlickProvider::QtFlickProvider): 15179 (QtFlickProvider::handleTouchFlickEvent): 15180 (QtFlickProvider::contentItem): 15181 (QtFlickProvider::flickableData): 15182 (QtFlickProvider::contentPos): 15183 (QtFlickProvider::setContentPos): 15184 (QtFlickProvider::viewportSize): 15185 (QtFlickProvider::setViewportSize): 15186 (QtFlickProvider::returnToBounds): 15187 (QtFlickProvider::cancelFlick): 15188 (QtFlickProvider::isMoving): 15189 (QtFlickProvider::isDragging): 15190 (QtFlickProvider::isFlicking): 15191 (QtFlickProvider::contentWidth): 15192 (QtFlickProvider::setContentWidth): 15193 (QtFlickProvider::contentHeight): 15194 (QtFlickProvider::setContentHeight): 15195 (QtFlickProvider::contentX): 15196 (QtFlickProvider::setContentX): 15197 (QtFlickProvider::contentY): 15198 (QtFlickProvider::setContentY): 15199 * UIProcess/qt/QtFlickProvider.h: Added. 15200 (QtFlickProvider): 15201 * UIProcess/qt/QtPanGestureRecognizer.cpp: 15202 (WebKit::QtPanGestureRecognizer::recognize): 15203 * UIProcess/qt/QtPanGestureRecognizer.h: 15204 (QtPanGestureRecognizer): 15205 * UIProcess/qt/QtViewportInteractionEngine.cpp: 15206 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 15207 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 15208 (WebKit::QtViewportInteractionEngine::scrollStateChanged): 15209 (WebKit): 15210 (WebKit::QtViewportInteractionEngine::wheelEvent): 15211 (WebKit::QtViewportInteractionEngine::reset): 15212 (WebKit::QtViewportInteractionEngine::applyConstraints): 15213 (WebKit::QtViewportInteractionEngine::scrollAnimationActive): 15214 (WebKit::QtViewportInteractionEngine::panGestureActive): 15215 (WebKit::QtViewportInteractionEngine::panGestureStarted): 15216 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 15217 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 15218 (WebKit::QtViewportInteractionEngine::panGestureEnded): 15219 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 15220 (WebKit::QtViewportInteractionEngine::scaleContent): 15221 * UIProcess/qt/QtViewportInteractionEngine.h: 15222 (QtViewportInteractionEngine): 15223 * UIProcess/qt/QtWebPageEventHandler.cpp: 15224 (QtWebPageEventHandler::doneWithTouchEvent): 15225 152262012-02-08 Keunsoon Lee <keunsoon.lee@samsung.com> 15227 15228 [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module. 15229 https://bugs.webkit.org/show_bug.cgi?id=76171 15230 15231 Reviewed by Andreas Kling. 15232 15233 FileDownloaderEfl is a practical class to operate file download. 15234 It communicates with Download class to start download 15235 and to notify downloading states to user(e.g. client application). 15236 Besides FileDownloaderEfl derives from ResourceHandleClient 15237 and receives chunked data from ResourceHandle directly 15238 or redirects data flow which is started from MainResourceLoader 15239 by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl. 15240 15241 This patch has only dummy functions to make easy to review. 15242 Working patch will be uploaded on another bug thread. 15243 15244 * PlatformEfl.cmake: added new file to compile. 15245 * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>. 15246 (WebKit): 15247 (Download): 15248 * WebProcess/Downloads/efl/DownloadEfl.cpp: 15249 (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest. 15250 * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download. 15251 (WebKit): 15252 (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>. 15253 (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter. 15254 (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor. 15255 (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest. 15256 It does nothing for now, but shows how Download class can call FileDownloaderEfl's function. 15257 (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient. 15258 It will receive response header information from ResourceHandle. 15259 (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient. 15260 It will receive chunk data from ResourceHandle. 15261 (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient. 15262 It will be notified loading is finished from ResourceHandle. 15263 (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient. 15264 It will be notified loading is fail with ResourceError from ResourceHandle. 15265 (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient. 15266 It returns whether to use credential storage or not. 15267 (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient. 15268 It will receive AuthenticationChallenge. 15269 (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient. 15270 It will be notified AuthenticationChallenge is canceled. 15271 (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient. 15272 * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added. 15273 (WebCore): 15274 (WebKit): 15275 (FileDownloaderEfl): 15276 152772012-02-07 MORITA Hajime <morrita@google.com> 15278 15279 Replacement text should be available from the marker. 15280 https://bugs.webkit.org/show_bug.cgi?id=77934 15281 15282 Reviewed by Kent Tamura. 15283 15284 * win/WebKit2.def: 15285 * win/WebKit2CFLite.def: 15286 152872012-02-08 Anders Carlsson <andersca@apple.com> 15288 15289 Don't use the wheel event handler count to track if a page has horizontal scrollbars 15290 https://bugs.webkit.org/show_bug.cgi?id=78192 15291 15292 Reviewed by Andreas Kling. 15293 15294 Prior to this change, we were incrementing and decrementing the wheel event handler count 15295 whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count 15296 to determine if Safari can handle horizontal wheel events directly or whether they have to be sent 15297 to the web process first. 15298 15299 What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events 15300 to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers. 15301 15302 After this change, we traverse the tree of scrollable areas after every layout and check if any of them 15303 have a horizontal scrollbar. (We still also check if there are wheel event handlers). 15304 15305 If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars 15306 in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller. 15307 15308 * UIProcess/WebPageProxy.cpp: 15309 (WebKit::WebPageProxy::WebPageProxy): 15310 (WebKit::WebPageProxy::willHandleHorizontalScrollEvents): 15311 * UIProcess/WebPageProxy.h: 15312 (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents): 15313 (WebPageProxy): 15314 * UIProcess/WebPageProxy.messages.in: 15315 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 15316 (WebKit::WebChromeClient::numWheelEventHandlersChanged): 15317 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15318 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 15319 * WebProcess/WebPage/WebPage.cpp: 15320 (WebKit::WebPage::WebPage): 15321 (WebKit::WebPage::numWheelEventHandlersChanged): 15322 (WebKit): 15323 (WebKit::hasEnabledHorizontalScrollbar): 15324 (WebKit::pageContainsAnyHorizontalScrollbars): 15325 (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState): 15326 * WebProcess/WebPage/WebPage.h: 15327 (WebPage): 15328 153292012-02-08 Sheriff Bot <webkit.review.bot@gmail.com> 15330 15331 Unreviewed, rolling out r106920, r106924, r106933, r106939, 15332 and r107090. 15333 http://trac.webkit.org/changeset/106920 15334 http://trac.webkit.org/changeset/106924 15335 http://trac.webkit.org/changeset/106933 15336 http://trac.webkit.org/changeset/106939 15337 http://trac.webkit.org/changeset/107090 15338 https://bugs.webkit.org/show_bug.cgi?id=78124 15339 15340 Something is completely wrong this change (Requested by 15341 Ossy_gardener on #webkit). 15342 15343 * Shared/WebProcessCreationParameters.cpp: 15344 (WebKit::WebProcessCreationParameters::encode): 15345 (WebKit::WebProcessCreationParameters::decode): 15346 * Shared/WebProcessCreationParameters.h: 15347 (WebProcessCreationParameters): 15348 * UIProcess/WebContext.cpp: 15349 (WebKit::WebContext::WebContext): 15350 * UIProcess/qt/WebContextQt.cpp: 15351 (WebKit::WebContext::platformInitializeWebProcess): 15352 * WebProcess/qt/WebProcessQt.cpp: 15353 (WebKit): 15354 (WebKit::WebProcess::platformSetCacheModel): 15355 (WebKit::WebProcess::platformInitializeWebProcess): 15356 153572012-02-08 Carlos Garcia Campos <cgarcia@igalia.com> 15358 15359 [GTK] Fix a crash when WebKitWebView is created without a WebContext 15360 https://bugs.webkit.org/show_bug.cgi?id=78104 15361 15362 Reviewed by Philippe Normand. 15363 15364 * UIProcess/API/gtk/WebKitWebView.cpp: 15365 (webkitWebViewSetProperty): Make sure WebKitWebView:web-context 15366 property is initialized to the default web context when a web 15367 context is not passed to g_object_new(). 15368 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 15369 (testWebViewDefaultContext): Check that a web view created with 15370 g_object_new has the default context. 15371 153722012-02-08 Michael Brüning <michael.bruning@nokia.com> 15373 15374 [Qt][WK2] Compute and set cache capacities using the current CacheModel 15375 https://bugs.webkit.org/show_bug.cgi?id=73918 15376 15377 Reviewed by Kenneth Rohde Christiansen. 15378 15379 * UIProcess/WebContext.cpp: 15380 (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to 15381 CacheModelPrimaryWebBrowser. 15382 153832012-02-08 Carlos Garcia Campos <cgarcia@igalia.com> 15384 15385 [GTK] Fix WebKitWebView::decide-policy API documentation 15386 https://bugs.webkit.org/show_bug.cgi?id=78101 15387 15388 Reviewed by Martin Robinson. 15389 15390 - It refers to WebKitPolicyClient instead of WebKitWebView 15391 - Trailing ':' is missing 15392 - References @decision as WebKitNavigationPolicyDecision instead 15393 of WebKitPolicyDecision 15394 15395 * UIProcess/API/gtk/WebKitWebView.cpp: 15396 (webkit_web_view_class_init): 15397 153982012-02-08 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> 15399 15400 [Qt] Build broken if qt missing openssl 15401 https://bugs.webkit.org/show_bug.cgi?id=77894 15402 15403 Reviewed by Chang Shu. 15404 15405 Build fix. No new test content. 15406 15407 * WebProcess/qt/QtNetworkAccessManager.cpp: 15408 (WebKit::QtNetworkAccessManager::onSslErrors): 15409 154102012-02-08 Yael Aharon <yael.aharon@nokia.com> 15411 15412 [WK2] Text notifications should have an iconURL 15413 https://bugs.webkit.org/show_bug.cgi?id=77968 15414 15415 Reviewed by Simon Hausmann. 15416 15417 Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL. 15418 Add an iconURL to WebNotification and add a public API to access it. 15419 15420 * UIProcess/API/C/WKNotification.cpp: 15421 (WKNotificationCopyiconURL): 15422 * UIProcess/API/C/WKNotification.h: 15423 * UIProcess/Notifications/WebNotification.cpp: 15424 (WebKit::WebNotification::WebNotification): 15425 * UIProcess/Notifications/WebNotification.h: 15426 (WebKit::WebNotification::create): 15427 (WebKit::WebNotification::iconURL): 15428 (WebNotification): 15429 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 15430 (WebKit::WebNotificationManagerProxy::show): 15431 * UIProcess/Notifications/WebNotificationManagerProxy.h: 15432 (WebNotificationManagerProxy): 15433 * UIProcess/WebPageProxy.cpp: 15434 (WebKit::WebPageProxy::showNotification): 15435 * UIProcess/WebPageProxy.h: 15436 (WebPageProxy): 15437 * UIProcess/WebPageProxy.messages.in: 15438 * WebProcess/Notifications/WebNotificationManager.cpp: 15439 (WebKit::WebNotificationManager::show): 15440 154412012-02-08 Philippe Normand <pnormand@igalia.com> 15442 15443 [GTK][WK2] enable-webaudio WebSetting 15444 https://bugs.webkit.org/show_bug.cgi?id=77959 15445 15446 Reviewed by Martin Robinson. 15447 15448 Add a new WebKitGTK WebSetting to enable/disable WebAudio at 15449 runtime. 15450 15451 * UIProcess/API/gtk/WebKitSettings.cpp: 15452 (webKitSettingsSetProperty): 15453 (webKitSettingsGetProperty): 15454 (webkit_settings_class_init): 15455 (webkit_settings_get_enable_webaudio): 15456 (webkit_settings_set_enable_webaudio): 15457 * UIProcess/API/gtk/WebKitSettings.h: 15458 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 15459 (testWebKitSettings): 15460 154612012-02-07 Martin Robinson <mrobinson@igalia.com> 15462 15463 [GTK] [WK2] Add WebKitResponsePolicyDecision 15464 https://bugs.webkit.org/show_bug.cgi?id=76789 15465 15466 Reviewed by Philippe Normand. 15467 15468 Add a WebKitResponsePolicyDecision GObject, use it for response 15469 policy decisions and add a test. 15470 15471 * GNUmakefile.am: Added new source files to the list. 15472 * UIProcess/API/gtk/WebKitPolicyClient.cpp: 15473 (decidePolicyForResponseCallback): Added this callback which creates the request 15474 and fires the signal. 15475 (attachPolicyClientToPage): Added new callback to the C API policy client. 15476 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added. 15477 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added. 15478 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added. 15479 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs. 15480 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto. 15481 * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: 15482 (testResponsePolicy): Added this test for response policy decisions. 15483 (serverCallback): Added a SoupServer to test policy response policy decisions. 15484 (beforeAll): Ditto. 15485 (afterAll): Ditto. 15486 154872012-02-07 Timothy Hatcher <timothy@apple.com> 15488 15489 Avoid making a window for the Web Inspector when it is docked. 15490 15491 This also makes sure the inspector WKView is in a window before the page is loaded. 15492 This avoids some redundant work caused by moving it to a window later. 15493 15494 https://webkit.org/b/78064 15495 15496 Reviewed by Brian Weinstein. 15497 15498 * UIProcess/WebInspectorProxy.cpp: 15499 (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here... 15500 (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here. 15501 * UIProcess/WebInspectorProxy.h: 15502 (WebInspectorProxy): 15503 * UIProcess/mac/WebInspectorProxyMac.mm: 15504 (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen. 15505 (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged. 15506 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow. 15507 (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible. 15508 (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil. 15509 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle. 15510 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible. 15511 (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window. 15512 (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again. 15513 155142012-02-07 Tony Chang <tony@chromium.org> 15515 15516 merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in 15517 https://bugs.webkit.org/show_bug.cgi?id=78036 15518 15519 Reviewed by Darin Adler. 15520 15521 * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES. 15522 155232012-02-07 Gyuyoung Kim <gyuyoung.kim@samsung.com> 15524 15525 [CMAKE] Use *bin* and *lib* directories for executable and libraries. 15526 https://bugs.webkit.org/show_bug.cgi?id=77928 15527 15528 Reviewed by Daniel Bates. 15529 15530 CMake has used *Programs* directory for executable. In addition, shared libraries are being 15531 built in source directory. It is better to set common places in order to maintain executable 15532 and libraries. *bin* is for executable and *lib* is for library. 15533 15534 * CMakeLists.txt: 15535 155362012-02-07 Timothy Hatcher <timothy@apple.com> 15537 15538 Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView. 15539 15540 If WKView was created and loaded a page with canvas elements before beinging moved 15541 to a window, the canvas elements would be locked in at a pixel ratio of 1. With this 15542 change the WKView will use the main screen's pixel ratio until it moves to a window. 15543 15544 Reviewed by Anders Carlsson. 15545 15546 * UIProcess/API/mac/WKView.mm: 15547 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor. 15548 155492012-02-07 Alexey Proskuryakov <ap@apple.com> 15550 15551 Keep a reference in didReceiveInvalidMessage. 15552 https://bugs.webkit.org/show_bug.cgi?id=78024 15553 15554 Reviewed by Anders Carlsson. 15555 15556 * UIProcess/WebConnectionToWebProcess.cpp: 15557 (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage): 15558 155592012-02-06 Anders Carlsson <andersca@apple.com> 15560 15561 ScrollableAreaSet should be moved from Page to FrameView 15562 https://bugs.webkit.org/show_bug.cgi?id=62762 15563 15564 Reviewed by Beth Dakin. 15565 15566 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 15567 (WebKit::BuiltInPDFView::initialize): 15568 Call FrameView::addScrollableArea instead. 15569 15570 (WebKit::BuiltInPDFView::destroy): 15571 Call FrameView::removeScrollableArea instead. 15572 15573 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 15574 Remove disconnectFromPage since it no longer exists on ScrollableArea. 15575 155762012-02-07 Carlos Garcia Campos <cgarcia@igalia.com> 15577 15578 [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API 15579 https://bugs.webkit.org/show_bug.cgi?id=76998 15580 15581 Reviewed by Martin Robinson. 15582 15583 * GNUmakefile.am: Add WebKitEditingCommands.h. 15584 * UIProcess/API/gtk/WebKitEditingCommands.h: Added. 15585 * UIProcess/API/gtk/WebKitWebView.cpp: 15586 (didValidateCommand): Callback called by the C API when an editor 15587 command has been validated. 15588 (webkit_web_view_can_execute_editing_command): Asynchronously 15589 validate the given editing command. 15590 (webkit_web_view_can_execute_editing_command_finish): Finish async 15591 operation started by webkit_web_view_can_execute_editing_command(). 15592 (webkit_web_view_execute_editing_command): Execute the given 15593 command. 15594 * UIProcess/API/gtk/WebKitWebView.h: 15595 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 15596 * UIProcess/API/gtk/tests/GNUmakefile.am: 15597 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 15598 (LoadTrackingTest::provisionalLoadFailed): Do not finish the main 15599 loop on load failure, now finished is always called. 15600 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest 15601 instead of LoadTrackingTest. 15602 * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added. 15603 (testWebViewEditorCutCopyPasteNonEditable): 15604 (testWebViewEditorCutCopyPasteEditable): 15605 (beforeAll): 15606 (afterAll): 15607 * UIProcess/API/gtk/tests/WebViewTest.cpp: 15608 (loadChanged): 15609 (WebViewTest::waitUntilLoadFinished): Run a main loop until load 15610 finished. 15611 * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished(). 15612 * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h. 15613 156142012-02-07 Allan Sandfeld Jensen <allan.jensen@nokia.com> 15615 15616 Encode radius, force and rotationAngle in WebPlatformTouchPoint. 15617 https://bugs.webkit.org/show_bug.cgi?id=77986 15618 15619 Reviewed by Kenneth Rohde Christiansen. 15620 15621 * Shared/WebEvent.h: 15622 (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint): 15623 (WebPlatformTouchPoint): 15624 (WebKit::WebPlatformTouchPoint::radius): 15625 (WebKit::WebPlatformTouchPoint::rotationAngle): 15626 (WebKit::WebPlatformTouchPoint::force): 15627 * Shared/WebEventConversion.cpp: 15628 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint): 15629 * Shared/WebPlatformTouchPoint.cpp: 15630 (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint): 15631 (WebKit::WebPlatformTouchPoint::encode): 15632 (WebKit::WebPlatformTouchPoint::decode): 15633 156342012-02-07 Andras Becsi <andras.becsi@nokia.com> 15635 15636 [Qt] [WK2] Fix the debug build after r106920 15637 15638 * WebProcess/qt/WebProcessQt.cpp: 15639 (WebKit::WebProcess::platformSetCacheModel): 15640 Remove unnecessary assert. 15641 156422012-02-03 Andras Becsi <andras.becsi@nokia.com> 15643 15644 [Qt][WK2] Add the componentComplete method to WebView 15645 https://bugs.webkit.org/show_bug.cgi?id=77111 15646 15647 Reviewed by Simon Hausmann. 15648 15649 Move the initialization of the interaction engine to componentComplete 15650 in preparation of switching to a Flickable based content positioning 15651 for the touch based WebView. 15652 Suspend the page and delay the dispatch of load success on startup until 15653 the component finished initialization. With this patch instantiating the 15654 WebView in C++ is only possible by creating a QDeclarativeComponent as 15655 the initialization depends on the componentComplete method being called. 15656 Also return valid default values in the viewport info functions if the 15657 interaction engine is not yet initialized because the viewport info 15658 component could finish initialization earlier than the WebView, which 15659 results in QML warnings during MiniBrowser startup. 15660 15661 * UIProcess/API/qt/qquickwebview.cpp: 15662 (QQuickWebViewPrivate::initialize): 15663 (QQuickWebViewPrivate::loadDidSucceed): 15664 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 15665 (QQuickWebViewFlickablePrivate::initialize): 15666 (QQuickWebViewFlickablePrivate::onComponentComplete): 15667 (QQuickWebViewFlickablePrivate::loadDidSucceed): 15668 (QQuickWebViewFlickablePrivate::updateViewportSize): 15669 (QQuickWebViewFlickablePrivate::_q_resume): 15670 (QQuickWebView::geometryChanged): 15671 (QQuickWebView::componentComplete): 15672 * UIProcess/API/qt/qquickwebview_p.h: 15673 * UIProcess/API/qt/qquickwebview_p_p.h: 15674 (QQuickWebViewPrivate::onComponentComplete): 15675 (QQuickWebViewPrivate): 15676 (QQuickWebViewFlickablePrivate): 15677 * UIProcess/API/qt/qwebviewportinfo.cpp: 15678 (QWebViewportInfo::currentScale): 15679 (QWebViewportInfo::devicePixelRatio): 15680 (QWebViewportInfo::initialScale): 15681 (QWebViewportInfo::minimumScale): 15682 (QWebViewportInfo::maximumScale): 15683 (QWebViewportInfo::isScalable): 15684 (QWebViewportInfo::layoutSize): 15685 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: 15686 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 15687 (tst_QQuickWebView::tst_QQuickWebView): 15688 (tst_QQuickWebView::init): 15689 (tst_QQuickWebView::multipleWebViewWindows): 15690 (tst_QQuickWebView::multipleWebViews): 15691 * UIProcess/qt/QtWebPageLoadClient.cpp: 15692 (QtWebPageLoadClient::dispatchLoadSucceeded): 15693 156942012-02-07 YoungTaeck Song <youngtaeck.song@samsung.com> 15695 15696 [EFL][WK2] Add ModuleEfl.cpp 15697 https://bugs.webkit.org/show_bug.cgi?id=63608 15698 15699 Reviewed by Andreas Kling. 15700 15701 Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer(). 15702 15703 * Platform/Module.h: 15704 * Platform/efl/ModuleEfl.cpp: Added. 15705 (WebKit::Module::load): 15706 (WebKit::Module::unload): 15707 (WebKit::Module::platformFunctionPointer): 15708 157092012-02-07 Michael Brüning <michael.bruning@nokia.com> 15710 15711 [Qt][WK2] Compute and set cache capacities using the current CacheModel 15712 https://bugs.webkit.org/show_bug.cgi?id=73918 15713 15714 Reviewed by Kenneth Rohde Christiansen. 15715 15716 First part of the implementation. The next steps are the implementation 15717 of the API for the Qt WebKit 2 port and the hybrid memory and disk cache. 15718 15719 * Shared/WebProcessCreationParameters.cpp: 15720 (WebKit::WebProcessCreationParameters::encode): 15721 (WebKit::WebProcessCreationParameters::decode): 15722 * Shared/WebProcessCreationParameters.h: 15723 (WebProcessCreationParameters): 15724 * UIProcess/qt/WebContextQt.cpp: 15725 (WebKit::defaultDiskCacheDirectory): 15726 (WebKit): 15727 (WebKit::WebContext::platformInitializeWebProcess): 15728 * WebProcess/qt/WebProcessQt.cpp: 15729 (WebKit::physicalMemorySizeInBytes): 15730 (WebKit): 15731 (WebKit::WebProcess::platformSetCacheModel): 15732 (WebKit::WebProcess::platformInitializeWebProcess): 15733 157342012-02-06 Shinya Kawanaka <shinyak@google.com> 15735 15736 Remove Element::ensureShadowRoot export. 15737 https://bugs.webkit.org/show_bug.cgi?id=77932 15738 15739 Reviewed by Hajime Morita. 15740 15741 * win/WebKit2.def: 15742 * win/WebKit2CFLite.def: 15743 157442012-02-06 Martin Robinson <mrobinson@igalia.com> 15745 15746 [GTK] Add TextureMapperGL implementation 15747 https://bugs.webkit.org/show_bug.cgi?id=75308 15748 15749 Reviewed by Alejandro G. Castro. 15750 15751 Fix the WebKit2 + AC build for GTK+. 15752 15753 * GNUmakefile.am: Add some missing source files. 15754 * UIProcess/DrawingAreaProxy.cpp: 15755 (WebKit): Add USE(TILED_BACKING_STORE) to the guard. 15756 * UIProcess/WebPageProxy.cpp: 15757 (WebKit::WebPageProxy::didReceiveMessage): Ditto. 15758 * WebProcess/WebPage/DrawingArea.h: 15759 (DrawingArea): Ditto. 15760 * WebProcess/WebPage/DrawingAreaImpl.cpp: 15761 (WebKit): Ditto. 15762 * WebProcess/WebPage/DrawingAreaImpl.h: 15763 (DrawingAreaImpl): Ditto. 15764 157652012-02-06 Martin Robinson <mrobinson@igalia.com> 15766 15767 Fix some miscellaneous 'make dist' error for WebKitGTK+. 15768 15769 * GNUmakefile.am: Do not distribute generated files. 15770 157712012-02-06 Anders Carlsson <andersca@apple.com> 15772 15773 Overlay scrollbars flash when window is simply activated 15774 https://bugs.webkit.org/show_bug.cgi?id=77911 15775 15776 Reviewed by Kenneth Russell. 15777 15778 * UIProcess/API/mac/WKView.mm: 15779 (-[WKView _updateWindowVisibility]): 15780 Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden. 15781 15782 (-[WKView _windowDidOrderOffScreen:]): 15783 (-[WKView _windowDidOrderOnScreen:]): 15784 Call -[WKView updateWindowVisibility]. 15785 15786 * WebProcess/WebPage/WebPage.cpp: 15787 (WebKit::WebPage::setWindowIsVisible): 15788 Call FocusController::setContainingWindowIsVisible. 15789 157902012-02-06 Martin Robinson <mrobinson@igalia.com> 15791 15792 [GTK] Fix remaining errors in GTK+ WebKit2 API 15793 https://bugs.webkit.org/show_bug.cgi?id=77890 15794 15795 Reviewed by Gustavo Noronha Silva. 15796 15797 Fix some style issues in the GTK+ WebKit2 API section of the source code. 15798 15799 * UIProcess/API/gtk/WebKitPrivate.h: 15800 * UIProcess/API/gtk/WebKitWebView.cpp: 15801 * UIProcess/API/gtk/tests/TestMain.h: 15802 158032012-02-06 Matthew Delaney <mdelaney@apple.com> 15804 15805 toDataURL() uses stale data after putImageData() 15806 https://bugs.webkit.org/show_bug.cgi?id=65767 15807 15808 Reviewed by Chris Marrin. 15809 15810 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 15811 (InitWebCoreSystemInterface): 15812 158132012-02-06 Ryosuke Niwa <rniwa@webkit.org> 15814 15815 gcc build fix after r106749. 15816 15817 * UIProcess/WebPreferences.cpp: 15818 (WebKit::WebPreferences::WebPreferences): 15819 158202012-02-06 Martin Robinson <mrobinson@igalia.com> 15821 15822 [GTK] WebKitWebView does a lot of work during size_allocate when not mapped 15823 https://bugs.webkit.org/show_bug.cgi?id=77743 15824 15825 Reviewed by Gustavo Noronha Silva. 15826 15827 Instead of resizing the guts of a WebView when it's not mapped, wait 15828 until it's mapped and do one resize. This prevents unmapped WebViews 15829 from adding to a container's resize cost. 15830 15831 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 15832 (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap. 15833 (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper. 15834 (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews. 15835 (webkitWebViewBaseMap): Added this vmethod implementation. 15836 (webkit_web_view_base_class_init): Added vmethod. 15837 158382012-02-06 Allan Sandfeld Jensen <allan.jensen@nokia.com> 15839 15840 WebGestureEvent can not encode delta and area. 15841 https://bugs.webkit.org/show_bug.cgi?id=77728 15842 15843 Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture. 15844 15845 Reviewed by Kenneth Rohde Christiansen. 15846 15847 * Shared/WebEvent.h: 15848 (WebKit::WebGestureEvent::area): 15849 (WebKit::WebGestureEvent::delta): 15850 * Shared/WebEventConversion.cpp: 15851 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): 15852 * Shared/WebGestureEvent.cpp: 15853 (WebKit::WebGestureEvent::WebGestureEvent): 15854 (WebKit::WebGestureEvent::encode): 15855 (WebKit::WebGestureEvent::decode): 15856 * UIProcess/qt/QtWebPageEventHandler.cpp: 15857 (QtWebPageEventHandler::handleSingleTapEvent): 15858 158592012-02-03 Zalan Bujtas <zbujtas@gmail.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 15860 15861 [Qt][WK2] Remove TiledDrawingArea and dependencies. 15862 https://bugs.webkit.org/show_bug.cgi?id=71681 15863 15864 Reviewed by Kenneth Rohde Christiansen. 15865 15866 Tiled drawing surface functionality got converted to LayerTree. 15867 TiledDrawingArea and its dependencies are not used by any port anymore. 15868 15869 * CMakeLists.txt: 15870 * GNUmakefile.am: 15871 * Shared/DrawingAreaInfo.h: 15872 * Target.pri: 15873 * UIProcess/API/qt/qquickwebpage.cpp: 15874 (QQuickWebPagePrivate::QQuickWebPagePrivate): 15875 * UIProcess/API/qt/qquickwebpage_p.h: 15876 * UIProcess/API/qt/qquickwebpage_p_p.h: 15877 (QQuickWebPagePrivate): 15878 * UIProcess/DrawingAreaProxy.h: 15879 * UIProcess/DrawingAreaProxy.messages.in: 15880 * UIProcess/TiledDrawingAreaProxy.cpp: Removed. 15881 * UIProcess/TiledDrawingAreaProxy.h: Removed. 15882 * UIProcess/qt/QtSGTileNode.cpp: Removed. 15883 * UIProcess/qt/QtSGTileNode.h: Removed. 15884 * UIProcess/qt/QtSGUpdateQueue.cpp: Removed. 15885 * UIProcess/qt/QtSGUpdateQueue.h: Removed. 15886 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed. 15887 * WebProcess/WebPage/DrawingArea.cpp: 15888 (WebKit::DrawingArea::create): 15889 * WebProcess/WebPage/DrawingArea.h: 15890 * WebProcess/WebPage/DrawingArea.messages.in: 15891 * WebProcess/WebPage/TiledDrawingArea.cpp: Removed. 15892 * WebProcess/WebPage/TiledDrawingArea.h: Removed. 15893 * WebProcess/WebPage/WebPage.h: 15894 (WebPage): 15895 158962012-02-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 15897 15898 [Qt] Don't version QtWebKit.experimental. 15899 https://bugs.webkit.org/show_bug.cgi?id=77739 15900 15901 Reviewed by Tor Arne Vestbø. 15902 15903 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: 15904 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 15905 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 15906 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: 15907 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: 15908 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: 15909 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 15910 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: 15911 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 15912 159132012-02-06 Carlos Garcia Campos <cgarcia@igalia.com> 15914 15915 [GTK] Fix several gtkdoc-fixxref warnings 15916 https://bugs.webkit.org/show_bug.cgi?id=77613 15917 15918 Reviewed by Martin Robinson. 15919 15920 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a 15921 colon was missing in WebKitWebView::ready-to-show. 15922 159232012-02-05 Dan Bernstein <mitz@apple.com> 15924 15925 <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true 15926 https://bugs.webkit.org/show_bug.cgi?id=77823 15927 15928 Reviewed by Anders Carlsson. 15929 15930 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 15931 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: 15932 (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls 15933 through to the client if it implements shouldUseCredentialStorage. Returns true otherwise. 15934 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 15935 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15936 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected 15937 bundle resource load client. 15938 159392012-02-04 Dan Bernstein <mitz@apple.com> 15940 15941 <rdar://problem/10660698> Clients cannot prevent caching of individual responses 15942 https://bugs.webkit.org/show_bug.cgi?id=77822 15943 15944 Reviewed by Sam Weinig. 15945 15946 * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for 15947 WKBundlePageResourceLoadClient. 15948 * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient. 15949 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback 15950 typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped 15951 kWKBundlePageResourceLoadClientCurrentVersion to 1. 15952 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: 15953 (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through 15954 to the client if it implements shouldCacheResponse. Returns true otherwise. 15955 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 15956 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15957 (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call 15958 InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former 15959 returns false. 15960 (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call 15961 InjectedBundlePageResourceLoadClient::shouldCacheResponse(). 15962 159632012-02-04 Sam Weinig <sam@webkit.org> 15964 15965 Add ability to send WKURLRequests in WebKit2 API user messages 15966 https://bugs.webkit.org/show_bug.cgi?id=77819 15967 15968 Reviewed by Anders Carlsson. 15969 15970 Test: WebKit2UserMessageRoundTripTest API test. 15971 15972 * Shared/UserMessageCoders.h: 15973 (WebKit::UserMessageEncoder::baseEncode): 15974 (WebKit::UserMessageDecoder::baseDecode): 15975 Add encode/decode for WebURLRequest. 15976 159772012-02-04 Dan Bernstein <mitz@apple.com> 15978 15979 <rdar://problem/10772406> WKPreferences instances cannot be copied 15980 https://bugs.webkit.org/show_bug.cgi?id=77816 15981 15982 Reviewed by Sam Weinig. 15983 15984 Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp. 15985 15986 * UIProcess/API/C/WKPreferences.cpp: 15987 (WKPreferencesCreateCopy): Added. 15988 * UIProcess/API/C/WKPreferencesPrivate.h: 15989 * UIProcess/WebPreferences.cpp: 15990 (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the 15991 WebPreferencesStore of the given WebPreferences. 15992 * UIProcess/WebPreferences.h: 15993 (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences 15994 instance and creates a new instance with a copy of the given instance’s store. 15995 159962012-02-03 Anders Carlsson <andersca@apple.com> 15997 15998 WebKit2 should dispatch wheel events to the new ScrollingTree class 15999 https://bugs.webkit.org/show_bug.cgi?id=77795 16000 16001 Reviewed by Andreas Kling. 16002 16003 Replace all uses of ScrollingCoordinator with ScrollingTree instead. 16004 Also, don't try to handle gesture events on the scrolling thread anymore; 16005 we don't need to to that right now. 16006 16007 * WebProcess/WebPage/EventDispatcher.cpp: 16008 (WebKit::EventDispatcher::addScrollingTreeForPage): 16009 (WebKit::EventDispatcher::removeScrollingTreeForPage): 16010 (WebKit::EventDispatcher::wheelEvent): 16011 (WebKit::EventDispatcher::gestureEvent): 16012 * WebProcess/WebPage/EventDispatcher.h: 16013 (WebCore): 16014 (EventDispatcher): 16015 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16016 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 16017 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 16018 160192012-02-03 Alexey Proskuryakov <ap@apple.com> 16020 16021 [WK2 Mac] No need to allow access to input methods or keyboard layouts 16022 https://bugs.webkit.org/show_bug.cgi?id=77775 16023 <rdar://problem/9276253> 16024 <rdar://problem/9276268> 16025 16026 Reviewed by Dan Bernstein. 16027 16028 * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days 16029 of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know 16030 about that. 16031 160322012-02-03 Alexey Proskuryakov <ap@apple.com> 16033 16034 [WK2] Use properly quoted string literals 16035 https://bugs.webkit.org/show_bug.cgi?id=77583 16036 16037 Reviewed by Darin Adler. 16038 16039 Also added some FIXMEs. 16040 16041 * WebProcess/com.apple.WebProcess.sb: 16042 160432012-02-03 Brady Eidson <beidson@apple.com> 16044 16045 <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766 16046 Need a WK2 API to filter which subframes go into WebArchives as they are created. 16047 16048 Reviewed by Darin Adler. 16049 16050 Add a new WKBundleFrame API that takes a filter callback object to allow or reject 16051 subframes from a WebArchive: 16052 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 16053 (WKBundleFrameCopyWebArchive): 16054 (WKBundleFrameCopyWebArchiveFilteringSubframes): 16055 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 16056 16057 Implement the above API by calling through to WebCore: 16058 * WebProcess/WebPage/WebFrame.cpp: 16059 (WebFrameFilter): 16060 (WebKit::WebFrameFilter::WebFrameFilter): 16061 (WebKit::WebFrameFilter::shouldIncludeSubframe): 16062 (WebKit::WebFrame::webArchiveData): 16063 * WebProcess/WebPage/WebFrame.h: 16064 (WebFrame): 16065 16066 * WebProcess/WebPage/WebPage.cpp: 16067 (WebKit::WebPage::getWebArchiveOfFrame): 16068 160692012-02-03 Alexey Proskuryakov <ap@apple.com> 16070 16071 [Mac WK2] Use a minimally invasive way to fake plug-in process name 16072 https://bugs.webkit.org/show_bug.cgi?id=77682 16073 16074 Reviewed by Darin Adler. 16075 16076 * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule): 16077 Only change the name as it's seen from within the process. 16078 16079 * Shared/Plugins/PluginQuirks.h: Fixed a typo. 16080 160812012-02-03 Beth Dakin <bdakin@apple.com> 16082 16083 https://bugs.webkit.org/show_bug.cgi?id=77691 16084 Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 16085 of device scale 16086 16087 Reviewed by Andy Estes. 16088 16089 toUserSpace() and toDeviceSpace() don't need to take device scale. 16090 * UIProcess/API/mac/WKView.mm: 16091 (-[WKView _convertToDeviceSpace:]): 16092 (-[WKView _convertToUserSpace:]): 16093 160942012-02-03 No'am Rosenthal <noam.rosenthal@nokia.com> 16095 16096 [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible. 16097 https://bugs.webkit.org/show_bug.cgi?id=77148 16098 16099 Reviewed by Martin Robinson. 16100 16101 Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly. 16102 Remove calls to unused API. 16103 16104 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16105 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 16106 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 16107 (WebKit::LayerTreeHostProxy::createImage): 16108 (WebKit::LayerTreeHostProxy::ensureRootLayer): 16109 161102012-02-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16111 16112 [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior. 16113 https://bugs.webkit.org/show_bug.cgi?id=77632 16114 16115 Reviewed by Kenneth Rohde Christiansen. 16116 16117 Replace the runtime property setting the desktop behavior on each instance 16118 by a static boolean controlling the behavior used by future created WebViews. 16119 16120 * UIProcess/API/qt/qquickwebpage.cpp: 16121 Let only setContentsSize control the size of the drawing area instead of deferring 16122 it until geometryChanged is called. 16123 (QQuickWebPagePrivate::QQuickWebPagePrivate): 16124 * UIProcess/API/qt/qquickwebpage_p.h: 16125 * UIProcess/API/qt/qquickwebpage_p_p.h: 16126 (QQuickWebPagePrivate): 16127 * UIProcess/API/qt/qquickwebview.cpp: 16128 (createPrivateObject): 16129 (QQuickWebViewPrivate::QQuickWebViewPrivate): 16130 (QQuickWebViewPrivate::~QQuickWebViewPrivate): 16131 (QQuickWebViewPrivate::initialize): 16132 (QQuickWebViewPrivate::processDidCrash): 16133 (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate): 16134 (QQuickWebViewLegacyPrivate::initialize): 16135 (QQuickWebViewLegacyPrivate::updateViewportSize): 16136 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate): 16137 (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate): 16138 (QQuickWebViewFlickablePrivate::initialize): 16139 (QQuickWebViewFlickablePrivate::loadDidCommit): 16140 (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout): 16141 (QQuickWebViewFlickablePrivate::didChangeViewportProperties): 16142 (QQuickWebViewFlickablePrivate::updateViewportSize): 16143 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale): 16144 (QQuickWebViewFlickablePrivate::_q_suspend): 16145 (QQuickWebViewFlickablePrivate::_q_resume): 16146 (QQuickWebViewFlickablePrivate::pageDidRequestScroll): 16147 (QQuickWebViewFlickablePrivate::didChangeContentsSize): 16148 (QQuickWebViewFlickablePrivate::computeViewportConstraints): 16149 (QQuickWebViewFlickablePrivate::PostTransitionState::apply): 16150 (QQuickWebViewExperimental::setFlickableViewportEnabled): 16151 The switch is now a static function that has to be called before a WebView 16152 is created. The switch can have it's default defined by the deploying platform. 16153 (QQuickWebViewExperimental::flickableViewportEnabled): 16154 (QQuickWebView::QQuickWebView): 16155 On creation of QQuickWebView, the static boolean is read to know if we want 16156 a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate. 16157 (QQuickWebView::geometryChanged): 16158 * UIProcess/API/qt/qquickwebview_p.h: 16159 * UIProcess/API/qt/qquickwebview_p_p.h: 16160 (QQuickWebViewPrivate): 16161 (QQuickWebViewPrivate::loadDidCommit): 16162 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 16163 (QQuickWebViewPrivate::didChangeViewportProperties): 16164 (QQuickWebViewPrivate::viewportInteractionEngine): 16165 (QQuickWebViewPrivate::updateViewportSize): 16166 (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale): 16167 (QQuickWebViewPrivate::_q_suspend): 16168 (QQuickWebViewPrivate::_q_resume): 16169 (QQuickWebViewPrivate::pageDidRequestScroll): 16170 (QQuickWebViewPrivate::didChangeContentsSize): 16171 (QQuickWebViewLegacyPrivate): 16172 (QQuickWebViewFlickablePrivate): 16173 (QQuickWebViewFlickablePrivate::viewportInteractionEngine): 16174 (PostTransitionState): 16175 (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState): 16176 * UIProcess/API/qt/qwebviewportinfo.cpp: 16177 (QWebViewportInfo::currentScale): 16178 (QWebViewportInfo::devicePixelRatio): 16179 (QWebViewportInfo::initialScale): 16180 (QWebViewportInfo::minimumScale): 16181 (QWebViewportInfo::maximumScale): 16182 (QWebViewportInfo::isScalable): 16183 (QWebViewportInfo::layoutSize): 16184 * UIProcess/API/qt/tests/publicapi/publicapi.pro: 16185 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added. 16186 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed. 16187 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed 16188 from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml. 16189 Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation. 16190 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 16191 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 16192 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 16193 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 16194 * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied 16195 from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro. 16196 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 16197 Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView. 16198 The former runs without setFlickableViewportEnabled and the later does. 16199 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 16200 (main): 16201 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: 16202 * UIProcess/API/qt/tests/tests.pri: 16203 * UIProcess/qt/QtWebPageEventHandler.cpp: 16204 (QtWebPageEventHandler::QtWebPageEventHandler): 16205 162062012-02-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16207 16208 [Qt] Rename content* to contents* in QQuickWebPage. 16209 https://bugs.webkit.org/show_bug.cgi?id=77629 16210 16211 Reviewed by Kenneth Rohde Christiansen. 16212 16213 * UIProcess/API/qt/qquickwebpage.cpp: 16214 (QQuickWebPagePrivate::QQuickWebPagePrivate): 16215 (QQuickWebPagePrivate::paintToCurrentGLContext): 16216 (QQuickWebPage::setContentsSize): 16217 (QQuickWebPage::contentsSize): 16218 (QQuickWebPage::setContentsScale): 16219 (QQuickWebPage::contentsScale): 16220 (QQuickWebPage::transformToItem): 16221 (QQuickWebPagePrivate::updateSize): 16222 * UIProcess/API/qt/qquickwebpage_p.h: 16223 * UIProcess/API/qt/qquickwebpage_p_p.h: 16224 (QQuickWebPagePrivate): 16225 * UIProcess/API/qt/qquickwebview.cpp: 16226 (QQuickWebViewPrivate::didChangeContentsSize): 16227 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 16228 (QQuickWebViewPrivate::PostTransitionState::apply): 16229 * UIProcess/API/qt/qwebviewportinfo.cpp: 16230 (QWebViewportInfo::contentsSize): 16231 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 16232 (tst_QQuickWebView::scrollRequest): 16233 * UIProcess/qt/QtViewportInteractionEngine.cpp: 16234 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 16235 (WebKit::QtViewportInteractionEngine::event): 16236 (WebKit::QtViewportInteractionEngine::wheelEvent): 16237 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 16238 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 16239 (WebKit::QtViewportInteractionEngine::applyConstraints): 16240 (WebKit::QtViewportInteractionEngine::currentCSSScale): 16241 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 16242 (WebKit::QtViewportInteractionEngine::scaleContent): 16243 162442012-02-03 Simon Hausmann <simon.hausmann@nokia.com> 16245 16246 [Qt] Fix build when cross-compiling 16247 https://bugs.webkit.org/show_bug.cgi?id=77634 16248 16249 Reviewed by Tor Arne Vestbø. 16250 16251 * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc 16252 is in use or not. More specifically this fixes the case where the makespace 16253 is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++. 16254 162552012-02-03 Shinya Kawanaka <shinyak@google.com> 16256 16257 Stop calling Element::ensureShadowRoot in Internals. 16258 https://bugs.webkit.org/show_bug.cgi?id=77612 16259 16260 Reviewed by Hajime Morita. 16261 16262 Exports symbols. 16263 16264 * win/WebKit2.def: 16265 * win/WebKit2CFLite.def: 16266 162672012-02-02 Sheriff Bot <webkit.review.bot@gmail.com> 16268 16269 Unreviewed, rolling out r106620. 16270 http://trac.webkit.org/changeset/106620 16271 https://bugs.webkit.org/show_bug.cgi?id=77716 16272 16273 It broke non ENABLE(3D_RENDERING) builds (Requested by 16274 Ossy_morning on #webkit). 16275 16276 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16277 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 16278 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 16279 (WebKit::LayerTreeHostProxy::createImage): 16280 (WebKit::LayerTreeHostProxy::ensureRootLayer): 16281 162822012-02-02 No'am Rosenthal <noam.rosenthal@nokia.com> 16283 16284 [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible. 16285 https://bugs.webkit.org/show_bug.cgi?id=77148 16286 16287 Reviewed by Martin Robinson. 16288 16289 Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly. 16290 Remove calls to unused API. 16291 16292 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16293 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 16294 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 16295 (WebKit::LayerTreeHostProxy::createImage): 16296 (WebKit::LayerTreeHostProxy::ensureRootLayer): 16297 162982012-02-02 Jon Lee <jonlee@apple.com> 16299 16300 Clear shown notifications when context is no longer active 16301 https://bugs.webkit.org/show_bug.cgi?id=77363 16302 <rdar://problem/10568907> 16303 16304 Reviewed by Darin Adler. 16305 16306 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 16307 (WebKit::WebNotificationClient::clearNotifications): Forward the call to 16308 WebNotificationManager. 16309 * WebProcess/WebCoreSupport/WebNotificationClient.h: 16310 (WebNotificationClient): 16311 16312 * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps 16313 all notifications associated with a given ScriptExecutionContext instance. 16314 * WebProcess/Notifications/WebNotificationManager.cpp: 16315 (WebKit::WebNotificationManager::show): Create a map entry for the notification's 16316 context if it doesn't exist already, and note that notification's ID. Also, correct 16317 the return value of show() if notifications are not enabled, to return false. 16318 (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed, 16319 we remove that notification from the map. 16320 (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given 16321 context, and pass that along to the proxy so that all of the notifications with those IDs 16322 can be cleared. In the meantime, we remove that context's map entry. 16323 16324 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications() 16325 message. 16326 * UIProcess/Notifications/WebNotificationManagerProxy.h: 16327 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 16328 (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider. 16329 Then remove this proxy's entries for the given notification IDs. 16330 16331 * UIProcess/Notifications/WebNotificationProvider.cpp: 16332 (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable 16333 array. 16334 * UIProcess/Notifications/WebNotificationProvider.h: 16335 (WebNotificationProvider): 16336 16337 * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications. 16338 16339 Remove the #if guard since they already exist in WebNotificationManager functions: 16340 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 16341 (WebKit::WebNotificationClient::show): 16342 (WebKit::WebNotificationClient::cancel): 16343 (WebKit::WebNotificationClient::notificationObjectDestroyed): 16344 163452012-02-02 Anders Carlsson <andersca@apple.com> 16346 16347 NPAPI will not send mouse up events when mouse is outside plugin area 16348 https://bugs.webkit.org/show_bug.cgi?id=77657 16349 <rdar://problem/10160674> 16350 16351 Reviewed by Andreas Kling. 16352 16353 Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down. 16354 16355 * WebProcess/Plugins/PluginView.cpp: 16356 (WebKit::PluginView::handleEvent): 16357 163582012-02-02 Claudio Saavedra <csaavedra@igalia.com> and Martin Robinson <mrobinson@igalia.com> 16359 16360 [GTK] WebKitWebView won't work in a GtkOffscreenWindow 16361 https://bugs.webkit.org/show_bug.cgi?id=76911 16362 16363 Reviewed by Philippe Normand. 16364 16365 * UIProcess/API/gtk/WebKitUIClient.cpp: 16366 (getWindowFrame): Use the new helper. 16367 * UIProcess/API/gtk/WebKitWebView.cpp: 16368 (webkitWebViewCreateJavaScriptDialog): Ditto 16369 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 16370 (webkitWebViewBaseRealize): Ditto. 16371 (webkitWebViewBaseSizeAllocate): Ditto. 16372 (webkitWebViewBaseFocusInEvent): Ditto. 16373 163742012-02-01 Philippe Normand <pnormand@igalia.com> 16375 16376 [GStreamer] FFTFrame implementation 16377 https://bugs.webkit.org/show_bug.cgi?id=73545 16378 16379 Reviewed by Chris Rogers. 16380 16381 * GNUmakefile.am: Remove libfftw compilation flags. 16382 163832012-02-01 No'am Rosenthal <noam.rosenthal@nokia.com> 16384 16385 [Texmap] Use glScissors for clipping in TextureMapperGL when possible 16386 https://bugs.webkit.org/show_bug.cgi?id=77575 16387 16388 Reviewed by Martin Robinson. 16389 16390 Instead of applying the scissor clip in QQuickWebPage, we trickle it down to 16391 TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are 16392 now cleaned out of QQuickWebPage. 16393 16394 * UIProcess/API/qt/qquickwebpage.cpp: 16395 (QQuickWebPagePrivate::paintToCurrentGLContext): 16396 * UIProcess/DrawingAreaProxy.h: 16397 (WebKit::DrawingAreaProxy::paintToCurrentGLContext): 16398 * UIProcess/DrawingAreaProxyImpl.cpp: 16399 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext): 16400 * UIProcess/DrawingAreaProxyImpl.h: 16401 (DrawingAreaProxyImpl): 16402 * UIProcess/LayerTreeHostProxy.h: 16403 (LayerTreeHostProxy): 16404 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16405 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 16406 164072012-02-01 Dan Bernstein <mitz@apple.com> 16408 16409 WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after} 16410 https://bugs.webkit.org/show_bug.cgi?id=77505 16411 16412 Reviewed by Darin Adler. 16413 16414 * Shared/WebPageCreationParameters.cpp: 16415 (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns. 16416 (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns. 16417 * Shared/WebPageCreationParameters.h: 16418 (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean. 16419 * UIProcess/API/C/WKPage.cpp: 16420 (WKPageSetPaginationBehavesLikeColumns): Added this setter. 16421 (WKPageGetPaginationBehavesLikeColumns): Added this getter. 16422 * UIProcess/API/C/WKPagePrivate.h: 16423 * UIProcess/API/mac/WKBrowsingContextController.mm: 16424 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C 16425 wrapper around WKPageSetPaginationBehavesLikeColumns. 16426 (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper 16427 around WKPageGetPaginationBehavesLikeColumns. 16428 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: 16429 * UIProcess/WebPageProxy.cpp: 16430 (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with 16431 the value from the creation parameters. 16432 (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter. 16433 (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns. 16434 * UIProcess/WebPageProxy.h: 16435 (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter. 16436 * WebProcess/WebPage/WebPage.cpp: 16437 (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter. 16438 * WebProcess/WebPage/WebPage.h: 16439 * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message. 16440 164412012-02-01 Anders Carlsson <andersca@apple.com> 16442 16443 REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari 16444 https://bugs.webkit.org/show_bug.cgi?id=77578 16445 <rdar://problem/10767174> 16446 16447 Reviewed by Dan Bernstein. 16448 16449 Resizing a window will always invalidate the window backing store, so make sure to set 16450 _data->_windowHasValidBackingStore to NO whenever that happens. 16451 16452 * UIProcess/API/mac/WKView.mm: 16453 (-[WKView addWindowObserversForWindow:]): 16454 Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications. 16455 16456 (-[WKView _windowDidMove:]): 16457 Call -[WKView _updateWindowAndViewFrames]. 16458 16459 (-[WKView _windowDidResize:]): 16460 Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid. 16461 164622012-02-01 Beth Dakin <bdakin@apple.com> 16463 16464 https://bugs.webkit.org/show_bug.cgi?id=77383 16465 Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with 16466 -and corresponding- 16467 <rdar://problem/10709560> 16468 16469 Reviewed by Sam Weinig. 16470 16471 Machinery for didNewFirstVisuallNonEmptyLayout. 16472 * UIProcess/API/C/WKPage.h: 16473 * UIProcess/WebLoaderClient.cpp: 16474 (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout): 16475 (WebKit): 16476 * UIProcess/WebLoaderClient.h: 16477 (WebLoaderClient): 16478 * UIProcess/WebPageProxy.cpp: 16479 (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout): 16480 (WebKit): 16481 * UIProcess/WebPageProxy.h: 16482 (WebPageProxy): 16483 * UIProcess/WebPageProxy.messages.in: 16484 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 16485 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): 16486 (WebKit): 16487 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 16488 (WebFrameLoaderClient): 16489 16490 This temporary API allows the client to specify the threshold for the painted 16491 objects counter on Page. This is temporary. 16492 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 16493 (WKBundlePageSetPaintedObjectsCounterThreshold): 16494 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 16495 * WebProcess/WebPage/WebPage.cpp: 16496 (WebKit::WebPage::setPaintedObjectsCounterThreshold): 16497 (WebKit): 16498 * WebProcess/WebPage/WebPage.h: 16499 (WebPage): 16500 165012012-01-31 Alexey Proskuryakov <ap@apple.com> 16502 16503 REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian 16504 https://bugs.webkit.org/show_bug.cgi?id=77473 16505 <rdar://problem/10751357> 16506 16507 Reviewed by Darin Adler. 16508 16509 * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of 16510 WebCore ones. 16511 165122012-01-31 Alexey Proskuryakov <ap@apple.com> 16513 16514 PluginProcess should be able to use remote open and save panels 16515 https://bugs.webkit.org/show_bug.cgi?id=77461 16516 <rdar://problem/10783615> 16517 16518 Reviewed by Mark Rowe. 16519 16520 * PluginProcess/mac/PluginProcess.entitlements: Added. 16521 * PluginProcess/mac/add-entitlements.sh: Added. 16522 * WebKit2.xcodeproj/project.pbxproj: 16523 Add appropriate entitlement, plus ad hoc binary signing for it to work. 16524 165252012-01-31 Allan Sandfeld Jensen <allan.jensen@nokia.com> 16526 16527 Ensure tiles are repainted when scrolling using mouse wheel. 16528 https://bugs.webkit.org/show_bug.cgi?id=77339 16529 16530 A new slot visibleContentRectAndScaleChanged has been added 16531 that is emited by non-animated scrolling code in the 16532 QtViewportInteractionEngine. 16533 16534 Reviewed by Kenneth Rohde Christiansen. 16535 16536 * UIProcess/API/qt/qquickwebview.cpp: 16537 (QQuickWebViewPrivate::initializeDesktop): 16538 (QQuickWebViewPrivate::initializeTouch): 16539 (QQuickWebViewPrivate::_q_resume): 16540 (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale): 16541 (QQuickWebViewPrivate::updateTouchViewportSize): 16542 * UIProcess/API/qt/qquickwebview_p.h: 16543 * UIProcess/API/qt/qquickwebview_p_p.h: 16544 (QQuickWebViewPrivate): 16545 * UIProcess/qt/QtViewportInteractionEngine.cpp: 16546 (WebKit::QtViewportInteractionEngine::wheelEvent): 16547 * UIProcess/qt/QtViewportInteractionEngine.h: 16548 (QtViewportInteractionEngine): 16549 165502012-01-31 Zeno Albisser <zeno@webkit.org> 16551 16552 [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes. 16553 https://bugs.webkit.org/show_bug.cgi?id=77417 16554 16555 Make the UIProcess decide about the encoding and display 16556 a warning in case no encoding was defined. 16557 Make the QQuickNetworkReply store a QWeakPointer to the 16558 QQuickWebViewExperimental to get rid of hackish chain of parental queries. 16559 16560 Reviewed by Simon Hausmann. 16561 16562 * UIProcess/API/qt/qquicknetworkreply.cpp: 16563 (QQuickNetworkReply::send): 16564 (QQuickNetworkReply::setWebViewExperimental): 16565 * UIProcess/API/qt/qquicknetworkreply_p.h: 16566 * UIProcess/API/qt/qquickwebview.cpp: 16567 (QQuickWebViewExperimental::schemeDelegates_Append): 16568 * WebProcess/qt/QtNetworkReply.cpp: 16569 (WebKit::QtNetworkReply::QtNetworkReply): 16570 (WebKit::QtNetworkReply::setReplyData): 16571 165722012-01-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16573 16574 [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent. 16575 https://bugs.webkit.org/show_bug.cgi?id=77362 16576 16577 Reviewed by Noam Rosenthal. 16578 16579 This fixes crashes seen in layout tests under certain timing circumstances 16580 that appeared after r106109 was landed. 16581 16582 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 16583 (WebCore::WebGraphicsLayer::replaceChild): 16584 (WebCore::WebGraphicsLayer::removeFromParent): 16585 165862012-01-30 Beth Dakin <bdakin@apple.com> 16587 16588 https://bugs.webkit.org/show_bug.cgi?id=77263 16589 PlatformScreenMac should not rely on NSWindow for important bits of data 16590 16591 Reviewed by Geoff Garen. 16592 16593 toUserSpace() and toDeviceSpace() now take a parameter for the 16594 deviceScaleFactor. 16595 * UIProcess/API/mac/WKView.mm: 16596 (-[WKView _convertToDeviceSpace:]): 16597 (-[WKView _convertToUserSpace:]): 16598 165992012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16600 16601 [Qt] WKTR: Use a software rendering pipiline when running tests. 16602 https://bugs.webkit.org/show_bug.cgi?id=76708 16603 16604 Reviewed by Kenneth Rohde Christiansen. 16605 16606 Animation layout tests require the graphics layers tree to be updated 16607 to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which 16608 prevents the rendering pipeline to run and then in turn blocks the web 16609 process from processing further graphics layer updates. 16610 16611 This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's 16612 message queue and render the layers in software on an offscreen buffer. 16613 16614 * UIProcess/API/qt/qquickwebpage.cpp: 16615 (QQuickWebPagePrivate::paint): 16616 * UIProcess/API/qt/qquickwebview.cpp: 16617 (QQuickWebViewPrivate::QQuickWebViewPrivate): 16618 (QQuickWebViewPrivate::setNeedsDisplay): 16619 (QQuickWebViewExperimental::setRenderToOffscreenBuffer): 16620 (QQuickWebViewExperimental::renderToOffscreenBuffer): 16621 * UIProcess/API/qt/qquickwebview_p.h: 16622 * UIProcess/API/qt/qquickwebview_p_p.h: 16623 (QQuickWebViewPrivate::setRenderToOffscreenBuffer): 16624 (QQuickWebViewPrivate::renderToOffscreenBuffer): 16625 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16626 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 16627 166282012-01-30 Andras Becsi <andras.becsi@nokia.com> 16629 16630 [Qt][WK2] Render layers do not get flushed when the scroll animation finishes 16631 https://bugs.webkit.org/show_bug.cgi?id=77338 16632 16633 Reviewed by Noam Rosenthal. 16634 16635 Schedule a layer flush when setting the visible content rect and scale. 16636 16637 Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16638 16639 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 16640 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 16641 166422012-01-30 Carlos Garcia Campos <cgarcia@igalia.com> 16643 16644 Unreviewed. Fix make distcheck. 16645 16646 * GNUmakefile.am: Add missing files. 16647 * WebProcess/WebPage/TapHighlightController.cpp: Add #if 16648 ENABLE(TOUCH_EVENTS). 16649 166502012-01-29 Sheriff Bot <webkit.review.bot@gmail.com> 16651 16652 Unreviewed, rolling out r106022. 16653 http://trac.webkit.org/changeset/106022 16654 https://bugs.webkit.org/show_bug.cgi?id=77305 16655 16656 It broke Qt-WK2 API tests (Requested by Ossy_weekend on 16657 #webkit). 16658 16659 * UIProcess/API/qt/qquickwebview.cpp: 16660 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 16661 (QQuickWebView::geometryChanged): 16662 * UIProcess/API/qt/qquickwebview_p.h: 16663 * UIProcess/API/qt/qwebviewportinfo.cpp: 16664 (QWebViewportInfo::currentScale): 16665 (QWebViewportInfo::devicePixelRatio): 16666 (QWebViewportInfo::initialScale): 16667 (QWebViewportInfo::minimumScale): 16668 (QWebViewportInfo::maximumScale): 16669 (QWebViewportInfo::isScalable): 16670 (QWebViewportInfo::layoutSize): 16671 166722012-01-29 Sheriff Bot <webkit.review.bot@gmail.com> 16673 16674 Unreviewed, rolling out r106109. 16675 http://trac.webkit.org/changeset/106109 16676 https://bugs.webkit.org/show_bug.cgi?id=77302 16677 16678 It made tests crash (Requested by Ossy_weekend on #webkit). 16679 16680 * UIProcess/API/qt/qquickwebpage.cpp: 16681 * UIProcess/API/qt/qquickwebpage_p_p.h: 16682 (QQuickWebPagePrivate): 16683 * UIProcess/API/qt/qquickwebview.cpp: 16684 (QQuickWebViewPrivate::QQuickWebViewPrivate): 16685 * UIProcess/API/qt/qquickwebview_p.h: 16686 * UIProcess/API/qt/qquickwebview_p_p.h: 16687 (QQuickWebViewPrivate): 16688 * UIProcess/DrawingAreaProxy.h: 16689 * UIProcess/DrawingAreaProxyImpl.cpp: 16690 * UIProcess/DrawingAreaProxyImpl.h: 16691 (DrawingAreaProxyImpl): 16692 * UIProcess/LayerTreeHostProxy.h: 16693 (LayerTreeHostProxy): 16694 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16695 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 16696 * UIProcess/qt/QtPageClient.cpp: 16697 (QtPageClient::setViewNeedsDisplay): 16698 166992012-01-27 Fady Samuel <fsamuel@chromium.org> 16700 16701 Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting 16702 https://bugs.webkit.org/show_bug.cgi?id=76459 16703 16704 Reviewed by Darin Fisher. 16705 16706 * win/WebKit2.def: 16707 * win/WebKit2CFLite.def: 16708 167092012-01-27 Martin Robinson <mrobinson@igalia.com> 16710 16711 Fix a compilation warning in a WebKit2 GTK+ API test. 16712 16713 Reviewed by Gustavo Noronha Silva. 16714 16715 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: 16716 (testBackForwardListLimitAndCache): Use an int instead of size_t 16717 because we want to print them as ints and do subtraction on them. 16718 167192012-01-27 Martin Robinson <mrobinson@igalia.com> 16720 16721 [GTK] [WK2] Implement the policy client 16722 https://bugs.webkit.org/show_bug.cgi?id=76343 16723 16724 Reviewed by Gustavo Noronha Silva. 16725 16726 Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision, 16727 and add the decide-policy signal to WebKitWebView. 16728 16729 * GNUmakefile.am: Add new files to the source list. 16730 * UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because 16731 of changes to ASSERT_MATCHING_ENUMS. 16732 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added. 16733 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added. 16734 * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added. 16735 * UIProcess/API/gtk/WebKitPolicyClient.cpp: Added. 16736 * UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added. 16737 * UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added. 16738 * UIProcess/API/gtk/WebKitPolicyDecision.h: Added. 16739 * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added. 16740 * UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make 16741 it useful for non-WebCore enums. 16742 * UIProcess/API/gtk/WebKitWebView.cpp: 16743 (webkitWebViewConstructed): Attach the policy client callbacks to the page. 16744 (webkit_web_view_class_init): Add the decide-policy signal definition. 16745 (webkitWebViewMakePolicyDecision): Added this private method to fire the signal. 16746 * UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list. 16747 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration. 16748 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs. 16749 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto. 16750 * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list. 16751 * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added. 16752 * UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature. 16753 167542012-01-27 Ada Chan <adachan@apple.com> 16755 16756 Add API to get the parent frame in WKBundleFrameRef 16757 https://bugs.webkit.org/show_bug.cgi?id=77161 16758 16759 Reviewed by Anders Carlsson. 16760 16761 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 16762 (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame(). 16763 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 16764 * WebProcess/WebPage/WebFrame.cpp: 16765 (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element. 16766 Otherwise, return the owner element's frame. 16767 * WebProcess/WebPage/WebFrame.h: 16768 167692012-01-27 Gustavo Noronha Silva <gns@gnome.org> 16770 16771 [GTK] Sometimes fails to build when using make -j 16772 https://bugs.webkit.org/show_bug.cgi?id=77226 16773 16774 Reviewed by Martin Robinson. 16775 16776 * GNUmakefile.am: use a different name for the scripts used to 16777 generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not 16778 clash; 16779 167802012-01-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16781 16782 Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner. 16783 https://bugs.webkit.org/show_bug.cgi?id=77220 16784 16785 Reviewed by Noam Rosenthal. 16786 16787 * WebProcess/InjectedBundle/InjectedBundle.cpp: 16788 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName. 16789 167902012-01-27 Carlos Garcia Campos <cgarcia@igalia.com> 16791 16792 [GTK] Add a GKeyFile especialization to GOwnPtr 16793 https://bugs.webkit.org/show_bug.cgi?id=77191 16794 16795 Reviewed by Martin Robinson. 16796 16797 * Shared/gtk/ArgumentCodersGtk.cpp: 16798 (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile. 16799 (CoreIPC::encode): Ditto. 16800 (CoreIPC::decode): Ditto. 16801 168022012-01-27 Kenneth Rohde Christiansen <kenneth@webkit.org> 16803 16804 [Qt] Fade out tap highlighting when starting to pan 16805 https://bugs.webkit.org/show_bug.cgi?id=77202 16806 16807 Reviewed by Simon Hausmann. 16808 16809 Basically we need to fade out the potential tap highlighting 16810 when ever the gesture recognition fails or another gesture 16811 is recognized. We do that with this change. 16812 16813 * UIProcess/qt/QtTapGestureRecognizer.cpp: 16814 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 16815 (WebKit::QtTapGestureRecognizer::recognize): 16816 (WebKit::QtTapGestureRecognizer::reset): 16817 16818 Remove reset as it does nothing but call code before the 16819 event handler is installed. 16820 168212012-01-26 No'am Rosenthal <noam.rosenthal@nokia.com> and Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 16822 16823 [Qt] WKTR: Use a software rendering pipiline when running tests. 16824 https://bugs.webkit.org/show_bug.cgi?id=76708 16825 16826 Reviewed by Kenneth Rohde Christiansen. 16827 16828 Animation layout tests require the graphics layers tree to be updated 16829 to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which 16830 prevents the rendering pipeline to run and then in turn blocks the web 16831 process from processing further graphics layer updates. 16832 16833 This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's 16834 message queue and render the layers in software on an offscreen buffer. 16835 16836 * UIProcess/API/qt/qquickwebpage.cpp: 16837 (QQuickWebPagePrivate::paint): 16838 * UIProcess/API/qt/qquickwebview.cpp: 16839 (QQuickWebViewPrivate::QQuickWebViewPrivate): 16840 (QQuickWebViewPrivate::setNeedsDisplay): 16841 (QQuickWebViewExperimental::setRenderToOffscreenBuffer): 16842 (QQuickWebViewExperimental::renderToOffscreenBuffer): 16843 * UIProcess/API/qt/qquickwebview_p.h: 16844 * UIProcess/API/qt/qquickwebview_p_p.h: 16845 (QQuickWebViewPrivate::setRenderToOffscreenBuffer): 16846 (QQuickWebViewPrivate::renderToOffscreenBuffer): 16847 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 16848 (WebKit::LayerTreeHostProxy::paintToGraphicsContext): 16849 168502012-01-27 Simon Hausmann <simon.hausmann@nokia.com> 16851 16852 [Qt] Re-creating QQuickWebView starts new web process every time 16853 https://bugs.webkit.org/show_bug.cgi?id=77194 16854 16855 Reviewed by Kenneth Rohde Christiansen. 16856 16857 Since the WebKit::WebContext is never fully destructed due to circular 16858 references, we should use the real shared context instead of re-creating 16859 a new WebContext every time. 16860 16861 * UIProcess/qt/QtWebContext.cpp: 16862 (WebKit::QtWebContext::defaultContext): 16863 168642012-01-26 Carlos Garcia Campos <cgarcia@igalia.com> 16865 16866 [GTK] Add basic printing support to WebKit2 16867 https://bugs.webkit.org/show_bug.cgi?id=76172 16868 16869 Reviewed by Gustavo Noronha Silva. 16870 16871 * GNUmakefile.am: Add new files to compilation. 16872 * Shared/PrintInfo.cpp: 16873 (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and 16874 GtkPageSetup for the GTK+ port. 16875 (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and 16876 GtkPageSetup for the GTK+ port. 16877 * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member 16878 for the GTK+ port. 16879 * Shared/gtk/ArgumentCodersGtk.cpp: 16880 (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as 16881 a DataReference object. 16882 (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to 16883 a DataReference object. 16884 (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using 16885 the GKeyFile representation. 16886 (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using 16887 the GKeyFile representation. 16888 * Shared/gtk/ArgumentCodersGtk.h: 16889 * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp. 16890 (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that 16891 takes GtkPrintSettings and GtkPageSetup instances. 16892 * UIProcess/WebPageProxy.cpp: 16893 (WebKit::WebPageProxy::drawPagesForPrinting): Send 16894 DrawPagesForPrinting message to Web process to start printing. 16895 * UIProcess/WebPageProxy.h: 16896 * WebProcess/WebPage/WebPage.cpp: 16897 (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk. 16898 (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk 16899 object. 16900 (WebKit::WebPage::drawPagesForPrinting): Start printing pages. 16901 * WebProcess/WebPage/WebPage.h: 16902 * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message. 16903 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added. 16904 (WebKit::PrintPagesData::PrintPagesData): Struct to store all data 16905 used to render pages for printing. 16906 (WebKit::PrintPagesData::incrementPageSequence): Helper function 16907 to increment the page sequence. 16908 (WebKit::WebPrintOperationGtk::create): Create a 16909 WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on 16910 the platform. 16911 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): 16912 (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk): 16913 (WebKit::WebPrintOperationGtk::pageCount): Return the total pages 16914 of the document to print. 16915 (WebKit::WebPrintOperationGtk::rotatePage): Helper function to 16916 transform the context according to orientation. 16917 (WebKit::WebPrintOperationGtk::renderPage): Render the given page 16918 into the printing context. 16919 (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used 16920 to print pages. 16921 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback 16922 called when printPagesIdle finishes. 16923 (WebKit::WebPrintOperationGtk::printDone): Helper function to 16924 finish the print operation, called when all pages have been rendered. 16925 (WebKit::WebPrintOperationGtk::print): Start printing the document 16926 using the given cairo surface. 16927 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added. 16928 (WebKit::WebPrintOperationGtk::printSettings): 16929 (WebKit::WebPrintOperationGtk::pageSetup): 16930 (WebKit::WebPrintOperationGtk::pagesToPrint): 16931 (WebKit::WebPrintOperationGtk::pageRanges): 16932 (WebKit::WebPrintOperationGtk::pageRangesCount): 16933 169342012-01-26 Tim Horton <hortont424@gmail.com> 16935 16936 3D transformed elements hide when showing the print dialog 16937 https://bugs.webkit.org/show_bug.cgi?id=45894 16938 <rdar://problem/7441593> 16939 16940 Reviewed by Andy Estes. 16941 16942 Suspend updates of the compositing layer tree while printing is taking place, 16943 preventing on-screen layers from moving to their print-mode positions. 16944 16945 * WebProcess/WebPage/WebPage.cpp: 16946 (WebKit::WebPage::beginPrinting): 16947 (WebKit::WebPage::endPrinting): 16948 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 16949 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 16950 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 16951 (WebKit::LayerTreeHostCAMac::forceRepaint): 16952 (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges): 16953 169542012-01-26 Andras Becsi <andras.becsi@nokia.com> 16955 16956 [Qt][WK2] Add the componentComplete method to WebView 16957 https://bugs.webkit.org/show_bug.cgi?id=77111 16958 16959 Reviewed by Kenneth Rohde Christiansen. 16960 16961 Move the touch/desktop initialization to componentComplete. 16962 Also return valid default values in the viewport info functions 16963 if the interaction engine is not yet initialized because the 16964 viewport info component could finish initialization earlier 16965 than the WebView, which results in QML warnings during MiniBrowser 16966 startup. 16967 16968 * UIProcess/API/qt/qquickwebview.cpp: 16969 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 16970 (QQuickWebView::geometryChanged): 16971 (QQuickWebView::componentComplete): 16972 * UIProcess/API/qt/qquickwebview_p.h: 16973 * UIProcess/API/qt/qwebviewportinfo.cpp: 16974 (QWebViewportInfo::currentScale): 16975 (QWebViewportInfo::devicePixelRatio): 16976 (QWebViewportInfo::initialScale): 16977 (QWebViewportInfo::minimumScale): 16978 (QWebViewportInfo::maximumScale): 16979 (QWebViewportInfo::isScalable): 16980 (QWebViewportInfo::layoutSize): 16981 169822012-01-26 Anders Carlsson <andersca@apple.com> 16983 16984 WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit 16985 https://bugs.webkit.org/show_bug.cgi?id=77123 16986 16987 Reviewed by Beth Dakin. 16988 16989 * Shared/WebEvent.h: 16990 (): 16991 * Shared/mac/WebEventFactory.mm: 16992 (WebKit::phaseForEvent): 16993 169942012-01-26 Andras Becsi <andras.becsi@nokia.com> 16995 16996 ASSERT(!m_overlay) reached in TapHighlightController.cpp:73 16997 https://bugs.webkit.org/show_bug.cgi?id=77117 16998 16999 Reviewed by Tor Arne Vestbø. 17000 17001 The PageOverlay does only get uninstalled after the fade-out animation finishes, 17002 so do not assert on !m_overlay after the uninstallPageOverlay call. 17003 17004 * WebProcess/WebPage/TapHighlightController.cpp: 17005 (WebKit::TapHighlightController::hideHighlight): 17006 170072012-01-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 17008 17009 WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap 17010 https://bugs.webkit.org/show_bug.cgi?id=77109 17011 17012 Reviewed by Andreas Kling. 17013 17014 Fix build for Clang. 17015 17016 * Shared/WebPreferencesStore.cpp: 17017 (WebKit): 17018 (WebKit::boolTestRunnerOverridesMap): 17019 (WebKit::WebPreferencesStore::overrideBoolValueForKey): 17020 (WebKit::WebPreferencesStore::removeTestRunnerOverrides): 17021 (WebKit::WebPreferencesStore::getBoolValueForKey): 17022 170232012-01-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 17024 17025 Implement overridePreference for boolean preferences in WebKitTestRunner 17026 https://bugs.webkit.org/show_bug.cgi?id=77033 17027 17028 Reviewed by Alexey Proskuryakov. 17029 17030 Implement a way to WebKitTestRunner override preferences for the pages 17031 loaded. Follows the same approach taken by 17032 overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many 17033 preferences. 17034 17035 Preferences are stored in the UI process using WebPreferencesStore, and when 17036 there's a change, this data is sent to Web process, triggering 17037 WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's 17038 data to the WebCore::Settings object. 17039 17040 The overridePreference() is executed on the Web process, and set the preferences 17041 without communicating to the UI process. The overriden preferences are stored in 17042 a static map and WebPreferencesStore query this map before returning the values 17043 of each preference. This static map is used only on the Web process. 17044 17045 To clear the overrides we need to clear the map. Since WTR only sets preferences 17046 when resetting the page, we hook the clearing at WebPage::preferencesDidChange(). 17047 A WKPreferences private function was exposed to WTR force the update, in case 17048 there's no effective change at UI process (all the properties remains the same). 17049 17050 This clearing could be improved by creating a proper message instead of hooking 17051 at WebPage::preferencesDidChange(). 17052 17053 * Shared/WebPreferencesStore.cpp: 17054 (WebKit::WebPreferencesStore::decode): 17055 (WebKit::WebPreferencesStore::overrideBoolValueForKey): 17056 (WebKit::WebPreferencesStore::removeTestRunnerOverrides): 17057 (WebKit::WebPreferencesStore::getBoolValueForKey): 17058 * Shared/WebPreferencesStore.h: 17059 * UIProcess/API/C/WKPreferences.cpp: 17060 (WKPreferencesResetTestRunnerOverrides): 17061 * UIProcess/API/C/WKPreferencesPrivate.h: 17062 * UIProcess/WebPreferences.h: 17063 (WebKit::WebPreferences::forceUpdate): 17064 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 17065 (WKBundleOverrideBoolPreferenceForTestRunner): 17066 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 17067 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17068 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 17069 (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner): 17070 * WebProcess/InjectedBundle/InjectedBundle.h: 17071 170722012-01-26 Carlos Garcia Campos <cgarcia@igalia.com> 17073 17074 [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms 17075 https://bugs.webkit.org/show_bug.cgi?id=77097 17076 17077 Reviewed by Martin Robinson. 17078 17079 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 17080 (WebKit::WebEditorClient::respondToChangedSelection): Call 17081 setSelectionPrimaryClipboardIfNeeded() to update primary clipboard 17082 in X11 platforms. 17083 * WebProcess/WebCoreSupport/WebEditorClient.h: 17084 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 17085 (WebKit::collapseSelection): Callback called when clearing 17086 clipboard contents. 17087 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded): 17088 Updaye primary clipboard with the current selection. 17089 170902012-01-26 Zeno Albisser <zeno@webkit.org> 17091 17092 [Qt][WK2] Use QVariant for payload data in application URL schemes. 17093 https://bugs.webkit.org/show_bug.cgi?id=77007 17094 17095 Make application schemes use QVariant for payload data. 17096 This allows passing QByteArrays as well as simple String data. 17097 17098 Remove unneeded http header parts that were exposed in 17099 QQuickNetworkReply. 17100 17101 Add ByteArrayTestData class to allow injecting QByteArray 17102 data into an application scheme handler for testing. 17103 17104 Reviewed by Simon Hausmann. 17105 17106 * Shared/qt/QtNetworkReplyData.cpp: 17107 (WebKit::QtNetworkReplyData::QtNetworkReplyData): 17108 (WebKit::QtNetworkReplyData::encode): 17109 (WebKit::QtNetworkReplyData::decode): 17110 * Shared/qt/QtNetworkReplyData.h: 17111 * UIProcess/API/qt/qquicknetworkreply.cpp: 17112 (QQuickNetworkReply::QQuickNetworkReply): 17113 (QQuickNetworkReply::data): 17114 (QQuickNetworkReply::setData): 17115 (QQuickNetworkReply::send): 17116 * UIProcess/API/qt/qquicknetworkreply_p.h: 17117 * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added. 17118 (ByteArrayTestData::ByteArrayTestData): 17119 (ByteArrayTestData::latin1Data): 17120 (ByteArrayTestData::utf8Data): 17121 * UIProcess/API/qt/tests/bytearraytestdata.h: Added. 17122 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: 17123 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 17124 (main): 17125 * UIProcess/API/qt/tests/tests.pri: 17126 * WebProcess/qt/QtNetworkReply.cpp: 17127 (WebKit::QtNetworkReply::setReplyData): 17128 * WebProcess/qt/QtNetworkReply.h: 17129 171302012-01-26 Thiago Marcos P. Santos <tmpsantos@gmail.com> 17131 17132 [Qt] Fixed build when using force_static_libs_as_shared 17133 https://bugs.webkit.org/attachment.cgi?bugid=77082 17134 17135 Reviewed by Simon Hausmann. 17136 17137 * Target.pri: 17138 171392012-01-26 Nándor Huszka <huszka.nandor@stud.u-szeged.hu> 17140 17141 [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission 17142 https://bugs.webkit.org/show_bug.cgi?id=42545 17143 17144 Reviewed by Zoltan Herczeg. 17145 17146 Implement the setGeolocationPermission method. 17147 17148 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 17149 (WKBundleSetGeolocationPermission): 17150 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 17151 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17152 (WebKit::InjectedBundle::setGeoLocationPermission): 17153 (WebKit): 17154 * WebProcess/InjectedBundle/InjectedBundle.h: 17155 (InjectedBundle): 17156 171572012-01-25 Mark Rowe <mrowe@apple.com> 17158 17159 Build in to an alternate location when USE_STAGING_INSTALL_PATH is set. 17160 17161 <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH 17162 17163 Reviewed by David Kilzer. 17164 17165 * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains 17166 the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to 17167 the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update 17168 UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks 17169 directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of 17170 WebKit.framework. 17171 * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR. 17172 * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR. 17173 Always set the framework's install name based on the normal framework location. This prevents 17174 an incorrect install name from being used when installing in to the staged frameworks directory. 17175 * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR. 17176 171772012-01-25 No'am Rosenthal <noam.rosenthal@nokia.com> 17178 17179 [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413 17180 https://bugs.webkit.org/show_bug.cgi?id=76886 17181 17182 Reviewed by Kenneth Rohde Christiansen. 17183 17184 We now render the whole layer if it or one if its ancestors has an active transform 17185 animations. It's possible to optimize further in the future, but not currently necessary. 17186 Also, we make sure that when a WebGraphicsLayer's property that affects transformation is 17187 changed, all its descandants layers are marked as modified so that we re-adjust their 17188 visible rect in the next pass. 17189 17190 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 17191 (WebCore::WebGraphicsLayer::notifyChangeRecursively): 17192 (WebCore): 17193 (WebCore::WebGraphicsLayer::setPosition): 17194 (WebCore::WebGraphicsLayer::setAnchorPoint): 17195 (WebCore::WebGraphicsLayer::setSize): 17196 (WebCore::WebGraphicsLayer::setTransform): 17197 (WebCore::WebGraphicsLayer::setChildrenTransform): 17198 (WebCore::WebGraphicsLayer::setPreserves3D): 17199 (WebCore::WebGraphicsLayer::setMasksToBounds): 17200 (WebCore::WebGraphicsLayer::addAnimation): 17201 (WebCore::WebGraphicsLayer::removeAnimation): 17202 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 17203 (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations): 17204 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 17205 (WebGraphicsLayer): 17206 172072012-01-25 Hajime Morita <morrita@google.com> 17208 17209 ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom 17210 https://bugs.webkit.org/show_bug.cgi?id=76863 17211 17212 Reviewed by Dimitri Glazkov. 17213 17214 Added a feature flag. 17215 17216 * Configurations/FeatureDefines.xcconfig: 17217 172182012-01-25 Martin Robinson <mrobinson@igalia.com> 17219 17220 [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions 17221 https://bugs.webkit.org/show_bug.cgi?id=76344 17222 17223 Reviewed by Sam Weinig. 17224 17225 When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton. 17226 This ensures that when there is no mouse event associated with the action, when the event 17227 hits the client-API layer, the button is still NoButton. 17228 17229 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: 17230 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton 17231 to WebMouseEvent::NoButton. 17232 172332012-01-25 Kenneth Rohde Christiansen <kenneth@webkit.org> 17234 17235 [Qt] Implement tap feedback respecting -webkit-tap-highlight-color 17236 https://bugs.webkit.org/show_bug.cgi?id=76914 17237 17238 Reviewed by Simon Hausmann. 17239 17240 Implement tap highlighting for Qt. When a touch press is issued, 17241 which is not handled by the web page, then we highlight any 17242 activatable node below. In all otehr cases, we hide any highlights. 17243 17244 The highlighting itself is painted on an accelerated PageOverlay, 17245 on the web process side. 17246 17247 * Target.pri: 17248 * UIProcess/WebPageProxy.cpp: 17249 (WebKit::WebPageProxy::handlePotentialActivation): 17250 * UIProcess/WebPageProxy.h: 17251 * UIProcess/qt/QtTapGestureRecognizer.cpp: 17252 (WebKit::QtTapGestureRecognizer::recognize): 17253 * UIProcess/qt/QtWebPageEventHandler.cpp: 17254 (QtWebPageEventHandler::handlePotentialSingleTapEvent): 17255 * UIProcess/qt/QtWebPageEventHandler.h: 17256 * WebProcess/WebPage/TapHighlightController.cpp: Added. 17257 (WebKit::TapHighlightController::TapHighlightController): 17258 (WebKit::TapHighlightController::~TapHighlightController): 17259 (WebKit::TapHighlightController::highlight): 17260 (WebKit::TapHighlightController::hideHighlight): 17261 (WebKit::TapHighlightController::pageOverlayDestroyed): 17262 (WebKit::TapHighlightController::willMoveToWebPage): 17263 (WebKit::TapHighlightController::didMoveToWebPage): 17264 (WebKit::highlightColor): 17265 (WebKit::TapHighlightController::drawRect): 17266 (WebKit::TapHighlightController::mouseEvent): 17267 * WebProcess/WebPage/TapHighlightController.h: Added. 17268 * WebProcess/WebPage/WebPage.cpp: 17269 (WebKit::WebPage::WebPage): 17270 (WebKit::WebPage::highlightPotentialActivation): 17271 * WebProcess/WebPage/WebPage.h: 17272 (WebKit::WebPage::tapHighlightController): 17273 * WebProcess/WebPage/WebPage.messages.in: 17274 172752012-01-25 Nándor Huszka <huszka.nandor@stud.u-szeged.hu> 17276 17277 [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled 17278 https://bugs.webkit.org/show_bug.cgi?id=63458 17279 17280 Reviewed by Adam Roben. 17281 17282 Implement the setPopupBlockingEnabled method. 17283 17284 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 17285 (WKBundleSetPrivateBrowsingEnabled): 17286 (WKBundleSetPopupBlockingEnabled): 17287 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 17288 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17289 (WebKit::InjectedBundle::setPopupBlockingEnabled): 17290 * WebProcess/InjectedBundle/InjectedBundle.h: 17291 172922012-01-25 Yael Aharon <yael.aharon@nokia.com> 17293 17294 [Qt] Build fix when using force_static_libs_as_shared 17295 https://bugs.webkit.org/show_bug.cgi?id=76832 17296 17297 Reviewed by Simon Hausmann. 17298 17299 Add a dependency on QtWidgets. 17300 17301 * Target.pri: 17302 173032012-01-24 Sergio Villar Senin <svillar@igalia.com> 17304 17305 [WK2] FindController should not assume that ports do not want to highlight text matches 17306 https://bugs.webkit.org/show_bug.cgi?id=76921 17307 17308 Reviewed by Darin Adler. 17309 17310 FindController must obey the FindOptionsShowHighlight flag instead 17311 of assuming that ports do not want to highlight search matches. 17312 17313 * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight. 17314 * Shared/API/c/WKSharedAPICast.h: 17315 (WebKit::toFindOptions): Ditto. 17316 * Shared/WebFindOptions.h: added FindOptionsShowHighlight. 17317 * WebProcess/WebPage/FindController.cpp: 17318 (WebKit::FindController::findString): 17319 173202012-01-25 Carlos Garcia Campos <cgarcia@igalia.com> 17321 17322 [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API 17323 https://bugs.webkit.org/show_bug.cgi?id=76899 17324 17325 Reviewed by Martin Robinson. 17326 17327 * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from 17328 Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp. 17329 (didStartProvisionalLoadForFrame): Use clientInfo instead fo 17330 getting the view from the page. 17331 (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto. 17332 (didFailProvisionalLoadWithErrorForFrame): Ditto. 17333 (didCommitLoadForFrame): Ditto. 17334 (didFinishLoadForFrame): Ditto. 17335 (didFailLoadWithErrorForFrame): Ditto. 17336 (didSameDocumentNavigationForFrame): Ditto. 17337 (didReceiveTitleForFrame): Ditto. 17338 (didChangeProgress): Ditto. 17339 (didChangeBackForwardList): Ditto. 17340 (attachLoaderClientToView): Pass WebKitWebView as clientInfo to 17341 callbacks. 17342 * UIProcess/API/gtk/WebKitLoaderClient.h: Added. 17343 * UIProcess/API/gtk/WebKitUIClient.cpp: 17344 (createNewPage): Use clientInfo instead fo getting the view from 17345 the page. 17346 (showPage): Ditto. 17347 (closePage): Ditto. 17348 (runJavaScriptAlert): Ditto. 17349 (runJavaScriptConfirm): Ditto. 17350 (runJavaScriptPrompt): Ditto. 17351 (toolbarsAreVisible): Ditto. 17352 (setToolbarsAreVisible): Ditto. 17353 (menuBarIsVisible): Ditto. 17354 (setMenuBarIsVisible): Ditto. 17355 (statusBarIsVisible): Ditto. 17356 (setStatusBarIsVisible): Ditto. 17357 (isResizable): Ditto. 17358 (setIsResizable): Ditto. 17359 (getWindowFrame): Ditto. 17360 (setWindowFrame): Ditto. 17361 (attachUIClientToView): Pass WebKitWebView as clientInfo to 17362 callbacks. 17363 * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate. 17364 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed. 17365 * UIProcess/API/gtk/WebKitWebView.cpp: 17366 (webkitWebViewConstructed): Remove UIClient and LoaderClient 17367 objects and call attachUIClientToView() and attachLoaderClientToView(). 17368 * UIProcess/API/gtk/tests/GNUmakefile.am: Rename 17369 WebKitWebLoaderClient to WebKitLoaderClient. 17370 * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from 17371 Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp. 17372 173732012-01-25 Roland Steiner <rolandsteiner@chromium.org> 17374 17375 <style scoped>: Implement registering of <style scoped> with the scoping element 17376 https://bugs.webkit.org/show_bug.cgi?id=67790 17377 17378 Add symbols for windows.internals.numberOfScopedHTMLStyleChildren 17379 17380 Reviewed by Dimitri Glazkov. 17381 17382 * win/WebKit2.def: 17383 * win/WebKit2CFLite.def: 17384 173852012-01-24 Beth Dakin <bdakin@apple.com> 17386 17387 https://bugs.webkit.org/show_bug.cgi?id=76928 17388 Accelerated drawing should force compositing mode 17389 -and corresponding- 17390 <rdar://problem/10697417> 17391 17392 Reviewed by Simon Fraser. 17393 17394 * WebProcess/WebPage/WebPage.cpp: 17395 (WebKit::WebPage::updatePreferences): 17396 173972012-01-24 Alexis Menard <alexis.menard@openbossa.org> 17398 17399 Unreviewed build fix for Qt. 17400 17401 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 17402 (WebKit::LayerTreeHostQt::showDebugBorders): 17403 (WebKit::LayerTreeHostQt::showRepaintCounter): 17404 174052012-01-23 Simon Fraser <simon.fraser@apple.com> 17406 17407 Show layer borders for scrollbar layers 17408 https://bugs.webkit.org/show_bug.cgi?id=76888 17409 17410 Reviewed by Beth Dakin. 17411 17412 Update for new signatures of GraphicsLayerClient::showDebugBorders() 17413 and GraphicsLayerClient::showRepaintCounter(). 17414 17415 * UIProcess/LayerTreeHostProxy.h: 17416 (WebKit::LayerTreeHostProxy::showDebugBorders): 17417 (WebKit::LayerTreeHostProxy::showRepaintCounter): 17418 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 17419 (WebKit::LayerTreeHostCA::showDebugBorders): 17420 (WebKit::LayerTreeHostCA::showRepaintCounter): 17421 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 17422 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 17423 174242012-01-24 David Levin <levin@chromium.org> 17425 17426 [windows] Convert usage of GetDC to HWndDC Part 3. 17427 https://bugs.webkit.org/show_bug.cgi?id=76889 17428 17429 Reviewed by Adam Roben. 17430 17431 * UIProcess/win/WebPopupMenuProxyWin.cpp: 17432 (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation. 17433 174342012-01-24 Sergio Villar Senin <svillar@igalia.com> 17435 17436 [WK2] [GTK] TestDownloads hitting an assertion in Debug builds 17437 https://bugs.webkit.org/show_bug.cgi?id=76915 17438 17439 Reviewed by Martin Robinson. 17440 17441 No new tests required as it fixes some assertions in a unit test. 17442 17443 * WebProcess/Downloads/soup/DownloadSoup.cpp: 17444 (WebKit::Download::start): 17445 (WebKit::Download::startWithHandle): 17446 174472012-01-24 No'am Rosenthal <noam.rosenthal@nokia.com> 17448 17449 [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles. 17450 https://bugs.webkit.org/show_bug.cgi?id=76877 17451 17452 Reviewed by Kenneth Rohde Christiansen. 17453 17454 Instead of copying QImages, pass a reference to the ShareableBitmap that was originally 17455 created by the web process. Also, swizzle the image's RGB in the web process, before it's 17456 transferred to the UI process. 17457 17458 Data flow before change: 17459 (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload 17460 17461 Data flow after change: 17462 (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload 17463 17464 * Shared/ShareableBitmap.h: 17465 * Shared/qt/ShareableBitmapQt.cpp: 17466 (WebKit::ShareableBitmap::swizzleRGB): 17467 * UIProcess/LayerTreeHostProxy.h: 17468 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 17469 (WebKit::LayerTreeHostProxy::updateTile): 17470 (WebKit::LayerTreeHostProxy::createImage): 17471 (WebKit::LayerTreeHostProxy::syncRemoteContent): 17472 (WebKit::LayerTreeHostProxy::updateTileForLayer): 17473 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage): 17474 (WebKit::LayerTreeHostProxy::purgeGLResources): 17475 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 17476 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 17477 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 17478 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 17479 174802012-01-24 Rafael Brandao <rafael.lobo@openbossa.org> 17481 17482 [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction 17483 https://bugs.webkit.org/show_bug.cgi?id=76399 17484 17485 Reviewed by Simon Hausmann. 17486 17487 Due a circular dependency between WebContext and WebProcessProxy, WebContext it not 17488 being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same 17489 as QtWebContext and this one is being destroyed, the remaining reference to our client 17490 on WebIconDatabase should be cleaned upon its destruction. 17491 17492 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 17493 (QtWebIconDatabaseClient::QtWebIconDatabaseClient): 17494 (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase. 17495 * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase. 17496 174972012-01-24 Zeno Albisser <zeno@webkit.org> 17498 17499 [Qt][WK2] Add test for application URL schemes. 17500 https://bugs.webkit.org/show_bug.cgi?id=74933 17501 17502 Add a test that checks handling of url strings. 17503 Add a test that verifies replies in case of multiple 17504 available application url schemes. 17505 17506 Reviewed by Kenneth Rohde Christiansen. 17507 17508 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: 17509 175102012-01-24 Carlos Garcia Campos <cgarcia@igalia.com> 17511 17512 [GTK] Fix /webkit2/WebKitWebView/reload after r105688 17513 https://bugs.webkit.org/show_bug.cgi?id=76898 17514 17515 Reviewed by Alejandro G. Castro. 17516 17517 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 17518 (LoadTrackingTest::reload): Add reload method that clears events 17519 and initializes progress. 17520 * UIProcess/API/gtk/tests/LoadTrackingTest.h: 17521 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 17522 (testWebViewReload): Use LoadTrackingTest::reload() instead of 17523 webkit_web_view_reload(). 17524 175252012-01-24 Simon Hausmann <simon.hausmann@nokia.com> 17526 17527 Some qmake build files must include Qt5's "quick" module. 17528 https://bugs.webkit.org/show_bug.cgi?id=76671 17529 17530 Unreviewed build fix. 17531 17532 * UIProcess/API/qt/tests/tests.pri: 17533 175342012-01-24 Zeno Albisser <zeno@webkit.org> 17535 17536 [Qt][WK2] Application URL schemes cause asserts when using debug. 17537 https://bugs.webkit.org/show_bug.cgi?id=76700 17538 17539 Instances of QtNetworkRequestData / QtNetworkReplyData are meant 17540 to be used for transfering data over IPC. To allow transferring 17541 instances of these classes over IPC they need to be copyable, 17542 and it must be possible to create such instances on the stack. 17543 Because classes that inherit from RefCounted always need to be 17544 used in connection with RefPtr, QtNetworkRequestData and 17545 QtNetworkReplyData cannot inherit directly from RefCounted. 17546 17547 Deleting an object that inherits from RefCounted, without 17548 the proper sequence of ref()/deref() being called by it's 17549 RefPtr, causes asserts when running a debug version. 17550 17551 Reviewed by Simon Hausmann. 17552 17553 * Shared/qt/QtNetworkReplyData.h: 17554 (WebKit::QtRefCountedNetworkReplyData::data): 17555 * Shared/qt/QtNetworkRequestData.cpp: 17556 (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData): 17557 * Shared/qt/QtNetworkRequestData.h: 17558 (WebKit::QtRefCountedNetworkRequestData::data): 17559 * Target.pri: 17560 * UIProcess/API/qt/qquicknetworkreply.cpp: 17561 (QQuickNetworkReply::QQuickNetworkReply): 17562 (QQuickNetworkReply::contentType): 17563 (QQuickNetworkReply::setContentType): 17564 (QQuickNetworkReply::operation): 17565 (QQuickNetworkReply::setOperation): 17566 (QQuickNetworkReply::contentDisposition): 17567 (QQuickNetworkReply::setContentDisposition): 17568 (QQuickNetworkReply::location): 17569 (QQuickNetworkReply::setLocation): 17570 (QQuickNetworkReply::lastModified): 17571 (QQuickNetworkReply::setLastModified): 17572 (QQuickNetworkReply::cookie): 17573 (QQuickNetworkReply::setCookie): 17574 (QQuickNetworkReply::userAgent): 17575 (QQuickNetworkReply::setUserAgent): 17576 (QQuickNetworkReply::server): 17577 (QQuickNetworkReply::setServer): 17578 (QQuickNetworkReply::data): 17579 (QQuickNetworkReply::setData): 17580 (QQuickNetworkReply::send): 17581 (QQuickNetworkReply::networkRequestData): 17582 (QQuickNetworkReply::setNetworkRequestData): 17583 (QQuickNetworkReply::networkReplyData): 17584 * UIProcess/API/qt/qquicknetworkreply_p.h: 17585 * UIProcess/API/qt/qquicknetworkrequest.cpp: 17586 (QQuickNetworkRequest::QQuickNetworkRequest): 17587 (QQuickNetworkRequest::setNetworkRequestData): 17588 (QQuickNetworkRequest::url): 17589 * UIProcess/API/qt/qquicknetworkrequest_p.h: 17590 * UIProcess/API/qt/qquickwebview.cpp: 17591 (QQuickWebViewExperimental::invokeApplicationSchemeHandler): 17592 * UIProcess/API/qt/qquickwebview_p.h: 17593 * UIProcess/WebPageProxy.h: 17594 * UIProcess/qt/QtPageClient.cpp: 17595 (QtPageClient::handleApplicationSchemeRequest): 17596 * UIProcess/qt/QtPageClient.h: 17597 * UIProcess/qt/WebPageProxyQt.cpp: 17598 (WebKit::WebPageProxy::resolveApplicationSchemeRequest): 17599 (WebKit::WebPageProxy::sendApplicationSchemeReply): 17600 * WebProcess/qt/QtNetworkReply.cpp: 17601 (WebKit::QtNetworkReply::setData): 17602 (WebKit::QtNetworkReply::readData): 17603 176042012-01-24 Carlos Garcia Campos <cgarcia@igalia.com> 17605 17606 [GTK] Implement DownloadClient in WebKit2 GTK+ API 17607 https://bugs.webkit.org/show_bug.cgi?id=72952 17608 17609 Reviewed by Martin Robinson. 17610 17611 * GNUmakefile.am: Add new files to compilation. 17612 * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added. 17613 (didStart): Call webkitWebContextDownloadStarted(). 17614 (didReceiveResponse): Call webkitDownloadSetResponse() with the 17615 received response. 17616 (didReceiveData): Call webkitDownloadNotifyProgress(). 17617 (decideDestinationWithSuggestedFilename): Call 17618 webkitDownloadDecideDestinationWithSuggestedFilename(). 17619 (didCreateDestination): Call webkitDownloadDestinationCreated(). 17620 (didFail): Call webkitDownloadFailed() or 17621 webkitDownloadCancelled() if the download was cancelled before 17622 failing. 17623 (didCancel): Call webkitDownloadCancelled(). 17624 (didFinish): Call webkitDownloadFinished(). 17625 (attachDownloadClientToContext): Add 17626 implementation for download client callbacks. 17627 * UIProcess/API/gtk/WebKitDownloadClient.h: Added. 17628 * UIProcess/API/gtk/WebKitError.cpp: 17629 (webkit_download_error_quark): Add quark for download errors. 17630 * UIProcess/API/gtk/WebKitError.h: 17631 * UIProcess/API/gtk/WebKitWebContext.cpp: 17632 (webkit_web_context_class_init): Add download-started signal. 17633 (createDefaultWebContext): Initialize the download client. 17634 (downloadsMap): HashMap containing download objects for all 17635 ongoing download operations. 17636 (webkit_web_context_download_uri): Start a new download for the 17637 given URI. 17638 (webkitWebContextGetOrCreateDownload): Helper function to create a 17639 new download object or return the existing one from the downloads map. 17640 (webkitWebContextRemoveDownload): Remove the download object from 17641 the downloads map. 17642 (webkitWebContextDownloadStarted): Emit 17643 WebKitWebContext::download-started for the given download object. 17644 * UIProcess/API/gtk/WebKitWebContext.h: 17645 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 17646 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 17647 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads. 17648 * UIProcess/API/gtk/tests/TestDownloads.cpp: Added. 17649 (getWebKit1TestResoucesDir): 17650 (testDownloadLocalFile): 17651 (testDownloadLocalFileError): 17652 (serverCallback): 17653 (testDownloadRemoteFile): 17654 (testDownloadRemoteFileError): 17655 (beforeAll): 17656 (afterAll): 17657 176582012-01-23 Carlos Garcia Campos <cgarcia@igalia.com> 17659 17660 [GTK] Add WebKitDownload to WebKit2 GTK+ API 17661 https://bugs.webkit.org/show_bug.cgi?id=72949 17662 17663 Reviewed by Martin Robinson. 17664 17665 * GNUmakefile.am: Add new files to compilation. 17666 * UIProcess/API/gtk/WebKitDownload.cpp: Added. 17667 (webkitDownloadFinalize): 17668 (webkitDownloadGetProperty): 17669 (webkitDownloadDecideDestination): 17670 (webkit_download_init): 17671 (webkit_download_class_init): 17672 (webkitDownloadCreate): Create a new WebKitDownload for a given 17673 WKDownloadRef. 17674 (webkitDownloadSetResponse): Set the network response of the 17675 download. 17676 (webkitDownloadIsCancelled): Whether the download has been 17677 cancelled by the user. 17678 (webkitDownloadNotifyProgress): Emit notify::estimated-progress if 17679 needed. 17680 (webkitDownloadFailed): Emit WebKitDownload::failed with the given 17681 error. 17682 (webkitDownloadCancelled): Emit WebKitDownload::failed with 17683 cancelled error. 17684 (webkitDownloadFinished): Emit WebKitDownload::finished. 17685 (webkitDownloadDecideDestinationWithSuggestedFilename): Emit 17686 WebKitDownload::decide-destination. 17687 (webkitDownloadDestinationCreated): Emit 17688 WebKitDownload::created-destination. 17689 (webkit_download_get_destination): Return the destination URI of 17690 the download. 17691 (webkit_download_set_destination): Set the destination URI of the 17692 download. 17693 (webkit_download_get_response): Return the response received by 17694 the server. 17695 (webkit_download_cancel): Cancel the download. 17696 (webkit_download_get_estimated_progress): Return the estimated 17697 progress. 17698 (webkit_download_get_elapsed_time): Return the time elapsed since 17699 the download started. 17700 * UIProcess/API/gtk/WebKitDownload.h: Added. 17701 * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added. 17702 * UIProcess/API/gtk/WebKitPrivate.h: 17703 * UIProcess/API/gtk/WebKitURIResponse.cpp: 17704 (webkitURIResponseGetResourceResponse): 17705 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 17706 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 17707 webkit_download_get_type(). 17708 * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h. 17709 * UIProcess/API/gtk/webkit2marshal.list: 17710 177112012-01-23 Geoffrey Garen <ggaren@apple.com> 17712 17713 JSValue::toString() should return a JSString* instead of a UString 17714 https://bugs.webkit.org/show_bug.cgi?id=76861 17715 17716 Reviewed by Gavin Barraclough. 17717 17718 Mechanical changes to call value() after calling toString(), to 17719 convert from "JS string" (JSString*) to "C++ string" (UString), since 17720 toString() no longer returns a "C++ string". 17721 17722 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 17723 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 17724 177252012-01-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 17726 17727 [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed 17728 https://bugs.webkit.org/show_bug.cgi?id=76859 17729 17730 Reviewed by Kenneth Rohde Christiansen. 17731 17732 Removing d->initializeTouch() from QQuickWebView::QQuickWebView() 17733 since in QQuickWebViewPrivate::initialize() there is a call for 17734 setUseTraditionalDesktopBehaviour(false), which will call initializeTouch. 17735 17736 * UIProcess/API/qt/qquickwebview.cpp: 17737 (QQuickWebView::QQuickWebView): 17738 177392012-01-23 Martin Robinson <mrobinson@igalia.com> 17740 17741 [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible 17742 https://bugs.webkit.org/show_bug.cgi?id=76755 17743 17744 Reviewed by Alejandro G. Castro. 17745 17746 Always clear the loading events when loading new content in the load tracking 17747 test. In the WebView test correctly handle loading HTML with a URL that isn't 17748 "about:blank." 17749 17750 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 17751 (LoadTrackingTest::loadURI): Reset the class state when starting a new load. 17752 (LoadTrackingTest::loadHtml): Ditto. 17753 (LoadTrackingTest::loadPlainText): Ditto. 17754 (LoadTrackingTest::loadRequest): Ditto. 17755 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions. 17756 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 17757 (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now. 17758 (testLoadHtml): Update to reflect new method name. 17759 (testLoadPlainText): Ditto. 17760 (testLoadRequest): Ditto. 17761 (testWebViewReload): Ditto. 17762 * UIProcess/API/gtk/tests/WebViewTest.cpp: 17763 (WebViewTest::loadHtml): Properly interpret the baseURL parameter. 17764 * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual. 17765 177662012-01-23 Alexander Færøy <alexander.faeroy@nokia.com> 17767 17768 [Qt] Implement SSL error handling QML API. 17769 https://bugs.webkit.org/show_bug.cgi?id=76793 17770 17771 Reviewed by Simon Hausmann. 17772 17773 This patch implements support for accepting or rejecting invalid SSL 17774 certificates from the QML API. 17775 17776 * UIProcess/API/qt/qquickwebview.cpp: 17777 (QQuickWebViewPrivate::QQuickWebViewPrivate): 17778 (QQuickWebViewPrivate::handleCertificateVerificationRequest): 17779 (QQuickWebViewExperimental::certificateVerificationDialog): 17780 (QQuickWebViewExperimental::setCertificateVerificationDialog): 17781 * UIProcess/API/qt/qquickwebview_p.h: 17782 * UIProcess/API/qt/qquickwebview_p_p.h: 17783 * UIProcess/PageClient.h: 17784 * UIProcess/WebPageProxy.cpp: 17785 (WebKit::WebPageProxy::certificateVerificationRequest): 17786 * UIProcess/WebPageProxy.h: 17787 * UIProcess/WebPageProxy.messages.in: 17788 * UIProcess/qt/QtDialogRunner.cpp: 17789 (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject): 17790 (CertificateVerificationDialogContextObject::hostname): 17791 (CertificateVerificationDialogContextObject::accept): 17792 (CertificateVerificationDialogContextObject::reject): 17793 (QtDialogRunner::initForCertificateVerification): 17794 * UIProcess/qt/QtDialogRunner.h: 17795 * UIProcess/qt/QtPageClient.cpp: 17796 (QtPageClient::handleCertificateVerificationRequest): 17797 * UIProcess/qt/QtPageClient.h: 17798 * WebProcess/qt/QtNetworkAccessManager.cpp: 17799 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): 17800 (WebKit::QtNetworkAccessManager::onSslErrors): 17801 * WebProcess/qt/QtNetworkAccessManager.h: 17802 178032012-01-23 David Levin <levin@chromium.org> 17804 17805 [windows] Convert usages of GetDC to HWndDC Part 2. 17806 https://bugs.webkit.org/show_bug.cgi?id=76750 17807 17808 Reviewed by Adam Roben. 17809 17810 * Shared/win/ShareableBitmapWin.cpp: 17811 (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which 17812 would do a DeleteDC instead of a ReleaseDC. 17813 178142012-01-23 David Levin <levin@chromium.org> 17815 17816 [windows] Convert usages of GetDC to HWndDC Part 1. 17817 https://bugs.webkit.org/show_bug.cgi?id=76744 17818 17819 Reviewed by Adam Roben. 17820 17821 * UIProcess/win/WebView.cpp: 17822 (WebKit::WebView::flashBackingStoreUpdates): Typical conversion. 17823 178242012-01-21 Timothy Hatcher <timothy@apple.com> 17825 17826 Make WebKit2 remember the height of the Web Inspector when it is docked. 17827 17828 https://webkit.org/b/76769 17829 17830 Reviewed by Dan Bernstein. 17831 17832 * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight. 17833 * UIProcess/WebInspectorProxy.cpp: 17834 (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight. 17835 * UIProcess/mac/WebInspectorProxyMac.mm: 17836 (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight. 17837 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls. 17838 178392012-01-20 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 17840 17841 [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible 17842 https://bugs.webkit.org/show_bug.cgi?id=76674 17843 17844 Reviewed by Kenneth Rohde Christiansen. 17845 17846 Make sure that itemRect is not empty. 17847 17848 * UIProcess/qt/QtViewportInteractionEngine.cpp: 17849 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 17850 178512012-01-20 Steve Falkenburg <sfalken@apple.com> 17852 17853 Reviewed by Alexey Proskuryakov. 17854 17855 Drag/drop of a file into a WebView on Windows needs to allow access to that file 17856 https://bugs.webkit.org/show_bug.cgi?id=76753 17857 <rdar://problem/10731719> 17858 17859 The Windows drag/drop code path was missing the code to open a file read exception. 17860 17861 Added code to match the Mac version, while allowing directories and multiple files to 17862 also be dragged (matching our previous behavior). 17863 17864 * UIProcess/win/WebView.cpp: 17865 (WebKit::maybeCreateSandboxExtensionFromDragData): Added. 17866 (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it. 17867 178682012-01-20 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 17869 17870 [Qt] Trigger forcing accelerated compositing from the UI process side. 17871 https://bugs.webkit.org/show_bug.cgi?id=76296 17872 17873 Reviewed by Noam Rosenthal. 17874 17875 Some messages can be sent from the web view to the LayerTreeHost before 17876 accelerated compositing is entered on the web process and signaled back. 17877 By letting the UI process decide if AC has to be forced, we can create 17878 the LayerTreeHostProxy earlier to send messages to the web process while 17879 AC is being entered there. 17880 17881 This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages 17882 by setting the m_waitingForUIProcess flag properly and only send the 17883 RenderNextFrame once the painting thread on the UI process is ready to paint. 17884 17885 This fixes the first visible content rect message not being received when 17886 loading pages from the disk. 17887 17888 * Shared/WebPreferencesStore.h: 17889 * UIProcess/API/qt/qquickwebview.cpp: 17890 (QQuickWebViewPrivate::initialize): 17891 * UIProcess/DrawingAreaProxyImpl.cpp: 17892 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 17893 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 17894 (WebKit::LayerTreeHostProxy::flushLayerChanges): 17895 (WebKit::LayerTreeHostProxy::didRenderFrame): 17896 * WebProcess/WebPage/DrawingAreaImpl.cpp: 17897 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 17898 * WebProcess/WebPage/WebPage.cpp: 17899 (WebKit::WebPage::updatePreferences): 17900 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 17901 (WebKit::LayerTreeHostQt::performScheduledLayerFlush): 17902 * WebProcess/WebPage/qt/WebPageQt.cpp: 17903 (WebKit::WebPage::platformInitialize): 17904 179052012-01-20 Sheriff Bot <webkit.review.bot@gmail.com> 17906 17907 Unreviewed, rolling out r105497. 17908 http://trac.webkit.org/changeset/105497 17909 https://bugs.webkit.org/show_bug.cgi?id=76696 17910 17911 Leaking in Qt layout tests and timing out in GTK API tests. 17912 (Requested by jturcotte on #webkit). 17913 17914 * Shared/WebPreferencesStore.h: 17915 * UIProcess/API/qt/qquickwebview.cpp: 17916 (QQuickWebViewPrivate::initialize): 17917 * UIProcess/DrawingAreaProxyImpl.cpp: 17918 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 17919 * WebProcess/WebPage/DrawingAreaImpl.cpp: 17920 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 17921 * WebProcess/WebPage/WebPage.cpp: 17922 (WebKit::WebPage::updatePreferences): 17923 * WebProcess/WebPage/qt/WebPageQt.cpp: 17924 (WebKit::WebPage::platformInitialize): 17925 179262012-01-20 Mario Sanchez Prada <msanchez@igalia.com> 17927 17928 [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs 17929 https://bugs.webkit.org/show_bug.cgi?id=72589 17930 17931 Reviewed by Martin Robinson. 17932 17933 Expose the accessibility hierarchy in the multi-process 17934 architecture of WK2 through AtkSocket and AtkPlug. 17935 17936 Make the WebView widget return an AtkSocket when calling to 17937 gtk_widget_get_accessible(). 17938 17939 * GNUmakefile.am: Add new files. 17940 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 17941 (webkit_web_view_base_init): 17942 (webkitWebViewBaseGetAccessible): 17943 (webkit_web_view_base_class_init): 17944 * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added. 17945 (webkitWebViewBaseAccessibleWidgetFinalize): 17946 (webkitWebViewBaseAccessibleWidgetDestroyed): 17947 (webkitWebViewBaseAccessibleInitialize): 17948 (webkitWebViewBaseAccessibleRefStateSet): 17949 (webkitWebViewBaseAccessibleGetIndexInParent): 17950 (webkit_web_view_base_accessible_init): 17951 (webkit_web_view_base_accessible_class_init): 17952 (webkitWebViewBaseAccessibleNew): 17953 * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added. 17954 17955 Make the WebPage create an AtkPlug on its initialization and 17956 sending the ID of that plug to the UI process, so it can embed the 17957 plug in the socket. 17958 17959 Also, take care of all the needed wrapping around the WebCore's 17960 accessibility objects, exposing them in the UI process's 17961 accessibility hierarchy thanks to the socket-plug connection. 17962 17963 * UIProcess/WebPageProxy.h: 17964 (WebKit::WebPageProxy::accessibilityPlugID): 17965 * UIProcess/WebPageProxy.messages.in: 17966 * UIProcess/gtk/WebPageProxyGtk.cpp: 17967 (WebKit::WebPageProxy::bindAccessibilityTree): 17968 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17969 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 17970 * WebProcess/WebPage/WebPage.cpp: 17971 (WebKit::WebPage::WebPage): 17972 * WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added. 17973 (accessibilityRootObjectWrapper): 17974 (webPageAccessibilityObjectInitialize): 17975 (webPageAccessibilityObjectGetIndexInParent): 17976 (webPageAccessibilityObjectGetNChildren): 17977 (webPageAccessibilityObjectRefChild): 17978 (web_page_accessibility_object_init): 17979 (web_page_accessibility_object_class_init): 17980 (webPageAccessibilityObjectNew): 17981 (webPageAccessibilityObjectRefresh): 17982 * WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added. 17983 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 17984 (WebKit::WebPage::platformInitialize): 17985 (WebKit::WebPage::updateAccessibilityTree): 17986 17987 New unit test for checking accessibility support in WK2GTK. 17988 17989 * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added. 17990 (loadChangedCallback): Notify the parent process (the test) 17991 when ready. 17992 (main): 17993 * UIProcess/API/gtk/tests/GNUmakefile.am: 17994 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added. 17995 (stopTestServer): 17996 (sigAbortHandler): 17997 (testServerMonitorThreadFunc): 17998 (startTestServerMonitor): 17999 (startTestServer): 18000 (checkAtspiAccessible): 18001 (findTestServerApplication): 18002 (testAtspiBasicHierarchy): 18003 (beforeAll): 18004 (afterAll): 18005 180062012-01-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18007 18008 [Qt] Public API watch dog auto test. 18009 https://bugs.webkit.org/show_bug.cgi?id=73922 18010 18011 Reviewed by Simon Hausmann. 18012 18013 This test aims to prevent unintended/unapproved 18014 modifications to the public QML API. 18015 18016 * UIProcess/API/qt/tests/publicapi/publicapi.pro: Added. 18017 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added. 18018 (isCheckedEnum): 18019 (isCheckedClass): 18020 (checkKnownType): 18021 (gatherAPI): 18022 (tst_publicapi::publicAPI): 18023 180242012-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18025 18026 [Qt] Trigger forcing accelerated compositing from the UI process side. 18027 https://bugs.webkit.org/show_bug.cgi?id=76296 18028 18029 Reviewed by Noam Rosenthal. 18030 18031 Some messages can be sent from the web view to the LayerTreeHost before 18032 accelerated compositing is entered on the web process and signaled back. 18033 By letting the UI process decide if AC has to be forced, we can create 18034 the LayerTreeHostProxy earlier to send messages to the web process while 18035 AC is being entered there. 18036 18037 This fixes the first visible content rect message not being received when 18038 loading pages from the disk. 18039 18040 * Shared/WebPreferencesStore.h: 18041 * UIProcess/API/qt/qquickwebview.cpp: 18042 (QQuickWebViewPrivate::initialize): 18043 * UIProcess/DrawingAreaProxyImpl.cpp: 18044 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 18045 * WebProcess/WebPage/DrawingAreaImpl.cpp: 18046 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 18047 * WebProcess/WebPage/WebPage.cpp: 18048 (WebKit::WebPage::updatePreferences): 18049 * WebProcess/WebPage/qt/WebPageQt.cpp: 18050 (WebKit::WebPage::platformInitialize): 18051 180522012-01-20 Alexandru Chiculita <achicu@adobe.com> 18053 18054 CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime 18055 https://bugs.webkit.org/show_bug.cgi?id=76444 18056 18057 Reviewed by Nikolas Zimmermann. 18058 18059 * Shared/WebPreferencesStore.h: 18060 * UIProcess/API/C/WKPreferences.cpp: 18061 (WKPreferencesSetCSSCustomFilterEnabled): 18062 (WKPreferencesGetCSSCustomFilterEnabled): 18063 * UIProcess/API/C/WKPreferencesPrivate.h: 18064 * WebProcess/WebPage/WebPage.cpp: 18065 (WebKit::WebPage::updatePreferences): 18066 180672012-01-19 Sam Weinig <sam@webkit.org> 18068 18069 Replace improper #import with an #include. 18070 18071 * UIProcess/Plugins/PluginProcessProxy.cpp: 18072 Fixes warnings. 18073 180742012-01-18 Sam Weinig <sam@webkit.org> 18075 18076 Move RunLoop to WebCore/platform 18077 https://bugs.webkit.org/show_bug.cgi?id=76471 18078 18079 Reviewed by Anders Carlsson. 18080 18081 * GNUmakefile.am: 18082 * Platform/CoreIPC/Connection.cpp: 18083 * Platform/CoreIPC/Connection.h: 18084 * Platform/CoreIPC/mac/ConnectionMac.cpp: 18085 * PluginProcess/PluginControllerProxy.h: 18086 * PluginProcess/PluginProcess.cpp: 18087 * PluginProcess/PluginProcess.h: 18088 * PluginProcess/WebProcessConnection.cpp: 18089 * PluginProcess/mac/PluginProcessMainMac.mm: 18090 * PluginProcess/qt/PluginProcessMainQt.cpp: 18091 * Shared/ChildProcess.cpp: 18092 * Shared/ChildProcess.h: 18093 * Target.pri: 18094 * UIProcess/API/mac/FindIndicatorWindow.h: 18095 * UIProcess/API/mac/WKView.mm: 18096 * UIProcess/DrawingAreaProxyImpl.h: 18097 * UIProcess/Launcher/ThreadLauncher.cpp: 18098 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 18099 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 18100 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: 18101 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 18102 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: 18103 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 18104 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: 18105 * UIProcess/LayerTreeHostProxy.h: 18106 * UIProcess/Plugins/PluginProcessProxy.cpp: 18107 * UIProcess/ResponsivenessTimer.cpp: 18108 * UIProcess/ResponsivenessTimer.h: 18109 * UIProcess/TiledDrawingAreaProxy.h: 18110 * UIProcess/VisitedLinkProvider.h: 18111 * UIProcess/WebConnectionToWebProcess.cpp: 18112 * UIProcess/WebConnectionToWebProcess.h: 18113 * UIProcess/WebContext.cpp: 18114 * UIProcess/win/WebView.cpp: 18115 * WebKit2.xcodeproj/project.pbxproj: 18116 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 18117 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 18118 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 18119 * WebProcess/Plugins/PluginView.h: 18120 * WebProcess/WebConnectionToUIProcess.cpp: 18121 * WebProcess/WebConnectionToUIProcess.h: 18122 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 18123 * WebProcess/WebPage/DrawingAreaImpl.h: 18124 * WebProcess/WebPage/EventDispatcher.cpp: 18125 * WebProcess/WebPage/PageOverlay.h: 18126 * WebProcess/WebPage/WebPage.cpp: 18127 * WebProcess/WebPage/WebPage.h: 18128 * WebProcess/WebProcess.cpp: 18129 * WebProcess/WebProcess.h: 18130 (WebKit::WebProcess::runLoop): 18131 * WebProcess/gtk/WebProcessMainGtk.cpp: 18132 * WebProcess/mac/WebProcessMainMac.mm: 18133 * WebProcess/qt/WebProcessMainQt.cpp: 18134 * WebProcess/win/WebProcessMainWin.cpp: 18135 * win/WebKit2.vcproj: 18136 Remove RunLoop code and update #includes. 18137 181382012-01-18 Ada Chan <adachan@apple.com> 18139 18140 Need a WebKit2 API for setting media volume 18141 https://bugs.webkit.org/show_bug.cgi?id=76560 18142 18143 Reviewed by Dan Bernstein. 18144 18145 * Shared/WebPageCreationParameters.cpp: 18146 (WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter. 18147 (WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter. 18148 * Shared/WebPageCreationParameters.h: 18149 * UIProcess/API/C/WKPage.cpp: 18150 (WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume(). 18151 * UIProcess/API/C/WKPagePrivate.h: 18152 * UIProcess/WebPageProxy.cpp: 18153 (WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume. 18154 (WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume 18155 and bail if the page is no longer valid. Otherwise, send a WebPage::SetMediaVolume message to 18156 the web process. 18157 (WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters. 18158 * UIProcess/WebPageProxy.h: 18159 * WebProcess/WebPage/WebPage.cpp: 18160 (WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters. 18161 (WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume(). 18162 * WebProcess/WebPage/WebPage.h: 18163 * WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message. 18164 181652012-01-19 Carlos Garcia Campos <cgarcia@igalia.com> 18166 18167 [GTK] WebKit2 GTK+ API public headers are not installed 18168 https://bugs.webkit.org/show_bug.cgi?id=76626 18169 18170 Reviewed by Martin Robinson. 18171 18172 * GNUmakefile.am: Rename webkit2gtk_headers as 18173 libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so 18174 that headers are installed during make install. 18175 181762012-01-19 Carlos Garcia Campos <cgarcia@igalia.com> 18177 18178 [GTK] Add print-backgrounds setting to WebKit2 GTK+ API 18179 https://bugs.webkit.org/show_bug.cgi?id=76616 18180 18181 Reviewed by Martin Robinson. 18182 18183 * UIProcess/API/gtk/WebKitSettings.cpp: 18184 (webKitSettingsSetProperty): 18185 (webKitSettingsGetProperty): 18186 (webkit_settings_class_init): 18187 (webkit_settings_get_print_backgrounds): 18188 (webkit_settings_set_print_backgrounds): 18189 * UIProcess/API/gtk/WebKitSettings.h: 18190 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 18191 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 18192 (testWebKitSettings): 18193 181942012-01-18 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18195 18196 [Qt] Handle the layers visible rect calculation on the web process. 18197 https://bugs.webkit.org/show_bug.cgi?id=74720 18198 18199 Reviewed by Noam Rosenthal. 18200 18201 The layers now get their visible rect on the web process through the 18202 root layer when the UI process call setVisibleContentRectAndScale, 18203 previously only used for the non-composited content layer. 18204 The rect is then carried down the layers in the tree which apply it the inverse 18205 of their transform before handing it to their tiled backing store. 18206 18207 This ensures that new layers get a proper visible rect right on creation, 18208 and also that simultaneous visible rect and scale changes are applied synchronously. 18209 18210 This patch also uses clampedBoundsOfProjectedQuad instead of mapRect 18211 to transform the visible rect correctly for 3D transformed layers. 18212 18213 * UIProcess/API/qt/qquickwebview.cpp: 18214 (QQuickWebViewPrivate::initializeDesktop): 18215 (QQuickWebViewPrivate::initializeTouch): 18216 (QQuickWebViewPrivate::updateDesktopViewportSize): 18217 (QQuickWebViewPrivate::updateTouchViewportSize): 18218 (QQuickWebView::geometryChanged): 18219 Make sure that the visible rect is updated for the desktop view as well. 18220 * UIProcess/API/qt/qquickwebview_p_p.h: 18221 * UIProcess/LayerTreeHostProxy.h: 18222 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 18223 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 18224 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 18225 (WebCore::WebGraphicsLayer::setChildren): 18226 (WebCore::WebGraphicsLayer::addChild): 18227 (WebCore::WebGraphicsLayer::addChildAtIndex): 18228 (WebCore::WebGraphicsLayer::addChildAbove): 18229 (WebCore::WebGraphicsLayer::addChildBelow): 18230 (WebCore::WebGraphicsLayer::replaceChild): 18231 (WebCore::WebGraphicsLayer::setMaskLayer): 18232 (WebCore::WebGraphicsLayer::syncCompositingState): 18233 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 18234 (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale): 18235 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 18236 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect): 18237 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 18238 * WebProcess/WebPage/LayerTreeHost.messages.in: 18239 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 18240 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 18241 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 18242 182432012-01-18 Jon Lee <jonlee@apple.com> 18244 18245 Another build fix for r105364. 18246 18247 * WebProcess/mac/WebProcessMac.mm: 18248 (WebKit::WebProcess::platformInitializeWebProcess): Missing #if. 18249 182502012-01-18 Jon Lee <jonlee@apple.com> 18251 18252 Build fix for r105364. Unreviewed. 18253 18254 * WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS) 18255 (WebKit::WebNotificationManager::initialize): 18256 (WebKit::WebNotificationManager::didUpdateNotificationDecision): 18257 (WebKit::WebNotificationManager::didRemoveNotificationDecisions): 18258 (WebKit::WebNotificationManager::policyForOrigin): 18259 182602012-01-18 Jon Lee <jonlee@apple.com> 18261 18262 [WK2] Sync call for notifications permissions causes flashes on gmail.com 18263 https://bugs.webkit.org/show_bug.cgi?id=76570 18264 <rdar://problem/10647155> 18265 18266 Reviewed by Anders Carlsson and Sam Weinig. 18267 18268 The website code figures out the permission level for its security origin by making a JS call (called 18269 checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from 18270 the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and 18271 returns that policy back to the JS. 18272 18273 The synchronous nature of this call causes the white flash to appear in certain cases. 18274 18275 To fix this, the checkPermission() call is handled all within the web process, instead of going up into 18276 the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the 18277 notification permissions. Any time the WK client makes a change to the permissions, that gets sent down 18278 asynchronously, and the cached copy in WebNotificationManager gets updated. 18279 18280 A page's settings may disable notifications altogether. Before, this would have been handled by the WK 18281 client, since retrieving the permissions were also handled there. Now that the lookup happens in the web 18282 process, we need to add that setting in WebCore. 18283 18284 == Update notification permissions to use the security origin's string representation, rather than its 18285 database identifier. 18286 18287 * UIProcess/Notifications/WebNotification.cpp: 18288 (WebKit::WebNotification::WebNotification): 18289 * UIProcess/Notifications/WebNotification.h: 18290 (WebKit::WebNotification::create): 18291 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 18292 (WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in 18293 initialize() now. 18294 (WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in 18295 initialize() now. 18296 * UIProcess/Notifications/WebNotificationManagerProxy.h: 18297 * UIProcess/WebPageProxy.cpp: 18298 (WebKit::WebPageProxy::requestNotificationPermission): 18299 (WebKit::WebPageProxy::showNotification): 18300 * UIProcess/WebPageProxy.h: 18301 18302 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 18303 (WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications 18304 are enabled. 18305 * WebProcess/Notifications/WebNotificationManager.cpp: 18306 (WebKit::WebNotificationManager::show): Only show notification is they are enabled. 18307 (WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled. 18308 18309 == Remove synchronous message to get policy for a given origin. Instead, use the cached copy in 18310 WebNotificationManager. 18311 18312 * WebProcess/Notifications/WebNotificationManager.h: 18313 * WebProcess/Notifications/WebNotificationManager.cpp: 18314 (WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy. 18315 If it doesn't exist, return NotificationPresenter::PermissionNotAllowed. 18316 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 18317 (WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use 18318 policyForOrigin(). 18319 18320 Remove old WK API function to get the policy. Because this function was the only synchronous message, 18321 we remove the sync-message-related functions also. Also, add in some #includes that might have been 18322 omitted in prior patches. 18323 18324 * UIProcess/API/C/WKNotificationProvider.h: 18325 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel. 18326 * UIProcess/Notifications/WebNotificationManagerProxy.h: 18327 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 18328 18329 * UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin(). 18330 * UIProcess/Notifications/WebNotificationProvider.cpp: 18331 18332 * UIProcess/WebProcessProxy.cpp: 18333 (WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the 18334 notification manager proxy. 18335 18336 == Mechanism for client to update the permissions copy in WebNotificationManager. 18337 18338 * WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages 18339 didUpdateNotificationDecision and didRemoveNotificationDecisions. 18340 * WebProcess/Notifications/WebNotificationManager.h: 18341 * WebProcess/Notifications/WebNotificationManager.cpp: 18342 (WebKit::WebNotificationManager::initialize): 18343 (WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry. 18344 (WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry. 18345 18346 * UIProcess/Notifications/WebNotificationManagerProxy.h: 18347 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 18348 (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy): 18349 (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of 18350 origins to remove, and send it to the WebNotificationManager. 18351 18352 * UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API. 18353 * UIProcess/API/C/WKNotificationManager.cpp: 18354 (WKNotificationManagerProviderDidUpdateNotificationPolicy): 18355 (WKNotificationManagerProviderDidRemoveNotificationPolicies): 18356 18357 == Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit 18358 from settings. 18359 18360 * Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the 18361 parameters. 18362 * Shared/WebProcessCreationParameters.cpp: 18363 (WebKit::WebProcessCreationParameters::encode): 18364 (WebKit::WebProcessCreationParameters::decode): 18365 18366 * UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions. 18367 * UIProcess/Notifications/WebNotificationProvider.cpp: 18368 * UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions. 18369 18370 * UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions(). 18371 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 18372 (WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization. 18373 Similar calls in show() and cancel() are removed in following patch. 18374 (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy. 18375 Populate with origin string, and whether that origin is allowed to post. If no decision has been made 18376 by the user, then there should be no item in this dictionary. 18377 18378 * UIProcess/WebContext.cpp: 18379 (WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the 18380 permissions, and send it to the web process to initialize the notification manager. 18381 * WebProcess/mac/WebProcessMac.mm: 18382 (WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager. 18383 18384 * WebProcess/Notifications/WebNotificationManager.h: 18385 * WebProcess/Notifications/WebNotificationManager.cpp: 18386 (WebKit::WebNotificationManager::initialize): Initialize the permissions copy. 18387 18388 * WebProcess/WebPage/WebPage.cpp: 18389 (WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings. 18390 18391 == Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956. 18392 18393 * Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to 18394 WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function. 18395 * Shared/API/c/WKSecurityOrigin.cpp: 18396 (WKSecurityOriginCreateFromString): 18397 (WKSecurityOriginCreateFromDatabaseIdentifier): 18398 (WKSecurityOriginCopyToString): 18399 18400 Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier() 18401 and add WebSecurityOrigin::createFromString(). 18402 18403 * Shared/WebSecurityOrigin.h: 18404 (WebKit::WebSecurityOrigin::createFromString): 18405 (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): 18406 (WebKit::WebSecurityOrigin::toString): Added function. 18407 18408 Refactor with renamed createFromDatabaseIdentifier() method. 18409 18410 * UIProcess/WebDatabaseManagerProxy.cpp: 18411 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 18412 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 18413 (WebKit::WebDatabaseManagerProxy::didModifyOrigin): 18414 (WebKit::WebDatabaseManagerProxy::didModifyDatabase): 18415 * UIProcess/WebPageProxy.cpp: 18416 (WebKit::WebPageProxy::exceededDatabaseQuota): 18417 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 18418 18419 == Add WK API calls to change notificationsEnabled bit in WebCore::Settings. 18420 18421 * Shared/WebPreferencesStore.h: 18422 * UIProcess/API/C/WKPreferences.cpp: 18423 (WKPreferencesSetNotificationsEnabled): 18424 (WKPreferencesGetNotificationsEnabled): 18425 * UIProcess/API/C/WKPreferences.h: 18426 184272012-01-18 Anders Carlsson <andersca@apple.com> 18428 18429 REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time 18430 https://bugs.webkit.org/show_bug.cgi?id=76587 18431 <rdar://problem/9739135> 18432 18433 Reviewed by Sam Weinig. 18434 18435 * UIProcess/cf/WebPageProxyCF.cpp: 18436 Change CurrentSessionStateDataVersion back to 2. 18437 18438 * WebProcess/WebPage/DecoderAdapter.cpp: 18439 (WebKit::DecoderAdapter::decodeString): 18440 * WebProcess/WebPage/EncoderAdapter.cpp: 18441 (WebKit::EncoderAdapter::encodeString): 18442 Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886. 18443 184442012-01-17 Alexey Proskuryakov <ap@apple.com> 18445 18446 [Mac] Add a flag telling plug-in if it can enter sandbox 18447 https://bugs.webkit.org/show_bug.cgi?id=76467 18448 18449 Reviewed by Anders Carlsson. 18450 18451 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 18452 (WebKit::NPN_GetValue): Added a private flag. 18453 184542012-01-18 Eric Carlson <eric.carlson@apple.com> 18455 18456 Provide access to user's list of preferred languages 18457 https://bugs.webkit.org/show_bug.cgi?id=76138 18458 18459 Reviewed by Alexey Proskuryakov. 18460 18461 * Shared/WebProcessCreationParameters.cpp: 18462 (WebKit::WebProcessCreationParameters::encode): Encode the languages array. 18463 (WebKit::WebProcessCreationParameters::decode): Decode the languages array. 18464 * Shared/WebProcessCreationParameters.h: 18465 18466 * UIProcess/WebContext.cpp: 18467 (WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages. 18468 (WebKit::WebContext::ensureWebProcess): Initialize parameters.languages. 18469 18470 * WebProcess/WebProcess.cpp: 18471 (WebKit::WebProcess::initializeWebProcess): Override user languages array. 18472 (WebKit::WebProcess::userPreferredLanguagesChanged): Ditto. 18473 * WebProcess/WebProcess.h: 18474 * WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged. 18475 18476 * win/WebKit2.def: Export the new functions. 18477 * win/WebKit2CFLite.def: Ditto. 18478 184792012-01-18 Luciano Wolf <luciano.wolf@openbossa.org> 18480 18481 [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink 18482 https://bugs.webkit.org/show_bug.cgi?id=76538 18483 18484 Reviewed by Tor Arne Vestbø. 18485 18486 The -lrt parameter was coming before -lWebKit2 during linkage. 18487 18488 Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware 18489 of its own dependencies instead of letting WebKit guess about. Letting 18490 it on api.pri can lead to a wrong parameter's order during linker phase. 18491 Ubuntu 11.10 was giving errors about SharedMemory (shm_open and 18492 shm_unlink undefined symbols). 18493 18494 The issue was fixed with the help of Aloisio Almeida and Lauro Venancio. 18495 18496 * WebKit2.pri: 18497 184982012-01-18 Carlos Garnacho <carlosg@gnome.org> 18499 18500 [GTK] Listen to GDK_SCROLL_MASK 18501 https://bugs.webkit.org/show_bug.cgi?id=76529 18502 18503 Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle 18504 scroll events, scrolling currently works because GTK+ happens 18505 to send such events to widgets listening to GDK_BUTTON_PRESS_MASK, 18506 but this isn't the intended behavior, so it's subject to change. 18507 18508 Reviewed by Martin Robinson. 18509 18510 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 18511 (webkitWebViewBaseRealize): 18512 185132012-01-18 Andras Becsi <andras.becsi@nokia.com> 18514 18515 [Qt][WK2] Fix the debug build. 18516 18517 Unreviewed. 18518 18519 * UIProcess/qt/QtWebPageEventHandler.cpp: 18520 (setInputPanelVisible): Remove assertion from non-member function. 18521 185222012-01-12 Kenneth Rohde Christiansen <kenneth@webkit.org> 18523 18524 [Qt] Zoom in to the focused node only when vkb starts becoming visible 18525 https://bugs.webkit.org/show_bug.cgi?id=76174 18526 18527 Reviewed by Simon Hausmann. 18528 18529 Remove the old code which always zoomed in when something got focus, 18530 even via JavaScript, and replaced it with code checking the state of 18531 the Qt input panel. 18532 18533 Also make sure that we do not zoom in or request the input panel if 18534 the item is not focused. 18535 18536 * UIProcess/PageClient.h: 18537 * UIProcess/WebPageProxy.cpp: 18538 * UIProcess/WebPageProxy.h: 18539 * UIProcess/WebPageProxy.messages.in: 18540 * UIProcess/qt/QtPageClient.cpp: 18541 * UIProcess/qt/QtPageClient.h: 18542 * UIProcess/qt/QtWebPageEventHandler.cpp: 18543 (QtWebPageEventHandler::QtWebPageEventHandler): 18544 (QtWebPageEventHandler::~QtWebPageEventHandler): 18545 (QtWebPageEventHandler::inputPanelVisibleChanged): 18546 * UIProcess/qt/QtWebPageEventHandler.h: 18547 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 18548 (WebKit::WebEditorClient::respondToChangedSelection): 18549 185502012-01-18 Shinya Kawanaka <shinyak@google.com> 18551 18552 Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement. 18553 https://bugs.webkit.org/show_bug.cgi?id=76241 18554 18555 Reviewed by Dimitri Glazkov. 18556 18557 * win/WebKit2.def: Exposed necessary symbols. 18558 * win/WebKit2CFLite.def: ditto. 18559 185602012-01-17 Hajime Morrita <morrita@chromium.org> 18561 18562 [Internals] Should be able to access corresponding Document object. 18563 https://bugs.webkit.org/show_bug.cgi?id=76425 18564 18565 Reviewed by Adam Barth. 18566 18567 * win/WebKit2.def: Added exporting symbols. 18568 * win/WebKit2CFLite.def: Added exporting symbols. 18569 185702012-01-17 Matthew Delaney <mdelaney@apple.com> 18571 18572 On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier. 18573 <rdar://problem/10692025> 18574 18575 Reviewed by Simon Fraser. 18576 18577 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Init new function. 18578 (InitWebCoreSystemInterface): 18579 185802012-01-17 Sam Weinig <sam@webkit.org> 18581 18582 Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent: 18583 <rdar://problem/10688913> 18584 18585 Reviewed by Anders Carlsson. 18586 18587 * UIProcess/API/mac/WKView.mm: 18588 (-[WKView quickLookWithEvent:]): 18589 185902012-01-17 Sam Weinig <sam@webkit.org> 18591 18592 Add helper macro for forward declaring objective-c classes 18593 https://bugs.webkit.org/show_bug.cgi?id=76485 18594 18595 Reviewed by Anders Carlsson. 18596 18597 * WebProcess/WebCoreSupport/WebDragClient.h: 18598 Deploy OBJC_CLASS for a little code reduction. 18599 18600 * config.h: 18601 Remove duplicate copy of OBJC_CLASS. 18602 186032012-01-17 Martin Robinson <mrobinson@igalia.com> 18604 18605 [GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API 18606 https://bugs.webkit.org/show_bug.cgi?id=76345 18607 18608 Reviewed by Gustavo Noronha Silva. 18609 18610 Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer 18611 include anything other than WebKit2.h for the C API. 18612 18613 * UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now. 18614 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto. 18615 * UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes. 18616 * UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h. 18617 * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto. 18618 * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto. 18619 * UIProcess/API/gtk/WebKitWebView.cpp: Ditto. 18620 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto. 18621 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto. 18622 186232012-01-17 Alexander Færøy <alexander.faeroy@nokia.com> 18624 18625 [Qt] Implement HTTP authentication QML API 18626 https://bugs.webkit.org/show_bug.cgi?id=75535 18627 18628 Reviewed by Kenneth Rohde Christiansen. 18629 18630 This patch implements the QML API for handling HTTP authentication. 18631 The implementation uses a syncronous message between the WebProcess 18632 and the UIProcess which is called when the authenticationRequired 18633 signal is emitted from QNAM. 18634 18635 Based in part upon patch by Peter Hartmann. 18636 18637 * UIProcess/API/qt/qquickwebview.cpp: 18638 (QQuickWebViewPrivate::QQuickWebViewPrivate): 18639 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest): 18640 (QQuickWebViewExperimental::authenticationDialog): 18641 (QQuickWebViewExperimental::setAuthenticationDialog): 18642 * UIProcess/API/qt/qquickwebview_p.h: 18643 * UIProcess/API/qt/qquickwebview_p_p.h: 18644 * UIProcess/PageClient.h: 18645 * UIProcess/WebPageProxy.cpp: 18646 (WebKit::WebPageProxy::authenticationRequiredRequest): 18647 * UIProcess/WebPageProxy.h: 18648 * UIProcess/WebPageProxy.messages.in: 18649 * UIProcess/qt/QtDialogRunner.cpp: 18650 (AuthenticationDialogContextObject::AuthenticationDialogContextObject): 18651 (AuthenticationDialogContextObject::hostname): 18652 (AuthenticationDialogContextObject::realm): 18653 (AuthenticationDialogContextObject::prefilledUsername): 18654 (AuthenticationDialogContextObject::accept): 18655 (AuthenticationDialogContextObject::reject): 18656 (QtDialogRunner::initForAuthentication): 18657 * UIProcess/qt/QtDialogRunner.h: 18658 (QtDialogRunner::username): 18659 (QtDialogRunner::password): 18660 (QtDialogRunner::onAuthenticationAccepted): 18661 * UIProcess/qt/QtPageClient.cpp: 18662 (QtPageClient::handleAuthenticationRequiredRequest): 18663 * UIProcess/qt/QtPageClient.h: 18664 * WebProcess/qt/QtNetworkAccessManager.cpp: 18665 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): 18666 (WebKit::QtNetworkAccessManager::onAuthenticationRequired): 18667 * WebProcess/qt/QtNetworkAccessManager.h: 18668 186692012-01-16 Dan Bernstein <mitz@apple.com> 18670 18671 <rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks 18672 18673 Reviewed by John Sullivan and Ada Chan. 18674 18675 * UIProcess/API/mac/WKView.mm: 18676 (-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row 18677 while [self window] is non-nil, check if there isn’t already an event monitor before adding 18678 a new one. 18679 186802012-01-16 Anders Carlsson <andersca@apple.com> 18681 18682 Crash when calling SecItemAdd with a null result pointer 18683 https://bugs.webkit.org/show_bug.cgi?id=76407 18684 <rdar://problem/10696087> 18685 18686 Reviewed by Brady Eidson. 18687 18688 Add null check. 18689 18690 * WebProcess/mac/SecItemShimMethods.mm: 18691 (WebKit::webSecItemAdd): 18692 186932012-01-16 Jon Lee <jonlee@apple.com> 18694 18695 Build fix for r105086. 18696 18697 * Configurations/FeatureDefines.xcconfig: 18698 186992012-01-16 Zeno Albisser <zeno@webkit.org> 18700 18701 [Qt] Fix QT_VERSION related warnings when building on Mac OS X 18702 https://bugs.webkit.org/show_bug.cgi?id=76340 18703 18704 This bug was caused by r104826. 18705 As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239 18706 we should not use "using namespace WebCore" in header files, 18707 because it might cause ambiguous references. 18708 This patch reverts the changes from r104826 and r104981 18709 and removes the "using namespace WebCore" statement from 18710 two header files. 18711 18712 Reviewed by Tor Arne Vestbø. 18713 18714 * Shared/WebLayerTreeInfo.h: 18715 (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo): 18716 (WebKit::WebLayerAnimation::WebLayerAnimation): 18717 * UIProcess/LayerTreeHostProxy.h: 18718 (WebKit::LayerTreeHostProxy::layerByID): 18719 (WebKit::LayerTreeHostProxy::rootLayer): 18720 (WebKit::LayerTreeHostProxy::notifyAnimationStarted): 18721 (WebKit::LayerTreeHostProxy::notifySyncRequired): 18722 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 18723 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 18724 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 18725 187262012-01-16 Alexander Færøy <alexander.faeroy@nokia.com> 18727 18728 [Qt] Remove references to PagePointer in the FrameNetworkingContext 18729 https://bugs.webkit.org/show_bug.cgi?id=76342 18730 18731 Reviewed by Simon Hausmann. 18732 18733 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18734 (WebKit::WebFrameLoaderClient::createNetworkingContext): 18735 * WebProcess/qt/QtNetworkAccessManager.cpp: 18736 (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage): 18737 * WebProcess/qt/QtNetworkAccessManager.h: 18738 187392012-01-14 Dan Bernstein <mitz@apple.com> 18740 18741 <rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298 18742 18743 Reviewed by Anders Carlsson. 18744 18745 * WebProcess/mac/SecItemShimMethods.mm: 18746 (WebKit::initializeSecItemShim): Removed an early return that was accidentally added in r105008. 18747 187482012-01-13 Anders Carlsson <andersca@apple.com> 18749 18750 Delay updating the root compositing layer if the layer tree state is frozen 18751 https://bugs.webkit.org/show_bug.cgi?id=76316 18752 18753 Reviewed by Dan Bernstein. 18754 18755 When the layer tree is frozen, stash the root layer in m_pendingRootCompositingLayer and set it in flushLayers. 18756 18757 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 18758 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18759 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 18760 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 18761 187622012-01-13 Anders Carlsson <andersca@apple.com> 18763 18764 Implement TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen 18765 https://bugs.webkit.org/show_bug.cgi?id=76308 18766 18767 Reviewed by Sam Weinig. 18768 18769 Keep track of whether the layer tree state is frozen and suspend/resume the layer flush scheduler accordingly. 18770 18771 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 18772 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18773 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 18774 (WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen): 18775 (WebKit::TiledCoreAnimationDrawingArea::layerTreeStateIsFrozen): 18776 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync): 18777 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 18778 187792012-01-13 Anders Carlsson <andersca@apple.com> 18780 18781 Disable implicit animations when setting the root compositing layer 18782 https://bugs.webkit.org/show_bug.cgi?id=76304 18783 18784 Reviewed by Sam Weinig. 18785 18786 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18787 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 18788 187892012-01-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 18790 18791 TextureMapper: Extract layer transform logic to a LayerTransform class. 18792 https://bugs.webkit.org/show_bug.cgi?id=76291 18793 18794 Reviewed by Noam Rosenthal. 18795 18796 Move the paint call before the visible rect collection to make sure that 18797 transforms are computed. This will increase the delay for the visible rects 18798 to get to the WebProcess until we move this calculation out of the UI Process. 18799 This fixes an assert triggering in LayerTransform::combineTransforms. 18800 18801 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 18802 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 18803 188042012-01-13 Brent Fulgham <bfulgham@webkit.org> 18805 18806 [WinCairo] Build correction. 18807 18808 * Shared/WebGraphicsContext.h: Use proper include path for RefPtrCairo.h. 18809 188102012-01-12 Martin Robinson <mrobinson@igalia.com> 18811 18812 [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes 18813 https://bugs.webkit.org/show_bug.cgi?id=74478 18814 18815 Reviewed by Gustavo Noronha Silva. 18816 18817 Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse. 18818 They are the WebCore types they are meant to represent and we will need to expose more 18819 information from them in the future to make them useful. Later we can have ResourceResponse 18820 generate a SoupMessage lazily if necessary. 18821 18822 * GNUmakefile.am: 18823 * UIProcess/API/gtk/WebKitURIRequest.cpp: 18824 (webkit_uri_request_class_init): Remove the set property vmethod. 18825 (webkit_uri_request_new): The URI property is no longer settable. 18826 (webkitURIRequestCreateForResourceRequest): Added this private constructor. 18827 (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest. 18828 * UIProcess/API/gtk/WebKitURIResponse.cpp: 18829 (webkit_uri_response_class_init): Remove the set property vmethod. 18830 (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse. 18831 (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse. 18832 (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse. 18833 (webkitURIResponseCreateForResourceResponse): Added this private constructor. 18834 * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods. 18835 188362012-01-12 No'am Rosenthal <noam.rosenthal@nokia.com> 18837 18838 [Qt][WK2] WebProcesses crashes when composited reflections/masks are present 18839 https://bugs.webkit.org/show_bug.cgi?id=75883 18840 18841 Reviewed by Kenneth Rohde Christiansen. 18842 18843 Make sure masks and replica layers can access layerTreeTileClient. Let masks 18844 have the right contents/visible rect so that they can render content tiles. 18845 Default the mask's size to be the layer's size. 18846 18847 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 18848 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 18849 (WebCore::WebGraphicsLayer::setSize): 18850 (WebCore::WebGraphicsLayer::setMaskLayer): 18851 (WebCore::WebGraphicsLayer::setReplicatedByLayer): 18852 (WebCore::WebGraphicsLayer::syncCompositingState): 18853 (WebCore::WebGraphicsLayer::setContentsScale): 18854 (WebCore::WebGraphicsLayer::setVisibleContentRect): 18855 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 18856 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively): 18857 (WebCore::WebGraphicsLayer::layerTreeTileClient): 18858 (WebCore::WebGraphicsLayer::purgeBackingStores): 18859 (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded): 18860 (WebCore::WebGraphicsLayer::setLayerTreeTileClient): 18861 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 18862 (WebCore::WebGraphicsLayer::maskTarget): 18863 (WebCore::WebGraphicsLayer::setMaskTarget): 18864 188652012-01-12 Kenneth Rohde Christiansen <kenneth@webkit.org> 18866 18867 [Qt] Set the input method hints on the QtQuick item 18868 https://bugs.webkit.org/show_bug.cgi?id=76169 18869 18870 Reviewed by Simon Hausmann. 18871 18872 Set the input method hints given the HTMLElement type and state. 18873 18874 * Shared/EditorState.cpp: 18875 (WebKit::EditorState::encode): 18876 (WebKit::EditorState::decode): 18877 * Shared/EditorState.h: 18878 (WebKit::EditorState::EditorState): 18879 * UIProcess/qt/QtWebPageEventHandler.cpp: 18880 (QtWebPageEventHandler::updateTextInputState): 18881 * WebProcess/WebPage/WebPage.cpp: 18882 (WebKit::WebPage::editorState): 18883 188842012-01-12 Eunmi Lee <eunmi15.lee@samsung.com> 18885 18886 [EFL][WK2] Update and show ewk_view with updated webpage. 18887 https://bugs.webkit.org/show_bug.cgi?id=76023 18888 18889 Reviewed by Andreas Kling. 18890 18891 Update ewk_view with BackingStore image which is rendered webpage 18892 image by WebProcess, and show updated image's area when 18893 PageClientImpl::setViewNeedsDisplay() is called. 18894 The ewk_view_display() function is used to display updated area of 18895 evas_object_image and the ewk_view_image_data_set() function is used 18896 to set evas_object_image's data with rendered webpage. 18897 18898 * UIProcess/API/efl/PageClientImpl.cpp: 18899 (WebKit::PageClientImpl::setViewNeedsDisplay): 18900 * UIProcess/API/efl/ewk_private.h: Added. 18901 * UIProcess/API/efl/ewk_view.cpp: 18902 (ewk_view_add): 18903 (ewk_view_display): 18904 (ewk_view_image_data_set): 18905 * UIProcess/cairo/BackingStoreCairo.cpp: 18906 (WebKit::BackingStore::incorporateUpdate): 18907 189082012-01-12 Ryuan Choi <ryuan.choi@samsung.com> 18909 18910 [EFL][WK2] Network is not available when SOUP is enabled. 18911 https://bugs.webkit.org/show_bug.cgi?id=76112 18912 18913 Reviewed by Andreas Kling. 18914 18915 ecore_main_loop_glib_integrate should be called to use glib based library 18916 such as SOUP. 18917 18918 * WebProcess/efl/WebProcessMainEfl.cpp: 18919 (WebKit::WebProcessMainEfl): 18920 189212012-01-12 Ryuan Choi <ryuan.choi@samsung.com> 18922 18923 [EFL][WK2] Add PLATFORM(EFL) in SharedMemory.h, WebProcessStore.h, WebEditorClient.cpp 18924 https://bugs.webkit.org/show_bug.cgi?id=76115 18925 18926 Reviewed by Andreas Kling. 18927 18928 This patch added PLATFORM(EFL) guard in SharedMemory.h to use UNIX_DOMAIN_SOCKETS 18929 and WebProcessStore.h to have font family preference 18930 and WebEditorClient.cpp to use platform specific handleKeyboardEvent(), 18931 handleInputMethodKeydown() 18932 18933 * Platform/SharedMemory.h: 18934 * Shared/WebPreferencesStore.h: 18935 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 18936 189372012-01-11 Carlos Garcia Campos <cgarcia@igalia.com> 18938 18939 [GTK] Web process should use the same locale than UI process 18940 https://bugs.webkit.org/show_bug.cgi?id=76054 18941 18942 Reviewed by Gustavo Noronha Silva. 18943 18944 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 18945 (WebKit::childSetupFunction): Make child process use the same 18946 locale than its parent. 18947 189482012-01-11 Ryuan Choi <ryuan.choi@samsung.com> 18949 18950 [WK2] Share cairo specific codes with EFL port. 18951 https://bugs.webkit.org/show_bug.cgi?id=75457 18952 18953 Reviewed by Brent Fulgham. 18954 18955 Change PLATFORM(GTK) to USE(CAIRO) in WebGraphicsContext{h,cpp} to share 18956 with EFL port. 18957 18958 * Shared/WebGraphicsContext.cpp: 18959 (WebKit::WebGraphicsContext::WebGraphicsContext): 18960 * Shared/WebGraphicsContext.h: 18961 189622012-01-11 Beth Dakin <bdakin@apple.com> 18963 18964 https://bugs.webkit.org/show_bug.cgi?id=75904 18965 WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 18966 the time 18967 -and corresponding- 18968 <rdar://problem/10498816> 18969 18970 Reviewed by Darin Adler. 18971 18972 This patch gets rid of the optional parameter called onlyUpdateScrollbars for 18973 WebCore::EventHandler::mouseMoved() and instead moves that functionality into 18974 its own function called passMouseMovedEventToScrollbars(). 18975 * WebProcess/WebPage/WebPage.cpp: 18976 (WebKit::handleMouseEvent): 18977 189782012-01-11 Brent Fulgham <bfulgham@webkit.org> 18979 18980 WinCairo build correction. 18981 18982 * UIProcess/WebPageProxy.h: Don't define viewWidget for WinCairo port. 18983 189842012-01-11 Anders Carlsson <andersca@apple.com> 18985 18986 Webpages flash white when switching between windows 18987 https://bugs.webkit.org/show_bug.cgi?id=76080 18988 <rdar://problem/9893565> 18989 18990 Reviewed by Dan Bernstein. 18991 18992 Introduce a _windowHasValidBackingStore boolean and only paint the background (white or clear) 18993 * UIProcess/API/mac/WKView.mm: 18994 (-[WKView setFrameSize:]): 18995 Set _windowHasValidBackingStore to false if the new size is different from the old size. 18996 18997 (-[WKView viewDidMoveToWindow]): 18998 Set _windowHasValidBackingStore to false. 18999 19000 (-[WKView _windowDidMiniaturize:]): 19001 Set _windowHasValidBackingStore to false. 19002 19003 (-[WKView _windowDidChangeBackingProperties:]): 19004 Set _windowHasValidBackingStore to false. 19005 19006 (-[WKView drawRect:]): 19007 Only call drawPageBackground if _windowHasValidBackingStore is false. Set it to true after painting. 19008 190092012-01-11 Anders Carlsson <andersca@apple.com> 19010 19011 Fix the Mac GCC build. 19012 19013 Work around the fact that GCC doesn't work very well with Blocks and C++ objets. 19014 19015 * UIProcess/mac/WebProcessProxyMac.mm: 19016 (WebKit::dispatchFunctionOnQueue): 19017 (WebKit::WebProcessProxy::secItemRequest): 19018 (WebKit::WebProcessProxy::secKeychainItemRequest): 19019 190202012-01-11 No'am Rosenthal <noam.rosenthal@nokia.com> 19021 19022 [Qt][WK2] Directly-composited images sometimes appear with a wrong geometry 19023 https://bugs.webkit.org/show_bug.cgi?id=75882 19024 19025 Reviewed by Simon Hausmann. 19026 19027 When assigning a directly composited image to a TextureMapperNode in WebKit2, we take 19028 contentsRect() onto account. However, contentsRect() might be changed after the image 19029 is already assigned. 19030 We have to reassign the image when contentsRect() changes. This is a pretty cheap 19031 operation, since the image is already converted to a texture and we simply change the 19032 geometric values. 19033 19034 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 19035 (WebKit::LayerTreeHostProxy::syncLayerParameters): 19036 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 19037 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 19038 190392012-01-11 Kenneth Rohde Christiansen <kenneth@webkit.org> 19040 19041 [Qt] Add the editor rect to the EditorState 19042 https://bugs.webkit.org/show_bug.cgi?id=76053 19043 19044 Reviewed by Simon Hausmann. 19045 19046 Also rename some members to match the new Qt naming scheme. 19047 19048 * Shared/EditorState.cpp: 19049 (WebKit::EditorState::encode): 19050 (WebKit::EditorState::decode): 19051 * Shared/EditorState.h: 19052 * UIProcess/API/qt/qquickwebview.cpp: 19053 (QQuickWebView::inputMethodQuery): 19054 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 19055 (WebKit::WebEditorClient::respondToChangedSelection): 19056 * WebProcess/WebPage/WebPage.cpp: 19057 (WebKit::WebPage::editorState): 19058 190592012-01-11 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 19060 19061 [GTK] Linking of big binaries should be serialized to avoid thrashing 19062 https://bugs.webkit.org/show_bug.cgi?id=75977 19063 19064 Reviewed by Martin Robinson. 19065 19066 Added artificial dependencies so that libwebkitgtk is always 19067 linked first, libwebkit2gtk second, and WebKitPluginProcess 19068 last. Automake unfortunately replaces the whole rule used to build 19069 the libraries if the actual name is used to add the dependency, so 19070 we use helper variables to work around that. 19071 19072 * GNUmakefile.am: 19073 190742012-01-11 Ryuan Choi <ryuan.choi@samsung.com> 19075 19076 [EFL][WK2] Rename viewObject to viewWidget 19077 https://bugs.webkit.org/show_bug.cgi?id=75947 19078 19079 Reviewed by Martin Robinson. 19080 19081 Rename viewObject to viewWidget for the EFL port to use WidgetBackingStore 19082 which calls viewWidget(). 19083 19084 * UIProcess/API/efl/PageClientImpl.cpp: 19085 (WebKit::PageClientImpl::PageClientImpl): 19086 (WebKit::PageClientImpl::setViewNeedsDisplay): 19087 (WebKit::PageClientImpl::viewSize): 19088 * UIProcess/API/efl/PageClientImpl.h: 19089 (WebKit::PageClientImpl::create): 19090 (WebKit::PageClientImpl::viewWidget): 19091 * UIProcess/WebPageProxy.h: 19092 * UIProcess/efl/WebPageProxyEfl.cpp: 19093 (WebKit::WebPageProxy::viewWidget): 19094 190952012-01-10 Mark Rowe <mrowe@apple.com> 19096 19097 REGRESSION (r104377): All pages print blank on Snow Leopard 19098 <http://webkit.org/b/75879> / <rdar://problem/10674335> 19099 19100 We need to explicitly load PDFKit.framework before using PDFDocument and friends. 19101 On SnowLeopard the framework is not necessarily loaded by anything else before we 19102 print, which would lead to us failing to allocate the PDFDocument that we use for 19103 drawing the content from the web process. 19104 19105 Reviewed by Dan Bernstein. 19106 19107 * UIProcess/API/mac/WKPrintingView.mm: 19108 (pdfKitFrameworkPath): Construct the path to the PDFKit framework. 19109 (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the 19110 given class from it. 19111 (pdfAnnotationLinkClass): ASSERT that we found the class. 19112 (pdfDocumentClass): Ditto. 19113 191142012-01-10 Chris Marrin <cmarrin@apple.com> 19115 19116 Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work 19117 19118 Unreviewed. 19119 19120 * WebProcess/WebCoreSupport/WebChromeClient.h: 19121 191222012-01-10 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 19123 19124 [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash 19125 https://bugs.webkit.org/show_bug.cgi?id=74176 19126 19127 Reviewed by Noam Rosenthal. 19128 19129 Check texture mapper exists already in ensureRootLayer to avoid recrecation. 19130 Check if root layer was deleted already in purgeGLResources. 19131 Added multipleWebViewWindows and multipleWebViews API tests. 19132 19133 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 19134 (tst_QQuickWebView::multipleWebViewWindows): 19135 (tst_QQuickWebView::multipleWebViews): 19136 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 19137 (WebKit::LayerTreeHostProxy::ensureRootLayer): 19138 (WebKit::LayerTreeHostProxy::purgeGLResources): 19139 191402012-01-10 Ryosuke Niwa <rniwa@webkit.org> 19141 19142 Snow Leopard build fix. 19143 19144 * UIProcess/API/mac/PageClientImpl.h: 19145 * UIProcess/API/mac/PageClientImpl.mm: 19146 191472012-01-10 Anders Carlsson <andersca@apple.com> 19148 19149 Hang opening movie that requires authentication 19150 https://bugs.webkit.org/show_bug.cgi?id=75989 19151 19152 Reviewed by Sam Weinig. 19153 19154 Change the way the keychain calls are processed to avoid deadlocks: 19155 19156 1. When a keychain call is made, the web process sends an asynchronous request message to the UI process, 19157 avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending 19158 synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>. 19159 2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message. 19160 3. The UI process handles the incoming message request message on the connection work queue and uses 19161 dispatch_async to a global dispatch queue where the keychain call is made. 19162 We use a global queue to prevent the connection work queue from blocking on the call. 19163 4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from 19164 the global dispatch queue. 19165 5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals 19166 the condition variable that the web process is waiting on and the thread that made the keychain call 19167 can resume execution. 19168 19169 * Shared/mac/SecItemRequestData.cpp: 19170 (WebKit::SecItemRequestData::SecItemRequestData): 19171 (WebKit::SecItemRequestData::encode): 19172 (WebKit::SecItemRequestData::decode): 19173 * Shared/mac/SecItemRequestData.h: 19174 (WebKit::SecItemRequestData::type): 19175 Add a type to SecItemRequestData and encode/decode it. 19176 19177 * Shared/mac/SecItemResponseData.h: 19178 (WebKit::SecItemResponseData::resultObject): 19179 Make this return a reference so we can call leakRef() on it. 19180 19181 * Shared/mac/SecKeychainItemRequestData.cpp: 19182 (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData): 19183 (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData): 19184 (WebKit::SecKeychainItemRequestData::attributeList): 19185 (WebKit::SecKeychainItemRequestData::encode): 19186 (WebKit::SecKeychainItemRequestData::decode): 19187 * Shared/mac/SecKeychainItemRequestData.h: 19188 (WebKit::SecKeychainItemRequestData::type): 19189 Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can 19190 correctly copy this object. 19191 19192 * UIProcess/WebConnectionToWebProcess.cpp: 19193 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess): 19194 Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening. 19195 19196 * UIProcess/WebProcessProxy.cpp: 19197 (WebKit::WebProcessProxy::disconnect): 19198 Remove the WebProcessProxy object from the list of connection queue clients. 19199 19200 (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue): 19201 Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue. 19202 19203 (WebKit::WebProcessProxy::didFinishLaunching): 19204 Add the WebProcessProxy as a queue client and open the connection. 19205 19206 * UIProcess/WebProcessProxy.h: 19207 WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain 19208 handler functions with two generic functions, secItemRequest and secKeychainItemRequest. 19209 19210 * UIProcess/WebProcessProxy.messages.in: 19211 Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages. 19212 19213 * UIProcess/mac/WebProcessProxyMac.mm: 19214 (WebKit::handleSecItemRequest): 19215 Call the right SecItem function depending on the request type and send back the result. 19216 19217 (WebKit::WebProcessProxy::secItemRequest): 19218 Dispatch handleSecItemRequest on a global dispatch queue. 19219 19220 (WebKit::handleSecKeychainItemRequest): 19221 Call the right SecKeychainItem function depending on the request type and send back the result. 19222 19223 (WebKit::WebProcessProxy::secKeychainItemRequest): 19224 Dispatch handleSecKeychainItemRequest on a global dispatch queue. 19225 19226 * WebKit2.xcodeproj/project.pbxproj: 19227 Update for added/removed files. 19228 19229 * WebProcess/WebProcess.h: 19230 Add secItemResponse and secKeychainItemResponse message handlers. 19231 19232 * WebProcess/WebProcess.messages.in: 19233 Add SecItemResponse and SecKeychainItemResponse messages. 19234 19235 * WebProcess/mac/CoreIPCClientRunLoop.h: 19236 * WebProcess/mac/CoreIPCClientRunLoop.mm: 19237 This is no longer needed. 19238 19239 * WebProcess/mac/KeychainItemShimMethods.h: 19240 * WebProcess/mac/KeychainItemShimMethods.mm: 19241 (WebKit::managedAttributeLists): 19242 Make this an atomically initialized static. 19243 19244 (WebKit::managedAttributeListsMutex): 19245 Add an atomically initialized mutex. 19246 19247 (WebKit::allocateAttributeListContents): 19248 Use the managedAttributeListsMutex to make this function callable from any thread. 19249 19250 (WebKit::managedKeychainItemContents): 19251 Make this an atomically initialized static. 19252 19253 (WebKit::managedKeychainItemContentsMutex): 19254 Add an atomically initialized mutex. 19255 19256 (WebKit::allocateKeychainItemContentData): 19257 Use the managedAttributeListsMutex to make this function callable from any thread. 19258 19259 (WebKit::webFreeAttributeListContent): 19260 Use locking so this can be called from any thread. 19261 19262 (WebKit::webFreeKeychainItemContent): 19263 Ditto. 19264 19265 (WebKit::responseMap): 19266 Add responseMap thread-safe singleton for holding incoming responses. 19267 19268 (WebKit::generateSecKeychainItemRequestID): 19269 Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity. 19270 19271 (WebKit::didReceiveSecKeychainItemResponse): 19272 Pass the response over the response map. 19273 19274 (WebKit::sendSeqKeychainItemRequest): 19275 Send a request message and wait for a response using ResponseMap::waitForResponse. 19276 19277 (WebKit::webSecKeychainItemCopyContent): 19278 Send a request using sendSeqKeychainItemRequest. 19279 19280 (WebKit::webSecKeychainItemCreateFromContent): 19281 Ditto. 19282 19283 (WebKit::webSecKeychainItemModifyContent): 19284 Ditto. 19285 19286 * WebProcess/mac/KeychainShimResponseMap.h: 19287 New thread-safe helper class that stores a map of responses and lets client wait for a response 19288 with a given ID. 19289 19290 (KeychainShimResponseMap::waitForResponse): 19291 Wait until the response is available in the hash map, then return it. 19292 19293 (KeychainShimResponseMap::didReceiveResponse): 19294 Add the response to the hash map and signal the condition variable. 19295 19296 * WebProcess/mac/SecItemShimMethods.h: 19297 * WebProcess/mac/SecItemShimMethods.mm: 19298 (WebKit::responseMap): 19299 Add responseMap thread-safe singleton for holding incoming responses. 19300 19301 (WebKit::generateSecItemRequestID): 19302 Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity. 19303 19304 (WebKit::didReceiveSecItemResponse): 19305 Pass the response over the response map. 19306 19307 (WebKit::sendSeqItemRequest): 19308 Send a request message and wait for a response using ResponseMap::waitForResponse. 19309 19310 (WebKit::webSecItemCopyMatching): 19311 Send a request using sendSeqItemRequest. 19312 19313 (WebKit::webSecItemAdd): 19314 Ditto. 19315 19316 (WebKit::webSecItemUpdate): 19317 Ditto. 19318 19319 (WebKit::webSecItemDelete): 19320 Ditto. 19321 19322 * WebProcess/mac/WebProcessMac.mm: 19323 (WebKit::WebProcess::secItemResponse): 19324 Call didReceiveSecItemResponse. 19325 19326 (WebKit::WebProcess::secKeychainItemResponse): 19327 Call didReceiveSecKeychainItemResponse. 19328 193292012-01-10 Anders Carlsson <andersca@apple.com> 19330 19331 DispatchOnConnectionQueue messages should have a Connection parameter 19332 https://bugs.webkit.org/show_bug.cgi?id=75986 19333 19334 Reviewed by Adam Roben. 19335 19336 Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection 19337 parameter, making it easier to send messages back over that connection. 19338 19339 * Platform/CoreIPC/HandleMessage.h: 19340 (CoreIPC::callMemberFunction): 19341 (CoreIPC::handleMessageOnConnectionQueue): 19342 * Scripts/webkit2/messages.py: 19343 (async_case_statement): 19344 (generate_message_handler): 19345 * Scripts/webkit2/messages_unittest.py: 19346 * WebProcess/WebPage/EventDispatcher.cpp: 19347 (WebKit::EventDispatcher::wheelEvent): 19348 (WebKit::EventDispatcher::gestureEvent): 19349 * WebProcess/WebPage/EventDispatcher.h: 19350 * WebProcess/WebProcess.cpp: 19351 (WebKit::WebProcess::pluginProcessCrashed): 19352 * WebProcess/WebProcess.h: 19353 193542012-01-10 Chris Marrin <cmarrin@apple.com> 19355 19356 Turn off the FilterTrigger in WebKit and WebKit2 19357 https://bugs.webkit.org/show_bug.cgi?id=75914 19358 19359 Reviewed by Simon Fraser. 19360 19361 Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger. 19362 19363 * WebProcess/WebCoreSupport/WebChromeClient.h: 19364 (WebKit::WebChromeClient::allowedCompositingTriggers): 19365 193662012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 19367 19368 Unreviewed potential Mac WK2 build fix. 19369 19370 * UIProcess/PageClient.h: forward declare WebGestureEvent. 19371 193722012-01-10 Csaba Osztrogonác <ossy@webkit.org> 19373 19374 Unreviewed, rolling out an accidental commit r104569. 19375 19376 * Shared/EditorState.cpp: 19377 (WebKit::EditorState::encode): 19378 (WebKit::EditorState::decode): 19379 * Shared/EditorState.h: 19380 * UIProcess/API/qt/qquickwebview.cpp: 19381 (QQuickWebView::inputMethodQuery): 19382 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 19383 (WebKit::WebEditorClient::respondToChangedSelection): 19384 * WebProcess/WebPage/WebPage.cpp: 19385 (WebKit::WebPage::editorState): 19386 193872012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 19388 19389 Unreviewed potential Mac WK2 build fix. 19390 19391 * UIProcess/API/mac/PageClientImpl.h: 19392 * UIProcess/API/mac/PageClientImpl.mm: 19393 (WebKit::PageClientImpl::doneWithGestureEvent): 19394 193952012-01-10 Rafael Brandao <rafael.lobo@openbossa.org> 19396 19397 [Qt][WK2] Add font-related API tests for QWebPreferences 19398 https://bugs.webkit.org/show_bug.cgi?id=75739 19399 19400 Reviewed by Zoltan Herczeg. 19401 19402 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 19403 * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added. 19404 194052012-01-10 Simon Hausmann <simon.hausmann@nokia.com> 19406 19407 [Qt] Fix failing WK2 layout tests after r104557 19408 19409 Reviewed by Kenneth Rohde Christiansen. 19410 19411 * UIProcess/WebPageProxy.cpp: 19412 (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not 19413 handle mouseDown as gesture event. 19414 194152012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 19416 19417 Unreviewed buildfix. 19418 19419 * UIProcess/WebPageProxy.h: 19420 194212012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 19422 19423 Implement the input panel request/close handling 19424 19425 Reviewed by Simon Hausmann. 19426 19427 With the current patch we only request the input panel as a 19428 response to a user tap. Close requests, on the other hand, 19429 is always respected. 19430 19431 As multiple show/hide requests can happen while processing 19432 the tap gesture, input panel visibility changes are postponed 19433 until the tap gesture ends. 19434 19435 The input panel will become visible if the WebCore editor is 19436 in canEdit mode and thus work for content-editable, meaning 19437 that it won't close the input panel if you click on a link 19438 (eg. editCommand) while in content-editable mode. 19439 19440 * UIProcess/PageClient.h: 19441 * UIProcess/WebPageProxy.cpp: 19442 (WebKit::WebPageProxy::handleGestureEvent): 19443 (WebKit::WebPageProxy::editorStateChanged): 19444 (WebKit::WebPageProxy::didReceiveEvent): 19445 19446 Add a new doneWithGestureEvent method to the PageClient 19447 as well as add a updateTextInputState similar to that of mac. 19448 19449 * UIProcess/WebPageProxy.h: 19450 * UIProcess/qt/QtPageClient.cpp: 19451 (QtPageClient::updateTextInputState): 19452 (QtPageClient::doneWithGestureEvent): 19453 19454 Propagate the new events to the Qt EventHandler. 19455 19456 * UIProcess/qt/QtPageClient.h: 19457 * UIProcess/qt/QtWebPageEventHandler.cpp: 19458 * UIProcess/qt/QtWebPageEventHandler.h: 19459 (QtWebPageEventHandler::QtWebPageEventHandler): 19460 (QtWebPageEventHandler::handleSingleTapEvent): 19461 (setInputPanelVisible): 19462 (QtWebPageEventHandler::updateTextInputState): 19463 (QtWebPageEventHandler::doneWithGestureEvent): 19464 19465 Handle postponing of the input method visibility change 19466 and the actual showing/hiding. 19467 194682012-01-10 Eunmi Lee <eunmi15.lee@samsung.com> 19469 19470 [EFL][WK2] Remove codes to move and resize the clip. 19471 https://bugs.webkit.org/show_bug.cgi?id=75428 19472 19473 Reviewed by Andreas Kling. 19474 19475 Remove codes to move and resize the clip because clip is not used now. 19476 We have to show whole area of evas_object_image so we don't have to 19477 clip any area. 19478 In the WebKit1 Efl, the clip is used to clip the area to show during 19479 weak zoom, so we can use codes to manipulate the clip when we want to 19480 implement weak zoom for WebKit2 Efl. 19481 19482 * UIProcess/API/efl/ewk_view.cpp: 19483 (_ewk_view_smart_calculate): 19484 194852012-01-09 Andras Becsi <andras.becsi@nokia.com> 19486 19487 [Qt][WK2] Pinch zoom should affect the page size 19488 https://bugs.webkit.org/show_bug.cgi?id=74601 19489 19490 Reviewed by Kenneth Rohde Christiansen. 19491 19492 The current implementation uses the scale property of the QQuickWebPage 19493 to scale the page in response to pinch gestures. 19494 However for layout and anchoring to work correctly in QML, pinching needs 19495 to change the page size. 19496 This patch applies the pinch scale to the page size and to the transformation 19497 matrix of the drawing area. 19498 Thus the page item's coordinate system is no longer a direct representation 19499 of the WebCore::Page coordinate system and it is no longer suitable as 19500 an inertial frame of reference for input events. The event propagation had 19501 to be moved to the QQuickWebView and the positions translated to content 19502 coordinates when NativeWebEvents are created. 19503 Re-landing with fixed event delivery for the test infrastructure. 19504 19505 * Shared/NativeWebMouseEvent.h: 19506 * Shared/NativeWebTouchEvent.h: 19507 * Shared/NativeWebWheelEvent.h: 19508 * Shared/qt/NativeWebMouseEventQt.cpp: 19509 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 19510 * Shared/qt/NativeWebTouchEventQt.cpp: 19511 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 19512 * Shared/qt/NativeWebWheelEventQt.cpp: 19513 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): 19514 * Shared/qt/WebEventFactoryQt.cpp: 19515 (WebKit::WebEventFactory::createWebMouseEvent): 19516 (WebKit::WebEventFactory::createWebWheelEvent): 19517 (WebKit::WebEventFactory::createWebTouchEvent): 19518 * Shared/qt/WebEventFactoryQt.h: 19519 * UIProcess/API/qt/qquickwebpage.cpp: 19520 (QQuickWebPage::geometryChanged): 19521 (QQuickWebPagePrivate::QQuickWebPagePrivate): 19522 (QQuickWebPagePrivate::paintToCurrentGLContext): 19523 (QQuickWebPage::usesTraditionalDesktopBehaviour): 19524 (QQuickWebPage::setUsesTraditionalDesktopBehaviour): 19525 (QQuickWebPage::eventHandler): 19526 (QQuickWebPage::setContentSize): 19527 (QQuickWebPage::contentSize): 19528 (QQuickWebPage::setContentScale): 19529 (QQuickWebPage::contentScale): 19530 (QQuickWebPage::transformFromItem): 19531 (QQuickWebPage::transformToItem): 19532 (QQuickWebPagePrivate::updateSize): 19533 * UIProcess/API/qt/qquickwebpage_p.h: 19534 * UIProcess/API/qt/qquickwebpage_p_p.h: 19535 * UIProcess/API/qt/qquickwebview.cpp: 19536 (QQuickWebViewPrivate::enableMouseEvents): 19537 (QQuickWebViewPrivate::disableMouseEvents): 19538 (QQuickWebViewPrivate::loadDidCommit): 19539 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 19540 (QQuickWebViewPrivate::didChangeContentsSize): 19541 (QQuickWebViewPrivate::didChangeViewportProperties): 19542 (QQuickWebViewPrivate::pageDidRequestScroll): 19543 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 19544 (QQuickWebViewPrivate::PostTransitionState::apply): 19545 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 19546 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour): 19547 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour): 19548 (QQuickWebView::mapToWebContent): 19549 (QQuickWebView::mapRectToWebContent): 19550 (QQuickWebView::mapFromWebContent): 19551 (QQuickWebView::mapRectFromWebContent): 19552 (QQuickWebView::geometryChanged): 19553 (QQuickWebView::keyPressEvent): 19554 (QQuickWebView::keyReleaseEvent): 19555 (QQuickWebView::inputMethodEvent): 19556 (QQuickWebView::focusInEvent): 19557 (QQuickWebView::focusOutEvent): 19558 (QQuickWebView::touchEvent): 19559 (QQuickWebView::mousePressEvent): 19560 (QQuickWebView::mouseMoveEvent): 19561 (QQuickWebView::mouseReleaseEvent): 19562 (QQuickWebView::mouseDoubleClickEvent): 19563 (QQuickWebView::wheelEvent): 19564 (QQuickWebView::hoverEnterEvent): 19565 (QQuickWebView::hoverMoveEvent): 19566 (QQuickWebView::hoverLeaveEvent): 19567 (QQuickWebView::dragMoveEvent): 19568 (QQuickWebView::dragEnterEvent): 19569 (QQuickWebView::dragLeaveEvent): 19570 (QQuickWebView::dropEvent): 19571 (QQuickWebView::event): 19572 * UIProcess/API/qt/qquickwebview_p.h: 19573 * UIProcess/API/qt/qquickwebview_p_p.h: 19574 * UIProcess/API/qt/qwebviewportinfo.cpp: 19575 (QWebViewportInfo::contentsSize): 19576 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 19577 (tst_QQuickWebView::scrollRequest): 19578 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 19579 (WebKit::QtPinchGestureRecognizer::recognize): 19580 * UIProcess/qt/QtViewportInteractionEngine.cpp: 19581 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 19582 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 19583 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 19584 (WebKit::QtViewportInteractionEngine::event): 19585 (WebKit::QtViewportInteractionEngine::wheelEvent): 19586 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 19587 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 19588 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 19589 (WebKit::QtViewportInteractionEngine::applyConstraints): 19590 (WebKit::QtViewportInteractionEngine::currentCSSScale): 19591 (WebKit::QtViewportInteractionEngine::panGestureStarted): 19592 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 19593 (WebKit::QtViewportInteractionEngine::panGestureEnded): 19594 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 19595 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 19596 (WebKit::QtViewportInteractionEngine::scaleContent): 19597 * UIProcess/qt/QtViewportInteractionEngine.h: 19598 * UIProcess/qt/QtWebPageEventHandler.cpp: 19599 (QtWebPageEventHandler::handleEvent): 19600 (QtWebPageEventHandler::handleMouseMoveEvent): 19601 (QtWebPageEventHandler::handleMousePressEvent): 19602 (QtWebPageEventHandler::handleMouseReleaseEvent): 19603 (QtWebPageEventHandler::handleWheelEvent): 19604 (QtWebPageEventHandler::handleHoverLeaveEvent): 19605 (QtWebPageEventHandler::handleHoverMoveEvent): 19606 (QtWebPageEventHandler::handleDragEnterEvent): 19607 (QtWebPageEventHandler::handleDragMoveEvent): 19608 (QtWebPageEventHandler::handleDropEvent): 19609 (QtWebPageEventHandler::handleSingleTapEvent): 19610 (QtWebPageEventHandler::handleDoubleTapEvent): 19611 (QtWebPageEventHandler::touchEvent): 19612 * UIProcess/qt/QtWebPageEventHandler.h: 19613 196142012-01-09 Eunmi Lee <eunmi15.lee@samsung.com> 19615 19616 [EFL][WK2] Set color_set function to the clipped smart class. 19617 https://bugs.webkit.org/show_bug.cgi?id=75286 19618 19619 Reviewed by Andreas Kling. 19620 19621 Set _ewk_view_smart_color_set() function to the clipped smart class's color_set, 19622 so application can set webpage's background color using evas_object_color_set() API. 19623 19624 * UIProcess/API/efl/ewk_view.cpp: 19625 (_ewk_view_smart_color_set): 19626 (ewk_view_smart_class_init): 19627 196282012-01-08 Dan Bernstein <mitz@apple.com> 19629 19630 REGRESSION (r103859): WKViews leak 19631 https://bugs.webkit.org/show_bug.cgi?id=75805 19632 19633 The flags changed event monitor added in r103859 was retaining the WKView (as it references 19634 self in the handler block), causing it to leak. 19635 19636 * UIProcess/API/mac/WKView.mm: 19637 (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here... 19638 (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event 19639 monitor to here from... 19640 (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here. 19641 196422012-01-06 Mark Rowe <mrowe@apple.com> 19643 19644 REGRESSION (WebKit2): Save as PDF no longer generates links to URLs 19645 <http://webkit.org/b/65076> / <rdar://problem/9606246> 19646 19647 WebKit2 printing works by having the web process render the page content to a PDF. The PDF 19648 data is then shipped to the UI process which will render it in to the printing graphics context. 19649 Links were being lost because the API used to do the rendering of the PDF in to the printing 19650 graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the 19651 PDF content received from the web process. 19652 19653 To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context. 19654 PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and 19655 add links in to the printing graphics context. 19656 19657 Reviewed by Alexey Proskuryakov. 19658 19659 * UIProcess/API/mac/WKPrintingView.h: 19660 * UIProcess/API/mac/WKPrintingView.mm: 19661 (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily. 19662 (pdfDocumentClass): Ditto. 19663 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types. 19664 Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink 19665 that we find. 19666 (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument. 19667 (-[WKPrintingView drawRect:]): Ditto. 19668 * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled. 19669 196702012-01-06 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 19671 19672 [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload 19673 https://bugs.webkit.org/show_bug.cgi?id=75746 19674 19675 Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent 19676 layers from ~LayerTreeHostQt(). This replaces r103760 which 19677 causes leaks of GraphicsLayerTextureMapper objects on UI side. 19678 19679 Reviewed by Noam Rosenthal. 19680 19681 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 19682 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 19683 (WebCore::WebGraphicsLayer::setLayerTreeTileClient): 19684 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 19685 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 19686 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 19687 196882012-01-06 Alexey Proskuryakov <ap@apple.com> 19689 19690 [Mac] Thread verifier assertions when printing 19691 https://bugs.webkit.org/show_bug.cgi?id=75738 19692 19693 Reviewed by Sam Weinig. 19694 19695 * UIProcess/API/mac/WKPrintingView.mm: 19696 (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get 19697 deref'ed from a secondary one. 19698 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client, 19699 which only expects that on main thread. 19700 (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main 19701 thread. 19702 197032012-01-06 Alexey Proskuryakov <ap@apple.com> 19704 19705 Need to allow SCNetworkReachability service in sandbox profile 19706 https://bugs.webkit.org/show_bug.cgi?id=75724 19707 <rdar://problem/10652415> 19708 19709 Reviewed by Mark Rowe. 19710 19711 * WebProcess/com.apple.WebProcess.sb: 19712 197132012-01-06 Benjamin Poulain <bpoulain@apple.com> 19714 19715 [Mac] Sort the resources of WebKit2.xcodeproj 19716 https://bugs.webkit.org/show_bug.cgi?id=75636 19717 19718 Reviewed by Andreas Kling. 19719 19720 * WebKit2.xcodeproj/project.pbxproj: 19721 197222012-01-06 Rafael Brandao <rafael.lobo@openbossa.org> 19723 19724 [Qt][WK2] QQuickWebView breaks when an empty url is loaded 19725 https://bugs.webkit.org/show_bug.cgi?id=75445 19726 19727 Reviewed by Tor Arne Vestbø. 19728 19729 * UIProcess/API/qt/qquickwebview.cpp: 19730 (QQuickWebView::load): 19731 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load 19732 an empty url is ignored. 'about:blank' should be used instead to load an empty page. 19733 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 19734 197352012-01-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 19736 19737 [Qt] Move listing of include paths and libs to pri files in sources 19738 19739 Includepaths are sometimes modified by non-Qt contributors so keeping 19740 them in files inside Sources makes it more likely that they are updated 19741 along with project files for the other ports. 19742 19743 Using pri files instead of prf files for this also has the benefit that 19744 the include() from the main target file can be parsed and followed by 19745 Qt Creator -- something that does not work with load(). 19746 19747 Dependency from a target to a library through the WEBKIT variable are 19748 handled through forwarding-files in Tools/qmake/mkspecs/modules, which 19749 set the source root of the module and include the right pri file. 19750 19751 Ideally we'd use the variant of include() that takes an optional 19752 namespace to read the variables into, or the fromfile() function, 19753 but both of these add an overhead of about 40% on the total qmake 19754 runtime, due to making a deep copy of all the variables in the 19755 project or re-reading all the prf files from scratch. 19756 19757 Reviewed by Simon Hausmann. 19758 Reviewed by Ossy. 19759 19760 * Target.pri: 19761 * WebKit2.pri: Renamed from Tools/qmake/mkspecs/features/webkit2.prf. 19762 197632012-01-06 Zeno Albisser <zeno@webkit.org> 19764 19765 [Qt][WK2] Add test for application URL schemes. 19766 https://bugs.webkit.org/show_bug.cgi?id=74933 19767 19768 Reviewed by Kenneth Rohde Christiansen. 19769 19770 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added. 19771 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 19772 197732012-01-05 Dan Bernstein <mitz@apple.com> 19774 19775 <rdar://problem/10633760> Update copyright strings 19776 19777 Reviewed by Mark Rowe. 19778 19779 * Info.plist: 19780 * PluginProcess/Info.plist: 19781 * WebProcess/Info.plist: 19782 197832012-01-05 Anders Carlsson <andersca@apple.com> 19784 19785 Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe 19786 https://bugs.webkit.org/show_bug.cgi?id=75667 19787 <rdar://problem/10389454> 19788 19789 Reviewed by Kevin Decker. 19790 19791 NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map 19792 whose plug-in has a null frame, we'd crash. 19793 19794 The plug-in will have a null frame if the plug-in view is destroyed because its containing frame has been removed from the document, 19795 and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame 19796 (see PluginView::unprotectPluginFromDestruction). 19797 19798 The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global 19799 object, causing a null dereference. The reason we were trying to get at the frame's global object was to create a Strong handle to 19800 a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on 19801 each JSNPObject which will end up releasing the underlying NPObject. 19802 19803 However, it turns out that we don't need to stick the JSNPObject in a vector; we can just get the underlying NPObject directly and 19804 stick that in a vector and then iterate over the NPObjects, releasing them. 19805 19806 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 19807 (WebKit::NPRuntimeObjectMap::invalidate): 19808 198092012-01-05 Alexey Proskuryakov <ap@apple.com> 19810 19811 REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS 19812 https://bugs.webkit.org/show_bug.cgi?id=75578 19813 19814 Reviewed by Daniel Bates. 19815 19816 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 19817 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame): 19818 Check for a correct struct member existence. 19819 198202012-01-05 Alexey Proskuryakov <ap@apple.com> 19821 19822 WK2: Safari fails to open a PostScript file in Preview from context menu 19823 https://bugs.webkit.org/show_bug.cgi?id=75643 19824 <rdar://problem/9823430> 19825 19826 Reviewed by Dan Bernstein. 19827 19828 * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData): 19829 Append ".pdf" to file name when converting data, as suggested file name is created for 19830 original MIME type. 19831 198322012-01-05 Zeno Albisser <zeno@webkit.org> 19833 19834 [Qt][WK2] Implement custom URL schemes defined in QML. 19835 https://bugs.webkit.org/show_bug.cgi?id=74931 19836 19837 Allow creation of custom UrlSchemeDelegates from QML. 19838 A UrlSchemeDelegate contains a handler signal that is triggered 19839 when a url matching the defined scheme is requested. 19840 To allow for this a derivation of QNetworkAccessManager 19841 is necessary. 19842 The request is then handled in QML/JS and a reply 19843 is sent back from the UIProcess to the WebProcess. 19844 19845 Reviewed by Kenneth Rohde Christiansen. 19846 19847 * Shared/qt/QtNetworkReplyData.cpp: Added. 19848 (WebKit::QtNetworkReplyData::QtNetworkReplyData): 19849 (WebKit::QtNetworkReplyData::encode): 19850 (WebKit::QtNetworkReplyData::decode): 19851 * Shared/qt/QtNetworkReplyData.h: Added. 19852 * Shared/qt/QtNetworkRequestData.cpp: Added. 19853 (WebKit::QtNetworkRequestData::QtNetworkRequestData): 19854 (WebKit::QtNetworkRequestData::encode): 19855 (WebKit::QtNetworkRequestData::decode): 19856 * Shared/qt/QtNetworkRequestData.h: Added. 19857 * Target.pri: 19858 * UIProcess/API/qt/qquicknetworkreply.cpp: Added. 19859 (QQuickNetworkReply::QQuickNetworkReply): 19860 (QQuickNetworkReply::contentType): 19861 (QQuickNetworkReply::setContentType): 19862 (QQuickNetworkReply::operation): 19863 (QQuickNetworkReply::setOperation): 19864 (QQuickNetworkReply::contentDisposition): 19865 (QQuickNetworkReply::setContentDisposition): 19866 (QQuickNetworkReply::location): 19867 (QQuickNetworkReply::setLocation): 19868 (QQuickNetworkReply::lastModified): 19869 (QQuickNetworkReply::setLastModified): 19870 (QQuickNetworkReply::cookie): 19871 (QQuickNetworkReply::setCookie): 19872 (QQuickNetworkReply::userAgent): 19873 (QQuickNetworkReply::setUserAgent): 19874 (QQuickNetworkReply::server): 19875 (QQuickNetworkReply::setServer): 19876 (QQuickNetworkReply::data): 19877 (QQuickNetworkReply::setData): 19878 (QQuickNetworkReply::send): 19879 (QQuickNetworkReply::networkRequestData): 19880 (QQuickNetworkReply::setNetworkRequestData): 19881 (QQuickNetworkReply::networkReplyData): 19882 * UIProcess/API/qt/qquicknetworkreply_p.h: Added. 19883 * UIProcess/API/qt/qquicknetworkrequest_p.h: Added. 19884 * UIProcess/API/qt/qquickurlschemedelegate.cpp: Added. 19885 (QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate): 19886 (QQuickUrlSchemeDelegate::scheme): 19887 (QQuickUrlSchemeDelegate::setScheme): 19888 (QQuickUrlSchemeDelegate::request): 19889 (QQuickUrlSchemeDelegate::reply): 19890 * UIProcess/API/qt/qquickurlschemedelegate_p.h: Added. 19891 * UIProcess/API/qt/qquickwebview.cpp: 19892 (QQuickWebViewExperimental::QQuickWebViewExperimental): 19893 (QQuickWebViewExperimental::schemeDelegates_At): 19894 (QQuickWebViewExperimental::schemeDelegates_Append): 19895 (QQuickWebViewExperimental::schemeDelegates_Count): 19896 (QQuickWebViewExperimental::schemeDelegates_Clear): 19897 (QQuickWebViewExperimental::schemeDelegates): 19898 (QQuickWebViewExperimental::invokeApplicationSchemeHandler): 19899 (QQuickWebViewExperimental::sendApplicationSchemeReply): 19900 * UIProcess/API/qt/qquickwebview_p.h: 19901 * UIProcess/WebPageProxy.h: 19902 * UIProcess/WebPageProxy.messages.in: 19903 * UIProcess/qt/QtPageClient.cpp: 19904 (QtPageClient::handleApplicationSchemeRequest): 19905 * UIProcess/qt/QtPageClient.h: 19906 * UIProcess/qt/WebPageProxyQt.cpp: 19907 (WebKit::WebPageProxy::registerApplicationScheme): 19908 (WebKit::WebPageProxy::resolveApplicationSchemeRequest): 19909 (WebKit::WebPageProxy::sendApplicationSchemeReply): 19910 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 19911 (WebKit::WebFrameLoaderClient::createNetworkingContext): 19912 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 19913 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 19914 * WebProcess/WebPage/WebPage.h: 19915 * WebProcess/WebPage/WebPage.messages.in: 19916 * WebProcess/WebPage/qt/WebPageQt.cpp: 19917 (WebKit::WebPage::registerApplicationScheme): 19918 (WebKit::WebPage::receivedApplicationSchemeRequest): 19919 (WebKit::WebPage::applicationSchemeReply): 19920 * WebProcess/qt/QtNetworkAccessManager.cpp: Added. 19921 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager): 19922 (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage): 19923 (WebKit::QtNetworkAccessManager::createRequest): 19924 (WebKit::QtNetworkAccessManager::registerApplicationScheme): 19925 * WebProcess/qt/QtNetworkAccessManager.h: Added. 19926 * WebProcess/qt/QtNetworkReply.cpp: Added. 19927 (WebKit::QtNetworkReply::QtNetworkReply): 19928 (WebKit::QtNetworkReply::setData): 19929 (WebKit::QtNetworkReply::setReplyData): 19930 (WebKit::QtNetworkReply::readData): 19931 (WebKit::QtNetworkReply::bytesAvailable): 19932 (WebKit::QtNetworkReply::setHeader): 19933 (WebKit::QtNetworkReply::abort): 19934 (WebKit::QtNetworkReply::close): 19935 (WebKit::QtNetworkReply::setReadBufferSize): 19936 (WebKit::QtNetworkReply::canReadLine): 19937 (WebKit::QtNetworkReply::finalize): 19938 * WebProcess/qt/QtNetworkReply.h: Added. 19939 * WebProcess/qt/WebProcessQt.cpp: 19940 (WebKit::WebProcess::platformInitializeWebProcess): 19941 199422012-01-05 Fady Samuel <fsamuel@chromium.org> 19943 19944 Move scalePageBy from eventSender to window.internals 19945 https://bugs.webkit.org/show_bug.cgi?id=64512 19946 19947 Reviewed by Simon Fraser. 19948 19949 * win/WebKit2.def: 19950 * win/WebKit2CFLite.def: 19951 199522012-01-05 Alexander Færøy <alexander.faeroy@nokia.com> 19953 19954 Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext 19955 https://bugs.webkit.org/show_bug.cgi?id=75550 19956 19957 Make the WebKit2 FrameNetworkingContext implementation store the 19958 WebFrame instead of the WebCore::Frame as this is needed for the Qt 19959 port to implement a.o. HTTP autentication and SSL support. 19960 19961 As the WebFrameNetworkingContext is partly shared across all WebKit2 ports, 19962 all port specific files have been modified. 19963 19964 For the Qt implementation of FrameNetworkingContext, we also set a 19965 property to the originatingObject for the page ID. We also switch to 19966 using an OwnPtr instead of a raw C++ pointer for the 19967 m_originatingObject member. 19968 19969 Based on original patch by Peter Hartmann. 19970 19971 Reviewed by Kenneth Rohde Christiansen. 19972 19973 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 19974 (WebKit::WebFrameLoaderClient::createNetworkingContext): 19975 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: 19976 (WebFrameNetworkingContext::create): 19977 (WebFrameNetworkingContext::WebFrameNetworkingContext): 19978 * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: 19979 (WebFrameNetworkingContext::create): 19980 (WebFrameNetworkingContext::WebFrameNetworkingContext): 19981 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 19982 (WebKit::WebFrameNetworkingContext::create): 19983 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): 19984 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 19985 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 19986 (WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext): 19987 (WebCore::WebFrameNetworkingContext::create): 19988 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 19989 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: 19990 (WebFrameNetworkingContext::create): 19991 (WebFrameNetworkingContext::WebFrameNetworkingContext): 19992 199932012-01-05 Kenneth Rohde Christiansen <kenneth@webkit.org> 19994 19995 [Qt] Implement QQuickWebView::inputMethodQuery 19996 19997 Reviewed by Simon Hausmann. 19998 19999 Implement the current Qt5 queries of inputMethodQuery. 20000 20001 * UIProcess/API/qt/qquickwebview.cpp: 20002 (QQuickWebView::inputMethodQuery): 20003 * UIProcess/API/qt/qquickwebview_p.h: 20004 200052012-01-05 Carlos Garcia Campos <cgarcia@igalia.com> 20006 20007 [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API 20008 https://bugs.webkit.org/show_bug.cgi?id=75248 20009 20010 Reviewed by Gustavo Noronha Silva. 20011 20012 It uses the page zoom factor unconditionally for now. 20013 20014 * UIProcess/API/gtk/WebKitWebView.cpp: 20015 (webkitWebViewSetProperty): 20016 (webkitWebViewGetProperty): 20017 (webkit_web_view_class_init): Add WebKitWebView:zoom-level 20018 property. 20019 (webkit_web_view_set_zoom_level): Set current zoom level. 20020 (webkit_web_view_get_zoom_level): Get current zoom level. 20021 * UIProcess/API/gtk/WebKitWebView.h: 20022 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 20023 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 20024 (testWebViewZoomLevel): 20025 (beforeAll): 20026 200272012-01-05 Carlos Garcia Campos <cgarcia@igalia.com> 20028 20029 [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+ 20030 https://bugs.webkit.org/show_bug.cgi?id=75433 20031 20032 Reviewed by Martin Robinson. 20033 20034 * UIProcess/API/gtk/WebKitWebView.cpp: 20035 (webkitWebViewLoadFail): Use webkit_web_view_replace_content(). 20036 (webkitWebViewLoadChanged): Do not emit load-changed signal when 20037 replacing content. 20038 (webkitWebViewLoadFailed): Do not emit load-failed signal when 20039 replacing content. 20040 (webkitWebViewSetEstimatedLoadProgress): Do not emit 20041 notify::estimated-load-progress signal when replacing content. 20042 (webkit_web_view_replace_content): 20043 * UIProcess/API/gtk/WebKitWebView.h: 20044 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 20045 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 20046 (beforeAll): 20047 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 20048 (replaceContentTitleChangedCallback): 20049 (replaceContentLoadCallback): 20050 (testWebViewReplaceContent): 20051 (beforeAll): 20052 * UIProcess/API/gtk/tests/WebViewTest.cpp: 20053 (WebViewTest::replaceContent): 20054 * UIProcess/API/gtk/tests/WebViewTest.h: 20055 200562012-01-05 Keunsoon Lee <keunsoon.lee@samsung.com> 20057 20058 [WK2][EFL] creating dummy functions for Download class on Efl port. 20059 https://bugs.webkit.org/show_bug.cgi?id=75246 20060 20061 dummy functions for Download class on Efl port 20062 20063 Reviewed by Hajime Morita. 20064 20065 * PlatformEfl.cmake: add new file to compile 20066 * WebProcess/Downloads/efl: Added. 20067 * WebProcess/Downloads/efl/DownloadEfl.cpp: Added. 20068 (WebKit::Download::start): 20069 (WebKit::Download::startWithHandle): 20070 (WebKit::Download::cancel): 20071 (WebKit::Download::platformInvalidate): 20072 (WebKit::Download::didDecideDestination): 20073 (WebKit::Download::platformDidFinish): 20074 (WebKit::Download::receivedCredential): 20075 (WebKit::Download::receivedRequestToContinueWithoutCredential): 20076 (WebKit::Download::receivedCancellation): 20077 (WebKit::Download::useCredential): 20078 (WebKit::Download::continueWithoutCredential): 20079 (WebKit::Download::cancelAuthenticationChallenge): 20080 200812012-01-04 Dan Bernstein <mitz@apple.com> 20082 20083 Allow WebProcess to launch a client process and become its first WebProcess. 20084 20085 This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach 20086 20087 Reviewed by Anders Carlsson. 20088 20089 * PluginProcess/mac/PluginProcessMainMac.mm: 20090 (WebKit::PluginProcessMain): Added a newline to stderr output. 20091 * UIProcess/Launcher/mac/EnvironmentVariables.cpp: 20092 (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name 20093 of the environment variable that optionally tells a UI processs to look for a preexisting 20094 web process instead of launching a new one. 20095 (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the 20096 environment variable that tells a UI process the type of the preexisting web process 20097 indicated by the other variable. 20098 * UIProcess/Launcher/mac/EnvironmentVariables.h: 20099 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 20100 (WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if 20101 the aforementioned environment variables are set and the preexisting process has not been 20102 used yet. 20103 * WebProcess/mac/WebProcessMainMac.mm: 20104 (WebKit::WebProcessMain): Changed to look for the -client-executable command-line option, 20105 and if present, launch the specified executable, setting variables in its environment that 20106 tell it to use this preexisting web process, then wait for it to send a send right to its 20107 listening port. 20108 201092012-01-04 Alexey Proskuryakov <ap@apple.com> 20110 20111 First sentence is missing or clipped when printing a inline PDF 20112 https://bugs.webkit.org/show_bug.cgi?id=75514 20113 <rdar://problem/10640680> 20114 20115 Reviewed by Dan Bernstein. 20116 20117 * UIProcess/WebPageProxy.cpp: 20118 (WebKit::WebPageProxy::headerHeight): 20119 (WebKit::WebPageProxy::footerHeight): 20120 (WebKit::WebPageProxy::drawHeader): 20121 (WebKit::WebPageProxy::drawFooter): 20122 Do not ask the client about headers and footers when printing a PDF. 20123 201242012-01-04 Alexander Færøy <alexander.faeroy@nokia.com> 20125 20126 [Qt] Fix test regressions after r104025 20127 https://bugs.webkit.org/show_bug.cgi?id=75545 20128 20129 Reviewed by Kenneth Rohde Christiansen. 20130 20131 * WebProcess/WebPage/WebPage.cpp: 20132 (WebKit::WebPage::editorState): 20133 201342012-01-04 Andras Becsi <andras.becsi@nokia.com> 20135 20136 REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour 20137 https://bugs.webkit.org/show_bug.cgi?id=75542 20138 20139 20140 [Qt][WK2] Pinch zoom should affect the page size 20141 https://bugs.webkit.org/show_bug.cgi?id=74601 20142 20143 Unreviewed roll-out. 20144 20145 * Shared/NativeWebMouseEvent.h: 20146 * Shared/NativeWebTouchEvent.h: 20147 * Shared/NativeWebWheelEvent.h: 20148 * Shared/qt/NativeWebMouseEventQt.cpp: 20149 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 20150 * Shared/qt/NativeWebTouchEventQt.cpp: 20151 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 20152 * Shared/qt/NativeWebWheelEventQt.cpp: 20153 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): 20154 * Shared/qt/WebEventFactoryQt.cpp: 20155 (WebKit::WebEventFactory::createWebMouseEvent): 20156 (WebKit::WebEventFactory::createWebWheelEvent): 20157 (WebKit::WebEventFactory::createWebTouchEvent): 20158 * Shared/qt/WebEventFactoryQt.h: 20159 * UIProcess/API/qt/qquickwebpage.cpp: 20160 (QQuickWebPage::keyPressEvent): 20161 (QQuickWebPage::keyReleaseEvent): 20162 (QQuickWebPage::inputMethodEvent): 20163 (QQuickWebPage::focusInEvent): 20164 (QQuickWebPage::focusOutEvent): 20165 (QQuickWebPage::mousePressEvent): 20166 (QQuickWebPage::mouseMoveEvent): 20167 (QQuickWebPage::mouseReleaseEvent): 20168 (QQuickWebPage::mouseDoubleClickEvent): 20169 (QQuickWebPage::wheelEvent): 20170 (QQuickWebPage::hoverEnterEvent): 20171 (QQuickWebPage::hoverMoveEvent): 20172 (QQuickWebPage::hoverLeaveEvent): 20173 (QQuickWebPage::dragMoveEvent): 20174 (QQuickWebPage::dragEnterEvent): 20175 (QQuickWebPage::dragLeaveEvent): 20176 (QQuickWebPage::dropEvent): 20177 (QQuickWebPage::geometryChanged): 20178 (QQuickWebPage::event): 20179 (QQuickWebPage::touchEvent): 20180 (QQuickWebPagePrivate::QQuickWebPagePrivate): 20181 (QQuickWebPagePrivate::paintToCurrentGLContext): 20182 * UIProcess/API/qt/qquickwebpage_p.h: 20183 * UIProcess/API/qt/qquickwebpage_p_p.h: 20184 * UIProcess/API/qt/qquickwebview.cpp: 20185 (QQuickWebViewPrivate::enableMouseEvents): 20186 (QQuickWebViewPrivate::disableMouseEvents): 20187 (QQuickWebViewPrivate::loadDidCommit): 20188 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 20189 (QQuickWebViewPrivate::didChangeContentsSize): 20190 (QQuickWebViewPrivate::didChangeViewportProperties): 20191 (QQuickWebViewPrivate::pageDidRequestScroll): 20192 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 20193 (QQuickWebViewPrivate::PostTransitionState::apply): 20194 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 20195 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour): 20196 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour): 20197 (QQuickWebView::geometryChanged): 20198 (QQuickWebView::focusInEvent): 20199 (QQuickWebView::focusOutEvent): 20200 * UIProcess/API/qt/qquickwebview_p.h: 20201 * UIProcess/API/qt/qquickwebview_p_p.h: 20202 * UIProcess/API/qt/qwebviewportinfo.cpp: 20203 (QWebViewportInfo::contentsSize): 20204 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 20205 (tst_QQuickWebView::scrollRequest): 20206 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 20207 (WebKit::QtPinchGestureRecognizer::recognize): 20208 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20209 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20210 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 20211 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 20212 (WebKit::QtViewportInteractionEngine::event): 20213 (WebKit::QtViewportInteractionEngine::wheelEvent): 20214 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 20215 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 20216 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 20217 (WebKit::QtViewportInteractionEngine::applyConstraints): 20218 (WebKit::QtViewportInteractionEngine::currentCSSScale): 20219 (WebKit::QtViewportInteractionEngine::panGestureStarted): 20220 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 20221 (WebKit::QtViewportInteractionEngine::panGestureEnded): 20222 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 20223 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 20224 (WebKit::QtViewportInteractionEngine::scaleContent): 20225 * UIProcess/qt/QtViewportInteractionEngine.h: 20226 * UIProcess/qt/QtWebPageEventHandler.cpp: 20227 (QtWebPageEventHandler::handleEvent): 20228 (QtWebPageEventHandler::handleMouseMoveEvent): 20229 (QtWebPageEventHandler::handleMousePressEvent): 20230 (QtWebPageEventHandler::handleMouseReleaseEvent): 20231 (QtWebPageEventHandler::handleWheelEvent): 20232 (QtWebPageEventHandler::handleHoverLeaveEvent): 20233 (QtWebPageEventHandler::handleHoverMoveEvent): 20234 (QtWebPageEventHandler::handleDragEnterEvent): 20235 (QtWebPageEventHandler::handleDragMoveEvent): 20236 (QtWebPageEventHandler::handleDropEvent): 20237 (QtWebPageEventHandler::handleSingleTapEvent): 20238 (QtWebPageEventHandler::handleDoubleTapEvent): 20239 (QtWebPageEventHandler::touchEvent): 20240 * UIProcess/qt/QtWebPageEventHandler.h: 20241 202422012-01-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 20243 20244 [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies 20245 20246 The custom qmake variable 'WEBKIT' is used for signaling that a 20247 target depends in some way on other subproject of the WebKit 20248 project. For now this is limited to the set of intermediate 20249 libraries: wtf, javascriptcore, webcore, and webkit2. 20250 20251 This replaces the previous convension of using load(foo) for 20252 just include paths, and CONFIG += foo to also link against foo. 20253 20254 Adding a dependency results in additional include paths being 20255 available, and potentially linking to the library. This is 20256 decided by the build system based on conditions such as what 20257 kind of target is being built and the general build config. 20258 20259 An advantage to his approach is that it simplifies the individual 20260 foo.prf files, for example by allowing us to use INCLUDEPATH += 20261 and LIBS += as normal instead of prepending. 20262 20263 Reviewed by Simon Hausmann. 20264 20265 * Target.pri: 20266 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 20267 202682012-01-03 Andras Becsi <andras.becsi@nokia.com> 20269 20270 [Qt][WK2] Pinch zoom should affect the page size 20271 https://bugs.webkit.org/show_bug.cgi?id=74601 20272 20273 Reviewed by Kenneth Rohde Christiansen and Simon Hausmann. 20274 20275 The current implementation uses the scale property of the QQuickWebPage 20276 to scale the page in response to pinch gestures. 20277 However for layout and anchoring to work correctly in QML, pinching needs 20278 to change the page size. 20279 This patch applies the pinch scale to the page size and to the transformation 20280 matrix of the drawing area. 20281 Thus the page item's coordinate system is no longer a direct representation 20282 of the WebCore::Page coordinate system and it is no longer suitable as 20283 an inertial frame of reference for input events. The event propagation had 20284 to be moved to the QQuickWebView and the positions translated to content 20285 coordinates when NativeWebEvents are created. 20286 20287 * Shared/NativeWebMouseEvent.h: 20288 * Shared/NativeWebTouchEvent.h: 20289 * Shared/NativeWebWheelEvent.h: 20290 * Shared/qt/NativeWebMouseEventQt.cpp: 20291 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 20292 * Shared/qt/NativeWebTouchEventQt.cpp: 20293 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 20294 * Shared/qt/NativeWebWheelEventQt.cpp: 20295 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): 20296 * Shared/qt/WebEventFactoryQt.cpp: 20297 (WebKit::WebEventFactory::createWebMouseEvent): 20298 (WebKit::WebEventFactory::createWebWheelEvent): 20299 (WebKit::WebEventFactory::createWebTouchEvent): 20300 * Shared/qt/WebEventFactoryQt.h: 20301 * UIProcess/API/qt/qquickwebpage.cpp: 20302 (QQuickWebPage::geometryChanged): 20303 (QQuickWebPagePrivate::QQuickWebPagePrivate): 20304 (QQuickWebPagePrivate::paintToCurrentGLContext): 20305 (QQuickWebPage::usesTraditionalDesktopBehaviour): 20306 (QQuickWebPage::setUsesTraditionalDesktopBehaviour): 20307 (QQuickWebPage::eventHandler): 20308 (QQuickWebPage::setContentSize): 20309 (QQuickWebPage::contentSize): 20310 (QQuickWebPage::setContentScale): 20311 (QQuickWebPage::contentScale): 20312 (QQuickWebPage::transformFromItem): 20313 (QQuickWebPage::transformToItem): 20314 (QQuickWebPagePrivate::updateSize): 20315 * UIProcess/API/qt/qquickwebpage_p.h: 20316 * UIProcess/API/qt/qquickwebpage_p_p.h: 20317 * UIProcess/API/qt/qquickwebview.cpp: 20318 (QQuickWebViewPrivate::enableMouseEvents): 20319 (QQuickWebViewPrivate::disableMouseEvents): 20320 (QQuickWebViewPrivate::loadDidCommit): 20321 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 20322 (QQuickWebViewPrivate::didChangeContentsSize): 20323 (QQuickWebViewPrivate::didChangeViewportProperties): 20324 (QQuickWebViewPrivate::pageDidRequestScroll): 20325 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 20326 (QQuickWebViewPrivate::PostTransitionState::apply): 20327 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 20328 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour): 20329 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour): 20330 (QQuickWebView::mapToWebContent): 20331 (QQuickWebView::mapRectToWebContent): 20332 (QQuickWebView::mapFromWebContent): 20333 (QQuickWebView::mapRectFromWebContent): 20334 (QQuickWebView::geometryChanged): 20335 (QQuickWebView::keyPressEvent): 20336 (QQuickWebView::keyReleaseEvent): 20337 (QQuickWebView::inputMethodEvent): 20338 (QQuickWebView::focusInEvent): 20339 (QQuickWebView::focusOutEvent): 20340 (QQuickWebView::touchEvent): 20341 (QQuickWebView::mousePressEvent): 20342 (QQuickWebView::mouseMoveEvent): 20343 (QQuickWebView::mouseReleaseEvent): 20344 (QQuickWebView::mouseDoubleClickEvent): 20345 (QQuickWebView::wheelEvent): 20346 (QQuickWebView::hoverEnterEvent): 20347 (QQuickWebView::hoverMoveEvent): 20348 (QQuickWebView::hoverLeaveEvent): 20349 (QQuickWebView::dragMoveEvent): 20350 (QQuickWebView::dragEnterEvent): 20351 (QQuickWebView::dragLeaveEvent): 20352 (QQuickWebView::dropEvent): 20353 (QQuickWebView::event): 20354 * UIProcess/API/qt/qquickwebview_p.h: 20355 * UIProcess/API/qt/qquickwebview_p_p.h: 20356 * UIProcess/API/qt/qwebviewportinfo.cpp: 20357 (QWebViewportInfo::contentsSize): 20358 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 20359 (tst_QQuickWebView::scrollRequest): 20360 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 20361 (WebKit::QtPinchGestureRecognizer::recognize): 20362 * UIProcess/qt/QtViewportInteractionEngine.cpp: 20363 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 20364 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 20365 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 20366 (WebKit::QtViewportInteractionEngine::event): 20367 (WebKit::QtViewportInteractionEngine::wheelEvent): 20368 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 20369 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 20370 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 20371 (WebKit::QtViewportInteractionEngine::applyConstraints): 20372 (WebKit::QtViewportInteractionEngine::currentCSSScale): 20373 (WebKit::QtViewportInteractionEngine::panGestureStarted): 20374 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 20375 (WebKit::QtViewportInteractionEngine::panGestureEnded): 20376 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 20377 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 20378 (WebKit::QtViewportInteractionEngine::scaleContent): 20379 * UIProcess/qt/QtViewportInteractionEngine.h: 20380 * UIProcess/qt/QtWebPageEventHandler.cpp: 20381 (QtWebPageEventHandler::handleEvent): 20382 (QtWebPageEventHandler::handleMouseMoveEvent): 20383 (QtWebPageEventHandler::handleMousePressEvent): 20384 (QtWebPageEventHandler::handleMouseReleaseEvent): 20385 (QtWebPageEventHandler::handleWheelEvent): 20386 (QtWebPageEventHandler::handleHoverLeaveEvent): 20387 (QtWebPageEventHandler::handleHoverMoveEvent): 20388 (QtWebPageEventHandler::handleDragEnterEvent): 20389 (QtWebPageEventHandler::handleDragMoveEvent): 20390 (QtWebPageEventHandler::handleDropEvent): 20391 (QtWebPageEventHandler::handleSingleTapEvent): 20392 (QtWebPageEventHandler::handleDoubleTapEvent): 20393 (QtWebPageEventHandler::touchEvent): 20394 * UIProcess/qt/QtWebPageEventHandler.h: 20395 203962012-01-03 Kenneth Rohde Christiansen <kenneth@webkit.org> 20397 20398 [Qt] Clean up Qt specific part of editorState() 20399 20400 Reviewed by Simon Hausmann. 20401 20402 Use unsigned instead of int. 20403 No need to clone the range as we don't modify it. 20404 Support selections which include a composition. 20405 If we are not in editable content make sure to use the document element 20406 as the scope for calculating the positions and lengths. 20407 Remove compositionStart/Length as there cannot be a selection and 20408 composition at the same time. 20409 20410 Only tested manually as we don't have everything in place yet 20411 to properly test this. 20412 20413 * Shared/EditorState.h: 20414 * WebProcess/WebPage/WebPage.cpp: 20415 (WebKit::WebPage::editorState): 20416 204172012-01-04 Mihnea Ovidenie <mihnea@adobe.com> 20418 20419 [Mac]Fix build after changeset 103997 20420 https://bugs.webkit.org/show_bug.cgi?id=75530 20421 20422 Reviewed by Andreas Kling. 20423 20424 * UIProcess/API/mac/WKView.mm: 20425 204262012-01-03 Carlos Garcia Campos <cgarcia@igalia.com> 20427 20428 [GTK] Scrollbars are drawn behind the window resize grip 20429 https://bugs.webkit.org/show_bug.cgi?id=75384 20430 20431 Reviewed by Martin Robinson. 20432 20433 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 20434 (webkitWebViewBaseNotifyResizerSizeForWindow): Get the size of the 20435 main window resize grip and send it to the page proxy if it 20436 overlaps with the view. 20437 (toplevelWindowResizeGripVisibilityChanged): Call 20438 webkitWebViewBaseNotifyResizerSizeForWindow(). 20439 (webkitWebViewBaseRealize): Get the toplevel window and connect to 20440 notify::resize-grip-visible signal. 20441 (webkitWebViewBaseSizeAllocate): Call 20442 webkitWebViewBaseNotifyResizerSizeForWindow(). 20443 204442012-01-03 Jon Lee <jonlee@apple.com> 20445 20446 Leak of WebNotificationClient when page is destroyed 20447 https://bugs.webkit.org/show_bug.cgi?id=74980 20448 <rdar://problem/10611231> 20449 20450 Reviewed by Mark Rowe. 20451 20452 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 20453 (WebKit::WebNotificationClient::notificationControllerDestroyed): Delete the instance. 20454 * WebProcess/WebCoreSupport/WebNotificationClient.h: 20455 204562012-01-03 Sam Weinig <sam@webkit.org> 20457 20458 Remove unnecessary forward declaration of Function 20459 https://bugs.webkit.org/show_bug.cgi?id=75485 20460 20461 Reviewed by Dan Bernstein. 20462 20463 * Platform/WorkQueue.h: 20464 204652012-01-03 Carlos Garcia Campos <cgarcia@igalia.com> 20466 20467 [GTK] Simplify loader client WebKit2 GTK+ API 20468 https://bugs.webkit.org/show_bug.cgi?id=74605 20469 20470 Reviewed by Gustavo Noronha Silva. 20471 20472 Remove WebKitWebLoaderClient from public API keeping it as a 20473 private object. Loading API has been reduced to two signals in 20474 WebKitWebView. 20475 20476 * GNUmakefile.am: Remove WebKitWebLoaderClientPrivate.h. 20477 * UIProcess/API/gtk/WebKitDefines.h: Remove forward delcarations 20478 that are no longer needed. 20479 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 20480 (didStartProvisionalLoadForFrame): Emit 20481 WebKitWebView::load-changed signal with Started event. 20482 (didReceiveServerRedirectForProvisionalLoadForFrame): Emit 20483 WebKitWebView::load-changed signal with Redirected event. 20484 (didFailProvisionalLoadWithErrorForFrame): Emit 20485 WebKitWebView::load-failed signal with Started event. 20486 (didCommitLoadForFrame): Emit WebKitWebView::load-changed signal 20487 with Committed event. 20488 (didFinishLoadForFrame): Emit WebKitWebView::load-changed signal 20489 with Finished event. 20490 (didFailLoadWithErrorForFrame): Emit WebKitWebView::load-failed 20491 signal with Committed event. 20492 (webkit_web_loader_client_init): 20493 (webkit_web_loader_client_class_init): 20494 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove public API and 20495 move private API here. 20496 * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Removed. 20497 * UIProcess/API/gtk/WebKitWebView.cpp: 20498 (webkitWebViewLoadFail): Default implementation of 20499 WebKitWebView::load-failed signal to show a custom error page. 20500 (webkit_web_view_class_init): Add load-changed and load-failed 20501 signals. 20502 (webkitWebViewLoadChanged): Emit WebKitWebView::load-changed with 20503 the given event. 20504 (webkitWebViewLoadFailed): Emit WebKitWebView::load-failed signal 20505 with the given event, failing uri and error. 20506 * UIProcess/API/gtk/WebKitWebView.h: 20507 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 20508 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Remove loader 20509 client section. 20510 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Remove loader 20511 client symbols. 20512 * UIProcess/API/gtk/docs/webkit2gtk.types: Remove 20513 webkit_web_loader_client_get_type. 20514 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 20515 (loadChangedCallback): 20516 (loadFailedCallback): 20517 (LoadTrackingTest::LoadTrackingTest): 20518 (LoadTrackingTest::~LoadTrackingTest): 20519 (LoadTrackingTest::provisionalLoadStarted): 20520 (LoadTrackingTest::provisionalLoadReceivedServerRedirect): 20521 (LoadTrackingTest::provisionalLoadFailed): 20522 (LoadTrackingTest::loadCommitted): 20523 (LoadTrackingTest::loadFinished): 20524 (LoadTrackingTest::loadFailed): 20525 * UIProcess/API/gtk/tests/LoadTrackingTest.h: 20526 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 20527 (testLoadingError): 20528 (LoadStopTrackingTest::loadCommitted): 20529 (LoadStopTrackingTest::loadFailed): 20530 (testLoadCancelled): 20531 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 20532 (beforeAll): 20533 * UIProcess/API/gtk/webkit2.h: Remove loader client header. 20534 * UIProcess/API/gtk/webkit2marshal.list: 20535 205362012-01-03 Rafael Brandao <rafael.lobo@openbossa.org> 20537 20538 [Qt][WK2] tst_favIconLoad.qml crashes on debug mode 20539 https://bugs.webkit.org/show_bug.cgi?id=75448 20540 20541 Reviewed by Kenneth Rohde Christiansen. 20542 20543 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Loads 20544 "about:blank" instead of an empty url between tests to clean favicon. 20545 205462012-01-02 Dan Bernstein <mitz@apple.com> 20547 20548 Fixed a typo I made in r103871. 20549 20550 Fixes <http://webkit.org/b/75450> Inline PDF doesn't preview correctly when attempting to print its frame 20551 20552 * WebProcess/WebPage/WebPage.cpp: 20553 (WebKit::WebPage::drawRectToPDF): Changed USE(GC) to USE(CG). 20554 205552012-01-02 Andy Estes <aestes@apple.com> 20556 20557 Fix the Windows build (again). 20558 20559 * Platform/CoreIPC/Connection.h: 20560 205612012-01-02 Sam Weinig <sam@webkit.org> 20562 20563 Fix windows build. 20564 20565 * Platform/CoreIPC/Connection.h: 20566 * Platform/CoreIPC/win/ConnectionWin.cpp: 20567 * Platform/RunLoop.h: 20568 Missing declarations/includes of BinarySemaphore. 20569 205702012-01-02 Sam Weinig <sam@webkit.org> 20571 20572 Move dispatchSentMessagesUntil out of the RunLoop class. 20573 https://bugs.webkit.org/show_bug.cgi?id=75320 20574 20575 Reviewed by Dan Bernstein. 20576 20577 * Platform/CoreIPC/Connection.cpp: 20578 (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentWin32Messages): 20579 * Platform/CoreIPC/Connection.h: 20580 * Platform/CoreIPC/win/ConnectionWin.cpp: 20581 (CoreIPC::Connection::dispatchSentMessagesUntil): 20582 * Platform/win/RunLoopWin.cpp: 20583 205842012-01-02 Dan Bernstein <mitz@apple.com> 20585 20586 Build fix. 20587 20588 * Platform/CoreIPC/mac/ConnectionMac.cpp: 20589 * Platform/mac/SharedMemoryMac.cpp: 20590 205912012-01-02 Nikolas Zimmermann <nzimmermann@rim.com> 20592 20593 Not reviewed. Fix build on Lion, by including mach_error.h in two places that need it. 20594 20595 * PluginProcess/mac/PluginProcessMainMac.mm: 20596 * WebProcess/mac/WebProcessMainMac.mm: 20597 205982012-01-01 Dan Bernstein <mitz@apple.com> 20599 20600 EnvironmentUtilities::stripValuesEndingWithString enters an infinite loop if the search value 20601 occurs a component other than the first. 20602 20603 Reviewed by Anders Carlsson. 20604 20605 * Platform/unix/EnvironmentUtilities.cpp: 20606 (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Changed to start the search for 20607 the next colon after the current colon. 20608 206092012-01-01 Dan Bernstein <mitz@apple.com> 20610 20611 Improved reproting of kernel return codes. 20612 20613 Reviewed by Anders Carlsson. 20614 20615 * Platform/CoreIPC/mac/ConnectionMac.cpp: 20616 (CoreIPC::Connection::exceptionSourceEventHandler): Added the error string to the log message. 20617 * Platform/mac/SharedMemoryMac.cpp: 20618 (WebKit::SharedMemory::create): Ditto. 20619 * PluginProcess/mac/PluginProcessMainMac.mm: 20620 (WebKit::PluginProcessMain): Ditto. Also changed to log to stderr. 20621 * WebProcess/mac/WebProcessMainMac.mm: 20622 (WebKit::WebProcessMain): Ditto. 20623 206242011-12-31 Dan Bernstein <mitz@apple.com> 20625 20626 Continue trying to fix the ASSERT-enabled Windows build after r103858. 20627 20628 * WebProcess/WebPage/WebPage.cpp: 20629 (WebKit::WebPage::drawRectToPDF): 20630 (WebKit::WebPage::drawPagesToPDF): 20631 206322011-12-31 Dan Bernstein <mitz@apple.com> 20633 20634 Start trying to fix the Windows build after r103858. 20635 20636 * WebProcess/WebPage/WebPage.cpp: 20637 (WebKit::drawPDFPage): 20638 206392011-12-31 Dan Bernstein <mitz@apple.com> 20640 20641 <rdar://problem/10463059> Cannot print USPS shipping labels 20642 http://webkit.org/b/72801 20643 20644 Reviewed by Anders Carlsson and Alexey Proskuryakov. 20645 20646 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 20647 (appendValuesInPDFNameSubtreeToVector): Copied from WebKit/mac/WebView/WebPDFDocumentExtras.mm. 20648 (getAllValuesInPDFNameTree): Ditto. 20649 (getAllScriptsInPDFDocument): Copied allScriptsInPDFDocument() from WebPDFDocumentExtras.mm 20650 and changed it to append to a Vector<RetainPtr<CFStringRef> >. 20651 (WebKit::BuiltInPDFView::create): Changed to take a WebFrame* rather than a Page*. 20652 (WebKit::BuiltInPDFView::BuiltInPDFView): Ditto. Updated initializer accordingly. 20653 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Copied and adapted code from 20654 -[WebPDFRepresentation finishedLoadingWithDataSource:] to run scripts from the PDF with a 20655 Doc object as the this object. 20656 (WebKit::BuiltInPDFView::initialize): Adapted for the change from having a Page* to having 20657 a WebFrame*. 20658 (WebKit::BuiltInPDFView::destroy): Ditto. 20659 (WebKit::BuiltInPDFView::isActive): Ditto. 20660 (WebKit::jsPDFDocInitialize): Added. Refs the BuiltInPDFView which is the private object for 20661 this Doc. 20662 (WebKit::jsPDFDocFinalize): Added. Derefs the BuiltInPDFView for this Doc. 20663 (WebKit::BuiltInPDFView::jsPDFDocPrint): Added. Calls WebCore::Chrome::print(). 20664 (WebKit::BuiltInPDFView::makeJSPDFDoc): Copied from WebKit/mac/WebView/WebJSPDFDoc.mm and 20665 modified to use this BuiltInPDFView as the private object of the Doc being made. 20666 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 20667 (WebKit::BuiltInPDFView::disconnectFromPage): Adapted for the change from having a Page* to 20668 having a WebFrame*. 20669 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 20670 (WebKit::WebFrameLoaderClient::createPlugin): Pass the WebFrame to WebPage::createPlugin(). 20671 * WebProcess/WebPage/WebPage.cpp: 20672 (WebKit::WebPage::createPlugin): Added a WebFrame* parameter, which is used when creating 20673 a BuiltInPDFView. 20674 * WebProcess/WebPage/WebPage.h: 20675 206762011-12-31 Dan Bernstein <mitz@apple.com> 20677 20678 <rdar://problem/8553040> REGRESSION (WebKit2): Safari status text doesn't change when you change the modifier keys without moving the mouse 20679 https://bugs.webkit.org/show_bug.cgi?id=75404 20680 20681 Reviewed by Jon Honeycutt. 20682 20683 * UIProcess/API/mac/WKView.mm: 20684 (-[WKView dealloc]): Remove the flags changed event monitor. 20685 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Added. Similarly to 20686 -[WebHTMLView _postFlagsChangedEvent:], creates a mouse moved event and passes it to 20687 -mouseMoved:. 20688 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Create a local event monitor for flags 20689 changed events. 20690 206912011-12-31 Dan Bernstein <mitz@apple.com> 20692 20693 <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document 20694 <http://webkit.org/b/75232> 20695 20696 Reviewed by Alexey Proskuryakov. 20697 20698 * UIProcess/API/C/WKPage.cpp: 20699 (WKPageDrawPagesToPDF): Added WKPrintInfo parameter, which is passed through as a PrintInfo 20700 to the WebPageProxy. 20701 * UIProcess/API/C/WKPagePrivate.h: 20702 * UIProcess/API/mac/WKPrintingView.mm: 20703 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Changed to pass the PrintInfo 20704 down to WebPageProxy::drawPagesToPDF. 20705 (-[WKPrintingView _drawPreview:]): Changed to pass the PrintInfo down to 20706 WebPageProxy::drawRectToPDF. 20707 * UIProcess/API/mac/WKView.mm: 20708 (-[WKView canChangeFrameLayout:]): Changed to use WebFrameProxy::isDisplayingPDFDocument, which 20709 works for subframes as well. 20710 (-[WKView printOperationWithPrintInfo:forFrame:]): Added a FIXME. 20711 * UIProcess/WebFrameProxy.cpp: 20712 (WebKit::WebFrameProxy::isDisplayingPDFDocument): Added. 20713 * UIProcess/WebFrameProxy.h: 20714 * UIProcess/WebPageProxy.cpp: 20715 (WebKit::WebPageProxy::drawRectToPDF): Added a PrintInfo parameter, which is passed through to 20716 the Web process. 20717 (WebKit::WebPageProxy::drawPagesToPDF): Ditto. 20718 * UIProcess/WebPageProxy.h: 20719 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 20720 Added an override of pdfDocumentForPrinting() which returns the PDFDocument. 20721 * WebProcess/Plugins/Plugin.h: 20722 (WebKit::Plugin::pdfDocumentForPrinting): Added. This base class implementation returns 0. 20723 * WebProcess/Plugins/PluginView.h: 20724 (WebKit::PluginView::pdfDocumentForPrinting): Added. Calls through to the Plugin. 20725 * WebProcess/WebPage/WebPage.cpp: 20726 (WebKit::pdfDocumentForPrintingFrame): Added this helper function. If the frame is displaying 20727 a plug-in document, allows the plug-in to provide a PDF document for printing. 20728 (WebKit::WebPage::beginPrinting): Added an early return if the frame provides a PDF document 20729 for printing. 20730 (WebKit::WebPage::computePagesForPrinting): If the frame provides a PDF document for printing, 20731 create for each page in the PDF document a page rect with the size available for printing. 20732 (WebKit::drawPDFPage): Added this helper function, which draws a page from the PDF document 20733 into one of the aforementioned page rects. It rotates the PDF page 90 degrees if necessary to 20734 better match the aspect ratio of the paper, then it centers it on the paper. This matches the 20735 behavior of a PDFView when printed with default settings. 20736 (WebKit::WebPage::drawRectToPDF): If the frame provides a PDF document for printing, draw the 20737 PDF pages falling within the requested rect. 20738 (WebKit::WebPage::drawPagesToPDF): If the frame provides a PDF document for printing, draw 20739 the requested pages. 20740 * WebProcess/WebPage/WebPage.h: 20741 * WebProcess/WebPage/WebPage.messages.in: Added a PrintInfo parameter to DrawRectToPDF and 20742 DrawPagesToPDF. 20743 207442011-12-30 Dan Bernstein <mitz@apple.com> 20745 20746 EnvironmentUtilities::stripValuesEndingWithString fails when the variable ends with the search value 20747 https://bugs.webkit.org/show_bug.cgi?id=75389 20748 20749 Reviewed by Anders Carlsson. 20750 20751 * Platform/unix/EnvironmentUtilities.cpp: 20752 (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Fixed an off-by-1 error when 20753 examining the character after the match. 20754 207552011-12-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 20756 20757 [Qt] Remove unused m_signalListeners from WorkQueue 20758 https://bugs.webkit.org/show_bug.cgi?id=75354 20759 20760 Reviewed by Andreas Kling. 20761 20762 This is unused since r76507. 20763 20764 * Platform/WorkQueue.h: 20765 * Platform/qt/WorkQueueQt.cpp: 20766 (WorkQueue::platformInvalidate): 20767 207682011-12-29 Carlos Garcia Campos <cgarcia@igalia.com> 20769 20770 [GTK] Context menu is hidden right after showing it when first menu item is not disabled 20771 https://bugs.webkit.org/show_bug.cgi?id=75357 20772 20773 Reviewed by Martin Robinson. 20774 20775 The problem is that we are passing GDK_CURRENT_TIME (which is 0) 20776 to gtk_popup_menu, because the events are async and 20777 gtk_get_current_event is NULL when calling gtk_menu_popup. GtkMenu 20778 has a timeout to decide whether the press-release was fast enough 20779 and ignore the button release event in that case. That way, a 20780 normal right click shows the menu while a long press hides the 20781 menu when the button is released. So, we need to know the real time 20782 when the right button was pressed and pass it to gtk_popup_menu. 20783 20784 * UIProcess/WebPageProxy.h: Make 20785 currentlyProcessedMouseDownEvent() public. 20786 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 20787 (WebKit::WebContextMenuProxyGtk::showContextMenu): Use 20788 WebPageProxy::currentlyProcessedMouseDownEvent() to get the 20789 current mouse event and pass its button number and time to 20790 gtk_popup_menu. 20791 207922011-12-29 Carlos Garcia Campos <cgarcia@igalia.com> 20793 20794 [GTK] Fix several conding style issues in WebKit2 GTK+ code 20795 https://bugs.webkit.org/show_bug.cgi?id=75339 20796 20797 Reviewed by Martin Robinson. 20798 20799 In addition to the WebKit coding style, code in UIProcess/API/gtk 20800 should follow style and conventions described here 20801 http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API 20802 20803 * UIProcess/API/gtk/WebKitSettings.cpp: Remove trailing whitespaces. 20804 (webkit_settings_class_init): Remove trailing whitespaces, fix 20805 indentation issues in API doc comments, add missing trailing to 20806 some properties. 20807 (webkit_settings_set_enable_fullscreen): Move the code after 20808 get_enable_fullscreen() for consistency. 20809 * UIProcess/API/gtk/WebKitSettings.h: Remove trailing 20810 whitespaces. Fix * placement and line up parameters. 20811 * UIProcess/API/gtk/WebKitWebView.cpp: Remove several empty lines. 20812 (webkit_web_view_class_init): Mark property nicks and blurbs for translation. 20813 (webkitWebViewSetTitle): Remove trailing whitespaces. 20814 * UIProcess/API/gtk/WebKitWebView.h: Line up parameters. 20815 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Use the angle-bracket 20816 form for including file from WebCore and wtf. Use GRefPtr for 20817 GtkIMContext and bool instead of gboolean. Use the placement new 20818 syntax for private struct instead of new/delete. 20819 (webkitWebViewBaseRealize): 20820 (webkitWebViewBaseFinalize): 20821 (webkit_web_view_base_init): 20822 (webkitWebViewBaseFocusInEvent): 20823 (webkitWebViewBaseFocusOutEvent): 20824 (webkitWebViewBaseKeyPressEvent): Remove trailing whitespaces. 20825 (webkitWebViewBaseKeyReleaseEvent): 20826 (webkit_web_view_base_class_init): 20827 (webkitWebViewBaseGetIMContext): 20828 208292011-12-28 Balazs Kelemen <kbalazs@webkit.org> 20830 20831 [Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests 20832 https://bugs.webkit.org/show_bug.cgi?id=75000 20833 20834 Reviewed by Noam Rosenthal. 20835 20836 Don't adopt a tile client that belongs to a parent layer. 20837 This is unnecessary and also unsafe because we can live 20838 through that client. 20839 20840 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 20841 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 20842 208432011-12-27 Dan Bernstein <mitz@apple.com> 20844 20845 [mac] Stop using bootstrap_look_up2 20846 https://bugs.webkit.org/show_bug.cgi?id=75280 20847 20848 Reviewed by Mark Rowe. 20849 20850 * PluginProcess/mac/PluginProcessMainMac.mm: 20851 (WebKit::PluginProcessMain): Changed to use bootstrap_look_up() instead of 20852 bootstrap_look_up2(). 20853 * WebProcess/mac/WebProcessMainMac.mm: 20854 (WebKit::WebProcessMain): Ditto. 20855 208562011-12-27 Kenneth Rohde Christiansen <kenneth@webkit.org> 20857 20858 [Qt] Make the inputMethodEvent set or confirm the composition 20859 https://bugs.webkit.org/show_bug.cgi?id=75256 20860 20861 Reviewed by Chang Shu. 20862 20863 * UIProcess/qt/QtWebPageEventHandler.cpp: 20864 (QtWebPageEventHandler::inputMethodEvent): 20865 208662011-12-26 Mark Rowe <mrowe@apple.com> 20867 20868 <http://webkit.org/b/75196> REGRESSION(r103643): Command-clicking a link no longer opens a new tab. 20869 20870 r103643 contained some botched copy-paste code that caused the state of the Command key 20871 to be lost when translating from a WebKit2 event to a WebCore event. 20872 20873 Reviewed by Dan Bernstein. 20874 20875 * Shared/WebEventConversion.cpp: 20876 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Test for the correct modifier. 20877 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): Ditto. 20878 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): Ditto. 20879 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Ditto. 20880 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): Ditto. 20881 208822011-12-26 Carlos Garcia Campos <cgarcia@igalia.com> 20883 20884 Fix a crash in WebProcess when starting a download not initiated by a WebPage 20885 https://bugs.webkit.org/show_bug.cgi?id=75225 20886 20887 Reviewed by Darin Adler. 20888 20889 * WebProcess/WebProcess.cpp: 20890 (WebKit::WebProcess::downloadRequest): Check initiatingPage is not 20891 NULL before using it. 20892 208932011-12-25 Dan Bernstein <mitz@apple.com> 20894 20895 Find indicators overlap when a match spans multiple text boxes 20896 https://bugs.webkit.org/show_bug.cgi?id=75220 20897 20898 Reviewed by Darin Adler. 20899 20900 * UIProcess/FindIndicator.cpp: 20901 (WebKit::findIndicatorsForTextRectsOverlap): Added this helper function that checks for 20902 pairwise intersections between all indicator rects. 20903 (WebKit::FindIndicator::FindIndicator): Changed to use a single rect (the union of all text 20904 rects) if any two indicator rects would otherwise overlap. This is similar to what Safari 20905 does, and it eliminates overlapping rects for adjacent text boxes. In rare cases (such as when 20906 a match spans two lines and adjacent text boxes on one of those lines) it results in a find 20907 indicator that is too large and obscures some non-match text. 20908 * UIProcess/FindIndicator.h: 20909 209102011-12-21 Sam Weinig <sam@webkit.org> 20911 20912 Start extracting platform specific bits out of PlatformEvents 20913 https://bugs.webkit.org/show_bug.cgi?id=75063 20914 20915 Reviewed by Anders Carlsson. 20916 20917 * Shared/WebEventConversion.cpp: 20918 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): 20919 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 20920 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): 20921 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): 20922 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 20923 * UIProcess/API/mac/WKView.mm: 20924 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 20925 (InitWebCoreSystemInterface): 20926 209272011-12-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 20928 20929 [Qt] [WK2] Use HashMap instead of Vector in the builtin bundle 20930 https://bugs.webkit.org/show_bug.cgi?id=75112 20931 20932 Reviewed by Andreas Kling. 20933 20934 Fix my own FIXME now that HashMap have support to hold OwnPtr as value. 20935 20936 * WebProcess/qt/QtBuiltinBundle.cpp: 20937 (WebKit::QtBuiltinBundle::didCreatePage): 20938 (WebKit::QtBuiltinBundle::willDestroyPage): 20939 (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): 20940 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): 20941 * WebProcess/qt/QtBuiltinBundle.h: 20942 209432011-12-22 Anders Carlsson <andersca@apple.com> 20944 20945 Remove the last of the WebKit2 display throttling 20946 https://bugs.webkit.org/show_bug.cgi?id=75109 20947 20948 Reviewed by Adam Roben. 20949 20950 The code to do display throttling in WebKit2 is complex and doesn't really help us except 20951 on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead. 20952 20953 * WebProcess/WebPage/DrawingAreaImpl.cpp: 20954 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 20955 (WebKit::DrawingAreaImpl::displayTimerFired): 20956 (WebKit::DrawingAreaImpl::display): 20957 * WebProcess/WebPage/DrawingAreaImpl.h: 20958 * WebProcess/WebPage/WebPage.cpp: 20959 (WebKit::WebPage::wheelEvent): 20960 (WebKit::WebPage::wheelEventSyncForTesting): 20961 209622011-12-22 Anders Carlsson <andersca@apple.com> 20963 20964 Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll 20965 https://bugs.webkit.org/show_bug.cgi?id=75107 20966 20967 Reviewed by Adam Roben. 20968 20969 This is another step towards removing the display throttling in WebKit2. 20970 20971 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 20972 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 20973 * WebProcess/WebCoreSupport/WebChromeClient.h: 20974 209752011-12-22 Anders Carlsson <andersca@apple.com> 20976 20977 Remove didStartRubberBand and didCompleteRubberBand callbacks 20978 https://bugs.webkit.org/show_bug.cgi?id=75102 20979 20980 Reviewed by Adam Roben. 20981 20982 The code to do display throttling in WebKit2 is complex and doesn't really help us except 20983 on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead. 20984 20985 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 20986 * WebProcess/WebCoreSupport/WebChromeClient.h: 20987 209882011-12-22 Ryuan Choi <ryuan.choi@samsung.com>, Tomasz Morawski <t.morawski@samsung.com> 20989 20990 [EFL][WK2] Add an option to build WebKit2. 20991 https://bugs.webkit.org/show_bug.cgi?id=61999 20992 20993 Reviewed by Eric Seidel. 20994 20995 Add build script for WebKit2 on EFL port. 20996 20997 * CMakeLists.txt: 20998 * PlatformEfl.cmake: Added. 20999 210002011-12-21 Eunmi Lee <eunmi15.lee@samsung.com> 21001 21002 [EFL][WK2] Add efl port's ewk_view files 21003 https://bugs.webkit.org/show_bug.cgi?id=61915 21004 21005 Reviewed by Eric Seidel. 21006 21007 This is the initial version of WebKit2 EFL port's ewk_view. 21008 The ewk_view is Evas_Object to show the rendered web contents. 21009 21010 * UIProcess/API/efl/ewk_view.cpp: Added. 21011 (_ewk_view_smart_changed): 21012 (_ewk_view_smart_focus_in): 21013 (_ewk_view_smart_focus_out): 21014 (_ewk_view_smart_mouse_wheel): 21015 (_ewk_view_smart_mouse_down): 21016 (_ewk_view_smart_mouse_up): 21017 (_ewk_view_smart_mouse_move): 21018 (_ewk_view_smart_key_down): 21019 (_ewk_view_smart_key_up): 21020 (_ewk_view_on_focus_in): 21021 (_ewk_view_on_focus_out): 21022 (_ewk_view_on_mouse_wheel): 21023 (_ewk_view_on_mouse_down): 21024 (_ewk_view_on_mouse_up): 21025 (_ewk_view_on_mouse_move): 21026 (_ewk_view_on_key_down): 21027 (_ewk_view_on_key_up): 21028 (_ewk_view_priv_new): 21029 (_ewk_view_priv_del): 21030 (_ewk_view_smart_add): 21031 (_ewk_view_smart_del): 21032 (_ewk_view_smart_resize): 21033 (_ewk_view_smart_move): 21034 (_ewk_view_smart_calculate): 21035 (_ewk_view_smart_show): 21036 (_ewk_view_smart_hide): 21037 (ewk_view_smart_class_init): 21038 (_ewk_view_smart_class_new): 21039 (ewk_view_add): 21040 (ewk_view_page_get): 21041 * UIProcess/API/efl/ewk_view.h: Added. 21042 210432011-12-21 Timothy Hatcher <timothy@apple.com> 21044 21045 Web Inspector: suppress incremental rendering and use application chrome mode 21046 21047 https://webkit.org/b/75026 21048 21049 Reviewed by Joseph Pecoraro. 21050 21051 * UIProcess/WebInspectorProxy.cpp: 21052 (WebKit::createInspectorPageGroup): Set suppress incremental rendering and use application chrome mode. 21053 210542011-12-21 Sam Weinig <sam@webkit.org> 21055 21056 Cleanup up clients when deallocating WebKit2 API objects 21057 https://bugs.webkit.org/show_bug.cgi?id=75014 21058 21059 Reviewed by Adam Roben. 21060 21061 * UIProcess/API/mac/WKBrowsingContextController.mm: 21062 (-[WKBrowsingContextController dealloc]): 21063 * UIProcess/API/mac/WKConnection.mm: 21064 (-[WKConnection dealloc]): 21065 Clear clients on dealloc. 21066 210672011-12-21 Rafael Brandao <rafael.lobo@openbossa.org> 21068 21069 [Qt][WK2] Add tests for favicon and fix icon url decoding issue 21070 https://bugs.webkit.org/show_bug.cgi?id=74967 21071 21072 Reviewed by Simon Hausmann. 21073 21074 * UIProcess/API/qt/qwebiconimageprovider.cpp: We already receive the url 21075 without the percent encoding and we should access WebIconDatabase with 21076 an encoded url. Added a test to cover this behavior. 21077 (QWebIconImageProvider::requestImage): 21078 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Added. 21079 * UIProcess/API/qt/tests/qmltests/common/favicon.html: Added. 21080 * UIProcess/API/qt/tests/qmltests/common/favicon.png: Added. 21081 * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Added. 21082 * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Added. 21083 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 21084 210852011-12-21 Sam Weinig <sam@webkit.org> 21086 21087 Exception thrown when running WKBrowsingContextLoadDelegateTest.SimpleLoad test 21088 https://bugs.webkit.org/show_bug.cgi?id=75012 21089 21090 Reviewed by Adam Roben. 21091 21092 * UIProcess/API/mac/WKProcessGroup.mm: 21093 (-[WKProcessGroup dealloc]): 21094 Clear the WKContext's connection client. 21095 210962011-12-21 Michael Brüning <michael.bruning@nokia.com> 21097 21098 [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test 21099 https://bugs.webkit.org/show_bug.cgi?id=73994 21100 21101 Reviewed by Kenneth Rohde Christiansen. 21102 21103 Added a viewport meta tag so that the view is actually scrollable and 21104 does not get scaled to not be scrollable. Corrected the style 21105 definition for the <div> tag. Removed unneeded text in div 21106 21107 Rolled back changes some of the changes from the previous patch 21108 (r102453) because they weren't necessary. 21109 21110 * UIProcess/API/qt/tests/html/scroll.html: 21111 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 21112 (tst_QQuickWebView::scrollRequest): Partially rolled back changes. 21113 211142011-12-21 Jessie Berlin <jberlin@apple.com> 21115 21116 Windows build fix. 21117 21118 Replace all instances of "WebPropupMenuProxy" with "WebPopupMenuProxy". 21119 21120 * UIProcess/win/WebPopupMenuProxyWin.cpp: 21121 (WebKit::WebPopupMenuProxyWin::showPopupMenu): 21122 (WebKit::WebPopupMenuProxyWin::setFocusedIndex): 21123 211242011-12-20 Anders Carlsson <andersca@apple.com> 21125 21126 Add ScrollableArea::contentsResized and have it call the scroll animator 21127 https://bugs.webkit.org/show_bug.cgi?id=74966 21128 21129 Reviewed by Sam Weinig. 21130 21131 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 21132 (WebKit::BuiltInPDFView::scrollbarStyleChanged): 21133 211342011-12-20 Anders Carlsson <andersca@apple.com> 21135 21136 Try to fix the Windows build. 21137 21138 * UIProcess/win/WebPopupMenuProxyWin.cpp: 21139 (WebKit::WebPopupMenuProxyWin::showPopupMenu): 21140 (WebKit::WebPopupMenuProxyWin::setFocusedIndex): 21141 211422011-12-20 Simon Hausmann <simon.hausmann@nokia.com> 21143 21144 [Qt][WK2] Remove statusBarMessageChanged 21145 https://bugs.webkit.org/show_bug.cgi?id=74405 21146 21147 Reviewed by Tor Arne Vestbø. 21148 21149 Removing support for window.status updates from the public 21150 QML API. See bug for details. 21151 21152 * UIProcess/API/qt/qquickwebview_p.h: 21153 * UIProcess/qt/QtWebPageUIClient.cpp: 21154 (QtWebPageUIClient::QtWebPageUIClient): 21155 * UIProcess/qt/QtWebPageUIClient.h: 21156 211572011-12-20 Anders Carlsson <andersca@apple.com> 21158 21159 Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions 21160 https://bugs.webkit.org/show_bug.cgi?id=74951 21161 21162 Reviewed by Sam Weinig. 21163 21164 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 21165 (WebKit::BuiltInPDFView::paint): 21166 (WebKit::BuiltInPDFView::handleMouseEvent): 21167 (WebKit::BuiltInPDFView::handleMouseEnterEvent): 21168 (WebKit::BuiltInPDFView::handleMouseLeaveEvent): 21169 211702011-12-20 Brent Fulgham <bfulgham@webkit.org> 21171 21172 [WinCairo] Unreviewed build fix. 21173 21174 * win/WebKit2CFLite.def: Add missing export declaration. 21175 211762011-12-20 Simon Hausmann <simon.hausmann@nokia.com> 21177 21178 [Qt] Build fix for gcc used on WK2 build bot. 21179 21180 * UIProcess/qt/QtWebPagePolicyClient.cpp: 21181 (QtWebPagePolicyClient::decidePolicyForNavigationAction): Don't do case: 21182 with values outside the range of the type. Instead switch() on the int instead. 21183 211842011-12-20 Rafael Brandao <rafael.lobo@openbossa.org> 21185 21186 [Qt] Extend QQuickWebview::navigationRequested API 21187 https://bugs.webkit.org/show_bug.cgi?id=73818 21188 21189 Reviewed by Simon Hausmann. 21190 21191 Added url of the originating frame on QWebNavigationRequest, 21192 accessible via 'request.originatingUrl' on QML. Download action 21193 was moved to experimental, so in order to use it you should set 21194 'request.action = WebViewExperimental.DownloadRequest' on QML. 21195 21196 * UIProcess/API/qt/qquickwebview_p.h: 21197 * UIProcess/API/qt/qwebnavigationrequest.cpp: 21198 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 21199 (QWebNavigationRequest::QWebNavigationRequest): 21200 (QWebNavigationRequest::originatingUrl): 21201 * UIProcess/API/qt/qwebnavigationrequest_p.h: 21202 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 21203 Tests were modified a bit to reuse urls and also added a test case to check 21204 originating url once a request is done. 21205 * UIProcess/qt/QtWebPagePolicyClient.cpp: 21206 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 21207 * UIProcess/qt/QtWebPagePolicyClient.h: 21208 212092011-12-20 Balazs Kelemen <kbalazs@webkit.org> 21210 21211 [Qt] WK2 Debugging quirks need some improvement 21212 https://bugs.webkit.org/show_bug.cgi?id=74859 21213 21214 Reviewed by Simon Hausmann. 21215 21216 Improvements added to make debugging WebKit2 more 21217 confortable and efficient: 21218 1. Unify debugging quirks. From now all of them are controlled 21219 by the QT_WEBKIT2_DEBUG environment variable. 21220 2. Disable crash handlers for WebKitTestRunner if debugging quirks 21221 are used to make it possible to use postmortem debugging via core dumps 21222 which is extremely useful for debugging bugs triggered by layout tests. 21223 3. Disable test timeout for WebKitTestRunner if debugging quirks 21224 are used because that makes debugging impossible. 21225 21226 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 21227 (WebKit::QtWebProcess::setupChildProcess): 21228 * WebProcess/qt/WebProcessMainQt.cpp: 21229 (WebKit::WebProcessMainQt): 21230 212312011-12-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 21232 21233 [Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl() API test 21234 https://bugs.webkit.org/show_bug.cgi?id=74923 21235 21236 Rubber-stamped by Csaba Osztrogonác. 21237 21238 Fixing API usage after http://trac.webkit.org/changeset/103310. 21239 21240 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 21241 (tst_QQuickWebView::loadNonexistentFileUrl): 21242 212432011-12-20 Simon Hausmann <simon.hausmann@nokia.com> 21244 21245 [Qt] Favicon support should work with multiple web contexts 21246 https://bugs.webkit.org/show_bug.cgi?id=74922 21247 21248 Reviewed by Tor Arne Vestbø. 21249 21250 * UIProcess/API/qt/qquickwebview.cpp: 21251 (QQuickWebViewPrivate::initialize): Remove unnecessary use of QtWebContext::defaultContext(). There is 21252 already a member variable "context" which is the correct one. 21253 (QQuickWebViewPrivate::setIcon): Ditto. 21254 * UIProcess/API/qt/qwebiconimageprovider.cpp: 21255 (QWebIconImageProvider::requestImage): Extract the context id from the image id and use it to 21256 query the correct icon database. 21257 * UIProcess/qt/QtWebContext.cpp: Provide a mapping from id to qtwebcontext. 21258 (WebKit::generateContextID): 21259 (WebKit::QtWebContext::QtWebContext): 21260 (WebKit::QtWebContext::~QtWebContext): 21261 (WebKit::QtWebContext::contextByID): 21262 (WebKit::QtWebContext::initialize): 21263 * UIProcess/qt/QtWebContext.h: 21264 (WebKit::QtWebContext::context): 21265 (WebKit::QtWebContext::contextID): 21266 * UIProcess/qt/QtWebIconDatabaseClient.cpp: 21267 (QtWebIconDatabaseClient::QtWebIconDatabaseClient): 21268 (QtWebIconDatabaseClient::requestIconForPageURL): Store the context id in the icon url. 21269 * UIProcess/qt/QtWebIconDatabaseClient.h: 21270 212712011-12-20 Rafael Brandao <rafael.lobo@openbossa.org> 21272 21273 [Qt][WK2] Implement favicon support 21274 https://bugs.webkit.org/show_bug.cgi?id=71082 21275 21276 Reviewed by Simon Hausmann. 21277 21278 Added attribute to QQuickWebView named "icon" that should be used 21279 as source for QQuickImage in order to display it. All images 21280 pointing to it will refresh when the icon is ready. We also use IDs 21281 to make it possible to handle different icons for the same page URL 21282 at different times (i.e. dynamically changing favicon). 21283 21284 IconDatabase storage lies on UIProcess and the synchronous call for 21285 the icon that happens on WebIconDatabase won't need to send any message 21286 to WebProcess. The part of IconDatabase on WebProcess handles the download 21287 of the resource whenever it is needed. Then the content downloaded is sent 21288 through IPC to the actual database, on UIProcess. 21289 21290 * Target.pri: 21291 * UIProcess/API/qt/qquickwebview.cpp: 21292 (QQuickWebViewPrivate::initialize): 21293 (QQuickWebViewPrivate::_q_onIconChangedForPageURL): 21294 (QQuickWebViewPrivate::setIcon): 21295 (QQuickWebView::icon): 21296 * UIProcess/API/qt/qquickwebview_p.h: 21297 * UIProcess/API/qt/qquickwebview_p_p.h: 21298 * UIProcess/API/qt/qwebiconimageprovider.cpp: Added. 21299 (QWebIconImageProvider::QWebIconImageProvider): 21300 (QWebIconImageProvider::~QWebIconImageProvider): 21301 (QWebIconImageProvider::requestImage): 21302 * UIProcess/API/qt/qwebiconimageprovider_p.h: Added. 21303 * UIProcess/WebContext.h: 21304 * UIProcess/WebIconDatabase.cpp: 21305 (WebKit::WebIconDatabase::synchronousIconURLForPageURL): 21306 (WebKit::WebIconDatabase::imageForPageURL): Added iconSize parameter 21307 and a default value for it to not break the old usage. The support for 21308 multiple sizes of favicons is still missing on WebCore. 21309 * UIProcess/WebIconDatabase.h: 21310 * UIProcess/qt/QtWebContext.cpp: 21311 (WebKit::QtWebContext::initialize): 21312 * UIProcess/qt/QtWebContext.h: 21313 (WebKit::QtWebContext::iconDatabase): 21314 * UIProcess/qt/QtWebIconDatabaseClient.cpp: Added. 21315 (toQtWebIconDatabaseClient): 21316 (QtWebIconDatabaseClient::QtWebIconDatabaseClient): 21317 (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): 21318 (QtWebIconDatabaseClient::didChangeIconForPageURL): 21319 (QtWebIconDatabaseClient::iconImageForPageURL): 21320 (QtWebIconDatabaseClient::iconURLHashForPageURL): 21321 (QtWebIconDatabaseClient::requestIconForPageURL): 21322 (QtWebIconDatabaseClient::retainIconForPageURL): 21323 (QtWebIconDatabaseClient::releaseIconForPageURL): 21324 * UIProcess/qt/QtWebIconDatabaseClient.h: Added. 21325 * UIProcess/qt/QtWebPageLoadClient.cpp: 21326 (QtWebPageLoadClient::didStartProgress): 21327 213282011-12-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 21329 21330 [Qt] Improve QQuickWebView error handling API 21331 https://bugs.webkit.org/show_bug.cgi?id=73815 21332 21333 Reviewed by Simon Hausmann. 21334 21335 Modifying loadFail signal to include the error description 21336 and changing the ErrorType enum to ErrorDomain, to stay aligned 21337 with ResourceError API itself. 21338 21339 * UIProcess/API/qt/qquickwebview_p.h: 21340 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: 21341 * UIProcess/qt/QtWebPageLoadClient.cpp: 21342 (QtWebPageLoadClient::dispatchLoadFailed): 21343 213442011-12-19 Sam Weinig <sam@webkit.org> 21345 21346 Add support for scrollLineDown: and scrollLineUp: NSResponder selectors 21347 https://bugs.webkit.org/show_bug.cgi?id=74907 21348 21349 Reviewed by Dan Bernstein. 21350 21351 * UIProcess/API/mac/WKView.mm: 21352 Add implementations for scrollLineDown: and scrollLineUp: using our 21353 fun macros. 21354 213552011-12-19 Sam Weinig <sam@webkit.org> 21356 21357 More PlatformEvent cleanup 21358 https://bugs.webkit.org/show_bug.cgi?id=74831 21359 21360 Reviewed by Dan Bernstein. 21361 21362 * WebProcess/WebPage/WebPage.cpp: 21363 (WebKit::handleContextMenuEvent): 21364 Update to use new names, access style. 21365 213662011-12-16 Jon Lee <jonlee@apple.com> 21367 21368 [WK2] Extend show notification API to include the source page 21369 https://bugs.webkit.org/show_bug.cgi?id=74751 21370 <rdar://problem/10514541> 21371 21372 Reviewed by John Sullivan. 21373 21374 We add the source page that dispatched the notification in the API for convenience. In order to include the page, 21375 we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy. 21376 21377 * WebProcess/Notifications/WebNotificationManager.cpp: 21378 (WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy. 21379 21380 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message. 21381 * UIProcess/WebPageProxy.messages.in: Add a showNotification() message. 21382 21383 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 21384 (WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy. 21385 * UIProcess/Notifications/WebNotificationManagerProxy.h: 21386 21387 * UIProcess/API/C/WKNotificationProvider.h: 21388 * UIProcess/Notifications/WebNotificationProvider.cpp: 21389 (WebKit::WebNotificationProvider::show): 21390 * UIProcess/Notifications/WebNotificationProvider.h: 21391 * UIProcess/WebPageProxy.cpp: 21392 (WebKit::WebPageProxy::showNotification): 21393 * UIProcess/WebPageProxy.h: 21394 213952011-12-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 21396 21397 [Qt][WK2] QWebDownloadItems are leaking 21398 https://bugs.webkit.org/show_bug.cgi?id=74618 21399 21400 Reviewed by Kenneth Rohde Christiansen. 21401 21402 QWebDownloadItems are leaking when WebProcess raises a 21403 download failure before sending didReceiveResponse back to UIProcess. 21404 This can happen when QtFileDownloader fails in determineFilename(), for instance. 21405 It happens when QtDownloadManager::downloadFailed() is reached 21406 and has an "empty" downloadItem, which means we never got to 21407 QtDownloadManager::downloadReceivedResponse(). At this point 21408 QQuickWebView::downloadRequested() signal hasn't been emitted and 21409 the downloadItem will have null parent. Therefore, it will leak 21410 unless we delete it ourselves. 21411 21412 * UIProcess/qt/QtDownloadManager.cpp: 21413 (WebKit::QtDownloadManager::downloadFailed): 21414 214152011-12-19 Anders Carlsson <andersca@apple.com> 21416 21417 Send gesture events through the event dispatcher and scrolling coordinator 21418 https://bugs.webkit.org/show_bug.cgi?id=74879 21419 21420 Reviewed by Andreas Kling. 21421 21422 * UIProcess/WebPageProxy.cpp: 21423 (WebKit::WebPageProxy::handleGestureEvent): 21424 Use the EventDispatcher message. 21425 21426 * WebProcess/WebPage/EventDispatcher.cpp: 21427 (WebKit::EventDispatcher::gestureEvent): 21428 Try to send the event to the scrolling coordinator first before dispatching it on the main thread. 21429 21430 (WebKit::EventDispatcher::dispatchGestureEvent): 21431 Just call through to the WebPageProxy. 21432 21433 * WebProcess/WebPage/EventDispatcher.h: 21434 * WebProcess/WebPage/EventDispatcher.messages.in: 21435 * WebProcess/WebPage/WebPage.h: 21436 * WebProcess/WebPage/WebPage.messages.in: 21437 Move the GestureEvent message from WebPage to EventDispatcher. 21438 214392011-12-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 21440 21441 [Qt] Setting QWebPreferences affect multiple WebViews 21442 https://bugs.webkit.org/show_bug.cgi?id=71559 21443 21444 Reviewed by Kenneth Rohde Christiansen. 21445 21446 The QWebPreferences are per WebView, but the actual implementation 21447 in WebKit2 make them per page group. Currently we share only one 21448 page group between all the views, so if we set preferences 21449 to one WebView the preferences are shared between them all, generating 21450 unexpected behavior. This patch fixes this by making each WebView have 21451 its own page group. 21452 21453 * UIProcess/API/qt/qquickwebview.cpp: 21454 (QQuickWebViewPrivate::QQuickWebViewPrivate): 21455 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 21456 214572011-12-19 Eric Carlson <eric.carlson@apple.com> 21458 21459 Enable <track> for Mac build 21460 https://bugs.webkit.org/show_bug.cgi?id=74838 21461 21462 Reviewed by Darin Adler. 21463 21464 * Configurations/FeatureDefines.xcconfig: 21465 214662011-12-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 21467 21468 [Qt] [WK2] Fix build error due to unused variables 21469 https://bugs.webkit.org/show_bug.cgi?id=74862 21470 21471 Reviewed by Kenneth Rohde Christiansen. 21472 21473 * UIProcess/qt/QtWebPageEventHandler.cpp: 21474 (QtWebPageEventHandler::inputMethodEvent): 21475 214762011-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org> 21477 21478 [Qt] Add methods for setting, cancelling and confirming the composition 21479 21480 Reviewed by Simon Hausmann. 21481 21482 * UIProcess/WebPageProxy.h: 21483 * UIProcess/qt/WebPageProxyQt.cpp: 21484 (WebKit::WebPageProxy::setComposition): 21485 (WebKit::WebPageProxy::confirmComposition): 21486 (WebKit::WebPageProxy::cancelComposition): 21487 * WebProcess/WebPage/WebPage.h: 21488 * WebProcess/WebPage/WebPage.messages.in: 21489 * WebProcess/WebPage/qt/WebPageQt.cpp: 21490 (WebKit::targetFrameForEditing): 21491 (WebKit::WebPage::confirmComposition): 21492 (WebKit::WebPage::setComposition): 21493 (WebKit::WebPage::cancelComposition): 21494 214952011-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org> 21496 21497 First stab at upstreaming our virtual keyboard code 21498 21499 Reviewed by Simon Hausmann. 21500 21501 Add basic implementation of inputMethodEvent 21502 21503 * UIProcess/qt/QtWebPageEventHandler.cpp: 21504 (QtWebPageEventHandler::handleEvent): 21505 (QtWebPageEventHandler::inputMethodEvent): 21506 * UIProcess/qt/QtWebPageEventHandler.h: 21507 215082011-12-19 Simon Hausmann <simon.hausmann@nokia.com> 21509 21510 [Qt][WK2] Add support for modal event loop processing for WTR 21511 https://bugs.webkit.org/show_bug.cgi?id=74852 21512 21513 Reviewed by Kenneth Rohde Christiansen. 21514 21515 Add support for nested event loops, used by WebPage::runModal(). 21516 21517 * Platform/qt/RunLoopQt.cpp: 21518 (RunLoop::run): 21519 (RunLoop::stop): 21520 215212011-12-18 Sam Weinig <sam@webkit.org> 21522 21523 Another attempt to fix the windows build. 21524 21525 * Platform/win/WorkQueueWin.cpp: 21526 (WorkQueue::performWorkOnRegisteredWorkThread): 21527 (WorkQueue::dispatch): 21528 215292011-12-18 Sam Weinig <sam@webkit.org> 21530 21531 Try to fix the windows build. 21532 21533 * Platform/win/WorkQueueWin.cpp: 21534 (WorkQueue::performWorkOnRegisteredWorkThread): 21535 215362011-12-18 Sam Weinig <sam@webkit.org> 21537 21538 Remove now unused WorkItem.h 21539 https://bugs.webkit.org/show_bug.cgi?id=74818 21540 21541 Reviewed by Andreas Kling. 21542 21543 * GNUmakefile.am: 21544 * Platform/CoreIPC/Connection.cpp: 21545 * Platform/RunLoop.cpp: 21546 * Platform/RunLoop.h: 21547 * Platform/WorkItem.h: Removed. 21548 * Platform/gtk/RunLoopGtk.cpp: 21549 * Platform/mac/RunLoopMac.mm: 21550 * Platform/mac/WorkQueueMac.cpp: 21551 (WorkQueue::platformInvalidate): 21552 * Platform/qt/RunLoopQt.cpp: 21553 * Platform/win/RunLoopWin.cpp: 21554 * Target.pri: 21555 * UIProcess/ResponsivenessTimer.cpp: 21556 * WebKit2.xcodeproj/project.pbxproj: 21557 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 21558 * win/WebKit2.vcproj: 21559 215602011-12-18 Anders Carlsson <andersca@apple.com> 21561 21562 Set the main frame view scroll position asynchronously 21563 https://bugs.webkit.org/show_bug.cgi?id=74823 21564 21565 Reviewed by Sam Weinig. 21566 21567 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21568 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 21569 Don't make the background red. 21570 215712011-12-18 Sam Weinig <sam@webkit.org> 21572 21573 Move timestamp down from PlatformEvent subclasses to the base class 21574 https://bugs.webkit.org/show_bug.cgi?id=74805 21575 21576 Reviewed by Anders Carlsson. 21577 21578 * Shared/WebEventConversion.cpp: 21579 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): 21580 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 21581 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): 21582 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): 21583 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 21584 215852011-12-18 Anders Carlsson <andersca@apple.com> 21586 21587 Add a scrolling thread to the scrolling coordinator 21588 https://bugs.webkit.org/show_bug.cgi?id=74814 21589 21590 Reviewed by Andreas Kling. 21591 21592 Check if the scrolling coordinator can handle the wheel event before dispatching it 21593 to the main thread. 21594 21595 * WebProcess/WebPage/EventDispatcher.cpp: 21596 (WebKit::EventDispatcher::wheelEvent): 21597 215982011-12-18 Anders Carlsson <andersca@apple.com> 21599 21600 EventDispatcher should keep track of all scrolling coordinators 21601 https://bugs.webkit.org/show_bug.cgi?id=74810 21602 21603 Reviewed by Andreas Kling. 21604 21605 * WebProcess/WebPage/EventDispatcher.cpp: 21606 (WebKit::EventDispatcher::addScrollingCoordinatorForPage): 21607 Get the scrolling coordinator from the WebCore page and add it to the map. 21608 21609 (WebKit::EventDispatcher::removeScrollingCoordinatorForPage): 21610 Remove the scrolling coordinator from the map. 21611 21612 (WebKit::EventDispatcher::sendDidHandleEvent): 21613 Add a new helper function, currently unused. 21614 21615 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21616 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 21617 Add the scrolling coordinator. 21618 21619 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 21620 Remove the scrolling coordinator. 21621 21622 * WebProcess/WebProcess.h: 21623 (WebKit::WebProcess::eventDispatcher): 21624 Add a getter. 21625 216262011-12-16 Anders Carlsson <andersca@apple.com> 21627 21628 Move everyone off of WorkItem 21629 https://bugs.webkit.org/show_bug.cgi?id=74773 21630 21631 Reviewed by Darin Adler. 21632 21633 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 21634 (CoreIPC::Connection::open): 21635 (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination): 21636 * Platform/CoreIPC/win/ConnectionWin.cpp: 21637 (CoreIPC::Connection::open): 21638 * Platform/RunLoop.cpp: 21639 (RunLoop::performWork): 21640 (RunLoop::dispatch): 21641 * Platform/RunLoop.h: 21642 * Platform/WorkQueue.cpp: 21643 * Platform/WorkQueue.h: 21644 (WorkQueue::WorkItemWin::function): 21645 * Platform/gtk/WorkQueueGtk.cpp: 21646 (WorkQueue::EventSource::EventSource): 21647 (WorkQueue::EventSource::executeEventSource): 21648 (WorkQueue::registerEventSourceHandler): 21649 (WorkQueue::dispatchOnSource): 21650 (WorkQueue::dispatch): 21651 (WorkQueue::dispatchAfterDelay): 21652 (WorkQueue::dispatchOnTermination): 21653 * Platform/mac/WorkQueueMac.cpp: 21654 (WorkQueue::executeFunction): 21655 (WorkQueue::dispatch): 21656 (WorkQueue::dispatchAfterDelay): 21657 * Platform/qt/WorkQueueQt.cpp: 21658 (WorkQueue::WorkItemQt::WorkItemQt): 21659 (WorkQueue::WorkItemQt::~WorkItemQt): 21660 (WorkQueue::WorkItemQt::execute): 21661 (WorkQueue::registerSocketEventHandler): 21662 (WorkQueue::dispatch): 21663 (WorkQueue::dispatchAfterDelay): 21664 (WorkQueue::dispatchOnTermination): 21665 * Platform/win/RunLoopWin.cpp: 21666 (RunLoop::wakeUp): 21667 * Platform/win/WorkQueueWin.cpp: 21668 (WorkQueue::WorkItemWin::WorkItemWin): 21669 (WorkQueue::WorkItemWin::create): 21670 (WorkQueue::HandleWorkItem::HandleWorkItem): 21671 (WorkQueue::HandleWorkItem::createByAdoptingHandle): 21672 (WorkQueue::registerHandle): 21673 (WorkQueue::dispatch): 21674 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 21675 (WebKit::ProcessLauncher::launchProcess): 21676 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 21677 (WebKit::ProcessLauncher::launchProcess): 21678 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 21679 (WebKit::ProcessLauncher::launchProcess): 21680 * WebProcess/mac/CoreIPCClientRunLoop.mm: 21681 (WebKit::callOnCoreIPCClientRunLoopAndWait): 21682 216832011-12-17 Sam Weinig <sam@webkit.org> 21684 21685 Make PlatformTouchEvent inherit from PlatformEvent 21686 https://bugs.webkit.org/show_bug.cgi?id=74777 21687 21688 Reviewed by Andreas Kling. 21689 21690 * Shared/WebEventConversion.cpp: 21691 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 21692 Add PlatformEvent prefix to enum types. 21693 216942011-12-16 Anders Carlsson <andersca@apple.com> 21695 21696 Convert more WorkItems over to WTF::Functions 21697 https://bugs.webkit.org/show_bug.cgi?id=74770 21698 21699 Reviewed by Andreas Kling. 21700 21701 * Platform/WorkQueue.cpp: 21702 (WorkQueue::dispatchAfterDelay): 21703 * Platform/WorkQueue.h: 21704 * Shared/ChildProcess.cpp: 21705 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue): 21706 * UIProcess/Launcher/ThreadLauncher.cpp: 21707 (WebKit::ThreadLauncher::launchThread): 21708 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 21709 (WebKit::ProcessLauncher::launchProcess): 21710 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 21711 (WebKit::NetscapePlugin::pluginThreadAsyncCall): 21712 * WebProcess/Plugins/PluginView.cpp: 21713 (WebKit::derefPluginView): 21714 (WebKit::PluginView::unprotectPluginFromDestruction): 21715 217162011-12-16 Mark Hahnenberg <mhahnenberg@apple.com> 21717 21718 Windows test fix 21719 21720 Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 21721 static data members across DLL boundaries were getting garbage in their pointers. 21722 21723 * win/WebKit2.def: 21724 217252011-12-16 Ryosuke Niwa <rniwa@webkit.org> 21726 21727 Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step 21728 https://bugs.webkit.org/show_bug.cgi?id=74748 21729 21730 Reviewed by Eric Seidel. 21731 21732 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 21733 (WebKit::WebEditorClient::registerUndoStep): 21734 (WebKit::WebEditorClient::registerRedoStep): 21735 * WebProcess/WebCoreSupport/WebEditorClient.h: 21736 217372011-12-16 Anders Carlsson <andersca@apple.com> 21738 21739 Add a pretty dumb tile cache to WebTileCacheLayer 21740 https://bugs.webkit.org/show_bug.cgi?id=74753 21741 21742 Reviewed by Simon Fraser. 21743 21744 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21745 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 21746 Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting. 21747 217482011-12-16 Anders Carlsson <andersca@apple.com> 21749 21750 TiledCoreAnimationDrawingArea should enable the scrolling coordinator 21751 https://bugs.webkit.org/show_bug.cgi?id=74724 21752 21753 Reviewed by Adam Roben. 21754 21755 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21756 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 21757 217582011-12-16 Sam Weinig <sam@webkit.org> 21759 21760 Give PlatformEvents a base class 21761 https://bugs.webkit.org/show_bug.cgi?id=74685 21762 21763 Reviewed by Anders Carlsson. 21764 21765 Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent 21766 and PlatformGestureEvent and move Type enumeration and modifiers down to it. 21767 21768 * Shared/WebEventConversion.cpp: 21769 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): 21770 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 21771 (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): 21772 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): 21773 * WebKit2.xcodeproj/project.pbxproj: 21774 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 21775 (WebKit::WebEditorClient::handleKeyboardEvent): 21776 * WebProcess/WebPage/WebPage.cpp: 21777 (WebKit::handleMouseEvent): 21778 (WebKit::WebPage::setInitialFocus): 21779 (WebKit::WebPage::handleEditingKeyboardEvent): 21780 (WebKit::WebPage::dragEnded): 21781 * WebProcess/WebPage/mac/WebPageMac.mm: 21782 (WebKit::WebPage::executeKeypressCommandsInternal): 21783 (WebKit::WebPage::handleEditingKeyboardEvent): 21784 217852011-12-16 Ryosuke Niwa <rniwa@webkit.org> 21786 21787 Only EditCommandComposition should implement unapply and reapply 21788 https://bugs.webkit.org/show_bug.cgi?id=74490 21789 21790 Reviewed by Eric Seidel. 21791 21792 Renamed WebEditCommand to WebUndoStep and made necessary changes. 21793 Everything on WebProcess side should have the correct name now. 21794 21795 Names in the proxy and UIProcess are to be updated in a follow up. 21796 21797 * CMakeLists.txt: 21798 * GNUmakefile.am: 21799 * Target.pri: 21800 * WebKit2.xcodeproj/project.pbxproj: 21801 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 21802 (WebKit::WebEditorClient::registerCommandForUndo): 21803 (WebKit::WebEditorClient::registerCommandForRedo): 21804 * WebProcess/WebCoreSupport/WebEditorClient.h: 21805 * WebProcess/WebPage/WebEditCommand.cpp: Removed. 21806 * WebProcess/WebPage/WebEditCommand.h: Removed. 21807 * WebProcess/WebPage/WebPage.cpp: 21808 (WebKit::WebPage::webUndoStep): 21809 (WebKit::WebPage::addWebUndoStep): 21810 (WebKit::WebPage::removeWebEditCommand): 21811 (WebKit::WebPage::unapplyEditCommand): 21812 (WebKit::WebPage::reapplyEditCommand): 21813 * WebProcess/WebPage/WebPage.h: 21814 * WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp. 21815 (WebKit::generateUndoStep): 21816 (WebKit::WebUndoStep::create): 21817 * WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h. 21818 (WebKit::WebUndoStep::entry): 21819 (WebKit::WebUndoStep::entryID): 21820 (WebKit::WebUndoStep::WebUndoStep): 21821 * win/WebKit2.vcproj: 21822 218232011-12-16 Simon Hausmann <simon.hausmann@nokia.com> 21824 21825 [Qt] Eliminate dependency to QUndoStack 21826 https://bugs.webkit.org/show_bug.cgi?id=74691 21827 21828 Reviewed by Kenneth Rohde Christiansen. 21829 21830 Replaced the QUndoStack with two vectors. When calling unapply() 21831 on the edit command proxy, it will automatically re-register itself 21832 in the redo stack. 21833 21834 * UIProcess/qt/QtWebUndoController.cpp: 21835 (QtWebUndoController::registerEditCommand): 21836 (QtWebUndoController::clearAllEditCommands): 21837 (QtWebUndoController::canUndoRedo): 21838 (QtWebUndoController::executeUndoRedo): 21839 * UIProcess/qt/QtWebUndoController.h: 21840 218412011-12-16 Rafael Brandao <rafael.lobo@openbossa.org> 21842 21843 [Qt][WK2] Move webView.page into experimental 21844 https://bugs.webkit.org/show_bug.cgi?id=74406 21845 21846 Reviewed by Simon Hausmann. 21847 21848 * UIProcess/API/qt/qquickwebview.cpp: 21849 (QQuickWebViewExperimental::page): 21850 * UIProcess/API/qt/qquickwebview_p.h: 21851 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 21852 (tst_QQuickWebView::accessPage): 21853 218542011-12-16 Mark Hahnenberg <mhahnenberg@apple.com> 21855 21856 De-virtualize destructors 21857 https://bugs.webkit.org/show_bug.cgi?id=74331 21858 21859 Reviewed by Geoffrey Garen. 21860 21861 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert. 21862 * WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy. 21863 (WebKit::JSNPObject::destroy): 21864 * WebProcess/Plugins/Netscape/JSNPObject.h: 21865 * win/WebKit2.def: Add/remove necessary symbols. 21866 * win/WebKit2CFLite.def: Ditto. 21867 218682011-12-16 Carlos Garcia Campos <cgarcia@igalia.com> 21869 21870 [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate 21871 https://bugs.webkit.org/show_bug.cgi?id=74713 21872 21873 Reviewed by Gustavo Noronha Silva. 21874 21875 Most of the members are bools, so it reduces the memory footprint. 21876 21877 * UIProcess/API/gtk/WebKitWindowProperties.cpp: 21878 218792011-12-16 Carlos Garcia Campos <cgarcia@igalia.com> 21880 21881 [GTK] Window frame should be 0x0 when the toplevel window is not visible 21882 https://bugs.webkit.org/show_bug.cgi?id=74709 21883 21884 Reviewed by Gustavo Noronha Silva. 21885 21886 * UIProcess/API/gtk/WebKitUIClient.cpp: 21887 (getWindowFrame): Check also whether the toplevel is visible 21888 before getting its size and position. 21889 218902011-12-16 Michael Bruning <michael.bruning@nokia.com> 21891 21892 [qt][wk2] Viewport info panel shows wrong current scale 21893 https://bugs.webkit.org/show_bug.cgi?id=74613 21894 21895 Reviewed by Kenneth Rohde Christiansen. 21896 21897 * UIProcess/API/qt/qwebviewportinfo.cpp: 21898 (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also 21899 added emission of currenScaleUpdated signal when the viewport constraints 21900 have been updated. 21901 (QWebViewportInfo::didUpdateViewportConstraints): 21902 * UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of 21903 currentScale to QVariant as it depends on the viewport interaction engine 21904 now. 21905 * UIProcess/qt/QtViewportInteractionEngine.cpp: 21906 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed 21907 to use currentCSSScale for getting the current css scale. 21908 (WebKit::QtViewportInteractionEngine::currentCSSScale): Added. 21909 * UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale. 21910 219112011-12-15 Martin Robinson <mrobinson@igalia.com> 21912 21913 Fix 'make dist' in preparation for the GTK+ release. 21914 21915 * GNUmakefile.am: Add missing header. 21916 219172011-12-15 Anders Carlsson <andersca@apple.com> 21918 21919 Add support for accelerated compositing to the tiled Core Animation drawing area 21920 https://bugs.webkit.org/show_bug.cgi?id=74675 21921 21922 Reviewed by Andreas Kling. 21923 21924 Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us. 21925 21926 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 21927 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 21928 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 21929 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 21930 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay): 21931 (WebKit::TiledCoreAnimationDrawingArea::scroll): 21932 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 21933 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync): 21934 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 21935 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 21936 219372011-12-15 Sheriff Bot <webkit.review.bot@gmail.com> 21938 21939 Unreviewed, rolling out r102652 and r102717. 21940 http://trac.webkit.org/changeset/102652 21941 http://trac.webkit.org/changeset/102717 21942 https://bugs.webkit.org/show_bug.cgi?id=74674 21943 21944 Broke too many webs. (Requested by kling on #webkit). 21945 21946 * UIProcess/API/mac/WKView.mm: 21947 (-[WKView _updateWindowAndViewFrames]): 21948 * UIProcess/WebPageProxy.h: 21949 * UIProcess/mac/WebPageProxyMac.mm: 21950 (WebKit::WebPageProxy::windowAndViewFramesChanged): 21951 * WebProcess/Plugins/PluginView.cpp: 21952 (WebKit::PluginView::windowAndViewFramesChanged): 21953 * WebProcess/Plugins/PluginView.h: 21954 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 21955 (WebKit::WebChromeClient::windowRect): 21956 * WebProcess/WebPage/WebPage.cpp: 21957 (WebKit::WebPage::windowAndViewFramesChanged): 21958 * WebProcess/WebPage/WebPage.h: 21959 (WebKit::WebPage::windowFrameInScreenCoordinates): 21960 (WebKit::WebPage::viewFrameInWindowCoordinates): 21961 (WebKit::WebPage::accessibilityPosition): 21962 * WebProcess/WebPage/WebPage.messages.in: 21963 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 21964 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]): 21965 219662011-12-15 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 21967 21968 [GTK] New API test for WindowProperties fails 21969 https://bugs.webkit.org/show_bug.cgi?id=74630 21970 21971 Reviewed by Martin Robinson. 21972 21973 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 21974 (WindowProperties::viewReadyToShow): assert each member to make 21975 assertion error messages more useful, and avoid asserting x and y, 21976 since we are getting bad values from WebCore, for some reason. 21977 (testWebViewWindowProperties): use smaller values that fit inside the 21978 800x600 screen used by the bots. 21979 219802011-12-15 Anders Carlsson <andersca@apple.com> 21981 21982 EventDispatcher should handle wheel events on the connection queue 21983 https://bugs.webkit.org/show_bug.cgi?id=74627 21984 21985 Reviewed by Andreas Kling. 21986 21987 Send wheel events to the EventDispatcher, which handles them on the connection work queue, and 21988 immediately bounces them to the main thread (for now). 21989 21990 * UIProcess/WebPageProxy.cpp: 21991 (WebKit::WebPageProxy::handleWheelEvent): 21992 (WebKit::WebPageProxy::didReceiveEvent): 21993 * WebProcess/WebPage/EventDispatcher.cpp: 21994 (WebKit::EventDispatcher::wheelEvent): 21995 (WebKit::EventDispatcher::dispatchWheelEvent): 21996 * WebProcess/WebPage/EventDispatcher.h: 21997 * WebProcess/WebPage/EventDispatcher.messages.in: 21998 * WebProcess/WebPage/WebPage.h: 21999 220002011-12-15 Jon Lee <jonlee@apple.com> 22001 22002 [WK2] Extend WebNotification to include its origin 22003 https://bugs.webkit.org/show_bug.cgi?id=74615 22004 <rdar://problem/10587164> 22005 22006 Reviewed by Sam Weinig. 22007 22008 * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database 22009 identifier. 22010 * Shared/API/c/WKSecurityOrigin.cpp: 22011 (WKSecurityOriginCopyDatabaseIdentifier): 22012 22013 * UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin. 22014 (WebKit::WebNotification::create): 22015 (WebKit::WebNotification::origin): 22016 * UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions. 22017 (WebKit::WebNotification::WebNotification): 22018 22019 * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin(). 22020 * UIProcess/API/C/WKNotification.cpp: 22021 (WKNotificationGetSecurityOrigin): 22022 22023 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the 22024 origin of the notification. 22025 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 22026 (WebKit::WebNotificationManagerProxy::show): 22027 * UIProcess/Notifications/WebNotificationManagerProxy.h: 22028 * WebProcess/Notifications/WebNotificationManager.cpp: 22029 (WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as 22030 identifier. 22031 220322011-12-15 Rafael Brandao <rafael.lobo@openbossa.org> 22033 22034 [Qt][WK2] Add test for download policy on navigation request 22035 https://bugs.webkit.org/show_bug.cgi?id=74541 22036 22037 Reviewed by Tor Arne Vestbø. 22038 22039 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 22040 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a 22041 downloadFinished signal to finish the test. 22042 220432011-12-15 Anders Carlsson <andersca@apple.com> 22044 22045 Move WorkQueue Mach handlers over to WTF::Function 22046 https://bugs.webkit.org/show_bug.cgi?id=74620 22047 22048 Reviewed by Sam Weinig. 22049 22050 * Platform/CoreIPC/mac/ConnectionMac.cpp: 22051 (CoreIPC::Connection::open): 22052 (CoreIPC::Connection::initializeDeadNameSource): 22053 * Platform/WorkQueue.h: 22054 * Platform/mac/WorkQueueMac.cpp: 22055 (WorkQueue::EventSource::EventSource): 22056 (WorkQueue::EventSource::eventHandler): 22057 (WorkQueue::registerMachPortEventHandler): 22058 220592011-12-14 Anders Carlsson <andersca@apple.com> 22060 22061 Add WTF::Function to wtf/Forward.h 22062 https://bugs.webkit.org/show_bug.cgi?id=74576 22063 22064 Reviewed by Adam Roben. 22065 22066 * Platform/RunLoop.h: 22067 * Platform/WorkQueue.h: 22068 Remove forward declarations and just include wtf/Forward.h. 22069 220702011-12-15 Rafael Brandao <rafael.lobo@openbossa.org> 22071 22072 [Qt][WK2] Move WebPreferences into experimental 22073 https://bugs.webkit.org/show_bug.cgi?id=74404 22074 22075 Reviewed by Tor Arne Vestbø. 22076 22077 * UIProcess/API/qt/qquickwebview.cpp: 22078 (QQuickWebViewExperimental::preferences): 22079 * UIProcess/API/qt/qquickwebview_p.h: 22080 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 22081 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 22082 220832011-12-15 Carlos Garcia Campos <cgarcia@igalia.com> 22084 22085 [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API 22086 https://bugs.webkit.org/show_bug.cgi?id=74595 22087 22088 Reviewed by Gustavo Noronha Silva. 22089 22090 * GNUmakefile.am: Add new files to compilation. 22091 * UIProcess/API/gtk/WebKitUIClient.cpp: 22092 (createNewPage): Pass the dictionary containing the window 22093 features to webkitWebViewCreateNewPage(). 22094 (toolbarsAreVisible): Return 22095 WebKitWindowProperties:toolbar-visible. 22096 (setToolbarsAreVisible): Set 22097 WebKitWindowProperties:toolbar-visible. 22098 (menuBarIsVisible): Return WebKitWindowProperties:menu-visible. 22099 (setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible. 22100 (statusBarIsVisible): Return 22101 WebKitWindowProperties:status-visible. 22102 (setStatusBarIsVisible): Set 22103 WebKitWindowProperties:status-visible. 22104 (isResizable): Return WebKitWindowProperties:resizable. 22105 (setIsResizable): Set WebKitWindowProperties:resizable. 22106 (getWindowFrame): Return WebKitWindowProperties:geometry. 22107 (setWindowFrame): Set WebKitWindowProperties:geometry. 22108 (webkitUIClientAttachUIClientToPage): Initialize the UI client for 22109 the given page. 22110 * UIProcess/API/gtk/WebKitWebView.cpp: 22111 (webkit_web_view_init): Create a WebKitWindowProperties object for 22112 the view. 22113 (webkit_web_view_class_init): 22114 (webkitWebViewCreateNewPage): Update the WebKitWindowProperties 22115 object using the window features dictionary. 22116 (webkit_web_view_get_window_properties): Return the 22117 WebKitWindowProperties object of the view. 22118 * UIProcess/API/gtk/WebKitWebView.h: 22119 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 22120 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Added. 22121 (webkitWindowPropertiesFinalize): 22122 (webkitWindowPropertiesGetProperty): 22123 (webkitWindowPropertiesSetProperty): 22124 (webkit_window_properties_class_init): 22125 (webkit_window_properties_init): 22126 (webkitWindowPropertiesCreate): Create a new 22127 WebKitWindowProperties object. 22128 (webkitWindowPropertiesSetGeometry): 22129 (webkitWindowPropertiesSetToolbarVisible): 22130 (webkitWindowPropertiesSetMenubarVisible): 22131 (webkitWindowPropertiesSetStatusbarVisible): 22132 (webkitWindowPropertiesSetLocationbarVisible): 22133 (webkitWindowPropertiesSetScrollbarsVisible): 22134 (webkitWindowPropertiesSetResizable): 22135 (webkitWindowPropertiesSetFullscreen): 22136 (webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the 22137 window features dictionary and update the WebKitWindowProperties 22138 object accordingly. 22139 (webkit_window_properties_get_geometry): 22140 (webkit_window_properties_get_toolbar_visible): 22141 (webkit_window_properties_get_statusbar_visible): 22142 (webkit_window_properties_get_scrollbars_visible): 22143 (webkit_window_properties_get_menubar_visible): 22144 (webkit_window_properties_get_locationbar_visible): 22145 (webkit_window_properties_get_resizable): 22146 (webkit_window_properties_get_fullscreen): 22147 * UIProcess/API/gtk/WebKitWindowProperties.h: Added. 22148 * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h. 22149 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for 22150 WebKitWindowProperties. 22151 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 22152 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 22153 webkit_window_properties_get_type. 22154 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 22155 (WindowProperties::windowPropertiesNotifyCallback): 22156 (WindowProperties::viewReadyToShow): 22157 (WindowProperties::viewCreate): 22158 (WindowProperties::setExpectedWindowProperties): 22159 (testWebViewWindowProperties): 22160 (beforeAll): 22161 * UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h. 22162 * UIProcess/WebUIClient.cpp: 22163 (WebKit::WebUIClient::createNewPage): Add also "locationBarVisible" 22164 to the window features dictionary. 22165 221662011-12-15 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22167 22168 [Qt] [WK2] Remove QtWebPageProxy 22169 https://bugs.webkit.org/show_bug.cgi?id=74540 22170 22171 Reviewed by Kenneth Rohde Christiansen. 22172 22173 Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in 22174 QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom 22175 and user agent setting). Since those wrappers are unused, they were removed. The 22176 signal in the class was also unused. 22177 22178 This patch also remove the code from WebContextMenuProxyQt, it was remains of a 22179 previous QMenu-based implementation. We want to rewrite this code for QML anyway, 22180 so I reverted to an empty state. 22181 22182 Farewell, QtWebPageProxy! 22183 22184 * Target.pri: 22185 * UIProcess/API/qt/qquickwebpage.cpp: 22186 * UIProcess/API/qt/qquickwebpage_p.h: 22187 * UIProcess/API/qt/qquickwebview.cpp: 22188 (QQuickWebViewPrivate::~QQuickWebViewPrivate): 22189 (QQuickWebViewPrivate::initialize): 22190 (QQuickWebViewPrivate::processDidCrash): 22191 (QQuickWebViewPrivate::createDrawingAreaProxy): 22192 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 22193 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged): 22194 (QQuickWebViewPrivate::_q_onVisibleChanged): 22195 (QQuickWebViewPrivate::updateViewportSize): 22196 (QQuickWebViewPrivate::computeViewportConstraints): 22197 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 22198 (QQuickWebViewPrivate::setNavigatorQtObjectEnabled): 22199 (QQuickWebViewExperimental::postMessage): 22200 (QQuickWebView::load): 22201 (QQuickWebView::goBack): 22202 (QQuickWebView::goForward): 22203 (QQuickWebView::stop): 22204 (QQuickWebView::reload): 22205 (QQuickWebView::url): 22206 (QQuickWebView::canGoBack): 22207 (QQuickWebView::canGoForward): 22208 (QQuickWebView::loading): 22209 (QQuickWebView::canReload): 22210 (QQuickWebView::title): 22211 (QQuickWebView::pageRef): 22212 (QQuickWebView::loadHtml): 22213 * UIProcess/API/qt/qquickwebview_p.h: 22214 * UIProcess/API/qt/qquickwebview_p_p.h: 22215 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: 22216 * UIProcess/API/qt/qwebpreferences.cpp: 22217 (QWebPreferencesPrivate::preferencesRef): 22218 * UIProcess/PageClient.h: 22219 * UIProcess/qt/QtPageClient.cpp: 22220 (QtPageClient::QtPageClient): 22221 (QtPageClient::initialize): 22222 (QtPageClient::createPopupMenuProxy): 22223 (QtPageClient::createContextMenuProxy): 22224 * UIProcess/qt/QtPageClient.h: 22225 * UIProcess/qt/QtWebPageProxy.cpp: Removed. 22226 * UIProcess/qt/QtWebPageProxy.h: Removed. 22227 * UIProcess/qt/WebContextMenuProxyQt.cpp: 22228 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 22229 (WebKit::WebContextMenuProxyQt::create): 22230 (WebKit::WebContextMenuProxyQt::showContextMenu): 22231 (WebKit::WebContextMenuProxyQt::hideContextMenu): 22232 * UIProcess/qt/WebContextMenuProxyQt.h: 22233 222342011-12-15 Simon Hausmann <simon.hausmann@nokia.com> 22235 22236 [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation 22237 https://bugs.webkit.org/show_bug.cgi?id=74602 22238 22239 Reviewed by Kenneth Rohde Christiansen. 22240 22241 For shared memory Qt was using shm_open, Gtk was using files in /tmp. There 22242 is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior 22243 method of opening shared memory. So this patch makes SharedMemoryUnix.cpp 22244 truly Qt and Gtk independent. 22245 22246 * Platform/unix/SharedMemoryUnix.cpp: 22247 (WebKit::SharedMemory::create): 22248 222492011-12-15 Simon Hausmann <simon.hausmann@nokia.com> 22250 22251 [Qt] Cleanup: Remove unnecessary const_cast 22252 22253 Reviewed by Kenneth Christiansen. 22254 22255 * UIProcess/API/qt/qquickwebview.cpp: 22256 (QQuickWebView::preferences): 22257 222582011-12-15 Michael Brüning <michael.bruning@nokia.com> 22259 22260 [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt. 22261 https://bugs.webkit.org/show_bug.cgi?id=72893 22262 22263 Reviewed by Kenneth Rohde Christiansen. 22264 22265 This patch extends QQuickWebViewExperimental by a property named 22266 viewportInfo, which contains the viewport scalability and 22267 layout and contents size information. This property is exposed to 22268 QML through the experimental extension for QQuickWebView. 22269 22270 * Target.pri: 22271 * UIProcess/API/qt/qquickwebview.cpp: 22272 (QQuickWebViewPrivate::didChangeContentsSize): 22273 (QQuickWebViewPrivate::computeViewportConstraints): 22274 (QQuickWebViewPrivate::PostTransitionState::apply): Added applying 22275 contentsSize to viewportInfo. 22276 (QQuickWebViewExperimental::QQuickWebViewExperimental): 22277 (QQuickWebViewExperimental::viewportInfo): 22278 * UIProcess/API/qt/qquickwebview_p.h: 22279 * UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply 22280 to qquickwebview.cpp. Added friend QWebViewportInfo. 22281 * UIProcess/API/qt/qwebviewportinfo.cpp: Added. 22282 (QWebViewportInfo::QWebViewportInfo): 22283 (QWebViewportInfo::~QWebViewportInfo): 22284 (QWebViewportInfo::contentsSize): 22285 (QWebViewportInfo::currentScale): 22286 (QWebViewportInfo::devicePixelRatio): 22287 (QWebViewportInfo::initialScale): 22288 (QWebViewportInfo::minimumScale): 22289 (QWebViewportInfo::maximumScale): 22290 (QWebViewportInfo::isScalable): 22291 (QWebViewportInfo::layoutSize): 22292 (QWebViewportInfo::didUpdateContentsSize): 22293 (QWebViewportInfo::didUpdateCurrentScale): 22294 (QWebViewportInfo::didUpdateViewportConstraints): 22295 * UIProcess/API/qt/qwebviewportinfo_p.h: Added. 22296 * UIProcess/qt/QtViewportInteractionEngine.h: 22297 (WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize. 22298 (WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints. 22299 223002011-12-15 Simon Hausmann <simon.hausmann@nokia.com> 22301 22302 [WK2] WebPage::m_useFixedLayout variable unininitialized 22303 https://bugs.webkit.org/show_bug.cgi?id=74596 22304 22305 Reviewed by Kenneth Rohde Christiansen. 22306 22307 * WebProcess/WebPage/WebPage.cpp: 22308 (WebKit::WebPage::WebPage): Avoid uninitialized use through 22309 initialization in the constructor. 22310 223112011-12-15 Alexander Færøy <ahf@0x90.dk> 22312 22313 [Qt] r102849 broke the Qt build on Mac OS X. 22314 https://bugs.webkit.org/show_bug.cgi?id=74594 22315 22316 Reviewed by Simon Hausmann. 22317 22318 The __APPLE__ macro is defined on all standard OS X compilers, which 22319 leads to various CoreGraphics headers to be included in the Qt build. 22320 22321 * config.h: 22322 223232011-12-14 Jing Zhao <jingzhao@chromium.org> 22324 22325 Opening two popup menus by dispatchEvent() makes problems. 22326 https://bugs.webkit.org/show_bug.cgi?id=73304 22327 22328 Reviewed by Kent Tamura. 22329 22330 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22331 (WebKit::WebChromeClient::hasOpenedPopup): Not implemented. 22332 * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup(). 22333 223342011-12-14 Sam Weinig <weinig@apple.com> 22335 22336 Remove whitespace from InheritedPropertySheets attributes in 22337 vsprops files to appease the Visual Studio project migrator. 22338 22339 Reviewed by Adam Roben. 22340 22341 * win/WebKit2Debug.vsprops: 22342 * win/WebKit2DebugAll.vsprops: 22343 * win/WebKit2DebugCairoCFLite.vsprops: 22344 * win/WebKit2Production.vsprops: 22345 * win/WebKit2Release.vsprops: 22346 * win/WebKit2ReleaseCairoCFLite.vsprops: 22347 * win/WebKit2WebProcessDebug.vsprops: 22348 * win/WebKit2WebProcessDebugAll.vsprops: 22349 * win/WebKit2WebProcessDebugCairoCFLite.vsprops: 22350 * win/WebKit2WebProcessProduction.vsprops: 22351 * win/WebKit2WebProcessRelease.vsprops: 22352 * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: 22353 223542011-12-14 Anders Carlsson <andersca@apple.com> 22355 22356 Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects 22357 https://bugs.webkit.org/show_bug.cgi?id=74574 22358 22359 Reviewed by Sam Weinig. 22360 22361 * Platform/CoreIPC/Connection.cpp: 22362 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 22363 (CoreIPC::Connection::addQueueClient): 22364 (CoreIPC::Connection::removeQueueClient): 22365 (CoreIPC::Connection::invalidate): 22366 (CoreIPC::Connection::sendMessage): 22367 (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue): 22368 (CoreIPC::Connection::connectionDidClose): 22369 (CoreIPC::Connection::enqueueIncomingMessage): 22370 Switch over to dispatch. 22371 22372 * Platform/RunLoop.cpp: 22373 (RunLoop::dispatch): 22374 Create a FunctionWorkItem and call scheduleWork. 22375 22376 * Platform/RunLoop.h: 22377 Add dispatch. 22378 22379 * Platform/WorkItem.h: 22380 (FunctionWorkItem::FunctionWorkItem): 22381 (FunctionWorkItem::execute): 22382 (WorkItem::create): 22383 Add a helper work item that wraps a WTF::Function. 22384 22385 * Platform/WorkQueue.cpp: 22386 (WorkQueue::dispatch): 22387 Create a FunctionWorkItem and call scheduleWork. 22388 22389 * Platform/WorkQueue.h: 22390 Add dispatch. 22391 22392 * UIProcess/Launcher/ProcessLauncher.cpp: 22393 (WebKit::ProcessLauncher::ProcessLauncher): 22394 Switch over to dispatch. 22395 223962011-12-14 Hajime Morrita <morrita@chromium.org> 22397 22398 JS_INLINE and WTF_INLINE should be visible from WebCore 22399 https://bugs.webkit.org/show_bug.cgi?id=73191 22400 22401 Reviewed by Kevin Ollivier. 22402 22403 Removed macro definitions which is now provided by Platform.h 22404 22405 * config.h: 22406 224072011-12-14 Alexey Proskuryakov <ap@apple.com> 22408 22409 [Mac] Sandbox violation opening AppleSNBFBUserClient 22410 https://bugs.webkit.org/show_bug.cgi?id=74560 22411 <rdar://problem/10410896> 22412 22413 Reviewed by Darin Adler. 22414 22415 * WebProcess/com.apple.WebProcess.sb: Just allow it. 22416 224172011-12-13 Jon Lee <jonlee@apple.com> 22418 22419 Enable notifications on Mac. 22420 22421 Reviewed by Sam Weinig. 22422 22423 * Configurations/FeatureDefines.xcconfig: 22424 224252011-12-14 Mark Rowe <mrowe@apple.com> 22426 22427 <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy 22428 22429 Reviewed by Anders Carlsson. 22430 22431 * PluginProcess/PluginControllerProxy.cpp: 22432 (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error. 22433 224342011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22435 22436 [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy 22437 https://bugs.webkit.org/show_bug.cgi?id=74525 22438 22439 Reviewed by Luiz Agostini. 22440 22441 This patch also uses internal WebKit API to set the Accelerate Compositing 22442 directly instead of going thru QWebPreferencesPrivate. The previous approach was 22443 always causing the QWebPreferences to be created making the "lazy initialization" 22444 useless. 22445 22446 * UIProcess/API/qt/qquickwebview.cpp: 22447 (QQuickWebViewPrivate::QQuickWebViewPrivate): 22448 (QQuickWebViewPrivate::initialize): 22449 (QQuickWebViewPrivate::navigatorQtObjectEnabled): 22450 (QQuickWebViewPrivate::setNavigatorQtObjectEnabled): 22451 (QQuickWebViewExperimental::postMessage): 22452 (QQuickWebView::preferences): 22453 * UIProcess/API/qt/qquickwebview_p_p.h: 22454 * UIProcess/API/qt/qwebpreferences.cpp: 22455 (QWebPreferencesPrivate::createPreferences): 22456 (QWebPreferencesPrivate::testAttribute): 22457 (QWebPreferencesPrivate::setAttribute): 22458 (QWebPreferences::navigatorQtObjectEnabled): 22459 (QWebPreferences::setNavigatorQtObjectEnabled): 22460 (QWebPreferencesPrivate::preferencesRef): 22461 * UIProcess/API/qt/qwebpreferences_p_p.h: 22462 * UIProcess/qt/QtWebPageProxy.cpp: 22463 (QtWebPageProxy::QtWebPageProxy): 22464 * UIProcess/qt/QtWebPageProxy.h: 22465 224662011-12-14 Carlos Garcia Campos <cgarcia@igalia.com> 22467 22468 [GTK] Page size should be 0,0 when view widget is not realized 22469 https://bugs.webkit.org/show_bug.cgi?id=74523 22470 22471 Reviewed by Martin Robinson. 22472 22473 We currently return 1,1 because GTK+ initializes widget allocation 22474 as -1,-1,1,1. 22475 22476 * UIProcess/API/gtk/PageClientImpl.cpp: 22477 (WebKit::PageClientImpl::viewSize): Check whether widget is 22478 realized and return IntSize() in that case. 22479 224802011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22481 22482 [Qt] [WK2] Move download handling out of QtWebPageProxy 22483 https://bugs.webkit.org/show_bug.cgi?id=74506 22484 22485 Reviewed by Kenneth Rohde Christiansen. 22486 22487 Also moves the creation of QtWebContext out of QtWebPageProxy. 22488 22489 * UIProcess/API/qt/qquickwebview.cpp: 22490 (QQuickWebViewPrivate::initialize): 22491 (QQuickWebViewPrivate::handleDownloadRequest): 22492 (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload): 22493 * UIProcess/API/qt/qquickwebview_p.h: 22494 * UIProcess/API/qt/qquickwebview_p_p.h: 22495 * UIProcess/API/qt/qwebdownloaditem_p.h: 22496 * UIProcess/qt/QtPageClient.cpp: 22497 (QtPageClient::handleDownloadRequest): 22498 * UIProcess/qt/QtPageClient.h: 22499 * UIProcess/qt/QtWebPageProxy.cpp: 22500 (QtWebPageProxy::QtWebPageProxy): 22501 * UIProcess/qt/QtWebPageProxy.h: 22502 225032011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22504 22505 [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView 22506 https://bugs.webkit.org/show_bug.cgi?id=74442 22507 22508 Reviewed by Simon Hausmann. 22509 22510 QWebNavigationHistory used QtWebPageProxy to be QObject parent of the inner models, 22511 this patch change that to use OwnPtr instead. When creating the history object we pass 22512 only the WKPageRef and let it get the backForwardList. 22513 22514 * UIProcess/API/qt/qquickwebview.cpp: 22515 (QQuickWebViewPrivate::initialize): 22516 (QQuickWebViewPrivate::didChangeBackForwardList): 22517 (QQuickWebViewExperimental::navigationHistory): 22518 (QQuickWebViewExperimental::goForwardTo): 22519 (QQuickWebViewExperimental::goBackTo): 22520 * UIProcess/API/qt/qquickwebview_p_p.h: 22521 * UIProcess/API/qt/qwebnavigationhistory.cpp: 22522 (QWebNavigationListModelPrivate::createWebNavigationModel): 22523 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate): 22524 (QWebNavigationHistoryPrivate::createHistory): 22525 (QWebNavigationHistoryPrivate::goBackTo): 22526 (QWebNavigationHistoryPrivate::goForwardTo): 22527 (QWebNavigationListModel::QWebNavigationListModel): 22528 (QWebNavigationHistory::backItems): 22529 (QWebNavigationHistory::forwardItems): 22530 * UIProcess/API/qt/qwebnavigationhistory_p.h: 22531 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: 22532 * UIProcess/qt/QtWebPageProxy.cpp: 22533 (QtWebPageProxy::QtWebPageProxy): 22534 * UIProcess/qt/QtWebPageProxy.h: 22535 225362011-12-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22537 22538 [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy 22539 https://bugs.webkit.org/show_bug.cgi?id=74414 22540 22541 Reviewed by Simon Hausmann. 22542 22543 This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid 22544 the WebPage having a backpointer to the QQuickWebView. 22545 22546 * Target.pri: 22547 * UIProcess/API/qt/qquickwebpage.cpp: 22548 (QQuickWebPage::geometryChanged): 22549 (QQuickWebPage::event): 22550 (QQuickWebPagePrivate::QQuickWebPagePrivate): 22551 (QQuickWebPagePrivate::initialize): 22552 (QQuickWebPagePrivate::setDrawingAreaSize): 22553 (QQuickWebPagePrivate::paintToCurrentGLContext): 22554 (QQuickWebPagePrivate::resetPaintNode): 22555 * UIProcess/API/qt/qquickwebpage_p.h: 22556 * UIProcess/API/qt/qquickwebpage_p_p.h: 22557 * UIProcess/API/qt/qquickwebview.cpp: 22558 (QQuickWebViewPrivate::initialize): 22559 (QQuickWebViewPrivate::initializeDesktop): 22560 (QQuickWebViewPrivate::initializeTouch): 22561 (QQuickWebViewPrivate::_q_resume): 22562 (QQuickWebViewPrivate::processDidCrash): 22563 (QQuickWebViewPrivate::didRelaunchProcess): 22564 (QQuickWebViewPrivate::createDrawingAreaProxy): 22565 (QQuickWebViewPrivate::updateVisibleContentRectAndScale): 22566 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged): 22567 (QQuickWebViewPrivate::updateViewportSize): 22568 * UIProcess/API/qt/qquickwebview_p_p.h: 22569 * UIProcess/qt/QtPageClient.cpp: 22570 (QtPageClient::createDrawingAreaProxy): 22571 * UIProcess/qt/QtPageClient.h: 22572 (QtPageClient::findStringInCustomRepresentation): 22573 (QtPageClient::countStringMatchesInCustomRepresentation): 22574 * UIProcess/qt/QtWebPageEventHandler.cpp: 22575 (QtWebPageEventHandler::QtWebPageEventHandler): 22576 (QtWebPageEventHandler::startDrag): 22577 * UIProcess/qt/QtWebPageEventHandler.h: 22578 * UIProcess/qt/QtWebPageProxy.cpp: 22579 (QtWebPageProxy::init): 22580 * UIProcess/qt/QtWebPageProxy.h: 22581 225822011-12-13 Gustavo Noronha Silva <gns@gnome.org> 22583 22584 Unreviewed build fix. 22585 22586 * GNUmakefile.am: make sure we do not derreference the target link 22587 if it already exists, and replace it with the new one instead, 22588 otherwise we end up with a gtk link inside 22589 Source/WebKit2/UIProcess/API/gtk, which causes the documentation 22590 build to produce warnings, and make the build fail. 22591 225922011-12-13 Andreas Kling <kling@webkit.org> 22593 22594 REGRESSION (r102652): New window opens with zero size at produbanco.com 22595 <http://webkit.org/b/74418> and <rdar://problem/10565998> 22596 22597 Reviewed by Anders Carlsson. 22598 22599 Don't use the cached window frame if it's empty (meaning we haven't received 22600 a WindowAndViewFramesChanged message yet.) Instead use the synchronous 22601 GetWindowFrame (WP->UIP) message. 22602 22603 This situation occurs when opening a new window via window.open(), in which 22604 WebCore::createWindow() will query the windowRect() on the new window. 22605 22606 I spent a long time trying to write a layout test for this but couldn't come 22607 up with something reliable. The windowRect() is non-empty before we get a 22608 chance to run JS in/on the new window, and we can't check against the 22609 requested geometry since it varies depending on whether the window manager 22610 has shown the new window yet. 22611 22612 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22613 (WebKit::WebChromeClient::windowRect): 22614 226152011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22616 22617 [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible 22618 https://bugs.webkit.org/show_bug.cgi?id=74407 22619 22620 Reviewed by Simon Hausmann. 22621 22622 * UIProcess/API/qt/qquickwebview.cpp: 22623 (QQuickWebViewPrivate::QQuickWebViewPrivate): 22624 (QQuickWebViewPrivate::~QQuickWebViewPrivate): 22625 (QQuickWebViewPrivate::initialize): 22626 (QQuickWebViewPrivate::pageDidRequestScroll): 22627 (QQuickWebViewPrivate::processDidCrash): 22628 (QQuickWebViewPrivate::didRelaunchProcess): 22629 (QQuickWebViewPrivate::viewSize): 22630 (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject): 22631 (QQuickWebViewExperimental::QQuickWebViewExperimental): 22632 (QQuickWebView::QQuickWebView): 22633 * UIProcess/API/qt/qquickwebview_p_p.h: 22634 * UIProcess/qt/QtPageClient.cpp: 22635 (QtPageClient::QtPageClient): 22636 (QtPageClient::setViewNeedsDisplay): 22637 (QtPageClient::pageDidRequestScroll): 22638 (QtPageClient::processDidCrash): 22639 (QtPageClient::didRelaunchProcess): 22640 (QtPageClient::didChangeContentsSize): 22641 (QtPageClient::didChangeViewportProperties): 22642 (QtPageClient::createPopupMenuProxy): 22643 (QtPageClient::didReceiveMessageFromNavigatorQtObject): 22644 (QtPageClient::viewSize): 22645 (QtPageClient::isViewFocused): 22646 (QtPageClient::isViewVisible): 22647 * UIProcess/qt/QtPageClient.h: 22648 (QtPageClient::initialize): 22649 * UIProcess/qt/QtWebPageProxy.cpp: 22650 (QtWebPageProxy::QtWebPageProxy): 22651 * UIProcess/qt/QtWebPageProxy.h: 22652 226532011-12-13 Carlos Garcia Campos <cgarcia@igalia.com> 22654 22655 [GTK] Add support for javascript dialogs in WebKit2 GTK+ API 22656 https://bugs.webkit.org/show_bug.cgi?id=71362 22657 22658 Reviewed by Martin Robinson. 22659 22660 * UIProcess/API/gtk/WebKitUIClient.cpp: 22661 (runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert(). 22662 (runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm(). 22663 (runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt(). 22664 (webkitUIClientAttachUIClientToPage): Add implementation for 22665 runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt 22666 callbacks. 22667 * UIProcess/API/gtk/WebKitWebView.cpp: 22668 (webkitWebViewCreateJavaScriptDialog): Helper function to create 22669 javascript dialogs. 22670 (webkitWebViewScriptAlert): Default implementation of signal 22671 WebKitWebView::script-alert that shows a message dialog. 22672 (webkitWebViewScriptConfirm): Default implementation of signal 22673 WebKitWebView::script-confirm that shows a question dialog. 22674 (webkitWebViewScriptPrompt): Default implementation of signal 22675 WebKitWebView::script-prompt that shows a question dialog with a 22676 text entry. 22677 (webkit_web_view_class_init): 22678 (webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert. 22679 (webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm. 22680 (webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt. 22681 * UIProcess/API/gtk/WebKitWebView.h: 22682 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 22683 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 22684 (testWebViewJavaScriptDialogs): 22685 (beforeAll): 22686 * UIProcess/API/gtk/webkit2marshal.list: 22687 226882011-12-13 Kenneth Rohde Christiansen <kenneth@webkit.org> 22689 22690 [Qt] Make sure that touch events result in the page view gaining focus 22691 22692 Reviewed by Simon Hausmann. 22693 22694 * UIProcess/API/qt/qquickwebpage.cpp: 22695 (QQuickWebPage::touchEvent): Force active focus. 22696 * UIProcess/API/qt/qquickwebview.cpp: 22697 * UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override. 22698 226992011-12-13 Carlos Garcia Campos <cgarcia@igalia.com> 22700 22701 [GTK] Initial UI client implementation for WebKit2 GTK +API 22702 https://bugs.webkit.org/show_bug.cgi?id=69753 22703 22704 Reviewed by Martin Robinson. 22705 22706 * GNUmakefile.am: Add new files to compilation. 22707 * UIProcess/API/gtk/WebKitUIClient.cpp: Added. 22708 (createNewPage): Call webkitWebViewCreateNewPage. 22709 (showPage): Call webkitWebViewReadyToShowPage. 22710 (closePage): Call webkitWebViewClosePage. 22711 (webkitUIClientAttachUIClientToPage): Initialize UI client and 22712 attach it to the given page. 22713 (webkit_ui_client_init): 22714 (webkit_ui_client_class_init): 22715 * UIProcess/API/gtk/WebKitUIClient.h: Added. 22716 * UIProcess/API/gtk/WebKitWebView.cpp: 22717 (webkitWebViewCreate): Default implementation of signal 22718 WebKitWebView::create that simply returns NULL. 22719 (webkitWebViewConstructed): Create the default UI client. 22720 (webkitWebViewAccumulatorObjectHandled): 22721 (webkit_web_view_class_init): 22722 (webkitWebViewCreateNewPage): Emit create signal. 22723 (webkitWebViewReadyToShowPage): Emit ready-to-show signal. 22724 (webkitWebViewClosePage): Emit close signal. 22725 * UIProcess/API/gtk/WebKitWebView.h: 22726 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 22727 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 22728 (testWebViewCreateReadyClose): 22729 (beforeAll): 22730 * UIProcess/API/gtk/webkit2marshal.list: 22731 227322011-12-13 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22733 22734 [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy 22735 https://bugs.webkit.org/show_bug.cgi?id=74395 22736 22737 Reviewed by Simon Hausmann. 22738 22739 * Target.pri: 22740 * UIProcess/API/qt/qquickwebview.cpp: 22741 (QQuickWebViewPrivate::_q_onVisibleChanged): 22742 (QQuickWebViewPrivate::updateViewportSize): 22743 (QQuickWebViewPrivate::computeViewportConstraints): 22744 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 22745 (QQuickWebViewPrivate::webPageProxy): 22746 (QQuickWebView::load): 22747 (QQuickWebView::goBack): 22748 (QQuickWebView::goForward): 22749 (QQuickWebView::stop): 22750 (QQuickWebView::reload): 22751 (QQuickWebView::url): 22752 (QQuickWebView::canGoBack): 22753 (QQuickWebView::canGoForward): 22754 (QQuickWebView::loading): 22755 (QQuickWebView::canReload): 22756 (QQuickWebView::title): 22757 (QQuickWebView::loadHtml): 22758 * UIProcess/API/qt/qquickwebview_p_p.h: 22759 * UIProcess/qt/QtWebPageProxy.cpp: 22760 (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject): 22761 * UIProcess/qt/QtWebPageProxy.h: 22762 227632011-12-13 Carlos Garcia Campos <cgarcia@igalia.com> 22764 22765 Unreviewed. Fix GTK+ build after r102640. 22766 22767 * GNUmakefile.am: Add DownloadProxy sources again. 22768 227692011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 22770 22771 [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController 22772 https://bugs.webkit.org/show_bug.cgi?id=74364 22773 22774 Reviewed by Simon Hausmann. 22775 22776 The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we 22777 move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also 22778 make QtWebUndoCommand an implementation detail. 22779 22780 * Target.pri: 22781 * UIProcess/API/qt/qquickwebview.cpp: 22782 (QQuickWebViewPrivate::QQuickWebViewPrivate): 22783 * UIProcess/API/qt/qquickwebview_p_p.h: 22784 * UIProcess/qt/QtPageClient.cpp: 22785 (QtPageClient::registerEditCommand): 22786 (QtPageClient::clearAllEditCommands): 22787 (QtPageClient::canUndoRedo): 22788 (QtPageClient::executeUndoRedo): 22789 * UIProcess/qt/QtPageClient.h: 22790 (QtPageClient::initialize): 22791 * UIProcess/qt/QtWebPageProxy.cpp: 22792 * UIProcess/qt/QtWebPageProxy.h: 22793 * UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp. 22794 (QtWebUndoCommand::inUndoRedo): 22795 (QtWebUndoCommand::QtWebUndoCommand): 22796 (QtWebUndoCommand::~QtWebUndoCommand): 22797 (QtWebUndoCommand::redo): 22798 (QtWebUndoCommand::undo): 22799 (QtWebUndoController::QtWebUndoController): 22800 (QtWebUndoController::registerEditCommand): 22801 (QtWebUndoController::clearAllEditCommands): 22802 (QtWebUndoController::canUndoRedo): 22803 (QtWebUndoController::executeUndoRedo): 22804 * UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h. 22805 228062011-12-12 Andreas Kling <kling@webkit.org> 22807 22808 Resizing Cappuccino is very laggy on WebKit since Safari 5.1 22809 <http://webkit.org/b/71354> and <rdar://problem/10565998> 22810 22811 Reviewed by Anders Carlsson. 22812 22813 On Mac, we already cache the window rect through the WindowAndViewFramesChanged 22814 message, so simply return that in WebChromeClient::windowRect() instead of 22815 sending a synchronous query to the UIProcess. 22816 22817 Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than 22818 IntRect/IntPoint to match the ChromeClient::windowRect() return type. 22819 22820 * UIProcess/API/mac/WKView.mm: 22821 (-[WKView _updateWindowAndViewFrames]): 22822 * UIProcess/WebPageProxy.cpp: 22823 (WebKit::WebPageProxy::setWindowFrame): 22824 * UIProcess/WebPageProxy.h: 22825 * UIProcess/mac/WebPageProxyMac.mm: 22826 (WebKit::WebPageProxy::windowAndViewFramesChanged): 22827 * WebProcess/Plugins/PluginView.cpp: 22828 (WebKit::PluginView::windowAndViewFramesChanged): 22829 * WebProcess/Plugins/PluginView.h: 22830 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22831 (WebKit::WebChromeClient::windowRect): 22832 * WebProcess/WebPage/WebPage.cpp: 22833 (WebKit::WebPage::windowAndViewFramesChanged): 22834 * WebProcess/WebPage/WebPage.h: 22835 (WebKit::WebPage::windowFrameInScreenCoordinates): 22836 (WebKit::WebPage::viewFrameInWindowCoordinates): 22837 (WebKit::WebPage::accessibilityPosition): 22838 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 22839 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]): 22840 228412011-12-12 Anders Carlsson <andersca@apple.com> 22842 22843 Add EventDispatcher class to WebKit2 22844 https://bugs.webkit.org/show_bug.cgi?id=74344 22845 22846 Reviewed by Sam Weinig. 22847 22848 The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects. 22849 22850 * DerivedSources.make: 22851 * DerivedSources.pri: 22852 * GNUmakefile.am: 22853 * Target.pri: 22854 * WebKit2.xcodeproj/project.pbxproj: 22855 * win/WebKit2.vcproj: 22856 Add new files. 22857 22858 * Platform/CoreIPC/MessageID.h: 22859 Add EventDispatcher. 22860 22861 * WebProcess/WebConnectionToUIProcess.cpp: 22862 (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess): 22863 (WebKit::WebConnectionToUIProcess::invalidate): 22864 * WebProcess/WebConnectionToUIProcess.h: 22865 WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since 22866 we don't want to add queue clients after the connection has been opened. 22867 22868 * WebProcess/WebPage/EventDispatcher.cpp: Added. 22869 (WebKit::EventDispatcher::EventDispatcher): 22870 (WebKit::EventDispatcher::~EventDispatcher): 22871 (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue): 22872 (WebKit::EventDispatcher::wheelEvent): 22873 * WebProcess/WebPage/EventDispatcher.h: 22874 * WebProcess/WebPage/EventDispatcher.messages.in: Added. 22875 Add new stub files. 22876 22877 * WebProcess/WebProcess.cpp: 22878 (WebKit::WebProcess::initialize): 22879 Add the event dispatcher as a queue client. 22880 22881 * WebProcess/WebProcess.h: 22882 Add an EventDispatcher member variable to the web process. 22883 228842011-12-12 Sam Weinig <sam@webkit.org> 22885 22886 Prefix internal methods in Objective-C API files with an underscore 22887 https://bugs.webkit.org/show_bug.cgi?id=74363 22888 22889 Reviewed by Dan Bernstein. 22890 22891 * UIProcess/API/mac/WKBrowsingContextController.mm: 22892 (-[WKBrowsingContextController _pageRef]): 22893 (-[WKBrowsingContextController loadRequest:]): 22894 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]): 22895 (-[WKBrowsingContextController stopLoading]): 22896 (-[WKBrowsingContextController reload]): 22897 (-[WKBrowsingContextController reloadFromOrigin]): 22898 (-[WKBrowsingContextController goForward]): 22899 (-[WKBrowsingContextController canGoForward]): 22900 (-[WKBrowsingContextController goBack]): 22901 (-[WKBrowsingContextController canGoBack]): 22902 (-[WKBrowsingContextController activeURL]): 22903 (-[WKBrowsingContextController provisionalURL]): 22904 (-[WKBrowsingContextController committedURL]): 22905 (-[WKBrowsingContextController title]): 22906 (-[WKBrowsingContextController textZoom]): 22907 (-[WKBrowsingContextController setTextZoom:]): 22908 (-[WKBrowsingContextController pageZoom]): 22909 (-[WKBrowsingContextController setPageZoom:]): 22910 (-[WKBrowsingContextController setPaginationMode:]): 22911 (-[WKBrowsingContextController paginationMode]): 22912 (-[WKBrowsingContextController setPageLength:]): 22913 (-[WKBrowsingContextController pageLength]): 22914 (-[WKBrowsingContextController setGapBetweenPages:]): 22915 (-[WKBrowsingContextController gapBetweenPages]): 22916 (-[WKBrowsingContextController pageCount]): 22917 (-[WKBrowsingContextController _initWithPageRef:]): 22918 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: 22919 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 22920 (-[WKBrowsingContextGroup allowsJavaScript]): 22921 (-[WKBrowsingContextGroup setAllowsJavaScript:]): 22922 (-[WKBrowsingContextGroup allowsPlugIns]): 22923 (-[WKBrowsingContextGroup setAllowsPlugIns:]): 22924 (-[WKBrowsingContextGroup _pageGroupRef]): 22925 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: 22926 * UIProcess/API/mac/WKConnection.mm: 22927 (-[WKConnection _initWithConnectionRef:]): 22928 * UIProcess/API/mac/WKConnectionInternal.h: 22929 * UIProcess/API/mac/WKProcessGroup.mm: 22930 (didCreateConnection): 22931 (-[WKProcessGroup _contextRef]): 22932 * UIProcess/API/mac/WKProcessGroupInternal.h: 22933 * UIProcess/API/mac/WKView.mm: 22934 (-[WKView initWithFrame:processGroup:browsingContextGroup:]): 22935 (-[WKView browsingContextController]): 22936 229372011-12-12 Ryosuke Niwa <rniwa@webkit.org> 22938 22939 WebKit code shouldn't be calling applyCommand directly 22940 https://bugs.webkit.org/show_bug.cgi?id=74337 22941 22942 Reviewed by Darin Adler. 22943 22944 * WebProcess/WebPage/WebPage.cpp: 22945 (WebKit::WebPage::replaceSelectionWithText): 22946 229472011-12-12 Sam Weinig <sam@webkit.org> 22948 22949 Remove unused getter on WKConnection. 22950 22951 Reviewed by Dan Bernstein. 22952 22953 * UIProcess/API/mac/WKConnection.mm: 22954 229552011-12-12 Brady Eidson <beidson@apple.com> 22956 22957 Page cache should support pages with plugins. 22958 <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634 22959 22960 Expose a WebKit2 preference for the page cache supporting plugins (on by default). 22961 22962 Reviewed by Anders Carlsson. 22963 22964 * Shared/WebPreferencesStore.h: 22965 22966 * UIProcess/API/C/WKPreferences.cpp: 22967 (WKPreferencesSetPageCacheSupportsPlugins): 22968 (WKPreferencesGetPageCacheSupportsPlugins): 22969 * UIProcess/API/C/WKPreferencesPrivate.h: 22970 22971 * WebProcess/WebPage/WebPage.cpp: 22972 (WebKit::WebPage::updatePreferences): 22973 229742011-12-12 Sam Weinig <sam@webkit.org> 22975 22976 Add WKConnection objective-c wrapper around WKConnectionRef 22977 <rdar://problem/10446092> 22978 https://bugs.webkit.org/show_bug.cgi?id=74324 22979 22980 Reviewed by Anders Carlsson. 22981 22982 * UIProcess/API/mac/WKConnection.h: Added. 22983 * UIProcess/API/mac/WKConnection.mm: Added. 22984 (-[WKConnection dealloc]): 22985 (-[WKConnection connectionRef]): 22986 (-[WKConnection delegate]): 22987 (-[WKConnection setDelegate:]): 22988 (didReceiveMessage): 22989 (didClose): 22990 (setUpClient): 22991 (-[WKConnection initWithConnectionRef:]): 22992 * UIProcess/API/mac/WKConnectionInternal.h: Added. 22993 Added new class. 22994 22995 * UIProcess/API/mac/WKProcessGroup.h: 22996 * UIProcess/API/mac/WKProcessGroup.mm: 22997 (didCreateConnection): 22998 (setUpConnectionClient): 22999 (-[WKProcessGroup initWithInjectedBundleURL:]): 23000 (-[WKProcessGroup delegate]): 23001 (-[WKProcessGroup setDelegate:]): 23002 Add WKProcessGroupDelegate to inform the user of when connections are established. 23003 23004 * WebKit2.xcodeproj/project.pbxproj: 23005 Add new files. 23006 230072011-12-12 Anders Carlsson <andersca@apple.com> 23008 23009 Rename QueueClient::willProcessMessageOnClientRunLoop 23010 https://bugs.webkit.org/show_bug.cgi?id=74325 23011 23012 Reviewed by Sam Weinig. 23013 23014 Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue 23015 and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that 23016 the function is expected to handle the message. 23017 23018 * Platform/CoreIPC/Connection.cpp: 23019 (CoreIPC::Connection::processIncomingMessage): 23020 * Platform/CoreIPC/Connection.h: 23021 * Scripts/webkit2/messages.py: 23022 (async_case_statement): 23023 * Scripts/webkit2/messages_unittest.py: 23024 * WebProcess/WebConnectionToUIProcess.cpp: 23025 (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue): 23026 * WebProcess/WebConnectionToUIProcess.h: 23027 * WebProcess/WebProcess.cpp: 23028 (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue): 23029 * WebProcess/WebProcess.h: 23030 230312011-12-12 Alexis Menard <alexis.menard@openbossa.org> 23032 23033 Unreviewed cleanup fix. 23034 23035 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016 23036 23037 Also remove the files that should be removed. 23038 23039 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added. 23040 * UIProcess/qt/qwkhistory.cpp: Removed. 23041 * UIProcess/qt/qwkhistory.h: Removed. 23042 * UIProcess/qt/qwkhistory_p.h: Removed. 23043 230442011-12-12 Michael Bruning <michael.bruning@nokia.com> 23045 23046 [qt][wk2] Postpone scroll effects when page transition is ongoing. 23047 https://bugs.webkit.org/show_bug.cgi?id=74177 23048 23049 Reviewed by Kenneth Rohde Christiansen. 23050 23051 * UIProcess/API/qt/qquickwebview.cpp: 23052 (QQuickWebViewPrivate::scrollPositionRequested): 23053 * UIProcess/API/qt/qquickwebview_p_p.h: 23054 (QQuickWebViewPrivate::PostTransitionState::apply): 23055 230562011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 23057 23058 [Qt][WK2] Remove dead code from QtWebPageProxy 23059 https://bugs.webkit.org/show_bug.cgi?id=74296 23060 23061 Reviewed by Andreas Kling. 23062 23063 * UIProcess/qt/QtWebPageProxy.cpp: 23064 * UIProcess/qt/QtWebPageProxy.h: 23065 230662011-12-12 Simon Hausmann <simon.hausmann@nokia.com> 23067 23068 Unreviewed build fix. 23069 23070 Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016 23071 23072 * UIProcess/API/qt/qwebnavigationhistory.cpp: Added. 23073 (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate): 23074 (QWebNavigationListModelPrivate::createWebNavigationModel): 23075 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate): 23076 (QWebNavigationHistoryPrivate::createHistory): 23077 (QWebNavigationHistoryPrivate::reset): 23078 (QWebNavigationHistoryPrivate::goBackTo): 23079 (QWebNavigationHistoryPrivate::goForwardTo): 23080 (QWebNavigationListModel::QWebNavigationListModel): 23081 (QWebNavigationListModel::~QWebNavigationListModel): 23082 (QWebNavigationListModel::rowCount): 23083 (QWebNavigationListModel::data): 23084 (QWebNavigationHistory::QWebNavigationHistory): 23085 (QWebNavigationHistory::~QWebNavigationHistory): 23086 (QWebNavigationHistory::backItems): 23087 (QWebNavigationHistory::forwardItems): 23088 * UIProcess/API/qt/qwebnavigationhistory_p.h: Added. 23089 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added. 23090 230912011-12-12 Simon Hausmann <simon.hausmann@nokia.com> 23092 23093 [Qt] Move postMessage/messageReceived APIS to experimental 23094 23095 Reviewed by Tor Arne Vestbø. 23096 23097 * UIProcess/API/qt/qquickwebview.cpp: 23098 (QQuickWebViewPrivate::setPageProxy): 23099 (QQuickWebViewExperimental::QQuickWebViewExperimental): 23100 (QQuickWebViewExperimental::postMessage): 23101 * UIProcess/API/qt/qquickwebview_p.h: 23102 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 23103 231042011-12-12 Alexis Menard <alexis.menard@openbossa.org> 23105 23106 [Qt][WK2] History is not accessible in QML. 23107 https://bugs.webkit.org/show_bug.cgi?id=73016 23108 23109 Reviewed by Simon Hausmann. 23110 23111 Remove the old qwkhistory and create QWebNavigationHistory which is QML 23112 friendly with data models you can plug to a view in QML 23113 23114 * Target.pri: 23115 * UIProcess/API/qt/qquickwebview.cpp: 23116 (QQuickWebViewPrivate::didChangeBackForwardList): 23117 (QQuickWebViewExperimental::navigationHistory): 23118 (QQuickWebViewExperimental::goForwardTo): 23119 (QQuickWebViewExperimental::goBackTo): 23120 * UIProcess/API/qt/qquickwebview_p.h: 23121 * UIProcess/API/qt/qquickwebview_p_p.h: 23122 * UIProcess/API/qt/qwebnavigationhistory.cpp: Added. 23123 (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate): 23124 (QWebNavigationListModelPrivate::createWebNavigationModel): 23125 (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate): 23126 (QWebNavigationHistoryPrivate::createHistory): 23127 (QWebNavigationHistoryPrivate::reset): 23128 (QWebNavigationHistoryPrivate::goBackTo): 23129 (QWebNavigationHistoryPrivate::goForwardTo): 23130 (QWebNavigationListModel::QWebNavigationListModel): 23131 (QWebNavigationListModel::~QWebNavigationListModel): 23132 (QWebNavigationListModel::rowCount): 23133 (QWebNavigationListModel::data): 23134 (QWebNavigationHistory::QWebNavigationHistory): 23135 (QWebNavigationHistory::~QWebNavigationHistory): 23136 (QWebNavigationHistory::backItems): 23137 (QWebNavigationHistory::forwardItems): 23138 * UIProcess/API/qt/qwebnavigationhistory_p.h: Added. 23139 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h. 23140 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added. 23141 * UIProcess/qt/QtWebPageLoadClient.cpp: 23142 (QtWebPageLoadClient::QtWebPageLoadClient): 23143 (QtWebPageLoadClient::didChangeBackForwardList): 23144 * UIProcess/qt/QtWebPageLoadClient.h: 23145 * UIProcess/qt/QtWebPageProxy.cpp: 23146 (QtWebPageProxy::QtWebPageProxy): 23147 (QtWebPageProxy::~QtWebPageProxy): 23148 (QtWebPageProxy::goBackTo): 23149 (QtWebPageProxy::goForwardTo): 23150 (QtWebPageProxy::navigationHistory): 23151 * UIProcess/qt/QtWebPageProxy.h: 23152 * UIProcess/qt/qwkhistory.cpp: Removed. 23153 * UIProcess/qt/qwkhistory.h: Removed. 23154 231552011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 23156 23157 [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler 23158 https://bugs.webkit.org/show_bug.cgi?id=73145 23159 23160 Reviewed by Simon Hausmann. 23161 23162 Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag 23163 and call it straight from QtPageClient. 23164 23165 * UIProcess/API/qt/qquickwebview.cpp: 23166 (QQuickWebViewPrivate::QQuickWebViewPrivate): 23167 * UIProcess/qt/QtWebPageEventHandler.cpp: 23168 (dragOperationToDropAction): 23169 (dragOperationToDropActions): 23170 (dropActionToDragOperation): 23171 Now these functions are static inline and not part of QtWebPageEventHandler 23172 anymore. 23173 23174 (QtWebPageEventHandler::QtWebPageEventHandler): 23175 (QtWebPageEventHandler::startDrag): 23176 * UIProcess/qt/QtWebPageEventHandler.h: 23177 * UIProcess/qt/QtWebPageProxy.cpp: 23178 (QtWebPageProxy::startDrag): removed. 23179 231802011-12-12 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 23181 23182 [Qt] [WK2] Support customizing popup menus with QML 23183 https://bugs.webkit.org/show_bug.cgi?id=73560 23184 23185 Reviewed by Tor Arne Vestbø. 23186 23187 Add a new property 'itemSelector' to WebView (experimental for now) that contains 23188 the QML component used when it needs to spawn a popup menu. For example, <select> 23189 HTML tag may trigger a popup menu. 23190 23191 When loaded the component will have the 'model' available in its context with two 23192 properties: 'elementRect', describing the position of the element which spawned 23193 the item selector, and 'items', which is a model ready to be used by ListView. The 23194 'model' also have methods to accept/reject the selection. 23195 23196 Option groups are available as a property for each row in the 'items' model. This 23197 can be used together with ListView to create sections, as demonstrated in the 23198 MiniBrowser. QML tests were added as well. 23199 23200 The existing Desktop version is removed since after the Qt5 refactoring isn't 23201 working correctly. Once Qt have its own QML components for popup, we hope to use 23202 it as a default if no other popupMenu is specified. 23203 23204 * Target.pri: 23205 * UIProcess/API/qt/qquickwebview.cpp: 23206 (QQuickWebViewPrivate::QQuickWebViewPrivate): 23207 (QQuickWebViewExperimental::itemSelector): 23208 (QQuickWebViewExperimental::setItemSelector): 23209 * UIProcess/API/qt/qquickwebview_p.h: 23210 * UIProcess/API/qt/qquickwebview_p_p.h: 23211 (QQuickWebViewPrivate::get): 23212 * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added. 23213 * UIProcess/API/qt/tests/qmltests/common/select.html: Added. 23214 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 23215 * UIProcess/qt/QtPageClient.cpp: 23216 * UIProcess/qt/QtWebPageProxy.cpp: 23217 (QtWebPageProxy::createPopupMenuProxy): 23218 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 23219 (WebKit::PopupMenuItemModel::rowCount): 23220 (WebKit::PopupMenuItemModel::Item::Item): 23221 (WebKit::ItemSelectorContextObject::elementRect): 23222 (WebKit::ItemSelectorContextObject::items): 23223 (WebKit::ItemSelectorContextObject::reject): 23224 (WebKit::ItemSelectorContextObject::ItemSelectorContextObject): 23225 (WebKit::ItemSelectorContextObject::accept): 23226 (WebKit::createRoleNamesHash): 23227 (WebKit::PopupMenuItemModel::PopupMenuItemModel): 23228 (WebKit::PopupMenuItemModel::data): 23229 (WebKit::PopupMenuItemModel::select): 23230 (WebKit::PopupMenuItemModel::selectedOriginalIndex): 23231 (WebKit::PopupMenuItemModel::buildItems): 23232 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): 23233 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 23234 (WebKit::WebPopupMenuProxyQt::hidePopupMenu): 23235 (WebKit::WebPopupMenuProxyQt::selectIndex): 23236 (WebKit::WebPopupMenuProxyQt::createItem): 23237 (WebKit::WebPopupMenuProxyQt::createContext): 23238 (WebKit::WebPopupMenuProxyQt::notifyValueChanged): 23239 * UIProcess/qt/WebPopupMenuProxyQt.h: 23240 (WebKit::WebPopupMenuProxyQt::create): 23241 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed. 23242 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed. 23243 232442011-12-11 Gopal Raghavan <gopal.1.raghavan@nokia.com> 23245 23246 [Qt] QQuickWebView missing titleChanged signal tests 23247 https://bugs.webkit.org/show_bug.cgi?id=73923 23248 23249 Reviewed by Simon Hausmann. 23250 23251 Added tests for QQuickWebView tilteChanged signal. 23252 23253 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added. 23254 * UIProcess/API/qt/tests/qmltests/common/test3.html: Added. 23255 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 23256 232572011-12-11 Anders Carlsson <andersca@apple.com> 23258 23259 Crash when trying to garbage collect JavaScript objects 23260 https://bugs.webkit.org/show_bug.cgi?id=74259 23261 <rdar://problem/10556188> 23262 23263 Reviewed by Sam Weinig. 23264 23265 * UIProcess/WebContext.cpp: 23266 (WebKit::WebContext::garbageCollectJavaScriptObjects): 23267 Use sendToAllProcesses which is more correct and also handles m_process being null. 23268 232692011-12-11 Andreas Kling <kling@webkit.org> 23270 23271 WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1. 23272 <http://webkit.org/b/74209> and <rdar://problem/10438197> 23273 23274 Reviewed by Anders Carlsson. 23275 23276 * Shared/WebEvent.h: 23277 * Shared/WebMouseEvent.cpp: 23278 23279 Remove the WebMouseEvent "copy" constructor that applied a scale factor 23280 to the coordinates of an existing event. 23281 23282 * WebProcess/Plugins/PluginView.cpp: 23283 (WebKit::PluginView::handleEvent): 23284 23285 Pass the WebMouseEvent through to the plugin unmodified. 23286 23287 (WebKit::PluginView::viewGeometryDidChange): 23288 23289 Plumb a complex translate+scale transform through to the plugin, so coordinate 23290 space transformations in will behave correctly with scale factors other than 1. 23291 232922011-12-10 Sam Weinig <sam@webkit.org> 23293 23294 Try to fix the windows build. 23295 23296 * win/WebKit2.vcproj: 23297 232982011-12-10 Alexis Menard <alexis.menard@openbossa.org> 23299 23300 Unreviewed build fix for Qt. 23301 23302 Build error introduced by r102484. 23303 23304 * Target.pri: 23305 233062011-12-09 Mark Rowe <mrowe@apple.com> 23307 23308 Fix the Snow Leopard build some more. 23309 23310 Move the #if to a location where it will do some good. 23311 23312 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: 23313 233142011-12-09 Mark Rowe <mrowe@apple.com> 23315 23316 Fix the Snow Leopard build. 23317 23318 Wrap some code that is only applicable to Lion and newer in the appropriate #if's. 23319 23320 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: 23321 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: 23322 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 23323 (WebKit::ProcessLauncher::launchProcess): 23324 233252011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 23326 23327 [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type 23328 https://bugs.webkit.org/show_bug.cgi?id=73826 23329 23330 Reviewed by Tor Arne Vestbø. 23331 23332 Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient. 23333 23334 * Target.pri: 23335 * UIProcess/API/qt/qquickwebview_p.h: 23336 * UIProcess/API/qt/qwebnavigationrequest.cpp: Added. 23337 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 23338 (QWebNavigationRequestPrivate::~QWebNavigationRequestPrivate): 23339 (QWebNavigationRequest::QWebNavigationRequest): 23340 (QWebNavigationRequest::~QWebNavigationRequest): 23341 (QWebNavigationRequest::setAction): 23342 (QWebNavigationRequest::url): 23343 (QWebNavigationRequest::button): 23344 (QWebNavigationRequest::modifiers): 23345 (QWebNavigationRequest::action): 23346 * UIProcess/API/qt/qwebnavigationrequest_p.h: Added. 23347 * UIProcess/qt/QtWebPagePolicyClient.cpp: 23348 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 23349 (QtWebPagePolicyClient::decidePolicyForResponse): 23350 233512011-12-09 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 23352 23353 [Qt][WK2] Unskip API tests 23354 https://bugs.webkit.org/show_bug.cgi?id=74180 23355 23356 Reviewed by Tor Arne Vestbø. 23357 23358 Unskip API tests for geolocation and javascript dialogs. 23359 23360 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: 23361 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 23362 233632011-12-07 Mark Rowe <mrowe@apple.com> 23364 23365 <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment 23366 variables provided in LC_DYLD_ENVIRONMENT of main executable binary. 23367 23368 Reviewed by Darin Adler. 23369 23370 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Added. 23371 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Added. 23372 (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor): 23373 (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Parse out the name 23374 and value from the environment string and add an entry to our variable map if the variable 23375 is one that dyld would respect in LC_DYLD_ENVIRONMENT. 23376 (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Look for a LC_DYLD_ENVIRONMENT 23377 load command and extract any environment string that we find within. 23378 (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Iterate over each 23379 load command in the Mach-O file. 23380 (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Determine whether 23381 the Mach-O file is of the correct architecture, and if so then process the load commands 23382 found within. 23383 (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Process each architecture of the 23384 Mach-O file in turn. 23385 (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Add our 23386 extracted variables to the passed-in EnvironmentVariables object. We skip adding any 23387 variables that already exist so as to allow variables passed in the environment to override 23388 those that we extract from the executable file. 23389 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 23390 (WebKit::ProcessLauncher::launchProcess): Extract the environment variables from the 23391 main binary and add them to the launch environment of our subprocess. 23392 * WebKit2.xcodeproj/project.pbxproj: 23393 233942011-12-09 Sam Weinig <sam@webkit.org> 23395 23396 Add WKView implementation for quickLookPreviewItemsAtWindowLocation. 23397 <rdar://problem/10472505> 23398 23399 Reviewed by Dan Bernstein. 23400 23401 * UIProcess/API/mac/WKView.mm: 23402 (-[WKView quickLookPreviewItemsAtWindowLocation:]): 23403 234042011-12-09 Allan Sandfeld Jensen <allan.jensen@nokia.com> 23405 23406 [Qt] Open shared memory files with shm_open. 23407 https://bugs.webkit.org/show_bug.cgi?id=74078 23408 23409 Original patch by Kimmo Kinnunen 23410 23411 Reviewed by Kenneth Rohde Christiansen. 23412 23413 Open shared memory files with shm_open. This uses mount point that is 23414 intended to host shared memory files. Typically this is /dev/shm. 23415 23416 This fixes crashes when filesystem that hosts QDir::temp() is full. 23417 23418 This is also more well-defined with respect to question whether SHM 23419 writes to temp dir would cause unintended wear if hosted on flash drives. 23420 23421 This also fixes performance problems regarding QDir::temp() and 23422 mkostemp(), both of which appear to be long operations. 23423 23424 * Platform/unix/SharedMemoryUnix.cpp: 23425 (WebKit::SharedMemory::create): 23426 234272011-12-09 Hugo Parente Lima <hugo.lima@openbossa.org> 23428 23429 [Qt] Click's count is limited to three continuous clicks. 23430 https://bugs.webkit.org/show_bug.cgi?id=45666 23431 23432 Reviewed by Kenneth Rohde Christiansen. 23433 23434 Make Qt recognize "infinite" continuous mouse clicks. 23435 handleMouseDoubleClickEvent merged into handleMousePressEvent. 23436 23437 * UIProcess/qt/QtWebPageEventHandler.cpp: 23438 (QtWebPageEventHandler::QtWebPageEventHandler): 23439 (QtWebPageEventHandler::handleEvent): 23440 (QtWebPageEventHandler::handleMousePressEvent): 23441 (QtWebPageEventHandler::timerEvent): 23442 * UIProcess/qt/QtWebPageEventHandler.h: 23443 234442011-12-09 Sam Weinig <sam@webkit.org> 23445 23446 Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess 23447 https://bugs.webkit.org/show_bug.cgi?id=74218 23448 23449 Reviewed by Anders Carlsson. 23450 23451 Test: WebKit2.WKConnectionTest in TestWebKitAPI 23452 23453 * Shared/WebConnection.cpp: 23454 (WebKit::WebConnection::forwardDidReceiveMessageToClient): 23455 * Shared/WebConnection.h: 23456 Add helper for connection subclasses to dispatch to the client. 23457 23458 * UIProcess/WebConnectionToWebProcess.cpp: 23459 (WebKit::WebConnectionToWebProcess::didReceiveMessage): 23460 Handle postMessage messages from the WebProcess. 23461 23462 * UIProcess/WebContext.cpp: 23463 (WebKit::WebContext::processDidFinishLaunching): 23464 Dispatch the notification that a connection to the WebProcess has 23465 been established. 23466 23467 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 23468 (WKBundleGetApplicationConnection): 23469 * WebProcess/InjectedBundle/API/c/WKBundle.h: 23470 * WebProcess/InjectedBundle/InjectedBundle.cpp: 23471 (WebKit::InjectedBundle::webConnectionToUIProcess): 23472 * WebProcess/InjectedBundle/InjectedBundle.h: 23473 (WebKit::WebProcess::webConnectionToUIProcess): 23474 Add accessor to get the connection to the UIProcess from 23475 the bundle. 23476 23477 * WebProcess/WebConnectionToUIProcess.cpp: 23478 (WebKit::WebConnectionToUIProcess::didReceiveMessage): 23479 Handle postMessage messages from the UIProcess. 23480 * WebProcess/WebProcess.h: 23481 234822011-12-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 23483 23484 [Qt] Update WebGraphicLayer's child content scale in all child binding method. 23485 https://bugs.webkit.org/show_bug.cgi?id=74101 23486 23487 Reviewed by Noam Rosenthal. 23488 23489 setChildren is currently the only method propagating the parent layer's content 23490 scale to its children. This need to be done for addChild* as well. 23491 23492 This fixes the overlay layer not being rendered with the right scale when created 23493 until the contents scale is modified again. 23494 23495 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 23496 (WebCore::WebGraphicsLayer::setChildren): 23497 (WebCore::WebGraphicsLayer::addChild): 23498 (WebCore::WebGraphicsLayer::addChildAtIndex): 23499 (WebCore::WebGraphicsLayer::addChildAbove): 23500 (WebCore::WebGraphicsLayer::addChildBelow): 23501 (WebCore::WebGraphicsLayer::replaceChild): 23502 235032011-12-09 Michael Brüning <michael.bruning@nokia.com> 23504 23505 [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test 23506 https://bugs.webkit.org/show_bug.cgi?id=73994 23507 23508 Reviewed by Kenneth Rohde Christiansen. 23509 23510 * UIProcess/API/qt/tests/html/scroll.html: Corrected html and 23511 added some coloring. 23512 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 23513 (tst_QQuickWebView::scrollRequest): Corrected calculation 23514 of expected value. 23515 235162011-12-09 Simon Hausmann <simon.hausmann@nokia.com> 23517 23518 [Qt] Fix compilation with newly separated Qt 5 QtQuick module 23519 https://bugs.webkit.org/show_bug.cgi?id=73990 23520 23521 Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác. 23522 23523 Fix QtQuick includes after move from QtDeclarative to QtQuick. 23524 23525 * UIProcess/API/qt/qquickwebpage.cpp: 23526 * UIProcess/API/qt/qquickwebpage_p.h: 23527 * UIProcess/API/qt/qquickwebview.cpp: 23528 * UIProcess/API/qt/qquickwebview_p.h: 23529 * UIProcess/API/qt/tests/tests.pri: Tests need symbols from QtQuick, so link library. 23530 * UIProcess/API/qt/tests/testwindow.h: 23531 * UIProcess/qt/QtDialogRunner.cpp: 23532 * UIProcess/qt/QtSGTileNode.cpp: 23533 * UIProcess/qt/QtSGTileNode.h: 23534 * UIProcess/qt/QtSGUpdateQueue.cpp: 23535 * UIProcess/qt/QtViewportInteractionEngine.cpp: 23536 * UIProcess/qt/QtWebPageProxy.cpp: 23537 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 23538 235392011-12-09 Nayan Kumar K <nayankk@motorola.com> 23540 23541 [WebKit2][gtk] Re-enable running TestWebKitSettings 23542 https://bugs.webkit.org/show_bug.cgi?id=70135 23543 23544 Reviewed by Martin Robinson. 23545 23546 Re-enable running TestWebKitSettings which was skipped as part 23547 of https://bugs.webkit.org/show_bug.cgi?id=70129 due to the 23548 bug https://bugs.webkit.org/show_bug.cgi?id=70127. 23549 23550 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 23551 (testWebKitSettings): Run testWebKitSettings. 23552 (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings. 23553 235542011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 23555 23556 [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated. 23557 https://bugs.webkit.org/show_bug.cgi?id=73591 23558 23559 Reviewed by Noam Rosenthal. 23560 23561 Implement deallocation of TextureMapper GL objects when QQuickWebPage paint node deallocated. 23562 Also adds purging GraphicsLayer backing stores on WebProcess side in order to force repainting 23563 when page becomes visible and painting resumes and fixes incorrect initialization of view 23564 visibility state. 23565 23566 * UIProcess/API/qt/qquickwebpage.cpp: 23567 (QQuickWebPagePrivate::resetPaintNode): 23568 * UIProcess/API/qt/qquickwebview.cpp: 23569 (QQuickWebViewPrivate::QQuickWebViewPrivate): 23570 * UIProcess/API/qt/tests/html/direct-image-compositing.html: Added. 23571 * UIProcess/API/qt/tests/html/resources/simple_image.png: Added. 23572 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 23573 (tst_QQuickWebView::showWebView): 23574 (tst_QQuickWebView::removeFromCanvas): 23575 * UIProcess/DrawingAreaProxy.h: 23576 (WebKit::DrawingAreaProxy::layerTreeHostProxy): 23577 * UIProcess/LayerTreeHostProxy.h: 23578 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 23579 (WebKit::LayerTreeHostProxy::purgeGLResources): 23580 * UIProcess/qt/QtWebPageProxy.cpp: 23581 (QtWebPageProxy::purgeGLResources): 23582 * UIProcess/qt/QtWebPageProxy.h: 23583 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 23584 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 23585 (WebCore::WebGraphicsLayer::purgeBackingStores): 23586 (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded): 23587 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 23588 * WebProcess/WebPage/LayerTreeHost.h: 23589 (WebKit::LayerTreeHost::purgeBackingStores): 23590 * WebProcess/WebPage/LayerTreeHost.messages.in: 23591 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 23592 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 23593 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 23594 (WebKit::LayerTreeHostQt::purgeBackingStores): 23595 (WebKit::LayerTreeHostQt::recreateBackingStoreIfNeeded): 23596 * WebProcess/WebPage/qt/LayerTreeHostQt.h: 23597 235982011-12-08 Simon Fraser <simon.fraser@apple.com> 23599 23600 Forced compositing mode breaks display of full-page PDFs in WK2 23601 https://bugs.webkit.org/show_bug.cgi?id=74122 23602 <rdar://problem/9550059> 23603 23604 Reviewed by Dan Bernstein. 23605 23606 Full page PDFs are displayed in WK2 in a subview of the WKView. However, 23607 when the WKView is forced to use accelerated compositing, the layer obscures 23608 the PDF subview. 23609 23610 To fix this we have to drop out of compositing mode when the WKView is showing 23611 a custom representation. 23612 23613 * UIProcess/API/mac/WKView.mm: 23614 (-[WKView _setPageHasCustomRepresentation:]): Tell the drawing area that the view 23615 gained or lost a custom representation. 23616 * UIProcess/DrawingAreaProxy.h: 23617 (WebKit::DrawingAreaProxy::pageCustomRepresentationChanged): 23618 * UIProcess/DrawingAreaProxyImpl.h: 23619 * UIProcess/DrawingAreaProxyImpl.cpp: 23620 (WebKit::DrawingAreaProxyImpl::pageCustomRepresentationChanged): Send a messgae to the web process 23621 to indicate that the custom representation changed. 23622 * WebProcess/WebPage/DrawingArea.h: 23623 (WebKit::DrawingArea::pageCustomRepresentationChanged): 23624 * WebProcess/WebPage/DrawingArea.messages.in: 23625 * WebProcess/WebPage/DrawingAreaImpl.cpp: 23626 (WebKit::DrawingAreaImpl::pageCustomRepresentationChanged): Enter or exit compositing mode 23627 as appropriate when we gain or lost a custom represenetation. 23628 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 23629 * WebProcess/WebPage/DrawingAreaImpl.h: 23630 236312011-12-08 Jer Noble <jer.noble@apple.com> 23632 23633 HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly 23634 https://bugs.webkit.org/show_bug.cgi?id=74119 23635 rdar://problem/10356869 23636 23637 Reviewed by Darin Adler. 23638 23639 Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window 23640 coordinates and screen coordinates. 23641 23642 * UIProcess/mac/WKFullScreenWindowController.mm: 23643 (-[WKFullScreenWindowController enterFullScreen:]): 23644 236452011-12-08 Csaba Osztrogonác <ossy@webkit.org> 23646 23647 [Qt][WK2] Unreviewed buildfix after r102352. 23648 23649 * DerivedSources.pri: 23650 236512011-12-06 Jon Lee <jonlee@apple.com> 23652 23653 [WK2] Add permissions support (73960) 23654 https://bugs.webkit.org/show_bug.cgi?id=73960 23655 <rdar://problem/10357008> 23656 23657 Reviewed by Darin Adler. 23658 23659 * DerivedSources.make: Moved notification files to its own directory. Need to add that path. 23660 * WebKit2.xcodeproj/project.pbxproj: New header and impl files. 23661 * Target.pri: Ditto. 23662 * GNUmakefile.am: Ditto. 23663 * win/WebKit2.vcproj: Ditto. 23664 * win/WebKit2Common.vsprops: Add path to Notifications directory. 23665 23666 Implement permission functions, which go through permission request manager. 23667 23668 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 23669 (WebKit::WebNotificationClient::requestPermission): 23670 (WebKit::WebNotificationClient::cancelRequestsForPermission): 23671 (WebKit::WebNotificationClient::checkPermission): 23672 23673 New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current 23674 policy. 23675 23676 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added. 23677 (WebKit::generateRequestID): 23678 (WebKit::NotificationPermissionRequestManager::create): 23679 (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager): 23680 (WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once 23681 policy decision is made. 23682 (WebKit::NotificationPermissionRequestManager::cancelRequest): 23683 (WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous 23684 message to the proxy. 23685 (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback. 23686 * WebProcess/Notifications/NotificationPermissionRequestManager.h: Added. 23687 (WebKit::isRequestIDValid): Make sure any provided request IDs are valid. 23688 23689 Added new NotificationPermissionRequest class. 23690 23691 * UIProcess/Notifications/NotificationPermissionRequest.cpp: Added. 23692 (WebKit::NotificationPermissionRequest::create): 23693 (WebKit::NotificationPermissionRequest::NotificationPermissionRequest): 23694 (WebKit::NotificationPermissionRequest::allow): Notify manager of decision. 23695 (WebKit::NotificationPermissionRequest::deny): Ditto. 23696 (WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager. 23697 (WebKit::NotificationPermissionRequest::type): 23698 * UIProcess/Notifications/NotificationPermissionRequest.h: Added. 23699 23700 WKAPI support for NotificationPermissionRequest: 23701 23702 * Shared/API/c/WKBase.h: 23703 * Shared/APIObject.h: 23704 * UIProcess/API/C/WKAPICast.h: 23705 * UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added. 23706 (WKNotificationPermissionRequestGetTypeID): 23707 (WKNotificationPermissionRequestAllow): 23708 (WKNotificationPermissionRequestDeny): 23709 * UIProcess/API/C/WKNotificationPermissionRequest.h: Added. 23710 23711 Other additions to WK API: 23712 23713 * UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy 23714 for a given security origin. 23715 * UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy. 23716 23717 New NotificationPermissionRequestManagerProxy to create requests. 23718 23719 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added. 23720 (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy): 23721 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 23722 (WebKit::NotificationPermissionRequestManagerProxy::createRequest): 23723 (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision): 23724 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added. 23725 23726 Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current 23727 JS API retrieves the permission synchronously, so the message needs to be sent synchronously also. 23728 23729 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in. 23730 * UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp. 23731 (WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added. 23732 * UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h. 23733 * UIProcess/WebProcessProxy.cpp: 23734 (WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager. 23735 23736 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp. 23737 (WebKit::WebNotificationManagerProxy::create): 23738 (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): 23739 (WebKit::WebNotificationManagerProxy::invalidate): 23740 (WebKit::WebNotificationManagerProxy::initializeProvider): 23741 (WebKit::WebNotificationManagerProxy::didReceiveMessage): 23742 (WebKit::WebNotificationManagerProxy::didReceiveSyncMessage): 23743 (WebKit::WebNotificationManagerProxy::show): 23744 (WebKit::WebNotificationManagerProxy::cancel): 23745 (WebKit::WebNotificationManagerProxy::didDestroyNotification): 23746 (WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider. 23747 (WebKit::WebNotificationManagerProxy::providerDidShowNotification): 23748 (WebKit::WebNotificationManagerProxy::providerDidClickNotification): 23749 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): 23750 * UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h. 23751 (WebKit::WebNotificationManagerProxy::clearContext): 23752 (WebKit::WebNotificationManagerProxy::type): 23753 23754 Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to 23755 go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission. 23756 23757 * UIProcess/WebPageProxy.cpp: 23758 (WebKit::WebPageProxy::WebPageProxy): 23759 (WebKit::WebPageProxy::close): Invalidate pending requests. 23760 (WebKit::WebPageProxy::processDidCrash): Ditto. 23761 (WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client. 23762 * UIProcess/WebPageProxy.h: 23763 * UIProcess/WebPageProxy.messages.in: 23764 23765 * UIProcess/WebUIClient.cpp: 23766 (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest): 23767 * UIProcess/WebUIClient.h: 23768 23769 Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the 23770 permission request manager. 23771 23772 * WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision 23773 * WebProcess/WebPage/WebPage.cpp: 23774 (WebKit::WebPage::notificationPermissionRequestManager): Create manager on request. 23775 (WebKit::WebPage::didReceiveNotificationPermissionDecision): 23776 * WebProcess/WebPage/WebPage.h: 23777 23778 Moving files to Notifications/ subdirectory. 23779 23780 * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp. 23781 * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h. 23782 237832011-12-08 Nayan Kumar K <nayankk@motorola.com> 23784 23785 [WebKit2] Initialize threading in UI process. 23786 https://bugs.webkit.org/show_bug.cgi?id=70127 23787 23788 Reviewed by Anders Carlsson. 23789 23790 * CMakeLists.txt: 23791 * GNUmakefile.am: 23792 * Shared/APIObject.cpp: Added. 23793 (WebKit::APIObject::APIObject): 23794 * Shared/APIObject.h: 23795 * Target.pri: 23796 * WebKit2.xcodeproj/project.pbxproj: 23797 * win/WebKit2.vcproj: 23798 237992011-12-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 23800 23801 [Qt] [WK2] Directly composited images doesn't render 23802 https://bugs.webkit.org/show_bug.cgi?id=74058 23803 23804 Reviewed by Noam Rosenthal. 23805 23806 Attach image to WebGraphicsLayer even if layerTreeTileClient is not set 23807 and create/assign remote image tiles later during sync. 23808 23809 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 23810 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 23811 (WebCore::WebGraphicsLayer::setContentsToImage): 23812 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 23813 238142011-12-08 Simon Hausmann <simon.hausmann@nokia.com> 23815 23816 REGRESSION(r102334): Various Qt WK2 layout tests crash 23817 23818 Reviewed by Tor Arne Vestbø. 23819 23820 * WebProcess/WebPage/WebPage.cpp: 23821 (WebKit::WebPage::editorState): Add missing null pointer check for the editable 23822 element (scope) before calling innerText. 23823 238242011-12-08 Simon Hausmann <simon.hausmann@nokia.com> 23825 23826 [Qt] WebKitTestRunner crashes with debug builds 23827 https://bugs.webkit.org/show_bug.cgi?id=74090 23828 23829 Reviewed by Tor Arne Vestbø. 23830 23831 Export private C++ API style platformInitialize function needed 23832 by low-level WTR. 23833 23834 * UIProcess/API/qt/qquickwebview.cpp: 23835 (QQuickWebView::platformInitialize): 23836 * UIProcess/API/qt/qquickwebview_p.h: 23837 238382011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 23839 23840 [Qt] Fix non-animated pinch-zoom scale commit. 23841 https://bugs.webkit.org/show_bug.cgi?id=74007 23842 23843 Reviewed by Kenneth Rohde Christiansen. 23844 23845 The update deferrer object was only destroyed at the end of the animation 23846 and wouldn't be if the pinch-zoom was ended within legal bounds. 23847 This patch also makes sure that the deferrer isn't destroyed and re-created 23848 once the animation is started if it was already there. 23849 23850 * UIProcess/qt/QtViewportInteractionEngine.cpp: 23851 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 23852 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 23853 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 23854 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 23855 * UIProcess/qt/QtViewportInteractionEngine.h: 23856 238572011-12-08 Simon Hausmann <simon.hausmann@nokia.com> 23858 23859 REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0 23860 https://bugs.webkit.org/show_bug.cgi?id=74077 23861 23862 Reviewed by Kenneth Rohde Christiansen. 23863 23864 Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute 23865 that's tied to the same register 0 (by being the first in the array). 23866 23867 * UIProcess/API/qt/qquickwebpage.cpp: 23868 (PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is 23869 bound to register 0, which is the current vertex. 23870 (PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the 23871 built-in gl_Vertex, which is only present in Desktop GL. 23872 238732011-12-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 23874 23875 [Qt] Fix the memory leak of AC layer update message contents on the UI process. 23876 https://bugs.webkit.org/show_bug.cgi?id=74012 23877 23878 Reviewed by Noam Rosenthal. 23879 23880 Since the messages didn't have a virtual destructor, the destructor 23881 of child class members wouldn't be called and would cause the all tile 23882 update buffers, contained in a QImage, to be leaked as well. 23883 23884 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 23885 (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer): 23886 238872011-12-08 Kenneth Rohde Christiansen <kenneth@webkit.org> 23888 23889 Upsteam the Qt changes to the EditorState 23890 https://bugs.webkit.org/show_bug.cgi?id=74080 23891 23892 Reviewed by Simon Hausmann. 23893 23894 We are not doing the serialization manually due to it not being a POD 23895 structure anymore in the case of Qt. 23896 23897 * GNUmakefile.am: 23898 * Shared/EditorState.h: 23899 (WebKit::EditorState::EditorState): 23900 * Target.pri: 23901 * WebKit2.xcodeproj/project.pbxproj: 23902 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 23903 (WebKit::WebEditorClient::respondToChangedSelection): 23904 * WebProcess/WebPage/WebPage.cpp: 23905 (WebKit::WebPage::editorState): 23906 * win/WebKit2.vcproj: 23907 239082011-12-08 Gopal Raghavan <gopal.1.raghavan@nokia.com> 23909 23910 [Qt] cleanup qmlplugin 23911 https://bugs.webkit.org/show_bug.cgi?id=73834 23912 23913 Reviewed by Tor Arne Vestbø. 23914 23915 Removed empty folder qmlplugin. 23916 23917 * UIProcess/API/qt/qmlplugin: Removed. 23918 239192011-12-08 Sheriff Bot <webkit.review.bot@gmail.com> 23920 23921 Unreviewed, rolling out r102323. 23922 http://trac.webkit.org/changeset/102323 23923 https://bugs.webkit.org/show_bug.cgi?id=74069 23924 23925 Caused Chromium and GTK build failure (Requested by bashi on 23926 #webkit). 23927 23928 * win/WebKit2.def: 23929 * win/WebKit2CFLite.def: 23930 239312011-12-08 Fady Samuel <fsamuel@chromium.org> 23932 23933 Move scalePageBy from eventSender to window.internals 23934 https://bugs.webkit.org/show_bug.cgi?id=64512 23935 23936 Reviewed by Simon Fraser. 23937 23938 * win/WebKit2.def: 23939 * win/WebKit2CFLite.def: 23940 239412011-12-07 Mark Rowe <mrowe@apple.com> 23942 23943 Fix the 32-bit build. 23944 23945 Ignore some warnings that only occur in 32-bit. 23946 23947 * PluginProcess/mac/PluginProcessShim.mm: 23948 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 23949 (WebKit::NetscapePluginModule::tryLoad): 23950 239512011-12-07 Balazs Kelemen <kbalazs@webkit.org> 23952 23953 ShareableBitmapGtk.cpp has no reason to exist 23954 https://bugs.webkit.org/show_bug.cgi?id=74011 23955 23956 Reviewed by Martin Robinson. 23957 23958 Remove this file since the real implementation is 23959 exists in ShareableBitmapCairo.cpp. 23960 23961 * Shared/gtk/ShareableBitmapGtk.cpp: Removed. 23962 239632011-12-07 Mary Wu <mary.wu@torchmobile.com.cn> 23964 23965 Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline 23966 https://bugs.webkit.org/show_bug.cgi?id=73986 23967 23968 Reviewed by Kenneth Rohde Christiansen. 23969 23970 * UIProcess/WebContext.cpp: 23971 (WebKit::WebContext::WebContext): 23972 * WebProcess/WebProcess.cpp: 23973 (WebKit::WebProcess::WebProcess): 23974 239752011-12-07 Zalan Bujtas <zbujtas@gmail.com> 23976 23977 [Qt][WK2] Enable page cache. 23978 https://bugs.webkit.org/show_bug.cgi?id=73938 23979 23980 Enable WebCore's page cache for Qt port by setting its capacity to 20. This is temporary 23981 and will be replaced by a computed value based on CacheMode. See bug#73918. 23982 23983 Reviewed by Simon Hausmann. 23984 23985 * WebProcess/qt/WebProcessQt.cpp: 23986 (WebKit::WebProcess::platformSetCacheModel): 23987 239882011-12-06 Andy Estes <aestes@apple.com> 23989 23990 REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled 23991 https://bugs.webkit.org/show_bug.cgi?id=73955 23992 23993 Reviewed by Anders Carlsson. 23994 23995 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 23996 (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be 23997 null here if we are initializing the layer tree host in DrawingArea's 23998 ctor (as is the case when accelerated drawing is enabled), before 23999 WebPage has set its m_drawingArea pointer. Since the layer tree cannot 24000 have been frozen at this point, it's safe to enable layer flush 24001 scheduling if drawingArea() is null. 24002 240032011-12-06 Alexander Færøy <alexander.faeroy@nokia.com> 24004 24005 [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468 24006 https://bugs.webkit.org/show_bug.cgi?id=73914 24007 24008 Reviewed by Kenneth Rohde Christiansen. 24009 24010 m_suspendCount should always be zero when a pinch gesture is started. 24011 24012 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24013 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 24014 240152011-12-06 Simon Fraser <simon.fraser@apple.com> 24016 24017 UI process crashes if the Web Process crashes on launch 24018 https://bugs.webkit.org/show_bug.cgi?id=73943 24019 24020 Reviewed by Sam Weinig. 24021 24022 When the Web Process crashes on launch, the WebConnectionToWebProcess 24023 object was getting deleted inside of didClose. Add a protector to 24024 prevent this. 24025 24026 * UIProcess/WebConnectionToWebProcess.cpp: 24027 (WebKit::WebConnectionToWebProcess::didClose): 24028 240292011-12-06 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 24030 24031 [Qt] Fix page overlay rendering with AC. 24032 https://bugs.webkit.org/show_bug.cgi?id=73935 24033 24034 Reviewed by Noam Rosenthal. 24035 24036 The inspector node highlight would display old highlights as well 24037 since the overlay is normally rendered right after the page on top 24038 of the same graphics context. 24039 24040 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 24041 (WebKit::LayerTreeHostQt::paintContents): 24042 240432011-12-06 Michael Brüning <michael.bruning@nokia.com> 24044 24045 [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate 24046 https://bugs.webkit.org/show_bug.cgi?id=73907 24047 24048 Reviewed by Kenneth Rohde Christiansen. 24049 24050 * UIProcess/API/qt/qquickwebview.cpp: Disconnect signals from 24051 QtViewportInteractionEngine in ~QQuickWebViewPrivate. 24052 (QQuickWebViewPrivate::~QQuickWebViewPrivate): 24053 * UIProcess/API/qt/qquickwebview_p_p.h: Remove empty inline implementation of ~QQuickWebViewPrivate. 24054 240552011-12-06 Kenneth Rohde Christiansen <kenneth@webkit.org> 24056 24057 [Qt] Add initial support for focusing when entering edit mode. 24058 24059 Reviewed by Simon Hausmann. 24060 24061 Next step would be to properly upstream our EditorState code. 24062 24063 * UIProcess/PageClient.h: 24064 * UIProcess/WebPageProxy.cpp: 24065 (WebKit::WebPageProxy::focusEditableArea): 24066 * UIProcess/WebPageProxy.h: 24067 * UIProcess/WebPageProxy.messages.in: 24068 * UIProcess/qt/QtPageClient.cpp: 24069 (QtPageClient::focusEditableArea): 24070 * UIProcess/qt/QtPageClient.h: 24071 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24072 (WebKit::QtViewportInteractionEngine::itemCoordFromCSS): 24073 (WebKit::QtViewportInteractionEngine::itemRectFromCSS): 24074 (WebKit::QtViewportInteractionEngine::focusEditableArea): 24075 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 24076 * UIProcess/qt/QtViewportInteractionEngine.h: 24077 * UIProcess/qt/QtWebPageEventHandler.cpp: 24078 (QtWebPageEventHandler::focusEditableArea): 24079 * UIProcess/qt/QtWebPageEventHandler.h: 24080 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 24081 (WebKit::WebEditorClient::respondToChangedSelection): 24082 (WebKit::WebEditorClient::setInputMethodState): 24083 240842011-12-06 Alexander Færøy <alexander.faeroy@nokia.com> 24085 24086 [Qt] Fix assertion in QtWebPageEventHandler.cpp 24087 https://bugs.webkit.org/show_bug.cgi?id=73908 24088 24089 Reviewed by Kenneth Rohde Christiansen. 24090 24091 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24092 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 24093 240942011-12-05 Igor Oliveira <igor.oliveira@openbossa.org> 24095 24096 [Qt][WK2] Frame is not being showed in the screen when frameLoadCompleted is called 24097 https://bugs.webkit.org/show_bug.cgi?id=73850 24098 24099 WebKit2 has a mechanism to prevent the composited layer tree of the outgoing page 24100 from being torn down or updated until the incoming page has layout. However, for simple 24101 pages, when the frame is loaded the page is not rendered in the screen. 24102 24103 This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled 24104 is true. 24105 24106 Reviewed by Noam Rosenthal. 24107 24108 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 24109 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): 24110 241112011-12-05 Chris Fleizach <cfleizach@apple.com> 24112 24113 AX: WK2: AX hierarchy is not restored after web process crash 24114 https://bugs.webkit.org/show_bug.cgi?id=73870 24115 24116 The accessibility tokens that need to be sent between UI and Web process 24117 were not being sent by the UI process -> the web process when the web 24118 process crashed. 24119 24120 Reviewed by Darin Adler. 24121 24122 * UIProcess/API/mac/WKView.mm: 24123 (-[WKView viewDidMoveToWindow]): 24124 (-[WKView _accessibilityRegisterUIProcessTokens]): 24125 (-[WKView _didRelaunchProcess]): 24126 241272011-12-05 Alexey Proskuryakov <ap@apple.com> 24128 24129 REGRESSION: Full keyboard access doesn't work if enabled before Safari started 24130 https://bugs.webkit.org/show_bug.cgi?id=73864 24131 24132 Reviewed by Darin Adler. 24133 24134 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the 24135 parameter passed at process creation. 24136 241372011-12-05 Anders Carlsson <andersca@apple.com> 24138 24139 Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not 24140 https://bugs.webkit.org/show_bug.cgi?id=73862 24141 24142 Reviewed by Andy Estes. 24143 24144 Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate. 24145 24146 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 24147 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 24148 (WebKit::LayerTreeHostCAMac::flushLayers): 24149 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): 24150 241512011-12-05 Michael Brüning <michael.bruning@nokia.com> 24152 24153 [Qt] Rename QQuickWebView::canStop property to just loading 24154 https://bugs.webkit.org/show_bug.cgi?id=73813 24155 24156 Reviewed by Kenneth Rohde Christiansen. 24157 24158 Renamed canStop property of QQuickWebView and QtWebPageProxy 24159 to loading and updated tests. 24160 24161 * UIProcess/API/qt/qquickwebview.cpp: 24162 (QQuickWebView::loading): 24163 * UIProcess/API/qt/qquickwebview_p.h: 24164 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 24165 (tst_QQuickWebView::navigationStatusAtStartup): 24166 (LoadStartedCatcher::onLoadStarted): 24167 (tst_QQuickWebView::stopEnabledAfterLoadStarted): 24168 * UIProcess/qt/QtWebPageProxy.cpp: 24169 (QtWebPageProxy::loading): 24170 * UIProcess/qt/QtWebPageProxy.h: 24171 241722011-12-03 Jer Noble <jer.noble@apple.com> 24173 24174 <video> elements should disable the system and display sleep when playing on OS X. 24175 https://bugs.webkit.org/show_bug.cgi?id=73730 24176 <rdar://problem/9502155> 24177 24178 Reviewed by Alexey Proskuryakov. 24179 24180 Allow the WebProcess to make connections to the PowerManagement control mach server. 24181 24182 * WebProcess/com.apple.WebProcess.sb: 24183 241842011-12-04 Sam Weinig <sam@webkit.org> 24185 24186 Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses 24187 https://bugs.webkit.org/show_bug.cgi?id=73779 24188 24189 Reviewed by Anders Carlsson. 24190 24191 To allow for API objects representing the connection going to/from the UIProcess/WebProcess, 24192 this patch separates out the connections into WebConnection subclasses. It does not yet 24193 expose a way to access these connections, and is therefore not yet testable. 24194 24195 * GNUmakefile.am: 24196 * Target.pri: 24197 * WebKit2.xcodeproj/project.pbxproj: 24198 * win/WebKit2.vcproj: 24199 Add new files. 24200 24201 * Platform/CoreIPC/MessageID.h: 24202 * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added. 24203 Add a new message type for communicating between WebConnections. 24204 24205 * Shared/ChildProcess.h: 24206 Make helper public so that WebConnectionToWebProcess can use it. 24207 24208 * UIProcess/WebConnectionToWebProcess.cpp: Added. 24209 (WebKit::WebConnectionToWebProcess::create): 24210 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess): 24211 (WebKit::WebConnectionToWebProcess::invalidate): 24212 (WebKit::WebConnectionToWebProcess::postMessage): 24213 (WebKit::WebConnectionToWebProcess::didReceiveMessage): 24214 (WebKit::WebConnectionToWebProcess::didReceiveSyncMessage): 24215 (WebKit::WebConnectionToWebProcess::didClose): 24216 (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage): 24217 (WebKit::WebConnectionToWebProcess::syncMessageSendTimedOut): 24218 (WebKit::WebConnectionToWebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): 24219 * UIProcess/WebConnectionToWebProcess.h: Added. 24220 (WebKit::WebConnectionToWebProcess::connection): 24221 * UIProcess/WebProcessProxy.cpp: 24222 (WebKit::WebProcessProxy::sendMessage): 24223 (WebKit::WebProcessProxy::didReceiveInvalidMessage): 24224 (WebKit::WebProcessProxy::didFinishLaunching): 24225 * UIProcess/WebProcessProxy.h: 24226 (WebKit::WebProcessProxy::connection): 24227 (WebKit::WebProcessProxy::webConnection): 24228 (WebKit::WebProcessProxy::sendSync): 24229 Thread connection code through WebConnectionToWebProcess. 24230 24231 * WebProcess/WebConnectionToUIProcess.cpp: Added. 24232 (WebKit::WebConnectionToUIProcess::create): 24233 (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess): 24234 (WebKit::WebConnectionToUIProcess::invalidate): 24235 (WebKit::WebConnectionToUIProcess::postMessage): 24236 (WebKit::WebConnectionToUIProcess::didReceiveMessage): 24237 (WebKit::WebConnectionToUIProcess::didReceiveSyncMessage): 24238 (WebKit::WebConnectionToUIProcess::didClose): 24239 (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage): 24240 (WebKit::WebConnectionToUIProcess::syncMessageSendTimedOut): 24241 (WebKit::WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): 24242 (WebKit::WebConnectionToUIProcess::willProcessMessageOnClientRunLoop): 24243 * WebProcess/WebConnectionToUIProcess.h: Added. 24244 (WebKit::WebConnectionToUIProcess::connection): 24245 * WebProcess/WebProcess.cpp: 24246 (WebKit::WebProcess::initialize): 24247 (WebKit::WebProcess::addVisitedLink): 24248 (WebKit::WebProcess::shouldTerminate): 24249 (WebKit::WebProcess::terminate): 24250 (WebKit::WebProcess::removeWebFrame): 24251 (WebKit::WebProcess::getSitesWithPluginData): 24252 (WebKit::WebProcess::clearPluginSiteData): 24253 (WebKit::WebProcess::getWebCoreStatistics): 24254 * WebProcess/WebProcess.h: 24255 (WebKit::WebProcess::connection): 24256 Thread connection code through WebConnectionToUIProcess. 24257 242582011-12-05 Laszlo Gombos <laszlo.1.gombos@nokia.com> 24259 24260 [Qt] Remove viewModeChanged() from QQuickWebView 24261 https://bugs.webkit.org/show_bug.cgi?id=73828 24262 24263 Reviewed by Kenneth Rohde Christiansen. 24264 24265 * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used 24266 and we should not expose it. 24267 242682011-12-05 Eric Carlson <eric.carlson@apple.com> 24269 24270 WebKit2 part of: Add WebKit preferences for text track settings 24271 https://bugs.webkit.org/show_bug.cgi?id=73721 24272 24273 Reviewed by John Sullivan. 24274 24275 * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and 24276 shouldDisplayTextDescriptions properties with macros. All default to false. 24277 24278 * UIProcess/API/C/WKPreferences.cpp: 24279 (WKPreferencesSetShouldDisplaySubtitles): Added. 24280 (WKPreferencesGetShouldDisplaySubtitles): Ditto. 24281 (WKPreferencesSetShouldDisplayCaptions): Ditto. 24282 (WKPreferencesGetShouldDisplayCaptions): Ditto. 24283 (WKPreferencesSetShouldDisplayTextDescriptions): Ditto. 24284 (WKPreferencesGetShouldDisplayTextDescriptions): Ditto. 24285 * UIProcess/API/C/WKPreferences.h: 24286 24287 * WebProcess/WebPage/WebPage.cpp: 24288 (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs. 24289 242902011-12-04 Gopal Raghavan <gopal.1.raghavan@nokia.com> 24291 24292 [Qt] cleanup qmltests.pro 24293 https://bugs.webkit.org/show_bug.cgi?id=73718 24294 24295 Reviewed by Simon Hausmann. 24296 24297 Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list. 24298 24299 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 24300 243012011-12-04 Philippe Normand <pnormand@igalia.com> 24302 24303 [WK2][GTK] enable-fullscreen WebSettings 24304 https://bugs.webkit.org/show_bug.cgi?id=73774 24305 24306 Reviewed by Martin Robinson. 24307 24308 * UIProcess/API/gtk/WebKitSettings.cpp: 24309 (webKitSettingsSetProperty): 24310 (webKitSettingsGetProperty): 24311 (webkit_settings_class_init): 24312 (webkit_settings_set_enable_fullscreen): 24313 (webkit_settings_get_enable_fullscreen): 24314 * UIProcess/API/gtk/WebKitSettings.h: 24315 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 24316 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 24317 (testWebKitSettings): 24318 243192011-12-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 24320 24321 [Qt] [WK2] MiniBrowser --touch asserts in debug build 24322 https://bugs.webkit.org/show_bug.cgi?id=73697 24323 24324 Reviewed by Eric Seidel. 24325 24326 Add missing guard to QtViewportInteractionEngine::itemSizeChanged(). 24327 24328 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24329 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 24330 243312011-12-02 Fady Samuel <fsamuel@chromium.org> 24332 24333 When page scaling is in use position:fixed has incorrect results 24334 https://bugs.webkit.org/show_bug.cgi?id=68617 24335 24336 Reviewed by Simon Fraser. 24337 24338 * win/WebKit2.def: 24339 * win/WebKit2CFLite.def: 24340 243412011-12-02 Alexey Proskuryakov <ap@apple.com> 24342 24343 Update sandbox rules 24344 https://bugs.webkit.org/show_bug.cgi?id=73675 24345 <rdar://problem/9276430> 24346 24347 Reviewed by Sam Weinig. 24348 24349 * WebProcess/com.apple.WebProcess.sb: 24350 243512011-12-02 Andy Estes <aestes@apple.com> 24352 24353 WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed 24354 https://bugs.webkit.org/show_bug.cgi?id=73641 24355 24356 Reviewed by Darin Adler. 24357 24358 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24359 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Do not 24360 un-freeze the layer tree state if incremental rendering is suppressed. 24361 * WebProcess/WebPage/DrawingArea.h: 24362 (WebKit::DrawingArea::layerTreeStateIsFrozen): Add a getter for 24363 m_layerTreeStateIsFrozen. 24364 * WebProcess/WebPage/DrawingAreaImpl.h: 24365 (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Ditto. 24366 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 24367 (WebKit::LayerTreeHostCA::initialize): WebFrameLoaderClient might have 24368 tried to freeze the state of the layer tree before the layer tree host 24369 was created. When creating the layer tree host, only schedule a layer 24370 flush if the layer tree state isn't frozen. 24371 243722011-12-02 Nayan Kumar K <nayankk@motorola.com> 24373 24374 [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings 24375 https://bugs.webkit.org/show_bug.cgi?id=73414 24376 24377 Reviewed by Martin Robinson. 24378 24379 * UIProcess/API/gtk/WebKitSettings.cpp: 24380 (webKitSettingsSetProperty): Add new set function. 24381 (webKitSettingsGetProperty): Add new get function. 24382 (webkit_settings_class_init): Register new property. 24383 (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property. 24384 (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property. 24385 * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's. 24386 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file. 24387 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 24388 (testWebKitSettings): Add new tests. 24389 243902011-12-02 Andras Becsi <andras.becsi@nokia.com> 24391 24392 [Qt][WK2] Set event timestamps on custom input events 24393 24394 Reviewed by Simon Hausmann. 24395 24396 Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents, 24397 thus set the timestamp on the custom events as well. 24398 24399 * UIProcess/qt/QtWebPageEventHandler.cpp: 24400 (QtWebPageEventHandler::handleHoverLeaveEvent): 24401 (QtWebPageEventHandler::handleHoverMoveEvent): 24402 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 24403 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu): 24404 244052011-12-02 Andras Becsi <andras.becsi@nokia.com> 24406 24407 [Qt] [WK2] Use input event timestamps in WebEvents if available 24408 https://bugs.webkit.org/show_bug.cgi?id=73647 24409 24410 Reviewed by Simon Hausmann. 24411 24412 Qt5 input events already have a native timestamp, use this timestamp 24413 in WebEventFactory instead of WTF::currentTime if it is available. 24414 24415 * Shared/qt/WebEventFactoryQt.cpp: 24416 (WebKit::currentTimeForEvent): 24417 (WebKit::WebEventFactory::createWebMouseEvent): 24418 (WebKit::WebEventFactory::createWebWheelEvent): 24419 (WebKit::WebEventFactory::createWebKeyboardEvent): 24420 (WebKit::WebEventFactory::createWebTouchEvent): 24421 * Shared/qt/WebEventFactoryQt.h: 24422 244232011-12-02 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 24424 24425 [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy 24426 https://bugs.webkit.org/show_bug.cgi?id=66668 24427 24428 Reviewed by Simon Hausmann. 24429 24430 Split QtPageClient out of QtWebPageProxy. 24431 This client will live in QQuickWebViewPrivate and communicate directly 24432 with QtWebPageProxy and QtWebPageEventHandler. The functions that need 24433 anything else than these entities will need to call the proper implementation 24434 through QtWebPageProxy itself. 24435 With this we have a clear separation between PageClient and PageProxy, having 24436 two well defined and separated entities for hooking our clients with our API layer (QtWebPageProxy) 24437 and for hooking the WebPageProxy with our client implementations (QtPageClient). 24438 As a positive side-effect we have a cleaner QtWebPageProxy. 24439 24440 * Target.pri: 24441 * UIProcess/API/qt/qquickwebview.cpp: 24442 (QQuickWebViewPrivate::QQuickWebViewPrivate): 24443 * UIProcess/API/qt/qquickwebview_p_p.h: 24444 * UIProcess/qt/QtPageClient.cpp: Added. 24445 (QtPageClient::QtPageClient): 24446 (QtPageClient::~QtPageClient): 24447 (QtPageClient::createDrawingAreaProxy): 24448 (QtPageClient::setViewNeedsDisplay): 24449 (QtPageClient::pageDidRequestScroll): 24450 (QtPageClient::processDidCrash): 24451 (QtPageClient::didRelaunchProcess): 24452 (QtPageClient::didChangeContentsSize): 24453 (QtPageClient::didChangeViewportProperties): 24454 (QtPageClient::startDrag): 24455 (QtPageClient::handleDownloadRequest): 24456 (QtPageClient::setCursor): 24457 (QtPageClient::setCursorHiddenUntilMouseMoves): 24458 (QtPageClient::toolTipChanged): 24459 (QtPageClient::registerEditCommand): 24460 (QtPageClient::clearAllEditCommands): 24461 (QtPageClient::canUndoRedo): 24462 (QtPageClient::executeUndoRedo): 24463 (QtPageClient::convertToDeviceSpace): 24464 (QtPageClient::convertToUserSpace): 24465 (QtPageClient::screenToWindow): 24466 (QtPageClient::windowToScreen): 24467 (QtPageClient::createPopupMenuProxy): 24468 (QtPageClient::createContextMenuProxy): 24469 (QtPageClient::flashBackingStoreUpdates): 24470 (QtPageClient::didFindZoomableArea): 24471 (QtPageClient::didReceiveMessageFromNavigatorQtObject): 24472 (QtPageClient::doneWithTouchEvent): 24473 (QtPageClient::displayView): 24474 (QtPageClient::scrollView): 24475 (QtPageClient::viewSize): 24476 (QtPageClient::isViewWindowActive): 24477 (QtPageClient::isViewFocused): 24478 (QtPageClient::isViewVisible): 24479 (QtPageClient::isViewInWindow): 24480 (QtPageClient::enterAcceleratedCompositingMode): 24481 (QtPageClient::exitAcceleratedCompositingMode): 24482 * UIProcess/qt/QtPageClient.h: Added. 24483 (QtPageClient::pageClosed): 24484 (QtPageClient::doneWithKeyEvent): 24485 (QtPageClient::setFindIndicator): 24486 (QtPageClient::didCommitLoadForMainFrame): 24487 (QtPageClient::didFinishLoadingDataForCustomRepresentation): 24488 (QtPageClient::customRepresentationZoomFactor): 24489 (QtPageClient::setCustomRepresentationZoomFactor): 24490 (QtPageClient::didChangeScrollbarsForMainFrame): 24491 (QtPageClient::findStringInCustomRepresentation): 24492 (QtPageClient::countStringMatchesInCustomRepresentation): 24493 (QtPageClient::setEventHandler): 24494 (QtPageClient::setPageProxy): 24495 * UIProcess/qt/QtWebPageProxy.cpp: 24496 (QtWebPageProxy::QtWebPageProxy): 24497 * UIProcess/qt/QtWebPageProxy.h: 24498 244992011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org> 24500 24501 [Qt] Do not apply the transition state before we are unsuspended 24502 24503 Reviewed by Simon Hausmann. 24504 24505 Also remove an accessor in the private, which is unneeded as 24506 everything in the private class is supposed to be public or 24507 only used by the private itself. 24508 24509 * UIProcess/API/qt/qquickwebview.cpp: 24510 (QQuickWebViewPrivate::QQuickWebViewPrivate): 24511 (QQuickWebViewPrivate::loadDidCommit): 24512 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 24513 (QQuickWebViewPrivate::_q_suspend): 24514 (QQuickWebViewPrivate::_q_resume): 24515 (QQuickWebViewPrivate::didChangeContentsSize): 24516 (QQuickWebViewPrivate::didChangeViewportProperties): 24517 * UIProcess/API/qt/qquickwebview_p_p.h: 24518 245192011-12-02 Kenneth Rohde Christiansen <kenneth@webkit.org> 24520 24521 Unreviewed buildfix, add missing include. 24522 24523 * WebProcess/Notifications/WebNotificationManager.cpp: 24524 245252011-12-02 Hajime Morrita <morrita@chromium.org> 24526 24527 Unreviewed, rolling out r101751 and r101775. 24528 http://trac.webkit.org/changeset/101751 24529 http://trac.webkit.org/changeset/101775 24530 https://bugs.webkit.org/show_bug.cgi?id=73191 24531 24532 breaks Windows build 24533 24534 * config.h: 24535 245362011-12-02 Carlos Garcia Campos <cgarcia@igalia.com> 24537 24538 Unreviewed. Fix GTK+ build after r101750. 24539 24540 * GNUmakefile.am: Add missing files. 24541 245422011-12-02 Gustavo Noronha Silva <gns@gnome.org> 24543 24544 Unreviewed. GTK+ build fix. 24545 24546 * GNUmakefile.am: 24547 245482011-12-02 Zalan Bujtas <zbujtas@gmail.com> 24549 24550 [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views. 24551 https://bugs.webkit.org/show_bug.cgi?id=73441 24552 24553 Do not assert on empty available size, but return default constrain values instead. 24554 24555 Reviewed by Kenneth Rohde Christiansen. 24556 24557 * UIProcess/API/qt/qquickwebview.cpp: 24558 (QQuickWebViewPrivate::computeViewportConstraints): 24559 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 24560 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 24561 245622011-12-01 Hajime Morrita <morrita@chromium.org> 24563 24564 JS_INLINE and WTF_INLINE should be visible from WebCore 24565 https://bugs.webkit.org/show_bug.cgi?id=73191 24566 24567 Reviewed by Kevin Ollivier. 24568 24569 Removed macro definitions which is now provided by Platform.h 24570 24571 * config.h: 24572 245732011-12-01 Jon Lee <jonlee@apple.com> 24574 24575 [WK2] Add further support for notifications 24576 https://bugs.webkit.org/show_bug.cgi?id=73572 24577 <rdar://problem/10472195> 24578 24579 Reviewed by Darin Adler. 24580 24581 * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks 24582 from the notification platform. 24583 24584 * DerivedSources.make: Add WebNotificationManager. 24585 * DerivedSources.pri: Ditto. 24586 * Platform/CoreIPC/MessageID.h: Add message class. 24587 * WebProcess/WebProcess.cpp: 24588 (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed. 24589 * WebKit2.xcodeproj/project.pbxproj: Add new message files. 24590 * win/WebKit2.vcproj: Adding new files to project. 24591 * win/WebKit2Common.vsprops: Add Notifications to include paths 24592 24593 * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform. 24594 (WebKit::WebNotification::create): 24595 (WebKit::WebNotification::notificationID): 24596 (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used 24597 for mapping IDs to notifications. 24598 * UIProcess/WebNotification.cpp: 24599 (WebKit::WebNotification::WebNotification): 24600 (WebKit::WebNotification::encode): 24601 (WebKit::WebNotification::decode): 24602 * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI. 24603 * UIProcess/API/C/WKNotification.cpp: 24604 (WKNotificationGetNotificationID): 24605 24606 * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification. 24607 * UIProcess/WebNotificationManagerProxy.cpp: 24608 (WebKit::WebNotificationManagerProxy::invalidate): Remove manager. 24609 (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing. 24610 (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling. 24611 (WebKit::WebNotificationManagerProxy::didDestroyNotification): 24612 (WebKit::WebNotificationManagerProxy::providerDidShowNotification): 24613 (WebKit::WebNotificationManagerProxy::providerDidClickNotification): 24614 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): 24615 * UIProcess/API/C/WKNotificationManager.h: 24616 * UIProcess/API/C/WKNotificationManager.cpp: 24617 (WKNotificationManagerProviderDidShowNotification): 24618 (WKNotificationManagerProviderDidClickNotification): 24619 (WKNotificationManagerProviderDidCloseNotifications): 24620 24621 * UIProcess/WebNotificationProvider.h: 24622 * UIProcess/WebNotificationProvider.cpp: 24623 (WebKit::WebNotificationProvider::show): 24624 (WebKit::WebNotificationProvider::cancel): 24625 (WebKit::WebNotificationProvider::didDestroyNotification): 24626 (WebKit::WebNotificationProvider::addNotificationManager): 24627 (WebKit::WebNotificationProvider::removeNotificationManager): 24628 * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls 24629 24630 * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with 24631 Notification instances. 24632 * WebProcess/Notifications/WebNotificationManager.cpp: 24633 (WebKit::generateNotificationID): 24634 (WebKit::WebNotificationManager::didReceiveMessage): 24635 (WebKit::WebNotificationManager::show): 24636 (WebKit::WebNotificationManager::cancel): 24637 (WebKit::WebNotificationManager::didDestroyNotification): 24638 (WebKit::WebNotificationManager::didShowNotification): 24639 (WebKit::WebNotificationManager::didClickNotification): 24640 (WebKit::WebNotificationManager::didCloseNotifications): 24641 24642 * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message. 24643 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: 24644 (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented. 24645 246462011-12-01 Goutham J <gouthamj@motorola.com> 24647 24648 [WEBKIT2] Fix for compilation warnings in WebContext.cpp 24649 https://bugs.webkit.org/show_bug.cgi?id=69080 24650 24651 Fix compilation warning in WebKit2 builds. 24652 24653 Reviewed by Hajime Morita. 24654 24655 * UIProcess/WebContext.cpp: 24656 (WebKit::WebContext::processDidFinishLaunching): 24657 (WebKit::WebContext::startMemorySampler): 24658 246592011-12-01 Beth Dakin <bdakin@apple.com> 24660 24661 https://bugs.webkit.org/show_bug.cgi?id=73592 24662 REGRESSION (r100483): Can't drag out of background window 24663 -and corresponding- 24664 <rdar://problem/10508870> 24665 24666 Reviewed by Darin Adler. 24667 24668 If the mouse is pressed we need to do a full, normal hit test even if the window 24669 is not active. 24670 * WebProcess/WebPage/WebPage.cpp: 24671 (WebKit::WebPage::mouseEvent): 24672 (WebKit::WebPage::mouseEventSyncForTesting): 24673 246742011-12-01 Martin Robinson <mrobinson@igalia.com> 24675 24676 [GTK] Add a helper function to find the current executable's path 24677 https://bugs.webkit.org/show_bug.cgi?id=73473 24678 24679 Reviewed by Gustavo Noronha Silva. 24680 24681 Do a series of tests when looking for processes. First search the directory 24682 specified by the environment variable, then the directory of the binary and 24683 then the LIBEXECDIR. 24684 24685 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 24686 (WebKit::findWebKitProcess): Added. 24687 (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the 24688 binary location. 24689 246902011-12-01 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 24691 24692 [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top. 24693 https://bugs.webkit.org/show_bug.cgi?id=73338 24694 24695 Reviewed by Noam Rosenthal. 24696 24697 Move painting of QQuickWebPage content from canvas afterrendering() to 24698 QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader 24699 updateState() method to draw TextureMapper graphics layers. 24700 This is considered to be temporary until QSGNode::UserNodeType will be available. 24701 24702 * UIProcess/API/qt/qquickwebpage.cpp: 24703 (QQuickWebPage::QQuickWebPage): 24704 (QQuickWebPagePrivate::QQuickWebPagePrivate): 24705 (PageProxyMaterialShader::attributeNames): 24706 (PageProxyMaterialShader::vertexShader): 24707 (PageProxyMaterialShader::fragmentShader): 24708 (PageProxyMaterial::PageProxyMaterial): 24709 (PageProxyMaterial::type): 24710 (PageProxyMaterial::createShader): 24711 (PageProxyNode::PageProxyNode): 24712 (PageProxyNode::~PageProxyNode): 24713 (PageProxyMaterialShader::updateState): 24714 (QQuickWebPage::updatePaintNode): 24715 (QQuickWebPagePrivate::resetPaintNode): 24716 (QQuickWebPagePrivate::~QQuickWebPagePrivate): 24717 * UIProcess/API/qt/qquickwebpage_p.h: 24718 * UIProcess/API/qt/qquickwebpage_p_p.h: 24719 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 24720 (tst_QQuickWebView::showWebView): 24721 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 24722 (WebKit::LayerTreeHostProxy::didRenderFrame): 24723 247242011-12-01 Nayan Kumar K <nayankk@motorola.com> 24725 24726 [WK2][GTK] Change default-font-size and default-monospace-font-size 24727 https://bugs.webkit.org/show_bug.cgi?id=73468 24728 24729 Reviewed by Martin Robinson. 24730 24731 Set 'default-font-size' property value to 16px and 'default-monospace-font-size' 24732 value to 13px. 24733 24734 * UIProcess/API/gtk/WebKitSettings.cpp: 24735 (webkit_settings_class_init): Change the default font size settings. 24736 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 24737 (testWebKitSettings): Correct the test. 24738 247392011-12-01 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> 24740 24741 Popup menu can get stuck in closed state when GtkMenu can't grab mouse. 24742 https://bugs.webkit.org/show_bug.cgi?id=56466 24743 24744 Add a check if popup menu is not visible due to no mouse grab, 24745 Ensure WebCore is in sync with proper state. 24746 24747 Reviewed by Martin Robinson. 24748 24749 * UIProcess/WebPageProxy.cpp: 24750 (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message 24751 to WebProcess. 24752 * UIProcess/WebPageProxy.h: 24753 * UIProcess/WebPopupMenuProxy.h: 24754 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 24755 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 24756 * WebProcess/WebCoreSupport/WebPopupMenu.h: 24757 (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient. 24758 * WebProcess/WebPage/WebPage.cpp: 24759 (WebKit::WebPage::failedToShowPopupMenu): 24760 * WebProcess/WebPage/WebPage.h: 24761 * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed. 24762 247632011-12-01 Pavel Feldman <pfeldman@chromium.org> 24764 24765 Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression. 24766 https://bugs.webkit.org/show_bug.cgi?id=73554 24767 24768 Reviewed by Yury Semikhatsky. 24769 24770 * UIProcess/WebInspectorProxy.cpp: 24771 (WebKit::WebInspectorProxy::didClose): 24772 247732011-11-30 Alexey Proskuryakov <ap@apple.com> 24774 24775 Remove an unneeded argument from FrameLoaderClient::download 24776 https://bugs.webkit.org/show_bug.cgi?id=73486 24777 24778 Reviewed by Andreas Kling. 24779 24780 * WebProcess/Downloads/Download.h: 24781 * WebProcess/Downloads/DownloadManager.cpp: 24782 (WebKit::DownloadManager::convertHandleToDownload): 24783 * WebProcess/Downloads/DownloadManager.h: 24784 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: 24785 (WebKit::Download::startWithHandle): 24786 * WebProcess/Downloads/curl/DownloadCurl.cpp: 24787 (WebKit::Download::startWithHandle): 24788 * WebProcess/Downloads/mac/DownloadMac.mm: 24789 (WebKit::Download::startWithHandle): 24790 * WebProcess/Downloads/qt/DownloadQt.cpp: 24791 (WebKit::Download::startWithHandle): 24792 * WebProcess/Downloads/soup/DownloadSoup.cpp: 24793 (WebKit::Download::startWithHandle): 24794 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24795 (WebKit::WebFrameLoaderClient::download): 24796 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 24797 * WebProcess/WebPage/WebFrame.cpp: 24798 (WebKit::WebFrame::convertHandleToDownload): 24799 * WebProcess/WebPage/WebFrame.h: 24800 Updated for the change. CF version is the only one worth seeing, as it was using the argument. 24801 248022011-11-30 Alexey Proskuryakov <ap@apple.com> 24803 24804 Original page URL is not set in quarantine information when downloading using context menu Save Linked File 24805 https://bugs.webkit.org/show_bug.cgi?id=73475 24806 <rdar://problem/10500337> 24807 24808 Reviewed by Dan Bernstein. 24809 24810 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL 24811 for the request, so that CFNetwork would know where te file was downloaded. Note that this 24812 is an easier case than downloading due to clicks, since we don't really need to build a host 24813 only URL, and could use full page URL. However, the same function is used for consistency. 24814 248152011-11-30 Igor Oliveira <igor.oliveira@openbossa.org> 24816 24817 [WK2][Qt] AC animation startTime is wrong 24818 24819 [WK2][Qt] AC animation startTime is wrong 24820 https://bugs.webkit.org/show_bug.cgi?id=73467 24821 24822 When WebProcess sends animation information to UIProcess, It uses the 24823 current time(WTF::currentTime) minus the timeOffset to set the start time 24824 animation. 24825 24826 But there is a latency between the WebProcess and UIProcess communication 24827 and sometimes the animation transition starts late. 24828 24829 This patch fixes the bug moving the startTime calculation to UIProcess. 24830 24831 Reviewed by Noam Rosenthal. 24832 24833 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 24834 (WebKit::LayerTreeHostProxy::syncLayerParameters): 24835 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 24836 (WebCore::WebGraphicsLayer::addAnimation): 24837 248382011-11-30 Csaba Osztrogonác <ossy@webkit.org> 24839 24840 [Qt] Buildfix for generating forwarding headers 24841 https://bugs.webkit.org/show_bug.cgi?id=73446 24842 24843 Reviewed by Noam Rosenthal. 24844 24845 * DerivedSources.pri: Always create the parent directory before generating a forwarding header. 24846 248472011-11-30 Dan Bernstein <mitz@apple.com> 24848 24849 WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view 24850 https://bugs.webkit.org/show_bug.cgi?id=73476 24851 24852 Reviewed by Anders Carlsson. 24853 24854 * Shared/WebPageCreationParameters.cpp: 24855 (WebKit::WebPageCreationParameters::encode): Encode pageLength. 24856 (WebKit::WebPageCreationParameters::decode): Decode pageLength. 24857 * Shared/WebPageCreationParameters.h: Added pageLength. 24858 * UIProcess/API/C/WKPage.cpp: 24859 (WKPageSetPageLength): Added this accessor. 24860 (WKPageGetPageLength): Ditto. 24861 * UIProcess/API/C/WKPagePrivate.h: 24862 * UIProcess/API/mac/WKBrowsingContextController.mm: 24863 (-[WKBrowsingContextController setPageLength:]): Ditto. 24864 (-[WKBrowsingContextController pageLength]): Ditto. 24865 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: 24866 * UIProcess/WebPageProxy.cpp: 24867 (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength. 24868 (WebKit::WebPageProxy::setPageLength): Added. 24869 (WebKit::WebPageProxy::creationParameters): Initialize pageLength. 24870 * UIProcess/WebPageProxy.h: 24871 (WebKit::WebPageProxy::pageLength): Added. 24872 * WebProcess/WebPage/WebPage.cpp: 24873 (WebKit::WebPage::WebPage): Set the page length based on the creation parameters. 24874 (WebKit::WebPage::setPageLength): Added. 24875 * WebProcess/WebPage/WebPage.h: 24876 * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength. 24877 248782011-11-30 Alejandro G. Castro <alex@igalia.com> 24879 24880 [GTK] Add accelerated compositing compilation option 24881 https://bugs.webkit.org/show_bug.cgi?id=73298 24882 24883 Compile whatever we have inside the USE(ACCELERATED_COMPOSITING) 24884 define. Fix accelerated compositing compilation in WK2, update the 24885 enter/exit functions. 24886 24887 Reviewed by Martin Robinson. 24888 24889 * UIProcess/API/gtk/PageClientImpl.cpp: 24890 (WebKit::PageClientImpl::enterAcceleratedCompositingMode): 24891 (WebKit::PageClientImpl::exitAcceleratedCompositingMode): 24892 * UIProcess/API/gtk/PageClientImpl.h: 24893 248942011-11-29 Beth Dakin <bdakin@apple.com> 24895 24896 https://bugs.webkit.org/show_bug.cgi?id=72751 24897 WebKit2.MouseMoveAfterCrash API test is failing 24898 24899 Reviewed by Sam Weinig. 24900 24901 windowIsFocused() is too restrictive. All we need to know is that the page is 24902 active. 24903 * WebProcess/WebPage/WebPage.cpp: 24904 (WebKit::WebPage::mouseEvent): 24905 (WebKit::WebPage::mouseEventSyncForTesting): 24906 249072011-11-29 Sam Weinig <sam@webkit.org> 24908 24909 Add move semantics to WKRetainPtr 24910 https://bugs.webkit.org/show_bug.cgi?id=73400 24911 24912 Reviewed by Anders Carlsson. 24913 24914 * UIProcess/API/cpp/WKRetainPtr.h: 24915 (WebKit::WKRetainPtr::WKRetainPtr): 24916 Add a move constructor and move enabled assignment operators 24917 to WKRetainPtr if the compiler being used supports rvalue 24918 references. If the compiler does not support it, we fallback 24919 to the copy semantics we have always had. 24920 249212011-11-30 Mario Sanchez Prada <msanchez@igalia.com> 24922 24923 [Gtk] Links should be Tab-focusable by default 24924 https://bugs.webkit.org/show_bug.cgi?id=73427 24925 24926 Reviewed by Martin Robinson. 24927 24928 * UIProcess/API/gtk/WebKitSettings.cpp: 24929 (webkit_settings_class_init): Switch the default value for 24930 'enable-tabs-to-links' property from FALSE to TRUE. 24931 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 24932 (testWebKitSettings): Updated unit test. 24933 249342011-11-30 Alexey Proskuryakov <ap@apple.com> 24935 24936 Download page URL should be set by WebCore 24937 https://bugs.webkit.org/show_bug.cgi?id=73358 24938 24939 Reviewed by Darin Adler. 24940 24941 * WebProcess/Downloads/mac/DownloadMac.mm: 24942 (WebKit::Download::start): There is no need to set original URL post factum any more. 24943 (WebKit::Download::startWithHandle): Ditto. 24944 249452011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 24946 24947 Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better 24948 comments to explain its purpose. 24949 24950 Reviewed by Simon Hausmann. 24951 24952 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24953 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer): 24954 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer): 24955 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 24956 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 24957 (WebKit::QtViewportInteractionEngine::scrollStateChanged): 24958 (WebKit::QtViewportInteractionEngine::applyConstraints): 24959 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 24960 * UIProcess/qt/QtViewportInteractionEngine.h: 24961 249622011-11-30 Simon Hausmann <simon.hausmann@nokia.com> 24963 24964 Build fix. The removal of the Qt threading back-end also removed 24965 an implicit QString inclusion/forward-declaration. 24966 24967 * UIProcess/qt/QtWebContext.h: 24968 249692011-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org> 24970 24971 [Qt] Clean up the Qt viewport interaction engine 24972 24973 Reviewed by Simon Hausmann. 24974 24975 * UIProcess/qt/QtViewportInteractionEngine.cpp: 24976 (WebKit::QtViewportInteractionEngine::reset): 24977 24978 Make sure reset is not called while suspended. 24979 24980 (WebKit::QtViewportInteractionEngine::applyConstraints): 24981 24982 We always need to apply the constrains due to initial-scale. 24983 24984 Now that we only apply the constrains when we are ready to 24985 paint, it is impossible for the user to have interacted with 24986 the content in the case the viewport meta tag was declared 24987 in the <head> tag, and it is thus always applied. 24988 24989 (WebKit::QtViewportInteractionEngine::panGestureStarted): 24990 (WebKit::QtViewportInteractionEngine::pinchGestureActive): 24991 24992 Fix this method to actually do what it advertises, before 24993 it would be true even if just animation a bounce back effect. 24994 24995 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 24996 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 24997 * UIProcess/qt/QtViewportInteractionEngine.h: 24998 24999 General, get rid of the interaction flags as we only need to 25000 know whether the user interacted (panned, pinched, double-tapped). 25001 Before we would still apply initial-scale if the user had panned 25002 the content which can be pretty confusing. 25003 250042011-11-30 Simon Hausmann <simon.hausmann@nokia.com> 25005 25006 Unreviewed prospective mac build fix after r101450. 25007 25008 * Platform/mac/ModuleMac.mm: 25009 (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result. 25010 250112011-11-30 Adenilson Cavalcanti <adenilson.silva@openbossa.org> 25012 25013 [Qt][WK2] Implement permission API for Qt port 25014 https://bugs.webkit.org/show_bug.cgi?id=59200 25015 25016 Permission API hookup for Geolocation, it allows to receive in WebView 25017 a signal when a permission request is done (e.g. to grant permission 25018 for accessing geolocation information) and set it accordingly. 25019 25020 Reviewed by Simon Hausmann. 25021 25022 * Target.pri: 25023 * UIProcess/API/qt/qquickwebview_p.h: 25024 * UIProcess/API/qt/qwebpermissionrequest.cpp: Added. 25025 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate): 25026 (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate): 25027 (QWebPermissionRequest::create): 25028 (QWebPermissionRequest::QWebPermissionRequest): 25029 (QWebPermissionRequest::~QWebPermissionRequest): 25030 (QWebPermissionRequest::type): 25031 (QWebPermissionRequest::setAllow): 25032 (QWebPermissionRequest::allow): 25033 (QWebPermissionRequest::scheme): 25034 (QWebPermissionRequest::host): 25035 (QWebPermissionRequest::port): 25036 * UIProcess/API/qt/qwebpermissionrequest_p.h: Added. 25037 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Added. 25038 * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Added. 25039 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 25040 * UIProcess/qt/QtWebPageUIClient.cpp: 25041 (QtWebPageUIClient::QtWebPageUIClient): 25042 (QtWebPageUIClient::permissionRequest): 25043 (QtWebPageUIClient::policyForGeolocationPermissionRequest): 25044 * UIProcess/qt/QtWebPageUIClient.h: 25045 250462011-11-30 Alexey Proskuryakov <ap@apple.com> 25047 25048 -[WKView attributedSubstringForProposedRange:actualRange:] doesn't update actualRange when it's out of bounds 25049 https://bugs.webkit.org/show_bug.cgi?id=67813 25050 25051 Reviewed by Simon Fraser. 25052 25053 * UIProcess/API/mac/WKView.mm: 25054 (-[WKView attributedSubstringForProposedRange:actualRange:]): Update actualRange to match 25055 result length. 25056 (-[WKView firstRectForCharacterRange:actualRange:]): Added a FIXME. This is harder to 25057 implement, and it's unclear if clients care at this time. 25058 250592011-11-29 Sam Weinig <sam@webkit.org> 25060 25061 Remove RetainPtr::releaseRef 25062 https://bugs.webkit.org/show_bug.cgi?id=73396 25063 25064 Reviewed by Dan Bernstein. 25065 25066 * Platform/mac/ModuleMac.mm: 25067 (WebKit::Module::unload): 25068 Replace the final use of RetainPtr::releaseRef() with RetainPtr::leakRef(), 25069 its sexy replacement. 25070 250712011-11-29 Jessie Berlin <jberlin@apple.com> 25072 25073 WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins 25074 the first time it is called. 25075 https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>) 25076 25077 Reviewed by Brady Eidson. 25078 25079 Queue any requests for the origins that have Local Storage until the StorageTracker is done 25080 loading the list of those origins from disk. 25081 25082 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: 25083 (WebKit::keyValueStorageOriginIdentifiers): 25084 Refactored here from getKeyValueStorageOrigins so it can be used by didFinishLoadingOrigins. 25085 (WebKit::dispatchDidGetKeyValueStorageOrigins): 25086 Ditto. 25087 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 25088 If the StorageTracker is not done loading the list of origins from disk, queue up the 25089 request to be handled later. 25090 (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins): 25091 Dispatch the results for any requests that were make before the StorageTracker was done 25092 loading the list of origins from disk. 25093 (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin): 25094 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: 25095 25096 * WebProcess/WebProcess.cpp: 25097 (WebKit::WebProcess::initializeWebProcess): 25098 Set the WebKeyValueStorageManager as the StorageTrackerClient. 25099 251002011-11-29 Anders Carlsson <andersca@apple.com> 25101 25102 Decorate adoptWK with WARN_UNUSED_RETURN 25103 https://bugs.webkit.org/show_bug.cgi?id=73331 25104 25105 Reviewed by Sam Weinig. 25106 25107 * UIProcess/API/cpp/WKRetainPtr.h: 25108 (WebKit::adoptWK): 25109 251102011-11-29 Carlos Garcia Campos <cgarcia@igalia.com> 25111 25112 Unreviewed. Fix GTK+ WebKit2 build after r101312. 25113 25114 * Scripts/generate-forwarding-headers.pl: Add blackberry to the 25115 list of platforms. 25116 251172011-11-29 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 25118 25119 [Qt] Don't hard-code the list of WebKit2 generated sources 25120 25121 The generated sources are... wait for it... generated. So 25122 use the generator itself to figure out which sources we need 25123 to compile. 25124 25125 Reviewed by Simon Hausmann. 25126 25127 * DerivedSources.pri: 25128 * Target.pri: 25129 251302011-11-29 Carlos Garcia Campos <cgarcia@igalia.com> 25131 25132 Unreviewed. Fix the GTK+ port build after r101307. 25133 25134 * GNUmakefile.am: Add missing files to compilation. 25135 251362011-11-29 Kenneth Rohde Christiansen <kenneth@webkit.org> 25137 25138 [Qt] Add the infrastructure for enabling suspend/resume. 25139 25140 Reviewed by Simon Hausmann. 25141 25142 Also, remove the painting optimization as it is broken in some 25143 situations, as there is an assumption in that comparison that 25144 the guards cannot be nested, which goes against the design and 25145 its use. 25146 25147 * UIProcess/API/qt/qquickwebview.cpp: 25148 (QQuickWebViewPrivate::initializeDesktop): 25149 (QQuickWebViewPrivate::initializeTouch): 25150 (QQuickWebViewPrivate::_q_suspend): 25151 (QQuickWebViewPrivate::_q_resume): 25152 * UIProcess/API/qt/qquickwebview_p.h: 25153 * UIProcess/API/qt/qquickwebview_p_p.h: 25154 * UIProcess/qt/QtViewportInteractionEngine.cpp: 25155 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard): 25156 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard): 25157 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 25158 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 25159 (WebKit::QtViewportInteractionEngine::scrollStateChanged): 25160 (WebKit::QtViewportInteractionEngine::event): 25161 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 25162 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 25163 (WebKit::QtViewportInteractionEngine::reset): 25164 (WebKit::QtViewportInteractionEngine::applyConstraints): 25165 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 25166 (WebKit::QtViewportInteractionEngine::panGestureEnded): 25167 (WebKit::QtViewportInteractionEngine::pinchGestureActive): 25168 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 25169 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 25170 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 25171 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 25172 * UIProcess/qt/QtViewportInteractionEngine.h: 25173 251742011-11-29 Carlos Garcia Campos <cgarcia@igalia.com> 25175 25176 [GTK] Add WebKitURIResponse to WebKit2 GTK+ API 25177 https://bugs.webkit.org/show_bug.cgi?id=72946 25178 25179 Reviewed by Martin Robinson. 25180 25181 * GNUmakefile.am: Add new files to compilation. 25182 * UIProcess/API/gtk/WebKitURIResponse.cpp: Added. 25183 (webkitURIResponseFinalize): 25184 (webkitURIResponseGetProperty): 25185 (webkitURIResponseSetProperty): 25186 (webkit_uri_response_class_init): 25187 (webkit_uri_response_init): 25188 (webkit_uri_response_get_uri): Return the URI of the response. 25189 (webkit_uri_response_get_status_code): Return the status code of 25190 the response, or SOUP_STATUS_NONE. 25191 (webkit_uri_response_get_content_length): Return the expected 25192 content length of the response. 25193 (webkitURIResponseCreateForSoupMessage): Private function to 25194 create a response object from a SoupMessage. 25195 (webkitURIResponseGetSoupMessage): Return the soup message 25196 associated to the response. 25197 (webkitURIResponseSetContentLength): Set the expected content 25198 length of the response. This is useful for non http responses. 25199 * UIProcess/API/gtk/WebKitURIResponse.h: Added. 25200 * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Added. 25201 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section. 25202 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 25203 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 25204 webkit_uri_response_get_type(). 25205 * UIProcess/API/gtk/webkit2.h: Add WebKitURIResponse.h. 25206 252072011-11-29 Kenneth Rohde Christiansen <kenneth@webkit.org> 25208 25209 [Qt] QQuickWebView gets wrong position after reload 25210 https://bugs.webkit.org/show_bug.cgi?id=73292 25211 25212 Reviewed by Simon Hausmann. 25213 25214 The ensureContentWithinViewportBoundary animates the current viewport 25215 item into boundaries. That of course breaks when we try to animate it, 25216 given the initial-scale which hasn't been applied; so apply it. 25217 25218 Also put the QScroller settings code in the ctor as it never changes. 25219 25220 * UIProcess/qt/QtViewportInteractionEngine.cpp: 25221 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 25222 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 25223 (WebKit::QtViewportInteractionEngine::reset): 25224 (WebKit::QtViewportInteractionEngine::applyConstraints): 25225 * UIProcess/qt/QtViewportInteractionEngine.h: 25226 252272011-11-29 Roland Steiner <rolandsteiner@chromium.org> 25228 25229 <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit 25230 https://bugs.webkit.org/show_bug.cgi?id=72848 25231 25232 Reviewed by Dimitri Glazkov. 25233 25234 * Configurations/FeatureDefines.xcconfig: 25235 252362011-11-28 Jon Lee <jonlee@apple.com> 25237 25238 Create skeleton framework for notifications support in WK2 25239 https://bugs.webkit.org/show_bug.cgi?id=73253 25240 <rdar://problem/10356943> 25241 25242 Reviewed by Sam Weinig. 25243 25244 * WebKit2.xcodeproj/project.pbxproj: Added classes for notification support. 25245 * win/WebKit2.vcproj: Ditto. 25246 * Target.pri: Ditto. 25247 * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform. 25248 * DerivedSources.make: Add Notifications to VPATH. 25249 * Platform/CoreIPC/MessageID.h: List WebNotificationManagerProxy as a class with messages. 25250 * Scripts/webkit2/messages.py: Mark WebCore::NotificationContents as a struct. 25251 25252 * Shared/API/c/WKBase.h: Map opaque types to NotificationProvider, NotificationManager, and Notification. 25253 * UIProcess/API/C/WKAPICast.h: Map WK types toNotificationProvider, NotificationManager, and Notification. 25254 * Shared/APIObject.h: Add Notification and NotificationManager as APIObjects. 25255 * Shared/WebCoreArgumentCoders.cpp: Added coders for KURL. 25256 (CoreIPC::::encode): 25257 (CoreIPC::::decode): 25258 * Shared/WebCoreArgumentCoders.h: 25259 25260 * UIProcess/WebNotification.cpp: Added. 25261 (WebKit::WebNotification::WebNotification): 25262 (WebKit::WebNotification::~WebNotification): 25263 (WebKit::WebNotification::encode): 25264 (WebKit::WebNotification::decode): 25265 * UIProcess/WebNotification.h: Added. 25266 (WebKit::WebNotification::create): 25267 (WebKit::WebNotification::title): 25268 (WebKit::WebNotification::body): 25269 (WebKit::WebNotification::type): 25270 * UIProcess/API/C/WKNotification.cpp: Added as API. 25271 (WKNotificationGetTypeID): 25272 (WKNotificationCopyTitle): 25273 (WKNotificationCopyBody): 25274 * UIProcess/API/C/WKNotification.h: Added as API. 25275 25276 * WebProcess/Notifications/WebNotificationManager.h: Added. Contains for now show() and cancel(). 25277 The rest of the notification client methods will be added later. These two functions send messages 25278 to the manager proxy. 25279 * WebProcess/Notifications/WebNotificationManager.cpp: Added. 25280 (WebKit::WebNotificationManager::WebNotificationManager): 25281 (WebKit::WebNotificationManager::~WebNotificationManager): 25282 (WebKit::WebNotificationManager::show): 25283 (WebKit::WebNotificationManager::cancel): 25284 25285 * UIProcess/WebNotificationManagerProxy.cpp: Added. 25286 (WebKit::WebNotificationManagerProxy::create): 25287 (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): 25288 (WebKit::WebNotificationManagerProxy::~WebNotificationManagerProxy): 25289 (WebKit::WebNotificationManagerProxy::invalidate): 25290 (WebKit::WebNotificationManagerProxy::initializeProvider): 25291 (WebKit::WebNotificationManagerProxy::didReceiveMessage): 25292 (WebKit::WebNotificationManagerProxy::show): 25293 (WebKit::WebNotificationManagerProxy::cancel): 25294 * UIProcess/WebNotificationManagerProxy.h: Added. 25295 (WebKit::WebNotificationManagerProxy::clearContext): 25296 (WebKit::WebNotificationManagerProxy::type): 25297 * UIProcess/WebNotificationManagerProxy.messages.in: Added. 25298 * UIProcess/API/C/WKNotificationManager.cpp: Added. 25299 (WKNotificationManagerGetTypeID): 25300 (WKNotificationManagerSetProvider): 25301 * UIProcess/API/C/WKNotificationManager.h: Added. 25302 25303 * UIProcess/WebContext.h: Add the notification manager to the web context. 25304 (WebKit::WebContext::notificationManagerProxy): Access the manager. 25305 * UIProcess/WebContext.cpp: 25306 (WebKit::WebContext::WebContext): Boilerplate for managers. 25307 (WebKit::WebContext::~WebContext): Boilerplate for managers. 25308 (WebKit::WebContext::disconnectProcess): Boilerplate for managers. 25309 (WebKit::WebContext::didReceiveMessage): Forward messages to the notification manager. 25310 * UIProcess/API/C/WKContext.cpp: Expose as API. 25311 (WKContextGetNotificationManager): 25312 * UIProcess/API/C/WKContext.h: Expose as API. 25313 25314 * UIProcess/API/C/WKNotificationProvider.h: Added. 25315 * UIProcess/WebNotificationProvider.h: Added as APIClient. 25316 * UIProcess/WebNotificationProvider.cpp: Added. 25317 (WebKit::WebNotificationProvider::show): Forward call to the client. 25318 (WebKit::WebNotificationProvider::cancel): Forward call to the client. 25319 * UIProcess/WebProcessProxy.cpp: 25320 (WebKit::WebProcessProxy::didReceiveMessage): Forward messages for notification manager to the context. 25321 25322 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove notificationPresenter(). 25323 * WebProcess/WebCoreSupport/WebChromeClient.h: Remove notificationPresenter(). 25324 25325 * WebProcess/WebCoreSupport/WebNotificationClient.h: Added. Forwards client methods to manager. 25326 * WebProcess/WebCoreSupport/WebNotificationClient.cpp: Added. Mostly stub implementation for now. 25327 (WebKit::WebNotificationClient::WebNotificationClient): 25328 (WebKit::WebNotificationClient::~WebNotificationClient): 25329 (WebKit::WebNotificationClient::show): 25330 (WebKit::WebNotificationClient::cancel): 25331 (WebKit::WebNotificationClient::notificationObjectDestroyed): 25332 (WebKit::WebNotificationClient::requestPermission): 25333 (WebKit::WebNotificationClient::cancelRequestsForPermission): 25334 (WebKit::WebNotificationClient::checkPermission): 25335 25336 * WebProcess/WebPage/WebPage.h: Added WebNotificationClient as one of its page clients. 25337 * WebProcess/WebPage/WebPage.cpp: 25338 (WebKit::WebPage::WebPage): Set the notification client to WebNotificationClient. 25339 * WebProcess/WebProcess.h: Added WebNotificationManager. 25340 (WebKit::WebProcess::notificationManager): 25341 * WebProcess/WebProcess.cpp: 25342 (WebKit::WebProcess::WebProcess): Initialize notificaton manager. 25343 253442011-11-28 Brent Fulgham <bfulgham@webkit.org> 25345 25346 [WinCairo] Unreviewed build corrections. 25347 25348 * UIProcess/BackingStore.h: WinCairo doesn't need the Cairo backing 25349 for widgets. 25350 * win/WebKit2CFLite.def: Update to match WebKit2.def. 25351 253522011-11-28 Beth Dakin <bdakin@apple.com> 25353 25354 https://bugs.webkit.org/show_bug.cgi?id=72551 25355 When the recommended scrollbar style changes, WKView's tracking options should 25356 adjust accordingly 25357 -and corresponding- 25358 <rdar://problem/10409328> 25359 25360 Reviewed by Darin Adler. 25361 25362 These new functions take care of passing along the 25363 recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 25364 * UIProcess/API/mac/PageClientImpl.h: 25365 * UIProcess/PageClient.h: 25366 * UIProcess/WebPageProxy.cpp: 25367 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange): 25368 * UIProcess/WebPageProxy.h: 25369 * UIProcess/WebPageProxy.messages.in: 25370 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25371 (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange): 25372 * WebProcess/WebCoreSupport/WebChromeClient.h: 25373 25374 This is where we actually respond to the recommendedScrollbarStyleDidChange 25375 message. We remove the existing tracking area and create a new tracking area with 25376 the appropriate tracking options. 25377 * UIProcess/API/mac/PageClientImpl.mm: 25378 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange): 25379 25380 BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 25381 must now take two parameters like the one in ScrollableArea. 25382 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 25383 (WebKit::BuiltInPDFView::scrollbarStyleChanged): 25384 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 25385 253862011-11-28 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 25387 25388 [Qt][WK2] Fix panning after r101179 25389 https://bugs.webkit.org/show_bug.cgi?id=73224 25390 25391 Reviewed by Noam Rosenthal. 25392 25393 We were wrongly checking for interactionEngine() instead of 25394 !interactionEngine() after the QtWebPageEventHandler refactor. 25395 25396 * UIProcess/qt/QtPanGestureRecognizer.cpp: 25397 (WebKit::QtPanGestureRecognizer::recognize): 25398 253992011-11-28 Kenneth Rohde Christiansen <kenneth@webkit.org> 25400 25401 Make sure the useFixedLayout feature is consistently handled 25402 https://bugs.webkit.org/show_bug.cgi?id=73212 25403 25404 Reviewed by Simon Hausmann. 25405 25406 Set the fixed layout on the UI side so that it is part of the page 25407 creation parameters and ensure that the page parameters are set 25408 before creating the page. 25409 25410 The parameters are set to our defaults and are now altered in the 25411 WebKitTestRunner. 25412 25413 * UIProcess/API/qt/qquickwebview.cpp: 25414 (QQuickWebViewPrivate::QQuickWebViewPrivate): 25415 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 25416 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour): 25417 (QQuickWebView::QQuickWebView): 25418 * UIProcess/WebPageProxy.cpp: 25419 (WebKit::WebPageProxy::setUseFixedLayout): 25420 * WebProcess/WebPage/WebPage.cpp: 25421 (WebKit::WebPage::WebPage): 25422 25423 On the web process side the default value for useFixedLayout 25424 wasn't actually read from the creation parameters. As it now may 25425 be different than that of the FrameView, we now call 25426 setFixedLayout in the constructor so make sure the value is 25427 propagated to the FrameView. 25428 25429 (WebKit::WebPage::setFixedVisibleContentRect): 25430 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 25431 (WebKit::WebPage::resizeToContentsIfNeeded): 25432 (WebKit::WebPage::setViewportSize): 25433 (WebKit::WebPage::setUseFixedLayout): 25434 (WebKit::WebPage::setFixedLayoutSize): 25435 25436 The methods that depends on fixed layout now have asserts to make 25437 sure that they are used properly. 25438 254392011-11-28 Carlos Garcia Campos <cgarcia@igalia.com> 25440 25441 [GTK] Rename WebKitNetworkRequest to WebKitURIRequest 25442 https://bugs.webkit.org/show_bug.cgi?id=73202 25443 25444 Reviewed by Martin Robinson. 25445 25446 Network is confusing because the request can be for a local file uri. 25447 25448 * GNUmakefile.am: 25449 * UIProcess/API/gtk/WebKitNetworkRequest.h: Removed. 25450 * UIProcess/API/gtk/WebKitURIRequest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitNetworkRequest.cpp. 25451 (webkitURIRequestFinalize): 25452 (webkitURIRequestGetProperty): 25453 (webkitURIRequestSetProperty): 25454 (webkit_uri_request_class_init): 25455 (webkit_uri_request_init): 25456 (webkit_uri_request_new): 25457 (webkit_uri_request_get_uri): 25458 * UIProcess/API/gtk/WebKitURIRequest.h: Added. 25459 * UIProcess/API/gtk/WebKitWebView.cpp: 25460 (webkit_web_view_load_request): 25461 * UIProcess/API/gtk/WebKitWebView.h: 25462 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 25463 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 25464 (testLoadRequest): 25465 * UIProcess/API/gtk/tests/WebViewTest.cpp: 25466 (WebViewTest::loadRequest): 25467 * UIProcess/API/gtk/tests/WebViewTest.h: 25468 * UIProcess/API/gtk/webkit2.h: 25469 254702011-11-28 Simon Hausmann <simon.hausmann@nokia.com> 25471 25472 [Qt] WTF should be built as separate static library 25473 https://bugs.webkit.org/show_bug.cgi?id=73201 25474 25475 Reviewed by Tor Arne Vestbø. 25476 25477 * Target.pri: Require wtf. 25478 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Remove unnecessary config.h 25479 inclusion and thus wtf dependency. 25480 254812011-11-28 Pavel Feldman <pfeldman@chromium.org> 25482 25483 REGRESSION (r101201): Crash inside WebKit::WebInspector::didClose() when closing any tab 25484 https://bugs.webkit.org/show_bug.cgi?id=73183 25485 25486 Reviewed by Yury Semikhatsky. 25487 25488 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 25489 (WebKit::WebInspectorClient::closeInspectorFrontend): 25490 254912011-11-28 Balazs Kelemen <kbalazs@webkit.org> 25492 25493 Reviewed by Simon Hausmann. 25494 25495 [WK2] fast/frames/iframe-plugin-load-remove-document-crash.html crashes 25496 https://bugs.webkit.org/show_bug.cgi?id=63321 25497 25498 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 25499 (WebKit::NetscapePlugin::manualStreamDidFail): Don't assert that m_manualStream 25500 is not null since it is not guaranteed but instead handle the case when it is null 25501 with early return. 25502 255032011-11-27 Zeno Albisser <zeno@webkit.org> 25504 25505 [Qt][WK2] MiniBrowser stops displaying content after surfing a few pages. 25506 https://bugs.webkit.org/show_bug.cgi?id=73172 25507 25508 Properly initialize WebLayerTreeInfo structures. 25509 25510 Reviewed by Andreas Kling. 25511 25512 * Shared/WebLayerTreeInfo.h: 25513 (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo): 25514 (WebKit::WebLayerAnimation::WebLayerAnimation): 25515 (WebKit::WebLayerInfo::WebLayerInfo): 25516 (WebKit::WebLayerTreeInfo::WebLayerTreeInfo): 25517 255182011-11-27 Mark Rowe <mrowe@apple.com> 25519 25520 <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version 25521 25522 Reviewed by Dan Bernstein. 25523 25524 * UIProcess/mac/WebPageProxyMac.mm: 25525 (WebKit::macOSXVersionString): Use WKGetMacOSXVersionString. 25526 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 25527 (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString. 25528 255292011-11-26 Pavel Feldman <pfeldman@google.com> 25530 25531 Web Inspector: remove disconnectFromBackend from the protocol. 25532 https://bugs.webkit.org/show_bug.cgi?id=73127 25533 25534 Reviewed by Yury Semikhatsky. 25535 25536 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 25537 (WebKit::WebInspectorClient::inspectorDestroyed): 25538 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 25539 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 25540 255412011-11-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 25542 25543 [Qt] [WK2] QtDownloadManager doesn't need to be RefCounted 25544 https://bugs.webkit.org/show_bug.cgi?id=73151 25545 25546 Reviewed by Kenneth Rohde Christiansen. 25547 25548 QtDownloadManager is owned by QtWebContext, and doesn't need to be a RefCounted 25549 class. This commit also makes the callback handlers private -- following the similar 25550 approach we take in other clients of the C API. 25551 25552 * UIProcess/qt/QtDownloadManager.cpp: 25553 (WebKit::QtDownloadManager::QtDownloadManager): 25554 (WebKit::QtDownloadManager::addDownload): 25555 (WebKit::toQtDownloadManager): 25556 (WebKit::QtDownloadManager::didReceiveResponse): 25557 (WebKit::QtDownloadManager::didCreateDestination): 25558 (WebKit::QtDownloadManager::didFinishDownload): remove unused failingUrl local variable. 25559 (WebKit::QtDownloadManager::didFailDownload): 25560 (WebKit::QtDownloadManager::didReceiveDataForDownload): 25561 * UIProcess/qt/QtDownloadManager.h: 25562 * UIProcess/qt/QtWebContext.cpp: 25563 (WebKit::QtWebContext::initialize): 25564 * UIProcess/qt/QtWebContext.h: 25565 255662011-11-26 Sheriff Bot <webkit.review.bot@gmail.com> 25567 25568 Unreviewed, rolling out r101193. 25569 http://trac.webkit.org/changeset/101193 25570 https://bugs.webkit.org/show_bug.cgi?id=73158 25571 25572 Breaks Windows and Qt minimal. (Requested by pfeldman on 25573 #webkit). 25574 25575 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 25576 (WebKit::WebInspectorClient::inspectorDestroyed): 25577 * WebProcess/WebCoreSupport/WebInspectorClient.h: 25578 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 25579 (WebKit::WebInspectorFrontendClient::disconnectFromBackend): 25580 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 25581 255822011-11-26 Pavel Feldman <pfeldman@google.com> 25583 25584 Web Inspector: remove disconnectFromBackend from the protocol. 25585 https://bugs.webkit.org/show_bug.cgi?id=73127 25586 25587 Reviewed by Yury Semikhatsky. 25588 25589 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 25590 (WebKit::WebInspectorClient::inspectorDestroyed): 25591 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 25592 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 25593 255942011-11-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 25595 25596 [Qt] [WK2] Remove WebContext related code from QtWebPageProxy 25597 https://bugs.webkit.org/show_bug.cgi?id=73150 25598 25599 Reviewed by Kenneth Rohde Christiansen. 25600 25601 Creates a QtWebContext class that abstracts away from QtWebPageProxy the 25602 handling of creating / maintaining the default WebContext, as well as the 25603 code for the WKContextRef clients. 25604 25605 Another motivation for having this entity is to have a proper place to add 25606 objects are bound to the context, like the QtDownloadManager. 25607 25608 * Target.pri: 25609 * UIProcess/qt/ClientImpl.cpp: Removed. 25610 * UIProcess/qt/ClientImpl.h: Removed. 25611 * UIProcess/qt/QtDownloadManager.cpp: 25612 * UIProcess/qt/QtWebContext.cpp: Added. 25613 (WebKit::QtWebContext::QtWebContext): 25614 (WebKit::QtWebContext::~QtWebContext): 25615 (WebKit::QtWebContext::create): 25616 (WebKit::QtWebContext::defaultContext): 25617 (WebKit::QtWebContext::createWebPage): 25618 (WebKit::QtWebContext::setNavigatorQtObjectEnabled): 25619 (WebKit::QtWebContext::postMessageToNavigatorQtObject): 25620 (WebKit::QtWebContext::initialize): 25621 (WebKit::QtWebContext::initializeContextInjectedBundleClient): 25622 (WebKit::toQtWebContext): 25623 (WebKit::QtWebContext::didReceiveMessageFromInjectedBundle): 25624 * UIProcess/qt/QtWebContext.h: Added. 25625 (WebKit::QtWebContext::downloadManager): 25626 * UIProcess/qt/QtWebPageProxy.cpp: 25627 (QtWebPageProxy::QtWebPageProxy): 25628 (QtWebPageProxy::~QtWebPageProxy): 25629 (QtWebPageProxy::setNavigatorQtObjectEnabled): 25630 (QtWebPageProxy::postMessageToNavigatorQtObject): 25631 (QtWebPageProxy::handleDownloadRequest): 25632 * UIProcess/qt/QtWebPageProxy.h: 25633 256342011-11-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 25635 25636 [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler 25637 https://bugs.webkit.org/show_bug.cgi?id=73096 25638 25639 Reviewed by Kenneth Rohde Christiansen. 25640 25641 Move all the interaction engine usage to QtWebPageEventHandler, 25642 making all GestureRecognizers (Tap, Pinch and Pan) use it directly. 25643 25644 * UIProcess/qt/QtGestureRecognizer.cpp: 25645 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 25646 * UIProcess/qt/QtGestureRecognizer.h: 25647 * UIProcess/qt/QtPanGestureRecognizer.cpp: 25648 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 25649 (WebKit::QtPanGestureRecognizer::recognize): 25650 * UIProcess/qt/QtPanGestureRecognizer.h: 25651 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 25652 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer): 25653 (WebKit::QtPinchGestureRecognizer::recognize): 25654 * UIProcess/qt/QtPinchGestureRecognizer.h: 25655 * UIProcess/qt/QtTapGestureRecognizer.cpp: 25656 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 25657 (WebKit::QtTapGestureRecognizer::recognize): 25658 (WebKit::QtTapGestureRecognizer::tapTimeout): 25659 * UIProcess/qt/QtTapGestureRecognizer.h: 25660 * UIProcess/qt/QtWebPageEventHandler.cpp: 25661 (QtWebPageEventHandler::QtWebPageEventHandler): 25662 (QtWebPageEventHandler::setViewportInteractionEngine): 25663 * UIProcess/qt/QtWebPageEventHandler.h: 25664 (QtWebPageEventHandler::interactionEngine): 25665 256662011-11-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 25667 25668 [Qt] Remove unneeded declaration from QQuickWebPagePrivate 25669 https://bugs.webkit.org/show_bug.cgi?id=73141 25670 25671 Reviewed by Antonio Gomes. 25672 25673 Left-over from r101165. 25674 25675 * UIProcess/API/qt/qquickwebpage_p_p.h: 25676 256772011-11-17 Martin Robinson <mrobinson@igalia.com> 25678 25679 [GTK] Integrate build-gtkdoc into build-webkit and make 25680 https://bugs.webkit.org/show_bug.cgi?id=72626 25681 25682 Reviewed by Philippe Normand. 25683 25684 * GNUmakefile.am: Removed references to build-gtkdoc and gtkdoc.py. 25685 * UIProcess/API/gtk/docs/build-gtkdoc: Removed. 25686 256872011-11-25 Kenneth Rohde Christiansen <kenneth@webkit.org> 25688 25689 Clean up code in WK2/ChromeClientClient related to viewport handling 25690 https://bugs.webkit.org/show_bug.cgi?id=73128 25691 25692 Reviewed by Simon Hausmann. 25693 25694 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25695 (WebKit::WebChromeClient::contentsSizeChanged): 25696 25697 Make sure that we only call resizeToContentsIfNeeded when we are 25698 using the tiled backing store and fixed layout as well. 25699 25700 Guard the scrollbar code so that it is only called when scroll 25701 delegation is not used. Do similarily for the frameset code, 25702 which makes no sense with frame flattening. 25703 25704 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 25705 25706 This method is only called for the main frame, so the main frame 25707 check has been removed. 25708 257092011-11-25 Simon Hausmann <simon.hausmann@nokia.com> 25710 25711 [Qt] Eliminate warnings about the deprecated QQuickCanvas::sceneGraphEngine() function. 25712 25713 Reviewed by Andreas Kling. 25714 25715 We use the function in question to find out if we can connect to the scene graph's 25716 afterRendering signal. The signal has been moved into QQuickCanvas right away, so 25717 we can connect to it as soon as we have a canvas. 25718 25719 * UIProcess/API/qt/qquickwebpage.cpp: 25720 (QQuickWebPagePrivate::initializeSceneGraphConnections): 25721 * UIProcess/API/qt/qquickwebpage_p.h: 25722 257232011-11-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 25724 25725 [Qt][WK2] Move event handling out of QtWebPageProxy 25726 https://bugs.webkit.org/show_bug.cgi?id=73089 25727 25728 Reviewed by Kenneth Rohde Christiansen. 25729 25730 Move all logic related to event handling, gestures and the 25731 interaction engine out of QtWebPageProxy, creating a separate 25732 class called QtWebPageEventHandler. This handler will be created 25733 by the QQuickWebViewPrivate and will be registered into QtWebPageProxy. 25734 QQuickWebPage will now call handleEvent through this entity. 25735 25736 * Target.pri: 25737 * UIProcess/API/qt/qquickwebpage.cpp: 25738 (QQuickWebPage::event): 25739 * UIProcess/API/qt/qquickwebview.cpp: 25740 (QQuickWebViewPrivate::QQuickWebViewPrivate): 25741 (QQuickWebViewPrivate::initializeDesktop): 25742 (QQuickWebViewPrivate::initializeTouch): 25743 * UIProcess/API/qt/qquickwebview_p_p.h: 25744 * UIProcess/qt/QtTapGestureRecognizer.cpp: 25745 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 25746 (WebKit::QtTapGestureRecognizer::recognize): 25747 (WebKit::QtTapGestureRecognizer::tapTimeout): 25748 * UIProcess/qt/QtTapGestureRecognizer.h: 25749 * UIProcess/qt/QtWebPageEventHandler.cpp: Added. 25750 (QtWebPageEventHandler::dragOperationToDropAction): 25751 (QtWebPageEventHandler::dragOperationToDropActions): 25752 (QtWebPageEventHandler::dropActionToDragOperation): 25753 (QtWebPageEventHandler::QtWebPageEventHandler): 25754 (QtWebPageEventHandler::~QtWebPageEventHandler): 25755 (QtWebPageEventHandler::handleEvent): 25756 (QtWebPageEventHandler::handleMouseMoveEvent): 25757 (QtWebPageEventHandler::handleMousePressEvent): 25758 (QtWebPageEventHandler::handleMouseReleaseEvent): 25759 (QtWebPageEventHandler::handleMouseDoubleClickEvent): 25760 (QtWebPageEventHandler::handleWheelEvent): 25761 (QtWebPageEventHandler::handleHoverLeaveEvent): 25762 (QtWebPageEventHandler::handleHoverMoveEvent): 25763 (QtWebPageEventHandler::handleDragEnterEvent): 25764 (QtWebPageEventHandler::handleDragLeaveEvent): 25765 (QtWebPageEventHandler::handleDragMoveEvent): 25766 (QtWebPageEventHandler::handleDropEvent): 25767 (QtWebPageEventHandler::handleSingleTapEvent): 25768 (QtWebPageEventHandler::handleDoubleTapEvent): 25769 (QtWebPageEventHandler::timerEvent): 25770 (QtWebPageEventHandler::handleKeyPressEvent): 25771 (QtWebPageEventHandler::handleKeyReleaseEvent): 25772 (QtWebPageEventHandler::handleFocusInEvent): 25773 (QtWebPageEventHandler::handleFocusOutEvent): 25774 (QtWebPageEventHandler::setViewportInteractionEngine): 25775 (QtWebPageEventHandler::touchEvent): 25776 (QtWebPageEventHandler::resetGestureRecognizers): 25777 (QtWebPageEventHandler::doneWithTouchEvent): 25778 (QtWebPageEventHandler::didFindZoomableArea): 25779 * UIProcess/qt/QtWebPageEventHandler.h: Added. 25780 * UIProcess/qt/QtWebPageProxy.cpp: 25781 (QtWebPageProxy::QtWebPageProxy): 25782 (QtWebPageProxy::init): 25783 (QtWebPageProxy::didFindZoomableArea): 25784 (QtWebPageProxy::processDidCrash): 25785 (QtWebPageProxy::startDrag): 25786 (QtWebPageProxy::doneWithTouchEvent): 25787 * UIProcess/qt/QtWebPageProxy.h: 25788 (QtWebPageProxy::eventHandler): 25789 257902011-11-25 Simon Hausmann <simon.hausmann@nokia.com> 25791 25792 [Qt] Cleanup in QML tests. 25793 25794 Reviewed by Tor Arne Vestbø. 25795 25796 Use a simple QML component for the "DesktopWebView" instead of a new QML type. 25797 This will allow the use of the experimental extension in the future. 25798 25799 * UIProcess/API/qt/qquickwebview.cpp: 25800 (QQuickWebViewExperimental::useTraditionalDesktopBehaviour): 25801 * UIProcess/API/qt/qquickwebview_p.h: 25802 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Added. 25803 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 25804 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 25805 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 25806 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: 25807 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 25808 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 25809 (main): 25810 258112011-11-24 Zeno Albisser <zeno@webkit.org> 25812 25813 [Qt]WK2][Mac] Use Mac port's IPC implementation instead of Unix sockets 25814 https://bugs.webkit.org/show_bug.cgi?id=72495 25815 25816 Make Qt using mach ports and Grand Central Dispatch for IPC 25817 when building on Mac. 25818 25819 Reviewed by Simon Hausmann. 25820 25821 * Platform/CoreIPC/Attachment.cpp: 25822 * Platform/CoreIPC/Attachment.h: 25823 * Platform/CoreIPC/Connection.h: 25824 * Platform/CoreIPC/CoreIPCMessageKinds.h: 25825 * Platform/SharedMemory.h: 25826 * Platform/WorkQueue.h: 25827 * Platform/mac/MachUtilities.cpp: 25828 * Platform/mac/WorkQueueMac.cpp: 25829 * Target.pri: 25830 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 25831 (WebKit::ProcessLauncher::launchProcess): 25832 * UIProcess/WebProcessProxy.cpp: 25833 (WebKit::WebProcessProxy::didFinishLaunching): 25834 * WebProcess/qt/WebProcessMainQt.cpp: 25835 (WebKit::WebProcessMainQt): 25836 258372011-11-17 Oleg Romashin <romaxa@gmail.com> 25838 25839 [Qt][WK2] Stop leaking memory in string QWK2 API's 25840 https://bugs.webkit.org/show_bug.cgi?id=72558 25841 25842 Reviewed by Simon Hausmann. 25843 25844 WKRef API pointers don't adopt the implementation pointers by default and the implementation pointers 25845 stay alive after destroying the API pointers. 25846 This patch adopts the implementation pointers correctly by using adoptWK that returns a WKRetainPtr 25847 that will be around temporarily and correctly release the object. 25848 25849 * UIProcess/qt/QtWebPageUIClient.cpp: 25850 (QtWebPageUIClient::mouseDidMoveOverElement): 25851 * UIProcess/qt/QtDownloadManager.cpp: 25852 (WebKit::qt_wk_didFailDownload): 25853 * UIProcess/qt/QtWebPageProxy.cpp: 25854 (QtWebPageProxy::load): 25855 (QtWebPageProxy::url): 25856 (QtWebPageProxy::title): 25857 258582011-11-24 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 25859 25860 [Qt] Get rid of the buildDirForSource() function in the build system 25861 25862 At some point the plan was to allow for running qmake on sub-trees 25863 of the sources, into the top level build directory, but this is no 25864 longer possible, so no reason to keep the convenience function around. 25865 25866 Reviewed by Simon Hausmann. 25867 25868 * DerivedSources.pri: 25869 258702011-11-24 Patrick Gansterer <paroga@webkit.org> 25871 25872 [CMake] Add missing source files 25873 https://bugs.webkit.org/show_bug.cgi?id=73052 25874 25875 Reviewed by Andreas Kling. 25876 25877 Add more generic files to the sources list and remove the EFL specific stuff. 25878 25879 * CMakeLists.txt: 25880 258812011-11-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 25882 25883 [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental 25884 https://bugs.webkit.org/show_bug.cgi?id=72914 25885 25886 Reviewed by Andreas Kling. 25887 25888 Make the signal downloadRequested an experimental API from QQuickWebView 25889 and modify the qml test to use a WebView instead of a DesktopWebView. 25890 25891 * UIProcess/API/qt/qquickwebview_p.h: 25892 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml. 25893 * UIProcess/API/qt/tests/qmltests/common/download.html: Removed. 25894 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 25895 * UIProcess/qt/QtWebPageProxy.cpp: 25896 (QtWebPageProxy::didReceiveDownloadResponse): 25897 258982011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 25899 25900 [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML 25901 https://bugs.webkit.org/show_bug.cgi?id=72976 25902 25903 Reviewed by Tor Arne Vestbø. 25904 25905 Expecting slots/methods to be implemented in QML isn't very idiomatic in 25906 comparison with the alternative of having a signal. So we now use a signal 25907 for handling navigation requests, and expose a 'request' object with relevant 25908 metadata. There's also a settable property 'action' used to indicate whether 25909 the navigation should be ignored or trigger a download. 25910 25911 The pattern signal with an object parameter that can keep the reply is common in QML, 25912 and used for example for mouse signals. 25913 25914 * UIProcess/API/qt/qquickwebview.cpp: 25915 * UIProcess/API/qt/qquickwebview_p.h: 25916 * UIProcess/API/qt/qquickwebview_p_p.h: 25917 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml. 25918 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 25919 * UIProcess/qt/QtWebPagePolicyClient.cpp: 25920 (NavigationRequest::NavigationRequest): 25921 (NavigationRequest::url): 25922 (NavigationRequest::button): 25923 (NavigationRequest::modifiers): 25924 (NavigationRequest::action): 25925 (NavigationRequest::setAction): 25926 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 25927 * UIProcess/qt/QtWebPagePolicyClient.h: 25928 259292011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 25930 25931 [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient 25932 https://bugs.webkit.org/show_bug.cgi?id=72959 25933 25934 Reviewed by Andreas Kling. 25935 25936 Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new 25937 QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the 25938 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object. 25939 25940 QtPolicyInterface abstraction was not helping us as much as the separation of 25941 the client code will. It was more useful when we had multiple WebViews. 25942 25943 * Target.pri: 25944 * UIProcess/API/qt/qquickwebview.cpp: 25945 (QQuickWebViewPrivate::QQuickWebViewPrivate): 25946 (toPolicyAction): 25947 (QQuickWebViewPrivate::navigationPolicyForURL): 25948 * UIProcess/API/qt/qquickwebview_p.h: 25949 * UIProcess/API/qt/qquickwebview_p_p.h: 25950 * UIProcess/qt/ClientImpl.cpp: 25951 * UIProcess/qt/ClientImpl.h: 25952 * UIProcess/qt/QtWebPagePolicyClient.cpp: Added. 25953 (QtWebPagePolicyClient::QtWebPagePolicyClient): 25954 (QtWebPagePolicyClient::decidePolicyForNavigationAction): 25955 (toQtWebPagePolicyClient): 25956 (toQtMouseButton): 25957 (toQtKeyboardModifiers): 25958 (QtWebPagePolicyClient::decidePolicyForResponse): 25959 * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h. 25960 * UIProcess/qt/QtWebPageProxy.cpp: 25961 (QtWebPageProxy::QtWebPageProxy): 25962 (QtWebPageProxy::init): 25963 * UIProcess/qt/QtWebPageProxy.h: 25964 259652011-11-23 Raphael Kubo da Costa <kubo@profusion.mobi> 25966 25967 [CMake] Move the top-level logic to the top-level directory. 25968 https://bugs.webkit.org/show_bug.cgi?id=72685 25969 25970 Reviewed by Brent Fulgham. 25971 25972 * CMakeLists.txt: Adjust Source/ directory. 25973 259742011-11-22 Gopal Raghavan <gopal.1.raghavan@nokia.com> 25975 25976 Unreviewed : remove empty folders related to TouchWebView and DesktopWebView 25977 https://bugs.webkit.org/show_bug.cgi?id=72985 25978 25979 * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed. 25980 * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed. 25981 259822011-11-22 Carlos Garcia Campos <cgarcia@igalia.com> 25983 25984 Ensure web process before starting a download 25985 https://bugs.webkit.org/show_bug.cgi?id=72499 25986 25987 Reviewed by Anders Carlsson. 25988 25989 * UIProcess/WebContext.cpp: 25990 (WebKit::WebContext::download): Call ensureWebProcess(). 25991 259922011-11-22 Csaba Osztrogonác <ossy@webkit.org> 25993 25994 Unreviewed buildfix after r101001. 25995 25996 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 25997 (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT. 25998 259992011-11-22 Pavel Feldman <pfeldman@google.com> 26000 26001 Not reviewed: moving inspector frontend creation out of assert in WebKit2. 26002 26003 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 26004 (WebKit::WebInspectorClient::openInspectorFrontend): 26005 260062011-11-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 26007 26008 [Qt][WK2] Fix and unskip loadHtml api test 26009 https://bugs.webkit.org/show_bug.cgi?id=72916 26010 26011 Reviewed by Andreas Kling. 26012 26013 Now that linkHovered events are working again we can fix and unskip this 26014 loadHtml test. 26015 26016 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: 26017 260182011-11-22 Pavel Feldman <pfeldman@google.com> 26019 26020 Web Inspector: remove Inspector::bringToFront from the protocol. 26021 https://bugs.webkit.org/show_bug.cgi?id=72937 26022 26023 Reviewed by Yury Semikhatsky. 26024 26025 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 26026 (WebKit::WebInspectorClient::openInspectorFrontend): 26027 (WebKit::WebInspectorClient::bringFrontendToFront): 26028 * WebProcess/WebCoreSupport/WebInspectorClient.h: 26029 260302011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 26031 26032 [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient 26033 https://bugs.webkit.org/show_bug.cgi?id=72928 26034 26035 Reviewed by Andreas Kling. 26036 26037 Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new 26038 QtWebPageLoadClient registers itself with WKPageRef and it's owned by the 26039 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object. 26040 26041 * Target.pri: 26042 * UIProcess/API/qt/qquickwebview.cpp: 26043 (QQuickWebViewPrivate::QQuickWebViewPrivate): 26044 (QQuickWebView::loadProgress): 26045 * UIProcess/API/qt/qquickwebview_p.h: 26046 * UIProcess/API/qt/qquickwebview_p_p.h: 26047 * UIProcess/qt/ClientImpl.cpp: 26048 * UIProcess/qt/ClientImpl.h: 26049 * UIProcess/qt/QtWebPageLoadClient.cpp: Added. 26050 (QtWebPageLoadClient::QtWebPageLoadClient): 26051 (QtWebPageLoadClient::didStartProvisionalLoadForFrame): 26052 (QtWebPageLoadClient::didCommitLoadForFrame): 26053 (QtWebPageLoadClient::didSameDocumentNavigationForFrame): 26054 (QtWebPageLoadClient::didReceiveTitleForFrame): 26055 (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame): 26056 (QtWebPageLoadClient::dispatchLoadSucceeded): 26057 (QtWebPageLoadClient::dispatchLoadFailed): 26058 (QtWebPageLoadClient::setLoadProgress): 26059 (toQtWebPageLoadClient): 26060 (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame): 26061 (QtWebPageLoadClient::didFinishLoadForFrame): 26062 (QtWebPageLoadClient::didFailLoadWithErrorForFrame): 26063 (QtWebPageLoadClient::didStartProgress): 26064 (QtWebPageLoadClient::didChangeProgress): 26065 (QtWebPageLoadClient::didFinishProgress): 26066 * UIProcess/qt/QtWebPageLoadClient.h: Added. 26067 (QtWebPageLoadClient::loadProgress): 26068 * UIProcess/qt/QtWebPageProxy.cpp: 26069 (QtWebPageProxy::QtWebPageProxy): 26070 (QtWebPageProxy::init): 26071 (QtWebPageProxy::updateNavigationState): 26072 * UIProcess/qt/QtWebPageProxy.h: 26073 260742011-11-22 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 26075 26076 [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient 26077 https://bugs.webkit.org/show_bug.cgi?id=72910 26078 26079 Reviewed by Andreas Kling. 26080 26081 Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new 26082 QtWebPageUIClient registers itself with WKPageRef and it's owned by the 26083 QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object. 26084 26085 * Target.pri: 26086 * UIProcess/API/qt/qquickwebview.cpp: 26087 (QQuickWebViewPrivate::QQuickWebViewPrivate): 26088 (QQuickWebViewPrivate::chooseFiles): 26089 * UIProcess/API/qt/qquickwebview_p.h: 26090 * UIProcess/API/qt/qquickwebview_p_p.h: 26091 * UIProcess/qt/ClientImpl.cpp: 26092 * UIProcess/qt/ClientImpl.h: 26093 * UIProcess/qt/QtWebPageProxy.cpp: 26094 (QtWebPageProxy::init): 26095 * UIProcess/qt/QtWebPageProxy.h: 26096 * UIProcess/qt/QtWebPageUIClient.cpp: Added. 26097 (QtWebPageUIClient::QtWebPageUIClient): 26098 (QtWebPageUIClient::runJavaScriptAlert): 26099 (QtWebPageUIClient::runJavaScriptConfirm): 26100 (QtWebPageUIClient::runJavaScriptPrompt): 26101 (QtWebPageUIClient::runOpenPanel): 26102 (QtWebPageUIClient::setStatusText): 26103 (QtWebPageUIClient::mouseDidMoveOverElement): 26104 (toQtWebPageUIClient): 26105 (createNullWKString): 26106 * UIProcess/qt/QtWebPageUIClient.h: Added. 26107 261082011-11-22 Eunmi Lee <eunmi15.lee@samsung.com> 26109 26110 [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's 26111 keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName(). 26112 https://bugs.webkit.org/show_bug.cgi?id=72850 26113 26114 Reviewed by Anders Carlsson. 26115 26116 The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and 26117 windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory. 26118 26119 * Shared/efl/WebEventFactory.cpp: 26120 (WebKit::WebEventFactory::createWebKeyboardEvent): 26121 261222011-11-21 Alexis Menard <alexis.menard@openbossa.org> 26123 26124 [Qt][WK2] REGRESSION(100483): It made 2 API tests fail 26125 https://bugs.webkit.org/show_bug.cgi?id=72612 26126 26127 Reviewed by Kenneth Rohde Christiansen. 26128 26129 Make sure that when the view is focused, the page knows about it. 26130 Also set a the view to be the focused item in the failing tests. 26131 26132 * UIProcess/API/qt/qquickwebpage_p.h: 26133 * UIProcess/API/qt/qquickwebview.cpp: 26134 (QQuickWebView::focusInEvent): 26135 (QQuickWebView::focusOutEvent): 26136 * UIProcess/API/qt/qquickwebview_p.h: 26137 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: 26138 * UIProcess/qt/QtWebPageProxy.cpp: 26139 (QtWebPageProxy::isViewFocused): 26140 261412011-11-21 Simon Hausmann <simon.hausmann@nokia.com> 26142 26143 [Qt] Speed up debug builds. 26144 https://bugs.webkit.org/show_bug.cgi?id=72882 26145 26146 Reviewed by Tor Arne Vestbø. 26147 26148 * Target.pri: Make BUILDING_WebKit2 available, so it can be 26149 used by the build system. 26150 261512011-11-21 Alexis Menard <alexis.menard@openbossa.org> 26152 26153 [Qt] Remove unnecessary initialize method from QQuickWebView. 26154 https://bugs.webkit.org/show_bug.cgi?id=72905 26155 26156 Reviewed by Kenneth Rohde Christiansen. 26157 26158 We don't need this level of indirection. 26159 26160 * UIProcess/API/qt/qquickwebview.cpp: 26161 (QQuickWebViewPrivate::QQuickWebViewPrivate): 26162 (QQuickWebView::QQuickWebView): 26163 * UIProcess/API/qt/qquickwebview_p_p.h: 26164 261652011-11-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 26166 26167 [Qt][WK2] Implement loadHtml API for QQuickWebView 26168 https://bugs.webkit.org/show_bug.cgi?id=72161 26169 26170 Reviewed by Simon Hausmann. 26171 26172 Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString. 26173 This function will use WKPageLoadHTMLString in order to load HTML from a given string. 26174 26175 * UIProcess/API/qt/qquickwebview.cpp: 26176 (QQuickWebView::loadHtml): 26177 * UIProcess/API/qt/qquickwebview.h: 26178 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added. 26179 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added. 26180 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 26181 * UIProcess/qt/QtWebPageProxy.cpp: 26182 (QtWebPageProxy::loadHTMLString): 26183 * UIProcess/qt/QtWebPageProxy.h: 26184 261852011-11-21 Igor Oliveira <igor.oliveira@openbossa.org> 26186 26187 [WK2][Qt] Move Accelerated Composite animations to UIProcess 26188 https://bugs.webkit.org/show_bug.cgi?id=72753 26189 26190 Currently, all the accelerated compositing animations are applied in WebProcess and 26191 for each frame generated, WebProcess needs to sync with UIProcess. 26192 26193 This patch moves the accelerated compositing animations to UIProcess reducing the 26194 amount of synchronization messages between WebProcess and UIProcess, this is done 26195 sending animations information to UIProcess. 26196 26197 Reviewed by Noam Rosenthal. 26198 26199 * Shared/WebCoreArgumentCoders.cpp: 26200 (CoreIPC::::encode): 26201 (CoreIPC::::decode): 26202 26203 Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates 26204 the data serialization. 26205 26206 * Shared/WebCoreArgumentCoders.h: 26207 * Shared/WebLayerTreeInfo.cpp: 26208 (WebKit::WebLayerInfo::encode): 26209 (WebKit::WebLayerInfo::decode): 26210 (WebKit::WebLayerAnimation::encode): 26211 (WebKit::WebLayerAnimation::decode): 26212 26213 Create WebLayerAnimation struct, it is used to send animation information 26214 to UIProcess. 26215 26216 * Shared/WebLayerTreeInfo.h: 26217 (WebKit::WebLayerAnimation::WebLayerAnimation): 26218 * UIProcess/LayerTreeHostProxy.h: 26219 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 26220 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy): 26221 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 26222 (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer): 26223 (WebKit::LayerTreeHostProxy::syncLayerParameters): 26224 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 26225 (WebCore::WebGraphicsLayer::addAnimation): 26226 (WebCore::WebGraphicsLayer::pauseAnimation): 26227 (WebCore::WebGraphicsLayer::removeAnimation): 26228 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 26229 262302011-11-21 Pavel Feldman <pfeldman@chromium.org> 26231 26232 Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code. 26233 https://bugs.webkit.org/show_bug.cgi?id=63009 26234 26235 Reviewed by Yury Semikhatsky. 26236 26237 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 26238 (WebKit::WebInspectorClient::openInspectorFrontend): 26239 * WebProcess/WebPage/WebInspector.cpp: 26240 (WebKit::WebInspector::WebInspector): 26241 (WebKit::WebInspector::createInspectorPage): 26242 (WebKit::WebInspector::showConsole): 26243 (WebKit::WebInspector::startJavaScriptDebugging): 26244 (WebKit::WebInspector::stopJavaScriptDebugging): 26245 (WebKit::WebInspector::setJavaScriptProfilingEnabled): 26246 (WebKit::WebInspector::startJavaScriptProfiling): 26247 (WebKit::WebInspector::stopJavaScriptProfiling): 26248 (WebKit::WebInspector::startPageProfiling): 26249 (WebKit::WebInspector::stopPageProfiling): 26250 * WebProcess/WebPage/WebInspector.h: 26251 262522011-11-21 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 26253 26254 [Qt] Add WebView.view attached property support for dialogs in QML 26255 https://bugs.webkit.org/show_bug.cgi?id=72825 26256 26257 Reviewed by Simon Hausmann. 26258 26259 When creating new dialogs, fill their WebView.view attached property 26260 with the WebView that's creating them. This follows the same pattern 26261 as QtQuick's ListView, enabling the usage of the same dialog component 26262 for different WebViews. 26263 26264 * UIProcess/API/qt/qquickwebview.cpp: 26265 (QQuickWebViewPrivate::runJavaScriptAlert): 26266 (QQuickWebViewPrivate::runJavaScriptConfirm): 26267 (QQuickWebViewPrivate::runJavaScriptPrompt): 26268 (QQuickWebViewPrivate::setViewInAttachedProperties): 26269 (QQuickWebViewAttached::QQuickWebViewAttached): 26270 (QQuickWebViewAttached::setView): 26271 (QQuickWebView::qmlAttachedProperties): 26272 * UIProcess/API/qt/qquickwebview_p.h: 26273 * UIProcess/API/qt/qquickwebview_p_p.h: 26274 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: 26275 * UIProcess/qt/QtDialogRunner.h: 26276 (QtDialogRunner::dialog): 26277 262782011-11-21 Jochen Eisinger <jochen@chromium.org> 26279 26280 Implement Meta referrer 26281 https://bugs.webkit.org/show_bug.cgi?id=72674 26282 26283 Reviewed by Adam Barth. 26284 26285 * WebProcess/Plugins/PluginView.cpp: 26286 (WebKit::PluginView::loadURL): 26287 262882011-11-21 Carlos Garcia Campos <cgarcia@igalia.com> 26289 26290 Unreviewed. Fix make distcheck build. 26291 26292 * GNUmakefile.am: 26293 262942011-10-17 Antonio Gomes <agomes@rim.com> 26295 26296 Pass a Frame* parameter in EditorClient::respondToChangedSelection 26297 https://bugs.webkit.org/show_bug.cgi?id=70248 26298 26299 Reviewed by Ryosuke Niwa. 26300 26301 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter. 26302 (WebKit::WebEditorClient::respondToChangedSelection): 26303 * WebProcess/WebCoreSupport/WebEditorClient.h: 26304 263052011-11-17 Mark Rowe <mrowe@apple.com> 26306 26307 <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily 26308 switch away from the deprecated APIs. 26309 26310 Reviewed by Sam Weinig. 26311 26312 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 26313 263142011-11-19 Sheriff Bot <webkit.review.bot@gmail.com> 26315 26316 Unreviewed, rolling out r100834. 26317 http://trac.webkit.org/changeset/100834 26318 https://bugs.webkit.org/show_bug.cgi?id=72806 26319 26320 this patch makes Qt run-webkit-test exit before finishing 26321 (Requested by igoroliveira on #webkit). 26322 26323 * Shared/WebCoreArgumentCoders.cpp: 26324 (CoreIPC::::encode): 26325 (CoreIPC::::decode): 26326 * Shared/WebCoreArgumentCoders.h: 26327 * Shared/WebLayerTreeInfo.cpp: 26328 (WebKit::WebLayerInfo::encode): 26329 (WebKit::WebLayerInfo::decode): 26330 * Shared/WebLayerTreeInfo.h: 26331 * UIProcess/LayerTreeHostProxy.h: 26332 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 26333 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy): 26334 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 26335 (WebKit::LayerTreeHostProxy::syncLayerParameters): 26336 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 26337 (WebCore::WebGraphicsLayer::addAnimation): 26338 (WebCore::WebGraphicsLayer::pauseAnimation): 26339 (WebCore::WebGraphicsLayer::removeAnimation): 26340 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 26341 263422011-11-18 Sheriff Bot <webkit.review.bot@gmail.com> 26343 26344 Unreviewed, rolling out r100826. 26345 http://trac.webkit.org/changeset/100826 26346 https://bugs.webkit.org/show_bug.cgi?id=72786 26347 26348 Broke Chromium Mac build (Requested by aklein on #webkit). 26349 26350 * UIProcess/API/mac/PageClientImpl.h: 26351 * UIProcess/API/mac/PageClientImpl.mm: 26352 * UIProcess/PageClient.h: 26353 * UIProcess/WebPageProxy.cpp: 26354 * UIProcess/WebPageProxy.h: 26355 * UIProcess/WebPageProxy.messages.in: 26356 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 26357 (WebKit::BuiltInPDFView::scrollbarStyleChanged): 26358 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 26359 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26360 * WebProcess/WebCoreSupport/WebChromeClient.h: 26361 263622011-11-18 Igor Oliveira <igor.oliveira@openbossa.org> 26363 26364 [WK2][Qt] Move Accelerated Composite animations to UIProcess 26365 https://bugs.webkit.org/show_bug.cgi?id=72753 26366 26367 Currently, all the accelerated compositing animations are applied in WebProcess and 26368 for each frame generated, WebProcess needs to sync with UIProcess. 26369 26370 This patch moves the accelerated compositing animations to UIProcess reducing the 26371 amount of synchronization messages between WebProcess and UIProcess, this is done 26372 sending animations information to UIProcess. 26373 26374 Reviewed by Noam Rosenthal. 26375 26376 * Shared/WebCoreArgumentCoders.cpp: 26377 (CoreIPC::::encode): 26378 (CoreIPC::::decode): 26379 26380 Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates 26381 the data serialization. 26382 26383 * Shared/WebCoreArgumentCoders.h: 26384 * Shared/WebLayerTreeInfo.cpp: 26385 (WebKit::WebLayerInfo::encode): 26386 (WebKit::WebLayerInfo::decode): 26387 (WebKit::WebLayerAnimation::encode): 26388 (WebKit::WebLayerAnimation::decode): 26389 26390 Create WebLayerAnimation struct, it is used to send animation information 26391 to UIProcess. 26392 26393 * Shared/WebLayerTreeInfo.h: 26394 (WebKit::WebLayerAnimation::WebLayerAnimation): 26395 * UIProcess/LayerTreeHostProxy.h: 26396 * UIProcess/qt/LayerTreeHostProxyQt.cpp: 26397 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy): 26398 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext): 26399 (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired): 26400 (WebKit::LayerTreeHostProxy::syncLayerParameters): 26401 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 26402 (WebCore::WebGraphicsLayer::addAnimation): 26403 (WebCore::WebGraphicsLayer::pauseAnimation): 26404 (WebCore::WebGraphicsLayer::removeAnimation): 26405 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 26406 264072011-11-18 Beth Dakin <bdakin@apple.com> 26408 26409 https://bugs.webkit.org/show_bug.cgi?id=72551 26410 When the recommended scrollbar style changes, WKView's tracking options should 26411 adjust accordingly 26412 -and corresponding- 26413 <rdar://problem/10409328> 26414 26415 Reviewed by Darin Adler. 26416 26417 These new functions take care of passing along the 26418 recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 26419 * UIProcess/API/mac/PageClientImpl.h: 26420 * UIProcess/PageClient.h: 26421 * UIProcess/WebPageProxy.cpp: 26422 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange): 26423 * UIProcess/WebPageProxy.h: 26424 * UIProcess/WebPageProxy.messages.in: 26425 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26426 (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange): 26427 * WebProcess/WebCoreSupport/WebChromeClient.h: 26428 26429 This is where we actually respond to the recommendedScrollbarStyleDidChange 26430 message. We remove the existing tracking area and create a new tracking area with 26431 the appropriate tracking options. 26432 * UIProcess/API/mac/PageClientImpl.mm: 26433 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange): 26434 26435 BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 26436 must now take two parameters like the one in ScrollableArea. 26437 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 26438 (WebKit::BuiltInPDFView::scrollbarStyleChanged): 26439 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 26440 264412011-11-18 Dinu Jacob <dinu.jacob@nokia.com> 26442 26443 [Qt][Wk2] Add an API test for scroll request from javascript 26444 https://bugs.webkit.org/show_bug.cgi?id=72407 26445 26446 New API test added for QQuickWebView for javascript scroll request 26447 Reviewed by Simon Hausmann. 26448 26449 * UIProcess/API/qt/tests/html/scroll.html: Added. 26450 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 26451 (tst_QQuickWebView::scrollRequest): 26452 264532011-11-18 No'am Rosenthal <noam.rosenthal@nokia.com> 26454 26455 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing 26456 https://bugs.webkit.org/show_bug.cgi?id=61694 26457 26458 Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to 26459 allow encoding const TimingFunctions and not just RefPtr<TimingFunction>. 26460 26461 Reviewed by Simon Hausmann. 26462 26463 * Scripts/webkit2/messages.py: 26464 * Shared/WebCoreArgumentCoders.cpp: 26465 (CoreIPC::::encode): 26466 (CoreIPC::::decode): 26467 * Shared/WebCoreArgumentCoders.h: 26468 264692011-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org> 26470 26471 [Qt] Guard for the viewportInteractionEngine as it doesn't always exist. 26472 26473 Reviewed by Antonio Gomes. 26474 26475 The engine is non-existent when the view is configured to use desktop 26476 behavior. 26477 26478 * UIProcess/qt/QtWebPageProxy.cpp: 26479 (QtWebPageProxy::handleWheelEvent): 26480 (QtWebPageProxy::didFindZoomableArea): 26481 264822011-11-18 Carlos Garcia Campos <cgarcia@igalia.com> 26483 26484 [GTK] Send DidCreateDestination to DownloadProxy when destination has been created 26485 https://bugs.webkit.org/show_bug.cgi?id=72724 26486 26487 Reviewed by Martin Robinson. 26488 26489 * WebProcess/Downloads/soup/DownloadSoup.cpp: 26490 (WebKit::DownloadClient::didReceiveResponse): Call 26491 didCreateDestination() when destination URI has been successfully 26492 created. 26493 264942011-11-18 Carlos Garcia Campos <cgarcia@igalia.com> 26495 26496 [GTK] Cancel current download operation before download object is deleted 26497 https://bugs.webkit.org/show_bug.cgi?id=72721 26498 26499 Reviewed by Martin Robinson. 26500 26501 It fixes a crash in the web process when a download finishes early 26502 due to a failure. 26503 26504 * WebProcess/Downloads/soup/DownloadSoup.cpp: 26505 (WebKit::Download::cancel): Delete current ResourceHandle. 26506 (WebKit::Download::platformInvalidate): If there's a 26507 ResourceHandle active, cancel the download operation and delete 26508 the handle. 26509 (WebKit::Download::platformDidFinish): Delete current ResourceHandle. 26510 265112011-11-18 Carlos Garcia Campos <cgarcia@igalia.com> 26512 26513 [GTK] Downloads not started by WebView only fail for transport errors 26514 https://bugs.webkit.org/show_bug.cgi?id=72718 26515 26516 Reviewed by Martin Robinson. 26517 26518 * WebProcess/Downloads/soup/DownloadSoup.cpp: 26519 (WebKit::DownloadClient::didReceiveResponse): Check if the http 26520 status of the response is an error code and finish the download 26521 with an error in such case. 26522 265232011-11-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 26524 26525 [Qt] Support customizing JS alert/confirm/prompt dialogs using QML 26526 https://bugs.webkit.org/show_bug.cgi?id=72319 26527 26528 Reviewed by Simon Hausmann. 26529 26530 Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's 26531 privateObject. These are QML components that are created by the webview when the 26532 corresponding function is called in JS. 26533 26534 The dialogs are created in a context that contains a model object, similar to 26535 ListView delegates. The "message" and "defaultValue" parameters are available 26536 in the model object, as well as slots expected to be called by the dialog. 26537 26538 This commit removes the old code for supporting QWidget builtin dialogs. The code 26539 wasn't working properly (closing any dialog was closing the app after QWindow 26540 refactoring in Qt5). 26541 26542 * Target.pri: 26543 * UIProcess/API/qt/qquickwebview.cpp: 26544 (QQuickWebViewPrivate::runJavaScriptAlert): 26545 (QQuickWebViewPrivate::runJavaScriptConfirm): 26546 (QQuickWebViewPrivate::runJavaScriptPrompt): 26547 (QQuickWebViewExperimental::alertDialog): 26548 (QQuickWebViewExperimental::setAlertDialog): 26549 (QQuickWebViewExperimental::confirmDialog): 26550 (QQuickWebViewExperimental::setConfirmDialog): 26551 (QQuickWebViewExperimental::promptDialog): 26552 (QQuickWebViewExperimental::setPromptDialog): 26553 * UIProcess/API/qt/qquickwebview_p.h: 26554 * UIProcess/API/qt/qquickwebview_p_p.h: 26555 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added. 26556 * UIProcess/API/qt/tests/qmltests/common/alert.html: Added. 26557 * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added. 26558 * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added. 26559 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 26560 * UIProcess/qt/QtDialogRunner.cpp: Added. 26561 (QtDialogRunner::QtDialogRunner): 26562 (QtDialogRunner::~QtDialogRunner): 26563 (DialogContextObject::DialogContextObject): 26564 (DialogContextObject::message): 26565 (DialogContextObject::defaultValue): 26566 (DialogContextObject::dismiss): 26567 (DialogContextObject::accept): 26568 (DialogContextObject::reject): 26569 (QtDialogRunner::initForAlert): 26570 (QtDialogRunner::initForConfirm): 26571 (QtDialogRunner::initForPrompt): 26572 (QtDialogRunner::createDialog): 26573 * UIProcess/qt/QtDialogRunner.h: Added. 26574 (QtDialogRunner::wasAccepted): 26575 (QtDialogRunner::result): 26576 (QtDialogRunner::onAccepted): 26577 265782011-11-18 Kenneth Rohde Christiansen <kenneth@webkit.org> 26579 26580 [Qt] Support wheel event together with resizesToContents 26581 26582 Reviewed by Simon Hausmann. 26583 26584 * UIProcess/API/qt/qquickwebpage.cpp: 26585 * UIProcess/qt/QtViewportInteractionEngine.cpp: 26586 (WebKit::QtViewportInteractionEngine::wheelEvent): 26587 * UIProcess/qt/QtViewportInteractionEngine.h: 26588 * UIProcess/qt/QtWebPageProxy.cpp: 26589 (QtWebPageProxy::handleWheelEvent): 26590 265912011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26592 26593 [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt 26594 https://bugs.webkit.org/show_bug.cgi?id=72696 26595 26596 Reviewed by Kenneth Rohde Christiansen. 26597 26598 Implement the WK2 desktop popup by simply subclassing QComboBox and doing the 26599 same thing as QtWebComboBox from WK1 (a few lines of code). 26600 26601 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 26602 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop): 26603 (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop): 26604 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu): 26605 (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu): 26606 (WebKit::WebPopupMenuProxyQtDesktop::eventFilter): 26607 (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex): 26608 (WebKit::WebPopupMenuProxyQtDesktop::populate): 26609 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: 26610 266112011-11-18 Zeno Albisser <zeno@webkit.org> 26612 26613 [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer. 26614 https://bugs.webkit.org/show_bug.cgi?id=72717 26615 26616 Reviewed by Kenneth Rohde Christiansen. 26617 26618 * UIProcess/qt/QtTapGestureRecognizer.cpp: 26619 (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine): 26620 * UIProcess/qt/QtTapGestureRecognizer.h: 26621 * UIProcess/qt/QtWebPageProxy.cpp: 26622 (QtWebPageProxy::setViewportInteractionEngine): 26623 * UIProcess/qt/QtWebPageProxy.h: 26624 266252011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26626 26627 [Qt][WK2] Fix popups for select elements. 26628 26629 Reviewed by Tor Arne Vestbø. 26630 26631 * UIProcess/qt/QtWebPageProxy.cpp: 26632 (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation 26633 for the moment. Better than nothing :) 26634 266352011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26636 26637 [Qt] Unreviewed debug build fix 26638 26639 * UIProcess/qt/QtWebPageProxy.cpp: 26640 (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant 26641 variable. 26642 266432011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26644 26645 [Qt] Removal of QtViewInterface part 3 26646 26647 Reviewed by Kenneth Rohde Christiansen. 26648 26649 Move the remaining forwarded calls from ClientImpl that went through 26650 ViewInterface and then PageProxy or WebView to go straight to 26651 QtWebPageProxy. QtViewInterface is empty now and therefore removed. 26652 26653 * Target.pri: 26654 * UIProcess/API/qt/qquickwebpage_p.h: 26655 * UIProcess/API/qt/qquickwebpage_p_p.h: 26656 * UIProcess/API/qt/qquickwebview.cpp: 26657 (QQuickWebViewPrivate::initialize): 26658 (QQuickWebViewPrivate::chooseFiles): 26659 * UIProcess/API/qt/qquickwebview_p.h: 26660 * UIProcess/API/qt/qquickwebview_p_p.h: 26661 * UIProcess/qt/ClientImpl.cpp: 26662 (qt_wk_runJavaScriptAlert): 26663 (qt_wk_runJavaScriptConfirm): 26664 (qt_wk_runJavaScriptPrompt): 26665 (qt_wk_setStatusText): 26666 (qt_wk_runOpenPanel): 26667 (qt_wk_mouseDidMoveOverElement): 26668 (setupPageUiClient): 26669 * UIProcess/qt/QtViewInterface.cpp: Removed. 26670 * UIProcess/qt/QtViewInterface.h: Removed. 26671 * UIProcess/qt/QtWebPageProxy.cpp: 26672 (QtWebPageProxy::QtWebPageProxy): 26673 (QtWebPageProxy::didChangeStatusText): 26674 (QtWebPageProxy::didMouseMoveOverElement): 26675 (QtWebPageProxy::showContextMenu): 26676 (QtWebPageProxy::hideContextMenu): 26677 (QtWebPageProxy::runJavaScriptAlert): 26678 (QtWebPageProxy::runJavaScriptConfirm): 26679 (QtWebPageProxy::runJavaScriptPrompt): 26680 (QtWebPageProxy::chooseFiles): 26681 (QtWebPageProxy::createContextMenuProxy): 26682 (QtWebPageProxy::didChangeLoadProgress): 26683 * UIProcess/qt/QtWebPageProxy.h: 26684 (QtWebPageProxy::contextMenuItemSelected): 26685 * UIProcess/qt/WebContextMenuProxyQt.cpp: 26686 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 26687 (WebKit::WebContextMenuProxyQt::create): 26688 (WebKit::WebContextMenuProxyQt::hideContextMenu): 26689 * UIProcess/qt/WebContextMenuProxyQt.h: 26690 266912011-11-18 Zalan Bujtas <zbujtas@gmail.com> 26692 26693 [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead. 26694 https://bugs.webkit.org/show_bug.cgi?id=72699 26695 26696 The drawing area may be null, if the web process has crashed, but not yet recovered. 26697 Always null check against drawing area. 26698 26699 Reviewed by Simon Hausmann. 26700 26701 * UIProcess/qt/QtWebPageProxy.cpp: 26702 (QtWebPageProxy::setDrawingAreaSize): 26703 (QtWebPageProxy::setVisibleContentRectAndScale): 26704 (QtWebPageProxy::setVisibleContentRectTrajectoryVector): 26705 267062011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26707 26708 [Qt] Removal of QtViewInterface part 2 26709 26710 Reviewed by Kenneth Rohde Christiansen. 26711 26712 Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then 26713 to QQuickWebView straight into QtWebPageProxy. 26714 26715 * UIProcess/API/qt/qquickwebpage_p.h: 26716 * UIProcess/API/qt/qquickwebview.cpp: 26717 (QQuickWebViewPrivate::initialize): 26718 * UIProcess/API/qt/qquickwebview_p_p.h: 26719 * UIProcess/qt/QtViewInterface.cpp: 26720 * UIProcess/qt/QtViewInterface.h: 26721 * UIProcess/qt/QtWebPageProxy.cpp: 26722 (QtWebPageProxy::QtWebPageProxy): 26723 (QtWebPageProxy::setCursor): 26724 (QtWebPageProxy::isViewWindowActive): 26725 (QtWebPageProxy::isViewVisible): 26726 (QtWebPageProxy::pageDidRequestScroll): 26727 (QtWebPageProxy::didFinishFirstNonEmptyLayout): 26728 (QtWebPageProxy::didChangeContentsSize): 26729 (QtWebPageProxy::didChangeViewportProperties): 26730 (QtWebPageProxy::toolTipChanged): 26731 (QtWebPageProxy::didChangeUrl): 26732 (QtWebPageProxy::didChangeTitle): 26733 (QtWebPageProxy::loadDidBegin): 26734 (QtWebPageProxy::loadDidCommit): 26735 (QtWebPageProxy::loadDidSucceed): 26736 (QtWebPageProxy::loadDidFail): 26737 (QtWebPageProxy::didRelaunchProcess): 26738 (QtWebPageProxy::processDidCrash): 26739 (QtWebPageProxy::startDrag): 26740 (QtWebPageProxy::didReceiveDownloadResponse): 26741 * UIProcess/qt/QtWebPageProxy.h: 26742 267432011-11-18 Simon Hausmann <simon.hausmann@nokia.com> 26744 26745 [Qt] Removal of QtViewInterface part 1 26746 26747 Reviewed by Kenneth Rohde Christiansen. 26748 26749 Replace functions of QtViewInterface that forward to QQuickWebPage with direct 26750 usage of QQuickWebPage. Also removed some dead code. 26751 26752 * UIProcess/API/qt/qquickwebpage.cpp: 26753 (QQuickWebPage::sceneGraphUpdateQueue): 26754 * UIProcess/API/qt/qquickwebpage_p.h: 26755 * UIProcess/API/qt/qquickwebview.cpp: 26756 (QQuickWebViewPrivate::initialize): 26757 * UIProcess/TiledDrawingAreaProxy.h: 26758 * UIProcess/qt/QtViewInterface.cpp: 26759 (WebKit::QtViewInterface::QtViewInterface): 26760 (WebKit::QtViewInterface::isVisible): 26761 * UIProcess/qt/QtViewInterface.h: 26762 * UIProcess/qt/QtWebPageProxy.cpp: 26763 (QtWebPageProxy::QtWebPageProxy): 26764 (QtWebPageProxy::setViewNeedsDisplay): 26765 (QtWebPageProxy::viewSize): 26766 (QtWebPageProxy::isViewFocused): 26767 (QtWebPageProxy::isViewVisible): 26768 (QtWebPageProxy::didRelaunchProcess): 26769 * UIProcess/qt/QtWebPageProxy.h: 26770 (QtWebPageProxy::qmlWebPage): 26771 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 26772 267732011-11-17 Simon Hausmann <simon.hausmann@nokia.com> 26774 26775 [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places 26776 https://bugs.webkit.org/show_bug.cgi?id=72597 26777 26778 Reviewed by Kenneth Rohde Christiansen. 26779 26780 Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission 26781 API. 26782 26783 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 26784 (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission): 26785 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 26786 267872011-11-17 Martin Robinson <mrobinson@igalia.com> 26788 26789 [GTK] The process freezes when you right click on windowless Flash 26790 https://bugs.webkit.org/show_bug.cgi?id=69123 26791 26792 Reviewed by Xan Lopez. 26793 26794 Add a new plugin quirk for dealing with right-clicking on 26795 windowless Flash on x86_64 machines. This already exists for 26796 WebKit1. 26797 26798 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 26799 (WebKit::NetscapePluginModule::determineQuirks): If the plugin is 26800 Flash and we are on x86_64, then disable sending right-clicking 26801 events while in windowless mode. 26802 * Shared/Plugins/PluginQuirks.h: Add the new quirk. 26803 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 26804 (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk 26805 is active don't send right click events. 26806 268072011-11-17 Igor Oliveira <igor.oliveira@openbossa.org> 26808 26809 [WK2] Fix TransformOperation serialization 26810 https://bugs.webkit.org/show_bug.cgi?id=72625 26811 26812 SimpleArgumentCoder can encode and decode just POD types. And according the 26813 ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation 26814 has pure virtual methods. 26815 26816 This patch fixes TransformOperation subclass serialization. 26817 26818 Reviewed by Noam Rosenthal. 26819 26820 * Shared/WebCoreArgumentCoders.cpp: 26821 (CoreIPC::::encode): 26822 (CoreIPC::::decode): 26823 (CoreIPC::encodeOperation): 26824 (CoreIPC::decodeOperation): 26825 * Shared/WebCoreArgumentCoders.h: 26826 268272011-11-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 26828 26829 [Qt][WK2] Fix zero sized views in all QML tests 26830 https://bugs.webkit.org/show_bug.cgi?id=72633 26831 26832 Reviewed by Noam Rosenthal. 26833 26834 After r100590, zero sized WebViews are no longer supported and, 26835 therefore, the QML API tests need to be fixed. 26836 26837 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: 26838 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: 26839 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: 26840 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed. 26841 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: 26842 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: 26843 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 26844 268452011-11-17 Alexis Menard <alexis.menard@openbossa.org> 26846 26847 [Qt][WK2] Don't export the private QQuickView. 26848 26849 Reviewed by Kenneth Rohde Christiansen. 26850 26851 We don't need to export that class anymore as the experimental QML plugin 26852 does not expose this object anymore. 26853 26854 * UIProcess/API/qt/qquickwebview_p_p.h: 26855 268562011-11-17 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 26857 26858 [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API 26859 https://bugs.webkit.org/show_bug.cgi?id=72610 26860 26861 Reviewed by Kenneth Rohde Christiansen. 26862 26863 * UIProcess/API/qt/qquickwebview_p.h: 26864 268652011-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org> 26866 26867 Print warning for the Qt port when a process crashes and is relaunched 26868 https://bugs.webkit.org/show_bug.cgi?id=72607 26869 26870 Reviewed by Antonio Gomes. 26871 26872 Make the QtViewInterface::processDidCrash take a URL string argument, 26873 for being able to say which url was the origin of the crash. 26874 26875 We now additionally store the load state and url at process exit. This 26876 is needed for printing the warning and for further crash handling. 26877 26878 * UIProcess/PageClient.h: 26879 * UIProcess/WebPageProxy.cpp: 26880 (WebKit::WebPageProxy::processDidCrash): 26881 * UIProcess/qt/QtViewInterface.cpp: 26882 (WebKit::QtViewInterface::processDidCrash): 26883 (WebKit::QtViewInterface::didRelaunchProcess): 26884 * UIProcess/qt/QtViewInterface.h: 26885 * UIProcess/qt/QtWebPageProxy.cpp: 26886 (QtWebPageProxy::processDidCrash): 26887 * UIProcess/qt/QtWebPageProxy.h: 26888 268892011-11-17 Alexis Menard <alexis.menard@openbossa.org> 26890 26891 [Qt][WK2] Cleanup dead code in QtWebPageProxy. 26892 https://bugs.webkit.org/show_bug.cgi?id=72608 26893 26894 Reviewed by Simon Hausmann. 26895 26896 Remove some dead code after we merged our views. 26897 QQuickWebView is now using AC which means that this 26898 path is never called now. 26899 26900 * UIProcess/qt/QtWebPageProxy.cpp: 26901 (QtWebPageProxy::didReceiveDownloadResponse): 26902 * UIProcess/qt/QtWebPageProxy.h: 26903 269042011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 26905 26906 [Qt] Remove forwarding header for WebKit2 C API 26907 26908 The Qt port of WebKit does not provide a C-API for the View classes. 26909 26910 Reviewed by Simon Hausmann. 26911 26912 * UIProcess/API/C/WebKit2.h: 26913 * UIProcess/API/qt/WKView.h: Removed. 26914 269152011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 26916 26917 [Qt] Resolve import and web-process paths automatically for QML tests 26918 26919 Reviewed by Kenneth Rohde Christiansen. 26920 26921 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 26922 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 26923 (main): 26924 269252011-11-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 26926 26927 [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that 26928 26929 A new extension object has been added to QQuickWebView (the same approach should be used 26930 for other API classes that need experimental APIs). The QML extension mechanism is then 26931 built on top of the experimental object. 26932 26933 https://bugs.webkit.org/show_bug.cgi?id=72522 26934 26935 Reviewed by Simon Hausmann. 26936 26937 * Target.pri: 26938 * UIProcess/API/qt/qquickwebpage.cpp: 26939 * UIProcess/API/qt/qquickwebpage.h: Removed. 26940 * UIProcess/API/qt/qquickwebpage_p.h: 26941 * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h. 26942 * UIProcess/API/qt/qquickwebview.cpp: 26943 (QQuickWebViewExperimental::QQuickWebViewExperimental): 26944 (QQuickWebViewExperimental::~QQuickWebViewExperimental): 26945 (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour): 26946 (QQuickWebView::QQuickWebView): 26947 (QQuickWebView::experimental): 26948 * UIProcess/API/qt/qquickwebview.h: Removed. 26949 * UIProcess/API/qt/qquickwebview_p.h: 26950 * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h. 26951 * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed. 26952 * UIProcess/API/qt/qwebdownloaditem.cpp: 26953 * UIProcess/API/qt/qwebdownloaditem.h: Removed. 26954 * UIProcess/API/qt/qwebdownloaditem_p.h: 26955 * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h. 26956 (QWebDownloadItemPrivate::didReceiveResponse): 26957 * UIProcess/API/qt/qwebpreferences.cpp: 26958 * UIProcess/API/qt/qwebpreferences.h: Removed. 26959 * UIProcess/API/qt/qwebpreferences_p.h: 26960 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 26961 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 26962 (DesktopWebView::DesktopWebView): 26963 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: 26964 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 26965 * UIProcess/qt/QtDownloadManager.cpp: 26966 * UIProcess/qt/QtViewInterface.cpp: 26967 * UIProcess/qt/QtWebError.h: 26968 * UIProcess/qt/QtWebPageProxy.cpp: 26969 269702011-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org> 26971 26972 Unreviewed build fix. 26973 26974 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 26975 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 26976 269772011-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org> 26978 26979 Make use-fixed-layout work reliable 26980 https://bugs.webkit.org/show_bug.cgi?id=72511 26981 26982 Reviewed by Simon Hausmann. 26983 26984 The code handling use-fixed-layout wasn't 100% reliable. The code 26985 was changed to make sure the value is always correct. 26986 26987 It also doesn't set the value by looking at the previous FrameView, 26988 as that wouldn't work in cases, such as when the web process has 26989 crashed. 26990 26991 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 26992 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 26993 * WebProcess/WebPage/WebPage.cpp: 26994 (WebKit::WebPage::WebPage): 26995 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 26996 (WebKit::WebPage::setUseFixedLayout): 26997 * WebProcess/WebPage/WebPage.h: 26998 (WebKit::WebPage::useFixedLayout): 26999 27000 Store the state as m_useFixedLayout so that it can be used 27001 from the WebFrameLoaderClient. 27002 270032011-11-17 Zalan Bujtas <zbujtas@gmail.com> 27004 27005 [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout. 27006 https://bugs.webkit.org/show_bug.cgi?id=72508 27007 27008 Delay applying viewport properties on the viewport item until after the first visually non-empty 27009 layout finished. It enables the viewport to be intact until the new page is ready to be rendered. 27010 27011 Reviewed by Kenneth Rohde Christiansen. 27012 27013 * UIProcess/API/qt/qquickwebview.cpp: 27014 (QQuickWebViewPrivate::QQuickWebViewPrivate): 27015 (QQuickWebViewPrivate::loadDidCommit): 27016 (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout): 27017 (QQuickWebViewPrivate::didChangeContentsSize): 27018 (QQuickWebViewPrivate::didChangeViewportProperties): 27019 (QQuickWebViewPrivate::updateViewportSize): 27020 (QQuickWebViewPrivate::computeViewportConstraints): 27021 * UIProcess/API/qt/qquickwebview_p.h: 27022 (PostTransitionState::isTransitioningToNewPage): 27023 * UIProcess/qt/ClientImpl.cpp: 27024 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame): 27025 (setupPageLoaderClient): 27026 * UIProcess/qt/QtViewInterface.cpp: 27027 (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout): 27028 (WebKit::QtViewInterface::didChangeContentsSize): 27029 (WebKit::QtViewInterface::didChangeViewportProperties): 27030 (WebKit::QtViewInterface::startDrag): 27031 * UIProcess/qt/QtViewInterface.h: 27032 * UIProcess/qt/QtViewportInteractionEngine.cpp: 27033 (WebKit::QtViewportInteractionEngine::reset): 27034 (WebKit::QtViewportInteractionEngine::applyConstraints): 27035 * UIProcess/qt/QtViewportInteractionEngine.h: 27036 * UIProcess/qt/QtWebPageProxy.cpp: 27037 (QtWebPageProxy::didFinishFirstNonEmptyLayout): 27038 (QtWebPageProxy::didChangeContentsSize): 27039 (QtWebPageProxy::didChangeViewportProperties): 27040 (QtWebPageProxy::startDrag): 27041 * UIProcess/qt/QtWebPageProxy.h: 27042 270432011-11-17 Eunmi Lee <eunmi15.lee@samsung.com> 27044 27045 Reviewed by Martin Robinson. 27046 27047 [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port. 27048 https://bugs.webkit.org/show_bug.cgi?id=62444 27049 27050 Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port. 27051 The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port 27052 that uses cairo. 27053 27054 * GNUmakefile.am: 27055 * UIProcess/BackingStore.h: 27056 * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp. 27057 (WebKit::BackingStore::paint): 27058 (WebKit::BackingStore::incorporateUpdate): 27059 (WebKit::BackingStore::scroll): 27060 270612011-11-17 Nayan Kumar K <nayankk@motorola.com> 27062 27063 [WebKit2][gtk] Add few more properties to WebKitSettings 27064 https://bugs.webkit.org/show_bug.cgi?id=72468 27065 27066 Reviewed by Martin Robinson. 27067 27068 Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas' 27069 and 'enable-tabs-to-links' properties to WebKitSettings. 27070 27071 * UIProcess/API/gtk/WebKitSettings.cpp: 27072 (webKitSettingsSetProperty): Add new set functions. 27073 (webKitSettingsGetProperty): Add new get functions. 27074 (webkit_settings_class_init): Add new properties. 27075 (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property. 27076 (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property. 27077 (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property. 27078 (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property. 27079 (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property. 27080 (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property. 27081 (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property. 27082 (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property. 27083 * UIProcess/API/gtk/WebKitSettings.h: New public APIs added. 27084 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added. 27085 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 27086 (testWebKitSettings): Add new tests. 27087 270882011-11-17 Carlos Garcia Campos <cgarcia@igalia.com> 27089 27090 Unreviewed. Fix WebKit2 GTK+ build after r100569. 27091 27092 * WebProcess/Downloads/soup/DownloadSoup.cpp: 27093 (WebKit::DownloadClient::didReceiveResponse): 27094 270952011-11-17 Nayan Kumar K <nayankk@motorola.com> 27096 27097 [WebKit2][gtk] Fix assert while running TestWebKitSettings 27098 https://bugs.webkit.org/show_bug.cgi?id=72469 27099 27100 Reviewed by Martin Robinson. 27101 27102 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 27103 (testWebKitSettings): Correct the test. 27104 271052011-11-16 Carlos Garcia Campos <cgarcia@igalia.com> 27106 27107 [GTK] Use a URI instead of local path to create download destination in WebKit2 27108 https://bugs.webkit.org/show_bug.cgi?id=72500 27109 27110 Reviewed by Philippe Normand. 27111 27112 * WebProcess/Downloads/soup/DownloadSoup.cpp: 27113 (WebKit::DownloadClient::didReceiveResponse): Use 27114 g_file_new_for_uri() instad of g_file_new_for_path(). Also use 27115 adoptGRef to fix a memory leak. 27116 271172011-11-16 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 27118 27119 [Qt] Fix build after WTR AX support 27120 https://bugs.webkit.org/show_bug.cgi?id=72560 27121 27122 Reviewed by Geoffrey Garen. 27123 27124 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 27125 (WKAccessibilityRootObject): 27126 (WKAccessibilityFocusedObject): 27127 271282011-11-11 Adrienne Walker <enne@google.com> 27129 27130 [chromium] Expose mock scrollbars to window.internals 27131 https://bugs.webkit.org/show_bug.cgi?id=72195 27132 27133 Reviewed by James Robinson. 27134 27135 * win/WebKit2.def: 27136 * win/WebKit2CFLite.def: 27137 271382011-11-16 Dan Bernstein <mitz@apple.com> 27139 27140 WebKit2 part of <rdar://problem/10262242> Add API for paginated display 27141 https://bugs.webkit.org/show_bug.cgi?id=72537 27142 27143 Reviewed by Anders Carlsson. 27144 27145 * Shared/WebPageCreationParameters.cpp: 27146 (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages. 27147 (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages. 27148 * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members. 27149 * UIProcess/API/C/WKPage.cpp: 27150 (WKPageSetPaginationMode): Added this API wrapper. 27151 (WKPageGetPaginationMode): Ditto. 27152 (WKPageSetGapBetweenPages): Ditto. 27153 (WKPageGetGapBetweenPages): Ditto. 27154 (WKPageGetPageCount): Ditto. 27155 * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and 27156 accessors. 27157 * UIProcess/API/mac/WKBrowsingContextController.mm: 27158 (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper. 27159 (-[WKBrowsingContextController paginationMode]): Ditto. 27160 (-[WKBrowsingContextController setGapBetweenPages:]): Ditto. 27161 (-[WKBrowsingContextController gapBetweenPages]): Ditto. 27162 (-[WKBrowsingContextController pageCount]): Ditto. 27163 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition 27164 of WKBrowsingContextPaginationMode and property declarations. 27165 * UIProcess/WebPageProxy.cpp: 27166 (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages, 27167 and m_pageCount. 27168 (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends 27169 a message to the WebPage. 27170 (WebKit::WebPageProxy::setGapBetweenPages): Ditto. 27171 (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the 27172 creation parameters. 27173 (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count. 27174 * UIProcess/WebPageProxy.h: 27175 (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value. 27176 (WebKit::WebPageProxy::gapBetweenPages): Ditto. 27177 (WebKit::WebPageProxy::pageCount): Ditto. 27178 * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes 27179 after layout. 27180 * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h. 27181 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 27182 (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(), 27183 allowing the page to respond to changes in the column count. 27184 * WebProcess/WebPage/WebPage.cpp: 27185 (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount. 27186 (WebKit::WebPage::setPaginationMode): Added. 27187 (WebKit::WebPage::setGapBetweenPages): Added. 27188 (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process 27189 if the page count has changed. 27190 * WebProcess/WebPage/WebPage.h: 27191 * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages. 27192 271932011-11-16 Chris Fleizach <cfleizach@apple.com> 27194 27195 WebKitTestRunner needs to support accessibility-related DRT APIs 27196 https://bugs.webkit.org/show_bug.cgi?id=42131 27197 27198 Allow the injected bundle to retrieve the focused and root accessibility 27199 objects. 27200 27201 Reviewed by Beth Dakin. 27202 27203 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 27204 (WKAccessibilityRootObject): 27205 (WKAccessibilityFocusedObject): 27206 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 27207 272082011-11-16 Beth Dakin <bdakin@apple.com> 27209 27210 https://bugs.webkit.org/show_bug.cgi?id=72400 27211 Scrollbar uiStateTransitionProgress requires tracking the mouse all the time 27212 -and corresponding- 27213 <rdar://problem/10409328> 27214 27215 Reviewed by Darin Adler. 27216 27217 Set up our initial tracking area based on the currently recommended scrollbar 27218 style. Track the mouse all the time if the style is legacy. 27219 * UIProcess/API/mac/WKView.mm: 27220 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 27221 27222 Now that we might be getting mouseMoved events all the time even when the window 27223 is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 27224 EventHandler::mouseMoved() when the window is not focused. 27225 * WebProcess/WebPage/WebPage.cpp: 27226 (WebKit::handleMouseEvent): 27227 (WebKit::WebPage::mouseEvent): 27228 (WebKit::WebPage::mouseEventSyncForTesting): 27229 272302011-11-16 Martin Robinson <mrobinson@igalia.com> 27231 27232 [GTK][WEBKIT2] Link error running gtkdoc-scangobj 27233 https://bugs.webkit.org/show_bug.cgi?id=72365 27234 27235 Reviewed by Xan Lopez. 27236 27237 * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig 27238 file so that the compiler links to it. 27239 272402011-11-16 Balazs Kelemen <kbalazs@webkit.org> 27241 27242 [WK2][X11] Don't leak the colormap we created for the plugin 27243 https://bugs.webkit.org/show_bug.cgi?id=72144 27244 27245 Reviewed by Xan Lopez. 27246 27247 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 27248 (WebKit::NetscapePlugin::platformDestroy): 27249 272502011-11-16 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 27251 27252 [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error 27253 https://bugs.webkit.org/show_bug.cgi?id=72392 27254 27255 Reviewed by Simon Hausmann. 27256 27257 Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track 27258 deallocation of referenced object. 27259 27260 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 27261 (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard): 27262 (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard): 27263 272642011-11-16 Zeno Albisser <zeno@webkit.org> 27265 27266 [Qt][WK2][Mac] MiniBrowser cannot create socketpair. 27267 https://bugs.webkit.org/show_bug.cgi?id=72389 27268 27269 Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET. 27270 27271 Reviewed by Tor Arne Vestbø. 27272 27273 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 27274 272752011-11-15 Carlos Garcia Campos <cgarcia@igalia.com> 27276 27277 [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API 27278 https://bugs.webkit.org/show_bug.cgi?id=72380 27279 27280 Reviewed by Martin Robinson. 27281 27282 It adds an initial implementation of WebKitNetworkRequest 27283 class that only contains a URI for now. 27284 27285 * GNUmakefile.am: 27286 * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added. 27287 (webkitNetworkRequestFinalize): 27288 (webkitNetworkRequestGetProperty): 27289 (webkitNetworkRequestSetProperty): 27290 (webkit_network_request_class_init): 27291 (webkit_network_request_init): 27292 (webkit_network_request_new): 27293 (webkit_network_request_get_uri): 27294 * UIProcess/API/gtk/WebKitNetworkRequest.h: Added. 27295 * UIProcess/API/gtk/WebKitWebView.cpp: 27296 (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load 27297 the given WebKitNetworkRequest. 27298 * UIProcess/API/gtk/WebKitWebView.h: 27299 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 27300 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 27301 (testLoadRequest): 27302 (beforeAll): 27303 * UIProcess/API/gtk/tests/WebViewTest.cpp: 27304 (WebViewTest::loadRequest): 27305 * UIProcess/API/gtk/tests/WebViewTest.h: 27306 * UIProcess/API/gtk/webkit2.h: 27307 273082011-11-15 Andy Estes <aestes@apple.com> 27309 27310 Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation 27311 https://bugs.webkit.org/show_bug.cgi?id=72106 27312 27313 Reviewed by Anders Carlsson. 27314 27315 Remove code that schedules layer flushes and use LayerFlushScheduler instead. 27316 27317 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace 27318 m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler 27319 and implement the LayerFlushSchedulerClient interface. 27320 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 27321 (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate 27322 m_layerFlushScheduler with the LayerTreeHost as the client. 27323 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): 27324 (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule(). 27325 (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call 27326 LayerFlushScheduler::suspend() or LayerFlushScheduler::resume(). 27327 (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate(). 27328 (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that 27329 flushPendingLayerChangesRunLoopObserverCallback() used to do. 27330 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate(). 27331 273322011-11-15 Sam Weinig <sam@webkit.org> 27333 27334 Add a connection client to the WKContext, to notify when new connections to the WebProcess are established 27335 https://bugs.webkit.org/show_bug.cgi?id=72433 27336 27337 Reviewed by Anders Carlsson. 27338 27339 * UIProcess/API/C/WKContext.cpp: 27340 (WKContextSetConnectionClient): 27341 * UIProcess/API/C/WKContext.h: 27342 * UIProcess/WebContext.cpp: 27343 (WebKit::WebContext::initializeConnectionClient): 27344 * UIProcess/WebContext.h: 27345 Add connection client API. 27346 27347 * UIProcess/WebContextConnectionClient.cpp: Added. 27348 (WebKit::WebContextConnectionClient::didCreateConnection): 27349 * UIProcess/WebContextConnectionClient.h: Added. 27350 Add basic implementation of the client. It is currently never triggered. 27351 273522011-11-15 Jongseok Yang <js45.yang@samsung.com> 27353 27354 [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2 27355 https://bugs.webkit.org/show_bug.cgi?id=72235 27356 27357 Reviewed by Gustavo Noronha Silva. 27358 27359 Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy. 27360 It's required when using the soup network backend. 27361 Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and 27362 EFL port use soup network backend without a network backend of their own. 27363 27364 * GNUmakefile.am: 27365 * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed. 27366 * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed. 27367 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added. 27368 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 27369 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 27370 273712011-11-15 Jochen Eisinger <jochen@chromium.org> 27372 27373 Rename ReferrerPolicy to clarify its meaning 27374 https://bugs.webkit.org/show_bug.cgi?id=72420 27375 27376 Reviewed by Nate Chapin. 27377 27378 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 27379 (WebKit::WebContextMenuClient::searchWithGoogle): 27380 * WebProcess/WebPage/WebPage.cpp: 27381 (WebKit::WebPage::linkClicked): 27382 273832011-11-15 Sam Weinig <sam@webkit.org> 27384 27385 Fix windows build. 27386 27387 * win/WebKit2Generated.make: 27388 273892011-11-15 Sam Weinig <sam@webkit.org> 27390 27391 Add WebKit2 API object to represent a connection 27392 https://bugs.webkit.org/show_bug.cgi?id=72421 27393 27394 Reviewed by Anders Carlsson. 27395 27396 * GNUmakefile.am: 27397 * Target.pri: 27398 * WebKit2.xcodeproj/project.pbxproj: 27399 * win/WebKit2.vcproj: 27400 Add new files. 27401 27402 * Shared/API/c/WKBase.h: 27403 Add type. 27404 27405 * Shared/API/c/WKConnectionRef.cpp: Added. 27406 (WKConnectionGetTypeID): 27407 (WKConnectionSetConnectionClient): 27408 (WKConnectionPostMessage): 27409 * Shared/API/c/WKConnectionRef.h: Added. 27410 Expose interface. Currently no support for synchronous messages. 27411 27412 * Shared/API/c/WKSharedAPICast.h: 27413 Define relationship between WebConnection <-> WKConnectionRef. 27414 27415 * Shared/APIObject.h: 27416 Add API type. 27417 27418 * Shared/WebConnection.cpp: Added. 27419 (WebKit::WebConnection::~WebConnection): 27420 (WebKit::WebConnection::initializeConnectionClient): 27421 * Shared/WebConnection.h: Added. 27422 (WebKit::WebConnection::type): 27423 Sketch out the connection object. It is currently abstract 27424 to allow different implementations for the UI and WebProcess sides 27425 while retaining the same interface. 27426 27427 * Shared/WebConnectionClient.cpp: Added. 27428 (WebKit::WebConnectionClient::didReceiveMessage): 27429 (WebKit::WebConnectionClient::didClose): 27430 * Shared/WebConnectionClient.h: Added. 27431 Add simple client. 27432 27433 * UIProcess/API/C/WebKit2.h: 27434 Add new file. 27435 274362011-11-15 Chris Fleizach2 <cfleizach@apple.com> 27437 27438 AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue: 27439 https://bugs.webkit.org/show_bug.cgi?id=72344 27440 27441 Reviewed by Beth Dakin. 27442 27443 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 27444 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]): 27445 274462011-11-15 Anders Carlsson <andersca@apple.com> 27447 27448 HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen 27449 https://bugs.webkit.org/show_bug.cgi?id=72397 27450 27451 Reviewed by Dan Bernstein. 27452 27453 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 27454 (WebKit::WebChromeClient::screenToRootView): 27455 (WebKit::WebChromeClient::rootViewToScreen): 27456 * WebProcess/WebCoreSupport/WebChromeClient.h: 27457 274582011-11-14 Anders Carlsson <andersca@apple.com> 27459 27460 HostWindow invalidation functions should use root view coordinates 27461 https://bugs.webkit.org/show_bug.cgi?id=72338 27462 27463 Reviewed by Dan Bernstein. 27464 27465 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 27466 (WebKit::WebChromeClient::invalidateRootView): 27467 (WebKit::WebChromeClient::invalidateContentsAndRootView): 27468 * WebProcess/WebCoreSupport/WebChromeClient.h: 27469 274702011-11-15 Carlos Garcia Campos <cgarcia@igalia.com> 27471 27472 [GTK] Implement download support in WebKit2 27473 https://bugs.webkit.org/show_bug.cgi?id=72258 27474 27475 Reviewed by Martin Robinson. 27476 27477 * WebProcess/Downloads/Download.h: 27478 * WebProcess/Downloads/soup/DownloadSoup.cpp: 27479 (WebKit::DownloadClient::DownloadClient): 27480 (WebKit::DownloadClient::downloadFailed): 27481 (WebKit::DownloadClient::didReceiveResponse): 27482 (WebKit::DownloadClient::didReceiveData): 27483 (WebKit::DownloadClient::didFinishLoading): 27484 (WebKit::DownloadClient::didFail): 27485 (WebKit::DownloadClient::wasBlocked): 27486 (WebKit::DownloadClient::cannotShowURL): 27487 (WebKit::Download::start): 27488 (WebKit::Download::startWithHandle): 27489 (WebKit::Download::cancel): 27490 (WebKit::Download::platformInvalidate): 27491 274922011-11-15 Mario Sanchez Prada <msanchez@igalia.com> 27493 27494 [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings 27495 https://bugs.webkit.org/show_bug.cgi?id=72267 27496 27497 Reviewed by Martin Robinson. 27498 27499 Allow getting and setting the 'enable-caret-browsing' property 27500 through WebKitSettings. 27501 27502 * UIProcess/API/gtk/WebKitSettings.cpp: 27503 (webKitSettingsSetProperty): Added property setter. 27504 (webKitSettingsGetProperty): Added propery getter. 27505 (webkit_settings_class_init): Install property. 27506 (webkit_settings_get_enable_caret_browsing): Added. 27507 (webkit_settings_set_enable_caret_browsing): Added. 27508 * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs. 27509 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation. 27510 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 27511 (testWebKitSettings): Added new API test. 27512 275132011-11-14 Julien Chaffraix <jchaffraix@webkit.org> 27514 27515 Add --css-grid-layout to build-webkit and the build systems 27516 https://bugs.webkit.org/show_bug.cgi?id=72320 27517 27518 Reviewed by Ojan Vafai. 27519 27520 * Configurations/FeatureDefines.xcconfig: 27521 275222011-11-14 Tony Chang <tony@chromium.org> 27523 27524 Remove the CSS3_FLEXBOX compile time flag and enable on all ports 27525 https://bugs.webkit.org/show_bug.cgi?id=72196 27526 27527 Reviewed by Ojan Vafai. 27528 27529 * Configurations/FeatureDefines.xcconfig: 27530 275312011-11-14 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 27532 27533 Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup 27534 https://bugs.webkit.org/show_bug.cgi?id=72299 27535 27536 Reviewed by Noam Rosenthal. 27537 27538 Added check that clipping rect is valid. 27539 Clear GL error that might remain from QT GL operations. 27540 Added GL error assert for scissor test operations. 27541 27542 * UIProcess/API/qt/qquickwebpage.cpp: 27543 (QQuickWebPagePrivate::paintToCurrentGLContext): 27544 275452011-11-14 Anders Carlsson <andersca@apple.com> 27546 27547 Only send progress notifications for the main frame 27548 https://bugs.webkit.org/show_bug.cgi?id=72302 27549 27550 Reviewed by Sam Weinig. 27551 27552 Since it's impossible in the API to tell which frame the progress notifications are for, just send them to the main frame for now. 27553 27554 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 27555 (WebKit::WebFrameLoaderClient::postProgressStartedNotification): 27556 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification): 27557 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification): 27558 275592011-11-14 Alexis Menard <alexis.menard@openbossa.org> 27560 27561 [Qt][WK2] Cleanup QML tests. 27562 https://bugs.webkit.org/show_bug.cgi?id=72259 27563 27564 Reviewed by Simon Hausmann. 27565 27566 Cleanup QML tests. This patch removes the duplicates after the merge of both views. 27567 I also isolated the desktop specific bits into its own directory. 27568 27569 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml. 27570 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml. 27571 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml. 27572 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml. 27573 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed. 27574 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed. 27575 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed. 27576 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed. 27577 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed. 27578 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed. 27579 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed. 27580 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml. 27581 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml. 27582 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml. 27583 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml. 27584 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml. 27585 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml. 27586 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 27587 275882011-11-14 Mario Sanchez Prada <msanchez@igalia.com> 27589 27590 Add support for the caretBrowsingEnabled preference in WebKit2 27591 https://bugs.webkit.org/show_bug.cgi?id=72266 27592 27593 Reviewed by Chris Fleizach. 27594 27595 * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter 27596 and setter macro. 27597 * UIProcess/API/C/WKPreferences.h: 27598 * UIProcess/API/C/WKPreferences.cpp: 27599 (WKPreferencesSetCaretBrowsingEnabled): Added. 27600 (WKPreferencesGetCaretBrowsingEnabled): Added. 27601 * WebProcess/WebPage/WebPage.cpp: 27602 (WebKit::WebPage::updatePreferences): Update the 27603 caretBrowsingEnabledKey preference. 27604 276052011-11-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 27606 27607 [Qt] Remove reference to QWebNavigationController 27608 https://bugs.webkit.org/show_bug.cgi?id=72257 27609 27610 Reviewed by Simon Hausmann. 27611 27612 QWebNavigationController was removed in r99946, this is just a leftover. 27613 27614 * UIProcess/API/qt/qquickwebview.cpp: 27615 (QQuickWebViewPrivate::QQuickWebViewPrivate): 27616 * UIProcess/API/qt/qquickwebview_p.h: 27617 276182011-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 27619 27620 [Qt] the QQuickWebView should support double-tap to zoom 27621 https://bugs.webkit.org/show_bug.cgi?id=72030 27622 27623 Reviewed by Andreas Kling. 27624 27625 * UIProcess/qt/QtViewInterface.cpp: 27626 * UIProcess/qt/QtViewInterface.h: 27627 * UIProcess/qt/QtViewportInteractionEngine.cpp: 27628 (WebKit::QtViewportInteractionEngine::animateItemRectVisible): 27629 (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded): 27630 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 27631 * UIProcess/qt/QtViewportInteractionEngine.h: 27632 * UIProcess/qt/QtWebPageProxy.cpp: 27633 (QtWebPageProxy::didFindZoomableArea): 27634 276352011-11-14 Zalan Bujtas <zbujtas@gmail.com> 27636 27637 Build breaks with --no-javascript-debugger --no-inspector 27638 https://bugs.webkit.org/show_bug.cgi?id=72228 27639 27640 Reviewed by Simon Hausmann. 27641 27642 * UIProcess/WebPageProxy.cpp: 27643 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): 27644 276452011-11-13 Mark Rowe <mrowe@apple.com> 27646 27647 Fix the 32-bit build. 27648 27649 * WebProcess/mac/WebProcessMac.mm: 27650 (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures. 27651 276522011-11-12 Laszlo Gombos <laszlo.1.gombos@nokia.com> 27653 27654 [Qt][Symbian] Remove support for WINSCW compiler 27655 https://bugs.webkit.org/show_bug.cgi?id=70178 27656 27657 Reviewed by Chang Shu. 27658 27659 * Shared/API/c/WKString.h: 27660 276612011-11-12 Dan Bernstein <mitz@apple.com> 27662 27663 <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off) 27664 https://bugs.webkit.org/show_bug.cgi?id=72217 27665 27666 Reviewed by Dave Hyatt. 27667 27668 * UIProcess/API/mac/PageClientImpl.mm: 27669 (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender 27670 to the top of the text rect to establish the baseline here... 27671 * WebProcess/WebPage/mac/WebPageMac.mm: 27672 (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s 27673 ascender, which is what’s actually used when drawing the text. 27674 276752011-11-11 Nayan Kumar K <nayankk@motorola.com> 27676 27677 [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings 27678 https://bugs.webkit.org/show_bug.cgi?id=68996 27679 27680 Reviewed by Martin Robinson. 27681 27682 Provision to query and set the font related properties (such as 27683 font-family, font-size) and charset properties (such as default- 27684 charset) is added. 27685 27686 * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties. 27687 (webKitSettingsSetProperty): GObject set property function. 27688 (webKitSettingsGetProperty): GObject get property function. 27689 (webkit_settings_class_init): Few more signals installed. 27690 (webkit_settings_init): Initialization of instance variables. 27691 (webkit_web_settings_get_default_font_family): Get 'default-font-family'. 27692 (webkit_web_settings_set_default_font_family): Set 'default-font-family'. 27693 (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'. 27694 (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'. 27695 (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'. 27696 (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'. 27697 (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'. 27698 (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'. 27699 (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'. 27700 (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'. 27701 (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'. 27702 (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'. 27703 (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'. 27704 (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'. 27705 (webkit_web_settings_get_default_font_size): Get 'default-font-size'. 27706 (webkit_web_settings_set_default_font_size): Set 'default-font-size'. 27707 (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'. 27708 (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'. 27709 (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'. 27710 (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'. 27711 (webkit_web_settings_get_default_charset): Get 'default-charset'. 27712 (webkit_web_settings_set_default_charset): Set 'default-charset'. 27713 * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation. 27714 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs. 27715 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 27716 (testWebKitSettings): Add new tests. 27717 277182011-11-11 Shinya Kawanaka <shinyak@google.com> 27719 27720 Implement legacy text check emulation in unified text check interface. 27721 https://bugs.webkit.org/show_bug.cgi?id=70299 27722 27723 Reviewed by Hajime Morita. 27724 27725 * win/WebKit2.def: 27726 * win/WebKit2CFLite.def: 27727 277282011-11-11 Alexey Proskuryakov <ap@apple.com> 27729 27730 WebProcess should use AppSandbox style quarantine 27731 https://bugs.webkit.org/show_bug.cgi?id=72168 27732 <rdar://problem/10434292> 27733 27734 Reviewed by Darin Adler. 27735 27736 * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it. 27737 277382011-11-11 Darin Adler <darin@apple.com> 27739 27740 * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file. 27741 If an older Xcode downgrades this file and we have a risk of some kind of 27742 oscillating commit situation, please contact me so I know not to do this again. 27743 277442011-11-11 Mark Hahnenberg <mhahnenberg@apple.com> 27745 27746 Add jsCast to replace static_cast 27747 https://bugs.webkit.org/show_bug.cgi?id=72071 27748 27749 Reviewed by Geoffrey Garen. 27750 27751 Added new jsCast and changed all of the static_cast sites in functions that 27752 are in the MethodTable to use jsCast instead. 27753 27754 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 27755 (WebKit::JSNPObject::getCallData): 27756 (WebKit::JSNPObject::getConstructData): 27757 (WebKit::JSNPObject::getOwnPropertySlot): 27758 (WebKit::JSNPObject::getOwnPropertyDescriptor): 27759 (WebKit::JSNPObject::put): 27760 (WebKit::JSNPObject::deleteProperty): 27761 (WebKit::JSNPObject::deletePropertyByIndex): 27762 (WebKit::JSNPObject::getOwnPropertyNames): 27763 277642011-11-11 Timothy Hatcher <timothy@apple.com> 27765 27766 Only use the textured window style mask when there is no override inspector page. 27767 27768 https://webkit.org/b/72142 27769 27770 Reviewed by Dan Bernstein. 27771 27772 * UIProcess/mac/WebInspectorProxyMac.mm: 27773 (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if 27774 there is an override inspector page. Make setAutorecalculatesContentBorderThickness:, 27775 setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional. 27776 277772011-11-11 Simon Hausmann <simon.hausmann@nokia.com> 27778 27779 [Qt] Remove dead MeeGoTouch code. 27780 27781 Reviewed by Tor Arne Vestbø. 27782 27783 * WebProcess/qt/WebProcessMainQt.cpp: 27784 (WebKit::WebProcessMainQt): 27785 277862011-11-11 Alexis Menard <alexis.menard@openbossa.org> 27787 27788 [Qt] Add a way to have experimental features in WebKit2 27789 https://bugs.webkit.org/show_bug.cgi?id=67707 27790 27791 Reviewed by Kenneth Rohde Christiansen. 27792 27793 Add new QML extensions for our public view. This extension 27794 returns the private object of the view so that the user could 27795 use unstable/unreleased APIs. This requires our private class 27796 to be exported and QObject subclass. 27797 27798 * Target.pri: 27799 * UIProcess/API/qt/qquickwebview.cpp: 27800 * UIProcess/API/qt/qquickwebview_p.h: 27801 * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added. 27802 (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension): 27803 (QQuickWebViewPrivateExtension::viewPrivate): 27804 * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added. 27805 278062011-11-11 Simon Hausmann <simon.hausmann@nokia.com> 27807 27808 [Qt][WK2] Remove QWebNavigationController 27809 https://bugs.webkit.org/show_bug.cgi?id=72113 27810 27811 Reviewed by Andreas Kling. 27812 27813 Fold the functions and properties of QWebNavigationController into 27814 QQuickWebView. 27815 27816 * Target.pri: 27817 * UIProcess/API/qt/WKView.h: 27818 * UIProcess/API/qt/qquickwebpage.cpp: 27819 (QQuickWebPagePrivate::QQuickWebPagePrivate): 27820 * UIProcess/API/qt/qquickwebpage.h: 27821 * UIProcess/API/qt/qquickwebpage_p.h: 27822 * UIProcess/API/qt/qquickwebview.cpp: 27823 (QQuickWebViewPrivate::initialize): 27824 (QQuickWebView::goBack): 27825 (QQuickWebView::goForward): 27826 (QQuickWebView::stop): 27827 (QQuickWebView::reload): 27828 (QQuickWebView::canGoBack): 27829 (QQuickWebView::canGoForward): 27830 (QQuickWebView::canStop): 27831 (QQuickWebView::canReload): 27832 (QQuickWebView::title): 27833 * UIProcess/API/qt/qquickwebview.h: 27834 * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed. 27835 * UIProcess/API/qt/qwebnavigationcontroller.h: Removed. 27836 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: 27837 (tst_QQuickWebView::navigationStatusAtStartup): 27838 (LoadStartedCatcher::onLoadStarted): 27839 (tst_QQuickWebView::stopEnabledAfterLoadStarted): 27840 (tst_QQuickWebView::backAndForward): 27841 (tst_QQuickWebView::reload): 27842 (tst_QQuickWebView::stop): 27843 278442011-11-10 Beth Dakin <bdakin@apple.com> 27845 27846 Once more for the QT build. 27847 27848 * UIProcess/qt/QtWebPageProxy.cpp: 27849 (QtWebPageProxy::setFindIndicator): 27850 * UIProcess/qt/QtWebPageProxy.h: 27851 278522011-11-10 Beth Dakin <bdakin@apple.com> 27853 27854 More attempted build fix. 27855 27856 * UIProcess/API/efl/PageClientImpl.cpp: 27857 (WebKit::PageClientImpl::setFindIndicator): 27858 * UIProcess/API/efl/PageClientImpl.h: 27859 * UIProcess/API/gtk/PageClientImpl.cpp: 27860 (WebKit::PageClientImpl::setFindIndicator): 27861 * UIProcess/API/gtk/PageClientImpl.h: 27862 278632011-11-10 Anders Carlsson <andersca@apple.com> 27864 27865 Fix 32-bit build. 27866 27867 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 27868 (-[WKContentLayer drawInContext:]): 27869 278702011-11-10 Beth Dakin <bdakin@apple.com> 27871 27872 Speculative build fix. 27873 27874 * UIProcess/win/WebView.cpp: 27875 (WebKit::WebView::setFindIndicator): 27876 * UIProcess/win/WebView.h: 27877 278782011-11-10 Beth Dakin <bdakin@apple.com> 27879 27880 https://bugs.webkit.org/show_bug.cgi?id=66584 27881 WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor 27882 display 27883 -and corresponding- 27884 <rdar://problem/9987559> 27885 27886 Reviewed by Anders Carlsson. 27887 27888 The setFindIndicator message and various functions of the same name must all take 27889 an additional parameter indicating whether or not setting the find indicator 27890 should result in a bounce animation. This is because when the device scale factor 27891 changes, if there is currently a find indicator, it must be re-set to a higher or 27892 lower resolution version, but we don't want the bounce animation to happen again. 27893 * UIProcess/API/mac/FindIndicatorWindow.h: 27894 * UIProcess/API/mac/FindIndicatorWindow.mm: 27895 (WebKit::FindIndicatorWindow::setFindIndicator): 27896 * UIProcess/API/mac/PageClientImpl.h: 27897 * UIProcess/API/mac/PageClientImpl.mm: 27898 (WebKit::PageClientImpl::setFindIndicator): 27899 * UIProcess/API/mac/WKView.mm: 27900 (-[WKView _setFindIndicator:fadeOut:animate:]): 27901 * UIProcess/API/mac/WKViewInternal.h: 27902 * UIProcess/PageClient.h: 27903 * UIProcess/WebPageProxy.cpp: 27904 (WebKit::WebPageProxy::setFindIndicator): 27905 * UIProcess/WebPageProxy.h: 27906 * UIProcess/WebPageProxy.messages.in: 27907 27908 New function FindController::isShowingOverlay() is used to determine if 27909 FindController::deviceScaleFactorDidChange() needs to be called. 27910 * WebProcess/WebPage/FindController.h: 27911 (WebKit::FindController::isShowingOverlay): 27912 27913 FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re- 27914 generate the bitmap at the appropriate scale factor, but tells it not to animate 27915 this time. 27916 (WebKit::FindController::deviceScaleFactorDidChange): 27917 27918 updateFindIndicator() takes a new parameter indicating whether or not the 27919 FindIndicator should animate. It defaults to true since the deviceScaleFactor 27920 changing is the only case currently where we do not want it to animate. 27921 * WebProcess/WebPage/FindController.cpp: 27922 (WebKit::FindController::updateFindIndicator): 27923 (WebKit::FindController::hideFindIndicator): 27924 27925 Calls into FindController::deviceScaleFactorDidChange() when the scale factor has 27926 changed and the find overlay is showing. 27927 * WebProcess/WebPage/WebPage.cpp: 27928 (WebKit::WebPage::setDeviceScaleFactor): 27929 279302011-11-10 Timothy Hatcher <timothy@apple.com> 27931 27932 Make WKViews in NSPopovers render as they would in active windows. 27933 27934 The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers 27935 are shown or hidden since they share key with the parent window. So WKView 27936 needs to update the active state during order on/off screen notifications. 27937 27938 https://webkit.org/b/68435 27939 27940 Reviewed by John Sullivan. 27941 27942 * UIProcess/API/mac/WKView.mm: 27943 (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive. 27944 (-[WKView _windowDidOrderOnScreen:]): Ditto. 27945 279462011-11-10 Anders Carlsson <andersca@apple.com> 27947 27948 Add a simple content layer to TiledCoreAnimationDrawingArea 27949 https://bugs.webkit.org/show_bug.cgi?id=72044 27950 27951 Reviewed by Darin Adler. 27952 27953 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 27954 Add a content layer member variable. 27955 27956 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 27957 (-[WKContentLayer _initWithWebPage:WebKit::]): 27958 Add initializer. 27959 27960 (-[WKContentLayer drawInContext:]): 27961 Lay out and draw the web page. 27962 27963 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 27964 Add the content layer as a sublayer of the root layer. 27965 27966 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay): 27967 (WebKit::TiledCoreAnimationDrawingArea::scroll): 27968 Tell the content layer to paint. 27969 27970 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 27971 Resize the content layer as well. 27972 279732011-11-10 Anders Carlsson <andersca@apple.com> 27974 27975 The WKView layer hosting subview needs to be flipped 27976 https://bugs.webkit.org/show_bug.cgi?id=72042 27977 27978 Reviewed by Darin Adler. 27979 27980 In order to match the Core Animation layer hierarchy, the layer hosting WKView 27981 subview needs to be flipped. 27982 27983 * UIProcess/API/mac/WKView.mm: 27984 (-[WKFlippedView isFlipped]): 27985 Add a NSView subview whose sole purpose is to be flipped. 27986 27987 (-[WKView _enterAcceleratedCompositingMode:]): 27988 Create a WKFlippedView instead of a regular NSView. 27989 279902011-11-10 Balazs Kelemen <kbalazs@webkit.org> 27991 27992 [Qt] X11 plugins need to be reworked for Qt5 27993 https://bugs.webkit.org/show_bug.cgi?id=70023 27994 27995 Reviewed by Simon Hausmann. 27996 27997 * Target.pri: 27998 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: 27999 (WebKit::PluginInfoStore::pluginsDirectories): 28000 Kill the last dependency from the WebKit1 plugin system. 28001 This is necessary because currently we don't build the WebKit1 28002 plugin code. The function is equivalent with the XP_UNIX part of 28003 PluginDatabase::defaultPluginDirectories. 28004 28005 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 28006 (WebKit::NPN_GetValue): 28007 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 28008 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 28009 (WebKit::getPluginDisplay): 28010 (WebKit::x11Screen): 28011 (WebKit::displayDepth): 28012 (WebKit::rootWindowID): 28013 (WebKit::NetscapePlugin::x11HostDisplay): 28014 (WebKit::NetscapePlugin::platformPostInitialize): 28015 (WebKit::NetscapePlugin::platformDestroy): 28016 (WebKit::NetscapePlugin::platformGeometryDidChange): 28017 (WebKit::NetscapePlugin::platformPaint): 28018 (WebKit::initializeXEvent): 28019 Rework plugin initialization and drawing model. 28020 280212011-11-10 Martin Robinson <mrobinson@igalia.com> 28022 28023 [GTK] [WebKit2] Fix remaining gtkdoc errors 28024 https://bugs.webkit.org/show_bug.cgi?id=71990 28025 28026 Reviewed by Philippe Normand. 28027 28028 * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to 28029 references to properties, because the gtkdoc stylesheet does not differeniate 28030 between properties and signals. Standardize the way we talk about property 28031 notifications. 28032 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 28033 warnings about GIR annotations. 28034 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section. 28035 280362011-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org> 28037 28038 [Qt] Clean up how singe / double taps are handled 28039 https://bugs.webkit.org/show_bug.cgi?id=72024 28040 28041 Reviewed by Simon Hausmann. 28042 28043 Move all decision making to the QtWebPageProxy. 28044 28045 * UIProcess/qt/QtTapGestureRecognizer.cpp: 28046 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 28047 (WebKit::QtTapGestureRecognizer::recognize): 28048 (WebKit::QtTapGestureRecognizer::tapTimeout): 28049 * UIProcess/qt/QtTapGestureRecognizer.h: 28050 * UIProcess/qt/QtWebPageProxy.cpp: 28051 (QtWebPageProxy::QtWebPageProxy): 28052 (QtWebPageProxy::handleSingleTapEvent): 28053 (QtWebPageProxy::handleDoubleTapEvent): 28054 * UIProcess/qt/QtWebPageProxy.h: 28055 280562011-11-10 Simon Hausmann <simon.hausmann@nokia.com> 28057 28058 [Qt] Clean up build system 28059 28060 Reviewed by Tor Arne Vestbø. 28061 28062 Now that we use whole-archive linking we can fold the files that contain exported 28063 symbols back into the WebKit2 static library. 28064 28065 * Target.pri: Fold in sources from WebKit2.pri. 28066 * WebKit2.pri: Removed. 28067 280682011-11-10 Alexis Menard <alexis.menard@openbossa.org> 28069 28070 [Qt] Merge QTouchWebView and QDesktopWebView into one class 28071 https://bugs.webkit.org/show_bug.cgi?id=71355 28072 28073 Reviewed by Kenneth Rohde Christiansen. 28074 28075 Merge QTouchWebView and QDesktopWebView into one class called 28076 QQuickWebView and its attached page QQuickWebPage. You can switch to the 28077 traditional desktop use case with the private header. Also now on desktop 28078 platforms AC is turn on by default. I also merged our two 28079 subclasses of QtViewInterface into one as the split doesn't make 28080 that much sense anymore. In the future we want to be able to enable the 28081 traditional desktop use case depending the platform the code is running. 28082 API tests and QML tests have been updated. 28083 28084 * Target.pri: 28085 * UIProcess/API/qt/WKView.h: 28086 * UIProcess/API/qt/qbasewebview.cpp: Removed. 28087 * UIProcess/API/qt/qbasewebview_p.h: Removed. 28088 * UIProcess/API/qt/qdesktopwebview.cpp: Removed. 28089 * UIProcess/API/qt/qdesktopwebview.h: Removed. 28090 * UIProcess/API/qt/qdesktopwebview_p.h: Removed. 28091 * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp. 28092 (QQuickWebPage::QQuickWebPage): 28093 (QQuickWebPage::~QQuickWebPage): 28094 (QQuickWebPage::keyPressEvent): 28095 (QQuickWebPage::keyReleaseEvent): 28096 (QQuickWebPage::inputMethodEvent): 28097 (QQuickWebPage::focusInEvent): 28098 (QQuickWebPage::focusOutEvent): 28099 (QQuickWebPage::mousePressEvent): 28100 (QQuickWebPage::mouseMoveEvent): 28101 (QQuickWebPage::mouseReleaseEvent): 28102 (QQuickWebPage::mouseDoubleClickEvent): 28103 (QQuickWebPage::wheelEvent): 28104 (QQuickWebPage::hoverEnterEvent): 28105 (QQuickWebPage::hoverMoveEvent): 28106 (QQuickWebPage::hoverLeaveEvent): 28107 (QQuickWebPage::dragMoveEvent): 28108 (QQuickWebPage::dragEnterEvent): 28109 (QQuickWebPage::dragLeaveEvent): 28110 (QQuickWebPage::dropEvent): 28111 (QQuickWebPage::geometryChanged): 28112 (QQuickWebPage::event): 28113 (QQuickWebPage::touchEvent): 28114 (QQuickWebPage::itemChange): 28115 (QQuickWebPagePrivate::QQuickWebPagePrivate): 28116 (QQuickWebPagePrivate::initializeSceneGraphConnections): 28117 (QQuickWebPagePrivate::setPageProxy): 28118 (computeEffectiveOpacity): 28119 (QQuickWebPagePrivate::paintToCurrentGLContext): 28120 (QQuickWebPagePrivate::_q_onAfterSceneRender): 28121 (QQuickWebPagePrivate::_q_onSceneGraphInitialized): 28122 * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h. 28123 * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h. 28124 * UIProcess/API/qt/qquickwebview.cpp: Added. 28125 (QQuickWebViewPrivate::QQuickWebViewPrivate): 28126 (QQuickWebViewPrivate::enableMouseEvents): 28127 (QQuickWebViewPrivate::disableMouseEvents): 28128 (QQuickWebViewPrivate::initialize): 28129 (QQuickWebViewPrivate::initializeDesktop): 28130 (QQuickWebViewPrivate::initializeTouch): 28131 (QQuickWebViewPrivate::loadDidCommit): 28132 (QQuickWebViewPrivate::contentSizeChanged): 28133 (QQuickWebViewPrivate::scrollPositionRequested): 28134 (QQuickWebViewPrivate::_q_viewportUpdated): 28135 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged): 28136 (QQuickWebViewPrivate::_q_onVisibleChanged): 28137 (QQuickWebViewPrivate::updateViewportSize): 28138 (QQuickWebViewPrivate::updateViewportConstraints): 28139 (QQuickWebViewPrivate::didChangeViewportProperties): 28140 (QQuickWebViewPrivate::runJavaScriptAlert): 28141 (QQuickWebViewPrivate::runJavaScriptConfirm): 28142 (QQuickWebViewPrivate::runJavaScriptPrompt): 28143 (QQuickWebViewPrivate::chooseFiles): 28144 (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected): 28145 (QQuickWebViewPrivate::_q_onOpenPanelFinished): 28146 (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour): 28147 (toPolicyAction): 28148 (hasMetaMethod): 28149 (QQuickWebViewPrivate::navigationPolicyForURL): 28150 (QQuickWebViewPrivate::setPageProxy): 28151 (QQuickWebView::QQuickWebView): 28152 (QQuickWebView::~QQuickWebView): 28153 (QQuickWebView::page): 28154 (QQuickWebView::load): 28155 (QQuickWebView::postMessage): 28156 (QQuickWebView::url): 28157 (QQuickWebView::loadProgress): 28158 (QQuickWebView::title): 28159 (QQuickWebView::navigationController): 28160 (QQuickWebView::preferences): 28161 (QQuickWebView::geometryChanged): 28162 (QQuickWebView::touchEvent): 28163 (QQuickWebView::pageRef): 28164 * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h. 28165 * UIProcess/API/qt/qquickwebview_p.h: Added. 28166 * UIProcess/API/qt/qtouchwebview.cpp: Removed. 28167 * UIProcess/API/qt/qtouchwebview.h: Removed. 28168 * UIProcess/API/qt/qtouchwebview_p.h: Removed. 28169 * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed. 28170 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed. 28171 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed. 28172 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed. 28173 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed. 28174 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: 28175 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: 28176 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: 28177 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: 28178 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: 28179 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: 28180 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: 28181 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: 28182 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: 28183 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: 28184 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: 28185 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: 28186 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: 28187 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: 28188 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: 28189 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: 28190 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: 28191 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 28192 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 28193 (DesktopWebView::DesktopWebView): 28194 (main): 28195 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro. 28196 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added. 28197 (tst_QQuickWebView::tst_QQuickWebView): 28198 (tst_QQuickWebView::init): 28199 (tst_QQuickWebView::cleanup): 28200 (tst_QQuickWebView::webView): 28201 (tst_QQuickWebView::accessPage): 28202 (tst_QQuickWebView::navigationStatusAtStartup): 28203 (LoadStartedCatcher::LoadStartedCatcher): 28204 (LoadStartedCatcher::onLoadStarted): 28205 (tst_QQuickWebView::stopEnabledAfterLoadStarted): 28206 (tst_QQuickWebView::baseUrl): 28207 (tst_QQuickWebView::loadEmptyUrl): 28208 (tst_QQuickWebView::loadEmptyPageViewVisible): 28209 (tst_QQuickWebView::loadEmptyPageViewHidden): 28210 (tst_QQuickWebView::loadNonexistentFileUrl): 28211 (tst_QQuickWebView::backAndForward): 28212 (tst_QQuickWebView::reload): 28213 (tst_QQuickWebView::stop): 28214 (tst_QQuickWebView::loadProgress): 28215 (tst_QQuickWebView::show): 28216 * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed. 28217 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed. 28218 * UIProcess/API/qt/tests/testwindow.h: 28219 * UIProcess/TiledDrawingAreaProxy.h: 28220 * UIProcess/qt/QtGestureRecognizer.cpp: 28221 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 28222 (WebKit::QtGestureRecognizer::setViewportInteractionEngine): 28223 * UIProcess/qt/QtGestureRecognizer.h: 28224 * UIProcess/qt/QtPanGestureRecognizer.cpp: 28225 (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine): 28226 (WebKit::QtPanGestureRecognizer::recognize): 28227 * UIProcess/qt/QtPanGestureRecognizer.h: 28228 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 28229 (WebKit::QtPinchGestureRecognizer::recognize): 28230 (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine): 28231 * UIProcess/qt/QtPinchGestureRecognizer.h: 28232 * UIProcess/qt/QtTouchViewInterface.cpp: Removed. 28233 * UIProcess/qt/QtTouchViewInterface.h: Removed. 28234 * UIProcess/qt/QtViewInterface.cpp: Added. 28235 (WebKit::QtViewInterface::QtViewInterface): 28236 (WebKit::QtViewInterface::didFindZoomableArea): 28237 (WebKit::QtViewInterface::sceneGraphUpdateQueue): 28238 (WebKit::QtViewInterface::setViewNeedsDisplay): 28239 (WebKit::QtViewInterface::drawingAreaSize): 28240 (WebKit::QtViewInterface::contentSizeChanged): 28241 (WebKit::QtViewInterface::scrollPositionRequested): 28242 (WebKit::QtViewInterface::isActive): 28243 (WebKit::QtViewInterface::hasFocus): 28244 (WebKit::QtViewInterface::isVisible): 28245 (WebKit::QtViewInterface::startDrag): 28246 (WebKit::QtViewInterface::didChangeViewportProperties): 28247 (WebKit::QtViewInterface::didChangeUrl): 28248 (WebKit::QtViewInterface::didChangeTitle): 28249 (WebKit::QtViewInterface::didChangeToolTip): 28250 (WebKit::QtViewInterface::didChangeStatusText): 28251 (WebKit::QtViewInterface::didChangeCursor): 28252 (WebKit::QtViewInterface::loadDidBegin): 28253 (WebKit::QtViewInterface::loadDidCommit): 28254 (WebKit::QtViewInterface::loadDidSucceed): 28255 (WebKit::QtViewInterface::loadDidFail): 28256 (WebKit::QtViewInterface::didChangeLoadProgress): 28257 (WebKit::QtViewInterface::didMouseMoveOverElement): 28258 (WebKit::QtViewInterface::showContextMenu): 28259 (WebKit::QtViewInterface::hideContextMenu): 28260 (WebKit::QtViewInterface::runJavaScriptAlert): 28261 (WebKit::QtViewInterface::runJavaScriptConfirm): 28262 (WebKit::QtViewInterface::runJavaScriptPrompt): 28263 (WebKit::QtViewInterface::processDidCrash): 28264 (WebKit::QtViewInterface::didRelaunchProcess): 28265 (WebKit::QtViewInterface::engine): 28266 (WebKit::QtViewInterface::downloadRequested): 28267 (WebKit::QtViewInterface::chooseFiles): 28268 * UIProcess/qt/QtViewInterface.h: 28269 * UIProcess/qt/QtWebPageProxy.h: 28270 (QtWebPageProxy::setViewportInteractionEngine): 28271 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 28272 * WebKit2.pri: 28273 282742011-11-10 Carlos Garcia Campos <cgarcia@igalia.com> 28275 28276 Unreviewed. Fix make distcheck build. 28277 28278 * GNUmakefile.am: Fix typos in gtk-doc files and scripts. 28279 282802011-11-10 Simon Hausmann <simon.hausmann@nokia.com> 28281 28282 Unreviewed Mac build fix: Remove TapAndHold gesture type. 28283 28284 It broke the build because it's unhandled. Remove it since it's not 28285 supported at the moment anyway. (looks like an accidental addition?) 28286 28287 * Shared/WebEvent.h: 28288 * UIProcess/qt/QtTapGestureRecognizer.cpp: 28289 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 28290 282912011-11-09 Simon Hausmann <simon.hausmann@nokia.com> 28292 28293 [Qt] Enable exports and constructor functions in static libs 28294 28295 Reviewed by Tor Arne Vestbø. 28296 28297 * WebProcess/WebPage/qt/WebPageQt.cpp: 28298 (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource 28299 initialization. 28300 283012011-11-10 Zeno Albisser <zeno.albisser@nokia.com> 28302 28303 [Qt][WK2] Add Tap Gesture recognition to UIProcess 28304 https://bugs.webkit.org/show_bug.cgi?id=71841 28305 28306 Add a Tap gesture recognizer that delivers GestureSingleTap 28307 and GestureTapAndHold events through the WebPageProxy. 28308 Add a GestureTapAndHold to WebEvent. 28309 Add a DoubleTap gesture for zooming in and out. 28310 28311 This patch is based on work of Benjamin Poulain. 28312 28313 Reviewed by Kenneth Rohde Christiansen. 28314 28315 * Shared/WebEvent.h: 28316 * Target.pri: 28317 * UIProcess/qt/QtTapGestureRecognizer.cpp: Added. 28318 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): 28319 (WebKit::QtTapGestureRecognizer::setWebPageProxy): 28320 (WebKit::QtTapGestureRecognizer::recognize): 28321 (WebKit::QtTapGestureRecognizer::tapTimeout): 28322 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout): 28323 (WebKit::QtTapGestureRecognizer::reset): 28324 (WebKit::QtTapGestureRecognizer::timerEvent): 28325 * UIProcess/qt/QtTapGestureRecognizer.h: Added. 28326 * UIProcess/qt/QtWebPageProxy.cpp: 28327 (QtWebPageProxy::QtWebPageProxy): 28328 (QtWebPageProxy::processDidCrash): 28329 (QtWebPageProxy::doneWithTouchEvent): 28330 * UIProcess/qt/QtWebPageProxy.h: 28331 283322011-11-09 Shinya Kawanaka <shinyak@google.com> 28333 28334 Internals.markerRangeForNode should be able to take markers by specifying a marker type. 28335 https://bugs.webkit.org/show_bug.cgi?id=71792 28336 28337 Reviewed by Hajime Morita. 28338 28339 * win/WebKit2.def: Exposed necessary references. 28340 * win/WebKit2CFLite.def: ditto. 28341 283422011-10-26 Martin Robinson <mrobinson@igalia.com> 28343 28344 [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible 28345 https://bugs.webkit.org/show_bug.cgi?id=70877 28346 28347 Reviewed by Philippe Normand. 28348 28349 Add a script that runs gtkdoc manually instead of using the autotools 28350 magic. Remove now unused gtkdoc files. 28351 28352 * GNUmakefile.am: Remove references to removed gtkdoc files. 28353 * UIProcess/API/gtk/docs/GNUmakefile.am: Removed. 28354 * UIProcess/API/gtk/docs/build-gtkdoc: Added. 28355 * UIProcess/API/gtk/docs/gtkdoc.py: Added. 28356 * UIProcess/API/gtk/docs/version.xml.in: Removed. 28357 283582011-11-09 Alexey Proskuryakov <ap@apple.com> 28359 28360 <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials 28361 https://bugs.webkit.org/show_bug.cgi?id=71964 28362 28363 Reviewed by Darin Adler. 28364 28365 * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent. 28366 283672011-11-09 Anders Carlsson <andersca@apple.com> 28368 28369 Element::boundsInWindowSpace should be Element::boundsInRootViewSpace 28370 https://bugs.webkit.org/show_bug.cgi?id=71955 28371 28372 Reviewed by Sam Weinig. 28373 28374 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 28375 (WebKit::InjectedBundleNodeHandle::elementBounds): 28376 Call Element::boundsInRootViewSpace. 28377 283782011-11-09 Alexis Menard <alexis.menard@openbossa.org> 28379 28380 WebGraphicsLayer behaves wrongly when no contentsScale is set. 28381 https://bugs.webkit.org/show_bug.cgi?id=71959 28382 28383 Reviewed by Noam Rosenthal. 28384 28385 The contentsScale needs to get a default value just like 28386 TiledBackingStore in case no value is explicitely set. 28387 28388 It is covered by existing tests. 28389 28390 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 28391 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 28392 283932011-11-09 Mark Hahnenberg <mhahnenberg@apple.com> 28394 28395 De-virtualize JSObject::getOwnPropertyDescriptor 28396 https://bugs.webkit.org/show_bug.cgi?id=71523 28397 28398 Reviewed by Sam Weinig. 28399 28400 Added getOwnPropertyDescriptor to the MethodTable, changed all of the 28401 virtual versions of getOwnPropertyDescriptor to static ones, and 28402 changed all of the call sites to the corresponding lookup in the MethodTable. 28403 28404 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 28405 (WebKit::JSNPObject::getOwnPropertyDescriptor): 28406 * WebProcess/Plugins/Netscape/JSNPObject.h: 28407 284082011-11-09 Alexandru Chiculita <achicu@adobe.com> 28409 28410 Fixing build on MacOSX SL after 71838 28411 https://bugs.webkit.org/show_bug.cgi?id=71912 28412 28413 Reviewed by Anders Carlsson. 28414 28415 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 28416 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 28417 284182011-11-09 Kenneth Rohde Christiansen <kenneth@webkit.org> 28419 28420 [WebKit2] Prepare viewport meta handling for desktop usage 28421 https://bugs.webkit.org/show_bug.cgi?id=71907 28422 28423 Reviewed by Simon Hausmann. 28424 28425 This is only used by Qt so far. Now we don't always layout pages 28426 without the viewport meta tag, using 980 as the layout width, but 28427 instead we use that value (it is a setting) as a minimum value, or 28428 else we use the viewport width. 28429 28430 * UIProcess/API/qt/qtouchwebview.cpp: 28431 (QTouchWebViewPrivate::updateViewportSize): 28432 (QTouchWebViewPrivate::updateViewportConstraints): 28433 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 28434 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 28435 * WebProcess/WebPage/WebPage.cpp: 28436 (WebKit::WebPage::setViewportSize): 28437 284382011-11-09 Simon Hausmann <simon.hausmann@nokia.com> 28439 28440 Unreviewed, rolling out r99701. 28441 http://trac.webkit.org/changeset/99701 28442 28443 Breaks Qt mac build 28444 28445 * WebProcess/WebPage/qt/WebPageQt.cpp: 28446 (initResources): 28447 (WebKit::WebPage::platformInitialize): 28448 284492011-11-09 Simon Hausmann <simon.hausmann@nokia.com> 28450 28451 [Qt] Enable exports and constructor functions in static libs 28452 28453 Reviewed by Tor Arne Vestbø. 28454 28455 * WebProcess/WebPage/qt/WebPageQt.cpp: 28456 (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource 28457 initialization. 28458 284592011-11-09 Simon Hausmann <simon.hausmann@nokia.com> 28460 28461 [Qt] Fix geolocation enabled build. 28462 28463 Reviewed by Tor Arne Vestbø. 28464 28465 * Target.pri: Add QT += location to get the right module includes. 28466 * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation) 28467 * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate 28468 code, because it can't interpret the ENABLE() macro. 28469 284702011-11-09 Simon Hausmann <simon.hausmann@nokia.com> 28471 28472 [Qt] Build system cleanup 28473 https://bugs.webkit.org/show_bug.cgi?id=71815 28474 28475 Reviewed by Kenneth Rohde Christiansen. 28476 28477 * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri. 28478 * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled 28479 if geolocation is enabled. 28480 * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition. 28481 284822011-11-08 Simon Hausmann <simon.hausmann@nokia.com> 28483 28484 [Qt] Replace use of QApplication with QGuiApplication 28485 https://bugs.webkit.org/show_bug.cgi?id=71794 28486 28487 Reviewed by Andreas Kling. 28488 28489 * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion. 28490 * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication. 28491 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto. 28492 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion. 28493 * UIProcess/qt/QtWebPageProxy.cpp: 28494 (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints. 28495 (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto. 28496 284972011-11-07 Adam Barth <abarth@webkit.org> 28498 28499 Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp 28500 https://bugs.webkit.org/show_bug.cgi?id=71755 28501 28502 Reviewed by Eric Seidel. 28503 28504 * WebProcess/InjectedBundle/InjectedBundle.cpp: 28505 (WebKit::InjectedBundle::addOriginAccessWhitelistEntry): 28506 (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry): 28507 (WebKit::InjectedBundle::resetOriginAccessWhitelists): 28508 * WebProcess/Plugins/PluginView.cpp: 28509 (WebKit::PluginView::loadURL): 28510 285112011-11-08 Brent Fulgham <bfulgham@webkit.org> 28512 28513 [WinCairo] Unreviewed build fix after r99613. 28514 28515 * win/WebKit2CFLite.def: Add missing export. 28516 285172011-11-08 Brent Fulgham <bfulgham@webkit.org> 28518 28519 [WinCairo] Unreviewed build fix after r98624 and r99613. 28520 28521 * win/WebKit2CFLite.def: Add missing exports. 28522 285232011-11-08 Beth Dakin <bdakin@apple.com> 28524 28525 https://bugs.webkit.org/show_bug.cgi?id=71856 28526 WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 28527 old NSWindowDidChangeResolutionNotification 28528 -and corresponding- 28529 <rdar://problem/10317253> 28530 28531 Reviewed by Tim Hatcher. 28532 28533 * UIProcess/API/mac/WKView.mm: 28534 (-[WKView addWindowObserversForWindow:]): 28535 (-[WKView removeWindowObservers]): 28536 28537 We have to check that the backing scale factor actually changed since this 28538 notification can also be used to signify other changes. 28539 (-[WKView _windowDidChangeBackingProperties:]): 28540 285412011-11-08 Anders Carlsson <andersca@apple.com> 28542 28543 Add a basic layer hierarchy to the Core Animation drawing area 28544 https://bugs.webkit.org/show_bug.cgi?id=71838 28545 28546 Reviewed by Sam Weinig. 28547 28548 * UIProcess/API/mac/WKView.mm: 28549 (-[WKView drawRect:]): 28550 Return early if we're using a tiled drawing area. 28551 28552 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 28553 If we're using a tiled drawing area, make the WKView layer backed and set its layer 28554 to a simple CALayer with a white background and set the view's content redraw policy 28555 to never to avoid ever calling drawRect. 28556 28557 * UIProcess/DrawingAreaProxy.h: 28558 (WebKit::DrawingAreaProxy::didUpdateGeometry): 28559 * UIProcess/DrawingAreaProxy.messages.in: 28560 Add a new didUpdateGeometry message. 28561 28562 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 28563 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 28564 (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy): 28565 Initialize m_isWaitingForDidUpdateGeometry. 28566 28567 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange): 28568 Send an UpdateGeometry message to the web process and wait for a reply. 28569 28570 (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode): 28571 Tell the web page proxy to enter accelerated compositing mode. 28572 28573 (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode): 28574 Assert that this function is never called. 28575 28576 (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry): 28577 Send another UpdateGeometry message if needed. 28578 28579 (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): 28580 Add helper function to actually send the UpdateGeometry message. 28581 28582 * WebProcess/WebPage/DrawingArea.h: 28583 (WebKit::DrawingArea::updateGeometry): 28584 * WebProcess/WebPage/DrawingArea.messages.in: 28585 Add UpdateGeometry message. 28586 28587 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 28588 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 28589 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 28590 Create a red root layer and a remote layer client that hosts it. 28591 28592 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 28593 Resize the root layer and tell the UI process that we've updated the geometry. 28594 285952011-11-08 Dan Bernstein <mitz@apple.com> 28596 28597 <rdar://problem/10262225> Allow RenderView to have columns 28598 https://bugs.webkit.org/show_bug.cgi?id=71840 28599 28600 * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport. 28601 286022011-11-08 Jon Lee <jonlee@apple.com> 28603 28604 [WK2] Expose acceptMIMETypes for file inputs 28605 https://bugs.webkit.org/show_bug.cgi?id=71836 28606 <rdar://problem/10407367> 28607 28608 Reviewed by Anders Carlsson. 28609 28610 * Shared/WebOpenPanelParameters.cpp: 28611 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 28612 * Shared/WebOpenPanelParameters.h: 28613 * UIProcess/API/C/WKOpenPanelParameters.cpp: 28614 (WKOpenPanelParametersCopyAcceptedMIMETypes): 28615 * UIProcess/API/C/WKOpenPanelParameters.h: 28616 286172011-11-08 Zan Dobersek <zandobersek@gmail.com> 28618 28619 [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs 28620 https://bugs.webkit.org/show_bug.cgi?id=71837 28621 28622 Reviewed by Martin Robinson. 28623 28624 Ensure that directories for databases and local storage are in a 'webkitgtk' 28625 directory in current user's data directory, noting they originate from the Gtk port. 28626 28627 * UIProcess/gtk/WebContextGtk.cpp: 28628 (WebKit::WebContext::platformDefaultDatabaseDirectory): 28629 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 28630 286312011-11-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 28632 28633 [Qt] Workaround some problems in QML API tests 28634 https://bugs.webkit.org/show_bug.cgi?id=71818 28635 28636 Reviewed by Tor Arne Vestbø. 28637 28638 This commit workaround the issue of QML's QtTest crashing when we run tests after 28639 "windowShown". We delay to the next run of the mainloop. This workaround is not 28640 pretty but shouldn't affect the semantics of the tests. And we benefit more from 28641 having working tests right now. 28642 28643 This patch also improves Download to: wait for the load before emitting click, and 28644 properly identifying the "succeeded" signal of the downloadItem object. 28645 28646 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: 28647 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: 28648 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: 28649 286502011-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org> 28651 28652 Clean up QtViewportInteractionEngine 28653 28654 Reviewed by Simon Hausmann. 28655 28656 * UIProcess/qt/QtViewportInteractionEngine.cpp: 28657 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 28658 (WebKit::QtViewportInteractionEngine::setItemRectVisible): 28659 28660 Rename the method to make it more obvious what it does. Avoid implicit 28661 conversion to/from QVariant. 28662 28663 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 28664 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 28665 (WebKit::QtViewportInteractionEngine::itemSizeChanged): 28666 28667 Only call this method on item size changes, and not for every interaction 28668 with the viewport item. Before this change it was even being called during 28669 animations. 28670 28671 * UIProcess/qt/QtViewportInteractionEngine.h: 28672 (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged): 28673 28674 Rename to make it clean that this is called from the animator. 28675 286762011-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org> 28677 28678 [Qt] Improve the animation time constant 28679 https://bugs.webkit.org/show_bug.cgi?id=71790 28680 28681 Reviewed by Simon Hausmann. 28682 28683 Use 250 milliseconds instead of 400, which feels a lot more natural 28684 and makes the mini browser feel more responsive. 28685 28686 * UIProcess/qt/QtViewportInteractionEngine.cpp: 28687 286882011-11-08 Alexis Menard <alexis.menard@openbossa.org> 28689 28690 [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy. 28691 https://bugs.webkit.org/show_bug.cgi?id=71355 28692 28693 Reviewed by Simon Hausmann. 28694 28695 As we try to unify our public API offer we need to merge our double 28696 WebPageProxy implementations first into a common class. That will help 28697 to merge our TouchWebView and DesktopWebView views into one class later. 28698 This commit just merge stuff around and doesn't contain any functional changes. 28699 28700 * Target.pri: 28701 * UIProcess/API/qt/qdesktopwebview.cpp: 28702 (QDesktopWebViewPrivate::init): 28703 * UIProcess/API/qt/qtouchwebpage.cpp: 28704 (QTouchWebPagePrivate::paintToCurrentGLContext): 28705 * UIProcess/API/qt/qtouchwebpage.h: 28706 * UIProcess/API/qt/qtouchwebpage_p.h: 28707 * UIProcess/API/qt/qtouchwebview.cpp: 28708 (QTouchWebViewPrivate::init): 28709 (QTouchWebViewPrivate::_q_viewportUpdated): 28710 (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged): 28711 * UIProcess/API/qt/qtouchwebview_p.h: 28712 * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed. 28713 * UIProcess/qt/QtDesktopWebPageProxy.h: Removed. 28714 * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed. 28715 * UIProcess/qt/QtTouchWebPageProxy.h: Removed. 28716 * UIProcess/qt/QtWebPageProxy.cpp: 28717 (dragOperationToDropAction): 28718 (QtWebPageProxy::QtWebPageProxy): 28719 (QtWebPageProxy::handleEvent): 28720 (QtWebPageProxy::handleMouseMoveEvent): 28721 (QtWebPageProxy::handleMousePressEvent): 28722 (QtWebPageProxy::handleMouseReleaseEvent): 28723 (QtWebPageProxy::handleMouseDoubleClickEvent): 28724 (QtWebPageProxy::handleWheelEvent): 28725 (QtWebPageProxy::handleHoverLeaveEvent): 28726 (QtWebPageProxy::handleHoverMoveEvent): 28727 (QtWebPageProxy::handleDragEnterEvent): 28728 (QtWebPageProxy::handleDragLeaveEvent): 28729 (QtWebPageProxy::handleDragMoveEvent): 28730 (QtWebPageProxy::handleDropEvent): 28731 (QtWebPageProxy::timerEvent): 28732 (QtWebPageProxy::processDidCrash): 28733 (QtWebPageProxy::didReceiveDownloadResponse): 28734 (QtWebPageProxy::paintContent): 28735 (QtWebPageProxy::createDrawingAreaProxy): 28736 (QtWebPageProxy::renderToCurrentGLContext): 28737 (QtWebPageProxy::doneWithTouchEvent): 28738 (QtWebPageProxy::setVisibleContentRectAndScale): 28739 (QtWebPageProxy::setVisibleContentRectTrajectoryVector): 28740 (QtWebPageProxy::touchEvent): 28741 (QtWebPageProxy::findZoomableAreaForPoint): 28742 * UIProcess/qt/QtWebPageProxy.h: 28743 287442011-11-08 Zan Dobersek <zandobersek@gmail.com> 28745 28746 [WK2][GTK] Application cache directory is incorrectly set 28747 https://bugs.webkit.org/show_bug.cgi?id=70680 28748 28749 Reviewed by Philippe Normand. 28750 28751 Correctly set application cache directory to be in current 28752 user's default cache directory. 28753 28754 * UIProcess/gtk/WebContextGtk.cpp: 28755 (WebKit::WebContext::applicationCacheDirectory): 28756 287572011-11-07 Emil A Eklund <eae@chromium.org> 28758 28759 Revert platform and scrolling to ints 28760 https://bugs.webkit.org/show_bug.cgi?id=71585 28761 28762 Reviewed by Eric Seidel. 28763 28764 Replace all uses of LayoutUnit and related types with ints in platform 28765 and scrolling code. 28766 28767 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 28768 (WebKit::BuiltInPDFView::invalidateScrollbarRect): 28769 (WebKit::BuiltInPDFView::visibleHeight): 28770 (WebKit::BuiltInPDFView::visibleWidth): 28771 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 28772 287732011-11-07 Adam Barth <abarth@webkit.org> 28774 28775 Move DomainRelaxationForbidden scheme registry to SchemeRegistry 28776 https://bugs.webkit.org/show_bug.cgi?id=71750 28777 28778 Reviewed by Eric Seidel. 28779 28780 * WebProcess/WebProcess.cpp: 28781 (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme): 28782 287832011-11-07 Beth Dakin <bdakin@apple.com> 28784 28785 https://bugs.webkit.org/show_bug.cgi?id=71490 28786 Support uiStateTransitionProgress for scrollbars 28787 -and corresponding- 28788 <rdar://problem/9849612> 28789 28790 Reviewed by Sam Weinig. 28791 28792 Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter. 28793 * UIProcess/win/WebPopupMenuProxyWin.cpp: 28794 (WebKit::WebPopupMenuProxyWin::onLButtonUp): 28795 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 28796 (WebKit::BuiltInPDFView::handleMouseEvent): 28797 287982011-11-07 Alexey Proskuryakov <ap@apple.com> 28799 28800 The Full Keyboard Access preference should be read in the UI process 28801 https://bugs.webkit.org/show_bug.cgi?id=71734 28802 <rdar://problem/9237619> 28803 28804 Reviewed by Darin Adler. 28805 28806 This is consistent with how other global preferences (like language) are handled, and lets 28807 us tighten up the sandbox a little. 28808 28809 * Shared/WebProcessCreationParameters.cpp: 28810 (WebKit::WebProcessCreationParameters::encode): 28811 (WebKit::WebProcessCreationParameters::decode): 28812 * Shared/WebProcessCreationParameters.h: 28813 Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value. 28814 28815 * UIProcess/WebContext.h: 28816 * UIProcess/WebContext.cpp: 28817 (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process 28818 is already running, tell it. 28819 (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current 28820 preference. 28821 28822 * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled): 28823 * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled): 28824 * UIProcess/WebProcessProxy.h: 28825 Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function 28826 as any. One day, we will make code more consistent with language and other global preferences. 28827 28828 * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h. 28829 * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm. 28830 * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed. 28831 * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed. 28832 (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved, 28833 push the preference value. 28834 28835 * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process. 28836 28837 * WebProcess/WebProcess.h: 28838 * WebProcess/WebProcess.cpp: 28839 (WebKit::WebProcess::WebProcess): 28840 (WebKit::WebProcess::fullKeyboardAccessModeChanged): 28841 (WebKit::WebProcess::fullKeyboardAccessEnabled): 28842 * WebProcess/mac/WebProcessMac.mm: 28843 WebCprocess now holds the preference value in a mamber value, which UI process pushes 28844 updates to. 28845 28846 * WebProcess/WebProcess.messages.in: Added a message for changes preference value. 28847 28848 * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist. 28849 288502011-11-07 Anders Carlsson <andersca@apple.com> 28851 28852 Add TiledCoreAnimationDrawingArea stub classes 28853 https://bugs.webkit.org/show_bug.cgi?id=71729 28854 28855 Reviewed by Sam Weinig. 28856 28857 * Shared/DrawingAreaInfo.h: 28858 * UIProcess/API/mac/WKView.mm: 28859 (-[WKView _shouldUseTiledDrawingArea]): 28860 (-[WKView WebKit::]): 28861 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. 28862 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp. 28863 (WebKit::TiledCoreAnimationDrawingAreaProxy::create): 28864 (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy): 28865 (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy): 28866 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange): 28867 (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange): 28868 * WebKit2.xcodeproj/project.pbxproj: 28869 * WebProcess/WebPage/DrawingArea.cpp: 28870 (WebKit::DrawingArea::create): 28871 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp. 28872 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp. 28873 (WebKit::TiledCoreAnimationDrawingArea::create): 28874 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 28875 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 28876 (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay): 28877 (WebKit::TiledCoreAnimationDrawingArea::scroll): 28878 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 28879 (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync): 28880 288812011-11-07 Anders Carlsson <andersca@apple.com> 28882 28883 Follow-up build fix. 28884 28885 * WebProcess/WebPage/DrawingAreaImpl.h: 28886 288872011-11-07 Anders Carlsson <andersca@apple.com> 28888 28889 Remove unused DrawingArea::syncCompositingLayers 28890 https://bugs.webkit.org/show_bug.cgi?id=71717 28891 28892 Reviewed by John Sullivan. 28893 28894 * WebProcess/WebPage/DrawingArea.h: 28895 * WebProcess/WebPage/DrawingAreaImpl.cpp: 28896 * WebProcess/WebPage/TiledDrawingArea.h: 28897 288982011-11-07 Anders Carlsson <andersca@apple.com> 28899 28900 Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates 28901 https://bugs.webkit.org/show_bug.cgi?id=71708 28902 28903 Reviewed by Sam Weinig. 28904 28905 The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions 28906 everywhere and, since the meaning is now inverted, invert the checks and return values. 28907 28908 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 28909 (WebKit::NetscapePlugin::callSetWindow): 28910 (WebKit::NetscapePlugin::geometryDidChange): 28911 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 28912 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: 28913 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates): 28914 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 28915 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates): 28916 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 28917 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates): 28918 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 28919 (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates): 28920 289212011-11-07 Anders Carlsson <andersca@apple.com> 28922 28923 NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac 28924 https://bugs.webkit.org/show_bug.cgi?id=71707 28925 28926 Reviewed by Sam Weinig. 28927 28928 This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size 28929 and location as the plug-in (relative to the screen). 28930 28931 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 28932 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 28933 (WebKit::NetscapePlugin::platformGeometryDidChange): 28934 Call updateFakeWindowBounds. 28935 28936 (WebKit::NetscapePlugin::updateFakeWindowBounds): 28937 Convert the plug-in position to screen coordinates and set the window bounds to be the location and 28938 size of the plug-in, where the location is relative to the screen. 28939 28940 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): 28941 Return false. 28942 28943 (WebKit::NetscapePlugin::windowAndViewFramesChanged): 28944 Call updateFakeWindowBounds. 28945 289462011-11-07 Sam Weinig <sam@webkit.org> 28947 28948 WKPage.h should be in PrivateHeaders. 28949 28950 Rubber-stamped by Anders Carlsson. 28951 28952 * WebKit2.xcodeproj/project.pbxproj: 28953 Mark WKPage.h private. 28954 289552011-11-07 Anders Carlsson <andersca@apple.com> 28956 28957 Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins 28958 https://bugs.webkit.org/show_bug.cgi?id=71699 28959 28960 Reviewed by Sam Weinig. 28961 28962 Add a getScreenTransform function which given a coordinate space returns a transform that converts a 28963 point from that coordinate space to the screen coordinate space. We then get the source -> screen transform 28964 and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the 28965 source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space 28966 and use mapPoint to map the source point and return the destination point. 28967 28968 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 28969 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 28970 (WebKit::NetscapePlugin::getScreenTransform): 28971 (WebKit::NetscapePlugin::convertPoint): 28972 28973 * WebProcess/Plugins/PluginView.cpp: 28974 (WebKit::PluginView::initializePlugin): 28975 Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by 28976 the time NPP_SetWindow is called in the plug-in. 28977 289782011-11-07 Kenneth Rohde Christiansen <kenneth@webkit.org> 28979 28980 [Qt] Put handling of gestures and their interaction in one place 28981 https://bugs.webkit.org/show_bug.cgi?id=71682 28982 28983 Reviewed by Simon Hausmann. 28984 28985 Before this patch, the interaction (ie. cancelling animations, events) 28986 was handled in the respective recognizers which then knew about each 28987 others. 28988 28989 * UIProcess/qt/QtGestureRecognizer.h: 28990 (WebKit::QtGestureRecognizer::isRecognized): 28991 * UIProcess/qt/QtPanGestureRecognizer.cpp: 28992 (WebKit::QtPanGestureRecognizer::recognize): 28993 * UIProcess/qt/QtPanGestureRecognizer.h: 28994 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 28995 (WebKit::QtPinchGestureRecognizer::recognize): 28996 * UIProcess/qt/QtPinchGestureRecognizer.h: 28997 * UIProcess/qt/QtTouchWebPageProxy.cpp: 28998 (QtTouchWebPageProxy::QtTouchWebPageProxy): 28999 (QtTouchWebPageProxy::doneWithTouchEvent): 29000 * UIProcess/qt/QtTouchWebPageProxy.h: 29001 * UIProcess/qt/QtViewportInteractionEngine.cpp: 29002 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 29003 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 29004 (WebKit::QtViewportInteractionEngine::scrollAnimationActive): 29005 (WebKit::QtViewportInteractionEngine::interruptScrollAnimation): 29006 (WebKit::QtViewportInteractionEngine::panGestureActive): 29007 (WebKit::QtViewportInteractionEngine::scaleAnimationActive): 29008 (WebKit::QtViewportInteractionEngine::interruptScaleAnimation): 29009 (WebKit::QtViewportInteractionEngine::pinchGestureActive): 29010 * UIProcess/qt/QtViewportInteractionEngine.h: 29011 290122011-11-07 Simon Hausmann <simon.hausmann@nokia.com> 29013 29014 [Qt] Make it possible to include qdesktopwebview.h from apps 29015 29016 Reviewed by Tor Arne Vestbø. 29017 29018 * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward 29019 declare the structs manually. 29020 290212011-11-07 Simon Hausmann <simon.hausmann@nokia.com> 29022 29023 [Qt] Fix failing inspector tests after build system changes 29024 https://bugs.webkit.org/show_bug.cgi?id=71677 29025 29026 Reviewed by Tor Arne Vestbø. 29027 29028 Ensure symbols from the qt resource system are referenced 29029 from outside the static webcore library. One way of doing that is 29030 to initialize the resources right away, as explained in the documentation 29031 of th Qt resource system. 29032 29033 * WebProcess/WebPage/qt/WebPageQt.cpp: 29034 (initResources): 29035 (WebKit::WebPage::platformInitialize): 29036 290372011-11-03 Anders Carlsson <andersca@apple.com> 29038 29039 Add NetscapePlugin::convertFromRootView 29040 https://bugs.webkit.org/show_bug.cgi?id=71526 29041 29042 Reviewed by Sam Weinig. 29043 29044 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29045 (WebKit::NetscapePlugin::convertFromRootView): 29046 New function that converts a point from root view coordinates to plug-in coordinates. 29047 Returns false if the conversion can't be done. 29048 29049 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 29050 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 29051 (WebKit::fillInCocoaEventFromMouseEvent): 29052 (WebKit::initializeMouseEvent): 29053 (WebKit::NetscapePlugin::platformHandleMouseEvent): 29054 (WebKit::NetscapePlugin::platformHandleWheelEvent): 29055 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 29056 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 29057 Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the 29058 event position (which is in root view coordinates). 29059 290602011-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 29061 29062 [Qt] Refactor and clean up the qmake build system 29063 29064 The qmake build system has accumulated a bit of cruft and redundancy 29065 over time. There's also a fairly tight coupling between how to build 29066 the various targets, and _what_ to build, making it harder to add new 29067 rules or sources. This patch aims to elevate these issues somewhat. 29068 29069 This is a short-list of the changes: 29070 29071 * The rules for how to build targets are now mostly contained as 29072 prf-files in Tools/qmake/mkspecs/features. Using mkspecs also 29073 allows us to do pre- and post-processing of each project file, 29074 which helps to clean up the actual project files. 29075 29076 * Derived sources are no longer generated as a separate make-step 29077 but is part of each target's project file as a subdir. Makefile 29078 rules are used to ensure that we run make on the derived sources 29079 before running qmake on the actual target makefile. This makes 29080 it easier to keep a proper dependency between derived sources 29081 and the target. 29082 29083 * We use GNU make and the compiler to generate dependencies on 29084 UNIX-based systems running Qt 5. This allows us to lessen the 29085 need to run qmake, which should reduce compile time. 29086 29087 * WebKit2 is now build by default if building with Qt 5. It can 29088 be disabled by passing --no-webkit2 to build-webkit. 29089 29090 The result of these changes are hopefully a cleaner and easier 29091 build system to modify, and faster build times due to no longer 29092 running qmake on every single build. It's also a first step 29093 towards possibly generating the list of sources using another 29094 build system. 29095 29096 https://bugs.webkit.org/show_bug.cgi?id=71222 29097 29098 Reviewed by Simon Hausmann. 29099 29100 * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro. 29101 * Target.pri: Copied from Source/WebKit2/WebKit2.pro. 29102 * UIProcess/API/qt/tests/tests.pri: 29103 * UIProcess/API/qt/tests/tests.pro: Removed. 29104 * WebKit2.pri: 29105 * WebKit2.pro: 29106 * WebKit2API.pri: Removed. 29107 * WebProcess.pro: 29108 291092011-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org> 29110 29111 [Qt] Support programmatic scrolling with the QTouchWebView 29112 29113 Reviewed by Simon Hausmann. 29114 29115 As more code can be shared between the programmatic scrolling and the 29116 method for ensuring that the contents are within valid bounds, this 29117 patch includes a bit of refactoring as well. 29118 29119 * UIProcess/API/qt/qdesktopwebview_p.h: 29120 (QDesktopWebViewPrivate::scrollPositionRequested): 29121 * UIProcess/API/qt/qtouchwebview.cpp: 29122 (QTouchWebViewPrivate::scrollPositionRequested): 29123 * UIProcess/API/qt/qtouchwebview_p.h: 29124 * UIProcess/qt/QtTouchViewInterface.cpp: 29125 (WebKit::QtTouchViewInterface::scrollPositionRequested): 29126 * UIProcess/qt/QtTouchViewInterface.h: 29127 * UIProcess/qt/QtViewInterface.h: 29128 * UIProcess/qt/QtViewportInteractionEngine.cpp: 29129 (WebKit::QtViewportInteractionEngine::event): 29130 (WebKit::boundPosition): 29131 (WebKit::QtViewportInteractionEngine::pagePositionRequest): 29132 (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale): 29133 (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): 29134 (WebKit::QtViewportInteractionEngine::setConstraints): 29135 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 29136 (WebKit::QtViewportInteractionEngine::contentViewportChanged): 29137 * UIProcess/qt/QtViewportInteractionEngine.h: 29138 * UIProcess/qt/QtWebPageProxy.cpp: 29139 (QtWebPageProxy::pageDidRequestScroll): 29140 * UIProcess/qt/QtWebPageProxy.h: 29141 291422011-11-03 Mark Hahnenberg <mhahnenberg@apple.com> 29143 29144 De-virtualize JSObject::getPropertyNames 29145 https://bugs.webkit.org/show_bug.cgi?id=71306 29146 29147 Reviewed by Darin Adler. 29148 29149 Added getPropertyNames to the MethodTable, changed all the virtual 29150 implementations of getPropertyNames to static ones, and replaced 29151 all call sites with corresponding lookups in the MethodTable. 29152 29153 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 29154 (WebKit::NPJSObject::enumerate): 29155 291562011-11-03 Anders Carlsson <andersca@apple.com> 29157 29158 Get rid of NetscapePlugin::m_clipRectInWindowCoordinates 29159 https://bugs.webkit.org/show_bug.cgi?id=71521 29160 29161 Reviewed by Dan Bernstein. 29162 29163 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29164 (WebKit::NetscapePlugin::geometryDidChange): 29165 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 29166 291672011-11-03 Anders Carlsson <andersca@apple.com> 29168 29169 Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible 29170 https://bugs.webkit.org/show_bug.cgi?id=71520 29171 29172 Reviewed by Dan Bernstein. 29173 29174 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 29175 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): 29176 (WebKit::NetscapePlugin::platformPaint): 29177 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 29178 (WebKit::NetscapePlugin::platformHandleMouseEvent): 29179 (WebKit::NetscapePlugin::platformHandleWheelEvent): 29180 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 29181 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 29182 291832011-11-03 Anders Carlsson <andersca@apple.com> 29184 29185 Add NetscapePlugin::convertToRootView 29186 https://bugs.webkit.org/show_bug.cgi?id=71519 29187 29188 Reviewed by Darin Adler. 29189 29190 Yet another step towards eliminating uses of m_frameRectInWindowCoordinates. 29191 29192 Also, use the "root view" terminology, since that's really what we mean here. 29193 29194 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29195 (WebKit::NetscapePlugin::callSetWindow): 29196 Use convertToRootView to get the plug-in location and clip rect in root view coordinates. 29197 29198 (WebKit::NetscapePlugin::convertToRootView): 29199 Apply the m_pluginToRootViewTransform.mapPoint transform. 29200 29201 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 29202 Add convertToRootView. 29203 292042011-11-03 Anders Carlsson <andersca@apple.com> 29205 29206 Move plug-in size and backing store checks to PluginProxy::updateBackingStore 29207 https://bugs.webkit.org/show_bug.cgi?id=71508 29208 29209 Reviewed by Darin Adler. 29210 29211 * WebProcess/Plugins/PluginProxy.cpp: 29212 (WebKit::PluginProxy::geometryDidChange): 29213 Remove code to send back an empty backing store if the plug-in size is empty 29214 or doesn't need a backing store. This check is now done... 29215 29216 (WebKit::PluginProxy::updateBackingStore): 29217 ...here. 29218 292192011-11-03 Anders Carlsson <andersca@apple.com> 29220 29221 Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates 29222 https://bugs.webkit.org/show_bug.cgi?id=71506 29223 29224 Reviewed by Darin Adler. 29225 29226 * PluginProcess/PluginControllerProxy.cpp: 29227 (WebKit::PluginControllerProxy::geometryDidChange): 29228 This no longer needs to take the frame rect in window coordinates. 29229 29230 * PluginProcess/PluginControllerProxy.h: 29231 * PluginProcess/PluginControllerProxy.messages.in: 29232 Remove frameRectInWindowCoordinates from the GeometryDidChange message. 29233 29234 * WebProcess/Plugins/PluginProxy.cpp: 29235 (WebKit::PluginProxy::geometryDidChange): 29236 Don't pass frameRectInWindowCoordinates when sending GeometryDidChange. 29237 292382011-11-03 Anders Carlsson <andersca@apple.com> 29239 29240 Get rid of Plugin::wantsWindowRelativeCoordinates() 29241 https://bugs.webkit.org/show_bug.cgi?id=71504 29242 29243 Reviewed by Darin Adler. 29244 29245 Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates, 29246 we can go ahead and remove it. 29247 29248 * PluginProcess/PluginControllerProxy.cpp: 29249 (WebKit::PluginControllerProxy::paint): 29250 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29251 (WebKit::NetscapePlugin::snapshot): 29252 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 29253 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 29254 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 29255 * WebProcess/Plugins/Plugin.h: 29256 * WebProcess/Plugins/PluginProxy.cpp: 29257 * WebProcess/Plugins/PluginProxy.h: 29258 * WebProcess/Plugins/PluginView.cpp: 29259 (WebKit::PluginView::paint): 29260 292612011-11-03 Anders Carlsson <andersca@apple.com> 29262 29263 NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports 29264 https://bugs.webkit.org/show_bug.cgi?id=71501 29265 29266 Reviewed by Darin Adler. 29267 29268 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29269 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates): 29270 Return false. 29271 29272 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 29273 (WebKit::NetscapePlugin::platformGeometryDidChange): 29274 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size(). 29275 29276 (WebKit::NetscapePlugin::platformPaint): 29277 No need to translate back and forth between window and plug-in relative coordinates anymore. 29278 292792011-11-03 Darin Adler <darin@apple.com> 29280 29281 Change remaining callers of releaseRef to call leakRef 29282 https://bugs.webkit.org/show_bug.cgi?id=71422 29283 29284 Reviewed by Darin Fisher. 29285 29286 * Platform/mac/ModuleMac.mm: 29287 (WebKit::Module::load): 29288 * Shared/API/c/WKArray.cpp: 29289 (WKArrayCreate): 29290 * Shared/API/c/WKData.cpp: 29291 (WKDataCreate): 29292 * Shared/API/c/WKDictionary.cpp: 29293 (WKDictionaryCopyKeys): 29294 * Shared/API/c/WKGeometry.cpp: 29295 (WKPointCreate): 29296 (WKSizeCreate): 29297 (WKRectCreate): 29298 * Shared/API/c/WKMutableArray.cpp: 29299 (WKMutableArrayCreate): 29300 * Shared/API/c/WKMutableDictionary.cpp: 29301 (WKMutableDictionaryCreate): 29302 * Shared/API/c/WKNumber.cpp: 29303 (WKBooleanCreate): 29304 (WKDoubleCreate): 29305 (WKUInt64Create): 29306 * Shared/API/c/WKSharedAPICast.h: 29307 (WebKit::toCopiedAPI): 29308 (WebKit::toCopiedURLAPI): 29309 * Shared/API/c/cf/WKErrorCF.cpp: 29310 (WKErrorCreateWithCFError): 29311 * Shared/API/c/cf/WKURLRequestCF.cpp: 29312 (WKURLRequestCreateWithCFURLRequest): 29313 * Shared/API/c/cf/WKURLResponseCF.cpp: 29314 (WKURLResponseCreateWithCFURLResponse): 29315 * Shared/API/c/mac/WKURLRequestNS.mm: 29316 (WKURLRequestCreateWithNSURLRequest): 29317 * Shared/API/c/mac/WKURLResponseNS.mm: 29318 (WKURLResponseCreateWithNSURLResponse): 29319 * Shared/cf/ArgumentCodersCF.cpp: 29320 (CoreIPC::decode): 29321 * UIProcess/API/C/WKBackForwardList.cpp: 29322 (WKBackForwardListCopyBackListWithLimit): 29323 (WKBackForwardListCopyForwardListWithLimit): 29324 * UIProcess/API/C/WKContext.cpp: 29325 (WKContextCreate): 29326 (WKContextCreateWithInjectedBundlePath): 29327 * UIProcess/API/C/WKCredential.cpp: 29328 (WKCredentialCreate): 29329 (WKCredentialCreateWithCertificateInfo): 29330 * UIProcess/API/C/WKDatabaseManager.cpp: 29331 (WKDatabaseManagerGetOriginKey): 29332 (WKDatabaseManagerGetOriginQuotaKey): 29333 (WKDatabaseManagerGetOriginUsageKey): 29334 (WKDatabaseManagerGetDatabaseDetailsKey): 29335 (WKDatabaseManagerGetDatabaseDetailsNameKey): 29336 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): 29337 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): 29338 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): 29339 * UIProcess/API/C/WKFrame.cpp: 29340 (WKFrameCopyChildFrames): 29341 * UIProcess/API/C/WKGeolocationPosition.cpp: 29342 (WKGeolocationPositionCreate): 29343 * UIProcess/API/C/WKGrammarDetail.cpp: 29344 (WKGrammarDetailCreate): 29345 * UIProcess/API/C/WKPage.cpp: 29346 (WKPageGetSessionHistoryURLValueType): 29347 (WKPageCopySessionState): 29348 * UIProcess/API/C/WKPreferences.cpp: 29349 (WKPreferencesCreateWithIdentifier): 29350 * UIProcess/API/C/win/WKView.cpp: 29351 (WKViewCreate): 29352 * UIProcess/win/WebUndoClient.cpp: 29353 (WebKit::WebUndoClient::registerEditCommand): 29354 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 29355 (WKBundleFrameCopyChildFrames): 29356 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 29357 (WKBundleNodeHandleCreate): 29358 (WKBundleNodeHandleCopyDocument): 29359 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove): 29360 (WKBundleNodeHandleCopyDocumentFrame): 29361 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame): 29362 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame): 29363 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 29364 (WKBundlePageCopyTrackedRepaintRects): 29365 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 29366 (WKBundleScriptWorldCreateWorld): 29367 Use leakRef. 29368 293692011-11-02 Darin Adler <darin@apple.com> 29370 29371 Change remaining callers of releaseRef to call leakRef 29372 https://bugs.webkit.org/show_bug.cgi?id=71422 29373 29374 Reviewed by Darin Fisher. 29375 29376 * Platform/mac/ModuleMac.mm: 29377 (WebKit::Module::load): Use leakRef. 29378 (WebKit::Module::unload): Use leakRef, and cast to void 29379 to avoid unused return value warning. 29380 29381 * Shared/API/c/WKArray.cpp: 29382 (WKArrayCreate): 29383 * Shared/API/c/WKData.cpp: 29384 (WKDataCreate): 29385 * Shared/API/c/WKDictionary.cpp: 29386 (WKDictionaryCopyKeys): 29387 * Shared/API/c/WKGeometry.cpp: 29388 (WKPointCreate): 29389 (WKSizeCreate): 29390 (WKRectCreate): 29391 * Shared/API/c/WKMutableArray.cpp: 29392 (WKMutableArrayCreate): 29393 * Shared/API/c/WKMutableDictionary.cpp: 29394 (WKMutableDictionaryCreate): 29395 * Shared/API/c/WKNumber.cpp: 29396 (WKBooleanCreate): 29397 (WKDoubleCreate): 29398 (WKUInt64Create): 29399 * Shared/API/c/WKSharedAPICast.h: 29400 (WebKit::toCopiedAPI): 29401 (WebKit::toCopiedURLAPI): 29402 * Shared/API/c/cf/WKErrorCF.cpp: 29403 (WKErrorCreateWithCFError): 29404 * Shared/API/c/cf/WKURLRequestCF.cpp: 29405 (WKURLRequestCreateWithCFURLRequest): 29406 * Shared/API/c/cf/WKURLResponseCF.cpp: 29407 (WKURLResponseCreateWithCFURLResponse): 29408 * Shared/API/c/mac/WKURLRequestNS.mm: 29409 (WKURLRequestCreateWithNSURLRequest): 29410 * Shared/API/c/mac/WKURLResponseNS.mm: 29411 (WKURLResponseCreateWithNSURLResponse): 29412 * Shared/cf/ArgumentCodersCF.cpp: 29413 (CoreIPC::decode): 29414 * UIProcess/API/C/WKBackForwardList.cpp: 29415 (WKBackForwardListCopyBackListWithLimit): 29416 (WKBackForwardListCopyForwardListWithLimit): 29417 * UIProcess/API/C/WKContext.cpp: 29418 (WKContextCreate): 29419 (WKContextCreateWithInjectedBundlePath): 29420 * UIProcess/API/C/WKCredential.cpp: 29421 (WKCredentialCreate): 29422 (WKCredentialCreateWithCertificateInfo): 29423 * UIProcess/API/C/WKDatabaseManager.cpp: 29424 (WKDatabaseManagerGetOriginKey): 29425 (WKDatabaseManagerGetOriginQuotaKey): 29426 (WKDatabaseManagerGetOriginUsageKey): 29427 (WKDatabaseManagerGetDatabaseDetailsKey): 29428 (WKDatabaseManagerGetDatabaseDetailsNameKey): 29429 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): 29430 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): 29431 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): 29432 * UIProcess/API/C/WKFrame.cpp: 29433 (WKFrameCopyChildFrames): 29434 * UIProcess/API/C/WKGeolocationPosition.cpp: 29435 (WKGeolocationPositionCreate): 29436 * UIProcess/API/C/WKGrammarDetail.cpp: 29437 (WKGrammarDetailCreate): 29438 * UIProcess/API/C/WKPage.cpp: 29439 (WKPageGetSessionHistoryURLValueType): 29440 (WKPageCopySessionState): 29441 * UIProcess/API/C/WKPreferences.cpp: 29442 (WKPreferencesCreateWithIdentifier): 29443 * UIProcess/API/C/win/WKView.cpp: 29444 (WKViewCreate): 29445 * UIProcess/win/WebUndoClient.cpp: 29446 (WebKit::WebUndoClient::registerEditCommand): 29447 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 29448 (WKBundleFrameCopyChildFrames): 29449 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 29450 (WKBundleNodeHandleCreate): 29451 (WKBundleNodeHandleCopyDocument): 29452 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove): 29453 (WKBundleNodeHandleCopyDocumentFrame): 29454 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame): 29455 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame): 29456 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 29457 (WKBundlePageCopyTrackedRepaintRects): 29458 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 29459 (WKBundleScriptWorldCreateWorld): 29460 Use leakRef. 29461 294622011-11-03 Anders Carlsson <andersca@apple.com> 29463 29464 NetscapePlugin should use plug-in relative coordinates on Mac 29465 https://bugs.webkit.org/show_bug.cgi?id=71486 29466 29467 Reviewed by Adam Roben. 29468 29469 * PluginProcess/PluginControllerProxy.cpp: 29470 (WebKit::PluginControllerProxy::paint): 29471 Don't translate the graphics context when the plug-in doesn't want window relative coordinates. 29472 This also fixed a bug I introduced in my previous commit where we'd always pass the dirty rect in 29473 plug-in coordinates even if the plug-in wants window relative coordinates. 29474 29475 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29476 (WebKit::NetscapePlugin::snapshot): 29477 Don't do the whole translate dance if the plug-in doesn't want window relative coordinates. 29478 29479 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates): 29480 Return false for PLATFORM_ARCHITECTURE(MAC). 29481 29482 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 29483 (WebKit::NetscapePlugin::platformPaint): 29484 Simplify code now that we know that the we're always given plug-in relative coordinates. 29485 294862011-11-03 Anders Carlsson <andersca@apple.com> 29487 29488 PluginControllerProxy's dirty rect should be in plug-in coordinates 29489 https://bugs.webkit.org/show_bug.cgi?id=71481 29490 29491 Reviewed by Sam Weinig. 29492 29493 * PluginProcess/PluginControllerProxy.cpp: 29494 (WebKit::PluginControllerProxy::paint): 29495 Convert the dirty rect to window coordinates before passing it to the plug-in. 29496 29497 (WebKit::PluginControllerProxy::invalidate): 29498 No need to convert the dirty rect to window coordinates. 29499 29500 (WebKit::PluginControllerProxy::paintEntirePlugin): 29501 Use m_pluginSize instead of m_frameRectInWindowCoordinates.isEmpty. 29502 295032011-11-03 Anders Carlsson <andersca@apple.com> 29504 29505 Use the right function to determine whether NPWindow coordinates should be window relative 29506 https://bugs.webkit.org/show_bug.cgi?id=71480 29507 29508 Reviewed by Adam Roben. 29509 29510 We want to use wantsWindowRelativeNPWindowCoordinates here, and not wantsWindowRelativeCoordinates 29511 which is a temporary function that will be removed (and that returns the wrong value!) 29512 29513 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29514 (WebKit::NetscapePlugin::geometryDidChange): 29515 295162011-11-03 Simon Hausmann <simon.hausmann@nokia.com> 29517 29518 Unreviewed build fix after r99195. 29519 29520 The right name is restrictMinimumScaleFactorToViewportSize. 29521 29522 * UIProcess/API/qt/qtouchwebview.cpp: 29523 (QTouchWebViewPrivate::updateViewportConstraints): 29524 295252011-11-03 Carlos Garcia Campos <cgarcia@igalia.com> 29526 29527 [GTK] Use WEBKIT_API instead of WK_EXPORT in WebKitEnumTypes.h 29528 https://bugs.webkit.org/show_bug.cgi?id=71457 29529 29530 Reviewed by Martin Robinson. 29531 29532 * GNUmakefile.am: 29533 295342011-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org> 29535 29536 [Qt] Bounce back limits are wrong in some situations 29537 https://bugs.webkit.org/show_bug.cgi?id=71471 29538 29539 Reviewed by Simon Hausmann. 29540 29541 The valid position points were in viewport coordinates, but we were 29542 requiring valid position points in content coordinates. 29543 29544 * UIProcess/qt/QtViewportInteractionEngine.cpp: 29545 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 29546 295472011-11-03 Fady Samuel <fsamuel@chromium.org> 29548 29549 Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport 29550 https://bugs.webkit.org/show_bug.cgi?id=70609 29551 29552 Reviewed by Kenneth Rohde Christiansen. 29553 29554 * UIProcess/API/qt/qtouchwebview.cpp: 29555 (QTouchWebViewPrivate::updateViewportConstraints): 29556 * WebProcess/WebPage/WebPage.cpp: 29557 (WebKit::WebPage::viewportConfigurationAsText): 29558 295592011-11-03 Andras Becsi <andras.becsi@nokia.com> 29560 29561 [Qt][WK2] Fix the signal signature of the loadFailed API test. 29562 29563 Rubber-stamped by Simon Hausmann. 29564 29565 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 29566 (WebViewAbstraction::touchViewLoadFailed): 29567 (WebViewAbstraction::desktopViewLoadFailed): 29568 295692011-11-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 29570 29571 [Qt] Fix an assertion under WebPage::setViewportSize. 29572 https://bugs.webkit.org/show_bug.cgi?id=71473 29573 29574 Reviewed by Simon Hausmann. 29575 29576 The web view can have an empty size and it causes the assert in computeViewportAttributes. 29577 Don't notify the web page of such a size change in this case. 29578 29579 * UIProcess/API/qt/qtouchwebview.cpp: 29580 (QTouchWebViewPrivate::updateViewportSize): 29581 295822011-11-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 29583 29584 [WK2] State variable name refactor in WebPageProxy.cpp 29585 https://bugs.webkit.org/show_bug.cgi?id=71467 29586 29587 Reviewed by Andreas Kling. 29588 29589 Renaming m_inDecidePolicyForMIMEType to m_inDecidePolicyForResponse after 29590 https://bugs.webkit.org/show_bug.cgi?id=55827 . 29591 29592 * UIProcess/WebPageProxy.cpp: 29593 (WebKit::WebPageProxy::WebPageProxy): 29594 (WebKit::WebPageProxy::receivedPolicyDecision): 29595 (WebKit::WebPageProxy::decidePolicyForResponse): 29596 * UIProcess/WebPageProxy.h: 29597 295982011-11-03 Nayan Kumar K <nayankk@motorola.com> 29599 29600 [GTK][WEBKIT2] Add support for title property in WebKitWebView. 29601 https://bugs.webkit.org/show_bug.cgi?id=68074 29602 29603 Reviewed by Philippe Normand. 29604 29605 Support for 'title' property is added in WebKitWebView. 29606 Functions to get the value of this property is provided. 29607 29608 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 29609 (didReceiveTitleForFrame): LoaderClient titleRecieve callback. 29610 (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback. 29611 * UIProcess/API/gtk/WebKitWebView.cpp: 29612 (webkitWebViewGetProperty): 'title' property get function. 29613 (webkit_web_view_class_init): Register new property. 29614 (webkitWebViewSetTitle): Notify WebKitWebView about title receive. 29615 (webkit_web_view_get_title): API to get main frame title. 29616 * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose. 29617 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API. 29618 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 29619 (testWebViewTitle): Test webkit_web_view_get_title API. 29620 (beforeAll): Add testWebViewTitle test. 29621 296222011-11-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 29623 29624 [Qt][WK2] Download support and API in UIProcess 29625 https://bugs.webkit.org/show_bug.cgi?id=68962 29626 29627 Reviewed by Simon Hausmann. 29628 29629 We implement our WkContextDownloadClient and the needed callbacks. 29630 We also add APIs by exposing QWebDownloadItem. Objects from this type 29631 have their ownership handled by QDesktopWebView and will be created or 29632 destroyed as needed. Classes implementing ViewInterface (QDesktopWebViewPrivate 29633 and TouchViewInterface) will receive a signal (downloadRequested) with a pointer 29634 to the recently created QWebDownloadItem. With that they can connect the proper 29635 signals and slots, set the download destination path and then call start(). 29636 Objects of this type will provide the progress of a download, a slot to cancel it, 29637 and signals for getting finished or failure status. 29638 QWebDownloadItem was also exposed in QML. 29639 Qt needed an asynchronous way for UIProcess to return a destination path to WebProcess, 29640 therefore the startTransfer API was added to WebKit2's Download handlers. 29641 29642 * Shared/qt/WebCoreArgumentCodersQt.cpp: 29643 (CoreIPC::::encode): 29644 (CoreIPC::::decode): 29645 Add encoding and decoding of suggestedFilename for ResourceResponse. 29646 29647 * UIProcess/API/qt/WKView.h: 29648 * UIProcess/API/qt/qbasewebview.h: Add signal downloadRequested. 29649 * UIProcess/API/qt/qdesktopwebview.cpp: 29650 (QDesktopWebViewPrivate::downloadRequested): 29651 * UIProcess/API/qt/qdesktopwebview_p.h: 29652 29653 * UIProcess/API/qt/qwebdownloaditem.cpp: Added. 29654 (QWebDownloadItemPrivate::QWebDownloadItemPrivate): 29655 (QWebDownloadItem::QWebDownloadItem): 29656 (QWebDownloadItem::~QWebDownloadItem): 29657 (QWebDownloadItem::url): 29658 (QWebDownloadItem::destinationPath): 29659 (QWebDownloadItem::setDestinationPath): 29660 (QWebDownloadItem::suggestedFilename): 29661 (QWebDownloadItem::mimeType): 29662 (QWebDownloadItem::expectedContentLength): 29663 (QWebDownloadItem::totalBytesReceived): 29664 (QWebDownloadItem::cancel): 29665 (QWebDownloadItem::start): 29666 * UIProcess/API/qt/qwebdownloaditem.h: Added. 29667 * UIProcess/API/qt/qwebdownloaditem_p.h: Added. 29668 (QWebDownloadItemPrivate::didReceiveResponse): 29669 29670 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: Added. 29671 * UIProcess/API/qt/tests/qmltests/common/download.html: Added. 29672 * UIProcess/API/qt/tests/qmltests/common/download.zip: Added. 29673 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 29674 29675 * UIProcess/Downloads/DownloadProxy.cpp: 29676 (WebKit::DownloadProxy::startTransfer): Qt only function added. 29677 * UIProcess/Downloads/DownloadProxy.h: 29678 29679 * UIProcess/PageClient.h: Added Qt specific function to call handleDownloadRequest from QtWebPageProxy. 29680 29681 * UIProcess/WebContext.cpp: 29682 (WebKit::WebContext::download): 29683 Using WebPageProxy::handleDownloadRequest to bootstrap a download through PageClient. 29684 29685 * UIProcess/WebPageProxy.cpp: 29686 (WebKit::WebPageProxy::receivedPolicyDecision): 29687 Using handleDownloadRequest() to bootstrap a download through PageClient. 29688 (WebKit::WebPageProxy::handleDownloadRequest): Calls PageClient::handleDownloadRequest(). 29689 * UIProcess/WebPageProxy.h: 29690 29691 * UIProcess/qt/QtDownloadManager.cpp: Added. 29692 (WebKit::toQtDownloadManager): 29693 (WebKit::qt_wk_didReceiveResponse): 29694 (WebKit::qt_wk_didCreateDestination): 29695 (WebKit::qt_wk_didFinishDownload): 29696 (WebKit::qt_wk_didFailDownload): 29697 (WebKit::qt_wk_didReceiveDataForDownload): 29698 (QtDownloadManager::downloadReceivedResponse): Will reach QtWebPageProxy::didReceiveDownloadResponse. 29699 (QtDownloadManager::downloadCreatedDestination): 29700 (QtDownloadManager::downloadFinished): 29701 (QtDownloadManager::downloadFailed): 29702 (QtDownloadManager::downloadDataReceived): 29703 * UIProcess/qt/QtDownloadManager.h: Added. 29704 Bootstrap our WKContextDownloadClient and set its callbacks. 29705 This entity will also handle all downloads and keep a map of them. 29706 It will be kept alive together with the WebContext as a static member 29707 of QtWebPageProxy, so we can keep it across several WebPages and, therefore, 29708 WebViews. 29709 29710 * UIProcess/qt/QtWebPageProxy.cpp: 29711 (QtWebPageProxy::defaultWKContext): 29712 (QtWebPageProxy::~QtWebPageProxy): 29713 (QtWebPageProxy::handleDownloadRequest): 29714 (QtWebPageProxy::didReceiveDownloadResponse): 29715 * UIProcess/qt/QtWebPageProxy.h: 29716 From now on it will keep a static QtDownloadManager to live together 29717 with the default WebContext. It implements PageClient::handleDownloadRequest. 29718 QtWebPageProxy::didReceiveDownloadResponse will emit the view's signal downloadRequested. 29719 29720 * UIProcess/qt/QtTouchViewInterface.h: 29721 (WebKit::QtTouchViewInterface::downloadRequested): 29722 * UIProcess/qt/QtViewInterface.h: 29723 29724 * UIProcess/qt/qweberror.cpp: 29725 (QWebError::description): 29726 * UIProcess/qt/qweberror.h: 29727 (QWebError::errorCodeAsDownloadError): 29728 Add Download error handling to QWebError and a new API 29729 to retrieve the error description from the original ResourceError. 29730 Also, it now has QWebDownloadItem::DownloadError errorCodeAsDownloadError() 29731 that returns the error code as a DownloadError. 29732 29733 * WebKit2.pro: 29734 * WebKit2API.pri: 29735 29736 * WebProcess/Downloads/Download.h: 29737 * WebProcess/Downloads/DownloadManager.cpp: 29738 (WebKit::DownloadManager::startTransfer): 29739 * WebProcess/Downloads/DownloadManager.h: 29740 Adding Qt specific startTransfer function. 29741 29742 * WebProcess/Downloads/qt/DownloadQt.cpp: 29743 (WebKit::Download::start): 29744 (WebKit::Download::startWithHandle): 29745 (WebKit::Download::didDecideDestination): 29746 (WebKit::Download::startTransfer): 29747 * WebProcess/Downloads/qt/QtFileDownloader.cpp: 29748 (WebKit::QtFileDownloader::init): start() was renamed to init(). 29749 (WebKit::QtFileDownloader::determineFilename): 29750 Calling onReadyRead() here was unnecessary and it was triggering the overall 29751 download process even before DownloadManager finished startDownload(). This 29752 was leading to a DownloadManager with an empty list of downloads. 29753 (WebKit::QtFileDownloader::startTransfer): decidedDestination() became startTransfer(). 29754 (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError): 29755 (WebKit::QtFileDownloader::handleDownloadResponse): 29756 (WebKit::QtFileDownloader::onReadyRead): 29757 (WebKit::QtFileDownloader::onFinished): 29758 (WebKit::QtFileDownloader::cancel): 29759 * WebProcess/Downloads/qt/QtFileDownloader.h: 29760 29761 * WebProcess/WebProcess.cpp: 29762 (WebKit::WebProcess::startTransfer): 29763 * WebProcess/WebProcess.h: 29764 * WebProcess/WebProcess.messages.in: 29765 Adding Qt specific message StartTransfer and handling function. 29766 297672011-11-03 Nayan Kumar K <nayankk@motorola.com> 29768 29769 Add webkit_web_view_load_html and webkit_web_view_load_plain_text APIs. 29770 https://bugs.webkit.org/show_bug.cgi?id=69249 29771 29772 Reviewed by Philippe Normand. 29773 29774 This patch adds support for 2 more load APIs, namely 29775 webkit_web_view_load_html and webkit_web_view_load_plain_text. 29776 29777 * UIProcess/API/gtk/WebKitWebView.cpp: 29778 (webkit_web_view_load_html): New API to load html string. 29779 (webkit_web_view_load_plain_text): New API to load plain text. 29780 * UIProcess/API/gtk/WebKitWebView.h: Public API addition. 29781 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 29782 (testLoadHtml): Test webkit_web_view_load_html API. 29783 (testLoadPlainText): Test webkit_web_view_load_plain_text API. 29784 (beforeAll): Add new tests. 29785 * UIProcess/API/gtk/tests/WebViewTest.cpp: 29786 (WebViewTest::loadHtml): Test webkit_web_view_load_html API. 29787 (WebViewTest::loadPlainText): Test webkit_web_view_load_plain_text API. 29788 * UIProcess/API/gtk/tests/WebViewTest.h: 29789 297902011-11-03 Simon Hausmann <simon.hausmann@nokia.com> 29791 29792 [Qt][WK2] Failing assertion with desktop webview when touch mocking in MinBrowser 29793 https://bugs.webkit.org/show_bug.cgi?id=71452 29794 29795 Reviewed by Andreas Kling. 29796 29797 Don't re-implement touchEvent(), we don't intend to support touch events as we 29798 receive them from the QQuickCanvas at this point. 29799 29800 * UIProcess/API/qt/qdesktopwebview.cpp: 29801 * UIProcess/API/qt/qdesktopwebview.h: 29802 298032011-11-03 Simon Hausmann <simon.hausmann@nokia.com> 29804 29805 [Qt] [WK2] MiniBrowser assert in QtWebProccess on startup in debug build. 29806 https://bugs.webkit.org/show_bug.cgi?id=71196 29807 29808 Reviewed by Kenneth Rohde Christiansen. 29809 29810 Ensure AC is turned off for the desktop view before we launch the process. 29811 This avoids "accidential" enterAc/exitAc calls that cause failing assertions 29812 because we don't really support AC in this setup. 29813 29814 The touch side works the same way, i.e. enable the preference before calling 29815 init(). 29816 29817 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 29818 (QtDesktopWebPageProxy::QtDesktopWebPageProxy): 29819 298202011-11-03 Balazs Kelemen <kbalazs@webkit.org> 29821 29822 [Qt] X11 plugins need to be reworked for Qt5 29823 https://bugs.webkit.org/show_bug.cgi?id=70023 29824 29825 Reviewed by Simon Hausmann. 29826 29827 Disable X11 plugins. 29828 * config.h: 29829 298302011-11-03 Simon Hausmann <simon.hausmann@nokia.com> 29831 29832 Unreviewed Qt build fix(es). 29833 29834 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 29835 (QtDesktopWebPageProxy::handleDragMoveEvent): Adapt to dragSession API change. 29836 (QtDesktopWebPageProxy::handleDropEvent): Ditto. 29837 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: 29838 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): Implement here 29839 also, for plugin-disabled builds. 29840 298412011-11-03 ChangSeok Oh <shivamidow@gmail.com> 29842 29843 [GTK] Fix build-break on r99143 29844 https://bugs.webkit.org/show_bug.cgi?id=71440 29845 29846 Reviewed by Philippe Normand. 29847 29848 dragOperation() should be replaced with dragSession().operation since it was removed. 29849 And didDetectXSSForFrame of WKPageLoaderClient should be relocated. 29850 29851 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 29852 (webkitWebLoaderClientAttachLoaderClientToPage): 29853 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 29854 (webkitWebViewBaseDragDataReceived): 29855 (webkitWebViewBaseDragMotion): 29856 298572011-11-03 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> 29858 29859 [Qt] Flagging usage of X11 headers under PLAT_ARCH(X11) 29860 https://bugs.webkit.org/show_bug.cgi?id=71409 29861 29862 Reviewed by Simon Hausmann. 29863 29864 Build fix for building qtwebkit with latest qt5 which has removed Qt X11 headers. 29865 29866 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 29867 298682011-11-03 Philippe Normand <pnormand@igalia.com> 29869 29870 Unreviewed, GTK build fix after r99093... 29871 29872 * PluginProcess/PluginControllerProxy.h: 29873 298742011-11-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 29875 29876 [Qt] [WK] Debug build broken 29877 https://bugs.webkit.org/show_bug.cgi?id=71417 29878 29879 Add WKNumber.h for WKBooleanGetTypeID 29880 Replace WKGetTypeId with WKGetTypeID 29881 Add initialization for didDetectXSSForFrame member in WKBundlePageLoaderClient 29882 instance. 29883 29884 Reviewed by Noam Rosenthal. 29885 29886 * WebProcess/qt/QtBuiltinBundle.cpp: 29887 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): 29888 * WebProcess/qt/QtBuiltinBundlePage.cpp: 29889 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 29890 298912011-11-02 Mark Hahnenberg <mhahnenberg@apple.com> 29892 29893 De-virtualize JSObject::getOwnPropertyNames 29894 https://bugs.webkit.org/show_bug.cgi?id=71307 29895 29896 Reviewed by Darin Adler. 29897 29898 Added getOwnPropertyNames to the MethodTable, changed all the virtual 29899 implementations of getOwnPropertyNames to static ones, and replaced 29900 all call sites with corresponding lookups in the MethodTable. 29901 29902 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 29903 (WebKit::JSNPObject::getOwnPropertyNames): 29904 * WebProcess/Plugins/Netscape/JSNPObject.h: 29905 299062011-11-02 Anders Carlsson <andersca@apple.com> 29907 29908 Don't call NPP_SetWindow if the plug-in size or clip rect hasn't changed if the plug-in isn't using window relative coordinates 29909 https://bugs.webkit.org/show_bug.cgi?id=71418 29910 29911 Reviewed by Adam Roben. 29912 29913 This avoids calling into the plug-in when only the plug-in position relative to the window changes. 29914 29915 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29916 (WebKit::NetscapePlugin::geometryDidChange): 29917 299182011-11-02 Jon Lee <jonlee@apple.com> 29919 29920 Fix syntax error. 29921 29922 * WebProcess/WebPage/WebPage.cpp: 29923 (WebKit::WebPage::performDragControllerAction): 29924 299252011-11-02 Jon Lee <jonlee@apple.com> 29926 29927 Fix build error from r99108. 29928 29929 * WebProcess/WebPage/WebPage.cpp: 29930 (WebKit::WebPage::performDragControllerAction): 29931 299322011-11-02 Dean Jackson <dino@apple.com> 29933 29934 Add ENABLE_CSS_SHADERS flag 29935 https://bugs.webkit.org/show_bug.cgi?id=71394 29936 29937 Reviewed by Sam Weinig. 29938 29939 * Configurations/FeatureDefines.xcconfig: 29940 299412011-11-02 Anders Carlsson <andersca@apple.com> 29942 29943 Allow the various plug-in ports to decide whether NPWindow coordinates should be window-relative 29944 https://bugs.webkit.org/show_bug.cgi?id=71415 29945 29946 Reviewed by Darin Adler. 29947 29948 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29949 (WebKit::NetscapePlugin::callSetWindow): 29950 Remove the PLUGIN_ARCHITECTURE(X11) ifdef and set the NPWindow members 29951 based on the return value of wantsWindowRelativeNPWindowCoordinates. 29952 29953 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 29954 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 29955 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): 29956 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 29957 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): 29958 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 29959 (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): 29960 Add platform specific implementations. 29961 299622011-11-02 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 29963 29964 [Qt] [WK] Debug build broken after r99065 29965 https://bugs.webkit.org/show_bug.cgi?id=71397 29966 29967 Remove reference to panGestureActive becuase it is not defined anywhere. 29968 29969 Reviewed by Simon Hausmann. 29970 29971 * UIProcess/qt/QtViewportInteractionEngine.cpp: 29972 (WebKit::QtViewportInteractionEngine::panGestureStarted): 29973 299742011-11-02 Jon Lee <jonlee@apple.com> 29975 29976 Update dragging info on mac when user is dragging files into view 29977 https://bugs.webkit.org/show_bug.cgi?id=71325 29978 <rdar://problem/10379193> 29979 29980 Reviewed by Darin Adler. 29981 29982 * UIProcess/API/mac/WKView.mm: 29983 (-[WKView draggingUpdated:]): Based on the DragSession, we update NSDraggingInfo 29984 to update the badge and dragging formation. 29985 299862011-11-02 Jon Lee <jonlee@apple.com> 29987 29988 Expand DragController to provide more information about the dragging session 29989 https://bugs.webkit.org/show_bug.cgi?id=71324 29990 <rdar://problem/10379175> 29991 29992 Reviewed by Darin Adler. 29993 29994 We now pass the DragSession struct from the Web to the UI process, instead of the 29995 DragOperation enum. 29996 29997 * Scripts/webkit2/messages.py: 29998 * Shared/WebCoreArgumentCoders.cpp: 29999 (CoreIPC::::encode): 30000 (CoreIPC::::decode): 30001 * Shared/WebCoreArgumentCoders.h: 30002 * UIProcess/API/mac/WKView.mm: 30003 (-[WKView draggingUpdated:]): 30004 * UIProcess/WebPageProxy.cpp: 30005 (WebKit::WebPageProxy::WebPageProxy): We now cache the last known DragSession state 30006 (WebKit::WebPageProxy::didPerformDragControllerAction): 30007 * UIProcess/WebPageProxy.h: 30008 (WebKit::WebPageProxy::dragSession): 30009 (WebKit::WebPageProxy::resetDragOperation): 30010 * UIProcess/WebPageProxy.messages.in: 30011 * UIProcess/win/WebView.cpp: 30012 (WebKit::WebView::keyStateToDragOperation): 30013 (WebKit::WebView::DragEnter): 30014 (WebKit::WebView::DragOver): 30015 * WebProcess/WebPage/WebPage.cpp: 30016 (WebKit::WebPage::performDragControllerAction): 30017 300182011-11-02 Anders Carlsson <andersca@apple.com> 30019 30020 Get rid of Plugin::deprecatedGeometryDidChange 30021 https://bugs.webkit.org/show_bug.cgi?id=71411 30022 30023 Reviewed by Sam Weinig. 30024 30025 Now that all Plugin subclasses implement geometryDidChange and do all the work there 30026 we can get rid of deprecatedGeometryDidChange. 30027 30028 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30029 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30030 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 30031 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 30032 * WebProcess/Plugins/Plugin.h: 30033 * WebProcess/Plugins/PluginProxy.cpp: 30034 * WebProcess/Plugins/PluginProxy.h: 30035 * WebProcess/Plugins/PluginView.cpp: 30036 (WebKit::PluginView::viewGeometryDidChange): 30037 300382011-11-02 Anders Carlsson <andersca@apple.com> 30039 30040 Move back functions that were not added. 30041 30042 * UIProcess/API/C/WKPage.h: 30043 300442011-11-02 Anders Carlsson <andersca@apple.com> 30045 30046 Fix build and WebKit2 ABI. 30047 30048 * Shared/APIClientTraits.cpp: 30049 * Shared/APIClientTraits.h: 30050 Add page loader client sizes. 30051 30052 * UIProcess/API/C/WKPage.h: 30053 Move the newly added callback functions in the loader client last and bump the 30054 WKPageLoaderClient version. 30055 300562011-11-02 Anders Carlsson <andersca@apple.com> 30057 30058 Fix build. 30059 30060 * WebProcess/Plugins/PluginView.h: 30061 300622011-11-02 Tom Sepez <tsepez@chromium.org> 30063 30064 XSSAuditor is silent 30065 https://bugs.webkit.org/show_bug.cgi?id=70973 30066 30067 Reviewed by Adam Barth. 30068 30069 * UIProcess/API/C/WKPage.h: 30070 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 30071 (webkitWebLoaderClientAttachLoaderClientToPage): 30072 * UIProcess/WebLoaderClient.cpp: 30073 (WebKit::WebLoaderClient::didDetectXSSForFrame): 30074 * UIProcess/WebLoaderClient.h: 30075 * UIProcess/WebPageProxy.cpp: 30076 (WebKit::WebPageProxy::didDetectXSSForFrame): 30077 * UIProcess/WebPageProxy.h: 30078 * UIProcess/WebPageProxy.messages.in: 30079 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 30080 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 30081 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame): 30082 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 30083 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30084 (WebKit::WebFrameLoaderClient::didDetectXSS): 30085 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 30086 300872011-11-02 Anders Carlsson <andersca@apple.com> 30088 30089 More window relative coordinate usage removal 30090 https://bugs.webkit.org/show_bug.cgi?id=71393 30091 30092 Reviewed by Adam Roben. 30093 30094 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 30095 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): 30096 Just use m_clipRect instead of converting m_clipRectInWindowCoordinates to plug-in coordinates. 30097 30098 (WebKit::NetscapePlugin::platformPaint): 30099 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size(). 30100 30101 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 30102 (WebKit::NetscapePlugin::platformPaint): 30103 Ditto. 30104 301052011-11-02 Anders Carlsson <andersca@apple.com> 30106 30107 Fix non-Mac builds and remove #if PLATFORM(MAC) around all contents scale factor functions. 30108 30109 * PluginProcess/PluginControllerProxy.cpp: 30110 (WebKit::PluginControllerProxy::PluginControllerProxy): 30111 (WebKit::PluginControllerProxy::contentsScaleFactor): 30112 (WebKit::PluginControllerProxy::geometryDidChange): 30113 * PluginProcess/PluginControllerProxy.h: 30114 * PluginProcess/PluginCreationParameters.cpp: 30115 (WebKit::PluginCreationParameters::PluginCreationParameters): 30116 (WebKit::PluginCreationParameters::encode): 30117 (WebKit::PluginCreationParameters::decode): 30118 * PluginProcess/PluginCreationParameters.h: 30119 * PluginProcess/mac/PluginControllerProxyMac.mm: 30120 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30121 (WebKit::NetscapePlugin::contentsScaleFactor): 30122 (WebKit::NetscapePlugin::getAuthenticationInfo): 30123 (WebKit::NetscapePlugin::snapshot): 30124 (WebKit::NetscapePlugin::contentsScaleFactorChanged): 30125 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30126 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 30127 * WebProcess/Plugins/Plugin.h: 30128 * WebProcess/Plugins/PluginController.h: 30129 * WebProcess/Plugins/PluginProxy.cpp: 30130 (WebKit::PluginProxy::initialize): 30131 (WebKit::PluginProxy::contentsScaleFactorChanged): 30132 (WebKit::PluginProxy::contentsScaleFactor): 30133 * WebProcess/Plugins/PluginProxy.h: 30134 * WebProcess/Plugins/PluginView.cpp: 30135 (WebKit::PluginView::contentsScaleFactor): 30136 301372011-11-02 Anders Carlsson <andersca@apple.com> 30138 30139 Use m_pluginSize instead of m_frameRectInWindowCoordinates.size() in NetscapePlugin. 30140 https://bugs.webkit.org/show_bug.cgi?id=71390 30141 30142 Reviewed by Adam Roben. 30143 30144 m_pluginSize is always equal to m_frameRectInWindowCoordinates.size() and this moves us one 30145 sall step further towards eliminating m_frameRectInWindowCoordinates. 30146 30147 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30148 (WebKit::NetscapePlugin::invalidate): 30149 (WebKit::NetscapePlugin::snapshot): 30150 301512011-11-02 Anders Carlsson <andersca@apple.com> 30152 30153 Fix non-Mac builds. 30154 30155 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30156 (WebKit::NetscapePlugin::snapshot): 30157 301582011-11-02 Anders Carlsson <andersca@apple.com> 30159 30160 Plug-in snapshots are blurry in HiDPI 30161 https://bugs.webkit.org/show_bug.cgi?id=71387 30162 <rdar://problem/10385393> 30163 30164 Reviewed by Adam Roben. 30165 30166 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30167 (WebKit::NetscapePlugin::snapshot): 30168 Create the backing store in the right size and apply the contents scale factor 30169 to the newly created graphics context. 30170 30171 * WebProcess/Plugins/PluginView.cpp: 30172 (WebKit::PluginView::paint): 30173 Pass the scale factor to ShareableBitmap::paint. 30174 301752011-11-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 30176 30177 [Qt] Implement message exchange between WebView and the web page 30178 https://bugs.webkit.org/show_bug.cgi?id=70545 30179 30180 Reviewed by Noam Rosenthal. 30181 30182 Adds a mechanism for the WebView to send messages to the JavaScript environment 30183 of the web page. In the WebView we have a method postMessage() and a signal 30184 messageReceived(), while in the web page we expose a navigator.qt object with a 30185 postMessage() method and a onmessage property. The messages are objects that 30186 follow the same structure as MessageEvents. 30187 30188 The feature is disabled by default, and can be enabled by setting 30189 QWebPreferences::navigatorQtObjectEnabled property to true. Changes take effect 30190 after the next load(). QML tests are included. 30191 30192 * UIProcess/qt/ClientImpl.h: 30193 * UIProcess/qt/ClientImpl.cpp: 30194 (setupContextInjectedBundleClient): Helper to register the injected bundle client. 30195 (qt_wk_didReceiveMessageFromInjectedBundle): Decode and dispatch a message received 30196 from the WebProcess to the WebPageProxy. 30197 30198 * UIProcess/PageClient.h: 30199 (WebKit::PageClient::didReceiveMessageFromNavigatorQtObject): 30200 * UIProcess/WebPageProxy.cpp: 30201 (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject): 30202 * UIProcess/WebPageProxy.h: 30203 Handle messages received from the navigator.qt object via the injected bundle. Called 30204 from the ClientImpl. 30205 30206 * UIProcess/API/qt/qbasewebview.cpp: 30207 (QBaseWebView::postMessage): 30208 (QBaseWebViewPrivate::setPageProxy): 30209 * UIProcess/API/qt/qbasewebview.h: 30210 * UIProcess/API/qt/qwebpreferences.cpp: 30211 (QWebPreferences::navigatorQtObjectEnabled): 30212 (QWebPreferences::setNavigatorQtObjectEnabled): 30213 * UIProcess/API/qt/qwebpreferences.h: 30214 The signal, slot and the setting to enable the feature. 30215 30216 * UIProcess/qt/QtWebPageProxy.cpp: 30217 (QtWebPageProxy::defaultWKContext): setup the injected bundle client for this the 30218 default context so we can listen to messages from it. 30219 30220 (QtWebPageProxy::QtWebPageProxy): 30221 (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject): 30222 (QtWebPageProxy::setNavigatorQtObjectEnabled): 30223 (QtWebPageProxy::postMessageToNavigatorQtObject): 30224 * UIProcess/qt/QtWebPageProxy.h: 30225 (QtWebPageProxy::navigatorQtObjectEnabled): 30226 Enabling and sending messages to the navigator.qt object are done by sending messages to 30227 the injected bundle, identifying the page that we want to act on. 30228 30229 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: Added. 30230 * UIProcess/API/qt/tests/qmltests/common/messaging.html: Added. 30231 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 30232 * WebProcess/qt/QtBuiltinBundle.cpp: 30233 (WebKit::QtBuiltinBundle::initialize): 30234 (WebKit::QtBuiltinBundle::didReceiveMessage): 30235 (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject): 30236 (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled): 30237 * WebProcess/qt/QtBuiltinBundle.h: 30238 * WebProcess/qt/QtBuiltinBundlePage.cpp: 30239 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 30240 (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage): 30241 (WebKit::QtBuiltinBundlePage::didClearWindowForFrame): 30242 (WebKit::qt_postMessageCallback): 30243 (WebKit::QtBuiltinBundlePage::postMessageFromNavigatorQtObject): 30244 (WebKit::createWrappedMessage): 30245 (WebKit::QtBuiltinBundlePage::didReceiveMessageToNavigatorQtObject): 30246 (WebKit::QtBuiltinBundlePage::setNavigatorQtObjectEnabled): 30247 (WebKit::QtBuiltinBundlePage::registerNavigatorQtObject): 30248 (WebKit::QtBuiltinBundlePage::navigatorQtObjectClass): 30249 * WebProcess/qt/QtBuiltinBundlePage.h: 30250 (WebKit::QtBuiltinBundlePage::navigatorQtObjectEnabled): 30251 302522011-11-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 30253 30254 [Qt] Fix qmltest API test failures related to r98973. 30255 https://bugs.webkit.org/show_bug.cgi?id=71280 30256 30257 Reviewed by Noam Rosenthal. 30258 30259 Most of the API was moved from TouchWebView.page to TouchWebView directly. 30260 Fixed the qml tests to reflect this change. 30261 30262 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: 30263 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: 30264 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: 30265 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: 30266 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: 30267 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: 30268 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: 30269 302702011-11-02 Kenneth Rohde Christiansen <kenneth@webkit.org> 30271 30272 [Qt] Handle interruption of page interaction better 30273 https://bugs.webkit.org/show_bug.cgi?id=71366 30274 30275 Reviewed by Simon Hausmann. 30276 30277 Touching the screen when a kinetic scrolling animation is running or 30278 it is bouncing back because it was out of bounds, the animation is 30279 immediately stopped and the content is immediately put into valid 30280 bounds. 30281 30282 Touching the screen when the contents is bouncing back from a pinch 30283 zoom which was out of bounds, we do not stop the animation, but 30284 instead ignored the touch events while the animation lasts. 30285 30286 In the future we want to queue the events instead. 30287 30288 This also fixes some issues which was present before: As the bounce 30289 back animation from pinch zoom centers the content using the contents 30290 point which was in the center of the viewport, this animation could 30291 not be used when stopping a pan animation, as it wouldn't position the 30292 content at the place it was when the pan animation was interrupted. 30293 30294 * UIProcess/qt/QtPanGestureRecognizer.cpp: 30295 (WebKit::QtPanGestureRecognizer::recognize): 30296 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 30297 (WebKit::QtPinchGestureRecognizer::recognize): 30298 * UIProcess/qt/QtViewportInteractionEngine.cpp: 30299 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 30300 (WebKit::QtViewportInteractionEngine::reset): 30301 (WebKit::QtViewportInteractionEngine::setConstraints): 30302 (WebKit::QtViewportInteractionEngine::panAnimationActive): 30303 (WebKit::QtViewportInteractionEngine::panGestureStarted): 30304 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 30305 (WebKit::QtViewportInteractionEngine::pinchAnimationActive): 30306 * UIProcess/qt/QtViewportInteractionEngine.h: 30307 303082011-11-02 Zalan Bujtas <zbujtas@gmail.com> 30309 30310 [Qt][WK2] Move content to resize (setResizesToContentsUsingLayoutSize) from UI process to Web process 30311 https://bugs.webkit.org/show_bug.cgi?id=71107 30312 30313 Reviewed by Kenneth Rohde Christiansen. 30314 30315 Reduce the number of IPC calls to WebProcess by moving the content to resize 30316 calls from UI process to Web process. 30317 30318 * UIProcess/API/qt/qtouchwebview.cpp: 30319 (QTouchWebViewPrivate::updateViewportSize): 30320 (QTouchWebViewPrivate::updateViewportConstraints): 30321 (QTouchWebView::geometryChanged): 30322 * UIProcess/API/qt/qtouchwebview_p.h: 30323 * UIProcess/WebPageProxy.cpp: 30324 (WebKit::WebPageProxy::setViewportSize): 30325 (WebKit::WebPageProxy::preferencesDidChange): 30326 * UIProcess/WebPageProxy.h: 30327 * UIProcess/qt/QtTouchWebPageProxy.cpp: 30328 * UIProcess/qt/QtTouchWebPageProxy.h: 30329 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 30330 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 30331 * WebProcess/WebPage/WebPage.messages.in: 30332 303332011-10-18 Dinu Jacob <dinu.jacob@nokia.com> 30334 30335 [Qt][WK2]: Shouldn't send unhandled TouchCancel event to gesture recognizers 30336 https://bugs.webkit.org/show_bug.cgi?id=70333 30337 30338 Reviewed by Simon Hausmann. 30339 30340 Gesture recognizers should be reset for unhandled TouchCancel event. 30341 30342 * UIProcess/qt/qtouchwebpageproxy.cpp: 30343 (QTouchWebPageProxy::doneWithTouchEvent): 30344 303452011-11-02 Simon Hausmann <simon.hausmann@nokia.com> 30346 30347 [Qt][WK2] Add support for touch event testing to WebKitTestRunner 30348 https://bugs.webkit.org/show_bug.cgi?id=71310 30349 30350 Reviewed by Kenneth Rohde Christiansen. 30351 30352 * UIProcess/WebPageProxy.cpp: 30353 (WebKit::WebPageProxy::handleTouchEvent): Add support for m_shouldSendEventsSynchronously. 30354 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 30355 (QtDesktopWebPageProxy::handleEvent): Handle plain touch events in the desktop page proxy by 30356 forwarding them appropriately. We will receive them from WTR through ::event, but we won't 30357 receive them from QQuickCanvas (i.e. the user) because that doesn't uses ::event but only 30358 dedicated fooEvent() handlers, of which we don't re-implement the touch version. 30359 (QtDesktopWebPageProxy::handleTouchEvent): Forward touch events to WebPageProxy. 30360 * UIProcess/qt/QtDesktopWebPageProxy.h: 30361 * WebProcess/WebPage/WebPage.cpp: 30362 (WebKit::WebPage::touchEventSyncForTesting): Add support for synchronous touch event testing, 30363 similar to the way it's done for mouse events. 30364 * WebProcess/WebPage/WebPage.h: Ditto. 30365 * WebProcess/WebPage/WebPage.messages.in: Ditto. 30366 303672011-11-02 Simon Hausmann <simon.hausmann@nokia.com> 30368 30369 [WK2] Remove unused/duplicated modifiers member from WebTouchEvent 30370 https://bugs.webkit.org/show_bug.cgi?id=71353 30371 30372 Reviewed by Kenneth Rohde Christiansen. 30373 30374 WebTouchEvent::m_[ctrl,alt,meta,shift]Key are redundant compared to 30375 WebEvent::m_modifiers. The latter is fully populated and used, the former 30376 can be safely removed. 30377 30378 * Shared/WebEvent.h: 30379 * Shared/WebTouchEvent.cpp: 30380 (WebKit::WebTouchEvent::WebTouchEvent): 30381 * Shared/qt/WebEventFactoryQt.cpp: 30382 (WebKit::WebEventFactory::createWebTouchEvent): 30383 303842011-11-02 Philippe Normand <pnormand@igalia.com> 30385 30386 Unreviewed, skip testWebKitSettingsNewWithSettings affected by bug 30387 70127. 30388 30389 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 30390 (testWebKitSettingsNewWithSettings): 30391 303922011-11-01 Andras Becsi <andras.becsi@nokia.com> 30393 30394 [Qt][WK2] Make API tests less noisy 30395 https://bugs.webkit.org/show_bug.cgi?id=71295 30396 30397 Reviewed by Simon Hausmann. 30398 30399 Suppress superfluous debug messages of Qt5. 30400 30401 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 30402 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 30403 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 30404 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 30405 (main): 30406 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 30407 * UIProcess/API/qt/tests/util.cpp: 30408 (messageHandler): 30409 * UIProcess/API/qt/tests/util.h: 30410 304112011-11-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 30412 30413 [Qt] Merge common desktop and touch view APIs under a base class. 30414 https://bugs.webkit.org/show_bug.cgi?id=71280 30415 30416 Reviewed by Andreas Kling. 30417 30418 - Make QDesktopWebView and QTouchWebView inherit from QBaseWebView. 30419 - Move methods from QTouchWebPage to QTouchWebView (through the base class). 30420 30421 We use the same convenience macros as Qt internally by hiding QObject::d_ptr 30422 with QBaseWebView::d_ptr instead of inheriting QBaseWebViewPrivate from 30423 QQuickItemPrivate. 30424 Also, QBaseWebView currently inherits from QQuickPaintedItem since QDesktopWebView 30425 needs it, but should be changed as soon as this is not required anymore. 30426 30427 * UIProcess/API/qt/qbasewebview.cpp: Added. 30428 (QBaseWebViewPrivate::QBaseWebViewPrivate): 30429 (QBaseWebViewPrivate::setPageProxy): 30430 (QBaseWebView::QBaseWebView): 30431 (QBaseWebView::~QBaseWebView): 30432 (QBaseWebView::load): 30433 (QBaseWebView::url): 30434 (QBaseWebView::loadProgress): 30435 (QBaseWebView::title): 30436 (QBaseWebView::navigationController): 30437 (QBaseWebView::preferences): 30438 * UIProcess/API/qt/qbasewebview.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h. 30439 * UIProcess/API/qt/qbasewebview_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h. 30440 (QBaseWebViewPrivate::~QBaseWebViewPrivate): 30441 * UIProcess/API/qt/qdesktopwebview.cpp: 30442 (QDesktopWebViewPrivate::QDesktopWebViewPrivate): 30443 (QDesktopWebViewPrivate::enableMouseEvents): 30444 (QDesktopWebViewPrivate::disableMouseEvents): 30445 (QDesktopWebViewPrivate::webView): 30446 (QDesktopWebViewPrivate::setViewNeedsDisplay): 30447 (QDesktopWebViewPrivate::drawingAreaSize): 30448 (QDesktopWebViewPrivate::hasFocus): 30449 (QDesktopWebViewPrivate::isVisible): 30450 (QDesktopWebViewPrivate::startDrag): 30451 (QDesktopWebViewPrivate::didChangeUrl): 30452 (QDesktopWebViewPrivate::didChangeTitle): 30453 (QDesktopWebViewPrivate::didChangeStatusText): 30454 (QDesktopWebViewPrivate::loadDidBegin): 30455 (QDesktopWebViewPrivate::loadDidSucceed): 30456 (QDesktopWebViewPrivate::loadDidFail): 30457 (QDesktopWebViewPrivate::didChangeLoadProgress): 30458 (QDesktopWebViewPrivate::showContextMenu): 30459 (QDesktopWebViewPrivate::runJavaScriptAlert): 30460 (QDesktopWebViewPrivate::runJavaScriptConfirm): 30461 (QDesktopWebViewPrivate::runJavaScriptPrompt): 30462 (QDesktopWebView::QDesktopWebView): 30463 (QDesktopWebViewPrivate::init): 30464 (QDesktopWebView::~QDesktopWebView): 30465 (QDesktopWebView::geometryChanged): 30466 (QDesktopWebView::paint): 30467 (QDesktopWebView::event): 30468 (QDesktopWebView::pageRef): 30469 (QDesktopWebViewPrivate::processDidCrash): 30470 (QDesktopWebViewPrivate::didRelaunchProcess): 30471 (QDesktopWebViewPrivate::engine): 30472 (QDesktopWebViewPrivate::chooseFiles): 30473 (QDesktopWebViewPrivate::_q_onOpenPanelFilesSelected): 30474 (QDesktopWebViewPrivate::_q_onOpenPanelFinished): 30475 (QDesktopWebViewPrivate::didMouseMoveOverElement): 30476 (QDesktopWebViewPrivate::navigationPolicyForURL): 30477 * UIProcess/API/qt/qdesktopwebview.h: 30478 * UIProcess/API/qt/qdesktopwebview_p.h: 30479 * UIProcess/API/qt/qtouchwebpage.cpp: 30480 (QTouchWebPage::event): 30481 (QTouchWebPage::geometryChanged): 30482 (QTouchWebPagePrivate::QTouchWebPagePrivate): 30483 (QTouchWebPagePrivate::setPageProxy): 30484 (QTouchWebPagePrivate::paintToCurrentGLContext): 30485 * UIProcess/API/qt/qtouchwebpage.h: 30486 * UIProcess/API/qt/qtouchwebpage_p.h: 30487 (QTouchWebPagePrivate::touchPageProxy): 30488 * UIProcess/API/qt/qtouchwebview.cpp: 30489 (QTouchWebViewPrivate::init): 30490 (QTouchWebViewPrivate::loadDidCommit): 30491 (QTouchWebViewPrivate::_q_viewportUpdated): 30492 (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged): 30493 (QTouchWebViewPrivate::updateViewportConstraints): 30494 (QTouchWebView::QTouchWebView): 30495 (QTouchWebView::~QTouchWebView): 30496 (QTouchWebView::page): 30497 (QTouchWebView::geometryChanged): 30498 (QTouchWebView::onVisibleChanged): 30499 * UIProcess/API/qt/qtouchwebview.h: 30500 * UIProcess/API/qt/qtouchwebview_p.h: 30501 (QTouchWebViewPrivate::touchPageProxy): 30502 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 30503 (tst_CommonViewTests::loadNonexistentFileUrl): 30504 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 30505 (WebViewAbstraction::WebViewAbstraction): 30506 (WebViewAbstraction::load): 30507 (WebViewAbstraction::url): 30508 (WebViewAbstraction::loadProgress): 30509 (WebViewAbstraction::goBack): 30510 (WebViewAbstraction::goForward): 30511 (WebViewAbstraction::stop): 30512 (WebViewAbstraction::reload): 30513 (WebViewAbstraction::touchViewLoadFailed): 30514 (WebViewAbstraction::desktopViewLoadFailed): 30515 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 30516 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 30517 (tst_QTouchWebView::navigationStatusAtStartup): 30518 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 30519 (QtDesktopWebPageProxy::createPopupMenuProxy): 30520 * UIProcess/qt/QtTouchViewInterface.cpp: 30521 (WebKit::QtTouchViewInterface::didChangeViewportProperties): 30522 (WebKit::QtTouchViewInterface::didChangeUrl): 30523 (WebKit::QtTouchViewInterface::didChangeTitle): 30524 (WebKit::QtTouchViewInterface::loadDidBegin): 30525 (WebKit::QtTouchViewInterface::loadDidCommit): 30526 (WebKit::QtTouchViewInterface::loadDidSucceed): 30527 (WebKit::QtTouchViewInterface::loadDidFail): 30528 (WebKit::QtTouchViewInterface::didChangeLoadProgress): 30529 * WebKit2API.pri: 30530 305312011-10-31 Anders Carlsson <andersca@apple.com> 30532 30533 PluginProxy shouldn't use window-relative coordinates 30534 https://bugs.webkit.org/show_bug.cgi?id=71261 30535 30536 Reviewed by Adam Roben. 30537 30538 Change PluginProxy::wantsWindowRelativeCoordinates to return false and remove 30539 m_frameRectInWindowCoordinates and m_clipRectInWindowCoordinates. This is yet another step 30540 towards eliminating window-relative coordinates wherever possible. 30541 30542 * WebProcess/Plugins/PluginProxy.cpp: 30543 (WebKit::PluginProxy::paint): 30544 Since the dirty rect passed to paint is now in plug-in coordinates, there's no need to convert it 30545 from window coordinates to plug-in coordinates before passing it to BackingStore::paint. 30546 30547 (WebKit::PluginProxy::deprecatedGeometryDidChange): 30548 Assert that we're not calling this anymore. 30549 30550 (WebKit::PluginProxy::wantsWindowRelativeCoordinates): 30551 Return false. 30552 305532011-11-01 Kenneth Rohde Christiansen <kenneth@webkit.org> 30554 30555 The QtViewportInteractionEngine should consider DPI adjustment 30556 https://bugs.webkit.org/show_bug.cgi?id=71283 30557 30558 Reviewed by Simon Hausmann. 30559 30560 * UIProcess/API/qt/qtouchwebview.cpp: 30561 30562 Add some default values for now to make sure we are testing the 30563 DPI adjustment / CSS-item space conversion. 30564 30565 (QTouchWebViewPrivate::updateViewportConstraints): 30566 * UIProcess/qt/QtViewportInteractionEngine.cpp: 30567 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard): 30568 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard): 30569 30570 Clean up the guard to be more understandable. 30571 30572 (WebKit::QtViewportInteractionEngine::cssScaleFromItem): 30573 (WebKit::QtViewportInteractionEngine::itemScaleFromCSS): 30574 30575 Add methods for converting between CSS and item space. 30576 30577 (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale): 30578 (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale): 30579 30580 Make it clean which methods uses which coord space. 30581 30582 (WebKit::QtViewportInteractionEngine::updateVisibleRect): 30583 (WebKit::QtViewportInteractionEngine::event): 30584 (WebKit::QtViewportInteractionEngine::computePosRangeForItemScale): 30585 30586 Rename calculateBoundariesForScale and change its implementation to 30587 be correct. The new name reflects the space in which the computation 30588 takes place and reflects similar Qt API. 30589 30590 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 30591 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 30592 (WebKit::QtViewportInteractionEngine::scaleContent): 30593 30594 Make sure to consider the right coord space. 30595 30596 * UIProcess/qt/QtViewportInteractionEngine.h: 30597 (WebKit::QtViewportInteractionEngine::Constraints::Constraints): 30598 30599 Add the devicePixelRatio. 30600 306012011-11-01 Simon Hausmann <simon.hausmann@nokia.com> 30602 30603 Prospective clang build fix. 30604 30605 Reviewed by Andreas Kling. 30606 30607 * UIProcess/WebPageProxy.cpp: 30608 (WebKit::WebPageProxy::didReceiveEvent): Handle GestureSingleTap in the event type switch. 30609 306102011-11-01 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 30611 30612 [Qt] Create infrastructure for Qt's builtin bundle in web process. 30613 https://bugs.webkit.org/show_bug.cgi?id=71279 30614 30615 Reviewed by Simon Hausmann. 30616 30617 Create a builtin bundle for Qt port: an InjectedBundle which the code is together 30618 with the Qt's web process instead of being in a different library. This gives us 30619 access to many hooks at web process (using WKBundle* functions of C API) without 30620 adding any maintenance burden to cross-port code. 30621 30622 Since we also use a InjectedBundle in the WebKitTestRunner, we only install our 30623 builtin bundle if there's no other installed. This is fine because WTR won't use 30624 the extra runtime features that we plan to provide with the builtin bundle. 30625 30626 * WebKit2.pro: 30627 * WebProcess/qt/QtBuiltinBundle.cpp: Added. 30628 (WebKit::QtBuiltinBundle::~QtBuiltinBundle): 30629 (WebKit::QtBuiltinBundle::shared): 30630 (WebKit::QtBuiltinBundle::initialize): 30631 (WebKit::QtBuiltinBundle::didCreatePage): 30632 (WebKit::QtBuiltinBundle::willDestroyPage): 30633 (WebKit::QtBuiltinBundle::bundlePageForPageRef): 30634 * WebProcess/qt/QtBuiltinBundle.h: Added. 30635 (WebKit::QtBuiltinBundle::toRef): 30636 Object that holds a WKBundleRef and keeps track of the pages in the current context. 30637 30638 * WebProcess/qt/QtBuiltinBundlePage.cpp: Added. 30639 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 30640 (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage): 30641 * WebProcess/qt/QtBuiltinBundlePage.h: Added. 30642 (WebKit::QtBuiltinBundlePage::page): 30643 Our representation for pages from the bundle perspective. This will be the right 30644 place to registering page related clients. 30645 30646 * WebProcess/qt/WebProcessQt.cpp: 30647 (WebKit::WebProcess::platformInitializeWebProcess): 30648 If there's no bundle to be loaded, initialize Qt builtin bundle, which will register the 30649 bundle client for this context. 30650 306512011-11-01 Simon Hausmann <simon.hausmann@nokia.com> 30652 30653 [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType 30654 https://bugs.webkit.org/show_bug.cgi?id=71274 30655 30656 Reviewed by Kenneth Christiansen. 30657 30658 * Shared/WebEvent.h: Add GestureSingleTap as gesture type. 30659 * Shared/WebEventConversion.cpp: 30660 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Support converting 30661 WebEven::GestureSingleTap to PlatformGestureEvent::TapType. 30662 * Shared/WebGestureEvent.cpp: 30663 (WebKit::WebGestureEvent::isGestureEventType): GestureSingleTap is a valid gesture event type. 30664 * WebKit2.pro: Add WebGestureEvent.cpp to the build. 30665 306662011-10-31 Anders Carlsson <andersca@apple.com> 30667 30668 PluginProxy::Update should pass the painted rect in plug-in coordinates 30669 https://bugs.webkit.org/show_bug.cgi?id=71257 30670 30671 Reviewed by Adam Roben. 30672 30673 This is one step in the process of migrating away from window relative coordinates 30674 and use plug-in relative coordinates instead, since window relative coordinates won't work 30675 with transforms. 30676 30677 * PluginProcess/PluginControllerProxy.cpp: 30678 (WebKit::PluginControllerProxy::paint): 30679 Convert the dirty rect back to plug-in coordinates. 30680 30681 * WebProcess/Plugins/PluginProxy.cpp: 30682 (WebKit::PluginProxy::update): 30683 No need to convert the painted rect back to plug-in coordinates anymore. 30684 30685 * WebProcess/Plugins/PluginProxy.messages.in: 30686 Document that the painted rect is in plug-in coordinates. 30687 306882011-10-31 Anders Carlsson <andersca@apple.com> 30689 30690 PluginControllerProxy should call Plugin::geometryDidChange 30691 https://bugs.webkit.org/show_bug.cgi?id=71255 30692 30693 Reviewed by Sam Weinig. 30694 30695 Pass enough information over in the GeometryDidChange message sent from 30696 PluginProxy to PluginControllerProxy so that PluginControllerProxy can call 30697 Plugin::geometryDidChange. 30698 30699 * PluginProcess/PluginControllerProxy.cpp: 30700 (WebKit::PluginControllerProxy::paint): 30701 (WebKit::PluginControllerProxy::invalidate): 30702 (WebKit::PluginControllerProxy::paintEntirePlugin): 30703 Update for rename from m_frameRect to m_frameRectInWindowCoordinates. 30704 30705 (WebKit::PluginControllerProxy::geometryDidChange): 30706 This now takes the plug-in size and the plug-in to root view transform as well. 30707 30708 * PluginProcess/PluginControllerProxy.h: 30709 Store the plug-in size and rename m_frameRect to m_frameRectInWindowCoordinates. 30710 30711 * PluginProcess/PluginControllerProxy.messages.in: 30712 Update message signature. 30713 30714 * PluginProcess/mac/PluginControllerProxyMac.mm: 30715 (WebKit::PluginControllerProxy::platformGeometryDidChange): 30716 Use the plug-in size instead of the frame rect size. 30717 30718 * Shared/WebCoreArgumentCoders.cpp: 30719 (CoreIPC::::encode): 30720 (CoreIPC::::decode): 30721 * Shared/WebCoreArgumentCoders.h: 30722 Add encoder/decoder for WebCore::AffineTransform. 30723 30724 * WebProcess/Plugins/PluginProxy.cpp: 30725 (WebKit::PluginProxy::geometryDidChange): 30726 Compute the frame rect in window coordinates and send it over. 30727 30728 (WebKit::PluginProxy::deprecatedGeometryDidChange): 30729 Move call to geometryDidChange() from here to the new PluginProxy::geometryDidChange. 30730 307312011-10-31 Anders Carlsson <andersca@apple.com> 30732 30733 Remove some uses of m_frameRectInWindowCoordinates from PluginProxy 30734 https://bugs.webkit.org/show_bug.cgi?id=71252 30735 30736 Reviewed by Darin Adler. 30737 30738 * WebProcess/Plugins/PluginProxy.cpp: 30739 (WebKit::PluginProxy::paint): 30740 (WebKit::PluginProxy::geometryDidChange): 30741 (WebKit::PluginProxy::updateBackingStore): 30742 (WebKit::PluginProxy::pluginBounds): 30743 * WebProcess/Plugins/PluginProxy.h: 30744 307452011-10-31 Anders Carlsson <andersca@apple.com> 30746 30747 Implement PluginProxy::geometryDidChange 30748 https://bugs.webkit.org/show_bug.cgi?id=71251 30749 30750 Reviewed by Sam Weinig. 30751 30752 Keep track of the plug-in size, the clip rect in plug-in coordinates and the 30753 transformation matrix from the root view to the plug-in. 30754 30755 * WebProcess/Plugins/PluginProxy.cpp: 30756 (WebKit::PluginProxy::geometryDidChange): 30757 * WebProcess/Plugins/PluginProxy.h: 30758 307592011-10-31 Anders Carlsson <andersca@apple.com> 30760 30761 Fix the X11 build. 30762 30763 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 30764 (WebKit::NetscapePlugin::platformGeometryDidChange): 30765 (WebKit::NetscapePlugin::platformPaint): 30766 (WebKit::NetscapePlugin::platformHandleMouseEvent): 30767 (WebKit::NetscapePlugin::platformHandleWheelEvent): 30768 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 30769 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 30770 307712011-10-31 Anders Carlsson <andersca@apple.com> 30772 30773 Factor code to resize the plug-in backing store out into a separate function 30774 https://bugs.webkit.org/show_bug.cgi?id=71250 30775 30776 Reviewed by Adam Roben. 30777 30778 Add a PluginProxy::contentsScaleFactor helper function to get rid of a bunch of PLATFORM(MAC) #ifdefs, 30779 and move the code to update the backing store out into a separate function. 30780 30781 * WebProcess/Plugins/PluginProxy.cpp: 30782 (WebKit::PluginProxy::initialize): 30783 (WebKit::PluginProxy::paint): 30784 (WebKit::PluginProxy::geometryDidChange): 30785 (WebKit::PluginProxy::contentsScaleFactor): 30786 (WebKit::PluginProxy::updateBackingStore): 30787 (WebKit::PluginProxy::update): 30788 * WebProcess/Plugins/PluginProxy.h: 30789 307902011-10-31 Jeff Miller <jeffm@apple.com> 30791 30792 Add more APIs to WKUserContentURLPattern.h 30793 https://bugs.webkit.org/show_bug.cgi?id=71245 30794 30795 Add additional WKUserContentURLPattern APIs to match what was provided by 30796 the equivalent WebKit1 API. 30797 30798 Reviewed by Darin Adler. 30799 30800 * Shared/API/c/WKUserContentURLPattern.cpp: 30801 (WKUserContentURLPatternCopyHost): Added. 30802 (WKUserContentURLPatternCopyScheme): Added. 30803 (WKUserContentURLPatternIsValid): Added. 30804 (WKUserContentURLPatternMatchesSubdomains): Added. 30805 30806 * Shared/API/c/WKUserContentURLPattern.h: Added new APIs. 30807 30808 * Shared/WebUserContentURLPattern.h: 30809 (WebKit::WebUserContentURLPattern::host): Added. 30810 (WebKit::WebUserContentURLPattern::scheme): Added. 30811 (WebKit::WebUserContentURLPattern::isValid): Added. 30812 (WebKit::WebUserContentURLPattern::matchesSubdomains): Added. 30813 308142011-10-31 Anders Carlsson <andersca@apple.com> 30815 30816 More work on making plug-ins work better with transforms 30817 https://bugs.webkit.org/show_bug.cgi?id=71241 30818 30819 Reviewed by Darin Adler. 30820 30821 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30822 (WebKit::NetscapePlugin::geometryDidChange): 30823 Implement NetscapePlugin::geometryDidChange and store the plug-in size, 30824 the clip rect and the root view transform. Use the transform to compute the window 30825 relative frame and clip rects. 30826 30827 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30828 Add new member variables. 30829 30830 * WebProcess/Plugins/PluginView.cpp: 30831 (WebKit::PluginView::viewGeometryDidChange): 30832 Always call the new Plugin::geometryDidChange. 30833 308342011-10-27 Anders Carlsson <andersca@apple.com> 30835 30836 Rename a couple of NetscapePlugin and PluginProxy member variables 30837 https://bugs.webkit.org/show_bug.cgi?id=71086 30838 30839 Reviewed by Sam Weinig. 30840 30841 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30842 (WebKit::NetscapePlugin::invalidate): 30843 (WebKit::NetscapePlugin::callSetWindow): 30844 (WebKit::NetscapePlugin::snapshot): 30845 (WebKit::NetscapePlugin::deprecatedGeometryDidChange): 30846 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30847 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 30848 (WebKit::NetscapePlugin::platformPaint): 30849 (WebKit::NetscapePlugin::platformHandleMouseEvent): 30850 (WebKit::NetscapePlugin::platformHandleWheelEvent): 30851 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 30852 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 30853 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 30854 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): 30855 (WebKit::NetscapePlugin::platformPaint): 30856 * WebProcess/Plugins/PluginProxy.cpp: 30857 (WebKit::PluginProxy::paint): 30858 (WebKit::PluginProxy::geometryDidChange): 30859 (WebKit::PluginProxy::deprecatedGeometryDidChange): 30860 (WebKit::PluginProxy::update): 30861 * WebProcess/Plugins/PluginProxy.h: 30862 * WebProcess/Plugins/PluginView.cpp: 30863 (WebKit::PluginView::viewGeometryDidChange): 30864 308652011-10-31 Andras Becsi <andras.becsi@nokia.com> 30866 30867 [Qt][WK2] Fix qmltests after r98460 added widgets dependency. 30868 30869 Reviewed by Simon Hausmann. 30870 30871 Use QApplication and QtWidgets until we get rid of the widgets dependency of QScroller. 30872 30873 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 30874 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: 30875 (main): 30876 308772011-10-31 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 30878 30879 [Qt] Make QWebPreferences hold a QtWebPageProxy 30880 https://bugs.webkit.org/show_bug.cgi?id=71219 30881 30882 Reviewed by Andreas Kling. 30883 30884 Change QWebPreferences to keep a pointer to QtWebPageProxy. The reason is that 30885 some features we want to control (like the messaging exchange between WebView and 30886 the web process) are not available via WKPreferencesRef. 30887 30888 QtWebPageProxy now uses an OwnPtr to keep the QWebPreferences to clarify the 30889 ownership relationship. Before this change the QWebPreferences created was leaking. 30890 30891 * UIProcess/API/qt/qwebpreferences.cpp: 30892 (QWebPreferencesPrivate::createPreferences): 30893 (QWebPreferencesPrivate::testAttribute): 30894 (QWebPreferencesPrivate::setAttribute): 30895 (QWebPreferencesPrivate::setFontFamily): 30896 (QWebPreferencesPrivate::fontFamily): 30897 (QWebPreferencesPrivate::setFontSize): 30898 (QWebPreferencesPrivate::fontSize): 30899 (QWebPreferencesPrivate::preferencesRef): 30900 * UIProcess/API/qt/qwebpreferences.h: 30901 * UIProcess/API/qt/qwebpreferences_p.h: 30902 * UIProcess/qt/QtWebPageProxy.cpp: 30903 (QtWebPageProxy::QtWebPageProxy): 30904 (QtWebPageProxy::preferences): 30905 * UIProcess/qt/QtWebPageProxy.h: 30906 309072011-10-31 Carlos Garcia Campos <cgarcia@igalia.com> 30908 30909 [GTK] Add webkit_settings_new_with_settings() to WebKit2 GTK+ API 30910 https://bugs.webkit.org/show_bug.cgi?id=71111 30911 30912 Reviewed by Martin Robinson. 30913 30914 Convenient method to create a WebKitSettings object with initial 30915 settings. 30916 30917 * UIProcess/API/gtk/WebKitSettings.cpp: 30918 (webkit_settings_new_with_settings): 30919 * UIProcess/API/gtk/WebKitSettings.h: 30920 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 30921 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 30922 (testWebKitSettingsNewWithSettings): 30923 (beforeAll): 30924 309252011-10-31 Carlos Garcia Campos <cgarcia@igalia.com> 30926 30927 [GTK] Add methods to get/set the settings of a web view to WebKit2 GTK+ API 30928 https://bugs.webkit.org/show_bug.cgi?id=71109 30929 30930 Reviewed by Martin Robinson. 30931 30932 * GNUmakefile.am: Add WebKitSettingsPrivate.h. 30933 * UIProcess/API/gtk/WebKitSettings.cpp: 30934 (webkitSettingsAttachSettingsToPage): Set the preferences of the 30935 given WebKitSettings object to the page group of the given WKPage. 30936 * UIProcess/API/gtk/WebKitSettingsPrivate.h: Added. 30937 * UIProcess/API/gtk/WebKitWebView.cpp: 30938 (webkitWebViewConstructed): Create the default WebKitSettings for 30939 the view. 30940 (webkit_web_view_set_settings): 30941 (webkit_web_view_get_settings): 30942 * UIProcess/API/gtk/WebKitWebView.h: 30943 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 30944 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 30945 (testWebViewSettings): 30946 (beforeAll): 30947 309482011-10-31 Carlos Garcia Campos <cgarcia@igalia.com> 30949 30950 Unreviewed. Fix make distcheck build. 30951 30952 * GNUmakefile.am: Remove docs/GNUmakefile.in from EXTRA_DIST, 30953 since its generation was removed from configure.ac in r98498. 30954 309552011-10-28 Jeff Miller <jeffm@apple.com> 30956 30957 More work on WebKit2 should respect WebKitOmitPDFSupport preference on the Mac 30958 https://bugs.webkit.org/show_bug.cgi?id=71156 30959 30960 Don't include PDF and PostScript types in the set of MIME types with custom representations 30961 when initializing the web process if WebKitOmitPDFSupport is set. 30962 30963 I believe the previous patch r98513 was actually sufficient to prevent PDFs from being 30964 shown inline when this preference was set, but to be complete we should exclude the MIME 30965 types here as well. 30966 30967 Reviewed by Alexey Proskuryakov. 30968 30969 * UIProcess/mac/WebContextMac.mm: 30970 (WebKit::WebContext::platformInitializeWebProcess): 30971 309722011-10-28 John Sullivan <sullivan@apple.com> 30973 30974 WebKit2 part of: 30975 https://bugs.webkit.org/show_bug.cgi?id=71142 30976 Whether backspace goes Back should be configurable 30977 30978 Reviewed by Sam Weinig. 30979 30980 * Shared/WebPreferencesStore.h: 30981 Declared backspaceKeyNavigationEnabled property using macro. This initializes 30982 it to true, to match current behavior. 30983 30984 * UIProcess/API/C/WKPreferences.cpp: 30985 (WKPreferencesSetBackspaceKeyNavigationEnabled): 30986 New function, pass value to impl. 30987 (WKPreferencesGetBackspaceKeyNavigationEnabled): 30988 New function, returns result from impl. 30989 30990 * UIProcess/API/C/WKPreferences.h: 30991 Declared API functions for new preference. 30992 30993 * WebProcess/WebPage/WebPage.cpp: 30994 (WebKit::WebPage::updatePreferences): 30995 Updates WebCore settings from WebKit2 prefs. 30996 309972011-10-28 Timothy Hatcher <timothy@apple.com> 30998 30999 Support using a different front-end for the Web Inspector in WebKit2. 31000 31001 rdar://problem/10318665 31002 https://webkit.org/b/71089 31003 31004 Reviewed by Sam Weinig. 31005 31006 * Shared/WebProcessCreationParameters.cpp: 31007 (WebKit::WebProcessCreationParameters::encode): Added webInspectorBasePath and webInspectorLocalizedStringsPath. 31008 (WebKit::WebProcessCreationParameters::decode): Ditto. 31009 * Shared/WebProcessCreationParameters.h: 31010 * UIProcess/API/C/WKContext.cpp: 31011 (WKContextSetOverrideWebInspectorBaseDirectory): Added. Calls through to WebContext. 31012 (WKContextSetOverrideWebInspectorPagePath): Ditto. 31013 (WKContextSetOverrideWebInspectorLocalizedStringsPath): Ditto. 31014 * UIProcess/API/C/WKContextPrivate.h: 31015 * UIProcess/WebContext.cpp: 31016 (WebKit::WebContext::ensureWebProcess): Set webInspectorBasePath and webInspectorLocalizedStringsPath. 31017 * UIProcess/WebContext.h: 31018 (WebKit::WebContext::overrideWebInspectorBaseDirectory): Added. 31019 (WebKit::WebContext::setOverrideWebInspectorBaseDirectory): Added. 31020 (WebKit::WebContext::overrideWebInspectorPagePath): Added. 31021 (WebKit::WebContext::setOverrideWebInspectorPagePath): Added. 31022 (WebKit::WebContext::setOverrideWebInspectorLocalizedStringsPath): Added. 31023 * UIProcess/mac/WebInspectorProxyMac.mm: 31024 (WebKit::WebInspectorProxy::inspectorPageURL): Use WebContext::overrideWebInspectorPagePath if set. 31025 (WebKit::WebInspectorProxy::inspectorBaseURL): Use WebContext::overrideWebInspectorBaseDirectory if set. 31026 * WebProcess/WebPage/WebInspector.h: 31027 * WebProcess/WebPage/mac/WebInspectorMac.mm: 31028 (WebKit::globalInspectorLocalizedStringsURL): Added. Static storage for the setting. 31029 (WebKit::WebInspector::setLocalizedStringsPath): Added. Set globalInspectorLocalizedStringsURL. 31030 (WebKit::WebInspector::localizedStringsURL): Return globalInspectorLocalizedStringsURL. 31031 * WebProcess/com.apple.WebProcess.sb: Added read-only subpath for WEBKIT_WEB_INSPECTOR_DIR. 31032 * WebProcess/mac/WebProcessMac.mm: 31033 (WebKit::appendReadonlySandboxDirectory): Check path for empty to prevent an exception when 31034 calling through to fileSystemRepresentation. 31035 (WebKit::initializeSandbox): Added WEBKIT_WEB_INSPECTOR_DIR parameter. 31036 (WebKit::WebProcess::platformInitializeWebProcess): Call WebInspector::setLocalizedStringsPath. 31037 310382011-10-28 Alexey Proskuryakov <ap@apple.com> 31039 31040 Clean up BuiltInPDFView a little 31041 https://bugs.webkit.org/show_bug.cgi?id=71133 31042 31043 Reviewed by Daniel Bates. 31044 31045 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::createScrollbar): 31046 Removed an incorrect FIXME. Custom scrollbars specified in a document don't apply 31047 to subframes, and thus shouldn't apply to PDFs. 31048 31049 * WebProcess/Plugins/PDF/BuiltInPDFView.h: (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged): 31050 Moved to a correct location. This is not a Plugin method, but a ScrollView one. 31051 310522011-10-28 Jochen Eisinger <jochen@chromium.org> 31053 31054 Rename a number of methods mentioning JavaScript to just Script instead 31055 https://bugs.webkit.org/show_bug.cgi?id=71105 31056 31057 Reviewed by Adam Barth. 31058 31059 * WebProcess/WebPage/WebPage.cpp: 31060 (WebKit::WebPage::updatePreferences): 31061 310622011-10-28 Csaba Osztrogonác <ossy@webkit.org> 31063 31064 [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative 31065 https://bugs.webkit.org/show_bug.cgi?id=70494 31066 31067 One more buildfix. (unreviewed) 31068 31069 * UIProcess/API/qt/qtouchwebpage.cpp: 31070 (computeEffectiveOpacity): 31071 (QTouchWebPage::itemChange): 31072 310732011-10-28 Simon Hausmann <simon.hausmann@nokia.com> 31074 31075 [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative 31076 https://bugs.webkit.org/show_bug.cgi?id=70494 31077 31078 Reviewed by Kenneth Christiansen. 31079 31080 Use QQuick* instead of QSG* as well as QStandardPaths 31081 instead of QDesktopLocation. 31082 31083 * UIProcess/API/qt/qdesktopwebview.cpp: 31084 (QDesktopWebView::QDesktopWebView): 31085 (QDesktopWebView::geometryChanged): 31086 (QDesktopWebView::event): 31087 (QDesktopWebViewPrivate::engine): 31088 * UIProcess/API/qt/qdesktopwebview.h: 31089 * UIProcess/API/qt/qtouchwebpage.cpp: 31090 (QTouchWebPage::QTouchWebPage): 31091 (QTouchWebPage::event): 31092 (QTouchWebPage::geometryChanged): 31093 * UIProcess/API/qt/qtouchwebpage.h: 31094 * UIProcess/API/qt/qtouchwebview.cpp: 31095 (QTouchWebView::QTouchWebView): 31096 (QTouchWebView::geometryChanged): 31097 (QTouchWebView::touchEvent): 31098 * UIProcess/API/qt/qtouchwebview.h: 31099 * UIProcess/API/qt/tests/testwindow.h: 31100 (TestWindow::TestWindow): 31101 (TestWindow::resizeEvent): 31102 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 31103 (QtDesktopWebPageProxy::createPopupMenuProxy): 31104 * UIProcess/qt/QtSGUpdateQueue.cpp: 31105 (WebKit::QtSGUpdateQueue::QtSGUpdateQueue): 31106 * UIProcess/qt/QtSGUpdateQueue.h: 31107 * UIProcess/qt/QtTouchViewInterface.cpp: 31108 (WebKit::QtTouchViewInterface::engine): 31109 * UIProcess/qt/QtViewportInteractionEngine.cpp: 31110 (WebKit::contentRectInViewportCoordinates): 31111 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 31112 * UIProcess/qt/QtViewportInteractionEngine.h: 31113 * UIProcess/qt/WebContextQt.cpp: 31114 (WebKit::defaultDataLocation): 31115 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 31116 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop): 31117 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: 31118 (WebKit::WebPopupMenuProxyQtDesktop::create): 31119 311202011-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org> 31121 31122 [Qt] Make the kinetic engine use the same curve and constants as on the N9 31123 https://bugs.webkit.org/show_bug.cgi?id=71102 31124 31125 Reviewed by Simon Hausmann. 31126 31127 Now that we are using the QScroller for kinetic scrolling and page 31128 interaction, we need to make sure it uses the same curve (exponential) 31129 and the same values as the MeeGo Touch physics engine used on the N9. 31130 31131 * UIProcess/qt/QtViewportInteractionEngine.cpp: 31132 (WebKit::QtViewportInteractionEngine::reset): 31133 311342011-10-28 Carlos Garcia Campos <cgarcia@igalia.com> 31135 31136 [GTK] Add webkit_web_view_get_uri() to WebKit2 GTK+ API 31137 https://bugs.webkit.org/show_bug.cgi?id=70814 31138 31139 Reviewed by Gustavo Noronha Silva. 31140 31141 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 31142 (didStartProvisionalLoadForFrame): Update WebView URI to make sure 31143 it's updated to provisional URL. 31144 (didReceiveServerRedirectForProvisionalLoadForFrame): Update 31145 WebView URI if there's a server redirection. 31146 (didCommitLoadForFrame): Update WebView URI to make sure it 31147 contains the final one. 31148 (didSameDocumentNavigationForFrame): Update WebView URI when a 31149 navigation action within the same document is performed. 31150 (webkitWebLoaderClientAttachLoaderClientToPage): Add 31151 implementation for didSameDocumentNavigationForFrame callback. 31152 * UIProcess/API/gtk/WebKitWebView.cpp: 31153 (webkit_web_view_class_init): Add URI property. 31154 (webkitWebViewUpdateURI): Check whether current active URI has 31155 changed to updated it and emit ::notify signal if it changes. 31156 (webkit_web_view_load_uri): Call webkitWebViewUpdateURI() to make 31157 sure the active URI is updated when load operation is started. 31158 (webkit_web_view_load_alternate_html): Ditto. 31159 (webkit_web_view_reload): Ditto. 31160 (webkit_web_view_reload_bypass_cache): Ditto. 31161 (webkit_web_view_go_back): Ditto. 31162 (webkit_web_view_go_forward): Ditto. 31163 (webkit_web_view_get_uri): Ditto. 31164 (webkit_web_view_go_to_back_forward_list_item): Ditto. 31165 * UIProcess/API/gtk/WebKitWebView.h: 31166 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add 31167 webkitWebViewUpdateURI(). 31168 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 31169 (provisionalLoadStartedCallback): Check provisional URL is the 31170 requested URI. 31171 (provisionalLoadReceivedServerRedirectCallback): Check provisional 31172 URL after server redirection is the expected redirected URI. 31173 (provisionalLoadFailedCallback): Check active URI. 31174 (loadCommittedCallback): Ditto. 31175 (loadFinishedCallback): Ditto. 31176 (loadFailedCallback): Ditto 31177 (LoadTrackingTest::LoadTrackingTest): Check active URI is NULL 31178 before any loading operation has started. 31179 * UIProcess/API/gtk/tests/LoadTrackingTest.h: 31180 (LoadTrackingTest::setRedirectURI): Set the redirect URI to check 31181 it after a server redirection. 31182 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: 31183 (testBackForwardListNavigation): Use WebViewTest methods for 31184 navigation actions instead of using WebKitWebView API directly. 31185 (testBackForwardListLimitAndCache): Ditto. 31186 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 31187 (testLoadingStatus): Ditto. 31188 (testLoadingError): Ditto. 31189 (testLoadAlternateContent): Ditto. 31190 (testLoadCancelled): Ditto. 31191 (testWebViewReload): Ditto. 31192 (testLoadProgress): Ditto. 31193 (testWebViewActiveURI): Add a test to check that notify signal is 31194 emitted when active URI changes and it's correctly updated when 31195 loader client signals are emitted. 31196 (beforeAll): Add active-uri test. 31197 * UIProcess/API/gtk/tests/WebViewTest.cpp: Add custom load methods 31198 wrapping the WebKitWebView ones, to initialize the active URI to 31199 the requested one, so that it can be checked by the loader client 31200 test. 31201 (WebViewTest::loadURI): 31202 (WebViewTest::loadAlternateHTML): 31203 (WebViewTest::goBack): 31204 (WebViewTest::goForward): 31205 (WebViewTest::goToBackForwardListItem): 31206 * UIProcess/API/gtk/tests/WebViewTest.h: 31207 312082011-10-21 No'am Rosenthal <noam.rosenthal@nokia.com> 31209 31210 [Qt][WK2] Synchronize tiling with accelerated compositing 31211 https://bugs.webkit.org/show_bug.cgi?id=69151 31212 31213 Reviewed by Simon Hausmann. 31214 31215 Make QTouchWebView always render with accelerated compositing. 31216 At first, the web content would only render after the rest of the scene has rendered. In a 31217 future patch we'll enable rendering the web content via an FBO, which would cover all other 31218 cases as well. 31219 31220 Right now this only works for QTouchWebView, and thus accelerated compositing is disabled 31221 for desktop web-views. This required adding some settings enablers in Q 31222 WebPreferencesPrivate. Those are not exposed to the public API, as they are an implementation 31223 detail. 31224 31225 * UIProcess/API/qt/qtouchwebpage.cpp: 31226 (QTouchWebPage::QTouchWebPage): 31227 (QTouchWebPage::initSceneGraphConnections): 31228 (QTouchWebPagePrivate::QTouchWebPagePrivate): 31229 (QTouchWebPagePrivate::setPage): 31230 (computeEffectiveOpacity): 31231 (QTouchWebPagePrivate::paintToCurrentGLContext): 31232 (QTouchWebPagePrivate::_q_onAfterSceneRender): 31233 (QTouchWebPagePrivate::_q_onSceneGraphInitialized): 31234 (QTouchWebPage::itemChange): 31235 * UIProcess/API/qt/qtouchwebpage.h: 31236 * UIProcess/API/qt/qtouchwebpage_p.h: 31237 * UIProcess/API/qt/qwebpreferences.cpp: 31238 (QWebPreferencesPrivate::testAttribute): 31239 (QWebPreferencesPrivate::setAttribute): 31240 (QWebPreferencesPrivate::get): 31241 * UIProcess/API/qt/qwebpreferences_p.h: 31242 * UIProcess/TiledDrawingAreaProxy.cpp: 31243 (WebKit::TiledDrawingAreaProxy::renderNextFrame): 31244 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 31245 (QtDesktopWebPageProxy::QtDesktopWebPageProxy): 31246 * UIProcess/qt/QtTouchViewInterface.cpp: 31247 (WebKit::QtTouchViewInterface::setViewNeedsDisplay): 31248 * UIProcess/qt/QtTouchWebPageProxy.cpp: 31249 (QtTouchWebPageProxy::QtTouchWebPageProxy): 31250 (QtTouchWebPageProxy::createDrawingAreaProxy): 31251 (QtTouchWebPageProxy::renderToCurrentGLContext): 31252 (QtTouchWebPageProxy::setVisibleContentRectAndScale): 31253 (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector): 31254 (QtTouchWebPageProxy::renderNextFrame): 31255 * UIProcess/qt/QtTouchWebPageProxy.h: 31256 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 31257 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 31258 * WebProcess/WebPage/qt/WebPageQt.cpp: 31259 (WebKit::WebPage::platformInitialize): 31260 * WebProcess/qt/WebProcessMainQt.cpp: 31261 (WebKit::WebProcessMainQt): 31262 312632011-10-27 Martin Robinson <mrobinson@igalia.com> 31264 31265 Fix the GTK+ build after r98664. 31266 31267 * WebProcess/Plugins/Plugin.h: Add an IntSize forward declaration. 31268 312692011-10-27 Anders Carlsson <andersca@apple.com> 31270 31271 Add a Plugin::geometryDidChange that will work with transforms 31272 https://bugs.webkit.org/show_bug.cgi?id=71072 31273 31274 Reviewed by Simon Fraser. 31275 31276 Add a new Plugin::geometryDidChange pure virtual member function, that takes 31277 the size of the plug-in, the clip rect (in plug-in coordinates), and a matrix that makes 31278 it possible to convert between root view coordinates and plug-in coordinates. 31279 31280 PluginView only calls this new geometryDidChange member function if 31281 Plugin::wantsWindowRelativeCoordinates returns false, which is only true for BuiltInPDFView right now. 31282 31283 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 31284 (WebKit::NetscapePlugin::geometryDidChange): 31285 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 31286 Add stub. 31287 31288 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 31289 (WebKit::BuiltInPDFView::updateScrollbars): 31290 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): 31291 (WebKit::BuiltInPDFView::paintContent): 31292 (WebKit::BuiltInPDFView::deprecatedGeometryDidChange): 31293 (WebKit::BuiltInPDFView::geometryDidChange): 31294 (WebKit::BuiltInPDFView::setScrollOffset): 31295 (WebKit::BuiltInPDFView::maximumScrollPosition): 31296 (WebKit::BuiltInPDFView::visibleHeight): 31297 (WebKit::BuiltInPDFView::visibleWidth): 31298 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 31299 There's no need to keep track of the plug-in rect anymore. 31300 31301 * WebProcess/Plugins/Plugin.h: 31302 Add and document geometryDidChange. 31303 31304 * WebProcess/Plugins/PluginProxy.cpp: 31305 (WebKit::PluginProxy::geometryDidChange): 31306 * WebProcess/Plugins/PluginProxy.h: 31307 Add stub. 31308 31309 * WebProcess/Plugins/PluginView.cpp: 31310 (WebKit::PluginView::viewGeometryDidChange): 31311 Call geometryDidChange. 31312 313132011-10-27 Joseph Pecoraro <pecoraro@apple.com> 31314 31315 Reviewed by David Kilzer. 31316 31317 Make FeatureDefines Identical Across OS X Projects 31318 https://bugs.webkit.org/show_bug.cgi?id=71051 31319 31320 * Configurations/FeatureDefines.xcconfig: 31321 313222011-10-27 Anders Carlsson <andersca@apple.com> 31323 31324 Rename Plugin::geometryDidChange to Plugin::deprecatedGeometryDidChange 31325 https://bugs.webkit.org/show_bug.cgi?id=71065 31326 31327 Reviewed by Simon Fraser. 31328 31329 In preparation for adding a version of geometryDidChange that doesn't take window coordinates. 31330 31331 * PluginProcess/PluginControllerProxy.cpp: 31332 (WebKit::PluginControllerProxy::geometryDidChange): 31333 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 31334 (WebKit::NetscapePlugin::deprecatedGeometryDidChange): 31335 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 31336 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 31337 (WebKit::BuiltInPDFView::deprecatedGeometryDidChange): 31338 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 31339 * WebProcess/Plugins/Plugin.h: 31340 * WebProcess/Plugins/PluginProxy.cpp: 31341 (WebKit::PluginProxy::deprecatedGeometryDidChange): 31342 * WebProcess/Plugins/PluginProxy.h: 31343 * WebProcess/Plugins/PluginView.cpp: 31344 (WebKit::PluginView::viewGeometryDidChange): 31345 313462011-10-27 Michael Saboff <msaboff@apple.com> 31347 31348 Investigate storing strings in 8-bit buffers when possible 31349 https://bugs.webkit.org/show_bug.cgi?id=66161 31350 31351 Added export of StringImpl::getData16SlowCase for linking tests. 31352 31353 Reviewed by Geoffrey Garen. 31354 31355 * win/WebKit2.def: 31356 313572011-10-27 Sam Weinig <sam@webkit.org> 31358 31359 Add allowsPlugIns property to WKBrowsingContextGroup 31360 https://bugs.webkit.org/show_bug.cgi?id=70987 31361 31362 Reviewed by Anders Carlsson. 31363 31364 Test: WKBrowsingContextGroupTest.GetSetPluginsEnabled 31365 31366 * UIProcess/API/mac/WKBrowsingContextGroup.h: 31367 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 31368 (-[WKBrowsingContextGroup allowsJavaScript]): 31369 (-[WKBrowsingContextGroup setAllowsJavaScript:]): 31370 Rename to allowsJavaScript/setAllowsJavaScript. 31371 31372 (-[WKBrowsingContextGroup allowsPlugIns]): 31373 (-[WKBrowsingContextGroup setAllowsPlugIns:]): 31374 Add allowsPlugIns/setAllowsPlugIns. 31375 313762011-10-27 Carlos Garcia Campos <cgarcia@igalia.com> 31377 31378 [Cairo] Implement ShareableBitmap::paint() when scaleFactor=1 31379 https://bugs.webkit.org/show_bug.cgi?id=71027 31380 31381 Reviewed by Martin Robinson. 31382 31383 Fixes windowless plugins in GTK+ port. 31384 31385 * Shared/cairo/ShareableBitmapCairo.cpp: 31386 (WebKit::ShareableBitmap::paint): When scaleFactor is 1, simply 31387 call the paint method that doesn't receive a scaleFactor. 31388 313892011-10-27 Sheriff Bot <webkit.review.bot@gmail.com> 31390 31391 Unreviewed, rolling out r98556. 31392 http://trac.webkit.org/changeset/98556 31393 https://bugs.webkit.org/show_bug.cgi?id=71031 31394 31395 The test added by the patch doesn't pass on Snow Leopard 31396 (Requested by rniwa on #webkit). 31397 31398 * win/WebKit2.def: 31399 * win/WebKit2CFLite.def: 31400 314012011-10-27 Mark Hahnenberg <mhahnenberg@apple.com> 31402 31403 De-virtualize JSCell::toThisObject 31404 https://bugs.webkit.org/show_bug.cgi?id=70958 31405 31406 Reviewed by Geoffrey Garen. 31407 31408 Converted all instances of toThisObject to static functions, 31409 added toThisObject to the MethodTable, and replaced all call sites 31410 with a corresponding lookup in the MethodTable. 31411 31412 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 31413 (WebKit::NPJSObject::invoke): 31414 314152011-10-27 Adam Roben <aroben@apple.com> 31416 31417 Add WKBundlePageGetBackingScaleFactor 31418 31419 Fixes <http://webkit.org/b/71025> <rdar://problem/10355037> REGRESSION (r97191): Clients 31420 can't reliably determine the scale factor of snapshots returned via 31421 WKBundlePageCreateSnapshot* API 31422 31423 Reviewed by Sam Weinig. 31424 31425 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 31426 (WKBundlePageGetBackingScaleFactor): 31427 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 31428 Added. Calls through to WebPage::deviceScaleFactor. 31429 31430 * WebProcess/WebPage/WebPage.cpp: 31431 (WebKit::WebPage::deviceScaleFactor): 31432 * WebProcess/WebPage/WebPage.h: 31433 Added. Calls through to Page::deviceScaleFactor. 31434 314352011-10-27 Zalan Bujtas <zbujtas@gmail.com> 31436 31437 [Qt][WK2]Add setViewportSize API to WebKit2. 31438 https://bugs.webkit.org/show_bug.cgi?id=71006 31439 31440 Reviewed by Kenneth Rohde Christiansen. 31441 31442 Fixed layout rendering needs the viewport size information on the WebProcess 31443 side to be able to do viewport attribute calculations. 31444 31445 * WebProcess/WebPage/WebPage.cpp: 31446 (WebKit::WebPage::setViewportSize): 31447 * WebProcess/WebPage/WebPage.h: 31448 (WebKit::WebPage::viewportSize): 31449 * WebProcess/WebPage/WebPage.messages.in: 31450 314512011-10-27 Alexis Menard <alexis.menard@openbossa.org> 31452 31453 [Qt][WK2] Move the C API callback setup out of QtWebPageProxy 31454 https://bugs.webkit.org/show_bug.cgi?id=70965 31455 31456 Reviewed by Andreas Kling. 31457 31458 Move out the setup of C API callback into ClientImpl file 31459 so that QtWebPageProxy will be less polluted. 31460 31461 * UIProcess/qt/ClientImpl.cpp: 31462 (qt_wk_didStartProvisionalLoadForFrame): 31463 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 31464 (qt_wk_didCommitLoadForFrame): 31465 (qt_wk_didFinishLoadForFrame): 31466 (qt_wk_didFailLoadWithErrorForFrame): 31467 (qt_wk_didSameDocumentNavigationForFrame): 31468 (qt_wk_didReceiveTitleForFrame): 31469 (qt_wk_didStartProgress): 31470 (qt_wk_didChangeProgress): 31471 (qt_wk_didFinishProgress): 31472 (qt_wk_runJavaScriptAlert): 31473 (qt_wk_runJavaScriptConfirm): 31474 (qt_wk_runJavaScriptPrompt): 31475 (qt_wk_setStatusText): 31476 (qt_wk_runOpenPanel): 31477 (qt_wk_mouseDidMoveOverElement): 31478 (qt_wk_decidePolicyForNavigationAction): 31479 (qt_wk_decidePolicyForResponse): 31480 (setupPageLoaderClient): 31481 (setupPageUiClient): 31482 (setupPagePolicyClient): 31483 * UIProcess/qt/ClientImpl.h: 31484 * UIProcess/qt/QtWebPageProxy.cpp: 31485 (QtWebPageProxy::init): 31486 * UIProcess/qt/QtWebPageProxy.h: 31487 (QtWebPageProxy::viewInterface): 31488 314892011-10-27 Zeno Albisser <zeno.albisser@nokia.com> 31490 31491 [Qt][WK2] Remove QAction from MiniBrowser 31492 https://bugs.webkit.org/show_bug.cgi?id=70525 31493 31494 This fixes the commonview tests that were failing 31495 after r98447. 31496 WebViewAbstraction must forward actions to both 31497 the TouchWebView and the DesktopWebView. 31498 31499 Reviewed by Kenneth Rohde Christiansen. 31500 31501 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 31502 (WebViewAbstraction::goBack): 31503 (WebViewAbstraction::goForward): 31504 (WebViewAbstraction::stop): 31505 (WebViewAbstraction::reload): 31506 315072011-10-27 Zalan Bujtas <zbujtas@gmail.com> 31508 31509 [Qt][WK2]Content size changed event does not require viewport attribute calculation. 31510 https://bugs.webkit.org/show_bug.cgi?id=70920 31511 31512 Reviewed by Kenneth Rohde Christiansen. 31513 31514 Remove unnecessary recalculation of viewport attributes. 31515 31516 * UIProcess/qt/QtTouchViewInterface.cpp: 31517 (WebKit::QtTouchViewInterface::contentSizeChanged): 31518 315192011-10-27 Shinya Kawanaka <shinyak@google.com> 31520 31521 Implement legacy text check emulation in unified text check interface. 31522 https://bugs.webkit.org/show_bug.cgi?id=70299 31523 31524 Reviewed by Hajime Morita. 31525 31526 * win/WebKit2.def: 31527 * win/WebKit2CFLite.def: 31528 315292011-10-27 Philippe Normand <pnormand@igalia.com> 31530 31531 [GStreamer] WebAudio AudioFileReader implementation 31532 https://bugs.webkit.org/show_bug.cgi?id=69834 31533 31534 Reviewed by Martin Robinson. 31535 31536 * GNUmakefile.am: Link against libfftw. 31537 315382011-10-26 Alexey Proskuryakov <ap@apple.com> 31539 31540 REGRESSION (r98153): Safari crashes if WebProcess crashed during printing 31541 https://bugs.webkit.org/show_bug.cgi?id=70982 31542 31543 Reviewed by Dan Bernstein. 31544 31545 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 31546 Null check page, it may be invalid already. 31547 315482011-10-26 Jeff Miller <jeffm@apple.com> 31549 31550 WebKit2 should respect secret WebKitOmitPDFSupport preference on the Mac 31551 https://bugs.webkit.org/show_bug.cgi?id=70943 31552 31553 If WebKitOmitPDFSupport pref is set, disable both the new "plug-in" for subframes and the PDFKit-based support for the main frame only. 31554 31555 Reviewed by Alexey Proskuryakov. 31556 31557 * UIProcess/WebContext.cpp: 31558 (WebKit::WebContext::getPlugins): Don't register built-in PDF plugin if WebKitOmitPDFSupport pref is set. 31559 31560 * UIProcess/WebContext.h: Added omitPDFSupport(). 31561 31562 * UIProcess/WebFrameProxy.cpp: 31563 (WebKit::WebFrameProxy::canShowMIMEType): Don't show PDFs if WebKitOmitPDFSupport is set. 31564 31565 * UIProcess/mac/WebContextMac.mm: 31566 (WebKit::WebContext::omitPDFSupport): Added. 31567 315682011-10-26 Sam Weinig <sam@webkit.org> 31569 31570 Add initial setting to WKBrowsingContextGroup 31571 https://bugs.webkit.org/show_bug.cgi?id=70942 31572 31573 Reviewed by Anders Carlsson. 31574 31575 Test: WKBrowsingContextGroupTest. 31576 31577 * UIProcess/API/mac/WKBrowsingContextGroup.h: 31578 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 31579 (-[WKBrowsingContextGroup isJavaScriptEnabled]): 31580 (-[WKBrowsingContextGroup setJavaScriptEnabled:]): 31581 Add setting to enabled/disable javascript. By default it is enabled. 31582 315832011-10-25 Alexey Proskuryakov <ap@apple.com> 31584 31585 Embedded PDFs should be known to DocumentLoader 31586 https://bugs.webkit.org/show_bug.cgi?id=70864 31587 31588 Reviewed by Darin Adler. 31589 31590 * WebProcess/Plugins/Plugin.h: Plugin stream load notifications now contain a suggested 31591 file name, in case the plug-in wants to save the file properly. 31592 31593 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 31594 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 31595 (WebKit::BuiltInPDFView::addArchiveResource): Add the PDF as resource in DocumentLoader. 31596 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Call addArchiveResource. 31597 (WebKit::BuiltInPDFView::initialize): We need to remember source URL to create a resource 31598 for that. The URL needs to match one in HitTestResult, so we can't use response URL. 31599 (WebKit::BuiltInPDFView::streamDidReceiveResponse): Remember suggested file name, so 31600 that we could put it in archive resource later. 31601 (WebKit::BuiltInPDFView::manualStreamDidReceiveResponse): Ditto. 31602 31603 * PluginProcess/PluginControllerProxy.cpp: 31604 (WebKit::PluginControllerProxy::streamDidReceiveResponse): 31605 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse): 31606 Pass an empty string for suggested file name. No plug-in that runs in a separate process 31607 cares about it, so it's not sent to the plugin process. 31608 31609 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 31610 (WebKit::NetscapePlugin::streamDidReceiveResponse): 31611 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse): 31612 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 31613 Updated for new signatures. 31614 31615 * WebProcess/Plugins/PluginProxy.cpp: 31616 (WebKit::PluginProxy::streamDidReceiveResponse): 31617 (WebKit::PluginProxy::manualStreamDidReceiveResponse): 31618 * WebProcess/Plugins/PluginProxy.h: 31619 Updated for new signatures. 31620 31621 * WebProcess/Plugins/PluginView.cpp: 31622 (WebKit::PluginView::Stream::didReceiveResponse): 31623 (WebKit::PluginView::manualLoadDidReceiveResponse): 31624 Pass suggested file name to plug-in, in case the plug-in wants to save the file properly. 31625 316262011-10-26 Mark Hahnenberg <mhahnenberg@apple.com> 31627 31628 Remove getOwnPropertySlotVirtual 31629 https://bugs.webkit.org/show_bug.cgi?id=70741 31630 31631 Reviewed by Geoffrey Garen. 31632 31633 Removed all declarations and definitions of getOwnPropertySlotVirtual. 31634 Also replaced all call sites to getOwnPropertyVirtualVirtual with a 31635 corresponding lookup in the MethodTable. 31636 31637 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 31638 * WebProcess/Plugins/Netscape/JSNPObject.h: 31639 316402011-10-26 Alejandro G. Castro <alex@igalia.com> 31641 31642 [GTK] [WK2] Add WebKit2 distcheck support 31643 https://bugs.webkit.org/show_bug.cgi?id=70933 31644 31645 Reviewed by Martin Robinson. 31646 31647 * GNUmakefile.am: Add a bunch of missing files from API and 31648 sources, also include more files in the EXTRA_DIST. 31649 * UIProcess/API/gtk/docs/GNUmakefile.am: Add the version.xml to 31650 the cleaning section. 31651 316522011-10-26 Carlos Garcia Campos <cgarcia@igalia.com> 31653 31654 [GTK] Fix gtk-doc warnings and style issues in WebKit2 GTK+ API 31655 https://bugs.webkit.org/show_bug.cgi?id=70930 31656 31657 Reviewed by Martin Robinson. 31658 31659 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: 31660 * UIProcess/API/gtk/WebKitSettings.cpp: 31661 (webkit_settings_class_init): 31662 * UIProcess/API/gtk/WebKitWebView.h: 31663 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 31664 316652011-10-26 Anders Carlsson <andersca@apple.com> 31666 31667 Use the right contents scale factor for non-Mac plug-ins 31668 https://bugs.webkit.org/show_bug.cgi?id=70939 31669 31670 Reviewed by Adam Roben. 31671 31672 * WebProcess/Plugins/PluginProxy.cpp: 31673 (WebKit::PluginProxy::paint): 31674 (WebKit::PluginProxy::geometryDidChange): 31675 (WebKit::PluginProxy::update): 31676 316772011-10-26 Carlos Garcia Campos <cgarcia@igalia.com> 31678 31679 [GTK] Add missing symbols to WebKit2 gtk-doc files 31680 https://bugs.webkit.org/show_bug.cgi?id=70927 31681 31682 Reviewed by Martin Robinson. 31683 31684 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for 31685 WebKitBackForwardList, WebKitBackForwardListItem and WebKitSettings. 31686 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add missing symbols. 31687 * UIProcess/API/gtk/docs/webkit2gtk.types: Add missing types. 31688 316892011-10-26 Carlos Garcia Campos <cgarcia@igalia.com> 31690 31691 [GTK] Inconsistent name of WebKitSettings macros 31692 https://bugs.webkit.org/show_bug.cgi?id=70924 31693 31694 Reviewed by Martin Robinson. 31695 31696 Rename WEBKIT_TYPE_WEB_SETTINGS as WEBKIT_TYPE_SETTINGS and 31697 WEBKIT_IS_WEB_SETTINGS as WEBKIT_IS_SETTINGS. 31698 31699 * UIProcess/API/gtk/WebKitSettings.cpp: 31700 (webkit_settings_init): 31701 (webkit_settings_new): 31702 (webkit_settings_get_enable_javascript): 31703 (webkit_settings_set_enable_javascript): 31704 (webkit_settings_get_auto_load_images): 31705 (webkit_settings_set_auto_load_images): 31706 (webkit_settings_get_load_icons_ignoring_image_load_setting): 31707 (webkit_settings_set_load_icons_ignoring_image_load_setting): 31708 (webkit_settings_get_enable_offline_web_application_cache): 31709 (webkit_settings_set_enable_offline_web_application_cache): 31710 (webkit_settings_get_enable_html5_local_storage): 31711 (webkit_settings_set_enable_html5_local_storage): 31712 (webkit_settings_get_enable_html5_database): 31713 (webkit_settings_set_enable_html5_database): 31714 (webkit_settings_get_enable_xss_auditor): 31715 (webkit_settings_set_enable_xss_auditor): 31716 (webkit_settings_get_enable_frame_flattening): 31717 (webkit_settings_set_enable_frame_flattening): 31718 (webkit_settings_get_enable_plugins): 31719 (webkit_settings_set_enable_plugins): 31720 (webkit_settings_get_enable_java): 31721 (webkit_settings_set_enable_java): 31722 (webkit_settings_get_javascript_can_open_windows_automatically): 31723 (webkit_settings_set_javascript_can_open_windows_automatically): 31724 (webkit_settings_get_enable_hyperlink_auditing): 31725 (webkit_settings_set_enable_hyperlink_auditing): 31726 * UIProcess/API/gtk/WebKitSettings.h: 31727 317282011-10-26 Andras Becsi <andras.becsi@nokia.com> 31729 31730 [Qt][WK2] Rename clean-up of QtPinchGestureRecognizer and QtViewportInteractionEngine 31731 https://bugs.webkit.org/show_bug.cgi?id=70903 31732 31733 Reviewed by Kenneth Rohde Christiansen. 31734 31735 Rename computeTouchCenter to computePinchCenter, 31736 and use the plural form of coordinate where appropriate. 31737 31738 * UIProcess/API/qt/qtouchwebview.cpp: 31739 (QTouchWebViewPrivate::_q_viewportUpdated): 31740 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 31741 (WebKit::computePinchCenter): 31742 (WebKit::QtPinchGestureRecognizer::recognize): 31743 * UIProcess/qt/QtViewportInteractionEngine.cpp: 31744 (WebKit::contentRectInViewportCoordinates): 31745 (WebKit::QtViewportInteractionEngine::event): 31746 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 31747 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 31748 (WebKit::QtViewportInteractionEngine::scaleContent): 31749 * UIProcess/qt/QtViewportInteractionEngine.h: 31750 317512011-10-26 Zalan Bujtas <zbujtas@gmail.com> 31752 31753 Name viewport change event consistently. 31754 https://bugs.webkit.org/show_bug.cgi?id=70901 31755 31756 Reviewed by Kenneth Rohde Christiansen. 31757 31758 Use ViewportPropertiesDidChange term consistently throughout WebKit. 31759 31760 * UIProcess/API/efl/PageClientImpl.cpp: 31761 (WebKit::PageClientImpl::didChangeViewportProperties): 31762 * UIProcess/API/efl/PageClientImpl.h: 31763 * UIProcess/API/gtk/PageClientImpl.cpp: 31764 (WebKit::PageClientImpl::didChangeViewportProperties): 31765 * UIProcess/API/gtk/PageClientImpl.h: 31766 * UIProcess/API/mac/PageClientImpl.h: 31767 * UIProcess/API/mac/PageClientImpl.mm: 31768 (WebKit::PageClientImpl::didChangeViewportProperties): 31769 * UIProcess/API/qt/qdesktopwebview.cpp: 31770 (QDesktopWebViewPrivate::didChangeViewportProperties): 31771 * UIProcess/API/qt/qdesktopwebview_p.h: 31772 * UIProcess/API/qt/qtouchwebview.cpp: 31773 (QTouchWebViewPrivate::didChangeViewportProperties): 31774 * UIProcess/API/qt/qtouchwebview_p.h: 31775 * UIProcess/PageClient.h: 31776 * UIProcess/WebPageProxy.cpp: 31777 (WebKit::WebPageProxy::didChangeViewportProperties): 31778 * UIProcess/WebPageProxy.h: 31779 * UIProcess/WebPageProxy.messages.in: 31780 * UIProcess/qt/QtDesktopWebPageProxy.cpp: 31781 (QtDesktopWebPageProxy::didChangeViewportProperties): 31782 * UIProcess/qt/QtDesktopWebPageProxy.h: 31783 * UIProcess/qt/QtTouchViewInterface.cpp: 31784 (WebKit::QtTouchViewInterface::didChangeViewportProperties): 31785 * UIProcess/qt/QtTouchViewInterface.h: 31786 * UIProcess/qt/QtViewInterface.h: 31787 * UIProcess/qt/QtWebPageProxy.cpp: 31788 (QtWebPageProxy::didChangeViewportProperties): 31789 * UIProcess/qt/QtWebPageProxy.h: 31790 * UIProcess/win/WebView.cpp: 31791 (WebKit::WebView::didChangeViewportProperties): 31792 * UIProcess/win/WebView.h: 31793 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 31794 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 31795 * WebProcess/WebCoreSupport/WebChromeClient.h: 31796 317972011-10-26 Carlos Garcia Campos <cgarcia@igalia.com> 31798 31799 [GTK] Remove g_thread_init() calls from gtk-doc scanner too 31800 https://bugs.webkit.org/show_bug.cgi?id=70908 31801 31802 Reviewed by Gustavo Noronha Silva. 31803 31804 * UIProcess/API/gtk/docs/GNUmakefile.am: 31805 318062011-10-25 Andras Becsi <andras.becsi@nokia.com> 31807 31808 [Qt][WK2] Add the animations on the ViewportInteractionEngine 31809 https://bugs.webkit.org/show_bug.cgi?id=66664 31810 31811 Reviewed by Kenneth Rohde Christiansen. 31812 31813 Introduce a QScroller based panning and a QVariantAnimation based scale animation. 31814 QScroller also handles flick gestures and animates overshoot. 31815 If a pinch gesture ends, the scale animation will scale and reposition the content 31816 such that it is within valid boundaries. The content is by default animated such 31817 that the content position as seen in the center of the visible viewport stays 31818 in the center, unless the content would be out of valid bounds. 31819 The patch also simplifies the ViewportUpdateGuard by using reference counting 31820 instead of a boolean for defering update requests. 31821 31822 * UIProcess/qt/QtPanGestureRecognizer.cpp: 31823 (WebKit::QtPanGestureRecognizer::recognize): 31824 * UIProcess/qt/QtPanGestureRecognizer.h: 31825 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 31826 (WebKit::QtPinchGestureRecognizer::recognize): 31827 * UIProcess/qt/QtTouchWebPageProxy.cpp: 31828 (QtTouchWebPageProxy::doneWithTouchEvent): 31829 * UIProcess/qt/QtViewportInteractionEngine.cpp: 31830 (WebKit::bindToScaleLimits): 31831 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard): 31832 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard): 31833 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 31834 (WebKit::QtViewportInteractionEngine::innerBoundedScale): 31835 (WebKit::QtViewportInteractionEngine::outerBoundedScale): 31836 (WebKit::QtViewportInteractionEngine::updateVisibleRect): 31837 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged): 31838 (WebKit::QtViewportInteractionEngine::event): 31839 (WebKit::QtViewportInteractionEngine::stopAnimations): 31840 (WebKit::QtViewportInteractionEngine::calculateBoundariesForScale): 31841 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 31842 (WebKit::QtViewportInteractionEngine::reset): 31843 (WebKit::QtViewportInteractionEngine::setConstraints): 31844 (WebKit::QtViewportInteractionEngine::panGestureStarted): 31845 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 31846 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 31847 (WebKit::QtViewportInteractionEngine::panGestureEnded): 31848 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 31849 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 31850 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 31851 (WebKit::QtViewportInteractionEngine::contentViewportChanged): 31852 * UIProcess/qt/QtViewportInteractionEngine.h: 31853 (WebKit::QtViewportInteractionEngine::scroller): 31854 (WebKit::QtViewportInteractionEngine::ScaleAnimation::ScaleAnimation): 31855 (WebKit::QtViewportInteractionEngine::ScaleAnimation::updateCurrentValue): 31856 318572011-10-26 Zeno Albisser <zeno.albisser@nokia.com> 31858 31859 [Qt][WK2] Rewrite MiniBrowser in QML 31860 https://bugs.webkit.org/show_bug.cgi?id=70315 31861 31862 Add the first QML based implementation of MiniBrowser. 31863 31864 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, 31865 Zeno Albisser <zeno.albisser@nokia.com> 31866 31867 Reviewed by Tor Arne Vestbø. 31868 31869 * UIProcess/API/qt/qdesktopwebview.cpp: 31870 (QDesktopWebView::mousePressEvent): 31871 31872 2011-10-20 Zeno Albisser <zeno.albisser@nokia.com> 31873 31874 [Qt][WK2] Disable Context Menus until we have a proper QML implementation 31875 https://bugs.webkit.org/show_bug.cgi?id=70537 31876 31877 This is just a temporary fix to avoid crashes in QtGui based 31878 MiniBrowser that does not link to QtWidgets. 31879 31880 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, 31881 Zeno Albisser <zeno.albisser@nokia.com> 31882 31883 Reviewed by Simon Hausmann. 31884 31885 * UIProcess/qt/WebContextMenuProxyQt.cpp: 31886 (WebKit::WebContextMenuProxyQt::showContextMenu): 31887 (WebKit::WebContextMenuProxyQt::createContextMenu): 31888 318892011-10-25 Zeno Albisser <zeno.albisser@nokia.com> 31890 31891 [Qt][WK2] Remove QAction from MiniBrowser 31892 https://bugs.webkit.org/show_bug.cgi?id=70525 31893 31894 In order to rewrite MiniBrowser in QML we need a suitable 31895 mechanism for triggering navigation actions. 31896 Due to the QtWidgets dependency of QAction the current 31897 solution is not suitable anymore. Therefore we introduce 31898 invokable methods and export properties in QWebNavigationController. 31899 31900 Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, 31901 Zeno Albisser <zeno.albisser@nokia.com> 31902 31903 Reviewed by Simon Hausmann. 31904 31905 * UIProcess/API/qt/WKView.h: 31906 * UIProcess/API/qt/qdesktopwebview.h: 31907 * UIProcess/API/qt/qtouchwebpage.h: 31908 * UIProcess/API/qt/qwebkittypes.h: Removed. 31909 * UIProcess/API/qt/qwebnavigationcontroller.cpp: 31910 (QWebNavigationController::QWebNavigationController): 31911 (QWebNavigationController::canGoBack): 31912 (QWebNavigationController::canGoForward): 31913 (QWebNavigationController::canStop): 31914 (QWebNavigationController::canReload): 31915 (QWebNavigationController::goBack): 31916 (QWebNavigationController::goForward): 31917 (QWebNavigationController::stop): 31918 (QWebNavigationController::reload): 31919 * UIProcess/API/qt/qwebnavigationcontroller.h: 31920 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 31921 (tst_CommonViewTests::backAndForward): 31922 (tst_CommonViewTests::reload): 31923 (tst_CommonViewTests::stop): 31924 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 31925 (WebViewAbstraction::goBack): 31926 (WebViewAbstraction::goForward): 31927 (WebViewAbstraction::stop): 31928 (WebViewAbstraction::reload): 31929 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 31930 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 31931 (tst_QDesktopWebView::navigationStatusAtStartup): 31932 (LoadStartedCatcher::onLoadStarted): 31933 (tst_QDesktopWebView::stopEnabledAfterLoadStarted): 31934 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 31935 (tst_QTouchWebView::navigationStatusAtStartup): 31936 * UIProcess/qt/ClientImpl.cpp: 31937 (dispatchLoadSucceeded): 31938 (dispatchLoadFailed): 31939 (qt_wk_didStartProvisionalLoadForFrame): 31940 (qt_wk_didCommitLoadForFrame): 31941 (qt_wk_didSameDocumentNavigationForFrame): 31942 * UIProcess/qt/QtWebPageProxy.cpp: 31943 (QtWebPageProxy::QtWebPageProxy): 31944 (QtWebPageProxy::canGoBack): 31945 (QtWebPageProxy::goBack): 31946 (QtWebPageProxy::canGoForward): 31947 (QtWebPageProxy::goForward): 31948 (QtWebPageProxy::canStop): 31949 (QtWebPageProxy::stop): 31950 (QtWebPageProxy::canReload): 31951 (QtWebPageProxy::reload): 31952 (QtWebPageProxy::navigationStateChanged): 31953 (QtWebPageProxy::didRelaunchProcess): 31954 (QtWebPageProxy::processDidCrash): 31955 * UIProcess/qt/QtWebPageProxy.h: 31956 * WebKit2API.pri: 31957 319582011-10-26 Ryosuke Niwa <rniwa@webkit.org> 31959 31960 Another GTK build fix attempt after r98413 and r98416. 31961 31962 * WebProcess/Plugins/PluginProxy.cpp: 31963 (WebKit::PluginProxy::paint): 31964 (WebKit::PluginProxy::geometryDidChange): 31965 (WebKit::PluginProxy::update): 31966 319672011-10-25 Ryosuke Niwa <rniwa@webkit.org> 31968 31969 C/C++ needs ; after each statement. 31970 31971 * PluginProcess/PluginControllerProxy.cpp: 31972 (WebKit::PluginControllerProxy::geometryDidChange): 31973 319742011-10-25 Ryosuke Niwa <rniwa@webkit.org> 31975 31976 GTK build fix attempt after r98413 and r98416. 31977 31978 * PluginProcess/PluginControllerProxy.cpp: 31979 (WebKit::PluginControllerProxy::paint): 31980 (WebKit::PluginControllerProxy::geometryDidChange): 31981 319822011-10-25 Mark Hahnenberg <mhahnenberg@apple.com> 31983 31984 Remove deletePropertyVirtual 31985 https://bugs.webkit.org/show_bug.cgi?id=70738 31986 31987 Reviewed by Geoffrey Garen. 31988 31989 Removed all declarations and definitions of deletePropertyVirtual. 31990 Also replaced all call sites to deletePropertyVirtual with a 31991 corresponding lookup in the MethodTable. 31992 31993 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 31994 * WebProcess/Plugins/Netscape/JSNPObject.h: 31995 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 31996 (WebKit::NPJSObject::removeProperty): 31997 319982011-10-25 Brent Fulgham <bfulgham@webkit.org> 31999 32000 [WinCairo] Unreviewed build fix after r97587. 32001 32002 * win/WebKit2CFLite.def: 32003 320042011-10-25 Anders Carlsson <andersca@apple.com> 32005 32006 CG plug-ins are always given a context with a scale factor of 1, even when the device scale factor is something else 32007 https://bugs.webkit.org/show_bug.cgi?id=67227 32008 <rdar://problem/10048319> 32009 32010 Reviewed by Sam Weinig. 32011 32012 * PluginProcess/PluginControllerProxy.cpp: 32013 (WebKit::PluginControllerProxy::paint): 32014 Apply the scale factor when painting. 32015 32016 * WebProcess/Plugins/PluginProxy.cpp: 32017 (WebKit::PluginProxy::paint): 32018 Apply the scale factor when painting. 32019 32020 (WebKit::PluginProxy::geometryDidChange): 32021 Make sure to apply the contents scale factor to the backing store size. 32022 32023 (WebKit::PluginProxy::update): 32024 Apply the scale factor (when painting). 32025 320262011-10-25 Mark Hahnenberg <mhahnenberg@apple.com> 32027 32028 Remove putVirtual 32029 https://bugs.webkit.org/show_bug.cgi?id=70740 32030 32031 Reviewed by Geoffrey Garen. 32032 32033 Removed all declarations and definitions of putVirtual. 32034 Also replaced all call sites to putVirtual with a 32035 corresponding lookup in the MethodTable. 32036 32037 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 32038 * WebProcess/Plugins/Netscape/JSNPObject.h: 32039 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 32040 (WebKit::NPJSObject::setProperty): 32041 320422011-10-25 Anders Carlsson <andersca@apple.com> 32043 32044 Plug-ins have no way to find out when the device scale factor changes 32045 https://bugs.webkit.org/show_bug.cgi?id=67226 32046 <rdar://problem/10048276> 32047 32048 Reviewed by Sam Weinig. 32049 32050 * PluginProcess/PluginControllerProxy.cpp: 32051 (WebKit::PluginControllerProxy::geometryDidChange): 32052 * PluginProcess/PluginControllerProxy.h: 32053 This now takes the contentsScaleFactor and calls contentsScaleFactorChanged on its plug-in 32054 if the scale factor changes. 32055 32056 * PluginProcess/PluginControllerProxy.messages.in: 32057 GeometryDidChange now takes a contents scale factor parameter. 32058 32059 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 32060 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 32061 (WebKit::NetscapePlugin::contentsScaleFactorChanged): 32062 Implement contentsScaleFactorChanged and call NPP_SetValue with the new scale factor. 32063 32064 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 32065 (WebKit::BuiltInPDFView::contentsScaleFactorChanged): 32066 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 32067 Add stub. 32068 32069 * WebProcess/Plugins/Plugin.h: 32070 Add pure virtual contentsScaleFactorChanged member function. 32071 32072 * WebProcess/Plugins/PluginProxy.cpp: 32073 (WebKit::PluginProxy::geometryDidChange): 32074 Add geometryDidChange overload that doesn't take any parameters. Make it send over the 32075 new scale factor to the plug-in process. 32076 32077 (WebKit::PluginProxy::contentsScaleFactorChanged): 32078 Call geometryDidChange. 32079 32080 * WebProcess/Plugins/PluginView.cpp: 32081 (WebKit::PluginView::setDeviceScaleFactor): 32082 Call Plugin::contentsScaleFactorChanged. 32083 32084 * WebProcess/WebPage/WebPage.cpp: 32085 (WebKit::WebPage::setDeviceScaleFactor): 32086 Call setDeviceScaleFactor on all registered plug-ins. 32087 320882011-10-25 Beth Dakin <bdakin@apple.com> 32089 32090 https://bugs.webkit.org/show_bug.cgi?id=70852 32091 Setting up a HiDPI base-level GraphicsContext should be more straightforward for 32092 WebKit2 32093 32094 Reviewed by Dan Bernstein. 32095 32096 When we need a base-level HiDPI GraphicsContext, call into new GraphicsContext api 32097 GraphicsContext::applyDeviceScaleFactor() rather than manually scaling and 32098 adjusting the base CTM. 32099 * WebProcess/WebPage/DrawingAreaImpl.cpp: 32100 (WebKit::DrawingAreaImpl::display): 32101 * WebProcess/WebPage/WebPage.cpp: 32102 (WebKit::WebPage::snapshotInViewCoordinates): 32103 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): 32104 321052011-10-25 Anders Carlsson <andersca@apple.com> 32106 32107 Plug-ins have to use JavaScript to find out the current device scale factor 32108 https://bugs.webkit.org/show_bug.cgi?id=67225 32109 <rdar://problem/10048258> 32110 32111 Reviewed by Darin Adler. 32112 32113 * PluginProcess/PluginControllerProxy.cpp: 32114 (WebKit::PluginControllerProxy::PluginControllerProxy): 32115 Initialize m_contentsScaleFactor. 32116 32117 * PluginProcess/PluginControllerProxy.h: 32118 Add contentsScaleFactor member function and m_contentsScaleFactor member variable. 32119 32120 * PluginProcess/PluginCreationParameters.cpp: 32121 (WebKit::PluginCreationParameters::PluginCreationParameters): 32122 (WebKit::PluginCreationParameters::encode): 32123 (WebKit::PluginCreationParameters::decode): 32124 * PluginProcess/PluginCreationParameters.h: 32125 Add contentsScaleFactor to the creation parameters. 32126 32127 * PluginProcess/mac/PluginControllerProxyMac.mm: 32128 (WebKit::PluginControllerProxy::contentsScaleFactor): 32129 Return the cached m_contentsScaleFactor. 32130 32131 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 32132 (WebKit::NPN_GetValue): 32133 Handle getting the scale factor by calling NetscapePlugin::contentsScaleFactor. 32134 32135 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 32136 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 32137 (WebKit::NetscapePlugin::contentsScaleFactor): 32138 Ask the plug-in controller for the contents scale factor. 32139 32140 * WebProcess/Plugins/PluginController.h: 32141 Add contentsScaleFactor pure virtual member function. 32142 32143 * WebProcess/Plugins/PluginProxy.cpp: 32144 (WebKit::PluginProxy::initialize): 32145 Set contentsScaleFactor in the creation parameters. 32146 32147 * WebProcess/Plugins/PluginView.cpp: 32148 (WebKit::PluginView::contentsScaleFactor): 32149 Get the device scale factor from the page. 32150 32151 * WebProcess/Plugins/PluginView.h: 32152 Add contentsScaleFactor(). 32153 32154 * WebProcess/WebPage/WebPage.cpp: 32155 (WebKit::WebPage::setDeviceScaleFactor): 32156 Bail if the scale factor didn't change. 32157 321582011-10-25 Sam Weinig <sam@webkit.org> 32159 32160 Flesh out WKBrowsingContextLoadDelegate a bit 32161 https://bugs.webkit.org/show_bug.cgi?id=70846 32162 32163 Add didReceiveServerRedirectForProvisionalLoad, didFailProvisionalLoad 32164 and didFailLoad. 32165 32166 Reviewed by Anders Carlsson. 32167 32168 Test: WKBrowsingContextLoadDelegateTest 32169 32170 * UIProcess/API/mac/WKBrowsingContextController.mm: 32171 (didReceiveServerRedirectForProvisionalLoadForFrame): 32172 (didFailProvisionalLoadWithErrorForFrame): 32173 (didFailLoadWithErrorForFrame): 32174 (setUpPageLoaderClient): 32175 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: 32176 321772011-10-25 Anders Carlsson <andersca@apple.com> 32178 32179 Assertion failure when zooming a PDF in an iframe 32180 https://bugs.webkit.org/show_bug.cgi?id=70849 32181 32182 Reviewed by Alexey Proskuryakov. 32183 32184 If the plug-in doesn't want window relative coordinates, we shouldn't give the plug-in window relative coordinates. 32185 32186 * WebProcess/Plugins/PluginView.cpp: 32187 (WebKit::PluginView::viewGeometryDidChange): 32188 321892011-10-25 Sam Weinig <sam@webkit.org> 32190 32191 Make loadFileURL:restrictToFilesWithin: work, albeit, without the correct 32192 restrictions for now. 32193 32194 Reviewed by Anders Carlsson. 32195 32196 * UIProcess/API/mac/WKBrowsingContextController.mm: 32197 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]): 32198 321992011-10-25 Anders Carlsson <andersca@apple.com> 32200 32201 PDF SUBFRAMES: Incomplete repaint after pinch to zoom 32202 https://bugs.webkit.org/show_bug.cgi?id=70821 32203 <rdar://problem/10312733> 32204 32205 Reviewed by Simon Fraser. 32206 32207 Add a new pure virtual member function, Plugin::wantsWindowRelativeCoordinates. 32208 If a plug-in subclass returns true, we'll keep giving the plug-in coordinates that 32209 are relative to the containing window. If a plug-in subclass returns false, we'll give it 32210 coordinates in a much more sane coordinate system, with the origin at the top left corner of the plug-in. 32211 32212 Change BuiltinPDFView to return false so that it'll work correctly with pinch to zoom. 32213 32214 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 32215 (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates): 32216 Make wantsWindowRelativeCoordinates return true. 32217 32218 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 32219 (WebKit::BuiltInPDFView::paint): 32220 Remove translation since the graphics context is already set up in the right way. 32221 32222 (WebKit::BuiltInPDFView::paintContent): 32223 No need to offset by the plug-in view location anymore. 32224 32225 (WebKit::BuiltInPDFView::paintControls): 32226 Account for the scrollbars being children of the parent scroll view here. 32227 32228 (WebKit::BuiltInPDFView::wantsWindowRelativeCoordinates): 32229 Return false. 32230 32231 (WebKit::BuiltInPDFView::convertFromContainingViewToScrollbar): 32232 Implement this so that scrollbar hit testing works correctly. 32233 32234 * WebProcess/Plugins/Plugin.h: 32235 Add wantsWindowRelativeCoordinates. 32236 32237 * WebProcess/Plugins/PluginProxy.cpp: 32238 (WebKit::PluginProxy::wantsWindowRelativeCoordinates): 32239 Return true for now. 32240 32241 * WebProcess/Plugins/PluginView.cpp: 32242 (WebKit::PluginView::renderer): 32243 Add simple getter. 32244 32245 (WebKit::PluginView::paint): 32246 Handle the case when the plug-in doesn't want window relative coordinates. 32247 32248 (WebKit::PluginView::transformsAffectFrameRect): 32249 Return true here. 32250 32251 (WebKit::PluginView::viewGeometryDidChange): 32252 No need to adjust the bounds to account for the scale factor now, since the frame rect will always be the 32253 same regardless of the transform. 32254 32255 (WebKit::PluginView::clipRectInWindowCoordinates): 32256 Ditto. 32257 322582011-10-25 John Sullivan <sullivan@apple.com> 32259 32260 "Open with" item missing from PDF context menu in some cases 32261 https://bugs.webkit.org/show_bug.cgi?id=70828 32262 <rdar://problem/10034302> 32263 32264 Reviewed by Anders Carlsson. 32265 32266 * UIProcess/API/mac/PDFViewController.mm: 32267 (insertOpenWithDefaultPDFMenuItem): 32268 New helper function, extracted from -menuForEvent:. Identical to original code except 32269 that it inserts the item at a specified index, rather than always at the end. 32270 (-[WKPDFView menuForEvent:]): 32271 Now keeps track of whether the Open With item has been inserted while iterating through 32272 the PDFKit-supplied menu items looking for a "Copy" item. If a "Copy" item is not found, 32273 inserts the Open With item at the top of the context menu. 32274 322752011-10-25 Zeno Albisser <zeno.albisser@nokia.com> 32276 32277 [Qt][WK2] QDesktopWebView and QTouchWebView should be declared in the meta type system. 32278 https://bugs.webkit.org/show_bug.cgi?id=70693 32279 32280 This change allows us to use the template based features of the meta type system 32281 such as using the WebView classes as types for QVariant. 32282 32283 Reviewed by Simon Hausmann. 32284 32285 * UIProcess/API/qt/qdesktopwebview.h: 32286 * UIProcess/API/qt/qtouchwebview.h: 32287 322882011-10-25 Zalan Bujtas <zbujtas@gmail.com> 32289 32290 [Qt][WK2] Remove redundant setPageIsVisible() API 32291 https://bugs.webkit.org/show_bug.cgi?id=70520 32292 32293 Use DrawingAreaProxy::visibilityDidChange() instead of DrawingAreaProxy::setPageIsVisible() 32294 Remove DrawingAreaProxy::setPageIsVisible(), not used anymore. 32295 This change disables the ability of suspending and resuming painting for TiledDrawingAreaProxy. 32296 However, TiledDrawingAreaProxy is about to be deprecated by using DrawingAreaProxyImpl 32297 as the UI process drawing area proxy for tiled based rendering. 32298 32299 Reviewed by Simon Hausmann. 32300 32301 * UIProcess/API/qt/qtouchwebpage.cpp: 32302 (QTouchWebPage::QTouchWebPage): 32303 (QTouchWebPagePrivate::setPage): 32304 * UIProcess/API/qt/qtouchwebpage.h: 32305 * UIProcess/API/qt/qtouchwebview.cpp: 32306 (QTouchWebView::QTouchWebView): 32307 (QTouchWebView::touchEvent): 32308 (QTouchWebView::onVisibleChanged): 32309 * UIProcess/API/qt/qtouchwebview.h: 32310 * UIProcess/DrawingAreaProxy.h: 32311 * UIProcess/DrawingAreaProxyImpl.cpp: 32312 * UIProcess/DrawingAreaProxyImpl.h: 32313 * UIProcess/TiledDrawingAreaProxy.cpp: 32314 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 32315 (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange): 32316 * UIProcess/TiledDrawingAreaProxy.h: 32317 * UIProcess/WebPageProxy.cpp: 32318 (WebKit::WebPageProxy::viewStateDidChange): 32319 * UIProcess/qt/QtWebPageProxy.cpp: 32320 * UIProcess/qt/QtWebPageProxy.h: 32321 323222011-10-25 Carlos Garcia Campos <cgarcia@igalia.com> 32323 32324 [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API 32325 https://bugs.webkit.org/show_bug.cgi?id=69825 32326 32327 Reviewed by Martin Robinson. 32328 32329 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: 32330 (webkitBackForwardListItemGetWKItem): 32331 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: 32332 * UIProcess/API/gtk/WebKitWebView.cpp: 32333 (webkit_web_view_go_to_back_forward_list_item): 32334 * UIProcess/API/gtk/WebKitWebView.h: 32335 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: 32336 (testBackForwardListNavigation): 32337 323382011-10-25 Vamshikrishna Yellenki <vamshi@motorola.com> 32339 32340 [WK2]Critical warning while building WebKit2 GTK+ 32341 https://bugs.webkit.org/show_bug.cgi?id=70591 32342 32343 Reviewed by Martin Robinson. 32344 32345 * WebProcess/WebPage/WebPage.cpp: Included DataObjectGtk.h to avoid warnings for GTK 32346 323472011-10-24 Sam Weinig <sam@webkit.org> 32348 32349 Simplify url accessors on WKBrowsingContextController 32350 https://bugs.webkit.org/show_bug.cgi?id=70797 32351 32352 Reviewed by Anders Carlsson. 32353 32354 * UIProcess/API/C/WKPage.cpp: 32355 (WKPageCopyActiveURL): 32356 (WKPageCopyProvisionalURL): 32357 (WKPageCopyCommittedURL): 32358 * UIProcess/API/C/WKPage.h: 32359 Add accessors to C SPI. 32360 32361 * UIProcess/API/mac/WKBrowsingContextController.h: 32362 Remove unreachableURL accessor for now. It may make a glorious return when we have 32363 error page support. 32364 32365 * UIProcess/API/mac/WKBrowsingContextController.mm: 32366 (-[WKBrowsingContextController activeURL]): 32367 (-[WKBrowsingContextController provisionalURL]): 32368 (-[WKBrowsingContextController committedURL]): 32369 Implement these in terms of the new C SPI. 32370 32371 * UIProcess/WebPageProxy.cpp: 32372 (WebKit::WebPageProxy::activeURL): 32373 Add computation of the "active" URL, which is the URL one would show 32374 in an address field. It is the pending URL when there is one, the provisional 32375 URL when there is one, and otherwise the committed/final URL. 32376 32377 (WebKit::WebPageProxy::provisionalURL): 32378 (WebKit::WebPageProxy::committedURL): 32379 Add access to the main frame URL. 32380 * UIProcess/WebPageProxy.h: 32381 323822011-10-24 Sam Weinig <sam@webkit.org> 32383 32384 Hook up minimalist load delegate to WKBrowsingContextController 32385 https://bugs.webkit.org/show_bug.cgi?id=70764 32386 32387 Reviewed by Simon Fraser. 32388 32389 * UIProcess/API/mac/WKBrowsingContextController.h: 32390 * UIProcess/API/mac/WKBrowsingContextController.mm: 32391 (-[WKBrowsingContextController loadDelegate]): 32392 (-[WKBrowsingContextController setLoadDelegate:]): 32393 Add loadDelegate getter/setter. As per convention, the delegate is not 32394 retained. 32395 32396 (didStartProvisionalLoadForFrame): 32397 (didCommitLoadForFrame): 32398 (didFinishLoadForFrame): 32399 (setUpPageLoaderClient): 32400 (-[WKBrowsingContextController initWithPageRef:]): 32401 Hookup the delegate to a WKPageLoaderClient. 32402 32403 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Added. 32404 Add load delegate as a proper protocol. 32405 32406 * WebKit2.xcodeproj/project.pbxproj: 32407 Add new file. 32408 324092011-10-24 Michael Saboff <msaboff@apple.com> 32410 32411 WebKit doesn't build with recent changes to libdispatch 32412 https://bugs.webkit.org/show_bug.cgi?id=70737 32413 32414 Added initialization for new WebKitSystemInterface function 32415 CreateVMPressureDispatchOnMainQueue. 32416 32417 Reviewed by Geoffrey Garen. 32418 32419 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 32420 (InitWebCoreSystemInterface): 32421 324222011-10-24 Sam Weinig <sam@webkit.org> 32423 32424 Add URL getters for the WKBrowsingContextController 32425 https://bugs.webkit.org/show_bug.cgi?id=70752 32426 32427 Reviewed by Anders Carlsson. 32428 32429 * UIProcess/API/mac/WKBrowsingContextController.h: 32430 * UIProcess/API/mac/WKBrowsingContextController.mm: 32431 (autoreleased): 32432 Added helpers for autoreleasing. 32433 32434 (-[WKBrowsingContextController activeURL]): 32435 Added buy not implemented yet. 32436 32437 (-[WKBrowsingContextController pendingURL]): 32438 (-[WKBrowsingContextController provisionalURL]): 32439 (-[WKBrowsingContextController commitedURL]): 32440 (-[WKBrowsingContextController unreachableURL]): 32441 Added getters. 32442 32443 (-[WKBrowsingContextController title]): 32444 Convert to new autoreleased helper. 32445 324462011-10-24 Sam Weinig <sam@webkit.org> 32447 32448 Add zoom and title support to Objective-C WebKit2 API 32449 https://bugs.webkit.org/show_bug.cgi?id=70744 32450 32451 Reviewed by Darin Adler. 32452 32453 * UIProcess/API/mac/WKBrowsingContextController.h: 32454 * UIProcess/API/mac/WKBrowsingContextController.mm: 32455 (-[WKBrowsingContextController title]): 32456 (-[WKBrowsingContextController textZoom]): 32457 (-[WKBrowsingContextController setTextZoom:]): 32458 (-[WKBrowsingContextController pageZoom]): 32459 (-[WKBrowsingContextController setPageZoom:]): 32460 324612011-10-24 Carlos Garcia Campos <cgarcia@igalia.com> 32462 32463 [GTK] Fix make distcheck build 32464 https://bugs.webkit.org/show_bug.cgi?id=69745 32465 32466 Reviewed by Martin Robinson. 32467 32468 * GNUmakefile.am: 32469 324702011-10-24 Carlos Garcia Campos <cgarcia@igalia.com> 32471 32472 [GTK] Initial implementation of back forward list for WebKit2 GTK+ API 32473 https://bugs.webkit.org/show_bug.cgi?id=69343 32474 32475 Reviewed by Martin Robinson. 32476 32477 * GNUmakefile.am: Add new files to compilation. 32478 * UIProcess/API/gtk/WebKitBackForwardList.cpp: Added. 32479 (webkitBackForwardListFinalize): 32480 (webkit_back_forward_list_init): 32481 (webkit_back_forward_list_class_init): 32482 (webkitBackForwardListGetOrCreateItem): Helper function that 32483 creates a new WebKitBackForwardListItem for the given 32484 WebBackForwardListItem or returns it from the cache if it's 32485 already cached. 32486 (webkitBackForwardListCreateList): Helper function to convert a 32487 WKArray of WebBackForwardListItems into a GList of 32488 WebKitBackForwardListItems. 32489 (webkitBackForwardListCreate): Create a new WebKitBackForwardList. 32490 (webkitBackForwardListChanged): Emits changed signal when the back 32491 forward list changes. 32492 (webkit_back_forward_list_get_current_item): 32493 (webkit_back_forward_list_get_back_item): 32494 (webkit_back_forward_list_get_forward_item): 32495 (webkit_back_forward_list_get_nth_item): 32496 (webkit_back_forward_list_get_length): 32497 (webkit_back_forward_list_get_back_list): 32498 (webkit_back_forward_list_get_back_list_with_limit): 32499 (webkit_back_forward_list_get_forward_list): 32500 (webkit_back_forward_list_get_forward_list_with_limit): 32501 * UIProcess/API/gtk/WebKitBackForwardList.h: Added. 32502 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Added. 32503 (webkitBackForwardListItemFinalize): 32504 (webkit_back_forward_list_item_init): 32505 (webkit_back_forward_list_item_class_init): 32506 (historyItemsMap): Global cache for WebKitBackForwardListItems. 32507 (webkitBackForwardListItemFinalized): 32508 (webkitBackForwardListItemGetOrCreate): Helper function that 32509 creates a new WebKitBackForwardListItem for the given 32510 WebBackForwardListItem or returns it from the global cache if it's 32511 already cached. 32512 (webkit_back_forward_list_item_get_uri): 32513 (webkit_back_forward_list_item_get_title): 32514 (webkit_back_forward_list_item_get_original_uri): 32515 * UIProcess/API/gtk/WebKitBackForwardListItem.h: Added. 32516 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: Added. 32517 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 32518 (didChangeBackForwardList): Call webkitBackForwardListChanged() to 32519 notify that the list has changed. 32520 (webkitWebLoaderClientAttachLoaderClientToPage): Add 32521 implementation for didChangeBackForwardList. 32522 * UIProcess/API/gtk/WebKitWebView.cpp: 32523 (webkitWebViewConstructed): 32524 (webkit_web_view_get_back_forward_list): Return the back forward 32525 list of the view. 32526 * UIProcess/API/gtk/WebKitWebView.h: 32527 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test. 32528 * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Added. 32529 (serverCallback): 32530 (testBackForwardListNavigation): 32531 (testBackForwardListLimitAndCache): 32532 (beforeAll): 32533 (afterAll): 32534 * UIProcess/API/gtk/tests/TestMain.h: 32535 (Test::~Test): Check there are no objects leaked. 32536 (Test::objectFinalized): Callback called when a GObject is 32537 deleted, used to remove the watched object the list. 32538 (Test::assertObjectIsDeletedWhenTestFinishes): Add an object to 32539 the list of watched objects and add a weak pointer to remove it 32540 from the list when the object is finalized. If there aren't 32541 objects leaked, the list should be empty when the test finishes. 32542 * UIProcess/API/gtk/tests/WebViewTest.cpp: 32543 (WebViewTest::WebViewTest): Watch the web view to make sure it's 32544 not leaked. 32545 * UIProcess/API/gtk/tests/WebViewTest.h: Make WebViewTest inherit 32546 from Test class. 32547 * UIProcess/API/gtk/webkit2.h: Include WebKitBackForwardList.h and 32548 WebKitBackForwardListItem.h. 32549 * UIProcess/API/gtk/webkit2marshal.list: 32550 325512011-10-24 Carlos Garcia Campos <cgarcia@igalia.com> 32552 32553 [GTK] Add helper function to set the loader client in WebKitWebView 32554 https://bugs.webkit.org/show_bug.cgi?id=70594 32555 32556 Reviewed by Martin Robinson. 32557 32558 * UIProcess/API/gtk/WebKitWebView.cpp: 32559 (webkitWebViewSetLoaderClient): Helper function to set the loader 32560 client. 32561 (webkitWebViewConstructed): Use webkitWebViewSetLoaderClient() to 32562 avoid unnecessary checks. 32563 (webkit_web_view_set_loader_client): Use 32564 webkitWebViewSetLoaderClient(). 32565 325662011-10-24 Carlos Garcia Campos <cgarcia@igalia.com> 32567 32568 [GTK] Remove g_thread_init() calls 32569 https://bugs.webkit.org/show_bug.cgi?id=70717 32570 32571 Reviewed by Xan Lopez. 32572 32573 With newer glib it's not needed anymore and with previous versions 32574 it was already called by g_type_init(). 32575 32576 * UIProcess/API/gtk/tests/TestMain.cpp: 32577 (main): 32578 325792011-10-24 Zeno Albisser <zeno.albisser@nokia.com> 32580 32581 [Qt][WK2] WebView does not get focus when being clicked / touched in MiniBrowser. 32582 https://bugs.webkit.org/show_bug.cgi?id=70613 32583 32584 Make TouchWebView and DesktopWebView take the focus whenever it receives 32585 a MouseClick or a TouchEvent. 32586 32587 Reviewed by Simon Hausmann. 32588 32589 * UIProcess/API/qt/qdesktopwebview.cpp: 32590 (QDesktopWebView::mousePressEvent): 32591 * UIProcess/API/qt/qtouchwebview.cpp: 32592 (QTouchWebView::touchEvent): 32593 * UIProcess/API/qt/qtouchwebview.h: 32594 325952011-10-24 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> 32596 32597 [GTK] [WK2] Memory leaks in WebContextGtk.cpp 32598 https://bugs.webkit.org/show_bug.cgi?id=70505 32599 32600 Free the output of g_build_filename() 32601 32602 Reviewed by Martin Robinson. 32603 32604 * UIProcess/gtk/WebContextGtk.cpp: 32605 (WebKit::WebContext::platformDefaultDatabaseDirectory): 32606 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 32607 326082011-10-23 Mark Hahnenberg <mhahnenberg@apple.com> 32609 32610 Remove getConstructDataVirtual 32611 https://bugs.webkit.org/show_bug.cgi?id=70638 32612 32613 Reviewed by Darin Adler. 32614 32615 Removed all declarations and definitions of getConstructDataVirtual. 32616 Also replaced all call sites to getConstructDataVirtual with a 32617 corresponding lookup in the MethodTable. 32618 32619 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 32620 * WebProcess/Plugins/Netscape/JSNPObject.h: 32621 326222011-10-21 Alexey Proskuryakov <ap@apple.com> 32623 32624 [WK2] Clicking a print button in a PDF doesn't do anything 32625 https://bugs.webkit.org/show_bug.cgi?id=70663 32626 <rdar://problem/9795014> 32627 32628 Reviewed by Dan Bernstein. 32629 32630 * UIProcess/WebPageProxy.h: 32631 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printMainFrame): Added a public method 32632 that PDFViewController could call. 32633 32634 * UIProcess/API/mac/PDFViewController.h: 32635 * UIProcess/API/mac/PDFViewController.mm: 32636 (-[WKPDFView PDFViewPerformPrint:]): 32637 (WebKit::PDFViewController::print): 32638 Connect PDFView delegate method for printing. 32639 326402011-10-21 Sam Weinig <sam@webkit.org> 32641 32642 Lookup does not work on text using web fonts in WebKit2 32643 https://bugs.webkit.org/show_bug.cgi?id=70669 32644 <rdar://problem/10147441> 32645 32646 Reviewed by Anders Carlsson. 32647 32648 * WebProcess/WebPage/mac/WebPageMac.mm: 32649 (WebKit::WebPage::performDictionaryLookupForRange): 32650 If the font for the range is web font (and therefore no NSFont is 32651 available), use the system font of the same size. While not great, 32652 it approximates what WebKit1 does. 32653 326542011-10-21 Sam Weinig <sam@webkit.org> 32655 32656 Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup> 32657 https://bugs.webkit.org/show_bug.cgi?id=70667 32658 <rdar://problem/9622186> 32659 32660 Reviewed by Anders Carlsson. 32661 32662 * Shared/DictionaryPopupInfo.cpp: 32663 (WebKit::DictionaryPopupInfo::encode): 32664 (WebKit::DictionaryPopupInfo::decode): 32665 Account for the fact that the options dictionary can be null. This is due to Lookup passing 32666 back a null, rather than empty, dictionary when it could not find any interesting characteristics. 32667 326682011-10-21 Sam Weinig <sam@webkit.org> 32669 32670 Add WKBrowsingContextGroup which wraps WKPageGroupRef 32671 https://bugs.webkit.org/show_bug.cgi?id=70665 32672 32673 Reviewed by Anders Carlsson. 32674 32675 * UIProcess/API/mac/WKBrowsingContextGroup.h: Added. 32676 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added. 32677 (-[WKBrowsingContextGroup initWithIdentifier:]): 32678 (-[WKBrowsingContextGroup dealloc]): 32679 (-[WKBrowsingContextGroup pageGroupRef]): 32680 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added. 32681 * UIProcess/API/mac/WKView.h: 32682 * UIProcess/API/mac/WKView.mm: 32683 (-[WKView initWithFrame:processGroup:browsingContextGroup:]): 32684 * WebKit2.xcodeproj/project.pbxproj: 32685 326862011-10-21 Sam Weinig <sam@webkit.org> 32687 32688 Mark member variables of WebKit2 API @private 32689 https://bugs.webkit.org/show_bug.cgi?id=70655 32690 32691 Reviewed by Simon Fraser. 32692 32693 * UIProcess/API/mac/WKBrowsingContextController.h: 32694 * UIProcess/API/mac/WKView.h: 32695 326962011-10-21 Sam Weinig <sam@webkit.org> 32697 32698 Rename WKProcessCluster to WKProcessGroup 32699 https://bugs.webkit.org/show_bug.cgi?id=70654 32700 32701 Reviewed by Simon Fraser. 32702 32703 * UIProcess/API/mac/WKProcessCluster.h: Removed. 32704 * UIProcess/API/mac/WKProcessCluster.mm: Removed. 32705 * UIProcess/API/mac/WKProcessClusterInternal.h: Removed. 32706 * UIProcess/API/mac/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.h. 32707 * UIProcess/API/mac/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.mm. 32708 (-[WKProcessGroup initWithInjectedBundleURL:]): 32709 * UIProcess/API/mac/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessClusterInternal.h. 32710 * UIProcess/API/mac/WKView.h: 32711 * UIProcess/API/mac/WKView.mm: 32712 (-[WKView initWithFrame:processCluster:]): 32713 * WebKit2.xcodeproj/project.pbxproj: 32714 327152011-10-21 Sam Weinig <sam@webkit.org> 32716 32717 Remove ability to create a WKView without a WKContextRef and WKPageGroupRef 32718 https://bugs.webkit.org/show_bug.cgi?id=70653 32719 32720 Reviewed by Simon Fraser. 32721 32722 Requiring a context and pagegroup removes the concept of global contexts, 32723 which is something that is both confusing, and makes Objective-C wrapping 32724 harder. 32725 32726 * UIProcess/API/mac/WKView.mm: 32727 (-[WKView initWithFrame:processCluster:]): 32728 * UIProcess/API/mac/WKViewPrivate.h: 32729 Remove init methods that didn't take both a context and a pagegroup. 32730 327312011-10-21 Alexey Proskuryakov <ap@apple.com> 32732 32733 [WK2] Crash after printing a view with accelerated compositing content 32734 https://bugs.webkit.org/show_bug.cgi?id=70643 32735 <rdar://problem/9479083> 32736 32737 Reviewed by Darin Adler. 32738 32739 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 32740 We cannot rely on -[WKView drawRect:] calling endPrinting() for us. That call to endPrinting() 32741 is still necessary to paint e.g. when resizing a window while a print dialog is present. 32742 327432011-10-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 32744 32745 [WK2] WebFrameLoaderClient::shouldFallback() should use a port-specific implementation 32746 https://bugs.webkit.org/show_bug.cgi?id=70055 32747 32748 Reviewed by Luiz Agostini. 32749 32750 In QtWebKit 1, our FrameLoaderClient::shouldFallback was checking for InterruptedForPolicyChange 32751 error. In WebKit2, we are relying on the common implementation for WebFrameLoaderClient::shouldFallback 32752 which doesn't check for the same error. Here we add this check only for Qt. 32753 32754 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 32755 (WebKit::WebFrameLoaderClient::shouldFallBack): 32756 327572011-10-21 Anders Carlsson <andersca@apple.com> 32758 32759 Flash of white when loading a page after a web process crash 32760 https://bugs.webkit.org/show_bug.cgi?id=70615 32761 <rdar://problem/10306906> 32762 32763 Reviewed by Darin Adler. 32764 32765 * UIProcess/API/mac/WKView.mm: 32766 (-[WKView _processDidCrash]): 32767 (-[WKView _didRelaunchProcess]): 32768 Remove calls to setNeedsDisplay here. 32769 32770 * UIProcess/WebPageProxy.cpp: 32771 (WebKit::WebPageProxy::processDidCrash): 32772 Call setNeedsDisplay, but only if calling out to the loader client didn't relaunch the web process. 32773 32774 * WebProcess/WebPage/DrawingArea.h: 32775 (WebKit::DrawingArea::setPaintingEnabled): 32776 * WebProcess/WebPage/DrawingAreaImpl.cpp: 32777 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 32778 (WebKit::DrawingAreaImpl::setNeedsDisplay): 32779 (WebKit::DrawingAreaImpl::scroll): 32780 (WebKit::DrawingAreaImpl::setPaintingEnabled): 32781 * WebProcess/WebPage/DrawingAreaImpl.h: 32782 Add a way to disable painting completely for a drawing area. 32783 32784 * WebProcess/WebPage/WebPage.cpp: 32785 (WebKit::WebPage::WebPage): 32786 Disable painting while setting up the web page, otherwise we'll get paint requests when we set the 32787 active state of the web page. 32788 327892011-10-21 Csaba Osztrogonác <ossy@webkit.org> 32790 32791 [Qt][WK2] Buildfix for newer Qt5. Remove duplicated defines. 32792 32793 Reviewed by Simon Hausmann. 32794 32795 * UIProcess/API/qt/tests/util.h: 32796 327972011-10-21 Carlos Garcia Campos <cgarcia@igalia.com> 32798 32799 Unreviewed. Fix WebKit2 GTK+ build after r98081. 32800 32801 * UIProcess/API/gtk/WebKitWebView.h: 32802 328032011-10-21 Sheriff Bot <webkit.review.bot@gmail.com> 32804 32805 Unreviewed, rolling out r98085. 32806 http://trac.webkit.org/changeset/98085 32807 https://bugs.webkit.org/show_bug.cgi?id=70589 32808 32809 It broke the build (Requested by Ossy on #webkit). 32810 32811 * UIProcess/API/qt/tests/util.h: 32812 328132011-10-21 Carlos Garcia Campos <cgarcia@igalia.com> 32814 32815 [GTK] Fix API documentation comment for webkit_web_view_get_estimated_load_progress() 32816 https://bugs.webkit.org/show_bug.cgi?id=70587 32817 32818 Reviewed by Philippe Normand. 32819 32820 It's should start with /** to be recognized as API documentation. 32821 32822 * UIProcess/API/gtk/WebKitWebView.cpp: 32823 328242011-10-21 Csaba Osztrogonác <ossy@webkit.org> 32825 32826 [Qt][WK2] Unreviewed buildfix for newer Qt5. Remove duplicated defines. 32827 32828 * UIProcess/API/qt/tests/util.h: 32829 328302011-10-21 Carlos Garcia Campos <cgarcia@igalia.com> 32831 32832 [GTK] Add can_go_back/forward methods to WebKit2 GTK+ API 32833 https://bugs.webkit.org/show_bug.cgi?id=69823 32834 32835 Reviewed by Martin Robinson. 32836 32837 * UIProcess/API/gtk/WebKitWebView.cpp: 32838 (webkit_web_view_go_back): 32839 (webkit_web_view_can_go_back): 32840 (webkit_web_view_go_forward): 32841 (webkit_web_view_can_go_forward): 32842 * UIProcess/API/gtk/WebKitWebView.h: 32843 328442011-10-21 Carlos Garcia Campos <cgarcia@igalia.com> 32845 32846 [GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API 32847 https://bugs.webkit.org/show_bug.cgi?id=69610 32848 32849 Reviewed by Martin Robinson. 32850 32851 * UIProcess/API/gtk/WebKitWebView.cpp: 32852 (webkit_web_view_stop_loading): 32853 * UIProcess/API/gtk/WebKitWebView.h: 32854 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 32855 (provisionalLoadFailedCallback): 32856 (loadFailedCallback): 32857 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 32858 (LoadStopTrackingTest::loadCommitted): 32859 (LoadStopTrackingTest::loadFailed): 32860 (LoadStopTrackingTest::loadFinished): 32861 (testLoadCancelled): 32862 (serverCallback): 32863 (beforeAll): 32864 328652011-10-20 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 32866 32867 [Qt][WK2] qweberror* should follow the new file and class naming rules 32868 https://bugs.webkit.org/show_bug.cgi?id=70550 32869 32870 Reviewed by Noam Rosenthal. 32871 32872 Renaming qweberror* files and class to QtWebError*. 32873 QWebErrorPrivate is now merged into QtWebError. 32874 32875 * UIProcess/API/qt/qdesktopwebview.cpp: 32876 (QDesktopWebViewPrivate::loadDidFail): 32877 * UIProcess/API/qt/qdesktopwebview_p.h: 32878 * UIProcess/qt/ClientImpl.cpp: 32879 (dispatchLoadFailed): 32880 * UIProcess/qt/QtTouchViewInterface.cpp: 32881 (WebKit::QtTouchViewInterface::loadDidFail): 32882 * UIProcess/qt/QtTouchViewInterface.h: 32883 * UIProcess/qt/QtViewInterface.h: 32884 * UIProcess/qt/QtWebError.cpp: Renamed from Source/WebKit2/UIProcess/qt/qweberror.cpp. 32885 (QtWebError::QtWebError): 32886 (QtWebError::type): 32887 (QtWebError::errorCode): 32888 (QtWebError::url): 32889 * UIProcess/qt/QtWebError.h: Renamed from Source/WebKit2/UIProcess/qt/qweberror.h. 32890 (QtWebError::errorCodeAsHttpStatusCode): 32891 (QtWebError::errorCodeAsNetworkError): 32892 * UIProcess/qt/QtWebPageProxy.cpp: 32893 (QtWebPageProxy::loadDidFail): 32894 * UIProcess/qt/QtWebPageProxy.h: 32895 * UIProcess/qt/qweberror_p.h: Removed. 32896 * WebKit2.pro: 32897 328982011-10-20 Alexey Proskuryakov <ap@apple.com> 32899 32900 REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in 32901 https://bugs.webkit.org/show_bug.cgi?id=70534 32902 <rdar://problem/10308827> 32903 32904 Reviewed by Darin Adler. 32905 32906 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::handleContextMenuEvent): 32907 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 32908 * WebProcess/Plugins/Plugin.h: 32909 * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::handleContextMenuEvent): 32910 * WebProcess/Plugins/PluginProxy.h: 32911 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::handleEvent): 32912 Return true when handling contextmenu event, so that plug-ins won't get a default WebKit 32913 context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by 32914 displaying a menu. 32915 32916 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 32917 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::handleContextMenuEvent): 32918 PDF is the only "plug-in" that wants default WebKit menu now. 32919 329202011-10-20 Sam Weinig <sam@webkit.org> 32921 32922 Put the WebKit2 C SPI in PrivateHeaders 32923 https://bugs.webkit.org/show_bug.cgi?id=70549 32924 32925 Reviewed by Dan Bernstein. 32926 32927 No change in behavior. 32928 32929 * WebKit2.xcodeproj/project.pbxproj: 32930 329312011-10-20 Brady Eidson <beidson@apple.com> 32932 32933 <rdar://problem/9412849> and https://bugs.webkit.org/show_bug.cgi?id=70535 32934 WK2 - Crash deref'ing a null context menu 32935 32936 Reviewed by Darin Adler. 32937 32938 * WebProcess/WebPage/WebPage.cpp: 32939 (WebKit::WebPage::didSelectItemFromActiveContextMenu): In some cases that we still can't reproduce, 32940 this message can be received in the WebProcess after the context menu has been cleared, leading 32941 to a crash. Turning the ASSERT in to an early return will prevent the crash while we try to learn more 32942 about how this could happen. 32943 329442011-10-20 Gustavo Noronha Silva <gns@gnome.org> 32945 32946 GTK+ build fix. Wk2 documentation will be dealt with in future 32947 patches. 32948 32949 * UIProcess/API/gtk/docs/GNUmakefile.am: 32950 329512011-10-20 Mark Hahnenberg <mhahnenberg@apple.com> 32952 32953 Rename static deleteProperty to deletePropertyByIndex 32954 https://bugs.webkit.org/show_bug.cgi?id=70257 32955 32956 Reviewed by Geoffrey Garen. 32957 32958 Renaming versions of deleteProperty that use an unsigned as the property 32959 name to "deletePropertyByIndex" in preparation for adding them to the 32960 MethodTable, which requires unique names for each method. 32961 32962 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 32963 (WebKit::JSNPObject::deletePropertyVirtual): 32964 (WebKit::JSNPObject::deletePropertyByIndex): 32965 * WebProcess/Plugins/Netscape/JSNPObject.h: 32966 329672011-10-20 Carlos Garcia Campos <cgarcia@igalia.com> 32968 32969 [GTK] Remove WebKitWebLoaderClientPrivate 32970 https://bugs.webkit.org/show_bug.cgi?id=70488 32971 32972 Reviewed by Philippe Normand. 32973 32974 It's unused since r97920. 32975 32976 * GNUmakefile.am: Add WebKitWebLoaderClientPrivate.h. 32977 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 32978 (webkitWebLoaderClientAttachLoaderClientToPage): Renamed to make 32979 it clear it's a private method of WebKitWebLoaderClient. 32980 (webkit_web_loader_client_init): Remove 32981 WebKitWebLoaderClientPrivate initialization. 32982 (webkit_web_loader_client_class_init): Removed adding 32983 WebKitWebLoaderClientPrivate struct as private data. 32984 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove 32985 WebKitWebLoaderClientPrivate definition. 32986 * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Move 32987 webkitWebLoaderClientAttachLoaderClientToPage method here since 32988 it's a private method implemented in WebKitWebLoaderClient, not in 32989 WebKitWebView. 32990 * UIProcess/API/gtk/WebKitWebView.cpp: 32991 (webkit_web_view_set_loader_client): Use 32992 webkitWebLoaderClientAttachLoaderClientToPage. 32993 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Remove 32994 webkitWebLoaderClientAttachLoaderClientToPage prototype. 32995 329962011-10-10 Martin Robinson <mrobinson@igalia.com> 32997 32998 [GTK] [WebKit2] Allow sharing page clients between WebViews 32999 https://bugs.webkit.org/show_bug.cgi?id=69814 33000 33001 No longer associate WebPage client wrappers with a WebKitWebView. This allows the 33002 same client to be used with more than one WebKitWebView. 33003 33004 Reviewed by Xan Lopez. 33005 33006 * GNUmakefile.am: Add the new WebKitWebViewPrivate header. 33007 * UIProcess/API/gtk/WebKitDefines.h: Added some forward declarations for API classes. 33008 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: C API callbacks now convert their WKPageRef argument 33009 into a WebKitWebView directly and pass it as a parameter to signals. Remove the web-view property. 33010 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Move the estimated-progress property to WebKitWebView. 33011 * UIProcess/API/gtk/WebKitWebView.cpp: Add an estimated-load-progress property. 33012 (webkitWebViewConstructed):Only allocate one default WebKitWebLoaderClient. 33013 (webkitWebViewGetProperty): Add support for the new property. 33014 (webkit_web_view_class_init): Ditto. 33015 (webkitWebViewSetEstimatedLoadProgress): Added this private method so that the WebKitWebLoaderClient 33016 can update the appropriate WebKitWebView. 33017 (webkit_web_view_set_loader_client): Attach the C API callbacks here now. 33018 (webkit_web_view_get_estimated_load_progress): Moved from WebKitWebLoaderClient. 33019 * UIProcess/API/gtk/WebKitWebView.h: Added new method definition. 33020 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h. 33021 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Updated the load tracking tests callbacks to take the new parameter. 33022 (LoadTrackingTest::LoadTrackingTest): Listen to the WebKitWebView property now. 33023 (LoadTrackingTest::estimatedProgressChanged): 33024 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Added a test to verify that two WebViews share the same default client. 33025 * UIProcess/API/gtk/webkit2marshal.list: Updated the marshallers here. 33026 330272011-10-19 Anders Carlsson <andersca@apple.com> 33028 33029 White flash when painting a previously crashed WKView 33030 https://bugs.webkit.org/show_bug.cgi?id=70453 33031 <rdar://problem/10306906> 33032 33033 Reviewed by John Sullivan. 33034 33035 * UIProcess/WebPageProxy.cpp: 33036 (WebKit::WebPageProxy::reattachToWebProcess): 33037 Call waitForBackingStoreUpdateOnNextPaint so we'll wait for the next paint instead of painting white. 33038 330392011-10-19 Beth Dakin <bdakin@apple.com> 33040 33041 https://bugs.webkit.org/show_bug.cgi?id=70396 33042 Focus rings are too thin in HiDPI in WebKit2 33043 -and corresponding- 33044 <rdar://problem/10086876> 33045 33046 Reviewed by Dan Bernstein. 33047 33048 Rename wkSetPatternBaseCTM to wkSetBaseCTM 33049 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 33050 (InitWebCoreSystemInterface): 33051 33052 When setting up a HiDPI context, we must also set the base CTM. 33053 * WebProcess/WebPage/DrawingAreaImpl.cpp: 33054 (WebKit::DrawingAreaImpl::display): 33055 * WebProcess/WebPage/WebPage.cpp: 33056 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): 33057 (WebKit::WebPage::snapshotInViewCoordinates): 33058 330592011-10-19 Sam Weinig <sam@webkit.org> 33060 33061 Add skeleton of an Objective-C WebKit2 API 33062 https://bugs.webkit.org/show_bug.cgi?id=70438 33063 33064 Reviewed by Anders Carlsson. 33065 33066 Adds WKBrowsingContextController (WKPageRef wrapper) and WKProcessCluster 33067 (WKContextRef wrapper) as initial files of an Objective-C WebKit2 API. Also, 33068 hook them up so that you can get a WKBrowsingContextController from the WKView 33069 and you can create a WKView associated with a WKProcessCluster. These names are 33070 not final, and this work is mainly about getting the wrapper lifetimes worked 33071 out. 33072 33073 * UIProcess/API/mac/WKBrowsingContextController.h: Added. 33074 * UIProcess/API/mac/WKBrowsingContextController.mm: Added. 33075 (-[WKBrowsingContextController dealloc]): 33076 (-[WKBrowsingContextController pageRef]): 33077 (-[WKBrowsingContextController loadRequest:]): 33078 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]): 33079 (-[WKBrowsingContextController stopLoading]): 33080 (-[WKBrowsingContextController reload]): 33081 (-[WKBrowsingContextController reloadFromOrigin]): 33082 (-[WKBrowsingContextController goForward]): 33083 (-[WKBrowsingContextController canGoForward]): 33084 (-[WKBrowsingContextController goBack]): 33085 (-[WKBrowsingContextController canGoBack]): 33086 (-[WKBrowsingContextController initWithPageRef:]): 33087 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added. 33088 Add wrapper for WKPageRef. 33089 33090 * UIProcess/API/mac/WKProcessCluster.h: Added. 33091 * UIProcess/API/mac/WKProcessCluster.mm: Added. 33092 (-[WKProcessCluster init]): 33093 (-[WKProcessCluster initWithInjectedBundleURL:]): 33094 (-[WKProcessCluster dealloc]): 33095 (-[WKProcessCluster contextRef]): 33096 * UIProcess/API/mac/WKProcessClusterInternal.h: Added. 33097 Add wrapper for WKContextRef. 33098 33099 * UIProcess/API/mac/WKView.h: 33100 * UIProcess/API/mac/WKView.mm: 33101 (-[WKView initWithFrame:processCluster:]): 33102 Add new init method which takes a WKProcessCluster. 33103 33104 (-[WKView browsingContextController]): 33105 Add accessor for the WKBrowsingContextController. This works by lazily creating 33106 the wrapper and caching it in the view itself. 33107 33108 * WebKit2.xcodeproj/project.pbxproj: 33109 Add new files. 33110 331112011-10-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 33112 33113 [Qt] [WK2] Rename files and classes to follow conventions 33114 https://bugs.webkit.org/show_bug.cgi?id=70391 33115 33116 Reviewed by Noam Rosenthal. 33117 33118 Rename the files and classes following the agreed conventions on 33119 QtWebKit mailing list -- which are based on existing usage we have. 33120 33121 - Public API follow Qt conventions: qsomething.cpp qsomething.h with class named QSomething 33122 33123 - Private classes for public API classes follow Qt conventions: 33124 qsomething_p.h qsomething_p.cpp (if needed), with class named QSomethingPrivate 33125 33126 - Subclasses and Qt-specific implementations of WebKit/WebCore classes use Qt suffix: 33127 FrameLoaderClientQt.cpp 33128 33129 - Other classes created for using in our port use Qt prefix: QtFileDownloader, QtViewInterface 33130 33131 This is documented in https://trac.webkit.org/wiki/QtWebKitHacking 33132 33133 * UIProcess/API/qt/qdesktopwebview.cpp: 33134 (QDesktopWebViewPrivate::chooseFiles): 33135 (toPolicyAction): 33136 (QDesktopWebViewPrivate::navigationPolicyForURL): 33137 * UIProcess/API/qt/qdesktopwebview_p.h: 33138 * UIProcess/API/qt/qtouchwebpage.cpp: 33139 (QTouchWebPage::updatePaintNode): 33140 (QTouchWebPagePrivate::setPage): 33141 * UIProcess/API/qt/qtouchwebpage.h: 33142 * UIProcess/API/qt/qtouchwebpage_p.h: 33143 * UIProcess/API/qt/qtouchwebview.cpp: 33144 (QTouchWebViewPrivate::updateViewportConstraints): 33145 * UIProcess/API/qt/qtouchwebview.h: 33146 * UIProcess/API/qt/qtouchwebview_p.h: 33147 * UIProcess/TiledDrawingAreaProxy.h: 33148 * UIProcess/qt/ClientImpl.cpp: 33149 (toQtViewInterface): 33150 (toQtPolicyInterface): 33151 (qt_wk_runJavaScriptAlert): 33152 (qt_wk_runJavaScriptConfirm): 33153 (qt_wk_runJavaScriptPrompt): 33154 (qt_wk_setStatusText): 33155 (qt_wk_runOpenPanel): 33156 (qt_wk_mouseDidMoveOverElement): 33157 (qt_wk_decidePolicyForNavigationAction): 33158 * UIProcess/qt/QtDesktopWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.cpp. 33159 (dragOperationToDropAction): 33160 (QtDesktopWebPageProxy::QtDesktopWebPageProxy): 33161 (QtDesktopWebPageProxy::createDrawingAreaProxy): 33162 (QtDesktopWebPageProxy::paintContent): 33163 (QtDesktopWebPageProxy::setViewportArguments): 33164 (QtDesktopWebPageProxy::doneWithTouchEvent): 33165 (QtDesktopWebPageProxy::createPopupMenuProxy): 33166 (QtDesktopWebPageProxy::handleEvent): 33167 (QtDesktopWebPageProxy::handleMouseMoveEvent): 33168 (QtDesktopWebPageProxy::handleMousePressEvent): 33169 (QtDesktopWebPageProxy::handleMouseReleaseEvent): 33170 (QtDesktopWebPageProxy::handleMouseDoubleClickEvent): 33171 (QtDesktopWebPageProxy::handleWheelEvent): 33172 (QtDesktopWebPageProxy::handleHoverLeaveEvent): 33173 (QtDesktopWebPageProxy::handleHoverMoveEvent): 33174 (QtDesktopWebPageProxy::handleDragEnterEvent): 33175 (QtDesktopWebPageProxy::handleDragLeaveEvent): 33176 (QtDesktopWebPageProxy::handleDragMoveEvent): 33177 (QtDesktopWebPageProxy::handleDropEvent): 33178 (QtDesktopWebPageProxy::timerEvent): 33179 * UIProcess/qt/QtDesktopWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.h. 33180 * UIProcess/qt/QtGestureRecognizer.cpp: 33181 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 33182 * UIProcess/qt/QtGestureRecognizer.h: 33183 * UIProcess/qt/QtPanGestureRecognizer.cpp: 33184 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 33185 * UIProcess/qt/QtPanGestureRecognizer.h: 33186 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 33187 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer): 33188 * UIProcess/qt/QtPinchGestureRecognizer.h: 33189 * UIProcess/qt/QtPolicyInterface.h: Renamed from Source/WebKit2/UIProcess/qt/PolicyInterface.h. 33190 * UIProcess/qt/QtSGTileNode.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.cpp. 33191 (WebKit::QtSGTileNode::QtSGTileNode): 33192 (WebKit::QtSGTileNode::setBackBuffer): 33193 (WebKit::QtSGTileNode::swapBuffersIfNeeded): 33194 * UIProcess/qt/QtSGTileNode.h: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.h. 33195 * UIProcess/qt/QtSGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.cpp. 33196 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile): 33197 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile): 33198 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer): 33199 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers): 33200 (WebKit::QtSGUpdateQueue::QtSGUpdateQueue): 33201 (WebKit::QtSGUpdateQueue::createTileNode): 33202 (WebKit::QtSGUpdateQueue::removeTileNode): 33203 (WebKit::QtSGUpdateQueue::setNodeBackBuffer): 33204 (WebKit::QtSGUpdateQueue::swapTileBuffers): 33205 (WebKit::QtSGUpdateQueue::applyUpdates): 33206 (WebKit::QtSGUpdateQueue::getScaleNode): 33207 * UIProcess/qt/QtSGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.h. 33208 (WebKit::QtSGUpdateQueue::isSwapPending): 33209 (WebKit::NodeUpdate::NodeUpdate): 33210 (WebKit::NodeUpdate::~NodeUpdate): 33211 * UIProcess/qt/QtTouchViewInterface.cpp: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp. 33212 (WebKit::QtTouchViewInterface::QtTouchViewInterface): 33213 (WebKit::QtTouchViewInterface::didFindZoomableArea): 33214 (WebKit::QtTouchViewInterface::sceneGraphUpdateQueue): 33215 (WebKit::QtTouchViewInterface::setViewNeedsDisplay): 33216 (WebKit::QtTouchViewInterface::drawingAreaSize): 33217 (WebKit::QtTouchViewInterface::contentSizeChanged): 33218 (WebKit::QtTouchViewInterface::isActive): 33219 (WebKit::QtTouchViewInterface::hasFocus): 33220 (WebKit::QtTouchViewInterface::isVisible): 33221 (WebKit::QtTouchViewInterface::startDrag): 33222 (WebKit::QtTouchViewInterface::didReceiveViewportArguments): 33223 (WebKit::QtTouchViewInterface::didChangeUrl): 33224 (WebKit::QtTouchViewInterface::didChangeTitle): 33225 (WebKit::QtTouchViewInterface::didChangeToolTip): 33226 (WebKit::QtTouchViewInterface::didChangeStatusText): 33227 (WebKit::QtTouchViewInterface::didChangeCursor): 33228 (WebKit::QtTouchViewInterface::loadDidBegin): 33229 (WebKit::QtTouchViewInterface::loadDidCommit): 33230 (WebKit::QtTouchViewInterface::loadDidSucceed): 33231 (WebKit::QtTouchViewInterface::loadDidFail): 33232 (WebKit::QtTouchViewInterface::didChangeLoadProgress): 33233 (WebKit::QtTouchViewInterface::showContextMenu): 33234 (WebKit::QtTouchViewInterface::hideContextMenu): 33235 (WebKit::QtTouchViewInterface::runJavaScriptAlert): 33236 (WebKit::QtTouchViewInterface::runJavaScriptConfirm): 33237 (WebKit::QtTouchViewInterface::runJavaScriptPrompt): 33238 (WebKit::QtTouchViewInterface::processDidCrash): 33239 (WebKit::QtTouchViewInterface::didRelaunchProcess): 33240 (WebKit::QtTouchViewInterface::engine): 33241 * UIProcess/qt/QtTouchViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.h. 33242 (WebKit::QtTouchViewInterface::chooseFiles): 33243 (WebKit::QtTouchViewInterface::didMouseMoveOverElement): 33244 * UIProcess/qt/QtTouchWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.cpp. 33245 (QtTouchWebPageProxy::QtTouchWebPageProxy): 33246 (QtTouchWebPageProxy::createDrawingAreaProxy): 33247 (QtTouchWebPageProxy::processDidCrash): 33248 (QtTouchWebPageProxy::paintContent): 33249 (QtTouchWebPageProxy::doneWithTouchEvent): 33250 (QtTouchWebPageProxy::handleEvent): 33251 (QtTouchWebPageProxy::setVisibleContentRectAndScale): 33252 (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector): 33253 (QtTouchWebPageProxy::setResizesToContentsUsingLayoutSize): 33254 (QtTouchWebPageProxy::touchEvent): 33255 (QtTouchWebPageProxy::findZoomableAreaForPoint): 33256 (QtTouchWebPageProxy::renderNextFrame): 33257 * UIProcess/qt/QtTouchWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h. 33258 (QtTouchWebPageProxy::touchViewInterface): 33259 (QtTouchWebPageProxy::drawingArea): 33260 * UIProcess/qt/QtViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/ViewInterface.h. 33261 * UIProcess/qt/QtViewportInteractionEngine.cpp: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.cpp. 33262 (WebKit::visibleRectInContentCoordinate): 33263 (WebKit::contentRectInViewportCoordinate): 33264 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard): 33265 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard): 33266 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine): 33267 (WebKit::QtViewportInteractionEngine::~QtViewportInteractionEngine): 33268 (WebKit::QtViewportInteractionEngine::reset): 33269 (WebKit::QtViewportInteractionEngine::setConstraints): 33270 (WebKit::QtViewportInteractionEngine::panGestureStarted): 33271 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate): 33272 (WebKit::QtViewportInteractionEngine::panGestureCancelled): 33273 (WebKit::QtViewportInteractionEngine::panGestureEnded): 33274 (WebKit::QtViewportInteractionEngine::pinchGestureStarted): 33275 (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate): 33276 (WebKit::QtViewportInteractionEngine::pinchGestureEnded): 33277 (WebKit::QtViewportInteractionEngine::contentViewportChanged): 33278 (WebKit::QtViewportInteractionEngine::updateContentIfNeeded): 33279 (WebKit::QtViewportInteractionEngine::updateContentScaleIfNeeded): 33280 (WebKit::QtViewportInteractionEngine::updateContentPositionIfNeeded): 33281 (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 33282 (WebKit::QtViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded): 33283 (WebKit::QtViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded): 33284 (WebKit::QtViewportInteractionEngine::scaleContent): 33285 * UIProcess/qt/QtViewportInteractionEngine.h: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.h. 33286 (WebKit::QtViewportInteractionEngine::Constraints::Constraints): 33287 (WebKit::operator==): 33288 * UIProcess/qt/QtWebPageProxy.cpp: 33289 (QtWebPageProxy::QtWebPageProxy): 33290 (QtWebPageProxy::registerEditCommand): 33291 * UIProcess/qt/QtWebPageProxy.h: 33292 * UIProcess/qt/QtWebUndoCommand.cpp: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.cpp. 33293 (QtWebUndoCommand::QtWebUndoCommand): 33294 (QtWebUndoCommand::~QtWebUndoCommand): 33295 (QtWebUndoCommand::redo): 33296 (QtWebUndoCommand::undo): 33297 * UIProcess/qt/QtWebUndoCommand.h: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.h. 33298 (QtWebUndoCommand::inUndoRedo): 33299 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 33300 (WebKit::TiledDrawingAreaProxy::updateWebView): 33301 * UIProcess/qt/WebContextMenuProxyQt.cpp: 33302 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 33303 (WebKit::WebContextMenuProxyQt::create): 33304 * UIProcess/qt/WebContextMenuProxyQt.h: 33305 * WebKit2.pro: 33306 333072011-10-19 Tomasz Morawski <t.morawski@samsung.com> 33308 33309 [EFL][WK2] Added missing dummy interpretKeyEvent function 33310 https://bugs.webkit.org/show_bug.cgi?id=70311 33311 33312 Reviewed by Ryosuke Niwa. 33313 33314 Added missing dummy interpretKeyEvent function needed to compile WK2. 33315 33316 * WebProcess/WebPage/efl/WebPageEfl.cpp: 33317 (WebKit::WebPage::interpretKeyEvent): 33318 333192011-10-18 Sam Weinig <sam@webkit.org> 33320 33321 Move uses of C SPI out of WKView.h and into WKViewPrivate.h 33322 https://bugs.webkit.org/show_bug.cgi?id=70387 33323 33324 Reviewed by Dan Bernstein. 33325 33326 * UIProcess/API/mac/WKViewPrivate.h: 33327 Move declarations here. 33328 33329 * UIProcess/API/mac/WKView.h: 33330 * UIProcess/API/mac/WKView.mm: 33331 (-[WKView _updateRemoteAccessibilityRegistration:]): 33332 (-[WKView initWithFrame:]): 33333 (-[WKView initWithFrame:contextRef:]): 33334 (-[WKView _registerDraggedTypes]): 33335 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 33336 (-[WKView pageRef]): 33337 (-[WKView canChangeFrameLayout:]): 33338 (-[WKView printOperationWithPrintInfo:forFrame:]): 33339 (-[WKView setFrame:andScrollBy:]): 33340 Move definitions to private category. 33341 33342 * UIProcess/API/mac/PDFViewController.mm: 33343 * UIProcess/mac/WKFullScreenWindowController.mm: 33344 * UIProcess/mac/WebInspectorProxyMac.mm: 33345 Update to include WKViewPrivate.h where necessary. 33346 333472011-10-18 Sam Weinig <sam@webkit.org> 33348 33349 Stop leaking internal names in WKView API header 33350 https://bugs.webkit.org/show_bug.cgi?id=70380 33351 33352 Reviewed by Anders Carlsson. 33353 33354 Move _frameSizeUpdatesDisabledCount to WKViewData. Since we cannot change the size of 33355 WKView due to the fragile Objective-C ABI, we must rename the existing variable unused. If 33356 drop 32-bit support, we will be able to remove it. 33357 33358 * UIProcess/API/mac/WKView.h: 33359 * UIProcess/API/mac/WKView.mm: 33360 (-[WKView disableFrameSizeUpdates]): 33361 (-[WKView enableFrameSizeUpdates]): 33362 (-[WKView frameSizeUpdatesDisabled]): 33363 * WebKit2.xcodeproj/project.pbxproj: 33364 333652011-10-18 Alexey Proskuryakov <ap@apple.com> 33366 33367 Expose PDF information in hit test result 33368 https://bugs.webkit.org/show_bug.cgi?id=70353 33369 33370 Reviewed by Sam Weinig. 33371 33372 * Shared/WebHitTestResult.cpp: 33373 (WebKit::WebHitTestResult::Data::encode): 33374 (WebKit::WebHitTestResult::Data::decode): 33375 * Shared/WebHitTestResult.h: 33376 (WebKit::WebHitTestResult::absolutePDFURL): 33377 * UIProcess/API/C/WKHitTestResult.cpp: 33378 (WKHitTestResultCopyAbsolutePDFURL): 33379 * UIProcess/API/C/WKHitTestResult.h: 33380 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 33381 (WKBundleHitTestResultCopyAbsolutePDFURL): 33382 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 33383 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 33384 (WebKit::InjectedBundleHitTestResult::absolutePDFURL): 33385 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 33386 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 33387 (WebKit::WebChromeClient::mouseDidMoveOverElement): 33388 Pass through PDF URL from hit testing to injected bundle client. 33389 333902011-10-18 Enrica Casucci <enrica@apple.com> 33391 33392 Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101 33393 https://bugs.webkit.org/show_bug.cgi?id=70340 33394 <rdar://problem/9548174> 33395 33396 We have seen a number of crash reports for this issue that seem to occurr when 33397 the user drags an image from a web page onto the desktop. 33398 We have not been able to reproduce this crash, therefore this is a speculative fix, 33399 but the theory is that the dragging source has been already released when draggedImage 33400 is called. 33401 This patch attempts a fix for the problem by retaining the dragging source when 33402 NSFilePromiseDragSource is created. 33403 33404 Reviewed by Darin Adler. 33405 33406 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 33407 (-[WKPasteboardFilePromiseOwner initWithSource:]): 33408 (-[WKPasteboardFilePromiseOwner dealloc]): 33409 334102011-10-18 Alexey Proskuryakov <ap@apple.com> 33411 33412 [WK2] Crash after storing credentials in Keychain 33413 https://bugs.webkit.org/show_bug.cgi?id=70376 33414 <rdar://problem/9647503> 33415 33416 Reviewed by Dan Bernstein. 33417 33418 * Shared/mac/SecKeychainItemResponseData.cpp: 33419 (WebKit::SecKeychainItemResponseData::encode): 33420 (WebKit::SecKeychainItemResponseData::decode): 33421 Actually send keychain item over, too. In shimSecKeychainItemCreateFromContent(), we are 33422 going to use it to override SecKeychainItemCreateFromContent(), and we cannot return noErr 33423 from this function without returning a non-null keychain item. 33424 334252011-10-18 Damian Kaleta <dkaleta@apple.com> 33426 33427 This revised fix doesn't break SL build. 33428 https://bugs.webkit.org/show_bug.cgi?id=70345 33429 33430 Reviewed and landed by Sam Weinig. 33431 33432 * UIProcess/API/mac/WKView.mm: 33433 (+[WKView hideWordDefinitionWindow]): Hides the definition window. 33434 * UIProcess/API/mac/WKViewPrivate.h: 33435 334362011-10-18 Sam Weinig <sam@webkit.org> 33437 33438 Move spellCheckerDocumentTag and handleCorrectionPanelResult from WKViewPrivate to WKViewInternal 33439 https://bugs.webkit.org/show_bug.cgi?id=70377 33440 33441 Reviewed by Anders Carlsson. 33442 33443 * UIProcess/API/mac/WKView.mm: 33444 (-[WKView spellCheckerDocumentTag]): 33445 (-[WKView handleCorrectionPanelResult:]): 33446 Move definition of methods to (Internal) area. 33447 33448 * UIProcess/API/mac/WKViewInternal.h: 33449 Add methods. 33450 33451 * UIProcess/API/mac/WKViewPrivate.h: 33452 Remove methods. 33453 33454 * UIProcess/cf/WebBackForwardListCF.cpp: 33455 Add missing newline. 33456 33457 * UIProcess/mac/CorrectionPanel.mm: 33458 Change #include to WKViewInternal.h 33459 33460 * WebKit2.xcodeproj/project.pbxproj: 33461 Sort some files. 33462 334632011-10-18 Sam Weinig <sam@webkit.org> 33464 33465 Move WKView helper files into a sub-group 33466 https://bugs.webkit.org/show_bug.cgi?id=70375 33467 33468 Reviewed by Darin Adler. 33469 33470 * WebKit2.xcodeproj/project.pbxproj: 33471 Move some files around. 33472 334732011-10-18 Sheriff Bot <webkit.review.bot@gmail.com> 33474 33475 Unreviewed, rolling out r97788. 33476 http://trac.webkit.org/changeset/97788 33477 https://bugs.webkit.org/show_bug.cgi?id=70366 33478 33479 broke compile (Requested by inferno-sec on #webkit). 33480 33481 * UIProcess/API/mac/WKView.mm: 33482 * UIProcess/API/mac/WKViewPrivate.h: 33483 334842011-10-18 Damian Kaleta <dkaleta@apple.com> 33485 33486 Add WebKit API to hide the definition window 33487 https://bugs.webkit.org/show_bug.cgi?id=70345 33488 33489 Reviewed by Anders Carlsson. 33490 33491 * UIProcess/API/mac/WKView.mm: 33492 (-[WKView hideWordDefinitionWindow]): Hides the definition window. 33493 * UIProcess/API/mac/WKViewPrivate.h: 33494 334952011-10-18 Adam Barth <abarth@webkit.org> 33496 33497 Always enable ENABLE(XPATH) 33498 https://bugs.webkit.org/show_bug.cgi?id=70217 33499 33500 Reviewed by Eric Seidel. 33501 33502 * Configurations/FeatureDefines.xcconfig: 33503 335042011-10-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 33505 33506 [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin 33507 33508 We don't need a separate plugin, as we no longer expose the WK2 33509 APIs under QtWebKit.experimental, but now use QtWebKit. The version 33510 was also changed to 3.0 instead of 5.0, as the original plugin was 33511 versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases. 33512 33513 Reviewed by Andreas Kling. 33514 33515 * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed. 33516 * UIProcess/API/qt/qmlplugin/qmldir: Removed. 33517 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed. 33518 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: 33519 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: 33520 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: 33521 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: 33522 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: 33523 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: 33524 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: 33525 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: 33526 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: 33527 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: 33528 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: 33529 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: 33530 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: 33531 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: 33532 335332011-10-18 Dinu Jacob <dinu.jacob@nokia.com> 33534 33535 [Qt][WK2] ASSERT when displaying context menu in input field 33536 https://bugs.webkit.org/show_bug.cgi?id=69859 33537 33538 Reviewed by Simon Hausmann. 33539 33540 When creating a submenu in the context menu, the submenu of type 33541 QWidget is statically cast to QObject before calling setParent on 33542 it. QObject::setParent asserts if the object is a QWidget. So, call 33543 setParent of QWidget itself. 33544 33545 * UIProcess/qt/WebContextMenuProxyQt.cpp: 33546 (WebKit::WebContextMenuProxyQt::createContextMenu): 33547 335482011-10-18 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 33549 33550 [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot 33551 https://bugs.webkit.org/show_bug.cgi?id=70329 33552 33553 Reviewed by Andreas Kling. 33554 33555 Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent, 33556 but I'm getting strange results with tryCompare(). This commit also adds an extra check 33557 to make sure the hovered link is the correct one. 33558 33559 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: 33560 335612011-10-18 Alexis Menard <alexis.menard@openbossa.org> 33562 33563 [Qt][WK2] Some QML tests were accidentally committed. 33564 https://bugs.webkit.org/show_bug.cgi?id=70321 33565 33566 Reviewed by Andreas Kling. 33567 33568 These tests were committed by accident. They should not be there. 33569 33570 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: 33571 335722011-10-18 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 33573 33574 [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView 33575 https://bugs.webkit.org/show_bug.cgi?id=70297 33576 33577 Reviewed by Simon Hausmann. 33578 33579 Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but 33580 WebKit doesn't make the difference, so we need to create move events for them. 33581 33582 While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit 33583 different because we want to emulate that the mouse is not only leaving the current node, but 33584 completely leaving the whole document. The way to do this is to manufacture a move event with 33585 a very far position, and was inspired by WebView::handleMouseEvent() in 33586 Source/WebKit/win/WebView.cpp. 33587 33588 This patch fixes DesktopWebViewLinkHovered QML tests. 33589 33590 * UIProcess/qt/qdesktopwebpageproxy.cpp: 33591 (QDesktopWebPageProxy::handleEvent): 33592 (QDesktopWebPageProxy::handleHoverLeaveEvent): 33593 * UIProcess/qt/qdesktopwebpageproxy.h: 33594 335952011-10-18 Alexis Menard <alexis.menard@openbossa.org> 33596 33597 [Qt][WK2] WebPreferences are impossible to use in QML. 33598 https://bugs.webkit.org/show_bug.cgi?id=70141 33599 33600 Reviewed by Kenneth Rohde Christiansen. 33601 33602 Make it possible to use qwkpreferences in QML. Renamed it 33603 to follow our new style regarding class names. This class is 33604 now a QObject that is exposed as a property of the view. 33605 The tests give an idea of the usage. 33606 33607 * UIProcess/API/qt/WKView.h: 33608 * UIProcess/API/qt/qdesktopwebview.cpp: 33609 (QDesktopWebView::preferences): 33610 * UIProcess/API/qt/qdesktopwebview.h: 33611 * UIProcess/API/qt/qmlplugin/plugin.cpp: 33612 (WebKit2QmlPlugin::registerTypes): 33613 * UIProcess/API/qt/qtouchwebpage.cpp: 33614 (QTouchWebPage::preferences): 33615 * UIProcess/API/qt/qtouchwebpage.h: 33616 * UIProcess/API/qt/qwebpreferences.cpp: Added. 33617 (QWebPreferencesPrivate::createPreferences): 33618 (QWebPreferencesPrivate::testAttribute): 33619 (QWebPreferencesPrivate::setAttribute): 33620 (QWebPreferencesPrivate::setFontFamily): 33621 (QWebPreferencesPrivate::fontFamily): 33622 (QWebPreferencesPrivate::setFontSize): 33623 (QWebPreferencesPrivate::fontSize): 33624 (QWebPreferences::QWebPreferences): 33625 (QWebPreferences::~QWebPreferences): 33626 (QWebPreferences::autoLoadImages): 33627 (QWebPreferences::setAutoLoadImages): 33628 (QWebPreferences::javascriptEnabled): 33629 (QWebPreferences::setJavascriptEnabled): 33630 (QWebPreferences::pluginsEnabled): 33631 (QWebPreferences::setPluginsEnabled): 33632 (QWebPreferences::offlineWebApplicationCacheEnabled): 33633 (QWebPreferences::setOfflineWebApplicationCacheEnabled): 33634 (QWebPreferences::localStorageEnabled): 33635 (QWebPreferences::setLocalStorageEnabled): 33636 (QWebPreferences::XSSAuditingEnabled): 33637 (QWebPreferences::setXSSAuditingEnabled): 33638 (QWebPreferences::privateBrowsingEnabled): 33639 (QWebPreferences::setPrivateBrowsingEnabled): 33640 (QWebPreferences::dnsPrefetchEnabled): 33641 (QWebPreferences::setDnsPrefetchEnabled): 33642 (QWebPreferences::standardFontFamily): 33643 (QWebPreferences::setStandardFontFamily): 33644 (QWebPreferences::fixedFontFamily): 33645 (QWebPreferences::setFixedFontFamily): 33646 (QWebPreferences::serifFontFamily): 33647 (QWebPreferences::setSerifFontFamily): 33648 (QWebPreferences::sansSerifFontFamily): 33649 (QWebPreferences::setSansSerifFontFamily): 33650 (QWebPreferences::cursiveFontFamily): 33651 (QWebPreferences::setCursiveFontFamily): 33652 (QWebPreferences::fantasyFontFamily): 33653 (QWebPreferences::setFantasyFontFamily): 33654 (QWebPreferences::minimumFontSize): 33655 (QWebPreferences::setMinimumFontSize): 33656 (QWebPreferences::defaultFontSize): 33657 (QWebPreferences::setDefaultFontSize): 33658 (QWebPreferences::defaultFixedFontSize): 33659 (QWebPreferences::setDefaultFixedFontSize): 33660 * UIProcess/API/qt/qwebpreferences.h: Added. 33661 * UIProcess/API/qt/qwebpreferences_p.h: Added. 33662 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added. 33663 * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added. 33664 * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added. 33665 * UIProcess/qt/QtWebPageProxy.cpp: 33666 (QtWebPageProxy::preferences): 33667 * UIProcess/qt/QtWebPageProxy.h: 33668 * UIProcess/qt/qwkpreferences.cpp: Removed. 33669 * UIProcess/qt/qwkpreferences.h: Removed. 33670 * UIProcess/qt/qwkpreferences_p.h: Removed. 33671 * WebKit2.pro: 33672 * WebKit2API.pri: 33673 336742011-10-18 Tomasz Morawski <t.morawski@samsung.com> 33675 33676 [EFL][WK2] Fix compilation error by include WebErrors.h file. 33677 https://bugs.webkit.org/show_bug.cgi?id=70309 33678 33679 Unreviewed build fix 33680 33681 Added a header file to fix compilation error. 33682 33683 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 33684 336852011-10-18 Adenilson Cavalcanti <adenilson.silva@openbossa.org> 33686 33687 [Qt][WK2] Implement geolocation provider for qt port 33688 https://bugs.webkit.org/show_bug.cgi?id=59199 33689 33690 Reviewed by Simon Hausmann. 33691 33692 Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com> 33693 33694 Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt), 33695 allowing QtWebKit clients to implement or override their own provider using WK2 APIs. 33696 33697 * UIProcess/API/C/WKGeolocationManager.h: 33698 * UIProcess/qt/WebContextQt.cpp: 33699 (WebKit::WebContext::platformInitializeWebProcess): 33700 * UIProcess/qt/WebGeolocationProviderQt.cpp: Added. 33701 (toLocationProvider): 33702 (locationStartUpdating): 33703 (locationStopUpdating): 33704 (WebGeolocationProviderQt::create): 33705 (WebGeolocationProviderQt::provider): 33706 (WebGeolocationProviderQt::WebGeolocationProviderQt): 33707 (WebGeolocationProviderQt::~WebGeolocationProviderQt): 33708 (WebGeolocationProviderQt::updateTimeout): 33709 (WebGeolocationProviderQt::positionUpdated): 33710 (WebGeolocationProviderQt::startUpdating): 33711 (WebGeolocationProviderQt::stopUpdating): 33712 * UIProcess/qt/WebGeolocationProviderQt.h: Added. 33713 * WebKit2.pro: 33714 337152011-10-18 Carlos Garcia Campos <cgarcia@igalia.com> 33716 33717 [UNIX] Use SOCK_SEQPACKET when available 33718 https://bugs.webkit.org/show_bug.cgi?id=61287 33719 33720 Reviewed by Darin Adler. 33721 33722 Sockets of type SEQPACKET are actually DGRAM sockets but that 33723 notifies the other end when the connection is closed. When 33724 SEQPACKET sockets are not available GTK+ port uses STREAM sockets 33725 while Qt port uses DGRAM sockets. 33726 33727 * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible. 33728 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 33729 (WebKit::ProcessLauncher::launchProcess): Ditto. 33730 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 33731 (WebKit::ProcessLauncher::launchProcess): Ditto. 33732 337332011-10-17 Jon Lee <jonlee@apple.com> 33734 33735 Filtering of URLs when serializing back forward list saves bad current index value 33736 https://bugs.webkit.org/show_bug.cgi?id=70282 33737 <rdar://problem/10057763> 33738 33739 Reviewed by Sam Weinig. 33740 33741 When reading the serialized b-f list, perform a sanity check on the current index. 33742 If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of 33743 the list. 33744 33745 When serializing the b-f list, currentIndex can be negative in the case where the list 33746 has one item only, and that item gets filtered out. In this instance currentIndex should 33747 just be -1. A crashing case showed an index that was more negative, a situation that I 33748 could not replicate. Since this value will get cleaned up when the b-f list is restored, 33749 I just strengthened the assertion to check for a more negative index in case we run into it again. 33750 33751 * UIProcess/cf/WebBackForwardListCF.cpp: 33752 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion 33753 in case we go beyond NoCurrentItemIndex (which, as an int, is -1). 33754 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 33755 337562011-10-14 Chris Marrin <cmarrin@apple.com> 33757 33758 Throttle rate of requestAnimationFrame when page is not visible 33759 https://bugs.webkit.org/show_bug.cgi?id=67873 33760 33761 Reviewed by Anders Carlsson. 33762 33763 Plumb through notification when the window is hidden/shown or 33764 minimized/unminimized 33765 33766 * WebProcess/WebPage/DrawingAreaImpl.cpp: 33767 (WebKit::DrawingAreaImpl::suspendPainting): 33768 (WebKit::DrawingAreaImpl::resumePainting): 33769 337702011-10-17 No'am Rosenthal <noam.rosenthal@nokia.com> 33771 33772 [Qt][WK2] Synchronize tiling with accelerated compositing 33773 https://bugs.webkit.org/show_bug.cgi?id=69151 33774 33775 Reviewed by Simon Hausmann. 33776 33777 Make the tiled "non-composited" content and the composited layers go through the same 33778 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited 33779 content and a seperate layer tree, we put everything in a layer tree, with the non- 33780 composited content being a layer in the tree. 33781 33782 This allows fixing several issues with websites that have large content areas that are 33783 composited or overlap with composited layers. 33784 33785 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost 33786 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has 33787 its own tiled backing store, and uses the LayerTreeHost communication channel to pass 33788 content up to the UI process. The UI process will later creates its own GraphicsLayer tree, 33789 based on TextureMapper, which can be painted directly with OpenGL. 33790 33791 Several optimizations are available for the non-composited layer as well, e.g. specifying 33792 a trajectory and updating the visible rect together with the content scale. 33793 33794 This code is currently disabled, a separate patch will enable it and glue it to 33795 QTouchWebPage. 33796 33797 * DerivedSources.pro: 33798 * Platform/CoreIPC/MessageID.h: 33799 * Scripts/webkit2/messages.py: 33800 * Shared/LayerTreeContext.h: 33801 * Shared/WebLayerTreeInfo.cpp: 33802 (WebKit::WebLayerInfo::encode): 33803 (WebKit::WebLayerInfo::decode): 33804 * Shared/WebLayerTreeInfo.h: 33805 * Shared/qt/LayerTreeContextQt.cpp: 33806 (WebKit::LayerTreeContext::LayerTreeContext): 33807 (WebKit::LayerTreeContext::~LayerTreeContext): 33808 (WebKit::LayerTreeContext::encode): 33809 (WebKit::LayerTreeContext::decode): 33810 (WebKit::LayerTreeContext::isEmpty): 33811 (WebKit::operator==): 33812 * UIProcess/DrawingAreaProxy.cpp: 33813 (WebKit::DrawingAreaProxy::updateWebView): 33814 (WebKit::DrawingAreaProxy::contentsRect): 33815 * UIProcess/DrawingAreaProxy.h: 33816 (WebKit::DrawingAreaProxy::viewportVisibleRect): 33817 (WebKit::DrawingAreaProxy::isBackingStoreReady): 33818 (WebKit::DrawingAreaProxy::paintToCurrentGLContext): 33819 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale): 33820 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector): 33821 (WebKit::DrawingAreaProxy::createTileForLayer): 33822 (WebKit::DrawingAreaProxy::updateTileForLayer): 33823 (WebKit::DrawingAreaProxy::removeTileForLayer): 33824 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage): 33825 (WebKit::DrawingAreaProxy::page): 33826 * UIProcess/DrawingAreaProxyImpl.cpp: 33827 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 33828 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage): 33829 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale): 33830 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector): 33831 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext): 33832 * UIProcess/DrawingAreaProxyImpl.h: 33833 * UIProcess/LayerTreeHostProxy.h: Added. 33834 (WebKit::LayerTreeHostProxy::layerByID): 33835 (WebKit::LayerTreeHostProxy::rootLayer): 33836 (WebKit::LayerTreeHostProxy::notifyAnimationStarted): 33837 (WebKit::LayerTreeHostProxy::notifySyncRequired): 33838 (WebKit::LayerTreeHostProxy::showDebugBorders): 33839 (WebKit::LayerTreeHostProxy::showRepaintCounter): 33840 (WebKit::LayerTreeHostProxy::paintContents): 33841 * UIProcess/LayerTreeHostProxy.messages.in: Added. 33842 * UIProcess/WebPageProxy.cpp: 33843 (WebKit::WebPageProxy::didReceiveMessage): 33844 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added. 33845 * WebKit2.pro: 33846 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 33847 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 33848 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 33849 (WebCore::WebGraphicsLayer::setChildren): 33850 (WebCore::WebGraphicsLayer::addChild): 33851 (WebCore::WebGraphicsLayer::addChildAtIndex): 33852 (WebCore::WebGraphicsLayer::addChildAbove): 33853 (WebCore::WebGraphicsLayer::addChildBelow): 33854 (WebCore::WebGraphicsLayer::replaceChild): 33855 (WebCore::WebGraphicsLayer::removeFromParent): 33856 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 33857 (WebCore::WebGraphicsLayer::setContentsToImage): 33858 (WebCore::WebGraphicsLayer::setNeedsDisplay): 33859 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 33860 (WebCore::WebGraphicsLayer::syncCompositingState): 33861 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 33862 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin): 33863 (WebCore::WebGraphicsLayer::setContentsScale): 33864 (WebCore::WebGraphicsLayer::setRootLayer): 33865 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 33866 (WebCore::WebGraphicsLayer::setVisibleContentRect): 33867 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 33868 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd): 33869 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed): 33870 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 33871 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 33872 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor): 33873 (WebCore::WebGraphicsLayer::createTile): 33874 (WebCore::WebGraphicsLayer::updateTile): 33875 (WebCore::WebGraphicsLayer::removeTile): 33876 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively): 33877 (WebCore::WebGraphicsLayer::layerTreeTileClient): 33878 (WebCore::WebGraphicsLayer::updateContentBuffers): 33879 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 33880 (WebCore::WebGraphicsLayer::setLayerTreeTileClient): 33881 * WebProcess/WebPage/DrawingArea.h: 33882 * WebProcess/WebPage/DrawingAreaImpl.cpp: 33883 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage): 33884 * WebProcess/WebPage/DrawingAreaImpl.h: 33885 * WebProcess/WebPage/LayerTreeHost.cpp: 33886 (WebKit::LayerTreeHost::create): 33887 * WebProcess/WebPage/LayerTreeHost.h: 33888 (WebKit::LayerTreeHost::setVisibleContentRectAndScale): 33889 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector): 33890 (WebKit::LayerTreeHost::setVisibleContentRectForLayer): 33891 (WebKit::LayerTreeHost::renderNextFrame): 33892 * WebProcess/WebPage/LayerTreeHost.messages.in: Added. 33893 * WebProcess/WebPage/TiledDrawingArea.cpp: 33894 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage): 33895 * WebProcess/WebPage/TiledDrawingArea.h: 33896 * WebProcess/WebPage/WebPage.cpp: 33897 (WebKit::WebPage::didReceiveMessage): 33898 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 33899 (WebKit::LayerTreeHostQt::create): 33900 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 33901 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 33902 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): 33903 (WebKit::LayerTreeHostQt::scheduleLayerFlush): 33904 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush): 33905 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush): 33906 (WebKit::LayerTreeHostQt::setRootCompositingLayer): 33907 (WebKit::LayerTreeHostQt::invalidate): 33908 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay): 33909 (WebKit::LayerTreeHostQt::scrollNonCompositedContents): 33910 (WebKit::LayerTreeHostQt::forceRepaint): 33911 (WebKit::LayerTreeHostQt::sizeDidChange): 33912 (WebKit::LayerTreeHostQt::didInstallPageOverlay): 33913 (WebKit::LayerTreeHostQt::didUninstallPageOverlay): 33914 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay): 33915 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 33916 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer): 33917 (WebKit::LayerTreeHostQt::didDeleteLayer): 33918 (WebKit::LayerTreeHostQt::performScheduledLayerFlush): 33919 (WebKit::LayerTreeHostQt::layerFlushTimerFired): 33920 (WebKit::LayerTreeHostQt::createPageOverlayLayer): 33921 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer): 33922 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 33923 (WebKit::LayerTreeHostQt::releaseImageBackingStore): 33924 (WebKit::LayerTreeHostQt::notifyAnimationStarted): 33925 (WebKit::LayerTreeHostQt::notifySyncRequired): 33926 (WebKit::LayerTreeHostQt::paintContents): 33927 (WebKit::LayerTreeHostQt::showDebugBorders): 33928 (WebKit::LayerTreeHostQt::showRepaintCounter): 33929 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 33930 (WebKit::LayerTreeHostQt::createTile): 33931 (WebKit::LayerTreeHostQt::updateTile): 33932 (WebKit::LayerTreeHostQt::removeTile): 33933 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer): 33934 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 33935 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector): 33936 (WebKit::LayerTreeHostQt::renderNextFrame): 33937 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed): 33938+ 33939 339402011-10-17 Ada Chan <adachan@apple.com> 33941 33942 Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess 33943 https://bugs.webkit.org/show_bug.cgi?id=70168 33944 33945 Reviewed by Alexey Proskuryakov. 33946 33947 * UIProcess/WebProcessProxy.cpp: 33948 (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess, 33949 since url may not point to a directory. 33950 339512011-10-17 Carlos Garcia Campos <cgarcia@igalia.com> 33952 33953 [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API 33954 https://bugs.webkit.org/show_bug.cgi?id=69524 33955 33956 Reviewed by Martin Robinson. 33957 33958 * UIProcess/API/gtk/WebKitWebView.cpp: 33959 (webkit_web_view_get_custom_charset): 33960 (webkit_web_view_set_custom_charset): 33961 * UIProcess/API/gtk/WebKitWebView.h: 33962 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 33963 (testWebViewCustomCharset): 33964 (beforeAll): 33965 339662011-10-14 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 33967 33968 [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient 33969 https://bugs.webkit.org/show_bug.cgi?id=69832 33970 33971 Reviewed by Kenneth Rohde Christiansen. 33972 33973 We implement decidePolicyForResponse in our PolicyClient in order to 33974 decide whether a given ResourceResponse should be downloaded or loaded. 33975 33976 * Shared/qt/WebCoreArgumentCodersQt.cpp: 33977 (CoreIPC::::encode): 33978 (CoreIPC::::decode): 33979 Implement serialization of ResourceResponse. 33980 33981 * UIProcess/qt/ClientImpl.cpp: 33982 (qt_wk_decidePolicyForResponse): 33983 * UIProcess/qt/ClientImpl.h: 33984 * UIProcess/qt/QtWebPageProxy.cpp: 33985 (QtWebPageProxy::init): 33986 339872011-10-17 Nayan Kumar K <nayankk@motorola.com> 33988 33989 [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI 33990 https://bugs.webkit.org/show_bug.cgi?id=70040 33991 33992 Reviewed by Martin Robinson. 33993 33994 * UIProcess/API/gtk/WebKitError.cpp: 33995 * UIProcess/API/gtk/WebKitError.h: 33996 339972011-10-16 Adam Barth <abarth@webkit.org> 33998 33999 Always enable ENABLE(DOM_STORAGE) 34000 https://bugs.webkit.org/show_bug.cgi?id=70189 34001 34002 Reviewed by Eric Seidel. 34003 34004 * Configurations/FeatureDefines.xcconfig: 34005 * WebProcess/WebPage/WebPage.cpp: 34006 (WebKit::WebPage::updatePreferences): 34007 * WebProcess/WebProcess.cpp: 34008 (WebKit::WebProcess::initializeWebProcess): 34009 340102011-10-15 Adam Barth <abarth@webkit.org> 34011 34012 Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE) 34013 https://bugs.webkit.org/show_bug.cgi?id=70194 34014 34015 Reviewed by Daniel Bates. 34016 34017 * Shared/DrawingAreaInfo.h: 34018 * UIProcess/DrawingAreaProxy.h: 34019 * UIProcess/DrawingAreaProxy.messages.in: 34020 * UIProcess/PageClient.h: 34021 * UIProcess/TiledDrawingAreaProxy.cpp: 34022 * UIProcess/TiledDrawingAreaProxy.h: 34023 * UIProcess/WebPageProxy.cpp: 34024 * UIProcess/WebPageProxy.h: 34025 * UIProcess/WebPageProxy.messages.in: 34026 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 34027 (WebKit::WebChromeClient::contentsSizeChanged): 34028 * WebProcess/WebCoreSupport/WebChromeClient.h: 34029 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34030 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 34031 * WebProcess/WebPage/DrawingArea.cpp: 34032 (WebKit::DrawingArea::create): 34033 * WebProcess/WebPage/DrawingArea.h: 34034 * WebProcess/WebPage/DrawingArea.messages.in: 34035 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 34036 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: 34037 * WebProcess/WebPage/TiledDrawingArea.cpp: 34038 * WebProcess/WebPage/TiledDrawingArea.h: 34039 * WebProcess/WebPage/WebPage.cpp: 34040 (WebKit::WebPage::setSize): 34041 * WebProcess/WebPage/WebPage.h: 34042 * WebProcess/WebPage/WebPage.messages.in: 34043 340442011-10-15 Sheriff Bot <webkit.review.bot@gmail.com> 34045 34046 Unreviewed, rolling out r97559. 34047 http://trac.webkit.org/changeset/97559 34048 https://bugs.webkit.org/show_bug.cgi?id=70176 34049 34050 Broke build on Mac (Requested by noamr_ on #webkit). 34051 34052 * DerivedSources.pro: 34053 * Platform/CoreIPC/MessageID.h: 34054 * Scripts/webkit2/messages.py: 34055 * Shared/LayerTreeContext.h: 34056 * Shared/WebLayerTreeInfo.cpp: 34057 (WebKit::WebLayerInfo::encode): 34058 (WebKit::WebLayerInfo::decode): 34059 * Shared/WebLayerTreeInfo.h: 34060 * Shared/qt/LayerTreeContextQt.cpp: 34061 (WebKit::LayerTreeContext::LayerTreeContext): 34062 (WebKit::LayerTreeContext::~LayerTreeContext): 34063 (WebKit::LayerTreeContext::encode): 34064 (WebKit::LayerTreeContext::decode): 34065 (WebKit::LayerTreeContext::isEmpty): 34066 (WebKit::operator==): 34067 * UIProcess/DrawingAreaProxy.cpp: 34068 * UIProcess/DrawingAreaProxy.h: 34069 * UIProcess/DrawingAreaProxyImpl.cpp: 34070 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 34071 * UIProcess/DrawingAreaProxyImpl.h: 34072 * UIProcess/LayerTreeHostProxy.h: Removed. 34073 * UIProcess/LayerTreeHostProxy.messages.in: Removed. 34074 * UIProcess/WebPageProxy.cpp: 34075 (WebKit::WebPageProxy::didReceiveMessage): 34076 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed. 34077 * WebKit2.pro: 34078 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 34079 (WebCore::deletedLayerIDs): 34080 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 34081 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 34082 (WebCore::WebGraphicsLayer::setChildren): 34083 (WebCore::WebGraphicsLayer::addChild): 34084 (WebCore::WebGraphicsLayer::addChildAtIndex): 34085 (WebCore::WebGraphicsLayer::addChildAbove): 34086 (WebCore::WebGraphicsLayer::addChildBelow): 34087 (WebCore::WebGraphicsLayer::replaceChild): 34088 (WebCore::WebGraphicsLayer::removeFromParent): 34089 (WebCore::WebGraphicsLayer::setContentsRect): 34090 (WebCore::WebGraphicsLayer::setContentsToImage): 34091 (WebCore::WebGraphicsLayer::setNeedsDisplay): 34092 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 34093 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 34094 (WebCore::WebGraphicsLayer::didSynchronize): 34095 (WebCore::WebGraphicsLayer::layerInfo): 34096 (WebCore::WebGraphicsLayer::syncCompositingState): 34097 (WebCore::WebGraphicsLayer::needsDisplayRect): 34098 (WebCore::WebGraphicsLayer::takeLayersToDelete): 34099 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 34100 (WebCore::divideIntoTiles): 34101 (WebCore::collectCompositingInfoForThisLayer): 34102 (WebCore::collectCompositingInfoRecursively): 34103 (WebCore::WebGraphicsLayer::sendLayersToUIProcess): 34104 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 34105 * WebProcess/WebPage/DrawingArea.h: 34106 * WebProcess/WebPage/DrawingAreaImpl.cpp: 34107 * WebProcess/WebPage/DrawingAreaImpl.h: 34108 * WebProcess/WebPage/LayerTreeHost.cpp: 34109 (WebKit::LayerTreeHost::create): 34110 * WebProcess/WebPage/LayerTreeHost.h: 34111 * WebProcess/WebPage/LayerTreeHost.messages.in: Removed. 34112 * WebProcess/WebPage/TiledDrawingArea.cpp: 34113 * WebProcess/WebPage/TiledDrawingArea.h: 34114 * WebProcess/WebPage/WebPage.cpp: 34115 (WebKit::WebPage::didReceiveMessage): 34116 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 34117 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed. 34118 341192011-10-15 No'am Rosenthal <noam.rosenthal@nokia.com> 34120 34121 [Qt][WK2] Synchronize tiling with accelerated compositing 34122 https://bugs.webkit.org/show_bug.cgi?id=69151 34123 34124 Reviewed by Simon Hausmann. 34125 34126 Make the tiled "non-composited" content and the composited layers go through the same 34127 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited 34128 content and a seperate layer tree, we put everything in a layer tree, with the non- 34129 composited content being a layer in the tree. 34130 34131 This allows fixing several issues with websites that have large content areas that are 34132 composited or overlap with composited layers. 34133 34134 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost 34135 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has 34136 its own tiled backing store, and uses the LayerTreeHost communication channel to pass 34137 content up to the UI process. The UI process will later creates its own GraphicsLayer tree, 34138 based on TextureMapper, which can be painted directly with OpenGL. 34139 34140 Several optimizations are available for the non-composited layer as well, e.g. specifying 34141 a trajectory and updating the visible rect together with the content scale. 34142 34143 This code is currently disabled, a separate patch will enable it and glue it to 34144 QTouchWebPage. 34145 34146 * DerivedSources.pro: 34147 * Platform/CoreIPC/MessageID.h: 34148 * Scripts/webkit2/messages.py: 34149 * Shared/LayerTreeContext.h: 34150 * Shared/WebLayerTreeInfo.cpp: 34151 (WebKit::WebLayerInfo::encode): 34152 (WebKit::WebLayerInfo::decode): 34153 * Shared/WebLayerTreeInfo.h: 34154 * Shared/qt/LayerTreeContextQt.cpp: 34155 (WebKit::LayerTreeContext::LayerTreeContext): 34156 (WebKit::LayerTreeContext::~LayerTreeContext): 34157 (WebKit::LayerTreeContext::encode): 34158 (WebKit::LayerTreeContext::decode): 34159 (WebKit::LayerTreeContext::isEmpty): 34160 (WebKit::operator==): 34161 * UIProcess/DrawingAreaProxy.cpp: 34162 (WebKit::DrawingAreaProxy::updateWebView): 34163 (WebKit::DrawingAreaProxy::contentsRect): 34164 * UIProcess/DrawingAreaProxy.h: 34165 (WebKit::DrawingAreaProxy::viewportVisibleRect): 34166 (WebKit::DrawingAreaProxy::isBackingStoreReady): 34167 (WebKit::DrawingAreaProxy::paintToCurrentGLContext): 34168 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale): 34169 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector): 34170 (WebKit::DrawingAreaProxy::createTileForLayer): 34171 (WebKit::DrawingAreaProxy::updateTileForLayer): 34172 (WebKit::DrawingAreaProxy::removeTileForLayer): 34173 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage): 34174 (WebKit::DrawingAreaProxy::page): 34175 * UIProcess/DrawingAreaProxyImpl.cpp: 34176 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 34177 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage): 34178 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale): 34179 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector): 34180 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext): 34181 * UIProcess/DrawingAreaProxyImpl.h: 34182 * UIProcess/LayerTreeHostProxy.h: Added. 34183 (WebKit::LayerTreeHostProxy::layerByID): 34184 (WebKit::LayerTreeHostProxy::rootLayer): 34185 (WebKit::LayerTreeHostProxy::notifyAnimationStarted): 34186 (WebKit::LayerTreeHostProxy::notifySyncRequired): 34187 (WebKit::LayerTreeHostProxy::showDebugBorders): 34188 (WebKit::LayerTreeHostProxy::showRepaintCounter): 34189 (WebKit::LayerTreeHostProxy::paintContents): 34190 * UIProcess/LayerTreeHostProxy.messages.in: Added. 34191 * UIProcess/WebPageProxy.cpp: 34192 (WebKit::WebPageProxy::didReceiveMessage): 34193 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added. 34194 * WebKit2.pro: 34195 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 34196 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 34197 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 34198 (WebCore::WebGraphicsLayer::setChildren): 34199 (WebCore::WebGraphicsLayer::addChild): 34200 (WebCore::WebGraphicsLayer::addChildAtIndex): 34201 (WebCore::WebGraphicsLayer::addChildAbove): 34202 (WebCore::WebGraphicsLayer::addChildBelow): 34203 (WebCore::WebGraphicsLayer::replaceChild): 34204 (WebCore::WebGraphicsLayer::removeFromParent): 34205 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 34206 (WebCore::WebGraphicsLayer::setContentsToImage): 34207 (WebCore::WebGraphicsLayer::setNeedsDisplay): 34208 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 34209 (WebCore::WebGraphicsLayer::syncCompositingState): 34210 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 34211 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin): 34212 (WebCore::WebGraphicsLayer::setContentsScale): 34213 (WebCore::WebGraphicsLayer::setRootLayer): 34214 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 34215 (WebCore::WebGraphicsLayer::setVisibleContentRect): 34216 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 34217 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd): 34218 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed): 34219 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 34220 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 34221 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor): 34222 (WebCore::WebGraphicsLayer::createTile): 34223 (WebCore::WebGraphicsLayer::updateTile): 34224 (WebCore::WebGraphicsLayer::removeTile): 34225 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively): 34226 (WebCore::WebGraphicsLayer::layerTreeTileClient): 34227 (WebCore::WebGraphicsLayer::updateContentBuffers): 34228 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 34229 (WebCore::WebGraphicsLayer::setLayerTreeTileClient): 34230 * WebProcess/WebPage/DrawingArea.h: 34231 * WebProcess/WebPage/DrawingAreaImpl.cpp: 34232 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage): 34233 * WebProcess/WebPage/DrawingAreaImpl.h: 34234 * WebProcess/WebPage/LayerTreeHost.cpp: 34235 (WebKit::LayerTreeHost::create): 34236 * WebProcess/WebPage/LayerTreeHost.h: 34237 (WebKit::LayerTreeHost::setVisibleContentRectAndScale): 34238 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector): 34239 (WebKit::LayerTreeHost::setVisibleContentRectForLayer): 34240 (WebKit::LayerTreeHost::renderNextFrame): 34241 * WebProcess/WebPage/LayerTreeHost.messages.in: Added. 34242 * WebProcess/WebPage/TiledDrawingArea.cpp: 34243 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage): 34244 * WebProcess/WebPage/TiledDrawingArea.h: 34245 * WebProcess/WebPage/WebPage.cpp: 34246 (WebKit::WebPage::didReceiveMessage): 34247 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 34248 (WebKit::LayerTreeHostQt::create): 34249 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 34250 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 34251 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): 34252 (WebKit::LayerTreeHostQt::scheduleLayerFlush): 34253 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush): 34254 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush): 34255 (WebKit::LayerTreeHostQt::setRootCompositingLayer): 34256 (WebKit::LayerTreeHostQt::invalidate): 34257 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay): 34258 (WebKit::LayerTreeHostQt::scrollNonCompositedContents): 34259 (WebKit::LayerTreeHostQt::forceRepaint): 34260 (WebKit::LayerTreeHostQt::sizeDidChange): 34261 (WebKit::LayerTreeHostQt::didInstallPageOverlay): 34262 (WebKit::LayerTreeHostQt::didUninstallPageOverlay): 34263 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay): 34264 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 34265 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer): 34266 (WebKit::LayerTreeHostQt::didDeleteLayer): 34267 (WebKit::LayerTreeHostQt::performScheduledLayerFlush): 34268 (WebKit::LayerTreeHostQt::layerFlushTimerFired): 34269 (WebKit::LayerTreeHostQt::createPageOverlayLayer): 34270 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer): 34271 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 34272 (WebKit::LayerTreeHostQt::releaseImageBackingStore): 34273 (WebKit::LayerTreeHostQt::notifyAnimationStarted): 34274 (WebKit::LayerTreeHostQt::notifySyncRequired): 34275 (WebKit::LayerTreeHostQt::paintContents): 34276 (WebKit::LayerTreeHostQt::showDebugBorders): 34277 (WebKit::LayerTreeHostQt::showRepaintCounter): 34278 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 34279 (WebKit::LayerTreeHostQt::createTile): 34280 (WebKit::LayerTreeHostQt::updateTile): 34281 (WebKit::LayerTreeHostQt::removeTile): 34282 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer): 34283 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 34284 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector): 34285 (WebKit::LayerTreeHostQt::renderNextFrame): 34286 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed): 34287 342882011-10-15 Sheriff Bot <webkit.review.bot@gmail.com> 34289 34290 Unreviewed, rolling out r97549. 34291 http://trac.webkit.org/changeset/97549 34292 https://bugs.webkit.org/show_bug.cgi?id=70174 34293 34294 It broke the SL build (Requested by Ossy_weekend on #webkit). 34295 34296 * DerivedSources.pro: 34297 * Platform/CoreIPC/MessageID.h: 34298 * Scripts/webkit2/messages.py: 34299 * Shared/LayerTreeContext.h: 34300 * Shared/WebLayerTreeInfo.cpp: 34301 (WebKit::WebLayerInfo::encode): 34302 (WebKit::WebLayerInfo::decode): 34303 * Shared/WebLayerTreeInfo.h: 34304 * Shared/qt/LayerTreeContextQt.cpp: 34305 (WebKit::LayerTreeContext::LayerTreeContext): 34306 (WebKit::LayerTreeContext::~LayerTreeContext): 34307 (WebKit::LayerTreeContext::encode): 34308 (WebKit::LayerTreeContext::decode): 34309 (WebKit::LayerTreeContext::isEmpty): 34310 (WebKit::operator==): 34311 * UIProcess/DrawingAreaProxy.cpp: 34312 * UIProcess/DrawingAreaProxy.h: 34313 * UIProcess/DrawingAreaProxyImpl.cpp: 34314 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 34315 * UIProcess/DrawingAreaProxyImpl.h: 34316 * UIProcess/LayerTreeHostProxy.h: Removed. 34317 * UIProcess/LayerTreeHostProxy.messages.in: Removed. 34318 * UIProcess/WebPageProxy.cpp: 34319 (WebKit::WebPageProxy::didReceiveMessage): 34320 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed. 34321 * WebKit2.pro: 34322 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 34323 (WebCore::deletedLayerIDs): 34324 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 34325 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 34326 (WebCore::WebGraphicsLayer::setChildren): 34327 (WebCore::WebGraphicsLayer::addChild): 34328 (WebCore::WebGraphicsLayer::addChildAtIndex): 34329 (WebCore::WebGraphicsLayer::addChildAbove): 34330 (WebCore::WebGraphicsLayer::addChildBelow): 34331 (WebCore::WebGraphicsLayer::replaceChild): 34332 (WebCore::WebGraphicsLayer::removeFromParent): 34333 (WebCore::WebGraphicsLayer::setContentsRect): 34334 (WebCore::WebGraphicsLayer::setContentsToImage): 34335 (WebCore::WebGraphicsLayer::setNeedsDisplay): 34336 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 34337 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 34338 (WebCore::WebGraphicsLayer::didSynchronize): 34339 (WebCore::WebGraphicsLayer::layerInfo): 34340 (WebCore::WebGraphicsLayer::syncCompositingState): 34341 (WebCore::WebGraphicsLayer::needsDisplayRect): 34342 (WebCore::WebGraphicsLayer::takeLayersToDelete): 34343 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 34344 (WebCore::divideIntoTiles): 34345 (WebCore::collectCompositingInfoForThisLayer): 34346 (WebCore::collectCompositingInfoRecursively): 34347 (WebCore::WebGraphicsLayer::sendLayersToUIProcess): 34348 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 34349 * WebProcess/WebPage/DrawingArea.h: 34350 * WebProcess/WebPage/DrawingAreaImpl.cpp: 34351 * WebProcess/WebPage/DrawingAreaImpl.h: 34352 * WebProcess/WebPage/LayerTreeHost.cpp: 34353 (WebKit::LayerTreeHost::create): 34354 * WebProcess/WebPage/LayerTreeHost.h: 34355 * WebProcess/WebPage/LayerTreeHost.messages.in: Removed. 34356 * WebProcess/WebPage/TiledDrawingArea.cpp: 34357 * WebProcess/WebPage/TiledDrawingArea.h: 34358 * WebProcess/WebPage/WebPage.cpp: 34359 (WebKit::WebPage::didReceiveMessage): 34360 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 34361 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed. 34362 343632011-10-15 No'am Rosenthal <noam.rosenthal@nokia.com> 34364 34365 [Qt][WK2] Synchronize tiling with accelerated compositing 34366 https://bugs.webkit.org/show_bug.cgi?id=69151 34367 34368 Reviewed by Simon Hausmann. 34369 34370 Make the tiled "non-composited" content and the composited layers go through the same 34371 code path on WebKit2. Instead of having a "drawing area" that handles the non-composited 34372 content and a seperate layer tree, we put everything in a layer tree, with the non- 34373 composited content being a layer in the tree. 34374 34375 This allows fixing several issues with websites that have large content areas that are 34376 composited or overlap with composited layers. 34377 34378 Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost 34379 on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has 34380 its own tiled backing store, and uses the LayerTreeHost communication channel to pass 34381 content up to the UI process. The UI process will later creates its own GraphicsLayer tree, 34382 based on TextureMapper, which can be painted directly with OpenGL. 34383 34384 Several optimizations are available for the non-composited layer as well, e.g. specifying 34385 a trajectory and updating the visible rect together with the content scale. 34386 34387 This code is currently disabled, a separate patch will enable it and glue it to 34388 QTouchWebPage. 34389 34390 * DerivedSources.pro: 34391 * Platform/CoreIPC/MessageID.h: 34392 * Scripts/webkit2/messages.py: 34393 * Shared/LayerTreeContext.h: 34394 * Shared/WebLayerTreeInfo.cpp: 34395 (WebKit::WebLayerInfo::encode): 34396 (WebKit::WebLayerInfo::decode): 34397 * Shared/WebLayerTreeInfo.h: 34398 * Shared/qt/LayerTreeContextQt.cpp: 34399 (WebKit::LayerTreeContext::LayerTreeContext): 34400 (WebKit::LayerTreeContext::~LayerTreeContext): 34401 (WebKit::LayerTreeContext::encode): 34402 (WebKit::LayerTreeContext::decode): 34403 (WebKit::LayerTreeContext::isEmpty): 34404 (WebKit::operator==): 34405 * UIProcess/DrawingAreaProxy.cpp: 34406 (WebKit::DrawingAreaProxy::updateWebView): 34407 (WebKit::DrawingAreaProxy::contentsRect): 34408 * UIProcess/DrawingAreaProxy.h: 34409 (WebKit::DrawingAreaProxy::viewportVisibleRect): 34410 (WebKit::DrawingAreaProxy::isBackingStoreReady): 34411 (WebKit::DrawingAreaProxy::paintToCurrentGLContext): 34412 (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale): 34413 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector): 34414 (WebKit::DrawingAreaProxy::createTileForLayer): 34415 (WebKit::DrawingAreaProxy::updateTileForLayer): 34416 (WebKit::DrawingAreaProxy::removeTileForLayer): 34417 (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage): 34418 (WebKit::DrawingAreaProxy::page): 34419 * UIProcess/DrawingAreaProxyImpl.cpp: 34420 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 34421 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage): 34422 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale): 34423 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector): 34424 (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext): 34425 * UIProcess/DrawingAreaProxyImpl.h: 34426 * UIProcess/LayerTreeHostProxy.h: Added. 34427 (WebKit::LayerTreeHostProxy::layerByID): 34428 (WebKit::LayerTreeHostProxy::rootLayer): 34429 (WebKit::LayerTreeHostProxy::notifyAnimationStarted): 34430 (WebKit::LayerTreeHostProxy::notifySyncRequired): 34431 (WebKit::LayerTreeHostProxy::showDebugBorders): 34432 (WebKit::LayerTreeHostProxy::showRepaintCounter): 34433 (WebKit::LayerTreeHostProxy::paintContents): 34434 * UIProcess/LayerTreeHostProxy.messages.in: Added. 34435 * UIProcess/WebPageProxy.cpp: 34436 (WebKit::WebPageProxy::didReceiveMessage): 34437 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added. 34438 * WebKit2.pro: 34439 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 34440 (WebCore::WebGraphicsLayer::WebGraphicsLayer): 34441 (WebCore::WebGraphicsLayer::~WebGraphicsLayer): 34442 (WebCore::WebGraphicsLayer::setChildren): 34443 (WebCore::WebGraphicsLayer::addChild): 34444 (WebCore::WebGraphicsLayer::addChildAtIndex): 34445 (WebCore::WebGraphicsLayer::addChildAbove): 34446 (WebCore::WebGraphicsLayer::addChildBelow): 34447 (WebCore::WebGraphicsLayer::replaceChild): 34448 (WebCore::WebGraphicsLayer::removeFromParent): 34449 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay): 34450 (WebCore::WebGraphicsLayer::setContentsToImage): 34451 (WebCore::WebGraphicsLayer::setNeedsDisplay): 34452 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect): 34453 (WebCore::WebGraphicsLayer::syncCompositingState): 34454 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly): 34455 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin): 34456 (WebCore::WebGraphicsLayer::setContentsScale): 34457 (WebCore::WebGraphicsLayer::setRootLayer): 34458 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector): 34459 (WebCore::WebGraphicsLayer::setVisibleContentRect): 34460 (WebCore::WebGraphicsLayer::tiledBackingStorePaint): 34461 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd): 34462 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed): 34463 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect): 34464 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect): 34465 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor): 34466 (WebCore::WebGraphicsLayer::createTile): 34467 (WebCore::WebGraphicsLayer::updateTile): 34468 (WebCore::WebGraphicsLayer::removeTile): 34469 (WebCore::WebGraphicsLayer::updateTileBuffersRecursively): 34470 (WebCore::WebGraphicsLayer::layerTreeTileClient): 34471 (WebCore::WebGraphicsLayer::updateContentBuffers): 34472 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 34473 (WebCore::WebGraphicsLayer::setLayerTreeTileClient): 34474 * WebProcess/WebPage/DrawingArea.h: 34475 * WebProcess/WebPage/DrawingAreaImpl.cpp: 34476 (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage): 34477 * WebProcess/WebPage/DrawingAreaImpl.h: 34478 * WebProcess/WebPage/LayerTreeHost.cpp: 34479 (WebKit::LayerTreeHost::create): 34480 * WebProcess/WebPage/LayerTreeHost.h: 34481 (WebKit::LayerTreeHost::setVisibleContentRectAndScale): 34482 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector): 34483 (WebKit::LayerTreeHost::setVisibleContentRectForLayer): 34484 (WebKit::LayerTreeHost::renderNextFrame): 34485 * WebProcess/WebPage/LayerTreeHost.messages.in: Added. 34486 * WebProcess/WebPage/TiledDrawingArea.cpp: 34487 (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage): 34488 * WebProcess/WebPage/TiledDrawingArea.h: 34489 * WebProcess/WebPage/WebPage.cpp: 34490 (WebKit::WebPage::didReceiveMessage): 34491 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 34492 (WebKit::LayerTreeHostQt::create): 34493 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 34494 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 34495 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): 34496 (WebKit::LayerTreeHostQt::scheduleLayerFlush): 34497 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush): 34498 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush): 34499 (WebKit::LayerTreeHostQt::setRootCompositingLayer): 34500 (WebKit::LayerTreeHostQt::invalidate): 34501 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay): 34502 (WebKit::LayerTreeHostQt::scrollNonCompositedContents): 34503 (WebKit::LayerTreeHostQt::forceRepaint): 34504 (WebKit::LayerTreeHostQt::sizeDidChange): 34505 (WebKit::LayerTreeHostQt::didInstallPageOverlay): 34506 (WebKit::LayerTreeHostQt::didUninstallPageOverlay): 34507 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay): 34508 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 34509 (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer): 34510 (WebKit::LayerTreeHostQt::didDeleteLayer): 34511 (WebKit::LayerTreeHostQt::performScheduledLayerFlush): 34512 (WebKit::LayerTreeHostQt::layerFlushTimerFired): 34513 (WebKit::LayerTreeHostQt::createPageOverlayLayer): 34514 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer): 34515 (WebKit::LayerTreeHostQt::adoptImageBackingStore): 34516 (WebKit::LayerTreeHostQt::releaseImageBackingStore): 34517 (WebKit::LayerTreeHostQt::notifyAnimationStarted): 34518 (WebKit::LayerTreeHostQt::notifySyncRequired): 34519 (WebKit::LayerTreeHostQt::paintContents): 34520 (WebKit::LayerTreeHostQt::showDebugBorders): 34521 (WebKit::LayerTreeHostQt::showRepaintCounter): 34522 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 34523 (WebKit::LayerTreeHostQt::createTile): 34524 (WebKit::LayerTreeHostQt::updateTile): 34525 (WebKit::LayerTreeHostQt::removeTile): 34526 (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer): 34527 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale): 34528 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector): 34529 (WebKit::LayerTreeHostQt::renderNextFrame): 34530 (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed): 34531 345322011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> 34533 34534 Rename getOwnPropertySlot to getOwnPropertySlotVirtual 34535 https://bugs.webkit.org/show_bug.cgi?id=69810 34536 34537 Reviewed by Geoffrey Garen. 34538 34539 Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual 34540 in preparation for when we add the static getOwnPropertySlot to the MethodTable 34541 in ClassInfo. 34542 34543 Also added a few static getOwnPropertySlot functions where they had been overlooked 34544 before (especially in CodeGeneratorJS.pm). 34545 34546 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 34547 (WebKit::JSNPObject::getOwnPropertySlotVirtual): 34548 * WebProcess/Plugins/Netscape/JSNPObject.h: 34549 345502011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> 34551 34552 Rename virtual put to putVirtual 34553 https://bugs.webkit.org/show_bug.cgi?id=69851 34554 34555 Reviewed by Darin Adler. 34556 34557 Renamed virtual versions of put to putVirtual in prepration for 34558 adding the static put to the MethodTable in ClassInfo since the 34559 compiler gets mad if the virtual and static versions have the same 34560 name. 34561 34562 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 34563 (WebKit::JSNPObject::putVirtual): 34564 (WebKit::JSNPObject::put): 34565 * WebProcess/Plugins/Netscape/JSNPObject.h: 34566 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 34567 (WebKit::NPJSObject::setProperty): 34568 345692011-10-14 Jeff Miller <jeffm@apple.com> 34570 34571 InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates 34572 https://bugs.webkit.org/show_bug.cgi?id=69963 34573 34574 WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to 34575 convert from subframe view coordinates , so any rect that we expose through WK2 APIs should 34576 be in WKView coordinates. 34577 34578 Reviewed by Simon Fraser. 34579 34580 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 34581 (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates. 34582 345832011-10-14 Mark Hahnenberg <mhahnenberg@apple.com> 34584 34585 Rename virtual deleteProperty to deletePropertyVirtual 34586 https://bugs.webkit.org/show_bug.cgi?id=69884 34587 34588 Reviewed by Darin Adler. 34589 34590 Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 34591 adding the static deleteProperty to the MethodTable in ClassInfo since the 34592 compiler gets mad if the virtual and static versions have the same name. 34593 34594 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 34595 (WebKit::JSNPObject::deletePropertyVirtual): 34596 (WebKit::JSNPObject::deleteProperty): 34597 * WebProcess/Plugins/Netscape/JSNPObject.h: 34598 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 34599 (WebKit::NPJSObject::removeProperty): 34600 346012011-10-14 Nayan Kumar K <nayankk@motorola.com> 34602 34603 [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError. 34604 https://bugs.webkit.org/show_bug.cgi?id=70016 34605 34606 Reviewed by Martin Robinson. 34607 34608 * UIProcess/API/gtk/WebKitError.h: 34609 346102011-10-14 Nayan Kumar K <nayankk@motorola.com> 34611 34612 [WebKit2][gtk] Skip TestWebKitSettings test. 34613 https://bugs.webkit.org/show_bug.cgi?id=70129 34614 34615 Reviewed by Martin Robinson. 34616 34617 Skip running TestWebKitSettings test till a bug 34618 https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed. 34619 34620 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 34621 (testWebKitSettings): Skip TestWebKitSettings test. 34622 346232011-10-14 Sheriff Bot <webkit.review.bot@gmail.com> 34624 34625 Unreviewed, rolling out r97375. 34626 http://trac.webkit.org/changeset/97375 34627 https://bugs.webkit.org/show_bug.cgi?id=70115 34628 34629 It breaks loading of webpages in QtWebKit2 (Requested by jeez_ 34630 on #webkit). 34631 34632 * UIProcess/qt/ClientImpl.cpp: 34633 (qt_wk_decidePolicyForNavigationAction): 34634 * UIProcess/qt/ClientImpl.h: 34635 * UIProcess/qt/QtWebPageProxy.cpp: 34636 (QtWebPageProxy::init): 34637 346382011-10-12 Ryosuke Niwa <rniwa@webkit.org> 34639 34640 Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent 34641 https://bugs.webkit.org/show_bug.cgi?id=69964 34642 34643 Reviewed by Enrica Casucci. 34644 34645 * WebProcess/WebPage/mac/WebPageMac.mm: 34646 (WebKit::WebPage::getMarkedRange): 34647 (WebKit::WebPage::getSelectedRange): 34648 (WebKit::WebPage::characterIndexForPoint): 34649 (WebKit::convertToRange): 34650 346512011-10-14 Nayan Kumar K <nayankk@motorola.com> 34652 34653 [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments 34654 https://bugs.webkit.org/show_bug.cgi?id=70092 34655 34656 Reviewed by Martin Robinson. 34657 34658 Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING' 34659 introduced with change set r97438. 34660 34661 * UIProcess/API/gtk/WebKitSettings.cpp: 34662 (webKitSettingsSetProperty): Property name correction. 34663 (webKitSettingsGetProperty): Property name correction. 34664 (webkit_settings_class_init): Property name correction. 34665 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 34666 (testWebKitSettings): Spelling correction. 34667 346682011-10-14 Gopal Raghavan <gopal.1.raghavan@nokia.com> 34669 34670 [Qt] enable qmltests for qt5 34671 https://bugs.webkit.org/show_bug.cgi?id=70037 34672 34673 Reviewed by Chang Shu. 34674 34675 Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS. 34676 34677 * UIProcess/API/qt/tests/tests.pro: 34678 346792011-10-14 Kenneth Rohde Christiansen <kenneth@webkit.org> 34680 34681 Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage 34682 https://bugs.webkit.org/show_bug.cgi?id=66134 34683 34684 Unreviewed build fix after r97462. 34685 34686 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34687 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 34688 346892011-10-14 Kenneth Rohde Christiansen <kenneth@webkit.org> 34690 34691 Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage 34692 https://bugs.webkit.org/show_bug.cgi?id=66134 34693 34694 Reviewed by Simon Hausmann. 34695 34696 Do the resize to contents on the web process side. 34697 34698 Based on patch by Zalan Bujtas. 34699 34700 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34701 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 34702 * WebProcess/WebPage/WebPage.cpp: 34703 (WebKit::WebPage::setSize): 34704 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 34705 (WebKit::WebPage::resizeToContentsIfNeeded): 34706 * WebProcess/WebPage/WebPage.h: 34707 347082011-10-14 Carlos Garcia Campos <cgarcia@igalia.com> 34709 34710 [GTK] Build is broken with new ld 34711 https://bugs.webkit.org/show_bug.cgi?id=70097 34712 34713 Reviewed by Philippe Normand. 34714 34715 * UIProcess/API/gtk/tests/GNUmakefile.am: 34716 347172011-10-12 Simon Hausmann <simon.hausmann@nokia.com> 34718 34719 [Qt][WK2] Fix build after QSGItem API changes 34720 https://bugs.webkit.org/show_bug.cgi?id=69926 34721 34722 Reviewed by Kenneth Rohde Christiansen. 34723 34724 Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the 34725 signatures of the Drag & Drop event handlers in QSGItem. The SG specific events 34726 were replaced with the plain QDrag* events, which are now used for widgets as well 34727 as the Qt scene graph. 34728 34729 This patch adapts the desktop webview as well as the page proxy to handle these 34730 kind of events. 34731 34732 * UIProcess/API/qt/qdesktopwebview.cpp: 34733 (QDesktopWebView::dragMoveEvent): 34734 (QDesktopWebView::dragEnterEvent): 34735 (QDesktopWebView::dragLeaveEvent): 34736 (QDesktopWebView::dropEvent): 34737 * UIProcess/API/qt/qdesktopwebview.h: 34738 * UIProcess/qt/qdesktopwebpageproxy.cpp: 34739 (QDesktopWebPageProxy::handleEvent): 34740 (QDesktopWebPageProxy::handleDragEnterEvent): 34741 (QDesktopWebPageProxy::handleDragLeaveEvent): 34742 (QDesktopWebPageProxy::handleDragMoveEvent): 34743 (QDesktopWebPageProxy::handleDropEvent): 34744 * UIProcess/qt/qdesktopwebpageproxy.h: 34745 347462011-10-13 Nayan Kumar K <nayankk@motorola.com> 34747 34748 [GTK][WEBKIT2] Add WebKitSettings GTK+ API. 34749 https://bugs.webkit.org/show_bug.cgi?id=68371 34750 34751 Reviewed by Martin Robinson. 34752 34753 WebKitSettings GTK+ object is created and first set of 34754 API's are written to get or set the properties of WebKitSettings. 34755 34756 * GNUmakefile.am: Added new files for compilation. 34757 * UIProcess/API/gtk/WebKitSettings.cpp: Added. 34758 (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor. 34759 (webKitSettingsSetProperty): Set property function. 34760 (webKitSettingsGetProperty): Get property function. 34761 (webKitSettingsFinalize): Class finalize function. 34762 (webkit_settings_class_init): Class init function. 34763 (webkit_settings_init): Instance init function. 34764 (webkit_settings_new): Creates WebKitSettings GObject. 34765 (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property. 34766 (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property. 34767 (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property. 34768 (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property. 34769 (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get 34770 'load-icons-ignoring-image-load-setting' property. 34771 (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set 34772 'load-icons-ignoring-image-load-setting' property. 34773 (webkit_settings_get_enable_offline_web_application_cache): Function to get 34774 'enable-offline-web-application-cache' property. 34775 (webkit_settings_set_enable_offline_web_application_cache): Function to set 34776 'enable-offline-web-application-cache' property. 34777 (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'. 34778 (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'. 34779 (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'. 34780 (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'. 34781 (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'. 34782 (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'. 34783 (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'. 34784 (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'. 34785 (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'. 34786 (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'. 34787 (webkit_settings_get_enable_java): Function to get 'enable-java' property. 34788 (webkit_settings_set_enable_java): Function to set 'enable-java' property. 34789 (webkit_settings_get_javascript_can_open_windows_automatically): Get the property 34790 'javascript-can-open-windows-automatically'. 34791 (webkit_settings_set_javascript_can_open_windows_automatically): Set the property 34792 'javascript-can-open-windows-automatically'. 34793 (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property. 34794 (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property. 34795 * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's. 34796 * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test. 34797 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added. 34798 (testWebKitSettings): Add WebKitSetting unit test. 34799 (beforeAll): Pre-test function. 34800 (afterAll): Post-test function. 34801 * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list. 34802 348032011-10-13 Mark Hahnenberg <mhahnenberg@apple.com> 34804 34805 Rename virtual getConstructData to getConstructDataVirtual 34806 https://bugs.webkit.org/show_bug.cgi?id=69872 34807 34808 Reviewed by Geoffrey Garen. 34809 34810 Renamed virtual getConstructData functions to getConstructDataVirtual to 34811 avoid conflicts when we add static getConstructData to the MethodTable. 34812 34813 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 34814 (WebKit::JSNPObject::getConstructDataVirtual): 34815 * WebProcess/Plugins/Netscape/JSNPObject.h: 34816 348172011-10-13 Sam Weinig <sam@webkit.org> 34818 34819 Another SnowLeopard build fix. 34820 34821 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 34822 (WebKit::cachedImage): 34823 (WebKit::WebDragClient::declareAndWriteDragImage): 34824 (-[WKPasteboardOwner initWithImage:WebCore::]): 34825 348262011-10-13 Sam Weinig <sam@webkit.org> 34827 34828 Fix SnowLeopard build. 34829 34830 * UIProcess/WebPageProxy.cpp: 34831 (WebKit::WebPageProxy::setCursor): 34832 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 34833 348342011-10-13 Alexey Proskuryakov <ap@apple.com> 34835 34836 [Mac] PDF Documents at epo.org look very blurry 34837 https://bugs.webkit.org/show_bug.cgi?id=70072 34838 34839 Reviewed by Dan Bernstein. 34840 34841 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent): 34842 Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation. 34843 348442011-10-13 Alexey Proskuryakov <ap@apple.com> 34845 34846 [Mac] Wheel event handler counter is incorrect with PDF views 34847 https://bugs.webkit.org/show_bug.cgi?id=70062 34848 34849 Reviewed by Dan Bernstein. 34850 34851 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 34852 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 34853 (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case. 34854 (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto. 34855 (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator. 34856 (WebKit::BuiltInPDFView::destroyScrollbar): Ditto. 34857 (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars. 34858 348592011-10-12 Chris Marrin <cmarrin@apple.com> 34860 34861 Sync requestAnimationFrame callback to CVDisplayLink on Mac 34862 https://bugs.webkit.org/show_bug.cgi?id=68911 34863 34864 Reviewed by Simon Fraser. 34865 34866 Add windowDidChangeScreen function which listens for the window changing 34867 screens and passes the new displayID along to WebCore::Page. It also sends 34868 one on windowDidBecomeKey, so the Page has a fresh displayID after it's 34869 created. Event is generated in the UIProcess and then sent over to the 34870 WebProcess, which actually sends it to WebCore::Page. 34871 34872 * UIProcess/API/mac/WKView.mm: 34873 (-[WKView addWindowObserversForWindow:]): 34874 (-[WKView removeWindowObservers]): 34875 (-[WKView _windowDidChangeScreen:]): 34876 (-[WKView _windowDidBecomeKey:]): 34877 * UIProcess/WebPageProxy.cpp: 34878 (WebKit::WebPageProxy::windowScreenDidChange): 34879 * UIProcess/WebPageProxy.h: 34880 * WebProcess/WebPage/WebPage.cpp: 34881 (WebKit::WebPage::windowScreenDidChange): 34882 * WebProcess/WebPage/WebPage.h: 34883 * WebProcess/WebPage/WebPage.messages.in: 34884 348852011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 34886 34887 [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h 34888 https://bugs.webkit.org/show_bug.cgi?id=70053 34889 34890 Reviewed by Kenneth Rohde Christiansen. 34891 34892 Now we will be aligned with WKError.h and WebError.h by using the shared 34893 and pre-defined enum for error codes and WebError::webkitErrorDomain(). 34894 34895 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 34896 (WebKit::blockedError): 34897 (WebKit::cannotShowURLError): 34898 (WebKit::interruptedForPolicyChangeError): 34899 (WebKit::cannotShowMIMETypeError): 34900 (WebKit::pluginWillHandleLoadError): 34901 349022011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 34903 34904 [Qt][WK2] WebViews are emitting loadFailed for "private" error codes 34905 https://bugs.webkit.org/show_bug.cgi?id=70047 34906 34907 Reviewed by Kenneth Rohde Christiansen. 34908 34909 Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors 34910 like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp. 34911 34912 We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange, 34913 PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1. 34914 34915 * UIProcess/qt/ClientImpl.cpp: 34916 (dispatchLoadFailed): 34917 349182011-10-13 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 34919 34920 Implement TextChecker for WebKit2 GTK+ 34921 https://bugs.webkit.org/show_bug.cgi?id=68548 34922 34923 Reviewed by Anders Carlsson. 34924 34925 Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations. 34926 Moved couple of API earlier specific to win port to common section and added stubbed implementation 34927 of the same for remaining ports of Qt, Efl and Mac. 34928 34929 * GNUmakefile.am: Added TextChecker implementation files. 34930 * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port. 34931 * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port. 34932 * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API. 34933 (WebKit::TextChecker::state): 34934 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 34935 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 34936 (WebKit::TextChecker::setGrammarCheckingEnabled): 34937 (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged): 34938 (WebKit::TextChecker::grammarCheckingEnabledStateChanged): 34939 (WebKit::TextChecker::uniqueSpellDocumentTag): 34940 (WebKit::TextChecker::closeSpellDocumentWithTag): 34941 (WebKit::TextChecker::checkSpellingOfString): 34942 (WebKit::TextChecker::checkGrammarOfString): 34943 (WebKit::TextChecker::spellingUIIsShowing): 34944 (WebKit::TextChecker::toggleSpellingUIIsShowing): 34945 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 34946 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 34947 (WebKit::TextChecker::getGuessesForWord): 34948 (WebKit::TextChecker::learnWord): 34949 (WebKit::TextChecker::ignoreWord): 34950 * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port. 34951 * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port. 34952 349532011-10-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 34954 34955 [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient 34956 https://bugs.webkit.org/show_bug.cgi?id=69832 34957 34958 Reviewed by Kenneth Rohde Christiansen. 34959 34960 We implement decidePolicyForResponse in our PolicyClient in order to 34961 decide whether a given ResourceResponse should be downloaded or loaded. 34962 34963 * UIProcess/qt/ClientImpl.cpp: 34964 (qt_wk_decidePolicyForResponse): 34965 * UIProcess/qt/ClientImpl.h: 34966 * UIProcess/qt/QtWebPageProxy.cpp: 34967 (QtWebPageProxy::init): 34968 349692011-10-13 Carlos Garcia Campos <cgarcia@igalia.com> 34970 34971 [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library 34972 https://bugs.webkit.org/show_bug.cgi?id=70010 34973 34974 Reviewed by Martin Robinson. 34975 34976 With this class tests using a soup server only need to implement 34977 the soup server callback. 34978 34979 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation. 34980 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer. 34981 (testLoadingStatus): 34982 (testLoadingError): 34983 (testLoadAlternateContent): 34984 (testWebViewReload): 34985 (testLoadProgress): 34986 (beforeAll): 34987 (afterAll): 34988 * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added. 34989 (WebKitTestServer::WebKitTestServer): 34990 (WebKitTestServer::~WebKitTestServer): 34991 (WebKitTestServer::run): Run the soup server and adds the given 34992 soup server callback to handle requests. 34993 (WebKitTestServer::getURIForPath): Returns the server absolute URI 34994 for the given relative path. 34995 * UIProcess/API/gtk/tests/WebKitTestServer.h: Added. 34996 (WebKitTestServer::baseURI): 34997 349982011-10-13 Nayan Kumar K <nayankk@motorola.com> 34999 35000 [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation. 35001 https://bugs.webkit.org/show_bug.cgi?id=69928 35002 35003 Reviewed by Philippe Normand. 35004 35005 Patch fixes the warnings reported by gtk-doc while generating 35006 WebKit2-GTK+ documentation. 35007 35008 * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment. 35009 * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction. 35010 350112011-10-12 Joseph Pecoraro <joepeck@webkit.org> 35012 35013 Pass Parsed Accept Attribute MIME Types to WebKit Clients 35014 https://bugs.webkit.org/show_bug.cgi?id=69598 35015 35016 Reviewed by David Kilzer. 35017 35018 * Shared/WebCoreArgumentCoders.cpp: 35019 (CoreIPC::::encode): 35020 (CoreIPC::::decode): 35021 350222011-10-12 Joseph Pecoraro <joepeck@webkit.org> 35023 35024 Pass Parsed Accept Attribute MIME Types to WebKit Clients 35025 https://bugs.webkit.org/show_bug.cgi?id=69598 35026 35027 Reviewed by Anders Carlsson. 35028 35029 The WebOpenPanelParameters::Data struct was a mirror of 35030 the already existing WebCore::FileChooserSettings struct. 35031 So eliminate the excess struct and generate default 35032 WebCore coders for the WebCore::FileChooserSettings struct. 35033 35034 * Scripts/webkit2/messages.py: 35035 Switch to the new type. FileChooserSetting's header needs 35036 to be special cased to FileChooser.h. 35037 35038 * Shared/WebCoreArgumentCoders.h: 35039 * Shared/WebCoreArgumentCoders.cpp: 35040 (CoreIPC::::encode): 35041 (CoreIPC::::decode): 35042 Encode and decode all, non-deprecated, values. So we 35043 ignore deprecatedAcceptTypes. A follow-up patch will add it. 35044 35045 * Shared/WebOpenPanelParameters.cpp: 35046 (WebKit::WebOpenPanelParameters::create): 35047 (WebKit::WebOpenPanelParameters::WebOpenPanelParameters): 35048 Switch to the new type. 35049 35050 * Shared/WebOpenPanelParameters.h: 35051 (WebKit::WebOpenPanelParameters::allowMultipleFiles): 35052 (WebKit::WebOpenPanelParameters::selectedFileNames): 35053 FileChooserSettings had different property names. 35054 35055 * UIProcess/WebPageProxy.cpp: 35056 (WebKit::WebPageProxy::runOpenPanel): 35057 Generate the WebOpenPanelParameters object here, before 35058 passing into the WebUIClient. This seems to be the convention 35059 to not have WebCore types in WebUIClient. 35060 35061 * UIProcess/WebPageProxy.h: 35062 * UIProcess/WebPageProxy.messages.in: 35063 * UIProcess/WebUIClient.cpp: 35064 (WebKit::WebUIClient::runOpenPanel): 35065 * UIProcess/WebUIClient.h: 35066 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 35067 (WebKit::WebChromeClient::runOpenPanel): 35068 Switch to the new type. 35069 350702011-10-12 Joseph Pecoraro <joepeck@webkit.org> 35071 35072 Pass Parsed Accept Attribute MIME Types to WebKit Clients 35073 https://bugs.webkit.org/show_bug.cgi?id=69598 35074 35075 Reviewed by Kent Tamura. 35076 35077 Switch to deprecated for now, but the next patches will 35078 remove the deprecated version from the WebKit2 path. 35079 35080 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 35081 (WebKit::WebChromeClient::runOpenPanel): 35082 350832011-10-12 Adam Barth <abarth@webkit.org> 35084 35085 Remove ENABLE(XHTMLMP) and associated code 35086 https://bugs.webkit.org/show_bug.cgi?id=69729 35087 35088 Reviewed by David Levin. 35089 35090 * Configurations/FeatureDefines.xcconfig: 35091 350922011-10-12 Dan Bernstein <mitz@apple.com> 35093 35094 Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build 35095 https://bugs.webkit.org/show_bug.cgi?id=69960 35096 35097 Reviewed by Adam Roben. 35098 35099 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 35100 (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value 35101 from posix_spawn() rather than for a negative return value. The old, incorrect check, caused 35102 this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in 35103 when WebKit2 was built for 64-bit only. 35104 351052011-10-12 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 35106 35107 [Qt][WK2] Move qweberror* out of API/qt 35108 https://bugs.webkit.org/show_bug.cgi?id=69875 35109 35110 Reviewed by Andreas Kling. 35111 35112 Moving QWebError outside API/qt in order to keep our API folder (layer) aligned. 35113 35114 * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp. 35115 (QWebError::QWebError): 35116 (QWebErrorPrivate::createQWebError): 35117 (QWebErrorPrivate::QWebErrorPrivate): 35118 (QWebErrorPrivate::~QWebErrorPrivate): 35119 (QWebError::type): 35120 (QWebError::errorCode): 35121 (QWebError::url): 35122 * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h. 35123 (QWebError::errorCodeAsHttpStatusCode): 35124 (QWebError::errorCodeAsNetworkError): 35125 * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h. 35126 * WebKit2.pro: 35127 * WebKit2API.pri: 35128 351292011-10-12 Nayan Kumar K <nayankk@motorola.com> 35130 35131 [WebKit2][gtk] Add few more API's to gtk-doc section file. 35132 https://bugs.webkit.org/show_bug.cgi?id=69921 35133 35134 Reviewed by Gustavo Noronha Silva. 35135 35136 Generate documentation for existing WebKit2-GTK+ API's, 35137 which are not yet the part of gtk-doc documentation. 35138 35139 * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files. 35140 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition. 35141 351422011-10-11 Simon Fraser <simon.fraser@apple.com> 35143 35144 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms 35145 https://bugs.webkit.org/show_bug.cgi?id=68134 35146 35147 Reviewed by Darin Adler. 35148 35149 Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled. 35150 35151 Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method 35152 that reads the setting, and returns the mock theme if set. All callers now use 35153 theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build. 35154 35155 * UIProcess/win/WebPopupMenuProxyWin.cpp: 35156 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize): 35157 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35158 (WebKit::BuiltInPDFView::paintControls): 35159 * WebProcess/WebPage/PageOverlay.cpp: 35160 (WebKit::PageOverlay::bounds): 35161 351622011-10-11 Simon Fraser <simon.fraser@apple.com> 35163 35164 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms 35165 https://bugs.webkit.org/show_bug.cgi?id=68134 35166 35167 Reviewed by Darin Adler. 35168 35169 ScrollbarTheme::nativeTheme() renamed to theme(). 35170 35171 * WebProcess/WebPage/PageOverlay.cpp: 35172 (WebKit::PageOverlay::bounds): 35173 351742011-10-10 Martin Robinson <mrobinson@igalia.com> 35175 35176 [GTK] [WebKit2] Make adding another unit test easier 35177 https://bugs.webkit.org/show_bug.cgi?id=69409 35178 35179 Reviewed by Gustavo Noronha Silva. 35180 35181 * GNUmakefile.am: Add the new WebKit2 API tests. 35182 * UIProcess/API/gtk/tests/GNUmakefile.am: Added. 35183 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests. 35184 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added. 35185 * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c. 35186 (main): 35187 * UIProcess/API/gtk/tests/TestMain.h: Added. 35188 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c. 35189 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added. 35190 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c. 35191 * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests. 35192 * UIProcess/API/gtk/tests/WebViewTest.h: Added. 35193 * UIProcess/API/gtk/tests/testloading.c: Removed. 35194 * UIProcess/API/gtk/tests/testwebcontext.c: Removed. 35195 351962011-10-11 Alexey Proskuryakov <ap@apple.com> 35197 35198 [Mac] Crash when opening an embedded PDF in a background tab 35199 https://bugs.webkit.org/show_bug.cgi?id=69880 35200 35201 Reviewed by Darin Adler. 35202 35203 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35204 (WebKit::BuiltInPDFView::BuiltInPDFView): 35205 (WebKit::BuiltInPDFView::~BuiltInPDFView): 35206 (WebKit::BuiltInPDFView::initialize): 35207 (WebKit::BuiltInPDFView::destroy): 35208 Moved initialization and destruction code from C++ constructor and destructor to designated 35209 functions. Not part of the fix, but seems related enough to fix. 35210 352112011-10-11 Alexey Proskuryakov <ap@apple.com> 35212 35213 [Mac] Crash when opening an embedded PDF in a background tab 35214 https://bugs.webkit.org/show_bug.cgi?id=69880 35215 35216 Reviewed by Darin Adler. 35217 35218 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that 35219 doesn't even have a controller yet. 35220 352212011-10-11 Beth Dakin <bdakin@apple.com> 35222 35223 https://bugs.webkit.org/show_bug.cgi?id=69874 35224 WebKit2 snapshot APIs should take the device scale factor into account 35225 -and corresponding- 35226 <rdar://problem/10269112> 35227 35228 Reviewed by Darin Adler. 35229 35230 Add the deviceScaleFactor as a scale on the snapshot's context to create a 35231 snapshot of the appropriate resolution. This matches the manner in which we scale 35232 the context in DrawingAreaImpl::display(). 35233 * WebProcess/WebPage/WebPage.cpp: 35234 (WebKit::WebPage::snapshotInViewCoordinates): 35235 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): 35236 352372011-10-11 W. James MacLean <wjmaclean@chromium.org> 35238 35239 Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged() 35240 https://bugs.webkit.org/show_bug.cgi?id=69739 35241 35242 Change 'double' parameters to 'float' to match changes in FrameView. 35243 35244 Reviewed by Simon Fraser. 35245 35246 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 35247 (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged): 35248 352492011-10-11 Alexey Proskuryakov <ap@apple.com> 35250 35251 [Mac] Small embedded PDFs are not fully repainted when scrolling 35252 https://bugs.webkit.org/show_bug.cgi?id=69861 35253 35254 Reviewed by Anders Carlsson. 35255 35256 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent): 35257 Account for vertical centering when deciding which pages to paint. 35258 352592011-10-11 Alexey Proskuryakov <ap@apple.com> 35260 35261 Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified 35262 https://bugs.webkit.org/show_bug.cgi?id=64934 35263 35264 Reviewed by Dan Bernstein. 35265 35266 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too, 35267 like GetPluginPath does in UI process. One difference is that UI process additionally tries 35268 platform specific extension to MIME type mapping, but that doesn't matter for PDF, which 35269 does not have other standard extensions. 35270 352712011-10-11 Alexey Proskuryakov <ap@apple.com> 35272 35273 [Mac] Should be able to display multi-page PDFs in subframes 35274 https://bugs.webkit.org/show_bug.cgi?id=69804 35275 35276 Reviewed by Anders Carlsson. 35277 35278 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 35279 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35280 (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that 35281 one could step over the document page by page. It certainly shouldn't be a portion of the 35282 whole document. 35283 (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here. 35284 (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and 35285 remember page boxes. 35286 (WebKit::BuiltInPDFView::paint): Split into separate functions. 35287 (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect. 35288 (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still 35289 fairly naive, as it doesn't understand annotations or page rotation. 35290 Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom 35291 shadows. 35292 (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here. 35293 (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad(). 35294 (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto. 35295 352962011-10-11 Gopal Raghavan <gopal.1.raghavan@nokia.com> 35297 35298 [Qt] WebProcess using proxy settings for localhost as well 35299 https://bugs.webkit.org/show_bug.cgi?id=69611 35300 35301 Reviewed by Chang Shu. 35302 35303 Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1 35304 35305 * WebProcess/qt/WebProcessMainQt.cpp: 35306 (WebKit::EnvHttpProxyFactory::queryProxy): 35307 353082011-10-11 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 35309 35310 [Qt] Remove all references to QTDIR_build and standalone_package 35311 35312 Qt is now modularized, which means we no longer import WebKit into 35313 the Qt source tree. Instead we use git submodules, and building 35314 QtWebKit as "part of Qt" is really building QtWebKit as from trunk. 35315 35316 To decrease the number of buildsystem configurations we also remove 35317 the standalone_package code-path used when we were providing tarballs 35318 with the derived sources pre-generated. 35319 35320 Reviewed by Simon Hausmann. 35321 35322 * DerivedSources.pro: 35323 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: 35324 * UIProcess/API/qt/tests/tests.pri: 35325 * WebKit2.pri: 35326 * WebProcess.pro: 35327 353282011-10-10 Nate Chapin <japhet@chromium.org> 35329 35330 Use a CachedImageClient instead of CachedResourceClient 35331 in WebDragClientMac. 35332 https://bugs.webkit.org/show_bug.cgi?id=69790 35333 35334 Reviewed by Adam Barth. 35335 35336 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 35337 (promisedDataClient): 35338 353392011-10-10 Mark Hahnenberg <mhahnenberg@apple.com> 35340 35341 Remove getCallDataVirtual methods 35342 https://bugs.webkit.org/show_bug.cgi?id=69186 35343 35344 Reviewed by Geoffrey Garen. 35345 35346 Removed all getCallDataVirtual methods and replaced their call sites 35347 with an explicit lookup in the MethodTable. 35348 35349 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 35350 * WebProcess/Plugins/Netscape/JSNPMethod.h: 35351 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 35352 * WebProcess/Plugins/Netscape/JSNPObject.h: 35353 353542011-10-10 Simon Hausmann <simon.hausmann@nokia.com> 35355 35356 [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan 35357 35358 Reviewed by Andreas Kling. 35359 35360 Explicitly choose the qreal variant of qMin, since QPointF is using qreal. 35361 35362 * UIProcess/qt/ViewportInteractionEngine.cpp: 35363 (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded): 35364 353652011-10-10 Carlos Garcia Campos <cgarcia@igalia.com> 35366 35367 [GTK] Add methods to reload the view to WebKit2 GTK+ API 35368 https://bugs.webkit.org/show_bug.cgi?id=69613 35369 35370 Reviewed by Martin Robinson. 35371 35372 * UIProcess/API/gtk/WebKitWebView.cpp: 35373 (webkit_web_view_reload): 35374 (webkit_web_view_reload_bypass_cache): 35375 * UIProcess/API/gtk/WebKitWebView.h: 35376 * UIProcess/API/gtk/tests/testloading.c: 35377 (loadReloadProvisionalLoadStarted): 35378 (loadReloadLoadFinished): 35379 (testLoadTimeoutFinishLoop): 35380 (testLoadReload): 35381 (main): 35382 353832011-10-09 Luke Macpherson <macpherson@chromium.org> 35384 35385 Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034> 35386 (https://bugs.webkit.org/show_bug.cgi?id=68035) 35387 https://bugs.webkit.org/show_bug.cgi?id=69735 35388 35389 Reviewed by Daniel Bates. 35390 35391 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 35392 Add symbols that are now required by ScrollableArea. 35393 (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged): 35394 353952011-10-08 Mark Hahnenberg <mhahnenberg@apple.com> 35396 35397 Add static version of JSCell::getConstructData 35398 https://bugs.webkit.org/show_bug.cgi?id=69673 35399 35400 Reviewed by Geoffrey Garen. 35401 35402 Added static version of getConstructData to all classes that 35403 override it and changed the virtual versions to call the static 35404 versions. This is the first step in de-virtualizing JSCell::getConstructData. 35405 35406 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 35407 (WebKit::JSNPObject::getConstructData): 35408 * WebProcess/Plugins/Netscape/JSNPObject.h: 35409 354102011-10-08 Mark Hahnenberg <mhahnenberg@apple.com> 35411 35412 Add static version of JSCell::getOwnPropertySlot 35413 https://bugs.webkit.org/show_bug.cgi?id=69593 35414 35415 Reviewed by Geoffrey Garen. 35416 35417 Added static version of getOwnPropertySlot to every class that overrides 35418 JSCell::getOwnPropertySlot. The virtual versions now call the static versions. 35419 This is the first step in de-virtualizing JSCell::getOwnPropertySlot. 35420 35421 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 35422 (WebKit::JSNPObject::getOwnPropertySlot): 35423 * WebProcess/Plugins/Netscape/JSNPObject.h: 35424 354252011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> and Martin Robinson <mrobinson@igalia.com> 35426 35427 [GTK] Implement drag and drop support in WebKit2 35428 https://bugs.webkit.org/show_bug.cgi?id=63706 35429 35430 Reviewed by Philippe Normand. 35431 35432 * GNUmakefile.am: Add new files to compilation. 35433 * Shared/gtk/ArgumentCodersGtk.cpp: Added. 35434 (CoreIPC::encodeImage): Encode a GdkPixbuf. 35435 (CoreIPC::decodeImage): Decode a GdkPixbuf. 35436 (CoreIPC::encodeDataObject): Encode a DataObjectGtk. 35437 (CoreIPC::decodeDataObject): Decode a DataObjectGtk. 35438 (CoreIPC::::encode): Encode DragData. 35439 (CoreIPC::::decode): Decode DragData. 35440 * Shared/gtk/ArgumentCodersGtk.h: 35441 * UIProcess/API/gtk/PageClientImpl.cpp: 35442 (WebKit::PageClientImpl::startDrag): 35443 * UIProcess/API/gtk/PageClientImpl.h: 35444 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 35445 (webkit_web_view_base_init): Set the view as a potential drop destination. 35446 (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper. 35447 (webkitWebViewBaseDragEnd): Ditto. 35448 (webkitWebViewBaseDragDataReceived): Ditto. 35449 (webkitWebViewBaseDragEnter): Ditto. 35450 (webkitWebViewBaseDragMotion): Ditto. 35451 (doDragLeaveLater): Ditto. 35452 (webkitWebViewBaseDragLeave): Ditto. 35453 (webkitWebViewBaseDragDrop): Ditto. 35454 (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods. 35455 (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation. 35456 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag(). 35457 * UIProcess/PageClient.h: Add startDrag(). 35458 * UIProcess/WebPageProxy.cpp: 35459 (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version. 35460 * UIProcess/WebPageProxy.h: 35461 * UIProcess/WebPageProxy.messages.in: 35462 * WebProcess/WebCoreSupport/WebDragClient.cpp: 35463 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added. 35464 * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+. 35465 * WebProcess/WebPage/WebPage.h: Ditto. 35466 * WebProcess/WebPage/WebPage.messages.in: Ditto. 35467 354682011-10-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 35469 35470 [Qt] [WK2] Wrong handling of visibility in QTouchWebPage 35471 https://bugs.webkit.org/show_bug.cgi?id=69670 35472 35473 Reviewed by Andreas Kling. 35474 35475 Replace QTouchWebPage visibility handling by Show/Hide events with use of 35476 QSGItem::visibleChanged signal. 35477 35478 * UIProcess/API/qt/qtouchwebpage.cpp: 35479 (QTouchWebPage::QTouchWebPage): 35480 (QTouchWebPage::event): 35481 (QTouchWebPage::onVisibleChanged): 35482 * UIProcess/API/qt/qtouchwebpage.h: 35483 354842011-10-08 Sheriff Bot <webkit.review.bot@gmail.com> 35485 35486 Unreviewed, rolling out r96996. 35487 http://trac.webkit.org/changeset/96996 35488 https://bugs.webkit.org/show_bug.cgi?id=69697 35489 35490 It broke all tests on the Qt bot (Requested by Ossy_night on 35491 #webkit). 35492 35493 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 35494 (WebKit::JSNPMethod::getCallDataVirtual): 35495 * WebProcess/Plugins/Netscape/JSNPMethod.h: 35496 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 35497 (WebKit::JSNPObject::getCallDataVirtual): 35498 * WebProcess/Plugins/Netscape/JSNPObject.h: 35499 355002011-10-07 Jeff Miller <jeffm@apple.com> 35501 35502 Add WKPageContextMenuClient callback when context menu is dismissed 35503 https://bugs.webkit.org/show_bug.cgi?id=69553 35504 35505 Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API 35506 version of this client to 1 so we continue to work with old clients. 35507 35508 * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient. 35509 * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient. 35510 35511 * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion. 35512 35513 * UIProcess/WebPageContextMenuClient.cpp: 35514 (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added. 35515 35516 * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed(). 35517 35518 * UIProcess/WebPageProxy.cpp: 35519 (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed. 35520 355212011-10-07 Mark Hahnenberg <mhahnenberg@apple.com> 35522 35523 Remove getCallDataVirtual methods 35524 https://bugs.webkit.org/show_bug.cgi?id=69186 35525 35526 Reviewed by Geoffrey Garen. 35527 35528 Removed all getCallDataVirtual methods and replaced their call sites 35529 with an explicit lookup in the MethodTable. 35530 35531 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 35532 * WebProcess/Plugins/Netscape/JSNPMethod.h: 35533 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 35534 * WebProcess/Plugins/Netscape/JSNPObject.h: 35535 355362011-10-07 Alexey Proskuryakov <ap@apple.com> 35537 35538 [Mac] Scrollbars in embedded PDFs should update when system preferences change 35539 https://bugs.webkit.org/show_bug.cgi?id=69654 35540 35541 Reviewed by Simon Fraser. 35542 35543 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override. 35544 ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style 35545 changes, and expects clients to move them back in place. 35546 35547 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35548 (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from 35549 updating style of PDF view scrollbars. 35550 (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after 35551 style change. The behavior is not perfect in edge cases, but roughly matches ScrollView. 35552 355532011-10-07 Sheriff Bot <webkit.review.bot@gmail.com> 35554 35555 Unreviewed, rolling out r96938. 35556 http://trac.webkit.org/changeset/96938 35557 https://bugs.webkit.org/show_bug.cgi?id=69653 35558 35559 It broke zillion tests and make testing so slow (Requested by 35560 ossy_ on #webkit). 35561 35562 * UIProcess/WebContext.cpp: 35563 * UIProcess/WebContext.h: 35564 * UIProcess/efl/WebContextEfl.cpp: 35565 (WebKit::WebContext::applicationCacheDirectory): 35566 * UIProcess/gtk/WebContextGtk.cpp: 35567 (WebKit::WebContext::applicationCacheDirectory): 35568 * UIProcess/mac/WebContextMac.mm: 35569 (WebKit::WebContext::applicationCacheDirectory): 35570 * UIProcess/qt/WebContextQt.cpp: 35571 (WebKit::WebContext::applicationCacheDirectory): 35572 * UIProcess/win/WebContextWin.cpp: 35573 (WebKit::WebContext::applicationCacheDirectory): 35574 355752011-10-07 Qi Zhang <qi.2.zhang@nokia.com> 35576 35577 [Qt][WK2] ApplicationCache LayoutTests failed 35578 https://bugs.webkit.org/show_bug.cgi?id=69541 35579 35580 Reviewed by Chang Shu. 35581 35582 1. Moved applicationCacheDirectory to common code. 35583 2. Added interface setApplicationCacheDirectory to allow UI client overriding. 35584 3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory. 35585 4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location. 35586 35587 35588 * UIProcess/WebContext.cpp: 35589 (WebKit::WebContext::applicationCacheDirectory): 35590 * UIProcess/WebContext.h: 35591 (WebKit::WebContext::setApplicationCacheDirectory): 35592 * UIProcess/efl/WebContextEfl.cpp: 35593 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 35594 * UIProcess/gtk/WebContextGtk.cpp: 35595 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 35596 * UIProcess/mac/WebContextMac.mm: 35597 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 35598 * UIProcess/qt/WebContextQt.cpp: 35599 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 35600 * UIProcess/win/WebContextWin.cpp: 35601 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 35602 356032011-10-06 Brent Fulgham <bfulgham@webkit.org> 35604 35605 [WinCairo] Correct improper identification of WKQC extensions. 35606 https://bugs.webkit.org/show_bug.cgi?id=69600 35607 35608 * DerivedSources.make: Make sure we are not building the 35609 WinCairo variant. 35610 356112011-10-06 Anders Carlsson <andersca@apple.com> 35612 35613 When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors 35614 https://bugs.webkit.org/show_bug.cgi?id=69586 35615 35616 Reviewed by Darin Adler. 35617 35618 * Configurations/Base.xcconfig: 35619 Add -Wglobal-constructors and -Wexit-time-destructors when building with clang. 35620 35621 * WebKit2.xcodeproj/project.pbxproj: 35622 When building with clang, we don't need to run the check-for-global-initializers and 35623 check-for-exit-time-destructors anymore. 35624 356252011-10-06 Anders Carlsson <andersca@apple.com> 35626 35627 Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds 35628 https://bugs.webkit.org/show_bug.cgi?id=69584 35629 35630 Reviewed by Darin Adler. 35631 35632 Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro. 35633 35634 * UIProcess/WebContext.cpp: 35635 * UIProcess/WebPageProxy.cpp: 35636 * WebProcess/WebPage/WebFrame.cpp: 35637 * WebProcess/WebPage/WebPage.cpp: 35638 356392011-10-06 Alexey Proskuryakov <ap@apple.com> 35640 35641 [Mac] Should be able to scroll embedded PDFs using mouse 35642 https://bugs.webkit.org/show_bug.cgi?id=69579 35643 35644 Reviewed by Darin Adler. 35645 35646 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35647 (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling, 35648 ScrollableArea does everything now. 35649 (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from 35650 WebCore hit testing code. 35651 (WebKit::BuiltInPDFView::verticalScrollbar): Ditto. 35652 (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this. 35653 (WebKit::BuiltInPDFView::visibleWidth): Ditto. 35654 35655 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 35656 (WebKit::NetscapePlugin::horizontalScrollbar): 35657 (WebKit::NetscapePlugin::verticalScrollbar): 35658 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 35659 * WebProcess/Plugins/PDF/BuiltInPDFView.h: 35660 * WebProcess/Plugins/Plugin.h: 35661 * WebProcess/Plugins/PluginProxy.cpp: 35662 (WebKit::PluginProxy::horizontalScrollbar): 35663 (WebKit::PluginProxy::verticalScrollbar): 35664 * WebProcess/Plugins/PluginProxy.h: 35665 * WebProcess/Plugins/PluginView.cpp: 35666 (WebKit::PluginView::horizontalScrollbar): 35667 (WebKit::PluginView::verticalScrollbar): 35668 * WebProcess/Plugins/PluginView.h: 35669 Added plumbing to access scrollbars from WebCore hit testing code. 35670 356712011-10-06 Alexis Menard <alexis.menard@openbossa.org> 35672 35673 [Qt][WK2] WebIconDatabase expects a file path not a directory. 35674 https://bugs.webkit.org/show_bug.cgi?id=69557 35675 35676 Reviewed by Andreas Kling. 35677 35678 WebIconDatabase::setDatabasePath expects a file path not a directory. 35679 I used the same name as the Mac port. 35680 35681 * UIProcess/qt/WebContextQt.cpp: 35682 (WebKit::WebContext::platformDefaultIconDatabasePath): 35683 356842011-10-06 Anders Carlsson <andersca@apple.com> 35685 35686 In background window, page flashes white if it enters and then immediately leaves compositing mode 35687 https://bugs.webkit.org/show_bug.cgi?id=69566 35688 <rdar://problem/9521192> 35689 35690 Reviewed by Dan Bernstein. 35691 35692 Don't update the backing store state if we're just about to exit accelerated compositing mode. Otherwise 35693 the UI process will try to render an empty layer tree for a short period of time, leading to a white flash. 35694 35695 * WebProcess/WebPage/DrawingAreaImpl.cpp: 35696 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): 35697 356982011-10-06 Fady Samuel <fsamuel@chromium.org> 35699 35700 Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false 35701 https://bugs.webkit.org/show_bug.cgi?id=69009 35702 35703 Reviewed by Simon Fraser. 35704 35705 * win/WebKit2.def: 35706 * win/WebKit2CFLite.def: 35707 357082011-10-06 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 35709 35710 Move windows specific TextChecker implementation common to all ports. 35711 https://bugs.webkit.org/show_bug.cgi?id=68532 35712 35713 Reviewed by Anders Carlsson. 35714 35715 All the TextChecker feature implementation files are moved outside of win port since they are 35716 platform independent and can be moved across all ports. Only the implementation of TextChecker 35717 class is platform dependent now and has been retained across all ports. Rest all files has been 35718 moved for all ports usage. 35719 35720 * Shared/API/c/WKBase.h: Add WKGrammarDetailRef & WKTextCheckerRef types. 35721 * Shared/API/c/win/WKBaseWin.h: Remove WKGrammarDetailRef & WKTextCheckerRef types. 35722 * Shared/APIObject.h: Moved TypeGrammarDetail & TypeTextChecker from platform specific section to UIProcess types. 35723 * UIProcess/API/C/WKAPICast.h: Added mapping for WKTextCheckerRef & WKGrammarDetailRef. 35724 * UIProcess/API/C/WKGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.cpp. 35725 * UIProcess/API/C/WKGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.h. 35726 * UIProcess/API/C/WKTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.cpp. 35727 * UIProcess/API/C/WKTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.h. 35728 * UIProcess/API/C/win/WKAPICastWin.h: Removed mapping for WKTextCheckerRef & WKGrammarDetailRef. 35729 * UIProcess/WebGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.cpp. 35730 * UIProcess/WebGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.h. 35731 * UIProcess/WebTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.cpp. 35732 * UIProcess/WebTextChecker.h: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.h. 35733 * UIProcess/WebTextCheckerClient.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.cpp. 35734 * UIProcess/WebTextCheckerClient.h: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.h. 35735 * win/WebKit2.vcproj: Corrected paths for renamed files. 35736 * win/WebKit2Generated.make: Corrected paths for renamed files. 35737 357382011-10-06 Anders Carlsson <andersca@apple.com> 35739 35740 Crash when PluginProxy object is destroyed inside PluginProxy::pluginScriptableNPObject 35741 https://bugs.webkit.org/show_bug.cgi?id=69559 35742 <rdar://problem/9704066> 35743 35744 Reviewed by Maciej Stachowiak. 35745 35746 Protect the plug-in itself in the call to pluginScriptableNPObject. In some cases, sending 35747 the synchronous message to the plug-in process can end up causing the web process to handle 35748 an incoming message that will destroy t he plug-in. 35749 35750 Unfortunately, this is highly timing-dependent and can't be tested reliably. 35751 35752 * WebProcess/Plugins/PluginProxy.cpp: 35753 (WebKit::PluginProxy::pluginScriptableNPObject): 35754 357552011-10-06 Carlos Garcia Campos <cgarcia@igalia.com> 35756 35757 [GTK] Add estimated-progress property to WebKitWebLoaderClient 35758 https://bugs.webkit.org/show_bug.cgi?id=69509 35759 35760 Reviewed by Martin Robinson. 35761 35762 It allows to monitor the estimated progress of a lof operation by 35763 connecting to the notify signal. 35764 35765 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 35766 (didChangeProgress): Update estimated-progress property and notify when 35767 it changes. 35768 (webkitWebLoaderClientConstructed): Add implementations for 35769 didStartProgress, didChangeProgress and didFinishProgress. 35770 (webkitWebLoaderClientGetProperty): 35771 (webkit_web_loader_client_class_init): Add estimated-progress property. 35772 (webkit_web_loader_client_get_estimated_progress): Returns the 35773 value of estimated-progress property. 35774 * UIProcess/API/gtk/WebKitWebLoaderClient.h: 35775 * UIProcess/API/gtk/tests/testloading.c: 35776 (webLoadingFixtureSetup): 35777 (loadProgressEstimatedProgressChanged): 35778 (loadProgressLoadFinished): 35779 (testLoadProgress): 35780 (main): 35781 357822011-10-06 Carlos Garcia Campos <cgarcia@igalia.com> 35783 35784 [GTK] Implement cache model for WebKit2 35785 https://bugs.webkit.org/show_bug.cgi?id=68434 35786 35787 Reviewed by Martin Robinson. 35788 35789 * UIProcess/API/gtk/WebKitWebContext.cpp: 35790 (webkit_web_context_set_cache_model): 35791 (webkit_web_context_get_cache_model): 35792 * UIProcess/API/gtk/WebKitWebContext.h: 35793 * UIProcess/API/gtk/tests/testwebcontext.c: 35794 (testWebContextCacheModel): 35795 (main): 35796 * WebProcess/gtk/WebProcessGtk.cpp: 35797 (WebKit::getCacheDiskFreeSize): Helper function to get free space 35798 of the file system where the cache directory is on. 35799 (WebKit::getMemorySize): Helper function to get the total memory 35800 of the system in MB. 35801 (WebKit::WebProcess::platformSetCacheModel): Implement 35802 platformSetCacheModel for Gtk port using calculateCacheSizes(). 35803 358042011-10-05 Alexey Proskuryakov <ap@apple.com> 35805 35806 https://bugs.webkit.org/show_bug.cgi?id=69492 35807 [Mac] Should be able to scroll embedded PDFs from keyboard 35808 35809 Reviewed by Darin Adler. 35810 35811 * WebProcess/Plugins/Plugin.h: 35812 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 35813 (WebKit::NetscapePlugin::handleScroll): 35814 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 35815 * WebProcess/Plugins/PluginProxy.cpp: 35816 (WebKit::PluginProxy::handleScroll): 35817 * WebProcess/Plugins/PluginProxy.h: 35818 Added a handleScroll method. A plug-in gets it if it doesn't handle a keyboard event, and 35819 WebCore decides that this is an event for scrolling. A plug-in can decide whether it scrolls 35820 main content, or some scrollable subview of its own. 35821 35822 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: 35823 (WebKit::BuiltInPDFView::handleMouseEvent): Added a comment explaining returned value. 35824 (WebKit::BuiltInPDFView::handleScroll): Just call ScrollableArea, it will do everything. 35825 35826 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added a handleScroll override. 35827 35828 * WebProcess/Plugins/PluginView.cpp: 35829 (WebKit::PluginView::scroll): Pass a PluginViewBase scroll to plug-in to handle. 35830 (WebKit::PluginView::handleEvent): Added a FIXME. 35831 * WebProcess/Plugins/PluginView.h: 35832 358332011-10-06 Carlos Garcia Campos <cgarcia@igalia.com> 35834 35835 [GTK] Do not use C API in GTK+ API public headers 35836 https://bugs.webkit.org/show_bug.cgi?id=69506 35837 35838 Reviewed by Martin Robinson. 35839 35840 * GNUmakefile.am: Add new files to compilation. 35841 * UIProcess/API/gtk/WebKitDefines.h: Added. 35842 * UIProcess/API/gtk/WebKitError.h: Use WEBKIT_API instead of WK_EXPORT. 35843 * UIProcess/API/gtk/WebKitWebContext.h: Ditto. 35844 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Ditto. 35845 * UIProcess/API/gtk/WebKitWebView.h: Ditto. 35846 * UIProcess/API/gtk/WebKitWebViewBase.h: Ditto. 35847 * UIProcess/API/gtk/docs/GNUmakefile.am: Ignore WEBKIT_API 35848 decorator in docs. 35849 * UIProcess/API/gtk/webkit2.h: Include <webkit2/WebKitDefines.h> 35850 358512011-10-06 Alexis Menard <alexis.menard@openbossa.org> 35852 35853 [Qt][WK2] Cursor should change when hovering links or input fields. 35854 https://bugs.webkit.org/show_bug.cgi?id=69519 35855 35856 Reviewed by Simon Hausmann. 35857 35858 This is a temporary fix until Qt5 brings support for changing cursor 35859 per item. This patch enforce the change of the cursor at application 35860 level. 35861 35862 * UIProcess/API/qt/qdesktopwebview.cpp: 35863 (QDesktopWebViewPrivate::didChangeCursor): 35864 358652011-10-06 Zeno Albisser <zeno.albisser@nokia.com> 35866 35867 [Qt][WK2][Mac] QtWebProcess should not show up in the Dock. 35868 https://bugs.webkit.org/show_bug.cgi?id=69432 35869 35870 We can set the environment variable QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM 35871 in the WebProcess stub to disable the automatic foreground transformation. 35872 35873 Reviewed by Andreas Kling. 35874 35875 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 35876 (WebKit::QtWebProcess::setupChildProcess): 35877 358782011-10-03 Andy Estes <aestes@apple.com> 35879 35880 Add an option to suppress rendering until the document's load event fires. 35881 https://bugs.webkit.org/show_bug.cgi?id=69298 35882 35883 Reviewed by Simon Fraser. 35884 35885 Add a new WKPreference. 35886 35887 * Shared/WebPreferencesStore.h: 35888 * UIProcess/API/C/WKPreferences.cpp: 35889 (WKPreferencesSetSuppressRenderingWhileInitiallyLoading): 35890 (WKPreferencesGetSuppressRenderingWhileInitiallyLoading): 35891 * UIProcess/API/C/WKPreferences.h: 35892 * WebProcess/WebPage/WebPage.cpp: 35893 (WebKit::WebPage::updatePreferences): 35894 358952011-10-05 Simon Fraser <simon.fraser@apple.com> 35896 35897 r96770 broke binary compatibility with Safari 35898 https://bugs.webkit.org/show_bug.cgi?id=69496 35899 35900 Reviewed by Dan Bernstein. 35901 35902 Fix binary compatibility issue by declaring the deprecated methods inside a extern "C" block. 35903 35904 * UIProcess/API/C/WKContext.cpp: 35905 359062011-10-05 Jer Noble <jer.noble@apple.com> 35907 35908 Enable WEB_AUDIO by default in the WebKit/mac port. 35909 https://bugs.webkit.org/show_bug.cgi?id=68587 35910 35911 Reviewed by Simon Fraser. 35912 35913 * Configurations/FeatureDefines.xcconfig: 35914 359152011-10-05 Simon Fraser <simon.fraser@apple.com> 35916 35917 In WebKitTestRunner, text has font smoothing in pixel snapshots 35918 https://bugs.webkit.org/show_bug.cgi?id=69396 35919 35920 Reviewed by Darin Adler. 35921 35922 Plumb through a method on WKContext that controls whether font smoothing 35923 is enabled. Since this is a global setting, such a method is more appropriate 35924 than a preference. 35925 35926 Remove leading underscores on some WKContext functions, but keep 35927 exported versions of same for binary compatibility. 35928 35929 * Shared/WebProcessCreationParameters.cpp: 35930 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 35931 (WebKit::WebProcessCreationParameters::encode): 35932 (WebKit::WebProcessCreationParameters::decode): 35933 * Shared/WebProcessCreationParameters.h: 35934 * UIProcess/API/C/WKContext.cpp: 35935 (WKContextSetAlwaysUsesComplexTextCodePath): 35936 (WKContextSetShouldUseFontSmoothing): 35937 (WKContextSetAdditionalPluginsDirectory): 35938 (WKContextRegisterURLSchemeAsEmptyDocument): 35939 (WKContextSetHTTPPipeliningEnabled): 35940 (_WKContextSetAdditionalPluginsDirectory): 35941 (_WKContextRegisterURLSchemeAsEmptyDocument): 35942 (_WKContextSetAlwaysUsesComplexTextCodePath): 35943 (_WKContextSetHTTPPipeliningEnabled): 35944 * UIProcess/API/C/WKContextPrivate.h: 35945 * UIProcess/WebContext.cpp: 35946 (WebKit::WebContext::WebContext): 35947 (WebKit::WebContext::ensureWebProcess): 35948 (WebKit::WebContext::setShouldUseFontSmoothing): 35949 (WebKit::WebContext::httpPipeliningEnabled): 35950 * UIProcess/WebContext.h: 35951 * WebProcess/WebProcess.cpp: 35952 (WebKit::WebProcess::initializeWebProcess): 35953 (WebKit::WebProcess::setShouldUseFontSmoothing): 35954 * WebProcess/WebProcess.h: 35955 * WebProcess/WebProcess.messages.in: 35956 359572011-10-05 Anders Carlsson <andersca@apple.com> 35958 35959 Flash of white when unminimizing windows 35960 https://bugs.webkit.org/show_bug.cgi?id=69476 35961 <rdar://problem/10202680> 35962 35963 Reviewed by Simon Fraser. 35964 35965 Whenever the UI process requests an immediate backing store update, make sure to resume 35966 painting if it's suspended. 35967 35968 * WebProcess/WebPage/DrawingAreaImpl.cpp: 35969 (WebKit::DrawingAreaImpl::updateBackingStoreState): 35970 359712011-10-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 35972 35973 [Qt] [WK2] Support JS alert/confirm/prompt in QDesktopWebView 35974 https://bugs.webkit.org/show_bug.cgi?id=69274 35975 35976 Reviewed by Andreas Kling. 35977 35978 Use currently existing QtWidgets to provide an implementation of 35979 window.alert(), window.confirm() and window.prompt(). 35980 35981 * Shared/WebString.h: 35982 (WebKit::WebString::createNull): 35983 (WebKit::WebString::WebString): 35984 Add a way to create a Null WebString. RunJavaScriptPrompt will differentiate 35985 between empty and null strings. 35986 35987 * UIProcess/API/qt/qdesktopwebview.cpp: 35988 (QDesktopWebViewPrivate::enableMouseEvents): 35989 (QDesktopWebViewPrivate::disableMouseEvents): 35990 Create helper functions to enable and disable mouse events. This is useful for 35991 disabling mouse events in the WebView when we show QtWidget dialogs to avoid 35992 unwanted interaction with the page. 35993 35994 (QDesktopWebViewPrivate::runJavaScriptAlert): 35995 (QDesktopWebViewPrivate::runJavaScriptConfirm): 35996 (QDesktopWebViewPrivate::runJavaScriptPrompt): 35997 (QDesktopWebView::init): 35998 * UIProcess/API/qt/qdesktopwebview_p.h: 35999 * UIProcess/qt/ClientImpl.cpp: 36000 (qt_wk_runJavaScriptAlert): 36001 (qt_wk_runJavaScriptConfirm): 36002 (createNullWKString): 36003 (qt_wk_runJavaScriptPrompt): 36004 * UIProcess/qt/ClientImpl.h: 36005 * UIProcess/qt/QtWebPageProxy.cpp: 36006 (QtWebPageProxy::init): 36007 * UIProcess/qt/TouchViewInterface.cpp: 36008 (WebKit::TouchViewInterface::runJavaScriptAlert): 36009 (WebKit::TouchViewInterface::runJavaScriptConfirm): 36010 (WebKit::TouchViewInterface::runJavaScriptPrompt): 36011 * UIProcess/qt/TouchViewInterface.h: 36012 * UIProcess/qt/ViewInterface.h: 36013 360142011-10-05 Chang Shu <cshu@webkit.org> 36015 36016 [WK2] Support setMarkedText/hasMarkedText/unmarkText/insertText for WTR TextInputController 36017 https://bugs.webkit.org/show_bug.cgi?id=68924 36018 36019 Implemented WKBundlePage private APIs to support the above functions. 36020 36021 Reviewed by Darin Adler. 36022 36023 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 36024 (WKBundlePageSetComposition): 36025 (WKBundlePageHasComposition): 36026 (WKBundlePageConfirmComposition): 36027 (WKBundlePageConfirmCompositionWithText): 36028 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 36029 * WebProcess/WebPage/WebPage.cpp: 36030 (WebKit::WebPage::setCompositionForTesting): 36031 (WebKit::WebPage::hasCompositionForTesting): 36032 (WebKit::WebPage::confirmCompositionForTesting): 36033 * WebProcess/WebPage/WebPage.h: 36034 360352011-10-05 Alexey Proskuryakov <ap@apple.com> 36036 36037 [Mac] Make built-in PDF description localizable 36038 https://bugs.webkit.org/show_bug.cgi?id=69442 36039 36040 Reviewed by Dan Bernstein. 36041 36042 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Use a localized string instead of a literal one. 36043 360442011-10-05 Chang Shu <cshu@webkit.org> 36045 36046 [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport 36047 https://bugs.webkit.org/show_bug.cgi?id=69365 36048 36049 Reviewed by Darin Adler. 36050 36051 Implement retrieving viewport configuration as text in WebProcess. 36052 36053 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 36054 (WKBundlePageViewportConfigurationAsText): 36055 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 36056 * WebProcess/WebPage/WebPage.cpp: 36057 (WebKit::WebPage::viewportConfigurationAsText): 36058 * WebProcess/WebPage/WebPage.h: 36059 360602011-10-05 Alexis Menard <alexis.menard@openbossa.org> 36061 36062 [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase. 36063 https://bugs.webkit.org/show_bug.cgi?id=69111 36064 36065 Reviewed by Kenneth Rohde Christiansen. 36066 36067 Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices. 36068 36069 * UIProcess/qt/WebContextQt.cpp: 36070 (WebKit::defaultDataLocation): 36071 (WebKit::WebContext::platformInitializeWebProcess): 36072 (WebKit::WebContext::platformDefaultDatabaseDirectory): 36073 (WebKit::WebContext::platformDefaultIconDatabasePath): 36074 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 36075 360762011-10-05 Carlos Garcia Campos <cgarcia@igalia.com> 36077 36078 [GTK] Use WKRetainPtr for WK types in WebKit2 GTK+ 36079 https://bugs.webkit.org/show_bug.cgi?id=69404 36080 36081 Reviewed by Martin Robinson. 36082 36083 * UIProcess/API/gtk/WebKitWebContext.cpp: 36084 (webkitWebContextFinalize): 36085 (createDefaultWebContext): 36086 (webkitWebContextGetWKContext): 36087 * UIProcess/API/gtk/WebKitWebView.cpp: 36088 (webkit_web_view_load_uri): 36089 (webkit_web_view_load_alternate_html): 36090 360912011-10-04 Kent Tamura <tkent@chromium.org> 36092 36093 Introduce feature flags for incomplete input types 36094 https://bugs.webkit.org/show_bug.cgi?id=68971 36095 36096 Reviewed by Hajime Morita. 36097 36098 * Configurations/FeatureDefines.xcconfig: 36099 Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS. 36100 361012011-10-04 Scott Graham <scottmg@chromium.org> 36102 36103 Add GAMEPAD feature flag 36104 https://bugs.webkit.org/show_bug.cgi?id=66859 36105 36106 Reviewed by Darin Fisher. 36107 36108 * Configurations/FeatureDefines.xcconfig: 36109 361102011-10-04 Ada Chan <adachan@apple.com> 36111 36112 toURLRef() in WKSharedAPICast.h should return null for a null string 36113 https://bugs.webkit.org/show_bug.cgi?id=69380 36114 36115 Reviewed by Jon Honeycutt. 36116 36117 * Shared/API/c/WKSharedAPICast.h: 36118 (WebKit::toURLRef): Add the missing "return" for the null string case. 36119 361202011-10-04 Alexey Proskuryakov <ap@apple.com> 36121 36122 https://bugs.webkit.org/show_bug.cgi?id=67774 36123 PDF in a frameset is not displayed, always downloads 36124 36125 Reviewed by Darin Adler. 36126 36127 * WebKit2.xcodeproj/project.pbxproj: 36128 * WebProcess/Plugins/PDF: Added. 36129 Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes, 36130 objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression. 36131 36132 * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a 36133 plug-in for PDF, so that it instantiates it in a regular fashion. 36134 36135 * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show 36136 PDF not only in main frame. 36137 36138 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of 36139 ScrollableArea now, which can render the first page of a PDF. Further improvements to come. 36140 36141 * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added. 36142 36143 * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance 36144 to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable. 36145 36146 * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since 36147 some ScrollableArea methods are const. 36148 36149 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints 36150 at updatingControlTints phase. 36151 36152 * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to 36153 use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate 36154 that PluginView has so much NPAPI specific code, but that's how it is now. 36155 36156 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in 36157 installed for PDF, instantiate built-in one. 36158 361592011-10-04 Jon Lee <jonlee@apple.com> 36160 36161 REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview 36162 https://bugs.webkit.org/show_bug.cgi?id=68412 36163 <rdar://problem/9988252> 36164 36165 Reviewed by Darin Adler. 36166 36167 In WK1 setInitialFocus() is called on FocusController with the key event that 36168 caused the web view to become first responder. In WK2 no event is sent. So if 36169 the key stroke that caused the change in first responder status contains the 36170 option modifier key, FocusController did not know that it had to switch behavior. 36171 36172 Because there are multiple ways that the WKView can becomeFirstResponder, I changed 36173 the signature to setInitialFocus to express whether the key event parameter is an 36174 actual key event. 36175 36176 * UIProcess/API/C/win/WKView.cpp: 36177 (WKViewSetInitialFocus): 36178 * UIProcess/API/mac/WKView.mm: 36179 (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if 36180 the event is a keyboard event, otherwise pass an empty event. 36181 * UIProcess/WebPageProxy.cpp: 36182 (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that 36183 the event that caused the initial focus was a keyboard event, and provide the keyboard 36184 event itself. 36185 * UIProcess/WebPageProxy.h: 36186 * UIProcess/win/WebView.cpp: 36187 (WebKit::WebView::setInitialFocus): 36188 * UIProcess/win/WebView.h: 36189 * WebProcess/WebPage/WebPage.cpp: 36190 (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard 36191 event, we pass that event to the FocusController. Otherwise we fall back to the original 36192 behavior, which is to pass no event at all. 36193 * WebProcess/WebPage/WebPage.h: 36194 * WebProcess/WebPage/WebPage.messages.in: 36195 361962011-10-04 Jeff Miller <jeffm@apple.com> 36197 36198 WKPreferences should allow control of application chrome mode 36199 https://bugs.webkit.org/show_bug.cgi?id=69344 36200 36201 Reviewed by Dan Bernstein. 36202 36203 * Shared/WebPreferencesStore.h: Add application chrome mode setting to FOR_EACH_WEBKIT_BOOL_PREFERENCE(). 36204 36205 * UIProcess/API/C/WKPreferences.cpp: 36206 (WKPreferencesSetApplicationChromeModeEnabled): Added. 36207 (WKPreferencesGetApplicationChromeModeEnabled): Added. 36208 36209 * UIProcess/API/C/WKPreferencesPrivate.h: Added WKPreferencesSetApplicationChromeModeEnabled() and WKPreferencesGetApplicationChromeModeEnabled(). 36210 36211 * WebProcess/WebPage/WebPage.cpp: 36212 (WebKit::WebPage::updatePreferences): Set application chrome mode setting. 36213 362142011-10-04 Carlos Garcia Campos <cgarcia@igalia.com> 36215 36216 [GTK] Implement default error pages in WebKit2 GTK+ API 36217 https://bugs.webkit.org/show_bug.cgi?id=69255 36218 36219 Reviewed by Martin Robinson. 36220 36221 * UIProcess/API/gtk/WebKitError.cpp: 36222 (webkit_policy_error_quark): Add quark for policy errors. 36223 (webkit_plugin_error_quark): Add quark for plugin errors. 36224 * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors. 36225 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 36226 (webkitWebLoaderClientLoadFailed): Load a custom error page when 36227 load failed and signal has not been handled. 36228 (webkit_web_loader_client_class_init): Add default implementation 36229 for provisional_load_failed and load_failed virtual methods. 36230 362312011-10-04 Carlos Garcia Campos <cgarcia@igalia.com> 36232 36233 [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API 36234 https://bugs.webkit.org/show_bug.cgi?id=69254 36235 36236 Reviewed by Martin Robinson. 36237 36238 * UIProcess/API/gtk/WebKitWebView.cpp: 36239 (webkit_web_view_load_alternate_html): 36240 * UIProcess/API/gtk/WebKitWebView.h: 36241 * UIProcess/API/gtk/tests/testloading.c: 36242 (loadAlternateContentLoadFinished): 36243 (loadAlternateContentLoadFailed): 36244 (testLoadAlternateContent): 36245 (main): 36246 362472011-10-03 Jon Lee <jonlee@apple.com> 36248 36249 Extend DOM WheelEvent to differentiate between physical and logical scroll directions 36250 https://bugs.webkit.org/show_bug.cgi?id=68959 36251 <rdar://problem/10036688> 36252 36253 Reviewed by Sam Weinig. 36254 36255 * Shared/WebEvent.h: 36256 (WebKit::WebWheelEvent::directionInvertedFromDevice): 36257 * Shared/WebEventConversion.cpp: 36258 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 36259 * Shared/WebWheelEvent.cpp: 36260 (WebKit::WebWheelEvent::WebWheelEvent): 36261 (WebKit::WebWheelEvent::encode): 36262 (WebKit::WebWheelEvent::decode): 36263 * Shared/mac/WebEventFactory.mm: 36264 (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent. 36265 * UIProcess/WebPageProxy.cpp: 36266 (WebKit::coalesce): 36267 362682011-10-04 Nayan Kumar K <nayankk@motorola.com> 36269 36270 [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK. 36271 https://bugs.webkit.org/show_bug.cgi?id=69325 36272 36273 Reviewed by Gustavo Noronha Silva. 36274 36275 Documentation generation for WebKit2-GTK+ APIs 36276 using gtk-doc. 36277 36278 * GNUmakefile.am: Added doc generation files to EXTRA_DIST. 36279 * UIProcess/API/gtk/docs/GNUmakefile.am: Makefile for doc generation. 36280 * UIProcess/API/gtk/docs/version.xml.in: Version information. 36281 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Document template. 36282 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Document sections added. 36283 * UIProcess/API/gtk/docs/webkit2gtk.types: Added GObjects types. 36284 362852011-10-04 Nayan Kumar K <nayankk@motorola.com> 36286 36287 [WebKit2][gtk] Fix warnings while generating documentation using gtk-doc. 36288 https://bugs.webkit.org/show_bug.cgi?id=69329 36289 36290 Reviewed by Martin Robinson. 36291 36292 Added documentation for WebKitNetworkError enum and corrected few other 36293 minor issues in WebKit2-GTK+ API documentation. 36294 36295 * UIProcess/API/gtk/WebKitError.h: Added documentation for WebKitNetworkError. 36296 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 36297 (webkit_web_loader_client_class_init): Corrected parameter name. 36298 * UIProcess/API/gtk/WebKitWebView.cpp: Corrected annotation. 36299 363002011-10-04 Vsevolod Vlasov <vsevik@chromium.org> 36301 36302 Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html. 36303 https://bugs.webkit.org/show_bug.cgi?id=69332 36304 36305 Reviewed by Pavel Feldman. 36306 36307 * win/WebKit2.def: 36308 * win/WebKit2CFLite.def: 36309 363102011-10-03 Anders Carlsson <andersca@apple.com> 36311 36312 Content area does not return to the correct position after rubberbanding 36313 https://bugs.webkit.org/show_bug.cgi?id=69302 36314 <rdar://problem/10102886> 36315 36316 Reviewed by Sam Weinig. 36317 36318 Make sure to schedule a display after adding to the dirty region. 36319 36320 * WebProcess/WebPage/DrawingAreaImpl.cpp: 36321 (WebKit::DrawingAreaImpl::scroll): 36322 363232011-10-03 Anders Carlsson <andersca@apple.com> 36324 36325 Remove custom scrollbar painting hooks 36326 https://bugs.webkit.org/show_bug.cgi?id=69163 36327 36328 Remove overridden ChromeClient member functions. 36329 36330 Reviewed by Alexey Proskuryakov. 36331 36332 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36333 * WebProcess/WebCoreSupport/WebChromeClient.h: 36334 363352011-10-03 Jer Noble <jer.noble@apple.com> 36336 36337 Unreviewed, rolling out r96526. 36338 http://trac.webkit.org/changeset/96526 36339 https://bugs.webkit.org/show_bug.cgi?id=68587 36340 36341 WEB_AUDIO has numerous 64->32 bit casting warnings, causing 36342 build breakages where -Wall is enabled. 36343 36344 * Configurations/FeatureDefines.xcconfig: 36345 363462011-10-03 Jer Noble <jer.noble@apple.com> 36347 36348 Enable WEB_AUDIO by default in the WebKit/mac port. 36349 https://bugs.webkit.org/show_bug.cgi?id=68587 36350 36351 Reviewed by Simon Fraser. 36352 36353 * Configurations/FeatureDefines.xcconfig: 36354 363552011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> 36356 36357 [GTK] Add failing uri parameter to provisional-load-failed and load-failed signals 36358 https://bugs.webkit.org/show_bug.cgi?id=69252 36359 36360 Reviewed by Martin Robinson. 36361 36362 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 36363 (didFailProvisionalLoadWithErrorForFrame): Pass failing URL to 36364 signal handler. 36365 (didFailLoadWithErrorForFrame): Ditto. 36366 (webkit_web_loader_client_class_init): Add failing URL parameter 36367 to provisional-load-failed and load-failed signals. 36368 * UIProcess/API/gtk/WebKitWebLoaderClient.h: 36369 * UIProcess/API/gtk/tests/testloading.c: 36370 (loadStatusProvisionalLoadFailed): Update to API changes. 36371 (loadStatusLoadFailed): Ditto. 36372 (loadErrorProvisionalLoadFailed): Ditto. 36373 * UIProcess/API/gtk/webkit2marshal.list: 36374 363752011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> 36376 36377 [GTK] Fix memory leak when loading url 36378 https://bugs.webkit.org/show_bug.cgi?id=69247 36379 36380 Reviewed by Martin Robinson. 36381 36382 Release URL created with WKURLCreateWithUTF8CString(). 36383 36384 * UIProcess/API/gtk/WebKitWebView.cpp: 36385 (webkit_web_view_load_uri): 36386 363872011-10-03 Carlos Garcia Campos <cgarcia@igalia.com> 36388 36389 [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin() 36390 https://bugs.webkit.org/show_bug.cgi?id=69147 36391 36392 Reviewed by Martin Robinson. 36393 36394 * Shared/Plugins/Netscape/NetscapePluginModule.h: 36395 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 36396 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): 36397 (WebKit::NetscapePluginModule::getPluginInfo): 36398 363992011-10-03 Zeno Albisser <zeno.albisser@nokia.com> 36400 36401 [Qt][WebKit2][Mac] WebProcess should exit automatically when UIProcess dies. 36402 https://bugs.webkit.org/show_bug.cgi?id=68439 36403 36404 We use a dispatch queue and a dispatch source in the WebProcess 36405 to receive a notification when the UI Process dies. 36406 The WebProcess then commits suicide. 36407 36408 Reviewed by Andreas Kling. 36409 36410 * WebProcess/qt/WebProcessQt.cpp: 36411 (WebKit::parentProcessDiedCallback): 36412 (WebKit::WebProcess::platformInitializeWebProcess): 36413 364142011-10-02 Zeno Albisser <zeno.albisser@nokia.com> 36415 36416 [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch. 36417 https://bugs.webkit.org/show_bug.cgi?id=69223 36418 36419 After the merge of the Qt5 refactor branch, networking stuff has been 36420 extracted into a separate library. The qmlplugin needs to link to that 36421 library to get QNetworkReply defined. 36422 36423 Reviewed by Noam Rosenthal. 36424 36425 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: 36426 364272011-10-01 Geoffrey Garen <ggaren@apple.com> 36428 36429 Removed redundant helper functions for allocating Strong handles 36430 https://bugs.webkit.org/show_bug.cgi?id=69218 36431 36432 Reviewed by Sam Weinig. 36433 36434 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 36435 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 36436 364372011-09-30 Sam Weinig <sam@webkit.org> 36438 36439 Add support for eventSender.mouseScrollBy in WTR 36440 https://bugs.webkit.org/show_bug.cgi?id=69189 36441 36442 Reviewed by Simon Fraser. 36443 36444 * UIProcess/WebPageProxy.cpp: 36445 (WebKit::WebPageProxy::handleWheelEvent): 36446 * WebProcess/WebPage/WebPage.cpp: 36447 (WebKit::WebPage::wheelEventSyncForTesting): 36448 * WebProcess/WebPage/WebPage.h: 36449 * WebProcess/WebPage/WebPage.messages.in: 36450 Add sync version of wheel event handling for use in testing. 36451 364522011-09-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 36453 36454 [Qt] Add missing include for QMimeData 36455 https://bugs.webkit.org/show_bug.cgi?id=69178 36456 36457 Reviewed by Tor Arne Vestbø. 36458 36459 This was implicitly included by other headers, but due to changes in 36460 Qt5 we need to include explicitly. 36461 36462 * UIProcess/qt/QtWebPageProxy.cpp: 36463 * WebProcess/WebPage/WebPage.cpp: 36464 364652011-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 36466 36467 [Qt] Prevent qDebug() output from DRT and WTR unless --verbose 36468 36469 For DRT we didn't install the message handler early enough to 36470 catch output while constructing the QApplication. For WTR we 36471 didn't even install a message handler. 36472 36473 Since the UI process will forward any output from the web process 36474 we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT 36475 in WTR before the web process is started. This is picked up by the 36476 web process which installs its own message handler. 36477 36478 The environment variable can be overriden on the command line if you 36479 want to see output from the web process, or you can pass --verbose to 36480 WTR to see output from both processes. 36481 36482 https://bugs.webkit.org/show_bug.cgi?id=69132 36483 36484 Reviewed by Andreas Kling. 36485 36486 * WebProcess/qt/WebProcessMainQt.cpp: 36487 364882011-09-30 Anders Carlsson <andersca@apple.com> 36489 36490 Remove didCompleteRubberBandForMainFrame UIClient callback 36491 https://bugs.webkit.org/show_bug.cgi?id=69161 36492 36493 Reviewed by Adam Roben. 36494 36495 * UIProcess/API/C/WKPage.h: 36496 * UIProcess/WebPageProxy.cpp: 36497 * UIProcess/WebPageProxy.h: 36498 * UIProcess/WebPageProxy.messages.in: 36499 * UIProcess/WebUIClient.cpp: 36500 * UIProcess/WebUIClient.h: 36501 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36502 (WebKit::WebChromeClient::didCompleteRubberBandForFrame): 36503 365042011-09-30 Qi Zhang <qi.2.zhang@nokia.com> 36505 36506 WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize 36507 https://bugs.webkit.org/show_bug.cgi?id=42698 36508 36509 Reviewed by Andreas Kling. 36510 36511 Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache, 36512 and call clearApplicationCache when layoutTest start up. 36513 36514 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 36515 (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize): 36516 * WebProcess/ApplicationCache/WebApplicationCacheManager.h: 36517 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 36518 (WKBundleClearApplicationCache): 36519 (WKBundleSetAppCacheMaximumSize): 36520 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 36521 * WebProcess/InjectedBundle/InjectedBundle.cpp: 36522 (WebKit::InjectedBundle::clearApplicationCache): 36523 (WebKit::InjectedBundle::setAppCacheMaximumSize): 36524 * WebProcess/InjectedBundle/InjectedBundle.h: 36525 365262011-09-30 Carlos Garcia Campos <cgarcia@igalia.com> 36527 36528 [UNIX] Add a method to get information for an already loaded plugin module 36529 https://bugs.webkit.org/show_bug.cgi?id=69139 36530 36531 Reviewed by Martin Robinson. 36532 36533 * Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo(). 36534 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 36535 (WebKit::NetscapePluginModule::pluginInfo): Private method to get 36536 the plugin information from the module, it must be called when the 36537 module has been already initialized. 36538 (WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to 36539 get information of the plugin module for the given path. 36540 365412011-09-30 Zeno Albisser <zeno.albisser@nokia.com> 36542 36543 [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor 36544 https://bugs.webkit.org/show_bug.cgi?id=69105 36545 36546 This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead 36547 of QGraphicsSceneMouseEvent. 36548 Further it removes an endless loop introduced by the QSGItem::event() function 36549 delivering inputMethodEvents but no other events. 36550 36551 Reviewed by Andreas Kling. 36552 36553 * Shared/NativeWebMouseEvent.h: 36554 (WebKit::NativeWebMouseEvent::nativeEvent): 36555 * Shared/NativeWebWheelEvent.h: 36556 (WebKit::NativeWebWheelEvent::nativeEvent): 36557 * Shared/qt/NativeWebMouseEventQt.cpp: 36558 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 36559 * Shared/qt/NativeWebWheelEventQt.cpp: 36560 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): 36561 * Shared/qt/WebEventFactoryQt.cpp: 36562 (WebKit::mouseButtonForEvent): 36563 (WebKit::webEventTypeForEvent): 36564 (WebKit::WebEventFactory::createWebMouseEvent): 36565 (WebKit::WebEventFactory::createWebWheelEvent): 36566 * Shared/qt/WebEventFactoryQt.h: 36567 * UIProcess/API/qt/qdesktopwebview.cpp: 36568 (QDesktopWebView::mousePressEvent): 36569 (QDesktopWebView::mouseMoveEvent): 36570 (QDesktopWebView::mouseReleaseEvent): 36571 (QDesktopWebView::mouseDoubleClickEvent): 36572 (QDesktopWebView::wheelEvent): 36573 (QDesktopWebView::event): 36574 * UIProcess/API/qt/qdesktopwebview.h: 36575 * UIProcess/qt/qdesktopwebpageproxy.cpp: 36576 (QDesktopWebPageProxy::handleEvent): 36577 (QDesktopWebPageProxy::handleMouseMoveEvent): 36578 (QDesktopWebPageProxy::handleMousePressEvent): 36579 (QDesktopWebPageProxy::handleMouseReleaseEvent): 36580 (QDesktopWebPageProxy::handleMouseDoubleClickEvent): 36581 (QDesktopWebPageProxy::handleWheelEvent): 36582 (QDesktopWebPageProxy::handleHoverMoveEvent): 36583 * UIProcess/qt/qdesktopwebpageproxy.h: 36584 365852011-09-29 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 36586 36587 Initial implementation of WebInspector for WebKit2 GTK port. 36588 https://bugs.webkit.org/show_bug.cgi?id=68235 36589 36590 Reviewed by Martin Robinson. 36591 36592 * UIProcess/WebInspectorProxy.cpp: 36593 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK. 36594 * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window. 36595 * UIProcess/gtk/WebInspectorGtk.cpp: 36596 (WebKit::inspectorFilesBasePath): Base folder for inspector resources. 36597 (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user. 36598 (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window. 36599 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector. 36600 (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector. 36601 (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector. 36602 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window. 36603 (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html. 36604 (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present. 36605 WebProcess is given read access to this folder only for loading file URLs by sandboxed extension. 36606 366072011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 36608 36609 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi 36610 36611 QWidget and friends now live in the QtWidgets library. We update 36612 includes in implementation files and private headers to us the 36613 non-module-prefixed path, and leave the lookup for the include 36614 path. For public headers we have to ifdef the includes as the 36615 user might now have the modules we need in his QT config. 36616 36617 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we 36618 have to update our code and use windowHandle() for setting the 36619 parent relationships. 36620 36621 https://bugs.webkit.org/show_bug.cgi?id=68687 36622 36623 Reviewed by Andreas Kling. 36624 36625 * UIProcess/API/qt/qdesktopwebview.cpp: 36626 * UIProcess/API/qt/qdesktopwebview.h: 36627 * UIProcess/API/qt/tests/tests.pro: 36628 * UIProcess/qt/ViewInterface.h: 36629 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 36630 366312011-09-29 Carlos Garcia Campos <cgarcia@igalia.com> 36632 36633 [GTK] Force single header include in WebKit2 GTK+ API 36634 https://bugs.webkit.org/show_bug.cgi?id=69084 36635 36636 Reviewed by Martin Robinson. 36637 36638 Only <webkit2/webkit2.h> will be allowed for API users. 36639 36640 * GNUmakefile.am: 36641 * UIProcess/API/gtk/WebKitError.h: 36642 * UIProcess/API/gtk/WebKitWebContext.h: 36643 * UIProcess/API/gtk/WebKitWebLoaderClient.h: 36644 * UIProcess/API/gtk/WebKitWebView.h: 36645 * UIProcess/API/gtk/WebKitWebViewBase.h: 36646 * UIProcess/API/gtk/webkit2.h: 36647 366482011-09-29 Carlos Garcia Campos <cgarcia@igalia.com> 36649 36650 [GTK] Explicitly call destructors for objects initialized with placement new syntax 36651 https://bugs.webkit.org/show_bug.cgi?id=69079 36652 36653 Reviewed by Xan Lopez. 36654 36655 * UIProcess/API/gtk/WebKitWebContext.cpp: 36656 (webkitWebContextFinalize): Call ~WebKitWebContextPrivate(). 36657 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 36658 (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient(). 36659 (webkit_web_loader_client_class_init): 36660 * UIProcess/API/gtk/WebKitWebView.cpp: 36661 (webkitWebViewFinalize): Call ~WebKitWebViewPrivate(). 36662 (webkit_web_view_class_init): 36663 366642011-09-28 Martin Robinson <mrobinson@igalia.com> 36665 36666 Fix the WebGL build on WebKit2 GTK+. 36667 36668 * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets. 36669 366702011-09-28 Brent Fulgham <bfulgham@webkit.org> 36671 36672 WinCairo build fix. 36673 36674 * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h> 36675 366762011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 36677 36678 One more shot at fixing GTK+, this seems to make the dependencies 36679 work. 36680 36681 * GNUmakefile.am: 36682 366832011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 36684 36685 GTK+ build fix 3 - the return of the marshal. 36686 36687 * GNUmakefile.am: 36688 366892011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 36690 36691 Second try at fixing the GTK+ build. 36692 36693 * GNUmakefile.am: 36694 366952011-09-28 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 36696 36697 Try to fix GTK+ build. 36698 36699 * GNUmakefile.am: 36700 367012011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 36702 36703 [GTK] Fix webkit2 unit tests in debug builds 36704 https://bugs.webkit.org/show_bug.cgi?id=69006 36705 36706 Reviewed by Martin Robinson. 36707 36708 We are currently using the WorQueue name as thread name which in 36709 this moment can be com.apple.WebKit.ProcessLauncher or 36710 com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31 36711 characters which is the limit of Visual Studio for thread 36712 names. When log is enabled createThread() will assert instead of 36713 truncate the name, so we need to make sure we don't use a name 36714 longer than 31 characters. 36715 36716 * Platform/gtk/WorkQueueGtk.cpp: 36717 (WorkQueue::platformInitialize): 36718 367192011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 36720 36721 [GTK] Loader client implementation for WebKit2 GTK+ API 36722 https://bugs.webkit.org/show_bug.cgi?id=68085 36723 36724 Reviewed by Martin Robinson. 36725 36726 Adds a new object, WebKitWebLoaderClient, that emits signals for 36727 every page loader callback. 36728 36729 * GNUmakefile.am: Add new files to compilation. 36730 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added. 36731 (didStartProvisionalLoadForFrame): 36732 (didReceiveServerRedirectForProvisionalLoadForFrame): 36733 (didFailProvisionalLoadWithErrorForFrame): 36734 (didCommitLoadForFrame): 36735 (didFinishLoadForFrame): 36736 (didFailLoadWithErrorForFrame): 36737 (webkitWebLoaderClientConstructed): 36738 (webkitWebLoaderClientSetProperty): 36739 (webkitWebLoaderClientGetProperty): 36740 (webkit_web_loader_client_init): 36741 (webkit_web_loader_client_class_init): 36742 * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added. 36743 * UIProcess/API/gtk/WebKitWebView.cpp: 36744 (webkitWebViewConstructed): Create the loader client for the view. 36745 (webkit_web_view_init): 36746 (webkit_web_view_get_loader_client): Get the current loader client. 36747 (webkit_web_view_set_loader_client): Set a new loader client. 36748 * UIProcess/API/gtk/WebKitWebView.h: 36749 * UIProcess/API/gtk/tests/testloading.c: Added. 36750 (serverCallback): 36751 (webLoadingFixtureSetup): 36752 (webLoadingFixtureTeardown): 36753 (getURIForPath): 36754 (loadStatusProvisionalLoadStarted): 36755 (loadStatusProvisionalLoadReceivedServerRedirect): 36756 (loadStatusProvisionalLoadFailed): 36757 (loadStatusLoadCommitted): 36758 (loadStatusLoadFinished): 36759 (loadStatusLoadFailed): 36760 (testLoadingStatus): 36761 (loadErrorProvisionalLoadStarted): 36762 (loadErrorProvisionalLoadFailed): 36763 (loadErrorLoadFinished): 36764 (testLoadingError): 36765 (main): 36766 * UIProcess/API/gtk/webkit2marshal.list: Added. 36767 367682011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 36769 36770 [GTK] Add WebKitError to GTK+ WebKit2 API 36771 https://bugs.webkit.org/show_bug.cgi?id=68508 36772 36773 Reviewed by Martin Robinson. 36774 36775 Add WebKitNetworkError enum to define network errors. 36776 36777 * GNUmakefile.am: Add new files to compilation. 36778 * UIProcess/API/gtk/WebKitError.cpp: Added. 36779 (webkit_network_error_quark): 36780 * UIProcess/API/gtk/WebKitError.h: 36781 * UIProcess/API/gtk/WebKitPrivate.h: Add 36782 COMPILE_ASSERT_MATCHING_ENUM macro. 36783 * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and 36784 WebKitEnumTypes.h 36785 367862011-09-28 Carlos Garcia Campos <cgarcia@igalia.com> 36787 36788 [GTK] Fix Programs/unittests/webkit2/testwebview 36789 https://bugs.webkit.org/show_bug.cgi?id=68993 36790 36791 Reviewed by Philippe Normand. 36792 36793 * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH. 36794 * UIProcess/API/gtk/tests/testwebview.c: 36795 (main): Get WebProcess path from WEBKIT_EXEC_PATH environment 36796 variable. 36797 367982011-09-27 Mark Hahnenberg <mhahnenberg@apple.com> 36799 36800 Add static version of JSCell::getCallData 36801 https://bugs.webkit.org/show_bug.cgi?id=68741 36802 36803 Reviewed by Darin Adler. 36804 36805 In this patch we just extract the bodies of the virtual getCallData methods 36806 throughout the JSCell inheritance hierarchy out into static methods, which are 36807 now called from the virtual methods. This is an intermediate step in trying to 36808 move the virtual-ness of getCallData into our own method table stored in 36809 ClassInfo. We need to convert the methods to static methods because static methods 36810 can be represented as function pointers rather than pointers to member functions, and 36811 function pointers are smaller and faster to call than pointers to member functions. 36812 36813 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 36814 (WebKit::JSNPMethod::getCallDataVirtual): 36815 (WebKit::JSNPMethod::getCallData): 36816 * WebProcess/Plugins/Netscape/JSNPMethod.h: 36817 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 36818 (WebKit::JSNPObject::getCallDataVirtual): 36819 (WebKit::JSNPObject::getCallData): 36820 * WebProcess/Plugins/Netscape/JSNPObject.h: 36821 368222011-09-27 Gopal Raghavan <gopal.1.raghavan@nokia.com> 36823 36824 [Qt] QDesktopWebView load zero size view test missing 36825 https://bugs.webkit.org/show_bug.cgi?id=68655 36826 36827 Reviewed by Chang Shu. 36828 36829 Added test case to check load behavior with zero size view. 36830 36831 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added. 36832 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 36833 368342011-09-27 Carlos Garcia Campos <cgarcia@igalia.com> 36835 36836 [GTK] Use WebKitWebContext in WebKitWebView 36837 https://bugs.webkit.org/show_bug.cgi?id=67990 36838 36839 Reviewed by Martin Robinson. 36840 36841 Use webkit_web_context_get_default() instead of 36842 WKContextGetSharedProcessContext() and add API to create a view 36843 with a given web context and to return the current context 36844 associated to the view. 36845 36846 * GNUmakefile.am: Add new files to compilation. 36847 * UIProcess/API/gtk/WebKitPrivate.h: Added. 36848 * UIProcess/API/gtk/WebKitWebContext.cpp: 36849 (webkitWebContextGetWKContext): Private API to get the WKContext 36850 wrapped by the WebKitWebContext. 36851 * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added. 36852 * UIProcess/API/gtk/WebKitWebView.cpp: 36853 (webkitWebViewConstructed): Create the webpage using the web 36854 context of the view. 36855 (webkitWebViewSetProperty): 36856 (webkitWebViewGetProperty): 36857 (webkit_web_view_init): 36858 (webkit_web_view_class_init): 36859 (webkit_web_view_new): Create a new view with the default context. 36860 (webkit_web_view_new_with_context): Create a new view with the 36861 given context. 36862 (webkit_web_view_get_context): Return the context. 36863 * UIProcess/API/gtk/WebKitWebView.h: 36864 * UIProcess/API/gtk/tests/testwebview.c: Added. 36865 (testWebViewDefaultContext): 36866 (main): 36867 368682011-09-27 Carlos Garcia Campos <cgarcia@igalia.com> 36869 36870 36871 [GTK] Add WebKitWebContext to GTK API 36872 https://bugs.webkit.org/show_bug.cgi?id=67931 36873 36874 Reviewed by Philippe Normand. 36875 36876 Initial implementation of WebKitWebContext for WebKit2 GTK API. 36877 36878 * GNUmakefile.am: Add new files to compilation. 36879 * UIProcess/API/gtk/WebKitWebContext.cpp: Added. 36880 (webkitWebContextFinalize): 36881 (webkit_web_context_init): 36882 (webkit_web_context_class_init): 36883 (createDefaultWebContext): 36884 (webkit_web_context_get_default): 36885 * UIProcess/API/gtk/WebKitWebContext.h: Added. 36886 * UIProcess/API/gtk/tests/testwebcontext.c: 36887 (testWebContextDefault): 36888 (main): 36889 * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>. 36890 368912011-09-27 Sheriff Bot <webkit.review.bot@gmail.com> 36892 36893 Unreviewed, rolling out r96108, r96111, r96113, and r96116. 36894 http://trac.webkit.org/changeset/96108 36895 http://trac.webkit.org/changeset/96111 36896 http://trac.webkit.org/changeset/96113 36897 http://trac.webkit.org/changeset/96116 36898 https://bugs.webkit.org/show_bug.cgi?id=68913 36899 36900 Wait for working Qt5 (Requested by ossy on #webkit). 36901 36902 * UIProcess/API/qt/qdesktopwebview.cpp: 36903 (QDesktopWebViewPrivate::startDrag): 36904 (QDesktopWebViewPrivate::didChangeToolTip): 36905 (QDesktopWebViewPrivate::didChangeCursor): 36906 (QDesktopWebViewPrivate::showContextMenu): 36907 (QDesktopWebViewPrivate::chooseFiles): 36908 * UIProcess/API/qt/qdesktopwebview.h: 36909 * UIProcess/API/qt/tests/tests.pri: 36910 * UIProcess/API/qt/tests/tests.pro: 36911 * UIProcess/qt/ViewInterface.h: 36912 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 36913 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop): 36914 369152011-09-27 Carlos Garcia Campos <cgarcia@igalia.com> 36916 36917 [GTK] Rename WebKit2 GTK+ API main header as webkit2.h 36918 https://bugs.webkit.org/show_bug.cgi?id=65178 36919 36920 Reviewed by Martin Robinson. 36921 36922 * GNUmakefile.am: Add webkit2.h. 36923 * UIProcess/API/gtk/WebKitWebView.h: 36924 * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h. 36925 * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir. 36926 369272011-09-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 36928 36929 [Qt] Fix build of WebKit2 unit-tests after r96108 36930 36931 Reviewed by Andreas Kling. 36932 36933 * UIProcess/API/qt/tests/tests.pri: 36934 369352011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 36936 36937 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi 36938 36939 QWidget and friends now live in the QtWidgets library. We update 36940 includes in implementation files and private headers to us the 36941 non-module-prefixed path, and leave the lookup for the include 36942 path. For public headers we have to ifdef the includes as the 36943 user might now have the modules we need in his QT config. 36944 36945 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we 36946 have to update our code and use windowHandle() for setting the 36947 parent relationships. 36948 36949 https://bugs.webkit.org/show_bug.cgi?id=68687 36950 36951 Reviewed by Andreas Kling. 36952 36953 * UIProcess/API/qt/qdesktopwebview.cpp: 36954 * UIProcess/API/qt/qdesktopwebview.h: 36955 * UIProcess/API/qt/tests/tests.pro: 36956 * UIProcess/qt/ViewInterface.h: 36957 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: 36958 369592011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 36960 36961 [Qt][WK2] Add support for hover API in Qt WebKit2 36962 https://bugs.webkit.org/show_bug.cgi?id=68369 36963 36964 Reviewed by Andreas Kling. 36965 36966 Based on the patch from Igor Oliveira in the same bug. 36967 36968 Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the 36969 QString corresponding to the link title. I left textContent out because was 36970 unsure of its use case. 36971 36972 In QDesktopWebView we store the last URL and title emitted to make sure we send 36973 the signal only if either value changes. Tests were added to the QML element to 36974 check: if values are correctly emitted and if we don't emit more signals than 36975 necessary. 36976 36977 * UIProcess/API/qt/qdesktopwebview.cpp: 36978 (QDesktopWebViewPrivate::didMouseMoveOverElement): 36979 * UIProcess/API/qt/qdesktopwebview.h: 36980 * UIProcess/API/qt/qdesktopwebview_p.h: 36981 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added. 36982 * UIProcess/API/qt/tests/qmltests/common/test2.html: 36983 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 36984 * UIProcess/qt/ClientImpl.cpp: 36985 (qt_wk_mouseDidMoveOverElement): 36986 * UIProcess/qt/ClientImpl.h: 36987 * UIProcess/qt/QtWebPageProxy.cpp: 36988 (QtWebPageProxy::init): 36989 * UIProcess/qt/TouchViewInterface.h: 36990 (WebKit::TouchViewInterface::didMouseMoveOverElement): 36991 * UIProcess/qt/ViewInterface.h: 36992 369932011-09-27 Alexis Menard <alexis.menard@openbossa.org> 36994 36995 [Qt][WK2] API fixes for QML, the signal parameters needs to be named. 36996 https://bugs.webkit.org/show_bug.cgi?id=68889 36997 36998 Reviewed by Andreas Kling. 36999 37000 Signal parameters needs to be explicitly named in QML to be accessible. 37001 This patch fix this problem. 37002 37003 * UIProcess/API/qt/qdesktopwebview.h: 37004 * UIProcess/API/qt/qtouchwebpage.h: 37005 370062011-09-27 Alexis Menard <alexis.menard@openbossa.org> 37007 37008 [Qt][WK2] Mark FINAL properties which can't be overridden by a subclass. 37009 https://bugs.webkit.org/show_bug.cgi?id=68848 37010 37011 Reviewed by Andreas Kling. 37012 37013 The presence of the FINAL attribute indicates that the property will not be 37014 overridden by a derived class. This can be used for performance optimizations 37015 by QML. 37016 37017 * UIProcess/API/qt/qdesktopwebview.h: 37018 * UIProcess/API/qt/qtouchwebpage.h: 37019 * UIProcess/API/qt/qtouchwebview.h: 37020 * UIProcess/API/qt/qwebnavigationcontroller.h: 37021 370222011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 37023 37024 [Qt] Fix WK2 build after r96014 37025 https://bugs.webkit.org/show_bug.cgi?id=68856 37026 37027 Reviewed by Gustavo Noronha Silva. 37028 37029 Commit r96014 added inspectorBaseURL for Qt but removed 37030 inspectorPageURL, adding it back. 37031 37032 * UIProcess/qt/WebInspectorProxyQt.cpp: 37033 (WebKit::WebInspectorProxy::inspectorPageURL): 37034 370352011-09-26 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 37036 37037 [Qt] [WK2] Fix build after r95982 37038 https://bugs.webkit.org/show_bug.cgi?id=68842 37039 37040 Reviewed by Anders Carlsson. 37041 37042 The patch in r95982 removed the paint() function, because it was doing 37043 nothing (in both implementations). This patch remove the call we had 37044 for it to fix the build. 37045 37046 * UIProcess/qt/qtouchwebpageproxy.cpp: 37047 (QTouchWebPageProxy::paintContent): 37048 370492011-09-26 Alexey Proskuryakov <ap@apple.com> 37050 37051 REGRESSION (r95747): Activating the web inspector causes the web process to be killed 37052 https://bugs.webkit.org/show_bug.cgi?id=68762 37053 37054 Reviewed by Anders Carlsson. 37055 37056 * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage): 37057 Tell Web process that loading resources from WebCore resources directory is OK. 37058 37059 * UIProcess/WebPageProxy.cpp: 37060 (WebKit::WebPageProxy::loadHTMLString): 37061 (WebKit::WebPageProxy::loadAlternateHTMLString): 37062 * UIProcess/WebProcessProxy.cpp: 37063 (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): 37064 * UIProcess/WebProcessProxy.h: 37065 Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL. 37066 37067 * UIProcess/WebInspectorProxy.h: 37068 * UIProcess/efl/WebInspectorEfl.cpp: 37069 (WebKit::WebInspectorProxy::inspectorBaseURL): 37070 * UIProcess/gtk/WebInspectorGtk.cpp: 37071 (WebKit::WebInspectorProxy::inspectorBaseURL): 37072 * UIProcess/mac/WebInspectorProxyMac.mm: 37073 (WebKit::WebInspectorProxy::inspectorBaseURL): 37074 * UIProcess/qt/WebInspectorProxyQt.cpp: 37075 (WebKit::WebInspectorProxy::inspectorBaseURL): 37076 * UIProcess/win/WebInspectorProxyWin.cpp: 37077 (WebKit::WebInspectorProxy::inspectorBaseURL): 37078 Report what base directory Inspector has access to. 37079 370802011-09-26 Nayan Kumar K <nayankk@motorola.com> 37081 37082 Added WKHitTestResult API's. 37083 37084 WKHitTestResult API's are added. These API's can be used to 37085 get the hover'ed link/image/media URL as well as link lable and 37086 title. 37087 https://bugs.webkit.org/show_bug.cgi?id=68426 37088 37089 Reviewed by Anders Carlsson. 37090 37091 * CMakeLists.txt: 37092 * GNUmakefile.am: 37093 * UIProcess/API/C/WKHitTestResult.cpp: Added. 37094 (WKHitTestResultGetTypeID): 37095 (WKHitTestResultCopyAbsoluteImageURL): 37096 (WKHitTestResultCopyAbsoluteLinkURL): 37097 (WKHitTestResultCopyAbsoluteMediaURL): 37098 (WKHitTestResultCopyLinkLabel): 37099 (WKHitTestResultCopyLinkTitle): 37100 * UIProcess/API/C/WKHitTestResult.h: Added. 37101 * UIProcess/API/C/WebKit2.h: 37102 * WebKit2.xcodeproj/project.pbxproj: 37103 * WebKit2API.pri: 37104 * win/WebKit2.vcproj: 37105 * win/WebKit2Generated.make: 37106 371072011-09-26 Csaba Osztrogonác <ossy@webkit.org> 37108 37109 [Qt][WK2]Unreviewed speculative buildfix after r95968. 37110 37111 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 37112 (WebKit::WebChromeClient::contentsSizeChanged): 37113 371142011-09-26 Anders Carlsson <andersca@apple.com> 37115 37116 Remove an old DrawingAreaProxy::paint member function 37117 https://bugs.webkit.org/show_bug.cgi?id=68825 37118 37119 Reviewed by Dan Bernstein. 37120 37121 * UIProcess/DrawingAreaProxy.h: 37122 * UIProcess/DrawingAreaProxyImpl.cpp: 37123 * UIProcess/DrawingAreaProxyImpl.h: 37124 * UIProcess/TiledDrawingAreaProxy.cpp: 37125 * UIProcess/TiledDrawingAreaProxy.h: 37126 371272011-09-26 Jer Noble <jer.noble@apple.com> 37128 37129 White flash when entering full-screen using element.webkitRequestFullScreen() 37130 https://bugs.webkit.org/show_bug.cgi?id=68481 37131 37132 Reviewed by Simon Fraser. 37133 37134 Do not re-enable screen updates after exiting compositing mode until a repaint has completed. 37135 37136 * UIProcess/mac/WKFullScreenWindowController.mm: 37137 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): 37138 (continueExitCompositingModeAfterRepaintCallback): 37139 (-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]): 37140 371412011-09-23 Simon Fraser <simon.fraser@apple.com> 37142 37143 Repaint tests don't work in WebKit2 37144 https://bugs.webkit.org/show_bug.cgi?id=68453 37145 37146 Reviewed by Sam Weinig. 37147 37148 Expose WKBundlePage methods to turn on repaint rect tracking 37149 in WebKit2, for WebKitTestRunner. 37150 37151 As part of the change, expose utility methods on WebPage 37152 to get the main Frame and FrameView, which required renaming 37153 the exisiting method that returns a WebFrame. Fix callers 37154 of that method to handle null when necessary. 37155 37156 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 37157 (WKBundlePageGetMainFrame): 37158 (WKBundlePageSetTracksRepaints): 37159 (WKBundlePageIsTrackingRepaints): 37160 (WKBundlePageResetTrackedRepaints): 37161 (WKBundlePageCopyTrackedRepaintRects): 37162 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 37163 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 37164 (WebKit::findLargestFrameInFrameSet): 37165 (WebKit::WebChromeClient::closeWindowSoon): 37166 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 37167 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 37168 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 37169 (WebKit::WebFrameLoaderClient::frameLoadCompleted): 37170 (WebKit::WebFrameLoaderClient::restoreViewState): 37171 (WebKit::WebFrameLoaderClient::provisionalLoadStarted): 37172 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 37173 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 37174 (WebKit::WebFrameLoaderClient::createPlugin): 37175 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 37176 (WebKit::WebEditorClient::documentFragmentFromAttributedString): 37177 * WebProcess/WebPage/WebFrame.cpp: 37178 (WebKit::WebFrame::isMainFrame): 37179 * WebProcess/WebPage/WebPage.cpp: 37180 (WebKit::WebPage::setTracksRepaints): 37181 (WebKit::WebPage::isTrackingRepaints): 37182 (WebKit::WebPage::resetTrackedRepaints): 37183 (WebKit::WebPage::trackedRepaintRects): 37184 (WebKit::WebPage::clearMainFrameName): 37185 (WebKit::WebPage::layoutIfNeeded): 37186 (WebKit::WebPage::mainFrameHasCustomRepresentation): 37187 (WebKit::WebPage::mainFrame): 37188 (WebKit::WebPage::mainFrameView): 37189 * WebProcess/WebPage/WebPage.h: 37190 (WebKit::WebPage::mainWebFrame): 37191 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 37192 (-[WKAccessibilityWebPageObject accessibilityHitTest:]): 37193 371942011-09-25 Mark Hahnenberg <mhahnenberg@apple.com> 37195 37196 Add custom vtable struct to ClassInfo struct 37197 https://bugs.webkit.org/show_bug.cgi?id=68567 37198 37199 Reviewed by Oliver Hunt. 37200 37201 Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 37202 specified class in its ClassInfo. Also added to it the first function to use 37203 this macro, visitChildren. This is part of the process of getting rid of all 37204 C++ virtual methods in JSCell. Eventually all virtual functions in JSCell 37205 that can't easily be converted to non-virtual functions will be put into 37206 this custom vtable structure. 37207 37208 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 37209 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 37210 372112011-09-25 Adam Barth <abarth@webkit.org> 37212 37213 Finish removing PLATFORM(BREWMP) by removing associated code 37214 https://bugs.webkit.org/show_bug.cgi?id=68779 37215 37216 Reviewed by Sam Weinig. 37217 37218 * Scripts/generate-forwarding-headers.pl: 37219 372202011-09-25 Adam Barth <abarth@webkit.org> 37221 37222 Remove PLATFORM(HAIKU) and associated code 37223 https://bugs.webkit.org/show_bug.cgi?id=68774 37224 37225 Reviewed by Sam Weinig. 37226 37227 * Scripts/generate-forwarding-headers.pl: 37228 372292011-09-24 Adam Barth <abarth@webkit.org> 37230 37231 Always enable ENABLE(OFFLINE_WEB_APPLICATIONS) 37232 https://bugs.webkit.org/show_bug.cgi?id=68767 37233 37234 Reviewed by Eric Seidel. 37235 37236 * Configurations/FeatureDefines.xcconfig: 37237 * UIProcess/qt/WebContextQt.cpp: 37238 (WebKit::WebContext::applicationCacheDirectory): 37239 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 37240 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): 37241 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): 37242 (WebKit::WebApplicationCacheManager::deleteAllEntries): 37243 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 37244 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 37245 * WebProcess/WebCoreSupport/WebChromeClient.h: 37246 * WebProcess/WebProcess.cpp: 37247 (WebKit::WebProcess::initializeWebProcess): 37248 (WebKit::WebProcess::clearApplicationCache): 37249 * WebProcess/WebProcess.h: 37250 372512011-09-23 Adam Klein <adamk@chromium.org> 37252 37253 Add ENABLE_MUTATION_OBSERVERS feature flag 37254 https://bugs.webkit.org/show_bug.cgi?id=68732 37255 37256 Reviewed by Ojan Vafai. 37257 37258 This flag will guard an implementation of the "Mutation Observers" proposed in 37259 http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html 37260 37261 * Configurations/FeatureDefines.xcconfig: 37262 372632011-09-23 Varun Jain <varunjain@google.com> 37264 37265 Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 37266 https://bugs.webkit.org/show_bug.cgi?id=68198 37267 37268 Reviewed by Dimitri Glazkov. 37269 37270 * win/WebKit2.def: 37271 * win/WebKit2CFLite.def: 37272 372732011-09-23 Chang Shu <cshu@webkit.org> 37274 37275 [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender 37276 https://bugs.webkit.org/show_bug.cgi?id=68556 37277 37278 Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform. 37279 37280 Reviewed by Darin Adler. 37281 37282 * Shared/API/c/WKGeometry.h: 37283 (operator==): 37284 * WebProcess/WebPage/WebPage.cpp: 37285 (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled" 37286 372872011-09-23 Anders Carlsson <andersca@apple.com> 37288 37289 Move WebHitTestResult files to Shared/ in the Xcode project 37290 https://bugs.webkit.org/show_bug.cgi?id=68718 37291 37292 Reviewed by Sam Weinig. 37293 37294 * WebKit2.xcodeproj/project.pbxproj: 37295 372962011-09-23 Anders Carlsson <andersca@apple.com> 37297 37298 Add OVERRIDE to overrides of virtual member functions in client classes 37299 https://bugs.webkit.org/show_bug.cgi?id=68702 37300 37301 Reviewed by Darin Adler. 37302 37303 Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98, 37304 and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus, 37305 WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since 37306 they have been removed from their respective base classes. 37307 37308 * Configurations/Base.xcconfig: 37309 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 37310 * WebProcess/WebCoreSupport/WebChromeClient.h: 37311 * WebProcess/WebCoreSupport/WebContextMenuClient.h: 37312 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 37313 * WebProcess/WebCoreSupport/WebDragClient.h: 37314 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 37315 * WebProcess/WebCoreSupport/WebEditorClient.h: 37316 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 37317 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 37318 * WebProcess/WebCoreSupport/WebGeolocationClient.h: 37319 * WebProcess/WebCoreSupport/WebInspectorClient.h: 37320 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 37321 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 37322 * WebProcess/WebCoreSupport/WebPopupMenu.h: 37323 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: 37324 * win/WebKit2Common.vsprops: 37325 373262011-09-23 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 37327 37328 [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead() 37329 https://bugs.webkit.org/show_bug.cgi?id=68696 37330 37331 Reviewed by Andreas Kling. 37332 37333 Instead of connecting signals and calling QtFileDownloader::onReadyRead() 37334 on its constructor, QtFileDownloader will now handle this in start(). 37335 37336 * WebProcess/Downloads/qt/DownloadQt.cpp: 37337 (WebKit::Download::start): 37338 * WebProcess/Downloads/qt/QtFileDownloader.cpp: 37339 (WebKit::QtFileDownloader::QtFileDownloader): 37340 (WebKit::QtFileDownloader::start): 37341 * WebProcess/Downloads/qt/QtFileDownloader.h: 37342 373432011-09-22 Gopal Raghavan <gopal.1.raghavan@nokia.com> 37344 37345 [Qt] TouchWebView load test not running 37346 https://bugs.webkit.org/show_bug.cgi?id=68620 37347 37348 Reviewed by Chang Shu. 37349 37350 Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro 37351 37352 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 37353 373542011-09-22 Dean Jackson <dino@apple.com> 37355 37356 Add ENABLE_CSS_FILTERS 37357 https://bugs.webkit.org/show_bug.cgi?id=68652 37358 37359 Reviewed by Simon Fraser. 37360 37361 * Configurations/FeatureDefines.xcconfig: 37362 373632011-09-22 Simon Fraser <simon.fraser@apple.com> 37364 37365 Add APIObjects for Size, Point, Rect 37366 https://bugs.webkit.org/show_bug.cgi?id=68644 37367 37368 Reviewed by Sam Weinig. 37369 37370 Make APIObjects for size, point and rect so that they can be 37371 used in WKArrayRefs. 37372 37373 Make some inline helper methods to create WKSize, WKPoint and WKRect 37374 types. 37375 37376 * GNUmakefile.am: 37377 * Shared/API/c/WKBase.h: 37378 * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h. 37379 (WKSizeGetTypeID): 37380 (WKPointGetTypeID): 37381 (WKRectGetTypeID): 37382 (WKPointCreate): 37383 (WKSizeCreate): 37384 (WKRectCreate): 37385 (WKSizeGetValue): 37386 (WKPointGetValue): 37387 (WKRectGetValue): 37388 * Shared/API/c/WKGeometry.h: 37389 (WKPoint::WKPointMake): 37390 (WKPoint::WKSizeMake): 37391 (WKPoint::WKRectMake): 37392 * Shared/API/c/WKSharedAPICast.h: 37393 * Shared/APIObject.h: 37394 * Shared/UserMessageCoders.h: 37395 (WebKit::UserMessageEncoder::baseEncode): 37396 (WebKit::UserMessageDecoder::baseDecode): 37397 * Shared/WebGeometry.h: Added. 37398 (WebKit::WebSize::create): 37399 (WebKit::WebSize::size): 37400 (WebKit::WebSize::WebSize): 37401 (WebKit::WebSize::type): 37402 (WebKit::WebPoint::create): 37403 (WebKit::WebPoint::point): 37404 (WebKit::WebPoint::WebPoint): 37405 (WebKit::WebPoint::type): 37406 (WebKit::WebRect::create): 37407 (WebKit::WebRect::rect): 37408 (WebKit::WebRect::WebRect): 37409 (WebKit::WebRect::type): 37410 * WebKit2.pro: 37411 * WebKit2.xcodeproj/project.pbxproj: 37412 * WebKit2API.pri: 37413 * win/WebKit2.vcproj: 37414 374152011-09-22 Alexey Proskuryakov <ap@apple.com> 37416 37417 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it 37418 https://bugs.webkit.org/show_bug.cgi?id=68573 37419 37420 Reviewed by Anders Carlsson. 37421 37422 Re-landing with a slightly less aggressive check. 37423 37424 * UIProcess/API/mac/WKView.mm: 37425 (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether 37426 an extension actually needed to be created 37427 (-[WKView performDragOperation:]): Tell process proxy when the process is going to get 37428 universal file read sandbox extension. 37429 37430 * UIProcess/WebContext.cpp: 37431 (WebKit::WebContext::didPerformClientRedirect): Check the URLs. 37432 (WebKit::WebContext::didPerformServerRedirect): Ditto. 37433 (WebKit::WebContext::didUpdateHistoryTitle): Ditto. 37434 (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never 37435 assume that a string coming from WebProcess is a ParsedURLString. 37436 37437 * UIProcess/WebPageProxy.cpp: 37438 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process 37439 is going to get universal file read sandbox extension. 37440 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean, 37441 telling the caller whether an extension actually needed to be created. 37442 (WebKit::WebPageProxy::loadURL): Tell process proxy about extension. 37443 (WebKit::WebPageProxy::loadURLRequest): Ditto. 37444 (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base 37445 one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory, 37446 (typically, one where error page resources live), and can load from it. 37447 (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto. 37448 (WebKit::WebPageProxy::goForward): Tell process proxy about extension. 37449 (WebKit::WebPageProxy::goBack): Tell process proxy about extension. 37450 (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension. 37451 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL. 37452 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto. 37453 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto. 37454 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto. 37455 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto. 37456 (WebKit::WebPageProxy::decidePolicyForResponse): Ditto. 37457 (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto. 37458 (WebKit::WebPageProxy::didSendRequestForResource): Ditto. 37459 (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto. 37460 (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto. 37461 37462 * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool, 37463 and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart). 37464 37465 * UIProcess/WebProcessProxy.cpp: 37466 (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension. 37467 It's going to be true if we ever granted an extension for "/". 37468 (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect 37469 that WebProcess will load subresources from it. 37470 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect 37471 WebProcess send us a URL like this. 37472 (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs. 37473 37474 * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process. 37475 37476 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData): 37477 Tell process proxy when the process is going to get universal file read sandbox extension. 37478 374792011-09-22 Alpha Lam <hclam@chromium.org> 37480 37481 https://bugs.webkit.org/show_bug.cgi?id=68081 37482 Fix scroll in page scaling mode. 37483 37484 Reviewed by Simon Fraser. 37485 37486 * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor. 37487 (WebKit::PluginView::handleEvent): 37488 (WebKit::PluginView::viewGeometryDidChange): 37489 (WebKit::PluginView::clipRectInWindowCoordinates): 37490 374912011-09-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 37492 37493 [Qt] Redirection overflow errors have wrong error domain 37494 https://bugs.webkit.org/show_bug.cgi?id=68612 37495 37496 Reviewed by Andreas Kling. 37497 37498 Redirection overflow currently puts the URL hostname in the errorDomain field 37499 and therefore are treated as a QWebError::EngineError. From now on they 37500 will be treated as QWebError::HttpError, since their error domain was modified 37501 to "HTTP" in QNetworkReplyHandler::redirect(). 37502 37503 * UIProcess/API/qt/qweberror.cpp: 37504 (QWebError::type): 37505 375062011-09-22 Csaba Osztrogonác <ossy@webkit.org> 37507 37508 REGRESSION(r95679): It broke everything. 37509 https://bugs.webkit.org/show_bug.cgi?id=68611 37510 37511 Unreviewed rolling out r95679 and r95690, because it broke everything. 37512 37513 * UIProcess/API/mac/WKView.mm: 37514 (maybeCreateSandboxExtensionFromPasteboard): 37515 (-[WKView performDragOperation:]): 37516 * UIProcess/WebContext.cpp: 37517 (WebKit::WebContext::didPerformClientRedirect): 37518 (WebKit::WebContext::didPerformServerRedirect): 37519 (WebKit::WebContext::didUpdateHistoryTitle): 37520 (WebKit::WebContext::getPluginPath): 37521 * UIProcess/WebPageProxy.cpp: 37522 (WebKit::WebPageProxy::reattachToWebProcessWithItem): 37523 (WebKit::WebPageProxy::initializeSandboxExtensionHandle): 37524 (WebKit::WebPageProxy::loadURL): 37525 (WebKit::WebPageProxy::loadURLRequest): 37526 (WebKit::WebPageProxy::loadHTMLString): 37527 (WebKit::WebPageProxy::loadAlternateHTMLString): 37528 (WebKit::WebPageProxy::goForward): 37529 (WebKit::WebPageProxy::goBack): 37530 (WebKit::WebPageProxy::goToBackForwardItem): 37531 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 37532 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 37533 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 37534 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 37535 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 37536 (WebKit::WebPageProxy::decidePolicyForResponse): 37537 (WebKit::WebPageProxy::didInitiateLoadForResource): 37538 (WebKit::WebPageProxy::didSendRequestForResource): 37539 (WebKit::WebPageProxy::didReceiveResponseForResource): 37540 (WebKit::WebPageProxy::missingPluginButtonClicked): 37541 * UIProcess/WebPageProxy.h: 37542 * UIProcess/WebProcessProxy.cpp: 37543 (WebKit::WebProcessProxy::WebProcessProxy): 37544 (WebKit::WebProcessProxy::addBackForwardItem): 37545 * UIProcess/WebProcessProxy.h: 37546 * UIProcess/cf/WebPageProxyCF.cpp: 37547 (WebKit::WebPageProxy::restoreFromSessionStateData): 37548 375492011-09-21 Alexey Proskuryakov <ap@apple.com> 37550 37551 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it 37552 https://bugs.webkit.org/show_bug.cgi?id=68573 37553 37554 Unreviewed follow-up fix. 37555 37556 * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): 37557 Just like we allow null URLs, also allow empty strings. 37558 375592011-09-21 Julien Chaffraix <jchaffraix@webkit.org> 37560 37561 Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled 37562 https://bugs.webkit.org/show_bug.cgi?id=68133 37563 37564 Reviewed by Darin Adler. 37565 37566 * win/WebKit2.def: 37567 * win/WebKit2CFLite.def: 37568 Exported the new FrameView::paintControlTints function. 37569 375702011-09-21 Alexey Proskuryakov <ap@apple.com> 37571 37572 [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it 37573 https://bugs.webkit.org/show_bug.cgi?id=68573 37574 37575 Reviewed by Anders Carlsson. 37576 37577 * UIProcess/API/mac/WKView.mm: 37578 (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether 37579 an extension actually needed to be created 37580 (-[WKView performDragOperation:]): Tell process proxy when the process is going to get 37581 universal file read sandbox extension. 37582 37583 * UIProcess/WebContext.cpp: 37584 (WebKit::WebContext::didPerformClientRedirect): Check the URLs. 37585 (WebKit::WebContext::didPerformServerRedirect): Ditto. 37586 (WebKit::WebContext::didUpdateHistoryTitle): Ditto. 37587 (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never 37588 assume that a string coming from WebProcess is a ParsedURLString. 37589 37590 * UIProcess/WebPageProxy.cpp: 37591 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process 37592 is going to get universal file read sandbox extension. 37593 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean, 37594 telling the caller whether an extension actually needed to be created. 37595 (WebKit::WebPageProxy::loadURL): Tell process proxy about extension. 37596 (WebKit::WebPageProxy::loadURLRequest): Ditto. 37597 (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base 37598 one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory, 37599 (typically, one where error page resources live), and can load from it. 37600 (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto. 37601 (WebKit::WebPageProxy::goForward): Tell process proxy about extension. 37602 (WebKit::WebPageProxy::goBack): Tell process proxy about extension. 37603 (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension. 37604 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL. 37605 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto. 37606 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto. 37607 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto. 37608 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto. 37609 (WebKit::WebPageProxy::decidePolicyForResponse): Ditto. 37610 (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto. 37611 (WebKit::WebPageProxy::didSendRequestForResource): Ditto. 37612 (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto. 37613 (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto. 37614 37615 * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool, 37616 and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart). 37617 37618 * UIProcess/WebProcessProxy.cpp: 37619 (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension. 37620 It's going to be true if we ever granted an extension for "/". 37621 (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect 37622 that WebProcess will load subresources from it. 37623 (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect 37624 WebProcess send us a URL like this. 37625 (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs. 37626 37627 * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process. 37628 37629 * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData): 37630 Tell process proxy when the process is going to get universal file read sandbox extension. 37631 376322011-09-19 Jer Noble <jer.noble@apple.com> 37633 37634 Add settings to control the availability of the Web Audio API to WebKit and WebKit2. 37635 https://bugs.webkit.org/show_bug.cgi?id=68382 37636 37637 Add support for the webAudioEnabled preference in WebKit2. 37638 37639 Reviewed by Darin Adler. 37640 37641 * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro. 37642 * UIProcess/API/C/WKPreferences.cpp: 37643 (WKPreferencesSetWebAudioEnabled): Added. 37644 (WKPreferencesGetWebAudioEnabled): Added. 37645 * UIProcess/API/C/WKPreferences.h: 37646 * WebProcess/WebPage/WebPage.cpp: 37647 (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference. 37648 376492011-09-21 Dan Bernstein <mitz@apple.com> 37650 37651 Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2. 37652 37653 Reviewed by Anders Carlsson. 37654 37655 Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter. 37656 Renamed WebInspectorWKView to WKWebInspectorWKView. 37657 Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation. 37658 Renamed WebFindIndicatorView to WKFindIndicatorView. 37659 Renamed WebUserDataWrapper to WKUserDataWrapper. 37660 37661 Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix 37662 "Web" and only allow "WK". 37663 37664 * UIProcess/API/mac/FindIndicatorWindow.h: 37665 * UIProcess/API/mac/FindIndicatorWindow.mm: 37666 (WebKit::FindIndicatorWindow::setFindIndicator): 37667 (WebKit::FindIndicatorWindow::startFadeOutTimerFired): 37668 * UIProcess/WebInspectorProxy.h: 37669 * UIProcess/mac/WebContextMenuProxyMac.mm: 37670 (-[WKMenuTarget forwardContextMenuAction:]): 37671 (WebKit::nsMenuItemVector): 37672 * UIProcess/mac/WebInspectorProxyMac.mm: 37673 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 37674 (WebKit::WebInspectorProxy::platformOpen): 37675 * WebKit2.xcodeproj/project.pbxproj: 37676 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 37677 (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): 37678 376792011-09-21 Chang Shu <cshu@webkit.org> 37680 37681 [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender 37682 https://bugs.webkit.org/show_bug.cgi?id=68108 37683 37684 This patch implements the event sender mouse events through WebKit2 UIProcess which is 37685 closer to the real simulation than a WebProcess-only approach. The patch only supports Mac 37686 platform as the first step so the existing code is still kept for other platforms. 37687 37688 Reviewed by Darin Adler. 37689 37690 * UIProcess/API/C/WKPage.cpp: 37691 (WKPageSetShouldSendEventsSynchronously): 37692 * UIProcess/API/C/WKPagePrivate.h: 37693 * UIProcess/WebPageProxy.cpp: 37694 (WebKit::WebPageProxy::WebPageProxy): 37695 (WebKit::WebPageProxy::handleMouseEvent): 37696 (WebKit::WebPageProxy::handleKeyboardEvent): 37697 * UIProcess/WebPageProxy.h: 37698 (WebKit::WebPageProxy::setShouldSendEventsSynchronously): 37699 * WebProcess/WebPage/WebPage.cpp: 37700 (WebKit::WebPage::mouseEventSyncForTesting): 37701 * WebProcess/WebPage/WebPage.h: 37702 * WebProcess/WebPage/WebPage.messages.in: 37703 377042011-09-21 Dan Bernstein <mitz@apple.com> 37705 37706 WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes 37707 https://bugs.webkit.org/show_bug.cgi?id=68451 37708 37709 Reviewed by Darin Adler. 37710 37711 * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes 37712 check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web". 37713 377142011-09-21 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 37715 37716 [Qt][WK2] Implement Download support in WebProcess 37717 https://bugs.webkit.org/show_bug.cgi?id=68153 37718 37719 Reviewed by Andreas Kling. 37720 37721 We implement the necessary functions of Download.h, and our QtFileDownloader 37722 to handle all network communication and call the necessary functions of Download. 37723 37724 We use the download policy for any MIME type not supported by WebKit. This 37725 behaves like Qt non-WebKit2 except that we don't force download when 37726 we encounter Content-Disposition: attachment. We still use the "filename=" 37727 field for file name suggestion though. 37728 37729 Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>, 37730 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com> 37731 and Zalan Bujtas <zalan.bujtas@nokia.com>. 37732 37733 * UIProcess/API/qt/qweberror.cpp: Adding DownloadError 37734 (QWebError::type): 37735 * UIProcess/API/qt/qweberror.h: Adding DownloadError 37736 * WebKit2.pro: 37737 * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific 37738 (WebKit::Download::Download): 37739 * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific 37740 * WebProcess/Downloads/qt/DownloadQt.cpp: 37741 (WebKit::Download::start): 37742 (WebKit::Download::startWithHandle): 37743 (WebKit::Download::cancel): 37744 (WebKit::Download::platformInvalidate): 37745 (WebKit::Download::didDecideDestination): 37746 * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added. 37747 (WebKit::QtFileDownloader::QtFileDownloader): 37748 (WebKit::QtFileDownloader::~QtFileDownloader): 37749 (WebKit::QtFileDownloader::determineFilename): 37750 (WebKit::QtFileDownloader::decidedDestination): 37751 (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError): 37752 (WebKit::QtFileDownloader::onReadyRead): 37753 (WebKit::QtFileDownloader::onFinished): 37754 (WebKit::QtFileDownloader::onError): 37755 (WebKit::QtFileDownloader::cancel): 37756 * WebProcess/Downloads/qt/QtFileDownloader.h: Added. 37757 377582011-09-21 Mark Rowe <mrowe@apple.com> 37759 37760 <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time 37761 37762 The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique 37763 file name if a file of the suggested name already exists was incorrect. It was appending 37764 the template used by mkstemps to the directory name component of the path rather than 37765 using it as a prefix on the filename portion of the path. This resulted in a template path 37766 like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected. 37767 37768 Reviewed by Jon Honeycutt. 37769 37770 * UIProcess/API/mac/PDFViewController.mm: 37771 (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component, 37772 then append the suggested file name to that component. 37773 377742011-09-21 Andras Becsi <andras.becsi@nokia.com> 37775 37776 [Qt] Remove Qt specific code from css/SelectorChecker.cpp 37777 https://bugs.webkit.org/show_bug.cgi?id=67702 37778 37779 Reviewed by Csaba Osztrogonác. 37780 37781 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype. 37782 (WebKit::WebPlatformStrategies::isLinkVisited): 37783 (WebKit::WebPlatformStrategies::addVisitedLink): 37784 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto. 37785 377862011-09-20 Anders Carlsson <andersca@apple.com> 37787 37788 Get rid of PluginView::setBoundsSize from WebKit2 37789 https://bugs.webkit.org/show_bug.cgi?id=68489 37790 37791 Reviewed by Dan Bernstein. 37792 37793 Remove m_boundsSize and the setter since they aren't used anywhere. 37794 37795 * WebProcess/Plugins/PluginView.cpp: 37796 * WebProcess/Plugins/PluginView.h: 37797 377982011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com> 37799 37800 [Qt] QTouchWebView missing signal tests for loadProgress 37801 https://bugs.webkit.org/show_bug.cgi?id=68442 37802 37803 Reviewed by Chang Shu. 37804 37805 Added test case to check load progress signal for QTouchWebView 37806 37807 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added. 37808 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 37809 378102011-09-20 Sheriff Bot <webkit.review.bot@gmail.com> 37811 37812 Unreviewed, rolling out r95565. 37813 http://trac.webkit.org/changeset/95565 37814 https://bugs.webkit.org/show_bug.cgi?id=68470 37815 37816 Broke builds (Requested by andersca on #webkit). 37817 37818 * GNUmakefile.am: 37819 * Shared/API/c/WKHitTestResult.cpp: Removed. 37820 * Shared/API/c/WKHitTestResult.h: Removed. 37821 * UIProcess/API/C/WebKit2.h: 37822 378232011-09-20 Alexis Menard <alexis.menard@openbossa.org> 37824 37825 [Qt] [WK2] Implement a persistent cookie storage. 37826 https://bugs.webkit.org/show_bug.cgi?id=65309 37827 37828 Reviewed by Chang Shu. 37829 37830 Add parameter to the WebProcess creation to specify where cookies should be saved. 37831 It also use the new cookie storage implementation and set it to our network stack 37832 so cookies are used when using it. 37833 37834 * Shared/WebProcessCreationParameters.cpp: 37835 (WebKit::WebProcessCreationParameters::encode): 37836 (WebKit::WebProcessCreationParameters::decode): 37837 * Shared/WebProcessCreationParameters.h: 37838 * UIProcess/qt/WebContextQt.cpp: 37839 (WebKit::WebContext::platformInitializeWebProcess): 37840 * WebProcess/qt/WebProcessQt.cpp: 37841 (WebKit::WebProcess::platformInitializeWebProcess): 37842 (WebKit::WebProcess::platformTerminate): 37843 378442011-09-20 Nayan Kumar K <nayankk@motorola.com> 37845 37846 Added WKHitTestResult API's. 37847 37848 WKHitTestResult API's are added. These API's can be used to 37849 get the hover'ed link/image/media URL as well as link lable and 37850 title. 37851 https://bugs.webkit.org/show_bug.cgi?id=68426 37852 37853 Reviewed by Anders Carlsson. 37854 37855 * GNUmakefile.am: 37856 * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h. 37857 (WKHitTestResultGetTypeID): 37858 (WKHitTestResultCopyAbsoluteImageURL): 37859 (WKHitTestResultCopyAbsoluteLinkURL): 37860 (WKHitTestResultCopyAbsoluteMediaURL): 37861 (WKHitTestResultCopyLinkLabel): 37862 (WKHitTestResultCopyLinkTitle): 37863 * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h. 37864 * UIProcess/API/C/WebKit2.h: 37865 378662011-09-20 Alexis Menard <alexis.menard@openbossa.org> 37867 37868 [Qt][WK2] Add stubs for FULLSCREEN_API on Qt. 37869 https://bugs.webkit.org/show_bug.cgi?id=68444 37870 37871 Reviewed by Andreas Kling. 37872 37873 Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port. 37874 37875 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added. 37876 (WebKit::WebFullScreenManagerProxy::invalidate): 37877 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 37878 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 37879 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): 37880 (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): 37881 (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): 37882 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): 37883 (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): 37884 (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): 37885 (WebKit::WebFullScreenManagerProxy::getFullScreenRect): 37886 * WebKit2.pro: 37887 * WebProcess/FullScreen/qt: Added. 37888 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added. 37889 (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt): 37890 (WebKit::WebFullScreenManager::create): 37891 (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer): 37892 (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation): 37893 (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation): 37894 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added. 37895 378962011-09-20 Alexis Menard <alexis.menard@openbossa.org> 37897 37898 [Qt][WK2] Export QNetworkReply in the QtWebKit QML module. 37899 https://bugs.webkit.org/show_bug.cgi?id=68401 37900 37901 Reviewed by Simon Hausmann. 37902 37903 Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError 37904 as the error code when the load fails. It is not used in the QtQuick module therefore 37905 the QML team thinks it should belong here. Also added some auto-tests to cover the 37906 loading errors. 37907 37908 * UIProcess/API/qt/qmlplugin/plugin.cpp: 37909 (WebKit2QmlPlugin::registerTypes): 37910 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added. 37911 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added. 37912 379132011-09-20 Csaba Osztrogonác <ossy@webkit.org> 37914 37915 [Qt][Mac] Buildfix after r95513. 37916 37917 Rubber-stamped by Andras Becsi. 37918 37919 * Scripts/generate-forwarding-headers.pl: Add mm file supporting. 37920 379212011-09-20 Gopal Raghavan <gopal.1.raghavan@nokia.com> 37922 37923 [Qt] QDesktopWebView missing loadProgress tests 37924 https://bugs.webkit.org/show_bug.cgi?id=68280 37925 37926 Reviewed by Andreas Kling. 37927 37928 Added test case to check load progress property and signal for QDesktopWebView 37929 37930 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added. 37931 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added. 37932 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 37933 379342011-09-20 Carlos Garcia Campos <cgarcia@igalia.com> 37935 37936 [GTK] WebProcess shouldn't use the GTK+ API 37937 https://bugs.webkit.org/show_bug.cgi?id=68062 37938 37939 Reviewed by Martin Robinson. 37940 37941 Use WebCore API to create errors in WebProcess. 37942 37943 * GNUmakefile.am: Don't use webkit/webkierror.h. 37944 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: 37945 (WebKit::cancelledError): 37946 (WebKit::blockedError): 37947 (WebKit::cannotShowURLError): 37948 (WebKit::interruptedForPolicyChangeError): 37949 (WebKit::cannotShowMIMETypeError): 37950 (WebKit::fileDoesNotExistError): 37951 (WebKit::pluginWillHandleLoadError): 37952 379532011-09-19 Mark Rowe <mrowe@apple.com> 37954 37955 <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect 37956 37957 On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking 37958 in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and 37959 a NoIdleSleep assertion as the latter is implied by the former. 37960 37961 Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController. 37962 37963 Reviewed by Dan Bernstein. 37964 37965 * UIProcess/mac/WKFullScreenWindowController.h: 37966 * UIProcess/mac/WKFullScreenWindowController.mm: 37967 (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting 37968 display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any 37969 disabler that we own. Also adds a FIXME about an error that was noticed while working in this code. 37970 379712011-09-19 Adam Barth <abarth@webkit.org> 37972 37973 Always enable ENABLE(EVENTSOURCE) 37974 https://bugs.webkit.org/show_bug.cgi?id=68414 37975 37976 Reviewed by Eric Seidel. 37977 37978 * Configurations/FeatureDefines.xcconfig: 37979 379802011-09-19 Alexis Menard <alexis.menard@openbossa.org> 37981 37982 [Qt] Unreviewed coding style fix. 37983 37984 * UIProcess/API/qt/qdesktopwebview.h: 37985 * UIProcess/API/qt/qtouchwebpage.h: 37986 * UIProcess/API/qt/qweberror.h: 37987 379882011-09-19 Alexis Menard <alexis.menard@openbossa.org> 37989 37990 [Qt][WK2] Make loading errors API easier to use. 37991 https://bugs.webkit.org/show_bug.cgi?id=68357 37992 37993 Reviewed by Tor Arne Vestbø. 37994 37995 Make the API to get loading errors easier to use. 95197 introduced 37996 a QJSValue API that is a bit opaque for the client code. Rather than 37997 using a dedicated object, we can just pass the needed information as 37998 parameters of the slot. 37999 38000 * UIProcess/API/qt/qdesktopwebview.cpp: 38001 (QDesktopWebViewPrivate::loadDidFail): 38002 * UIProcess/API/qt/qdesktopwebview.h: 38003 * UIProcess/API/qt/qdesktopwebview_p.h: 38004 * UIProcess/API/qt/qtouchwebpage.h: 38005 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 38006 (tst_CommonViewTests::loadNonexistentFileUrl): 38007 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 38008 (WebViewAbstraction::WebViewAbstraction): 38009 (WebViewAbstraction::touchViewLoadFailed): 38010 (WebViewAbstraction::desktopViewLoadFailed): 38011 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 38012 * UIProcess/qt/QtWebPageProxy.cpp: 38013 (QtWebPageProxy::loadDidFail): 38014 * UIProcess/qt/TouchViewInterface.cpp: 38015 (WebKit::TouchViewInterface::loadDidFail): 38016 * UIProcess/qt/TouchViewInterface.h: 38017 * UIProcess/qt/ViewInterface.h: 38018 380192011-09-19 Dan Bernstein <mitz@apple.com> 38020 38021 WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes 38022 https://bugs.webkit.org/show_bug.cgi?id=68323 38023 38024 Reviewed by Sam Weinig. 38025 38026 Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher. 38027 Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject. 38028 38029 * WebKit2.xcodeproj/project.pbxproj: 38030 * WebProcess/WebPage/WebPage.h: 38031 * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed. 38032 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed. 38033 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h. 38034 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm. 38035 * WebProcess/WebPage/mac/WebPageMac.mm: 38036 (WebKit::WebPage::platformInitialize): 38037 (WebKit::WebPage::accessibilityRemoteObject): 38038 * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed. 38039 * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed. 38040 * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h. 38041 * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm. 38042 (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]): 38043 * WebProcess/mac/WebProcessMac.mm: 38044 (WebKit::WebProcess::fullKeyboardAccessEnabled): 38045 380462011-09-14 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 38047 38048 [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox 38049 https://bugs.webkit.org/show_bug.cgi?id=67938 38050 38051 Reviewed by Andreas Kling. 38052 38053 Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we 38054 have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation 38055 explicitly avoids running a nested mainloop. 38056 38057 * UIProcess/WebPageProxy.cpp: 38058 (WebKit::WebPageProxy::showPopupMenu): 38059 Since we don't run a nested mainloop, we need to keep the client pointer to call 38060 valueChangedForPopupMenu(). 38061 38062 * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added. 38063 (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop): 38064 (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop): 38065 (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu): 38066 (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu): 38067 (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex): 38068 (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden): 38069 (WebKit::WebPopupMenuProxyQtDesktop::populate): 38070 * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added. 38071 (WebKit::WebPopupMenuProxyQtDesktop::create): 38072 * UIProcess/qt/qdesktopwebpageproxy.cpp: 38073 (QDesktopWebPageProxy::createPopupMenuProxy): 38074 * UIProcess/qt/qdesktopwebpageproxy.h: 38075 * WebKit2.pro: 38076 380772011-09-19 Carlos Garcia Campos <cgarcia@igalia.com> 38078 38079 [GTK] Fix distcheck build 38080 https://bugs.webkit.org/show_bug.cgi?id=68241 38081 38082 Reviewed by Martin Robinson. 38083 38084 * GNUmakefile.am: 38085 380862011-09-17 Mihai Parparita <mihaip@chromium.org> 38087 38088 FrameLoaderClient BackForwardList-related methods are unsued 38089 https://bugs.webkit.org/show_bug.cgi?id=68293 38090 38091 Reviewed by Darin Adler. 38092 38093 Remove FrameLoaderClient methods that were added by r51629, since only 38094 the old (since-deleted) Android port needed them. 38095 38096 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 38097 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 38098 380992011-09-16 Gopal Raghavan <gopal.1.raghavan@nokia.com> 38100 [Qt] QTouchWebView missing loadProgress tests 38101 https://bugs.webkit.org/show_bug.cgi?id=68183 38102 38103 Reviewed by Chang Shu. 38104 38105 Added test case to check load progress for QTouchWebView 38106 38107 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added. 38108 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 38109 381102011-09-16 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 38111 38112 Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files 38113 https://bugs.webkit.org/show_bug.cgi?id=68249 38114 38115 Reviewed by Martin Robinson. 38116 38117 * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion. 38118 * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion. 38119 * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion. 38120 * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion. 38121 * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion. 38122 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion. 38123 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion. 38124 * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion. 38125 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion. 38126 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion. 38127 381282011-09-16 Simon Fraser <simon.fraser@apple.com> 38129 38130 Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms 38131 https://bugs.webkit.org/show_bug.cgi?id=68134 38132 38133 Reviewed by Sam Weinig. 38134 38135 Hook up a private preference that enables the mock scrollbar theme. 38136 38137 * Shared/WebPreferencesStore.h: 38138 * UIProcess/API/C/WKPreferences.cpp: 38139 (WKPreferencesSetMockScrollbarsEnabled): 38140 (WKPreferencesGetMockScrollbarsEnabled): 38141 * UIProcess/API/C/WKPreferencesPrivate.h: 38142 * WebProcess/WebPage/WebPage.cpp: 38143 (WebKit::WebPage::updatePreferences): 38144 381452011-09-16 Mark Rowe <mrowe@apple.com> 38146 38147 Stop installing source and header files in to WebKit2.framework after r95303. 38148 38149 * WebKit2.xcodeproj/project.pbxproj: 38150 381512011-09-16 Anders Carlsson <andersca@apple.com> 38152 38153 Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way 38154 https://bugs.webkit.org/show_bug.cgi?id=68269 38155 38156 Reviewed by Geoffrey Garen. 38157 38158 Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback. 38159 38160 * UIProcess/API/C/WKPage.h: 38161 * UIProcess/WebUIClient.cpp: 38162 (WebKit::WebUIClient::mouseDidMoveOverElement): 38163 381642011-09-16 Alexey Proskuryakov <ap@apple.com> 38165 38166 Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess 38167 https://bugs.webkit.org/show_bug.cgi?id=68268 38168 38169 Reviewed by Darin Adler. 38170 38171 * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds. The empty 38172 value for production resulted in WebKit not adding the key to plist at all, which is what 38173 we want (but I don't know if it's a supported feature). 38174 Also, don't copy the icon file to built framework in production builds. 38175 38176 * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns. 38177 38178 * WebProcess/Info.plist: Added a key for the icon. 38179 38180 * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns. 38181 381822011-09-16 Anders Carlsson <andersca@apple.com> 38183 38184 Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API 38185 https://bugs.webkit.org/show_bug.cgi?id=68266 38186 38187 Reviewed by John Sullivan. 38188 38189 * UIProcess/API/C/WKPage.h: 38190 * UIProcess/WebUIClient.cpp: 38191 (WebKit::WebUIClient::mouseDidMoveOverElement): 38192 381932011-09-16 Filip Pizlo <fpizlo@apple.com> 38194 38195 DFG JIT should inline Math.abs 38196 https://bugs.webkit.org/show_bug.cgi?id=68227 38197 38198 Reviewed by Oliver Hunt. 38199 38200 Added JavaScriptCore/dfg to include path path. 38201 38202 * CMakeLists.txt: 38203 382042011-09-16 Igor Oliveira <igor.oliveira@openbossa.org> 38205 38206 [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess. 38207 https://bugs.webkit.org/show_bug.cgi?id=68125 38208 38209 This patch implements support for the UiProcess to know what is the link url of a hovered element. 38210 38211 Reviewed by Anders Carlsson. 38212 38213 * CMakeLists.txt: 38214 * GNUmakefile.am: 38215 * Shared/API/c/WKBase.h: 38216 * Shared/APIObject.h: 38217 * Shared/WebHitTestResult.cpp: Added. 38218 38219 WebHitTestResult has hovered element information. 38220 38221 (WebKit::WebHitTestResult::create): 38222 (WebKit::WebHitTestResult::Data::encode): 38223 (WebKit::WebHitTestResult::Data::decode): 38224 * Shared/WebHitTestResult.h: Added. 38225 (WebKit::WebHitTestResult::absoluteImageURL): 38226 (WebKit::WebHitTestResult::absoluteLinkURL): 38227 (WebKit::WebHitTestResult::absoluteMediaURL): 38228 (WebKit::WebHitTestResult::linkLabel): 38229 (WebKit::WebHitTestResult::linkTitle): 38230 (WebKit::WebHitTestResult::WebHitTestResult): 38231 (WebKit::WebHitTestResult::type): 38232 * UIProcess/API/C/WKAPICast.h: 38233 * UIProcess/API/C/WKPage.h: 38234 * UIProcess/WebPageProxy.cpp: 38235 (WebKit::WebPageProxy::mouseDidMoveOverElement): 38236 * UIProcess/WebPageProxy.h: 38237 * UIProcess/WebPageProxy.messages.in: 38238 * UIProcess/WebUIClient.cpp: 38239 (WebKit::WebUIClient::mouseDidMoveOverElement): 38240 * UIProcess/WebUIClient.h: 38241 * WebKit2.pro: 38242 * WebKit2.xcodeproj/project.pbxproj: 38243 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38244 (WebKit::WebChromeClient::mouseDidMoveOverElement): 38245 * win/WebKit2.vcproj: 38246 382472011-09-15 Adam Roben <aroben@apple.com> 38248 38249 Add support for attributes on message parameters 38250 38251 Parameter attributes are specified as a space-separated list inside square brackets before 38252 the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts 38253 would like to. 38254 38255 Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message 38256 parameters 38257 38258 Reviewed by Sam Weinig. 38259 38260 * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes. 38261 38262 * Scripts/webkit2/model.py: 38263 (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes 38264 property. 38265 (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute. 38266 38267 * Scripts/webkit2/parser.py: 38268 (parse): Moved attributes-parsing code from here... 38269 (parse_attributes_string): ...to here. 38270 (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter 38271 attributes. 38272 382732011-09-15 Adam Roben <aroben@apple.com> 38274 38275 Make WebKit2's message-generation model and parser scripts accessible to other projects 38276 38277 We copy them into the build products directory so other projects can find them. 38278 38279 Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation 38280 scripts in other projects 38281 38282 Reviewed by Darin Adler. 38283 38284 * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders. 38285 38286 * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to 38287 tools/scripts, like WebCore does. 38288 38289 * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what 38290 WebCore does for its bindings scripts. 38291 382922011-09-15 Adam Roben <aroben@apple.com> 38293 38294 Split some of the message-generation code into separate modules 38295 38296 This is in preparation for making these modules scripts usable by other projects. 38297 38298 Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's 38299 message-generation scripts is trapped inside a much larger module 38300 38301 Reviewed by Darin Adler. 38302 38303 * DerivedSources.make: 38304 * DerivedSources.pro: 38305 * GNUmakefile.am: 38306 * WebKit2.xcodeproj/project.pbxproj: 38307 * win/WebKit2.vcproj: 38308 * win/WebKit2Generated.vcproj: 38309 Added new files. 38310 38311 * Scripts/webkit2/messages.py: Moved some code from here... 38312 38313 * Scripts/webkit2/model.py: Added. 38314 * Scripts/webkit2/parser.py: Added. 38315 ...to here. MessageReceiver.parse was split out into a function in the new parser module. 38316 38317 * Scripts/webkit2/messages_unittest.py: Updated for renames. 38318 383192011-09-16 Martin Robinson <mrobinson@igalia.com> 38320 38321 [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit 38322 https://bugs.webkit.org/show_bug.cgi?id=68178 38323 38324 Reviewed by Xan Lopez. 38325 38326 * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support 38327 for WebKit2. 38328 383292011-09-15 Adam Barth <abarth@webkit.org> 38330 38331 Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE) 38332 https://bugs.webkit.org/show_bug.cgi?id=68205 38333 38334 Reviewed by Eric Seidel. 38335 38336 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38337 * WebProcess/WebCoreSupport/WebChromeClient.h: 38338 * WebProcess/WebPage/WebPage.cpp: 38339 (WebKit::WebPage::updatePreferences): 38340 * WebProcess/WebProcess.cpp: 38341 (WebKit::WebProcess::initializeWebProcess): 38342 383432011-09-15 Eric Seidel <eric@webkit.org> 38344 38345 Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default 38346 https://bugs.webkit.org/show_bug.cgi?id=68182 38347 38348 Reviewed by Adam Barth. 38349 38350 * Configurations/FeatureDefines.xcconfig: 38351 383522011-09-15 Eric Seidel <eric@webkit.org> 38353 38354 Remove ENABLE_SVG_ANIMATION as all major ports have it on by default 38355 https://bugs.webkit.org/show_bug.cgi?id=68022 38356 38357 Reviewed by Ryosuke Niwa. 38358 38359 * Configurations/FeatureDefines.xcconfig: 38360 383612011-09-15 Alexis Menard <alexis.menard@openbossa.org> 38362 38363 [Qt][WK2] Make QWebError more friendly to QML. 38364 https://bugs.webkit.org/show_bug.cgi?id=67785 38365 38366 Reviewed by Simon Hausmann. 38367 38368 Make sure that we can use the loading errors in QML. We send it via a QJSValue which 38369 has the properties needed to get the error code, the url and the type of error. 38370 38371 * UIProcess/API/qt/qdesktopwebview.cpp: 38372 (QDesktopWebViewPrivate::loadDidFail): 38373 (QDesktopWebViewPrivate::engine): 38374 * UIProcess/API/qt/qdesktopwebview.h: 38375 * UIProcess/API/qt/qdesktopwebview_p.h: 38376 * UIProcess/API/qt/qtouchwebpage.h: 38377 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 38378 (tst_CommonViewTests::loadNonexistentFileUrl): 38379 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 38380 (WebViewAbstraction::WebViewAbstraction): 38381 (WebViewAbstraction::touchViewLoadFailed): 38382 (WebViewAbstraction::desktopViewLoadFailed): 38383 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 38384 * UIProcess/API/qt/tests/testwindow.h: 38385 * UIProcess/qt/QtWebPageProxy.cpp: 38386 (QtWebPageProxy::loadDidFail): 38387 * UIProcess/qt/QtWebPageProxy.h: 38388 * UIProcess/qt/TouchViewInterface.cpp: 38389 (WebKit::TouchViewInterface::loadDidFail): 38390 (WebKit::TouchViewInterface::engine): 38391 * UIProcess/qt/TouchViewInterface.h: 38392 * UIProcess/qt/ViewInterface.h: 38393 383942011-09-15 Adam Roben <aroben@apple.com> 38395 38396 Remove WebKit2-specific knowledge from the Message class 38397 38398 This is in preparation for making some of our message-generations scripts usable by other 38399 projects. 38400 38401 Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know 38402 too much about WebKit2 details 38403 38404 Reviewed by Anders Carlsson. 38405 38406 * Scripts/webkit2/messages.py: Added constants for the message attributes we support. 38407 (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the 38408 attributes into a set and pass it to the Message constructor. 38409 (Message.__init__): Changed to take a generic set of attributes instead of individual 38410 attributes. 38411 (Message.has_attribute): Added. Returns true if the message has an attribute. 38412 (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from 38413 Message.__init__, which set the old message.is_variadic property. 38414 38415 (decode_type): 38416 (message_to_struct_declaration): 38417 (forward_declarations_and_headers): 38418 (async_case_statement): 38419 (sync_case_statement): 38420 (generate_message_handler): 38421 Updated to use Message.has_attribute and message_is_variadic. 38422 384232011-09-14 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> 38424 38425 Eliminate WebKit2 compilation warnings. 38426 https://bugs.webkit.org/show_bug.cgi?id=65025 38427 38428 Warnings found with gcc on linux. 38429 38430 Reviewed by Sam Weinig. 38431 38432 * Platform/CoreIPC/ArgumentEncoder.cpp: 38433 (CoreIPC::ArgumentEncoder::~ArgumentEncoder): 38434 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 38435 (WebKit::WebFrameLoaderClient::createPlugin): 38436 384372011-09-14 Ada Chan <adachan@apple.com> 38438 38439 Implement WKBundleFrameCopyWebArchive(). 38440 http://bugs.webkit.org/show_bug.cgi?id=67857 38441 38442 Reviewed by Anders Carlsson. 38443 38444 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 38445 (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef. 38446 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 38447 * WebProcess/WebPage/WebFrame.cpp: 38448 (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData(). 38449 * WebProcess/WebPage/WebFrame.h: 38450 * WebProcess/WebPage/WebPage.cpp: 38451 (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here. 38452 384532011-09-14 Alexey Proskuryakov <ap@apple.com> 38454 38455 Web Process doesn't need a permission to look up WebProcess service any more 38456 https://bugs.webkit.org/show_bug.cgi?id=68101 38457 38458 Reviewed by Anders Carlsson. 38459 38460 * WebProcess/com.apple.WebProcess.sb: 38461 384622011-09-14 Mark Hahnenberg <mhahnenberg@apple.com> 38463 38464 Unzip initialization lists and constructors in JSCell hierarchy (6/7) 38465 https://bugs.webkit.org/show_bug.cgi?id=67692 38466 38467 Reviewed by Geoffrey Garen. 38468 38469 Completed the sixth level of the refactoring to add finishCreation() 38470 methods to all classes within the JSCell hierarchy with non-trivial 38471 constructor bodies. 38472 38473 This primarily consists of pushing the calls to finishCreation() down 38474 into the constructors of the subclasses of the fifth level of the hierarchy 38475 as well as pulling the finishCreation() calls out into the class's corresponding 38476 create() method if it has one. Doing both simultaneously allows us to 38477 maintain the invariant that the finishCreation() method chain is called exactly 38478 once during the creation of an object, since calling it any other number of 38479 times (0, 2, or more) will cause an assertion failure. 38480 38481 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 38482 (WebKit::JSNPMethod::JSNPMethod): 38483 * WebProcess/Plugins/Netscape/JSNPMethod.h: 38484 (WebKit::JSNPMethod::create): 38485 384862011-09-13 Eric Seidel <eric@webkit.org> 38487 38488 Remove ENABLE_SVG_USE as <use> is required by HTML5 38489 https://bugs.webkit.org/show_bug.cgi?id=68019 38490 38491 Reviewed by Ryosuke Niwa. 38492 38493 * Configurations/FeatureDefines.xcconfig: 38494 384952011-09-13 Anders Carlsson <andersca@apple.com> 38496 38497 Disable C++ exceptions when building with clang 38498 https://bugs.webkit.org/show_bug.cgi?id=68031 38499 <rdar://problem/9556880> 38500 38501 Reviewed by Mark Rowe. 38502 38503 * Configurations/Base.xcconfig: 38504 385052011-09-13 Eric Seidel <eric@webkit.org> 38506 38507 Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5 38508 https://bugs.webkit.org/show_bug.cgi?id=68018 38509 38510 Reviewed by Ryosuke Niwa. 38511 38512 * Configurations/FeatureDefines.xcconfig: 38513 385142011-09-13 Chang Shu <cshu@webkit.org> 38515 38516 [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender. 38517 https://bugs.webkit.org/show_bug.cgi?id=57515 38518 38519 The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously. 38520 38521 Reviewed by Darin Adler. 38522 38523 * UIProcess/API/C/WKPage.cpp: 38524 (WKPageSetShouldSendKeyboardEventSynchronously): 38525 * UIProcess/API/C/WKPagePrivate.h: 38526 * UIProcess/WebPageProxy.cpp: 38527 (WebKit::WebPageProxy::WebPageProxy): 38528 (WebKit::WebPageProxy::handleKeyboardEvent): 38529 * UIProcess/WebPageProxy.h: 38530 (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously): 38531 * WebProcess/WebPage/WebPage.cpp: 38532 (WebKit::WebPage::keyEventSyncForTesting): 38533 * WebProcess/WebPage/WebPage.h: 38534 * WebProcess/WebPage/WebPage.messages.in: 38535 385362011-09-12 Ryuan Choi <ryuan.choi@samsung.com> 38537 38538 Reviewed by Eric Seidel. 38539 38540 [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h 38541 https://bugs.webkit.org/show_bug.cgi?id=62692 38542 38543 * CMakeLists.txt: define WTF_USE_JSC=1. 38544 * config.h: add cmakeconfig.h and define necessary macros for CMake build. 38545 385462011-09-12 Igor Oliveira <igor.oliveira@openbossa.org> 38547 38548 [Qt] [WK2] implement support to upload files in Qt WebKit2 38549 https://bugs.webkit.org/show_bug.cgi?id=67228 38550 38551 This patch implements support to upload files in the Desktop Qt WebKit2 implementation. 38552 38553 Reviewed by Andreas Kling. 38554 38555 * Shared/WebOpenPanelParameters.h: 38556 (WebKit::WebOpenPanelParameters::selectedFileNames): 38557 * UIProcess/API/qt/qdesktopwebview.cpp: 38558 (QDesktopWebViewPrivate::chooseFiles): 38559 (QDesktopWebViewPrivate::onOpenPanelFilesSelected): 38560 (QDesktopWebViewPrivate::onOpenPanelFinished): 38561 * UIProcess/API/qt/qdesktopwebview_p.h: 38562 * UIProcess/qt/ClientImpl.cpp: 38563 38564 qt_wk_runOpenPanel supports single and multiple files selection. 38565 38566 (qt_wk_runOpenPanel): 38567 * UIProcess/qt/ClientImpl.h: 38568 * UIProcess/qt/QtWebPageProxy.cpp: 38569 (QtWebPageProxy::init): 38570 * UIProcess/qt/TouchViewInterface.h: 38571 (WebKit::TouchViewInterface::chooseFiles): 38572 * UIProcess/qt/ViewInterface.h: 38573 385742011-09-12 Alexis Menard <alexis.menard@openbossa.org> 38575 38576 [Qt]Style error fix. 38577 38578 Reviewed by Andreas Kling. 38579 38580 * UIProcess/qt/QtWebPageProxy.cpp: 38581 385822011-09-11 Mark Rowe <mrowe@apple.com> 38583 38584 <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting 38585 38586 It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to 38587 interrupt a nested invocation of -run without also causing outer invocations to exit after processing 38588 their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation 38589 of the main runloop, while using CFRunLoopRun for any nested invocations. 38590 38591 Reviewed by Anders Carlsson. 38592 38593 * Platform/RunLoop.h: 38594 * Platform/mac/RunLoopMac.mm: 38595 (RunLoop::RunLoop): Initialize the nesting level to 0. 38596 (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the 38597 runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources 38598 left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it. 38599 (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop. 38600 386012011-09-11 Balazs Kelemen <kbalazs@webkit.org> 38602 38603 [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures 38604 https://bugs.webkit.org/show_bug.cgi?id=67094 38605 38606 Reviewed by Andreas Kling. 38607 38608 * UIProcess/qt/QtWebPageProxy.cpp: 38609 (QtWebPageProxy::init): 38610 386112011-09-09 Oliver Hunt <oliver@apple.com> 38612 38613 Remove support for anonymous storage from jsobjects 38614 https://bugs.webkit.org/show_bug.cgi?id=67881 38615 38616 Reviewed by Sam Weinig. 38617 38618 Remove the use of AnonymousSlotCount. 38619 38620 * WebProcess/Plugins/Netscape/JSNPMethod.h: 38621 (WebKit::JSNPMethod::createStructure): 38622 * WebProcess/Plugins/Netscape/JSNPObject.h: 38623 (WebKit::JSNPObject::createStructure): 38624 386252011-09-09 Chris Marrin <cmarrin@apple.com> 38626 38627 requestAnimationFrame doesn't throttle on Mac 38628 https://bugs.webkit.org/show_bug.cgi?id=67171 38629 38630 Reviewed by Simon Fraser. 38631 38632 Removed runLoopObserver for requestAnimationFrame. It's now 38633 done by a Timer in ScriptedAnimationController in WebCore. 38634 38635 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38636 * WebProcess/WebCoreSupport/WebChromeClient.h: 38637 * WebProcess/WebPage/WebPage.cpp: 38638 (WebKit::WebPage::~WebPage): 38639 * WebProcess/WebPage/WebPage.h: 38640 * WebProcess/WebPage/mac/WebPageMac.mm: 38641 386422011-09-09 Fady Samuel <fsamuel@chromium.org> 38643 38644 Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp} 38645 https://bugs.webkit.org/show_bug.cgi?id=67250 38646 38647 Reviewed by Simon Fraser. 38648 38649 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 38650 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 38651 * WebProcess/WebPage/WebPage.cpp: 38652 (WebKit::WebPage::scalePage): 38653 (WebKit::WebPage::pageScaleFactor): 38654 386552011-09-09 Mark Hahnenberg <mhahnenberg@apple.com> 38656 38657 Unzip initialization lists and constructors in JSCell hierarchy (5/7) 38658 https://bugs.webkit.org/show_bug.cgi?id=67420 38659 38660 Reviewed by Geoffrey Garen. 38661 38662 Completed the fifth level of the refactoring to add finishCreation() 38663 methods to all classes within the JSCell hierarchy with non-trivial 38664 constructor bodies. 38665 38666 This primarily consists of pushing the calls to finishCreation() down 38667 into the constructors of the subclasses of the second level of the hierarchy 38668 as well as pulling the finishCreation() calls out into the class's corresponding 38669 create() method if it has one. Doing both simultaneously allows us to 38670 maintain the invariant that the finishCreation() method chain is called exactly 38671 once during the creation of an object, since calling it any other number of 38672 times (0, 2, or more) will cause an assertion failure. 38673 38674 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 38675 (WebKit::JSNPMethod::JSNPMethod): 38676 (WebKit::JSNPMethod::finishCreation): 38677 * WebProcess/Plugins/Netscape/JSNPMethod.h: 38678 (WebKit::JSNPMethod::create): 38679 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 38680 (WebKit::JSNPObject::JSNPObject): 38681 * WebProcess/Plugins/Netscape/JSNPObject.h: 38682 (WebKit::JSNPObject::create): 38683 386842011-09-08 Mark Rowe <mrowe@apple.com> 38685 38686 <rdar://problem/9742393> Spell checking a text area causes the page to reload 38687 38688 Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use 38689 executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord 38690 is expecting to be called, and will not turn around and terminate the web process. 38691 38692 Reviewed by Anders Carlsson. 38693 38694 * UIProcess/WebPageProxy.cpp: 38695 (WebKit::WebPageProxy::executeEditCommand): 38696 386972011-09-08 Sam Weinig <sam@webkit.org> 38698 38699 Remove accidentally committed typo. 38700 38701 * Platform/CoreIPC/Connection.cpp: 38702 (CoreIPC::Connection::waitForSyncReply): 38703 387042011-09-08 Brian Weinstein <bweinstein@apple.com> 38705 38706 WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string 38707 https://bugs.webkit.org/show_bug.cgi?id=67794 38708 <rdar://problem/9892024> 38709 38710 Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string 38711 is empty or null. 38712 38713 If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null, 38714 it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef. 38715 38716 Reviewed by Brady Eidson. 38717 38718 * UIProcess/WebContext.cpp: 38719 (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null. 38720 (WebKit::WebContext::didPerformServerRedirect): Ditto. 38721 387222011-09-08 Sam Weinig <sam@webkit.org> 38723 38724 Remove the Completion object from JSC, I have never liked it 38725 https://bugs.webkit.org/show_bug.cgi?id=67755 38726 38727 Reviewed by Gavin Barraclough. 38728 38729 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 38730 (WebKit::NPRuntimeObjectMap::evaluate): 38731 387322011-09-08 Anders Carlsson <andersca@apple.com> 38733 38734 Don't release the modal placeholder window if it's closed 38735 https://bugs.webkit.org/show_bug.cgi?id=67801 38736 <rdar://problem/10088059> 38737 38738 Reviewed by Adam Roben. 38739 38740 This is a speculative fix - nothing should really be able to close the modal placeholder window. 38741 38742 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 38743 (WebKit::PluginProcessProxy::beginModal): 38744 387452011-09-07 Alexei Svitkine <asvitkine@chromium.org> 38746 38747 Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path. 38748 https://bugs.webkit.org/show_bug.cgi?id=67511 38749 38750 Reviewed by Dimitri Glazkov. 38751 38752 * win/WebKit2.def: 38753 * win/WebKit2CFLite.def: 38754 387552011-09-06 Oliver Hunt <oliver@apple.com> 38756 38757 Remove JSObjectWithGlobalObject 38758 https://bugs.webkit.org/show_bug.cgi?id=67689 38759 38760 Reviewed by Geoff Garen. 38761 38762 Remove JSObjectWithGlobalObject usage. 38763 38764 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 38765 (WebKit::JSNPObject::JSNPObject): 38766 (WebKit::JSNPObject::finishCreation): 38767 * WebProcess/Plugins/Netscape/JSNPObject.h: 38768 387692011-09-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38770 38771 [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to. 38772 https://bugs.webkit.org/show_bug.cgi?id=67606 38773 38774 TiledBackingStore previously used different values for horizontal and vertial multiplication 38775 to calculate the cover area. 38776 This patch replaces this mechanism, used to give a bigger panning range to vertical panning, 38777 with the possibility to use the motion vector of the viewport to request tiles ahead instead. 38778 This allows economies on rendering resources as tiles won't be rendered beside the trajectory 38779 of the viewport. 38780 38781 * UIProcess/API/qt/qtouchwebview.cpp: 38782 (QTouchWebViewPrivate::QTouchWebViewPrivate): 38783 (QTouchWebViewPrivate::_q_viewportMotionVectorChanged): 38784 * UIProcess/API/qt/qtouchwebview.h: 38785 * UIProcess/API/qt/qtouchwebview_p.h: 38786 * UIProcess/TiledDrawingAreaProxy.cpp: 38787 (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector): 38788 * UIProcess/TiledDrawingAreaProxy.h: 38789 * UIProcess/qt/ViewportInteractionEngine.cpp: 38790 (WebKit::ViewportInteractionEngine::panGestureRequestUpdate): 38791 (WebKit::ViewportInteractionEngine::panGestureEnded): 38792 (WebKit::ViewportInteractionEngine::pinchGestureStarted): 38793 * UIProcess/qt/ViewportInteractionEngine.h: 38794 * UIProcess/qt/qtouchwebpageproxy.cpp: 38795 (QTouchWebPageProxy::setVisibleContentRectMotionVector): 38796 * UIProcess/qt/qtouchwebpageproxy.h: 38797 * WebProcess/WebPage/DrawingArea.h: 38798 (WebKit::DrawingArea::setVisibleContentRectMotionVector): 38799 * WebProcess/WebPage/DrawingArea.messages.in: 38800 * WebProcess/WebPage/TiledDrawingArea.cpp: 38801 (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector): 38802 * WebProcess/WebPage/TiledDrawingArea.h: 38803 388042011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38805 38806 [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy. 38807 https://bugs.webkit.org/show_bug.cgi?id=67416 38808 38809 Reviewed by Kenneth Rohde Christiansen. 38810 38811 Original code by Antti Koivisto. 38812 With the current code, when the page is layouted during load, edge tiles will 38813 get removed instead of continuing to show their front buffer while the tile 38814 is being rendered for the new size. 38815 38816 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: 38817 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 38818 (WebKit::TiledBackingStoreRemoteTile::resize): 38819 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: 38820 388212011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38822 38823 TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early. 38824 https://bugs.webkit.org/show_bug.cgi?id=67390 38825 38826 Reviewed by Tor Arne Vestbø. 38827 38828 The two issues addresssed are: 38829 - The previous instance of the tile backing store would be destroyed in createTile which 38830 would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles. 38831 - When quickly changing the scale a second time after a scale change, the previous tile set would 38832 be replaced by the current incomplete tile set which may contain no tiles at all. 38833 * WebProcess/WebPage/TiledDrawingArea.cpp: 38834 (WebKit::TiledDrawingArea::setVisibleContentRectAndScale): 38835 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd): 38836 (WebKit::TiledDrawingArea::createTile): 38837 388382011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38839 38840 [Qt][WK2] The scene graph is rendered continuously even when the page is idle. 38841 https://bugs.webkit.org/show_bug.cgi?id=67195 38842 38843 Reviewed by Tor Arne Vestbø. 38844 38845 Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea 38846 and its proxy are looping over DidRenderFrame and RenderNextFrame messages. 38847 This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process. 38848 38849 Introduce a bool to send DidRenderFrame only when dirty content was rendered. 38850 38851 * WebProcess/WebPage/TiledDrawingArea.cpp: 38852 (WebKit::TiledDrawingArea::TiledDrawingArea): 38853 (WebKit::TiledDrawingArea::tiledBackingStorePaint): 38854 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd): 38855 * WebProcess/WebPage/TiledDrawingArea.h: 38856 388572011-08-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38858 38859 [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message. 38860 https://bugs.webkit.org/show_bug.cgi?id=67189 38861 38862 Reviewed by Kenneth Rohde Christiansen. 38863 38864 The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to 38865 create, and since the visible content rect is given in page coordinates, the contents scale is 38866 necessary to calculate the viewport size. 38867 Both the rect and the scale then need to arrive to the web process at the same time to prevent 38868 picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size 38869 and create/render an insane amount of tiles. 38870 38871 Things this patch does: 38872 - Merge the visible contents rect and content scale handling together. 38873 - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage. 38874 - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end. 38875 38876 * UIProcess/API/qt/qtouchwebpage.cpp: 38877 * UIProcess/API/qt/qtouchwebpage.h: 38878 * UIProcess/API/qt/qtouchwebpage_p.h: 38879 * UIProcess/API/qt/qtouchwebview.cpp: 38880 (QTouchWebViewPrivate::QTouchWebViewPrivate): 38881 (QTouchWebViewPrivate::_q_viewportUpdated): 38882 (QTouchWebView::geometryChanged): 38883 * UIProcess/API/qt/qtouchwebview.h: 38884 * UIProcess/API/qt/qtouchwebview_p.h: 38885 * UIProcess/TiledDrawingAreaProxy.cpp: 38886 (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale): 38887 * UIProcess/TiledDrawingAreaProxy.h: 38888 * UIProcess/qt/ViewportInteractionEngine.cpp: 38889 (WebKit::ViewportInteractionEngine::ViewportInteractionEngine): 38890 (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard. 38891 (WebKit::ViewportInteractionEngine::setConstraints): 38892 (WebKit::ViewportInteractionEngine::pinchGestureStarted): 38893 (WebKit::ViewportInteractionEngine::pinchGestureEnded): 38894 (WebKit::ViewportInteractionEngine::contentViewportChanged): 38895 * UIProcess/qt/ViewportInteractionEngine.h: 38896 * UIProcess/qt/qtouchwebpageproxy.cpp: 38897 (QTouchWebPageProxy::setVisibleContentRectAndScale): 38898 * UIProcess/qt/qtouchwebpageproxy.h: 38899 * WebProcess/WebPage/DrawingArea.h: 38900 (WebKit::DrawingArea::setVisibleContentRectAndScale): 38901 * WebProcess/WebPage/DrawingArea.messages.in: 38902 * WebProcess/WebPage/TiledDrawingArea.cpp: 38903 (WebKit::TiledDrawingArea::setVisibleContentRectAndScale): 38904 * WebProcess/WebPage/TiledDrawingArea.h: 38905 389062011-08-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 38907 38908 [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability. 38909 https://bugs.webkit.org/show_bug.cgi?id=67122 38910 38911 Reviewed by Tor Arne Vestbø. 38912 38913 * UIProcess/API/qt/qtouchwebpage.cpp: 38914 (QTouchWebPage::updatePaintNode): 38915 (QTouchWebPagePrivate::QTouchWebPagePrivate): 38916 * UIProcess/API/qt/qtouchwebpage_p.h: 38917 * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp. 38918 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile): 38919 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile): 38920 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer): 38921 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers): 38922 (WebKit::SGUpdateQueue::SGUpdateQueue): 38923 (WebKit::SGUpdateQueue::createTileNode): 38924 (WebKit::SGUpdateQueue::removeTileNode): 38925 (WebKit::SGUpdateQueue::setNodeBackBuffer): 38926 (WebKit::SGUpdateQueue::swapTileBuffers): 38927 (WebKit::SGUpdateQueue::applyUpdates): 38928 (WebKit::SGUpdateQueue::getScaleNode): 38929 * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h. 38930 (WebKit::SGUpdateQueue::isSwapPending): 38931 (WebKit::NodeUpdate::NodeUpdate): 38932 (WebKit::NodeUpdate::~NodeUpdate): 38933 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 38934 (WebKit::TiledDrawingAreaProxy::updateWebView): 38935 (WebKit::TiledDrawingAreaProxy::createTile): 38936 (WebKit::TiledDrawingAreaProxy::updateTile): 38937 (WebKit::TiledDrawingAreaProxy::didRenderFrame): 38938 (WebKit::TiledDrawingAreaProxy::removeTile): 38939 * UIProcess/qt/TouchViewInterface.cpp: 38940 (WebKit::TouchViewInterface::sceneGraphUpdateQueue): 38941 * UIProcess/qt/TouchViewInterface.h: 38942 * WebKit2.pro: 38943 389442011-09-07 Alexis Menard <alexis.menard@openbossa.org> 38945 38946 [Qt] Unreviewed suppression of an unnecessary debug output. 38947 38948 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 38949 389502011-09-07 Sheriff Bot <webkit.review.bot@gmail.com> 38951 38952 Unreviewed, rolling out r94627 and r94632. 38953 http://trac.webkit.org/changeset/94627 38954 http://trac.webkit.org/changeset/94632 38955 https://bugs.webkit.org/show_bug.cgi?id=67698 38956 38957 It broke tests on GTK and Qt (Requested by Ossy on #webkit). 38958 38959 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 38960 (WebKit::JSNPMethod::JSNPMethod): 38961 (WebKit::JSNPMethod::create): 38962 * WebProcess/Plugins/Netscape/JSNPMethod.h: 38963 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 38964 (WebKit::JSNPObject::JSNPObject): 38965 (WebKit::JSNPObject::create): 38966 * WebProcess/Plugins/Netscape/JSNPObject.h: 38967 389682011-09-06 Ryosuke Niwa <rniwa@webkit.org> 38969 38970 fast/forms/suggested-value-crash.html crashes on Windows 38971 https://bugs.webkit.org/show_bug.cgi?id=67688 38972 38973 Reviewed by Adam Barth. 38974 38975 Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal. 38976 38977 * win/WebKit2.def: 38978 * win/WebKit2CFLite.def: 38979 389802011-09-06 Mark Hahnenberg <mhahnenberg@apple.com> 38981 38982 Unzip initialization lists and constructors in JSCell hierarchy (5/7) 38983 https://bugs.webkit.org/show_bug.cgi?id=67420 38984 38985 Reviewed by Geoffrey Garen. 38986 38987 Completed the fifth level of the refactoring to add finishCreation() 38988 methods to all classes within the JSCell hierarchy with non-trivial 38989 constructor bodies. 38990 38991 This primarily consists of pushing the calls to finishCreation() down 38992 into the constructors of the subclasses of the second level of the hierarchy 38993 as well as pulling the finishCreation() calls out into the class's corresponding 38994 create() method if it has one. Doing both simultaneously allows us to 38995 maintain the invariant that the finishCreation() method chain is called exactly 38996 once during the creation of an object, since calling it any other number of 38997 times (0, 2, or more) will cause an assertion failure. 38998 38999 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 39000 (WebKit::JSNPMethod::JSNPMethod): 39001 (WebKit::JSNPMethod::finishCreation): 39002 * WebProcess/Plugins/Netscape/JSNPMethod.h: 39003 (WebKit::JSNPMethod::create): 39004 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 39005 (WebKit::JSNPObject::JSNPObject): 39006 * WebProcess/Plugins/Netscape/JSNPObject.h: 39007 (WebKit::JSNPObject::create): 39008 390092011-09-06 Ryosuke Niwa <rniwa@webkit.org> 39010 39011 Rename confirmCompositionWithoutDisturbingSelection to cancelComposition 39012 https://bugs.webkit.org/show_bug.cgi?id=67569 39013 39014 Reviewed by Antonio Gomes. 39015 39016 * UIProcess/API/mac/WKView.mm: 39017 (-[WKView resignFirstResponder]): 39018 (-[WKView _updateTextInputStateIncludingSecureInputState:]): 39019 * UIProcess/WebPageProxy.h: 39020 * UIProcess/mac/WebPageProxyMac.mm: 39021 (WebKit::WebPageProxy::cancelComposition): 39022 * WebProcess/WebPage/WebPage.h: 39023 * WebProcess/WebPage/WebPage.messages.in: 39024 * WebProcess/WebPage/mac/WebPageMac.mm: 39025 (WebKit::WebPage::cancelComposition): 39026 390272011-09-05 Oliver Hunt <oliver@apple.com> 39028 39029 An object's structure should reference the global object responsible for its creation 39030 https://bugs.webkit.org/show_bug.cgi?id=67624 39031 39032 Reviewed by Gavin Barraclough. 39033 39034 Update for new Structure::create globalObject parameter. 39035 39036 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 39037 (WebKit::JSNPMethod::create): 39038 * WebProcess/Plugins/Netscape/JSNPMethod.h: 39039 (WebKit::JSNPMethod::createStructure): 39040 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 39041 (WebKit::JSNPObject::create): 39042 * WebProcess/Plugins/Netscape/JSNPObject.h: 39043 (WebKit::JSNPObject::createStructure): 39044 390452011-09-06 Ryosuke Niwa <rniwa@webkit.org> 39046 39047 REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium 39048 https://bugs.webkit.org/show_bug.cgi?id=67453 39049 39050 Reviewed by Kent Tamura. 39051 39052 Add symbols for internals. 39053 39054 * win/WebKit2.def: 39055 * win/WebKit2CFLite.def: 39056 390572011-09-06 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> 39058 39059 [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2. 39060 https://bugs.webkit.org/show_bug.cgi?id=67593 39061 39062 Reviewed by Martin Robinson. 39063 39064 Using soup_session_add_feature_by_type for adding all soup features 39065 instead of adding using GRefPtr. 39066 39067 * WebProcess/gtk/WebProcessMainGtk.cpp: 39068 (WebKit::WebProcessMainGtk): 39069 390702011-09-05 Balazs Kelemen <kbalazs@webkit.org> 39071 39072 [Qt][WK2] Add pixel test support 39073 https://bugs.webkit.org/show_bug.cgi?id=66283 39074 39075 Reviewed by Andreas Kling. 39076 39077 * Shared/API/c/qt/WKImageQt.cpp: Added. 39078 (WKImageCreateQImage): C style (private) API to get the contents of the backing 39079 store as an image. 39080 * Shared/API/c/qt/WKImageQt.h: Added. 39081 * Shared/qt/ShareableBitmapQt.cpp: 39082 (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef. 39083 * WebKit2API.pri: 39084 390852011-09-05 Andras Becsi <andras.becsi@nokia.com> 39086 39087 [Qt][WK2] Fix the build 39088 39089 Rubber-stamped by Csaba Osztrogonác. 39090 39091 * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456. 39092 390932011-09-02 Sheriff Bot <webkit.review.bot@gmail.com> 39094 39095 Unreviewed, rolling out r94473. 39096 http://trac.webkit.org/changeset/94473 39097 https://bugs.webkit.org/show_bug.cgi?id=67547 39098 39099 Putting http://trac.webkit.org/changeset/94454 back in as 39100 http://trac.webkit.org/changeset/94472 fixed the problem 39101 (Requested by msaboff on #webkit). 39102 39103 * UIProcess/API/C/WKContext.cpp: 39104 (WKContextGarbageCollectJavaScriptObjects): 39105 * UIProcess/API/C/WKContext.h: 39106 * UIProcess/WebContext.cpp: 39107 (WebKit::WebContext::garbageCollectJavaScriptObjects): 39108 * UIProcess/WebContext.h: 39109 * WebProcess/WebProcess.cpp: 39110 (WebKit::WebProcess::garbageCollectJavaScriptObjects): 39111 * WebProcess/WebProcess.h: 39112 * WebProcess/WebProcess.messages.in: 39113 391142011-09-02 Sheriff Bot <webkit.review.bot@gmail.com> 39115 39116 Unreviewed, rolling out r94454. 39117 http://trac.webkit.org/changeset/94454 39118 https://bugs.webkit.org/show_bug.cgi?id=67546 39119 39120 "Broke Windows and SnowLeopard, also no reply on the bug." 39121 (Requested by jchaffraix on #webkit). 39122 39123 * UIProcess/API/C/WKContext.cpp: 39124 * UIProcess/API/C/WKContext.h: 39125 * UIProcess/WebContext.cpp: 39126 * UIProcess/WebContext.h: 39127 * WebProcess/WebProcess.cpp: 39128 * WebProcess/WebProcess.h: 39129 * WebProcess/WebProcess.messages.in: 39130 391312011-09-02 Michael Saboff <msaboff@apple.com> 39132 39133 Fixed release build by removing #ifndef NDEBUG to 39134 allow definition of gcController(). 39135 39136 Rubber-stamp by Sam Weinig. 39137 39138 * WebProcess/WebProcess.cpp: 39139 391402011-09-02 Anders Carlsson <andersca@apple.com> 39141 39142 NPN_SetException doesn't work with OOP plug-ins 39143 https://bugs.webkit.org/show_bug.cgi?id=67524 39144 39145 Reviewed by Sam Weinig. 39146 39147 * DerivedSources.make: 39148 Add PluginProcessConnection.messages.in. 39149 39150 * GNUmakefile.am: 39151 Add generated files. 39152 39153 * Platform/CoreIPC/MessageID.h: 39154 Add MessageClassPluginProcessConnection. 39155 39156 * PluginProcess/PluginProcess.cpp: 39157 (WebKit::PluginProcess::initialize): 39158 Set the set exception function. 39159 39160 * PluginProcess/WebProcessConnection.cpp: 39161 (WebKit::ConnectionStack::current): 39162 (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher): 39163 (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher): 39164 Add a helper class for managing a stack of CoreIPC connections, along with a RAII 39165 object to push/pop connections onto it. 39166 39167 (WebKit::connectionStack): 39168 Add getter. 39169 39170 (WebKit::WebProcessConnection::setGlobalException): 39171 Get the current connection and send a PluginProcessConnection::SetException message to it. 39172 39173 (WebKit::WebProcessConnection::didReceiveMessage): 39174 (WebKit::WebProcessConnection::didReceiveSyncMessage): 39175 Create connection pushers. 39176 39177 * PluginProcess/WebProcessConnection.h: 39178 Add setGlobalException. 39179 39180 * WebKit2.pro: 39181 * WebKit2.xcodeproj/project.pbxproj: 39182 Add new files. 39183 39184 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39185 (WebKit::NetscapePlugin::setSetExceptionFunction): 39186 New function for setting the 'setException' function. 39187 39188 (WebKit::NetscapePlugin::setException): 39189 Call the 'setException' function. 39190 39191 * WebProcess/Plugins/PluginProcessConnection.cpp: 39192 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 39193 Call the message receiver function. 39194 39195 (WebKit::PluginProcessConnection::setException): 39196 Call the NPRuntimeObjectMap. 39197 39198 * WebProcess/Plugins/PluginProcessConnection.messages.in: 39199 Add new messages file. 39200 39201 * WebProcess/WebPage/WebPage.cpp: 39202 (WebKit::WebPage::createPlugin): 39203 When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction. 39204 392052011-09-02 Ada Chan <adachan@apple.com> 39206 39207 Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess 39208 https://bugs.webkit.org/show_bug.cgi?id=67526 39209 39210 Reviewed by Darin Adler. 39211 39212 * UIProcess/API/C/WKContext.cpp: 39213 (WKContextGarbageCollectJavaScriptObjects): 39214 * UIProcess/API/C/WKContext.h: 39215 * UIProcess/WebContext.cpp: 39216 (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects. 39217 * UIProcess/WebContext.h: 39218 * WebProcess/WebProcess.cpp: 39219 (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow(). 39220 * WebProcess/WebProcess.h: 39221 * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message. 39222 392232011-09-02 Anders Carlsson <andersca@apple.com> 39224 39225 Remove plug-in paths from web process sandbox 39226 https://bugs.webkit.org/show_bug.cgi?id=67518 39227 39228 Reviewed by Adam Roben. 39229 39230 Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile. 39231 39232 * WebProcess/com.apple.WebProcess.sb: 39233 392342011-09-02 Anders Carlsson <andersca@apple.com> 39235 39236 Assertion/crash when running netscape-plugin-property-access-exception.html test 39237 https://bugs.webkit.org/show_bug.cgi?id=67517 39238 39239 Reviewed by Adam Roben. 39240 39241 Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty, 39242 but doesn't set the result NPVariant to anything. 39243 39244 * Shared/Plugins/NPObjectMessageReceiver.cpp: 39245 (WebKit::NPObjectMessageReceiver::getProperty): 39246 392472011-09-02 Anders Carlsson <andersca@apple.com> 39248 39249 The private browsing state isn't saved when it changes 39250 https://bugs.webkit.org/show_bug.cgi?id=67508 39251 39252 Reviewed by Sam Weinig. 39253 39254 Store the new private browsing state so subsequent queries for it 39255 will return the right value. 39256 39257 * PluginProcess/PluginControllerProxy.cpp: 39258 (WebKit::PluginControllerProxy::privateBrowsingStateChanged): 39259 392602011-09-02 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 39261 39262 [WK2] Anchor elements doesn't get focus on TAB key press. 39263 https://bugs.webkit.org/show_bug.cgi?id=66949 39264 39265 Reviewed by Adam Roben. 39266 39267 Setting the default property value of TabsToLinks to true 39268 only for GTK platform since Win & Mac platforms doesn't want 39269 it to be set to true by default. 39270 39271 * Shared/WebPreferencesStore.h: 39272 Set the default value of key TabsToLinks to true for GTK platform only. 39273 392742011-09-02 Balazs Kelemen <kbalazs@webkit.org> 39275 39276 [Qt][WK2] Cannot gathering glyph page statistics 39277 https://bugs.webkit.org/show_bug.cgi?id=67475 39278 39279 Rubber stamped by Csaba Osztrogonác. 39280 39281 Fix Qt WK2 build without having QRAWFONT. 39282 39283 * WebProcess/WebProcess.cpp: 39284 (WebKit::WebProcess::getWebCoreStatistics): 39285 392862011-09-02 Mark Rowe <mrowe@apple.com> 39287 39288 <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd 39289 leak the results of the APIs they wrap. 39290 39291 Reviewed by Dan Bernstein. 39292 39293 * UIProcess/mac/WebProcessProxyMac.mm: 39294 (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a 39295 RetainPtr to ensure it gets released at the appropriate time. 39296 (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd. 39297 392982011-09-01 Ada Chan <adachan@apple.com> 39299 39300 Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 39301 MemoryCache::Statistics always has the xslStyleSheets field. 39302 39303 Reviewed by Darin Adler. 39304 39305 * WebProcess/WebProcess.cpp: 39306 (WebKit::getWebCoreMemoryCacheStatistics): 39307 393082011-09-01 Mark Hahnenberg <mhahnenberg@apple.com> 39309 39310 Unzip initialization lists and constructors in JSCell hierarchy (4/7) 39311 https://bugs.webkit.org/show_bug.cgi?id=67174 39312 39313 Reviewed by Oliver Hunt. 39314 39315 Completed the fourth level of the refactoring to add finishCreation() 39316 methods to all classes within the JSCell hierarchy with non-trivial 39317 constructor bodies. 39318 39319 This primarily consists of pushing the calls to finishCreation() down 39320 into the constructors of the subclasses of the second level of the hierarchy 39321 as well as pulling the finishCreation() calls out into the class's corresponding 39322 create() method if it has one. Doing both simultaneously allows us to 39323 maintain the invariant that the finishCreation() method chain is called exactly 39324 once during the creation of an object, since calling it any other number of 39325 times (0, 2, or more) will cause an assertion failure. 39326 39327 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 39328 (WebKit::JSNPObject::JSNPObject): 39329 (WebKit::JSNPObject::finishCreation): 39330 * WebProcess/Plugins/Netscape/JSNPObject.h: 39331 393322011-09-01 Ada Chan <adachan@apple.com> 39333 39334 Gather memory cache statistics in WebProcess::getWebCoreStatistics(). 39335 https://bugs.webkit.org/show_bug.cgi?id=67160 39336 39337 Reviewed by Darin Adler. 39338 39339 Encode and decode webCoreCacheStatistics data member in StatisticsData. 39340 * Shared/StatisticsData.cpp: 39341 (WebKit::StatisticsData::encode): 39342 (WebKit::StatisticsData::decode): 39343 * Shared/StatisticsData.h: 39344 39345 Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics(). 39346 * UIProcess/WebContext.cpp: 39347 (WebKit::WebContext::didGetWebCoreStatistics): 39348 39349 Store memory cache statistics into the StatisticsData object. 39350 * WebProcess/WebProcess.cpp: 39351 (WebKit::getWebCoreMemoryCacheStatistics): 39352 (WebKit::WebProcess::getWebCoreStatistics): 39353 393542011-09-01 Tim Horton <timothy_horton@apple.com> 39355 39356 REGRESSION: Rendering artifacts on a rotated, pattern filled shape 39357 https://bugs.webkit.org/show_bug.cgi?id=53055 39358 <rdar://problem/8910917> 39359 39360 Reviewed by Simon Fraser. 39361 39362 Introduce wkCGPatternCreateWithImageAndTransform. 39363 39364 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 39365 (InitWebCoreSystemInterface): 39366 393672011-09-01 Gopal Raghavan <gopal.1.raghavan@nokia.com> 39368 39369 [Qt] TouchWebView crashes with segmentation fault 39370 https://bugs.webkit.org/show_bug.cgi?id=67308 39371 39372 Reviewed by Benjamin Poulain. 39373 39374 If you instantiate TouchWebView element with height and width in a qml file and 39375 load a url it crashes. 39376 The functions setWidth() and setHeight() are called sequentially therefore it can happen 39377 that computeViewportAttributes was called with a size like (width, 0) breaking the 39378 assumption of the function that the size is valid. The patch makes sure we compute the 39379 viewport when both height and width are valid. 39380 39381 * UIProcess/API/qt/qtouchwebview.cpp: 39382 (QTouchWebViewPrivate::updateViewportConstraints): 39383 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added. 39384 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added. 39385 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added. 39386 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 39387 393882011-09-01 Ada Chan <adachan@apple.com> 39389 39390 Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics(). 39391 https://bugs.webkit.org/show_bug.cgi?id=67160 39392 39393 Reviewed by Darin Adler. 39394 39395 Encode and decode the data members in StatisticsData. 39396 * Shared/StatisticsData.cpp: 39397 (WebKit::StatisticsData::encode): 39398 (WebKit::StatisticsData::decode): 39399 (WebKit::StatisticsData::StatisticsData): 39400 39401 Add three data members to StatisticsData: 39402 - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 39403 JavaScriptObjectsCount, CachedFontDataCount, etc. 39404 - javaScriptProtectedObjectTypeCounts 39405 - javaScriptObjectTypeCounts 39406 * Shared/StatisticsData.h: 39407 39408 Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary 39409 in WebContext::didGetWebCoreStatistics(). 39410 * UIProcess/WebContext.cpp: 39411 (WebKit::createDictionaryFromHashMap): 39412 (WebKit::WebContext::didGetWebCoreStatistics): 39413 39414 Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object 39415 and send it to the UIProcess. 39416 * WebProcess/WebProcess.cpp: 39417 (WebKit::fromCountedSetToHashMap): 39418 (WebKit::WebProcess::getWebCoreStatistics): 39419 394202011-09-01 Xan Lopez <xlopez@igalia.com> 39421 39422 [GTK] Add XRender lib dependencies explicitly 39423 39424 Reviewed by Philippe Normand. 39425 39426 This is needed when using the GNU/Gold linker, since we use 39427 XRender directly. 39428 39429 * GNUmakefile.am: 39430 394312011-08-31 Anders Carlsson <andersca@apple.com> 39432 39433 Jagged text shown in find-in-page highlight 39434 https://bugs.webkit.org/show_bug.cgi?id=67347 39435 <rdar://problem/9870444> 39436 39437 Reviewed by Dan Bernstein. 39438 39439 When painting each text line in the find indicator, make sure to clip it against 39440 the text rect and not paint the entire rect over and over. 39441 39442 * UIProcess/FindIndicator.cpp: 39443 (WebKit::FindIndicator::draw): 39444 394452011-08-31 Beth Dakin <bdakin@apple.com> 39446 39447 https://bugs.webkit.org/show_bug.cgi?id=67322 39448 Re-name overrideBackingScaleFactor 39449 39450 Reviewed by John Sullivan. 39451 39452 API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 39453 which returns the custom scale factor if one was set, and the intrinsic scale 39454 factor otherwise. 39455 * UIProcess/API/C/WKPage.cpp: 39456 (WKPageGetBackingScaleFactor): 39457 (WKPageSetCustomBackingScaleFactor): 39458 * UIProcess/API/C/WKPage.h: 39459 39460 Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 39461 refers to the intrinsic value. 39462 * UIProcess/API/mac/WKView.mm: 39463 (-[WKView viewDidMoveToWindow]): 39464 (-[WKView _windowDidChangeResolution:]): 39465 (-[WKView _intrinsicDeviceScaleFactor]): 39466 39467 WebPageProxy stores both the customDeviceScaleFactor and the 39468 intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 39469 should be the one used. 39470 * UIProcess/WebPageProxy.cpp: 39471 (WebKit::WebPageProxy::WebPageProxy): 39472 (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor): 39473 (WebKit::WebPageProxy::deviceScaleFactor): 39474 (WebKit::WebPageProxy::setCustomDeviceScaleFactor): 39475 (WebKit::WebPageProxy::creationParameters): 39476 * UIProcess/WebPageProxy.h: 39477 394782011-08-31 Anders Carlsson <andersca@apple.com> 39479 39480 REGRESSION(r93902): Can't open external links on gmail 39481 https://bugs.webkit.org/show_bug.cgi?id=67234 39482 <rdar://problem/10053636> 39483 39484 Reviewed by Alexey Proskuryakov. 39485 39486 * Shared/cf/ArgumentCodersCF.cpp: 39487 (CoreIPC::decode): 39488 If we encounter an empty URL string, create an empty url by using NSURL, just 39489 like we do in WebCore when converting an empty KURL to an NSURL. 39490 39491 * WebKit2.xcodeproj/project.pbxproj: 39492 Compile ArgumentCodersCF.cpp as Objective-C++ for now. 39493 394942011-08-30 Beth Dakin <bdakin@apple.com> 39495 39496 https://bugs.webkit.org/show_bug.cgi?id=67150 39497 Would like API to use a custom device scale factor for a particular WebView/WKView 39498 -and corresponding- 39499 <rdar://problem/10041016> 39500 39501 Reviewed by Darin Adler. 39502 39503 New API is setOverrideBackingScaleFactor() on WKPage 39504 * UIProcess/API/C/WKPage.cpp: 39505 (WKPageGetOverrideBackingScaleFactor): 39506 (WKPageSetOverrideBackingScaleFactor): 39507 * UIProcess/API/C/WKPage.h: 39508 * UIProcess/WebPageProxy.cpp: 39509 (WebKit::WebPageProxy::WebPageProxy): 39510 (WebKit::WebPageProxy::deviceScaleFactor): 39511 (WebKit::WebPageProxy::setOverrideBackingScaleFactor): 39512 * UIProcess/WebPageProxy.h: 39513 (WebKit::WebPageProxy::overrideBackingScaleFactor): 39514 395152011-08-30 Aaron Colwell <acolwell@chromium.org> 39516 39517 Add MediaSource API to HTMLMediaElement 39518 https://bugs.webkit.org/show_bug.cgi?id=64731 39519 39520 Reviewed by Eric Carlson. 39521 39522 * Configurations/FeatureDefines.xcconfig: 39523 395242011-08-30 Ada Chan <adachan@apple.com> 39525 39526 Laying some groundwork to fetch performance statistics from WebProcess. 39527 https://bugs.webkit.org/show_bug.cgi?id=67160 39528 39529 Reviewed by Darin Adler. 39530 39531 Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics. 39532 * UIProcess/API/C/WKContext.cpp: 39533 (WKContextGetStatistics): 39534 * UIProcess/API/C/WKContext.h: 39535 * UIProcess/WebContext.cpp: 39536 (WebKit::WebContext::~WebContext): 39537 (WebKit::WebContext::getWebCoreStatistics): 39538 (WebKit::WebContext::didGetWebCoreStatistics): 39539 * UIProcess/WebContext.h: 39540 * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has 39541 the performance statistics ready. 39542 39543 Add WebProcess::getWebCoreStatistics(). Currently it just sends back an empty StatisticsData object. 39544 It will gather the performance statistics to store in the StatisticsData object in a future patch. 39545 * WebProcess/WebProcess.cpp: 39546 (WebKit::WebProcess::getWebCoreStatistics): 39547 * WebProcess/WebProcess.h: 39548 * WebProcess/WebProcess.messages.in: 39549 39550 Add the skeleton for StatisticsData. 39551 * Scripts/webkit2/messages.py: 39552 * Shared/StatisticsData.cpp: Added. 39553 (WebKit::StatisticsData::encode): 39554 (WebKit::StatisticsData::decode): 39555 (WebKit::StatisticsData::StatisticsData): 39556 * Shared/StatisticsData.h: Added. 39557 39558 Add StatisticsData.h/cpp to project. 39559 * CMakeLists.txt: 39560 * GNUmakefile.am: 39561 * WebKit2.pro: 39562 * WebKit2.xcodeproj/project.pbxproj: 39563 * win/WebKit2.vcproj: 39564 395652011-08-29 Alexey Proskuryakov <ap@apple.com> 39566 39567 DumpRenderTree should begin each test with an empty cookie store 39568 https://bugs.webkit.org/show_bug.cgi?id=63545 39569 <rdar://problem/5666907> 39570 39571 Reviewed by Darin Adler. 39572 39573 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: 39574 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 39575 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 39576 Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage(). 39577 39578 * WebProcess/Cookies/mac/WebCookieManagerMac.mm: 39579 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 39580 There is no no need to access cookie storage through session manually - we already have code 39581 for that in WebCore. 39582 39583 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 39584 (WKBundleSwitchNetworkLoaderToNewTestingSession): 39585 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 39586 * WebProcess/InjectedBundle/InjectedBundle.cpp: 39587 (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): 39588 * WebProcess/InjectedBundle/InjectedBundle.h: 39589 Exposed bundle SPI to use a private default session. It's separate from private browsing, 39590 because some tests enable the latter, and we don't want to mix them up. 39591 39592 * WebProcess/WebPage/mac/WebPageMac.mm: 39593 (WebKit::WebPage::platformHasLocalDataForURL): 39594 (WebKit::cachedResponseForURL): 39595 Updated to use currentStorageSession() instead of privateBrowsingStorageSession(). 39596 39597 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess): 39598 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly. 39599 396002011-08-30 Alexis Menard <alexis.menard@openbossa.org> 39601 39602 [Qt][WK2] Make mouse over work again for QDesktopWebView. 39603 https://bugs.webkit.org/show_bug.cgi?id=67200 39604 39605 Reviewed by Noam Rosenthal. 39606 39607 The API has changed after QGraphicsView, SceneGraph sends 39608 QHoverEvents now. 39609 39610 * UIProcess/qt/qdesktopwebpageproxy.cpp: 39611 (QDesktopWebPageProxy::handleEvent): 39612 (QDesktopWebPageProxy::handleHoverMoveEvent): 39613 * UIProcess/qt/qdesktopwebpageproxy.h: 39614 396152011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com> 39616 39617 The unused ScrollView* argument can and should be removed from 39618 scrollRectIntoView. 39619 https://bugs.webkit.org/show_bug.cgi?id=67117 39620 39621 Reviewed by Darin Adler. 39622 39623 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39624 (WebKit::WebChromeClient::scrollRectIntoView): 39625 * WebProcess/WebCoreSupport/WebChromeClient.h: 39626 396272011-08-29 Ryosuke Niwa <rniwa@webkit.org> 39628 39629 Another Windows build fix after r94047. 39630 39631 * win/WebKit2.def: 39632 * win/WebKit2CFLite.def: 39633 396342011-08-29 Ryosuke Niwa <rniwa@webkit.org> 39635 39636 Export more symbols for r94038. 39637 39638 * win/WebKit2.def: 39639 * win/WebKit2CFLite.def: 39640 396412011-08-29 Ryosuke Niwa <rniwa@webkit.org> 39642 39643 Windows build fix for r94038. 39644 39645 * win/WebKit2.def: 39646 * win/WebKit2CFLite.def: 39647 396482011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com> 39649 39650 39651 [Qt] QTouchWebView url property test missing 39652 https://bugs.webkit.org/show_bug.cgi?id=67159 39653 39654 Reviewed by Noam Rosenthal. 39655 39656 Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called. 39657 39658 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: 39659 396602011-08-29 Gopal Raghavan <gopal.1.raghavan@nokia.com> 39661 39662 [Qt] QDesktopWebView url property test missing 39663 https://bugs.webkit.org/show_bug.cgi?id=67155 39664 39665 Reviewed by Noam Rosenthal. 39666 39667 Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called. 39668 39669 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: 39670 396712011-08-29 Sheriff Bot <webkit.review.bot@gmail.com> 39672 39673 Unreviewed, rolling out r93987, r93992, r93995, r93998, and 39674 r93999. 39675 http://trac.webkit.org/changeset/93987 39676 http://trac.webkit.org/changeset/93992 39677 http://trac.webkit.org/changeset/93995 39678 http://trac.webkit.org/changeset/93998 39679 http://trac.webkit.org/changeset/93999 39680 https://bugs.webkit.org/show_bug.cgi?id=67147 39681 39682 Many failing tests (Requested by ap on #webkit). 39683 39684 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: 39685 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 39686 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 39687 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 39688 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 39689 * WebProcess/InjectedBundle/InjectedBundle.cpp: 39690 * WebProcess/InjectedBundle/InjectedBundle.h: 39691 * WebProcess/win/WebProcessWin.cpp: 39692 (WebKit::WebProcess::platformInitializeWebProcess): 39693 396942011-08-26 Martin Robinson <mrobinson@igalia.com> 39695 39696 Reviewed by Xan Lopez. 39697 39698 [GTK] Build WebKit2 unconditionally 39699 https://bugs.webkit.org/show_bug.cgi?id=62749 39700 39701 Build WebKit2 by default. This will make the bots build it and catch 39702 build errors when they occur. 39703 39704 * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2 39705 PC file, which should not be shipped until WebKit2 is actually shipped officially. 39706 397072011-08-29 Alexey Proskuryakov <ap@apple.com> 39708 39709 Windows build fix. 39710 39711 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: 39712 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 39713 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 39714 Updated for new function name and signature: currentCFHTTPCookieStorage(). 39715 397162011-08-26 Alexey Proskuryakov <ap@apple.com> 39717 39718 DumpRenderTree should begin each test with an empty cookie store 39719 https://bugs.webkit.org/show_bug.cgi?id=63545 39720 <rdar://problem/5666907> 39721 39722 Reviewed by Darin Adler. 39723 39724 * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess): 39725 ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly. 39726 39727 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 39728 (WKBundleUsePrivateSessionForNetworkLoading): 39729 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 39730 * WebProcess/InjectedBundle/InjectedBundle.cpp: 39731 (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading): 39732 * WebProcess/InjectedBundle/InjectedBundle.h: 39733 Exposed bundle SPI to use a private default session. It's separate from private browsing, 39734 because some tests enable the latter, and we don't want to mix them up. 39735 397362011-08-29 Chris Marrin <cmarrin@apple.com> 39737 39738 Fixed a build problem caused by http://trac.webkit.org/changeset/93980 39739 39740 Unreviewed. 39741 39742 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39743 397442011-08-23 Chris Marrin <cmarrin@apple.com> 39745 39746 [mac] requestAnimationFrame support for mac port 39747 https://bugs.webkit.org/show_bug.cgi?id=59146 39748 39749 Reviewed by Simon Fraser. 39750 39751 Implement requestAnimationFrame for WebKit2. Add a 39752 CFRunLoopObserver to WebPage, which runs just before 39753 the syncCompositingState RLO and calls into the 39754 ScriptedAnimationController if scheduleAnimation() has 39755 been called. 39756 39757 * Configurations/FeatureDefines.xcconfig: 39758 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39759 (WebKit::WebChromeClient::scheduleAnimation): 39760 * WebProcess/WebCoreSupport/WebChromeClient.h: 39761 * WebProcess/WebPage/WebPage.cpp: 39762 (WebKit::WebPage::WebPage): 39763 (WebKit::WebPage::~WebPage): 39764 * WebProcess/WebPage/WebPage.h: 39765 * WebProcess/WebPage/mac/WebPageMac.mm: 39766 (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback): 39767 (WebKit::WebPage::scheduleAnimation): 39768 (WebKit::WebPage::unscheduleAnimation): 39769 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp: 39770 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 39771 397722011-08-29 Pierre Rossi <pierre.rossi@gmail.com> 39773 39774 [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2 39775 https://bugs.webkit.org/show_bug.cgi?id=67123 39776 39777 We could simply use the defines already in place for this. 39778 39779 Reviewed by Andreas Kling. 39780 39781 * WebKit2.pro: 39782 397832011-08-29 Vamshikrishna Yellenki <vamshi@motorola.com> 39784 39785 [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953 39786 https://bugs.webkit.org/show_bug.cgi?id=67111 39787 39788 Reviewed by Martin Robinson. 39789 39790 WebKit2 GTK build error. 39791 39792 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: 39793 Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError 39794 inclusion error. 39795 397962011-08-28 Balazs Kelemen <kbalazs@webkit.org> 39797 39798 [Qt][WK2] Unreviewed build fix. 39799 39800 * UIProcess/qt/QtWebPageProxy.cpp: 39801 (QtWebPageProxy::init): Initialize the WKPageUIClient with memset 39802 to avoid missing initializer warning. The missing initializer is the 39803 result of using a version 0 WKPageUIClient while it has newer version (1). 39804 We have nothing to do with the callbacks in the new version so I voted 39805 for memset. 39806 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h. 39807 398082011-08-26 Sam Weinig <sam@webkit.org> 39809 39810 Stop using custom NSErrors for WebKit2 WebErrors 39811 https://bugs.webkit.org/show_bug.cgi?id=67075 39812 39813 Reviewed by Anders Carlsson. 39814 39815 * WebProcess/WebCoreSupport/WebErrors.h: 39816 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 39817 (WebKit::createNSError): 39818 (WebKit::cancelledError): 39819 (WebKit::fileDoesNotExistError): 39820 (WebKit::blockedError): 39821 (WebKit::cannotShowURLError): 39822 (WebKit::interruptedForPolicyChangeError): 39823 (WebKit::cannotShowMIMETypeError): 39824 (WebKit::pluginWillHandleLoadError): 39825 There is no reason to use custom registered NSErrors anymore, so don't. 39826 398272011-08-26 Anders Carlsson <andersca@apple.com> 39828 39829 Fix build. 39830 39831 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39832 398332011-08-26 Sam Weinig <sam@webkit.org> 39834 39835 Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2 39836 https://bugs.webkit.org/show_bug.cgi?id=67063 39837 39838 Reviewed by Anders Carlsson. 39839 39840 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 39841 (+[NSError _webkit_errorWithDomain:code:URL:]): 39842 398432011-08-26 Anders Carlsson <andersca@apple.com> 39844 39845 Implement NPN_ScheduleTimer/NPN_UnscheduleTimer 39846 https://bugs.webkit.org/show_bug.cgi?id=67062 39847 39848 Reviewed by Sam Weinig. 39849 39850 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39851 (WebKit::NPN_ScheduleTimer): 39852 Call NetscapePlugin::scheduleTimer. 39853 39854 (WebKit::NPN_UnscheduleTimer): 39855 Call NetscapePlugin::unscheduleTimer. 39856 39857 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39858 (WebKit::NetscapePlugin::NetscapePlugin): 39859 Initialize m_nextTimerID. 39860 39861 (WebKit::NetscapePlugin::Timer::start): 39862 Start the timer. 39863 39864 (WebKit::NetscapePlugin::Timer::stop): 39865 Stop the timer. 39866 39867 (WebKit::NetscapePlugin::Timer::timerFired): 39868 Call the right callback and unschedule the timer object if it's not a repeating timer. 39869 39870 (WebKit::NetscapePlugin::scheduleTimer): 39871 Create a new timer and start it. 39872 39873 (WebKit::NetscapePlugin::unscheduleTimer): 39874 Get the timer from the map and destroy it. 39875 39876 (WebKit::NetscapePlugin::destroy): 39877 Destroy all timers. 39878 39879 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39880 Add Timer class. 39881 398822011-08-26 Sam Weinig <sam@webkit.org> 39883 39884 Fix typo in Connection.cpp 39885 https://bugs.webkit.org/show_bug.cgi?id=67060 39886 39887 Reviewed by Anders Carlsson. 39888 39889 * Platform/CoreIPC/Connection.cpp: 39890 (CoreIPC::Connection::waitForSyncReply): 39891 We want timedOut, not timeout. There is not a current way to cause this 39892 to be an issue. This issue was caught by the Clang Static Analyzer. 39893 398942011-08-26 Alice Liu <alice.liu@apple.com> 39895 39896 https://bugs.webkit.org/show_bug.cgi?id=66823 39897 Add the request info to the WebPageProxy::CreateNewPage message 39898 39899 Reviewed by Anders Carlsson. 39900 39901 Update function declarations with additional ResourceRequest parameter: 39902 * UIProcess/API/C/WKPage.h: 39903 * UIProcess/WebPageProxy.cpp: 39904 (WebKit::WebPageProxy::createNewPage): 39905 * UIProcess/WebPageProxy.h: 39906 * UIProcess/WebPageProxy.messages.in: 39907 * UIProcess/WebUIClient.cpp: 39908 (WebKit::WebUIClient::createNewPage): 39909 * UIProcess/WebUIClient.h: 39910 39911 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39912 (WebKit::WebChromeClient::createWindow): 39913 Pass the ResourceRequest within the FrameLoadRequest. 39914 399152011-08-26 Alexis Menard <alexis.menard@openbossa.org> 39916 39917 [Qt][WK2]REGRESSION(r93784): It made many tests crash 39918 https://bugs.webkit.org/show_bug.cgi?id=66958 39919 39920 Reviewed by Anders Carlsson. 39921 39922 Don't try to make sure the WebContext is deleted, for now the leak 39923 is intended and when multiple processes per context will be supported 39924 this leak should be fixed. This was the cause of DRT crashing on the bot, 39925 the context was deleted after the first test, letting other tests with nothing 39926 but a bad context. 39927 39928 * UIProcess/qt/QtWebPageProxy.cpp: 39929 (QtWebPageProxy::~QtWebPageProxy): 39930 399312011-08-26 Anders Carlsson <andersca@apple.com> 39932 39933 Fix handling of keyup events in the new Cocoa text input model 39934 https://bugs.webkit.org/show_bug.cgi?id=67045 39935 39936 Reviewed by Sam Weinig. 39937 39938 Use a counter instead of a boolean for deciding when to ignore keyup events, because 39939 if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row. 39940 39941 Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter 39942 in that case. 39943 39944 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39945 (WebKit::NetscapePlugin::NetscapePlugin): 39946 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39947 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 39948 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 39949 399502011-08-26 Jessie Berlin <jberlin@apple.com> 39951 39952 Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later. 39953 https://bugs.webkit.org/show_bug.cgi?id=66979. 39954 39955 Removing the function altogether would break the nightlies. 39956 This patch removes the code behind it so that it is clear that 39957 WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just 39958 left rotting in the tree. 39959 39960 Reviewed by Brian Weinstein. 39961 39962 * UIProcess/API/C/WKPage.cpp: 39963 (WKPageCreateSnapshotOfVisibleContent): 39964 Return 0. 39965 * UIProcess/API/C/WKPagePrivate.h: 39966 Update the comment and add a link to the bug. 39967 39968 * UIProcess/WebPageProxy.cpp: 39969 * UIProcess/WebPageProxy.h: 39970 39971 * WebProcess/WebPage/WebPage.cpp: 39972 * WebProcess/WebPage/WebPage.h: 39973 * WebProcess/WebPage/WebPage.messages.in: 39974 399752011-08-25 Anders Carlsson <andersca@apple.com> 39976 39977 kNPEventStartIME doesn't work correctly for NPAPI 39978 https://bugs.webkit.org/show_bug.cgi?id=65264 39979 <rdar://problem/9996476> 39980 39981 Reviewed by Sam Weinig. 39982 39983 In order to remain compatible with older plug-ins, the updated input model won't 39984 be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do 39985 this before any keyboard events have been processed. 39986 39987 * PluginProcess/mac/PluginControllerProxyMac.mm: 39988 (WebKit::PluginControllerProxy::setComplexTextInputState): 39989 Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want 39990 the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent 39991 synchronous message. 39992 39993 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39994 (WebKit::NPN_GetValue): 39995 Implement the logic for when to turn off the legacy Cocoa text input model support. 39996 39997 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39998 (WebKit::NetscapePlugin::NetscapePlugin): 39999 Initialize m_ignoreNextKeyUpEvent to false. 40000 40001 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40002 Add m_ignoreNextKeyUpEvent member variable. 40003 40004 (WebKit::NetscapePlugin::hasHandledAKeyDownEvent): 40005 Add a getter. 40006 40007 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 40008 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 40009 Don't send keydown and keyup events when complex text input is enabled in the updated model. 40010 400112011-08-25 Anders Carlsson <andersca@apple.com> 40012 40013 Correctly handle events in the updated Cocoa text input model 40014 https://bugs.webkit.org/show_bug.cgi?id=67005 40015 40016 Reviewed by Sam Weinig. 40017 40018 * UIProcess/API/mac/WKTextInputWindowController.mm: 40019 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): 40020 When using the updated model, always return a string even for 'simple' characters. 40021 40022 * UIProcess/API/mac/WKView.mm: 40023 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): 40024 Only let the input method have a crack at the event in the legacy model. 40025 400262011-08-25 Jeff Miller <jeffm@apple.com> 40027 40028 Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp 40029 https://bugs.webkit.org/show_bug.cgi?id=67002 40030 40031 Reviewed by Brian Weinstein. 40032 40033 * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp. 40034 40035 * UIProcess/win/WebPageProxyWin.cpp: 40036 (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp. 40037 (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp. 40038 (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp. 40039 (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp. 40040 (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp. 40041 (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp. 40042 (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp. 40043 (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp. 40044 (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp. 40045 (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp. 40046 400472011-08-25 Anders Carlsson <andersca@apple.com> 40048 40049 Handle key-down events in the updated Cocoa text input model 40050 https://bugs.webkit.org/show_bug.cgi?id=67001 40051 40052 Reviewed by Sam Weinig. 40053 40054 * UIProcess/API/mac/WKView.mm: 40055 (-[WKView performKeyEquivalent:]): 40056 Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text 40057 input has been disabled. 40058 40059 (-[WKView _disableComplexTextInputIfNecessary]): 40060 If the plug-in is using the updated Cocoa text input model specification, disable text input 40061 if the text input window has been dismissed for whatever reason. 40062 40063 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): 40064 Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text 40065 input has been disabled. 40066 40067 (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): 40068 If the plug-in is using the updated Cocoa text input model specification, let the input methods 40069 have a go at the keyboard event. 40070 40071 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 40072 (WebKit::NetscapePlugin::setComplexTextInputEnabled): 40073 Actually set m_isComplexTextInputEnabled to the right value. 40074 400752011-08-25 Anders Carlsson <andersca@apple.com> 40076 40077 Factor code to send a key-down event to the plug-in out into a new function 40078 https://bugs.webkit.org/show_bug.cgi?id=66999 40079 40080 Reviewed by Darin Adler. 40081 40082 * UIProcess/API/mac/WKView.mm: 40083 (-[WKView _handlePluginComplexTextInputKeyDown:]): 40084 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): 40085 400862011-08-25 Anders Carlsson <andersca@apple.com> 40087 40088 WKView should keep track of the plug-in complex text input state 40089 https://bugs.webkit.org/show_bug.cgi?id=66990 40090 40091 Reviewed by Sam Weinig. 40092 40093 * UIProcess/API/mac/WKView.mm: 40094 Add a _pluginComplexTextInputState ivar to WKViewData. 40095 40096 (-[WKView _setPluginComplexTextInputState:]): 40097 Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in. 40098 40099 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]): 40100 Call -[WKView _setPluginComplexTextInputState:]. 40101 401022011-08-25 Anders Carlsson <andersca@apple.com> 40103 40104 Move file internal methods to a class continuation in WKView 40105 https://bugs.webkit.org/show_bug.cgi?id=66983 40106 40107 Reviewed by Dan Bernstein. 40108 40109 * UIProcess/API/mac/WKView.mm: 40110 (-[WKView _deviceScaleFactor]): 40111 (-[WKView _setDrawingAreaSize:]): 40112 401132011-08-25 Anders Carlsson <andersca@apple.com> 40114 40115 More work on the updated Cocoa text input specification 40116 https://bugs.webkit.org/show_bug.cgi?id=66977 40117 40118 Reviewed by Sam Weinig. 40119 40120 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40121 (WebKit::NetscapePlugin::NetscapePlugin): 40122 Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent. 40123 40124 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40125 Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent. 40126 40127 (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput): 40128 Add setter. Not called yet. 40129 40130 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 40131 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 40132 Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event. 40133 40134 (WebKit::NetscapePlugin::sendComplexTextInput): 40135 If the plug-in is using the updated Cocoa text input spec, we can disable text input here. 40136 40137 (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged): 40138 If the plug-in is using the updated Cocoa text input spec, text input is not enabled when 40139 the plug-in is focused. 40140 40141 (WebKit::NetscapePlugin::setComplexTextInputEnabled): 40142 Set the right text input state based on whether the plug-in is using the updated spec or not. 40143 401442011-08-25 Anders Carlsson <andersca@apple.com> 40145 40146 Return the correct value for NPNVsupportsCarbonBool 40147 https://bugs.webkit.org/show_bug.cgi?id=66964 40148 40149 Reviewed by Adam Roben. 40150 40151 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 40152 (WebKit::NPN_GetValue): 40153 Remove a FIXME and set the value to true. 40154 401552011-08-25 Alexis Menard <alexis.menard@openbossa.org> 40156 40157 [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed. 40158 https://bugs.webkit.org/show_bug.cgi?id=66886 40159 40160 Reviewed by Benjamin Poulain. 40161 40162 Remove QWKContext class from Qt APIs as it is too low level for the vision 40163 of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one 40164 or default created one. This patch also ensure that the WebProcessProxy is correctly 40165 destroyed at application exit by removing the circular references between the WebContext, 40166 WebProcessProxy, and WebPageProxy. 40167 40168 * UIProcess/API/qt/qdesktopwebview.cpp: 40169 (QDesktopWebViewPrivate::QDesktopWebViewPrivate): 40170 * UIProcess/API/qt/qtouchwebview.cpp: 40171 (QTouchWebViewPrivate::QTouchWebViewPrivate): 40172 * UIProcess/qt/ClientImpl.cpp: 40173 (qt_wk_setStatusText): 40174 * UIProcess/qt/ClientImpl.h: 40175 * UIProcess/qt/QtWebPageProxy.cpp: 40176 (QtWebPageProxy::defaultWKContext): 40177 (QtWebPageProxy::QtWebPageProxy): 40178 (QtWebPageProxy::~QtWebPageProxy): 40179 * UIProcess/qt/QtWebPageProxy.h: 40180 * UIProcess/qt/qdesktopwebpageproxy.cpp: 40181 (QDesktopWebPageProxy::QDesktopWebPageProxy): 40182 * UIProcess/qt/qdesktopwebpageproxy.h: 40183 * UIProcess/qt/qtouchwebpageproxy.cpp: 40184 (QTouchWebPageProxy::QTouchWebPageProxy): 40185 * UIProcess/qt/qtouchwebpageproxy.h: 40186 * UIProcess/qt/qwkcontext.cpp: Removed. 40187 * UIProcess/qt/qwkcontext.h: Removed. 40188 * UIProcess/qt/qwkcontext_p.h: Removed. 40189 * WebKit2.pro: 40190 401912011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 40192 40193 [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore. 40194 https://bugs.webkit.org/show_bug.cgi?id=66771 40195 40196 Reviewed by Tor Arne Vestbø. 40197 40198 We need the tiling logic to be moved to the web process to allow invalidated tile rects to be 40199 rendered with the same layout. This also allows the web process to render tiles into 40200 buffers readable directly by the GPU (on supported platforms). We also take the opportunity 40201 to use the TiledBackingStore in WebCore to have only one tiling implementation. 40202 40203 Before this patch: 40204 - TiledDrawingAreaProxy manages tiles from the UI process. 40205 - TiledDrawingArea received rendering requests for a rect and returns the result 40206 to the proxy through shared memory. 40207 40208 After this patch: 40209 - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process. 40210 - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy. 40211 - TiledDrawingAreaProxy updates the scene graph directly from requests. 40212 40213 It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message. 40214 Render throttling is implemented by waiting in TiledDrawingArea for the UI process to 40215 notify us when the last rendered frame is ready to make it to the screen. 40216 TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead. 40217 40218 * UIProcess/API/qt/qtouchwebpage.cpp: 40219 (QTouchWebPage::updatePaintNode): 40220 * UIProcess/API/qt/qtouchwebview.cpp: 40221 (QTouchWebViewPrivate::updateViewportState): 40222 * UIProcess/DrawingAreaProxy.h: 40223 (WebKit::DrawingAreaProxy::createTile): 40224 (WebKit::DrawingAreaProxy::updateTile): 40225 (WebKit::DrawingAreaProxy::didRenderFrame): 40226 (WebKit::DrawingAreaProxy::removeTile): 40227 * UIProcess/DrawingAreaProxy.messages.in: 40228 * UIProcess/TiledDrawingAreaProxy.cpp: 40229 (WebKit::TiledDrawingAreaProxy::create): 40230 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 40231 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy): 40232 (WebKit::TiledDrawingAreaProxy::setVisibleContentRect): 40233 (WebKit::TiledDrawingAreaProxy::setContentsScale): 40234 (WebKit::TiledDrawingAreaProxy::renderNextFrame): 40235 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 40236 (WebKit::TiledDrawingAreaProxy::paint): 40237 * UIProcess/TiledDrawingAreaProxy.h: 40238 * UIProcess/TiledDrawingAreaTile.h: Removed. 40239 * UIProcess/qt/SGAgent.cpp: 40240 (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile): 40241 (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile): 40242 (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer): 40243 (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers): 40244 (WebKit::SGAgent::SGAgent): 40245 (WebKit::SGAgent::createTileNode): 40246 (WebKit::SGAgent::removeTileNode): 40247 (WebKit::SGAgent::setNodeBackBuffer): 40248 (WebKit::SGAgent::swapTileBuffers): 40249 (WebKit::SGAgent::updatePaintNode): 40250 (WebKit::SGAgent::getScaleNode): 40251 Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile). 40252 Delete the scale node when the last of its child tiles has been removed. 40253 40254 * UIProcess/qt/SGAgent.h: 40255 (WebKit::SGAgent::isSwapPending): 40256 40257 * UIProcess/qt/SGTileNode.cpp: 40258 (WebKit::SGTileNode::SGTileNode): 40259 (WebKit::SGTileNode::setBackBuffer): 40260 (WebKit::SGTileNode::swapIfNeeded): 40261 Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method. 40262 This allows all those values to be used only when swapIfNeeded is called later. 40263 40264 * UIProcess/qt/SGTileNode.h: 40265 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 40266 (WebKit::TiledDrawingAreaProxy::createTile): 40267 (WebKit::TiledDrawingAreaProxy::updateTile): 40268 (WebKit::TiledDrawingAreaProxy::didRenderFrame): 40269 (WebKit::TiledDrawingAreaProxy::removeTile): 40270 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed. 40271 * UIProcess/qt/qtouchwebpageproxy.cpp: 40272 (QTouchWebPageProxy::renderNextFrame): 40273 * UIProcess/qt/qtouchwebpageproxy.h: 40274 * WebKit2.pro: 40275 * WebProcess/WebPage/DrawingArea.h: 40276 (WebKit::DrawingArea::setVisibleContentRect): 40277 (WebKit::DrawingArea::setContentsScale): 40278 (WebKit::DrawingArea::renderNextFrame): 40279 * WebProcess/WebPage/DrawingArea.messages.in: 40280 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added. 40281 (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile): 40282 (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile): 40283 (WebKit::TiledBackingStoreRemoteTile::isDirty): 40284 (WebKit::TiledBackingStoreRemoteTile::invalidate): 40285 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer): 40286 (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront): 40287 (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint): 40288 (WebKit::TiledBackingStoreRemoteTile::paint): 40289 (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend): 40290 (WebKit::TiledBackingStoreRemoteTileBackend::createTile): 40291 (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern): 40292 * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added. 40293 (WebKit::TiledBackingStoreRemoteTile::create): 40294 (WebKit::TiledBackingStoreRemoteTile::coordinate): 40295 (WebKit::TiledBackingStoreRemoteTile::rect): 40296 (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient): 40297 (WebKit::TiledBackingStoreRemoteTileBackend::create): 40298 * WebProcess/WebPage/TiledDrawingArea.cpp: 40299 (WebKit::TiledDrawingArea::TiledDrawingArea): 40300 (WebKit::TiledDrawingArea::setNeedsDisplay): 40301 (WebKit::TiledDrawingArea::setSize): 40302 (WebKit::TiledDrawingArea::setVisibleContentRect): 40303 (WebKit::TiledDrawingArea::setContentsScale): 40304 (WebKit::TiledDrawingArea::renderNextFrame): 40305 (WebKit::TiledDrawingArea::suspendPainting): 40306 (WebKit::TiledDrawingArea::resumePainting): 40307 (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin): 40308 (WebKit::TiledDrawingArea::tiledBackingStorePaint): 40309 (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd): 40310 (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed): 40311 (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect): 40312 (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect): 40313 (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor): 40314 (WebKit::TiledDrawingArea::createTile): 40315 (WebKit::TiledDrawingArea::updateTile): 40316 (WebKit::TiledDrawingArea::removeTile): 40317 * WebProcess/WebPage/TiledDrawingArea.h: 40318 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed. 40319 403202011-08-24 Michael Saboff <msaboff@apple.com> 40321 40322 Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464 40323 https://bugs.webkit.org/show_bug.cgi?id=66912 40324 40325 Updated the comment in ArgumentEncoder::grow to reflect that system malloc 40326 currently checks to see if a MADV_FREE_REUSABLE will fail before calling it. 40327 40328 Reviewed by Mark Rowe. 40329 40330 * Platform/CoreIPC/ArgumentEncoder.cpp: 40331 (CoreIPC::ArgumentEncoder::grow): 40332 403332011-08-24 Anders Carlsson <andersca@apple.com> 40334 40335 Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does 40336 https://bugs.webkit.org/show_bug.cgi?id=66883 40337 40338 Reviewed by Beth Dakin. 40339 40340 * UIProcess/API/mac/WKTextInputWindowController.h: 40341 * UIProcess/API/mac/WKTextInputWindowController.mm: 40342 (-[WKTextInputPanel _unmarkText]): 40343 (-[WKTextInputWindowController unmarkText]): 40344 * UIProcess/API/mac/WKView.mm: 40345 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): 40346 403472011-08-24 Oliver Hunt <oliver@apple.com> 40348 40349 JSNPObject and JSNPMethod create their structure in their constructors 40350 https://bugs.webkit.org/show_bug.cgi?id=66879 40351 40352 Reviewed by Anders Carlsson. 40353 40354 It's not safe to create the Structure for an object inside its constructor 40355 so we hoist construction out into their ::create methods and move the methods 40356 into the cpp file. 40357 40358 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 40359 (WebKit::JSNPMethod::JSNPMethod): 40360 (WebKit::JSNPMethod::create): 40361 * WebProcess/Plugins/Netscape/JSNPMethod.h: 40362 (WebKit::JSNPMethod::create): 40363 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 40364 (WebKit::JSNPObject::JSNPObject): 40365 (WebKit::JSNPObject::create): 40366 * WebProcess/Plugins/Netscape/JSNPObject.h: 40367 (WebKit::JSNPObject::create): 40368 403692011-08-24 Anders Carlsson <andersca@apple.com> 40370 40371 More plug-in complex text input scaffolding 40372 https://bugs.webkit.org/show_bug.cgi?id=66865 40373 40374 Reviewed by Sam Weinig. 40375 40376 Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also 40377 add methods for handling plug-in text input key-down events. 40378 40379 * UIProcess/API/mac/PageClientImpl.mm: 40380 (WebKit::PageClientImpl::doneWithKeyEvent): 40381 * UIProcess/API/mac/WKView.mm: 40382 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): 40383 (-[WKView keyDown:]): 40384 (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): 40385 (-[WKView _doneWithKeyEvent:eventWasHandled:]): 40386 * UIProcess/API/mac/WKViewInternal.h: 40387 403882011-08-24 Amruth Raj <amruthraj@motorola.com> 40389 40390 [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl 40391 https://bugs.webkit.org/show_bug.cgi?id=66640 40392 40393 Reviewed by Martin Robinson. 40394 40395 The crash happens when a new timer is created in an existing timer callback. Since 40396 TimerBase has a single GSource* it gets overridden and the old timer can never get 40397 stopped. To handle this, keep a copy of the old timer and use it for destruction. 40398 40399 * Platform/RunLoop.h: 40400 * Platform/gtk/RunLoopGtk.cpp: 40401 (RunLoop::TimerBase::timerFiredCallback): 40402 Store the timerSource so that even if it is modified by the timer callback, 40403 it can be restored for freeing it. 40404 (RunLoop::TimerBase::start): 40405 Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself. 40406 404072011-08-23 Anders Carlsson <andersca@apple.com> 40408 40409 Prepare WKTextInputWindowController for the new text input model 40410 https://bugs.webkit.org/show_bug.cgi?id=66826 40411 40412 Reviewed by Sam Weinig. 40413 40414 Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an 40415 additional usingLegacyCocoaTextInput flag. No functionality change. 40416 40417 * UIProcess/API/mac/WKTextInputWindowController.h: 40418 * UIProcess/API/mac/WKTextInputWindowController.mm: 40419 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): 40420 (-[WKTextInputPanel _hasMarkedText]): 40421 (-[WKTextInputWindowController hasMarkedText]): 40422 (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]): 40423 * UIProcess/API/mac/WKView.mm: 40424 (-[WKView keyDown:]): 40425 404262011-08-23 Gopal Raghavan <gopal.1.raghavan@nokia.com> 40427 40428 [Qt] Unnecessary folders in WebKit2. 40429 https://bugs.webkit.org/show_bug.cgi?id=66583 40430 40431 Reviewed by Benjamin Poulain. 40432 40433 Remove empty autotest folders that were left over from QGraphicsWKView times. 40434 40435 * UIProcess/API/qt/tests/qgraphicswkview: Removed. 40436 * UIProcess/API/qt/tests/qwkhistory: Removed. 40437 * UIProcess/API/qt/tests/qwkpage: Removed. 40438 404392011-08-23 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 40440 40441 [Qt][WK2] Fix an awful memory leak introduced in r92376. 40442 https://bugs.webkit.org/show_bug.cgi?id=65528 40443 40444 Reviewed by Benjamin Poulain. 40445 40446 The non-virtual destructor would create a leak of the tile update buffer because 40447 the NodeUpdateSetTexture's QImage member destructor wouldn't be called. 40448 40449 * UIProcess/qt/SGAgent.h: 40450 (WebKit::NodeUpdate::~NodeUpdate): 40451 404522011-08-23 Steve Block <steveblock@google.com> 40453 40454 Remove all mention of removed Android files from build scripts 40455 https://bugs.webkit.org/show_bug.cgi?id=66755 40456 40457 Reviewed by Tony Gentilcore. 40458 40459 * Scripts/generate-forwarding-headers.pl: 40460 404612011-08-23 Benjamin Poulain <benjamin@webkit.org> 40462 40463 [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually 40464 https://bugs.webkit.org/show_bug.cgi?id=66672 40465 40466 Reviewed by Kenneth Rohde Christiansen. 40467 40468 Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries. 40469 This method is now used as the entry point for animations in order to avoid bugs regarding scale or position. 40470 40471 The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods. 40472 40473 * UIProcess/qt/ViewportInteractionEngine.cpp: 40474 (WebKit::ViewportInteractionEngine::panGestureEnded): 40475 (WebKit::ViewportInteractionEngine::pinchGestureEnded): 40476 (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded): 40477 (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded): 40478 (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded): 40479 * UIProcess/qt/ViewportInteractionEngine.h: 40480 404812011-08-22 Oliver Hunt <oliver@apple.com> 40482 40483 Delay GC triggered NP object destruction to the next runloop cycle 40484 https://bugs.webkit.org/show_bug.cgi?id=66717 40485 40486 Reviewed by Anders Carlsson. 40487 40488 Delay destruction of plugin objects caused by GC until the next 40489 runloop cycle so that they can execute JS in their finalizers. 40490 We do this using a zero delay timer coupled with a queue of 40491 objects to be finalised. 40492 40493 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 40494 (WebKit::JSNPObject::releaseObject): 40495 * WebProcess/Plugins/Netscape/JSNPObject.h: 40496 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 40497 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap): 40498 (WebKit::NPRuntimeObjectMap::invalidate): 40499 (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects): 40500 (WebKit::NPRuntimeObjectMap::addToInvalidationQueue): 40501 (WebKit::NPRuntimeObjectMap::finalize): 40502 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 40503 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 40504 (WebKit::trySafeReleaseNPObject): 40505 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: 40506 405072011-08-22 Anders Carlsson <andersca@apple.com> 40508 40509 Move code from PageClientImpl::doneWithKeyEvent to WKView 40510 https://bugs.webkit.org/show_bug.cgi?id=66722 40511 40512 Reviewed by Darin Adler. 40513 40514 * UIProcess/API/mac/PageClientImpl.mm: 40515 (WebKit::PageClientImpl::doneWithKeyEvent): 40516 * UIProcess/API/mac/WKView.mm: 40517 (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]): 40518 * UIProcess/API/mac/WKViewInternal.h: 40519 405202011-08-22 Anders Carlsson <andersca@apple.com> 40521 40522 Update the text input context when the plug-in focus changes and not when the complex text input state changes 40523 https://bugs.webkit.org/show_bug.cgi?id=66716 40524 40525 Reviewed by Darin Adler. 40526 40527 * UIProcess/API/mac/WKView.mm: 40528 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): 40529 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]): 40530 405312011-08-22 Michael Saboff <msaboff@apple.com> 40532 40533 REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari 40534 https://bugs.webkit.org/show_bug.cgi?id=66464 40535 40536 Changed ArgumentEncoder to use system malloc instead of fastMalloc. 40537 FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with 40538 mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY. 40539 The system malloc has no such limitation. 40540 Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 40541 doesn't have size limitations that MACH_MSG_PHYSICAL_COPY. 40542 40543 Reviewed by Anders Carlsson. 40544 40545 * Platform/CoreIPC/ArgumentEncoder.cpp: 40546 (CoreIPC::ArgumentEncoder::~ArgumentEncoder): 40547 (CoreIPC::ArgumentEncoder::grow): 40548 * Platform/CoreIPC/mac/ConnectionMac.cpp: 40549 (CoreIPC::Connection::sendOutgoingMessage): 40550 405512011-08-22 Anders Carlsson <andersca@apple.com> 40552 40553 Use -[NSApplication updateWindows] to update the current input context 40554 https://bugs.webkit.org/show_bug.cgi?id=66715 40555 40556 Reviewed by Alexey Proskuryakov. 40557 40558 * UIProcess/API/mac/WKView.mm: 40559 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]): 40560 405612011-08-22 Anders Carlsson <andersca@apple.com> 40562 40563 The UI process should keep track of whether a plug-in has focus or not 40564 https://bugs.webkit.org/show_bug.cgi?id=66712 40565 40566 Reviewed by Darin Adler. 40567 40568 This is in preparation for implementing the updated Cocoa text input model. 40569 40570 Pipe through whether a plug-in and its containing window has focus or not, from the 40571 plug-in process and all the way to the UI process. 40572 40573 * PluginProcess/PluginControllerProxy.h: 40574 * PluginProcess/mac/PluginControllerProxyMac.mm: 40575 (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged): 40576 * UIProcess/API/mac/PageClientImpl.h: 40577 * UIProcess/API/mac/PageClientImpl.mm: 40578 (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged): 40579 * UIProcess/API/mac/WKView.mm: 40580 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): 40581 * UIProcess/API/mac/WKViewInternal.h: 40582 * UIProcess/PageClient.h: 40583 * UIProcess/WebPageProxy.h: 40584 * UIProcess/WebPageProxy.messages.in: 40585 * UIProcess/mac/WebPageProxyMac.mm: 40586 (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged): 40587 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40588 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 40589 (WebKit::NetscapePlugin::platformSetFocus): 40590 (WebKit::NetscapePlugin::windowFocusChanged): 40591 (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged): 40592 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 40593 (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged): 40594 * WebProcess/Plugins/PluginController.h: 40595 * WebProcess/Plugins/PluginProxy.h: 40596 * WebProcess/Plugins/PluginProxy.messages.in: 40597 * WebProcess/Plugins/PluginView.cpp: 40598 (WebKit::PluginView::pluginFocusOrWindowFocusChanged): 40599 * WebProcess/Plugins/PluginView.h: 40600 406012011-08-22 Anders Carlsson <andersca@apple.com> 40602 40603 Update the current NSTextInputContext whenever the plug-in complex text input state changes 40604 https://bugs.webkit.org/show_bug.cgi?id=66709 40605 40606 Reviewed by Sam Weinig. 40607 40608 Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input 40609 context. Fixes a rare case when the out-of-line editing window wouldn't appear. 40610 40611 * UIProcess/API/mac/WKView.mm: 40612 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]): 40613 406142011-08-19 Anders Carlsson <andersca@apple.com> 40615 40616 Another attempt at fixing the Windows build. 40617 40618 * UIProcess/PageClient.h: 40619 406202011-08-19 Anders Carlsson <andersca@apple.com> 40621 40622 Fix Windows build. 40623 40624 * WebProcess/Plugins/PluginController.h: 40625 406262011-08-19 Anders Carlsson <andersca@apple.com> 40627 40628 Make the complex text input state a tri-state enum instead of a boolean 40629 https://bugs.webkit.org/show_bug.cgi?id=62245 40630 40631 Reviewed by Sam Weinig. 40632 40633 This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins. 40634 40635 * PluginProcess/PluginControllerProxy.cpp: 40636 * PluginProcess/PluginControllerProxy.h: 40637 * PluginProcess/mac/PluginControllerProxyMac.mm: 40638 (WebKit::PluginControllerProxy::setComplexTextInputState): 40639 (WebKit::PluginControllerProxy::compositingRenderServerPort): 40640 * Shared/Plugins/mac: Added. 40641 * Shared/Plugins/mac/PluginComplexTextInputState.h: Added. 40642 (WebKit::isValidPluginComplexTextInputState): 40643 * UIProcess/API/mac/PageClientImpl.h: 40644 * UIProcess/API/mac/PageClientImpl.mm: 40645 (WebKit::PageClientImpl::setPluginComplexTextInputState): 40646 * UIProcess/API/mac/WKView.mm: 40647 (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]): 40648 * UIProcess/API/mac/WKViewInternal.h: 40649 * UIProcess/PageClient.h: 40650 * UIProcess/WebPageProxy.h: 40651 * UIProcess/WebPageProxy.messages.in: 40652 * UIProcess/mac/WebPageProxyMac.mm: 40653 (WebKit::WebPageProxy::setPluginComplexTextInputState): 40654 * WebKit2.xcodeproj/project.pbxproj: 40655 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40656 (WebKit::NetscapePlugin::NetscapePlugin): 40657 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40658 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 40659 (WebKit::NetscapePlugin::platformSetFocus): 40660 (WebKit::NetscapePlugin::windowFocusChanged): 40661 (WebKit::NetscapePlugin::setComplexTextInputEnabled): 40662 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 40663 (WebKit::PluginProxy::setComplexTextInputState): 40664 * WebProcess/Plugins/PluginController.h: 40665 * WebProcess/Plugins/PluginProxy.cpp: 40666 * WebProcess/Plugins/PluginProxy.h: 40667 * WebProcess/Plugins/PluginProxy.messages.in: 40668 * WebProcess/Plugins/PluginView.cpp: 40669 (WebKit::PluginView::~PluginView): 40670 (WebKit::PluginView::setComplexTextInputState): 40671 (WebKit::PluginView::compositingRenderServerPort): 40672 * WebProcess/Plugins/PluginView.h: 40673 406742011-08-19 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 40675 40676 [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView 40677 https://bugs.webkit.org/show_bug.cgi?id=65920 40678 40679 Reviewed by Benjamin Poulain. 40680 40681 This patch makes QDesktopWebView delegate the decision of whether a navigation 40682 should proceed to a slot in QML. The user of the DesktopWebView must implement a 40683 'navigationPolicyForUrl()' if it wants to use the feature. 40684 40685 Such feature is useful for implementing opening links in "new tab" by using a 40686 specific mouse button or mouse button plus keyboard modifiers. 40687 40688 The patch introduces a internal Qt-level interface called PolicyInterface, that 40689 is used by QtWebPageProxy to delegate policy calls. A concrete implementation is 40690 provided for QDesktopWebView. 40691 40692 * Shared/qt/WebCoreArgumentCodersQt.cpp: 40693 (CoreIPC::::encode): 40694 (CoreIPC::::decode): 40695 Implement the serialization of the Request URL, which is the only data 40696 we exposing from the Request. 40697 40698 * WebKit2.pro: 40699 * UIProcess/qt/PolicyInterface.h: Added. 40700 * UIProcess/qt/QtWebPageProxy.cpp: 40701 (QtWebPageProxy::QtWebPageProxy): 40702 (QtWebPageProxy::init): 40703 * UIProcess/qt/QtWebPageProxy.h: 40704 Register a Policy Client in the WK2 C API only if there's a PolicyInterface available. 40705 40706 * UIProcess/qt/ClientImpl.h: 40707 * UIProcess/qt/ClientImpl.cpp: 40708 (toPolicyInterface): 40709 (toQtMouseButton): 40710 (toQtKeyboardModifiers): 40711 (qt_wk_decidePolicyForNavigationAction): 40712 Implement the callback for the Page Policy Client. It will translate the 40713 arguments to Qt jargon and call PolicyInterface. 40714 40715 * UIProcess/qt/qdesktopwebpageproxy.cpp: 40716 (QDesktopWebPageProxy::QDesktopWebPageProxy): 40717 * UIProcess/API/qt/qdesktopwebview.h: 40718 * UIProcess/API/qt/qdesktopwebview_p.h: 40719 * UIProcess/API/qt/qdesktopwebview.cpp: 40720 (toPolicyAction): 40721 (hasMetaMethod): 40722 (QDesktopWebViewPrivate::navigationPolicyForURL): 40723 The concrete implementation for QDesktopWebView. Its private object implements 40724 the PolicyInterface and try to call a possible function defined in QML (so return 40725 value and arguments all QVariants). If there's no such a function, returns the 40726 default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API. 40727 40728 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added. 40729 * UIProcess/API/qt/tests/qmltests/common/test2.html: Added. 40730 * UIProcess/API/qt/tests/qmltests/qmltests.pro: 40731 Add a test for DesktopWebView QML element making use of a button and a modifier to 40732 ignore a navigation. 40733 40734 * UIProcess/qt/qtouchwebpageproxy.cpp: 40735 (QTouchWebPageProxy::QTouchWebPageProxy): 40736 For now, we don't have a PolicyInterface for QTouchWebView. 40737 407382011-08-18 Anders Carlsson <andersca@apple.com> 40739 40740 WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib 40741 https://bugs.webkit.org/show_bug.cgi?id=66508 40742 <rdar://problem/9828476> 40743 40744 Reviewed by Mark Rowe. 40745 40746 * mac/MainMac.cpp: 40747 (closeUnusedFileDescriptors): 40748 Check if a file descriptor is a kqueue and don't close it if that is the case. While this 40749 isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors) 40750 it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist 40751 file descriptors from the parent process. 40752 407532011-08-19 Benjamin Poulain <benjamin@webkit.org> 40754 40755 [Qt][WK2] Add a basic engine to control the content of the viewport 40756 https://bugs.webkit.org/show_bug.cgi?id=66383 40757 40758 Reviewed by Andreas Kling. 40759 40760 Add ViewportInteractionEngine to handle the content of the viewport. The class make 40761 sure the QTouchWebPage stays in the viewport and in the boundaries. 40762 40763 * UIProcess/API/qt/qdesktopwebview.cpp: 40764 (QDesktopWebViewPrivate::loadDidCommit): 40765 * UIProcess/API/qt/qdesktopwebview_p.h: 40766 * UIProcess/API/qt/qtouchwebpage.cpp: 40767 (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so 40768 we can asume the position 0, 0 is always the top left of the page. 40769 (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot 40770 in order to completely decouple the ViewportInteractionEngine and the WebKit classes. 40771 * UIProcess/API/qt/qtouchwebpage.h: 40772 * UIProcess/API/qt/qtouchwebpage_p.h: 40773 * UIProcess/API/qt/qtouchwebview.cpp: 40774 (QTouchWebViewPrivate::QTouchWebViewPrivate): 40775 (QTouchWebViewPrivate::loadDidCommit): 40776 (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot 40777 for reducing coupling. 40778 (QTouchWebViewPrivate::updateViewportConstraints): 40779 (QTouchWebViewPrivate::setViewportArguments): 40780 (QTouchWebView::geometryChanged): 40781 * UIProcess/API/qt/qtouchwebview.h: 40782 * UIProcess/API/qt/qtouchwebview_p.h: 40783 * UIProcess/qt/ClientImpl.cpp: 40784 (qt_wk_didCommitLoadForFrame): 40785 * UIProcess/qt/QtGestureRecognizer.cpp: 40786 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 40787 * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly 40788 to the ViewportInteractionEngine instead of interacting through TouchViewInterface. 40789 * UIProcess/qt/QtPanGestureRecognizer.cpp: 40790 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 40791 (WebKit::QtPanGestureRecognizer::recognize): 40792 * UIProcess/qt/QtPanGestureRecognizer.h: 40793 * UIProcess/qt/QtPinchGestureRecognizer.cpp: 40794 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer): 40795 (WebKit::QtPinchGestureRecognizer::recognize): 40796 * UIProcess/qt/QtPinchGestureRecognizer.h: 40797 * UIProcess/qt/QtWebPageProxy.cpp: 40798 (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order 40799 to reset the viewport state when the page change. 40800 * UIProcess/qt/QtWebPageProxy.h: 40801 * UIProcess/qt/TouchViewInterface.cpp: 40802 (WebKit::TouchViewInterface::TouchViewInterface): 40803 (WebKit::TouchViewInterface::contentSizeChanged): 40804 (WebKit::TouchViewInterface::loadDidCommit): 40805 * UIProcess/qt/TouchViewInterface.h: 40806 * UIProcess/qt/ViewInterface.h: 40807 * UIProcess/qt/ViewportInteractionEngine.cpp: Added. 40808 (WebKit::visibleRectInContentCoordinate): 40809 (WebKit::contentRectInViewportCoordinate): 40810 (WebKit::ViewportUpdateGuard::ViewportUpdateGuard): 40811 (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard): 40812 (WebKit::ViewportInteractionEngine::ViewportInteractionEngine): 40813 (WebKit::ViewportInteractionEngine::reset): 40814 (WebKit::ViewportInteractionEngine::setConstraints): 40815 (WebKit::ViewportInteractionEngine::panGestureStarted): 40816 (WebKit::ViewportInteractionEngine::panGestureRequestScroll): 40817 (WebKit::ViewportInteractionEngine::panGestureCancelled): 40818 (WebKit::ViewportInteractionEngine::panGestureEnded): 40819 (WebKit::ViewportInteractionEngine::pinchGestureStarted): 40820 (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate): 40821 (WebKit::ViewportInteractionEngine::pinchGestureEnded): 40822 (WebKit::ViewportInteractionEngine::contentGeometryChanged): 40823 (WebKit::ViewportInteractionEngine::contentScaleChanged): 40824 (WebKit::ViewportInteractionEngine::updateContentIfNeeded): 40825 (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded): 40826 (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded): 40827 (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries): 40828 (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries): 40829 (WebKit::ViewportInteractionEngine::scaleContent): 40830 * UIProcess/qt/ViewportInteractionEngine.h: Added. 40831 (WebKit::ViewportInteractionEngine::Constraints::Constraints): 40832 (WebKit::operator==): 40833 * UIProcess/qt/qtouchwebpageproxy.cpp: 40834 (QTouchWebPageProxy::QTouchWebPageProxy): 40835 * UIProcess/qt/qtouchwebpageproxy.h: 40836 * WebKit2.pro: 40837 408382011-08-19 Lars Knudsen <lars.knudsen@nokia.com> 40839 40840 [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref 40841 https://bugs.webkit.org/show_bug.cgi?id=66549 40842 40843 Reviewed by Benjamin Poulain. 40844 40845 * UIProcess/qt/QtWebPageProxy.cpp: 40846 (QtWebPageProxy::paint): 40847 * UIProcess/qt/QtWebPageProxy.h: 40848 408492011-08-19 MORITA Hajime <morrita@google.com> 40850 40851 Spell-checking against execCommand() inserted HTML doesn't care word boundary. 40852 https://bugs.webkit.org/show_bug.cgi?id=65902 40853 40854 Reviewed by Ryosuke Niwa. 40855 40856 Add exports for window.internals object. 40857 40858 * win/WebKit2.def: 40859 * win/WebKit2CFLite.def: 40860 408612011-08-18 Beth Dakin <bdakin@apple.com> 40862 40863 Reviewed by Sam Weinig. 40864 40865 https://bugs.webkit.org/show_bug.cgi?id=66495 40866 Lion-specific scroller SPIs can use forward declaration instead of 40867 WebKitSystemInterface 40868 40869 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 40870 (InitWebCoreSystemInterface): 40871 408722011-08-18 Darin Adler <darin@apple.com> 40873 40874 Made some code even more private to a particular file and class 40875 https://bugs.webkit.org/show_bug.cgi?id=66428 40876 40877 Reviewed by Anders Carlsson. 40878 40879 * UIProcess/API/mac/WKView.mm: 40880 (-[WKView _setDrawingAreaSize:]): Made this file internal. 40881 * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize. 40882 * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private. 40883 408842011-08-18 Amruth Raj <amruthraj@motorola.com> 40885 40886 [GTK] [WK2] Activating sub menus cause the WebProcess to crash 40887 https://bugs.webkit.org/show_bug.cgi?id=66471 40888 40889 Reviewed by Anders Carlsson. 40890 40891 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 40892 (WebKit::WebContextMenuProxyGtk::createGtkMenu): 40893 408942011-08-18 Adam Roben <aroben@apple.com> 40895 40896 Update the device scale factor when the WKView's window changes 40897 40898 Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a 40899 WebView is moved between windows with different backing scale factors 40900 40901 Reviewed by Anders Carlsson. 40902 40903 * UIProcess/API/mac/WKView.mm: 40904 (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no 40905 window at all) might have a different backing scale factor than the previous one. 40906 (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category. 40907 409082011-08-18 Adam Roben <aroben@apple.com> 40909 40910 Make WebPageProxy keep track of the current device scale factor 40911 40912 The device scale factor is no longer considered part of WebPageProxy's "view state". It now 40913 has its own setter/getter. This made the code a little simpler and more similar to the page 40914 scale factor. Each port-specific WebKit2 view is now responsible for calling 40915 WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have 40916 changed. 40917 40918 Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of 40919 the current device scale factor 40920 40921 Reviewed by Anders Carlsson. 40922 40923 * UIProcess/API/efl/PageClientImpl.cpp: 40924 * UIProcess/API/efl/PageClientImpl.h: 40925 * UIProcess/API/gtk/PageClientImpl.h: 40926 * UIProcess/API/mac/PageClientImpl.h: 40927 * UIProcess/API/mac/PageClientImpl.mm: 40928 * UIProcess/PageClient.h: 40929 * UIProcess/qt/QtWebPageProxy.h: 40930 * UIProcess/win/WebView.h: 40931 Removed deviceScaleFactor. 40932 40933 * UIProcess/API/mac/WKView.mm: 40934 (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor. 40935 (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor. 40936 40937 * UIProcess/WebPageProxy.cpp: 40938 (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor. 40939 (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code. 40940 (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and 40941 tells the DrawingAreaProxy about it if it's actually changed. 40942 (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out 40943 to the PageClient. 40944 40945 * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which 40946 replaces the DeviceScaleFactor ViewStateFlag. 40947 (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter. 40948 409492011-08-17 Adam Roben <aroben@apple.com> 40950 40951 Make WebCore keep track of the current device scale factor 40952 40953 Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the 40954 device scale factor 40955 40956 Reviewed by Darin Adler. 40957 40958 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 40959 * WebProcess/WebCoreSupport/WebChromeClient.h: 40960 Removed deviceScaleFactor. 40961 40962 * WebProcess/WebPage/DrawingAreaImpl.cpp: 40963 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): 40964 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 40965 (WebKit::DrawingAreaImpl::display): 40966 * WebProcess/WebPage/FindController.cpp: 40967 (WebKit::FindController::updateFindIndicator): 40968 (WebKit::FindController::hideFindIndicator): 40969 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 40970 (WebKit::LayerTreeHostCA::deviceScaleFactor): 40971 Changed to get the device scale factor from WebCore. 40972 40973 * WebProcess/WebPage/WebPage.cpp: 40974 (WebKit::WebPage::WebPage): 40975 (WebKit::WebPage::setDeviceScaleFactor): 40976 * WebProcess/WebPage/WebPage.h: 40977 Removed m_deviceScaleFactor. We always get the scale factor from WebCore now. 40978 409792011-08-17 Anders Carlsson <andersca@apple.com> 40980 40981 Remove unused Core Animation related classes 40982 https://bugs.webkit.org/show_bug.cgi?id=66393 40983 40984 Reviewed by Darin Adler. 40985 40986 * Shared/mac/CoreAnimationRenderer.h: Removed. 40987 * Shared/mac/CoreAnimationRenderer.mm: Removed. 40988 * Shared/mac/ShareableSurface.cpp: Removed. 40989 * Shared/mac/ShareableSurface.h: Removed. 40990 * WebKit2.xcodeproj/project.pbxproj: 40991 409922011-08-15 Dmitry Titov <dimich@chromium.org> 40993 40994 FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters 40995 https://bugs.webkit.org/show_bug.cgi?id=66165 40996 40997 Reviewed by Darin Fisher. 40998 40999 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41000 (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage): 41001 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 41002 410032011-08-15 Balazs Kelemen <kbalazs@webkit.org> 41004 41005 [Qt][WK2] Unreviewed build fix after r93058. 41006 41007 * UIProcess/TiledDrawingAreaProxy.cpp: 41008 (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange): 41009 * UIProcess/TiledDrawingAreaProxy.h: 41010 410112011-08-15 Adam Roben <aroben@apple.com> 41012 41013 Update pages' style and content scale when the window's backing scale factor changes 41014 41015 Unfortunately, I couldn't think of a way to test this in an automated fashion. 41016 41017 Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device 41018 scale factor changes 41019 41020 Reviewed by Simon Fraser. 41021 41022 * UIProcess/API/mac/WKView.mm: 41023 (-[WKView addWindowObserversForWindow:]): 41024 (-[WKView removeWindowObservers]): 41025 Listen for the notification that tells us the window's backing scale has changed. 41026 41027 (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change. 41028 41029 * UIProcess/DrawingAreaProxy.h: 41030 * UIProcess/DrawingAreaProxyImpl.h: 41031 Added deviceScaleFactorDidChange. 41032 41033 * UIProcess/DrawingAreaProxyImpl.cpp: 41034 (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store 41035 since the current one is using an old device scale factor. 41036 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor 41037 along to the web process so it can render accordingly. This is how we tell the web process 41038 about device scale factor changes. 41039 41040 * UIProcess/WebPageProxy.cpp: 41041 (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale 41042 factor changes. 41043 (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to 41044 the PageClient. DrawingAreaProxy uses this function. 41045 41046 * UIProcess/WebPageProxy.h: Added new members. 41047 41048 * WebProcess/WebPage/DrawingArea.h: 41049 (WebKit::DrawingArea::updateBackingStoreState): 41050 * WebProcess/WebPage/DrawingArea.messages.in: 41051 * WebProcess/WebPage/DrawingAreaImpl.h: 41052 Send the device scale factor in the UpdateBackingStoreState message. 41053 41054 * WebProcess/WebPage/DrawingAreaImpl.cpp: 41055 (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about 41056 the new device scale factor. 41057 41058 * WebProcess/WebPage/LayerTreeHost.h: 41059 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 41060 Added deviceScaleFactorDidChange. 41061 41062 * WebProcess/WebPage/WebPage.cpp: 41063 (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about 41064 it so that, e.g., scale-factor-dependent media queries will be reevaluated. 41065 41066 * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor. 41067 41068 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 41069 (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited 41070 content about the new scale factor. 41071 410722011-08-15 Benjamin Poulain <benjamin@webkit.org> 41073 41074 [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate() 41075 https://bugs.webkit.org/show_bug.cgi?id=66222 41076 41077 Reviewed by Kenneth Rohde Christiansen. 41078 41079 The function QTouchWebPagePrivate::getPageViewPrivate() exposed 41080 the private QTouchWebPage to any object in WebKit. 41081 41082 Instead, use the friend keyword to list which objects can access 41083 the internal of QTouchWebPage. 41084 41085 * UIProcess/API/qt/qtouchwebpage.h: 41086 * UIProcess/API/qt/qtouchwebpage_p.h: 41087 * UIProcess/API/qt/qtouchwebview.cpp: 41088 (QTouchWebViewPrivate::QTouchWebViewPrivate): 41089 (QTouchWebViewPrivate::viewportRectUpdated): 41090 410912011-08-15 Balazs Kelemen <kbalazs@webkit.org> 41092 41093 Unreviewed. 41094 Fix Qt-WK2 build after r93040. 41095 41096 * UIProcess/qt/QtWebPageProxy.h: 41097 (QtWebPageProxy::deviceScaleFactor): 41098 410992011-08-10 Adam Roben <aroben@apple.com> 41100 41101 Clear up scale factor terminology 41102 41103 WebKit by and large deals with two scale factors: one intrinsic to the device on which the 41104 software is running, and one that is per-Page and can be controlled via API calls. This 41105 patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the 41106 code use those names. It should introduce no behavior changes. 41107 41108 Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the 41109 device scale factor 41110 41111 Reviewed by Simon Fraser. 41112 41113 * Shared/UpdateInfo.cpp: 41114 * Shared/UpdateInfo.h: 41115 * Shared/WebPageCreationParameters.cpp: 41116 * Shared/WebPageCreationParameters.h: 41117 * UIProcess/API/C/WKPage.cpp: 41118 * UIProcess/API/efl/PageClientImpl.cpp: 41119 * UIProcess/API/efl/PageClientImpl.h: 41120 * UIProcess/API/gtk/PageClientImpl.h: 41121 * UIProcess/API/mac/PageClientImpl.h: 41122 * UIProcess/API/mac/PageClientImpl.mm: 41123 * UIProcess/BackingStore.cpp: 41124 * UIProcess/BackingStore.h: 41125 * UIProcess/DrawingAreaProxyImpl.cpp: 41126 * UIProcess/PageClient.h: 41127 * UIProcess/WebPageProxy.cpp: 41128 * UIProcess/WebPageProxy.h: 41129 * UIProcess/WebPageProxy.messages.in: 41130 * UIProcess/WebPopupMenuProxy.h: 41131 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 41132 * UIProcess/gtk/WebPopupMenuProxyGtk.h: 41133 * UIProcess/mac/BackingStoreMac.mm: 41134 * UIProcess/mac/WebPageProxyMac.mm: 41135 * UIProcess/mac/WebPopupMenuProxyMac.h: 41136 * UIProcess/mac/WebPopupMenuProxyMac.mm: 41137 * UIProcess/qt/WebPopupMenuProxyQt.h: 41138 * UIProcess/win/WebPopupMenuProxyWin.h: 41139 * UIProcess/win/WebView.h: 41140 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 41141 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 41142 * WebProcess/WebCoreSupport/WebChromeClient.h: 41143 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41144 * WebProcess/WebPage/DrawingAreaImpl.cpp: 41145 * WebProcess/WebPage/FindController.cpp: 41146 * WebProcess/WebPage/WebPage.cpp: 41147 * WebProcess/WebPage/WebPage.h: 41148 * WebProcess/WebPage/WebPage.messages.in: 41149 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 41150 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 41151 411522011-08-13 Sam Weinig <sam@webkit.org> 41153 41154 Remove unused variables from WKFullScreenWindowController.h 41155 https://bugs.webkit.org/show_bug.cgi?id=66193 41156 41157 Reviewed by Dan Bernstein. 41158 41159 * UIProcess/mac/WKFullScreenWindowController.h: 41160 Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used. 41161 411622011-08-12 Dan Bernstein <mitz@apple.com> 41163 41164 <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text 41165 https://bugs.webkit.org/show_bug.cgi?id=66178 41166 41167 Reviewed by Simon Fraser. 41168 41169 * Shared/WebPreferencesStore.h: 41170 * UIProcess/API/C/WKPreferences.cpp: 41171 (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter. 41172 (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter. 41173 * UIProcess/API/C/WKPreferencesPrivate.h: 41174 * WebProcess/WebPage/WebPage.cpp: 41175 (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference. 41176 411772011-08-12 Mark Rowe <mrowe@apple.com> 41178 41179 Be more forward-looking in the choice of compiler. 41180 41181 Rubber-stamped by Jon Honeycutt. 41182 41183 * Configurations/CompilerVersion.xcconfig: 41184 411852011-08-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 41186 41187 VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements 41188 https://bugs.webkit.org/show_bug.cgi?id=66109 41189 41190 Reviewed by Anders Carlsson. 41191 41192 Multiply vector size by element size in encode/decode to get correct byte size of vector data. 41193 41194 * Platform/CoreIPC/ArgumentCoders.h: 41195 411962011-08-11 Nico Weber <thakis@chromium.org> 41197 41198 Remove incorrect comment about m_wheelEventHandlerCount 41199 https://bugs.webkit.org/show_bug.cgi?id=66117 41200 41201 Reviewed by Simon Fraser. 41202 41203 From what I can tell, this number is changed only in 41204 Frame::notifyChromeClientWheelEventHandlerCountChanged(), 41205 and there it just reads the number modified in 41206 Document::didAdd/RemoveWheelEventHandler(). So this is just the number 41207 of event handlers (and not related to horizontal scrollbars), and the 41208 variable name expresses that already. 41209 41210 * UIProcess/WebPageProxy.h: 41211 412122011-08-11 Kenneth Rohde Christiansen <kenneth@webkit.org> 41213 41214 [Qt/WK2] Add initial support for viewport meta tag 41215 https://bugs.webkit.org/show_bug.cgi?id=65975 41216 41217 Reviewed by Benjamin Poulain. 41218 41219 Redirect the viewport arguments through to the view. 41220 41221 * UIProcess/API/qt/qdesktopwebview.cpp: 41222 (QDesktopWebViewPrivate::didReceiveViewportArguments): 41223 * UIProcess/API/qt/qdesktopwebview_p.h: 41224 * UIProcess/API/qt/qtouchwebview.cpp: 41225 (QTouchWebView::geometryChanged): 41226 * UIProcess/qt/QtWebPageProxy.cpp: 41227 (QtWebPageProxy::setViewportArguments): 41228 * UIProcess/qt/QtWebPageProxy.h: 41229 * UIProcess/qt/TouchViewInterface.cpp: 41230 (WebKit::TouchViewInterface::updateViewportState): 41231 (WebKit::TouchViewInterface::didReceiveViewportArguments): 41232 * UIProcess/qt/TouchViewInterface.h: 41233 (WebKit::TouchViewInterface::ViewportState::ViewportState): 41234 * UIProcess/qt/ViewInterface.h: 41235 * UIProcess/qt/qtouchwebpageproxy.cpp: 41236 (QTouchWebPageProxy::QTouchWebPageProxy): 41237 * UIProcess/qt/qtouchwebpageproxy.h: 41238 412392011-08-10 David Hyatt <hyatt@apple.com> 41240 41241 https://bugs.webkit.org/show_bug.cgi?id=66004 41242 41243 Removing the CSS Regions and CSS Exclusions ifdefs. 41244 41245 Reviewed by Adam Roben. 41246 41247 * Configurations/FeatureDefines.xcconfig: 41248 412492011-08-10 Alexey Proskuryakov <ap@apple.com> 41250 41251 Accidentally commented out an assertion in BackingStore::incorporateUpdate 41252 https://bugs.webkit.org/show_bug.cgi?id=65989 41253 41254 Reviewed by Anders Carlsson. 41255 41256 I couldn't get this assertion to fire in quick testing, let's bring it back. 41257 41258 * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): 41259 412602011-08-10 Lars Knudsen <lars.knudsen@nokia.com> 41261 41262 Add device specific settings to support viewport computing 41263 https://bugs.webkit.org/show_bug.cgi?id=65984 41264 41265 Reviewed by Kenneth Rohde Christiansen. 41266 41267 Expose new viewport related WebCore settings to WebKit2. 41268 41269 * Shared/WebPreferencesStore.h: 41270 * WebProcess/WebPage/WebPage.cpp: 41271 (WebKit::WebPage::updatePreferences): 41272 412732011-08-09 John Sullivan <sullivan@apple.com> 41274 41275 WKPageCopyPendingAPIRequestURL returns stale result if policy decision set to Ignore 41276 https://bugs.webkit.org/show_bug.cgi?id=65950 41277 <rdar://problem/9925931> 41278 41279 Reviewed by Anders Carlsson. 41280 41281 * UIProcess/WebPageProxy.cpp: 41282 (WebKit::WebPageProxy::receivedPolicyDecision): 41283 Call clearPendingAPIRequestURL() if the policy decision is PolicyIgnore. 41284 412852011-08-09 Anders Carlsson <andersca@apple.com> 41286 41287 Add a WebKit prefix to the user default. 41288 41289 Reviewed by Dan Bernstein. 41290 41291 * UIProcess/mac/WebContextMac.mm: 41292 (WebKit::WebContext::platformInitializeWebProcess): 41293 412942011-08-09 Anders Carlsson <andersca@apple.com> 41295 41296 Add a user default to disable the plug-in process message timeout 41297 https://bugs.webkit.org/show_bug.cgi?id=65945 41298 41299 Reviewed by Adam Roben. 41300 41301 * Shared/WebProcessCreationParameters.cpp: 41302 (WebKit::WebProcessCreationParameters::encode): 41303 (WebKit::WebProcessCreationParameters::decode): 41304 * Shared/WebProcessCreationParameters.h: 41305 Add a disablePluginProcessMessageTimeout member variable. 41306 41307 * UIProcess/mac/WebContextMac.mm: 41308 (WebKit::WebContext::platformInitializeWebProcess): 41309 Initialize the disablePluginProcessMessageTimeout member variable from the 41310 "DisablePluginProcessMessageTimeout" user default. 41311 41312 * WebProcess/Plugins/PluginProcessConnection.cpp: 41313 (WebKit::defaultSyncMessageTimeout): 41314 Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true. 41315 41316 * WebProcess/WebProcess.cpp: 41317 (WebKit::WebProcess::WebProcess): 41318 (WebKit::WebProcess::initializeWebProcess): 41319 Initialize m_disablePluginProcessMessageTimeout. 41320 41321 * WebProcess/WebProcess.h: 41322 (WebKit::WebProcess::disablePluginProcessMessageTimeout): 41323 Add getter. 41324 413252011-08-09 Mark Hahnenberg <mhahnenberg@apple.com> 41326 41327 Add ParentClass typedef in all JSC classes 41328 https://bugs.webkit.org/show_bug.cgi?id=65731 41329 41330 Reviewed by Oliver Hunt. 41331 41332 Just added the Base typedefs in all the classes that are a subclass of JSCell 41333 to point at their parent classes. This is a change to support future changes to the way 41334 constructors and destructors are implemented in JS objects, among other things. 41335 41336 * WebProcess/Plugins/Netscape/JSNPMethod.h: 41337 * WebProcess/Plugins/Netscape/JSNPObject.h: 41338 413392011-08-08 Adrienne Walker <enne@google.com> 41340 41341 Add testing for --force-compositing-mode to windows.internal 41342 https://bugs.webkit.org/show_bug.cgi?id=65777 41343 41344 Reviewed by Adam Barth. 41345 41346 Add exports for Document::settings(). 41347 41348 * win/WebKit2.def: 41349 * win/WebKit2CFLite.def: 41350 413512011-08-09 Kenneth Rohde Christiansen <kenneth@webkit.org> 41352 41353 [Qt] Redirect didFindZoomableArea thru to the view 41354 https://bugs.webkit.org/show_bug.cgi?id=65913 41355 41356 Reviewed by Andreas Kling. 41357 41358 * UIProcess/API/qt/qdesktopwebview.cpp: 41359 (QDesktopWebViewPrivate::didFindZoomableArea): 41360 * UIProcess/API/qt/qdesktopwebview_p.h: 41361 * UIProcess/qt/QtWebPageProxy.cpp: 41362 (QtWebPageProxy::didFindZoomableArea): 41363 * UIProcess/qt/QtWebPageProxy.h: 41364 * UIProcess/qt/TouchViewInterface.cpp: 41365 (WebKit::TouchViewInterface::didFindZoomableArea): 41366 * UIProcess/qt/TouchViewInterface.h: 41367 * UIProcess/qt/ViewInterface.h: 41368 * UIProcess/qt/qdesktopwebpageproxy.cpp: 41369 (QDesktopWebPageProxy::timerEvent): 41370 * UIProcess/qt/qdesktopwebpageproxy.h: 41371 * UIProcess/qt/qtouchwebpageproxy.cpp: 41372 (QTouchWebPageProxy::setContentsScale): 41373 * UIProcess/qt/qtouchwebpageproxy.h: 41374 413752011-08-09 Kenneth Rohde Christiansen <kenneth@webkit.org> 41376 41377 [Qt] Vastly improve the algorithm for finding a zoomable area when doing double-tap 41378 https://bugs.webkit.org/show_bug.cgi?id=65907 41379 41380 Reviewed by Andreas Kling. 41381 41382 This is upstreaming of the algorithm we are currently using on the N9 browser 41383 and this also fixes a bug with not considering the frame positions when finding 41384 a zoomable area. 41385 41386 * UIProcess/PageClient.h: 41387 * UIProcess/WebPageProxy.cpp: 41388 (WebKit::WebPageProxy::didFindZoomableArea): 41389 * UIProcess/WebPageProxy.h: 41390 * UIProcess/WebPageProxy.messages.in: 41391 * UIProcess/qt/qdesktopwebpageproxy.cpp: 41392 (QDesktopWebPageProxy::didFindZoomableArea): 41393 * UIProcess/qt/qdesktopwebpageproxy.h: 41394 * UIProcess/qt/qtouchwebpageproxy.cpp: 41395 (QTouchWebPageProxy::didFindZoomableArea): 41396 * UIProcess/qt/qtouchwebpageproxy.h: 41397 * WebProcess/WebPage/WebPage.cpp: 41398 (WebKit::WebPage::findZoomableAreaForPoint): 41399 414002011-08-08 Chris Marrin <cmarrin@apple.com> 41401 41402 Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState 41403 https://bugs.webkit.org/show_bug.cgi?id=65708 41404 41405 Supply initial display rects for the full-screen case 41406 41407 Reviewed by Simon Fraser. 41408 41409 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 41410 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): 41411 (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): 41412 (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): 41413 414142011-08-08 Dan Bernstein <mitz@apple.com> 41415 41416 <rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window 41417 https://bugs.webkit.org/show_bug.cgi?id=65860 41418 41419 Reviewed by Simon Fraser. 41420 41421 When layer flush scheduling is re-enabled, schedule a layer flush, just in case one was requested while 41422 scheduling was disabled. It doesn’t seem worthwhile to track whether that in fact happened, so do so 41423 unconditionally. 41424 41425 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 41426 (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): 41427 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 41428 (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled): 41429 414302011-08-05 Pavel Feldman <pfeldman@chromium.org> 41431 41432 Web Inspector: implement dock/undock in WebKit2 without getting into WebCore. 41433 https://bugs.webkit.org/show_bug.cgi?id=65763 41434 41435 InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value 41436 since in the multiprocess environment, you can't immediately get back to it from the host. 41437 41438 r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder 41439 was asking itself a question. This loop was fixed. 41440 41441 Reviewed by Yury Semikhatsky. 41442 41443 * UIProcess/WebInspectorProxy.cpp: 41444 (WebKit::WebInspectorProxy::attach): 41445 (WebKit::WebInspectorProxy::createInspectorPage): 41446 (WebKit::WebInspectorProxy::didLoadInspectorPage): 41447 (WebKit::WebInspectorProxy::shouldOpenAttached): 41448 * UIProcess/WebInspectorProxy.h: 41449 * UIProcess/WebInspectorProxy.messages.in: 41450 * UIProcess/efl/WebInspectorEfl.cpp: 41451 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 41452 * UIProcess/gtk/WebInspectorGtk.cpp: 41453 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 41454 * UIProcess/mac/WebInspectorProxyMac.mm: 41455 (WebKit::WebInspectorProxy::platformOpen): 41456 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 41457 * UIProcess/qt/WebInspectorProxyQt.cpp: 41458 (WebKit::WebInspectorProxy::platformOpen): 41459 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 41460 * UIProcess/win/WebInspectorProxyWin.cpp: 41461 (WebKit::WebInspectorProxy::platformOpen): 41462 (WebKit::WebInspectorProxy::platformInspectedWindowHeight): 41463 * WebProcess/WebPage/WebInspector.cpp: 41464 (WebKit::WebInspector::didLoadInspectorPage): 41465 * WebProcess/WebPage/WebInspector.h: 41466 * WebProcess/WebPage/WebInspector.messages.in: 41467 414682011-08-07 Joseph Pecoraro <joepeck@webkit.org> 41469 41470 [QT] Possible Leaks WKRetainPtr<> should Adopt allocated Copy 41471 https://bugs.webkit.org/show_bug.cgi?id=65790 41472 41473 Reviewed by Sam Weinig. 41474 41475 Fix a leak by adopting an allocation instead of retaining it. 41476 41477 * UIProcess/qt/qwkhistory.cpp: 41478 (QWKHistoryItem::title): 41479 (QWKHistoryItem::url): 41480 414812011-08-06 Mark Rowe <mrowe@apple.com> 41482 41483 Fix a memory leak found via code inspection. 41484 41485 Rubber-stamped by Dan Bernstein. 41486 41487 * WebProcess/Downloads/mac/DownloadMac.mm: 41488 (WebKit::setOriginalURLForDownload): Adopt the newly-allocated NSURL instance 41489 so that it does not leak. 41490 414912011-08-06 Aron Rosenberg <arosenberg@logitech.com> 41492 41493 Reviewed by Benjamin Poulain. 41494 41495 [Qt] Fix build with Intel compiler on Windows 41496 https://bugs.webkit.org/show_bug.cgi?id=65088 41497 41498 Intel compiler needs .lib suffixes instead of .a 41499 41500 * WebKit2.pri: 41501 415022011-08-05 Darin Adler <darin@apple.com> 41503 41504 Reviewed by Anders Carlsson. 41505 41506 [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state 41507 https://bugs.webkit.org/show_bug.cgi?id=63779 41508 41509 * WebProcess/Plugins/PluginView.cpp: 41510 (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable. 41511 41512 * WebProcess/WebPage/WebPage.cpp: 41513 (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to 41514 setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since 41515 the function uses a graphics context that it then throws away. 41516 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto. 41517 415182011-08-04 Mark Rowe <mrowe@apple.com> 41519 41520 Future-proof Xcode configuration settings. 41521 41522 * Configurations/Base.xcconfig: 41523 * Configurations/CompilerVersion.xcconfig: 41524 * Configurations/DebugRelease.xcconfig: 41525 * Configurations/Version.xcconfig: 41526 * Configurations/WebKit2.xcconfig: 41527 415282011-08-01 Brian Weinstein <bweinstein@apple.com> 41529 41530 WebKit2: Web Inspector always starts in undocked mode 41531 https://bugs.webkit.org/show_bug.cgi?id=65493 41532 <rdar://problem/9353114> 41533 41534 Reviewed by Adam Roben. 41535 41536 When opening the inspector, the web process tells the UI process that the inspector page has loaded, 41537 but now will pass another bit of data, whether the inspector can start attached, so the UI process 41538 doesn't need to ask the web process to do another calculation on whether or not it can be attached. 41539 41540 If the user prefers the inspector to start docked (this defaults to true), and there is room for the 41541 window, we send a message to the web process to try and attach the inspector. This makes sure that the 41542 inspector knows it is docked (in the web process). 41543 41544 * UIProcess/WebInspectorProxy.cpp: 41545 (WebKit::WebInspectorProxy::attach): Update the user's docked/undocked preference if the inspector is visible 41546 when it was attached. 41547 (WebKit::WebInspectorProxy::detach): Ditto (but when it was detached). 41548 (WebKit::WebInspectorProxy::didLoadInspectorPage): If we can start docked, and the user prefers to start docked, 41549 then request the inspector be attached to the window. 41550 * UIProcess/WebInspectorProxy.h: 41551 41552 * UIProcess/mac/WebInspectorProxyMac.mm: 41553 (WebKit::WebInspectorProxy::platformOpen): Only show the window if we are going to start undocked. 41554 * UIProcess/win/WebInspectorProxyWin.cpp: 41555 (WebKit::WebInspectorProxy::platformOpen): Ditto. 41556 41557 * WebProcess/WebPage/WebInspector.cpp: 41558 (WebKit::WebInspector::didLoadInspectorPage): Pass whether or not we can attach the window. 41559 (WebKit::WebInspector::requestAttachWindow): Call through to the InspectorController to attach the inspector. 41560 (WebKit::WebInspector::canAttachWindow): Ask the InspectorController if we can attach the inspector. 41561 * WebProcess/WebPage/WebInspector.h: 41562 41563 * Shared/WebPreferencesStore.h: Add a new preference for whether or not the inspector should 41564 start attached. 41565 41566 * UIProcess/WebInspectorProxy.messages.in: When the inspector page is loaded, tell the UI Process whether 41567 we can attach the inspector without needing another message. 41568 * WebProcess/WebPage/WebInspector.messages.in: Add a new message for RequestAttachWindow 41569 415702011-08-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 41571 41572 [Qt][WK2] Create scene graph nodes for tiles in QTouchWebView instead of using imperative painting. 41573 https://bugs.webkit.org/show_bug.cgi?id=65528 41574 41575 Reviewed by Benjamin Poulain. 41576 41577 Converts QTouchWebPage from QSGPaintedItem to a straight QSGItem. 41578 - A SGTileNode is created and added to the scene graph for each tile, 41579 positioning them relatively to the page. 41580 It's basically a QSGSimpleTextureNode with support for specifying a 41581 source rect plus for owning the QSGTexture for proper destruction on 41582 shutdown by the rendering thread. 41583 - Scale nodes are used as parent of tile nodes to revert the scaling set on the 41584 QTouchWebPage and allow us to keep using integer coordinates. 41585 - The SGAgent class is introduced to carry scene graph update request up to the 41586 updatePaintNode call of the item, which may be on the scene graph rendering thread. 41587 41588 * UIProcess/API/qt/qtouchwebpage.cpp: 41589 (QTouchWebPage::QTouchWebPage): 41590 (QTouchWebPage::updatePaintNode): 41591 Delegate scene graph updates to the SGAgent which received update requests from the tiled drawing area. 41592 (QTouchWebPage::event): 41593 (QTouchWebPage::geometryChanged): 41594 (QTouchWebPagePrivate::QTouchWebPagePrivate): 41595 * UIProcess/API/qt/qtouchwebpage.h: 41596 * UIProcess/API/qt/qtouchwebpage_p.h: 41597 * UIProcess/TiledDrawingAreaProxy.cpp: 41598 Manage the scale node in the TileSet, it will be the parent node of Tile nodes. 41599 (WebKit::TiledDrawingAreaTileSet::sgNodeID): 41600 (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet): 41601 (WebKit::TiledDrawingAreaTileSet::~TiledDrawingAreaTileSet): 41602 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 41603 (WebKit::TiledDrawingAreaProxy::setContentsScale): 41604 (WebKit::TiledDrawingAreaProxy::createTiles): 41605 (WebKit::TiledDrawingAreaProxy::removeAllTiles): 41606 * UIProcess/TiledDrawingAreaTile.h: 41607 (WebKit::TiledDrawingAreaTile::create): 41608 * UIProcess/qt/SGAgent.cpp: Added. 41609 * UIProcess/qt/SGAgent.h: Added. 41610 * UIProcess/qt/SGTileNode.cpp: Added. 41611 * UIProcess/qt/SGTileNode.h: Added. 41612 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 41613 Disable the paint call and update the scene graph on incorporateUpdate through the SGAgent. 41614 (WebKit::TiledDrawingAreaProxy::updateWebView): 41615 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 41616 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile): 41617 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile): 41618 (WebKit::TiledDrawingAreaTile::isReadyToPaint): 41619 (WebKit::TiledDrawingAreaTile::swapBackBufferToFront): 41620 (WebKit::TiledDrawingAreaTile::paint): 41621 (WebKit::TiledDrawingAreaTile::incorporateUpdate): 41622 (WebKit::TiledDrawingAreaTile::disableUpdates): 41623 (WebKit::TiledDrawingAreaTile::setParentNodeID): 41624 * UIProcess/qt/TouchViewInterface.cpp: 41625 (WebKit::TouchViewInterface::sceneGraphAgent): 41626 (WebKit::TouchViewInterface::setViewNeedsDisplay): 41627 * UIProcess/qt/TouchViewInterface.h: 41628 * WebKit2.pro: 41629 416302011-08-04 Alexis Menard <alexis.menard@openbossa.org> 41631 41632 [Qt] Make navigation actions properly usable in QML. 41633 https://bugs.webkit.org/show_bug.cgi?id=65624 41634 41635 Add a new class that is exposed in QML to control the navigation 41636 like reload/stop/back/forward. Enums are not very QML friendly, 41637 it not possible to use enums that are not declared in the same class 41638 than the object exposed in QML, therefore it makes hard the sharing 41639 between the desktop and the touch views. In addition namespaced enums are 41640 even harder to support in QML. QWebNavigationController is 41641 not really meant to be used in C++ but it is exported for convenience 41642 reason (tests and MiniBrowser) so its API is not meant to be public but 41643 exposed in QML through properties and convenience slots. The QML code to use 41644 the navigation action in QML will look like "desktopView.navigation.reload();" 41645 or "if (desktopView.navigation.reloadAction.enabled) ...". 41646 41647 Reviewed by Benjamin Poulain. 41648 41649 * UIProcess/API/qt/WKView.h: To get the forward header generated 41650 * UIProcess/API/qt/qdesktopwebview.cpp: 41651 (QDesktopWebViewPrivate::QDesktopWebViewPrivate): 41652 (QDesktopWebView::navigationController): 41653 * UIProcess/API/qt/qdesktopwebview.h: 41654 * UIProcess/API/qt/qdesktopwebview_p.h: 41655 * UIProcess/API/qt/qmlplugin/plugin.cpp: 41656 (WebKit2QmlPlugin::registerTypes): 41657 * UIProcess/API/qt/qtouchwebpage.cpp: 41658 (QTouchWebPage::navigationController): 41659 (QTouchWebPagePrivate::QTouchWebPagePrivate): 41660 * UIProcess/API/qt/qtouchwebpage.h: 41661 * UIProcess/API/qt/qtouchwebpage_p.h: 41662 * UIProcess/API/qt/qwebnavigationcontroller.cpp: Added. 41663 (QWebNavigationControllerPrivate::QWebNavigationControllerPrivate): 41664 (QWebNavigationController::QWebNavigationController): 41665 (QWebNavigationController::~QWebNavigationController): 41666 (QWebNavigationController::backAction): 41667 (QWebNavigationController::forwardAction): 41668 (QWebNavigationController::stopAction): 41669 (QWebNavigationController::reloadAction): 41670 (QWebNavigationController::navigationAction): 41671 (QWebNavigationController::back): 41672 (QWebNavigationController::forward): 41673 (QWebNavigationController::stop): 41674 (QWebNavigationController::reload): 41675 * UIProcess/API/qt/qwebnavigationcontroller.h: Added. 41676 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 41677 (WebViewAbstraction::triggerNavigationAction): 41678 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 41679 (tst_QDesktopWebView::navigationActionsStatusAtStartup): 41680 (LoadStartedCatcher::onLoadStarted): 41681 (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted): 41682 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 41683 (tst_QTouchWebView::navigationActionsStatusAtStartup): 41684 * WebKit2API.pri: 41685 416862011-08-03 Jeff Miller <jeffm@apple.com> 41687 41688 Use of AVFoundation should default to off on Windows 41689 https://bugs.webkit.org/show_bug.cgi?id=65660 41690 41691 Reviewed by Darin Adler. 41692 41693 * Shared/WebPreferencesStore.h: Change default value for AVFoundationEnabled to false on Windows, it's still true on other platforms. 41694 416952011-08-03 Mark Rowe <mrowe@apple.com> 41696 41697 Bring some order to FeatureDefines.xcconfig to make it easier to follow. 41698 41699 Reviewed by Sam Weinig. 41700 41701 * Configurations/FeatureDefines.xcconfig: 41702 417032011-08-03 Mark Rowe <mrowe@apple.com> 41704 41705 Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings 41706 41707 Reviewed by Dave Kilzer. 41708 41709 * Configurations/FeatureDefines.xcconfig: 41710 417112011-08-03 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 41712 41713 [Qt] [WK2] Improve position of context menu for QDesktopWebView 41714 https://bugs.webkit.org/show_bug.cgi?id=65635 41715 41716 Reviewed by Andreas Kling. 41717 41718 Do not assume that the QDesktopWebView takes the entire canvas when 41719 positioning the context menu. 41720 41721 * UIProcess/API/qt/qdesktopwebview.cpp: 41722 (QDesktopWebViewPrivate::showContextMenu): 41723 417242011-08-03 Anders Carlsson <andersca@apple.com> 41725 41726 Fix API tests. 41727 41728 Initialize threading before trying to allocate the WebContext. 41729 41730 * UIProcess/WebContext.cpp: 41731 (WebKit::WebContext::sharedProcessContext): 41732 (WebKit::WebContext::create): 41733 417342011-08-03 Pavel Feldman <pfeldman@google.com> 41735 41736 Web Inspector: [Timeline] Hover on paint events and see rect outline around that area. 41737 https://bugs.webkit.org/show_bug.cgi?id=65510 41738 41739 Reviewed by Yury Semikhatsky. 41740 41741 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 41742 (WebKit::WebInspectorClient::drawRect): 41743 417442011-08-02 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 41745 41746 [Qt] [WK2] Expose web view classes to QML 41747 https://bugs.webkit.org/show_bug.cgi?id=65339 41748 41749 Reviewed by Benjamin Poulain. 41750 41751 This patch also uses QuickTest from QtDeclarative to provide the basic autotest 41752 infrastructure for the exposed elements. 41753 41754 * UIProcess/API/qt/qmlplugin/plugin.cpp: Added. 41755 (WebKit2QmlPlugin::registerTypes): 41756 * UIProcess/API/qt/qmlplugin/qmldir: Added. 41757 * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Added. 41758 * UIProcess/API/qt/qtouchwebpage.h: Expose load() to QML environment. 41759 * UIProcess/API/qt/qtouchwebview.h: Since QTouchWebPage* doesn't change once set 41760 in the constructor, we mark the page property as CONSTANT. This avoid QML 41761 warnings for not having a NOTIFY signal for the property change. 41762 41763 * UIProcess/API/qt/tests/tests.pro: 41764 * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Added. 41765 * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: Added. 41766 * UIProcess/API/qt/tests/qmltests/common/test1.html: Added. 41767 * UIProcess/API/qt/tests/qmltests/qmltests.pro: Added. 41768 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Added. 41769 417702011-08-03 Carlos Garcia Campos <cgarcia@igalia.com> 41771 41772 [GTK] Install web and plugin processes in libexecdir instead of bindir 41773 https://bugs.webkit.org/show_bug.cgi?id=65600 41774 41775 Reviewed by Martin Robinson. 41776 41777 Launch processes from libexecdir or WEBKIT_EXEC_PATH 41778 environment variable when it's set. This variable will be used by 41779 MiniBrowser and unit tests to find processes without having to 41780 install them. 41781 41782 * GNUmakefile.am: 41783 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 41784 (WebKit::ProcessLauncher::launchProcess): 41785 417862011-08-03 Pavel Feldman <pfeldman@chromium.org> 41787 41788 Web Inspector: remove Node parameter from the InspectorClient::highlight 41789 https://bugs.webkit.org/show_bug.cgi?id=65549 41790 41791 Reviewed by Yury Semikhatsky. 41792 41793 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 41794 (WebKit::WebInspectorClient::highlight): 41795 * WebProcess/WebCoreSupport/WebInspectorClient.h: 41796 417972011-08-03 Carlos Garcia Campos <cgarcia@igalia.com> 41798 41799 [GTK] Reorganize pkg-config files 41800 https://bugs.webkit.org/show_bug.cgi?id=65548 41801 41802 Reviewed by Martin Robinson. 41803 41804 * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2 41805 depends on gtk3 unconditionally so we don't need to use 41806 WEBKITGTK_PC_NAME. 41807 * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in. 41808 418092011-08-01 Michael Saboff <msaboff@apple.com> 41810 41811 Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors 41812 https://bugs.webkit.org/show_bug.cgi?id=65502 41813 41814 Reviewed by Anders Carlsson. 41815 41816 Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag 41817 so that the original memory region isn't referenced by the message and ultimately 41818 the receiving process. The additional reference caused madvise(MADV_FREE_REUSABLE) 41819 to fail when it encountered such pages. 41820 41821 * Platform/CoreIPC/mac/ConnectionMac.cpp: 41822 (CoreIPC::Connection::sendOutgoingMessage): 41823 418242011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 41825 41826 [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests. 41827 https://bugs.webkit.org/show_bug.cgi?id=65378 41828 41829 Reviewed by Benjamin Poulain. 41830 41831 This prevent the runner of the tests from having to add it to PATH himself. 41832 41833 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 41834 (tst_CommonViewTests::tst_CommonViewTests): 41835 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 41836 (tst_QDesktopWebView::tst_QDesktopWebView): 41837 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 41838 (tst_QTouchWebView::tst_QTouchWebView): 41839 * UIProcess/API/qt/tests/tests.pri: 41840 * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h. 41841 Move definitions to a cpp file to prevent unused static symbol warnings. 41842 (addQtWebProcessToPath): 41843 (waitForSignal): 41844 * UIProcess/API/qt/tests/util.h: 41845 418462011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 41847 41848 TiledDrawingArea: Handle update requests in the order they were received. 41849 https://bugs.webkit.org/show_bug.cgi?id=64365 41850 41851 Reviewed by Andreas Kling. 41852 41853 TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the 41854 center of the viewport to decide which tile should be rendered first. 41855 This logic is useless if the requests are not handled in the same order 41856 as they were received. 41857 Now use a list instead of a map to hold pending tile update requests. 41858 41859 * WebProcess/WebPage/TiledDrawingArea.cpp: 41860 (WebKit::TiledDrawingArea::tileUpdateTimerFired): 41861 (WebKit::TiledDrawingArea::cancelTileUpdate): 41862 (WebKit::TiledDrawingArea::requestTileUpdate): 41863 * WebProcess/WebPage/TiledDrawingArea.h: 41864 418652011-08-02 Amruth Raj <amruthraj@motorola.com> 41866 41867 Custom cursors cause the WebProcess to crash 41868 https://bugs.webkit.org/show_bug.cgi?id=64802 41869 41870 Reviewed by Martin Robinson. 41871 41872 * Shared/WebCoreArgumentCoders.cpp: 41873 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that. 41874 (CoreIPC::::decode): Decode the image only if required. 41875 418762011-08-01 Scott Graham <scottmg@chromium.org> 41877 41878 REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted 41879 https://bugs.webkit.org/show_bug.cgi?id=61006 41880 41881 Reviewed by Antti Koivisto. 41882 41883 Update exports for test harness. 41884 41885 * win/WebKit2.def: 41886 * win/WebKit2CFLite.def: 41887 418882011-08-01 Hayato Ito <hayato@chromium.org> 41889 41890 Add support for getting an element in shadow root by its id into a window.internals object. 41891 https://bugs.webkit.org/show_bug.cgi?id=64587 41892 41893 Reviewed by Hajime Morita. 41894 41895 * win/WebKit2.def: 41896 * win/WebKit2CFLite.def: 41897 418982011-08-01 Sheriff Bot <webkit.review.bot@gmail.com> 41899 41900 Unreviewed, rolling out r92108. 41901 http://trac.webkit.org/changeset/92108 41902 https://bugs.webkit.org/show_bug.cgi?id=65459 41903 41904 breaks SL compile (Requested by tonyg-cr on #webkit). 41905 41906 * Shared/WebCoreArgumentCoders.cpp: 41907 (CoreIPC::::encode): 41908 (CoreIPC::::decode): 41909 419102011-08-01 Amruth Raj <amruthraj@motorola.com> 41911 41912 Custom cursors cause the WebProcess to crash 41913 https://bugs.webkit.org/show_bug.cgi?id=64802 41914 41915 Reviewed by Darin Adler. 41916 41917 * Shared/WebCoreArgumentCoders.cpp: 41918 (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that. 41919 (CoreIPC::::decode): Decode the image only if required. 41920 419212011-07-31 Daniel Bates <dbates@webkit.org> 41922 41923 Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419). 41924 41925 * win/WebKit2CFLite.def: Export symbols needed by Internals. 41926 419272011-07-30 Dan Bernstein <mitz@apple.com> 41928 41929 Try to fix the Windows build after r92059. 41930 41931 * win/WebKit2.def: Export symbols needed by Internals. 41932 419332011-07-30 Patrick Gansterer <paroga@webkit.org> 41934 41935 Remove inclusion of MainThread.h from Threading.h 41936 https://bugs.webkit.org/show_bug.cgi?id=65081 41937 41938 Reviewed by Darin Adler. 41939 41940 Add missing include statements for MainThread. 41941 41942 * PluginProcess/gtk/PluginProcessMainGtk.cpp: 41943 * PluginProcess/mac/PluginProcessMainMac.mm: 41944 * PluginProcess/qt/PluginProcessMainQt.cpp: 41945 * UIProcess/API/mac/WKPrintingView.mm: 41946 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: 41947 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: 41948 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: 41949 * UIProcess/WebContext.cpp: 41950 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 41951 * WebProcess/efl/WebProcessMainEfl.cpp: 41952 * WebProcess/gtk/WebProcessMainGtk.cpp: 41953 * WebProcess/mac/KeychainItemShimMethods.mm: 41954 * WebProcess/mac/WebProcessMainMac.mm: 41955 * WebProcess/qt/WebProcessMainQt.cpp: 41956 * WebProcess/win/WebProcessMainWin.cpp: 41957 419582011-07-30 Balazs Kelemen <kbalazs@webkit.org> 41959 41960 [Qt][WK2] Fix the build afer r92014 41961 https://bugs.webkit.org/show_bug.cgi?id=65410 41962 41963 Reviewed by Noam Rosenthal. 41964 41965 * Shared/ShareableBitmap.h: 41966 * UIProcess/qt/qdesktopwebpageproxy.cpp: 41967 (QDesktopWebPageProxy::paintContent): 41968 419692011-07-29 Sam Weinig <sam@webkit.org> 41970 41971 Move Region code from WebKit2 to WebCore 41972 https://bugs.webkit.org/show_bug.cgi?id=65392 41973 41974 Reviewed by David Hyatt. 41975 41976 * CMakeLists.txt: 41977 * GNUmakefile.am: 41978 * WebKit2.pro: 41979 * WebKit2.xcodeproj/project.pbxproj: 41980 * win/WebKit2.vcproj: 41981 Update project files. 41982 41983 * Platform/Region.cpp: Removed. 41984 * Platform/Region.h: Removed. 41985 Remove Region files. 41986 41987 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 41988 (webkitWebViewBaseDraw): 41989 * UIProcess/API/mac/WKView.mm: 41990 * UIProcess/DrawingAreaProxyImpl.cpp: 41991 * UIProcess/DrawingAreaProxyImpl.h: 41992 * UIProcess/qt/qdesktopwebpageproxy.cpp: 41993 * UIProcess/win/WebView.cpp: 41994 * WebProcess/WebPage/DrawingAreaImpl.h: 41995 Update for new namespace and include type. 41996 419972011-07-29 Anders Carlsson <andersca@apple.com> 41998 41999 Pass the HTTP referrer header for URLs loaded by plug-ins 42000 https://bugs.webkit.org/show_bug.cgi?id=65379 42001 <rdar://problem/9822116> 42002 42003 Reviewed by Sam Weinig. 42004 42005 Set the HTTP referrer if necessary. 42006 42007 * WebProcess/Plugins/PluginView.cpp: 42008 (WebKit::PluginView::loadURL): 42009 420102011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42011 42012 Fix the QTouchWebView in debug segfault on shutdown introduced in 91979. 42013 https://bugs.webkit.org/show_bug.cgi?id=64728 42014 42015 Reviewed by Benjamin Poulain. 42016 42017 unregisterTile is called in the tile's destructor, triggered in the TileSet's 42018 destruction, which happens in the middle of the proxy's destruction 42019 (after the m_tilesByID HashMap destruction). 42020 Detach the tiles in the proxy's destructor to make sure they can cleanup 42021 using a valid proxy. 42022 42023 * UIProcess/TiledDrawingAreaProxy.cpp: 42024 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy): 42025 420262011-07-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42027 42028 Fix the QTouchWebView in debug broke in 91979. 42029 https://bugs.webkit.org/show_bug.cgi?id=64728 42030 42031 Reviewed by Benjamin Poulain. 42032 42033 registerTile is called in the Tile's constructor, before adoptRef. 42034 Change the pointer parameter to use the raw type instead. 42035 42036 * UIProcess/TiledDrawingAreaProxy.cpp: 42037 (WebKit::TiledDrawingAreaProxy::registerTile): 42038 * UIProcess/TiledDrawingAreaProxy.h: 42039 420402011-07-29 Alexis Menard <alexis.menard@openbossa.org> 42041 42042 [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML. 42043 https://bugs.webkit.org/show_bug.cgi?id=65315 42044 42045 Reviewed by Benjamin Poulain. 42046 42047 In order to use the loadProgress value in QML we need to make it 42048 a Q_PROPERTY, therefore we need a getter to get it. 42049 42050 * UIProcess/API/qt/qdesktopwebview.cpp: 42051 (QDesktopWebViewPrivate::didChangeLoadProgress): 42052 (QDesktopWebView::url): 42053 (QDesktopWebView::loadProgress): 42054 * UIProcess/API/qt/qdesktopwebview.h: 42055 * UIProcess/API/qt/qtouchwebpage.cpp: 42056 (QTouchWebPage::loadProgress): 42057 * UIProcess/API/qt/qtouchwebpage.h: 42058 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 42059 (tst_CommonViewTests::stop): 42060 (tst_CommonViewTests::loadProgress): 42061 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 42062 (WebViewAbstraction::WebViewAbstraction): 42063 (WebViewAbstraction::loadProgress): 42064 (WebViewAbstraction::desktopViewLoadFailed): 42065 (WebViewAbstraction::touchViewLoadProgressChanged): 42066 (WebViewAbstraction::desktopViewLoadProgressChanged): 42067 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 42068 * UIProcess/qt/QtWebPageProxy.cpp: 42069 (QtWebPageProxy::QtWebPageProxy): 42070 (QtWebPageProxy::didChangeLoadProgress): 42071 * UIProcess/qt/QtWebPageProxy.h: 42072 (QtWebPageProxy::loadProgress): 42073 * UIProcess/qt/TouchViewInterface.cpp: 42074 (WebKit::TouchViewInterface::didChangeLoadProgress): 42075 420762011-07-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42077 42078 TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale. 42079 https://bugs.webkit.org/show_bug.cgi?id=64728 42080 42081 Reviewed by Benjamin Poulain. 42082 42083 We currently delete all the tiles when setContentsScale is called. This shows a blank 42084 background to the user while the web process render tiles for the new scale. 42085 42086 This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to 42087 TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales. 42088 We can then paint the tiles we already have on top of the tiles we are rendering for 42089 the new scale until enough content is available. 42090 42091 * UIProcess/TiledDrawingAreaProxy.cpp: 42092 (WebKit::TiledDrawingAreaTileSet::tiles): 42093 (WebKit::TiledDrawingAreaTileSet::contentsScale): 42094 (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet): 42095 (WebKit::TiledDrawingAreaTileSet::mapToContents): 42096 (WebKit::TiledDrawingAreaTileSet::mapFromContents): 42097 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 42098 (WebKit::TiledDrawingAreaProxy::registerTile): 42099 (WebKit::TiledDrawingAreaProxy::unregisterTile): 42100 Added those two methods to allow the tiles to clean 42101 themselves on destruction. 42102 (WebKit::TiledDrawingAreaProxy::requestTileUpdate): 42103 (WebKit::TiledDrawingAreaProxy::cancelTileUpdate): 42104 (WebKit::TiledDrawingAreaProxy::invalidate): 42105 (WebKit::TiledDrawingAreaProxy::updateTileBuffers): 42106 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete): 42107 (WebKit::TiledDrawingAreaProxy::paint): 42108 (WebKit::TiledDrawingAreaProxy::coverageRatio): 42109 (WebKit::TiledDrawingAreaProxy::setContentsScale): 42110 (WebKit::TiledDrawingAreaProxy::createTiles): 42111 (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles): 42112 (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect): 42113 (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates): 42114 (WebKit::TiledDrawingAreaProxy::removeAllTiles): 42115 (WebKit::TiledDrawingAreaProxy::contentsRect): 42116 (WebKit::TiledDrawingAreaProxy::visibleRect): 42117 (WebKit::TiledDrawingAreaProxy::hasPendingUpdates): 42118 * UIProcess/TiledDrawingAreaProxy.h: 42119 * UIProcess/TiledDrawingAreaTile.h: 42120 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 42121 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile): 42122 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile): 42123 (WebKit::TiledDrawingAreaTile::incorporateUpdate): 42124 (WebKit::TiledDrawingAreaTile::disableUpdates): 42125 (WebKit::TiledDrawingAreaTile::updateBackBuffer): 42126 421272011-07-28 Tim Horton <timothy_horton@apple.com> 42128 42129 REGRESSION (5.1): CJK input broken after clicking on Flash content 42130 <rdar://problem/9854447> 42131 https://bugs.webkit.org/show_bug.cgi?id=65349 42132 42133 Reviewed by Darin Adler. 42134 42135 After giving Flash focus on a page and then navigating away from that page 42136 using the back button, we were not getting notified to switch back to 42137 inline (non-complex) input. Now, notify the page that it can leave complex 42138 text mode when the plugin is destroyed. 42139 42140 * WebProcess/Plugins/PluginView.cpp: 42141 (WebKit::PluginView::~PluginView): 42142 421432011-07-28 Anders Carlsson <andersca@apple.com> 42144 42145 Crash when trying to encode FontInfo with a null font attribute descriptor 42146 https://bugs.webkit.org/show_bug.cgi?id=65350 42147 <rdar://problem/9520670> 42148 42149 Reviewed by Darin Adler. 42150 42151 * Shared/FontInfo.cpp: 42152 (WebKit::FontInfo::encode): 42153 Encode a boolean specifying whether there's a fontAttributeDictionary member variable. 42154 42155 (WebKit::FontInfo::decode): 42156 Don't try to decode the fontAttributeDictionary member variable if none has been encoded. 42157 421582011-07-26 Chris Fleizach <cfleizach@apple.com> 42159 42160 REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver 42161 https://bugs.webkit.org/show_bug.cgi?id=65214 42162 42163 Reviewed by Anders Carlsson. 42164 42165 Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply. 42166 This allows it to continue to serve accessibility requests while waiting and basically 42167 restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on. 42168 42169 * Platform/CoreIPC/Connection.cpp: 42170 (CoreIPC::Connection::sendSyncMessage): 42171 (CoreIPC::Connection::waitForSyncReply): 42172 * Platform/CoreIPC/Connection.h: 42173 (CoreIPC::Connection::sendSync): 42174 * Platform/RunLoop.h: 42175 * Platform/mac/RunLoopMac.mm: 42176 (RunLoop::runForDuration): 42177 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 42178 (WebKit::WebChromeClient::runJavaScriptAlert): 42179 (WebKit::WebChromeClient::runJavaScriptConfirm): 42180 (WebKit::WebChromeClient::runJavaScriptPrompt): 42181 421822011-07-28 Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> 42183 42184 Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process. 42185 (https://bugs.webkit.org/show_bug.cgi?id=64790) 42186 42187 Reviewed by Martin Robinson. 42188 42189 * Shared/NativeWebKeyboardEvent.h: 42190 (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const). 42191 * UIProcess/API/gtk/PageClientImpl.cpp: 42192 (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event 42193 needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent. 42194 * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent. 42195 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 42196 (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag. 42197 (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent. 42198 (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent. 42199 (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent. 42200 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag. 42201 422022011-07-28 Dan Bernstein <mitz@apple.com> 42203 42204 <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds 42205 42206 Reviewed by Darin Adler. 42207 42208 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 42209 (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters. 42210 422112011-07-28 Brady Eidson <beidson@apple.com> 42212 42213 <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306 42214 WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView 42215 42216 Reviewed by Maciej Stachowiak. 42217 42218 * WebProcess/WebProcess.cpp: 42219 (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker() 42220 422212011-07-27 Mark Hahnenberg <mhahnenberg@apple.com> 42222 42223 Remove operator new from JSCell 42224 https://bugs.webkit.org/show_bug.cgi?id=64999 42225 42226 Reviewed by Oliver Hunt. 42227 42228 Removed the implementation of operator new in JSCell, so any further uses 42229 will not successfully link. Also removed any remaining uses of operator new. 42230 42231 * WebProcess/Plugins/Netscape/JSNPMethod.h: 42232 (WebKit::JSNPMethod::create): 42233 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 42234 (WebKit::JSNPObject::methodGetter): 42235 * WebProcess/Plugins/Netscape/JSNPObject.h: 42236 (WebKit::JSNPObject::create): 42237 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 42238 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 42239 422402011-07-27 Benjamin Poulain <benjamin@webkit.org> 42241 42242 [WK2][Qt] Move from QGraphicsView to Qt Scene Graph 42243 https://bugs.webkit.org/show_bug.cgi?id=62969 42244 42245 Reviewed by Andreas Kling. 42246 42247 Co-authored with Simon Hausmann <simon.hausmann@nokia.com> 42248 42249 This patch change the base of WebKit2 from QGraphicsWidget 42250 to scenegraph based items. 42251 42252 QTouchWebView becomes a QSGItem with the only role of clipping 42253 child items. 42254 QTouchWebPage becomes a QSGPaintedItem in order to render the content 42255 of the flattened page. This is a temporary work around to get 42256 something running without deep changes on the drawing area proxy. 42257 42258 QDesktopWebView become a QSGPaintedItem and behave as before 42259 regarding rendering. The drawing area proxy is used to render 42260 the full item. 42261 42262 The event delivery had to be adapted because the scenegraph does not 42263 follow regular delivery of QEvents. Instead, each event type is 42264 delivered directly to a specific virtual function. 42265 In this patch, the events are forwarded to the classic QObject::event(). 42266 42267 For the features that cannot be implemented on scenegraph (tooltip, menus, etc), 42268 a temporary workaround was added: the parent canvas is used as the widget for 42269 providing the feature. This assumes the web views alone in the canvas and 42270 take its full size. This will have to be fixed in the scenegraph for us to 42271 implement those features. 42272 42273 * UIProcess/API/qt/qdesktopwebview.cpp: 42274 (QDesktopWebViewPrivate::drawingAreaSize): 42275 (QDesktopWebViewPrivate::isActive): 42276 (QDesktopWebViewPrivate::startDrag): 42277 (QDesktopWebViewPrivate::didChangeToolTip): 42278 (QDesktopWebViewPrivate::didChangeCursor): 42279 (QDesktopWebViewPrivate::showContextMenu): 42280 (QDesktopWebView::QDesktopWebView): 42281 (QDesktopWebView::init): 42282 (paintCrashedPage): 42283 (QDesktopWebView::keyPressEvent): 42284 (QDesktopWebView::keyReleaseEvent): 42285 (QDesktopWebView::inputMethodEvent): 42286 (QDesktopWebView::focusInEvent): 42287 (QDesktopWebView::focusOutEvent): 42288 (QDesktopWebView::mousePressEvent): 42289 (QDesktopWebView::mouseMoveEvent): 42290 (QDesktopWebView::mouseReleaseEvent): 42291 (QDesktopWebView::mouseDoubleClickEvent): 42292 (QDesktopWebView::wheelEvent): 42293 (QDesktopWebView::touchEvent): 42294 (QDesktopWebView::hoverEnterEvent): 42295 (QDesktopWebView::hoverMoveEvent): 42296 (QDesktopWebView::hoverLeaveEvent): 42297 (QDesktopWebView::dragMoveEvent): 42298 (QDesktopWebView::dragEnterEvent): 42299 (QDesktopWebView::dragExitEvent): 42300 (QDesktopWebView::dragDropEvent): 42301 (QDesktopWebView::geometryChanged): 42302 (QDesktopWebView::paint): 42303 (QDesktopWebView::event): 42304 * UIProcess/API/qt/qdesktopwebview.h: 42305 * UIProcess/API/qt/qtouchwebpage.cpp: 42306 (QTouchWebPage::QTouchWebPage): 42307 (QTouchWebPage::paint): 42308 (QTouchWebPage::event): 42309 (QTouchWebPage::keyPressEvent): 42310 (QTouchWebPage::keyReleaseEvent): 42311 (QTouchWebPage::inputMethodEvent): 42312 (QTouchWebPage::focusInEvent): 42313 (QTouchWebPage::focusOutEvent): 42314 (QTouchWebPage::touchEvent): 42315 (QTouchWebPage::geometryChanged): 42316 * UIProcess/API/qt/qtouchwebpage.h: 42317 * UIProcess/API/qt/qtouchwebview.cpp: 42318 (QTouchWebViewPrivate::scroll): 42319 (QTouchWebView::QTouchWebView): 42320 (QTouchWebView::geometryChanged): 42321 * UIProcess/API/qt/qtouchwebview.h: 42322 * UIProcess/API/qt/tests/tests.pri: 42323 * UIProcess/API/qt/tests/testwindow.h: 42324 (TestWindow::TestWindow): 42325 (TestWindow::resizeEvent): 42326 * UIProcess/qt/TouchViewInterface.cpp: 42327 (WebKit::TouchViewInterface::panGestureRequestScroll): 42328 (WebKit::TouchViewInterface::pinchGestureRequestUpdate): 42329 (WebKit::TouchViewInterface::drawingAreaSize): 42330 (WebKit::TouchViewInterface::contentSizeChanged): 42331 (WebKit::TouchViewInterface::isActive): 42332 * UIProcess/qt/ViewInterface.cpp: Removed. 42333 * UIProcess/qt/ViewInterface.h: 42334 * WebKit2.pro: 42335 423362011-07-27 Benjamin Poulain <benjamin@webkit.org> 42337 42338 [Qt][WK2] Clean WKPageLoaderClient 42339 https://bugs.webkit.org/show_bug.cgi?id=65246 42340 42341 Reviewed by Andreas Kling. 42342 42343 Remove the empty functions from Qt's WKPageLoaderClient. 42344 42345 * UIProcess/qt/ClientImpl.cpp: 42346 (qt_wk_didSameDocumentNavigationForFrame): Move the function to 42347 have all the implementations in the same order as the definitions. 42348 * UIProcess/qt/ClientImpl.h: 42349 * UIProcess/qt/QtWebPageProxy.cpp: 42350 (QtWebPageProxy::init): 42351 423522011-07-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 42353 42354 Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph 42355 https://bugs.webkit.org/show_bug.cgi?id=65253 42356 42357 Reviewed by Andreas Kling. 42358 42359 The -webkit-pictograph generic family was added by bug 65197. 42360 42361 * Shared/WebPreferencesStore.h: 42362 423632011-07-27 Benjamin Poulain <benjamin@webkit.org> 42364 42365 [Qt][WK2] Simplify the PageUIClient 42366 https://bugs.webkit.org/show_bug.cgi?id=65198 42367 42368 Reviewed by Andreas Kling. 42369 42370 The only function of WKPageLoaderClient with a complete implementation 42371 is qt_wk_setStatusText(). The other functions were what is left from 42372 before the refactoring of QWKPage. 42373 42374 This patch removes the unused functions to simplify the client. Since the dependency 42375 on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly. 42376 42377 * UIProcess/qt/ClientImpl.cpp: 42378 (toViewInterface): 42379 (qt_wk_setStatusText): 42380 * UIProcess/qt/ClientImpl.h: 42381 * UIProcess/qt/QtWebPageProxy.cpp: 42382 (QtWebPageProxy::QtWebPageProxy): 42383 (QtWebPageProxy::init): 42384 * UIProcess/qt/QtWebPageProxy.h: 42385 423862011-07-26 Sadrul Habib Chowdhury <sadrul@chromium.org> 42387 42388 Add support for download='filename' attribute in anchors. 42389 https://bugs.webkit.org/show_bug.cgi?id=64580 42390 42391 Reviewed by Adam Barth. 42392 42393 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42394 (WebKit::WebFrameLoaderClient::startDownload): 42395 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 42396 423972011-07-26 Tim Horton <timothy_horton@apple.com> 42398 42399 Apply r40940 to WebKit2 to work around a Silverlight crash. 42400 https://bugs.webkit.org/show_bug.cgi?id=65205 42401 <rdar://problem/9058370> 42402 42403 Reviewed by Anders Carlsson. 42404 42405 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 42406 (WebKit::NetscapePluginModule::determineQuirks): 42407 * Shared/Plugins/PluginQuirks.h: 42408 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 42409 (WebKit::NetscapePlugin::userAgent): 42410 424112011-07-26 Dan Bernstein <mitz@apple.com> 42412 42413 <rdar://problem/9842889> Add a generic pictograph font family 42414 https://bugs.webkit.org/show_bug.cgi?id=65197 42415 42416 Reviewed by Anders Carlsson. 42417 42418 * Shared/WebPreferencesStore.h: 42419 * UIProcess/API/C/WKPreferences.cpp: 42420 (WKPreferencesSetPictographFontFamily): Added. 42421 (WKPreferencesCopyPictographFontFamily): Added. 42422 * UIProcess/API/C/WKPreferences.h: 42423 424242011-07-26 Andras Becsi <abecsi@webkit.org> 42425 42426 [Qt] [WK2] Disable the build with Qt versions older than 5.0 42427 https://bugs.webkit.org/show_bug.cgi?id=65189 42428 42429 Reviewed by Csaba Osztrogonác. 42430 42431 * Platform/qt/ModuleQt.cpp: 42432 (WebKit::Module::platformFunctionPointer): Fix the build for Qt5. 42433 424342011-07-26 Benjamin Poulain <benjamin@webkit.org> 42435 42436 [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy 42437 https://bugs.webkit.org/show_bug.cgi?id=64739 42438 42439 Reviewed by Andreas Kling. 42440 42441 Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding 42442 the context menu. 42443 42444 The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead 42445 created and handled directly by the WebContextMenuProxyQt. 42446 42447 * UIProcess/qt/QtWebPageProxy.cpp: 42448 (QtWebPageProxy::createContextMenuProxy): 42449 (QtWebPageProxy::triggerAction): 42450 (QtWebPageProxy::action): 42451 * UIProcess/qt/QtWebPageProxy.h: 42452 * UIProcess/qt/WebContextMenuProxyQt.cpp: 42453 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 42454 (WebKit::WebContextMenuProxyQt::create): 42455 (WebKit::WebContextMenuProxyQt::actionTriggered): 42456 (WebKit::WebContextMenuProxyQt::showContextMenu): 42457 (WebKit::WebContextMenuProxyQt::hideContextMenu): 42458 (WebKit::WebContextMenuProxyQt::createContextMenu): 42459 * UIProcess/qt/WebContextMenuProxyQt.h: 42460 424612011-07-26 Carlos Garcia Campos <cgarcia@igalia.com> 42462 42463 [GTK] Remove header webkitwebviewcommon.h 42464 https://bugs.webkit.org/show_bug.cgi?id=65177 42465 42466 Reviewed by Martin Robinson. 42467 42468 * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes 42469 instead of including webkitwebviewcommon.h. 42470 424712011-07-22 Jessie Berlin <jberlin@apple.com> 42472 42473 [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work. 42474 https://bugs.webkit.org/show_bug.cgi?id=64997 42475 42476 Reviewed by Ada Chan. 42477 42478 * WebProcess/Cookies/mac/WebCookieManagerMac.mm: 42479 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 42480 Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well. 42481 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 42482 (InitWebCoreSystemInterface): 42483 424842011-07-21 Yael Aharon <yael.aharon@nokia.com> 42485 42486 [Qt][WK2] Code cleanup for drag-and-drop 42487 https://bugs.webkit.org/show_bug.cgi?id=64916 42488 42489 Reviewed by Andreas Kling. 42490 42491 * UIProcess/WebPageProxy.cpp: 42492 (WebKit::WebPageProxy::startDrag): 42493 Allow receiving a NULL bitmap from the web process. 42494 42495 * UIProcess/qt/qdesktopwebpageproxy.cpp: 42496 (QDesktopWebPageProxy::handleEvent): 42497 Fix typo introduced in http://trac.webkit.org/changeset/90458. 42498 All DnD related events should be GraphicsScene events. 42499 42500 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: 42501 (WebKit::convertQPixmapToShareableBitmap): 42502 Remove hack that creates a 1x1 bitmap. 42503 It is no longer needed after http://trac.webkit.org/changeset/91016. 42504 42505 (WebKit::WebDragClient::startDrag): 42506 Allow sending a NULL bitmap to the UI process. 42507 425082011-07-20 Tim Horton <timothy_horton@apple.com> 42509 42510 Scrollbar color heuristic needs to be hooked up in WebKit1 42511 https://bugs.webkit.org/show_bug.cgi?id=64220 42512 <rdar://problem/9589140> 42513 42514 Reviewed by Darin Adler. 42515 42516 Store the scroller style on ScrollableArea, and recompute it whenever 42517 the document or body element background color changes or the base background 42518 color of the scrollview changes. Also, make sure to repaint the scrollbars 42519 whenever the style changes. 42520 42521 * WebProcess/WebPage/WebFrame.cpp: 42522 (WebKit::WebFrame::getDocumentBackgroundColor): 42523 425242011-07-20 James Robinson <jamesr@chromium.org> 42525 42526 Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock 42527 https://bugs.webkit.org/show_bug.cgi?id=64841 42528 42529 Reviewed by Mark Rowe. 42530 42531 http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the 42532 monotonic clock instead of WTF::currentTime(). This broke many plugin tests on WebKit2 for reasons that are 42533 unclear. This reverts everything except for WebCore::ThreadTimers back to the previous behavior. 42534 42535 * Platform/CoreIPC/Connection.cpp: 42536 (CoreIPC::Connection::waitForMessage): 42537 (CoreIPC::Connection::waitForSyncReply): 42538 * Platform/RunLoop.h: 42539 425402011-07-19 Ryosuke Niwa <rniwa@webkit.org> 42541 42542 Build fix after r91307. 42543 42544 * Platform/Logging.h: 42545 425462011-07-19 Lukasz Slachciak <lukasz.slachciak@gmail.com> 42547 42548 [GTK] [WK2] Implement missing initializeLogChannel function. 42549 https://bugs.webkit.org/show_bug.cgi?id=63381 42550 42551 Reviewed by Martin Robinson. 42552 42553 Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports, 42554 so added missing implementation. Aslo helper function added for getting channels from names. 42555 42556 * GNUmakefile.am: Added reference to new file LoggingGtk.cpp. 42557 * Platform/Logging.cpp: Logging implementation for GTK port enabled. 42558 (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel. 42559 * Platform/Logging.h: New helper method added. 42560 * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation. 42561 (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG. 42562 425632011-07-19 Brian Weinstein <bweinstein@apple.com> 42564 42565 Add back a change that was accidentally removed in r91266. 42566 42567 Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases 42568 its responder. Also make the comment more explicit, to keep this mistake from being made in the future. 42569 42570 Rubber-stamped by Darin Adler. 42571 42572 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 42573 (WebKit::WebDragClient::dragEnded): 42574 425752011-07-18 Brian Weinstein <bweinstein@apple.com> 42576 42577 Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac 42578 https://bugs.webkit.org/show_bug.cgi?id=64766 42579 <rdar://problem/9548174> 42580 42581 Reviewed by Enrica Casucci. 42582 42583 I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create 42584 a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner 42585 which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the 42586 WKPasteboardFilePromiseOwner method is called. 42587 42588 The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping 42589 both objects alive. 42590 42591 This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source. 42592 42593 * WebProcess/WebCoreSupport/WebDragClient.cpp: 42594 (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here. 42595 * WebProcess/WebCoreSupport/WebDragClient.h: 42596 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 42597 (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables. 42598 (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables. 42599 * WebProcess/WebPage/WebPage.cpp: 42600 (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded, 42601 which does the same thing. 42602 * WebProcess/WebPage/WebPage.h: 42603 * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded. 42604 426052011-07-18 Alexis Menard <alexis.menard@openbossa.org> 42606 42607 [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML. 42608 https://bugs.webkit.org/show_bug.cgi?id=64690 42609 42610 Make the API usable with QML by declaring what's needed 42611 with the macros. 42612 42613 Reviewed by Benjamin Poulain. 42614 42615 * UIProcess/API/qt/qdesktopwebview.h: 42616 426172011-07-18 MORITA Hajime <morrita@google.com> 42618 42619 [ShadowContentElement] forwarded node should be able to access its hosting content element. 42620 https://bugs.webkit.org/show_bug.cgi?id=64251 42621 42622 Reviewed by Dimitri Glazkov. 42623 42624 Exported additional symbols for window.internals object. 42625 42626 * win/WebKit2.def: 42627 * win/WebKit2CFLite.def: 42628 426292011-07-18 Dean Jackson <dino@apple.com> 42630 42631 https://bugs.webkit.org/show_bug.cgi?id=64742 42632 Expose WebPreferences for media playback requiring user gestures and inline playback 42633 42634 Reviewed by Simon Fraser. 42635 42636 Two new WebPreferences: MediaPlaybackRequiresUserGesture and 42637 MediaPlaybackAllowsInline. 42638 42639 * Shared/WebPreferencesStore.h: 42640 * UIProcess/API/C/WKPreferences.cpp: 42641 (WKPreferencesSetMediaPlaybackRequiresUserGesture): 42642 (WKPreferencesGetMediaPlaybackRequiresUserGesture): 42643 (WKPreferencesSetMediaPlaybackAllowsInline): 42644 (WKPreferencesGetMediaPlaybackAllowsInline): 42645 * UIProcess/API/C/WKPreferencesPrivate.h: 42646 * WebProcess/WebPage/WebPage.cpp: 42647 (WebKit::WebPage::updatePreferences): 42648 426492011-07-18 James Robinson <jamesr@chromium.org> 42650 42651 Timer scheduling should be based off the monotonic clock 42652 https://bugs.webkit.org/show_bug.cgi?id=64544 42653 42654 Reviewed by Darin Adler. 42655 42656 Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime(). 42657 42658 * Platform/CoreIPC/Connection.cpp: 42659 (CoreIPC::Connection::waitForMessage): 42660 (CoreIPC::Connection::waitForSyncReply): 42661 * Platform/RunLoop.h: 42662 426632011-07-18 Anders Carlsson <andersca@apple.com> 42664 42665 Make using lowercase parameter names for AppleConnect be a plug-in quirk 42666 https://bugs.webkit.org/show_bug.cgi?id=64638 42667 42668 Reviewed by Sam Weinig. 42669 42670 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 42671 (WebKit::NetscapePluginModule::determineQuirks): 42672 Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in. 42673 42674 * Shared/Plugins/PluginQuirks.h: 42675 Add WantsLowercaseParameterNames quirk. 42676 42677 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 42678 (WebKit::NetscapePlugin::initialize): 42679 If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter 42680 names to lowercase. 42681 42682 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42683 (WebKit::WebFrameLoaderClient::createPlugin): 42684 Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks 42685 aren't really the same thing as site-specific quirks. 42686 426872011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42688 42689 [Qt] Consider QTouchWebPage's transform when scrolling the viewport. 42690 https://bugs.webkit.org/show_bug.cgi?id=64541 42691 42692 Reviewed by Benjamin Poulain. 42693 42694 Currently the scroll deltas are given to moveBy in page coordinates 42695 which doesn't match when the page view is scalled. 42696 This patch gives the scroll delta to the viewport in it's own coordinates. 42697 42698 * UIProcess/qt/TouchViewInterface.cpp: 42699 (WebKit::TouchViewInterface::panGestureRequestScroll): 42700 427012011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42702 42703 [Qt] Push the new viewport rect to the drawing area after committing the scale. 42704 https://bugs.webkit.org/show_bug.cgi?id=64597 42705 42706 Reviewed by Benjamin Poulain. 42707 42708 * UIProcess/qt/TouchViewInterface.cpp: 42709 (WebKit::TouchViewInterface::pinchGestureEnded): 42710 427112011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42712 42713 [Qt] Remove the scale commit timer from QTouchWebPage. 42714 https://bugs.webkit.org/show_bug.cgi?id=64600 42715 42716 Reviewed by Benjamin Poulain. 42717 42718 Since we don't currently need unprepared page view scale changes, 42719 this timer isn't useful. 42720 42721 * UIProcess/API/qt/qtouchwebpage.cpp: 42722 (QTouchWebPage::QTouchWebPage): 42723 (QTouchWebPagePrivate::QTouchWebPagePrivate): 42724 (QTouchWebPagePrivate::commitScaleChange): 42725 * UIProcess/API/qt/qtouchwebpage.h: 42726 * UIProcess/API/qt/qtouchwebpage_p.h: 42727 * UIProcess/qt/TouchViewInterface.cpp: 42728 (WebKit::TouchViewInterface::pinchGestureStarted): 42729 427302011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 42731 42732 TiledDrawingArea: map the visibleArea rect from page to tiles coordinates. 42733 https://bugs.webkit.org/show_bug.cgi?id=64538 42734 42735 Reviewed by Benjamin Poulain. 42736 42737 TiledDrawingAreaProxy expects its coordinates to be scaled according to 42738 contentsScale. This patch keep the pushed visibleArea as page coordinates 42739 and convert it each time to scaled coordinates in case the contents scale was 42740 changed afterward. 42741 This is a regression introduced in r90750. 42742 Also: 42743 - Rename visibleArea to visibleContentRect 42744 - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect 42745 42746 * UIProcess/API/qt/qtouchwebpage.cpp: 42747 (QTouchWebPagePrivate::setViewportRect): 42748 * UIProcess/TiledDrawingAreaProxy.cpp: 42749 (WebKit::TiledDrawingAreaProxy::invalidate): 42750 (WebKit::TiledDrawingAreaProxy::setVisibleContentRect): 42751 (WebKit::TiledDrawingAreaProxy::createTiles): 42752 (WebKit::TiledDrawingAreaProxy::visibleRect): 42753 * UIProcess/TiledDrawingAreaProxy.h: 42754 * UIProcess/qt/qtouchwebpageproxy.cpp: 42755 (QTouchWebPageProxy::setVisibleContentRect): 42756 * UIProcess/qt/qtouchwebpageproxy.h: 42757 427582011-07-17 Amruth Raj <amruthraj@motorola.com> 42759 42760 [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue 42761 https://bugs.webkit.org/show_bug.cgi?id=64666 42762 42763 Reviewed by Martin Robinson. 42764 42765 * Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required 42766 * Shared/gtk/WebEventFactory.cpp: 42767 (WebKit::modifiersForEvent): Fix an incorrect ASSERT statement 42768 (WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys 42769 427702011-07-17 Lukasz Slachciak <l.slachciak@samsung.com> 42771 42772 Reviewed by Martin Robinson. 42773 42774 [GTK] [WK2] Fix for getting editor client commands. 42775 https://bugs.webkit.org/show_bug.cgi?id=63081 42776 42777 Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only. 42778 In fact EventHandler is generating interpreted events - keypress and keydown. These event types 42779 are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands. 42780 Also build break for Debug build was fixed. 42781 42782 * UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator. 42783 (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional 42784 parameter describing KeyboardEvent type. 42785 * UIProcess/API/gtk/PageClientImpl.h: 42786 * UIProcess/PageClient.h: 42787 * UIProcess/WebPageProxy.h: 42788 * UIProcess/WebPageProxy.messages.in: 42789 * UIProcess/gtk/WebPageProxyGtk.cpp: 42790 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient. 42791 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 42792 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type. 42793 427942011-07-16 Daniel Bates <dbates@webkit.org> 42795 42796 Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>. 42797 42798 Add stub implementation of scale factor overloaded ShareableBitmap::paint() for 42799 Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>. 42800 42801 Also add stub implementation for GTK. 42802 42803 We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664> 42804 and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively. 42805 42806 * Shared/cairo/ShareableBitmapCairo.cpp: 42807 (WebKit::ShareableBitmap::paint): Added scale-factor variant. 42808 * Shared/gtk/ShareableBitmapGtk.cpp: 42809 (WebKit::ShareableBitmap::paint): Added scale-factor variant. 42810 428112011-07-16 Daniel Bates <dbates@webkit.org> 42812 42813 Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085> 42814 (https://bugs.webkit.org/show_bug.cgi?id=64611). 42815 42816 Stub out scale factor-variant implementation of ShareableBitmap::paint(). 42817 We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663> 42818 for more details. 42819 42820 * Shared/qt/ShareableBitmapQt.cpp: 42821 (WebKit::ShareableBitmap::paint): Added scale-factor variant. 42822 428232011-07-16 Simon Fraser <simon.fraser@apple.com> 42824 42825 Add code to attempt to align compositing layers to pixel boundaries when page scale changes 42826 https://bugs.webkit.org/show_bug.cgi?id=64658 42827 42828 Reviewed by Dan Bernstein. 42829 42830 Removed implementation of pageScaleFactor() now that GraphicsLayerClient has 42831 a default implementation. 42832 42833 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 42834 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 42835 428362011-07-16 Daniel Bates <dbates@webkit.org> 42837 42838 Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097> 42839 (https://bugs.webkit.org/show_bug.cgi?id=64615). 42840 42841 * UIProcess/qt/QtWebPageProxy.cpp: 42842 (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method. 42843 * UIProcess/qt/QtWebPageProxy.h: 42844 428452011-07-15 Pratik Solanki <psolanki@apple.com> 42846 42847 Part of https://bugs.webkit.org/show_bug.cgi?id=63674 42848 Get webkit to compile with USE(CFNETWORK) enabled on Mac 42849 42850 Reviewed by David Kilzer. 42851 42852 New WebKitSystemInterface functions for CFNetwork-based loader. 42853 42854 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 42855 (InitWebCoreSystemInterface): 42856 428572011-07-15 Tim Horton <timothy_horton@apple.com> 42858 42859 Overlay scrollbars in overflow areas no longer pulse when revealed 42860 https://bugs.webkit.org/show_bug.cgi?id=64606 42861 <rdar://problem/9390674> 42862 42863 Reviewed by Simon Fraser. 42864 42865 Ensure that the state of the scrollbar implementation is kept in sync 42866 with WebCore's internal representation. Previously, we synchronized them 42867 at paint time, causing pulsing to be skipped due to the scrollbars being 42868 disabled. 42869 42870 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 42871 (InitWebCoreSystemInterface): 42872 428732011-07-15 Simon Fraser <simon.fraser@apple.com> 42874 42875 Have GraphicsLayer pull their contentsScale, rather than pushing it onto them 42876 https://bugs.webkit.org/show_bug.cgi?id=64643 42877 42878 Reviewed by Darin Adler. 42879 42880 Impement new GraphicsLayerClient methods related to contents scale, 42881 and don't push the scale. 42882 42883 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 42884 (WebKit::LayerTreeHostCA::initialize): 42885 (WebKit::LayerTreeHostCA::backingScaleFactor): 42886 (WebKit::LayerTreeHostCA::pageScaleFactor): 42887 (WebKit::LayerTreeHostCA::createPageOverlayLayer): 42888 * WebProcess/WebPage/ca/LayerTreeHostCA.h: 42889 (WebKit::LayerTreeHostCA::didCommitChangesForLayer): 42890 428912011-07-15 Ada Chan <adachan@apple.com> 42892 42893 Implement "Jump to Selection" in WebKit2 42894 https://bugs.webkit.org/show_bug.cgi?id=64569 42895 42896 Reviewed by Anders Carlsson. 42897 42898 * UIProcess/API/mac/WKView.mm: 42899 (-[WKView centerSelectionInVisibleArea:]): Call WebPageProxy::centerSelectionInVisibleArea(). 42900 (-[WKView validateUserInterfaceItem:]): Enable the centerSelectionInVisibleArea: selector if there's a selection 42901 range or if there's an insertion point in an editable area. 42902 * WebProcess/WebPage/FindController.cpp: 42903 (WebKit::FindController::showFindIndicatorInSelection): Call updateFindIndicator() to show the find indicator. 42904 * WebProcess/WebPage/FindController.h: 42905 * WebProcess/WebPage/WebPage.cpp: 42906 (WebKit::WebPage::centerSelectionInVisibleArea): Use the selection in the focused or main frame. 42907 After scrolling the selection into view, flash the find indicator. 42908 429092011-07-15 Dan Bernstein <mitz@apple.com> 42910 42911 Windows build fix. 42912 42913 * UIProcess/win/WebView.cpp: 42914 429152011-07-15 Dan Bernstein <mitz@apple.com> 42916 42917 Windows build fix. 42918 42919 * UIProcess/win/WebView.h: 42920 429212011-07-15 Dan Bernstein <mitz@apple.com> 42922 42923 REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides 42924 https://bugs.webkit.org/show_bug.cgi?id=64615 42925 42926 Reviewed by Anders Carlsson. 42927 42928 * UIProcess/API/efl/PageClientImpl.cpp: 42929 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub. 42930 * UIProcess/API/efl/PageClientImpl.h: 42931 * UIProcess/API/gtk/PageClientImpl.cpp: 42932 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto. 42933 * UIProcess/API/gtk/PageClientImpl.h: 42934 * UIProcess/API/mac/PageClientImpl.h: 42935 * UIProcess/API/mac/PageClientImpl.mm: 42936 (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:]. 42937 * UIProcess/PageClient.h: 42938 * UIProcess/WebPageProxy.cpp: 42939 (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient. 42940 * UIProcess/WebPageProxy.h: 42941 * UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message. 42942 * UIProcess/win/WebView.cpp: 42943 (WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub. 42944 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 42945 (WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message 42946 to the page proxy. 42947 * WebProcess/WebCoreSupport/WebChromeClient.h: 42948 429492011-07-14 Gavin Barraclough <barraclough@apple.com> 42950 42951 https://bugs.webkit.org/show_bug.cgi?id=64250 42952 Global strict mode function leaking global object as "this". 42953 42954 Reviewed by Oliver Hunt. 42955 42956 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 42957 (WebKit::NPJSObject::invoke): 42958 - Change call to pass DOM Window shell, instead of the global varaible object. 42959 429602011-07-15 Anders Carlsson <andersca@apple.com> 42961 42962 Find indicator should take scale factor into account 42963 https://bugs.webkit.org/show_bug.cgi?id=64611 42964 <rdar://problem/9761020> 42965 42966 Reviewed by Sam Weinig. 42967 42968 * UIProcess/FindIndicator.cpp: 42969 (WebKit::FindIndicator::create): 42970 (WebKit::FindIndicator::FindIndicator): 42971 Keep track of the scale factor of the find indicator bitmap. 42972 42973 (WebKit::FindIndicator::draw): 42974 Pass the scale factor to ShareableBitmap::draw. 42975 42976 * UIProcess/FindIndicator.h: 42977 Add scale factor member variable. 42978 42979 * UIProcess/WebPageProxy.cpp: 42980 (WebKit::WebPageProxy::setFindIndicator): 42981 This now takes the content image scale factor. 42982 42983 * UIProcess/WebPageProxy.messages.in: 42984 Add the scale factor. 42985 42986 * WebProcess/WebPage/FindController.cpp: 42987 (WebKit::FindController::updateFindIndicator): 42988 Size the backing store correctly, and apply the scale factor to 42989 the graphics context. 42990 42991 (WebKit::FindController::hideFindIndicator): 42992 Pass the scale factor along. 42993 429942011-07-15 Martin Robinson <mrobinson@igalia.com> 42995 42996 Build fixes for WebKit2. Ensure that all generated sources are 42997 on nodist primaries, that they are on forward declared variables 42998 so that BUILT_SOURCES is calculated properly and that zlib is 42999 included during linking (for WOFF support). 43000 43001 * GNUmakefile.am: 43002 430032011-07-15 Kenneth Rohde Christiansen <kenneth@webkit.org> 43004 43005 Upstream QtWebKit/N9 changes related to visibleContentRect 43006 https://bugs.webkit.org/show_bug.cgi?id=64589 43007 43008 Reviewed by Simon Hausmann. 43009 43010 Rename setActualVisibleContentRect to setFixedVisibleContentRect 43011 as that makes it more obvious that it is an override. It is also 43012 consistent with the setFixedLayout which is often used in 43013 conjunction with it. 43014 43015 * UIProcess/WebPageProxy.cpp: 43016 (WebKit::WebPageProxy::setFixedVisibleContentRect): 43017 * UIProcess/WebPageProxy.h: 43018 * UIProcess/qt/qtouchwebpageproxy.cpp: 43019 (QTouchWebPageProxy::setVisibleArea): 43020 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 43021 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 43022 Only set fixedVisibleContentRect for the mainframe. 43023 * WebProcess/WebPage/WebPage.cpp: 43024 (WebKit::WebPage::setFixedVisibleContentRect): 43025 * WebProcess/WebPage/WebPage.h: 43026 * WebProcess/WebPage/WebPage.messages.in: 43027 430282011-07-15 Carlos Garcia Campos <cgarcia@igalia.com> 43029 43030 Reviewed by Martin Robinson. 43031 43032 [GTK] Install a custom X error handler in plugin process 43033 https://bugs.webkit.org/show_bug.cgi?id=63248 43034 43035 Some plugins, specially flash, can cause X errors that when 43036 handled by the default X error handler (or the GDK one) abort the 43037 process. Since we don't want to crash due to buggy plugins, we 43038 install a custom error handler to show a warning when a X error 43039 happens without aborting. 43040 43041 * PluginProcess/gtk/PluginProcessMainGtk.cpp: 43042 (WebKit::webkitgtkXError): 43043 (WebKit::PluginProcessMainGtk): 43044 430452011-07-14 Carlos Garcia Campos <cgarcia@igalia.com> 43046 43047 Reviewed by Anders Carlsson. 43048 43049 [UNIX] Allow sending null handles in messages 43050 https://bugs.webkit.org/show_bug.cgi?id=60621 43051 43052 Only valid file descriptors are now sent using sendmsg() control 43053 messages, and instead of sending a list of attachment sizes we now 43054 send a list of AttachmentInfo structs. AttachmentInfo contains 43055 information about the attachments including the size for 43056 MappedMemory attachmens and whether the attachment is null or not. 43057 43058 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 43059 (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing 43060 information about the attachments sent. 43061 (CoreIPC::AttachmentInfo::setType): Set the attachment type. 43062 (CoreIPC::AttachmentInfo::getType): Return the attachment type. 43063 (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments. 43064 (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments. 43065 (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it 43066 contains an invalid file descriptor, so the receiver shouldn't 43067 expect a file desriptor for this attachment. 43068 (CoreIPC::AttachmentInfo::isNull): Return whether attachment is 43069 null, it contains an invalid file descriptor. 43070 (CoreIPC::Connection::processMessage): 43071 (CoreIPC::Connection::sendOutgoingMessage): 43072 430732011-07-14 Carlos Garcia Campos <cgarcia@igalia.com> 43074 43075 Reviewed by Martin Robinson. 43076 43077 [GTK] Implement Plugin Process 43078 https://bugs.webkit.org/show_bug.cgi?id=60546 43079 43080 * GNUmakefile.am: Add new files to compilation. 43081 * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added. 43082 (WebKit::PluginProcessMainGtk): 43083 * PluginProcess/gtk/PluginProcessMainGtk.h: Added. 43084 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 43085 (WebKit::ProcessLauncher::launchProcess): 43086 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 43087 (WebKit::moduleMixesGtkSymbols): 43088 * gtk/PluginMainGtk.cpp: Added. 43089 (main): 43090 430912011-07-14 Balazs Kelemen <kbalazs@webkit.org> and Carlos Garcia Campos <cgarcia@igalia.com> 43092 43093 Reviewed by Anders Carlsson. 43094 43095 Implement plugin process for UNIX platform 43096 https://bugs.webkit.org/show_bug.cgi?id=60629 43097 43098 * Platform/CoreIPC/Attachment.h: 43099 * Platform/CoreIPC/unix/AttachmentUnix.cpp: 43100 (CoreIPC::Attachment::Attachment): Add the ability to pass a 43101 socket via Attachment. 43102 * Platform/unix/SharedMemoryUnix.cpp: 43103 (WebKit::SharedMemory::Handle::encode): Remove assertions that 43104 check that the Handle is not null. In 43105 PluginProxy::geometryDidChange we pass a null Handle if we do not 43106 need to allocate a new backing store. 43107 (WebKit::SharedMemory::Handle::releaseToAttachment): Ditto. 43108 * PluginProcess/PluginProcess.cpp: 43109 (WebKit::PluginProcess::createWebProcessConnection): Use 43110 Attachment. Set up the connection with socketpair. 43111 * UIProcess/Plugins/PluginProcessProxy.cpp: 43112 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 43113 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 43114 * UIProcess/Plugins/PluginProcessProxy.h: 43115 * UIProcess/Plugins/PluginProcessProxy.messages.in: 43116 * UIProcess/WebProcessProxy.messages.in: 43117 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 43118 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 43119 Use Attachment to pass the connection. 43120 431212011-07-14 Ada Chan <adachan@apple.com> 43122 43123 Implement support to center selection on a page for WebKit2. 43124 https://bugs.webkit.org/show_bug.cgi?id=64481 43125 43126 Reviewed by Anders Carlsson. 43127 43128 * UIProcess/API/C/WKPage.cpp: 43129 (WKPageCenterSelectionInVisibleArea): Added. Call WebPageProxy::centerSelectionInVisibleArea(). 43130 * UIProcess/API/C/WKPage.h: 43131 * UIProcess/WebPageProxy.cpp: 43132 (WebKit::WebPageProxy::centerSelectionInVisibleArea): Send message to the WebProcess to center selection. 43133 * UIProcess/WebPageProxy.h: 43134 * WebProcess/WebPage/WebPage.cpp: 43135 (WebKit::WebPage::centerSelectionInVisibleArea): Get the FrameSelection from the main frame and call 43136 revealSelection() to center it. 43137 * WebProcess/WebPage/WebPage.h: 43138 * WebProcess/WebPage/WebPage.messages.in: Add the CenterSelectionInVisibleArea message. 43139 431402011-07-14 MORITA Hajime <morrita@google.com> 43141 43142 Unreviewed, rolling out r90976, r90981, and r90985. 43143 http://trac.webkit.org/changeset/90976 43144 http://trac.webkit.org/changeset/90981 43145 http://trac.webkit.org/changeset/90985 43146 https://bugs.webkit.org/show_bug.cgi?id=64251 43147 43148 build break 43149 43150 * win/WebKit2.def: 43151 * win/WebKit2CFLite.def: 43152 431532011-07-13 MORITA Hajime <morrita@google.com> 43154 43155 Unreviewed attempt at a build fix. 43156 43157 * win/WebKit2CFLite.def: 43158 431592011-07-13 MORITA Hajime <morrita@google.com> 43160 43161 [ShadowContentElement] forwarded node should be able to access its hosting content element. 43162 https://bugs.webkit.org/show_bug.cgi?id=64251 43163 43164 Reviewed by Dimitri Glazkov. 43165 43166 Exported additional symbols for window.internals object. 43167 43168 * win/WebKit2.def: 43169 431702011-07-13 David Levin <levin@chromium.org> 43171 43172 Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger. 43173 https://bugs.webkit.org/show_bug.cgi?id=64465 43174 43175 Reviewed by Dmitry Titov. 43176 43177 There isn't a good way to test this as it is very highly unlikely to occur. 43178 43179 * PluginProcess/mac/PluginProcessMac.mm: 43180 (WebKit::shouldCallRealDebugger): :Since scoped static initialization 43181 isn't thread-safe, change the initialization to be global. 43182 431832011-07-13 Andreas Kling <kling@webkit.org> 43184 43185 [Qt][WK2] Remove invalid signal/slot connection in QTouchWebView. 43186 https://bugs.webkit.org/show_bug.cgi?id=64450 43187 43188 Reviewed by Benjamin Poulain. 43189 43190 The focusNextPrevChild() signal was removed, so we shouldn't try to 43191 connect to it. 43192 43193 * UIProcess/API/qt/qtouchwebpage.cpp: 43194 (QTouchWebPagePrivate::setPage): 43195 431962011-07-13 Andreas Kling <kling@webkit.org> 43197 43198 [Qt][WK2] Undelayed WorkItems are leaked after execution. 43199 https://bugs.webkit.org/show_bug.cgi?id=64447 43200 43201 Reviewed by Benjamin Poulain. 43202 43203 * Platform/qt/WorkQueueQt.cpp: 43204 (WorkQueue::WorkItemQt::executeAndDelete): 43205 (WorkQueue::WorkItemQt::timerEvent): 43206 (WorkQueue::scheduleWork): 43207 432082011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 43209 43210 [Qt] Also stop the scale commit timer when commitScaleChange is called explicitly. 43211 https://bugs.webkit.org/show_bug.cgi?id=64357 43212 43213 Reviewed by Benjamin Poulain. 43214 43215 * UIProcess/API/qt/qtouchwebpage.cpp: 43216 (QTouchWebPage::timerEvent): 43217 (QTouchWebPagePrivate::commitScaleChange): 43218 432192011-07-12 Joseph Pecoraro <joepeck@webkit.org> 43220 43221 ApplicationCache update should not immediately fail when reaching per-origin quota 43222 https://bugs.webkit.org/show_bug.cgi?id=64177 43223 43224 Reviewed by Alexey Proskuryakov. 43225 43226 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 43227 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 43228 * WebProcess/WebCoreSupport/WebChromeClient.h: 43229 432302011-06-22 Jer Noble <jer.noble@apple.com> 43231 43232 Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary 43233 https://bugs.webkit.org/show_bug.cgi?id=63217 43234 <rdar://problem/9660291> 43235 43236 Reviewed by Darin Adler. 43237 43238 Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's 43239 collectionBehavior. 43240 43241 * UIProcess/mac/WKFullScreenWindowController.mm: 43242 (-[WKFullScreenWindowController beganExitFullScreenAnimation]): 43243 432442011-07-12 Andreas Kling <kling@webkit.org> 43245 43246 [Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted. 43247 https://bugs.webkit.org/show_bug.cgi?id=64383 43248 43249 Reviewed by Kenneth Rohde Christiansen. 43250 43251 Update the navigation actions before emitting loadStarted(). 43252 43253 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 43254 (LoadStartedCatcher::LoadStartedCatcher): 43255 (LoadStartedCatcher::onLoadStarted): 43256 (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted): 43257 * UIProcess/qt/ClientImpl.cpp: 43258 (qt_wk_didStartProvisionalLoadForFrame): 43259 432602011-07-12 Benjamin Poulain <benjamin@webkit.org> 43261 43262 [Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2 43263 https://bugs.webkit.org/show_bug.cgi?id=64373 43264 43265 Reviewed by Andreas Kling. 43266 43267 This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of 43268 the events not handled by the WebProcess. 43269 43270 TouchViewInterface::pinchGestureRequestScale() has a basic default implementation 43271 so the feature can be tested manually. 43272 43273 * UIProcess/qt/QtGestureRecognizer.cpp: 43274 QtGestureRecognizer is the private base class for both gesture recognizer 43275 in order to be able to share some code. 43276 (WebKit::QtGestureRecognizer::QtGestureRecognizer): 43277 (WebKit::QtGestureRecognizer::reset): 43278 * UIProcess/qt/QtGestureRecognizer.h: 43279 * UIProcess/qt/QtPanGestureRecognizer.cpp: 43280 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 43281 (WebKit::QtPanGestureRecognizer::reset): 43282 * UIProcess/qt/QtPanGestureRecognizer.h: 43283 * UIProcess/qt/QtPinchGestureRecognizer.cpp: Added. 43284 (WebKit::findTouchPointIndex): 43285 (WebKit::computeTouchCenter): 43286 (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer): 43287 (WebKit::QtPinchGestureRecognizer::recognize): 43288 (WebKit::QtPinchGestureRecognizer::reset): 43289 (WebKit::QtPinchGestureRecognizer::initializeGesture): 43290 * UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h. 43291 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation): 43292 (WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid): 43293 * UIProcess/qt/TouchViewInterface.cpp: 43294 (WebKit::TouchViewInterface::TouchViewInterface): 43295 (WebKit::TouchViewInterface::pinchGestureStarted): 43296 (WebKit::TouchViewInterface::pinchGestureRequestScale): 43297 The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start 43298 of the gesture in order to avoid numerical instabilities. 43299 (WebKit::TouchViewInterface::pinchGestureEnded): 43300 * UIProcess/qt/TouchViewInterface.h: 43301 * UIProcess/qt/qtouchwebpageproxy.cpp: 43302 (QTouchWebPageProxy::QTouchWebPageProxy): 43303 (QTouchWebPageProxy::processDidCrash): 43304 (QTouchWebPageProxy::doneWithTouchEvent): 43305 * UIProcess/qt/qtouchwebpageproxy.h: 43306 * WebKit2.pro: 43307 433082011-07-12 Andreas Kling <kling@webkit.org> 43309 43310 [Qt][WK2] Navigation actions should react to web process availability. 43311 https://bugs.webkit.org/show_bug.cgi?id=64375 43312 43313 Reviewed by Benjamin Poulain. 43314 43315 When the web process is unavailable, the reload and stop actions should 43316 behave slightly differently. Stop should always be disabled, and reload 43317 should be enabled if there's a reloadable item in the back/forward list. 43318 43319 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: 43320 (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup): 43321 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: 43322 (tst_QTouchWebView::navigationActionEnabledStatusAtStartup): 43323 * UIProcess/qt/QtWebPageProxy.cpp: 43324 (QtWebPageProxy::updateAction): 43325 (QtWebPageProxy::didRelaunchProcess): 43326 (QtWebPageProxy::processDidCrash): 43327 433282011-07-12 Andreas Kling <kling@webkit.org> 43329 43330 [Qt][WK2] QDesktopWebView crashes if resized without web process. 43331 https://bugs.webkit.org/show_bug.cgi?id=64371 43332 43333 Reviewed by Benjamin Poulain. 43334 43335 * UIProcess/qt/QtWebPageProxy.cpp: 43336 (QtWebPageProxy::paint): Remove an invalid assertion. The drawing 43337 area may be null if the web process has crashed. 43338 (QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no 43339 drawing area. 43340 433412011-07-12 Andreas Kling <kling@webkit.org> 43342 43343 [Qt][WK2] Add informative loadFailed() signal to web views. 43344 https://bugs.webkit.org/show_bug.cgi?id=64362 43345 43346 Reviewed by Benjamin Poulain. 43347 43348 The web views will now emit loadFailed(QWebError) when a load failure occurs. 43349 43350 The QWebError object currently contains: 43351 - Type of failure (whether it's an engine, network or protocol error.) 43352 - The failing URL. 43353 - Any error code associated with the failure. 43354 43355 * UIProcess/API/qt/qdesktopwebview.cpp: 43356 (QDesktopWebViewPrivate::loadDidFail): 43357 * UIProcess/API/qt/qdesktopwebview.h: 43358 * UIProcess/API/qt/qdesktopwebview_p.h: 43359 * UIProcess/API/qt/qtouchwebpage.h: 43360 * UIProcess/API/qt/qweberror.cpp: Added. 43361 (QWebError::QWebError): 43362 (QWebErrorPrivate::createQWebError): 43363 (QWebErrorPrivate::QWebErrorPrivate): 43364 (QWebErrorPrivate::~QWebErrorPrivate): 43365 (QWebError::type): 43366 (QWebError::errorCode): 43367 (QWebError::url): 43368 * UIProcess/API/qt/qweberror.h: Added. 43369 * UIProcess/API/qt/qweberror_p.h: Added. 43370 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 43371 (tst_CommonViewTests::loadNonexistentFileUrl): 43372 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 43373 (WebViewAbstraction::WebViewAbstraction): 43374 (WebViewAbstraction::touchViewLoadFailed): 43375 (WebViewAbstraction::desktopViewLoadFailed): 43376 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 43377 * UIProcess/qt/ClientImpl.cpp: 43378 (dispatchLoadSucceeded): 43379 (dispatchLoadFailed): 43380 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 43381 (qt_wk_didFinishLoadForFrame): 43382 (qt_wk_didFailLoadWithErrorForFrame): 43383 * UIProcess/qt/QtWebPageProxy.cpp: 43384 (QtWebPageProxy::loadDidFail): 43385 * UIProcess/qt/QtWebPageProxy.h: 43386 * UIProcess/qt/TouchViewInterface.cpp: 43387 (WebKit::TouchViewInterface::loadDidFail): 43388 * UIProcess/qt/TouchViewInterface.h: 43389 * UIProcess/qt/ViewInterface.h: 43390 * WebKit2API.pri: 43391 433922011-07-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 43393 43394 [Qt] Forward the touch view scale changes to the tiled drawing area. 43395 https://bugs.webkit.org/show_bug.cgi?id=64357 43396 43397 Reviewed by Kenneth Rohde Christiansen. 43398 43399 The drawing area needs to know the new scale to render tiles accordingly. 43400 43401 * UIProcess/API/qt/qtouchwebpage.cpp: 43402 (QTouchWebPagePrivate::commitScaleChange): 43403 * UIProcess/qt/qtouchwebpageproxy.cpp: 43404 (QTouchWebPageProxy::setContentsScale): 43405 * UIProcess/qt/qtouchwebpageproxy.h: 43406 (QTouchWebPageProxy::drawingArea): 43407 434082011-07-12 Adam Roben <aroben@apple.com> 43409 43410 Export some symbols needed by TestWebKitAPI 43411 43412 Part of <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using 43413 operator+ is suboptimal 43414 43415 Reviewed by Darin Adler. 43416 43417 * win/WebKit2.def: 43418 434192011-07-11 Hironori Bono <hbono@chromium.org> 43420 43421 Reviewed by Adam Roben. 43422 43423 Implement layoutTestController.setTextDirection for WebKit2 and Windows. 43424 https://bugs.webkit.org/show_bug.cgi?id=61931 43425 43426 This change implements layoutTextController.setTextDirection for WebKit2 43427 and Windows so we can run a layout test added by r87770 on them. Each 43428 implementation adds a wrapper function for Editor::setBaseWritingDirection() 43429 so LayoutTestController can call it. 43430 43431 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added 43432 WKBundleFrameSetTextDirection to allow LayoutTestController to change the 43433 text direction. 43434 (WKBundleFrameSetTextDirection): 43435 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: ditto. 43436 * WebProcess/WebPage/WebFrame.cpp: Added setTextDirection to allow 43437 WKBundleFrame to change the text direction. 43438 (WebKit::WebFrame::setTextDirection): 43439 * WebProcess/WebPage/WebFrame.h: ditto. 43440 434412011-07-11 Benjamin Poulain <benjamin@webkit.org> 43442 43443 [Qt][WK2] Get rid of focusNextPrevChild() 43444 https://bugs.webkit.org/show_bug.cgi?id=64289 43445 43446 Reviewed by Andreas Kling. 43447 43448 Qt 5 does not use focusNextPrevChild() but uses setFocusNavigation(), and 43449 the focus is not based on QWidget. 43450 43451 We can get rid of the method since the new implementation will be totally 43452 different. 43453 43454 * UIProcess/API/qt/qtouchwebpage.cpp: 43455 * UIProcess/API/qt/qtouchwebpage.h: 43456 * UIProcess/qt/ClientImpl.cpp: 43457 (qt_wk_takeFocus): 43458 * UIProcess/qt/QtWebPageProxy.h: 43459 434602011-07-11 Anders Carlsson <andersca@apple.com> 43461 43462 Implement getFormValue for WebKit2 43463 https://bugs.webkit.org/show_bug.cgi?id=64294 43464 <rdar://problem/3964087> 43465 43466 Reviewed by Kevin Decker. 43467 43468 * PluginProcess/PluginControllerProxy.cpp: 43469 (WebKit::PluginControllerProxy::getFormValue): 43470 Call Plugin::getFormValue. 43471 43472 * PluginProcess/PluginControllerProxy.messages.in: 43473 Add new GetFormValue message. 43474 43475 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 43476 (WebKit::NetscapePlugin::getFormValue): 43477 Get the form value and convert it to a String. 43478 43479 * WebProcess/Plugins/Plugin.h: 43480 Add getFormValue pure virtual member function. 43481 43482 * WebProcess/Plugins/PluginProxy.cpp: 43483 (WebKit::PluginProxy::getFormValue): 43484 Send a GetFormValue message to the plug-in process. 43485 43486 * WebProcess/Plugins/PluginView.cpp: 43487 (WebKit::PluginView::getFormValue): 43488 Call Plugin::getFormValue. 43489 434902011-07-11 Ada Chan <adachan@apple.com> 43491 43492 The original request should be accessible from WebNavigationData. 43493 https://bugs.webkit.org/show_bug.cgi?id=64227 43494 43495 Reviewed by Anders Carlsson. 43496 43497 * Shared/WebNavigationDataStore.h: 43498 (WebKit::WebNavigationDataStore::encode): Handle the encoding of the original request. 43499 (WebKit::WebNavigationDataStore::decode): Handle the decoding of the original request. 43500 * UIProcess/API/C/WKNavigationData.cpp: 43501 (WKNavigationDataCopyOriginalRequest): 43502 * UIProcess/API/C/WKNavigationData.h: 43503 * UIProcess/WebNavigationData.h: 43504 (WebKit::WebNavigationData::originalRequest): 43505 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 43506 (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the original request in the WebNavigationDataStore. 43507 435082011-07-11 Benjamin Poulain <benjamin@webkit.org> 43509 43510 [Qt][WK2] Forward the viewport visible area from the view instead of inferring it from the TiledDrawingAreaProxy 43511 https://bugs.webkit.org/show_bug.cgi?id=64275 43512 43513 Reviewed by Simon Hausmann. 43514 43515 This patch refactors the way the viewport visible area is handled. 43516 Previously, the TiledDrawingAreaProxy would ask for the visible rect 43517 when painting or updating. This is reversed with this patch, and the viewport 43518 informs the page of any change in the view area. 43519 43520 With this change, the TiledDrawingAreaProxy does not need to know about QTouchWebPage, 43521 and can use the TouchViewInterface directly. 43522 43523 * UIProcess/API/qt/qtouchwebpage.cpp: 43524 (QTouchWebPagePrivate::setViewportRect): 43525 * UIProcess/API/qt/qtouchwebpage.h: 43526 * UIProcess/API/qt/qtouchwebpage_p.h: 43527 * UIProcess/API/qt/qtouchwebview.cpp: 43528 (QTouchWebViewPrivate::scroll): 43529 (QTouchWebViewPrivate::viewportRectUpdated): 43530 (QTouchWebView::resizeEvent): 43531 * UIProcess/API/qt/qtouchwebview.h: 43532 * UIProcess/API/qt/qtouchwebview_p.h: 43533 * UIProcess/PageClient.h: 43534 * UIProcess/TiledDrawingAreaProxy.cpp: 43535 (WebKit::TiledDrawingAreaProxy::invalidate): 43536 (WebKit::TiledDrawingAreaProxy::paint): 43537 (WebKit::TiledDrawingAreaProxy::setVisibleArea): 43538 (WebKit::TiledDrawingAreaProxy::createTiles): 43539 * UIProcess/TiledDrawingAreaProxy.h: 43540 * UIProcess/WebPageProxy.h: 43541 * UIProcess/qt/QtWebPageProxy.cpp: 43542 * UIProcess/qt/QtWebPageProxy.h: 43543 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 43544 (WebKit::TiledDrawingAreaProxy::updateWebView): 43545 * UIProcess/qt/TouchViewInterface.cpp: 43546 (WebKit::TouchViewInterface::contentSizeChanged): 43547 * UIProcess/qt/TouchViewInterface.h: 43548 * UIProcess/qt/WebPageProxyQt.cpp: 43549 * UIProcess/qt/qtouchwebpageproxy.cpp: 43550 (QTouchWebPageProxy::createDrawingAreaProxy): 43551 (QTouchWebPageProxy::setVisibleArea): 43552 * UIProcess/qt/qtouchwebpageproxy.h: 43553 435542011-07-11 Andreas Kling <kling@webkit.org> 43555 43556 [Qt][WK2] Move zoomable-area-for-point functionality to QTouchWebPageProxy 43557 https://bugs.webkit.org/show_bug.cgi?id=64273 43558 43559 Reviewed by Kenneth Rohde Christiansen. 43560 43561 * UIProcess/qt/QtWebPageProxy.cpp: 43562 * UIProcess/qt/QtWebPageProxy.h: 43563 * UIProcess/qt/qdesktopwebpageproxy.cpp: 43564 (QDesktopWebPageProxy::didFindZoomableArea): 43565 * UIProcess/qt/qdesktopwebpageproxy.h: 43566 * UIProcess/qt/qtouchwebpageproxy.cpp: 43567 (QTouchWebPageProxy::findZoomableAreaForPoint): 43568 (QTouchWebPageProxy::didFindZoomableArea): 43569 * UIProcess/qt/qtouchwebpageproxy.h: 43570 435712011-07-10 Anders Carlsson <andersca@apple.com> 43572 43573 WebKit2 is leaking NSCursors created by leakNamedCursor 43574 https://bugs.webkit.org/show_bug.cgi?id=64241 43575 <rdar://problem/9507151> 43576 43577 Reviewed by Oliver Hunt. 43578 43579 * Shared/WebCoreArgumentCoders.cpp: 43580 (CoreIPC::::decode): 43581 When decoding a cursor of a known type, make sure to eagerly create the platform cursor 43582 for the cursor singleton. This way we avoid re-creating new NSCursor objects over and over for 43583 standard cursors. 43584 435852011-07-10 Benjamin Poulain <benjamin@webkit.org> 43586 43587 [Qt][WK2] Move setResizesToContentsUsingLayoutSize() to the touch specific page proxy 43588 https://bugs.webkit.org/show_bug.cgi?id=64238 43589 43590 Reviewed by Andreas Kling. 43591 43592 The method is specific to the touch view, so it should be in QTouchWebPageProxy instead 43593 of QtWebPageProxy. 43594 43595 * UIProcess/qt/QtWebPageProxy.cpp: 43596 * UIProcess/qt/QtWebPageProxy.h: 43597 * UIProcess/qt/qtouchwebpageproxy.cpp: 43598 (QTouchWebPageProxy::setResizesToContentsUsingLayoutSize): 43599 * UIProcess/qt/qtouchwebpageproxy.h: 43600 436012011-07-09 Noel Gordon <noel.gordon@gmail.com> 43602 43603 Reviewed by Adam Roben. 43604 43605 [WebKit2] Forward focus events to windowless plugins on the windows port. 43606 https://bugs.webkit.org/show_bug.cgi?id=63251 43607 43608 No new tests. Covered by existing tests: plugins/mouse-events.html and 43609 plugins/keyboard-events.html. 43610 43611 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 43612 (WebKit::NetscapePlugin::platformSetFocus): 43613 436142011-07-08 Andreas Kling <kling@webkit.org> 43615 43616 [Qt][WK2] Views should expose QActions for basic navigation. 43617 https://bugs.webkit.org/show_bug.cgi?id=64174 43618 43619 Add navigationAction() methods to the views to provide default 43620 QActions for Back, Forward, Stop and Reload. 43621 43622 Reviewed by Benjamin Poulain. 43623 43624 * UIProcess/API/qt/WKView.h: 43625 * UIProcess/API/qt/qdesktopwebview.cpp: 43626 (QDesktopWebView::navigationAction): 43627 * UIProcess/API/qt/qdesktopwebview.h: 43628 * UIProcess/API/qt/qtouchwebpage.cpp: 43629 (QTouchWebPage::navigationAction): 43630 * UIProcess/API/qt/qtouchwebpage.h: 43631 * UIProcess/API/qt/qwebkittypes.h: Added. 43632 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: 43633 (tst_CommonViewTests::backAndForward): 43634 (tst_CommonViewTests::reload): 43635 (tst_CommonViewTests::stop): 43636 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: 43637 (WebViewAbstraction::triggerNavigationAction): 43638 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: 43639 * UIProcess/API/qt/tests/html/basic_page2.html: Added. 43640 * UIProcess/qt/QtWebPageProxy.cpp: 43641 (QtWebPageProxy::navigationAction): 43642 * UIProcess/qt/QtWebPageProxy.h: 43643 * WebKit2API.pri: 43644 436452011-07-08 Benjamin Poulain <benjamin@webkit.org> 43646 43647 [Qt][WK2] Get rid of the check for TILED_BACKING_STORE in Qt 43648 https://bugs.webkit.org/show_bug.cgi?id=64175 43649 43650 Reviewed by Kenneth Rohde Christiansen. 43651 43652 Qt no longer supports building WebKit2 without TILED_BACKING_STORE. 43653 43654 * UIProcess/API/qt/qtouchwebpage.cpp: 43655 (QTouchWebPagePrivate::onScaleChanged): 43656 * UIProcess/qt/QtWebPageProxy.cpp: 43657 (QtWebPageProxy::setResizesToContentsUsingLayoutSize): 43658 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 43659 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 43660 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: 43661 436622011-07-08 Benjamin Poulain <benjamin@webkit.org> 43663 43664 [WK2] Do not forward touch events to the web process when it does not need them 43665 https://bugs.webkit.org/show_bug.cgi?id=64164 43666 43667 Reviewed by Kenneth Rohde Christiansen. 43668 43669 The call to ChromeClient::needTouchEvent() is now forwarded to the WebPageProxy 43670 to change the way events are delivered. 43671 43672 When the WebPage does not need touch events, and there is no queued touch events, 43673 the incoming events just bounce back through PageClient::doneWithTouchEvent(). 43674 43675 In the case when new events come to WebPageProxy and there are still touch events 43676 incoming from the WebProcess, the new events are deferred with the corresponding 43677 pending touch events. 43678 Deferring the new events iafter the corresponding forwarded event ensure 43679 the delivery is always done in order when PageClient::doneWithTouchEvent() 43680 is called. 43681 43682 * UIProcess/WebPageProxy.cpp: 43683 (WebKit::WebPageProxy::WebPageProxy): 43684 (WebKit::WebPageProxy::handleTouchEvent): 43685 (WebKit::WebPageProxy::needTouchEvents): 43686 (WebKit::WebPageProxy::didReceiveEvent): 43687 (WebKit::WebPageProxy::processDidCrash): 43688 * UIProcess/WebPageProxy.h: 43689 (WebKit::QueuedTouchEvents:::forwardedEvent): 43690 * UIProcess/WebPageProxy.messages.in: 43691 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 43692 (WebKit::WebChromeClient::needTouchEvents): 43693 436942011-07-08 Benjamin Poulain <benjamin@webkit.org> 43695 43696 [Qt][WK2] Add basic support for panning gestures to the QTouchWebView 43697 https://bugs.webkit.org/show_bug.cgi?id=64105 43698 43699 Reviewed by Kenneth Rohde Christiansen. 43700 43701 This patch adds basic support for the panning gesture on the UI process side. 43702 43703 The events coming back from the WebProcess are processed through 43704 the QtPanGestureRecognizer to recognize the pan gesture. When the 43705 gesture is recognized, the actions are performed on the view through 43706 the TouchViewInterface. 43707 43708 Currently, the viewport just move the page around without limit. 43709 This will be improved when a physics engine is integrated. 43710 43711 * UIProcess/API/qt/qtouchwebview.cpp: 43712 (QTouchWebViewPrivate::scroll): 43713 * UIProcess/API/qt/qtouchwebview.h: 43714 * UIProcess/API/qt/qtouchwebview_p.h: 43715 * UIProcess/qt/QtPanGestureRecognizer.cpp: Added. 43716 (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer): 43717 (WebKit::QtPanGestureRecognizer::recognize): 43718 (WebKit::QtPanGestureRecognizer::reset): 43719 * UIProcess/qt/QtPanGestureRecognizer.h: Added. 43720 * UIProcess/qt/TouchViewInterface.cpp: 43721 (WebKit::TouchViewInterface::panGestureStarted): 43722 (WebKit::TouchViewInterface::panGestureRequestScroll): 43723 (WebKit::TouchViewInterface::panGestureEnded): 43724 (WebKit::TouchViewInterface::panGestureCancelled): 43725 * UIProcess/qt/TouchViewInterface.h: 43726 * UIProcess/qt/qtouchwebpageproxy.cpp: 43727 (QTouchWebPageProxy::QTouchWebPageProxy): 43728 (QTouchWebPageProxy::processDidCrash): 43729 (QTouchWebPageProxy::doneWithTouchEvent): 43730 * UIProcess/qt/qtouchwebpageproxy.h: 43731 * WebKit2.pro: 43732 437332011-07-07 Andreas Kling <kling@webkit.org> 43734 43735 [Qt][WK2] Remove Symbian code. 43736 https://bugs.webkit.org/show_bug.cgi?id=64101 43737 43738 Reviewed by Benjamin Poulain. 43739 43740 * DerivedSources.pro: 43741 * Platform/CoreIPC/Attachment.h: 43742 * Platform/CoreIPC/Connection.h: 43743 * Platform/SharedMemory.h: 43744 * Platform/qt/SharedMemorySymbian.cpp: Removed. 43745 * UIProcess/API/qt/tests/tests.pri: 43746 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 43747 * WebKit2.pri: 43748 * WebKit2.pro: 43749 * WebProcess.pro: 43750 * config.h: 43751 437522011-07-07 Andreas Kling <kling@webkit.org> 43753 43754 [Qt][WK2] Don't support ridiculous matrix of QT_NO_FEATURE combinations. 43755 https://bugs.webkit.org/show_bug.cgi?id=64099 43756 43757 Reviewed by Benjamin Poulain. 43758 43759 * Shared/qt/WebEventFactoryQt.cpp: 43760 (WebKit::WebEventFactory::createWebWheelEvent): 43761 * UIProcess/API/qt/qdesktopwebview_p.h: 43762 * UIProcess/qt/QtWebPageProxy.cpp: 43763 (QtWebPageProxy::QtWebPageProxy): 43764 (QtWebPageProxy::setCursor): 43765 (QtWebPageProxy::registerEditCommand): 43766 (QtWebPageProxy::clearAllEditCommands): 43767 (QtWebPageProxy::canUndoRedo): 43768 (QtWebPageProxy::executeUndoRedo): 43769 (QtWebPageProxy::updateAction): 43770 (QtWebPageProxy::webActionTriggered): 43771 (QtWebPageProxy::triggerAction): 43772 (QtWebPageProxy::action): 43773 * UIProcess/qt/QtWebPageProxy.h: 43774 * UIProcess/qt/TouchViewInterface.cpp: 43775 (WebKit::TouchViewInterface::didChangeCursor): 43776 * UIProcess/qt/TouchViewInterface.h: 43777 * UIProcess/qt/ViewInterface.h: 43778 * UIProcess/qt/WebUndoCommandQt.cpp: 43779 (WebUndoCommandQt::WebUndoCommandQt): 43780 * UIProcess/qt/WebUndoCommandQt.h: 43781 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: 43782 (WebKit::WebDragClient::startDrag): 43783 437842011-07-07 Andreas Kling <kling@webkit.org> 43785 43786 [Qt][WK2] Views should know about WebProcess crash/relaunch. 43787 https://bugs.webkit.org/show_bug.cgi?id=64093 43788 43789 Reviewed by Benjamin Poulain. 43790 43791 Add processDidCrash() and didRelaunchProcess() to ViewInterface. 43792 43793 QDesktopWebView now displays a simple sad smiley ":(" when the 43794 web process crashes. 43795 43796 * UIProcess/API/qt/qdesktopwebview.cpp: 43797 (QDesktopWebViewPrivate::QDesktopWebViewPrivate): 43798 (paintCrashedPage): 43799 (QDesktopWebView::paint): 43800 (QDesktopWebViewPrivate::processDidCrash): 43801 (QDesktopWebViewPrivate::didRelaunchProcess): 43802 * UIProcess/API/qt/qdesktopwebview_p.h: 43803 * UIProcess/qt/QtWebPageProxy.cpp: 43804 (QtWebPageProxy::QtWebPageProxy): 43805 (QtWebPageProxy::didRelaunchProcess): 43806 (QtWebPageProxy::processDidCrash): 43807 * UIProcess/qt/QtWebPageProxy.h: 43808 * UIProcess/qt/TouchViewInterface.cpp: 43809 (WebKit::TouchViewInterface::showContextMenu): 43810 (WebKit::TouchViewInterface::hideContextMenu): 43811 (WebKit::TouchViewInterface::processDidCrash): 43812 (WebKit::TouchViewInterface::didRelaunchProcess): 43813 * UIProcess/qt/TouchViewInterface.h: 43814 * UIProcess/qt/ViewInterface.h: 43815 438162011-07-07 Benjamin Poulain <benjamin@webkit.org> 43817 43818 [Qt] [WK2] Improve the handling of touch events to use them as main input 43819 https://bugs.webkit.org/show_bug.cgi?id=63991 43820 43821 Reviewed by Kenneth Rohde Christiansen. 43822 43823 Promote touch event for use as primary input. 43824 43825 The touch events now use the responsiveness timer like the other input events. 43826 43827 The touch events also have a callback to the UI signaling if the event was used 43828 or not: PageClient::doneWithTouchEvent(). 43829 This is similar to what is done with key events (PageClient::doneWithKeyEvent()). 43830 43831 * Shared/NativeWebTouchEvent.h: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h. 43832 (WebKit::NativeWebTouchEvent::nativeEvent): 43833 * Shared/qt/NativeWebTouchEventQt.cpp: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h. 43834 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 43835 * Shared/qt/WebEventFactoryQt.cpp: 43836 (WebKit::webEventTypeForEvent): 43837 (WebKit::WebEventFactory::createWebTouchEvent): 43838 * Shared/qt/WebEventFactoryQt.h: 43839 * UIProcess/PageClient.h: 43840 * UIProcess/WebPageProxy.cpp: 43841 (WebKit::WebPageProxy::handleTouchEvent): 43842 (WebKit::WebPageProxy::didReceiveEvent): 43843 * UIProcess/WebPageProxy.h: 43844 * UIProcess/qt/qdesktopwebpageproxy.cpp: 43845 (QDesktopWebPageProxy::doneWithTouchEvent): 43846 * UIProcess/qt/qdesktopwebpageproxy.h: 43847 * UIProcess/qt/qtouchwebpageproxy.cpp: 43848 (QTouchWebPageProxy::doneWithTouchEvent): 43849 (QTouchWebPageProxy::touchEvent): 43850 * UIProcess/qt/qtouchwebpageproxy.h: 43851 * WebKit2.pro: 43852 438532011-07-06 Andreas Kling <kling@webkit.org> 43854 43855 [Qt][WK2] Split Qt API into two different web views (touch and desktop) 43856 https://bugs.webkit.org/show_bug.cgi?id=63950 43857 43858 Co-authored with Benjamin Poulain <benjamin@webkit.org>. 43859 43860 Reviewed by Kenneth Rohde Christiansen. 43861 43862 Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView. 43863 43864 QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will 43865 will have the expected "desktop" behavior for things like subframes and 43866 fixed-position elements. 43867 43868 QTouchWebView is intended for use on touch devices, and will manage the viewport, 43869 gestures, tiled rendering, and other things that the user should never have to 43870 worry about. It will use "resize to contents" and frame flattening by default. 43871 43872 API-wise, the biggest difference between the two is that QTouchWebView is really 43873 a viewport that contains a QTouchWebPage. These are decoupled for flexibility in 43874 UI design. This decoupling is not necessary for the desktop use-case, and so 43875 QDesktopWebView is the only class we need. 43876 43877 Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..) 43878 but will be re-added incrementally in a way that fits the new API vision. 43879 43880 * UIProcess/API/qt/WKView.h: 43881 * UIProcess/API/qt/qdesktopwebview.cpp: Added. 43882 (QDesktopWebViewPrivate::QDesktopWebViewPrivate): 43883 (QDesktopWebViewPrivate::setViewNeedsDisplay): 43884 (QDesktopWebViewPrivate::drawingAreaSize): 43885 (QDesktopWebViewPrivate::contentSizeChanged): 43886 (QDesktopWebViewPrivate::isActive): 43887 (QDesktopWebViewPrivate::hasFocus): 43888 (QDesktopWebViewPrivate::isVisible): 43889 (QDesktopWebViewPrivate::startDrag): 43890 (QDesktopWebViewPrivate::didChangeUrl): 43891 (QDesktopWebViewPrivate::didChangeTitle): 43892 (QDesktopWebViewPrivate::didChangeToolTip): 43893 (QDesktopWebViewPrivate::didChangeStatusText): 43894 (QDesktopWebViewPrivate::didChangeCursor): 43895 (QDesktopWebViewPrivate::loadDidBegin): 43896 (QDesktopWebViewPrivate::loadDidSucceed): 43897 (QDesktopWebViewPrivate::didChangeLoadProgress): 43898 (QDesktopWebViewPrivate::showContextMenu): 43899 (QDesktopWebViewPrivate::hideContextMenu): 43900 (QDesktopWebView::QDesktopWebView): 43901 (QDesktopWebView::init): 43902 (QDesktopWebView::~QDesktopWebView): 43903 (QDesktopWebView::load): 43904 (QDesktopWebView::url): 43905 (QDesktopWebView::title): 43906 (QDesktopWebView::resizeEvent): 43907 (QDesktopWebView::paint): 43908 (QDesktopWebView::event): 43909 (QDesktopWebView::pageRef): 43910 * UIProcess/API/qt/qdesktopwebview.h: Added. 43911 * UIProcess/API/qt/qdesktopwebview_p.h: Added. 43912 * UIProcess/API/qt/qgraphicswkview.cpp: Removed. 43913 * UIProcess/API/qt/qgraphicswkview.h: Removed. 43914 * UIProcess/API/qt/qtouchwebpage.cpp: Added. 43915 (QTouchWebPage::QTouchWebPage): 43916 (QTouchWebPage::~QTouchWebPage): 43917 (QTouchWebPage::paint): 43918 (QTouchWebPage::load): 43919 (QTouchWebPage::url): 43920 (QTouchWebPage::title): 43921 (QTouchWebPage::focusNextPrevChildCallback): 43922 (QTouchWebPage::focusNextPrevChild): 43923 (QTouchWebPage::event): 43924 (QTouchWebPage::timerEvent): 43925 (QTouchWebPage::resizeEvent): 43926 (QTouchWebPagePrivate::QTouchWebPagePrivate): 43927 (QTouchWebPage::visibleRect): 43928 (QTouchWebPagePrivate::prepareScaleChange): 43929 (QTouchWebPagePrivate::commitScaleChange): 43930 (QTouchWebPagePrivate::onScaleChanged): 43931 (QTouchWebPagePrivate::setPage): 43932 * UIProcess/API/qt/qtouchwebpage.h: Added. 43933 * UIProcess/API/qt/qtouchwebpage_p.h: Added. 43934 (QTouchWebPagePrivate::getPageViewPrivate): 43935 * UIProcess/API/qt/qtouchwebview.cpp: Added. 43936 (QTouchWebViewPrivate::QTouchWebViewPrivate): 43937 (QTouchWebView::QTouchWebView): 43938 (QTouchWebView::~QTouchWebView): 43939 (QTouchWebView::page): 43940 * UIProcess/API/qt/qtouchwebview.h: Added. 43941 * UIProcess/API/qt/qtouchwebview_p.h: Added. 43942 * UIProcess/API/qt/qwkpage.cpp: Removed. 43943 * UIProcess/API/qt/qwkpage.h: Removed. 43944 * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added. 43945 * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added. 43946 (tst_CommonViewTests::init): 43947 (tst_CommonViewTests::cleanup): 43948 (tst_CommonViewTests::baseUrl): 43949 (tst_CommonViewTests::loadEmptyUrl): 43950 (tst_CommonViewTests::loadEmptyPageViewVisible): 43951 (tst_CommonViewTests::loadEmptyPageViewHidden): 43952 (tst_CommonViewTests::show): 43953 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added. 43954 (WebViewAbstraction::WebViewAbstraction): 43955 (WebViewAbstraction::show): 43956 (WebViewAbstraction::hide): 43957 (WebViewAbstraction::load): 43958 (WebViewAbstraction::url): 43959 (WebViewAbstraction::touchViewLoadStarted): 43960 (WebViewAbstraction::desktopViewLoadStarted): 43961 (WebViewAbstraction::touchViewLoadSucceeded): 43962 (WebViewAbstraction::desktopViewLoadSucceeded): 43963 (WebViewAbstraction::touchWebView): 43964 (WebViewAbstraction::desktopWebView): 43965 * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp. 43966 * UIProcess/API/qt/tests/html/a.htm: Removed. 43967 * UIProcess/API/qt/tests/html/b.htm: Removed. 43968 * UIProcess/API/qt/tests/html/c.htm: Removed. 43969 * UIProcess/API/qt/tests/html/d.htm: Removed. 43970 * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro. 43971 * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp. 43972 (tst_QDesktopWebView::init): 43973 (tst_QDesktopWebView::cleanup): 43974 (tst_QDesktopWebView::webView): 43975 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed. 43976 * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro. 43977 * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added. 43978 (tst_QTouchWebView::tst_QTouchWebView): 43979 (tst_QTouchWebView::init): 43980 (tst_QTouchWebView::cleanup): 43981 (tst_QTouchWebView::webView): 43982 (tst_QTouchWebView::accessPage): 43983 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed. 43984 * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed. 43985 * UIProcess/API/qt/tests/tests.pro: 43986 * UIProcess/API/qt/tests/testwindow.h: Added. 43987 (TestWindow::TestWindow): 43988 (TestWindow::resizeEvent): 43989 * UIProcess/TiledDrawingAreaProxy.cpp: 43990 * UIProcess/TiledDrawingAreaProxy.h: 43991 * UIProcess/WebFullScreenManagerProxy.h: 43992 * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp. 43993 (toQWKContext): 43994 (toQtWebPageProxy): 43995 (loadFinished): 43996 (qt_wk_didStartProvisionalLoadForFrame): 43997 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame): 43998 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 43999 (qt_wk_didCommitLoadForFrame): 44000 (qt_wk_didFinishDocumentLoadForFrame): 44001 (qt_wk_didFinishLoadForFrame): 44002 (qt_wk_didFailLoadWithErrorForFrame): 44003 (qt_wk_didReceiveTitleForFrame): 44004 (qt_wk_didFirstLayoutForFrame): 44005 (qt_wk_didRemoveFrameFromHierarchy): 44006 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame): 44007 (qt_wk_didStartProgress): 44008 (qt_wk_didChangeProgress): 44009 (qt_wk_didFinishProgress): 44010 (qt_wk_didBecomeUnresponsive): 44011 (qt_wk_didBecomeResponsive): 44012 (qt_wk_createNewPage): 44013 (qt_wk_showPage): 44014 (qt_wk_close): 44015 (qt_wk_takeFocus): 44016 (qt_wk_runJavaScriptAlert): 44017 (qt_wk_setStatusText): 44018 (qt_wk_didSameDocumentNavigationForFrame): 44019 (qt_wk_didChangeIconForPageURL): 44020 (qt_wk_didRemoveAllIcons): 44021 * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h. 44022 * UIProcess/qt/QtWebPageProxy.cpp: Added. 44023 (defaultWKContext): 44024 (contextMenuActionForWebAction): 44025 (dragOperationToDropActions): 44026 (dropActionToDragOperation): 44027 (QtWebPageProxy::QtWebPageProxy): 44028 (QtWebPageProxy::init): 44029 (QtWebPageProxy::~QtWebPageProxy): 44030 (QtWebPageProxy::handleEvent): 44031 (QtWebPageProxy::handleKeyPressEvent): 44032 (QtWebPageProxy::handleKeyReleaseEvent): 44033 (QtWebPageProxy::handleFocusInEvent): 44034 (QtWebPageProxy::handleFocusOutEvent): 44035 (QtWebPageProxy::setCursor): 44036 (QtWebPageProxy::setViewNeedsDisplay): 44037 (QtWebPageProxy::displayView): 44038 (QtWebPageProxy::scrollView): 44039 (QtWebPageProxy::viewSize): 44040 (QtWebPageProxy::isViewWindowActive): 44041 (QtWebPageProxy::isViewFocused): 44042 (QtWebPageProxy::isViewVisible): 44043 (QtWebPageProxy::isViewInWindow): 44044 (QtWebPageProxy::enterAcceleratedCompositingMode): 44045 (QtWebPageProxy::exitAcceleratedCompositingMode): 44046 (QtWebPageProxy::pageDidRequestScroll): 44047 (QtWebPageProxy::didChangeContentsSize): 44048 (QtWebPageProxy::toolTipChanged): 44049 (QtWebPageProxy::registerEditCommand): 44050 (QtWebPageProxy::clearAllEditCommands): 44051 (QtWebPageProxy::canUndoRedo): 44052 (QtWebPageProxy::executeUndoRedo): 44053 (QtWebPageProxy::convertToDeviceSpace): 44054 (QtWebPageProxy::screenToWindow): 44055 (QtWebPageProxy::windowToScreen): 44056 (QtWebPageProxy::convertToUserSpace): 44057 (QtWebPageProxy::selectionChanged): 44058 (QtWebPageProxy::doneWithKeyEvent): 44059 (QtWebPageProxy::createPopupMenuProxy): 44060 (QtWebPageProxy::createContextMenuProxy): 44061 (QtWebPageProxy::setFindIndicator): 44062 (QtWebPageProxy::didCommitLoadForMainFrame): 44063 (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation): 44064 (QtWebPageProxy::flashBackingStoreUpdates): 44065 (QtWebPageProxy::pageRef): 44066 (QtWebPageProxy::didChangeUrl): 44067 (QtWebPageProxy::didChangeTitle): 44068 (QtWebPageProxy::didChangeStatusText): 44069 (QtWebPageProxy::showContextMenu): 44070 (QtWebPageProxy::hideContextMenu): 44071 (QtWebPageProxy::loadDidBegin): 44072 (QtWebPageProxy::loadDidSucceed): 44073 (QtWebPageProxy::didChangeLoadProgress): 44074 (QtWebPageProxy::paint): 44075 (QtWebPageProxy::updateAction): 44076 (QtWebPageProxy::updateNavigationActions): 44077 (QtWebPageProxy::webActionTriggered): 44078 (QtWebPageProxy::didRelaunchProcess): 44079 (QtWebPageProxy::processDidCrash): 44080 (QtWebPageProxy::setActualVisibleContentsRect): 44081 (QtWebPageProxy::preferences): 44082 (QtWebPageProxy::setCreateNewPageFunction): 44083 (QtWebPageProxy::setCustomUserAgent): 44084 (QtWebPageProxy::customUserAgent): 44085 (QtWebPageProxy::load): 44086 (QtWebPageProxy::url): 44087 (QtWebPageProxy::title): 44088 (QtWebPageProxy::setDrawingAreaSize): 44089 (QtWebPageProxy::textZoomFactor): 44090 (QtWebPageProxy::setTextZoomFactor): 44091 (QtWebPageProxy::pageZoomFactor): 44092 (QtWebPageProxy::setPageZoomFactor): 44093 (QtWebPageProxy::setPageAndTextZoomFactors): 44094 (QtWebPageProxy::history): 44095 (QtWebPageProxy::setResizesToContentsUsingLayoutSize): 44096 (QtWebPageProxy::triggerAction): 44097 (QtWebPageProxy::action): 44098 (QtWebPageProxy::findZoomableAreaForPoint): 44099 (QtWebPageProxy::didFindZoomableArea): 44100 (QtWebPageProxy::startDrag): 44101 (QtWebPageProxy::viewportVisibleRect): 44102 (QtWebPageProxy::isConnectedToEngine): 44103 (QtWebPageProxy::setPageIsVisible): 44104 * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h. 44105 (QtWebPageProxy::pageClosed): 44106 (QtWebPageProxy::customRepresentationZoomFactor): 44107 (QtWebPageProxy::setCustomRepresentationZoomFactor): 44108 (QtWebPageProxy::didChangeScrollbarsForMainFrame): 44109 (QtWebPageProxy::findStringInCustomRepresentation): 44110 (QtWebPageProxy::countStringMatchesInCustomRepresentation): 44111 (QtWebPageProxy::userSpaceScaleFactor): 44112 (QtWebPageProxy::createNewPageFunction): 44113 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 44114 (WebKit::TiledDrawingAreaProxy::page): 44115 * UIProcess/qt/TouchViewInterface.cpp: Added. 44116 (WebKit::TouchViewInterface::TouchViewInterface): 44117 (WebKit::TouchViewInterface::setViewNeedsDisplay): 44118 (WebKit::TouchViewInterface::drawingAreaSize): 44119 (WebKit::TouchViewInterface::contentSizeChanged): 44120 (WebKit::TouchViewInterface::isActive): 44121 (WebKit::TouchViewInterface::hasFocus): 44122 (WebKit::TouchViewInterface::isVisible): 44123 (WebKit::TouchViewInterface::startDrag): 44124 (WebKit::TouchViewInterface::didChangeUrl): 44125 (WebKit::TouchViewInterface::didChangeTitle): 44126 (WebKit::TouchViewInterface::didChangeToolTip): 44127 (WebKit::TouchViewInterface::didChangeStatusText): 44128 (WebKit::TouchViewInterface::didChangeCursor): 44129 (WebKit::TouchViewInterface::loadDidBegin): 44130 (WebKit::TouchViewInterface::loadDidSucceed): 44131 (WebKit::TouchViewInterface::didChangeLoadProgress): 44132 (WebKit::TouchViewInterface::showContextMenu): 44133 (WebKit::TouchViewInterface::hideContextMenu): 44134 * UIProcess/qt/TouchViewInterface.h: Added. 44135 (WebKit::TouchViewInterface::pageView): 44136 * UIProcess/qt/ViewInterface.cpp: Added. 44137 (WebKit::ViewInterface::ownerWidget): 44138 * UIProcess/qt/ViewInterface.h: Added. 44139 * UIProcess/qt/WebContextMenuProxyQt.cpp: 44140 (WebKit::webActionForContextMenuAction): 44141 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 44142 (WebKit::WebContextMenuProxyQt::create): 44143 (WebKit::WebContextMenuProxyQt::showContextMenu): 44144 (WebKit::WebContextMenuProxyQt::hideContextMenu): 44145 (WebKit::WebContextMenuProxyQt::createContextMenu): 44146 * UIProcess/qt/WebContextMenuProxyQt.h: 44147 * UIProcess/qt/qdesktopwebpageproxy.cpp: Added. 44148 (dragOperationToDropAction): 44149 (QDesktopWebPageProxy::QDesktopWebPageProxy): 44150 (QDesktopWebPageProxy::createDrawingAreaProxy): 44151 (QDesktopWebPageProxy::paintContent): 44152 (QDesktopWebPageProxy::setViewportArguments): 44153 (QDesktopWebPageProxy::handleEvent): 44154 (QDesktopWebPageProxy::handleMouseMoveEvent): 44155 (QDesktopWebPageProxy::handleMousePressEvent): 44156 (QDesktopWebPageProxy::handleMouseReleaseEvent): 44157 (QDesktopWebPageProxy::handleMouseDoubleClickEvent): 44158 (QDesktopWebPageProxy::handleWheelEvent): 44159 (QDesktopWebPageProxy::handleHoverMoveEvent): 44160 (QDesktopWebPageProxy::handleDragEnterEvent): 44161 (QDesktopWebPageProxy::handleDragLeaveEvent): 44162 (QDesktopWebPageProxy::handleDragMoveEvent): 44163 (QDesktopWebPageProxy::handleDropEvent): 44164 (QDesktopWebPageProxy::timerEvent): 44165 * UIProcess/qt/qdesktopwebpageproxy.h: Added. 44166 * UIProcess/qt/qtouchwebpageproxy.cpp: Added. 44167 (QTouchWebPageProxy::QTouchWebPageProxy): 44168 (QTouchWebPageProxy::createDrawingAreaProxy): 44169 (QTouchWebPageProxy::paintContent): 44170 (QTouchWebPageProxy::setViewportArguments): 44171 (QTouchWebPageProxy::handleEvent): 44172 (QTouchWebPageProxy::touchEvent): 44173 * UIProcess/qt/qtouchwebpageproxy.h: Added. 44174 (QTouchWebPageProxy::touchViewInterface): 44175 (QTouchWebPageProxy::pageView): 44176 * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp. 44177 (initializePlatformStrategiesIfNeeded): 44178 (QWKContextPrivate::QWKContextPrivate): 44179 (QWKContextPrivate::~QWKContextPrivate): 44180 (QWKContext::QWKContext): 44181 (QWKContext::~QWKContext): 44182 (QWKContext::setIconDatabasePath): 44183 (QWKContext::iconForPageURL): 44184 * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h. 44185 * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h. 44186 * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp. 44187 (QWKHistoryItemPrivate::QWKHistoryItemPrivate): 44188 (QWKHistoryItemPrivate::~QWKHistoryItemPrivate): 44189 (QWKHistoryItem::QWKHistoryItem): 44190 (QWKHistoryItem::QWKHistoryItem::operator=): 44191 (QWKHistoryItem::~QWKHistoryItem): 44192 (QWKHistoryItem::title): 44193 (QWKHistoryItem::url): 44194 (QWKHistoryPrivate::QWKHistoryPrivate): 44195 (QWKHistoryPrivate::createHistory): 44196 (QWKHistoryPrivate::~QWKHistoryPrivate): 44197 (QWKHistory::QWKHistory): 44198 (QWKHistory::~QWKHistory): 44199 (QWKHistory::backListCount): 44200 (QWKHistory::forwardListCount): 44201 (QWKHistory::count): 44202 (QWKHistory::currentItem): 44203 (QWKHistory::backItem): 44204 (QWKHistory::forwardItem): 44205 (QWKHistory::itemAt): 44206 (QWKHistory::goToItemAt): 44207 (QWKHistory::backItems): 44208 (QWKHistory::forwardItems): 44209 * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h. 44210 * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h. 44211 * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp. 44212 (QWKPreferencesPrivate::createPreferences): 44213 (QWKPreferencesPrivate::createSharedPreferences): 44214 (QWKPreferences::sharedPreferences): 44215 (QWKPreferences::QWKPreferences): 44216 (QWKPreferences::~QWKPreferences): 44217 (QWKPreferences::setFontFamily): 44218 (QWKPreferences::fontFamily): 44219 (QWKPreferences::testAttribute): 44220 (QWKPreferences::setAttribute): 44221 (QWKPreferences::setFontSize): 44222 (QWKPreferences::fontSize): 44223 * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h. 44224 * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h. 44225 * WebKit2.pro: 44226 * WebKit2API.pri: 44227 * WebProcess/WebPage/TiledDrawingArea.cpp: 44228 * WebProcess/WebPage/TiledDrawingArea.h: 44229 442302011-07-05 Jeff Miller <jeffm@apple.com> 44231 44232 Add WKPageCopyStandardUserAgentWithApplicationName 44233 https://bugs.webkit.org/show_bug.cgi?id=63953 44234 44235 Reviewed by Adam Roben. 44236 44237 * UIProcess/API/C/WKPage.cpp: 44238 (WKPageCopyStandardUserAgentWithApplicationName): Added. 44239 * UIProcess/API/C/WKPagePrivate.h: Added WKPageCopyStandardUserAgentWithApplicationName(). 44240 44241 * UIProcess/WebPageProxy.h: Make standardUserAgent() public. 44242 442432011-07-05 Vsevolod Vlasov <vsevik@chromium.org> 44244 44245 Web Inspector: Show content for plugin requests in network panel. 44246 https://bugs.webkit.org/show_bug.cgi?id=30080 44247 44248 Added win symbols for new window.internals methods. 44249 44250 Reviewed by Pavel Feldman. 44251 44252 * win/WebKit2.def: 44253 * win/WebKit2CFLite.def: 44254 442552011-07-04 Sheriff Bot <webkit.review.bot@gmail.com> 44256 44257 Unreviewed, rolling out r90373. 44258 http://trac.webkit.org/changeset/90373 44259 https://bugs.webkit.org/show_bug.cgi?id=63917 44260 44261 Breaks Qt Linux Release minimal (Requested by vsevik on 44262 #webkit). 44263 44264 * win/WebKit2.def: 44265 * win/WebKit2CFLite.def: 44266 442672011-07-04 Vsevolod Vlasov <vsevik@chromium.org> 44268 44269 Web Inspector: Show content for plugin requests in network panel. 44270 https://bugs.webkit.org/show_bug.cgi?id=30080 44271 44272 Reviewed by Pavel Feldman. 44273 44274 * win/WebKit2.def: 44275 * win/WebKit2CFLite.def: 44276 442772011-07-04 Anders Carlsson <andersca@apple.com> 44278 44279 NP_RemoveProperty is not called back by Safari when delete npObject.prop is encountered in JavaScript 44280 https://bugs.webkit.org/show_bug.cgi?id=63915 44281 <rdar://problem/7124300> 44282 44283 Reviewed by Sam Weinig. 44284 44285 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 44286 (WebKit::JSNPObject::deleteProperty): 44287 Call NP_RemoveProperty on the NPObject. 44288 44289 * WebProcess/Plugins/Netscape/JSNPObject.h: 44290 Add deleteProperty. 44291 442922011-06-23 Robert Hogan <robert@webkit.org> 44293 44294 Reviewed by Simon Hausmann. 44295 44296 [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin 44297 https://bugs.webkit.org/show_bug.cgi?id=30355 44298 44299 PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin 44300 in order to clear the FrameSelection in the currently focused node. In its platform-specific 44301 code Chromium already does this (WebPluginContainerImpl.cpp). 44302 44303 * WebProcess/Plugins/PluginView.cpp: 44304 (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes 44305 the call to FocusController:setFocusedFrame() redundant, since the 44306 former calls it. 44307 443082011-07-02 Anders Carlsson <andersca@apple.com> 44309 44310 Have another go at fixing the Windows build. 44311 44312 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 44313 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 44314 (WebKit::NetscapePlugin::containingWindow): 44315 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 44316 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 44317 443182011-07-02 Anders Carlsson <andersca@apple.com> 44319 44320 Null out the plug-in controller after destroying the plug-in. 44321 https://bugs.webkit.org/show_bug.cgi?id=63869 44322 44323 Reviewed by Maciej Stachowiak. 44324 44325 * PluginProcess/PluginControllerProxy.cpp: 44326 (WebKit::PluginControllerProxy::destroy): 44327 Call destroyPlugin. 44328 44329 * WebProcess/Plugins/Plugin.cpp: 44330 (WebKit::Plugin::destroyPlugin): 44331 Call destroy and null out the plug-in controller. 44332 44333 * WebProcess/Plugins/Plugin.h: 44334 Add destroyPlugin, make destroy private. 44335 44336 * WebProcess/Plugins/PluginView.cpp: 44337 (WebKit::PluginView::~PluginView): 44338 Call destroyPlugin. 44339 443402011-07-02 Anders Carlsson <andersca@apple.com> 44341 44342 Fix Windows build for real. 44343 44344 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 44345 (WebKit::NetscapePlugin::containingWindow): 44346 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): 44347 (WebKit::NetscapePlugin::platformPaint): 44348 (WebKit::NetscapePlugin::platformHandleMouseEvent): 44349 443502011-07-02 Anders Carlsson <andersca@apple.com> 44351 44352 Implement NPN_PluginThreadAsyncCall 44353 https://bugs.webkit.org/show_bug.cgi?id=63868 44354 44355 Reviewed by Dan Bernstein. 44356 44357 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 44358 (WebKit::NPN_PluginThreadAsyncCall): 44359 Call NetscapePlugin::pluginThreadAsyncCall. 44360 44361 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 44362 (WebKit::NetscapePlugin::pluginThreadAsyncCall): 44363 Schedule a work item to call the function on the main run loop. 44364 44365 (WebKit::NetscapePlugin::handlePluginThreadAsyncCall): 44366 If the plug-in is still running, run the function. 44367 44368 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 44369 Add new member function. 44370 44371 * WebProcess/Plugins/Plugin.h: 44372 Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially 44373 ref the plug-in from other threads. 44374 443752011-07-02 Anders Carlsson <andersca@apple.com> 44376 44377 Fix Windows build. 44378 44379 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 44380 (WebKit::NetscapePlugin::containingWindow): 44381 (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): 44382 (WebKit::NetscapePlugin::platformPaint): 44383 (WebKit::NetscapePlugin::platformHandleMouseEvent): 44384 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 44385 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 44386 443872011-07-02 Anders Carlsson <andersca@apple.com> 44388 44389 Move the plug-in controller member variable up to the shared Plugin base class 44390 https://bugs.webkit.org/show_bug.cgi?id=63867 44391 44392 Reviewed by Sam Weinig. 44393 44394 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 44395 (WebKit::NetscapePlugin::NetscapePlugin): 44396 Remove m_pluginController. 44397 44398 (WebKit::NetscapePlugin::invalidate): 44399 (WebKit::NetscapePlugin::userAgent): 44400 (WebKit::NetscapePlugin::loadURL): 44401 (WebKit::NetscapePlugin::setStatusbarText): 44402 (WebKit::NetscapePlugin::evaluate): 44403 (WebKit::NetscapePlugin::isPrivateBrowsingEnabled): 44404 (WebKit::NetscapePlugin::windowScriptNPObject): 44405 (WebKit::NetscapePlugin::pluginElementNPObject): 44406 (WebKit::NetscapePlugin::tryToShortCircuitInvoke): 44407 (WebKit::NetscapePlugin::cancelStreamLoad): 44408 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled): 44409 (WebKit::NetscapePlugin::proxiesForURL): 44410 (WebKit::NetscapePlugin::cookiesForURL): 44411 (WebKit::NetscapePlugin::setCookiesForURL): 44412 (WebKit::NetscapePlugin::getAuthenticationInfo): 44413 Use controller() instead of m_pluginController. 44414 44415 (WebKit::NetscapePlugin::initialize): 44416 This doesn't take a PluginController parameter anymore. 44417 44418 (WebKit::NetscapePlugin::destroy): 44419 No need to null out the plug-in controller. 44420 44421 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 44422 Remove m_pluginController member variable. 44423 44424 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 44425 (WebKit::NetscapePlugin::compositingRenderServerPort): 44426 (WebKit::NetscapePlugin::platformSetFocus): 44427 (WebKit::NetscapePlugin::windowFocusChanged): 44428 Use controller() instead of m_pluginController. 44429 44430 * WebProcess/Plugins/Plugin.cpp: 44431 (WebKit::Plugin::Plugin): 44432 Initialize m_pluginController. 44433 44434 (WebKit::Plugin::initialize): 44435 New function that initializes the plug-in controller and then calls the real 44436 virtual initialize member function. 44437 44438 * WebProcess/Plugins/Plugin.h: 44439 Add m_pluginController member variable and a new initialize virtual member function that doesn't take a 44440 PluginController parameter. Make the "old" initialize member function set up the plug-in controller. 44441 44442 (WebKit::Plugin::controller): 44443 This is now a simple getter. 44444 44445 * WebProcess/Plugins/PluginProxy.cpp: 44446 (WebKit::PluginProxy::PluginProxy): 44447 Remove m_pluginController. 44448 44449 (WebKit::PluginProxy::pluginProcessCrashed): 44450 Use controller(), remove a bogus null check. 44451 44452 (WebKit::PluginProxy::initialize): 44453 This doesn't take a PluginController parameter now. 44454 44455 (WebKit::PluginProxy::destroy): 44456 No need to null out the plug-in controller member variable. 44457 44458 (WebKit::PluginProxy::loadURL): 44459 (WebKit::PluginProxy::proxiesForURL): 44460 (WebKit::PluginProxy::cookiesForURL): 44461 (WebKit::PluginProxy::setCookiesForURL): 44462 (WebKit::PluginProxy::getAuthenticationInfo): 44463 (WebKit::PluginProxy::windowNPObjectID): 44464 (WebKit::PluginProxy::getPluginElementNPObject): 44465 (WebKit::PluginProxy::evaluate): 44466 (WebKit::PluginProxy::cancelStreamLoad): 44467 (WebKit::PluginProxy::cancelManualStreamLoad): 44468 (WebKit::PluginProxy::setStatusbarText): 44469 (WebKit::PluginProxy::setComplexTextInputEnabled): 44470 (WebKit::PluginProxy::update): 44471 Use controller() instead of m_pluginController. 44472 44473 * WebProcess/Plugins/PluginProxy.h: 44474 Remove m_pluginController. 44475 444762011-07-01 Darin Adler <darin@apple.com> 44477 44478 Consider backing scale factor when setting up graphics layers 44479 https://bugs.webkit.org/show_bug.cgi?id=63848 44480 44481 Reviewed by Simon Fraser. 44482 44483 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 44484 (WebKit::LayerTreeHostCA::initialize): Set contents scale on the 44485 non-composited content layer based on the backing scale factor. 44486 (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents 44487 scale on the page overlay layer based on the backing scale factor. 44488 444892011-06-30 Brian Weinstein <bweinstein@apple.com> 44490 44491 Reviewed by Darin Adler. 44492 44493 WebKit2: DidFinishLoadForFrame is never called on iframes when loads are 44494 cancelled by willSendRequest 44495 https://bugs.webkit.org/show_bug.cgi?id=63753 44496 44497 When deciding a policy for a null request, call the callback that was passed 44498 to WebKit2 and say that we used the loader. 44499 44500 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44501 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 44502 445032011-07-01 Balazs Kelemen <kbalazs@webkit.org> 44504 44505 Reviewed by Andreas Kling. 44506 44507 [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation 44508 https://bugs.webkit.org/show_bug.cgi?id=63239 44509 44510 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 44511 Revert the return value of NPP_HandleEvent because the plugin function 44512 returns with 0 if it handled the event. 44513 (WebKit::NetscapePlugin::platformHandleMouseEvent): 44514 (WebKit::NetscapePlugin::platformHandleWheelEvent): 44515 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 44516 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 44517 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 44518 445192011-07-01 Mark Rowe <mrowe@apple.com> 44520 44521 Unreviewed due to fixing of a broken world. 44522 44523 REGRESSION (r90163): WebKit2 bot is failing 100% of the tests. 44524 44525 r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1. 44526 This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient, 44527 resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient 44528 template takes care of the relevant version checks. 44529 44530 * Shared/APIClient.h: 44531 (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if 44532 the client version is newer than what we support. This matches the behavior of the ad-hoc version checking. 44533 * UIProcess/API/C/WKContext.cpp: 44534 (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking. 44535 (WKContextSetHistoryClient): Ditto. 44536 (WKContextSetDownloadClient): Ditto. 44537 * UIProcess/API/C/WKCookieManager.cpp: 44538 (WKCookieManagerSetClient): Ditto. 44539 * UIProcess/API/C/WKGeolocationManager.cpp: 44540 (WKGeolocationManagerSetProvider): Ditto. 44541 * UIProcess/API/C/WKIconDatabase.cpp: 44542 (WKIconDatabaseSetIconDatabaseClient): Ditto. 44543 * UIProcess/API/C/WKPage.cpp: 44544 (WKPageSetPageContextMenuClient): Ditto. 44545 (WKPageSetPageFindClient): Ditto. 44546 (WKPageSetPageFormClient): Ditto. 44547 (WKPageSetPageLoaderClient): Ditto. 44548 (WKPageSetPagePolicyClient): Ditto. 44549 (WKPageSetPageResourceLoadClient): Ditto. 44550 (WKPageSetPageUIClient): Ditto. 44551 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 44552 (WKBundleSetClient): Ditto. 44553 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 44554 (WKBundlePageSetContextMenuClient): Ditto. 44555 (WKBundlePageSetEditorClient): Ditto. 44556 (WKBundlePageSetFormClient): Ditto. 44557 (WKBundlePageSetPageLoaderClient): Ditto. 44558 (WKBundlePageSetResourceLoadClient): Ditto. 44559 (WKBundlePageSetPolicyClient): Ditto. 44560 (WKBundlePageSetUIClient): Ditto. 44561 (WKBundlePageSetFullScreenClient): Ditto. 44562 445632011-06-30 Darin Adler <darin@apple.com> 44564 44565 Reviewed by Anders Carlsson. 44566 44567 [WebKit2] Consider scale factor when allocating backing store 44568 https://bugs.webkit.org/show_bug.cgi?id=63766 44569 44570 This is the first step in considering scale factor. It considers 44571 scale factor for the primary backing store, not graphics layers, 44572 and for CG only. 44573 44574 * Platform/cg/CGUtilities.cpp: 44575 (WebKit::paintImage): Added a scale factor argument. 44576 (WebKit::paintBitmapContext): Pass 1 for scale factor. 44577 * Platform/cg/CGUtilities.h: Updated for above. 44578 44579 * Shared/ShareableBitmap.h: Added an overload of paint that can handle 44580 a scale factor. 44581 44582 * Shared/UpdateInfo.cpp: 44583 (WebKit::UpdateInfo::encode): Encode scale factor. 44584 (WebKit::UpdateInfo::decode): Decode scale factor. 44585 * Shared/UpdateInfo.h: Added scale factor. 44586 44587 * Shared/cg/ShareableBitmapCG.cpp: 44588 (WebKit::ShareableBitmap::paint): Added the overload that can handle 44589 a scale factor. 44590 44591 * UIProcess/BackingStore.cpp: 44592 (WebKit::BackingStore::create): Take a scale factor. 44593 (WebKit::BackingStore::BackingStore): Store the scale factor. 44594 (WebKit::BackingStore::incorporateUpdate): Consider the scale factor 44595 when asserting the size is correct. 44596 44597 * UIProcess/BackingStore.h: Add a scale factor. 44598 44599 * UIProcess/DrawingAreaProxyImpl.cpp: 44600 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the 44601 scale factor too when deciding whether to reuse a backing store. 44602 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale 44603 factor when creating a backing store. 44604 44605 * UIProcess/mac/BackingStoreMac.mm: 44606 (WebKit::BackingStore::incorporateUpdate): Take the scale factor into 44607 account when painting. 44608 44609 * WebProcess/WebPage/DrawingAreaImpl.cpp: 44610 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the 44611 scale factor into the UpdateInfo. 44612 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto. 44613 (WebKit::DrawingAreaImpl::display): Take the scale factor into account 44614 when allocating the bitmap and creating a graphics context for it. 44615 446162011-06-30 Mark Rowe <mrowe@apple.com> 44617 44618 Fix the Windows build. 44619 44620 * UIProcess/API/C/win/WKTextChecker.h: 44621 * UIProcess/API/C/win/WKView.h: 44622 * UIProcess/win/WebTextCheckerClient.h: 44623 * UIProcess/win/WebUndoClient.h: 44624 446252011-06-30 Mark Rowe <mrowe@apple.com> 44626 44627 Reviewed by Anders Carlsson. 44628 44629 Teach APIClient to correctly handle multiple versions of a client interface. 44630 44631 If a client struct is not the current version then we can't copy it via assignment 44632 since that will read past the end of the smaller, older struct. To deal with this 44633 APIClient needs to be aware of the sizes of the older client version structs so that 44634 it can copy only the appropriate amount of the struct. 44635 44636 * Shared/APIClient.h: 44637 (WebKit::APIClient::initialize): Assign through to our client if the new in client is the 44638 latest version. If an older client version was passed then we zero out our client and memcpy 44639 the appropriate number of bytes in to it. This ensures that any new members in the client 44640 are initialized to 0. 44641 * Shared/APIClientTraits.cpp: 44642 * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated. 44643 * WebKit2.xcodeproj/project.pbxproj: 44644 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating 44645 which components belong to which versions. 44646 446472011-06-30 Mark Rowe <mrowe@apple.com> 44648 44649 Reviewed by Anders Carlsson. 44650 44651 Make the APIClient template aware of the latest client interface version number. 44652 44653 This will be used in an upcoming patch. 44654 44655 * Shared/APIClient.h: 44656 * UIProcess/WebContextInjectedBundleClient.h: 44657 * UIProcess/WebCookieManagerProxyClient.h: 44658 * UIProcess/WebDatabaseManagerProxyClient.h: 44659 * UIProcess/WebDownloadClient.h: 44660 * UIProcess/WebFindClient.h: 44661 * UIProcess/WebFormClient.h: 44662 * UIProcess/WebGeolocationProvider.h: 44663 * UIProcess/WebHistoryClient.h: 44664 * UIProcess/WebIconDatabaseClient.h: 44665 * UIProcess/WebLoaderClient.h: 44666 * UIProcess/WebPageContextMenuClient.h: 44667 * UIProcess/WebPolicyClient.h: 44668 * UIProcess/WebResourceLoadClient.h: 44669 * UIProcess/WebUIClient.h: 44670 * WebProcess/InjectedBundle/InjectedBundleClient.h: 44671 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 44672 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 44673 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 44674 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: 44675 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 44676 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 44677 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 44678 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 44679 446802011-06-30 Mark Rowe <mrowe@apple.com> 44681 44682 Reviewed by Anders Carlsson. 44683 44684 WebKit2 client interfaces should have constant declaring latest version. 44685 44686 * UIProcess/API/C/WKContext.h: 44687 * UIProcess/API/C/WKCookieManager.h: 44688 * UIProcess/API/C/WKDatabaseManager.h: 44689 * UIProcess/API/C/WKGeolocationManager.h: 44690 * UIProcess/API/C/WKIconDatabase.h: 44691 * UIProcess/API/C/WKPage.h: 44692 * WebProcess/InjectedBundle/API/c/WKBundle.h: 44693 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 44694 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 44695 446962011-06-30 Anders Carlsson <andersca@apple.com> 44697 44698 Build fix. 44699 44700 * UIProcess/win/WebPopupMenuProxyWin.h: 44701 (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea): 44702 447032011-06-30 Martin Robinson <mrobinson@igalia.com> 44704 44705 Reviewed by Anders Carlsson. 44706 44707 [GTK] Crash observed with nspluginwrapper and flash 44708 https://bugs.webkit.org/show_bug.cgi?id=62249 44709 44710 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 44711 (WebKit::NPN_InvalidateRect): Guard against null instances here. 44712 447132011-06-30 Mark Rowe <mrowe@apple.com> 44714 44715 Reviewed by Anders Carlsson. 44716 44717 Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions. 44718 44719 They're needed for ABI compatibility. 44720 44721 * Shared/API/c/WKSecurityOrigin.cpp: 44722 (WKSecurityOriginGetHost): 44723 (WKSecurityOriginGetProtocol): 44724 447252011-06-29 Darin Adler <darin@apple.com> 44726 44727 Reviewed by Dan Bernstein. 44728 44729 [Mac] Use system cursors instead of custom bitmaps where possible 44730 https://bugs.webkit.org/show_bug.cgi?id=63679 44731 44732 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 44733 (InitWebCoreSystemInterface): Added WKCursor. 44734 447352011-06-29 Darin Adler <darin@apple.com> 44736 44737 Reviewed by Anders Carlsson. 44738 44739 [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded 44740 https://bugs.webkit.org/show_bug.cgi?id=63483 44741 44742 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44743 (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating 44744 a frame. Also added a check that was in the WebKit1 code, but not here. Strangely, 44745 the comment from the second check was still here, but not the code. 44746 447472011-06-28 Chang Shu <cshu@webkit.org> 44748 44749 Reviewed by Andreas Kling. 44750 44751 [Qt][WK2] Random crashes in fast/frames/ tests 44752 https://bugs.webkit.org/show_bug.cgi?id=63459 44753 44754 Investigation on the crashes has revealed that sometimes, a frame could 44755 have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process. 44756 The root cause lies in the fact that the order of the two contiguous asynchronous 44757 messages may not be respected on the receiving side. And it is Qt's implementation, 44758 which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces 44759 the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards. 44760 44761 * Platform/qt/WorkQueueQt.cpp: 44762 (WorkQueue::scheduleWork): 44763 447642011-06-28 Balazs Kelemen <kbalazs@webkit.org> 44765 44766 Reviewed by Kenneth Rohde Christiansen. 44767 44768 [X11][WK2] X error with plugin tests 44769 https://bugs.webkit.org/show_bug.cgi?id=63520 44770 44771 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 44772 Never create a pixmap with (0,0) dimensions. 44773 (WebKit::NetscapePlugin::platformGeometryDidChange): 44774 (WebKit::NetscapePlugin::platformPaint): 44775 447762011-06-28 Balazs Kelemen <kbalazs@webkit.org> 44777 44778 Reviewed by Kenneth Rohde Christiansen. 44779 44780 [X11][WK2] plugins/plugin-javascript-access fails 44781 https://bugs.webkit.org/show_bug.cgi?id=63464 44782 44783 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 44784 (WebKit::NetscapePluginModule::getPluginInfo): 44785 Determine the name of the plugin. 44786 447872011-06-27 Yuta Kitamura <yutak@chromium.org> 44788 44789 Reviewed by Alexey Proskuryakov. 44790 44791 [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences 44792 https://bugs.webkit.org/show_bug.cgi?id=63447 44793 44794 Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol) 44795 switchable from WebPage and WebPreferences. 44796 44797 * Shared/WebPreferencesStore.h: 44798 * UIProcess/API/C/WKPreferences.cpp: 44799 (WKPreferencesSetHixie76WebSocketProtocolEnabled): 44800 (WKPreferencesGetHixie76WebSocketProtocolEnabled): 44801 * UIProcess/API/C/WKPreferencesPrivate.h: 44802 * WebProcess/WebPage/WebPage.cpp: 44803 (WebKit::WebPage::updatePreferences): 44804 448052011-06-27 Jeff Miller <jeffm@apple.com> 44806 44807 Reviewed by Oliver Hunt. 44808 44809 Web process always pauses on launch 44810 https://bugs.webkit.org/show_bug.cgi?id=63487 44811 44812 In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on 44813 launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the 44814 web process to pause if the shift and alt keys were not held down. 44815 44816 * WebProcess/WebKitMain.cpp: 44817 (pauseProcessIfNeeded): Add some parentheses. 44818 448192011-06-27 Huang Dongsung <luxtella@company100.net> 44820 44821 Reviewed by Kenneth Rohde Christiansen. 44822 44823 TiledBackingStore endlessly creates and destroys tiles due to an off-by-one 44824 error. 44825 https://bugs.webkit.org/show_bug.cgi?id=62422 44826 44827 REGRESSION(r77286): Remove bottomRight(). 44828 REGRESSION(r77312): Change the logic to get the bottom right point. 44829 REGRESSION(r77928): Cause off-by-one error in TiledBackingStore. 44830 REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy. 44831 REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy. 44832 44833 If the viewport width equals the contents width, especially in the mobile 44834 device, TiledBackingStore endlessly creates and deletes the rightmost 44835 column and bottom row of tiles. 44836 In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles() 44837 deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates 44838 tiles infinitely. 44839 Modified TiledDrawingAreaProxy also. 44840 44841 * UIProcess/TiledDrawingAreaProxy.cpp: 44842 (WebKit::innerBottomRight): 44843 (WebKit::TiledDrawingAreaProxy::invalidate): 44844 (WebKit::TiledDrawingAreaProxy::paint): 44845 (WebKit::TiledDrawingAreaProxy::createTiles): 44846 448472011-06-26 Mark Rowe <mrowe@apple.com> 44848 44849 Reviewed by Dan Bernstein. 44850 44851 Use a separate file name for Lion's WebKitSystemInterface. 44852 44853 * Configurations/DebugRelease.xcconfig: 44854 448552011-06-26 Mark Rowe <mrowe@apple.com> 44856 44857 Rubber-stamped by Maciej Stachowiak. 44858 44859 <rdar://problem/9679221&9679235> Work around an issue with sandbox.h. 44860 44861 * WebProcess/mac/WebProcessMac.mm: 44862 448632011-06-26 Anders Carlsson <andersca@apple.com> 44864 44865 Reviewed by Dan Bernstein. 44866 44867 Don't use a Mutex for protecting access to the connection queue clients 44868 https://bugs.webkit.org/show_bug.cgi?id=63403 44869 44870 Make sure to only access the queue client vector from the connection work queue. 44871 This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly. 44872 44873 * Platform/CoreIPC/Connection.cpp: 44874 (CoreIPC::Connection::addQueueClient): 44875 (CoreIPC::Connection::removeQueueClient): 44876 (CoreIPC::Connection::addQueueClientOnWorkQueue): 44877 (CoreIPC::Connection::removeQueueClientOnWorkQueue): 44878 (CoreIPC::Connection::processIncomingMessage): 44879 * Platform/CoreIPC/Connection.h: 44880 448812011-06-25 Brent Fulgham <bfulgham@webkit.org> 44882 44883 Unreviewed build correction after r89426. 44884 44885 * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type 44886 as struct (in keeping with other declarations). 44887 * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to 44888 WinCairo build. 44889 448902011-06-25 Brent Fulgham <bfulgham@webkit.org> 44891 44892 Unreviewed build correction after r89503. 44893 See http://trac.webkit.org/changeset/89503. The modifications 44894 to the WebKit2.def need to be mirrored in WebKit2CFLite.def. 44895 44896 * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded. 44897 448982011-06-24 Brent Fulgham <bfulgham@webkit.org> 44899 44900 Unreviewed build correction after r89426. 44901 See http://trac.webkit.org/changeset/89426. The new WebKit2 44902 header file (WKImageCairo.h) is needed. 44903 44904 * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h 44905 header file to the WebKit2 API directory after building. 44906 449072011-06-24 Anders Carlsson <andersca@apple.com> 44908 44909 Reviewed by John Sullivan. 44910 44911 Drag-and-drop tab in same window makes web process falsely report unresponsiveness 44912 https://bugs.webkit.org/show_bug.cgi?id=63369 44913 <rdar://problem/9673120> 44914 44915 If the view becomes invisible, stop the responsiveness timer, because we might not get any 44916 messages that will cause it to stop (such as painting notifications since we don't paint 44917 when we're not visible). 44918 44919 * UIProcess/WebPageProxy.cpp: 44920 (WebKit::WebPageProxy::viewStateDidChange): 44921 449222011-06-24 Anders Carlsson <andersca@apple.com> 44923 44924 Reviewed by Kevin Decker. 44925 44926 Not possible for plug-ins to override the internal PDF viewer 44927 https://bugs.webkit.org/show_bug.cgi?id=63356 44928 <rdar://problem/9673382> 44929 44930 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44931 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 44932 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 44933 Pass the entire resource response to shouldUseCustomRepresentationForResponse. 44934 44935 * WebProcess/WebProcess.cpp: 44936 (WebKit::canPluginHandleResponse): 44937 Ask for the plug-in path for a plug-in that can handle the given resource response. 44938 If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in 44939 that can handle it. 44940 44941 (WebKit::WebProcess::shouldUseCustomRepresentationForResponse): 44942 If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's 44943 a plug-in that can handle the given response. If that is the case, it should have precedence over 44944 the custom representation. 44945 44946 * WebProcess/WebProcess.h: 44947 Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse. 44948 449492011-06-24 Adam Roben <aroben@apple.com> 44950 44951 Mac build fix after r89685 44952 44953 * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only. 44954 449552011-06-24 Adam Roben <aroben@apple.com> 44956 44957 Make the web process pause dialog look better on Vista/7 and robust against executable 44958 renames 44959 44960 Fixes <http://webkit.org/b/63335> Web process pause dialog looks bad on Vista/7 44961 44962 Reviewed by Brian Weinstein. 44963 44964 * WebProcess/WebKitMain.cpp: 44965 (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now 44966 fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string 44967 we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on 44968 Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is 44969 different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when 44970 referring to the process; that is different from before but seems fine. 44971 (WebKitMain): Call the new function. 44972 449732011-06-24 Dominic Cooney <dominicc@chromium.org> 44974 44975 Reviewed by Dimitri Glazkov. 44976 44977 Convert shadow DOM-related tests to use window.internals 44978 https://bugs.webkit.org/show_bug.cgi?id=61671 44979 44980 Remove shadow DOM-related methods from WebKit2 API. These are not 44981 required any more. 44982 44983 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 44984 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 44985 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 44986 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 44987 * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport. 44988 * win/WebKit2CFLite.def: Same for Cairo. 44989 449902011-06-24 Carlos Garcia Campos <cgarcia@igalia.com> 44991 44992 Reviewed by Martin Robinson. 44993 44994 [X11] Do not call NPP_SetWindow with a null window handle on destroy 44995 https://bugs.webkit.org/show_bug.cgi?id=62981 44996 44997 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 44998 (WebKit::NetscapePlugin::destroy): 44999 450002011-06-23 Jamie Cooley <james.cooley@nokia.com> 45001 45002 Reviewed by Andreas Kling. 45003 45004 [Qt][WK2] Qt port needs load-from-history implementation 45005 https://bugs.webkit.org/show_bug.cgi?id=57784 45006 45007 Created "random access" BackForwardHistory public API method, 45008 QWKHistory::goToItemAt(int) 45009 45010 * UIProcess/API/qt/qwkhistory.cpp: 45011 (QWKHistoryItem::QWKHistoryItem::itemRef): 45012 Added access method to fetch WKBackForwardListRef 45013 45014 (QWKHistoryPrivate::QWKHistoryPrivate): 45015 (QWKHistoryPrivate::createHistory): 45016 Updated createHistory method and QWKHistoryPrivate constructor to take a pointer 45017 to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the 45018 new API can ask the page to load a HistoryItem. 45019 45020 (QWKHistory::goToItemAt): 45021 New Public API. Like QWKHistory::itemAt, callee gives an integer. 45022 <0 means jump back to that item, 0 means the current item, >0 means jump forwards. 45023 If an out-of-range index is given, the function silently fails. 45024 This will invoke WKPageGoToBackForwardListItem. 45025 45026 * UIProcess/API/qt/qwkhistory.h: 45027 * UIProcess/API/qt/qwkhistory_p.h: 45028 * UIProcess/API/qt/qwkpage.cpp: 45029 (QWKPagePrivate::QWKPagePrivate): 45030 Update instantiation of QWKHistory to include QWKPage. 45031 45032 * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: 45033 (tst_QWKHistory::historyForwardBackTest_data): 45034 (tst_QWKHistory::historyForwardBackTest): 45035 Add test content for the new API 45036 450372011-06-23 Yael Aharon <yael.aharon@nokia.com> 45038 45039 Reviewed by Andreas Kling. 45040 45041 [Qt] [WK2] Add drag and drop support 45042 https://bugs.webkit.org/show_bug.cgi?id=62838 45043 45044 Added missing pieces to add support for DnD in QtWebKit. 45045 45046 * Shared/qt/ArgumentCodersQt.cpp: Added. 45047 (CoreIPC::::encode): 45048 (CoreIPC::::decode): 45049 * Shared/qt/ArgumentCodersQt.h: Added. 45050 Encode DragData so that we can transfer the QMimeData between the 45051 WebProcess and the UI Process. 45052 I encode the DragData and not QMimeData directly because we don't 45053 have an associated QMimeData for each message. 45054 45055 * UIProcess/API/qt/qgraphicswkview.cpp: 45056 (QGraphicsWKView::init): 45057 (QGraphicsWKView::dragEnterEvent): 45058 (QGraphicsWKView::dragLeaveEvent): 45059 (QGraphicsWKView::dragMoveEvent): 45060 (QGraphicsWKView::dropEvent): 45061 * UIProcess/API/qt/qgraphicswkview.h: 45062 * UIProcess/API/qt/qwkpage.cpp: 45063 (dropActionToDragOperation): 45064 (dragOperationToDropAction): 45065 (dragOperationToDropActions): 45066 (QWKPagePrivate::dragEnterEvent): 45067 (QWKPagePrivate::dragLeaveEvent): 45068 (QWKPagePrivate::dragMoveEvent): 45069 (QWKPagePrivate::dropEvent): 45070 (QWKPagePrivate::startDrag): 45071 45072 Send drag-and-drop related events to WebKit. 45073 45074 * UIProcess/API/qt/qwkpage_p.h: 45075 * UIProcess/PageClient.h: 45076 * UIProcess/WebPageProxy.cpp: 45077 (WebKit::WebPageProxy::performDragControllerAction): 45078 (WebKit::WebPageProxy::startDrag): 45079 * UIProcess/WebPageProxy.h: 45080 45081 Start the HTML5 drag operation from the UI process, because QDrag 45082 needs a handle to the QWidget under the mouse. 45083 45084 * UIProcess/WebPageProxy.messages.in: 45085 45086 Add message type that takes DragData as a parameter. 45087 45088 * WebKit2.pro: 45089 * WebProcess/WebCoreSupport/WebDragClient.cpp: 45090 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added. 45091 (WebKit::convertImageToBitmap): 45092 (WebKit::WebDragClient::startDrag): 45093 45094 Send a message to the UI process to start the HTML5 drag operation. 45095 45096 * WebProcess/WebPage/WebPage.cpp: 45097 (WebKit::WebPage::performDragControllerAction): 45098 * WebProcess/WebPage/WebPage.h: 45099 * WebProcess/WebPage/WebPage.messages.in: 45100 45101 Add message type that takes DragData as a parameter. 45102 451032011-06-23 Carlos Garcia Campos <cgarcia@igalia.com> 45104 45105 Reviewed by Martin Robinson. 45106 45107 [UNIX] Fix compile warnings in NetscapePluginX11.cpp 45108 https://bugs.webkit.org/show_bug.cgi?id=63249 45109 45110 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 45111 (WebKit::setXButtonEventFields): 45112 (WebKit::NetscapePlugin::platformHandleMouseEvent): 45113 451142011-06-22 Carlos Garcia Campos <cgarcia@igalia.com> 45115 45116 Reviewed by Martin Robinson. 45117 45118 [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo() 45119 https://bugs.webkit.org/show_bug.cgi?id=63150 45120 45121 Since the method is static, we are using 45122 NetscapePluginModule::getOrCreate() to get the module. If it's 45123 created, the load counter is 0, so that when module is deleted, 45124 shutdown() hasn't been called and the destructor crashes in the 45125 assert that checks the module has been removed from the 45126 initialized module list. We should increment the load counter, and 45127 decrement it before getPluginInfo() returns, so that 45128 decrementLoadCount() will call shutdown() if counter is 0 and the 45129 module will be deleted from the list. 45130 45131 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 45132 (WebKit::NetscapePluginModule::getPluginInfo): 45133 451342011-06-22 Carlos Garcia Campos <cgarcia@igalia.com> 45135 45136 Reviewed by Martin Robinson. 45137 45138 [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs 45139 https://bugs.webkit.org/show_bug.cgi?id=63149 45140 45141 NetscapePlugin::fromNPP() shouldn't be called with a null npp, it 45142 contains an assert that make it crash when building with debug enabled. 45143 45144 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 45145 (WebKit::NPN_GetValue): 45146 451472011-06-22 Nate Chapin <japhet@chromium.org> 45148 45149 Reviewed by Adam Barth. 45150 45151 Add win symbols for new window.internals functionality. 45152 https://bugs.webkit.org/show_bug.cgi?id=62066 45153 45154 * win/WebKit2.def: 45155 451562011-06-22 Balazs Kelemen <kbalazs@webkit.org> 45157 45158 Reviewed by Andreas Kling. 45159 45160 [Qt][WK2] Set up plugin tests 45161 https://bugs.webkit.org/show_bug.cgi?id=63066 45162 45163 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 45164 (WebKit::WebFrameLoaderClient::createPlugin): 45165 Force windowless mode for the test plugin because we 45166 don't support windowed plugins yet. 45167 451682011-06-22 Geoffrey Garen <ggaren@apple.com> 45169 45170 Reviewed by Oliver Hunt. 45171 45172 Removed unnecessary #include <stdio.h>. 45173 45174 * PluginProcess/mac/PluginProcessMainMac.mm: 45175 * Shared/WebMemorySampler.cpp: 45176 * UIProcess/WebFrameProxy.cpp: 45177 * UIProcess/WebProcessProxy.cpp: 45178 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 45179 * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it 45180 was needed. 45181 451822011-06-22 Balazs Kelemen <kbalazs@webkit.org> 45183 45184 Unreviewed build fix after r89461. 45185 45186 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 45187 (WebKit::NetscapePlugin::platformSetFocus): 45188 Forgot to name the parameter, fix it. 45189 451902011-06-22 Balazs Kelemen <kbalazs@webkit.org> 45191 45192 Reviewed by Darin Adler. 45193 45194 [X11][WK2] Implement NetscapePlugin::platformSetFocus 45195 https://bugs.webkit.org/show_bug.cgi?id=63154 45196 45197 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 45198 (WebKit::NetscapePlugin::platformSetFocus): 45199 Implement focus setting based on the WebKit1 path. 45200 452012011-06-22 Eunmi Lee <eunmi15.lee@samsung.com> 45202 45203 Reviewed by Martin Robinson. 45204 45205 Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port. 45206 https://bugs.webkit.org/show_bug.cgi?id=62848 45207 45208 Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and 45209 gtk/BackingStoreGtk.cpp. 45210 45211 * UIProcess/BackingStore.h: 45212 * UIProcess/gtk/BackingStoreGtk.cpp: 45213 (WebKit::BackingStore::incorporateUpdate): 45214 452152011-06-22 Adam Roben <aroben@apple.com> 45216 45217 Don't use an alpha channel when drawing the web page on Windows 45218 45219 We never use the alpha channel in the end anyway (because we never render into a layered 45220 window, which is the only kind of window that supports alpha). And using an alpha channel is 45221 tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha 45222 channel). 45223 45224 Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside 45225 form controls looks really awful on Windows XP 45226 45227 Reviewed by Anders Carlsson. 45228 45229 * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: 45230 (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter 45231 to the GraphicsContext constructor. 45232 452332011-06-22 Carlos Garcia Campos <cgarcia@igalia.com> 45234 45235 Reviewed by Martin Robinson. 45236 45237 [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination() 45238 https://bugs.webkit.org/show_bug.cgi?id=61627 45239 45240 Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the 45241 GTK port, when the process finishes the connection is closed and 45242 the other process is already notified. We still need to monitor 45243 the child process so that it doesn't become a zombie when it dntabi 45244 45245 * Platform/CoreIPC/Connection.h: 45246 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 45247 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 45248 (WebKit::childFinishedFunction): 45249 (WebKit::ProcessLauncher::launchProcess): 45250 * UIProcess/WebProcessProxy.cpp: 45251 (WebKit::WebProcessProxy::didFinishLaunching): 45252 452532011-06-20 Dimitri Glazkov <dglazkov@chromium.org> 45254 45255 Reviewed by Kent Tamura. 45256 45257 FileChooser should be only created when we need to choose files. 45258 https://bugs.webkit.org/show_bug.cgi?id=63039 45259 45260 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 45261 (WebKit::WebChromeClient::runOpenPanel): Changed to use settings. 45262 452632011-06-22 Martin Robinson <mrobinson@igalia.com> 45264 45265 Reviewed by Adam Roben. 45266 45267 [GTK] Implement pixel dump support for WebKitTestRunner 45268 https://bugs.webkit.org/show_bug.cgi?id=58242 45269 45270 * GNUmakefile.am: Added new Cairo specific image handling files to the build. 45271 * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp. 45272 (WKImageCreateCairoSurface): Added 45273 (WKImageCreateFromCairoSurface): Added 45274 * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp. 45275 452762011-06-21 MORITA Hajime <morrita@google.com> 45277 45278 Unreviewed, rolling out r89401 and r89403. 45279 http://trac.webkit.org/changeset/89401 45280 http://trac.webkit.org/changeset/89403 45281 https://bugs.webkit.org/show_bug.cgi?id=62970 45282 45283 Breaks mac build and mistakenly enables the spellcheck API 45284 45285 * Configurations/FeatureDefines.xcconfig: 45286 452872011-06-20 MORITA Hajime <morrita@google.com> 45288 45289 Reviewed by Kent Tamura. 45290 45291 Spellcheck API should be build-able. 45292 https://bugs.webkit.org/show_bug.cgi?id=62970 45293 45294 No new tests, changing only build related files 45295 45296 * Configurations/FeatureDefines.xcconfig: 45297 452982011-06-21 Jer Noble <jer.noble@apple.com> 45299 45300 Reviewed by Simon Fraser. 45301 45302 REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com) 45303 https://bugs.webkit.org/show_bug.cgi?id=63098 45304 <rdar://problem/9645393> 45305 45306 Force a repaint after completing entering full-screen mode only after the notification 45307 is sent for the QTMovie to tear down its layer. Then, the QTMovie will build up its 45308 layer again during the repaint. 45309 45310 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 45311 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): 45312 453132011-06-21 Yael Aharon <yael.aharon@nokia.com> 45314 45315 Reviewed by Kenneth Rohde Christiansen. 45316 45317 [Qt] Add an internal API for accessing the QGraphicsView. 45318 https://bugs.webkit.org/show_bug.cgi?id=63095 45319 45320 * UIProcess/API/qt/qwkpage.cpp: 45321 (QWKPagePrivate::ownerWidget): 45322 * UIProcess/API/qt/qwkpage_p.h: 45323 453242011-06-21 Lukasz Slachciak <l.slachciak@samsung.com> 45325 45326 Reviewed by Sam Weinig. 45327 45328 [GTK] [WK2] WebKit2 build break fixes. 45329 https://bugs.webkit.org/show_bug.cgi?id=62950 45330 45331 When building WebKit2 for GTK there are few build breaks connected with missing include files. 45332 45333 * Platform/unix/SharedMemoryUnix.cpp: 45334 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 45335 * UIProcess/API/gtk/PageClientImpl.cpp: 45336 453372011-06-20 Martin Robinson <mrobinson@igalia.com> 45338 45339 Reviewed by Eric Seidel. 45340 45341 [GTK] [WebKit2] Disable GDK double buffering 45342 https://bugs.webkit.org/show_bug.cgi?id=62770 45343 45344 Explicitly disable GDK double-buffering when instantiating 45345 a WebKit2 view widget. This prevents one extra pixmap copy. 45346 45347 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 45348 (webkit_web_view_base_init): 45349 453502011-06-20 Carlos Garcia Campos <cgarcia@igalia.com> 45351 45352 Reviewed by Martin Robinson. 45353 45354 [UNIX] Don't use WebCore::PluginPackage to get plugin information 45355 https://bugs.webkit.org/show_bug.cgi?id=62899 45356 45357 The problem is that both PluginPackage in WebCore and 45358 NetscapePluginModule in webkit2 install their own netscape browser 45359 functions and that can cause conflicts in some situations. 45360 45361 * Shared/Plugins/Netscape/NetscapePluginModule.h: Add helper 45362 function to set plugin mime type descriptions. 45363 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 45364 (WebKit::NetscapePluginModule::setMIMEDescription): Helper 45365 function to set plugin mime type descriptions. 45366 (WebKit::NetscapePluginModule::getPluginInfo): Use 45367 NetscapePluginModule instead of PluginPackage. 45368 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Remove unneeded 45369 header include. 45370 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 45371 (WebKit::NPN_GetValue): Do not try to get the XDisplay if the 45372 plugin doesn't have a view. It fixes a crash with flash plugin and 45373 matches WebCore. 45374 453752011-06-20 Carlos Garcia Campos <cgarcia@igalia.com> 45376 45377 Reviewed by Xan Lopez. 45378 45379 [GTK] Split libWebCore into two libWebCore and libWebCoreGtk 45380 https://bugs.webkit.org/show_bug.cgi?id=60539 45381 45382 * GNUmakefile.am: Link to libWebCoreGtk.la too. 45383 453842011-06-19 MORITA Hajime <morrita@google.com> 45385 45386 Unreviewed wincairo build fix. 45387 45388 * win/WebKit2CFLite.def: 45389 453902011-06-19 MORITA Hajime <morrita@google.com> 45391 45392 Reviewed by Dimitri Glazkov. 45393 45394 The internals object should have createShadowContentElement() 45395 https://bugs.webkit.org/show_bug.cgi?id=62432 45396 45397 * win/WebKit2.def: Added some more symbols necessary for 45398 window.internals to function to the global symbol list. 45399 454002011-06-18 Dimitri Glazkov <dglazkov@chromium.org> 45401 45402 Reviewed by Darin Adler. 45403 45404 Separate concerns of loading file icons and choosing files. 45405 https://bugs.webkit.org/show_bug.cgi?id=62931 45406 45407 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 45408 (WebKit::WebChromeClient::loadIconForFiles): Renamed. 45409 * WebProcess/WebCoreSupport/WebChromeClient.h: 45410 454112011-06-18 Eunmi Lee <eunmi15.lee@samsung.com> 45412 45413 Reviewed by Sam Weinig. 45414 45415 [EFL][WK2] add WebKit2 EFL port's NativeWebMouseEvent, NativeWebWheelEvent and NativeWebKeyboardEvent 45416 https://bugs.webkit.org/show_bug.cgi?id=61993 45417 45418 Add native mouse and keyboard event classes to convert EFL's events to NativeWebEvent. 45419 45420 * Shared/NativeWebKeyboardEvent.h: 45421 (WebKit::NativeWebKeyboardEvent::nativeEvent): 45422 * Shared/NativeWebMouseEvent.h: 45423 (WebKit::NativeWebMouseEvent::nativeEvent): 45424 * Shared/NativeWebWheelEvent.h: 45425 (WebKit::NativeWebWheelEvent::nativeEvent): 45426 * Shared/efl/NativeWebKeyboardEventEfl.cpp: Added. 45427 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): 45428 * Shared/efl/NativeWebMouseEventEfl.cpp: Added. 45429 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 45430 * Shared/efl/NativeWebWheelEventEfl.cpp: Added. 45431 (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): 45432 * Shared/efl/WebEventFactory.cpp: Added. 45433 (WebKit::modifiersForEvent): 45434 (WebKit::buttonForEvent): 45435 (WebKit::clickCountForEvent): 45436 (WebKit::WebEventFactory::createWebMouseEvent): 45437 (WebKit::WebEventFactory::createWebWheelEvent): 45438 (WebKit::WebEventFactory::createWebKeyboardEvent): 45439 * Shared/efl/WebEventFactory.h: Added. 45440 454412011-06-18 Eunmi Lee <eunmi15.lee@samsung.com> 45442 45443 Reviewed by Sam Weinig. 45444 45445 [EFL][WK2] Add missing functions of EFL port's PageClientImpl 45446 https://bugs.webkit.org/show_bug.cgi?id=62711 45447 45448 Three functions are added in the PageClient.h, so add them to the EFL's PageClientImpl. 45449 45450 * UIProcess/API/efl/PageClientImpl.cpp: 45451 (WebKit::PageClientImpl::screenToWindow): 45452 (WebKit::PageClientImpl::enterAcceleratedCompositingMode): 45453 (WebKit::PageClientImpl::exitAcceleratedCompositingMode): 45454 * UIProcess/API/efl/PageClientImpl.h: 45455 454562011-06-17 Brent Fulgham <bfulgham@webkit.org> 45457 45458 [WinCairo] Unreviewed build fix after r89060 and r89161. 45459 45460 * Shared/win/WebCoreArgumentCodersWin.cpp: WinCairo build fixes 45461 (1) Include proper header files for WinCairo build 45462 (2) Exclude unused namespace declaration 45463 454642011-06-17 Anders Carlsson <andersca@apple.com> 45465 45466 Reviewed by Sam Weinig. 45467 45468 Remove unused ArgumentEncoder and ArgumentDecoder functions 45469 https://bugs.webkit.org/show_bug.cgi?id=62909 45470 45471 * Platform/CoreIPC/ArgumentDecoder.cpp: 45472 * Platform/CoreIPC/ArgumentDecoder.h: 45473 * Platform/CoreIPC/ArgumentEncoder.cpp: 45474 * Platform/CoreIPC/ArgumentEncoder.h: 45475 45476 * Shared/win/PlatformCertificateInfo.cpp: 45477 (WebKit::PlatformCertificateInfo::encode): 45478 (WebKit::PlatformCertificateInfo::decode): 45479 Replace calls to encodeBytes/decodeBytes with 45480 encodeVariableLengthByteArray/decodeVariableLengthByteArray. 45481 454822011-06-17 Anders Carlsson <andersca@apple.com> 45483 45484 Yet another Qt build fix attempt. 45485 45486 * UIProcess/API/qt/ClientImpl.cpp: 45487 * UIProcess/API/qt/qgraphicswkview.cpp: 45488 * UIProcess/API/qt/qwkpage.cpp: 45489 * UIProcess/API/qt/qwkpage_p.h: 45490 454912011-06-17 Anders Carlsson <andersca@apple.com> 45492 45493 Another attempt at fixing the Qt build. 45494 45495 * UIProcess/API/qt/ClientImpl.cpp: 45496 * UIProcess/API/qt/qgraphicswkview.cpp: 45497 * UIProcess/API/qt/qwkcontext.cpp: 45498 454992011-06-17 Anders Carlsson <andersca@apple.com> 45500 45501 Fix Qt build. 45502 45503 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 45504 455052011-06-17 Anders Carlsson <andersca@apple.com> 45506 45507 Windows build fix. 45508 45509 * UIProcess/win/WebView.cpp: 45510 455112011-06-17 Anders Carlsson <andersca@apple.com> 45512 45513 Reviewed by Sam Weinig. 45514 45515 Move the remaining WebCore argument coders to the .cpp file 45516 https://bugs.webkit.org/show_bug.cgi?id=62874 45517 45518 Also add includes that other files need that used to be provided by WebCoreArgumentCoders.h, 45519 and get rid of the LAZY_NATIVE_CURSOR #if check because all WebKit2 platforms now support it. 45520 45521 * Shared/ContextMenuState.h: 45522 * Shared/WebCoreArgumentCoders.cpp: 45523 (CoreIPC::::encode): 45524 (CoreIPC::::decode): 45525 * Shared/WebCoreArgumentCoders.h: 45526 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 45527 * Shared/mac/WebCoreArgumentCodersMac.mm: 45528 * Shared/qt/WebCoreArgumentCodersQt.cpp: 45529 * UIProcess/API/mac/PDFViewController.mm: 45530 * UIProcess/PageClient.h: 45531 * UIProcess/WebIconDatabase.cpp: 45532 * UIProcess/WebPageProxy.cpp: 45533 * UIProcess/WebPageProxy.h: 45534 * UIProcess/mac/WKFullScreenWindowController.mm: 45535 455362011-06-17 Chang Shu <cshu@webkit.org> 45537 45538 Reviewed by Anders Carlsson. 45539 45540 [Qt] [WK2] Debug info leaks to stdout from plugins in Qt WebKit2 layout tests 45541 https://bugs.webkit.org/show_bug.cgi?id=61940 45542 45543 Tempararily supress stdout during getPluginInfo during which debug info was leaked out. 45544 45545 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 45546 (WebKit::StdoutRedirect::StdoutRedirect): 45547 (WebKit::StdoutRedirect::~StdoutRedirect): 45548 (WebKit::NetscapePluginModule::getPluginInfo): 45549 455502011-06-17 Anders Carlsson <andersca@apple.com> 45551 45552 Reviewed by Andreas Kling. 45553 45554 Remove WebCore:: qualifier from names in WebPageProxy. 45555 45556 * UIProcess/WebPageProxy.cpp: 45557 (WebKit::WebPageProxy::dragEntered): 45558 (WebKit::WebPageProxy::dragUpdated): 45559 (WebKit::WebPageProxy::dragExited): 45560 (WebKit::WebPageProxy::performDrag): 45561 (WebKit::WebPageProxy::performDragControllerAction): 45562 (WebKit::WebPageProxy::dragEnded): 45563 (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize): 45564 (WebKit::WebPageProxy::unableToImplementPolicy): 45565 (WebKit::WebPageProxy::didChangeContentsSize): 45566 (WebKit::WebPageProxy::didFindZoomableArea): 45567 (WebKit::WebPageProxy::findZoomableAreaForPoint): 45568 (WebKit::WebPageProxy::setComposition): 45569 (WebKit::WebPageProxy::checkTextOfParagraph): 45570 (WebKit::WebPageProxy::checkGrammarOfString): 45571 (WebKit::WebPageProxy::setCursor): 45572 (WebKit::WebPageProxy::computedPagesCallback): 45573 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): 45574 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): 45575 (WebKit::WebPageProxy::showCorrectionPanel): 45576 (WebKit::WebPageProxy::dismissCorrectionPanel): 45577 (WebKit::WebPageProxy::dismissCorrectionPanelSoon): 45578 (WebKit::WebPageProxy::recordAutocorrectionResponse): 45579 455802011-06-17 Anders Carlsson <andersca@apple.com> 45581 45582 Reviewed by Darin Adler. 45583 45584 Fix message generator to include headers for all types 45585 https://bugs.webkit.org/show_bug.cgi?id=62870 45586 45587 Previously, if we found an argument coder header for a type, we'd assume 45588 that that header includes the necessary headers for the type. 45589 45590 * Scripts/webkit2/messages.py: 45591 * Scripts/webkit2/messages_unittest.py: 45592 455932011-06-17 Chang Shu <cshu@webkit.org> 45594 45595 Reviewed by Andreas Kling. 45596 45597 [Qt] [WK2] Support undo/redo in MiniBrowser 45598 https://bugs.webkit.org/show_bug.cgi?id=62809 45599 45600 * UIProcess/API/qt/qwkpage.cpp: 45601 (QWKPage::action): 45602 * UIProcess/API/qt/qwkpage.h: 45603 456042011-06-17 Carlos Garcia Campos <cgarcia@igalia.com> 45605 45606 Unreviewed. Fix WebKit2 GTK build after r89060. 45607 45608 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 45609 (CoreIPC::::encode): 45610 456112011-06-16 Anders Carlsson <andersca@apple.com> 45612 45613 Reviewed by Sam Weinig. 45614 45615 Get rid of CoreIPC::In and CoreIPC::Out from some argument coders 45616 https://bugs.webkit.org/show_bug.cgi?id=62832 45617 45618 * Shared/OriginAndDatabases.cpp: 45619 (WebKit::OriginAndDatabases::encode): 45620 (WebKit::OriginAndDatabases::decode): 45621 * Shared/SecurityOriginData.cpp: 45622 (WebKit::SecurityOriginData::encode): 45623 (WebKit::SecurityOriginData::decode): 45624 * Shared/WebKeyboardEvent.cpp: 45625 (WebKit::WebKeyboardEvent::encode): 45626 (WebKit::WebKeyboardEvent::decode): 45627 * Shared/WebOpenPanelParameters.cpp: 45628 (WebKit::WebOpenPanelParameters::Data::encode): 45629 (WebKit::WebOpenPanelParameters::Data::decode): 45630 * Shared/WebPreferencesStore.cpp: 45631 (WebKit::WebPreferencesStore::encode): 45632 (WebKit::WebPreferencesStore::decode): 45633 456342011-06-16 Anders Carlsson <andersca@apple.com> 45635 45636 Reviewed by Sam Weinig. 45637 45638 Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders 45639 https://bugs.webkit.org/show_bug.cgi?id=62803 45640 45641 Get rid of the free encode/decode functions and move the template specializations to their 45642 respective implementation files instead. 45643 45644 * Shared/WebCoreArgumentCoders.h: 45645 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 45646 (CoreIPC::::encode): 45647 (CoreIPC::::decode): 45648 * Shared/mac/WebCoreArgumentCodersMac.mm: 45649 (CoreIPC::::encode): 45650 (CoreIPC::::decode): 45651 * Shared/qt/WebCoreArgumentCodersQt.cpp: 45652 (CoreIPC::::encode): 45653 (CoreIPC::::decode): 45654 * Shared/win/WebCoreArgumentCodersWin.cpp: 45655 (CoreIPC::::encode): 45656 (CoreIPC::::decode): 45657 456582011-06-16 Chang Shu <cshu@webkit.org> 45659 45660 Reviewed by Sam Weinig. 45661 45662 [Qt] [WK2] Qt WebKit2 needs undo/redo support 45663 https://bugs.webkit.org/show_bug.cgi?id=62637 45664 45665 Implement undo/redo support for document.execCommand(). 45666 45667 * UIProcess/API/qt/qwkpage.cpp: 45668 (QWKPagePrivate::QWKPagePrivate): 45669 (QWKPagePrivate::~QWKPagePrivate): 45670 (QWKPagePrivate::registerEditCommand): 45671 (QWKPagePrivate::clearAllEditCommands): 45672 (QWKPagePrivate::canUndoRedo): 45673 (QWKPagePrivate::executeUndoRedo): 45674 * UIProcess/API/qt/qwkpage_p.h: 45675 * UIProcess/qt/WebUndoCommandQt.cpp: Added. 45676 (WebUndoCommandQt::WebUndoCommandQt): 45677 (WebUndoCommandQt::~WebUndoCommandQt): 45678 (WebUndoCommandQt::redo): 45679 (WebUndoCommandQt::undo): 45680 * UIProcess/qt/WebUndoCommandQt.h: Added. 45681 (WebUndoCommandQt::inUndoRedo): 45682 * WebKit2.pro: 45683 456842011-06-16 Anders Carlsson <andersca@apple.com> 45685 45686 Fix build. 45687 45688 * Shared/WebCoreArgumentCoders.cpp: 45689 * Shared/WebCoreArgumentCoders.h: 45690 456912011-06-15 Anders Carlsson <andersca@apple.com> 45692 45693 Reviewed by Sam Weinig. 45694 45695 Move more argument coders to WebCoreArgumentCoders and clean up the animation coders 45696 https://bugs.webkit.org/show_bug.cgi?id=62760 45697 45698 * Shared/WebCoreArgumentCoders.cpp: 45699 (CoreIPC::::encode): 45700 (CoreIPC::::decode): 45701 (CoreIPC::encodeOperation): 45702 (CoreIPC::decodeOperation): 45703 (CoreIPC::encodeBoolAndValue): 45704 (CoreIPC::encodeBoolAndEnumValue): 45705 (CoreIPC::decodeBoolAndValue): 45706 (CoreIPC::decodeBoolAndEnumValue): 45707 * Shared/WebCoreArgumentCoders.h: 45708 * Shared/mac/ArgumentCodersMac.h: 45709 * Shared/mac/ArgumentCodersMac.mm: 45710 * Shared/mac/WebCoreArgumentCodersMac.mm: 45711 (CoreIPC::::encode): 45712 (CoreIPC::::decode): 45713 457142011-06-16 Sangyong Park <sy302.park@gmail.com> 45715 45716 Reviewed by Martin Robinson. 45717 45718 [GTK] Implement ResourceRequest and ResourceResponse encoder/decoder 45719 https://bugs.webkit.org/show_bug.cgi?id=55934 45720 45721 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 45722 (CoreIPC::encodeResourceRequest): 45723 (CoreIPC::decodeResourceRequest): 45724 (CoreIPC::encodeResourceResponse): 45725 (CoreIPC::decodeResourceResponse): 45726 457272011-06-16 Carlos Garcia Campos <cgarcia@igalia.com> 45728 45729 Reviewed by Xan Lopez. 45730 45731 [GTK] Remove support for GTK+2 in WebKit2 45732 https://bugs.webkit.org/show_bug.cgi?id=62794 45733 45734 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 45735 (webkitWebViewBaseRealize): 45736 (webkitWebViewBaseDraw): 45737 (webkitWebViewBaseQueryTooltip): 45738 (webkit_web_view_base_class_init): 45739 (webkitWebViewBaseSetTooltipText): 45740 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 45741 (WebKit::WebContextMenuProxyGtk::menuPositionFunction): 45742 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 45743 (WebKit::moduleMixesGtkSymbols): 45744 457452011-06-15 Adam Barth <abarth@webkit.org> 45746 45747 Reviewed by Eric Seidel. 45748 45749 Remove ScriptController::setAllowPopupsFromPlugin 45750 https://bugs.webkit.org/show_bug.cgi?id=62706 45751 45752 * WebProcess/Plugins/PluginView.cpp: 45753 (WebKit::PluginView::performJavaScriptURLRequest): 45754 (WebKit::PluginView::evaluate): 45755 457562011-06-15 Ryuan Choi <ryuan.choi@samsung.com> 45757 45758 Rubber stamped by Eric Seidel. 45759 45760 [CMAKE][WK2] Add an option to build webkit2. 45761 https://bugs.webkit.org/show_bug.cgi?id=62260 45762 45763 Add script to build WebKit2 using CMake. 45764 45765 * CMakeLists.txt: Added. 45766 457672011-06-15 John Sullivan <sullivan@apple.com> 45768 45769 Reviewed by Sam Weinig. 45770 45771 WKSecurityOriginGetProtocol and WKSecurityOriginGetHost are named wrong because they return copied strings 45772 <https://bugs.webkit.org/show_bug.cgi?id=62763> 45773 <rdar://problem/9618071> 45774 45775 * Shared/API/c/WKSecurityOrigin.cpp: 45776 (WKSecurityOriginCopyProtocol): 45777 Renamed to use "Copy" instead of "Get" because it returns a copy. 45778 (WKSecurityOriginCopyHost): 45779 Ditto. 45780 45781 * Shared/API/c/WKSecurityOrigin.h: 45782 Updated declarations. 45783 457842011-06-14 Jon Honeycutt <jhoneycutt@apple.com> 45785 45786 REGRESSION(78201): Windowless Flash plug-ins are transparent on some sites 45787 https://bugs.webkit.org/show_bug.cgi?id=62690 45788 <rdar://problem/9512026> 45789 45790 Reviewed by Ada Chan. 45791 45792 The bug arises when mixing CoreGraphics and GDI. When we create a Windows 45793 bitmap for a windowless plug-in to draw into, we first fill it with "clear", 45794 or all 0s. If the plug-in uses GDI to draw, the GDI calls will ignore the 45795 alpha channel, and if we then use CG to blend this bitmap onto the 45796 GraphicsContext for the rest of the page, CG will treat the 0-filled 45797 alpha channel as being transparent. 45798 45799 To fix this, on Windows, use a GDI-backed GraphicsContext to paint the 45800 page in the WebProcess, and use GDI to blit from the UpdateInfo to the 45801 backing store in the UI process. 45802 45803 * Platform/SharedMemory.h: 45804 (WebKit::SharedMemory::handle): 45805 Return the handle for the memory. 45806 45807 * Shared/ShareableBitmap.h: 45808 Declared windowsContext() to return a HDC with the bitmap selected into it. 45809 Added members to store the HDC and the HBITMAP. 45810 45811 * Shared/win/ShareableBitmapWin.cpp: Added. 45812 (WebKit::ShareableBitmap::windowsContext): 45813 Get the screen DC, and create a compatible DC from it. Create a DIB 45814 section backed by the shared memory, select it into the context, and 45815 return it. 45816 45817 * UIProcess/win/BackingStoreWin.cpp: 45818 (WebKit::BackingStore::incorporateUpdate): 45819 Use GDI to blit from the update info's bitmap into the backing store bitmap. 45820 45821 * WebProcess/WebPage/DrawingAreaImpl.cpp: 45822 (WebKit::DrawingAreaImpl::createGraphicsContext): 45823 Return a GraphicsContext from the ShareableBitmap. 45824 (WebKit::DrawingAreaImpl::display): 45825 Call createGraphicsContext(), and pass the ShareableBitmap. 45826 45827 * WebProcess/WebPage/DrawingAreaImpl.h: 45828 Declare createGraphicsContext(), which on Windows will create a GDI-backed 45829 GraphicsContext. 45830 45831 * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added. 45832 (WebKit::DrawingAreaImpl::createGraphicsContext): 45833 Get a Windows context for the bitmap, and create and return a new 45834 GraphicsContext using the DC. 45835 45836 * win/WebKit2.vcproj: 45837 Added new files. 45838 458392011-06-15 Anders Carlsson <andersca@apple.com> 45840 45841 Reviewed by Sam Weinig. 45842 45843 Move more argument coders to WebCoreArgumentCoders.cpp 45844 https://bugs.webkit.org/show_bug.cgi?id=62755 45845 45846 * Shared/WebCoreArgumentCoders.cpp: 45847 (CoreIPC::::decode): 45848 (CoreIPC::::encode): 45849 (CoreIPC::encodeImage): 45850 (CoreIPC::decodeImage): 45851 * Shared/WebCoreArgumentCoders.h: 45852 458532011-06-15 Anders Carlsson <andersca@apple.com> 45854 45855 Reviewed by Darin Adler. 45856 45857 Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp 45858 https://bugs.webkit.org/show_bug.cgi?id=62742 45859 45860 * Shared/ShareableBitmap.h: 45861 Move createImage out of the #if PLATFORM(QT) section. 45862 45863 * Shared/WebCoreArgumentCoders.cpp: 45864 (CoreIPC::decodeImage): 45865 Call ShareableBitmap::createImage. 45866 45867 * Shared/WebCoreArgumentCoders.h: 45868 remove createImage function declaration. 45869 45870 * Shared/cairo/ShareableBitmapCairo.cpp: 45871 (WebKit::ShareableBitmap::createImage): 45872 Add implementation. 45873 45874 * Shared/cg/ShareableBitmapCG.cpp: 45875 (WebKit::ShareableBitmap::createGraphicsContext): 45876 (WebKit::ShareableBitmap::createImage): 45877 Move createImage implementation from WebCoreArgumentCodersCG.cpp here. 45878 45879 * WebKit2.xcodeproj/project.pbxproj: 45880 * win/WebKit2.vcproj: 45881 Update projects. 45882 458832011-06-15 Anders Carlsson <andersca@apple.com> 45884 45885 Reviewed by Alexey Proskuryakov. 45886 45887 Move some argument coders to WebCoreArgumentCoders.cpp 45888 https://bugs.webkit.org/show_bug.cgi?id=62739 45889 45890 * GNUmakefile.am: 45891 * Shared/WebCoreArgumentCoders.cpp: 45892 (CoreIPC::::encode): 45893 (CoreIPC::::decode): 45894 * Shared/WebCoreArgumentCoders.h: 45895 * WebKit2.pro: 45896 458972011-06-15 Anders Carlsson <andersca@apple.com> 45898 45899 Reviewed by Sam Weinig. 45900 45901 Fix possible null dereference in webSecKeychainItemCreateFromContentOnMainThread 45902 https://bugs.webkit.org/show_bug.cgi?id=62736 45903 <rdar://problem/9601595> 45904 45905 * WebProcess/mac/KeychainItemShimMethods.mm: 45906 (WebKit::webSecKeychainItemCreateFromContentOnMainThread): 45907 SecKeychainItemCreateFromContent can potentially return a null keychain item, so add a null check before trying to retain it. 45908 459092011-06-15 Anders Carlsson <andersca@apple.com> 45910 45911 Reviewed by Dan Bernstein. 45912 45913 Ignore responsiveness timer callbacks on closed pages 45914 https://bugs.webkit.org/show_bug.cgi?id=62735 45915 <rdar://problem/9511295> 45916 45917 * UIProcess/WebPageProxy.cpp: 45918 (WebKit::WebPageProxy::close): 45919 Use nullptr instead of clear. 45920 45921 (WebKit::WebPageProxy::processDidBecomeUnresponsive): 45922 Return early if the page isn't valid. 45923 45924 (WebKit::WebPageProxy::processDidBecomeResponsive): 45925 Ditto. 45926 45927 (WebKit::WebPageProxy::updateBackingStoreDiscardableState): 45928 Assert that the page is valid. 45929 459302011-06-15 Sheriff Bot <webkit.review.bot@gmail.com> 45931 45932 Unreviewed, rolling out r88907. 45933 http://trac.webkit.org/changeset/88907 45934 https://bugs.webkit.org/show_bug.cgi?id=62732 45935 45936 See comment #15 by Nikolas Zimmermann on bug 62527 regarding 45937 the deprecation of makeString() (Requested by acidx on 45938 #webkit). 45939 45940 * UIProcess/efl/WebPageProxyEfl.cpp: 45941 (WebKit::WebPageProxy::standardUserAgent): 45942 459432011-06-15 Csaba Osztrogonác <ossy@webkit.org> 45944 45945 [Qt][WK2] Unreviewed rolling out r88799, because it made web process crash. 45946 45947 * Scripts/webkit2/messages.py: 45948 * Shared/LayerTreeContext.h: 45949 * Shared/qt/LayerTreeContextQt.cpp: 45950 (WebKit::LayerTreeContext::LayerTreeContext): 45951 (WebKit::LayerTreeContext::~LayerTreeContext): 45952 (WebKit::LayerTreeContext::encode): 45953 (WebKit::LayerTreeContext::decode): 45954 (WebKit::LayerTreeContext::isEmpty): 45955 (WebKit::operator==): 45956 * UIProcess/DrawingAreaProxy.h: 45957 * UIProcess/DrawingAreaProxy.messages.in: 45958 * WebKit2.pro: 45959 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 45960 (WebCore::collectCompositingInfoForThisLayer): 45961 * WebProcess/WebPage/LayerTreeHost.cpp: 45962 (WebKit::LayerTreeHost::create): 45963 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 45964 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed. 45965 459662011-06-14 Eunmi Lee <eunmi15.lee@samsung.com> 45967 45968 Reviewed by Sam Weinig. 45969 45970 [EFL][WK2] Change string operation to makeString() 45971 https://bugs.webkit.org/show_bug.cgi?id=62527 45972 45973 Use makeString() because it is better than creating individual strings and concatenating them. 45974 45975 * UIProcess/efl/WebPageProxyEfl.cpp: 45976 (WebKit::WebPageProxy::standardUserAgent): 45977 459782011-06-14 Sam Weinig <sam@webkit.org> 45979 45980 Reviewed by Simon Fraser. 45981 45982 Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot 45983 https://bugs.webkit.org/show_bug.cgi?id=62666 45984 45985 * Shared/API/c/cg/WKImageCG.cpp: 45986 (WKImageCreateCGImage): 45987 (WKImageCreateFromCGImage): 45988 Don't null check the arguments (as per our API design) or the direct result of WebImage::create. 45989 45990 * Shared/UserMessageCoders.h: 45991 (WebKit::UserMessageEncoder::baseEncode): 45992 Remove redundant check and make not being able to create a handle the same 45993 as not being backed by shareable memory. 45994 459952011-06-14 John Sullivan <sullivan@apple.com> 45996 45997 Reviewed by Ada Chan. 45998 45999 <https://bugs.webkit.org/show_bug.cgi?id=62693> 46000 <rdar://problem/9601436> 46001 windowsKeyCodeForKeyEvent should be robust against NSFlagsChanged events 46002 46003 * Shared/mac/WebEventFactory.mm: 46004 (WebKit::windowsKeyCodeForKeyEvent): 46005 Explicitly check for NSFlagsChanged before calling -charactersIgnoringModifiers, since 46006 charactersIgnoringModifiers throws an exception for NSFlagsChanged events. 46007 460082011-06-14 Anders Carlsson <andersca@apple.com> 46009 46010 Reviewed by Sam Weinig. 46011 46012 Use new byte array encoding/decoding functions for WTF argument coders 46013 https://bugs.webkit.org/show_bug.cgi?id=62682 46014 46015 * Platform/CoreIPC/ArgumentCoders.cpp: 46016 (CoreIPC::::encode): 46017 (CoreIPC::::decode): 46018 Use the new functions for the string argument coders. 46019 46020 * Platform/CoreIPC/ArgumentCoders.h: 46021 (CoreIPC::SimpleArgumentCoder::encode): 46022 (CoreIPC::SimpleArgumentCoder::decode): 46023 Use the new functions to avoid encoding/decoding the size when it's known at decode time. 46024 46025 * Platform/CoreIPC/ArgumentDecoder.cpp: 46026 (CoreIPC::roundUpToAlignment): 46027 Assert that the alignment is a power of 2. 46028 46029 (CoreIPC::decodeFixedLengthData): 46030 Alignment comes before the size. 46031 46032 * UIProcess/cf/WebBackForwardListCF.cpp: 46033 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 46034 Add a FIXME about now using the internal CoreIPC encoding format here. 46035 46036 * UIProcess/cf/WebPageProxyCF.cpp: 46037 Bump the current session state data version number. 46038 460392011-06-14 No'am Rosenthal <noam.rosenthal@nokia.com> 46040 46041 Reviewed by Kenneth Rohde Christiansen. 46042 46043 [Qt] Implement accelerated compositing on WK2 Qt port 46044 https://bugs.webkit.org/show_bug.cgi?id=56935 46045 46046 Expose viewportVisibleRect(), so that we can detect which parts of a texture actually 46047 need to be uploaded. 46048 46049 Together with Viatcheslav Ostapenko. 46050 46051 * UIProcess/API/qt/qwkpage.cpp: 46052 (QWKPagePrivate::viewportVisibleRect): 46053 * UIProcess/API/qt/qwkpage_p.h: 46054 * UIProcess/PageClient.h: 46055 * UIProcess/WebPageProxy.h: 46056 * UIProcess/qt/WebPageProxyQt.cpp: 46057 (WebKit::WebPageProxy::viewportVisibleRect): 46058 460592011-06-14 Anders Carlsson <andersca@apple.com> 46060 46061 Reviewed by Sam Weinig. 46062 46063 Start using the new encode/decode functions 46064 https://bugs.webkit.org/show_bug.cgi?id=62676 46065 46066 * Platform/CoreIPC/DataReference.cpp: 46067 (CoreIPC::DataReference::encode): 46068 Use encodeVariableLengthByteArray. 46069 46070 * Shared/UserMessageCoders.h: 46071 (WebKit::UserMessageEncoder::baseEncode): 46072 Use encodeVariableLengthByteArray and the new dataReference accessors. 46073 46074 (WebKit::UserMessageDecoder::baseDecode): 46075 Use decodeVariableLengthByteArray. 46076 46077 * Shared/WebData.h: 46078 (WebKit::WebData::dataReference): 46079 Return a reference to the data. 46080 46081 * Shared/WebSerializedScriptValue.h: 46082 (WebKit::WebSerializedScriptValue::dataReference): 46083 Ditto. 46084 46085 * Shared/cf/ArgumentCodersCF.cpp: 46086 (CoreIPC::encode): 46087 Use encodeVariableLengthByteArray. 46088 46089 * Shared/mac/SandboxExtensionMac.mm: 46090 (WebKit::SandboxExtension::Handle::encode): 46091 Use encodeVariableLengthByteArray. 46092 46093 * WebProcess/WebPage/DecoderAdapter.cpp: 46094 (WebKit::DecoderAdapter::decodeBytes): 46095 Use decodeVariableLengthByteArray. 46096 46097 * WebProcess/WebPage/EncoderAdapter.cpp: 46098 (WebKit::EncoderAdapter::dataReference): 46099 Rename data() to dataReference() to indicate that it returns a reference to the data. 46100 46101 (WebKit::EncoderAdapter::encodeBytes): 46102 Use encodeVariableLengthByteArray. 46103 461042011-06-14 Anders Carlsson <andersca@apple.com> 46105 46106 Reviewed by Sam Weinig. 46107 46108 Add encodeVariableLengthByteArray and decodeVariableLengthByteArray 46109 https://bugs.webkit.org/show_bug.cgi?id=62674 46110 46111 Rename the ArgumentDecoder::decodeBytes overload that takes a DataReference to 46112 decodeVariableLengthByteArray, to match the added encodeVariableLengthByteArray. 46113 46114 * Platform/CoreIPC/ArgumentDecoder.cpp: 46115 (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray): 46116 * Platform/CoreIPC/ArgumentDecoder.h: 46117 * Platform/CoreIPC/ArgumentEncoder.cpp: 46118 (CoreIPC::ArgumentEncoder::encodeFixedLengthData): 46119 (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray): 46120 * Platform/CoreIPC/ArgumentEncoder.h: 46121 * Platform/CoreIPC/DataReference.cpp: 46122 (CoreIPC::DataReference::decode): 46123 * Shared/mac/SandboxExtensionMac.mm: 46124 (WebKit::SandboxExtension::Handle::decode): 46125 461262011-06-14 Anders Carlsson <andersca@apple.com> 46127 46128 Reviewed by Sam Weinig. 46129 46130 Add functions for converting between DataReferences and vectors 46131 https://bugs.webkit.org/show_bug.cgi?id=62671 46132 46133 * Platform/CoreIPC/DataReference.h: 46134 (CoreIPC::DataReference::DataReference): 46135 New implicit constructor that takes a vector. 46136 46137 (CoreIPC::DataReference::vector): 46138 New function that returns a new vector. 46139 46140 * Shared/WebBackForwardListItem.cpp: 46141 (WebKit::WebBackForwardListItem::encode): 46142 Use implicit constructor. 46143 46144 * WebProcess/WebPage/WebPage.cpp: 46145 (WebKit::WebPage::runJavaScriptInMainFrame): 46146 Ditto. 46147 461482011-06-14 John Sullivan <sullivan@apple.com> 46149 46150 Reviewed by Dan Bernstein. 46151 46152 <https://bugs.webkit.org/show_bug.cgi?id=62666> 46153 <rdar://problem/9606676> 46154 Callers should be robust against WebImage::create() returning an image with a null snapshot 46155 46156 * Shared/API/c/cg/WKImageCG.cpp: 46157 (WKImageCreateCGImage): 46158 Return 0 if no bitmap was created. 46159 (WKImageCreateFromCGImage): 46160 Ditto. 46161 46162 * Shared/UserMessageCoders.h: 46163 (WebKit::UserMessageEncoder::baseEncode): 46164 Check for null before dereferencing image->bitmap() in two places. 46165 46166 * WebProcess/WebPage/WebPage.cpp: 46167 (WebKit::WebPage::snapshotInViewCoordinates): 46168 Return 0 if no bitmap was created. 46169 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): 46170 Ditto. 46171 (WebKit::WebPage::createSnapshotOfVisibleContent): 46172 Bail out if no bitmap was created. 46173 461742011-06-14 Anders Carlsson <andersca@apple.com> 46175 46176 Reviewed by Darin Adler. 46177 46178 Add functions for encoding/decoding data with a known size and alignment 46179 https://bugs.webkit.org/show_bug.cgi?id=62663 46180 46181 * Platform/CoreIPC/ArgumentDecoder.cpp: 46182 (CoreIPC::ArgumentDecoder::decodeFixedLengthData): 46183 * Platform/CoreIPC/ArgumentDecoder.h: 46184 * Platform/CoreIPC/ArgumentEncoder.cpp: 46185 (CoreIPC::ArgumentEncoder::encodeFixedLengthData): 46186 (CoreIPC::ArgumentEncoder::encodeVariableLengthData): 46187 * Platform/CoreIPC/ArgumentEncoder.h: 46188 461892011-06-14 Anders Carlsson <andersca@apple.com> 46190 46191 Reviewed by Sam Weinig. 46192 46193 Move string ArgumentCoder template specializations out into a .cpp file 46194 https://bugs.webkit.org/show_bug.cgi?id=62660 46195 46196 * GNUmakefile.am: 46197 * Platform/CoreIPC/ArgumentCoders.cpp: Added. 46198 (CoreIPC::::encode): 46199 (CoreIPC::::decode): 46200 * Platform/CoreIPC/ArgumentCoders.h: 46201 * WebKit2.pro: 46202 * WebKit2.xcodeproj/project.pbxproj: 46203 * win/WebKit2.vcproj: 46204 462052011-06-14 Anders Carlsson <andersca@apple.com> 46206 46207 Reviewed by Sam Weinig. 46208 46209 Remove PluginInfoStore::Plugin typedef 46210 https://bugs.webkit.org/show_bug.cgi?id=62657 46211 46212 * UIProcess/Plugins/PluginInfoStore.h: 46213 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 46214 (WebKit::PluginInfoStore::getPluginInfo): 46215 (WebKit::PluginInfoStore::shouldUsePlugin): 46216 462172011-06-14 Anders Carlsson <andersca@apple.com> 46218 46219 Reviewed by Sam Weinig. 46220 46221 Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef 46222 https://bugs.webkit.org/show_bug.cgi?id=62654 46223 46224 * UIProcess/Plugins/PluginInfoStore.cpp: 46225 (WebKit::PluginInfoStore::loadPluginsIfNecessary): 46226 (WebKit::PluginInfoStore::loadPlugin): 46227 (WebKit::PluginInfoStore::findPluginForMIMEType): 46228 (WebKit::PluginInfoStore::findPluginForExtension): 46229 (WebKit::PluginInfoStore::findPlugin): 46230 (WebKit::PluginInfoStore::infoForPluginWithPath): 46231 * UIProcess/Plugins/PluginInfoStore.h: 46232 * UIProcess/Plugins/PluginProcessManager.cpp: 46233 (WebKit::PluginProcessManager::getPluginProcessConnection): 46234 * UIProcess/Plugins/PluginProcessProxy.cpp: 46235 (WebKit::PluginProcessProxy::PluginProcessProxy): 46236 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 46237 (WebKit::WebPluginSiteDataManager::getSitesWithData): 46238 (WebKit::WebPluginSiteDataManager::clearSiteData): 46239 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 46240 (WebKit::PluginInfoStore::getPluginInfo): 46241 (WebKit::PluginInfoStore::shouldUsePlugin): 46242 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: 46243 (WebKit::PluginInfoStore::getPluginInfo): 46244 (WebKit::PluginInfoStore::shouldUsePlugin): 46245 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 46246 (WebKit::isOldWindowsMediaPlayerPlugin): 46247 (WebKit::isNewWindowsMediaPlayerPlugin): 46248 (WebKit::PluginInfoStore::shouldUsePlugin): 46249 462502011-06-14 Stephanie Lewis <slewis@apple.com> 46251 46252 Rubber stamped by Oliver Hunt. 46253 46254 <rdar://problem/9511169> 46255 Update order files. 46256 46257 * mac/WebKit2.order: 46258 462592011-06-14 Anders Carlsson <andersca@apple.com> 46260 46261 Reviewed by Dan Bernstein. 46262 46263 Start replacing PluginInfoStore::Plugin with PluginModuleInfo 46264 https://bugs.webkit.org/show_bug.cgi?id=62651 46265 46266 * UIProcess/Plugins/PluginInfoStore.cpp: 46267 (WebKit::PluginInfoStore::plugins): 46268 (WebKit::PluginInfoStore::findPluginForMIMEType): 46269 (WebKit::PluginInfoStore::findPluginForExtension): 46270 (WebKit::PluginInfoStore::infoForPluginWithPath): 46271 * UIProcess/Plugins/PluginInfoStore.h: 46272 * UIProcess/Plugins/PluginProcessManager.cpp: 46273 (WebKit::PluginProcessManager::getPluginProcessConnection): 46274 (WebKit::PluginProcessManager::getSitesWithData): 46275 (WebKit::PluginProcessManager::clearSiteData): 46276 (WebKit::PluginProcessManager::getOrCreatePluginProcess): 46277 * UIProcess/Plugins/PluginProcessManager.h: 46278 * UIProcess/Plugins/PluginProcessProxy.cpp: 46279 (WebKit::PluginProcessProxy::create): 46280 * UIProcess/Plugins/PluginProcessProxy.h: 46281 (WebKit::PluginProcessProxy::pluginInfo): 46282 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 46283 (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): 46284 (WebKit::PluginProcessProxy::createPropertyListFile): 46285 462862011-06-14 Anders Carlsson <andersca@apple.com> 46287 46288 Reviewed by Darin Adler. 46289 46290 Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo 46291 https://bugs.webkit.org/show_bug.cgi?id=62647 46292 46293 Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class, 46294 and PluginInfoStore::Plugin should go away. 46295 46296 * GNUmakefile.am: 46297 * Shared/Plugins/Netscape/NetscapePluginModule.h: 46298 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 46299 (WebKit::getPluginArchitecture): 46300 (WebKit::getMIMETypesFromPluginBundle): 46301 (WebKit::getPluginInfoFromPropertyLists): 46302 (WebKit::getPluginInfoFromCarbonResources): 46303 (WebKit::NetscapePluginModule::getPluginInfo): 46304 (WebKit::NetscapePluginModule::determineQuirks): 46305 * Shared/Plugins/PluginModuleInfo.cpp: Added. 46306 * Shared/Plugins/PluginModuleInfo.h: Added. 46307 * WebKit2.pro: 46308 * WebKit2.xcodeproj/project.pbxproj: 46309 * win/WebKit2.vcproj: 46310 463112011-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 46312 46313 Reviewed by Martin Robinson. 46314 46315 [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk 46316 https://bugs.webkit.org/show_bug.cgi?id=62627 46317 46318 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 46319 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 46320 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 46321 (WebKit::WebContextMenuProxyGtk::showContextMenu): 46322 (WebKit::WebContextMenuProxyGtk::hideContextMenu): 46323 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): 46324 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): 46325 (WebKit::WebContextMenuProxyGtk::menuPositionFunction): 46326 * UIProcess/gtk/WebContextMenuProxyGtk.h: 46327 463282011-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 46329 46330 Reviewed by Martin Robinson. 46331 46332 [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint() 46333 https://bugs.webkit.org/show_bug.cgi?id=62626 46334 46335 * UIProcess/API/gtk/PageClientImpl.cpp: 46336 (WebKit::PageClientImpl::screenToWindow): Implement this method 46337 using convertWidgetPointToScreenPoint(). 46338 (WebKit::PageClientImpl::windowToScreen): Update to use 46339 convertWidgetPointToScreenPoint(). 46340 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 46341 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use 46342 convertWidgetPointToScreenPoint(). 46343 463442011-06-14 Carlos Garcia Campos <cgarcia@igalia.com> 46345 46346 Reviewed by Martin Robinson. 46347 46348 [GTK] Support authentication dialogs in WebKit2 46349 https://bugs.webkit.org/show_bug.cgi?id=62366 46350 46351 Add a new soup feature to show an authentication dialog when it 46352 gets a 401 HTTP response. 46353 46354 * GNUmakefile.am: Add new files to compilation. 46355 * WebProcess/gtk/WebAuthDialog.cpp: Added. 46356 (web_auth_dialog_class_init): 46357 (web_auth_dialog_init): 46358 (sessionAuthenticate): 46359 (attach): 46360 (detach): 46361 (webAuthDialogSessionFeatureInit): 46362 * WebProcess/gtk/WebAuthDialog.h: Added. 46363 * WebProcess/gtk/WebProcessMainGtk.cpp: 46364 (WebKit::WebProcessMainGtk): 46365 463662011-06-14 No'am Rosenthal <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> 46367 46368 Reviewed by Kenneth Rohde Christiansen. 46369 46370 [Qt] Implement accelerated compositing on WK2 Qt port 46371 https://bugs.webkit.org/show_bug.cgi?id=56935 46372 46373 Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt. 46374 Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac 46375 implementation (the code is nearly identical). This includes creating the right layers for the 46376 overlay and for the non-composited content, and passing the root layer to the UI process. 46377 46378 Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches, 46379 namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a 46380 stub implementation for them in DrawingAreaProxy. 46381 46382 Note that this is not activated yet, until we enable accelerated compositing in the settings and 46383 create the right GraphicsLayer. 46384 46385 * Scripts/webkit2/messages.py: 46386 * Shared/LayerTreeContext.h: 46387 * Shared/qt/LayerTreeContextQt.cpp: 46388 (WebKit::LayerTreeContext::LayerTreeContext): 46389 (WebKit::LayerTreeContext::~LayerTreeContext): 46390 (WebKit::LayerTreeContext::encode): 46391 (WebKit::LayerTreeContext::decode): 46392 (WebKit::LayerTreeContext::isEmpty): 46393 (WebKit::operator==): 46394 * UIProcess/DrawingAreaProxy.h: 46395 (WebKit::DrawingAreaProxy::syncCompositingLayers): 46396 (WebKit::DrawingAreaProxy::updateCompositingLayerContent): 46397 * UIProcess/DrawingAreaProxy.messages.in: 46398 * WebKit2.pro: 46399 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 46400 (WebCore::collectCompositingInfoForThisLayer): 46401 * WebProcess/WebPage/LayerTreeHost.cpp: 46402 (WebKit::LayerTreeHost::create): 46403 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: 46404 (WebKit::LayerTreeHostQt::create): 46405 (WebKit::LayerTreeHostQt::~LayerTreeHostQt): 46406 (WebKit::LayerTreeHostQt::LayerTreeHostQt): 46407 (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): 46408 (WebKit::LayerTreeHostQt::scheduleLayerFlush): 46409 (WebKit::LayerTreeHostQt::cancelPendingLayerFlush): 46410 (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush): 46411 (WebKit::LayerTreeHostQt::setRootCompositingLayer): 46412 (WebKit::LayerTreeHostQt::invalidate): 46413 (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay): 46414 (WebKit::LayerTreeHostQt::scrollNonCompositedContents): 46415 (WebKit::LayerTreeHostQt::forceRepaint): 46416 (WebKit::LayerTreeHostQt::sizeDidChange): 46417 (WebKit::LayerTreeHostQt::didInstallPageOverlay): 46418 (WebKit::LayerTreeHostQt::didUninstallPageOverlay): 46419 (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay): 46420 (WebKit::LayerTreeHostQt::flushPendingLayerChanges): 46421 (WebKit::LayerTreeHostQt::performScheduledLayerFlush): 46422 (WebKit::LayerTreeHostQt::layerFlushTimerFired): 46423 (WebKit::LayerTreeHostQt::createPageOverlayLayer): 46424 (WebKit::LayerTreeHostQt::destroyPageOverlayLayer): 46425 (WebKit::LayerTreeHostQt::notifyAnimationStarted): 46426 (WebKit::LayerTreeHostQt::notifySyncRequired): 46427 (WebKit::LayerTreeHostQt::paintContents): 46428 (WebKit::LayerTreeHostQt::showDebugBorders): 46429 (WebKit::LayerTreeHostQt::showRepaintCounter): 46430 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 46431 * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added. 46432 (WebKit::LayerTreeHostQt::layerTreeContext): 46433 (WebKit::LayerTreeHostQt::pauseRendering): 46434 (WebKit::LayerTreeHostQt::resumeRendering): 46435 464362011-06-14 Noam Rosenthal <noam.rosenthal@nokia.com> 46437 46438 Reviewed by Kenneth Rohde Christiansen. 46439 46440 [Qt] Implement accelerated compositing on WK2 Qt port 46441 https://bugs.webkit.org/show_bug.cgi?id=56935 46442 46443 Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only. 46444 This allows us to support directly composited images across the WebKit2 processes. 46445 46446 Together with Viatcheslav Ostapenko. 46447 46448 * Shared/ShareableBitmap.h: 46449 * Shared/qt/ShareableBitmapQt.cpp: 46450 (WebKit::ShareableBitmap::createQImage): 46451 (WebKit::ShareableBitmap::createImage): 46452 464532011-06-13 Anders Carlsson <andersca@apple.com> 46454 46455 Reviewed by Sam Weinig. 46456 46457 Crash when trying to use Netflix Watch Instantly with Silverlight 3 46458 https://bugs.webkit.org/show_bug.cgi?id=62611 46459 <rdar://problem/9058370> 46460 46461 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 46462 (WebKit::NetscapePluginModule::getPluginInfo): 46463 Get the plug-in version string instead of the version number. 46464 46465 (WebKit::PluginVersion::isValid): 46466 (WebKit::PluginVersion::PluginVersion): 46467 (WebKit::PluginVersion::parse): 46468 (WebKit::PluginVersion::isLessThan): 46469 Add a new PluginVersion class that represents a plug-in version. The idea is 46470 that this class be made cross platform. 46471 46472 (WebKit::NetscapePluginModule::determineQuirks): 46473 Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4. 46474 46475 * Shared/Plugins/PluginQuirks.h: 46476 Add the ReturnsNonRetainedScriptableNPObject quirk. 46477 46478 * UIProcess/Plugins/PluginInfoStore.h: 46479 Use a version string. Eventually this should hold the PluginVersion class we added. 46480 46481 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 46482 (WebKit::NetscapePlugin::pluginScriptableNPObject): 46483 If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain. 46484 464852011-06-13 Ryuan Choi <ryuan.choi@samsung.com> 46486 46487 Reviewed by Kenneth Rohde Christiansen. 46488 46489 [EFL][WK2] Add dummy files at below of WebProcess. 46490 https://bugs.webkit.org/show_bug.cgi?id=62445 46491 46492 Add Efl related directory and files in WebKit2/WebProcess/. 46493 46494 * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added. 46495 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 46496 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 46497 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added. 46498 (WebKit::InjectedBundle::load): 46499 (WebKit::InjectedBundle::activateMacFontAscentHack): 46500 * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added. 46501 (WebKit::WebInspector::localizedStringsURL): 46502 * WebProcess/WebPage/efl/WebPageEfl.cpp: Added. 46503 (WebKit::WebPage::platformInitialize): 46504 (WebKit::WebPage::platformPreferencesDidChange): 46505 (WebKit::scroll): 46506 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 46507 (WebKit::WebPage::platformHasLocalDataForURL): 46508 (WebKit::WebPage::cachedResponseMIMETypeForURL): 46509 (WebKit::WebPage::platformCanHandleRequest): 46510 (WebKit::WebPage::cachedSuggestedFilenameForURL): 46511 (WebKit::WebPage::cachedResponseDataForURL): 46512 * WebProcess/efl/WebProcessEfl.cpp: Added. 46513 (WebKit::WebProcess::platformSetCacheModel): 46514 (WebKit::WebProcess::platformClearResourceCaches): 46515 (WebKit::WebProcess::platformInitializeWebProcess): 46516 (WebKit::WebProcess::platformTerminate): 46517 * WebProcess/efl/WebProcessMainEfl.cpp: Added. 46518 (WebKit::WebProcessMainEfl): 46519 * WebProcess/efl/WebProcessMainEfl.h: Added. 46520 * efl/MainEfl.cpp: Added. 46521 (main): 46522 465232011-06-13 Eunmi Lee <eunmi15.lee@samsung.com> 46524 46525 Reviewed by Eric Seidel. 46526 46527 [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port 46528 https://bugs.webkit.org/show_bug.cgi?id=62524 46529 46530 * UIProcess/efl/WebInspectorEfl.cpp: Added. 46531 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 46532 (WebKit::WebInspectorProxy::platformOpen): 46533 (WebKit::WebInspectorProxy::platformDidClose): 46534 (WebKit::WebInspectorProxy::platformBringToFront): 46535 (WebKit::WebInspectorProxy::platformInspectedURLChanged): 46536 (WebKit::WebInspectorProxy::inspectorPageURL): 46537 (WebKit::WebInspectorProxy::platformAttach): 46538 (WebKit::WebInspectorProxy::platformDetach): 46539 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): 46540 465412011-06-13 Eunmi Lee <eunmi15.lee@samsung.com> 46542 46543 Reviewed by Eric Seidel. 46544 46545 [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port 46546 https://bugs.webkit.org/show_bug.cgi?id=62438 46547 46548 * UIProcess/efl/TextCheckerEfl.cpp: Added. 46549 (WebKit::TextChecker::state): 46550 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 46551 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 46552 (WebKit::TextChecker::setGrammarCheckingEnabled): 46553 (WebKit::TextChecker::uniqueSpellDocumentTag): 46554 (WebKit::TextChecker::closeSpellDocumentWithTag): 46555 (WebKit::TextChecker::checkSpellingOfString): 46556 (WebKit::TextChecker::checkGrammarOfString): 46557 (WebKit::TextChecker::spellingUIIsShowing): 46558 (WebKit::TextChecker::toggleSpellingUIIsShowing): 46559 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 46560 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 46561 (WebKit::TextChecker::getGuessesForWord): 46562 (WebKit::TextChecker::learnWord): 46563 (WebKit::TextChecker::ignoreWord): 46564 465652011-06-13 Sangyong Park <sy302.park@gmail.com> 46566 46567 Reviewed by Eric Seidel. 46568 46569 implement to handle wheel event of plugin on x11 46570 https://bugs.webkit.org/show_bug.cgi?id=62522 46571 46572 Implement platformHandleWheelEvent() in NetscapePluginX11.cpp 46573 for to handle wheel event on plugins 46574 46575 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 46576 (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent 46577 (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent 46578 (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin 46579 465802011-06-13 Eunmi Lee <eunmi15.lee@samsung.com> 46581 46582 Reviewed by Eric Seidel. 46583 46584 [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port 46585 https://bugs.webkit.org/show_bug.cgi?id=62523 46586 46587 * UIProcess/efl/WebContextEfl.cpp: Added. 46588 (WebKit::WebContext::applicationCacheDirectory): 46589 (WebKit::WebContext::platformInitializeWebProcess): 46590 (WebKit::WebContext::platformInvalidateContext): 46591 (WebKit::WebContext::platformDefaultDatabaseDirectory): 46592 (WebKit::WebContext::platformDefaultIconDatabasePath): 46593 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 46594 465952011-06-13 Noam Rosenthal <noam.rosenthal@nokia.com> 46596 46597 Unreviewed fix - removed parts of r88659 that were committed by mistake. 46598 46599 The patch accidentally included parts that weren't supposed to be there, namely the whole 46600 code was duplicated. This patch rectifies that and brings it to the original reviewed code. 46601 46602 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: 46603 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 46604 466052011-06-13 Anders Carlsson <andersca@apple.com> 46606 46607 Reviewed by Dan Bernstein. 46608 46609 BankID plug-in isn't instantiated correctly 46610 https://bugs.webkit.org/show_bug.cgi?id=62588 46611 <rdar://problem/9586600> 46612 46613 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 46614 (WebKit::NetscapePluginModule::determineQuirks): 46615 The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can 46616 use the half-baked QuickDraw support. 46617 46618 * WebProcess/Plugins/PluginProcessConnection.cpp: 46619 (WebKit::defaultSyncMessageTimeout): 46620 Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events 46621 and we don't want the plug-in to die while it's waiting for a reply. 46622 466232011-06-13 Chris Fleizach <cfleizach@apple.com> 46624 46625 Reviewed by Darin Adler. 46626 46627 kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2 46628 https://bugs.webkit.org/show_bug.cgi?id=62547 46629 46630 Implement the missing screenToWindow method for WK2. 46631 46632 * UIProcess/API/gtk/PageClientImpl.cpp: 46633 (WebKit::PageClientImpl::screenToWindow): 46634 * UIProcess/API/gtk/PageClientImpl.h: 46635 * UIProcess/API/mac/PageClientImpl.h: 46636 * UIProcess/API/mac/PageClientImpl.mm: 46637 (WebKit::PageClientImpl::screenToWindow): 46638 * UIProcess/API/qt/qwkpage.cpp: 46639 (QWKPagePrivate::screenToWindow): 46640 * UIProcess/API/qt/qwkpage_p.h: 46641 * UIProcess/PageClient.h: 46642 * UIProcess/WebPageProxy.cpp: 46643 (WebKit::WebPageProxy::screenToWindow): 46644 * UIProcess/WebPageProxy.h: 46645 * UIProcess/WebPageProxy.messages.in: 46646 * UIProcess/win/WebView.cpp: 46647 (WebKit::WebView::screenToWindow): 46648 * UIProcess/win/WebView.h: 46649 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 46650 (WebKit::WebChromeClient::screenToWindow): 46651 * WebProcess/WebPage/WebPage.cpp: 46652 (WebKit::WebPage::screenToWindow): 46653 * WebProcess/WebPage/WebPage.h: 46654 466552011-06-13 Sam Weinig <sam@webkit.org> 46656 46657 Reviewed by Darin Adler. 46658 46659 REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse 46660 <rdar://problem/9580237> 46661 46662 * WebProcess/WebPage/mac/WebPageMac.mm: 46663 (WebKit::shouldUseSelection): 46664 Return early if the selection we are using is not a range. 46665 466662011-06-13 Tony Chang <tony@chromium.org> 46667 46668 Reviewed by Dimitri Glazkov. 46669 46670 rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX 46671 https://bugs.webkit.org/show_bug.cgi?id=62578 46672 46673 * Configurations/FeatureDefines.xcconfig: 46674 466752011-06-13 No'am Rosenthal <noam.rosenthal@nokia.com> 46676 46677 Reviewed by Kenneth Rohde Christiansen. 46678 46679 [Qt] Implement accelerated compositing on WK2 Qt port 46680 https://bugs.webkit.org/show_bug.cgi?id=56935 46681 46682 Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer 46683 tree to the UI process WebLayerTreeInfo. 46684 For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on. 46685 46686 Together with Viatcheslav Ostapenko. 46687 46688 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added. 46689 * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added. 46690 466912011-06-13 No'am Rosenthal <noam.rosenthal@nokia.com> 46692 46693 Reviewed by Kenneth Rohde Christiansen. 46694 46695 [Qt] Implement accelerated compositing on WK2 Qt port 46696 https://bugs.webkit.org/show_bug.cgi?id=56935 46697 46698 Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers 46699 across to the UI process. 46700 46701 Together with Viatcheslav Ostapenko. 46702 46703 * Scripts/webkit2/messages.py: 46704 * Shared/WebLayerTreeInfo.cpp: Added. 46705 * Shared/WebLayerTreeInfo.h: Added. 46706 467072011-06-11 Jer Noble <jer.noble@apple.com> 46708 46709 Reviewed by Anders Carlsson. 46710 46711 Avoid flashing when exiting full-screen mode. 46712 https://bugs.webkit.org/show_bug.cgi?id=62338 46713 46714 Instead of making a round-trip between processes by calling forceRepaint 46715 and waiting for a callback, instead make a WebProcess-side call to 46716 forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode 46717 message to the WebFullScreenControllerProxy. This also means we can get rid of 46718 the dragImage creation and display. 46719 46720 Because this redraw will happen during the current run-loop instead of a future 46721 one, make sure the background color has been set before the redraw in 46722 didEnterFullScreen(). 46723 46724 Wait to hide the full-screen window until after we have received the 46725 ExitAcceleratedCompositingMode message. By this time, repaint will have already 46726 completed. 46727 46728 * UIProcess/mac/WKFullScreenWindowController.h: 46729 * UIProcess/mac/WKFullScreenWindowController.mm: 46730 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable 46731 screen updates, to be re-enabled during exitAcceleratedCompositingMode. 46732 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide 46733 the full-screen window here; wait for exitAcceleratedCompositing instead. 46734 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse 46735 the redrawCompleted method into this one. 46736 (-[WKFullScreenWindowController close]): Remove the reference to 46737 exitCompositedModeRepaintCompleted. 46738 * WebProcess/FullScreen/WebFullScreenManager.cpp: 46739 (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen 46740 background color first. 46741 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 46742 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before 46743 sending the ExitAcceleratedCompositingMode message. 46744 467452011-06-13 Tony Chang <tony@chromium.org> 46746 46747 Reviewed by Adam Barth. 46748 46749 rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX 46750 https://bugs.webkit.org/show_bug.cgi?id=62545 46751 46752 * Configurations/FeatureDefines.xcconfig: 46753 467542011-06-13 Anders Carlsson <andersca@apple.com> 46755 46756 Reviewed by Dan Bernstein. 46757 46758 Don't access freed memory in the UI process when a plug-in process crashes 46759 https://bugs.webkit.org/show_bug.cgi?id=62548 46760 <rdar://problem/9599243> 46761 46762 Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash, 46763 otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted. 46764 46765 * UIProcess/Plugins/PluginProcessProxy.cpp: 46766 (WebKit::PluginProcessProxy::didClose): 46767 467682011-06-13 Carlos Garcia Campos <cgarcia@igalia.com> 46769 46770 Reviewed by Martin Robinson. 46771 46772 [GTK] Fix a crash when drawing area has been deleted 46773 https://bugs.webkit.org/show_bug.cgi?id=62541 46774 46775 Check whether WebPageProxy::drawingArea() returns a valid pointer 46776 before using it, it might be null, for example, when the web 46777 process crashes. 46778 46779 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 46780 (callDrawingAreaPaintMethod): 46781 (webkitWebViewBaseSizeAllocate): 46782 467832011-06-13 Eunmi Lee <eunmi15.lee@samsung.com> 46784 46785 Reviewed by Kenneth Rohde Christiansen. 46786 46787 [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl 46788 https://bugs.webkit.org/show_bug.cgi?id=62429 46789 46790 * UIProcess/API/efl/PageClientImpl.cpp: 46791 (WebKit::PageClientImpl::scrollView): 46792 (WebKit::PageClientImpl::setCursor): 46793 (WebKit::PageClientImpl::windowToScreen): 46794 (WebKit::PageClientImpl::doneWithKeyEvent): 46795 (WebKit::PageClientImpl::setFindIndicator): 46796 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 46797 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): 46798 (WebKit::PageClientImpl::findStringInCustomRepresentation): 46799 (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): 46800 * UIProcess/API/efl/PageClientImpl.h: 46801 468022011-06-13 Eunmi Lee <eunmi15.lee@samsung.com> 46803 46804 Reviewed by Kenneth Rohde Christiansen. 46805 46806 [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port 46807 https://bugs.webkit.org/show_bug.cgi?id=62525 46808 46809 * UIProcess/efl/WebPreferencesEfl.cpp: Added. 46810 (WebKit::WebPreferences::platformInitializeStore): 46811 (WebKit::WebPreferences::platformUpdateStringValueForKey): 46812 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 46813 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 46814 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): 46815 468162011-06-13 Carlos Garcia Campos <cgarcia@igalia.com> 46817 46818 Reviewed by Martin Robinson. 46819 46820 [GTK] Add context menu support for Webkit2 46821 https://bugs.webkit.org/show_bug.cgi?id=54827 46822 46823 * GNUmakefile.am: Add new files to compilation. 46824 * UIProcess/API/gtk/PageClientImpl.cpp: 46825 (WebKit::PageClientImpl::createContextMenuProxy): Create a context 46826 menu proxy. 46827 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 46828 (globalPointForClientPoint): Function copied from webkit1 to 46829 convert a point in widget coordinates to global coordinates. 46830 (popupMenuPositionFunction): 46831 (webkitWebViewBaseShowContextMenu): Show the given context menu at 46832 the given position. 46833 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 46834 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added. 46835 (WebKit::contextMenuItemActivatedCallback): 46836 (WebKit::WebContextMenuProxyGtk::createGtkMenu): 46837 (WebKit::WebContextMenuProxyGtk::showContextMenu): 46838 (WebKit::WebContextMenuProxyGtk::hideContextMenu): 46839 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): 46840 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): 46841 * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h. 46842 (WebKit::WebContextMenuProxyGtk::create): 46843 468442011-06-13 Carlos Garcia Campos <cgarcia@igalia.com> 46845 46846 Reviewed by Martin Robinson. 46847 46848 [GTK] Export an API similar to WebKit1 46849 https://bugs.webkit.org/show_bug.cgi?id=57820 46850 46851 Add first implementation of WebKitWebView, a class with the same 46852 API than webkit1, that wraps the C API to provide a high level 46853 WebKit2 API for GTK port. 46854 46855 * GNUmakefile.am: Add new files to compilation. 46856 * UIProcess/API/gtk/WebKitWebView.cpp: Added. 46857 (webkit_web_view_init): 46858 (webkit_web_view_class_init): 46859 (webkit_web_view_new): 46860 (webkit_web_view_load_uri): 46861 (webkit_web_view_go_back): 46862 (webkit_web_view_go_forward): 46863 * UIProcess/API/gtk/WebKitWebView.h: Added. 46864 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 46865 (webkitWebViewBaseCreate): 46866 (webkitWebViewBaseCreateWebPage): 46867 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 46868 * UIProcess/API/gtk/webkit/webkit.h: Added. 46869 468702011-06-12 Adam Barth <abarth@webkit.org> 46871 46872 Reviewed by Alexey Proskuryakov. 46873 46874 Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense 46875 https://bugs.webkit.org/show_bug.cgi?id=62516 46876 46877 * WebProcess/WebCoreSupport/WebErrors.h: 46878 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 46879 (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError): 46880 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 46881 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 46882 (WebKit::interruptedForPolicyChangeError): 46883 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: 46884 (WebKit::interruptedForPolicyChangeError): 46885 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 46886 (WebKit::interruptedForPolicyChangeError): 46887 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 46888 (WebKit::interruptedForPolicyChangeError): 46889 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 46890 (WebKit::interruptedForPolicyChangeError): 46891 468922011-06-12 Adam Barth <abarth@webkit.org> 46893 46894 Reviewed by Eric Seidel. 46895 46896 Remove FrameLoader::isProcessingUserGesture 46897 https://bugs.webkit.org/show_bug.cgi?id=62519 46898 46899 Instead of asking the gesture indicator directly, ask the 46900 ScriptController, like everyone else. The gesture indicator is just 46901 one of the piece of information we use to determine whether we're 46902 processing a user gesture. 46903 46904 * WebProcess/InjectedBundle/InjectedBundle.cpp: 46905 (WebKit::InjectedBundle::isProcessingUserGesture): 46906 469072011-06-12 Adam Barth <abarth@webkit.org> 46908 46909 Reviewed by Alexey Proskuryakov. 46910 46911 Remove trival "forward-to-client" member functions from FrameLoader 46912 https://bugs.webkit.org/show_bug.cgi?id=62510 46913 46914 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 46915 (WebKit::WebFrameNetworkingContext::blockedError): 46916 469172011-06-11 Stephanie Lewis <slewis@apple.com> 46918 46919 Reviewed by Sam Weinig. 46920 46921 https://bugs.webkit.org/show_bug.cgi?id=62480 46922 part of <rdar://problem/8675177> 46923 Add API to launch the WebProcess. Launching it earlier can save time 46924 when loading the first page. 46925 46926 * UIProcess/API/C/WKContext.cpp: 46927 (WKContextWarmInitialProcess): 46928 * UIProcess/API/C/WKContextPrivate.h: 46929 * UIProcess/WebContext.cpp: 46930 (WebKit::WebContext::warmInitialProcess): 46931 * UIProcess/WebContext.h: 46932 469332011-06-09 Jer Noble <jer.noble@apple.com> 46934 46935 Reviewed by Darin Adler. 46936 46937 AVPlayerLayer is adding a "fade" animation during Safari full-screen 46938 https://bugs.webkit.org/show_bug.cgi?id=62433 46939 46940 CoreAnimation will add default animations when certain properties are changed, unless 46941 those changes are wrapped in a CATransaction which has had its disableActions property set 46942 to true. Wrap each of these three property changes in a CATransaction and disable its actions, 46943 so that the default "fade" animation is not created in response. 46944 46945 * UIProcess/mac/WKFullScreenWindowController.mm: 46946 (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction. 46947 (-[WKFullScreenWindowController _swapView:with:]): Ditto: 46948 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 46949 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto. 46950 469512011-06-10 Anders Carlsson <andersca@apple.com> 46952 46953 Reviewed by Sam Weinig. 46954 46955 REGRESSION (WebKit2): window.showModalDialog() broken 46956 https://bugs.webkit.org/show_bug.cgi?id=62496 46957 <rdar://problem/9581492> 46958 46959 If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being 46960 delivered until we exit from the run loop. 46961 46962 Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then 46963 dispatch it. That prevents us from having any lingering messages lying around in stack allocated space. 46964 46965 * Platform/CoreIPC/Connection.cpp: 46966 (CoreIPC::Connection::waitForMessage): 46967 (CoreIPC::Connection::dispatchMessages): 46968 * Platform/CoreIPC/Connection.h: 46969 469702011-06-10 Sam Weinig <sam@webkit.org> 46971 46972 Reviewed by Anders Carlsson. 46973 46974 Unresponsive cursor is shown when displaying a modal dialog 46975 Part of <rdar://problem/9581492> 46976 https://bugs.webkit.org/show_bug.cgi?id=62494 46977 46978 * UIProcess/WebPageProxy.cpp: 46979 (WebKit::WebPageProxy::runModal): 46980 * UIProcess/WebPageProxy.h: 46981 Stop the responsiveness timer when calling out to show a modal dialog. 46982 469832011-06-10 Tony Chang <tony@chromium.org> 46984 46985 Reviewed by Ojan Vafai. 46986 46987 add a compile guard ENABLE(FLEXBOX) 46988 https://bugs.webkit.org/show_bug.cgi?id=62049 46989 46990 * Configurations/FeatureDefines.xcconfig: 46991 469922011-06-10 Ryuan Choi <ryuan.choi@samsung.com> 46993 46994 Reviewed by Kenneth Rohde Christiansen. 46995 46996 [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl 46997 https://bugs.webkit.org/show_bug.cgi?id=62346 46998 46999 Add WebProcess/WebCoreSupport/efl directory and files. 47000 47001 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added. 47002 (WebKit::WebContextMenuClient::lookUpInDictionary): 47003 (WebKit::WebContextMenuClient::isSpeaking): 47004 (WebKit::WebContextMenuClient::speak): 47005 (WebKit::WebContextMenuClient::stopSpeaking): 47006 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added. 47007 (WebKit::WebEditorClient::handleKeyboardEvent): 47008 (WebKit::WebEditorClient::handleInputMethodKeydown): 47009 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added. 47010 (WebKit::cancelledError): 47011 (WebKit::blockedError): 47012 (WebKit::cannotShowURLError): 47013 (WebKit::interruptForPolicyChangeError): 47014 (WebKit::cannotShowMIMETypeError): 47015 (WebKit::fileDoesNotExistError): 47016 (WebKit::pluginWillHandleLoadError): 47017 * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added. 47018 (WebFrameNetworkingContext::create): 47019 (WebFrameNetworkingContext::WebFrameNetworkingContext): 47020 * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added. 47021 (WebKit::WebPopupMenu::setUpPlatformData): 47022 470232011-06-09 Andreas Kling <kling@webkit.org> 47024 47025 Reviewed by Darin Adler. 47026 47027 WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor(). 47028 https://bugs.webkit.org/show_bug.cgi?id=62386 47029 47030 * Platform/CoreIPC/Connection.h: 47031 470322011-06-09 Andreas Kling <kling@webkit.org> 47033 47034 Reviewed by Anders Carlsson. 47035 47036 [Qt][WK2] Remove usage of deprecated CoreIPC functions. 47037 https://bugs.webkit.org/show_bug.cgi?id=62290 47038 47039 Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea. 47040 The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy} 47041 and guarded by ENABLE(TILED_BACKING_STORE). 47042 47043 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed. 47044 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed. 47045 47046 * GNUmakefile.am: 47047 * WebKit2.pro: 47048 * WebKit2.xcodeproj/project.pbxproj: 47049 * win/WebKit2.vcproj: Prune deleted files from build system. 47050 47051 * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's. 47052 47053 * UIProcess/API/qt/qgraphicswkview.cpp: 47054 (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete, 47055 this will be addressed by the soon-to-be-upstreamed TileSet mechanism. 47056 47057 * UIProcess/DrawingAreaProxy.messages.in: 47058 * UIProcess/DrawingAreaProxy.h: 47059 (WebKit::DrawingAreaProxy::didSetSize): 47060 (WebKit::DrawingAreaProxy::invalidate): 47061 (WebKit::DrawingAreaProxy::snapshotTaken): 47062 (WebKit::DrawingAreaProxy::tileUpdated): 47063 (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by 47064 TiledDrawingAreaProxy to DrawingAreaProxy. 47065 47066 * WebProcess/WebPage/DrawingArea.messages.in: 47067 * WebProcess/WebPage/DrawingArea.h: 47068 (WebKit::DrawingArea::setSize): 47069 (WebKit::DrawingArea::cancelTileUpdate): 47070 (WebKit::DrawingArea::requestTileUpdate): 47071 (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea 47072 to DrawingArea. 47073 47074 * UIProcess/DrawingAreaProxyImpl.h: 47075 * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage() 47076 and didReceiveSyncMessage(). 47077 47078 * WebProcess/WebPage/DrawingAreaImpl.cpp: 47079 * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage(). 47080 47081 * UIProcess/TiledDrawingAreaProxy.h: 47082 * UIProcess/TiledDrawingAreaProxy.cpp: 47083 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 47084 (WebKit::TiledDrawingAreaProxy::tileUpdated): 47085 (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage() 47086 into functions. 47087 47088 (WebKit::TiledDrawingAreaProxy::removeTile): 47089 (WebKit::TiledDrawingAreaProxy::requestTileUpdate): 47090 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 47091 (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC. 47092 47093 * WebProcess/WebPage/TiledDrawingArea.cpp: 47094 (WebKit::TiledDrawingArea::setSize): 47095 (WebKit::TiledDrawingArea::cancelTileUpdate): 47096 (WebKit::TiledDrawingArea::requestTileUpdate): 47097 (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions. 47098 47099 (WebKit::TiledDrawingArea::display): 47100 (WebKit::TiledDrawingArea::updateTile): 47101 (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC. 47102 47103 * UIProcess/WebPageProxy.cpp: 47104 (WebKit::WebPageProxy::didReceiveMessage): Remove handling of 47105 CoreIPC::MessageClassDrawingAreaProxyLegacy. 47106 47107 * WebProcess/WebPage/WebPage.cpp: 47108 (WebKit::WebPage::didReceiveMessage): Remove handling of 47109 CoreIPC::MessageClassDrawingAreaLegacy. 47110 47111 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes. 47112 47113 * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make 47114 CoreIPC message handlers explicitly virtual. 47115 471162011-06-09 Andreas Kling <kling@webkit.org> 47117 47118 Reviewed by Anders Carlsson. 47119 47120 WebKit2: Generate correct header conditionals in message receivers. 47121 https://bugs.webkit.org/show_bug.cgi?id=62379 47122 47123 Given a *.messages.in file like this: 47124 47125 Foo(AwesomeObject o) 47126 #if ENABLE(ESOTERIC_FEATURE) 47127 Bar(AwesomeObject o) 47128 #endif 47129 47130 messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE). 47131 This breaks the build on platforms without that defined. 47132 47133 Furthermore, if two messages guarded by different conditionals both pull in the same 47134 header, only the last conditional will be applied, for example: 47135 47136 #if ENABLE(ESOTERIC_FEATURE) 47137 Foo(AwesomeObject o) 47138 #endif 47139 #if ENABLE(MYSTERIOUS_FEATURE) 47140 Bar(AwesomeObject o) 47141 #endif 47142 47143 Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should 47144 check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE). 47145 47146 Change the generator to consider all conditionals for a given header file. 47147 Also consider conditionals for reply parameters. 47148 47149 * Scripts/webkit2/messages.py: 47150 * Scripts/webkit2/messages_unittest.py: 47151 471522011-06-09 Eunmi Lee <eunmi15.lee@samsung.com> 47153 47154 Reviewed by Kenneth Rohde Christiansen. 47155 47156 [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port 47157 https://bugs.webkit.org/show_bug.cgi?id=62363 47158 47159 * UIProcess/API/efl/PageClientImpl.cpp: Added. 47160 (WebKit::PageClientImpl::PageClientImpl): 47161 (WebKit::PageClientImpl::~PageClientImpl): 47162 (WebKit::PageClientImpl::createDrawingAreaProxy): 47163 (WebKit::PageClientImpl::setViewNeedsDisplay): 47164 (WebKit::PageClientImpl::displayView): 47165 (WebKit::PageClientImpl::scrollView): 47166 (WebKit::PageClientImpl::viewSize): 47167 (WebKit::PageClientImpl::isViewWindowActive): 47168 (WebKit::PageClientImpl::isViewFocused): 47169 (WebKit::PageClientImpl::isViewVisible): 47170 (WebKit::PageClientImpl::isViewInWindow): 47171 (WebKit::PageClientImpl::processDidCrash): 47172 (WebKit::PageClientImpl::didRelaunchProcess): 47173 (WebKit::PageClientImpl::pageClosed): 47174 (WebKit::PageClientImpl::toolTipChanged): 47175 (WebKit::PageClientImpl::setCursor): 47176 (WebKit::PageClientImpl::setViewportArguments): 47177 (WebKit::PageClientImpl::registerEditCommand): 47178 (WebKit::PageClientImpl::clearAllEditCommands): 47179 (WebKit::PageClientImpl::canUndoRedo): 47180 (WebKit::PageClientImpl::executeUndoRedo): 47181 (WebKit::PageClientImpl::convertToDeviceSpace): 47182 (WebKit::PageClientImpl::convertToUserSpace): 47183 (WebKit::PageClientImpl::windowToScreen): 47184 (WebKit::PageClientImpl::doneWithKeyEvent): 47185 (WebKit::PageClientImpl::createPopupMenuProxy): 47186 (WebKit::PageClientImpl::createContextMenuProxy): 47187 (WebKit::PageClientImpl::setFindIndicator): 47188 (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): 47189 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 47190 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): 47191 (WebKit::PageClientImpl::customRepresentationZoomFactor): 47192 (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): 47193 (WebKit::PageClientImpl::flashBackingStoreUpdates): 47194 (WebKit::PageClientImpl::findStringInCustomRepresentation): 47195 (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): 47196 (WebKit::PageClientImpl::userSpaceScaleFactor): 47197 * UIProcess/API/efl/PageClientImpl.h: Added. 47198 (WebKit::PageClientImpl::create): 47199 (WebKit::PageClientImpl::viewObject): 47200 (WebKit::PageClientImpl::page): 47201 * UIProcess/WebPageProxy.h: 47202 * UIProcess/efl/WebPageProxyEfl.cpp: Added. 47203 (WebKit::WebPageProxy::viewObject): 47204 (WebKit::WebPageProxy::standardUserAgent): 47205 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): 47206 (WebKit::WebPageProxy::saveRecentSearches): 47207 (WebKit::WebPageProxy::loadRecentSearches): 47208 472092011-06-08 John Sullivan <sullivan@apple.com> 47210 47211 Reviewed by Darin Adler. 47212 47213 <https://bugs.webkit.org/show_bug.cgi?id=62332> 47214 <rdar://problem/9355199> 47215 [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag 47216 47217 * UIProcess/API/mac/WKView.mm: 47218 (-[WKView _resendKeyDownEvent:]): 47219 Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun. 47220 (-[WKView _setDragImage:at:linkDrag:]): 47221 Added a self-protecting RetainPtr. 47222 472232011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com> 47224 47225 Reviewed by Kenneth Rohde Christiansen. 47226 47227 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing 47228 https://bugs.webkit.org/show_bug.cgi?id=61694 47229 47230 Add an ArgumentCoder for FloatPoint3D. 47231 47232 Together with Viatcheslav Ostapenko. 47233 47234 * Scripts/webkit2/messages.py: 47235 * Shared/WebCoreArgumentCoders.h: 47236 472372011-06-08 No'am Rosenthal <noam.rosenthal@nokia.com> 47238 47239 Reviewed by Kenneth Rohde Christiansen. 47240 47241 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing 47242 https://bugs.webkit.org/show_bug.cgi?id=61694 47243 47244 Add ArgumentCoders for TransformOperation, including all the subclasses, 47245 and TransformOperations. 47246 47247 * Scripts/webkit2/messages.py: 47248 * Shared/WebCoreArgumentCoders.h: 47249 472502011-06-08 Yael Aharon <yael.aharon@nokia.com> 47251 47252 Reviewed by Andreas Kling. 47253 47254 [Qt] Build fix for building QtWebKit inside of Qt. 47255 https://bugs.webkit.org/show_bug.cgi?id=62280 47256 47257 Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2 47258 into QtWebKit.prl. 47259 47260 * WebKit2.pri: 47261 472622011-06-07 Tim Horton <timothy_horton@apple.com> 47263 47264 Reviewed by Alexey Proskuryakov. 47265 47266 Use correct CFURLStorageSessionRef definition on Snow Leopard 47267 https://bugs.webkit.org/show_bug.cgi?id=62223 47268 47269 * PluginProcess/mac/PluginProcessShim.mm: 47270 472712011-06-07 John Sullivan <sullivan@apple.com> 47272 47273 Reviewed by Darin Adler. 47274 47275 <https://bugs.webkit.org/show_bug.cgi?id=62248> 47276 <rdar://problem/9568516> 47277 WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation 47278 47279 * UIProcess/API/mac/WKView.mm: 47280 (-[WKResponderChainSink detach]): 47281 This method formerly blindly assumed that since -initWithResponderChain: put self at the 47282 end of the responder chain, after _lastResponderInChain, then self is still at the end 47283 of the responder chain and still immediately after _lastResponderInChain. Made this function 47284 robust against some kinds of responder chain manipulations, though it can't be robust against 47285 some other kinds (e.g., manipulations that removed self from this chain and put it into some 47286 other chain). 47287 472882011-06-07 Sam Weinig <sam@webkit.org> 47289 47290 Reviewed by Anders Carlsson. 47291 47292 Remove repeated IPC traffic from SetRenderTreeSize message 47293 https://bugs.webkit.org/show_bug.cgi?id=62244 47294 47295 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 47296 Add didLayoutForFrame callback. 47297 47298 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 47299 (WKBundlePageGetRenderTreeSize): 47300 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 47301 Add render tree size getter in WebProcess. 47302 47303 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 47304 (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame): 47305 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 47306 Added. 47307 47308 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 47309 * WebProcess/WebCoreSupport/WebChromeClient.h: 47310 Removed setRenderTreeSize. 47311 47312 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 47313 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 47314 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 47315 Call the new didLayoutForFrame client function. 47316 47317 * WebProcess/WebPage/WebPage.cpp: 47318 (WebKit::WebPage::renderTreeSize): 47319 * WebProcess/WebPage/WebPage.h: 47320 Add iterative implementation to compute the total size of the render tree 47321 for a page. 47322 473232011-06-07 Zalan Bujtas <zbujtas@gmail.com> 47324 47325 Reviewed by Andreas Kling. 47326 47327 TiledDrawingArea: Delay serving tile requests when the drawing area is suspended. 47328 47329 Do not paint tiles when painting is disabled (suspended) on the web process side. 47330 Buffer up the tile requests and paint them, when the drawing area gets resumed. 47331 On the UI process side, do not block on tile updates, when the tiled area is 47332 not visible (painting is disabled on the web process side). 47333 47334 * UIProcess/TiledDrawingAreaProxy.cpp: 47335 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete): 47336 * WebProcess/WebPage/TiledDrawingArea.cpp: 47337 (WebKit::TiledDrawingArea::suspendPainting): 47338 (WebKit::TiledDrawingArea::resumePainting): 47339 (WebKit::TiledDrawingArea::scheduleTileUpdate): 47340 (WebKit::TiledDrawingArea::tileUpdateTimerFired): 47341 (WebKit::TiledDrawingArea::didReceiveMessage): 47342 * WebProcess/WebPage/TiledDrawingArea.h: 47343 473442011-06-07 Sheriff Bot <webkit.review.bot@gmail.com> 47345 47346 Unreviewed, rolling out r88259 and r88263. 47347 http://trac.webkit.org/changeset/88259 47348 http://trac.webkit.org/changeset/88263 47349 https://bugs.webkit.org/show_bug.cgi?id=62228 47350 47351 broke builds (Requested by rniwa on #webkit). 47352 47353 * PluginProcess/mac/PluginProcessShim.mm: 47354 473552011-06-07 Tim Horton <timothy_horton@apple.com> 47356 47357 Reviewed by Alexey Proskuryakov. 47358 47359 Use correct CFURLStorageSessionRef definition on Snow Leopard 47360 https://bugs.webkit.org/show_bug.cgi?id=62223 47361 47362 * PluginProcess/mac/PluginProcessShim.mm: 47363 473642011-06-07 Carlos Garcia Campos <cgarcia@igalia.com> 47365 47366 Reviewed by Martin Robinson. 47367 47368 [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView 47369 https://bugs.webkit.org/show_bug.cgi?id=62200 47370 47371 In WebKit2 PluginPackage is used by the UI process to load plugins 47372 in order to get information about them, but it doesn't use any GTK 47373 symbol. So the UI process should be able to load plugins even when 47374 building with GTK3, but we should not allow the plugin view to use 47375 the plugin if it mixes GTK2 and GTK3 symbols. 47376 47377 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 47378 (WebKit::moduleMixesGtkSymbols): 47379 (WebKit::NetscapePlugin::platformPostInitialize): Check whether 47380 the module is mixing GTK+ 2 and GTK+ 3 symbols. 47381 473822011-06-06 Sheriff Bot <webkit.review.bot@gmail.com> 47383 47384 Unreviewed, rolling out r88222. 47385 http://trac.webkit.org/changeset/88222 47386 https://bugs.webkit.org/show_bug.cgi?id=62192 47387 47388 Broke compile on Mac (Requested by abarth on #webkit). 47389 47390 * Scripts/webkit2/messages.py: 47391 * Shared/WebCoreArgumentCoders.h: 47392 473932011-06-06 Noam Rosenthal <noam.rosenthal@nokia.com> 47394 47395 Reviewed by Kenneth Rohde Christiansen. 47396 47397 WebKit2: Enable serializing of data types needed for cross-process accelerated compositing 47398 https://bugs.webkit.org/show_bug.cgi?id=61694 47399 47400 Add ArgumentCoders for TransformOperation, including all the subclasses, 47401 and TransformOperations. 47402 47403 * Scripts/webkit2/messages.py: 47404 * Shared/WebCoreArgumentCoders.h: 47405 474062011-06-06 John Sullivan <sullivan@apple.com> 47407 47408 Reviewed by Dan Bernstein. 47409 47410 <https://bugs.webkit.org/show_bug.cgi?id=62165> 47411 <rdar://problem/9555835> 47412 WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages 47413 47414 * UIProcess/API/mac/PDFViewController.mm: 47415 (WebKit::PDFViewController::findString): 47416 Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches(). 47417 Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a 47418 number that would be ignored. 47419 474202011-06-06 Carlos Garcia Campos <cgarcia@igalia.com> 47421 47422 Reviewed by Anders Carlsson. 47423 47424 Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process 47425 https://bugs.webkit.org/show_bug.cgi?id=62124 47426 47427 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 47428 (WebKit::NetscapePlugin::setException): 47429 474302011-06-06 Dominic Cooney <dominicc@chromium.org> 47431 47432 Unreviewed WinCairo build fix after r88159. 47433 47434 * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport. 47435 474362011-06-04 Dominic Cooney <dominicc@chromium.org> 47437 47438 Reviewed by Dimitri Glazkov. 47439 47440 Re-export JSC and WebCore symbols required by WebCoreTestSupport. 47441 https://bugs.webkit.org/show_bug.cgi?id=61076 47442 47443 * win/WebKit2.def: 47444 474452011-06-06 Alexandru Chiculita <achicu@adobe.com> 47446 47447 Reviewed by Kent Tamura. 47448 47449 Add ENABLE_CSS_EXCLUSIONS support for build-webkit script 47450 https://bugs.webkit.org/show_bug.cgi?id=61628 47451 47452 * Configurations/FeatureDefines.xcconfig: 47453 474542011-06-06 Mihnea Ovidenie <mihnea@adobe.com> 47455 47456 Reviewed by Kent Tamura. 47457 47458 Add ENABLE(CSS_REGIONS) guard for CSS Regions support 47459 https://bugs.webkit.org/show_bug.cgi?id=61631 47460 47461 * Configurations/FeatureDefines.xcconfig: 47462 474632011-06-06 Carlos Garcia Campos <cgarcia@igalia.com> 47464 47465 Reviewed by Anders Carlsson. 47466 47467 [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection 47468 https://bugs.webkit.org/show_bug.cgi?id=61538 47469 47470 Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message 47471 receiver code to support stream sockets, since it requires to 47472 handle message boundaries. The same code works for DGRAM sockets, 47473 so this change shouldn't break other ports using DGRAM. 47474 47475 * Platform/CoreIPC/Connection.h: 47476 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 47477 (CoreIPC::Connection::platformInitialize): 47478 (CoreIPC::Connection::processMessage): Process messages from data 47479 already received. 47480 (CoreIPC::readBytesFromSocket): Read from socket using recvmsg(). 47481 (CoreIPC::Connection::readyReadHandler): 47482 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 47483 (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in 47484 socketpair(). 47485 47486== Rolled over to ChangeLog-2011-06-04 == 47487