1 2011-04-19 Anders Carlsson <andersca (a] apple.com> 2 3 Reviewed by Sam Weinig. 4 5 UI process thinks the page is unresponsive when a plug-in is showing a context menu 6 https://bugs.webkit.org/show_bug.cgi?id=58943 7 <rdar://problem/9299901> 8 9 Change the HandleMouseEvent message to have a delayed reply and make the PluginControllerProxy 10 respond to it immediately, before even passing the event to the plug-in. Since it doesn't matter 11 for mouse events whether the plug-in handled them or not we can do this. 12 13 Another solution could have been to make handleMouseEvent an asynchronous message, but that could 14 mess up the message ordering so this seemed like the least intrusive change. 15 16 * PluginProcess/PluginControllerProxy.cpp: 17 (WebKit::PluginControllerProxy::handleMouseEvent): 18 * PluginProcess/PluginControllerProxy.h: 19 * PluginProcess/PluginControllerProxy.messages.in: 20 21 2011-04-19 Anders Carlsson <andersca (a] apple.com> 22 23 Reviewed by Dan Bernstein. 24 25 Terminate hung plug-in processes after 45 seconds 26 https://bugs.webkit.org/show_bug.cgi?id=58932 27 <rdar://problem/8083219> 28 29 * UIProcess/Plugins/PluginProcessManager.cpp: 30 (WebKit::PluginProcessManager::pluginSyncMessageSendTimedOut): 31 Find the plug-in process proxy and terminate it. 32 33 (WebKit::PluginProcessManager::pluginProcessWithPath): 34 Add new helper function. 35 36 (WebKit::PluginProcessManager::getOrCreatePluginProcess): 37 Call pluginProcessWithPath. 38 39 * UIProcess/Plugins/PluginProcessProxy.cpp: 40 (WebKit::PluginProcessProxy::terminate): 41 Terminate the process. 42 43 * UIProcess/Plugins/PluginProcessProxy.h: 44 * UIProcess/WebProcessProxy.cpp: 45 (WebKit::WebProcessProxy::pluginSyncMessageSendTimedOut): 46 Call PluginProcessManager::pluginSyncMessageSendTimedOut. 47 48 * UIProcess/WebProcessProxy.h: 49 * UIProcess/WebProcessProxy.messages.in: 50 Add PluginSyncMessageSendTimedOut message. 51 52 * WebProcess/Plugins/PluginProcessConnection.cpp: 53 (WebKit::defaultSyncMessageTimeout): 54 (WebKit::PluginProcessConnection::PluginProcessConnection): 55 Set a sync message timeout on the plug-in process connection. 56 57 (WebKit::PluginProcessConnection::syncMessageSendTimedOut): 58 Send a message to the web process proxy. 59 60 2011-04-19 Alexey Proskuryakov <ap (a] apple.com> 61 62 Reviewed by Adele Peterson. 63 64 WebKit2: Merge SelectionState and TextInputState 65 https://bugs.webkit.org/show_bug.cgi?id=58919 66 67 Combined TextInputState and EditorState in one structure, which is updated whenever we get 68 a chance to. There is no sense to keep possibly stale SelectionState data when we have already 69 requested the most recent data synchronously. 70 71 This also simplifies the code, as we don't need to pass the state around in a separate variable. 72 73 * GNUmakefile.am: 74 * Scripts/webkit2/messages.py: 75 * Shared/EditorState.h: Copied from Source/WebKit2/Shared/SelectionState.h. 76 (WebKit::EditorState::EditorState): 77 * Shared/SelectionState.h: Removed. 78 * Shared/mac/TextInputState.h: Removed. 79 * UIProcess/API/mac/PageClientImpl.h: 80 * UIProcess/API/mac/PageClientImpl.mm: 81 (WebKit::PageClientImpl::interpretKeyEvent): 82 * UIProcess/API/mac/WKView.mm: 83 (-[WKView validRequestorForSendType:returnType:]): 84 (-[WKView validateUserInterfaceItem:]): 85 (-[WKView shouldDelayWindowOrderingForEvent:]): 86 (-[WKView doCommandBySelector:]): 87 (-[WKView insertText:replacementRange:]): 88 (-[WKView _handleStyleKeyEquivalent:]): 89 (-[WKView _executeSavedKeypressCommands]): 90 (-[WKView inputContext]): 91 (-[WKView hasMarkedText]): 92 (-[WKView unmarkText]): 93 (-[WKView setMarkedText:selectedRange:replacementRange:]): 94 (-[WKView attributedSubstringForProposedRange:actualRange:]): 95 (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): 96 (-[WKView _updateSecureInputState]): 97 * UIProcess/API/mac/WKViewInternal.h: 98 * UIProcess/PageClient.h: 99 * UIProcess/WebPageProxy.cpp: 100 (WebKit::WebPageProxy::editorStateChanged): 101 * UIProcess/WebPageProxy.h: 102 (WebKit::WebPageProxy::editorState): 103 (WebKit::WebPageProxy::hasSelectedRange): 104 (WebKit::WebPageProxy::isContentEditable): 105 * UIProcess/WebPageProxy.messages.in: 106 * UIProcess/mac/WebPageProxyMac.mm: 107 (WebKit::WebPageProxy::setComposition): 108 (WebKit::WebPageProxy::confirmComposition): 109 (WebKit::WebPageProxy::insertText): 110 (WebKit::WebPageProxy::executeKeypressCommands): 111 (WebKit::WebPageProxy::writeSelectionToPasteboard): 112 (WebKit::WebPageProxy::readSelectionFromPasteboard): 113 (WebKit::WebPageProxy::interpretQueuedKeyEvent): 114 * UIProcess/win/WebView.cpp: 115 (WebKit::WebView::compositionSelectionChanged): 116 (WebKit::WebView::onIMEComposition): 117 (WebKit::WebView::onIMEEndComposition): 118 (WebKit::WebView::onIMERequestCharPosition): 119 (WebKit::WebView::onIMERequest): 120 * WebKit2.xcodeproj/project.pbxproj: 121 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 122 (WebKit::WebEditorClient::respondToChangedSelection): 123 * WebProcess/WebPage/WebPage.cpp: 124 (WebKit::WebPage::editorState): 125 * WebProcess/WebPage/WebPage.h: 126 * WebProcess/WebPage/WebPage.messages.in: 127 * WebProcess/WebPage/mac/WebPageMac.mm: 128 (WebKit::WebPage::handleEditingKeyboardEvent): 129 (WebKit::WebPage::setComposition): 130 (WebKit::WebPage::confirmComposition): 131 (WebKit::WebPage::insertText): 132 (WebKit::WebPage::executeKeypressCommands): 133 * win/WebKit2.vcproj: 134 135 2011-04-19 Alexey Proskuryakov <ap (a] apple.com> 136 137 Reviewed by Timothy Hatcher. 138 139 100% reproducible crash when right-clicking any element in Web Inspector on any page 140 https://bugs.webkit.org/show_bug.cgi?id=58822 141 142 Web Inspector changes selection from JavaScript, and checks in UI process are insufficient 143 when selection is changing asynchronously. 144 145 * WebProcess/WebPage/mac/WebPageMac.mm: 146 (WebKit::WebPage::writeSelectionToPasteboard): Check that there is a selection, matching WK1 147 and UI process side. Perhaps the check should really be in WebCore, but for now, it's a 148 WebKit responsibility. 149 (WebKit::WebPage::readSelectionFromPasteboard): Same check, for no other reason but consistency. 150 151 2011-04-19 Anders Carlsson <andersca (a] apple.com> 152 153 Reviewed by Sam Weinig. 154 155 Add syncMessageSendTimedOut CoreIPC Connection::Client member function 156 https://bugs.webkit.org/show_bug.cgi?id=58928 157 158 * Platform/CoreIPC/Connection.cpp: 159 (CoreIPC::Connection::waitForSyncReply): 160 Call syncMessageSendTimedOut. 161 162 * Platform/CoreIPC/Connection.h: 163 Add syncMessageSendTimedOut to Connection::Client. 164 165 * PluginProcess/PluginProcess.cpp: 166 * PluginProcess/PluginProcess.h: 167 * PluginProcess/WebProcessConnection.cpp: 168 * PluginProcess/WebProcessConnection.h: 169 * UIProcess/Plugins/PluginProcessProxy.cpp: 170 * UIProcess/Plugins/PluginProcessProxy.h: 171 * UIProcess/WebProcessProxy.cpp: 172 * UIProcess/WebProcessProxy.h: 173 * WebProcess/Plugins/PluginProcessConnection.cpp: 174 * WebProcess/Plugins/PluginProcessConnection.h: 175 * WebProcess/WebProcess.cpp: 176 * WebProcess/WebProcess.h: 177 Add syncMessageSendTimedOut stubs. 178 179 2011-04-19 Anders Carlsson <andersca (a] apple.com> 180 181 Reviewed by Alexey Proskuryakov. 182 183 Replace the didFailToSendSyncMessage Connection::Client function with a flag 184 https://bugs.webkit.org/show_bug.cgi?id=58923 185 186 * Platform/CoreIPC/Connection.cpp: 187 (CoreIPC::Connection::Connection): 188 Initialize m_shouldExitOnSyncMessageSendFailure to false. 189 190 (CoreIPC::Connection::setShouldExitOnSyncMessageSendFailure): 191 Set m_didCloseOnConnectionWorkQueueCallback. 192 193 (CoreIPC::Connection::sendSyncMessage): 194 Call didFailToSendSyncMessage if we fail to send the sync message for some reason. 195 196 (CoreIPC::Connection::didFailToSendSyncMessage): 197 if m_shouldExitOnSyncMessageSendFailure is true, exit. 198 199 * Platform/CoreIPC/Connection.h: 200 Remove didFailToSendSyncMessage from Connection::Client. 201 202 * PluginProcess/PluginProcess.cpp: 203 * PluginProcess/PluginProcess.h: 204 Remove didFailToSendSyncMessage. 205 206 * WebProcess/WebProcess.cpp: 207 (WebKit::WebProcess::initialize): 208 * WebProcess/WebProcess.h: 209 Remove didFailToSendSyncMessage. Call setShouldExitOnSyncMessageSendFailure on our 210 UI process connection. 211 212 2011-04-19 Anders Carlsson <andersca (a] apple.com> 213 214 Reviewed by Sam Weinig. 215 216 Add a way to set the default sync message timeout for a CoreIPC connection 217 https://bugs.webkit.org/show_bug.cgi?id=58908 218 219 * Platform/CoreIPC/Connection.cpp: 220 (CoreIPC::Connection::Connection): 221 Initialize m_defaultSyncMessageTimeout. 222 223 (CoreIPC::Connection::setDefaultSyncMessageTimeout): 224 Set the m_defaultSyncMessageTimeout member variable. 225 226 (CoreIPC::Connection::waitForSyncReply): 227 Handle the timeout being one of our two special magic values. 228 229 * Platform/CoreIPC/Connection.h: 230 Add a DefaultTimeout constant and change the NoTimeout constant to be -1. 231 232 2011-04-19 Vsevolod Vlasov <vsevik (a] chromium.org> 233 234 Reviewed by Pavel Feldman. 235 236 Web Inspector: Rename lengthReceived to encodedDataLength/dataLength 237 https://bugs.webkit.org/show_bug.cgi?id=58883 238 239 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 240 (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength): 241 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 242 243 2011-04-19 Andreas Kling <andreas.kling (a] nokia.com> 244 245 Reviewed by Antonio Gomes. 246 247 WebKit2: Typo fix in WebPopupMenu::Type. 248 https://bugs.webkit.org/show_bug.cgi?id=58891 249 250 Fixed a typo, Seperator -> Separator. 251 Also removed m_ prefix on an argument variable name. 252 253 * Shared/WebPopupItem.h: 254 * UIProcess/mac/WebPopupMenuProxyMac.mm: 255 (WebKit::WebPopupMenuProxyMac::populate): 256 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 257 (WebKit::WebPopupMenu::populateItems): 258 259 2011-04-19 Jon Honeycutt <jhoneycutt (a] apple.com> 260 261 WKContextDownloadURLRequest() should return a WKDownloadRef 262 https://bugs.webkit.org/show_bug.cgi?id=58867 263 Part of <rdar://problem/8931717> 264 265 Reviewed by Steve Falkenburg. 266 267 * UIProcess/API/C/WKContext.cpp: 268 (WKContextDownloadURLRequest): 269 Return the result of calling WebContext::download(). 270 271 * UIProcess/API/C/WKContext.h: 272 Updated return type of WKContextDownloadURLRequest(). 273 274 * UIProcess/WebContext.cpp: 275 (WebKit::WebContext::download): 276 Return the DownloadProxy returned by createDownloadProxy(). 277 (WebKit::WebContext::createDownloadProxy): 278 Return the DownloadProxy. 279 280 * UIProcess/WebContext.h: 281 Changed return type of download() and createDownloadProxy(). 282 283 * UIProcess/WebPageProxy.cpp: 284 (WebKit::WebPageProxy::receivedPolicyDecision): 285 Call the DownloadProxy's downloadID() function to get the ID. 286 287 2011-04-18 Jia Pu <jpu (a] apple.com> 288 289 Reviewed by Mark Rowe. 290 291 WebKit needs to stop importing <AppKit/NSTextChecker.h> 292 https://bugs.webkit.org/show_bug.cgi?id=58798 293 <rdar://problem/9294938> 294 295 Use public header <AppKit/NSSpellChecker.h> instead. 296 297 * UIProcess/mac/CorrectionPanel.h: 298 * UIProcess/mac/CorrectionPanel.mm: 299 (correctionIndicatorType): 300 (WebKit::CorrectionPanel::show): 301 (WebKit::CorrectionPanel::dismissInternal): 302 (WebKit::CorrectionPanel::handleAcceptedReplacement): 303 * UIProcess/mac/TextCheckerMac.mm: 304 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 305 306 2011-04-05 Jer Noble <jer.noble (a] apple.com> 307 308 Reviewed by Sam Weinig. 309 310 WebKit2: WKTR should support WebKit2 full screen APIs 311 https://bugs.webkit.org/show_bug.cgi?id=56318 312 313 Add a new WKBundlePage API for Full Screen events, and move some of the implementation 314 of WebFullScreenManager into the new InjectedBundlePageFullScreenClient class, so that 315 the default behavior can be overridden by a WKBundlePageFullScreenClient. 316 317 * WebKit2.xcodeproj/project.pbxproj: 318 * WebProcess/FullScreen/WebFullScreenManager.cpp: 319 (WebKit::WebFullScreenManager::supportsFullScreen): Moved contents into InjectedBundlePageFullScreenClient. 320 (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto. 321 (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto. 322 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 323 (WKBundlePageSetFullScreenClient): Added. 324 (WKBundlePageWillEnterFullScreenForElement): Added. 325 (WKBundlePageDidEnterFullScreenForElement): Added. 326 (WKBundlePageWillExitFullScreenForElement): Added. 327 (WKBundlePageDidExitFullScreenForElement): Added. 328 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 329 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: Added. 330 (WebKit::InjectedBundlePageFullScreenClient::supportsFullScreen): Added. 331 (WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement): Added. 332 (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Added. 333 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: Added. 334 * WebProcess/WebPage/WebPage.cpp: 335 (WebKit::WebPage::initializeInjectedBundleFullScreenClient): Added. 336 * WebProcess/WebPage/WebPage.h: 337 (WebKit::WebPage::injectedBundleFullScreenClient): Added. 338 339 2011-04-18 Alexey Proskuryakov <ap (a] apple.com> 340 341 Reviewed by Maciej Stachowiak. 342 343 Re-add a null check lost in r83081 344 https://bugs.webkit.org/show_bug.cgi?id=58846 345 346 * WebProcess/WebPage/mac/WebPageMac.mm: 347 (WebKit::WebPage::getSelectedRange): 348 349 2011-04-18 Andreas Kling <kling (a] webkit.org> 350 351 Reviewed by Kenneth Rohde Christiansen. 352 353 [Qt][WK2] Clean up tool-tip/status-bar confusion. 354 https://bugs.webkit.org/show_bug.cgi?id=58844 355 356 Tool-tips were incorrectly hooked up to the status bar text. 357 Chrome::setStatusbarText() now correctly causes the QWKPage::statusBarMessage() signal. 358 359 New API: 360 - QWKPage::toolTipChanged(const QString& toolTip) [signal] 361 362 QGraphicsWKView will automatically listen for this and set its own toolTip(). 363 364 * UIProcess/API/qt/ClientImpl.cpp: 365 (qt_wk_setStatusText): 366 * UIProcess/API/qt/ClientImpl.h: 367 * UIProcess/API/qt/qgraphicswkview.cpp: 368 (QGraphicsWKView::QGraphicsWKView): 369 (QGraphicsWKViewPrivate::onToolTipChanged): 370 * UIProcess/API/qt/qgraphicswkview.h: 371 * UIProcess/API/qt/qwkpage.cpp: 372 (QWKPagePrivate::toolTipChanged): 373 (QWKPage::QWKPage): 374 * UIProcess/API/qt/qwkpage.h: 375 376 2011-04-18 Maciej Stachowiak <mjs (a] apple.com> 377 378 Reviewed by Dan Bernstein. 379 380 sandbox violation for ~/Library/Dictionaries 381 https://bugs.webkit.org/show_bug.cgi?id=58841 382 <rdar://problem/9294770> 383 384 * WebProcess/com.apple.WebProcess.sb: Add to sandbox profile. 385 No obvious harm from allowing this, though it's not 100% clear 386 why it's needed. 387 388 2011-04-18 Anders Carlsson <andersca (a] apple.com> 389 390 Try to fix the Windows build. 391 392 * Scripts/webkit2/messages.py: 393 394 2011-04-18 Anders Carlsson <andersca (a] apple.com> 395 396 Reviewed by Dan Bernstein. 397 398 Get rid of WebProcessProxyLegacyMessage 399 https://bugs.webkit.org/show_bug.cgi?id=58825 400 401 * GNUmakefile.am: 402 * Platform/CoreIPC/MessageID.h: 403 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Removed. 404 * UIProcess/WebProcessProxy.cpp: 405 * WebKit2.xcodeproj/project.pbxproj: 406 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 407 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 408 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 409 * WebProcess/WebPage/WebPage.cpp: 410 * win/WebKit2.vcproj: 411 412 2011-04-18 Anders Carlsson <andersca (a] apple.com> 413 414 Fix build. 415 416 * UIProcess/Plugins/PluginInfoStore.h: 417 418 2011-04-18 Anders Carlsson <andersca (a] apple.com> 419 420 Reviewed by Sam Weinig. 421 422 Use the message generator for the GetPluginProcessConnection message 423 https://bugs.webkit.org/show_bug.cgi?id=58815 424 425 * Platform/CoreIPC/HandleMessage.h: 426 (CoreIPC::callMemberFunction): 427 (CoreIPC::handleMessageDelayed): 428 Add helper functions. 429 430 * UIProcess/Plugins/PluginInfoStore.h: 431 Mark class noncopyable. 432 433 * UIProcess/Plugins/PluginProcessManager.cpp: 434 (WebKit::PluginProcessManager::getPluginProcessConnection): 435 This now takes a delayed reply. 436 437 * UIProcess/Plugins/PluginProcessProxy.cpp: 438 (WebKit::PluginProcessProxy::getPluginProcessConnection): 439 This now takes a delayed reply. 440 441 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 442 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 443 Call DelayedReply::send. 444 445 * UIProcess/WebProcessProxy.cpp: 446 (WebKit::WebProcessProxy::getPluginProcessConnection): 447 This now takes a delayed reply. 448 449 (WebKit::WebProcessProxy::didReceiveSyncMessage): 450 No need to handle this message here. 451 452 * UIProcess/WebProcessProxy.messages.in: 453 Add GetPluginProcessConnection message. 454 455 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 456 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 457 Don't use deprecatedSendSync. 458 459 2011-04-18 Anders Carlsson <andersca (a] apple.com> 460 461 Reviewed by Adam Roben. 462 463 Finish implementing delayed sync replies in the CoreIPC message generator 464 https://bugs.webkit.org/show_bug.cgi?id=58814 465 466 Put the DelayedReply function definitions in the .cpp file and fix bugs found by 467 actually trying to compile the generated files. 468 469 * Scripts/webkit2/messages.py: 470 * Scripts/webkit2/messages_unittest.py: 471 472 2011-04-18 Anders Carlsson <andersca (a] apple.com> 473 474 Reviewed by Adam Roben. 475 476 Reproducible crash in Find on Page, on pages that use accelerated compositing 477 https://bugs.webkit.org/show_bug.cgi?id=58793 478 <rdar://problem/9295870> 479 480 Move the call to PageOverlay::setNeedsDisplay() back to WebPage::installPageOverlay; 481 it needs to be called after we've told the drawing area that a page overlay has been installed. 482 483 * WebProcess/WebPage/PageOverlay.cpp: 484 (WebKit::PageOverlay::setPage): 485 * WebProcess/WebPage/WebPage.cpp: 486 (WebKit::WebPage::installPageOverlay): 487 488 2011-04-18 Jeff Miller <jeffm (a] apple.com> 489 490 Reviewed by Timothy Hatcher. 491 492 WKFrameLoadState should be a uint32_t to match our API conventions 493 https://bugs.webkit.org/show_bug.cgi?id=58785 494 495 * UIProcess/API/C/WKFrame.h: typedef WKFrameLoadState as a uint32_t and define its values as an anonymous enum. 496 497 2011-04-18 Carlos Garcia Campos <cgarcia (a] igalia.com> 498 499 Unreviewed. Fix WebKit2 GTK build after 84017. 500 501 * GNUmakefile.am: 502 * Shared/NativeWebMouseEvent.h: 503 (WebKit::NativeWebMouseEvent::nativeEvent): 504 * Shared/gtk/NativeWebMouseEventGtk.cpp: Copied from Source/WebKit2/Shared/NativeWebMouseEvent.h. 505 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 506 * UIProcess/gtk/WebView.cpp: 507 (WebKit::WebView::handleMouseEvent): 508 509 2011-04-17 David Kilzer <ddkilzer (a] apple.com> 510 511 <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting 512 <rdar://problem/9268729> 513 514 Reviewed by Dan Bernstein. 515 516 This replaces support for the WebKitEnableHTTPPipelining user 517 default with methods on the WebCore::ResourceRequest class in 518 WebCore, the WebView class in WebKit1, and the WebContext class 519 in WebKit2. It also removes support for the 520 WebKitForceHTTPPipeliningPriorityHigh user default which was not 521 needed. 522 523 * UIProcess/API/C/WKContext.cpp: 524 (_WKContextSetHTTPPipeliningEnabled): Added. 525 * UIProcess/API/C/WKContextPrivate.h: 526 (_WKContextSetHTTPPipeliningEnabled): Added declaration. 527 * UIProcess/WebContext.cpp: 528 (WebKit::WebContext::setHTTPPipeliningEnabled): Added. 529 (WebKit::WebContext::httpPipeliningEnabled): Added. 530 * UIProcess/WebContext.h: 531 (WebKit::WebContext::setHTTPPipeliningEnabled): Added declaration. 532 (WebKit::WebContext::httpPipeliningEnabled): Added declaration. 533 534 2011-04-17 Sam Weinig <sam (a] webkit.org> 535 536 Reviewed by Geoffrey Garen. 537 538 Make more strings in WebKit2 localizable 539 https://bugs.webkit.org/show_bug.cgi?id=58757 540 541 * UIProcess/API/mac/PDFViewController.mm: 542 (-[WKPDFView menuForEvent:]): 543 * UIProcess/API/mac/PageClientImpl.mm: 544 (WebKit::PageClientImpl::setViewportArguments): 545 (WebKit::PageClientImpl::registerEditCommand): 546 * UIProcess/WebEditCommandProxy.cpp: 547 (WebKit::WebEditCommandProxy::nameForEditAction): 548 * UIProcess/WebEditCommandProxy.h: 549 Use WebCore's localization macro to make more strings localizable. 550 551 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 552 553 Reviewed by Adam Barth. 554 555 Rename PLATFORM(CA) to USE(CA) 556 https://bugs.webkit.org/show_bug.cgi?id=58742 557 558 * WebProcess/WebPage/LayerTreeHost.cpp: 559 * WebProcess/WebPage/win/LayerTreeHostWin.cpp: 560 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 561 562 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 563 564 Reviewed by Adam Barth. 565 566 Rename PLATFORM(CG) to USE(CG) 567 https://bugs.webkit.org/show_bug.cgi?id=58729 568 569 * Shared/ShareableBitmap.h: 570 * Shared/WebCoreArgumentCoders.cpp: 571 * Shared/WebCoreArgumentCoders.h: 572 * Shared/WebGraphicsContext.cpp: 573 (WebKit::WebGraphicsContext::WebGraphicsContext): 574 * Shared/WebGraphicsContext.h: 575 * Shared/win/PlatformCertificateInfo.cpp: 576 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 577 * UIProcess/win/WebView.cpp: 578 (WebKit::WebView::setFindIndicator): 579 * WebProcess/WebPage/WebPage.cpp: 580 (WebKit::WebPage::drawRectToPDF): 581 (WebKit::WebPage::drawPagesToPDF): 582 * WebProcess/WebPage/win/WebPageWin.cpp: 583 (WebKit::WebPage::platformPreferencesDidChange): 584 * config.h: 585 586 2011-04-16 Anders Carlsson <andersca (a] apple.com> 587 588 Reviewed by Sam Weinig. 589 590 Crash when NPP_Write returns -1 when writing the manual stream 591 https://bugs.webkit.org/show_bug.cgi?id=58735 592 <rdar://problem/9124993> 593 594 If NPP_Write returns -1 we must cancel the stream. 595 596 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 597 (WebKit::NetscapePluginStream::deliverDataToPlugin): 598 599 2011-04-16 Sam Weinig <sam (a] webkit.org> 600 601 Reviewed by Simon Fraser. 602 603 Pages in the PageCache don't have the correct visited link coloring after being restored 604 https://bugs.webkit.org/show_bug.cgi?id=58721 605 606 * WebProcess/WebProcess.cpp: 607 (WebKit::WebProcess::visitedLinkStateChanged): 608 (WebKit::WebProcess::allVisitedLinkStateChanged): 609 Mark all pages in the page cache as needing visited link style recalc 610 whenever visited link information changes. 611 612 2011-04-15 Daniel Bates <dbates (a] webkit.org> 613 614 Attempt to fix the Qt Linux Release build after changeset 84064 <http://trac.webkit.org/changeset/84064> 615 (https://bugs.webkit.org/show_bug.cgi?id=58686). 616 617 * UIProcess/API/qt/qwkpage_p.h: Remove takeFocus(). 618 619 2011-04-15 Shishir Agrawal <shishir (a] chromium.org> 620 621 Reviewed by James Robinson. 622 623 Add a flag to guard Page Visibility API changes. 624 https://bugs.webkit.org/show_bug.cgi?id=58464 625 626 * Configurations/FeatureDefines.xcconfig: 627 628 2011-04-15 Jeff Miller <jeffm (a] apple.com> 629 630 Reviewed by Sam Weinig. 631 632 Add takeFocus callback to WKPageUIClient 633 https://bugs.webkit.org/show_bug.cgi?id=58686 634 635 On Windows, we need to handle moving focus out of the web view in the client, so add a takeFocus callback to WKPageUIClient 636 and stop handling taking focus in the framework in WKView.mm on the Mac. 637 638 * UIProcess/API/C/WKPage.h: Added WKFocusDirection enum and takeFocus to WKPageUIClient. 639 * UIProcess/API/mac/PageClientImpl.h: Removed takeFocus(). 640 * UIProcess/API/mac/PageClientImpl.mm: Removed takeFocus(). 641 * UIProcess/API/mac/WKView.mm: Removed _takeFocus(). 642 * UIProcess/API/mac/WKViewInternal.h: Removed _takeFocus(). 643 * UIProcess/API/qt/ClientImpl.cpp: 644 (qt_wk_takeFocus): Added. 645 * UIProcess/API/qt/ClientImpl.h: Added qt_wk_takeFocus. 646 * UIProcess/API/qt/qwkpage.cpp: Remove takeFocus(). 647 (QWKPage::QWKPage): Added takeFocus() callback. 648 * UIProcess/PageClient.h: Removed takeFocus(). 649 * UIProcess/WebPageProxy.cpp: 650 (WebKit::WebPageProxy::takeFocus): Call m_uiClient to take focus. 651 * UIProcess/WebPageProxy.h: Pass FocusDirection as a uint32_t to takeFocus(). 652 * UIProcess/WebPageProxy.messages.in: Pass FocusDirection as a uint32_t in TakeFocus message. 653 * UIProcess/WebUIClient.cpp: 654 (WebKit::WebUIClient::takeFocus): Added. 655 * UIProcess/WebUIClient.h: Added takeFocus(). 656 * UIProcess/win/WebView.cpp: Removed takeFocus(), which was never implemented on Windows. 657 * UIProcess/win/WebView.h: Removed takeFocus(). 658 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 659 (WebKit::WebChromeClient::takeFocus): Pass FocusDirection as a uint32_t in TakeFocus message. 660 661 2011-04-15 Alexey Proskuryakov <ap (a] apple.com> 662 663 Reviewed by Sam Weinig. 664 665 WebKit2: Stop using deprecated NSInputManager 666 https://bugs.webkit.org/show_bug.cgi?id=58709 667 668 Changed all mouse related functions to give NSInputContext a chance to handle the event, 669 added logging. Removed -rightMouseMoved: method, which was added by accident. 670 671 * UIProcess/API/mac/WKView.mm: 672 (-[WKView mouseMoved:]): 673 (-[WKView mouseDown:]): 674 (-[WKView mouseUp:]): 675 (-[WKView mouseDragged:]): 676 677 2011-04-15 Jon Honeycutt <jhoneycutt (a] apple.com> 678 679 Potential crash getting a JS wrapper. 680 681 <rdar://problem/8988741> 682 683 Reviewed by Brian Weinstein. 684 685 * WebProcess/WebPage/WebFrame.cpp: 686 (WebKit::WebFrame::jsWrapperForWorld): 687 Ensure that we have a valid m_coreFrame, because it can be cleared by 688 invalidate(). 689 690 2011-04-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 691 692 Reviewed by Kenneth Rohde Christiansen. 693 694 [Qt] QWebPage MIME type handling inconsistency with other web browsers 695 https://bugs.webkit.org/show_bug.cgi?id=46968 696 697 Implementing mime type sniffing based on 698 http://tools.ietf.org/html/draft-abarth-mime-sniff-06. 699 700 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 701 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 702 (WebCore::WebFrameNetworkingContext::MIMESniffingEnabled): 703 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 704 705 2011-04-15 Oliver Hunt <oliver (a] apple.com> 706 707 GC allocate Structure 708 https://bugs.webkit.org/show_bug.cgi?id=58483 709 710 Rolling r83894 r83827 r83810 r83809 r83808 back in with 711 a workaround for the gcc bug seen by the gtk bots 712 713 * WebProcess/Plugins/Netscape/JSNPMethod.h: 714 (WebKit::JSNPMethod::createStructure): 715 * WebProcess/Plugins/Netscape/JSNPObject.h: 716 (WebKit::JSNPObject::createStructure): 717 718 2011-04-15 Anders Carlsson <andersca (a] apple.com> 719 720 Reviewed by Sam Weinig. 721 722 Add API to get the bundle page overlay fade in fraction. 723 724 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 725 (WKBundlePageOverlayFractionFadedIn): 726 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 727 728 2011-04-15 Anders Carlsson <andersca (a] apple.com> 729 730 Reviewed by Dan Bernstein. 731 732 Fade the find page overlay 733 https://bugs.webkit.org/show_bug.cgi?id=58697 734 735 * WebProcess/WebPage/FindController.cpp: 736 Make the color components floats. 737 738 (WebKit::overlayBackgroundColor): 739 (WebKit::holeShadowColor): 740 (WebKit::holeFillColor): 741 Add helper functions for returning the colors given the fraction faded in. 742 743 (WebKit::FindController::drawRect): 744 Use the new helper functions. 745 746 * WebProcess/WebPage/WebPage.cpp: 747 (WebKit::WebPage::installPageOverlay): 748 Start the fade animation unless we're replacing an already existing page overlay 749 with another. 750 751 2011-04-15 Anders Carlsson <andersca (a] apple.com> 752 753 Fix Windows build. 754 755 * WebProcess/WebPage/PageOverlay.cpp: 756 (WebKit::PageOverlay::fadeAnimationTimerFired): 757 758 2011-04-15 Anders Carlsson <andersca (a] apple.com> 759 760 Reviewed by Sam Weinig. 761 762 Add the ability for PageOverlays to fade in and out 763 https://bugs.webkit.org/show_bug.cgi?id=58694 764 765 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 766 (WKBundlePageUninstallPageOverlay): 767 WebPage::uninstallPageOverlay now takes a boolean. Default to false for now. 768 769 * WebProcess/WebPage/FindController.cpp: 770 (WebKit::FindController::findString): 771 Pass false to uninstallPageOverlay. 772 773 (WebKit::FindController::hideFindUI): 774 Pass true to uninstallPageOverlay. 775 776 * WebProcess/WebPage/PageOverlay.cpp: 777 (WebKit::PageOverlay::PageOverlay): 778 Initialize new member variables. 779 780 (WebKit::PageOverlay::bounds): 781 Get rid of an unnecessary webPage() getter. 782 783 (WebKit::PageOverlay::setPage): 784 Stop the animation timer. 785 786 (WebKit::PageOverlay::startFadeInAnimation): 787 Update m_fractionFadedIn and call startFadeAnimation. 788 789 (WebKit::PageOverlay::startFadeOutAnimation): 790 Ditto. 791 792 (WebKit::PageOverlay::startFadeAnimation): 793 Initialize m_fadeAnimationStartTime and start the fade animation timer. 794 795 (WebKit::PageOverlay::fadeAnimationTimerFired): 796 Update m_fractionFadedIn and call setNeedsDisplay(). 797 798 * WebProcess/WebPage/PageOverlay.h: 799 * WebProcess/WebPage/WebPage.cpp: 800 (WebKit::WebPage::uninstallPageOverlay): 801 If fadeOut is true, tell the page overlay to start the fade out animation. 802 When the fade animation is complete, the page overlay will uninstall itself. 803 804 2011-04-15 Brian Weinstein <bweinstein (a] apple.com> 805 806 Reviewed by Adam Roben. 807 808 Views should be made visible before painting in WM_PRINTCLIENT messages 809 https://bugs.webkit.org/show_bug.cgi?id=58676 810 <rdar://problem/9279211> 811 812 * UIProcess/win/WebView.cpp: 813 (WebKit::WebView::onPrintClientEvent): If our view isn't currently visible set it to visible 814 before painting, then reset it back to not visible after painting. 815 (WebKit::WebView::onShowWindowEvent): Call setIsVisible instead of duplicating logic. 816 (WebKit::WebView::setIsVisible): Set the m_isVisible flag and call viewStateDidChange. 817 * UIProcess/win/WebView.h: 818 819 2011-04-15 Jon Lee <jonlee (a] apple.com> 820 821 Reviewed by Anders Carlsson. 822 823 onClick does not function with <select> elements in WebKit2 824 https://bugs.webkit.org/show_bug.cgi?id=57904 825 <rdar://problem/9217757> 826 827 Reviewed by Anders Carlsson. 828 829 * Shared/NativeWebMouseEvent.h: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h. 830 (WebKit::NativeWebMouseEvent::nativeEvent): 831 * Shared/mac/NativeWebMouseEventMac.mm: Added. 832 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 833 * Shared/qt/NativeWebMouseEventQt.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h. 834 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 835 * Shared/win/NativeWebMouseEventWin.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h. 836 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): 837 * UIProcess/API/mac/WKView.mm: 838 (-[WKView mouseMoved:]): 839 (-[WKView _mouseHandler:]): Pre-compiler mouse handler calls need to use the new NativeWebMouseEvent class 840 * UIProcess/API/qt/qwkpage.cpp: 841 (QWKPagePrivate::mouseMoveEvent): 842 (QWKPagePrivate::mousePressEvent): 843 (QWKPagePrivate::mouseReleaseEvent): 844 (QWKPagePrivate::mouseDoubleClickEvent): 845 * UIProcess/WebPageProxy.cpp: 846 (WebKit::WebPageProxy::handleMouseEvent): keep track of mouse down event in order to be able to send a fake mouse up event on the select element 847 (WebKit::WebPageProxy::currentMouseDownEvent): for access by the popup menu proxy to dispatch the fake mouse up event 848 (WebKit::WebPageProxy::didReceiveEvent): clear out the cached mouse down event 849 (WebKit::WebPageProxy::processDidCrash): clear out the cached events since we assume that didReceiveEvent did not called prior to the crash 850 * UIProcess/WebPageProxy.h: 851 * UIProcess/WebPopupMenuProxy.h: 852 * UIProcess/mac/WebPopupMenuProxyMac.mm: 853 (WebKit::WebPopupMenuProxyMac::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted 854 * UIProcess/win/WebPopupMenuProxyWin.cpp: 855 (WebKit::WebPopupMenuProxyWin::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted 856 * UIProcess/win/WebView.cpp: 857 (WebKit::WebView::onMouseEvent): 858 * WebKit2.pro: 859 * WebKit2.xcodeproj/project.pbxproj: 860 * win/WebKit2.vcproj: 861 862 2011-04-15 Alexey Proskuryakov <ap (a] apple.com> 863 864 Qt build fix. 865 866 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Wrap the variable 867 in PLATFORM(MAC), too, as it's unused on other platforms. 868 869 2011-04-15 Brady Eidson <beidson (a] apple.com> 870 871 Reviewed by Dan Bernstein. 872 873 <rdar://problem/9287880> and https://bugs.webkit.org/show_bug.cgi?id=58596 874 WK2: Past searches not remembered for <input type=search results="5" autosave="foo"> 875 876 Add SaveRecentSearches and LoadRecentSearches messages: 877 * UIProcess/WebPageProxy.messages.in: 878 * UIProcess/WebPageProxy.h: 879 880 Message up to the UIProcess for the save/load operations: 881 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 882 (WebKit::WebSearchPopupMenu::saveRecentSearches): 883 (WebKit::WebSearchPopupMenu::loadRecentSearches): 884 * WebProcess/WebCoreSupport/WebPopupMenu.h: 885 (WebKit::WebPopupMenu::page): 886 887 Save the values to disk CFPreference-style: 888 * UIProcess/cf/WebPageProxyCF.cpp: 889 (WebKit::autosaveKey): 890 (WebKit::WebPageProxy::saveRecentSearches): 891 (WebKit::WebPageProxy::loadRecentSearches): 892 893 Stubbed out for non-CF platforms: 894 * UIProcess/gtk/WebPageProxyGtk.cpp: 895 (WebKit::WebPageProxy::saveRecentSearches): 896 (WebKit::WebPageProxy::loadRecentSearches): 897 * UIProcess/qt/WebPageProxyQt.cpp: 898 (WebKit::WebPageProxy::saveRecentSearches): 899 (WebKit::WebPageProxy::loadRecentSearches): 900 901 2011-04-14 Alexey Proskuryakov <ap (a] apple.com> 902 903 Reviewed by Dan Bernstein. 904 905 WebKit2: Password field input does not switch to ASCII-compatible source 906 https://bugs.webkit.org/show_bug.cgi?id=58583 907 <rdar://problem/9059651> 908 909 The implementation is more modern than what we have in WK1. Instead of returning a null 910 input context (as in non-editable content), we now set page context's properties. 911 912 * UIProcess/PageClient.h: 913 * UIProcess/API/mac/PageClientImpl.h: 914 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::updateSecureInputState): 915 Forward updateSecureInputState() call from WebPageProxy to WKView. 916 917 * UIProcess/API/mac/WKView.mm: 918 (-[WKView dealloc]): ASSERT that we didn't somehow leave secure input events enabled. 919 (-[WKView becomeFirstResponder]): Update secure event mode. 920 (-[WKView resignFirstResponder]): Disable secure event mode. 921 (-[WKView setMarkedText:selectedRange:replacementRange:]): Prevent most advanced editing 922 behaviors in password fields, matching NSSecureTextInputField. 923 (-[WKView attributedSubstringForProposedRange:actualRange:]): Disable TSM Document Access 924 in password fields. There is also a check in web process, but it doest't hurt to check twice. 925 (-[WKView _windowDidBecomeKey:]): Call _updateSecureInputState. 926 (-[WKView _windowDidResignKey:]): Call _updateSecureInputState. 927 (-[WKView _updateSecureInputState]): Update secure event mode and allowed input sources. 928 929 * UIProcess/API/mac/WKViewInternal.h: Added _updateSecureInputState. 930 931 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Update secure 932 input state when going in or out a password field. 933 934 2011-04-14 Jer Noble <jer.noble (a] apple.com> 935 936 Reviewed by Eric Carlson. 937 938 REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab 939 https://bugs.webkit.org/show_bug.cgi?id=58637 940 941 Notify AVFoundation that no one will be rendering when the view or window moves off screen. 942 943 * UIProcess/API/mac/PageClientImpl.mm: 944 (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible. 945 * UIProcess/API/mac/WKView.mm: 946 (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events. 947 (-[WKView removeWindowObservers]): Ditto. 948 (-[WKView _windowDidOrderOffScreen:]): Added. 949 (-[WKView _windowDidOrderOnScreen:]): Added. 950 * WebProcess/WebPage/DrawingAreaImpl.cpp: 951 (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering. 952 (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering. 953 * WebProcess/WebPage/LayerTreeHost.h: 954 (WebKit::LayerTreeHost::pauseRendering): Added stub. 955 (WebKit::LayerTreeHost::resumeRendering): Added stub. 956 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: 957 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 958 (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our 959 intention to stop rendering. 960 (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our 961 intention to start rendering. 962 963 2011-04-15 Jessie Berlin <jberlin (a] apple.com> 964 965 Reviewed by Sam Weinig. 966 967 WebKit2: Need a way to keep the WebProcess alive for testing purposes. 968 https://bugs.webkit.org/show_bug.cgi?id=58592 969 970 * UIProcess/API/C/WKContext.cpp: 971 (WKContextDisableProcessTermination): 972 (WKContextEnableProcessTermination): 973 * UIProcess/API/C/WKContextPrivate.h: 974 975 * UIProcess/WebContext.cpp: 976 (WebKit::WebContext::WebContext): 977 Initialize m_processTerminationEnabled to true. 978 (WebKit::WebContext::enableProcessTermination): 979 Set m_processTerminationEnabled to true, and try to terminate the web process. 980 (WebKit::WebContext::shouldTerminate): 981 If !m_processTerminationEnabled, return false. 982 * UIProcess/WebContext.h: 983 (WebKit::WebContext::disableProcessTermination): 984 Set m_processTerminationEnabled to false; 985 986 2011-04-15 Nancy Piedra <nancy.piedra (a] nokia.com> 987 988 Reviewed by Laszlo Gombos. 989 990 [Qt][Symbian] Need to export ViewportAttributes class 991 https://bugs.webkit.org/show_bug.cgi?id=58651 992 993 On Symbian, if the ViewportAttributes class is not exported we get 994 linking errors. 995 996 Since this is a compilation issue, no new tests added. 997 998 * UIProcess/API/qt/qwkpage.h: 999 1000 2011-04-15 Anna Cavender <annacc (a] chromium.org> 1001 1002 Reviewed by Eric Carlson. 1003 1004 Renaming TRACK feature define to VIDEO_TRACK 1005 https://bugs.webkit.org/show_bug.cgi?id=53556 1006 1007 * Configurations/FeatureDefines.xcconfig: 1008 1009 2011-04-14 Anders Carlsson <andersca (a] apple.com> 1010 1011 Reviewed by Sam Weinig. 1012 1013 Select All context menu item doesn't work in Flash 1014 https://bugs.webkit.org/show_bug.cgi?id=58615 1015 <rdar://problem/9225761> 1016 1017 In some cases, -[NSWindow isKeyWindow] will return false even if 1018 a window is the key window, so we have to compare our window 1019 against -[NSApplication keyWindow]. 1020 1021 * UIProcess/API/mac/PageClientImpl.mm: 1022 (WebKit::PageClientImpl::isViewWindowActive): 1023 1024 2011-04-14 Sam Weinig <sam (a] webkit.org> 1025 1026 Reviewed by Anders Carlsson. 1027 1028 Add CFPreference based backend for WebKit2 preferences 1029 https://bugs.webkit.org/show_bug.cgi?id=58605 1030 1031 * UIProcess/cf/WebPreferencesCF.cpp: 1032 (WebKit::cfStringFromWebCoreString): 1033 (WebKit::makeKey): 1034 (WebKit::setStringValueIfInUserDefaults): 1035 (WebKit::setBoolValueIfInUserDefaults): 1036 (WebKit::setUInt32ValueIfInUserDefaults): 1037 (WebKit::setDoubleValueIfInUserDefaults): 1038 (WebKit::WebPreferences::platformInitializeStore): 1039 (WebKit::WebPreferences::platformUpdateStringValueForKey): 1040 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 1041 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 1042 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): 1043 Implement platform functions using CFPreferences API. 1044 1045 2011-04-14 Brady Eidson <beidson (a] apple.com> 1046 1047 Reviewed by Sam Weinig. 1048 1049 <rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595 1050 Menu is not displayed for <input type=search results="5"> 1051 1052 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 1053 (WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should. 1054 1055 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: 1056 (WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness. 1057 1058 * Shared/PlatformPopupMenuData.cpp: 1059 (WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness. 1060 (WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness. 1061 * Shared/PlatformPopupMenuData.h: 1062 1063 * UIProcess/mac/WebPopupMenuProxyMac.mm: 1064 (WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position. 1065 1066 2011-04-14 Anders Carlsson <andersca (a] apple.com> 1067 1068 Reviewed by Dan Bernstein. 1069 1070 Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null 1071 https://bugs.webkit.org/show_bug.cgi?id=58578 1072 <rdar://problem/9275201> 1073 1074 It's OK for NPP_GetSitesWithData to return null. 1075 1076 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 1077 (WebKit::NetscapePluginModule::tryGetSitesWithData): 1078 1079 2011-04-14 Sam Weinig <sam (a] webkit.org> 1080 1081 Reviewed by Anders Carlsson. 1082 1083 Make creating WebPreferences lazy 1084 https://bugs.webkit.org/show_bug.cgi?id=58570 1085 1086 * UIProcess/WebPageGroup.cpp: 1087 (WebKit::WebPageGroup::WebPageGroup): 1088 (WebKit::WebPageGroup::~WebPageGroup): 1089 (WebKit::WebPageGroup::setPreferences): 1090 (WebKit::WebPageGroup::preferences): 1091 * UIProcess/WebPageGroup.h: 1092 Don't create the WebPreference object until it is requested. 1093 1094 2011-04-14 Pratik Solanki <psolanki (a] apple.com> 1095 1096 Reviewed by David Kilzer. 1097 1098 Set minimum priority for fast lane connections 1099 https://bugs.webkit.org/show_bug.cgi?id=58353 1100 1101 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 1102 (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority. 1103 1104 2011-04-14 Anders Carlsson <andersca (a] apple.com> 1105 1106 Clang warning fixes. 1107 1108 * UIProcess/API/mac/PageClientImpl.h: 1109 * UIProcess/mac/TextCheckerMac.mm: 1110 * WebProcess/Downloads/mac/DownloadMac.mm: 1111 1112 2011-04-14 Jessie Berlin <jberlin (a] apple.com> 1113 1114 Reviewed by Timothy Hatcher. 1115 1116 WebKit2: Add an option for a PageGroup to be invisible to the History Client. 1117 https://bugs.webkit.org/show_bug.cgi?id=58547 1118 1119 * Shared/WebPageGroupData.cpp: 1120 (WebKit::WebPageGroupData::encode): 1121 (WebKit::WebPageGroupData::decode): 1122 * Shared/WebPageGroupData.h: 1123 1124 * UIProcess/WebInspectorProxy.cpp: 1125 (WebKit::WebInspectorProxy::inspectorPageGroup): 1126 The Web Inspector should not be visible to the History Client, because its HTML-based nature 1127 should not be exposed through the API. 1128 1129 * UIProcess/WebPageGroup.cpp: 1130 (WebKit::WebPageGroup::create): 1131 (WebKit::WebPageGroup::WebPageGroup): 1132 * UIProcess/WebPageGroup.h: 1133 1134 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1135 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 1136 Do not send the message to the WebContent for the history client. 1137 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 1138 Ditto. 1139 (WebKit::WebFrameLoaderClient::setTitle): 1140 Ditto. 1141 1142 * WebProcess/WebPage/WebPageGroupProxy.h: 1143 (WebKit::WebPageGroupProxy::isVisibleToHistoryClient): 1144 1145 2011-04-14 Balazs Kelemen <kbalazs (a] webkit.org> 1146 1147 Reviewed by Andreas Kling. 1148 1149 [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1 1150 https://bugs.webkit.org/show_bug.cgi?id=55719 1151 1152 Guard functionality related to complex text and implementations 1153 that rely on MachPort with PLATFORM(MAC). 1154 Based on Oleg Romashin's patch. 1155 1156 * PluginProcess/PluginControllerProxy.cpp: 1157 * PluginProcess/PluginControllerProxy.messages.in: 1158 * PluginProcess/PluginProcess.cpp: 1159 (WebKit::PluginProcess::createWebProcessConnection): 1160 * PluginProcess/WebProcessConnection.cpp: 1161 (WebKit::WebProcessConnection::createPlugin): 1162 * Shared/Plugins/PluginProcessCreationParameters.cpp: 1163 (WebKit::PluginProcessCreationParameters::decode): Fix bad C++ that 1164 does not compile with gcc-linux. 1165 * UIProcess/Plugins/PluginProcessProxy.cpp: 1166 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 1167 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 1168 * UIProcess/Plugins/PluginProcessProxy.h: 1169 * UIProcess/Plugins/PluginProcessProxy.messages.in: 1170 * WebKit2.pro: Move implementation that does not need external 1171 visibility from WebKit2API.pri. Adding the headers as well. 1172 * WebKit2API.pri: 1173 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 1174 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 1175 * WebProcess/WebPage/WebPage.cpp: 1176 1177 2011-04-13 James Robinson <jamesr (a] chromium.org> 1178 1179 Reviewed by Simon Fraser. 1180 1181 Allow setting composited backing stores for scrollbars and scroll corners 1182 https://bugs.webkit.org/show_bug.cgi?id=57202 1183 1184 Update WebPopupMenuProxyWin to reflect ScrollableArea interface changes. 1185 1186 * UIProcess/win/WebPopupMenuProxyWin.h: 1187 (WebKit::WebPopupMenuProxyWin::invalidateScrollCornerRect): 1188 (WebKit::WebPopupMenuProxyWin::scrollCornerPresent): 1189 (WebKit::WebPopupMenuProxyWin::scrollCornerRect): 1190 1191 2011-04-13 Jon Lee <jonlee (a] apple.com> 1192 1193 Reviewed by Maciej Stachowiak. 1194 1195 REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc) 1196 https://bugs.webkit.org/show_bug.cgi?id=58284 1197 <rdar://problem/9246149> 1198 1199 * WebProcess/WebPage/WebPage.cpp: 1200 (WebKit::WebPage::setFocused): Check for whether we are not supposed to be focused AND whether our platform behavior dictates to clear out the selection 1201 1202 2011-04-13 Dan Bernstein <mitz (a] apple.com> 1203 1204 Reviewed by Sam Weinig. 1205 1206 Fixed a bug where WKView changed the cursor when the mouse was moving over other views. 1207 1208 * UIProcess/API/mac/WKView.mm: 1209 (-[WKView mouseMoved:]): If getting this message because this view is the first responder, 1210 ignore it unless it is inside the visible rect. 1211 1212 2011-04-13 Enrica Casucci <enrica (a] apple.com> 1213 1214 Reviewed by Dan Bernstein. 1215 1216 Should not rely on WKEditableLinkBehavior being in synch 1217 with WebCore::EditableLinkBehavior. 1218 https://bugs.webkit.org/show_bug.cgi?id=58473 1219 1220 Adding conversion routines. 1221 1222 * UIProcess/API/C/WKAPICast.h: 1223 (WebKit::toAPI): 1224 (WebKit::toEditableLinkBehavior): 1225 * UIProcess/API/C/WKPreferences.cpp: 1226 (WKPreferencesSetEditableLinkBehavior): 1227 (WKPreferencesGetEditableLinkBehavior): 1228 1229 2011-04-13 Anders Carlsson <andersca (a] apple.com> 1230 1231 Reviewed by Dan Bernstein. 1232 1233 After closing the last window, re-opening my last visited website is over 2X slower 1234 https://bugs.webkit.org/show_bug.cgi?id=58488 1235 <rdar://problem/9233518> 1236 1237 Give the web process a 60 second termination timeout. 1238 1239 * WebProcess/WebProcess.cpp: 1240 (WebKit::WebProcess::WebProcess): 1241 1242 2011-04-13 Anders Carlsson <andersca (a] apple.com> 1243 1244 Reviewed by Adam Roben. 1245 1246 Convert WebProcess over to using disableTermination/enableTermination 1247 https://bugs.webkit.org/show_bug.cgi?id=58485 1248 1249 * PluginProcess/PluginProcess.cpp: 1250 (WebKit::PluginProcess::getSitesWithData): 1251 (WebKit::PluginProcess::clearSiteData): 1252 Use the LocalTerminationDisabler RAII class. 1253 1254 * Shared/ChildProcess.h: 1255 (WebKit::ChildProcess::LocalTerminationDisabler::LocalTerminationDisabler): 1256 (WebKit::ChildProcess::LocalTerminationDisabler::~LocalTerminationDisabler): 1257 Add RAII class for calling disableTermination/enableTermination. 1258 1259 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 1260 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): 1261 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): 1262 (WebKit::WebApplicationCacheManager::deleteAllEntries): 1263 Use the LocalTerminationDisabler RAII class. 1264 1265 * WebProcess/Cookies/WebCookieManager.cpp: 1266 (WebKit::WebCookieManager::getHostnamesWithCookies): 1267 (WebKit::WebCookieManager::deleteCookiesForHostname): 1268 (WebKit::WebCookieManager::deleteAllCookies): 1269 (WebKit::WebCookieManager::startObservingCookieChanges): 1270 (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy): 1271 (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): 1272 Use the LocalTerminationDisabler RAII class. 1273 1274 * WebProcess/Downloads/Download.cpp: 1275 (WebKit::Download::Download): 1276 Call disableTermination(). 1277 1278 (WebKit::Download::~Download): 1279 Call enableTermination(). 1280 1281 * WebProcess/Downloads/DownloadManager.cpp: 1282 (WebKit::DownloadManager::downloadFinished): 1283 Remove call to terminateIfPossible. 1284 1285 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: 1286 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 1287 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): 1288 (WebKit::WebKeyValueStorageManager::deleteAllEntries): 1289 Use the LocalTerminationDisabler RAII class. 1290 1291 * WebProcess/MediaCache/WebMediaCacheManager.cpp: 1292 (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): 1293 (WebKit::WebMediaCacheManager::clearCacheForHostname): 1294 (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): 1295 Use the LocalTerminationDisabler RAII class. 1296 1297 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 1298 (WebKit::WebResourceCacheManager::getCacheOrigins): 1299 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 1300 (WebKit::WebResourceCacheManager::clearCacheForAllOrigins): 1301 Use the LocalTerminationDisabler RAII class. 1302 1303 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 1304 (WebKit::WebDatabaseManager::getDatabasesByOrigin): 1305 (WebKit::WebDatabaseManager::getDatabaseOrigins): 1306 (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): 1307 (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): 1308 (WebKit::WebDatabaseManager::deleteAllDatabases): 1309 (WebKit::WebDatabaseManager::setQuotaForOrigin): 1310 Use the LocalTerminationDisabler RAII class. 1311 1312 * WebProcess/WebProcess.cpp: 1313 (WebKit::WebProcess::createWebPage): 1314 Call disableTermination(). 1315 1316 (WebKit::WebProcess::removeWebPage): 1317 Call enableTermination(). 1318 1319 (WebKit::WebProcess::shouldTerminate): 1320 Move logic from terminateIfPossible over here. 1321 1322 (WebKit::WebProcess::terminate): 1323 Move logic from terminateIfPossible over here. 1324 1325 (WebKit::WebProcess::getSitesWithPluginData): 1326 (WebKit::WebProcess::clearPluginSiteData): 1327 Use the LocalTerminationDisabler RAII class. 1328 1329 * WebProcess/WebProcess.h: 1330 Publically inherit from ChildProcess, LocalTerminationDisabler needs to be accessible 1331 from the WebProcess class. 1332 1333 2011-04-13 Steve Falkenburg <sfalken (a] apple.com> 1334 1335 Reviewed by Adam Roben. 1336 1337 Follow-up to: WebKit2 will load two copies of the same plugin, but should not 1338 https://bugs.webkit.org/show_bug.cgi?id=49075 1339 1340 Use pathGetFileName instead of Win32 PathFindFileNameW. 1341 1342 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 1343 (WebKit::PluginInfoStore::shouldUsePlugin): 1344 1345 2011-04-13 Sam Weinig <sam (a] webkit.org> 1346 1347 Reviewed by Gavin Barraclough. 1348 1349 WebKit2 doesn't keep overlay scrollers shown while scroll gesture held 1350 <rdar://problem/9260518> 1351 1352 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 1353 (InitWebCoreSystemInterface): 1354 Initialize new WKSI functions. 1355 1356 2011-04-13 Steve Falkenburg <sfalken (a] apple.com> 1357 1358 Reviewed by Oliver Hunt. 1359 1360 WebKit2 will load two copies of the same plugin, but should not 1361 https://bugs.webkit.org/show_bug.cgi?id=49075 1362 <rdar://problem/8635947> 1363 1364 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 1365 (WebKit::PluginInfoStore::shouldUsePlugin): Don't use a plug-in if we've already allowed a plug-in with the same filename. 1366 1367 2011-04-13 Timothy Hatcher <timothy (a] apple.com> 1368 1369 Hide the dictionary panel when navigating or crashing. 1370 1371 <rdar://problem/9261202> 1372 1373 Reviewed by Sam Weinig. 1374 1375 * UIProcess/API/mac/PageClientImpl.h: 1376 * UIProcess/API/mac/PageClientImpl.mm: 1377 (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added. Call WKHideWordDefinitionWindow. 1378 * UIProcess/PageClient.h: 1379 * UIProcess/WebPageProxy.cpp: 1380 (WebKit::WebPageProxy::didCommitLoadForFrame): Call PageClient::dismissDictionaryLookupPanel. 1381 (WebKit::WebPageProxy::processDidCrash): Call dismissCorrectionPanel and PageClient::dismissDictionaryLookupPanel. 1382 1383 2011-04-13 Anders Carlsson <andersca (a] apple.com> 1384 1385 Reviewed by Adam Roben. 1386 1387 Add support for disabling/enabling termination to ChildProcess 1388 https://bugs.webkit.org/show_bug.cgi?id=58476 1389 1390 Add ChildProcess::disableTermination and ChildProcess::enableTermination and convert 1391 the PluginProcess class over to using them. 1392 1393 * PluginProcess/PluginProcess.cpp: 1394 (WebKit::PluginProcess::PluginProcess): 1395 The child process now takes a terminationTimeout argument. Get rid of the shutdown timer. 1396 1397 (WebKit::PluginProcess::removeWebProcessConnection): 1398 Call enableTermination(). 1399 1400 (WebKit::PluginProcess::shouldTerminate): 1401 Always return true. 1402 1403 (WebKit::PluginProcess::createWebProcessConnection): 1404 Call disableTermination(). 1405 1406 (WebKit::PluginProcess::getSitesWithData): 1407 Call disableTermination()/enableTermination(). 1408 1409 (WebKit::PluginProcess::clearSiteData): 1410 Ditto. 1411 1412 * Shared/ChildProcess.cpp: 1413 (WebKit::ChildProcess::disableTermination): 1414 Increment the counter and stop the timer. 1415 1416 (WebKit::ChildProcess::enableTermination): 1417 Decrement the counter; if it's zero, start the timer. 1418 1419 (WebKit::ChildProcess::terminationTimerFired): 1420 Call shouldTerminate(). If it returns true, call terminate(). 1421 1422 (WebKit::ChildProcess::terminate): 1423 Call RunLoop::quit(). 1424 1425 * WebProcess/WebProcess.cpp: 1426 (WebKit::WebProcess::WebProcess): 1427 Just initialize the termination timeout to 0 for now. 1428 1429 (WebKit::WebProcess::shouldTerminate): 1430 Always return true; this isn't used yet. 1431 1432 * WebProcess/WebProcess.h: 1433 1434 2011-04-13 Enrica Casucci <enrica (a] apple.com> 1435 1436 Reviewed by Dan Bernstein. 1437 1438 REGRESSION: Links are clickable when a contentEditable is set to true. 1439 https://bugs.webkit.org/show_bug.cgi?id=58473 1440 <rdar://problem/9256793> 1441 1442 Added support for editable link behavior property. 1443 1444 * Shared/WebPreferencesStore.cpp: 1445 * Shared/WebPreferencesStore.h: 1446 * UIProcess/API/C/WKPreferences.cpp: 1447 (WKPreferencesSetEditableLinkBehavior): 1448 (WKPreferencesGetEditableLinkBehavior): 1449 * UIProcess/API/C/WKPreferencesPrivate.h: 1450 * WebProcess/WebPage/WebPage.cpp: 1451 (WebKit::WebPage::updatePreferences): 1452 1453 2011-04-12 Alexey Proskuryakov <ap (a] apple.com> 1454 1455 Reviewed by Oliver Hunt. 1456 1457 REGRESSION (WebKit2): Input methods are active in non-editable content 1458 https://bugs.webkit.org/show_bug.cgi?id=58404 1459 <rdar://problem/9275940> 1460 1461 * UIProcess/API/mac/WKView.mm: 1462 (-[WKView insertText:]): Re-add the old variant of this function, because it's not only part 1463 of deprecated NSTextInput protocol, but it's also part of NSResponder, and it's called when 1464 the input context in nil. 1465 (-[WKView inputContext]): Return nil when not in editable content. 1466 1467 2011-04-12 Brady Eidson <beidson (a] apple.com> 1468 1469 Reviewed by Maciej Stachowiak. 1470 1471 <rdar://problem/9029193> and https://bugs.webkit.org/show_bug.cgi?id=58406 1472 Bringing up the context menu on a link might also follow the link. 1473 1474 This patch adds a flag that is set just before the WebProcess tells the UIProcess to show a context menu. 1475 1476 As long as this flag is set, the WebProcess will ignore any other mouse events that might have queued up 1477 by the time the UIProcess gets around to showing the menu. 1478 1479 After the UIProcess is done showing the menu, it messages back telling the WebProcess to clear the flag 1480 and resume normal MouseEvent handling. 1481 1482 * UIProcess/WebPageProxy.cpp: 1483 (WebKit::WebPageProxy::showContextMenu): No matter what internalShowContextMenu does, always notify 1484 the WebProcess that any context menu is now hidden. 1485 (WebKit::WebPageProxy::internalShowContextMenu): 1486 * UIProcess/WebPageProxy.h: 1487 1488 * WebProcess/WebPage/WebContextMenu.cpp: 1489 (WebKit::WebContextMenu::show): Since we're telling the UIProcess to show the menu, tell the WebPage a 1490 context menu is showing so it will stop handling mouse events. 1491 1492 * WebProcess/WebPage/WebPage.cpp: 1493 (WebKit::WebPage::WebPage): 1494 (WebKit::WebPage::mouseEvent): Don't try to handle mouse events if a context menu is flagged as showing. 1495 1496 Add accessors to twiddle the "context menu showing" flag: 1497 * WebProcess/WebPage/WebPage.h: 1498 (WebKit::WebPage::contextMenuShowing): 1499 (WebKit::WebPage::contextMenuHidden): 1500 * WebProcess/WebPage/WebPage.messages.in: Add the ContextMenuHidden message. 1501 1502 2011-04-12 Sam Weinig <sam (a] webkit.org> 1503 1504 Reviewed by Maciej Stachowiak. 1505 1506 Quarantine related sandbox denial when downloading files 1507 <rdar://problem/9203736> 1508 1509 * WebProcess/com.apple.WebProcess.sb: 1510 1511 2011-04-12 Sam Weinig <sam (a] webkit.org> 1512 1513 Reviewed by Anders Carlsson. 1514 1515 Sandbox violations dragging an image to the desktop. 1516 <rdar://problem/9261834> 1517 1518 * WebProcess/com.apple.WebProcess.sb: 1519 1520 2011-04-12 Sam Weinig <sam (a] webkit.org> 1521 1522 Reviewed by Cameron Zwarich. 1523 1524 Sandbox violations trying to access ~/Library/Keyboard Layouts and ~/Library/Input Methods 1525 <rdar://problem/8973159> 1526 1527 * WebProcess/com.apple.WebProcess.sb: 1528 1529 2011-04-12 Enrica Casucci <enrica (a] apple.com> 1530 1531 Reviewed by Alexey Proskuryakov and Sam Weinig. 1532 1533 Implement non-activating clicks to allow dragging out of a background window. 1534 https://bugs.webkit.org/show_bug.cgi?id=55053 1535 <rdar://problem/9042197> 1536 1537 Added methods to WKView to support non activating click. Unfortunately both 1538 methods require a synchronous call to the WebProcess to decide what to do. 1539 acceptFirstMouse is called only if shouldDelayWindowOrderingForEvent returns 1540 true. In order to minimize the number of synchronous calls, we send the request 1541 only if our window is not the key window. 1542 1543 * UIProcess/API/mac/WKView.mm: 1544 (-[WKView acceptsFirstMouse:]): 1545 (-[WKView shouldDelayWindowOrderingForEvent:]): 1546 * UIProcess/WebPageProxy.h: 1547 * UIProcess/mac/WebPageProxyMac.mm: 1548 (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent): 1549 (WebKit::WebPageProxy::acceptsFirstMouse): 1550 * WebProcess/WebPage/WebPage.h: 1551 * WebProcess/WebPage/WebPage.messages.in: 1552 * WebProcess/WebPage/mac/WebPageMac.mm: 1553 (WebKit::WebPage::shouldDelayWindowOrderingEvent): 1554 (WebKit::WebPage::acceptsFirstMouse): 1555 1556 2011-04-12 Alexey Proskuryakov <ap (a] apple.com> 1557 1558 Reviewed by Oliver Hunt. 1559 1560 Crash when serializing a null AttributedString 1561 https://bugs.webkit.org/show_bug.cgi?id=58393 1562 <rdar://problem/9275326> 1563 1564 * Shared/mac/AttributedString.mm: 1565 (WebKit::AttributedString::encode): 1566 (WebKit::AttributedString::decode): 1567 Prefix the serialized value with an isNull tag. 1568 1569 2011-04-12 Enrica Casucci <enrica (a] apple.com> 1570 1571 Reviewed by Alexey Proskuryakov. 1572 1573 Infinite recursion in WebHTMLView executeSavedKeypressCommands. 1574 https://bugs.webkit.org/show_bug.cgi?id=58382 1575 <rdar://problem/9239370> 1576 1577 Execution of some editing commands could trigger a call to selectedRange that 1578 internally calls executeSavedKeypressCommands creating an infinite recursion. 1579 1580 * UIProcess/API/mac/WKView.mm: 1581 (-[WKView _executeSavedKeypressCommands]): Added flag to avoid recursion. 1582 (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]): 1583 Added flag initialization. 1584 1585 2011-04-12 Chris Marrin <cmarrin (a] apple.com> 1586 1587 Reviewed by Simon Fraser. 1588 1589 Page tears and stutters in WebKit2 when page is > 2048 pixels wide 1590 https://bugs.webkit.org/show_bug.cgi?id=58330 1591 1592 Turn off tiling for nonCompositedContentLayer to avoid tearing when 1593 scrolling very wide (> 2048) windows. 1594 1595 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 1596 (WebKit::LayerTreeHostCA::initialize): 1597 1598 2011-04-12 Anders Carlsson <andersca (a] apple.com> 1599 1600 Reviewed by Adam Roben. 1601 1602 Assertion in DrawingAreaImpl::resumePainting() (m_isPaintingSuspended) when clicking a link at twitter.com 1603 https://bugs.webkit.org/show_bug.cgi?id=58377 1604 <rdar://problem/8976531> 1605 1606 Remove the assertion. 1607 1608 * WebProcess/WebPage/DrawingAreaImpl.cpp: 1609 (WebKit::DrawingAreaImpl::resumePainting): 1610 1611 2011-04-11 Stephanie Lewis <slewis (a] apple.com> 1612 1613 Reviewed by Oliver Hunt. 1614 1615 https://bugs.webkit.org/show_bug.cgi?id=58280 1616 <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception 1617 Change use of SerializedScriptValue::Create to use the same api as the rest of WebKit2. This has the benefit 1618 of handling any exceptions so Javascript is not in an inconsistent state. 1619 1620 * Shared/API/c/WKSerializedScriptValue.h: fix a typo 1621 * WebProcess/WebPage/WebPage.cpp: 1622 (WebKit::WebPage::runJavaScriptInMainFrame): 1623 1624 2011-04-12 Jeff Miller <jeffm (a] apple.com> 1625 1626 Reviewed by Adam Roben. 1627 1628 WebKit2: Pressing Tab in Web Inspector's console does not cycle through completion options 1629 https://bugs.webkit.org/show_bug.cgi?id=56020 1630 1631 Safari was always calling TranslateMessage() on key events since it has no way to know whether 1632 WebKit handled the event without a PageUIClient (which Safari only installs on pages inside 1633 a Safari window), which was generating a WM_CHAR message containing the tab in this case. The fix 1634 is for Safari to never call TranslateMessage() on key events outside of a Safari window, but this 1635 means the WebPageProxy needs to do this for unhandled key events if there is no didNotHandleKeyEvent 1636 callback in the PageUIClient. 1637 1638 * UIProcess/WebPageProxy.cpp: 1639 (WebKit::WebPageProxy::didReceiveEvent): Call TranslateMessage() on Windows for unhandled key events that can't be handled by the PageUIClient. 1640 * UIProcess/WebUIClient.cpp: 1641 (WebKit::WebUIClient::canNotHandleKeyEvent): Added. 1642 * UIProcess/WebUIClient.h: Added canNotHandleKeyEvent(). 1643 1644 2011-04-12 Alice Liu <alice.liu (a] apple.com> 1645 1646 Reviewed by Sam Weinig. 1647 1648 https://bugs.webkit.org/show_bug.cgi?id=58292 1649 Provide new setting to allow site icon loading despite disabling automatic image loading in general. 1650 1651 * Shared/WebPreferencesStore.h: Add macro for setting default value. 1652 * UIProcess/API/C/WKPreferences.cpp: 1653 (WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference): Added setter. 1654 (WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference): Added getter. 1655 * UIProcess/API/C/WKPreferences.h: 1656 * WebProcess/WebPage/WebPage.cpp: 1657 (WebKit::WebPage::updatePreferences): Add to list of WebCore settings that get propagated to WebKit preferences. 1658 1659 2011-04-12 Jessie Berlin <jberlin (a] apple.com> 1660 1661 Reviewed by Anders Carlsson. 1662 1663 WebKit2: Spelling and Grammar Checking: Make sure to remove the markings from the document 1664 when spelling and/or grammar checking is disabled. 1665 https://bugs.webkit.org/show_bug.cgi?id=58350 1666 1667 * UIProcess/API/mac/WKView.mm: 1668 (-[WKView toggleContinuousSpellChecking:]): 1669 Move the call to unmark the errors to the WebProcess. 1670 (-[WKView setGrammarCheckingEnabled:]): 1671 Ditto. 1672 (-[WKView toggleGrammarChecking:]): 1673 Ditto. 1674 1675 * UIProcess/WebPageProxy.cpp: 1676 Remove unused functions. 1677 * UIProcess/WebPageProxy.h: 1678 Ditto. 1679 * WebProcess/WebPage/WebPage.messages.in: 1680 Ditto. 1681 * WebProcess/WebPage/WebPage.h: 1682 1683 * WebProcess/WebProcess.cpp: 1684 (WebKit::WebProcess::setTextCheckerState): 1685 If grammar or spelling checking is disabled, unmark all the pages. 1686 Doing it here allows makes it possible to unmark all pages in a cross-platform way that is 1687 triggered both by selecting the the context menu items and by any other methods of updating 1688 the enabled / disabled state. 1689 1690 2011-04-12 Anders Carlsson <andersca (a] apple.com> 1691 1692 Reviewed by Sam Weinig. 1693 1694 Cisco Meeting Center will not download or launch from Safari 1695 https://bugs.webkit.org/show_bug.cgi?id=58366 1696 <rdar://problem/8987139> 1697 1698 It's OK if a plug-in has less (or more) MIME type descriptions than actual MIME types. 1699 1700 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 1701 (WebKit::getPluginInfoFromCarbonResources): 1702 1703 2011-04-12 Anders Carlsson <andersca (a] apple.com> 1704 1705 Reviewed by Sam Weinig. 1706 1707 Call PluginControllerProxy::platformGeometryDidChange before Plugin::geometryDidChange 1708 https://bugs.webkit.org/show_bug.cgi?id=58361 1709 1710 Since Plugin::geometryDidChange ends up calling plug-in code it can resize the plug-in which causes 1711 platformGeometryDidChange to be called with the wrong rect. 1712 1713 * PluginProcess/PluginControllerProxy.cpp: 1714 (WebKit::PluginControllerProxy::geometryDidChange): 1715 Call platformGeometryDidChange. 1716 1717 * PluginProcess/PluginControllerProxy.h: 1718 * PluginProcess/mac/PluginControllerProxyMac.mm: 1719 (WebKit::PluginControllerProxy::platformGeometryDidChange): 1720 Remove the parameters to platformGeometryDidChange and just use m_frameRect instead. 1721 1722 2011-04-12 Anders Carlsson <andersca (a] apple.com> 1723 1724 Reviewed by Sam Weinig. 1725 1726 Move three Mac specific functions to PluginControllerProxyMac.mm. 1727 1728 2011-04-12 Anders Carlsson <andersca (a] apple.com> 1729 1730 Reviewed by Sam Weinig. 1731 1732 Cache the window and plug-in element NPObjects 1733 https://bugs.webkit.org/show_bug.cgi?id=58355 1734 1735 * PluginProcess/PluginControllerProxy.cpp: 1736 (WebKit::PluginControllerProxy::PluginControllerProxy): 1737 (WebKit::PluginControllerProxy::~PluginControllerProxy): 1738 (WebKit::PluginControllerProxy::windowScriptNPObject): 1739 (WebKit::PluginControllerProxy::pluginElementNPObject): 1740 * PluginProcess/PluginControllerProxy.h: 1741 1742 2011-04-12 Alejandro G. Castro <alex (a] igalia.com> 1743 1744 Fixed GTK compilation after r83454. 1745 1746 * UIProcess/gtk/WebView.cpp: 1747 (WebKit::WebView::findStringInCustomRepresentation): 1748 (WebKit::WebView::countStringMatchesInCustomRepresentation): 1749 * UIProcess/gtk/WebView.h: 1750 1751 2011-04-11 Daniel Bates <dbates (a] webkit.org> 1752 1753 Attempt to fix the Qt Linux Release build after changeset 83550 <http://trac.webkit.org/changeset/83550> 1754 (https://bugs.webkit.org/show_bug.cgi?id=54159). 1755 1756 * WebKit2API.pri: Append UIProcess/API/C/WKResourceCacheManager.cpp to the list WEBKIT2_API_SOURCES. 1757 1758 2011-04-11 Sam Weinig <sam (a] webkit.org> 1759 1760 Reviewed by Anders Carlsson. 1761 1762 Move focus management out of WebKit via the UIClient 1763 <rdar://problem/8784068> 1764 https://bugs.webkit.org/show_bug.cgi?id=58278 1765 1766 * UIProcess/API/C/WKPage.h: 1767 * UIProcess/API/mac/PageClientImpl.h: 1768 * UIProcess/API/mac/PageClientImpl.mm: 1769 * UIProcess/API/qt/qwkpage.cpp: 1770 (QWKPage::QWKPage): 1771 * UIProcess/API/qt/qwkpage_p.h: 1772 * UIProcess/PageClient.h: 1773 * UIProcess/WebPageProxy.cpp: 1774 (WebKit::WebPageProxy::setFocus): 1775 * UIProcess/WebUIClient.cpp: 1776 (WebKit::WebUIClient::focus): 1777 (WebKit::WebUIClient::unfocus): 1778 * UIProcess/WebUIClient.h: 1779 * UIProcess/gtk/WebView.cpp: 1780 * UIProcess/gtk/WebView.h: 1781 * UIProcess/win/WebView.h: 1782 Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus. 1783 1784 2011-04-11 Alexey Proskuryakov <ap (a] apple.com> 1785 1786 Reviewed by Maciej Stachowiak. 1787 1788 WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut 1789 https://bugs.webkit.org/show_bug.cgi?id=58265 1790 <rdar://problem/9221468> 1791 1792 * WebProcess/WebPage/WebPage.cpp: 1793 (WebKit::WebPage::keyEvent): Added a comment explaining that doing work after DOM event 1794 dispatch isn't great. 1795 * WebProcess/WebPage/mac/WebPageMac.mm: 1796 (WebKit::WebPage::performNonEditingBehaviorForSelector): Added a comment explaining how this 1797 might be moved down to WebCore. 1798 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): This is now empty, since both Space 1799 and Backspace behaviors are implemented in WebCore. 1800 1801 2011-04-11 Anders Carlsson <andersca (a] apple.com> 1802 1803 Try to fix the Windows build. 1804 1805 * UIProcess/win/WebInspectorProxyWin.cpp: 1806 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 1807 1808 2011-04-11 Alexey Proskuryakov <ap (a] apple.com> 1809 1810 Reviewed by Dan Bernstein. 1811 1812 REGRESSION (r83081): Esc key no longer removes current Kotoeri text operation 1813 https://bugs.webkit.org/show_bug.cgi?id=58274 1814 <rdar://problem/9263683> 1815 1816 * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getMarkedRange): Wrap the returned 1817 temporary in RefPtr. 1818 1819 2011-04-11 Anders Carlsson <andersca (a] apple.com> 1820 1821 Reviewed by Sam Weinig. 1822 1823 Remove m_urlAtProcessExit from WebPageProxy 1824 https://bugs.webkit.org/show_bug.cgi?id=58275 1825 1826 Get rid of m_urlAtProcessExit and replace some zeros with nullptrs. 1827 1828 * UIProcess/WebPageProxy.cpp: 1829 (WebKit::WebPageProxy::processDidCrash): 1830 * UIProcess/WebPageProxy.h: 1831 1832 2011-04-11 Anders Carlsson <andersca (a] apple.com> 1833 1834 Reviewed by Adam Roben. 1835 1836 Remove the WebContext member variable from WebPageProxy 1837 https://bugs.webkit.org/show_bug.cgi?id=58271 1838 <rdar://problem/9148125> 1839 1840 * UIProcess/API/C/WKPage.cpp: 1841 (WKPageGetContext): 1842 * UIProcess/WebPageProxy.cpp: 1843 (WebKit::WebPageProxy::create): 1844 (WebKit::WebPageProxy::WebPageProxy): 1845 (WebKit::WebPageProxy::process): 1846 (WebKit::WebPageProxy::reattachToWebProcess): 1847 (WebKit::WebPageProxy::canShowMIMEType): 1848 (WebKit::WebPageProxy::receivedPolicyDecision): 1849 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 1850 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 1851 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 1852 (WebKit::WebPageProxy::didCommitLoadForFrame): 1853 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 1854 (WebKit::WebPageProxy::didFinishLoadForFrame): 1855 (WebKit::WebPageProxy::didFailLoadForFrame): 1856 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 1857 (WebKit::WebPageProxy::didReceiveTitleForFrame): 1858 (WebKit::WebPageProxy::didFirstLayoutForFrame): 1859 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 1860 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 1861 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 1862 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 1863 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 1864 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 1865 (WebKit::WebPageProxy::decidePolicyForResponse): 1866 (WebKit::WebPageProxy::unableToImplementPolicy): 1867 (WebKit::WebPageProxy::willSubmitForm): 1868 (WebKit::WebPageProxy::mouseDidMoveOverElement): 1869 (WebKit::WebPageProxy::showContextMenu): 1870 (WebKit::WebPageProxy::contextMenuItemSelected): 1871 * UIProcess/WebPageProxy.h: 1872 * UIProcess/WebProcessProxy.cpp: 1873 (WebKit::WebProcessProxy::createWebPage): 1874 * UIProcess/mac/WebInspectorProxyMac.mm: 1875 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 1876 1877 2011-04-11 Eric Carlson <eric.carlson (a] apple.com> 1878 1879 Reviewed by Adam Roben. 1880 1881 Ignore context change callbacks when not on the main thread 1882 https://bugs.webkit.org/show_bug.cgi?id=58256 1883 <rdar://problem/9266090> 1884 1885 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 1886 (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Do nothing when not called 1887 on the main thread. This should only happen when no changes have actually 1888 been committed to the context, eg. when a video frame has been added to an image 1889 queue, so return without triggering animations etc. 1890 1891 2011-04-11 Anders Carlsson <andersca (a] apple.com> 1892 1893 Reviewed by Sam Weinig. 1894 1895 First step towards simplifying WebPageProxy/WebProcessProxy/WebContext ownership 1896 https://bugs.webkit.org/show_bug.cgi?id=58266 1897 <rdar://problem/9148125> 1898 1899 With this patch, the WKView holds a strong reference to a WebPageProxy. The 1900 WebPageProxy in turn holds a strong reference to its WebProcessProxy. Finally, 1901 The WebProcessProxy holds a strong reference to its WebContext. 1902 1903 The WebContext holds a strong reference to the running WebProcessProxy which results 1904 in a reference cycle that's broken when the web process exits. 1905 1906 The reason for is to avoid crashes where WebPageProxy::process() returns null if the web process 1907 has crashed but has not yet been relaunched. 1908 1909 * UIProcess/WebContext.cpp: 1910 (WebKit::WebContext::disconnectProcess): 1911 Add comment. 1912 1913 (WebKit::WebContext::createWebPage): 1914 Return a PassRefPtr. 1915 1916 (WebKit::WebContext::relaunchProcessIfNecessary): 1917 Change this to return a WebPageProxy. 1918 1919 * UIProcess/WebPageProxy.cpp: 1920 (WebKit::WebPageProxy::create): 1921 This now takes a PassRefPtr<WebProcessProxy>. 1922 1923 (WebKit::WebPageProxy::WebPageProxy): 1924 Ditto. 1925 1926 (WebKit::WebPageProxy::~WebPageProxy): 1927 Call close() if necessary. 1928 1929 (WebKit::WebPageProxy::reattachToWebProcess): 1930 Replace the current process with the new process. 1931 1932 * UIProcess/WebProcessProxy.cpp: 1933 (WebKit::WebProcessProxy::create): 1934 Take a PassRefPtr<WebContext>. 1935 1936 (WebKit::WebProcessProxy::WebProcessProxy): 1937 Ditto. 1938 1939 (WebKit::WebProcessProxy::webPage): 1940 Remove .get() now that the page map uses weak references. 1941 1942 (WebKit::WebProcessProxy::createWebPage): 1943 This now returns the created web page proxy. 1944 1945 2011-04-11 Adam Roben <aroben (a] apple.com> 1946 1947 Dispatch sent messages to windows owned by the web process when waiting a sync CoreIPC reply 1948 1949 On Windows, windowed plugins' HWNDs are created as children of the WKView's window. This 1950 creates a cross-process window hierarchy, which in turn attaches the input states of the UI 1951 process's and web process's main threads (as if ::AttachThreadInput has been called). Having 1952 the input states attached means that changes to the input state (e.g., changing the focus 1953 window) can result in synchronous window messages being sent between the processes. This can 1954 result in deadlocks if the UI process changes the input state while handling a synchronous 1955 CoreIPC message from the web process. Since the web process isn't running its message loop 1956 while waiting for the reply, it never processes the messages Windows is sending it from the 1957 UI process. 1958 1959 The solution taken in this patch is to continue to dispatch sent (not posted) messages to 1960 windows created by the web process while waiting for a sync CoreIPC reply. Someday we can 1961 hopefully reduce the number of cases in which the UI process modifies the thread's input 1962 state while handling a synchronous message; see the bug for details. 1963 1964 Fixes <http://webkit.org/b/58239> <rdar://problem/8769302> REGRESSION (WebKit2): Deadlock 1965 clicking Flash plugin 1966 1967 Reviewed by Anders Carlsson. 1968 1969 * Platform/CoreIPC/BinarySemaphore.h: 1970 (CoreIPC::BinarySemaphore::event): Added. Simple getter to expose the underlying event 1971 HANDLE. 1972 1973 * Platform/CoreIPC/Connection.cpp: 1974 (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentMessages): New Windows-only 1975 function that is used instead of wait() so that sent messages will continue to be 1976 dispatched. 1977 (CoreIPC::Connection::waitForSyncReply): Use waitWhileDispatchingSentMessages instead of 1978 wait on Windows. Our Client gives us the set of windows that need to have windows delivered 1979 to them. 1980 1981 * Platform/CoreIPC/Connection.h: Added new 1982 windowsToReceiveSentMessagesWhileWaitingForSyncReply function to Client. 1983 1984 * Platform/RunLoop.h: Added new dispatchSentMessagesUntil function to be used while waiting 1985 for a sync CoreIPC reply. 1986 1987 * Platform/win/RunLoopWin.cpp: 1988 (RunLoop::dispatchSentMessagesUntil): Added. If we have no windows to dispatch messages to, 1989 then just wait on the semaphore. Otherwise spin a ::MsgWaitForMultipleObjectsEx loop to 1990 detect when the semaphore is signaled, the timeout elapses, or sent messages are available, 1991 and handle each case appropriately. 1992 1993 * UIProcess/WebProcessProxy.h: Added new CoreIPC::Connection::Client function. 1994 1995 * UIProcess/win/WebProcessProxyWin.cpp: Added. 1996 (WebKit::WebProcessProxy::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Just return 1997 an empty Vector. The web process never modifies the thread's input state while responding to 1998 a synchronous message, so we don't have anything to worry about here. 1999 2000 * WebProcess/WebProcess.h: Added new CoreIPC::Connection::Client function. 2001 2002 * WebProcess/win/WebProcessWin.cpp: 2003 (WebKit::addWindowToVectorIfOwnedByCurrentThread): New helper function to be called by 2004 ::EnumThreadWindows/::EnumChildWindows. Does what it says. 2005 (WebKit::WebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Added. Returns 2006 all top-level windows created by this thread, descendants of those windows created by this 2007 thread, and descendants of WKViews' windows created by this thread. 2008 2009 * win/WebKit2.vcproj: Added WebProcessProxyWin.cpp. 2010 2011 2011-04-11 Jessie Berlin <jberlin (a] apple.com> 2012 2013 Reviewed by Anders Carlsson. 2014 2015 WebKit2: Implement TextChecker on Windows 2016 https://bugs.webkit.org/show_bug.cgi?id=57862 2017 2018 Part 7: Implement getGuessesForWord, learnWord, and ignoreWord. 2019 2020 * UIProcess/API/C/win/WKTextChecker.cpp: 2021 (WKTextCheckerChangeSpellingToWord): 2022 * UIProcess/API/C/win/WKTextChecker.h: 2023 2024 * UIProcess/WebPageProxy.cpp: 2025 (WebKit::WebPageProxy::changeSpellingToWord): 2026 Make this function const since it does not modify the WebPageProxy and making it const 2027 allows WebTextChecker::changeSpellingToWord to take a const WebPageProxy. 2028 (WebKit::WebPageProxy::learnWord): 2029 * UIProcess/WebPageProxy.h: 2030 2031 * UIProcess/TextChecker.h: 2032 * UIProcess/win/TextCheckerWin.cpp: 2033 (WebKit::TextChecker::getGuessesForWord): 2034 Ask the TextCheckerClient for the guesses. 2035 (WebKit::TextChecker::learnWord): 2036 Tell the TextCheckerClient. 2037 (WebKit::TextChecker::ignoreWord): 2038 Ditto. 2039 * UIProcess/gtk/TextCheckerGtk.cpp: 2040 (WebKit::TextChecker::learnWord): 2041 Add an unused param that is necessary for Windows. 2042 * UIProcess/mac/TextCheckerMac.mm: 2043 (WebKit::TextChecker::learnWord): 2044 Ditto. 2045 * UIProcess/qt/TextCheckerQt.cpp: 2046 (WebKit::TextChecker::learnWord): 2047 Ditto. 2048 2049 * UIProcess/win/WebTextChecker.cpp: 2050 (WebKit::WebTextChecker::changeSpellingToWord): 2051 Tell the page. 2052 * UIProcess/win/WebTextChecker.h: 2053 2054 * UIProcess/win/WebTextCheckerClient.cpp: 2055 (WebKit::WebTextCheckerClient::guessesForWord): 2056 (WebKit::WebTextCheckerClient::learnWord): 2057 (WebKit::WebTextCheckerClient::ignoreWord): 2058 * UIProcess/win/WebTextCheckerClient.h: 2059 2060 2011-04-11 Anders Carlsson <andersca (a] apple.com> 2061 2062 Reviewed by Sam Weinig. 2063 2064 Remove unused WebProcessProxy functions 2065 https://bugs.webkit.org/show_bug.cgi?id=58262 2066 2067 * UIProcess/WebProcessProxy.cpp: 2068 * UIProcess/WebProcessProxy.h: 2069 2070 2011-04-11 Anders Carlsson <andersca (a] apple.com> 2071 2072 Reviewed by Sam Weinig. 2073 2074 Crash in WebPageProxy::countStringMatches 2075 https://bugs.webkit.org/show_bug.cgi?id=58255 2076 <rdar://problem/9243837> 2077 2078 * UIProcess/WebPageProxy.cpp: 2079 (WebKit::WebPageProxy::countStringMatches): 2080 Return early if the page is not valid. 2081 2082 2011-04-11 Sam Weinig <sam (a] webkit.org> 2083 2084 Reviewed by Anders Carlsson. 2085 2086 WebKit2: links dont update to look visited 2087 <rdar://problem/8806254> 2088 https://bugs.webkit.org/show_bug.cgi?id=58252 2089 2090 * WebProcess/WebProcess.cpp: 2091 (WebKit::WebProcess::visitedLinkStateChanged): 2092 (WebKit::WebProcess::allVisitedLinkStateChanged): 2093 * WebProcess/WebProcess.h: 2094 Remove use of vestigial sharedPageGroup and instead iterate set of 2095 page groups in use by the process. 2096 2097 2011-04-11 Brian Weinstein <bweinstein (a] apple.com> 2098 2099 Reviewed by Adam Roben. 2100 2101 WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message 2102 https://bugs.webkit.org/show_bug.cgi?id=58167 2103 <rdar://problem/9259813> 2104 2105 Instead of making GestureDidScroll sync, have WebPageWin call from WebProcess -> 2106 UIProcess when the gesture causes the page to scroll to the beginning or the 2107 end of the document. 2108 2109 * UIProcess/PageClient.h: 2110 * UIProcess/WebPageProxy.cpp: 2111 (WebKit::WebPageProxy::gestureDidScroll): Not a sync message anymore. 2112 (WebKit::WebPageProxy::setGestureScrollingLimitReached): Tell the page client that the gesture 2113 scrolling limnit was reached. 2114 * UIProcess/WebPageProxy.h: 2115 * UIProcess/WebPageProxy.messages.in: Add a new message. 2116 * UIProcess/win/WebView.cpp: 2117 (WebKit::WebView::WebView): Initialize new variable. 2118 (WebKit::WebView::onGesture): Use the state of the member variable, not the response from 2119 the sync message. 2120 * UIProcess/win/WebView.h: 2121 (WebKit::WebView::setGestureScrollingLimitReached): 2122 * WebProcess/WebPage/WebPage.h: 2123 * WebProcess/WebPage/WebPage.messages.in: 2124 * WebProcess/WebPage/win/WebPageWin.cpp: 2125 (WebKit::scrollbarAtTopOfBottomOrDocument): Returns whether or not the scrollbar is at the 2126 top or bottom of the document. 2127 (WebKit::WebPage::gestureDidScroll): Track whether or not we started at the beginning 2128 or end of the document, and whether or not we ended at the beginning or end of the document, 2129 and send a message if the value changed. 2130 2131 2011-04-04 Jer Noble <jer.noble (a] apple.com> 2132 2133 Reviewed by Maciej Stachowiak. 2134 2135 WK2: PDF: Find in page 2136 https://bugs.webkit.org/show_bug.cgi?id=57765 2137 2138 Support searching text within PDF documents. Find requests must be routed from the 2139 WebPageProxy, through the PageClient, and to the WKView, where they can be passed to 2140 the PDFViewController. 2141 2142 * UIProcess/API/mac/PDFViewController.h: 2143 * UIProcess/API/mac/PDFViewController.mm: 2144 (_PDFSelectionsAreEqual): Copied from WebPDFView. 2145 (-[WKPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]): Copied from WebPDFView. 2146 (-[WKPDFView _countMatches:caseSensitive:]): Added. 2147 (WebKit::PDFViewController::findString): Added. 2148 (WebKit::PDFViewController::countStringMatches): Added. 2149 * UIProcess/PageClient.h: 2150 * UIProcess/API/mac/PageClientImpl.h: 2151 * UIProcess/API/mac/PageClientImpl.mm: 2152 (WebKit::PageClientImpl::findStringInCustomRepresentation): Added. 2153 (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Added. 2154 * UIProcess/API/mac/WKViewInternal.h: 2155 * UIProcess/API/mac/WKView.mm: 2156 (-[WKView _findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Added. 2157 (-[WKView _countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Added. 2158 * UIProcess/WebPageProxy.h: Moved a number of find-related functions from private: to public: so 2159 they could be called from PDFViewController. 2160 * UIProcess/WebPageProxy.cpp: 2161 (WebKit::WebPageProxy::findString): Added. 2162 (WebKit::WebPageProxy::countStringMatches): Added. 2163 * UIProcess/win/WebView.cpp: 2164 (WebKit::WebView::findStringInCustomRepresentation): Added stub. 2165 (WebKit::WebView::countStringMatchesInCustomRepresentation): Ditto. 2166 * UIProcess/win/WebView.h: 2167 * UIProcess/API/qt/qwkpage_p.h: 2168 (QWKPagePrivate::findStringInCustomRepresentation): Added stub. 2169 (QWKPagePrivate::countStringMatchesInCustomRepresentation): Added stub. 2170 2171 2011-04-11 Jessie Berlin <jberlin (a] apple.com> 2172 2173 Reviewed by Anders Carlsson. 2174 2175 WebKit2: Implement TextChecker on Windows 2176 https://bugs.webkit.org/show_bug.cgi?id=57862 2177 2178 Part 6: Update the Spelling UI with the spelling and grammar mistakes. 2179 2180 * UIProcess/API/C/win/WKAPICastWin.h: 2181 (WebKit::toAPI): 2182 Make it possible to go from a WebCore::GrammarDetail to a WebGrammarDetail. 2183 2184 * UIProcess/API/C/win/WKGrammarDetail.cpp: 2185 (WKGrammarDetailCreate): 2186 (WKGrammarDetailGetLocation): 2187 (WKGrammarDetailGetLength): 2188 (WKGrammarDetailCopyGuesses): 2189 (WKGrammarDetailCopyUserDescription): 2190 * UIProcess/API/C/win/WKGrammarDetail.h: 2191 2192 * UIProcess/API/C/win/WKTextChecker.cpp: 2193 (WKTextCheckerCheckSpelling): 2194 Tell the WebTextChecker. 2195 * UIProcess/API/C/win/WKTextChecker.h: 2196 2197 * UIProcess/WebPageProxy.cpp: 2198 (WebKit::WebPageProxy::contextMenuItemSelected): 2199 If the show/hide spelling UI is selected and the spelling UI is not showing, make sure to 2200 advance to the next misspelling (in this case, the first). 2201 This behavior matches that in WebCore and WKView.mm. 2202 (WebKit::WebPageProxy::advanceToNextMisspelling): 2203 Make this function const since it does not modify the WebPageProxy and making it const 2204 allows WebTextChecker::checkSpelling to take a const WebPageProxy. 2205 (WebKit::WebPageProxy::spellDocumentTag): 2206 (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord): 2207 (WebKit::WebPageProxy::updateSpellingUIWithGrammarString): 2208 * UIProcess/WebPageProxy.h: 2209 2210 * UIProcess/TextChecker.h: 2211 * UIProcess/win/TextCheckerWin.cpp: 2212 (WebKit::TextChecker::uniqueSpellDocumentTag): 2213 Tell the TextCheckerClient which WebPageProxy this tag is for. 2214 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 2215 Tell the TextCheckerClient. 2216 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 2217 Ditto. 2218 * UIProcess/mac/TextCheckerMac.mm: 2219 (WebKit::TextChecker::uniqueSpellDocumentTag): 2220 Add the new argument that is unused by this port. 2221 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 2222 Ditto. 2223 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 2224 Ditto. 2225 * UIProcess/gtk/TextCheckerGtk.cpp: 2226 (WebKit::TextChecker::uniqueSpellDocumentTag): 2227 Ditto. 2228 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 2229 Ditto. 2230 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 2231 Ditto. 2232 * UIProcess/qt/TextCheckerQt.cpp: 2233 (WebKit::TextChecker::uniqueSpellDocumentTag): 2234 Ditto. 2235 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 2236 Ditto. 2237 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 2238 Ditto. 2239 2240 * UIProcess/win/WebGrammarDetail.cpp: 2241 (WebKit::WebGrammarDetail::create): 2242 (WebKit::WebGrammarDetail::WebGrammarDetail): 2243 (WebKit::WebGrammarDetail::guesses): 2244 * UIProcess/win/WebGrammarDetail.h: 2245 (WebKit::WebGrammarDetail::location): 2246 (WebKit::WebGrammarDetail::length): 2247 (WebKit::WebGrammarDetail::userDescription): 2248 2249 * UIProcess/win/WebTextChecker.cpp: 2250 (WebKit::WebTextChecker::checkSpelling): 2251 Tell the page to advance to the next misspelling. This matches the WK1 WebView.cpp logic. 2252 2253 * UIProcess/win/WebTextChecker.h: 2254 * UIProcess/win/WebTextCheckerClient.cpp: 2255 (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag): 2256 (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing): 2257 (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord): 2258 (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString): 2259 * UIProcess/win/WebTextCheckerClient.h: 2260 2261 2011-04-10 Maciej Stachowiak <mjs (a] apple.com> 2262 2263 Not reviewed. 2264 2265 Remove extra inadvertantly commiteed changes from last change. 2266 2267 * WebProcess/com.apple.WebProcess.sb: 2268 2269 2011-04-10 Maciej Stachowiak <mjs (a] apple.com> 2270 2271 Reviewed by Dan Bernstein. 2272 2273 REGRESSION: WebProcess spews sandboxing violations for outbound network traffic 2274 https://bugs.webkit.org/show_bug.cgi?id=58215 2275 <rdar://problem/9251695> 2276 2277 * WebProcess/com.apple.WebProcess.sb: Restore some previously removed rules. 2278 2279 2011-04-10 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 2280 2281 Reviewed by Eric Seidel. 2282 2283 Require no undefined symbols during compilation. 2284 2285 [Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols 2286 https://bugs.webkit.org/show_bug.cgi?id=54896 2287 2288 Add -Wl,--no-undefined to catch missing symbols early. 2289 2290 * WebProcess.pro: 2291 2292 2011-04-09 Geoffrey Garen <ggaren (a] apple.com> 2293 2294 Not reviewed. 2295 2296 Try recommitting some things svn left out of my last commit. 2297 2298 * WebProcess/Plugins/Netscape/NPJSObject.h: 2299 2300 2011-04-09 Geoffrey Garen <ggaren (a] apple.com> 2301 2302 Not reviewed. 2303 2304 Try recommitting some things svn left out of my last commit. 2305 2306 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 2307 (WebKit::NPRuntimeObjectMap::evaluate): 2308 2309 2011-04-08 Alexey Proskuryakov <ap (a] apple.com> 2310 2311 Reviewed by Darin Adler. 2312 2313 WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts 2314 https://bugs.webkit.org/show_bug.cgi?id=58175 2315 <rdar://problem/9060555> 2316 2317 The problem is that command handling should be different for events that come as keyDown: 2318 and those that come as performKeyEquivalent:. WebKit1 only tries custom "key bindings" 2319 when handling a keyDown:, letting a performKeyEquivalent: run through the whole responder 2320 chain first. 2321 2322 This would be very difficult to implement in WebKit2 because of how it re-sends the same 2323 event after web process handling. Luckily, we can both fix the bug and make the behavior 2324 more robust by not hardcoding key combinations. 2325 2326 * WebProcess/WebPage/WebPage.h: Edit performNonEditingBehaviorForSelector. 2327 * WebProcess/WebPage/mac/WebPageMac.mm: 2328 (WebKit::WebPage::executeKeypressCommandsInternal): When executing commands, also try 2329 executing editor commands in their non-editing meaning, which is usually scrolling. 2330 (WebKit::WebPage::performNonEditingBehaviorForSelector): Naive implementation with a chain 2331 of ifs, which is hopefully ok performance-wise for a dozen check. 2332 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Only kept two commands here that I 2333 couldn't easily move. 2334 2335 2011-04-08 Jessie Berlin <jberlin (a] apple.com> 2336 2337 Reviewed by Anders Carlsson. 2338 2339 WebKit2: Show the substitutions panel on Mac and make sure the menu items titles are 2340 updated correctly. 2341 https://bugs.webkit.org/show_bug.cgi?id=58179 2342 2343 * UIProcess/API/mac/WKView.mm: 2344 (-[WKView validateUserInterfaceItem:]): 2345 The title of the context menu item should be opposite of whether or not the spelling panel 2346 is visible. 2347 2348 * UIProcess/WebPageProxy.cpp: 2349 (WebKit::WebPageProxy::contextMenuItemSelected): 2350 If the "Show/Hide" Substitutions item is selected, call toggleSubstitutionsPanelIsShowing. 2351 (WebKit::WebPageProxy::substitutionsPanelIsShowing): 2352 Ask the TextChecker. 2353 * UIProcess/WebPageProxy.h: 2354 * UIProcess/WebPageProxy.messages.in: 2355 2356 * UIProcess/TextChecker.h: 2357 * UIProcess/mac/TextCheckerMac.mm: 2358 (WebKit::TextChecker::substitutionsPanelIsShowing): 2359 As the shared NSSpellChecker if the substitutionsPanel is visible. 2360 (WebKit::TextChecker::toggleSubstitutionsPanelIsShowing): 2361 Order the substitutionsPanel out or front (copied from WKView.mm). 2362 2363 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 2364 (WebKit::WebEditorClient::substitutionsPanelIsShowing): 2365 Send a sync message to the UI process to find out. 2366 It needs to be sync because the editor code relies on the value returned. 2367 2368 2011-04-08 Dan Bernstein <mitz (a] apple.com> 2369 2370 Reviewed by Adele Peterson. 2371 2372 Fixed a bug where right-to-left frames incorrectly reported that they were pinned to the left 2373 when they were actually not. 2374 2375 * WebProcess/WebPage/WebPage.cpp: 2376 (WebKit::WebPage::didChangeScrollOffsetForMainFrame): Do not assume that the minimum scroll offset 2377 is zero, because it is not. 2378 2379 2011-04-08 Anders Carlsson <andersca (a] apple.com> 2380 2381 Fix the Windows build. 2382 2383 * UIProcess/win/WebView.cpp: 2384 (WebKit::WebView::Drop): 2385 2386 2011-04-08 Jessie Berlin <jberlin (a] apple.com> 2387 2388 Reviewed by Anders Carlsson. 2389 2390 WebKit2: Implement TextChecker on Windows 2391 https://bugs.webkit.org/show_bug.cgi?id=57862 2392 2393 Part 5: Implement the code show and hide the Spelling UI via the context menu item (both 2394 Windows and Mac). 2395 2396 * UIProcess/API/C/win/WKTextChecker.h: 2397 Add the new WKTextCheckerClient funtions. 2398 2399 * UIProcess/API/mac/WKView.mm: 2400 (-[WKView validateUserInterfaceItem:]): 2401 The title of the context menu item should be opposite of whether or not the spelling panel 2402 is visible. 2403 2404 * UIProcess/WebPageProxy.cpp: 2405 (WebKit::WebPageProxy::contextMenuItemSelected): 2406 If the "Show/Hide Spelling and Grammar" item is selected, call toggleSpellingUIIsShowing. 2407 (WebKit::WebPageProxy::spellingUIIsShowing): 2408 Call through to TextChecker. 2409 * UIProcess/WebPageProxy.h: 2410 * UIProcess/WebPageProxy.messages.in: 2411 2412 * UIProcess/TextChecker.h: 2413 * UIProcess/win/TextCheckerWin.cpp: 2414 (WebKit::TextChecker::spellingUIIsShowing): 2415 Call the TextCheckerClient. 2416 (WebKit::TextChecker::toggleSpellingUIIsShowing): 2417 Ditto. 2418 * UIProcess/mac/TextCheckerMac.mm: 2419 (WebKit::TextChecker::spellingUIIsShowing): 2420 Ask the shared NSSpellChecker if the spellingPanel is visible. 2421 (WebKit::TextChecker::toggleSpellingUIIsShowing): 2422 Order the spellingPanel out or front (copied from WKView.mm). 2423 * UIProcess/qt/TextCheckerQt.cpp: 2424 (WebKit::TextChecker::spellingUIIsShowing): 2425 Call notImplemented. 2426 (WebKit::TextChecker::toggleSpellingUIIsShowing): 2427 Ditto. 2428 * UIProcess/gtk/TextCheckerGtk.cpp: 2429 (WebKit::TextChecker::spellingUIIsShowing): 2430 Ditto. 2431 (WebKit::TextChecker::toggleSpellingUIIsShowing): 2432 Ditto. 2433 2434 * UIProcess/win/WebTextCheckerClient.cpp: 2435 (WebKit::WebTextCheckerClient::spellingUIIsShowing): 2436 Call the client. 2437 (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing): 2438 Ditto. 2439 * UIProcess/win/WebTextCheckerClient.h: 2440 2441 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 2442 (WebKit::WebEditorClient::spellingUIIsShowing): 2443 Send a sync message to the UI process to find out. 2444 It needs to be sync because the Editor code relies on the value returned. 2445 2446 2011-04-08 Anders Carlsson <andersca (a] apple.com> 2447 2448 Reviewed by Dan Bernstein. 2449 2450 Sandboxing doesn't work if a local file is dropped on the content area 2451 https://bugs.webkit.org/show_bug.cgi?id=58177 2452 <rdar://problem/9019253> 2453 2454 When performing a drag and the dragging pasteboard contains a local file, create a 2455 sandbox extension and pass it along. If we end up loading the file, the sandbox extension 2456 tracker will consume the extension. 2457 2458 * UIProcess/API/mac/WKView.mm: 2459 (maybeCreateSandboxExtensionFromPasteboard): 2460 Add helper function. 2461 2462 (-[WKView performDragOperation:]): 2463 Create a sandbox extension handle and pass it to performDrag. 2464 2465 * UIProcess/WebPageProxy.cpp: 2466 (WebKit::WebPageProxy::dragEntered): 2467 (WebKit::WebPageProxy::dragUpdated): 2468 (WebKit::WebPageProxy::dragExited): 2469 Pass an empty sandbox extension handle to performDragControllerAction. 2470 2471 (WebKit::WebPageProxy::performDrag): 2472 Pass the sandbox extension handle along to performDragControllerAction. 2473 2474 (WebKit::WebPageProxy::performDragControllerAction): 2475 Send along the sandbox extension handle. 2476 2477 * WebProcess/WebCoreSupport/WebDragClient.cpp: 2478 (WebKit::WebDragClient::willPerformDragDestinationAction): 2479 If the destination action is a load action, call WebPage::willPerformLoadDragDestinationAction. 2480 2481 * WebProcess/WebPage/WebPage.cpp: 2482 (WebKit::WebPage::performDragControllerAction): 2483 Create a sandbox extension. 2484 2485 (WebKit::WebPage::willPerformLoadDragDestinationAction): 2486 If we have a sandbox extension, pass it along to the sandbox extension tracker. 2487 2488 (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction): 2489 Call setPendingProvisionalSandboxExtension. 2490 2491 (WebKit::WebPage::SandboxExtensionTracker::beginLoad): 2492 Call setPendingProvisionalSandboxExtension. 2493 2494 (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension): 2495 Factor code from beginLoad out into a separate function. 2496 2497 * WebProcess/WebPage/WebPage.messages.in: 2498 PerformDragControllerAction now takes a sandbox extension handle. 2499 2500 2011-04-08 Alice Liu <alice.liu (a] apple.com> 2501 2502 Reviewed by Adam Roben. 2503 2504 https://bugs.webkit.org/show_bug.cgi?id=58151 2505 Crash after closing a Webview, in WebKit!WebCore::WindowMessageBroadcaster::SubclassedWndProc 2506 2507 * UIProcess/win/WebView.cpp: 2508 (WebKit::WebView::close): 2509 Resolve a difference between old WebKit WebView and WebKit2 WebView by destroying and clearing 2510 out WebKit2 WebView's HWND when closing. Not doing so was causing the WebView to remain in the 2511 list of WindowMessageBroadcaster listeners, and after closing the WebView, WindowMessageBroadcaster 2512 would message a dead WebView and crash. 2513 2514 2011-04-08 Anders Carlsson <andersca (a] apple.com> 2515 2516 Reviewed by Adam Roben. 2517 2518 Make the drag operations be different functions 2519 https://bugs.webkit.org/show_bug.cgi?id=58169 2520 2521 Since we want performDrag to take a sandbox extension, separate the four 2522 drag operations out into different functions. No functionality change. 2523 2524 * UIProcess/API/mac/WKView.mm: 2525 (-[WKView draggingEntered:]): 2526 (-[WKView draggingUpdated:]): 2527 (-[WKView draggingExited:]): 2528 (-[WKView performDragOperation:]): 2529 * UIProcess/WebPageProxy.cpp: 2530 (WebKit::WebPageProxy::dragEntered): 2531 (WebKit::WebPageProxy::dragUpdated): 2532 (WebKit::WebPageProxy::dragExited): 2533 (WebKit::WebPageProxy::performDrag): 2534 * UIProcess/WebPageProxy.h: 2535 * UIProcess/win/WebView.cpp: 2536 (WebKit::WebView::DragEnter): 2537 (WebKit::WebView::DragOver): 2538 (WebKit::WebView::DragLeave): 2539 (WebKit::WebView::Drop): 2540 2541 2011-04-08 Anders Carlsson <andersca (a] apple.com> 2542 2543 Reviewed by Adam Roben. 2544 2545 Parse 'DispatchOnConnectionQueue' in messages.in files 2546 https://bugs.webkit.org/show_bug.cgi?id=58168 2547 2548 Handle parsing multiple, space-separated attributes in .messages.in files. Keep track of 2549 'DispatchOnConnectionQueue' and rename 'delayed' to 'Delayed'. 2550 2551 * Scripts/webkit2/messages.py: 2552 * Scripts/webkit2/messages_unittest.py: 2553 2554 2011-04-08 Alpha Lam <hclam (a] chromium.org> 2555 2556 Unreviewed, rolling out r83335. 2557 http://trac.webkit.org/changeset/83335 2558 https://bugs.webkit.org/show_bug.cgi?id=53556 2559 2560 GTK and QT bots are broken 2561 2562 * Configurations/FeatureDefines.xcconfig: 2563 2564 2011-04-07 Anna Cavender <annacc (a] chromium.org> 2565 2566 Reviewed by Eric Carlson. 2567 2568 Setup ENABLE(TRACK) feature define 2569 https://bugs.webkit.org/show_bug.cgi?id=53556 2570 2571 * Configurations/FeatureDefines.xcconfig: 2572 2573 2011-04-07 Alexey Proskuryakov <ap (a] apple.com> 2574 2575 Reviewed by Darin Alder. 2576 2577 REGRESSION (WebKit2): AppKit thinks that web views don't support DocumentAccess 2578 https://bugs.webkit.org/show_bug.cgi?id=58102 2579 <rdar://problem/9223246> 2580 2581 * UIProcess/API/mac/WKView.h: 2582 * UIProcess/API/mac/WKView.mm: 2583 (-[WKView doCommandBySelector:]): 2584 (-[WKView insertText:replacementRange:]): 2585 (-[WKView validAttributesForMarkedText]): 2586 (-[WKView setMarkedText:selectedRange:replacementRange:]): 2587 (-[WKView attributedSubstringForProposedRange:actualRange:]): 2588 (-[WKView firstRectForCharacterRange:actualRange:]): 2589 Switch to NSTextInputClient, opting out of optimizations and optional features for now. 2590 2591 2011-04-08 Siddharth Mathur <siddharth.mathur (a] nokia.com> 2592 2593 Reviewed by Martin Robinson. 2594 2595 [Qt][WK2][Symbian] Remove use of stack arrays with variable size 2596 https://bugs.webkit.org/show_bug.cgi?id=57877 2597 2598 For better compiler portability, use new/delete for arrays when size 2599 isn't known at compile time. Also fix one compiler warning about bitshift 2600 operations on signed integer 2601 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2602 (CoreIPC::Connection::readyReadHandler): 2603 (CoreIPC::Connection::sendOutgoingMessage): 2604 2605 2011-04-08 Martin Robinson <mrobinson (a] igalia.com> 2606 2607 Reviewed by Xan Lopez. 2608 2609 [GTK] Fix the WebKit2 build for older versions of GTK+ 2610 https://bugs.webkit.org/show_bug.cgi?id=58095 2611 2612 * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Include the GtkVersioning.h header. 2613 2614 2011-04-07 Balazs Kelemen <kbalazs (a] webkit.org> 2615 2616 Reviewed by Kenneth Rohde Christiansen. 2617 2618 [WK2][Qt][GTK] Introduce common use flag for the shared UNIX domain socket IPC implementation 2619 https://bugs.webkit.org/show_bug.cgi?id=58030 2620 2621 Replace "PLATFORM(QT) || PLATFORM(GTK)" conditions in IPC code with 2622 USE(UNIX_DOMAIN_SOCKETS). 2623 2624 * Platform/CoreIPC/Attachment.h: 2625 * Platform/CoreIPC/Connection.h: 2626 * Platform/SharedMemory.h: 2627 2628 2011-04-07 Anders Carlsson <andersca (a] apple.com> 2629 2630 Reviewed by Simon Fraser. 2631 2632 Clicks not recognized on http://www.nibblestutorials.net/ which uses Silverlight 2633 https://bugs.webkit.org/show_bug.cgi?id=58108 2634 <rdar://problem/9167611> 2635 2636 Change platformHandleMouseEvent to return true, which means that the plug-in has handled the 2637 event. Some plug-ins (like Silverlight) will return false from NPP_HandleEvent even though the 2638 event has been handled. In this case it lead to a very subtle bug where the plug-in element would 2639 lose focus right after a mouse down even had been sent. 2640 2641 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 2642 (WebKit::NetscapePlugin::platformHandleMouseEvent): 2643 2644 2011-04-07 Adam Roben <aroben (a] apple.com> 2645 2646 Pass NPP_SetWindow a null window handle during plugin destruction on non-Mac platforms 2647 2648 This matches WebKit1. 2649 2650 Fixes <http://webkit.org/b/47009> WebKit2 needs to call NPP_SetWindow when destroying a 2651 plugin 2652 2653 Reviewed by Anders Carlsson. 2654 2655 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 2656 (WebKit::NetscapePlugin::destroy): Null out our NPWindow's window handle and pass it to 2657 NPP_SetWindow (unless we're on Mac). 2658 2659 2011-04-08 Jamie Cooley <james.cooley (a] nokia.com> 2660 2661 Reviewed by Benjamin Poulain. 2662 2663 [Qt][WK2] Make sure qwkhistory.h is copied into includes/WebKit2 2664 https://bugs.webkit.org/show_bug.cgi?id=57945 2665 2666 * UIProcess/API/qt/WKView.h: 2667 * UIProcess/API/qt/qwkhistory.h: 2668 2669 2011-04-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 2670 2671 Reviewed by Martin Robinson. 2672 2673 [GTK] Do not destroy WorkQueue event sources unless they have been cancelled 2674 https://bugs.webkit.org/show_bug.cgi?id=57611 2675 2676 * Platform/WorkQueue.h: 2677 * Platform/gtk/WorkQueueGtk.cpp: 2678 (WorkQueue::EventSource::EventSource): Remove unused member 2679 m_dispatchSource. 2680 (WorkQueue::EventSource::executeEventSource): Make it return void 2681 instead of boolean since we are always ignoring the return value. 2682 (WorkQueue::EventSource::performWork): Return FALSE from the 2683 callback only when the source has been cancelled (condition = 0) 2684 to make sure it's destroyed when the even source handler is 2685 unregistered. 2686 (WorkQueue::registerEventSourceHandler): Use GRefPtr for the 2687 source, to avoid leaking it. 2688 (WorkQueue::scheduleWorkOnSource): Receive the source callback as 2689 parameter so that it can be used by scheduleWorkOnTermination() too. 2690 (WorkQueue::scheduleWork): 2691 (WorkQueue::scheduleWorkAfterDelay): 2692 (WorkQueue::scheduleWorkOnTermination): Use 2693 scheduleWorkOnSource(). 2694 2695 2011-04-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 2696 2697 Reviewed by Martin Robinson. 2698 2699 [GTK] Close connection when web process finishes 2700 https://bugs.webkit.org/show_bug.cgi?id=57540 2701 2702 * Platform/CoreIPC/Connection.h: 2703 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2704 * Platform/PlatformProcessIdentifier.h: Use GPid as process 2705 identifier. 2706 * Platform/WorkQueue.h: 2707 * Platform/gtk/WorkQueueGtk.cpp: 2708 (WorkQueue::EventSource::EventSource): Add cancellable parameter. 2709 (WorkQueue::EventSource::cancel): New method to cancel the source. 2710 (WorkQueue::EventSource::performWorkOnTermination): New method to 2711 execute a work item called when child process has finished. 2712 (WorkQueue::registerEventSourceHandler): Create a GCancellable for 2713 the socket source. 2714 (WorkQueue::unregisterEventSourceHandler): Cancel the source 2715 instead of destroying it, this will cause the source to trigger 2716 with condition = 0, which makes the callback return FALSE and the 2717 source is destroyed. 2718 (WorkQueue::scheduleWorkOnSource): Pass NULL as cancellable for 2719 idle and timeout sources. 2720 (WorkQueue::scheduleWorkOnTermination): Create a child watch 2721 source to monitor the child process. 2722 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 2723 (WebKit::ProcessLauncher::launchProcess): Use GPid instead of int 2724 as process identifier. 2725 * UIProcess/WebProcessProxy.cpp: 2726 (WebKit::WebProcessProxy::didFinishLaunching): Call 2727 WorkQueue::scheduleWorkOnTermination() for GTK platform too when 2728 web process has been launched. 2729 2730 2011-04-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 2731 2732 Reviewed by Martin Robinson. 2733 2734 [GTK] Implement scheduleWorkAfterDelay() in WorkQueueGtk 2735 https://bugs.webkit.org/show_bug.cgi?id=57434 2736 2737 * Platform/WorkQueue.h: 2738 * Platform/gtk/WorkQueueGtk.cpp: 2739 (WorkQueue::EventSource::executeEventSource): This new method 2740 contains the common code to execute a work item. 2741 (WorkQueue::EventSource::performWorkOnce): Use 2742 executeEventSource() to execute the work item. 2743 (WorkQueue::EventSource::performWork): Use executeEventSource() to 2744 execute the work item. 2745 (WorkQueue::registerEventSourceHandler): Use a GSocket instead of 2746 a GIOChannel since the API is newer and allows us to pass a 2747 cancellable object to be able to cancel the source. 2748 (WorkQueue::scheduleWorkOnSource): This new method contains the 2749 common code to attach a source to a context. It doesn't use a lock 2750 anymore, since g_source_attach() uses its own mutex internally. 2751 (WorkQueue::scheduleWork): Use an idle source instead of a timeout 2752 one, changing the priority to G_PRIORITY_DEFAULT. 2753 (WorkQueue::scheduleWorkAfterDelay): Implement it using a timeout 2754 source with the given delay. 2755 2756 2011-04-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 2757 2758 Reviewed by Martin Robinson. 2759 2760 [GTK] Use glib API instead of fork + execl in ProcessLauncherGtk 2761 https://bugs.webkit.org/show_bug.cgi?id=57234 2762 2763 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 2764 (WebKit::childSetupFunction): close the socket and use prctl() 2765 when platform is Linux to kill the child process when the parent 2766 finishes. 2767 (WebKit::ProcessLauncher::launchProcess): Use g_spawn_async() to 2768 launch the web process. 2769 2770 2011-04-07 Geoffrey Garen <ggaren (a] apple.com> 2771 2772 Some Handle<T> cleanup 2773 https://bugs.webkit.org/show_bug.cgi?id=58109 2774 2775 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 2776 (WebKit::NPJSObject::NPJSObject): Updated for new null constructor. 2777 2778 2011-04-07 Jessie Berlin <jberlin (a] apple.com> 2779 2780 Max build fix. 2781 2782 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 2783 (WebKit::WebEditorClient::checkSpellingOfString): 2784 Do not risk an overflow. 2785 (WebKit::WebEditorClient::checkGrammarOfString): 2786 Ditto. 2787 2788 2011-04-07 Jessie Berlin <jberlin (a] apple.com> 2789 2790 Reviewed by Brian Weinstein. 2791 2792 WebKit2: Implement TextChecker on Windows 2793 https://bugs.webkit.org/show_bug.cgi?id=57862 2794 2795 Part 4: Implement checkGrammarOfString. 2796 2797 * Scripts/webkit2/messages.py: 2798 The generated files should include TextCheckerClient.h for WebCore::GrammarDetail. 2799 2800 * Shared/API/c/win/WKBaseWin.h: 2801 * Shared/APIObject.h: 2802 * UIProcess/API/C/win/WKAPICastWin.h: 2803 2804 * UIProcess/API/C/win/WKGrammarDetail.cpp: Added. 2805 (WKGrammarDetailGetTypeID): 2806 (WKGrammarDetailCreate): 2807 * UIProcess/API/C/win/WKGrammarDetail.h: Added. 2808 2809 * UIProcess/API/C/win/WKTextChecker.h: 2810 Add the checkGrammarOfString WKTextCheckerClient function. 2811 2812 * UIProcess/WebPageProxy.cpp: 2813 (WebKit::WebPageProxy::checkGrammarOfString): 2814 * UIProcess/WebPageProxy.h: 2815 * UIProcess/WebPageProxy.messages.in: 2816 2817 * UIProcess/TextChecker.h: 2818 * UIProcess/win/TextCheckerWin.cpp: 2819 (WebKit::TextChecker::checkGrammarOfString): 2820 Call the TextCheckerClient. 2821 * UIProcess/mac/TextCheckerMac.mm: 2822 (WebKit::TextChecker::checkSpellingOfString): 2823 Add a comment about this not being used on Mac. 2824 (WebKit::TextChecker::checkGrammarOfString): 2825 Ditto, and call notImplemented. 2826 * UIProcess/gtk/TextCheckerGtk.cpp: 2827 (WebKit::TextChecker::checkGrammarOfString): 2828 Call notImplemented. 2829 * UIProcess/qt/TextCheckerQt.cpp: 2830 (WebKit::TextChecker::checkGrammarOfString): 2831 Ditto. 2832 2833 * UIProcess/win/WebGrammarDetail.cpp: Added. 2834 (WebKit::WebGrammarDetail::create): 2835 (WebKit::WebGrammarDetail::WebGrammarDetail): 2836 Initialize the underlying WebCore::GrammarDetail. 2837 * UIProcess/win/WebGrammarDetail.h: Added. 2838 (WebKit::WebGrammarDetail::grammarDetail): 2839 (WebKit::WebGrammarDetail::type): 2840 2841 * UIProcess/win/WebTextCheckerClient.cpp: 2842 (WebKit::WebTextCheckerClient::checkGrammarOfString): 2843 Populate the Vector of WebCore::GrammarDetails with the WebGrammarDetails. 2844 * UIProcess/win/WebTextCheckerClient.h: 2845 2846 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 2847 (WebKit::WebEditorClient::checkSpellingOfString): 2848 Use WTF::notFound as the initial value for resultLocation. 2849 (WebKit::WebEditorClient::checkGrammarOfString): 2850 Send a sync message to the UI Process (similar to checkSpellingOfString and checkTextOfParagraph). 2851 2852 * win/WebKit2.vcproj: 2853 Add WKGrammarDetail.h/.cpp and WebGrammarDetail.h/.cpp. 2854 * win/WebKit2Generated.make: 2855 Copy over WKGrammarDetail.h. 2856 2857 2011-04-07 Enrica Casucci <enrica (a] apple.com> 2858 2859 Reviewed by Oliver Hunt. 2860 2861 REGRESSION(WebKit2): execCommand('undo') doesn't work (Windows). 2862 https://bugs.webkit.org/show_bug.cgi?id=58056 2863 <rdar://problem/8862023> 2864 2865 Adding support for execCommand('undo') and execCommand('redo') 2866 in WebKit2 for Windows. 2867 2868 * UIProcess/API/C/win/WKView.h: 2869 * UIProcess/win/WebUndoClient.cpp: 2870 (WebKit::WebUndoClient::canUndoRedo): 2871 (WebKit::WebUndoClient::executeUndoRedo): 2872 * UIProcess/win/WebUndoClient.h: 2873 * UIProcess/win/WebView.cpp: 2874 (WebKit::WebView::canUndoRedo): 2875 (WebKit::WebView::executeUndoRedo): 2876 2877 2011-04-07 Andrew Scherkus <scherkus (a] chromium.org> 2878 2879 Revert ENABLE_TRACK patch due to compile failures. 2880 2881 * Configurations/FeatureDefines.xcconfig: 2882 2883 2011-04-07 Martin Robinson <mrobinson (a] igalia.com> 2884 2885 Fix the WebKit2 GTK+ build for older versions of GTK+. 2886 2887 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Include the GtkVersioning.h header. 2888 2889 2011-04-07 Amruth Raj <amruthraj (a] motorola.com> and Martin Robinson <mrobinson (a] igalia.com> 2890 2891 Reviewed by Kenneth Rohde Christiansen. 2892 2893 [GTK] Implement SharedMemory for WebKit2 2894 https://bugs.webkit.org/show_bug.cgi?id=49791 2895 2896 Share the SharedMemory, Attachment and Connection implementations with the Qt port. 2897 Both implementation are, in fact, general Unix implementations using standard Unix 2898 domain sockets and sendmsg / recvmsg. This should reduce the amount of duplicated code 2899 greatly and lay the groundwork for GTK+/Qt implementations for other operating systems. 2900 2901 * GNUmakefile.am: Replaced GTK+ versions of files with the Unix ones. 2902 * Platform/CoreIPC/ArgumentDecoder.cpp: Extended Qt #ifdefs to include GTK. 2903 (CoreIPC::ArgumentDecoder::~ArgumentDecoder): 2904 * Platform/CoreIPC/ArgumentEncoder.cpp: Ditto. 2905 (CoreIPC::ArgumentEncoder::~ArgumentEncoder): 2906 * Platform/CoreIPC/Attachment.h: Ditto. 2907 * Platform/CoreIPC/Connection.h: Combined the GTK+ and Qt sections. 2908 * Platform/CoreIPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/AttachmentQt.cpp. 2909 * Platform/CoreIPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp. 2910 * Platform/unix/SharedMemoryUnix.cpp: Renamed from Source/WebKit2/Platform/qt/SharedMemoryQt.cpp. 2911 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 2912 (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM instead of SOCK_STREAM to match Qt. 2913 * WebKit2.pro: Updated source list to reflect file renaming. 2914 2915 2011-04-07 Alexey Proskuryakov <ap (a] apple.com> 2916 2917 Reviewed by Brian Weinstein. 2918 2919 REGRESSION (r83081): Use of deallocated memory in WebEditorClient::respondToChangedSelection() 2920 https://bugs.webkit.org/show_bug.cgi?id=58082 2921 2922 * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::respondToChangedSelection): 2923 Now that the Range is used outside the full expression where it's created, it needs to be 2924 protected with RefPtr. 2925 2926 2011-04-07 Mark Rowe <mrowe (a] apple.com> 2927 2928 Reviewed by Dan Bernstein. 2929 2930 <rdar://problem/9251566> WebBackForwardList::createCFDictionaryRepresentation's current item index 2931 doesn't account for items removed by filter callback. 2932 2933 * UIProcess/cf/WebBackForwardListCF.cpp: 2934 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the current item index 2935 when we omit an item due to the filter callback. 2936 2937 2011-04-07 Alexey Proskuryakov <ap (a] apple.com> 2938 2939 Reviewed by Anders Carlsson. 2940 2941 REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri 2942 https://bugs.webkit.org/show_bug.cgi?id=58066 2943 <rdar://problem/8965302> 2944 2945 * Scripts/webkit2/messages.py: 2946 * Shared/mac/AttributedString.h: Added. 2947 * Shared/mac/AttributedString.mm: Added. 2948 (WebKit::AttributedString::encode): 2949 (WebKit::AttributedString::decode): 2950 Added an class that wraps NSAttributedString. As far as I can tell, one can't pass a CF 2951 or NS object to another process without wrapping it in a C++ one. 2952 2953 * Shared/mac/ArgumentCodersMac.h: Added. 2954 * Shared/mac/ArgumentCodersMac.mm: Added. 2955 Added coders for Foundation objects, similar to ArgumentCodersCF. There are two reasons why 2956 these are needed: 2957 1) Even though most Foundation objects are toll free bridged with CF, CFGetTypeID() doesn't 2958 work properly for them (I've been just getting 1). 2959 2) NSColor isn't toll free bridged to CF. 2960 This adds just the types necessary for editing NSAttributedString (and I don't yet know what 2961 happens with attachments). 2962 2963 * UIProcess/API/mac/WKView.mm: (-[WKView attributedSubstringFromRange:]): 2964 * UIProcess/WebPageProxy.h: 2965 * UIProcess/mac/WebPageProxyMac.mm: 2966 (WebKit::WebPageProxy::getAttributedSubstringFromRange): 2967 * WebKit2.xcodeproj/project.pbxproj: 2968 * WebProcess/WebPage/WebPage.h: 2969 * WebProcess/WebPage/WebPage.messages.in: 2970 Boilerplate code for making a sync call to web process. 2971 2972 * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getAttributedSubstringFromRange): 2973 Ported from WebHTMLView. 2974 2975 2011-04-07 Jeff Miller <jeffm (a] apple.com> 2976 2977 Mac build fix. 2978 2979 * Shared/WebString.h: 2980 (WebKit::WebString::getCharacters): Add explict cast when using std::min(). 2981 2982 2011-04-07 Jeff Miller <jeffm (a] apple.com> 2983 2984 Reviewed by Adam Roben. 2985 2986 Replace WKStringGetCharactersPtr() with WKStringGetCharacters() 2987 https://bugs.webkit.org/show_bug.cgi?id=58058 2988 2989 WKStringGetCharactersPtr() exposes the internal implementation of WKString, so change this to WKStringGetCharacters(), which makes a UTF-16 copy. 2990 2991 * Shared/API/c/WKString.cpp: 2992 (WKStringGetCharacters): Added, replaces WKStringGetCharactersPtr(). 2993 * Shared/API/c/WKString.h: Replaced WKStringGetCharactersPtr() with WKStringGetCharacters(). 2994 * Shared/WebString.h: 2995 (WebKit::WebString::getCharacters): Added. 2996 2997 2011-04-07 Brian Weinstein <bweinstein (a] apple.com> 2998 2999 Reviewed by Adam Roben. 3000 3001 WebKit2: Support window bounce when panning. 3002 https://bugs.webkit.org/show_bug.cgi?id=58065 3003 <rdar://problem/9244367> 3004 3005 Make gestureDidScroll synchronous, as once we scroll, we need to know 3006 whether or not we are at the beginning or end of the scrollable document. 3007 3008 If we are at either end of the scrollable document, we call the Windows 7 3009 API to bounce the window to give an indication that you are past an end 3010 of the document. 3011 3012 * UIProcess/WebPageProxy.cpp: 3013 (WebKit::WebPageProxy::gestureDidScroll): Pass a boolean for the reply, and return it. 3014 * UIProcess/WebPageProxy.h: 3015 * UIProcess/win/WebView.cpp: 3016 (WebKit::WebView::WebView): Inititalize a new variable. 3017 (WebKit::WebView::onGesture): Once we send the message to scroll, check if have gone to 3018 an end of the document, and if we have, bounce the window. 3019 * UIProcess/win/WebView.h: 3020 * WebProcess/WebPage/WebPage.h: 3021 * WebProcess/WebPage/WebPage.messages.in: GestureDidScroll is now sync. 3022 * WebProcess/WebPage/win/WebPageWin.cpp: 3023 (WebKit::WebPage::gestureDidScroll): When we are done scrolling, check if we have a vertical 3024 scrollbar and if we are at the beginning or the end of the scrollable document. 3025 3026 2011-04-07 Chang Shu <cshu (a] webkit.org> 3027 3028 Reviewed by Darin Adler. 3029 3030 WebKitTestRunner needs layoutTestController.isPageBoxVisible 3031 https://bugs.webkit.org/show_bug.cgi?id=42695 3032 3033 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 3034 (WKBundleIsPageBoxVisible): 3035 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 3036 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3037 (WebKit::InjectedBundle::isPageBoxVisible): 3038 * WebProcess/InjectedBundle/InjectedBundle.h: 3039 3040 2011-04-07 Enrica Casucci <enrica (a] apple.com> 3041 3042 Reviewed by Oliver Hunt. 3043 3044 REGRESSION(WebKit2): execCommand('undo') doesn't work (Mac). 3045 https://bugs.webkit.org/show_bug.cgi?id=58055 3046 <rdar://problem/8862023> 3047 3048 Adding support for execCommand('undo') and execCommand('redo') 3049 in WebKit2 for Mac. 3050 3051 * UIProcess/API/mac/PageClientImpl.h: 3052 * UIProcess/API/mac/PageClientImpl.mm: 3053 (WebKit::PageClientImpl::canUndoRedo): Added interaction with undomanager. 3054 (WebKit::PageClientImpl::executeUndoRedo): Added interaction with undomanager. 3055 3056 Added new empty PageClient methods for other platforms. 3057 * UIProcess/API/qt/qwkpage.cpp: 3058 (QWKPagePrivate::canUndoRedo): 3059 (QWKPagePrivate::executeUndoRedo): 3060 * UIProcess/API/qt/qwkpage_p.h: 3061 * UIProcess/PageClient.h: 3062 * UIProcess/gtk/WebView.cpp: 3063 (WebKit::WebView::canUndoRedo): 3064 (WebKit::WebView::executeUndoRedo): 3065 * UIProcess/gtk/WebView.h: 3066 * UIProcess/win/WebView.cpp: 3067 (WebKit::WebView::canUndoRedo): 3068 (WebKit::WebView::executeUndoRedo): 3069 * UIProcess/win/WebView.h: 3070 3071 * UIProcess/WebEditCommandProxy.cpp: 3072 (WebKit::WebEditCommandProxy::unapply): Added flag to allow dispatching 3073 of asychronous messages while waiting for a sync message reply. 3074 (WebKit::WebEditCommandProxy::reapply): Same as above. 3075 * UIProcess/WebPageProxy.cpp: 3076 (WebKit::WebPageProxy::canUndoRedo): 3077 (WebKit::WebPageProxy::executeUndoRedo): 3078 * UIProcess/WebPageProxy.h: 3079 * UIProcess/WebPageProxy.messages.in: 3080 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added missing implementation. 3081 (WebKit::WebEditorClient::canUndo): 3082 (WebKit::WebEditorClient::canRedo): 3083 (WebKit::WebEditorClient::undo): 3084 (WebKit::WebEditorClient::redo): 3085 3086 2011-04-07 Brady Eidson <beidson (a] apple.com> 3087 3088 Reviewed by Maciej Stachowiak. 3089 3090 <rdar://problem/9250368> and https://bugs.webkit.org/show_bug.cgi?id=58062 3091 3092 * UIProcess/API/C/WKIconDatabase.cpp: 3093 (WKIconDatabaseClose): 3094 * UIProcess/API/C/WKIconDatabase.h: 3095 3096 * UIProcess/WebIconDatabase.cpp: 3097 (WebKit::WebIconDatabase::close): 3098 * UIProcess/WebIconDatabase.h: 3099 3100 2011-04-07 Jessie Berlin <jberlin (a] apple.com> 3101 3102 Reviewed by Adam Roben. 3103 3104 WebKit2: Implement TextChecker on Windows 3105 https://bugs.webkit.org/show_bug.cgi?id=57862 3106 3107 Part 3: Implement checkSpellingOfString 3108 3109 In WebCore, checkTextOfParagraph is only defined and used on platforms where 3110 WTF_USE_UNIFIED_TEXT_CHECKING is defined (which right now is only non-Leopard and non-Tiger 3111 Mac builds). 3112 3113 On other platforms, checkSpellingOfString and checkGrammarOfString (coming in a separate 3114 patch in an attempt to keep things easier to review) are used. 3115 3116 * UIProcess/API/C/win/WKTextChecker.h: 3117 * UIProcess/TextChecker.h: 3118 Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add 3119 checkSpellingOfString. 3120 3121 * UIProcess/WebPageProxy.cpp: 3122 (WebKit::WebPageProxy::checkTextOfParagraph): 3123 Surround this by #if USE(UNIFIED_TEXT_CHECKING). 3124 (WebKit::WebPageProxy::checkSpellingOfString): 3125 Call through to the client. 3126 * UIProcess/WebPageProxy.h: 3127 * UIProcess/WebPageProxy.messages.in: 3128 Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add 3129 checkSpellingOfString. 3130 3131 * UIProcess/win/TextCheckerWin.cpp: 3132 (WebKit::TextChecker::checkSpellingOfString): 3133 Call through to the WebTextCheckerClient. 3134 * UIProcess/mac/TextCheckerMac.mm: 3135 (WebKit::TextChecker::checkTextOfParagraph): 3136 Surround this by #if USE(UNIFIED_TEXT_CHECKING) for clarity. 3137 (WebKit::TextChecker::checkSpellingOfString): 3138 Add a call to notImplemented. 3139 * UIProcess/qt/TextCheckerQt.cpp: 3140 (WebKit::TextChecker::checkSpellingOfString): 3141 Ditto, and remove the implementation for checkTextOfParagraph. 3142 * UIProcess/gtk/TextCheckerGtk.cpp: 3143 (WebKit::TextChecker::checkSpellingOfString): 3144 Ditto. 3145 3146 * UIProcess/win/WebTextCheckerClient.cpp: 3147 (WebKit::WebTextCheckerClient::checkSpellingOfString): 3148 * UIProcess/win/WebTextCheckerClient.h: 3149 3150 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3151 (WebKit::WebEditorClient::checkSpellingOfString): 3152 Send a sync message to the UI Process (similar to the sync message used for 3153 checkTextOfParagraph). 3154 3155 2011-04-07 Siddharth Mathur <siddharth.mathur (a] nokia.com> 3156 3157 Reviewed by Laszlo Gombos. 3158 3159 [Qt][WK2][Symbian] Temporary build fix until native Symbian IPC is done. Implement fake socketpair() as it's not available. 3160 https://bugs.webkit.org/show_bug.cgi?id=57877 3161 3162 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 3163 (WebKit::socketpair): socketpair() which returns -1 3164 3165 2011-04-07 Michael Saboff <msaboff (a] apple.com> 3166 3167 Reviewed by Maciej Stachowiak. 3168 3169 WebKit2: Memory leak in decodeResourceError 3170 https://bugs.webkit.org/show_bug.cgi?id=58004 3171 3172 Release the local NSError after it is used to create a ResourceError 3173 object assigned to the reference argument. 3174 3175 * Shared/mac/WebCoreArgumentCodersMac.mm: 3176 (CoreIPC::decodeResourceError): 3177 3178 2011-04-07 Maciej Stachowiak <mjs (a] apple.com> 3179 3180 Reviewed by Adam Barth. 3181 3182 Remove temporary WebProcess sandbox rules that are unnecessary now that plugins are in their own process 3183 https://bugs.webkit.org/show_bug.cgi?id=58023 3184 3185 * WebProcess/com.apple.WebProcess.sb: 3186 3187 2011-04-07 Maciej Stachowiak <mjs (a] apple.com> 3188 3189 Reviewed by Dan Bernstein. 3190 3191 Remove some no longer needed WebProcess sandbox allowances 3192 https://bugs.webkit.org/show_bug.cgi?id=58015 3193 <rdar://problem/9232592> 3194 3195 * WebProcess/com.apple.WebProcess.sb: Remove no-longer needed extra network 3196 and launching privileges, since the bugs that required them are fixed. 3197 3198 2011-04-06 Chang Shu <cshu (a] webkit.org> 3199 3200 Reviewed by Darin Adler. 3201 3202 WebKitTestRunner needs layoutTestController.pageSizeAndMarginsInPixels 3203 https://bugs.webkit.org/show_bug.cgi?id=57984 3204 3205 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 3206 (WKBundlePageSizeAndMarginsInPixels): 3207 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 3208 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3209 (WebKit::InjectedBundle::pageSizeAndMarginsInPixels): 3210 * WebProcess/InjectedBundle/InjectedBundle.h: 3211 3212 2011-04-06 Siddharth Mathur <siddharth.mathur (a] nokia.com> 3213 3214 Reviewed by Benjamin Poulain. 3215 3216 [Qt][WK2][Symbian] Remove use of stack arrays with variable size 3217 https://bugs.webkit.org/show_bug.cgi?id=57877 3218 3219 For better compiler portability, use new/delete for arrays when size 3220 isn't known at compile time. Also fix one compiler warning about bitshift 3221 operations on signed integers. 3222 * Platform/CoreIPC/qt/ConnectionQt.cpp: 3223 (CoreIPC::Connection::readyReadHandler): 3224 (CoreIPC::Connection::sendOutgoingMessage): 3225 3226 2011-04-06 Brian Weinstein <bweinstein (a] apple.com> 3227 3228 Reviewed by Adam Roben. 3229 3230 WebKit2: Support Windows 7 Gestures 3231 https://bugs.webkit.org/show_bug.cgi?id=49824 3232 <rdar://problem/8689728> 3233 3234 Port code from WebKit1 -> WebKit2 to handle Windows 7 gestures. 3235 3236 The UIProcess gets a WM_GESTURENOTIFY message, it sends a sync message to the WebProcess to ask 3237 if we should allow panning. The WebProcess checks if we're in a scrollable area, and the mouse 3238 isn't over a scrollbar. 3239 3240 The UIProcess then gets a WM_GESTURE message, and if it is a pan gesture, it sends a message to 3241 the WebProcess to scroll by the amount fingers have moved since the last WM_GESTURE messeage. The 3242 X and Y are reversed because panning up -> moving the page down, and vice versa. 3243 3244 * UIProcess/WebPageProxy.cpp: 3245 (WebKit::WebPageProxy::gestureWillBegin): Send a sync message to the WebProcess 3246 to initialize the gesture. The WebProcess returns whether or not we can start a pan 3247 gesture from where we are. 3248 (WebKit::WebPageProxy::gestureDidScroll): Send a message to the WebProcess to scroll by 3249 pan gesture. 3250 (WebKit::WebPageProxy::gestureDidEnd): Send a message to the WebProcess that the gesture has ended. 3251 * UIProcess/WebPageProxy.h: 3252 * UIProcess/win/WebView.cpp: 3253 (WebKit::WebView::wndProc): Add WM_GESTURE and WM_GESTURENOTIFY handlers. 3254 (WebKit::WebView::WebView): Initialize two new variables. 3255 (WebKit::WebView::onGestureNotify): Figure out which gestures we should support based on where 3256 the gesture is beginning. 3257 (WebKit::WebView::onGesture): Support starting a gesture, ending a gesture, and panning. 3258 * UIProcess/win/WebView.h: 3259 * WebProcess/WebPage/WebPage.h: 3260 * WebProcess/WebPage/WebPage.messages.in: Add messages needed for gestures. 3261 * WebProcess/WebPage/win/WebPageWin.cpp: 3262 (WebKit::WebPage::gestureWillBegin): Set the node that the gesture started on (so we 3263 know which layer to scroll if the user pans), and determine whether or not we should allow 3264 panning. If the page can't scroll, or the user is on a scrollbar, disallow panning. 3265 (WebKit::WebPage::gestureDidScroll): Scroll the enclosing layer of the element the gesture 3266 started on. 3267 (WebKit::WebPage::gestureDidEnd): Clear the node the gesture started on. 3268 3269 2011-04-06 Jeff Miller <jeffm (a] apple.com> 3270 3271 Reviewed by Adam Roben. 3272 3273 Add WKStringGetCharactersPtr() and WKStringGetLength() to WebKit2 C API 3274 https://bugs.webkit.org/show_bug.cgi?id=57989 3275 3276 Note that WKChar, which is returned by WKStringGetCharactersPtr(), is defined the same way we define JSChar in JSStringRef.h. 3277 3278 * Shared/API/c/WKString.cpp: 3279 (WKStringGetLength): Added. 3280 (WKStringGetCharactersPtr): Added. 3281 * Shared/API/c/WKString.h: Define WKChar and added WKStringGetLength() and WKStringGetCharactersPtr(). 3282 * Shared/WebString.h: 3283 (WebKit::WebString::length): Added. 3284 (WebKit::WebString::characters): Added. 3285 3286 2011-04-06 Anders Carlsson <andersca (a] apple.com> 3287 3288 Reviewed by Oliver Hunt. 3289 3290 Dock stays in front of Hulu.com full screen video output 3291 https://bugs.webkit.org/show_bug.cgi?id=57988 3292 <rdar://problem/9216260> 3293 3294 Instead of using -[NSMenu setMenuBarVisible:] to toggle full screen, use 3295 -[NSApp setPresentationOptions:]. Also, make the UI process the front most app before 3296 setting the presentation options when exiting full screen, otherwise the dock won't 3297 be restored correctly. 3298 3299 * PluginProcess/mac/PluginProcessShim.mm: 3300 Remove some shim functions that aren't needed. 3301 3302 * UIProcess/Plugins/PluginProcessProxy.cpp: 3303 (WebKit::PluginProcessProxy::PluginProcessProxy): 3304 Initialize m_preFullscreenAppPresentationOptions. 3305 3306 * UIProcess/Plugins/PluginProcessProxy.h: 3307 Add m_preFullscreenAppPresentationOptions. 3308 3309 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 3310 (WebKit::PluginProcessProxy::enterFullscreen): 3311 Change the presentation options for the app. 3312 3313 (WebKit::PluginProcessProxy::exitFullscreen): 3314 Restore the presentation options. 3315 3316 2011-04-06 Mark Rowe <mrowe (a] apple.com> 3317 3318 Reviewed by Darin Adler. 3319 3320 Expose the original URL of a WKBackForwardListItem. 3321 3322 Needed for <rdar://problem/9074651>. 3323 3324 * UIProcess/API/C/WKBackForwardListItem.cpp: 3325 (WKBackForwardListItemCopyOriginalURL): 3326 * UIProcess/API/C/WKBackForwardListItem.h: 3327 3328 2011-04-06 Brady Eidson <beidson (a] apple.com> 3329 3330 Reviewed by Anders Carlsson. 3331 3332 https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973 3333 WK2 icon database should be able to get a CGImage of a specific size 3334 3335 * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: 3336 (WKIconDatabaseTryGetCGImageForURL): Change this API to take a requested size, and find the first matching 3337 CGImage in the icon. 3338 * UIProcess/API/C/cg/WKIconDatabaseCG.h: 3339 3340 2011-04-06 Jessie Berlin <jberlin (a] apple.com> 3341 3342 Reviewed by Anders Carlsson. 3343 3344 WebKit2: Implement TextChecker on Windows 3345 https://bugs.webkit.org/show_bug.cgi?id=57862 3346 3347 Part 2: Implement uniqueSpellDocumentTag and closeSpellDocumentWithTag. 3348 3349 * UIProcess/API/C/win/WKTextChecker.h: 3350 * UIProcess/win/TextCheckerWin.cpp: 3351 (WebKit::TextChecker::uniqueSpellDocumentTag): 3352 (WebKit::TextChecker::closeSpellDocumentWithTag): 3353 * UIProcess/win/WebTextCheckerClient.cpp: 3354 (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag): 3355 (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag): 3356 * UIProcess/win/WebTextCheckerClient.h: 3357 3358 2011-04-06 Robert Sesek <rsesek (a] chromium.org> 3359 3360 Reviewed by Alexey Proskuryakov. 3361 3362 Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too 3363 https://bugs.webkit.org/show_bug.cgi?id=54969 3364 3365 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3366 (WebKit::WebEditorClient::respondToChangedSelection): Moved duplicated code to WebCore 3367 * WebProcess/WebPage/mac/WebPageMac.mm: Moved duplicated code to WebCore 3368 (WebKit::WebPage::getMarkedRange): 3369 (WebKit::WebPage::getSelectedRange): 3370 (WebKit::WebPage::characterIndexForPoint): 3371 (WebKit::WebPage::performDictionaryLookupAtLocation): 3372 3373 2011-04-06 Chang Shu <cshu (a] webkit.org> 3374 3375 Reviewed by Darin Adler. 3376 3377 WebKitTestRunner needs layoutTestController.pageNumberForElementById 3378 https://bugs.webkit.org/show_bug.cgi?id=42329 3379 3380 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 3381 (WKBundlePageNumberForElementById): 3382 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 3383 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3384 (WebKit::InjectedBundle::pageNumberForElementById): 3385 * WebProcess/InjectedBundle/InjectedBundle.h: 3386 3387 2011-04-05 Enrica Casucci <enrica (a] apple.com> 3388 3389 Reviewed by Darin Adler. 3390 3391 REGRESSION: Drag & Drop Gmail Attachments doesn't work. 3392 https://bugs.webkit.org/show_bug.cgi?id=57909 3393 <rdar://problem/9103220> 3394 3395 Added _hitTest method to support drag and drop when the drag types cannot be matched. 3396 This is the case for elements that do not place content 3397 in the drag pasteboard automatically when the drag start (i.e. dragging a DIV element). 3398 3399 * UIProcess/API/mac/WKView.mm: 3400 (-[WKView _hitTest:dragTypes:]): Added. 3401 3402 2011-04-06 Csaba Osztrogonc <ossy (a] webkit.org> 3403 3404 Reviewed by Darin Adler. 3405 3406 Fix using UNUSED_PARAM introduced in r82907 3407 https://bugs.webkit.org/show_bug.cgi?id=57940 3408 3409 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 3410 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 3411 3412 2011-04-06 Jessie Berlin <jberlin (a] apple.com> 3413 3414 Reviewed by Anders Carlsson. 3415 3416 WebKit2: Implement TextChecker on Windows 3417 https://bugs.webkit.org/show_bug.cgi?id=57862 3418 3419 Part 1: Get and set the state. 3420 3421 * Shared/API/c/win/WKBaseWin.h: 3422 * Shared/APIObject.h: 3423 * UIProcess/API/C/win/WKAPICastWin.h: 3424 3425 * UIProcess/API/C/win/WKTextChecker.cpp: Added. 3426 (WKTextCheckerSetClient): 3427 (WKTextCheckerContinuousSpellCheckingEnabledStateChanged): 3428 (WKTextCheckerGrammarCheckingEnabledStateChanged): 3429 * UIProcess/API/C/win/WKTextChecker.h: Added. 3430 3431 * UIProcess/TextChecker.h: 3432 * UIProcess/win/TextCheckerWin.cpp: 3433 (WebKit::TextChecker::state): 3434 Do the initalization for the state only once so that it is not necessary to call the client 3435 every time the state is requested. 3436 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 3437 Call the client. 3438 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 3439 Update the state and tell the client. 3440 (WebKit::TextChecker::setGrammarCheckingEnabled): 3441 Ditto. 3442 (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged): 3443 Update the state. 3444 (WebKit::TextChecker::grammarCheckingEnabledStateChanged): 3445 Update the state. 3446 3447 * UIProcess/win/WebTextChecker.cpp: Added. 3448 (WebKit::WebTextChecker::shared): 3449 Make the WebTextChecker available globally. 3450 (WebKit::WebTextChecker::WebTextChecker): 3451 (WebKit::WebTextChecker::setClient): 3452 (WebKit::updateStateForAllWebProcesses): 3453 (WebKit::WebTextChecker::continuousSpellCheckingEnabledStateChanged): 3454 Tell the TextChecker that the state has changed, and then tell the 3455 WebProcessProxies to send the new state to the WebProcesses. 3456 (WebKit::WebTextChecker::grammarCheckingEnabledStateChanged): 3457 Ditto. 3458 * UIProcess/win/WebTextChecker.h: Added. 3459 (WebKit::WebTextChecker::client): 3460 (WebKit::WebTextChecker::type): 3461 3462 * UIProcess/win/WebTextCheckerClient.cpp: Added. 3463 (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed): 3464 (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled): 3465 (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled): 3466 (WebKit::WebTextCheckerClient::grammarCheckingEnabled): 3467 (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled): 3468 * UIProcess/win/WebTextCheckerClient.h: Added. 3469 3470 * win/WebKit2.vcproj: 3471 Add WKTextChecker.h/.cpp, WebTextChecker.h/.cpp, and WebTextCheckerClient.h/.cpp. 3472 * win/WebKit2Generated.make: 3473 Copy over WKTextChecker.h. 3474 3475 2011-04-05 Chang Shu <cshu (a] webkit.org> 3476 3477 Reviewed by Darin Adler. 3478 3479 WebKitTestRunner needs layoutTestController.numberOfPages 3480 https://bugs.webkit.org/show_bug.cgi?id=42694 3481 3482 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 3483 (WKBundleNumberOfPages): 3484 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 3485 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3486 (WebKit::InjectedBundle::numberOfPages): 3487 * WebProcess/InjectedBundle/InjectedBundle.h: 3488 3489 2011-04-05 Darin Adler <darin (a] apple.com> 3490 3491 Reviewed by Alexey Proskuryakov. 3492 3493 [Mac] WebKit2: Escape key does not stop page loads when focus is on the web page 3494 https://bugs.webkit.org/show_bug.cgi?id=57893 3495 <rdar://problem/9130486> 3496 3497 * UIProcess/API/mac/PageClientImpl.h: Added executeSavedCommandBySelector. 3498 * UIProcess/API/mac/PageClientImpl.mm: Renamed internal Objective-C classes to use 3499 the WebKit2 Objective-C class prefix, WK, rather than the WebKit1 Objective-C class 3500 prefix, Web. Removed some unneeded explicit WebKit namespace prefixes. 3501 (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Removed unneeded WebKit 3502 namespace prefix. 3503 (-[WKEditCommandObjC command]): Ditto. 3504 (-[WKEditorUndoTargetObjC undoEditing:]): Updated for new class name. 3505 (-[WKEditorUndoTargetObjC redoEditing:]): Ditto. 3506 (WebKit::PageClientImpl::PageClientImpl): Ditto. 3507 (WebKit::PageClientImpl::registerEditCommand): Ditto. 3508 (WebKit::PageClientImpl::executeSavedCommandBySelector): Added. 3509 3510 * UIProcess/API/mac/WKView.mm: Renamed internal Objective-C categories to use the 3511 WebKit2 Objective-C prefix, WK, rather than the WebKit1 Objective-C prefix, Web, 3512 or no prefix at all. Tweaked use of extern "C" a little. 3513 (-[WKView doCommandBySelector:]): Tweaked the comment. 3514 (-[WKView _executeSavedCommandBySelector:]): Added. For use when command is not handled 3515 by WebCore. 3516 (-[WKResponderChainSink initWithResponderChain:]): Added. Based on the 3517 WebResponderChainSink class in WebKit1. 3518 (-[WKResponderChainSink detach]): Added. 3519 (-[WKResponderChainSink didReceiveUnhandledCommand]): Added. 3520 (-[WKResponderChainSink noResponderFor:]): Added. 3521 (-[WKResponderChainSink doCommandBySelector:]): Added. 3522 (-[WKResponderChainSink tryToPerform:with:]): Added. 3523 3524 * UIProcess/API/mac/WKViewInternal.h: Added declaration of _executeSavedCommandBySelector: 3525 method. Also removed unneeded includes. 3526 3527 * UIProcess/PageClient.h: Added executeSavedCommandBySelector. 3528 * UIProcess/WebPageProxy.h: Added executeSavedCommandBySelector. 3529 * UIProcess/WebPageProxy.messages.in: Added ExecuteSavedCommandBySelector. 3530 3531 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Updated includes. 3532 3533 * UIProcess/mac/WebPageProxyMac.mm: 3534 (WebKit::WebPageProxy::executeSavedCommandBySelector): Added. 3535 3536 * WebProcess/WebPage/mac/WebPageMac.mm: 3537 (WebKit::WebPage::executeKeypressCommandsInternal): Send the synchronous 3538 ExecuteSavedCommandBySelector message when a command is not handled by WebCore. 3539 3540 2011-04-05 Anders Carlsson <andersca (a] apple.com> 3541 3542 Reviewed by Alexey Proskuryakov. 3543 3544 Some plug-in content is displayed upside down in Unity plug-in 3545 https://bugs.webkit.org/show_bug.cgi?id=57895 3546 <rdar://problem/9212003> 3547 3548 Create the flipped geometry layer in the web process instead of the plug-in process, 3549 which matches what we do in WebKit1. 3550 3551 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 3552 (WebKit::NetscapePlugin::platformPostInitialize): 3553 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 3554 (WebKit::PluginProxy::pluginLayer): 3555 3556 2011-04-05 Anders Carlsson <andersca (a] apple.com> 3557 3558 Reviewed by Darin Adler. 3559 3560 Assertion failure when navigating quickly between file URLs 3561 https://bugs.webkit.org/show_bug.cgi?id=57884 3562 <rdar://problem/9080559> 3563 3564 Remove bogus assertion. The pending provisional sandbox extension can be 3565 non-null if the current provisional load fails because we're about to load a new 3566 page that also has a sandbox extension. 3567 3568 * WebProcess/WebPage/WebPage.cpp: 3569 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): 3570 3571 2011-04-05 Anders Carlsson <andersca (a] apple.com> 3572 3573 Reviewed by Adam Roben. 3574 3575 Grant the web process access to ~/Library/Preferences/com.apple.universalaccess.plist 3576 https://bugs.webkit.org/show_bug.cgi?id=57879 3577 3578 The web process needs access to the unviersal access preferences to determine if full keyboard 3579 access is enabled. I've filed <rdar://problem/9237619> which tracks reading this preference in the UI 3580 process and sending it over to the web process whenever it changes. 3581 3582 * WebProcess/com.apple.WebProcess.sb: 3583 3584 2011-04-05 Dean Jackson <dino (a] apple.com> 3585 3586 Reviewed by Simon Fraser. 3587 3588 Add parentheses around && within || to avoid clang warning. 3589 3590 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3591 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): 3592 3593 2011-04-05 Anders Carlsson <andersca (a] apple.com> 3594 3595 Reviewed by Adam Roben. 3596 3597 Add two more entries to the sandbox profile 3598 https://bugs.webkit.org/show_bug.cgi?id=57875 3599 3600 Allow read-access to /Library/Dictionaries since WebCore::nextBreakablePosition 3601 ends up calling into ICU which accesses the dictionary. 3602 3603 Allow Mach access to com.apple.networkd since it's used by CFNetwork. 3604 3605 * WebProcess/com.apple.WebProcess.sb: 3606 3607 2011-04-05 Anders Carlsson <andersca (a] apple.com> 3608 3609 Reviewed by Oliver Hunt. 3610 3611 Invalidate callbacks if the WebPageProxy is no longer valid 3612 https://bugs.webkit.org/show_bug.cgi?id=57873 3613 <rdar://problem/9059717> 3614 3615 Audit all function calls that take callbacks and make sure to invalidate the callbacks 3616 if the web page is no longer valid. 3617 3618 * UIProcess/WebPageProxy.cpp: 3619 (WebKit::WebPageProxy::runJavaScriptInMainFrame): 3620 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): 3621 (WebKit::WebPageProxy::getSourceForFrame): 3622 (WebKit::WebPageProxy::getContentsAsString): 3623 (WebKit::WebPageProxy::getSelectionOrContentsAsString): 3624 (WebKit::WebPageProxy::getMainResourceDataOfFrame): 3625 (WebKit::WebPageProxy::getResourceDataFromFrame): 3626 (WebKit::WebPageProxy::getWebArchiveOfFrame): 3627 (WebKit::WebPageProxy::forceRepaint): 3628 (WebKit::WebPageProxy::computePagesForPrinting): 3629 (WebKit::WebPageProxy::drawRectToPDF): 3630 (WebKit::WebPageProxy::drawPagesToPDF): 3631 3632 2011-04-05 Adam Roben <aroben (a] apple.com> 3633 3634 Disable accelerated compositing on Windows machines that don't support it 3635 3636 This includes machines without the necessary graphics hardware, and machines without 3637 WebKitQuartzCoreAdditions (like the Windows 7 Release (WebKit2 Tests) bots). 3638 3639 Fixes <http://webkit.org/b/57870> REGRESSION (r82960): Lots of tests crashing in 3640 DrawingAreaImpl::enterAcceleratedCompositingMode on Windows 7 Release (WebKit2 Tests) 3641 3642 Reviewed by Anders Carlsson. 3643 3644 * WebProcess/WebPage/LayerTreeHost.h: 3645 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. On platforms other than 3646 Windows, this always returns true. 3647 3648 * WebProcess/WebPage/WebPage.cpp: 3649 (WebKit::WebPage::updatePreferences): Only enable accelerated compositing-related 3650 preferences if the machine supports accelerated compositing. 3651 3652 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 3653 (WebKit::LayerTreeHostCAWin::supportsAcceleratedCompositing): Added. Creates a view, asks it 3654 if it can draw, and returns the result. 3655 3656 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added supportsAcceleratedCompositing. 3657 3658 * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Added. 3659 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. Calls through to 3660 LayerTreeHostCAWin in configurations that support that class. Otherwise just returns false. 3661 3662 * win/WebKit2.vcproj: Added LayerTreeHostWin.cpp. Let VS reorder some other files. 3663 3664 2011-04-05 Adam Roben <aroben (a] apple.com> 3665 3666 Make accelerated compositing work in WebKit2 on Windows 3667 3668 LayerTreeHostCAWin uses WKCACFView to render each frame to an image, then has 3669 DrawingAreaImpl send that image over to the UI process (just like it does for 3670 non-accelerated rendering). It's unfortunate that this requires reading every frame back 3671 from the GPU into system memory. More efficient solutions can be explored in the future. 3672 3673 Fixes <http://webkit.org/b/45567>. 3674 3675 Reviewed by Anders Carlsson. 3676 3677 * DerivedSources.make: Added $(WebKit2) to the VPATH so that DerivedSources.make can be 3678 found when used as a target dependency. Added rules to generate a HeaderDetection.h file on 3679 Windows. If we can find WebKitQuartzCoreAdditions headers, we define HAVE_WKQCA in 3680 HeaderDetection.h. 3681 3682 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3683 (WebKit::DrawingAreaImpl::setLayerHostNeedsDisplay): 3684 * WebProcess/WebPage/DrawingAreaImpl.h: 3685 Added setLayerHostNeedsDisplay. Lets the layer host tell the DrawingAreaImpl that it has a 3686 new frame to render. This should only be called by layer hosts that participate in 3687 DrawingAreaImpl's display mechanism. 3688 3689 * WebProcess/WebPage/LayerTreeHost.cpp: 3690 (WebKit::LayerTreeHost::create): Only try to instantiate LayerTreeHostCAWin if we have 3691 WebKitQuartzCoreAdditions, since it depends on that library. 3692 3693 * WebProcess/WebPage/WebPage.cpp: 3694 (WebKit::WebPage::updatePreferences): Removed code that forced accelerated compositing to be 3695 disabled on Windows. 3696 3697 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 3698 (WebKit::registerDummyWindowClass): Registers the window class we use for the dummy window. 3699 (WebKit::createDummyWindow): Creates the dummy window we pass to WKCACFView so that D3D can 3700 determine the display mode, etc. (The window is never shown on screen.) 3701 (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): Initialize new members. 3702 (WebKit::LayerTreeHostCAWin::platformInitialize): Create our dummy window and view and 3703 associate the two. We set ourselves as the view's context's user data so that 3704 PlatformCALayer can get our AbstractCACFLayerTreeHost pointer as needed. 3705 (WebKit::LayerTreeHostCAWin::invalidate): Cancel any pending flushes, tear down our view, 3706 and destroy the dummy window if no other layer host is using it. 3707 (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): Ask LayerChangesFlusher to call us back 3708 soon to perform the flush. 3709 (WebKit::LayerTreeHostCAWin::participatesInDisplay): Added. Returns true, since we render 3710 each frame to an image. 3711 (WebKit::LayerTreeHostCAWin::needsDisplay): Added. Returns true if it's now time to 3712 displayReturns true if it's now time to display. 3713 (WebKit::LayerTreeHostCAWin::timeUntilNextDisplay): Added. Returns how many seconds remain 3714 before we need to display again. 3715 (WebKit::size): Added. Helper function to get the size of a WKCACFImage. 3716 (WebKit::toShareableBitmap): Added. Helper function to convert a WKCACFImage to a 3717 ShareableBitmap. 3718 (WebKit::LayerTreeHostCAWin::display): Added. Renders the next frame to an image and stuffs 3719 the image into the UpdateInfo struct. 3720 (WebKit::LayerTreeHostCAWin::sizeDidChange): Added. Tells the view about the new size. 3721 (WebKit::LayerTreeHostCAWin::forceRepaint): Added. Flushes any pending changes to the view. 3722 (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Added. WKCACFView calls this 3723 whenever any changes made to the view or its layer tree have been flushed. Just calls 3724 through to contextDidChange. 3725 (WebKit::LayerTreeHostCAWin::contextDidChange): Added. Tells layers that they've started 3726 animating, and tells the DrawingAreaImpl that we need to display again. 3727 (WebKit::LayerTreeHostCAWin::rootLayer): Added. Gets the root layer's PlatformCALayer. 3728 (WebKit::LayerTreeHostCAWin::addPendingAnimatedLayer): Added. Stores the layer so that we 3729 can tell it animations have started the next time we get a contextDidChange callback. 3730 (WebKit::LayerTreeHostCAWin::layerTreeDidChange): Added. Schedules a flush, unless we're 3731 already in the process of flushing. This code came from WebCore::WKCACFViewLayerTreeHost. 3732 (WebKit::LayerTreeHostCAWin::flushPendingLayerChangesNow): Added. Performs the flush. This 3733 code was adapted from WebCore::WKCACFViewLayerTreeHost. 3734 3735 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Wrapped this whole header in HAVE(WKQCA), 3736 since this class only works when WebKitQuartzCoreAdditions is available. Added a bunch of 3737 new members. 3738 3739 2011-04-04 Adam Roben <aroben (a] apple.com> 3740 3741 Add a way for LayerTreeHost to participate in DrawingAreaImpl's normal display mechanism 3742 3743 When LayerTreeHost participates in display, it renders each frame into a bitmap. 3744 DrawingAreaImpl sends the bitmap to the UI process in an Update message, just like in 3745 non-accelerated compositing mode. The UI process never knows that accelerated compositing is 3746 going on. (When LayerTreeHost does not participate in display, as on Mac, it is responsible 3747 for getting bits from the web process to the UI process.) 3748 3749 No LayerTreeHost uses this mechanism (yet). This patch should cause no change in behavior. 3750 3751 Fixes <http://webkit.org/b/57792> LayerTreeHost needs a way to render frames to a bitmap 3752 3753 Reviewed by Anders Carlsson. 3754 3755 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3756 (WebKit::DrawingAreaImpl::forceRepaint): If the layer tree host participates in display, 3757 perform a display (like in the non-accelerated case). 3758 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): Don't send an 3759 EnterAcceleratedCompositing message to the UI process if the layer tree host participates in 3760 display. In that case, the UI process doesn't even need to know we're using accelerated 3761 compositing in the web process. 3762 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Go through the normal display 3763 mechanism if we have a layer tree host that participates in display. 3764 (WebKit::DrawingAreaImpl::didUpdate): Don't ignore DidUpdate messages when we have a layer 3765 tree host that participates in display. 3766 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): If the new layer tree host 3767 participates in display, let the display timer continue to run and continue to expect 3768 DidUpdate messages so that we don't interrupt the normal display mechanism. We still clear 3769 out m_dirtyRegion, m_scrollRect, and m_scrollOffset, though, because the layer tree host is 3770 still responsible for keeping track of those things even when it participates in display. 3771 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): If the outgoing layer tree host 3772 was participating in display, just send another Update message instead of an 3773 ExitAcceleratedCompositing message, since the UI process never even knew we were using 3774 accelerated compositing. 3775 (WebKit::DrawingAreaImpl::displayTimerFired): If we have a layer tree host that's 3776 participating in display, ask it when it next needs to display when scheduling our timer. 3777 3778 (WebKit::DrawingAreaImpl::scheduleDisplay): 3779 (WebKit::DrawingAreaImpl::display): 3780 If we have a layer tree host that's participating in display, it will keep track of its own 3781 dirty region, so ask it if it needs display rather than checking our own dirty region. 3782 3783 (WebKit::DrawingAreaImpl::display): If we have a layer tree host that's participating in 3784 display, don't bail out. Instead, tell it to display rather than asking the page to paint. 3785 Moved the setting of updateInfo.viewSize earlier so that it will be set even when the layer 3786 tree host is displaying. Other changes are just due to indentation. 3787 3788 * WebProcess/WebPage/LayerTreeHost.h: 3789 (WebKit::LayerTreeHost::participatesInDisplay): 3790 (WebKit::LayerTreeHost::needsDisplay): 3791 (WebKit::LayerTreeHost::timeUntilNextDisplay): 3792 (WebKit::LayerTreeHost::display): 3793 Stubbed out these functions. Derived classes can override them to participate in display. 3794 3795 2011-04-04 MORITA Hajime <morrita (a] google.com> 3796 3797 Reviewed by Ryosuke Niwa. 3798 3799 [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult 3800 https://bugs.webkit.org/show_bug.cgi?id=56085 3801 3802 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3803 (WebKit::WebEditorClient::requestCheckingOfString): 3804 * WebProcess/WebCoreSupport/WebEditorClient.h: 3805 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 3806 (WebKit::WebEditorClient::checkTextOfParagraph): 3807 3808 2011-04-05 Alejandro G. Castro <alex (a] igalia.com> 3809 3810 Another compilation fix after r82929 horrible patch merge. 3811 3812 * UIProcess/WebPageProxy.messages.in: 3813 3814 2011-04-05 Alejandro G. Castro <alex (a] igalia.com> 3815 3816 Fix compilation error after r82929. 3817 3818 * WebProcess/WebPage/WebPage.h: 3819 3820 2011-04-05 Amruth Raj <amruthraj (a] motorola.com>, Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 3821 3822 Reviewed by Martin Robinson. 3823 3824 [GTK] Implement WebPage class for WebKit2 3825 https://bugs.webkit.org/show_bug.cgi?id=54230 3826 3827 Added functions to handle the generation of commands from the 3828 keycodes. 3829 3830 * GNUmakefile.am: 3831 * Scripts/webkit2/messages.py: 3832 * UIProcess/PageClient.h: 3833 * UIProcess/WebPageProxy.h: 3834 * UIProcess/WebPageProxy.messages.in: 3835 * UIProcess/gtk/WebPageProxyGtk.cpp: 3836 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): 3837 * UIProcess/gtk/WebView.cpp: 3838 (WebKit::backspaceCallback): 3839 (WebKit::selectAllCallback): 3840 (WebKit::cutClipboardCallback): 3841 (WebKit::copyClipboardCallback): 3842 (WebKit::pasteClipboardCallback): 3843 (WebKit::toggleOverwriteCallback): 3844 (WebKit::popupMenuCallback): 3845 (WebKit::showHelpCallback): 3846 (WebKit::deleteFromCursorCallback): 3847 (WebKit::moveCursorCallback): 3848 (WebKit::WebView::WebView): 3849 (WebKit::WebView::getEditorCommandsForKeyEvent): 3850 * UIProcess/gtk/WebView.h: 3851 (WebKit::WebView::addPendingEditorCommand): 3852 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3853 * WebProcess/WebCoreSupport/WebEditorClient.h: 3854 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Added. 3855 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): 3856 (WebKit::WebEditorClient::executePendingEditorCommands): 3857 (WebKit::WebEditorClient::handleKeyboardEvent): 3858 (WebKit::WebEditorClient::handleInputMethodKeydown): 3859 * WebProcess/WebPage/WebPage.cpp: 3860 * WebProcess/WebPage/WebPage.h: 3861 * WebProcess/WebPage/gtk/WebPageGtk.cpp: Added. 3862 (WebKit::WebPage::platformInitialize): 3863 (WebKit::WebPage::platformPreferencesDidChange): 3864 (WebKit::scroll): 3865 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 3866 (WebKit::WebPage::platformHasLocalDataForURL): 3867 (WebKit::WebPage::cachedResponseMIMETypeForURL): 3868 (WebKit::WebPage::platformCanHandleRequest): 3869 3870 2011-04-05 Csaba Osztrogonc <ossy (a] webkit.org> 3871 3872 Remove duplicate API from WKContext 3873 <rdar://problem/8727879> 3874 https://bugs.webkit.org/show_bug.cgi?id=57815 3875 3876 Unreviewed buildfix after r82906. 3877 3878 Add UNUSED_PARAM to resourceCachesToClear, because 3879 it is only used within #if USE(CFURLCACHE) guard. 3880 3881 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 3882 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 3883 3884 2011-04-04 Sam Weinig <sam (a] webkit.org> 3885 3886 Reviewed by Brian Weinstein. 3887 3888 Remove duplicate API from WKContext 3889 <rdar://problem/8727879> 3890 https://bugs.webkit.org/show_bug.cgi?id=57815 3891 3892 - Remove WKContextClearResourceCaches and WKContextClearApplicationCache in favor 3893 of their more modern counterparts WKResourceCacheManagerClearCacheForAllOrigins 3894 and WKApplicationCacheManagerDeleteAllEntries. 3895 3896 - Expand clearing functionality of WKResourceCacheManager by adding type of resources 3897 to clear. 3898 3899 * Shared/WebProcessCreationParameters.cpp: 3900 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 3901 (WebKit::WebProcessCreationParameters::encode): 3902 (WebKit::WebProcessCreationParameters::decode): 3903 * Shared/WebProcessCreationParameters.h: 3904 Remove clearing bools. 3905 3906 * UIProcess/API/C/WKAPICast.h: 3907 (WebKit::toResourceCachesToClear): 3908 Update for new name of enum. 3909 3910 * UIProcess/API/C/WKContext.cpp: 3911 * UIProcess/API/C/WKContext.h: 3912 Remove WKContextClearResourceCaches and WKContextClearApplicationCache. 3913 3914 * UIProcess/API/C/WKResourceCacheManager.cpp: 3915 (WKResourceCacheManagerClearCacheForOrigin): 3916 (WKResourceCacheManagerClearCacheForAllOrigins): 3917 * UIProcess/API/C/WKResourceCacheManager.h: 3918 Add WKResourceCachesToClear enum and use it in the clearing functions. 3919 3920 * UIProcess/WebContext.cpp: 3921 (WebKit::WebContext::WebContext): 3922 (WebKit::WebContext::ensureWebProcess): 3923 * UIProcess/WebContext.h: 3924 * WebProcess/WebProcess.messages.in: 3925 Remove clearing functions and setting of bools for clear on launch. 3926 3927 * UIProcess/WebFullScreenManagerProxy.cpp: 3928 Remove unnecessary #include. 3929 3930 * UIProcess/WebResourceCacheManagerProxy.cpp: 3931 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): 3932 (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): 3933 * UIProcess/WebResourceCacheManagerProxy.h: 3934 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 3935 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 3936 (WebKit::WebResourceCacheManager::clearCacheForAllOrigins): 3937 * WebProcess/ResourceCache/WebResourceCacheManager.h: 3938 * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: 3939 Add enum parameter describing what type of caches to clear. 3940 3941 * WebProcess/WebProcess.cpp: 3942 (WebKit::WebProcess::initializeWebProcess): 3943 (WebKit::WebProcess::clearResourceCaches): 3944 * WebProcess/WebProcess.h: 3945 No longer need to use opaque type now that it is not a message receiver. 3946 3947 2011-04-04 David Kilzer <ddkilzer (a] apple.com> 3948 3949 <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match 3950 3951 Reviewed by Alexey Proskuryakov. 3952 3953 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 3954 (InitWebCoreSystemInterface): Added initialization for 3955 wkSetHTTPPipeliningMaximumPriority(). 3956 3957 2011-04-04 Anders Carlsson <andersca (a] apple.com> 3958 3959 Reviewed by Darin Adler. 3960 3961 Send NPCocoaEventFlagsChanged events 3962 https://bugs.webkit.org/show_bug.cgi?id=57811 3963 <rdar://problem/9215600> 3964 3965 * Shared/WebEvent.h: 3966 (WebKit::WebEvent::capsLockKey): 3967 Add CapsLock modifier and getter. 3968 3969 * Shared/mac/WebEventFactory.mm: 3970 (WebKit::modifiersForEvent): 3971 Check for NSAlphaShiftKeyMask and set the CapsLockKey modifier. 3972 3973 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 3974 (WebKit::modifierFlags): 3975 Check for CapsLockKey and set NSAlphaShiftKeyMask. 3976 3977 (WebKit::isFlagsChangedEvent): 3978 Return whether a given event is a Cocoa flags changed event. 3979 3980 (WebKit::initializeKeyboardEvent): 3981 If this is a flags changed event, set the event type to NPCocoaEventFlagsChanged. 3982 3983 2011-04-04 Anders Carlsson <andersca (a] apple.com> 3984 3985 Reviewed by Darin Adler. 3986 3987 Don't discard the backing stores of WKViews in the key window 3988 https://bugs.webkit.org/show_bug.cgi?id=57808 3989 <rdar://problem/9110793> 3990 <rdar://problem/9194284> 3991 <rdar://problem/9222216> 3992 3993 * UIProcess/DrawingAreaProxy.h: 3994 (WebKit::DrawingAreaProxy::setBackingStoreIsDiscardable): 3995 Add empty stub. 3996 3997 * UIProcess/DrawingAreaProxyImpl.cpp: 3998 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 3999 Initialize m_isBackingStoreDiscardable to true. 4000 4001 (WebKit::DrawingAreaProxyImpl::setBackingStoreIsDiscardable): 4002 Set m_isBackingStoreDiscardable and schedule or stop the discard backing store timer. 4003 4004 (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): 4005 Don't start the timer if m_isBackingStoreDiscardable is false. 4006 4007 * UIProcess/DrawingAreaProxyImpl.h: 4008 Add m_isBackingStoreDiscardable. 4009 4010 * UIProcess/WebPageProxy.cpp: 4011 (WebKit::WebPageProxy::viewStateDidChange): 4012 Mark the backing store as discardable if the view is hidden or if the containing window 4013 is not active. 4014 4015 2011-04-04 Jade Han <jade.han (a] nokia.com> 4016 4017 Reviewed by Csaba Osztrogonc. 4018 4019 Symbian build fix. 4020 https://bugs.webkit.org/show_bug.cgi?id=54977 4021 4022 * config.h: 4023 4024 2011-04-04 Brady Eidson <beidson (a] apple.com> 4025 4026 Rubberstamped by Adam Roben. 4027 4028 Add WKIconDatabase* headers to the WebKit2 export for Windows: 4029 * win/WebKit2Generated.make: 4030 4031 2011-04-04 Anders Carlsson <andersca (a] apple.com> 4032 4033 Reviewed by Dan Bernstein. 4034 4035 Get rid of WebContext::process() in more places 4036 https://bugs.webkit.org/show_bug.cgi?id=57787 4037 4038 Migrate calls to WebContext::process() over to sendToAllProcesses and 4039 sendToAllProcessesRelaunchingThemIfNecessary. 4040 4041 Add FIXMEs for things that need to be fixed in order to support multiple web processes. 4042 4043 * UIProcess/Downloads/DownloadProxy.cpp: 4044 (WebKit::DownloadProxy::cancel): 4045 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 4046 (WebKit::WebPluginSiteDataManager::getSitesWithData): 4047 (WebKit::WebPluginSiteDataManager::clearSiteData): 4048 * UIProcess/VisitedLinkProvider.cpp: 4049 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): 4050 * UIProcess/WebApplicationCacheManagerProxy.cpp: 4051 (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): 4052 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): 4053 (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): 4054 * UIProcess/WebCookieManagerProxy.cpp: 4055 (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): 4056 (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): 4057 * UIProcess/WebDatabaseManagerProxy.cpp: 4058 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 4059 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 4060 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 4061 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 4062 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 4063 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 4064 * UIProcess/WebGeolocationManagerProxy.cpp: 4065 (WebKit::WebGeolocationManagerProxy::providerDidChangePosition): 4066 (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition): 4067 * UIProcess/WebIconDatabase.cpp: 4068 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): 4069 (WebKit::WebIconDatabase::didFinishURLImport): 4070 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 4071 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 4072 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 4073 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 4074 * UIProcess/WebMediaCacheManagerProxy.cpp: 4075 (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): 4076 (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): 4077 (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): 4078 * UIProcess/WebResourceCacheManagerProxy.cpp: 4079 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): 4080 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): 4081 (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): 4082 4083 2011-04-04 Alexey Proskuryakov <ap (a] apple.com> 4084 4085 Reviewed by Dan Bernstein. 4086 4087 REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2 4088 https://bugs.webkit.org/show_bug.cgi?id=51230 4089 <rdar://problem/8780989> 4090 4091 <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys 4092 4093 * UIProcess/API/mac/WKView.mm: 4094 (-[WKView flagsChanged:]): Ported from WebHTMLView. 4095 (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]): 4096 AppKit isn't happy about attempts to interpret NSFlagsChanged, but WK2 lacked the check. 4097 4098 2011-04-04 Steve Falkenburg <sfalken (a] apple.com> 4099 4100 Reviewed by Adam Roben. 4101 4102 Remove unused AnalyzeWithLargeStack code from Windows build files 4103 https://bugs.webkit.org/show_bug.cgi?id=57771 4104 4105 This was used for us to build with prefast automatically, 4106 but it is out-of-date and hasn't been used for some time. 4107 Removing completely for now. 4108 4109 * win/WebKitPreBuild.cmd: 4110 4111 2011-04-04 Anders Carlsson <andersca (a] apple.com> 4112 4113 Attempt to fix the Windows build. 4114 4115 * UIProcess/win/WebContextWin.cpp: 4116 (WebKit::WebContext::setShouldPaintNativeControls): 4117 4118 2011-04-04 Anders Carlsson <andersca (a] apple.com> 4119 4120 Reviewed by Adam Roben. 4121 4122 Make it easier to send a message to all processes in a context 4123 https://bugs.webkit.org/show_bug.cgi?id=57776 4124 4125 Add WebContext::sendToAllProcesses and WebContext::sendToAllProcessesRelaunchingThemIfNecessary 4126 as a first step towards getting rid of WebContext::process() and getting rid of a class of crashers 4127 where WebContext::process() is null. 4128 4129 * UIProcess/WebContext.cpp: 4130 (WebKit::WebContext::initializeHistoryClient): 4131 (WebKit::WebContext::languageChanged): 4132 (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): 4133 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 4134 (WebKit::WebContext::registerURLSchemeAsSecure): 4135 (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme): 4136 (WebKit::WebContext::setCacheModel): 4137 (WebKit::WebContext::setDefaultRequestTimeoutInterval): 4138 (WebKit::WebContext::clearResourceCaches): 4139 (WebKit::WebContext::clearApplicationCache): 4140 (WebKit::WebContext::setEnhancedAccessibility): 4141 (WebKit::WebContext::startMemorySampler): 4142 Use sendToAllProcesses. 4143 4144 (WebKit::WebContext::stopMemorySampler): 4145 Use sendToAllProcesses. This is a slight policy change where we now create a sandbox extension even 4146 if there's no process around. Since this is a debugging tool it seems OK to do this. 4147 4148 * UIProcess/WebContext.h: 4149 Get rid of hasValidProcess. 4150 4151 (WebKit::WebContext::sendToAllProcesses): 4152 If we have a process and we can send messages to it, then do so. 4153 4154 (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary): 4155 Relaunch the web process and send the message. 4156 4157 * UIProcess/WebCookieManagerProxy.cpp: 4158 (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): 4159 (WebKit::WebCookieManagerProxy::deleteAllCookies): 4160 (WebKit::WebCookieManagerProxy::startObservingCookieChanges): 4161 (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): 4162 (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): 4163 Use sendToAllProcesses and sendToAllProcessesRelaunchingThemIfNecessary. 4164 4165 2011-04-04 Adam Roben <aroben (a] apple.com> 4166 4167 Move a teensy bit of non-Mac-specific code up to LayerTreeHostCA 4168 4169 Fixes <http://webkit.org/b/57774> LayerTreeHostCA should know how to flip the root layer 4170 4171 Reviewed by Anders Carlsson. 4172 4173 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 4174 (WebKit::LayerTreeHostCA::initialize): Cross-platformized and moved some code here... 4175 4176 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 4177 (WebKit::LayerTreeHostCAMac::platformInitialize): ...from here. 4178 4179 2011-04-01 Enrica Casucci <enrica (a] apple.com> 4180 4181 Reviewed by Darin Adler. 4182 4183 WK2: Reproducible crash when dragging out of or over Safari window. 4184 https://bugs.webkit.org/show_bug.cgi?id=57654 4185 <rdar://problem/9139755> 4186 4187 AppKit does not retain the owner given to the pasteboard, therefore we 4188 need to give the ownership of the retained pointer to NSPasteboard. 4189 Also, dragImage will release the NSFilePromiseDragSource object, therefore 4190 we retain it before calling dragImage to be able to control its lifetime. 4191 4192 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 4193 (WebKit::WebDragClient::declareAndWriteDragImage): Passing ownership 4194 of the pointer to AppKit when providing the owner pointer to the NSPasteboard 4195 object. 4196 * WebProcess/WebPage/mac/WebPageMac.mm: 4197 (WebKit::WebPage::platformDragEnded): Retaining the NSFilePromiseDragSource 4198 since dragImage will release it. 4199 4200 2011-03-30 Jer Noble <jer.noble (a] apple.com> 4201 4202 Reviewed by Dan Bernstein. 4203 4204 WebKit2: No "open in preview" contextual menu item for PDFs 4205 https://bugs.webkit.org/show_bug.cgi?id=57527 4206 4207 Add support for opening a PDF in the associated application from the 4208 context menu. 4209 4210 * UIProcess/API/mac/PDFViewController.mm: 4211 (_applicationInfoForMIMEType): Added, copied from WebKit/WebPDFView.mm 4212 (-[WKPDFView _openWithFinder:]): Added. 4213 (-[WKPDFView hitTest:]): Added, copied from WebKit/WebPDFView.mm. 4214 (-[WKPDFView menuForEvent:]): Added, adapted from WebKit/WebPDFVie.mm. 4215 (-[WKPDFView validateUserInterfaceItem:]): Added. 4216 4217 2011-04-04 Chang Shu <cshu (a] webkit.org> 4218 4219 Reviewed by Darin Adler. 4220 4221 WebKitTestRunner needs layoutTestController.setAllowFileAccessFromFileURLs 4222 https://bugs.webkit.org/show_bug.cgi?id=57572 4223 4224 * Shared/WebPreferencesStore.cpp: 4225 (WebKit::WebPreferencesStore::decode): 4226 (WebKit::WebPreferencesStore::overrideAllowFileAccessFromFileURLsForTestRunner): 4227 * Shared/WebPreferencesStore.h: 4228 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4229 (WKBundleSetAllowFileAccessFromFileURLs): 4230 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4231 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4232 (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): 4233 * WebProcess/InjectedBundle/InjectedBundle.h: 4234 4235 2011-04-04 Brady Eidson <beidson (a] apple.com> 4236 4237 Reviewed by Darin Adler. 4238 4239 https://bugs.webkit.org/show_bug.cgi?id=57683 4240 Flesh out WK2 Icon Database API 4241 4242 For now the new API will add a client interface where the WK1 version used NSNotifications. 4243 4244 If we decide we'd like the granularity of specific callback functions later, 4245 they can easily be added on. 4246 4247 Project file nonsense: 4248 * GNUmakefile.am: 4249 * WebKit2.pro: 4250 * WebKit2.xcodeproj/project.pbxproj: 4251 * win/WebKit2.vcproj: 4252 4253 Add a WKIconDatabaseClient and some new API: 4254 * UIProcess/API/C/WKIconDatabase.cpp: 4255 (WKIconDatabaseSetIconDatabaseClient): 4256 (WKIconDatabaseRemoveAllIcons): 4257 (WKIconDatabaseCheckIntegrityBeforeOpening): 4258 * UIProcess/API/C/WKIconDatabase.h: 4259 * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: 4260 (WKIconDatabaseTryGetCGImageForURL): Renamed to "try" for subtle clarification. 4261 * UIProcess/API/C/cg/WKIconDatabaseCG.h: 4262 4263 Implementations for the new APIs: 4264 * UIProcess/WebIconDatabase.cpp: 4265 (WebKit::WebIconDatabase::retainIconForPageURL): Remove excessive logging. 4266 (WebKit::WebIconDatabase::releaseIconForPageURL): Ditto. 4267 (WebKit::WebIconDatabase::imageForPageURL): 4268 (WebKit::WebIconDatabase::removeAllIcons): 4269 (WebKit::WebIconDatabase::checkIntegrityBeforeOpening): 4270 (WebKit::WebIconDatabase::initializeIconDatabaseClient): 4271 (WebKit::WebIconDatabase::didImportIconURLForPageURL): Dispatch a client callback, 4272 much like the WK1 API uses notifications. 4273 (WebKit::WebIconDatabase::didImportIconDataForPageURL): Ditto. 4274 (WebKit::WebIconDatabase::didChangeIconForPageURL): Ditto. 4275 (WebKit::WebIconDatabase::didRemoveAllIcons): Ditto. 4276 * UIProcess/WebIconDatabase.h: 4277 * UIProcess/WebIconDatabaseClient.cpp: Added. 4278 (WebKit::WebIconDatabaseClient::didChangeIconForPageURL): 4279 (WebKit::WebIconDatabaseClient::didRemoveAllIcons): 4280 * UIProcess/WebIconDatabaseClient.h: Added. 4281 4282 2011-04-04 Carlos Garcia Campos <cgarcia (a] igalia.com> 4283 4284 Reviewed by Martin Robinson. 4285 4286 [GTK] Main loop sources are leaked in RunLoopGtk 4287 https://bugs.webkit.org/show_bug.cgi?id=57618 4288 4289 * Platform/RunLoop.h: 4290 (RunLoop::TimerBase::isRepeating): 4291 * Platform/gtk/RunLoopGtk.cpp: 4292 (RunLoop::~RunLoop): Make sure main loop is currently running 4293 before calling g_main_loop_quit(), RunLoop::stop() might have been 4294 called. 4295 (RunLoop::wakeUp): Use an idle source with default priority 4296 instead of a timeout one with a 0 interval. 4297 (RunLoop::TimerBase::clearTimerSource): New method to clear the 4298 timer. 4299 (RunLoop::TimerBase::destroyNotifyCallback): Destroy notify 4300 callback called when the source is destroyed to clear the timer. 4301 (RunLoop::TimerBase::timerFiredCallback): Use the same callback for 4302 repeating and no repeating timers. 4303 (RunLoop::TimerBase::start): g_source_attach() increments the 4304 source reference counter, so use GRefPtr to make sure the source 4305 is freed. 4306 (RunLoop::TimerBase::stop): Use clearTimerSource(). 4307 4308 2011-04-03 Dan Bernstein <mitz (a] apple.com> 4309 4310 Build fix. 4311 4312 * Shared/DictionaryPopupInfo.cpp: 4313 (WebKit::DictionaryPopupInfo::encode): 4314 (WebKit::DictionaryPopupInfo::decode): 4315 * Shared/DictionaryPopupInfo.h: 4316 4317 2011-04-03 Dan Bernstein <mitz (a] apple.com> 4318 4319 Reviewed by Maciej Stachowiak. 4320 4321 <rdar://problem/9227839> REGRESSION: Reproducible crash in Snow Leopard when trying to show the Dictionary panel or application 4322 https://bugs.webkit.org/show_bug.cgi?id=57739 4323 4324 * Shared/DictionaryPopupInfo.cpp: 4325 (WebKit::DictionaryPopupInfo::encode): Do not encode the options dictionary on Snow Leopard. 4326 (WebKit::DictionaryPopupInfo::decode): Do not decode the options dictionary on Snow Leopard. 4327 * Shared/DictionaryPopupInfo.h: Removed the options member variable on Snow Leopard. 4328 * Shared/Plugins/PluginQuirks.h: 4329 * WebProcess/WebPage/mac/WebPageMac.mm: 4330 (WebKit::WebPage::performDictionaryLookupForRange): Do not set the options member variable on 4331 Snow Leopard. 4332 4333 2011-04-02 Sam Weinig <sam (a] webkit.org> 4334 4335 Reviewed by Beth Dakin. 4336 4337 https://bugs.webkit.org/show_bug.cgi?id=57605 4338 Frame::pageScaleFactor() should not affect getBoundingClientRect() or 4339 getClientRects() 4340 -and corresponding- 4341 <rdar://problem/9194541> 4342 4343 Add DRT support for the scaleWebView SPI. 4344 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 4345 (WKBundlePageSetScaleAtOrigin): 4346 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 4347 4348 2011-04-02 Sam Weinig <sam (a] webkit.org> 4349 4350 Reviewed by Oliver Hunt. 4351 4352 "Search in Spotlight" broken in WebKit2 4353 https://bugs.webkit.org/show_bug.cgi?id=57712 4354 4355 Proxy spotlight searching to the UIProcess. 4356 4357 * UIProcess/WebPageProxy.messages.in: 4358 Add new message. Re-organize messages to put all mac specific ones together. 4359 4360 * UIProcess/WebPageProxy.h: 4361 * UIProcess/mac/WebPageProxyMac.mm: 4362 (WebKit::WebPageProxy::speak): 4363 (WebKit::WebPageProxy::searchWithSpotlight): 4364 Moved code to trigger spotlight here. Use WTF::String -> NSString conversion function 4365 instead of relying on the built in conversion since it doesn't always work in the UIProcess. 4366 4367 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 4368 (WebKit::WebContextMenuClient::searchWithSpotlight): 4369 Post message to the UIProcess to do the searching. 4370 4371 2011-04-02 Jeff Miller <jeffm (a] apple.com> 4372 4373 Reviewed by Dan Bernstein. 4374 4375 WebKit2: Specify the certificate store in WKBundleSetClientCertificate() 4376 https://bugs.webkit.org/show_bug.cgi?id=57707 4377 4378 Include the name of the system certificate store that the client certificate came from in WKBundleSetClientCertificate(). 4379 4380 The PCCERT_CONTEXT for the client certificate we create from the message from the UI process doesn't contain enough information to actually use it in a request, we need to get the real certificate from the certificate store (which is typically the "MY" store). 4381 4382 * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: 4383 (WKBundleSetClientCertificate): Add certificateSystemStoreName to parameters. 4384 * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Add certificateSystemStoreName to WKBundleSetClientCertificate() parameters. 4385 * WebProcess/InjectedBundle/InjectedBundle.h: Add certificateSystemStoreName to setClientCertificate() parameters. 4386 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 4387 (WebKit::InjectedBundle::setClientCertificate): Read the real certificate from the certificate store. 4388 4389 2011-04-02 Sam Weinig <sam (a] webkit.org> 4390 4391 Reviewed by Dan Bernstein. 4392 4393 Implement WKBundleFrameHasHorizontalScrollbar/WKBundleFrameHasVerticalScrollbar 4394 <rdar://problem/9225772> 4395 https://bugs.webkit.org/show_bug.cgi?id=57709 4396 4397 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 4398 (WKBundleFrameHasHorizontalScrollbar): 4399 (WKBundleFrameHasVerticalScrollbar): 4400 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 4401 * WebProcess/WebPage/WebFrame.cpp: 4402 (WebKit::WebFrame::hasHorizontalScrollbar): 4403 (WebKit::WebFrame::hasVerticalScrollbar): 4404 * WebProcess/WebPage/WebFrame.h: 4405 4406 2011-04-01 Jon Lee <jonlee (a] apple.com> 4407 4408 Reviewed by Darin Adler. 4409 4410 WebKit2: Type-to-select doesn't work in open <select> menu (53023) 4411 https://bugs.webkit.org/show_bug.cgi?id=53023 4412 <rdar://problem/8907678> 4413 4414 * UIProcess/WebPageProxy.h: 4415 * UIProcess/WebPageProxy.messages.in: adding new setPopupMenuSelectedIndex message for windows platform 4416 * UIProcess/win/WebPageProxyWin.cpp: 4417 (WebKit::WebPageProxy::setPopupMenuSelectedIndex): 4418 * UIProcess/win/WebPopupMenuProxyWin.h: moving setFocusedIndex() into public method 4419 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 4420 (WebKit::WebPopupMenu::updateFromElement): send message back to UIProcess to update the selected element 4421 4422 2011-04-01 Alexey Proskuryakov <ap (a] apple.com> 4423 4424 Reviewed by Darin Adler. 4425 4426 REGRESSION: Assertion failure when executing a complex custom key binding 4427 https://bugs.webkit.org/show_bug.cgi?id=57681 4428 4429 Also completes a fix for 4430 <rdar://problem/9063782> WebKit2: Text fields in Safari don't honor custom key bindings 4431 4432 * UIProcess/API/mac/WKView.mm: (-[WKView hasMarkedText]): There is no need to execute saved 4433 commands when they can't possibly change the result. 4434 4435 2011-04-01 Brian Weinstein <bweinstein (a] apple.com> 4436 4437 Reviewed by Anders Carlsson. 4438 4439 Crash when calling WebPageProxy::setMemoryCacheClientCallsEnabled with an invalid Web Process 4440 https://bugs.webkit.org/show_bug.cgi?id=57680 4441 <rdar://problem/9202909> 4442 4443 * UIProcess/WebPageProxy.cpp: 4444 (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Add an isValid check before sending 4445 the message. 4446 4447 2011-03-31 Jer Noble <jer.noble (a] apple.com> 4448 4449 Reviewed by Dan Bernstein. 4450 4451 WebKit2: Save as PDF in Safari provides Untitled as default file name 4452 https://bugs.webkit.org/show_bug.cgi?id=57529 4453 4454 Set the NSPrintOperation's jobTitle to the printing frame's title. 4455 4456 * UIProcess/API/mac/WKView.mm: 4457 (-[WKView printOperationWithPrintInfo:forFrame:]): 4458 4459 2011-04-01 Jer Noble <jer.noble (a] apple.com> 4460 4461 Reviewed by Darin Adler. 4462 4463 WebKit2: Link from PDF opens in a new tab instead of in the same tab 4464 https://bugs.webkit.org/show_bug.cgi?id=57528 4465 4466 Notify the WebProcess that a link has been clicked so that the normal policy 4467 lookup can occur. 4468 4469 * Shared/WebEvent.cpp: 4470 (WebKit::WebEvent::WebEvent): Initialize ivars in the default constructor. 4471 * Shared/WebEvent.h: Add WebEvent::NoType to Type enum. 4472 * Shared/WebMouseEvent.cpp: 4473 (WebKit::WebMouseEvent::WebMouseEvent): Ditto. 4474 * UIProcess/API/mac/PDFViewController.mm: 4475 (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate 4476 function and override the PDFView default behavior. 4477 * UIProcess/WebPageProxy.cpp: 4478 (WebKit::WebPageProxy::didReceiveEvent): Handle the new WebEvent::NoType enum. 4479 (WebKit::WebPageProxy::linkClicked): Added. Send event through to WebPage. 4480 * UIProcess/WebPageProxy.h: 4481 * WebProcess/WebPage/WebPage.cpp: 4482 (WebKit::WebPage::linkClicked): Added. Call loadFrameRequest(). 4483 * WebProcess/WebPage/WebPage.h: 4484 * WebProcess/WebPage/WebPage.messages.in: Added LinkClicked. 4485 4486 2011-04-01 Sam Weinig <sam (a] webkit.org> 4487 4488 Reviewed by Adam "Keyword Slasher" Roben. 4489 4490 Remove unnecessary static keyword. 4491 4492 * UIProcess/API/cpp/WKRetainPtr.h: 4493 (WebKit::adoptWK): 4494 4495 2011-04-01 Sam Weinig <sam (a] webkit.org> 4496 4497 Reviewed by Adam Roben. 4498 4499 Add adoptWK to WKRetainPtr.h 4500 https://bugs.webkit.org/show_bug.cgi?id=57670 4501 4502 * UIProcess/API/cpp/WKRetainPtr.h: 4503 (WebKit::adoptWK): 4504 Add shared implementation of adoptWK. Previously both WebKitTestRunner 4505 and TestWebKitAPI had separate versions of it. 4506 4507 2011-04-01 Anders Carlsson <andersca (a] apple.com> 4508 4509 Reviewed by Sam Weinig. 4510 4511 Shockwave plug-in doesn't accept mouse events 4512 https://bugs.webkit.org/show_bug.cgi?id=57653 4513 <rdar://problem/8483273> 4514 4515 Add a missing break. 4516 4517 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 4518 (WebKit::NetscapePlugin::convertPoint): 4519 4520 2011-04-01 Sam Weinig <sam (a] webkit.org> 4521 4522 Reviewed by Anders Carlsson. 4523 4524 WebKitTestRunner needs layoutTestController.shadowRoot 4525 https://bugs.webkit.org/show_bug.cgi?id=57661 4526 4527 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 4528 (WKBundleNodeHandleGetRenderRect): 4529 (WKBundleNodeHandleGetElementBounds): 4530 (WKBundleNodeHandleCopyElementShadowRoot): 4531 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 4532 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 4533 (WebKit::InjectedBundleNodeHandle::elementShadowRoot): 4534 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 4535 Add accessor for the shadowRoot of an element in the bundle. 4536 4537 2011-04-01 Alexey Proskuryakov <ap (a] apple.com> 4538 4539 Reviewed by Darin Adler. 4540 4541 Make WebKit2 text input handling more like WebKit1 4542 https://bugs.webkit.org/show_bug.cgi?id=57649 4543 4544 We now send more sync messages from UI process to Web process for NSTextInput protocol 4545 methods. Some of the exchanges are avoided by pre-calculating the responses before asking 4546 UI process to interpret key events, and also with each sync message sent during 4547 interpretation, and which could change the state. 4548 4549 * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a missing 4550 specialization for a function with 6 arguments and 2 returned values. 4551 4552 * Scripts/webkit2/messages.py: Added TextInputState to struct list. 4553 4554 * Shared/WebCoreArgumentCoders.h: Fixed a bug in CompositionUnderline encoding, which only 4555 encoded a part of Color field, and didn't match decoder. 4556 4557 * Shared/mac/TextInputState.h: Added. This is state that's needed for IM machinery and that 4558 we don't want to send sync messages for. This is similar to SelectionState, but the latter 4559 is only updated asynchronously, and is thus less reliable. 4560 4561 * UIProcess/API/mac/PageClientImpl.h: We don't "intercept", we "interpret". 4562 4563 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::interpretKeyEvent): Pass 4564 current text input state, and don't expect anything input method related in return, as input 4565 methods are now sync. 4566 4567 * UIProcess/API/mac/WKView.mm: 4568 (-[WKView doCommandBySelector:]): 4569 (-[WKView insertText:]): 4570 (-[WKView keyDown:]): 4571 (-[WKView _executeSavedKeypressCommands]): 4572 (-[WKView inputContext]): 4573 (-[WKView selectedRange]): 4574 (-[WKView hasMarkedText]): 4575 (-[WKView unmarkText]): 4576 (-[WKView setMarkedText:selectedRange:]): 4577 (-[WKView markedRange]): 4578 (-[WKView attributedSubstringFromRange:]): 4579 (-[WKView characterIndexForPoint:]): 4580 (-[WKView firstRectForCharacterRange:]): 4581 (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]): 4582 * UIProcess/API/mac/WKViewInternal.h: 4583 * UIProcess/PageClient.h: 4584 * UIProcess/WebPageProxy.h: 4585 * UIProcess/WebPageProxy.messages.in: 4586 * UIProcess/mac/WebPageProxyMac.mm: 4587 (WebKit::WebPageProxy::setComposition): 4588 (WebKit::WebPageProxy::confirmComposition): 4589 (WebKit::WebPageProxy::insertText): 4590 (WebKit::WebPageProxy::getSelectedRange): 4591 (WebKit::WebPageProxy::executeKeypressCommands): 4592 (WebKit::WebPageProxy::interpretQueuedKeyEvent): 4593 * WebKit2.xcodeproj/project.pbxproj: 4594 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 4595 (WebKit::WebEditorClient::handleKeyboardEvent): 4596 (WebKit::WebEditorClient::handleInputMethodKeydown): 4597 * WebProcess/WebPage/WebPage.cpp: 4598 (WebKit::WebPage::WebPage): 4599 * WebProcess/WebPage/WebPage.h: 4600 (WebKit::WebPage::viewFrameInWindowCoordinates): 4601 * WebProcess/WebPage/WebPage.messages.in: 4602 * WebProcess/WebPage/mac/WebPageMac.mm: 4603 (WebKit::createSelectorExceptionMap): 4604 (WebKit::commandNameForSelectorName): 4605 (WebKit::currentTextInputState): 4606 (WebKit::frameForEvent): 4607 (WebKit::WebPage::executeKeypressCommandsInternal): 4608 (WebKit::WebPage::handleEditingKeyboardEvent): 4609 (WebKit::WebPage::setComposition): 4610 (WebKit::WebPage::confirmComposition): 4611 (WebKit::WebPage::insertText): 4612 (WebKit::WebPage::getSelectedRange): 4613 (WebKit::convertToRange): 4614 (WebKit::WebPage::executeKeypressCommands): 4615 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 4616 Rewrote to be more like WebKit1. 4617 4618 2011-04-01 Chang Shu <cshu (a] webkit.org> 4619 4620 Reviewed by Darin Adler. 4621 4622 WebKitTestRunner needs layoutTestController.setDatabaseQuota 4623 https://bugs.webkit.org/show_bug.cgi?id=57568 4624 4625 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4626 (WKBundleSetDatabaseQuota): 4627 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4628 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4629 (WebKit::InjectedBundle::setDatabaseQuota): 4630 * WebProcess/InjectedBundle/InjectedBundle.h: 4631 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 4632 4633 2011-04-01 Timothy Hatcher <timothy (a] apple.com> 4634 4635 Make momentum scroll event latching work in WebKit2 on Mac. 4636 4637 <rdar://problem/8751861> 4638 4639 Reviewed by Darin Adler. 4640 4641 * Shared/mac/WebEventFactory.mm: 4642 (WebKit::momentumPhaseForEvent): Return a phase on older Mac system by using WKGetNSEventMomentumPhase. 4643 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 4644 (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase. 4645 4646 2011-04-01 Alexey Proskuryakov <ap (a] apple.com> 4647 4648 Reviewed by Anders Carlsson. 4649 4650 Assertion failure (type == event.type()) after a web process crash 4651 https://bugs.webkit.org/show_bug.cgi?id=56228 4652 <rdar://problem/8806106> 4653 4654 This partially un-confuses the UI process about key processing state after a web process 4655 crash. It may not be pefect yet - sending a KeyUp to a new process that never saw a KeyDown 4656 seems weird. 4657 4658 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::processDidCrash): 4659 4660 2011-04-01 Adam Roben <aroben (a] apple.com> 4661 4662 Cairo build fix 4663 4664 * WebProcess/WebPage/LayerTreeHost.cpp: Only pull in the LayerTreeHostCA derived classes for 4665 PLATFORM(CA) ports. 4666 4667 2011-03-31 Adam Roben <aroben (a] apple.com> 4668 4669 Split LayerTreeHostCA into a base class and derived Mac and Win classes 4670 4671 This will make it easier to customize the Mac and Windows implementations without adding too 4672 many #ifdefs. 4673 4674 Fixes <http://webkit.org/b/57606> Windows and Mac should use separate LayerTreeHost classes 4675 4676 Reviewed by Anders Carlsson. 4677 4678 * WebKit2.xcodeproj/project.pbxproj: Added LayerTreeHostCAMac.h. 4679 4680 * WebProcess/WebPage/LayerTreeHost.cpp: 4681 (WebKit::LayerTreeHost::create): Create a LayerTreeHostCAMac on Mac, and LayerTreeHostCAWin 4682 on Windows. 4683 4684 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: 4685 (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some code from here... 4686 (WebKit::LayerTreeHostCA::initialize): ...to here. This function will be called after the 4687 constructor returns, and thus can safely call functions that are pure virtual in this class 4688 and its base class. We now pass our LayerTreeContext to platformInitialize so that our 4689 derived classes can initialize it. 4690 (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Removed Mac-specific code. 4691 4692 (WebKit::LayerTreeHostCA::invalidate): 4693 (WebKit::LayerTreeHostCA::sizeDidChange): 4694 (WebKit::LayerTreeHostCA::forceRepaint): 4695 (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush): 4696 Removed platform* calls. Derived classes can just override these functions to do what they 4697 need. 4698 4699 * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed Mac-specific pieces. Made some functions 4700 virtual so that derived classes can override them. 4701 4702 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Added. 4703 4704 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: 4705 (WebKit::LayerTreeHostCAMac::create): Create and initialize a host. 4706 (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Simple constructor. 4707 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): Moved code here from LayerTreeHostCA 4708 destructor. 4709 (WebKit::LayerTreeHostCAMac::platformInitialize): Removed direct uses of LayerTreeHostCA 4710 data members. 4711 4712 (WebKit::LayerTreeHostCAMac::invalidate): 4713 (WebKit::LayerTreeHostCAMac::sizeDidChange): 4714 (WebKit::LayerTreeHostCAMac::forceRepaint): 4715 (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): 4716 Renamed from platform*. Now call up to the base class. 4717 4718 (WebKit::LayerTreeHostCAMac::flushPendingLayerChangesRunLoopObserverCallback): Updated type. 4719 4720 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: 4721 (WebKit::LayerTreeHostCAWin::create): Create and initialize a host. 4722 4723 (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): 4724 (WebKit::LayerTreeHostCAWin::~LayerTreeHostCAWin): 4725 (WebKit::LayerTreeHostCAWin::platformInitialize): 4726 (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): 4727 Stubbed out. 4728 4729 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added. 4730 4731 * win/WebKit2.vcproj: Added LayerTreeHostCAWin.h 4732 4733 * win/WebKit2Apple.vsprops: Added WebProcess/WebPage/ca/win to the include path. 4734 4735 2011-03-31 Brent Fulgham <bfulgham (a] webkit.org> 4736 4737 Unreviewed WinCairo build fix after r82632. 4738 4739 * UIProcess/DrawingAreaProxyImpl.cpp: 4740 (WebKit::DrawingAreaProxyImpl::visibilityDidChange): 4741 4742 2011-03-31 Adam Roben <aroben (a] apple.com> 4743 4744 Add SharedMemory::adopt, which can take ownership of an existing file mapping object 4745 4746 Fixes <http://webkit.org/b/57599> Need a way to wrap an existing file mapping object in a 4747 SharedMemory 4748 4749 Reviewed by Anders Carlsson. 4750 4751 * Platform/SharedMemory.h: Added adopt. 4752 4753 * Platform/win/SharedMemoryWin.cpp: 4754 (WebKit::SharedMemory::create): Moved code to adopt the HANDLE from here... 4755 (WebKit::SharedMemory::adopt): ...to here. 4756 4757 2011-03-31 Chang Shu <cshu (a] webkit.org> 4758 4759 Reviewed by Darin Adler. 4760 4761 WebKitTestRunner needs layoutTestController.clearAllDatabases 4762 https://bugs.webkit.org/show_bug.cgi?id=42540 4763 4764 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4765 (WKBundleClearAllDatabases): 4766 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4767 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4768 (WebKit::InjectedBundle::clearAllDatabases): 4769 * WebProcess/InjectedBundle/InjectedBundle.h: 4770 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 4771 4772 2011-03-31 Anders Carlsson <andersca (a] apple.com> 4773 4774 Reviewed by Sam Weinig. 4775 4776 Add some more media related things to the sandbox profile. 4777 4778 * WebProcess/com.apple.WebProcess.sb: 4779 4780 2011-03-31 Anders Carlsson <andersca (a] apple.com> 4781 4782 Reviewed by Dan Bernstein. 4783 4784 Tabbed pages redraw unnecessarily when activated 4785 https://bugs.webkit.org/show_bug.cgi?id=57589 4786 <rdar://problem/9218258> 4787 4788 * UIProcess/DrawingAreaProxyImpl.cpp: 4789 (WebKit::DrawingAreaProxyImpl::visibilityDidChange): 4790 If we become visible and have no backing store, make sure to call backingStoreStateDidChange 4791 so that the next time we're asked to paint we'll wait for something to paint. 4792 4793 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 4794 Remove now redundant call to backingStoreStateDidChange. 4795 4796 2011-03-31 Sam Weinig <sam (a] webkit.org> 4797 4798 Reviewed by Anders Carlsson. 4799 4800 Sandbox violations when playing back HTML5 video on YouTube 4801 <rdar://problem/8950692> 4802 4803 * WebProcess/com.apple.WebProcess.sb: 4804 4805 2011-03-31 Darin Adler <darin (a] apple.com> 4806 4807 Reviewed by Sam Weinig. 4808 4809 Implement mouseDown, mouseUp, and mouseMoveTo in WebKitTestRunner 4810 https://bugs.webkit.org/show_bug.cgi?id=57573 4811 4812 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 4813 (WKBundlePageSimulateMouseDown): Added. 4814 (WKBundlePageSimulateMouseUp): Added. 4815 (WKBundlePageSimulateMouseMotion): Added. 4816 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added above functions. 4817 * WebProcess/WebPage/WebPage.cpp: 4818 (WebKit::WebPage::simulateMouseDown): Added. 4819 (WebKit::WebPage::simulateMouseUp): Added. 4820 (WebKit::WebPage::simulateMouseMotion): Added. 4821 * WebProcess/WebPage/WebPage.h: Added above functions. 4822 4823 2011-03-31 Sam Weinig <sam (a] webkit.org> 4824 4825 Reviewed by Anders Carlsson. 4826 4827 Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API 4828 https://bugs.webkit.org/show_bug.cgi?id=57582 4829 4830 * PluginProcess/mac/PluginProcessMac.mm: 4831 (WebKit::PluginProcess::platformInitialize): 4832 * UIProcess/mac/WebInspectorProxyMac.mm: 4833 (WebKit::WebInspectorProxy::platformInspectedURLChanged): 4834 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 4835 * WebProcess/mac/WebProcessMac.mm: 4836 (WebKit::WebProcess::platformInitializeWebProcess): 4837 4838 2011-03-31 Adam Roben <aroben (a] apple.com> 4839 4840 Specify both FILE_MAP_READ and FILE_MAP_WRITE when creating a read-write SharedMemory object 4841 4842 When passed to ::MapViewOfFile, FILE_MAP_WRITE implies FILE_MAP_READ, but other file mapping 4843 APIs don't work that way. This bug wasn't causing any problems in practice, but it would 4844 have prevented us from creating a DIB that wraps a SharedMemory object (which I noticed 4845 while working on another bug). 4846 4847 Fixes <http://webkit.org/b/57576> File mappings used by read-write SharedMemory objects 4848 aren't correctly marked as read-write after being sent over a CoreIPC::Connection 4849 4850 Reviewed by Brian Weinstein. 4851 4852 * Platform/win/SharedMemoryWin.cpp: 4853 (WebKit::accessRights): Specify FILE_MAP_READ in addition to FILE_MAP_WRITE for read-write 4854 SharedMemory. 4855 4856 2011-03-31 Adam Roben <aroben (a] apple.com> 4857 4858 Quote the executable path we pass to ::CreateProcessW 4859 4860 This will ensure that spaces in the path will be interpreted correctly. 4861 4862 Fixes <http://webkit.org/b/57569> Web process sometimes fails to launch when there are 4863 spaces in its path 4864 4865 Reviewed by Steve Falkenburg. 4866 4867 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 4868 (WebKit::ProcessLauncher::launchProcess): Surround the executable path in quotes. 4869 4870 2011-03-31 Alexey Proskuryakov <ap (a] apple.com> 4871 4872 Patch by John Harvey, reviewed and tweaked by me. 4873 4874 <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text. 4875 4876 * UIProcess/API/mac/WKTextInputWindowController.mm: 4877 (-[WKTextInputPanel _interpretKeyEvent:string:]): 4878 4879 2011-03-31 Anders Carlsson <andersca (a] apple.com> 4880 4881 Reviewed by John Sullivan, Darin Adler, Dan Bernstein and Sam Weinig. 4882 4883 If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations) 4884 https://bugs.webkit.org/show_bug.cgi?id=57561 4885 <rdar://problem/9127411> 4886 4887 Ensure that any readwrite sandbox directories actually exist before entering the sandbox. 4888 4889 * WebProcess/mac/WebProcessMac.mm: 4890 (WebKit::appendReadwriteSandboxDirectory): 4891 4892 2011-03-31 John Sullivan <sullivan (a] apple.com> 4893 4894 Reviewed by Darin Adler and Adam Roben. 4895 4896 <rdar://problem/9214824> Find client not told when WKPageCountStringMatches exceeds maximum 4897 https://bugs.webkit.org/show_bug.cgi?id=57552 4898 4899 * WebProcess/WebPage/FindController.cpp: 4900 (WebKit::FindController::countStringMatches): 4901 Use the same technique as findString() to report kWKMoreThanMaximumMatchCount when appropriate. 4902 (WebKit::FindController::findString): 4903 Convert numeric_limits::max() to max() - 1 to avoid overflow case. 4904 4905 2011-03-31 Evan Martin <evan (a] chromium.org> 4906 4907 Reviewed by Eric Seidel. 4908 4909 <title> should support dir attribute 4910 https://bugs.webkit.org/show_bug.cgi?id=50961 4911 4912 Update to new FrameLoaderClient interface. 4913 4914 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4915 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 4916 (WebKit::WebFrameLoaderClient::setTitle): 4917 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 4918 4919 2011-03-31 Balazs Kelemen <kbalazs (a] webkit.org> 4920 4921 Reviewed by Csaba Osztrogonc. 4922 4923 [WK2] Introduce an option for no NPAPI support 4924 https://bugs.webkit.org/show_bug.cgi?id=55828 4925 4926 Stub out NPAPI support for platform and OS combinations that are 4927 not supported yet. Ancestor patch was made by Laszlo Gombos. 4928 4929 * GNUmakefile.am: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp 4930 to the build system. 4931 4932 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 4933 Remove the sanity check because from now all combinations that 4934 don't have an explicitly set plugin architecture fall into 4935 the PLUGIN_ARCHITECTURE(UNSUPPORTED) category and has a stubbed 4936 implementation. 4937 4938 * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp: Added. 4939 Stubbed implementation. 4940 (WebKit::NetscapePluginModule::getPluginInfo): 4941 (WebKit::NetscapePluginModule::determineQuirks): 4942 4943 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Guard with 4944 PLUGIN_ARCHITECTURE(X11). 4945 4946 * WebKit2.pro: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp 4947 to the build system. 4948 4949 * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: Added. 4950 Stubbed implementation 4951 (WebKit::NetscapePlugin::platformPostInitialize): 4952 (WebKit::NetscapePlugin::platformDestroy): 4953 (WebKit::NetscapePlugin::platformInvalidate): 4954 (WebKit::NetscapePlugin::platformGeometryDidChange): 4955 (WebKit::NetscapePlugin::platformPaint): 4956 (WebKit::NetscapePlugin::platformHandleMouseEvent): 4957 (WebKit::NetscapePlugin::platformHandleWheelEvent): 4958 (WebKit::NetscapePlugin::platformSetFocus): 4959 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 4960 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 4961 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 4962 4963 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Guard with 4964 PLUGIN_ARCHITECTURE(X11) 4965 4966 * config.h: Introduce PLUGIN_ARCHITECTURE(UNSUPPORTED) as another 4967 option. Make platform and OS combinations that are not supported 4968 yet fall into this. Don't use Q_WS_X11 to test the window system 4969 for Qt because it is not defined without including <QtGlobal>. 4970 No clue about how could it work so far. 4971 4972 2011-03-31 Vamshikrishna.Yellenki <vamshi (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 4973 4974 Reviewed by Martin Robinson. 4975 4976 Implement MiniBrowser for Gtk port. 4977 https://bugs.webkit.org/show_bug.cgi?id=48512 4978 4979 * Shared/API/c/gtk/WKBaseGtk.h: Add the stdbool.h include. 4980 4981 2011-03-30 Dan Bernstein <mitz (a] apple.com> 4982 4983 Reviewed by Maciej Stachowiak. 4984 4985 <rdar://problem/9005982> Flash of white when a WKView with composited content moves on-screen 4986 https://bugs.webkit.org/show_bug.cgi?id=57522 4987 4988 * UIProcess/DrawingAreaProxyImpl.cpp: 4989 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current 4990 backing store state, so that we get an update as soon as the page enters compositing mode 4991 next. 4992 * WebProcess/WebPage/DrawingAreaImpl.cpp: 4993 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to 4994 LayerTreeHost::forceRepaint() in order to flush and synchronize the layers 4995 before sending the update message to the UI process. 4996 4997 2011-03-30 Sam Weinig <sam (a] webkit.org> 4998 4999 Reviewed by Anders Carlsson. 5000 5001 Sandbox violations if you navigate a file URL via something other than a click 5002 <rdar://problem/9016086> 5003 https://bugs.webkit.org/show_bug.cgi?id=57519 5004 5005 * WebProcess/WebPage/WebPage.cpp: 5006 (WebKit::shouldReuseCommittedSandboxExtension): 5007 Remove unnecessary restriction on extension reuse. Any type of file to file navigation 5008 should be allowed. 5009 5010 2011-03-30 Anders Carlsson <andersca (a] apple.com> 5011 5012 Reviewed by Sam Weinig. 5013 5014 Clean up the sandbox parameter code 5015 https://bugs.webkit.org/show_bug.cgi?id=57518 5016 5017 * Shared/WebProcessCreationParameters.h: 5018 Make nsURLCachePath and uiProcessBundleResourcePath Strings to match the other paths we send over. 5019 5020 * UIProcess/mac/WebContextMac.mm: 5021 (WebKit::WebContext::platformInitializeWebProcess): 5022 nsURLCachePath and uiProcessBundleResourcePath are now Strings. 5023 5024 * WebProcess/mac/WebProcessMac.mm: 5025 (WebKit::appendSandboxParameterPathInternal): 5026 (WebKit::appendReadwriteConfDirectory): 5027 (WebKit::appendReadonlySandboxDirectory): 5028 (WebKit::appendReadwriteSandboxDirectory): 5029 (WebKit::initializeSandbox): 5030 Make it more clear whether the directories we're adding are readonly or readwrite. No functionality change. 5031 5032 (WebKit::WebProcess::platformInitializeWebProcess): 5033 nsURLCachePath is now a string. 5034 5035 2011-03-30 Anders Carlsson <andersca (a] apple.com> 5036 5037 Reviewed by Sam Weinig. 5038 5039 Downloading a file fails due to a sandbox violation if the destination path is a symlink 5040 https://bugs.webkit.org/show_bug.cgi?id=57517 5041 <rdar://problem/8943865> 5042 5043 Make sure to resolve any symlinks in the given path when creating a sandbox extension handle. 5044 Note that we can't use realpath or -[NSString stringByResolvingSymlinksInPath], because those calls 5045 will fail if the pointed to file doesn't exist. 5046 5047 * Shared/mac/SandboxExtensionMac.mm: 5048 (WebKit::resolveSymlinksInPath): 5049 New function that resolves all the symlinks in the given path. 5050 5051 (WebKit::SandboxExtension::createHandle): 5052 Call resolveSymlinksInPath on the resulting path. 5053 5054 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 5055 5056 Reviewed by Adam Roben. 5057 5058 Share most vsprops between Release and Production builds in releaseproduction.vsprops 5059 https://bugs.webkit.org/show_bug.cgi?id=57508 5060 5061 * win/WebKit2Production.vsprops: 5062 * win/WebKit2Release.vsprops: 5063 * win/WebKit2ReleaseCairoCFLite.vsprops: 5064 * win/WebKit2WebProcessProduction.vsprops: 5065 * win/WebKit2WebProcessRelease.vsprops: 5066 * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: 5067 5068 2011-03-30 Ivan Krsti <ike (a] apple.com> 5069 5070 Reviewed by Oliver Hunt. 5071 5072 Ensure consistent, readable working directory for WebProcess before entering sandbox 5073 <rdar://problem/8951176> 5074 5075 * WebProcess/mac/WebProcessMac.mm: 5076 (WebKit::WebProcess::platformInitializeWebProcess): 5077 5078 2011-03-30 Sam Weinig <sam (a] webkit.org> 5079 5080 Reviewed by Brady Eidson. 5081 5082 WebKit2: Attempting to view css file from url causes it to download 5083 <rdar://problem/9102611> 5084 https://bugs.webkit.org/show_bug.cgi?id=57501 5085 5086 * UIProcess/WebPageProxy.cpp: 5087 (WebKit::WebPageProxy::canShowMIMEType): 5088 Match WebKit1 by allowing any MIME type that starts with "text/" 5089 except the ones we explicitly blacklist. 5090 5091 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 5092 5093 Reviewed by Adam Roben. 5094 5095 Update Windows production build logic for new production configurations 5096 https://bugs.webkit.org/show_bug.cgi?id=57494 5097 5098 * win/WebKit2.make: 5099 * win/WebKit2Production.vsprops: 5100 * win/WebKit2WebProcessProduction.vsprops: 5101 5102 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 5103 5104 Reviewed by Adam Roben. 5105 5106 Rename Windows configuration Release_LTCG to Production for clarity 5107 https://bugs.webkit.org/show_bug.cgi?id=57465 5108 5109 * win/WebKit2.submit.sln: 5110 * win/WebKit2.vcproj: 5111 * win/WebKit2Generated.vcproj: 5112 * win/WebKit2Production.vsprops: Copied from Source/WebKit2/win/WebKit2ReleaseLTCG.vsprops. 5113 * win/WebKit2ReleaseLTCG.vsprops: Removed. 5114 * win/WebKit2WebProcess.vcproj: 5115 * win/WebKit2WebProcessProduction.vsprops: Copied from Source/WebKit2/win/WebKit2WebProcessReleaseLTCG.vsprops. 5116 * win/WebKit2WebProcessReleaseLTCG.vsprops: Removed. 5117 5118 2011-03-30 Jer Noble <jer.noble (a] apple.com> 5119 5120 Reviewed by Dan Bernstein. 5121 5122 WebKit2: WebProcess is using 89%, while viewing a PDF 5123 https://bugs.webkit.org/show_bug.cgi?id=57471 5124 5125 Break a never ending display/update cycle between the UIProcess and the WebProcess 5126 by clearing the dirty region when a page has a custom representation (like a PDF). 5127 Also, avoid the issue where possible by not setting the dirty region in the same case. 5128 5129 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5130 (WebKit::DrawingAreaImpl::setNeedsDisplay): Bail early if mainFrameHasCustomRepresentation(). 5131 (WebKit::DrawingAreaImpl::scroll): Ditto. 5132 (WebKit::DrawingAreaImpl::display): Both bail early and clear m_dirtyRegion if 5133 mainFrameHasCustomRepresentation(). 5134 5135 2011-03-30 Sam Weinig <sam (a] webkit.org> 5136 5137 Fix Snow Leopard build. 5138 5139 * UIProcess/mac/WebContextMenuProxyMac.mm: 5140 (WebKit::WebContextMenuProxyMac::showContextMenu): 5141 5142 2011-03-30 Sam Weinig <sam (a] webkit.org> 5143 5144 Reviewed by Anders Carlsson. 5145 5146 WebKit2 contextual menu looks different than the rest of the OS 5147 <rdar://problem/9172935> 5148 https://bugs.webkit.org/show_bug.cgi?id=57475 5149 5150 * UIProcess/mac/WebContextMenuProxyMac.mm: 5151 (WebKit::WebContextMenuProxyMac::showContextMenu): 5152 Use correct SPI for showing a context menu. The dummy view is also 5153 not necessary, so remove it. 5154 5155 2011-03-30 Anders Carlsson <andersca (a] apple.com> 5156 5157 Reviewed by Sam Weinig. 5158 5159 Crash when NPN_Evaluate removes the plug-in frame 5160 https://bugs.webkit.org/show_bug.cgi?id=57474 5161 <rdar://problem/9191396> 5162 5163 Get a reference to the frame since it can be nulled out if running the JavaScript code 5164 causes the plug-in's containing frame to be removed from the frame tree. 5165 5166 * WebProcess/Plugins/PluginView.cpp: 5167 (WebKit::PluginView::evaluate): 5168 5169 2011-03-30 Sam Weinig <sam (a] webkit.org> 5170 5171 Reviewed by Anders Carlsson. 5172 5173 Add default localization strategy that can be shared by WebKit1 and WebKit2 5174 https://bugs.webkit.org/show_bug.cgi?id=57406 5175 5176 * Shared/WebLocalizableStrings.h: Removed. 5177 Removed in favor of using WebCore/LocalizedStrings.h directly. 5178 5179 * PluginProcess/mac/PluginProcessMac.mm: 5180 * UIProcess/API/mac/WKView.mm: 5181 * UIProcess/mac/WebInspectorProxyMac.mm: 5182 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 5183 * WebProcess/mac/WebProcessMac.mm: 5184 Use WebCore/LocalizedStrings.h directly. 5185 5186 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5187 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 5188 Remove localization strategy override in favor of using new default implementation. 5189 5190 * GNUmakefile.am: 5191 * WebKit2.pro: 5192 * WebKit2.xcodeproj/project.pbxproj: 5193 * win/WebKit2.vcproj: 5194 Remove WebLocalizableStrings.h 5195 5196 2011-03-30 Anders Carlsson <andersca (a] apple.com> 5197 5198 Reviewed by Adam Roben. 5199 5200 Assertion failure in plug-in process when calling WKPluginSiteDataManagerGetSitesWithData 5201 https://bugs.webkit.org/show_bug.cgi?id=57468 5202 <rdar://problem/9199089> 5203 5204 Call decrementLoadCount from removeWebProcessConnection instead of startShutdownTimerIfNecessary, 5205 otherwise we'll get a load count underflow when a connection is never created. 5206 5207 * PluginProcess/PluginProcess.cpp: 5208 (WebKit::PluginProcess::removeWebProcessConnection): 5209 (WebKit::PluginProcess::createWebProcessConnection): 5210 (WebKit::PluginProcess::startShutdownTimerIfNecessary): 5211 5212 2011-03-30 Jessie Berlin <jberlin (a] apple.com> 5213 5214 Reviewed by Anders Carlsson. 5215 5216 WebKit2: Make sure to try to terminate the Web Process when any work that might require the 5217 Web Process to be relaunched is done 5218 https://bugs.webkit.org/show_bug.cgi?id=57462 5219 5220 For the ManagerProxies in the UIProcess, only return true from shouldTerminate if there are 5221 no more callbacks waiting to be invoked. 5222 5223 For the the Managers in the WebProcess, call WebProcess::shared().terminateIfPossible() when 5224 any work called for by a ManagerProxy function that called relaunchProcessIfNecessary is 5225 finished. 5226 5227 * UIProcess/WebContext.cpp: 5228 (WebKit::WebContext::shouldTerminate): 5229 Check with each of the ManagerProxies. 5230 5231 * UIProcess/WebApplicationCacheManagerProxy.cpp: 5232 (WebKit::WebApplicationCacheManagerProxy::shouldTerminate): 5233 * UIProcess/WebApplicationCacheManagerProxy.h: 5234 * UIProcess/WebCookieManagerProxy.cpp: 5235 (WebKit::WebCookieManagerProxy::shouldTerminate): 5236 * UIProcess/WebCookieManagerProxy.h: 5237 * UIProcess/WebDatabaseManagerProxy.cpp: 5238 (WebKit::WebDatabaseManagerProxy::shouldTerminate): 5239 * UIProcess/WebDatabaseManagerProxy.h: 5240 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 5241 (WebKit::WebKeyValueStorageManagerProxy::shouldTerminate): 5242 * UIProcess/WebKeyValueStorageManagerProxy.h: 5243 * UIProcess/WebMediaCacheManagerProxy.cpp: 5244 (WebKit::WebMediaCacheManagerProxy::shouldTerminate): 5245 * UIProcess/WebMediaCacheManagerProxy.h: 5246 * UIProcess/WebResourceCacheManagerProxy.cpp: 5247 (WebKit::WebResourceCacheManagerProxy::shouldTerminate): 5248 * UIProcess/WebResourceCacheManagerProxy.h: 5249 5250 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 5251 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): 5252 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): 5253 (WebKit::WebApplicationCacheManager::deleteAllEntries): 5254 * WebProcess/Cookies/WebCookieManager.cpp: 5255 (WebKit::WebCookieManager::getHostnamesWithCookies): 5256 (WebKit::WebCookieManager::deleteCookiesForHostname): 5257 (WebKit::WebCookieManager::deleteAllCookies): 5258 (WebKit::WebCookieManager::startObservingCookieChanges): 5259 (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy): 5260 (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): 5261 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: 5262 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 5263 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): 5264 (WebKit::WebKeyValueStorageManager::deleteAllEntries): 5265 * WebProcess/MediaCache/WebMediaCacheManager.cpp: 5266 (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): 5267 (WebKit::WebMediaCacheManager::clearCacheForHostname): 5268 (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): 5269 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 5270 (WebKit::WebResourceCacheManager::getCacheOrigins): 5271 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 5272 (WebKit::WebResourceCacheManager::clearCacheForAllOrigins): 5273 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 5274 (WebKit::WebDatabaseManager::getDatabasesByOrigin): 5275 (WebKit::WebDatabaseManager::getDatabaseOrigins): 5276 (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): 5277 (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): 5278 (WebKit::WebDatabaseManager::deleteAllDatabases): 5279 (WebKit::WebDatabaseManager::setQuotaForOrigin): 5280 5281 2011-03-30 Adam Roben <aroben (a] apple.com> 5282 5283 Mac build fix after r82442 5284 5285 * WebProcess/Plugins/PluginProxy.cpp: 5286 (WebKit::PluginProxy::geometryDidChange): Added a missing argument. 5287 5288 2011-03-29 Adam Roben <aroben (a] apple.com> 5289 5290 Add a way to specify that a ShareableBitmap has no alpha channel 5291 5292 Before this patch, all ShareableBitmaps had an alpha channel. With this patch, all 5293 ShareableBitmaps *still* have an alpha channel. But now there's a way to specify you don't 5294 want one (which will be used in the future)! 5295 5296 Fixes <http://webkit.org/b/57388> Need a way to specify that a ShareableBitmap has no alpha 5297 channel 5298 5299 Reviewed by Anders Carlsson. 5300 5301 * Shared/ShareableBitmap.cpp: 5302 (WebKit::ShareableBitmap::Handle::Handle): Moved here from the header file, and added 5303 initialization of m_flags. 5304 5305 (WebKit::ShareableBitmap::Handle::encode): 5306 (WebKit::ShareableBitmap::Handle::decode): 5307 Encode/decode m_flags. 5308 5309 (WebKit::ShareableBitmap::create): 5310 (WebKit::ShareableBitmap::createShareable): 5311 Pass along the new Flags argument. 5312 5313 (WebKit::ShareableBitmap::createHandle): Store our Flags on the Handle. 5314 (WebKit::ShareableBitmap::ShareableBitmap): Store the Flags in m_flags. 5315 5316 * Shared/ShareableBitmap.h: Added Flag, Flags, and m_flags, and added a Flags argument to 5317 some create functions. 5318 5319 * Shared/WebCoreArgumentCoders.cpp: 5320 (CoreIPC::encodeImage): 5321 * Shared/WebImage.cpp: 5322 (WebKit::WebImage::create): 5323 Specify that we want a bitmap that supports alpha to maintain current behavior. 5324 5325 * Shared/cg/ShareableBitmapCG.cpp: 5326 (WebKit::bitmapInfo): New helper function. Includes an alpha channel only if specified in 5327 the flags. 5328 5329 (WebKit::ShareableBitmap::createGraphicsContext): 5330 (WebKit::ShareableBitmap::makeCGImage): 5331 Use the new helper function. 5332 5333 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 5334 (WebKit::NetscapePlugin::snapshot): 5335 * WebProcess/Plugins/PluginProxy.cpp: 5336 (WebKit::PluginProxy::geometryDidChange): 5337 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 5338 (WebKit::convertImageToBitmap): 5339 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 5340 (WebKit::WebPopupMenu::setUpPlatformData): 5341 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5342 (WebKit::DrawingAreaImpl::display): 5343 * WebProcess/WebPage/FindController.cpp: 5344 (WebKit::FindController::updateFindIndicator): 5345 Specify that we want a bitmap that supports alpha to maintain current behavior. 5346 5347 2011-03-29 Adam Roben <aroben (a] apple.com> 5348 5349 Add ShareableBitmap::Handle 5350 5351 This object is used for encoding/decoding a ShareableBitmap via CoreIPC. It currently just 5352 encapsulates a SharedMemory::Handle (which is what we were using previously) and the image's 5353 size (which means callers no longer need to deal with the size explicitly), but in the 5354 future could be used to store more information about the bitmap. 5355 5356 This should cause no behavior changes. 5357 5358 Fixes <http://webkit.org/b/57397> ShareableBitmap needs its own Handle type 5359 5360 Reviewed by Anders Carlsson. 5361 5362 * PluginProcess/PluginControllerProxy.cpp: 5363 (WebKit::PluginControllerProxy::geometryDidChange): No longer need to pass a size to create, 5364 since the Handle records the size. 5365 (WebKit::PluginControllerProxy::snapshot): No longer need the bufferSize argument, since the 5366 Handle records the size. 5367 5368 * PluginProcess/PluginControllerProxy.h: 5369 * PluginProcess/PluginControllerProxy.messages.in: 5370 Updated Handle types and removed unnecessary size argument to Snapshot. 5371 5372 * Shared/PlatformPopupMenuData.cpp: 5373 (WebKit::PlatformPopupMenuData::encode): 5374 (WebKit::PlatformPopupMenuData::decode): 5375 * Shared/PlatformPopupMenuData.h: 5376 Changed to use ShareableBitmap::Handle and removed m_backingStoreSize, which is now stored 5377 in the Handles. 5378 5379 * Shared/ShareableBitmap.cpp: 5380 (WebKit::ShareableBitmap::Handle::encode): 5381 (WebKit::ShareableBitmap::Handle::decode): 5382 Simple encode/decode functions. 5383 5384 (WebKit::ShareableBitmap::create): Get the size from the Handle instead of as a separate 5385 argument. 5386 (WebKit::ShareableBitmap::createHandle): Store our size in the Handle. 5387 5388 * Shared/ShareableBitmap.h: Added ShareableBitmap::Handle and made some functions use it. 5389 5390 * Shared/UpdateInfo.h: Changed to use ShareableBitmap::Handle. 5391 5392 * Shared/UserMessageCoders.h: 5393 (WebKit::UserMessageEncoder::baseEncode): 5394 (WebKit::UserMessageDecoder::baseDecode): 5395 * Shared/WebCoreArgumentCoders.cpp: 5396 (CoreIPC::encodeImage): 5397 (CoreIPC::decodeImage): 5398 Use the size stored in the Handle instead of encoding/decoding one separately. 5399 5400 * UIProcess/API/mac/PageClientImpl.h: 5401 * UIProcess/API/mac/PageClientImpl.mm: 5402 (WebKit::PageClientImpl::setDragImage): 5403 Removed the unnecessary imageSize argument. We can get it from the image itself. 5404 5405 * UIProcess/BackingStore.cpp: 5406 (WebKit::BackingStore::incorporateUpdate): 5407 * UIProcess/FindIndicator.cpp: 5408 (WebKit::FindIndicator::create): 5409 No longer need to pass a size when creating a ShareableBitmap from a Handle. 5410 5411 * UIProcess/FindIndicator.h: Changed to use ShareableBitmap::Handle. 5412 5413 * UIProcess/PageClient.h: Removed unnecessary imageSize argument from setDragImage. 5414 5415 * UIProcess/WebPageProxy.cpp: 5416 (WebKit::WebPageProxy::setFindIndicator): 5417 * UIProcess/WebPageProxy.h: 5418 * UIProcess/WebPageProxy.messages.in: 5419 * UIProcess/mac/WebPageProxyMac.mm: 5420 (WebKit::WebPageProxy::setDragImage): 5421 * WebProcess/Plugins/PluginProxy.cpp: 5422 (WebKit::PluginProxy::snapshot): 5423 (WebKit::PluginProxy::geometryDidChange): 5424 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 5425 (WebKit::WebDragClient::startDrag): 5426 Changed to use ShareableBitmap::Handle and removed now-unnecessary size arguments (since we 5427 can get the size from the Handle). 5428 5429 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 5430 (WebKit::WebPopupMenu::setUpPlatformData): Don't need to store the backing store size in the 5431 data anymore; the Handles will make sure it reaches the other process. 5432 5433 * WebProcess/WebPage/FindController.cpp: 5434 (WebKit::FindController::updateFindIndicator): 5435 (WebKit::FindController::hideFindIndicator): 5436 Changed to use ShareableBitmap::Handle. 5437 5438 2011-03-30 Alejandro G. Castro <alex (a] igalia.com> 5439 5440 Fix GTK build after r81980. 5441 5442 * GNUmakefile.am: 5443 5444 2011-03-29 Beth Dakin <bdakin (a] apple.com> 5445 5446 Reviewed by Maciej Stachowiak. 5447 5448 Fix for https://bugs.webkit.org/show_bug.cgi?id=57408 5449 webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 5450 -and corresponding- 5451 <rdar://problem/8665411> 5452 5453 * Shared/WebPageCreationParameters.cpp: 5454 (WebKit::WebPageCreationParameters::encode): 5455 (WebKit::WebPageCreationParameters::decode): 5456 * Shared/WebPageCreationParameters.h: 5457 * UIProcess/API/mac/PageClientImpl.h: 5458 * UIProcess/API/mac/PageClientImpl.mm: 5459 (WebKit::PageClientImpl::userSpaceScaleFactor): 5460 * UIProcess/API/qt/qwkpage_p.h: 5461 (QWKPagePrivate::userSpaceScaleFactor): 5462 * UIProcess/PageClient.h: 5463 * UIProcess/WebPageProxy.cpp: 5464 (WebKit::WebPageProxy::creationParameters): 5465 * UIProcess/gtk/WebView.h: 5466 (WebKit::WebView::userSpaceScaleFactor): 5467 * UIProcess/win/WebView.h: 5468 (WebKit::WebView::userSpaceScaleFactor): 5469 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 5470 (WebKit::WebChromeClient::scaleFactor): 5471 * WebProcess/WebPage/WebPage.cpp: 5472 (WebKit::WebPage::WebPage): 5473 * WebProcess/WebPage/WebPage.h: 5474 (WebKit::WebPage::userSpaceScaleFactor): 5475 5476 2011-03-29 Brent Fulgham <bfulgham (a] webkit.org> 5477 5478 Unreviewed WinCairo build fix. 5479 5480 Bring DownloadCurl implementation stubs in line with current 5481 CFNetwork API. 5482 5483 * WebProcess/Downloads/curl/DownloadCurl.cpp: 5484 (WebKit::Download::receivedCredential): 5485 (WebKit::Download::receivedRequestToContinueWithoutCredential): 5486 (WebKit::Download::receivedCancellation): 5487 5488 2011-03-29 Chris Fleizach <cfleizach (a] apple.com> 5489 5490 Reviewed by Darin Adler. 5491 5492 AX: WK2: When creating the window remote token, use what's returned from accessibility 5493 https://bugs.webkit.org/show_bug.cgi?id=57398 5494 5495 This will allow a specific WKView to override what's used for the window attribute of the 5496 HTML elements. 5497 5498 * UIProcess/API/mac/WKView.mm: 5499 (-[WKView viewDidMoveToWindow]): 5500 5501 2011-03-29 Jeff Miller <jeffm (a] apple.com> 5502 5503 Reviewed by Sam Weinig. 5504 5505 Make Windows-only InjectedBundle functions platform-specific 5506 https://bugs.webkit.org/show_bug.cgi?id=57385 5507 5508 Added files for Windows-specific WKBundle functions. 5509 Removed stub wrappers for InjectedBundle::setHostAllowsAnyHTTPSCertificate() and InjectedBundle::setClientCertificate() from non-Windows platforms. 5510 5511 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.cpp. 5512 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.h. 5513 * WebProcess/InjectedBundle/API/c/win: Added. 5514 * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Added. 5515 (WKBundleSetHostAllowsAnyHTTPSCertificate): Moved from WKBundle.cpp. 5516 (WKBundleSetClientCertificate): Moved from WKBundle.cpp. 5517 * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Added. 5518 * WebProcess/InjectedBundle/InjectedBundle.h: setHostAllowsAnyHTTPSCertificate() and setClientCertificate() are Windows-only. 5519 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate(). 5520 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate(). 5521 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate(). 5522 * win/WebKit2.vcproj: Added WKBundlePrivateWin.cpp and WKBundlePrivateWin.h. 5523 * win/WebKit2Generated.make: Copy WKBundlePrivateWin.h. 5524 5525 2011-03-29 Anders Carlsson <andersca (a] apple.com> 5526 5527 Fix Windows build. 5528 5529 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: 5530 (WebKit::Download::receivedCredential): 5531 (WebKit::Download::receivedRequestToContinueWithoutCredential): 5532 (WebKit::Download::receivedCancellation): 5533 5534 2011-03-29 Anders Carlsson <andersca (a] apple.com> 5535 5536 Reviewed by Sam Weinig. 5537 5538 Downloads: Authentication support 5539 https://bugs.webkit.org/show_bug.cgi?id=57403 5540 <rdar://problem/8691166> 5541 5542 * UIProcess/API/C/WKContext.h: 5543 Add didReceiveAuthenticationChallenge callback. 5544 5545 * UIProcess/Downloads/DownloadProxy.cpp: 5546 (WebKit::DownloadProxy::didReceiveAuthenticationChallenge): 5547 Call the download client. 5548 5549 * UIProcess/Downloads/DownloadProxy.messages.in: 5550 Add DidReceiveAuthenticationChallenge message. 5551 5552 * UIProcess/WebDownloadClient.cpp: 5553 (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge): 5554 Call the client callback function. 5555 5556 * UIProcess/WebDownloadClient.h: 5557 * WebProcess/Authentication/AuthenticationManager.cpp: 5558 (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): 5559 Send the DidReceiveAuthenticationChallenge message to the download proxy. 5560 5561 (WebKit::AuthenticationManager::useCredentialForChallenge): 5562 (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): 5563 (WebKit::AuthenticationManager::cancelChallenge): 5564 If the authentication client is null, call the static download member functions. 5565 5566 * WebProcess/Authentication/AuthenticationManager.h: 5567 * WebProcess/Downloads/Download.cpp: 5568 (WebKit::Download::didReceiveAuthenticationChallenge): 5569 Call the authentication manager. 5570 5571 * WebProcess/Downloads/Download.h: 5572 * WebProcess/Downloads/mac/DownloadMac.mm: 5573 (WebKit::Download::receivedCredential): 5574 (WebKit::Download::receivedRequestToContinueWithoutCredential): 5575 (WebKit::Download::receivedCancellation): 5576 Call the right sender methods. 5577 5578 (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]): 5579 (-[WKDownloadAsDelegate downloadShouldUseCredentialStorage:]): 5580 Call the right Download member functions. 5581 5582 * WebProcess/Downloads/qt/DownloadQt.cpp: 5583 (WebKit::Download::receivedCredential): 5584 (WebKit::Download::receivedRequestToContinueWithoutCredential): 5585 (WebKit::Download::receivedCancellation): 5586 * WebProcess/Downloads/soup/DownloadSoup.cpp: 5587 (WebKit::Download::receivedCredential): 5588 (WebKit::Download::receivedRequestToContinueWithoutCredential): 5589 (WebKit::Download::receivedCancellation): 5590 Add stubs. 5591 5592 2011-03-29 Anders Carlsson <andersca (a] apple.com> 5593 5594 Reviewed by Sam Weinig. 5595 5596 AuthenticationChallengeProxy objects should be associated with processes, not pages 5597 https://bugs.webkit.org/show_bug.cgi?id=57401 5598 5599 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 5600 (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy): 5601 (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy): 5602 (WebKit::AuthenticationChallengeProxy::useCredential): 5603 (WebKit::AuthenticationChallengeProxy::cancel): 5604 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 5605 (WebKit::AuthenticationChallengeProxy::create): 5606 * UIProcess/WebPageProxy.cpp: 5607 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): 5608 5609 2011-03-29 Sam Weinig <sam (a] webkit.org> 5610 5611 Reviewed by Anders Carlsson. 5612 5613 Use LocalizedStrings.h as a bottleneck for localized strings instead of 5614 using UI_STRING. 5615 5616 * UIProcess/API/mac/WKView.mm: 5617 (-[WKView validateUserInterfaceItem:]): 5618 Call existing localization functions instead of using UI_STRING. 5619 5620 (-[WKView _getTextInputState:selectionEnd:underlines:]): 5621 Remove unnecessary WebCore:: prefix. 5622 5623 2011-03-29 Chang Shu <cshu (a] webkit.org> 5624 5625 Reviewed by Kenneth Rohde Christiansen. 5626 5627 WebKitTestRunner needs layoutTestController.setAllowUniversalAccessFromFileURLs 5628 https://bugs.webkit.org/show_bug.cgi?id=42692 5629 5630 * Shared/WebPreferencesStore.cpp: 5631 (WebKit::WebPreferencesStore::decode): 5632 (WebKit::WebPreferencesStore::overrideAllowUniversalAccessFromFileURLsForTestRunner): 5633 * Shared/WebPreferencesStore.h: 5634 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 5635 (WKBundleOverrideAllowUniversalAccessFromFileURLsForTestRunner): 5636 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 5637 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5638 (WebKit::InjectedBundle::overrideAllowUniversalAccessFromFileURLsForTestRunner): 5639 * WebProcess/InjectedBundle/InjectedBundle.h: 5640 5641 2011-03-29 Timothy Hatcher <timothy (a] apple.com> 5642 5643 Update the order of the context menu to better match AppKit on Mac. 5644 5645 <rdar://problem/9054893> 5646 5647 Reviewed by John Sullivan. 5648 5649 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5650 (WebKit::WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string. 5651 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 5652 5653 2011-03-29 Jeff Miller <jeffm (a] apple.com> 5654 5655 Fix formatting of WebKit2.vcproj after r82283. 5656 5657 * win/WebKit2.vcproj: 5658 5659 2011-03-29 Martin Robinson <mrobinson (a] igalia.com> 5660 5661 [GTK] Build failed with GDK_KEY_KP_Space was not declared in this scope 5662 https://bugs.webkit.org/show_bug.cgi?id=55314 5663 5664 Build fix for older versions of GTK+. Use the deprecated names for GDK key 5665 defines and include GtkVersioning.h to allow building on newer versions 5666 of GTK+. 5667 5668 * Shared/gtk/WebEventFactory.cpp: 5669 (WebKit::isGdkKeyCodeFromKeyPad): Update key defines. 5670 5671 2011-03-29 Steve Falkenburg <sfalken (a] apple.com> 5672 5673 Reviewed by Darin Adler. 5674 5675 Use per-configuration vsprops in WebKit to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE 5676 https://bugs.webkit.org/show_bug.cgi?id=57383 5677 5678 Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from 5679 InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within 5680 the IDE. To avoid this, add a separate vsprops file for each project configuration that 5681 contains the required inherited property sheets. 5682 5683 * win/WebKit2.vcproj: 5684 * win/WebKit2Debug.vsprops: Added. 5685 * win/WebKit2DebugAll.vsprops: Added. 5686 * win/WebKit2DebugCairoCFLite.vsprops: Added. 5687 * win/WebKit2Release.vsprops: Added. 5688 * win/WebKit2ReleaseCairoCFLite.vsprops: Added. 5689 * win/WebKit2ReleaseLTCG.vsprops: Added. 5690 * win/WebKit2WebProcess.vcproj: 5691 * win/WebKit2WebProcessDebug.vsprops: Added. 5692 * win/WebKit2WebProcessDebugAll.vsprops: Added. 5693 * win/WebKit2WebProcessDebugCairoCFLite.vsprops: Added. 5694 * win/WebKit2WebProcessRelease.vsprops: Added. 5695 * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Added. 5696 * win/WebKit2WebProcessReleaseLTCG.vsprops: Added. 5697 5698 2011-03-29 Jessie Berlin <jberlin (a] apple.com> 5699 5700 Reviewed by Anders Carlsson. 5701 5702 WebKit2: The WebProcess should be relaunched if necessary when WebKit2 is asked for 5703 information about Cookies, Databases, Local Storage, etc. 5704 https://bugs.webkit.org/show_bug.cgi?id=57374 5705 5706 Instead of bailing when the WebProcess is not valid, call relaunchProcessIfNecessary(). 5707 5708 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 5709 (WebKit::WebPluginSiteDataManager::getSitesWithData): 5710 (WebKit::WebPluginSiteDataManager::clearSiteData): 5711 * UIProcess/WebApplicationCacheManagerProxy.cpp: 5712 (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): 5713 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): 5714 (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): 5715 * UIProcess/WebCookieManagerProxy.cpp: 5716 (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): 5717 (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): 5718 (WebKit::WebCookieManagerProxy::deleteAllCookies): 5719 (WebKit::WebCookieManagerProxy::startObservingCookieChanges): 5720 (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): 5721 (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): 5722 * UIProcess/WebDatabaseManagerProxy.cpp: 5723 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 5724 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 5725 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 5726 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 5727 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 5728 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 5729 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 5730 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 5731 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 5732 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 5733 * UIProcess/WebMediaCacheManagerProxy.cpp: 5734 (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): 5735 (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): 5736 (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): 5737 * UIProcess/WebResourceCacheManagerProxy.cpp: 5738 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): 5739 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): 5740 (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): 5741 5742 2011-03-29 Jeff Miller <jeffm (a] apple.com> 5743 5744 Reviewed by Darin Adler. 5745 5746 WebKit2: Support setting the client certificate on Windows 5747 https://bugs.webkit.org/show_bug.cgi?id=57368 5748 5749 Allow setting the client certificate for a host via the injected bundle. 5750 This requires the ability for Webkit2 Windows clients to create a WKCertificateInfo from a PCCERT_CONTEXT so they can send it to the web process. 5751 5752 * Shared/API/c/win/WKCertificateInfoWin.cpp: 5753 (WKCertificateInfoCreateWithCertificate): Added. 5754 * Shared/API/c/win/WKCertificateInfoWin.h: Added WKCertificateInfoCreateWithCertificate(). 5755 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 5756 (WKBundleSetClientCertificate): Added. 5757 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetClientCertificate(). 5758 * WebProcess/InjectedBundle/InjectedBundle.h: Added setClientCertificate(). 5759 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 5760 (WebKit::InjectedBundle::setClientCertificate): Added, should never be called. 5761 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 5762 (WebKit::InjectedBundle::setClientCertificate): Added, should never be called. 5763 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 5764 (WebKit::InjectedBundle::setClientCertificate): Added, should never be called. 5765 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 5766 (WebKit::InjectedBundle::setClientCertificate): Added. 5767 5768 2011-03-29 Timothy Hatcher <timothy (a] apple.com> 5769 5770 Make WebKit2 work with update-webkit-localizable-strings. 5771 5772 https://webkit.org/b/57354 5773 5774 Reviewed by Sam Weinig. 5775 5776 * PluginProcess/mac/PluginProcessMac.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h. 5777 * Shared/WebLocalizableStrings.h: Added. 5778 * UIProcess/API/mac/WKView.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h. 5779 * UIProcess/mac/WebInspectorProxyMac.mm: 5780 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Use UI_STRING. Remove FIXME. 5781 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Remove UI_STRING macros. 5782 Use WebLocalizableStrings.h. 5783 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 5784 (registerErrors): Remove UI_STRING macro. Use WebLocalizableStrings.h. 5785 * WebProcess/mac/WebProcessMac.mm: 5786 (WebKit::WebProcess::platformInitializeWebProcess): Use UI_STRING. Remove FIXME. 5787 5788 * GNUmakefile.am: Added Shared/WebLocalizableStrings.h. 5789 * WebKit2.pro: Ditto. 5790 * WebKit2.xcodeproj/project.pbxproj: Ditto. 5791 * win/WebKit2.vcproj: Ditto. 5792 5793 2011-03-29 Jeff Miller <jeffm (a] apple.com> 5794 5795 Reviewed by Darin Adler. 5796 5797 CoreIPC::decodeResourceError() leaks a CFDataRef 5798 https://bugs.webkit.org/show_bug.cgi?id=57366 5799 5800 * Shared/win/WebCoreArgumentCodersWin.cpp: 5801 (CoreIPC::decodeResourceError): Don't leak the result of WebCore::copyCertificateToData(), since the ResourceError will retain it. 5802 5803 2011-03-29 Anders Carlsson <andersca (a] apple.com> 5804 5805 Reviewed by Sam Weinig. 5806 5807 Allow the AppleConnect plug-in to use the QuickDraw drawing model 5808 https://bugs.webkit.org/show_bug.cgi?id=57365 5809 <rdar://problem/8712320> 5810 5811 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 5812 (WebKit::NetscapePluginModule::determineQuirks): 5813 * Shared/Plugins/PluginQuirks.h: 5814 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 5815 (WebKit::NetscapePlugin::platformPostInitialize): 5816 5817 2011-03-29 Darin Adler <darin (a] apple.com> 5818 5819 Reviewed by Adam Roben. 5820 5821 WebKit2 bundle page needs to offer generated file hooks 5822 https://bugs.webkit.org/show_bug.cgi?id=57279 5823 5824 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added shouldGenerateFileForUpload and 5825 generateFileForUpload callback pointers. 5826 5827 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 5828 (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload): Added. 5829 (WebKit::InjectedBundlePageUIClient::generateFileForUpload): Added. 5830 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added functions above. 5831 5832 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 5833 (WebKit::WebChromeClient::shouldReplaceWithGeneratedFileForUpload): Implemented by 5834 calling the functions above. 5835 (WebKit::WebChromeClient::generateReplacementFile): Ditto. 5836 5837 2011-03-29 Anders Carlsson <andersca (a] apple.com> 5838 5839 Reviewed by Darin Adler. 5840 5841 Assertion failure in plug-in process with clang-built 32/64-bit WebKit2 5842 https://bugs.webkit.org/show_bug.cgi?id=57359 5843 5844 Don't use __alignof when encoding and decoding scalar types. 5845 5846 Darwin 32-bit, double and unsigned long long are 4-byte aligned but on 64-bit they're 5847 8-byte aligned which causes problems when doing IPC between 32-bit and 64-bit processes. 5848 GCC is buggy and returns 8, but clang is correct and returns 4. Use sizeof instead which we know 5849 is equal to or greater than the alignment. 5850 5851 * Platform/CoreIPC/ArgumentDecoder.cpp: 5852 (CoreIPC::ArgumentDecoder::decodeBool): 5853 (CoreIPC::ArgumentDecoder::decodeUInt32): 5854 (CoreIPC::ArgumentDecoder::decodeUInt64): 5855 (CoreIPC::ArgumentDecoder::decodeInt32): 5856 (CoreIPC::ArgumentDecoder::decodeInt64): 5857 (CoreIPC::ArgumentDecoder::decodeFloat): 5858 (CoreIPC::ArgumentDecoder::decodeDouble): 5859 * Platform/CoreIPC/ArgumentEncoder.cpp: 5860 (CoreIPC::ArgumentEncoder::encodeBool): 5861 (CoreIPC::ArgumentEncoder::encodeUInt32): 5862 (CoreIPC::ArgumentEncoder::encodeUInt64): 5863 (CoreIPC::ArgumentEncoder::encodeInt32): 5864 (CoreIPC::ArgumentEncoder::encodeInt64): 5865 (CoreIPC::ArgumentEncoder::encodeFloat): 5866 (CoreIPC::ArgumentEncoder::encodeDouble): 5867 5868 2011-03-29 Brent Fulgham <bfulgham (a] webkit.org> 5869 5870 Unreviewed build fix after r81928. 5871 5872 * win/WebKit2.vcproj: Don't build CG-specific icon routines 5873 for WinCairo port. 5874 5875 2011-03-29 Sam Weinig <sam (a] webkit.org> 5876 5877 Reviewed by Anders Carlsson. 5878 5879 Reproducible crash running under libgmalloc, in -[WKView(Internal) removeTrackingRect:] --> objc_assign_ivar_non_gc 5880 <rdar://problem/9193352> 5881 https://bugs.webkit.org/show_bug.cgi?id=57358 5882 5883 -[WKView removeTrackingRect] can be called from below -[WKView dealloc] after we have 5884 destroyed _data. So, nil out _data after releasing it and nil check it appropriately. 5885 5886 * UIProcess/API/mac/WKView.mm: 5887 (-[WKView dealloc]): 5888 Nil out _data after releasing it. 5889 5890 (-[WKView removeTrackingRect:]): 5891 Add early return for nil _data. 5892 5893 2011-03-29 Jeff Miller <jeffm (a] apple.com> 5894 5895 Reviewed by Jon Honeycutt. 5896 5897 Add WebCore::copyCertificateToData() on Windows 5898 https://bugs.webkit.org/show_bug.cgi?id=57296 5899 5900 Remove duplicate code that implemented this functionality in WebCoreArgumentCodersWin.cpp and use WebCore::copyCertificateToData() instead. 5901 5902 * Shared/win/WebCoreArgumentCodersWin.cpp: 5903 (CoreIPC::decodeResourceError): Use WebCore::copyCertificateToData(). 5904 5905 2011-03-29 Balazs Kelemen <kbalazs (a] webkit.org> 5906 5907 Unreviewed build fix (64 bit gcc). 5908 5909 GCC does not accept uint64_t formatted as %lli. 5910 5911 * UIProcess/WebIconDatabase.cpp: 5912 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Add explicit cast to long long. 5913 5914 2011-03-28 Maciej Stachowiak <mjs (a] apple.com> 5915 5916 Reviewed by Dan Bernstein. 5917 5918 WKPageGetSourceForFrame and WKPageGetContentsAsString should throw an error in case of a race with page loading 5919 https://bugs.webkit.org/show_bug.cgi?id=57305 5920 <rdar://problem/8738060>, <rdar://problem/8780168> 5921 5922 * UIProcess/WebPageProxy.cpp: 5923 (WebKit::WebPageProxy::close): Clear m_loadDependentStringCallbackIDs 5924 (WebKit::WebPageProxy::getSourceForFrame): track the callback as load dependent 5925 (WebKit::WebPageProxy::getContentsAsString): ditto 5926 (WebKit::WebPageProxy::clearLoadDependentCallbacks): Invalidate all load dependent callbacks 5927 (WebKit::WebPageProxy::didCommitLoadForFrame): Call clearLoadDependentCallbacks 5928 (WebKit::WebPageProxy::didFailLoadForFrame): ditto 5929 (WebKit::WebPageProxy::stringCallback): Remove callback from load dependent set if appropriate 5930 (WebKit::WebPageProxy::processDidCrash): Clear m_loadDependentStringCallbackIDs 5931 * UIProcess/WebPageProxy.h: Add m_loadDependentStringCallbackIDs hash set. 5932 5933 2011-03-28 Patrick Gansterer <paroga (a] webkit.org> 5934 5935 Reviewed by Darin Adler. 5936 5937 Use String instead of CString as return value of openTemporaryFile 5938 https://bugs.webkit.org/show_bug.cgi?id=55332 5939 5940 * Shared/WebMemorySampler.cpp: 5941 (WebKit::WebMemorySampler::initializeTempLogFile): 5942 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 5943 (WebKit::NetscapePluginStream::stop): 5944 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 5945 5946 2011-03-28 Brian Weinstein <bweinstein (a] apple.com> 5947 5948 Reviewed by Jon Honeycutt. 5949 5950 WebKit2: Downloads started with DownloadCFNet::start never start 5951 https://bugs.webkit.org/show_bug.cgi?id=57268 5952 5953 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: 5954 (WebKit::Download::start): Call CFURLDownloadStart on the download we create. 5955 5956 2011-03-28 Anders Carlsson <andersca (a] apple.com> 5957 5958 Fix Windows build. 5959 5960 * Shared/ShareableBitmap.h: 5961 5962 2011-03-28 Anders Carlsson <andersca (a] apple.com> 5963 5964 Reviewed by Sam Weinig. 5965 5966 Beep when pressing a menu key equivalent when a plug-in has focus 5967 https://bugs.webkit.org/show_bug.cgi?id=57264 5968 <rdar://problem/8935597> 5969 5970 We don't want the WKTextInputWindowController inputContext to be involved in interpretKeyEvents. 5971 5972 * UIProcess/API/mac/WKView.mm: 5973 (-[WKView inputContext]): 5974 5975 2011-03-28 Anders Carlsson <andersca (a] apple.com> 5976 5977 Reviewed by Sam Weinig. 5978 5979 CGImageRefs must hold a strong reference to underlying data 5980 https://bugs.webkit.org/show_bug.cgi?id=57263 5981 <rdar://problem/9146179> 5982 5983 Make paintBitmapContext use CGBitmapContextCreateImage, which creates a copy-on-write copy 5984 of the bitmap data. Also, add ShareableBitmap::makeCGImageCopy which does the same thing, and 5985 ShareableBitmap::makeCGImage in the cases where we know that the ShareableBitmap data will never change. 5986 5987 * Platform/cg/CGUtilities.cpp: 5988 (WebKit::paintImage): 5989 Factor image painting code out into a separate function. 5990 5991 (WebKit::paintBitmapContext): 5992 Call paintImage. 5993 5994 * Shared/API/c/cg/WKImageCG.cpp: 5995 (WKImagemakeCGImage): 5996 Use ShareableBitmap::makeCGImageCopy. 5997 5998 * Shared/ShareableBitmap.h: 5999 * Shared/cg/ShareableBitmapCG.cpp: 6000 (WebKit::ShareableBitmap::createGraphicsContext): 6001 (WebKit::ShareableBitmap::paint): 6002 (WebKit::ShareableBitmap::makeCGImageCopy): 6003 (WebKit::ShareableBitmap::makeCGImage): 6004 (WebKit::ShareableBitmap::releaseBitmapContextData): 6005 (WebKit::ShareableBitmap::releaseDataProviderData): 6006 Add makeCGImage and makeCGImageCopy. 6007 6008 * Shared/cg/WebCoreArgumentCodersCG.cpp: 6009 (CoreIPC::createImage): 6010 Use ShareableBitmap::makeCGImage. 6011 6012 * UIProcess/API/mac/PageClientImpl.mm: 6013 (WebKit::PageClientImpl::setDragImage): 6014 Use ShareableBitmap::makeCGImage and plug a CGImageRef leak. 6015 6016 2011-03-28 Alexey Proskuryakov <ap (a] apple.com> 6017 6018 Build fix. 6019 6020 * UIProcess/API/mac/WKView.mm: (-[WKView keyDown:]): It's not "event" in this function, it's 6021 "theEvent". 6022 6023 2011-03-28 Alexey Proskuryakov <ap (a] apple.com> 6024 6025 Reviewed by Darin Adler. 6026 6027 https://bugs.webkit.org/show_bug.cgi?id=57260 6028 Clean up text input code a little 6029 6030 * UIProcess/API/mac/WKView.mm: 6031 (-[WKView doCommandBySelector:]): This NSTextInput protocol method lacked a LOG() call. 6032 (-[WKView keyDown:]): Added (possibly useless) event protection to match performKeyEquivalent: 6033 and also WebKit1. 6034 6035 * WebProcess/WebPage/mac/WebPageMac.mm: Removed an obsolete comment. 6036 6037 2011-03-28 Jeff Miller <jeffm (a] apple.com> 6038 6039 Reviewed by Adam Roben. 6040 6041 ResourceError::certificate() should return a PCCERT_CONTEXT 6042 https://bugs.webkit.org/show_bug.cgi?id=57262 6043 6044 * Shared/win/PlatformCertificateInfo.cpp: 6045 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Don't assert if no PCCERT_CONTEXT is specified. 6046 * Shared/win/WebCoreArgumentCodersWin.cpp: 6047 (CoreIPC::encodeResourceError): Removed unneeded code now that ResourceError::certificate() returns a PCCERT_CONTEXT. 6048 6049 2011-03-28 Jeff Miller <jeffm (a] apple.com> 6050 6051 Rubber-stamped by Adam Roben. 6052 6053 Remove unused CFErrorRef. 6054 6055 * Shared/win/WebCoreArgumentCodersWin.cpp: 6056 (CoreIPC::encodeResourceError): Remove unused CFErrorRef. 6057 6058 2011-03-28 Jeff Miller <jeffm (a] apple.com> 6059 6060 Reviewed by Adam Roben. 6061 6062 Include certificate when sending a WebCore::ResourceError to UI process on Windows 6063 https://bugs.webkit.org/show_bug.cgi?id=57195 6064 6065 Add support for sending the certificate with the WebCore::ResourceError. 6066 6067 * Shared/win/WebCoreArgumentCodersWin.cpp: 6068 (CoreIPC::encodeResourceError): Encode certificate data. 6069 (CoreIPC::deallocCertContext): Added. 6070 (CoreIPC::createCertContextDeallocator): Added. 6071 (CoreIPC::copyCert): Added. 6072 (CoreIPC::decodeResourceError): Decode certificate data. 6073 6074 2011-03-27 Andy Estes <aestes (a] apple.com> 6075 6076 Reviewed by Maciej Stachowiak. 6077 6078 Correctly get a plug-in's MIME type when it uses WebPluginMIMETypesFilename 6079 https://bugs.webkit.org/show_bug.cgi?id=57205 6080 6081 If the plug-in's Info.plist uses WebPluginMIMETypesFilename to specify 6082 plug-in MIME types, WebKit has to check for a property list file in 6083 ~/Library/Preferences for the MIME type dictionary. 6084 6085 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 6086 (WebKit::getMIMETypesFromPluginBundle): If the bundle's Info dictionary 6087 has the key WebPluginMIMETypesFilename, open the property list 6088 specified by that key's value and return the MIME type dictionary from 6089 there. Otherwise, return the MIME type dictionary specified by the key 6090 WebPluginMIMETypes. 6091 (WebKit::getPluginInfoFromPropertyLists): Call 6092 getMIMETypesFromPluginBundle(). 6093 6094 2011-03-27 Jer Noble <jer.noble (a] apple.com> 6095 6096 Reviewed by Maciej Stachowiak. 6097 6098 Full Screen: disable keyboard access by default 6099 https://bugs.webkit.org/show_bug.cgi?id=56684 6100 6101 Take into account whether keyboard access was requested when deciding whether full 6102 screen mode is supported. 6103 6104 * UIProcess/WebFullScreenManagerProxy.cpp: 6105 (WebKit::WebFullScreenManagerProxy::supportsFullScreen): 6106 * UIProcess/WebFullScreenManagerProxy.h: 6107 * UIProcess/WebFullScreenManagerProxy.messages.in: 6108 * WebProcess/FullScreen/WebFullScreenManager.cpp: 6109 (WebKit::WebFullScreenManager::supportsFullScreen): 6110 * WebProcess/FullScreen/WebFullScreenManager.h: 6111 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6112 (WebKit::WebChromeClient::supportsFullScreenForElement): 6113 * WebProcess/WebCoreSupport/WebChromeClient.h: 6114 6115 2011-03-27 Anders Carlsson <andersca (a] apple.com> 6116 6117 Reviewed by Sam Weinig. 6118 6119 Dock doesn't come back after leaving fullscreen on Hulu 6120 https://bugs.webkit.org/show_bug.cgi?id=57189 6121 <rdar://problem/9192413> 6122 6123 Port some code over from the old WebKit1 plug-in host. 6124 6125 * PluginProcess/mac/PluginProcessShim.mm: 6126 (WebKit::shimShowMenuBar): 6127 (WebKit::shimHideMenuBar): 6128 (WebKit::shimIsMenuBarVisible): 6129 6130 2011-03-27 Anders Carlsson <andersca (a] apple.com> 6131 6132 Reviewed by Sam Weinig. 6133 6134 Keep a strong reference to the connection to avoid crashes. 6135 6136 * Platform/CoreIPC/Connection.cpp: 6137 6138 2011-03-26 Jeff Miller <jeffm (a] apple.com> 6139 6140 Reviewed by Sam Weinig. 6141 6142 WKErrorCopyCFError() doesn't actually return a copy of the CFErrorRef 6143 https://bugs.webkit.org/show_bug.cgi?id=57172 6144 6145 * Shared/API/c/cf/WKErrorCF.cpp: 6146 (WKErrorCopyCFError): Use RetainPtr<> and leakRef() to return a real copy. 6147 6148 2011-03-26 Maciej Stachowiak <mjs (a] apple.com> 6149 6150 Revert inadvertently committed changes. 6151 6152 * WebProcess/com.apple.WebProcess.sb: 6153 6154 2011-03-26 Jer Noble <jer.noble (a] apple.com> 6155 6156 Reviewed by Eric Carlson. 6157 6158 Enable the Full Screen API by default in WebKit/mac and WebKit2 6159 https://bugs.webkit.org/show_bug.cgi?id=56956 6160 6161 * Shared/WebPreferencesStore.h: Default the fullScreenEnabled preference to true. 6162 6163 2011-03-26 Jeff Miller <jeffm (a] apple.com> 6164 6165 Reviewed by Steve Falkenburg. 6166 6167 Add PlatformCertificateInfo::PlatformCertificateInfo(PCCERT_CONTEXT) constructor on Windows 6168 https://bugs.webkit.org/show_bug.cgi?id=57152 6169 6170 We're going to need to create a PlatformCertificateInfo with a single certificate on Windows to support client certificates. 6171 Also, stop relying on the fact that the Win32 API CertDuplicateCertificateContext() currently returns the same PCCERT_CONTEXT that you pass to it, since that may change in the future. 6172 6173 * Shared/win/PlatformCertificateInfo.cpp: 6174 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor. Use return value from CertDuplicateCertificateContext(). 6175 (WebKit::PlatformCertificateInfo::operator=): Use return value from CertDuplicateCertificateContext(). 6176 * Shared/win/PlatformCertificateInfo.h: Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor. 6177 6178 2011-03-26 Anders Carlsson <andersca (a] apple.com> 6179 6180 Reviewed by Sam Weinig. 6181 6182 Graphic corruption appeared with Silverlight contents while resizing window 6183 https://bugs.webkit.org/show_bug.cgi?id=57167 6184 <rdar://problem/9094052> 6185 6186 Pass DispatchMessageEvenWhenWaitingForSyncReply when sending GeometryDidChange messages since that will guarantee 6187 that those messages will be handled before PaintEntirePlugin messages which prevents the PaintEntirePlugin handler from 6188 painting into the wrong backing store. 6189 6190 * WebProcess/Plugins/PluginProxy.cpp: 6191 (WebKit::PluginProxy::geometryDidChange): 6192 6193 2011-03-26 Sam Weinig <sam (a] webkit.org> 6194 6195 Reviewed by Anders Carlsson. 6196 6197 Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click 6198 <rdar://problem/9067557> 6199 https://bugs.webkit.org/show_bug.cgi?id=57166 6200 6201 * UIProcess/WebPageProxy.cpp: 6202 (WebKit::WebPageProxy::runJavaScriptAlert): 6203 (WebKit::WebPageProxy::runJavaScriptConfirm): 6204 (WebKit::WebPageProxy::runJavaScriptPrompt): 6205 Invalidate the responsiveness timer before calling out to the client. 6206 6207 2011-03-26 Anders Carlsson <andersca (a] apple.com> 6208 6209 Reviewed by Sam Weinig. 6210 6211 ASSERTION FAILED: m_operationInProgress == NoOperation loading nytimes.com 6212 https://bugs.webkit.org/show_bug.cgi?id=57165 6213 <rdar://problem/9024311> 6214 6215 The assertion fired because during GC, the web process sends a synchronous NPObjectMessageReceiver::Deallocate 6216 message to the plug-in process. Since this is a synchronous message, the web process needs to process incoming synchronous 6217 messages. While waiting, we get an incoming PluginProxy::Evaluate message from the plug-in. This causes JavaScript to run 6218 during GC which is very bad. 6219 6220 The fix for this is to add a flag on the connection that will cause synchronous messages sent by the connection (in this case the 6221 plug-in process) to not be processed while the other side (the web process) is waiting for a synchronous reply _unless_ the connection 6222 is actually processing a synchronous message. (The last part is to avoid deadlocks). 6223 6224 Since the call to NPN_Evaluate by the plug-in (that ends up sending the PluginProxy::Evaluate message) comes from a run loop timer firing, 6225 it's OK to wait for it to be processed by the web process when it returns to the run loop. 6226 6227 * Platform/CoreIPC/Connection.cpp: 6228 (CoreIPC::Connection::Connection): 6229 Initialize m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage and m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount. 6230 6231 (CoreIPC::Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage): 6232 Set m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage. 6233 6234 (CoreIPC::Connection::sendMessage): 6235 Don't add the MessageID::DispatchMessageWhenWaitingForSyncReply flag when the right flags has been set on the connection, and it's not processing a synchronous message. 6236 6237 (CoreIPC::Connection::dispatchMessage): 6238 Increment and decrement m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount accordingly. 6239 6240 * PluginProcess/WebProcessConnection.cpp: 6241 (WebKit::WebProcessConnection::WebProcessConnection): 6242 Call setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the connection. 6243 6244 2011-03-26 Sam Weinig <sam (a] webkit.org> 6245 6246 Rollout r82042 (If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)) 6247 6248 -[NSString stringByResolvingSymlinksInPath] does not do what we needed for paths within /private. 6249 This caused all SSL sites to stop working. 6250 6251 * WebProcess/mac/WebProcessMac.mm: 6252 (WebKit::appendSandboxParameterPath): 6253 (WebKit::initializeSandbox): 6254 6255 2011-03-26 Sam Weinig <sam (a] webkit.org> 6256 6257 Reviewed by Anders Carlsson. 6258 6259 If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations) 6260 <rdar://problem/9127411> 6261 https://bugs.webkit.org/show_bug.cgi?id=57164 6262 6263 * WebProcess/mac/WebProcessMac.mm: 6264 (WebKit::appendSandboxParameterPath): 6265 (WebKit::initializeSandbox): 6266 Use -[NSString stringByResolvingSymlinksInPath] instead of realpath to ensure we can resolve 6267 symlinks even if the file/directory doesn't exist yet. 6268 6269 2011-03-26 Anders Carlsson <andersca (a] apple.com> 6270 6271 Reviewed by Sam Weinig. 6272 6273 Factor processing of incoming sync replies out into processIncomingSyncReply 6274 https://bugs.webkit.org/show_bug.cgi?id=57161 6275 6276 * Platform/CoreIPC/Connection.cpp: 6277 (CoreIPC::Connection::sendSyncMessage): 6278 Pass DispatchMessageEvenWhenWaitingForSyncReply to sendMessage. 6279 6280 (CoreIPC::Connection::processIncomingSyncReply): 6281 Move code from processIncomingMessage to here. 6282 6283 (CoreIPC::Connection::processIncomingMessage): 6284 Call processIncomingSyncReply. 6285 6286 2011-03-26 Sam Weinig <sam (a] webkit.org> 6287 6288 Reviewed by Anders Carlsson. 6289 6290 WebKit2: Assert in CoreIPC::typeFromCFTypeRef() when loading a site with an invalid certificate 6291 <rdar://problem/9188041> 6292 https://bugs.webkit.org/show_bug.cgi?id=57159 6293 6294 * Shared/cf/ArgumentCodersCF.cpp: 6295 (CoreIPC::typeFromCFTypeRef): 6296 (CoreIPC::encode): 6297 (CoreIPC::decode): 6298 * Shared/cf/ArgumentCodersCF.h: 6299 Add encoding/decoding for SecCertificateRef type. 6300 6301 * Shared/mac/PlatformCertificateInfo.mm: 6302 (WebKit::PlatformCertificateInfo::encode): 6303 (WebKit::PlatformCertificateInfo::decode): 6304 Use ArgumentCodersCF now that it knows how to encode/decode SecCertificateRefs. 6305 6306 2011-03-26 Anders Carlsson <andersca (a] apple.com> 6307 6308 Reviewed by Sam Weinig. 6309 6310 Handle synchronous replies coming in out of order 6311 https://bugs.webkit.org/show_bug.cgi?id=57158 6312 6313 When processing an incoming reply, don't assume that it belongs to the last sent synchronous request. 6314 Instead, iterate over the m_pendingSyncReplies vector backwards looking for the corresponding request. 6315 6316 * Platform/CoreIPC/Connection.cpp: 6317 (CoreIPC::Connection::processIncomingMessage): 6318 6319 2011-03-26 Anders Carlsson <andersca (a] apple.com> 6320 6321 Reviewed by Sam Weinig. 6322 6323 Fix a possible deadlock when two synchronous messages are sent at the same time 6324 https://bugs.webkit.org/show_bug.cgi?id=57155 6325 6326 Simplify code and fix a possible (although highly improbable) dead lock. 6327 6328 * Platform/CoreIPC/Connection.cpp: 6329 Make SyncMessageState atomically ref counted since it can be ref()'ed from the connection queue. 6330 Get rid of m_waitForSyncReplyCount and add m_didScheduleDispatchMessagesWork. 6331 6332 (CoreIPC::Connection::SyncMessageState::SyncMessageState): 6333 Initialize m_didScheduleDispatchMessagesWork to false. 6334 6335 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 6336 if m_didScheduleDispatchMessagesWork is false, schedule a call to dispatchMessageAndResetDidScheduleDispatchMessagesWork 6337 on the client run loop. 6338 6339 (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork): 6340 Dispatch messages and set m_didScheduleDispatchMessagesWork back to false. 6341 6342 (CoreIPC::Connection::sendSyncMessage): 6343 Remove calls to beginWaitForSyncReply and endWaitForSyncReply. 6344 6345 2011-03-25 Sam Weinig <sam (a] webkit.org> 6346 6347 Reviewed by Adele Peterson. 6348 6349 WKPageLoadAlternateHTMLString doesn't re-spawn a dead WebProcess, but should 6350 <rdar://problem/9191493> 6351 https://bugs.webkit.org/show_bug.cgi?id=57134 6352 6353 Make all load functions respawn a dead WebProcess for consistency. 6354 6355 * UIProcess/WebPageProxy.cpp: 6356 (WebKit::WebPageProxy::loadHTMLString): 6357 Respawn a dead WebProcess. 6358 6359 (WebKit::WebPageProxy::loadAlternateHTMLString): 6360 Respawn a dead WebProcess. 6361 6362 (WebKit::WebPageProxy::loadPlainTextString): 6363 Respawn a dead WebProcess. 6364 6365 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 6366 * UIProcess/WebPageProxy.h: 6367 * UIProcess/WebPageProxy.messages.in: 6368 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6369 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 6370 * WebProcess/WebPage/WebPage.cpp: 6371 (WebKit::WebPage::loadAlternateHTMLString): 6372 Since we may no longer always have a main frame when calling WKPageLoadAlternateHTMLString, 6373 set the unreachable URL, if there is one, on provisional load. 6374 6375 2011-03-25 Anders Carlsson <andersca (a] apple.com> 6376 6377 Reviewed by Sam Weinig. 6378 6379 PluginView's call to invalidateContentsAndWindow() in invalidateRect() is wrong for plug-ins which paint into compositing layers 6380 https://bugs.webkit.org/show_bug.cgi?id=57133 6381 <rdar://problem/9029442> 6382 6383 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 6384 (WebKit::NetscapePlugin::platformInvalidate): 6385 Return true under the Core Animation drawing model, since that prevents the plug-in from calling PluginController::invalidate. 6386 6387 * WebProcess/Plugins/PluginView.cpp: 6388 (WebKit::PluginView::invalidateRect): 6389 Don't call invalidateContentsAndWindow() if the plug-in has a Core Animation layer. 6390 6391 2011-03-25 Brady Eidson <beidson (a] apple.com> 6392 6393 Reviewed by Sam Weinig. 6394 6395 <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56425 6396 WebKit2 IconDatabase and API 6397 6398 This gets a basic, usable API in place. 6399 Enhancements can come in other bugs as they're needed. 6400 6401 * UIProcess/API/C/WKIconDatabase.cpp: 6402 (WKIconDatabaseRetainIconForURL): 6403 (WKIconDatabaseReleaseIconForURL): 6404 (WKIconDatabaseEnableDatabaseCleanup): 6405 * UIProcess/API/C/WKIconDatabase.h: 6406 6407 The first actual accessor for an "icon for a URL" is for a CGImageRef: 6408 * UIProcess/API/C/cg: Added. 6409 * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: Added. 6410 (WKIconDatabaseGetCGImageForURL): 6411 * UIProcess/API/C/cg/WKIconDatabaseCG.h: Added. 6412 6413 Expose relevant methods to support the above API: 6414 * UIProcess/WebIconDatabase.cpp: 6415 (WebKit::WebIconDatabase::WebIconDatabase): New IconDatabases will have cleanup disabled from the start, 6416 and require a single call to "enableDatabaseCleanup" to allow cleanup. 6417 (WebKit::WebIconDatabase::setDatabasePath): 6418 (WebKit::WebIconDatabase::enableDatabaseCleanup): 6419 (WebKit::WebIconDatabase::imageForPageURL): 6420 * UIProcess/WebIconDatabase.h: 6421 6422 Project file stuff: 6423 * WebKit2.xcodeproj/project.pbxproj: 6424 * win/WebKit2.vcproj: 6425 6426 2011-03-25 Jeff Miller <jeffm (a] apple.com> 6427 6428 Reviewed by Darin Adler. 6429 6430 Add CoreIPC::encodeResourceError() and CoreIPC::decodeResourceError() for all platforms 6431 https://bugs.webkit.org/show_bug.cgi?id=57125 6432 6433 Currently, these are only implemented on the Mac, but we're going to need them for Windows as well, so we might as well make them always platform-specific. 6434 In this patch, just replicate the existing common non-Mac implementation in WebCoreArgumentCoders.h to platform-specific files. 6435 6436 * Shared/WebCoreArgumentCoders.h: Move non-Mac implementations of encodeResourceError() and decodeResourceError() to common files. 6437 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 6438 (CoreIPC::encodeResourceError): Added. 6439 (CoreIPC::decodeResourceError): Added. 6440 * Shared/qt/WebCoreArgumentCodersQt.cpp: 6441 (CoreIPC::encodeResourceError): Added. 6442 (CoreIPC::decodeResourceError): Added. 6443 * Shared/win/WebCoreArgumentCodersWin.cpp: 6444 (CoreIPC::encodeResourceError): Added. 6445 (CoreIPC::decodeResourceError): Added. 6446 6447 2011-03-25 Andy Estes <aestes (a] apple.com> 6448 6449 Reviewed by Adele Peterson. 6450 6451 REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js 6452 https://bugs.webkit.org/show_bug.cgi?id=49016 6453 6454 Update objectContentType() implementation to handle the 6455 shouldPreferPlugInsForImages flag. 6456 6457 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6458 (WebKit::WebFrameLoaderClient::objectContentType): 6459 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 6460 6461 2011-03-25 Brent Fulgham <bfulgham (a] webkit.org> 6462 6463 Unreviewed build correction. 6464 6465 Add stubs for WK2 cookie handling with cURL. 6466 6467 * WebProcess/Cookies/curl: Added. 6468 * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added. 6469 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 6470 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 6471 * win/WebKit2.vcproj: 6472 6473 2011-03-25 Steve Falkenburg <sfalken (a] apple.com> 6474 6475 Reviewed by Brian Weinstein. 6476 6477 Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll 6478 https://bugs.webkit.org/show_bug.cgi?id=57119 6479 <rdar://problem/9054148> 6480 6481 This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL 6482 not available in WebKit. The plug-in is fairly widespread, since it was included in 6483 a Windows Update push at one point. 6484 6485 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 6486 (WebKit::PluginInfoStore::shouldUsePlugin): Blacklist npwpf.dll. 6487 6488 2011-03-25 Jessie Berlin <jberlin (a] apple.com> 6489 6490 Reviewed by Anders Carlsson. 6491 6492 WebKit2: Need to be able to set and get the Cookie Storage Policy. 6493 https://bugs.webkit.org/show_bug.cgi?id=50780 6494 6495 Part 2: Make it possible to set the initial policy on Windows. 6496 6497 In WebKit1, we read the initial policy on Windows from WebPreferences at startup. 6498 Since that is not possible in WebKit2, make it possible to specify the initial policy 6499 as a creation parameter to the WebProcess. 6500 6501 * Shared/WebProcessCreationParameters.cpp: 6502 (WebKit::WebProcessCreationParameters::encode): 6503 Encode initialHTTPCookieAcceptPolicy on Windows. 6504 (WebKit::WebProcessCreationParameters::decode): 6505 Decode initialHTTPCookieAcceptPolicy on Windows. 6506 * Shared/WebProcessCreationParameters.h: 6507 6508 * UIProcess/API/C/win/WKContextPrivateWin.h: 6509 * UIProcess/API/C/win/WKContextWin.cpp: 6510 (WKContextSetInitialHTTPCookieAcceptPolicy): 6511 Call through to WebContext. 6512 6513 * UIProcess/WebContext.cpp: 6514 (WebKit::WebContext::WebContext): 6515 Give the initial policy a default of "Always". 6516 * UIProcess/WebContext.h: 6517 (WebKit::WebContext::setInitialHTTPCookieAcceptPolicy): 6518 * UIProcess/win/WebContextWin.cpp: 6519 (WebKit::WebContext::platformInitializeWebProcess): 6520 Set the initial policy on Windows. 6521 6522 * WebProcess/Cookies/WebCookieManager.h: 6523 Make setHTTPCookieAcceptPolicy public so that it can be called from WebProcessWin. 6524 6525 * WebProcess/win/WebProcessWin.cpp: 6526 (WebKit::WebProcess::platformInitializeWebProcess): 6527 Tell the WebCookieManager about the initial policy. 6528 6529 2011-03-25 Jessie Berlin <jberlin (a] apple.com> 6530 6531 Reviewed by Sam Weinig. 6532 6533 WebKit2: Need to be able to set and get the Cookie Storage Policy. 6534 https://bugs.webkit.org/show_bug.cgi?id=50780 6535 6536 * Shared/HTTPCookieAcceptPolicy.h: Added. 6537 6538 * UIProcess/API/C/WKAPICast.h: 6539 (WebKit::toHTTPCookieAcceptPolicy): 6540 (WebKit::toAPI): 6541 6542 * UIProcess/API/C/WKCookieManager.cpp: 6543 (WKCookieManagerSetHTTPCookieAcceptPolicy): 6544 Call through to WebCookieManagerProxy. 6545 (WKCookieManagerGetHTTPCookieAcceptPolicy): 6546 Ditto. 6547 * UIProcess/API/C/WKCookieManager.h: 6548 6549 * UIProcess/WebCookieManagerProxy.cpp: 6550 (WebKit::WebCookieManagerProxy::invalidate): 6551 Invalidate the get http cookie accept policy callbacks. 6552 (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): 6553 Send a message to the Web Process with the new value. 6554 (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): 6555 Keep track of the callback and send a message to the Web Process. 6556 (WebKit::WebCookieManagerProxy::didGetHTTPCookieAcceptPolicy): 6557 Invoke the callback. 6558 * UIProcess/mac/WebCookieManagerProxyMac.mm: Added. 6559 (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy): 6560 On Mac, also set the policy in the UI Process because the sandboxed Web Process cannot 6561 persist the policy. 6562 * UIProcess/WebCookieManagerProxy.h: 6563 * UIProcess/WebCookieManagerProxy.messages.in: 6564 6565 * WebKit2.pri: 6566 * WebKit2.pro: 6567 * WebKit2.xcodeproj/project.pbxproj: 6568 * win/WebKit2.vcproj: 6569 * win/WebKit2Common.vsprops: 6570 6571 * WebProcess/Cookies/WebCookieManager.cpp: 6572 (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy): 6573 Call platformSetHTTPCookieAcceptPolicy. 6574 (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy): 6575 Send the result of platformGetHTTPCookieAcceptPolicy to the UI Process. 6576 * WebProcess/Cookies/WebCookieManager.h: 6577 * WebProcess/Cookies/WebCookieManager.messages.in: 6578 6579 * WebProcess/Cookies/cf: Added. 6580 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Added. 6581 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 6582 Set the policy on both the default cookie storage and any Private Browsing cookie storage. 6583 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 6584 * WebProcess/Cookies/mac: Added. 6585 * WebProcess/Cookies/mac/WebCookieManagerMac.mm: Added. 6586 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 6587 Set the policy on the default cookie storage and add a FIXME to set it on any Private 6588 Browsing cookie storage. 6589 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 6590 6591 * WebProcess/Cookies/gtk: Added. 6592 * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Added. 6593 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 6594 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 6595 * WebProcess/Cookies/qt: Added. 6596 * WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Added. 6597 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): 6598 (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): 6599 6600 2011-03-25 Brian Weinstein <bweinstein (a] apple.com> 6601 6602 Reviewed by Alexey Proskuryakov. 6603 6604 REGRESSION(r79227): CFURLCache not initialized correctly in WebKit2 6605 https://bugs.webkit.org/show_bug.cgi?id=57109 6606 <rdar://problem/9184590> 6607 6608 Check for a trailing Windows path separator, not a Unix path separator. 6609 6610 * UIProcess/win/WebContextWin.cpp: 6611 (WebKit::WebContext::platformInitializeWebProcess): 6612 6613 2011-03-25 Benjamin Poulain <benjamin.poulain (a] nokia.com> 6614 6615 Reviewed by Andreas Kling. 6616 6617 [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled 6618 https://bugs.webkit.org/show_bug.cgi?id=57087 6619 6620 Use explicit conversion for string to avoid depending on the default codec 6621 installed by the user code. 6622 6623 * Platform/qt/SharedMemoryQt.cpp: 6624 (WebKit::SharedMemory::create): 6625 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 6626 (WebKit::initializeGTK): 6627 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: 6628 (tst_QGraphicsWKView::loadEmptyPage): 6629 (tst_QGraphicsWKView::loadEmptyUrl): 6630 * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp: 6631 (tst_QWKPage::loadEmptyUrl): 6632 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 6633 (WebKit::ProcessLauncher::launchProcess): 6634 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 6635 (WebKit::getPluginDisplay): 6636 * WebProcess/qt/WebProcessMainQt.cpp: 6637 (WebKit::EnvHttpProxyFactory::initializeFromEnvironment): 6638 (WebKit::WebProcessMainQt): 6639 6640 2011-03-25 Brent Fulgham <bfulgham (a] webkit.org> 6641 6642 Correct project file missing $(WebKitVSPropsRedirectionDir)s 6643 after r81924. 6644 6645 * win/WebKit2.vcproj: Restore lost $(WebKitVSPropsRedirectionDir) 6646 6647 2011-03-25 Alejandro G. Castro <alex (a] igalia.com> 6648 6649 Reviewed by Martin Robinson. 6650 6651 [WK2] Consider .c files in the generate-forwarding-headers script 6652 https://bugs.webkit.org/show_bug.cgi?id=56680 6653 6654 * Scripts/generate-forwarding-headers.pl: 6655 6656 2011-03-24 Sheriff Bot <webkit.review.bot (a] gmail.com> 6657 6658 Unreviewed, rolling out r81916 and r81917. 6659 http://trac.webkit.org/changeset/81916 6660 http://trac.webkit.org/changeset/81917 6661 https://bugs.webkit.org/show_bug.cgi?id=57071 6662 6663 broke a test on platforms that do not have QuickTime installed 6664 (Requested by estes on #webkit). 6665 6666 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6667 (WebKit::WebFrameLoaderClient::objectContentType): 6668 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 6669 6670 2011-03-24 Brady Eidson <beidson (a] apple.com> 6671 6672 Reviewed by Darin Adler. 6673 6674 https://bugs.webkit.org/show_bug.cgi?id=57069 6675 Add WKIconDatabase api to the project files, and expose accessor on WKContext. 6676 6677 Project file stuffs: 6678 * GNUmakefile.am: 6679 * WebKit2.xcodeproj/project.pbxproj: 6680 * win/WebKit2.vcproj: 6681 6682 * Shared/API/c/WKBase.h: 6683 * UIProcess/API/C/WKAPICast.h: 6684 6685 * UIProcess/API/C/WKContext.cpp: 6686 (WKContextGetIconDatabase): 6687 * UIProcess/API/C/WKContext.h: 6688 6689 * UIProcess/API/C/WKIconDatabase.cpp: Added. 6690 (WKIconDatabaseGetTypeID): 6691 * UIProcess/API/C/WKIconDatabase.h: Added. 6692 6693 * UIProcess/WebContext.h: 6694 (WebKit::WebContext::iconDatabase): 6695 6696 2011-03-24 Brent Fulgham <bfulgham (a] webkit.org> 6697 6698 Build correction. 6699 6700 Disable the CA Layer stuff when building with Cairo. 6701 6702 * win/WebKit2.vcproj: 6703 6704 2011-03-24 Brady Eidson <beidson (a] apple.com> 6705 6706 Reviewed by Sam Weinig. 6707 6708 https://bugs.webkit.org/show_bug.cgi?id=57058 6709 Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation 6710 6711 * UIProcess/WebIconDatabase.cpp: 6712 (WebKit::WebIconDatabase::WebIconDatabase): 6713 (WebKit::WebIconDatabase::setDatabasePath): Create a new WebCore::IconDatabase and open it to this path. 6714 (WebKit::WebIconDatabase::retainIconForPageURL): Actually retain the url, using the impl. 6715 (WebKit::WebIconDatabase::releaseIconForPageURL): Actually release the url, using the impl. 6716 (WebKit::WebIconDatabase::setIconURLForPageURL): Actually set the url, using the impl. 6717 (WebKit::WebIconDatabase::setIconDataForIconURL): Actually set the data, using the impl. 6718 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Actually ask for a load decision to call back with. 6719 (WebKit::WebIconDatabase::performImport): 6720 (WebKit::WebIconDatabase::didImportIconURLForPageURL): 6721 (WebKit::WebIconDatabase::didImportIconDataForPageURL): 6722 (WebKit::WebIconDatabase::didChangeIconForPageURL): 6723 (WebKit::WebIconDatabase::didRemoveAllIcons): 6724 (WebKit::WebIconDatabase::didFinishURLImport): Notify all the pending callbacks what their load decisions 6725 are now that they're available. 6726 * UIProcess/WebIconDatabase.h: 6727 6728 Add an IconDatabase logging channel: 6729 * Platform/Logging.cpp: 6730 (WebKit::initializeLogChannelsIfNecessary): 6731 * Platform/Logging.h: 6732 6733 * UIProcess/WebContext.cpp: 6734 (WebKit::WebContext::setIconDatabasePath): Pass the new path on to the WebIconDatabase, possibly 6735 opening it. 6736 * UIProcess/WebContext.h: 6737 6738 2011-03-24 Andy Estes <aestes (a] apple.com> 6739 6740 Reviewed by Darin Adler. 6741 6742 REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js 6743 https://bugs.webkit.org/show_bug.cgi?id=49016 6744 6745 Update objectContentType() implementation to handle the 6746 shouldPreferPlugInsForImages flag. 6747 6748 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6749 (WebKit::WebFrameLoaderClient::objectContentType): 6750 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 6751 6752 2011-03-24 Adam Roben <aroben (a] apple.com> 6753 6754 Start compiling LayerTreeHostCA on Windows 6755 6756 Fixes <http://webkit.org/b/57060> WebKit2.vcproj should compile LayerTreeHostCA 6757 6758 Reviewed by Anders Carlsson. 6759 6760 * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Added. 6761 (WebKit::LayerTreeHostCA::platformInitialize): 6762 (WebKit::LayerTreeHostCA::scheduleLayerFlush): 6763 (WebKit::LayerTreeHostCA::platformInvalidate): 6764 (WebKit::LayerTreeHostCA::platformSizeDidChange): 6765 (WebKit::LayerTreeHostCA::platformForceRepaint): 6766 (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush): 6767 Stubbed out. 6768 6769 * win/WebKit2.vcproj: Added new files. Let VS reorder existing files. 6770 6771 * win/WebKit2Apple.vsprops: Added WebProcess\WebPage\ca to the include path. 6772 6773 2011-03-24 Jer Noble <jer.noble (a] apple.com> 6774 6775 Unreviewed build fix. 6776 6777 Remove reference to LayerTreeHostMac.h from WebFullScreenManagerMac.mm. 6778 6779 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 6780 6781 2011-03-24 Adam Roben <aroben (a] apple.com> 6782 6783 Split Mac-specific parts of LayerTreeHostCA into LayerTreeHostCAMac.mm 6784 6785 Fixes <http://webkit.org/b/57046> LayerTreeHostMac's code should be shareable with Windows 6786 6787 Reviewed by Anders Carlsson. 6788 6789 * WebKit2.xcodeproj/project.pbxproj: 6790 6791 * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.mm. 6792 (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some Mac-specific code to 6793 LayerTreeHostCAMac.mm. 6794 (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Wrapped some Mac-specific code in 6795 PLATFORM(MAC). 6796 6797 (WebKit::LayerTreeHostCA::invalidate): 6798 (WebKit::LayerTreeHostCA::sizeDidChange): 6799 (WebKit::LayerTreeHostCA::forceRepaint): 6800 Moved some Mac-specific code to LayerTreeHostCAMac.mm. 6801 6802 (WebKit::LayerTreeHostCA::performScheduledLayerFlush): Renamed from 6803 flushPendingLayerChangesRunLoopObserverCallback. Moved some code from here... 6804 (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush): ...to here. Moved some 6805 Mac-specific code to LayerTreeHostCAMac.mm. 6806 6807 * WebProcess/WebPage/ca/LayerTreeHostCA.h: Added new functions, wrapped some Mac-specific 6808 declarations in PLATFORM(MAC). 6809 6810 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: Added. 6811 (WebKit::LayerTreeHostCA::platformInitialize): 6812 (WebKit::LayerTreeHostCA::scheduleLayerFlush): 6813 (WebKit::LayerTreeHostCA::platformInvalidate): 6814 (WebKit::LayerTreeHostCA::platformSizeDidChange): 6815 (WebKit::LayerTreeHostCA::platformForceRepaint): 6816 (WebKit::LayerTreeHostCA::flushPendingLayerChangesRunLoopObserverCallback): 6817 (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush): 6818 Code was extracted from LayerTreeHostCA.cpp. 6819 6820 2011-03-24 Adam Roben <aroben (a] apple.com> 6821 6822 Rename LayerTreeHostMac to LayerTreeHostCA 6823 6824 This is the first step toward sharing code with Windows. 6825 6826 Fixes <http://webkit.org/b/57051>. 6827 6828 Reviewed by Anders Carlsson. 6829 6830 * WebKit2.xcodeproj/project.pbxproj: 6831 * WebProcess/WebPage/LayerTreeHost.cpp: 6832 (WebKit::LayerTreeHost::create): 6833 Updated for rename. 6834 6835 * WebProcess/WebPage/ca/LayerTreeHostCA.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h. 6836 * WebProcess/WebPage/ca/LayerTreeHostCA.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm. 6837 6838 2011-03-17 Jer Noble <jer.noble (a] apple.com> 6839 6840 Reviewed by Maciej Stachowiak. 6841 6842 WebKit2: Cancelling full screen early leaves full screen window up. 6843 https://bugs.webkit.org/show_bug.cgi?id=56589 6844 6845 No new tests, as WebKitTestRunner does not currently support the new Full Screen API. 6846 6847 Notify the UIProcess when it needs to tear down its layer hosting view, turn off 6848 the background layer when not in accelerated rendering mode and don't swap out 6849 the web view unnecessarily 6850 6851 * UIProcess/mac/WKFullScreenWindowController.mm: 6852 (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Check before swapping _webView. 6853 (-[WKFullScreenWindowController enterAcceleratedCompositingMode:]): Add the _layerHostingView 6854 to the full screen window's animationView, not its contentsView. 6855 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Hide the background layer. 6856 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 6857 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): If given a null rootLayer, tell 6858 the client to exit accelerated mode. 6859 6860 2011-03-24 Enrica Casucci <enrica (a] apple.com> 6861 6862 Reviewed by Alexey Proskuryakov. 6863 6864 WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working. 6865 https://bugs.webkit.org/show_bug.cgi?id=56975 6866 <rdar://problem/8915066> 6867 6868 Adding missing entry point to support Mac OS X services in WebKit2. 6869 6870 * UIProcess/API/mac/WKView.mm: 6871 (-[WKView readSelectionFromPasteboard:]): Added. 6872 * UIProcess/WebPageProxy.h: 6873 * UIProcess/mac/WebPageProxyMac.mm: 6874 (WebKit::WebPageProxy::readSelectionFromPasteboard): Added. 6875 * WebProcess/WebPage/WebPage.h: 6876 * WebProcess/WebPage/WebPage.messages.in: Added synchronous 6877 message. 6878 * WebProcess/WebPage/mac/WebPageMac.mm: 6879 (WebKit::WebPage::readSelectionFromPasteboard): Added. 6880 6881 2011-03-24 Jia Pu <jpu (a] apple.com> 6882 6883 Reviewed by Darin Adler. 6884 6885 Dismissed reversion suggestion is incorrectly learned. 6886 https://bugs.webkit.org/show_bug.cgi?id=57039 6887 6888 CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView]. 6889 [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel 6890 is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes 6891 incorrect automatic learning. 6892 6893 * UIProcess/mac/CorrectionPanel.mm: 6894 (WebKit::CorrectionPanel::dismissInternal): 6895 6896 2011-03-24 Brian Weinstein <bweinstein (a] apple.com> 6897 6898 Reviewed by Adam Roben. 6899 6900 WebKit2: Add Trackpoint driver hack to support IBM trackpads 6901 https://bugs.webkit.org/show_bug.cgi?id=49830 6902 <rdar://problem/8705951> 6903 6904 Copy code from WebKit1 to WebKit2 to handle initializing fake scrollbars so 6905 IBM machines with a trackpad send us WM_VSCROLL and WM_HSCROLL messages. 6906 6907 Listen for the WM_VSCROLL and WM_HSCROLL messages, and turn the values into 6908 ScrollDirection and ScrollGranularity, and send a scroll command to the 6909 WebProcess. 6910 6911 * UIProcess/WebPageProxy.cpp: 6912 (WebKit::WebPageProxy::scrollBy): Send a message to the WebProcess. 6913 * UIProcess/WebPageProxy.h: 6914 * UIProcess/win/WebView.cpp: 6915 (WebKit::WebView::wndProc): Add WM_VSCROLL and WM_HSCROLL message handling. 6916 (WebKit::WebView::initialize): Call shouldInitializeTrackPointHack. 6917 (WebKit::WebView::onHorizontalScroll): Turn wParam into a ScrollDirection and ScrollGranularity. 6918 (WebKit::WebView::onVerticalScroll): Ditto. 6919 (WebKit::WebView::shouldInitializeTrackPointHack): Check the registry for keys that indicate 6920 the machine has a IBM Trackpoint driver. 6921 * UIProcess/win/WebView.h: 6922 * WebProcess/WebPage/WebPage.cpp: 6923 (WebKit::WebPage::scrollBy): Call scroll method. 6924 (WebKit::WebPage::scroll): Moved from WebPageMac and WebPageWin. 6925 (WebKit::WebPage::logicalScroll): Ditto. 6926 * WebProcess/WebPage/WebPage.h: 6927 * WebProcess/WebPage/WebPage.messages.in: Add a new scrollBy message. 6928 * WebProcess/WebPage/mac/WebPageMac.mm: Remove scroll and logicalScroll, they are now in WebPage.cpp. 6929 * WebProcess/WebPage/win/WebPageWin.cpp: Ditto. 6930 6931 2011-03-24 Sam Weinig <sam (a] webkit.org> 6932 6933 Reviewed by Darin Adler. 6934 6935 Dictionary text extraction is not correctly detecting word boundaries on bing.com 6936 <rdar://problem/9078569> 6937 https://bugs.webkit.org/show_bug.cgi?id=56995 6938 6939 * Shared/DictionaryPopupInfo.cpp: 6940 (WebKit::DictionaryPopupInfo::encode): 6941 (WebKit::DictionaryPopupInfo::decode): 6942 * Shared/DictionaryPopupInfo.h: 6943 Add options dictionary. 6944 6945 * UIProcess/API/mac/PageClientImpl.mm: 6946 (WebKit::PageClientImpl::didPerformDictionaryLookup): 6947 Add path that can pass options through. 6948 6949 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 6950 (WebKit::WebContextMenuClient::lookUpInDictionary): 6951 Use the new performDictionaryLookupForSelection which can extract context 6952 if supported. 6953 6954 * WebProcess/WebPage/WebPage.h: 6955 * WebProcess/WebPage/mac/WebPageMac.mm: 6956 (WebKit::characterRangeAtPositionForPoint): 6957 (WebKit::characterRangeAtPoint): 6958 Split functionality out of characterRangeAtPoint and into 6959 characterRangeAtPositionForPoint to avoid doing duplicate work 6960 if you already have the position. 6961 6962 (WebKit::isPositionInRange): 6963 (WebKit::shouldUseSelection): 6964 Add predicate to determine if we should use the selection instead 6965 of expanding to find the word we are over. 6966 6967 (WebKit::WebPage::performDictionaryLookupAtLocation): 6968 If available, use the surrounding paragraph as context to get better extraction 6969 and to get lexicographical information about the word. Also, clean up and use 6970 editing APIs to make the code more concise and understandable. 6971 6972 (WebKit::WebPage::performDictionaryLookupForSelection): 6973 Use similar logic as in performDictionaryLookupAtLocation to extract additional 6974 details from a selection for use in the dictionary popup. 6975 6976 (WebKit::WebPage::performDictionaryLookupForRange): 6977 Pass options to WebProcess if available. 6978 6979 2011-03-24 Jon Lee <jonlee (a] apple.com> 6980 6981 Reviewed by Darin Adler. 6982 6983 WebKit2: Tabbing from the last focused field to a non-webpage element leaves the selection in a weird state 6984 <rdar://problem/8553962> 6985 6986 * WebProcess/WebPage/WebPage.cpp: 6987 (WebKit::WebPage::setFocused): When the page loses focus, clear out any selection in the frame 6988 6989 2011-03-24 Brian Weinstein <bweinstein (a] apple.com> 6990 6991 Rubber-stamped by Sam Weinig. 6992 6993 Fix a typo in the VK_LEFT case of performDefaultBehaviorForKeyEvent. 6994 6995 * WebProcess/WebPage/mac/WebPageMac.mm: 6996 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): It should be a logical or, 6997 not a bitwise or. 6998 6999 2011-03-24 Jeff Miller <jeffm (a] apple.com> 7000 7001 Fix typo - USE(CF_NETWORK) should be USE(CFNETWORK). 7002 7003 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 7004 (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): USE(CF_NETWORK) should be USE(CFNETWORK) 7005 7006 2011-03-23 Jia Pu <jpu (a] apple.com> 7007 7008 Reviewed by Darin Adler. 7009 7010 Hook up new AppKit autocorrection UI with WK2. 7011 https://bugs.webkit.org/show_bug.cgi?id=56055 7012 <rdar://problem/8947463> 7013 7014 Please see WebCore/ChangeLog for detail. 7015 7016 The calls to AppKit are implemented in PageClientImpl. Other changes are necessary for the 7017 plumbing work. 7018 7019 * UIProcess/API/mac/PageClientImpl.h: 7020 * UIProcess/API/mac/PageClientImpl.mm: 7021 (WebKit::PageClientImpl::showCorrectionPanel): 7022 (WebKit::PageClientImpl::dismissCorrectionPanel): 7023 (WebKit::PageClientImpl::dismissCorrectionPanelSoon): 7024 (WebKit::PageClientImpl::recordAutocorrectionResponse): 7025 * UIProcess/API/mac/WKView.mm: 7026 (-[WKView spellCheckerDocumentTag]): 7027 (-[WKView handleCorrectionPanelResult:]): 7028 * UIProcess/API/mac/WKViewPrivate.h: 7029 * UIProcess/PageClient.h: 7030 * UIProcess/WebPageProxy.cpp: 7031 (WebKit::WebPageProxy::didCommitLoadForFrame): 7032 (WebKit::WebPageProxy::showCorrectionPanel): 7033 (WebKit::WebPageProxy::dismissCorrectionPanel): 7034 (WebKit::WebPageProxy::dismissCorrectionPanelSoon): 7035 (WebKit::WebPageProxy::recordAutocorrectionResponse): 7036 (WebKit::WebPageProxy::handleCorrectionPanelResult): 7037 * UIProcess/WebPageProxy.h: 7038 * UIProcess/WebPageProxy.messages.in: 7039 * UIProcess/mac/CorrectionPanel.h: Added. 7040 (WebKit::CorrectionPanel::isShowing): 7041 * UIProcess/mac/CorrectionPanel.mm: Added. 7042 (correctionBubbleType): 7043 (WebKit::CorrectionPanel::CorrectionPanel): 7044 (WebKit::CorrectionPanel::~CorrectionPanel): 7045 (WebKit::CorrectionPanel::show): 7046 (WebKit::CorrectionPanel::dismiss): 7047 (WebKit::CorrectionPanel::dismissSoon): 7048 (WebKit::CorrectionPanel::dismissInternal): 7049 (WebKit::CorrectionPanel::recordAutocorrectionResponse): 7050 * WebKit2.xcodeproj/project.pbxproj: 7051 * WebProcess/WebCoreSupport/WebEditorClient.h: 7052 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 7053 (WebKit::WebEditorClient::showCorrectionPanel): 7054 (WebKit::WebEditorClient::dismissCorrectionPanel): 7055 (WebKit::WebEditorClient::dismissCorrectionPanelSoon): 7056 (WebKit::WebEditorClient::recordAutocorrectionResponse): 7057 * WebProcess/WebPage/WebPage.cpp: 7058 (WebKit::WebPage::handleCorrectionPanelResult): 7059 * WebProcess/WebPage/WebPage.h: 7060 * WebProcess/WebPage/WebPage.messages.in: 7061 7062 2011-03-23 Brian Weinstein <bweinstein (a] apple.com> 7063 7064 Reviewed by Maciej Stachowiak. 7065 7066 WebKit2: Need API to manage the Media Cache 7067 https://bugs.webkit.org/show_bug.cgi?id=56878 7068 <rdar://problem/9082503> 7069 7070 Call through to HTMLMediaElement functions to manage the WebCore media cache. 7071 7072 * WebProcess/MediaCache/WebMediaCacheManager.cpp: 7073 (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): 7074 (WebKit::WebMediaCacheManager::clearCacheForHostname): 7075 (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): 7076 7077 2011-03-23 Jeff Miller <jeffm (a] apple.com> 7078 7079 Reviewed by Darin Adler. 7080 7081 Add WKBundleSetHostAllowsAnyHTTPSCertificate() for Windows 7082 https://bugs.webkit.org/show_bug.cgi?id=56972 7083 7084 This is the WebKit2 equivalent to the WebKit1 API IWebMutableURLRequest::setAllowsAnyHTTPSCertificate(). 7085 7086 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 7087 (WKBundleSetHostAllowsAnyHTTPSCertificate): Added. 7088 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetHostAllowsAnyHTTPSCertificate(). 7089 * WebProcess/InjectedBundle/InjectedBundle.h: Added setHostAllowsAnyHTTPSCertificate(). 7090 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 7091 (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called. 7092 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 7093 (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called. 7094 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 7095 (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called. 7096 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 7097 (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added. 7098 7099 2011-03-23 Sam Weinig <sam (a] webkit.org> 7100 7101 Reviewed by Anders Carlsson. 7102 7103 Roll out r81593 Need WebKit2 API for creating a page with a specific main frame name 7104 7105 This API is not necessary. 7106 7107 * Shared/WebPageCreationParameters.cpp: 7108 (WebKit::WebPageCreationParameters::encode): 7109 (WebKit::WebPageCreationParameters::decode): 7110 * Shared/WebPageCreationParameters.h: 7111 * UIProcess/API/mac/WKView.h: 7112 * UIProcess/API/mac/WKView.mm: 7113 (-[WKView initWithFrame:]): 7114 (-[WKView initWithFrame:contextRef:]): 7115 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 7116 * UIProcess/WebPageProxy.cpp: 7117 (WebKit::WebPageProxy::creationParameters): 7118 * UIProcess/WebPageProxy.h: 7119 * WebProcess/WebPage/WebFrame.cpp: 7120 (WebKit::WebFrame::createMainFrame): 7121 * WebProcess/WebPage/WebFrame.h: 7122 * WebProcess/WebPage/WebPage.cpp: 7123 (WebKit::WebPage::WebPage): 7124 7125 2011-03-23 Balazs Kelemen <kbalazs (a] webkit.org> 7126 7127 Reviewed by Andreas Kling. 7128 7129 [WK2] Handle keyboard and mouse events on X11 7130 https://bugs.webkit.org/show_bug.cgi?id=56103 7131 7132 Propagate keyboard and mouse events to the plugin 7133 as XEvent's. 7134 7135 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 7136 (WebKit::initializeXEvent): 7137 (WebKit::xTimeStamp): 7138 (WebKit::xKeyModifiers): 7139 (WebKit::setCommonMouseEventFields): 7140 (WebKit::setXMotionEventFields): 7141 (WebKit::setXButtonEventFields): 7142 (WebKit::setXCrossingEventFields): 7143 (WebKit::NetscapePlugin::platformHandleMouseEvent): 7144 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 7145 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 7146 (WebKit::setXKeyEventFields): 7147 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 7148 7149 2011-03-23 Anders Carlsson <andersca (a] apple.com> 7150 7151 Reviewed by Sam Weinig. 7152 7153 Connection::SyncMessageState::processIncomingMessage should ignore whether the message is sync or not 7154 https://bugs.webkit.org/show_bug.cgi?id=56954 7155 7156 This is so we'll eventually be able to send sync messages that aren't processed immediately if the 7157 destination is waiting for a reply to another synchronous message. 7158 7159 * Platform/CoreIPC/Connection.cpp: 7160 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 7161 Only check for the DispatchMessageWhenWaitingForSyncReply flag. 7162 7163 (CoreIPC::Connection::sendSyncMessage): 7164 Add both DispatchMessageWhenWaitingForSyncReply and SyncMessage to the message ID. 7165 7166 * Platform/CoreIPC/Connection.h: 7167 (CoreIPC::Connection::sendSync): 7168 (CoreIPC::Connection::deprecatedSendSync): 7169 No need to add SyncMessage here anymore. 7170 7171 2011-03-23 Brian Weinstein <bweinstein (a] apple.com> 7172 7173 Qt Build Fix. 7174 7175 * DerivedSources.pro: 7176 7177 2011-03-22 Brian Weinstein <bweinstein (a] apple.com> 7178 7179 Reviewed by Darin Adler. 7180 7181 WebKit2: Need API to manage the Media Cache 7182 https://bugs.webkit.org/show_bug.cgi?id=56878 7183 <rdar://problem/9082503> 7184 7185 Project File Fun: 7186 * GNUmakefile.am: 7187 * WebKit2.pri: 7188 * WebKit2.pro: 7189 * WebKit2.xcodeproj/project.pbxproj: 7190 * win/WebKit2.vcproj: 7191 * win/WebKit2Common.vsprops: 7192 * win/WebKit2Generated.make: 7193 7194 Derived Sources and API fun: 7195 * DerivedSources.make: 7196 * DerivedSources.pro: 7197 * Platform/CoreIPC/MessageID.h: 7198 * Shared/API/c/WKBase.h: 7199 * Shared/APIObject.h: 7200 * UIProcess/API/C/WKAPICast.h: 7201 7202 * UIProcess/WebProcessProxy.cpp: 7203 (WebKit::WebProcessProxy::didReceiveMessage): Add a case for MediaCache messages. 7204 * WebProcess/WebProcess.cpp: 7205 (WebKit::WebProcess::didReceiveMessage): Ditto. 7206 7207 * UIProcess/WebContext.cpp: 7208 (WebKit::WebContext::WebContext): Initialize the WebMediaCacheManagerProxy member variable. 7209 (WebKit::WebContext::~WebContext): Invalidate the WebMediaCacheManagerProxy. 7210 (WebKit::WebContext::disconnectProcess): Ditto. 7211 (WebKit::WebContext::didReceiveMessage): Add a case for MediaCache messages. 7212 * UIProcess/WebContext.h: 7213 (WebKit::WebContext::mediaCacheManagerProxy): 7214 7215 * UIProcess/API/C/WKContext.cpp: 7216 (WKContextGetMediaCacheManager): Returns the context's WebMediaCacheManager. 7217 * UIProcess/API/C/WKContext.h: 7218 7219 * UIProcess/API/C/WKMediaCacheManager.cpp: Added. 7220 (WKMediaCacheManagerGetTypeID): Returns the WebMediaCacheManagerProxy type. 7221 (WKMediaCacheManagerGetHostnamesWithMediaCache): Calls down to the WebMediaCacheManagerProxy. 7222 (WKMediaCacheManagerClearCacheForHostname): Ditto. 7223 (WKMediaCacheManagerClearCacheForAllHostnames): Ditto. 7224 * UIProcess/API/C/WKMediaCacheManager.h: Added. 7225 7226 * UIProcess/WebMediaCacheManagerProxy.cpp: Added. 7227 (WebKit::WebMediaCacheManagerProxy::create): 7228 (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy): 7229 (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy): 7230 (WebKit::WebMediaCacheManagerProxy::invalidate): 7231 (WebKit::WebMediaCacheManagerProxy::didReceiveMessage): 7232 (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Call through to the WebProcess. 7233 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Process the WebProcess response, 7234 and call the callback. 7235 (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Call through to the WebProcess. 7236 (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Call through to the WebProcess. 7237 * UIProcess/WebMediaCacheManagerProxy.h: Added. 7238 (WebKit::WebMediaCacheManagerProxy::clearContext): 7239 (WebKit::WebMediaCacheManagerProxy::type): 7240 * UIProcess/WebMediaCacheManagerProxy.messages.in: Added. 7241 7242 * WebProcess/MediaCache: Added. 7243 * WebProcess/MediaCache/WebMediaCacheManager.cpp: Added. 7244 (WebKit::WebMediaCacheManager::shared): 7245 (WebKit::WebMediaCacheManager::WebMediaCacheManager): 7246 (WebKit::WebMediaCacheManager::didReceiveMessage): 7247 (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Added a FIXME to call through to WebCore. 7248 (WebKit::WebMediaCacheManager::clearCacheForHostname): Ditto. 7249 (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Ditto. 7250 * WebProcess/MediaCache/WebMediaCacheManager.h: Added. 7251 * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Added. 7252 7253 2011-03-22 Brady Eidson <beidson (a] apple.com> 7254 7255 Reviewed by Sam Weinig. 7256 7257 Add asynchronous load decision call to WebKit2 IconDatabase 7258 https://bugs.webkit.org/show_bug.cgi?id=56887 7259 7260 * UIProcess/WebIconDatabase.cpp: 7261 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): In the future, get the actual load decision from the database. 7262 For now, always message "IconLoadNo" back to the WebProcess. 7263 * UIProcess/WebIconDatabase.h: 7264 * UIProcess/WebIconDatabase.messages.in: 7265 7266 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 7267 (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): Message the UIProcess for the load decision. 7268 (WebKit::WebIconDatabaseProxy::receivedIconLoadDecision): Callback into WebCore with the received load decision. 7269 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: 7270 * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in: 7271 7272 2011-03-23 Chris Fleizach <cfleizach (a] apple.com> 7273 7274 Reviewed by Darin Adler. 7275 7276 REGRESSION: WK2: AX: PDF in Safari no longer accessible. 7277 https://bugs.webkit.org/show_bug.cgi?id=56849 7278 7279 The WKView needs to know when to return the WKPDFView and when to return 7280 the remote web process connection. 7281 7282 * UIProcess/API/mac/PDFViewController.h: 7283 (WebKit::PDFViewController::pdfView): 7284 * UIProcess/API/mac/WKView.mm: 7285 (-[WKView accessibilityFocusedUIElement]): 7286 (-[WKView accessibilityHitTest:]): 7287 (-[WKView accessibilityAttributeValue:]): 7288 7289 2011-03-21 Stephanie Lewis <slewis (a] apple.com> 7290 7291 Reviewed by Simon Fraser. 7292 7293 https://bugs.webkit.org/show_bug.cgi?id=56798 7294 Wrap autorelease pools around calls that can have pathological memory growth on Membuster. 7295 Only wrap the main runloop because some background threads are not expected to call into 7296 objc and an autorelease pool could mask bugs. 7297 7298 * Platform/mac/RunLoopMac.mm: 7299 (RunLoop::performWork): 7300 (RunLoop::TimerBase::timerFired): 7301 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 7302 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback): 7303 7304 2011-03-22 Anders Carlsson <andersca (a] apple.com> 7305 7306 Reviewed by Sam Weinig. 7307 7308 OBJECT element with DivX source is always downloaded 7309 https://bugs.webkit.org/show_bug.cgi?id=56879 7310 7311 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 7312 (WebKit::getPluginInfoFromPropertyLists): 7313 Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in 7314 specifies multiple file extensions in a single element. 7315 7316 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7317 (WebKit::pluginSupportsExtension): 7318 Add a new helper function. 7319 7320 (WebKit::WebFrameLoaderClient::objectContentType): 7321 If we can't find the MIME for an extension, explicitly check if there's a plugin that claims to 7322 handle the given extension. 7323 7324 2011-03-22 Brady Eidson <beidson (a] apple.com> 7325 7326 Reviewed by Sam Weinig. 7327 7328 Rename the synchronous icon database messages to be prefixed with "synchronous" 7329 7330 * UIProcess/WebIconDatabase.cpp: 7331 (WebKit::WebIconDatabase::synchronousIconDataForPageURL): 7332 (WebKit::WebIconDatabase::synchronousIconURLForPageURL): 7333 (WebKit::WebIconDatabase::synchronousIconDataKnownForIconURL): 7334 (WebKit::WebIconDatabase::synchronousLoadDecisionForIconURL): 7335 * UIProcess/WebIconDatabase.h: 7336 * UIProcess/WebIconDatabase.messages.in: 7337 7338 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 7339 (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL): 7340 7341 2011-03-22 Sam Weinig <sam (a] webkit.org> 7342 7343 Rubber-stamped by Anders Carlsson. 7344 7345 Loading a new tab does not dismiss Lookup 7346 <rdar://problem/9138391> 7347 7348 * UIProcess/API/mac/WKView.mm: 7349 (-[WKView viewDidMoveToWindow]): 7350 Hide the dictionary popup when moving the WKView out of a window. 7351 7352 2011-03-22 Anders Carlsson <andersca (a] apple.com> 7353 7354 Reviewed by Sam Weinig. 7355 7356 Microsoft Silverlight playback shows artifacts 7357 https://bugs.webkit.org/show_bug.cgi?id=56863 7358 <rdar://problem/9103136> 7359 7360 * PluginProcess/PluginControllerProxy.cpp: 7361 (WebKit::PluginControllerProxy::paint): 7362 If the plug-in is transparent, clear the dirty rect before painting. 7363 7364 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 7365 (WebKit::NetscapePluginModule::determineQuirks): 7366 Add the MakeTransparentIfBackgroundAttributeExists quirk for Silverlight plug-ins. 7367 7368 * Shared/Plugins/PluginQuirks.h: 7369 Add MakeTransparentIfBackgroundAttributeExists quirk. 7370 7371 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7372 (WebKit::NPN_SetValue): 7373 Handle NPPVpluginTransparentBool. 7374 7375 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7376 (WebKit::NetscapePlugin::NetscapePlugin): 7377 Initialize m_isTransparent to false. 7378 7379 (WebKit::NetscapePlugin::setIsTransparent): 7380 Set m_isTransparent. 7381 7382 (WebKit::NetscapePlugin::initialize): 7383 If the plug-in has the MakeTransparentIfBackgroundAttributeExists quirk, make it transparent 7384 if there's a 'background' attribute. 7385 7386 (WebKit::NetscapePlugin::isTransparent): 7387 Add getter. 7388 7389 * WebProcess/Plugins/Plugin.h: 7390 Add isTransparent(). 7391 7392 * WebProcess/Plugins/PluginProxy.cpp: 7393 (WebKit::PluginProxy::paint): 7394 Always copy the plug-in backing store to the plug-in proxy backing store. 7395 7396 (WebKit::PluginProxy::isTransparent): 7397 Add getter that should never be called. 7398 7399 (WebKit::PluginProxy::update): 7400 Always copy the plug-in backing store to the plug-in proxy backing store. 7401 7402 2011-03-22 Anders Carlsson <andersca (a] apple.com> 7403 7404 Reviewed by Sam Weinig. 7405 7406 Crash when calling PluginProxy::evaluate on a destroyed plug-in 7407 https://bugs.webkit.org/show_bug.cgi?id=56848 7408 <rdar://problem/9168975> 7409 7410 Return early if the NPObject doesn't exist anymore. 7411 7412 * WebProcess/Plugins/PluginProxy.cpp: 7413 (WebKit::PluginProxy::evaluate): 7414 7415 2011-03-22 Sam Weinig <sam (a] webkit.org> 7416 7417 Reviewed by Adam Roben. 7418 7419 WebKit2: Cannot make a selection past the end of the visible page (no autoscrolling) 7420 <rdar://problem/8823874> 7421 https://bugs.webkit.org/show_bug.cgi?id=56847 7422 7423 * Shared/mac/WebEventFactory.mm: 7424 (WebKit::currentMouseButton): 7425 (WebKit::mouseButtonForEvent): 7426 Add mouse button for mouseEnter/Exit events. [NSEvent buttonNumber] doesn't seem to give the right result 7427 for these events, but getting the currentMouseButton does work. 7428 7429 2011-03-21 Brady Eidson <beidson (a] apple.com> 7430 7431 Fix Mac release builds after https://bugs.webkit.org/show_bug.cgi?id=56783 7432 7433 * Platform/mac/Logging.mac.mm: 7434 7435 2011-03-21 Brady Eidson <beidson (a] apple.com> 7436 7437 Reviewed by Brian Weinstein. 7438 7439 https://bugs.webkit.org/show_bug.cgi?id=56783 7440 Actually hook up WebKit2 logging on Mac. 7441 7442 * Platform/Logging.cpp: 7443 (WebKit::initializeLogChannel): 7444 * Platform/Logging.h: 7445 * Platform/mac/Logging.mac.mm: Added. 7446 (WebKit::initializeLogChannel): 7447 7448 * UIProcess/WebContext.cpp: 7449 (WebKit::WebContext::WebContext): Initialize logging if necessary. 7450 7451 * WebKit2.xcodeproj/project.pbxproj: 7452 7453 2011-03-21 Alexey Proskuryakov <ap (a] apple.com> 7454 7455 Reviewed by Darin Adler. 7456 7457 REGRESSION (r81269): WebKit2 gets into an infinite recursion after an unhandled command key 7458 https://bugs.webkit.org/show_bug.cgi?id=56782 7459 <rdar://problem/9151993> 7460 7461 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent): 7462 Factored out code for resending an event and moved it to WKView. 7463 7464 * UIProcess/API/mac/WKView.mm: 7465 (-[WKView performKeyEquivalent:]): Don't zero out _keyDownEventBeingResent, it's easier 7466 to just do that in _resendKeyDownEvent:. 7467 (-[WKView keyDown:]): Ditto. 7468 (-[WKView _resendKeyDownEvent:]): Moved from PageClientImpl.mm. Added an assertion that we 7469 are not already resending an event - it would be too confusing if we ever had to do that, 7470 but looks like this never happens. 7471 7472 * UIProcess/API/mac/WKViewInternal.h: Exposed _resendKeyDownEvent. 7473 7474 2011-03-21 Anders Carlsson <andersca (a] apple.com> 7475 7476 Reviewed by Sam Weinig. 7477 7478 QT plug-in fails to load contextual menu 7479 https://bugs.webkit.org/show_bug.cgi?id=56777 7480 <rdar://problem/8979033> 7481 7482 Open a Carbon resource map and make it the current map when calling NP_Initialize. 7483 7484 * Platform/Module.cpp: 7485 (WebKit::Module::Module): 7486 Initialize m_bundleResourceMap to -1. 7487 7488 * Platform/Module.h: 7489 Add m_bundleResourceMap. 7490 7491 * Platform/mac/ModuleMac.mm: 7492 (WebKit::Module::unload): 7493 Close the resource map. 7494 7495 (WebKit::Module::bundleResourceMap): 7496 Open a resource map if necessary. 7497 7498 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 7499 (WebKit::NetscapePluginModule::tryLoad): 7500 Get the resource map and make it current before calling NP_Initialize. 7501 7502 2011-03-21 Anders Carlsson <andersca (a] apple.com> 7503 7504 Reviewed by Sam Weinig. 7505 7506 Plug-in process crashes if it fails to load a plug-in module 7507 https://bugs.webkit.org/show_bug.cgi?id=56775 7508 7509 * PluginProcess/PluginControllerProxy.cpp: 7510 (WebKit::PluginControllerProxy::initialize): 7511 If NetscapePlugin::create returns null, call removePluginControllerProxy with a null plug-in. 7512 7513 * PluginProcess/WebProcessConnection.cpp: 7514 (WebKit::WebProcessConnection::removePluginControllerProxy): 7515 Remove an incorrect assertion. Don't invalidate the remote object map if the plug-in is null. 7516 7517 2011-03-21 Anders Carlsson <andersca (a] apple.com> 7518 7519 Reviewed by Sam Weinig. 7520 7521 QT plug-in loads controller at top of movie not bottom 7522 https://bugs.webkit.org/show_bug.cgi?id=56764 7523 <rdar://problem/8979037> 7524 7525 Create a layer with geometryFlipped set and add the plug-in layer as a sublayer, 7526 matching WebKit1. 7527 7528 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 7529 (WebKit::NetscapePlugin::platformPostInitialize): 7530 7531 2011-03-21 Sam Weinig <sam (a] webkit.org> 7532 7533 Reviewed by Anders Carlsson. 7534 7535 WebKit2 needs preferences to change security knobs 7536 https://bugs.webkit.org/show_bug.cgi?id=56762 7537 7538 Add preferences for WebSecurityEnabled, UniversalAccessFromFileURLsAllowed 7539 and FileAccessFromFileURLsAllowed. 7540 7541 * Shared/WebPreferencesStore.h: 7542 * UIProcess/API/C/WKPreferences.cpp: 7543 (WKPreferencesSetWebSecurityEnabled): 7544 (WKPreferencesGetWebSecurityEnabled): 7545 (WKPreferencesSetUniversalAccessFromFileURLsAllowed): 7546 (WKPreferencesGetUniversalAccessFromFileURLsAllowed): 7547 (WKPreferencesSetFileAccessFromFileURLsAllowed): 7548 (WKPreferencesGetFileAccessFromFileURLsAllowed): 7549 * UIProcess/API/C/WKPreferencesPrivate.h: 7550 * WebProcess/WebPage/WebPage.cpp: 7551 (WebKit::WebPage::updatePreferences): 7552 7553 2011-03-21 Sam Weinig <sam (a] webkit.org> 7554 7555 Reviewed by Anders Carlsson. 7556 7557 Remove old DrawingArea and LayerHostingView code from WKView. 7558 7559 * UIProcess/API/mac/WKView.mm: 7560 (-[WKView drawRect:]): 7561 (-[WKView hitTest:]): 7562 (-[WKView WebKit::]): 7563 7564 2011-03-21 Sam Weinig <sam (a] webkit.org> 7565 7566 Reviewed by Anders Carlsson. 7567 7568 Need WebKit2 API for creating a page with a specific main frame name 7569 https://bugs.webkit.org/show_bug.cgi?id=56759 7570 7571 * Shared/WebPageCreationParameters.cpp: 7572 (WebKit::WebPageCreationParameters::encode): 7573 (WebKit::WebPageCreationParameters::decode): 7574 * Shared/WebPageCreationParameters.h: 7575 Add mainFrameName to creation parameters. 7576 7577 * UIProcess/API/mac/WKView.h: 7578 * UIProcess/API/mac/WKView.mm: 7579 (-[WKView initWithFrame:]): 7580 (-[WKView initWithFrame:contextRef:]): 7581 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 7582 (-[WKView initWithFrame:contextRef:pageGroupRef:mainFrameName:]): 7583 Add new initializer which takes a main frame name. 7584 7585 * UIProcess/WebPageProxy.cpp: 7586 (WebKit::WebPageProxy::setMainFrameName): 7587 (WebKit::WebPageProxy::creationParameters): 7588 * UIProcess/WebPageProxy.h: 7589 Store the main frame name for initialization/re-initialization. 7590 7591 * WebProcess/WebPage/WebFrame.cpp: 7592 (WebKit::WebFrame::createMainFrame): 7593 * WebProcess/WebPage/WebFrame.h: 7594 * WebProcess/WebPage/WebPage.cpp: 7595 (WebKit::WebPage::WebPage): 7596 Pass the name to main frame creation. 7597 7598 2011-03-20 Bill Budge <bbudge (a] chromium.org> 7599 7600 Reviewed by Adam Barth. 7601 7602 Rename ThreadSafeShared to ThreadSafeRefCounted 7603 https://bugs.webkit.org/show_bug.cgi?id=56714 7604 7605 No new tests. Exposes no new functionality. 7606 7607 * Platform/CoreIPC/Connection.h: 7608 * Platform/WorkQueue.h: 7609 * Platform/win/WorkQueueWin.cpp: 7610 * UIProcess/Launcher/ProcessLauncher.h: 7611 * UIProcess/Launcher/ThreadLauncher.h: 7612 7613 2011-03-19 Anton D'Auria <adauria (a] apple.com> 7614 7615 Reviewed by Alexey Proskuryakov. 7616 7617 ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin 7618 https://bugs.webkit.org/show_bug.cgi?id=56415 7619 7620 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: calling ApplicationCacheGroup::deleteCacheGroupsForOrigin 7621 instead of ApplicationCacheStorage::deleteEntriesForOrigin. 7622 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): 7623 7624 2011-03-18 Sam Weinig <sam (a] webkit.org> 7625 7626 Attempt to fix the WinCairo build. 7627 7628 * win/WebKit2.vcproj: 7629 7630 2011-03-18 Anders Carlsson <andersca (a] apple.com> 7631 7632 Reviewed by Dan Bernstein. 7633 7634 Empty gray page after going back from a PDF 7635 https://bugs.webkit.org/show_bug.cgi?id=56694 7636 <rdar://problem/8811854> 7637 7638 Update m_frameHasCustomRepresentation when loading a page that's in the page cache. 7639 7640 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7641 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 7642 7643 2011-03-18 Anders Carlsson <andersca (a] apple.com> 7644 7645 Reviewed by Sam Weinig. 7646 7647 Crash when sending a sync message ends up invalidating the connection 7648 https://bugs.webkit.org/show_bug.cgi?id=56686 7649 <rdar://problem/9048781> 7650 7651 Guard against a null client. 7652 7653 * Platform/CoreIPC/Connection.cpp: 7654 (CoreIPC::Connection::sendSyncMessage): 7655 7656 2011-03-18 Balazs Kelemen <kbalazs (a] webkit.org> 7657 7658 Reviewed by Benjamin Poulain. 7659 7660 [Qt][WK2] Need a way to debug the web process after the UI process dies 7661 https://bugs.webkit.org/show_bug.cgi?id=56116 7662 7663 Allow the web process to outlive it's parent process 7664 in debug builds if the QT_WEBKIT_KEEP_ALIVE_WEB_PROCESS 7665 environment variable is set. 7666 7667 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 7668 (WebKit::QtWebProcess::setupChildProcess): Used getenv 7669 since the prctl call is already in a Linux-only block 7670 and the implementation in this file is a candidate 7671 for sharing across ports in the future. 7672 7673 2011-03-18 Darin Adler <darin (a] apple.com> 7674 7675 Reviewed by Anders Carlsson. 7676 7677 Command-period does not stop load when page has focus in WebKit2 7678 https://bugs.webkit.org/show_bug.cgi?id=56601 7679 7680 * UIProcess/API/mac/WKView.mm: 7681 (-[WKView doCommandBySelector:]): If called outside interpretKeyEvents, 7682 call through to super. 7683 (-[WKView insertText:]): Assert that we are inside interpretKeyEvents. 7684 (-[WKView unmarkText]): Ditto. 7685 (-[WKView setMarkedText:selectedRange:]): Ditto. 7686 (-[WKView _interceptKeyEvent:]): Set a flag to indicate we are inside 7687 interpretKeyEvents for use by the above. 7688 7689 2011-03-18 Brady Eidson <beidson (a] apple.com> 7690 7691 Reviewed by Sam Weinig. 7692 7693 https://bugs.webkit.org/show_bug.cgi?id=56425 7694 More groundwork for WebKit2 IconDatabase 7695 7696 -Update the synchronous method names to be prefixed with "synchronous." 7697 -Add empty implementations for the asynchronous accessors. 7698 7699 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 7700 (WebKit::WebIconDatabaseProxy::setEnabled): 7701 (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL): 7702 (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL): 7703 (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL): 7704 (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL): 7705 (WebKit::WebIconDatabaseProxy::supportsAsynchronousMode): 7706 (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): 7707 (WebKit::WebIconDatabaseProxy::iconDataForIconURL): 7708 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: 7709 7710 2011-03-18 Alejandro G. Castro <alex (a] igalia.com> 7711 7712 Reviewed by Martin Robinson. 7713 7714 Fixed compilation after r80925. 7715 7716 * GNUmakefile.am: 7717 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: Added. 7718 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 7719 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 7720 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): 7721 (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): 7722 (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): 7723 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): 7724 (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): 7725 (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): 7726 (WebKit::WebFullScreenManagerProxy::getFullScreenRect): 7727 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Added. 7728 (WebKit::WebFullScreenManagerGtk::WebFullScreenManagerGtk): 7729 (WebKit::WebFullScreenManager::create): 7730 (WebKit::WebFullScreenManagerGtk::setRootFullScreenLayer): 7731 (WebKit::WebFullScreenManagerGtk::beginEnterFullScreenAnimation): 7732 (WebKit::WebFullScreenManagerGtk::beginExitFullScreenAnimation): 7733 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Added. 7734 7735 2011-03-18 Alejandro G. Castro <alex (a] igalia.com> 7736 7737 Unreviewed, fixed compilation after r81208. 7738 7739 * GNUmakefile.am: 7740 7741 2011-03-18 John Sullivan <sullivan (a] apple.com> 7742 7743 Reviewed by Dan Bernstein. 7744 7745 https://bugs.webkit.org/show_bug.cgi?id=56645 7746 Assertion fires when hidden Find-on-Page matches are encountered in WebKit2 7747 7748 * WebProcess/WebPage/FindController.cpp: 7749 (WebKit::FindController::updateFindIndicator): 7750 Bail out if the selection rect is empty, before trying to generate an appropriately-sized 7751 bitmap. (Previously it was bailing out afterwards, but encountering an assertion in debug 7752 builds along the way.) 7753 7754 2011-03-18 Mark Rowe <mrowe (a] apple.com> 7755 7756 Rubber-stamped by Jon Honeycutt. 7757 7758 <rdar://problem/9153929> PluginProcess fails to launch due to PluginProcessShim.dylib building for 64-bit only 7759 7760 Fix a bogus change from r81392 that made PluginProcessShim.xcconfig import DebugRelease.xcconfig. 7761 As its name suggests, DebugRelease.xcconfig is only applicable for the debug and release configurations. 7762 It overrides the valid build architectures and also restricts the build to only the active architecture. 7763 7764 * Configurations/PluginProcessShim.xcconfig: Import BaseTarget.xcconfig instead. This is what 7765 each target-specific .xcconfig file should import. 7766 7767 2011-03-17 Mark Rowe <mrowe (a] apple.com> 7768 7769 Fix the build. 7770 7771 * WebKit2.xcodeproj/project.pbxproj: 7772 7773 2011-03-17 Anders Carlsson <andersca (a] apple.com> 7774 7775 Reviewed by Sam Weinig. 7776 7777 Implement PluginProcessProxy::setFullscreenWindowIsShowing 7778 https://bugs.webkit.org/show_bug.cgi?id=56618 7779 7780 * UIProcess/Plugins/PluginProcessProxy.cpp: 7781 (WebKit::PluginProcessProxy::PluginProcessProxy): 7782 Initialize m_fullscreenWindowIsShowing. 7783 7784 (WebKit::PluginProcessProxy::didClose): 7785 if m_fullscreenWindowIsShowing is true, call exitFullscreen. 7786 7787 * UIProcess/Plugins/PluginProcessProxy.h: 7788 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 7789 (WebKit::PluginProcessProxy::getPluginProcessSerialNumber): 7790 Add helper function for getting a PSN for the plug-in process. 7791 7792 (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess): 7793 Make the plug-in process the front process. 7794 7795 (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess): 7796 Make the current process (the UI process) the front process. 7797 7798 (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing): 7799 Call enterFullscreen or exitFullscreen. 7800 7801 (WebKit::PluginProcessProxy::enterFullscreen): 7802 Make the plug-in process the front process and hide the menu bar. 7803 7804 (WebKit::PluginProcessProxy::exitFullscreen): 7805 Show the menu bar and if necessary make the UI process the front process. 7806 7807 (WebKit::PluginProcessProxy::endModal): 7808 call makeUIProcessTheFrontProcess. 7809 7810 (WebKit::PluginProcessProxy::applicationDidBecomeActive): 7811 Call makePluginProcessTheFrontProcess. 7812 7813 2011-03-17 Adam Roben <aroben (a] apple.com> 7814 7815 Make bidi text in <select> menus in WebKit2 on Windows match WebKit1 7816 7817 Fixes <http://webkit.org/b/56614> 3 <select> bidi tests failing on Windows 7 Release 7818 (WebKit2 Tests) 7819 7820 Reviewed by Sam Weinig. 7821 7822 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 7823 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): 7824 (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): 7825 On Windows, return the same values we return in WebKit1. 7826 7827 2011-03-17 Anders Carlsson <andersca (a] apple.com> 7828 7829 Reviewed by Sam Weinig. 7830 7831 Implement PluginProcessProxy::setModalWindowIsShowing 7832 https://bugs.webkit.org/show_bug.cgi?id=56615 7833 7834 * UIProcess/Plugins/PluginProcessProxy.cpp: 7835 (WebKit::PluginProcessProxy::PluginProcessProxy): 7836 Initialize m_modalWindowIsShowing. 7837 7838 (WebKit::PluginProcessProxy::didClose): 7839 If m_modalWindowIsShowing is true, we must call endModal. 7840 7841 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 7842 (-[WKPlaceholderModalWindow _wantsUserAttention]): 7843 Add a WKPlaceholderModalWindow. 7844 7845 (WebKit::PluginProcessProxy::setModalWindowIsShowing): 7846 Call beginModal or endModal depending on whether we're showing a modal window or not. 7847 7848 (WebKit::PluginProcessProxy::beginModal): 7849 Create a fake window and start a nested run loop. Listen for NSApplicationWillBecomeActiveNotification notifications. 7850 7851 (WebKit::PluginProcessProxy::endModal): 7852 Tear down the window and the run loop. 7853 7854 (WebKit::PluginProcessProxy::applicationDidBecomeActive): 7855 Make sure that the plug-in process is frontmost. 7856 7857 2011-03-17 Jeff Miller <jeffm (a] apple.com> 7858 7859 Reviewed by Adam Roben. 7860 7861 Web page shouldn't swallow alt-key combinations on Windows 7862 https://bugs.webkit.org/show_bug.cgi?id=56612 7863 7864 Make Alt+Left Arrow and Alt+Right Arrow go back and forward, but make 7865 sure any alt-key combinations bubble up to the client. 7866 7867 * WebProcess/WebPage/win/WebPageWin.cpp: 7868 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Make Alt+Left Arrow and Alt+Right Arrow go back and forward, ignore any other alt-key combinations. 7869 7870 2011-03-17 Anders Carlsson <andersca (a] apple.com> 7871 7872 Reviewed by Sam Weinig. 7873 7874 Send SetModalWindowIsShowing and SetFullscreenWindowIsShowing messages to the UI process 7875 https://bugs.webkit.org/show_bug.cgi?id=56610 7876 7877 * PluginProcess/mac/PluginProcessMac.mm: 7878 (WebKit::FullscreenWindowTracker::FullscreenWindowTracker): 7879 Add fullscreen window tracker class. 7880 7881 (WebKit::rectCoversAnyScreen): 7882 Return whether the given rect covers any screen. 7883 7884 (WebKit::windowCoversAnyScreen): 7885 Return whether the given window covers any screen. 7886 7887 (WebKit::FullscreenWindowTracker::windowShown): 7888 If we're showing a fullscreen window, call PluginProcess::setFullscreenWindowIsShowing. 7889 7890 (WebKit::FullscreenWindowTracker::windowHidden): 7891 If we're hiding the last fullscreen window, call PluginProcess::setFullscreenWindowIsShowing. 7892 7893 (WebKit::cocoaWindowShown): 7894 (WebKit::cocoaWindowHidden): 7895 (WebKit::carbonWindowShown): 7896 (WebKit::carbonWindowHidden): 7897 Call the window tracking functions. 7898 7899 (WebKit::setModal): 7900 Call PluginProcess::setModalWindowIsShowing. 7901 7902 (WebKit::PluginProcess::setModalWindowIsShowing): 7903 (WebKit::PluginProcess::setFullscreenWindowIsShowing): 7904 Send CoreIPC messages. 7905 7906 * UIProcess/Plugins/PluginProcessProxy.h: 7907 * UIProcess/Plugins/PluginProcessProxy.messages.in: 7908 Add new messages. 7909 7910 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 7911 (WebKit::PluginProcessProxy::setModalWindowIsShowing): 7912 (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing): 7913 Add stubs. 7914 7915 2011-03-17 Sam Weinig <sam (a] webkit.org> 7916 7917 Reviewed by Brady Eidson. 7918 7919 Allow passing a certificate chain as a user message 7920 <rdar://problem/8951709> 7921 https://bugs.webkit.org/show_bug.cgi?id=56605 7922 7923 * Shared/API/c/mac/WKCertificateInfoMac.h: 7924 * Shared/API/c/mac/WKCertificateInfoMac.mm: 7925 (WKCertificateInfoCreateWithCertficateChain): 7926 Added. Creates a WKCertificate from a certificate chain. 7927 7928 * Shared/UserMessageCoders.h: 7929 (WebKit::UserMessageEncoder::baseEncode): 7930 (WebKit::UserMessageDecoder::baseDecode): 7931 Add encoding/decoding of WebCertificateInfo. 7932 7933 2011-03-17 Anders Carlsson <andersca (a] apple.com> 7934 7935 Reviewed by Sam Weinig. 7936 7937 Add PluginProcessShim hooks for when windows are shown and hidden 7938 https://bugs.webkit.org/show_bug.cgi?id=56597 7939 7940 * Configurations/PluginProcessShim.xcconfig: 7941 Add HEADER_SEARCH_PATHS so we can find WebKitSystemInterface.h. 7942 7943 * PluginProcess/mac/PluginProcessMac.mm: 7944 (WebKit::cocoaWindowShown): 7945 (WebKit::cocoaWindowHidden): 7946 (WebKit::carbonWindowShown): 7947 (WebKit::carbonWindowHidden): 7948 (WebKit::setModal): 7949 (WebKit::PluginProcess::initializeShim): 7950 Add empty stubs. 7951 7952 * PluginProcess/mac/PluginProcessShim.h: 7953 * PluginProcess/mac/PluginProcessShim.mm: 7954 (WebKit::beginModal): 7955 (WebKit::endModal): 7956 Keep a modal count and call setModal accordingly. 7957 7958 (WebKit::shim_NSApplication_RunModalForWindow): 7959 (WebKit::shimModalDialog): 7960 (WebKit::shimAlert): 7961 Call beginModal/endModal. 7962 7963 (WebKit::shimShowWindow): 7964 (WebKit::shimHideWindow): 7965 Call the shim functions. 7966 7967 (WebKit::WebKitPluginProcessShimInitialize): 7968 Listen for notifications and call the necessary shim functions. 7969 7970 * WebKit2.xcodeproj/project.pbxproj: 7971 Link the plug-in process shim with AppKit and QuartzCore and WKSI. 7972 7973 2011-03-17 Jeff Miller <jeffm (a] apple.com> 7974 7975 Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically: 7976 7977 *.mode* 7978 *.pbxuser 7979 *.perspective* 7980 project.xcworkspace 7981 xcuserdata 7982 7983 * WebKit2.xcodeproj: Modified property svn:ignore. 7984 7985 2011-03-17 Sam Weinig <sam (a] webkit.org> 7986 7987 Reviewed by Anders Carlsson. 7988 7989 WKErrors need the PeerCertificateChain for certificate errors 7990 <rdar://problem/8951784> 7991 https://bugs.webkit.org/show_bug.cgi?id=56592 7992 7993 * Shared/WebCoreArgumentCoders.h: 7994 Special case encoding/decoding of ResourceErrors for the mac. 7995 7996 * Shared/mac/PlatformCertificateInfo.h: 7997 * Shared/mac/PlatformCertificateInfo.mm: 7998 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 7999 Add constructor that take the PeerCertificateChain as CFArrayRef. 8000 8001 * Shared/mac/WebCoreArgumentCodersMac.mm: 8002 (CoreIPC::encodeResourceError): 8003 (CoreIPC::decodeResourceError): 8004 Add encode/decode for ResourceError using the underlying NSError 8005 and encoding/decoding as much of the userInfo as we know how to. 8006 Right now this includes all string values and the PeerCertificateChain. 8007 8008 2011-03-17 John Sullivan <sullivan (a] apple.com> 8009 8010 Reviewed by Adam Roben. 8011 8012 https://bugs.webkit.org/show_bug.cgi?id=56574 8013 Dealloc'ing a WKView can leave a stale reference to it in NSWindow 8014 8015 * UIProcess/API/mac/WKView.mm: 8016 (-[WKView viewWillMoveToWindow:]): 8017 Clear the outgoing window's growBoxOwner if it is this view. 8018 8019 2011-03-17 Anders Carlsson <andersca (a] apple.com> 8020 8021 Rubber-stamped by John Sullivan. 8022 8023 Rename PluginProcessShim.cpp to PluginProcessShim.mm. 8024 8025 * PluginProcess/mac/PluginProcessShim.cpp: Removed. 8026 * PluginProcess/mac/PluginProcessShim.mm: Copied from PluginProcess/mac/PluginProcessShim.cpp. 8027 * WebKit2.xcodeproj/project.pbxproj: 8028 8029 2011-03-17 Anders Carlsson <andersca (a] apple.com> 8030 8031 Reviewed by Darin Adler. 8032 8033 Invalidate all NPObjects for a plug-in when that plug-in is destroyed 8034 https://bugs.webkit.org/show_bug.cgi?id=56511 8035 <rdar://problem/8993491> 8036 8037 Before this change, we would invalidate NPObjectProxy objects and delete NPObjectMessageReceiver 8038 objects when the last plug-in of a certain type was destroyed. Doing so caused us to hold on to memory 8039 which we don't need, and could also lead to crashes if the NPObjectMessageReceiver would get a message and 8040 tried to invoke it on a already deallocated NPObject. 8041 8042 * PluginProcess/PluginControllerProxy.cpp: 8043 (WebKit::PluginControllerProxy::initialize): 8044 If we fail to initialize, call removePluginControllerProxy instead of having WebProcessConnection do so. 8045 8046 (WebKit::PluginControllerProxy::destroy): 8047 Pass the plug-in to removePluginControllerProxy. 8048 8049 * PluginProcess/WebProcessConnection.cpp: 8050 (WebKit::WebProcessConnection::removePluginControllerProxy): 8051 Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed. 8052 8053 (WebKit::WebProcessConnection::createPlugin): 8054 Don't call removePluginControllerProxy if the plug-in fails to initialize. PluginControllerProxy::initialize now 8055 takes care of doing this. 8056 8057 * Shared/Plugins/NPObjectMessageReceiver.cpp: 8058 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 8059 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 8060 * Shared/Plugins/NPObjectMessageReceiver.h: 8061 Remove m_shouldReleaseObjectWhenInvalidating, we now know that no NPObjects will have been deallocated 8062 by the time the NPObjectMessageReceiver is destroyed. 8063 8064 (WebKit::NPObjectMessageReceiver::plugin): 8065 Add getter. 8066 8067 * Shared/Plugins/NPObjectProxy.h: 8068 (WebKit::NPObjectProxy::plugin): 8069 Add getter. 8070 8071 * Shared/Plugins/NPRemoteObjectMap.cpp: 8072 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap): 8073 Remove m_isInvalidating. 8074 8075 (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed): 8076 Simplify code. 8077 8078 (WebKit::NPRemoteObjectMap::pluginDestroyed): 8079 Rename invalidate to pluginDestroyed. Only invalidate/delete objects that belong to the given plug-in. 8080 8081 * Shared/Plugins/NPRemoteObjectMap.h: 8082 Remove m_isInvalidating. 8083 8084 * WebProcess/Plugins/PluginProcessConnection.cpp: 8085 (WebKit::PluginProcessConnection::removePluginProxy): 8086 Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed. 8087 8088 2011-03-17 Oleg Romashin <oleg.romashin (a] nokia.com> 8089 8090 Reviewed by Anders Carlsson. 8091 8092 Teach WebKit2 messages.py generator to ifdef headers include 8093 which are related to ifdef-ed methods/types 8094 https://bugs.webkit.org/show_bug.cgi?id=55658 8095 8096 * Scripts/webkit2/messages.py: 8097 * Scripts/webkit2/messages_unittest.py: 8098 8099 2011-03-16 Joseph Pecoraro <joepeck (a] webkit.org> 8100 8101 Reviewed by Kenneth Rohde Christiansen. 8102 8103 Viewport no longer allows an auto value for "user-scalable" 8104 https://bugs.webkit.org/show_bug.cgi?id=55416 8105 8106 Make the default value for userScalable be true. 8107 8108 * UIProcess/API/qt/qwkpage.cpp: 8109 (QWKPage::viewportAttributesForSize): 8110 8111 2011-03-16 Anders Carlsson <andersca (a] apple.com> 8112 8113 Reviewed by Dan Bernstein. 8114 8115 NPObjectProxy and NPObjectMessageReceiver objects should know their Plugin object 8116 https://bugs.webkit.org/show_bug.cgi?id=56506 8117 8118 * PluginProcess/PluginControllerProxy.cpp: 8119 (WebKit::PluginControllerProxy::windowScriptNPObject): 8120 (WebKit::PluginControllerProxy::pluginElementNPObject): 8121 (WebKit::PluginControllerProxy::evaluate): 8122 (WebKit::PluginControllerProxy::getPluginScriptableNPObject): 8123 * Shared/Plugins/NPObjectMessageReceiver.cpp: 8124 (WebKit::NPObjectMessageReceiver::create): 8125 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 8126 (WebKit::NPObjectMessageReceiver::invoke): 8127 (WebKit::NPObjectMessageReceiver::invokeDefault): 8128 (WebKit::NPObjectMessageReceiver::getProperty): 8129 (WebKit::NPObjectMessageReceiver::setProperty): 8130 (WebKit::NPObjectMessageReceiver::construct): 8131 * Shared/Plugins/NPObjectMessageReceiver.h: 8132 * Shared/Plugins/NPObjectProxy.cpp: 8133 (WebKit::NPObjectProxy::create): 8134 (WebKit::NPObjectProxy::NPObjectProxy): 8135 (WebKit::NPObjectProxy::invalidate): 8136 (WebKit::NPObjectProxy::initialize): 8137 (WebKit::NPObjectProxy::invoke): 8138 (WebKit::NPObjectProxy::invokeDefault): 8139 (WebKit::NPObjectProxy::getProperty): 8140 (WebKit::NPObjectProxy::setProperty): 8141 (WebKit::NPObjectProxy::construct): 8142 * Shared/Plugins/NPObjectProxy.h: 8143 * Shared/Plugins/NPRemoteObjectMap.cpp: 8144 (WebKit::NPRemoteObjectMap::createNPObjectProxy): 8145 (WebKit::NPRemoteObjectMap::registerNPObject): 8146 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 8147 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 8148 * Shared/Plugins/NPRemoteObjectMap.h: 8149 * WebProcess/Plugins/PluginProxy.cpp: 8150 (WebKit::PluginProxy::pluginScriptableNPObject): 8151 (WebKit::PluginProxy::getWindowScriptNPObject): 8152 (WebKit::PluginProxy::getPluginElementNPObject): 8153 (WebKit::PluginProxy::evaluate): 8154 8155 2011-03-16 Beth Dakin <bdakin (a] apple.com> 8156 8157 Reviewed by Darin Adler. 8158 8159 Fix for https://bugs.webkit.org/show_bug.cgi?id=54987 Crash beneath 8160 WebPageProxy::viewWillStartLiveResize when resizing window after web process 8161 crashed 8162 -and corresponding- 8163 <rdar://problem/9037685> 8164 8165 Just need simple isValid() checks here. 8166 * UIProcess/WebPageProxy.cpp: 8167 (WebKit::WebPageProxy::initializeUIClient): 8168 (WebKit::WebPageProxy::viewWillStartLiveResize): 8169 (WebKit::WebPageProxy::viewWillEndLiveResize): 8170 8171 2011-03-16 Damian Kaleta <dkaleta (a] apple.com> 8172 8173 Reviewed by Kevin Decker. 8174 8175 Add a user default that will force all plugins to opt in to non-executable data 8176 https://bugs.webkit.org/show_bug.cgi?id=56487 8177 <rdar://problem/9109095> 8178 8179 * UIProcess/Plugins/PluginProcessProxy.cpp: 8180 (WebKit::PluginProcessProxy::PluginProcessProxy): 8181 * UIProcess/Plugins/PluginProcessProxy.h: 8182 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 8183 (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): 8184 8185 2011-03-16 Chris Fleizach <cfleizach (a] apple.com> 8186 8187 Reviewed by Darin Adler. 8188 8189 WK2: Need to propagate enhanced accessibility flag from UI -> web process 8190 https://bugs.webkit.org/show_bug.cgi?id=56379 8191 8192 Support sending the enhanced accessibility flag between processes. 8193 8194 * UIProcess/WebContext.cpp: 8195 (WebKit::WebContext::~WebContext): 8196 (WebKit::WebContext::setEnhancedAccessibility): 8197 * UIProcess/WebContext.h: 8198 * UIProcess/gtk/WebContextGtk.cpp: 8199 (WebKit::WebContet::platformInvalidateContext): 8200 * UIProcess/mac/WebContextMac.mm: 8201 (WebKit::WebContext::platformInitializeWebProcess): 8202 (WebKit::WebContext::platformInvalidateContext): 8203 * UIProcess/qt/WebContextQt.cpp: 8204 (WebKit::WebContext::platformInvalidateContext): 8205 * UIProcess/win/WebContextWin.cpp: 8206 (WebKit::WebContext::platformInvalidateContext): 8207 * WebProcess/WebProcess.cpp: 8208 (WebKit::WebProcess::setEnhancedAccessibility): 8209 * WebProcess/WebProcess.h: 8210 * WebProcess/WebProcess.messages.in: 8211 8212 2011-03-15 Oliver Hunt <oliver (a] apple.com> 8213 8214 Reviewed by Geoffrey Garen. 8215 8216 Make Structure creation require a JSGlobalData 8217 https://bugs.webkit.org/show_bug.cgi?id=56438 8218 8219 Mechanical change to make all Structure creation use a JSGlobalData&. 8220 8221 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 8222 (WebKit::JSNPMethod::JSNPMethod): 8223 * WebProcess/Plugins/Netscape/JSNPMethod.h: 8224 (WebKit::JSNPMethod::createStructure): 8225 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 8226 (WebKit::JSNPObject::JSNPObject): 8227 * WebProcess/Plugins/Netscape/JSNPObject.h: 8228 (WebKit::JSNPObject::createStructure): 8229 8230 2011-03-16 Alexey Proskuryakov <ap (a] apple.com> 8231 8232 Reviewed by Dan Bernstein. 8233 8234 WebKit2: Sometimes Command-[ opens a new tab and loads the back page in it 8235 https://bugs.webkit.org/show_bug.cgi?id=56477 8236 <rdar://problem/8806664> 8237 8238 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent): 8239 Set NSApplication current event when re-dispatching a key event that returned from the web 8240 process unhandled. That way, code that looks at current event modifiers won't be confused. 8241 8242 2011-03-16 Sam Weinig <sam (a] webkit.org> 8243 8244 Reviewed by Adam Roben. 8245 8246 Add WebKit2 API to figure out if an input or textarea was edited 8247 https://bugs.webkit.org/show_bug.cgi?id=56474 8248 8249 Expose WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit and 8250 WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit. Next time, 8251 I will work on giving these functions longer names. 8252 8253 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 8254 (WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit): 8255 (WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit): 8256 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 8257 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 8258 (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit): 8259 (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit): 8260 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 8261 8262 2011-03-16 Brady Eidson <beidson (a] apple.com> 8263 8264 Reviewed by Adam Roben. 8265 8266 https://bugs.webkit.org/show_bug.cgi?id=56467 8267 IconDatabase-related crash seen in WK2 tests 8268 8269 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 8270 (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): The IconLoader might set a null data for an icon, so handle that case. 8271 8272 2011-03-16 Benjamin Poulain <benjamin.poulain (a] nokia.com> 8273 8274 Reviewed by Kenneth Rohde Christiansen. 8275 8276 [Qt][WK2] Loading an empty URL crashes 8277 https://bugs.webkit.org/show_bug.cgi?id=55501 8278 8279 A null WKURLRef is created in the API of WebKit 2 when converting a null string. The code 8280 of WKPageLoadURL assume the WKPageRef is not null which causes crashes if it is. 8281 8282 This patch uses the converter toWTFString() to pass from WKPageRef to WTFString. This converter 8283 ensure the returned string is a valid null string. 8284 8285 Tested through the Qt API tests. 8286 8287 * UIProcess/API/C/WKPage.cpp: 8288 (WKPageLoadURL): 8289 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: 8290 (tst_QGraphicsWKView::loadEmptyUrl): 8291 * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Added. 8292 * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp: Added. 8293 (tst_QWKPage::init): 8294 (tst_QWKPage::cleanup): 8295 (tst_QWKPage::loadEmptyUrl): 8296 * UIProcess/API/qt/tests/tests.pro: 8297 8298 2011-03-15 Brady Eidson <beidson (a] apple.com> 8299 8300 Reviewed by Sam Weinig. 8301 8302 https://bugs.webkit.org/show_bug.cgi?id=56425 8303 WebKit2 icon database. 8304 8305 Project file paperwork: 8306 * DerivedSources.make: 8307 * DerivedSources.pro: 8308 * GNUmakefile.am: 8309 * WebKit2.pri: 8310 * WebKit2.pro: 8311 * WebKit2.xcodeproj/project.pbxproj: 8312 * win/WebKit2.vcproj: 8313 * win/WebKit2Common.vsprops: 8314 * Scripts/webkit2/messages.py: Special-case capitalization for messages that start with "URL" to be lowercased 8315 to "url" instead of "uRL". 8316 8317 Add messaging-related stuff: 8318 * Platform/CoreIPC/MessageID.h: 8319 * UIProcess/WebIconDatabase.messages.in: Added. 8320 * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in: Added. 8321 * UIProcess/WebProcessProxy.cpp: 8322 (WebKit::WebProcessProxy::didReceiveMessage): 8323 (WebKit::WebProcessProxy::didReceiveSyncMessage): 8324 8325 Prep to make WebIconDatabase an API object: 8326 * Shared/APIObject.h: 8327 8328 Add an "icon DB is enabled" flag to WebProcessCreationParameters: 8329 * Shared/WebProcessCreationParameters.cpp: 8330 (WebKit::WebProcessCreationParameters::encode): 8331 (WebKit::WebProcessCreationParameters::decode): 8332 * Shared/WebProcessCreationParameters.h: 8333 8334 Add SPI for client apps to set the icon database path: 8335 * UIProcess/API/C/WKContext.cpp: 8336 (WKContextSetIconDatabasePath): 8337 * UIProcess/API/C/WKContextPrivate.h: 8338 * UIProcess/WebContext.h: 8339 (WebKit::WebContext::setIconDatabasePath): 8340 8341 Hook up initialization, clearing, and messaging for the icon database: 8342 * UIProcess/WebContext.cpp: 8343 (WebKit::WebContext::WebContext): 8344 (WebKit::WebContext::~WebContext): 8345 (WebKit::WebContext::ensureWebProcess): 8346 (WebKit::WebContext::didReceiveMessage): 8347 (WebKit::WebContext::didReceiveSyncMessage): 8348 (WebKit::WebContext::iconDatabasePath): 8349 * UIProcess/gtk/WebContextGtk.cpp: 8350 (WebKit::WebContext::platformDefaultIconDatabasePath): 8351 * UIProcess/mac/WebContextMac.mm: 8352 (WebKit::WebContext::platformDefaultIconDatabasePath): 8353 * UIProcess/qt/WebContextQt.cpp: 8354 (WebKit::WebContext::platformDefaultIconDatabasePath): 8355 * UIProcess/win/WebContextWin.cpp: 8356 (WebKit::WebContext::platformDefaultIconDatabasePath): 8357 8358 Add the UIProcess-side IconDatabase. It will be the "actual database" as well as the API object: 8359 * UIProcess/WebIconDatabase.cpp: Added. 8360 (WebKit::WebIconDatabase::create): 8361 (WebKit::WebIconDatabase::~WebIconDatabase): 8362 (WebKit::WebIconDatabase::WebIconDatabase): 8363 (WebKit::WebIconDatabase::invalidate): 8364 (WebKit::WebIconDatabase::retainIconForPageURL): 8365 (WebKit::WebIconDatabase::releaseIconForPageURL): 8366 (WebKit::WebIconDatabase::setIconURLForPageURL): 8367 (WebKit::WebIconDatabase::setIconDataForIconURL): 8368 (WebKit::WebIconDatabase::iconDataForPageURL): 8369 (WebKit::WebIconDatabase::iconURLForPageURL): 8370 (WebKit::WebIconDatabase::iconDataKnownForIconURL): 8371 (WebKit::WebIconDatabase::loadDecisionForIconURL): 8372 (WebKit::WebIconDatabase::didReceiveMessage): 8373 (WebKit::WebIconDatabase::didReceiveSyncMessage): 8374 * UIProcess/WebIconDatabase.h: Added. 8375 (WebKit::WebIconDatabase::clearContext): 8376 (WebKit::WebIconDatabase::type): 8377 8378 Add the WebProcess-side IconDatabaseProxy. It acts as the WebCore IconDatabase and operates via messaging: 8379 * WebProcess/IconDatabase: Added. 8380 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: Added. 8381 (WebKit::WebIconDatabaseProxy::~WebIconDatabaseProxy): 8382 (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy): 8383 (WebKit::WebIconDatabaseProxy::isEnabled): 8384 (WebKit::WebIconDatabaseProxy::setEnabled): 8385 (WebKit::WebIconDatabaseProxy::iconForPageURL): 8386 (WebKit::WebIconDatabaseProxy::retainIconForPageURL): 8387 (WebKit::WebIconDatabaseProxy::releaseIconForPageURL): 8388 (WebKit::WebIconDatabaseProxy::iconURLForPageURL): 8389 (WebKit::WebIconDatabaseProxy::iconDataKnownForIconURL): 8390 (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): 8391 (WebKit::WebIconDatabaseProxy::setIconURLForPageURL): 8392 (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): 8393 (WebKit::WebIconDatabaseProxy::urlImportFinished): 8394 (WebKit::WebIconDatabaseProxy::didReceiveMessage): 8395 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: Added. 8396 8397 Hook up initialization and messaging for the icon database proxy: 8398 * WebProcess/WebProcess.cpp: 8399 (WebKit::WebProcess::WebProcess): 8400 (WebKit::WebProcess::initializeWebProcess): 8401 (WebKit::WebProcess::didReceiveMessage): 8402 * WebProcess/WebProcess.h: 8403 8404 2011-03-15 Sam Weinig <sam (a] webkit.org> 8405 8406 Reviewed by Anders Carlsson. 8407 8408 WebKit2: False SPOD cursor when context menu is open 8409 <rdar://problem/9029154> 8410 https://bugs.webkit.org/show_bug.cgi?id=56433 8411 8412 * UIProcess/WebPageProxy.cpp: 8413 (WebKit::WebPageProxy::showContextMenu): 8414 Update to match showPopupMenu idiomatically, and stop the responsivenessTimer 8415 since the act of showing the context menu could spin a nested runloop. 8416 8417 * UIProcess/mac/WebContextMenuProxyMac.mm: 8418 (WebKit::WebContextMenuProxyMac::showContextMenu): 8419 * UIProcess/qt/WebContextMenuProxyQt.cpp: 8420 (WebKit::WebContextMenuProxyQt::showContextMenu): 8421 * UIProcess/win/WebContextMenuProxyWin.cpp: 8422 (WebKit::WebContextMenuProxyWin::showContextMenu): 8423 Move isEmpty() check to implementations, since we don't want to show 8424 this in any case, not just the one where we check it. 8425 8426 2011-03-15 Siddharth Mathur <siddharth.mathur (a] nokia.com> 8427 8428 Reviewed by Laszlo Gombos. 8429 8430 [Qt][Symbian][WK2] Fix exporting and importing the WebProcessMainQt symbol 8431 https://bugs.webkit.org/show_bug.cgi?id=56417 8432 8433 Use the Q_DECL_EXPORT and Q_DECL_IMPORT macros directly to make sure 8434 the symbol is always exported/imported. 8435 8436 * WebProcess/qt/WebProcessMainQt.cpp: 8437 (WebKit::WebProcessMainQt): 8438 * qt/MainQt.cpp: 8439 8440 2011-03-15 Alexey Proskuryakov <ap (a] apple.com> 8441 8442 Reviewed by Darin Adler. 8443 8444 REGRESSION (WebKit2): keygen element doesn't work 8445 https://bugs.webkit.org/show_bug.cgi?id=56402 8446 <rdar://problem/9006545> 8447 8448 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 8449 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 8450 Added strings used by keygen. 8451 8452 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Initialize a WebCore pointer to 8453 a function used by keygen. 8454 8455 2011-03-15 Beth Dakin <bdakin (a] apple.com> 8456 8457 Reviewed by Simon Fraser. 8458 8459 WebKit2 part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6% 8460 8461 New WebKitystemInterface function to force the scrollbars to flash 8462 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 8463 (InitWebCoreSystemInterface): 8464 8465 2011-03-15 Anders Carlsson <andersca (a] apple.com> 8466 8467 Reviewed by Sam Weinig. 8468 8469 Make sure that NP_Shutdown is always the last NPP function called 8470 https://bugs.webkit.org/show_bug.cgi?id=56391 8471 <rdar://problem/8989902> 8472 8473 Make sure to always increment the load count whenever a web process connection 8474 is opened to a plug-in process, and decrement it when the last web process connection 8475 goes away. 8476 8477 * PluginProcess/PluginProcess.cpp: 8478 (WebKit::PluginProcess::createWebProcessConnection): 8479 (WebKit::PluginProcess::startShutdownTimerIfNecessary): 8480 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 8481 * Shared/Plugins/Netscape/NetscapePluginModule.h: 8482 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 8483 (WebKit::NetscapePlugin::NetscapePlugin): 8484 (WebKit::NetscapePlugin::~NetscapePlugin): 8485 8486 2011-03-15 Martin Robinson <mrobinson (a] igalia.com> 8487 8488 Reviewed by Adam Barth. 8489 8490 [GTK] [WebKit2] The UIProcess never changes the mouse cursor 8491 https://bugs.webkit.org/show_bug.cgi?id=56333 8492 8493 Add an implementation for WebView::addCursor for WebKit2 GTK+. This allows 8494 the cursor to change as the user mouses around the page. There is currently 8495 no test infrastructure to track cursor changes. 8496 8497 * UIProcess/gtk/WebView.cpp: 8498 (WebKit::WebView::setCursor): Ported implementation from WebKit1. 8499 8500 2011-03-15 Kevin Ollivier <kevino (a] theolliviers.com> 8501 8502 Reviewed by Darin Adler. 8503 8504 Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export 8505 info into the headers rather than in export symbol definition files, but disable it on 8506 all platforms initially so we can deal with port build issues one port at a time. 8507 8508 https://bugs.webkit.org/show_bug.cgi?id=27551 8509 8510 * config.h: 8511 8512 2011-03-14 Alexey Proskuryakov <ap (a] apple.com> 8513 8514 Reviewed by Darin Adler. 8515 8516 REGRESSION: Print preview is blank when selecting multiple pages per sheet 8517 https://bugs.webkit.org/show_bug.cgi?id=56341 8518 <rdar://problem/8991382> 8519 8520 * UIProcess/API/mac/WKPrintingView.mm: (pageDidDrawToPDF): Don't reset latest expected 8521 callback number after receiving a different one. We only update preview after receiving 8522 the latest expected page data (and the assumption is that AppKit will ask for pages in 8523 natural order for N-up). 8524 8525 2011-03-14 Adam Roben <aroben (a] apple.com> 8526 8527 Make WKBundlePageCanHandleRequest return true for empty document URLs 8528 8529 Reviewed by Sam Weinig. 8530 8531 * WebProcess/WebPage/WebPage.cpp: 8532 (WebKit::WebPage::canHandleRequest): Return true for any URL schemes that are handled as 8533 empty documents, and defer to the platform for everything else. 8534 8535 * WebProcess/WebPage/WebPage.h: Added platformCanHandleRequest. 8536 8537 * WebProcess/WebPage/mac/WebPageMac.mm: 8538 (WebKit::WebPage::platformCanHandleRequest): 8539 * WebProcess/WebPage/qt/WebPageQt.cpp: 8540 (WebKit::WebPage::platformCanHandleRequest): 8541 * WebProcess/WebPage/win/WebPageWin.cpp: 8542 (WebKit::WebPage::platformCanHandleRequest): 8543 Renamed from canHandleRequest. 8544 8545 2011-03-14 Chris Fleizach <cfleizach (a] apple.com> 8546 8547 Reviewed by Beth Dakin. 8548 8549 CrashTracer: 60 crashes in WebProcess at com.apple.WebKit2: -[AccessibilityWebPageObject accessibilityHitTest:] + 248 8550 https://bugs.webkit.org/show_bug.cgi?id=56336 8551 8552 Crash trace indicates a nil pointer access in one of these m_page->mainFrame()->coreFrame()->view() 8553 pointers. 8554 8555 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: 8556 (-[AccessibilityWebPageObject accessibilityHitTest:]): 8557 8558 2011-03-14 Alice Liu <alice.liu (a] apple.com> 8559 8560 Reviewed by Sam Weinig. 8561 8562 Provide API for creating WKImage from CGImageRef 8563 https://bugs.webkit.org/show_bug.cgi?id=56159 8564 8565 Add function for creating a WKImage from CGImage data. 8566 * Shared/API/c/cg/WKImageCG.cpp: 8567 (WKImageCreateFromCGImage): Added. Creates a graphics context for the bitmap-backed image and draws into it. 8568 * Shared/API/c/cg/WKImageCG.h: 8569 8570 2011-03-14 Balazs Kelemen <kbalazs (a] webkit.org> 8571 8572 Reviewed by Adam Roben. 8573 8574 [Qt][WK2]Unbreak InjectedBundle on Qt 8575 https://bugs.webkit.org/show_bug.cgi?id=54109 8576 8577 Add API's to WKURL and WKString to satisfy 8578 WebKitTestRunner's needs. 8579 8580 * Shared/API/c/WKString.cpp: 8581 (WKStringIsEqualToUTF8CStringIgnoringCase): 8582 * Shared/API/c/WKString.h: 8583 * Shared/API/c/WKURL.cpp: 8584 (WKURLCopyHostName): 8585 (WKURLCopyScheme): 8586 * Shared/API/c/WKURL.h: 8587 * Shared/WebString.h: 8588 (WebKit::WebString::equalToUTF8StringIgnoringCase): 8589 * Shared/WebURL.h: Added OwnPtr<KURL> member to be able 8590 to lazily parse the URL and store the result. 8591 (WebKit::WebURL::host): 8592 (WebKit::WebURL::protocol): 8593 (WebKit::WebURL::parseURLIfNecessary): 8594 * win/WebKit2.def: Revert the symbol exports that were 8595 needed to use KURL in WebKitTestRunner. 8596 8597 2011-03-14 Jeff Miller <jeffm (a] apple.com> 8598 8599 Reviewed by Adam Roben. 8600 8601 Add WKViewSetScrollOffsetOnNextResize() to C API on Windows 8602 https://bugs.webkit.org/show_bug.cgi?id=56340 8603 8604 * UIProcess/API/C/win/WKView.cpp: 8605 (WKViewSetScrollOffsetOnNextResize): Added. 8606 * UIProcess/API/C/win/WKView.h: Added WKViewSetScrollOffsetOnNextResize(). 8607 * UIProcess/win/WebView.cpp: 8608 (WebKit::WebView::onSizeEvent): Apply any scroll offset when setting the drawing area size. 8609 (WebKit::WebView::setScrollOffsetOnNextResize): Added. 8610 * UIProcess/win/WebView.h: Added setScrollOffsetOnNextResize(). 8611 8612 2011-03-14 Brian Weinstein <bweinstein (a] apple.com> 8613 8614 Reviewed by Adam Roben and Gavin Barraclough. 8615 8616 FileSystemWin.cpp needs listDirectory() implementation 8617 https://bugs.webkit.org/show_bug.cgi?id=56331 8618 <rdar://problem/9126635> 8619 8620 Move PathWalker down into WebCore, and call the PathWalker in WebCore 8621 (that now has a second argument, the pattern to take). 8622 8623 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 8624 (WebKit::PluginInfoStore::pluginPathsInDirectory): 8625 8626 2011-03-14 Sam Weinig <sam (a] webkit.org> 8627 8628 Reviewed by Darin Adler. 8629 8630 WebKit2: No icon shown for <input type=file> 8631 <rdar://problem/8988982> 8632 https://bugs.webkit.org/show_bug.cgi?id=54288 8633 8634 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 8635 (WebKit::WebChromeClient::chooseIconForFiles): 8636 Add implementation for chooseIconForFiles which calls down to Icon::createIconForFiles. 8637 8638 2011-03-14 Brady Eidson <beidson (a] apple.com> 8639 8640 Reviewed by Dan Bernstein. 8641 8642 <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 8643 Need WK2 API to view/manage origins with LocalStorage 8644 8645 Hookup the existing API stubs to the WebCore implementations: 8646 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: 8647 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 8648 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): 8649 (WebKit::WebKeyValueStorageManager::deleteAllEntries): 8650 8651 2011-03-13 Brady Eidson <beidson (a] apple.com> 8652 8653 Reviewed by Sam Weinig. 8654 8655 <rdar://problem/9127270> and https://bugs.webkit.org/show_bug.cgi?id=56282 8656 8657 Pass the path along with creation parameters: 8658 * Shared/WebProcessCreationParameters.cpp: 8659 (WebKit::WebProcessCreationParameters::encode): 8660 (WebKit::WebProcessCreationParameters::decode): 8661 * Shared/WebProcessCreationParameters.h: 8662 8663 Add SPI to set the path: 8664 * UIProcess/API/C/WKContext.cpp: 8665 (WKContextSetLocalStorageDirectory): 8666 * UIProcess/API/C/WKContextPrivate.h: 8667 8668 Pass the path along in the process creation parameters: 8669 * UIProcess/WebContext.cpp: 8670 (WebKit::WebContext::ensureWebProcess): 8671 (WebKit::WebContext::localStorageDirectory): 8672 * UIProcess/WebContext.h: 8673 (WebKit::WebContext::setLocalStorageDirectory): 8674 8675 * UIProcess/gtk/WebContextGtk.cpp: 8676 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 8677 * UIProcess/mac/WebContextMac.mm: 8678 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 8679 * UIProcess/qt/WebContextQt.cpp: 8680 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 8681 * UIProcess/win/WebContextWin.cpp: 8682 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 8683 8684 Include the path with settings updates, because WebCore needs it set on the Settings object: 8685 * WebProcess/WebPage/WebPage.cpp: 8686 (WebKit::WebPage::updatePreferences): 8687 8688 * WebProcess/WebProcess.cpp: 8689 (WebKit::WebProcess::initializeWebProcess): 8690 * WebProcess/WebProcess.h: 8691 (WebKit::WebProcess::localStorageDirectory): 8692 8693 Sandboxing stuff: 8694 * WebProcess/com.apple.WebProcess.sb: 8695 * WebProcess/mac/WebProcessMac.mm: 8696 (WebKit::initializeSandbox): 8697 8698 2011-03-12 Jer Noble <jer.noble (a] apple.com> 8699 8700 Reviewed by Mark Rowe. 8701 8702 WebKit2: Build WKFullScreenWindowController cleanly in 32-bit. 8703 https://bugs.webkit.org/show_bug.cgi?id=56260 8704 8705 Include <Carbon/Carbon.h> instead of <HIToolbox/MacApplication.h>. 8706 8707 * UIProcess/mac/WKFullScreenWindowController.mm: 8708 8709 2011-03-13 Sam Weinig <sam (a] webkit.org> 8710 8711 Reviewed by Anders Carlsson. 8712 8713 Add ability to create a WKErrorRef 8714 <rdar://problem/9115768> 8715 https://bugs.webkit.org/show_bug.cgi?id=56279 8716 8717 * Shared/API/c/cf/WKErrorCF.cpp: Added. 8718 (WKErrorCreateWithCFError): 8719 (WKErrorCopyCFError): 8720 * Shared/API/c/cf/WKErrorCF.h: Added. 8721 Add new API to create a WKErrorRef from a CFErrorRef 8722 and vice-versa. 8723 8724 * WebKit2.xcodeproj/project.pbxproj: 8725 * win/WebKit2.vcproj: 8726 * win/WebKit2Generated.make: 8727 Add new files. 8728 8729 2011-03-13 Pratik Solanki <psolanki (a] apple.com> 8730 8731 Reviewed by Brady Eidson. 8732 8733 Make adjustMIMETypeIfNecessary use CFNetwork directly 8734 https://bugs.webkit.org/show_bug.cgi?id=55912 8735 8736 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 8737 (InitWebCoreSystemInterface): Support for new WKSI functions. 8738 8739 2011-03-13 Dan Bernstein <mitz (a] apple.com> 8740 8741 Reviewed by Darin Adler. 8742 8743 WebPageProxy cleanup 8744 https://bugs.webkit.org/show_bug.cgi?id=56267 8745 8746 * UIProcess/WebPageProxy.cpp: Moved all Mac-only function implementations from 8747 here to WebPageProxyMac.mm. 8748 * UIProcess/WebPageProxy.h: Cleaned up #includes. 8749 * UIProcess/mac/WebPageProxyMac.mm: Moved all Mac-only function implementations 8750 here. 8751 (WebKit::WebPageProxy::updateWindowIsVisible): 8752 (WebKit::WebPageProxy::windowAndViewFramesChanged): 8753 (WebKit::WebPageProxy::getMarkedRange): 8754 (WebKit::WebPageProxy::characterIndexForPoint): 8755 (WebKit::WebPageProxy::firstRectForCharacterRange): 8756 (WebKit::WebPageProxy::writeSelectionToPasteboard): 8757 (WebKit::WebPageProxy::setDragImage): 8758 (WebKit::WebPageProxy::performDictionaryLookupAtLocation): 8759 (WebKit::WebPageProxy::interpretKeyEvent): 8760 (WebKit::WebPageProxy::sendComplexTextInputToPlugin): 8761 (WebKit::WebPageProxy::uppercaseWord): 8762 (WebKit::WebPageProxy::lowercaseWord): 8763 (WebKit::WebPageProxy::capitalizeWord): 8764 (WebKit::WebPageProxy::setSmartInsertDeleteEnabled): 8765 (WebKit::WebPageProxy::didPerformDictionaryLookup): 8766 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): 8767 (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens): 8768 (WebKit::WebPageProxy::setComplexTextInputEnabled): 8769 8770 2011-03-13 Dan Bernstein <mitz (a] apple.com> 8771 8772 Reviewed by Darin Adler. 8773 8774 <rdar://problem/8949683> WebKit2: Drag image is offset when the page is scrolled down 8775 https://bugs.webkit.org/show_bug.cgi?id=56265 8776 8777 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 8778 (WebKit::WebDragClient::startDrag): Send the location in view coordinates rather than 8779 document coordinates. 8780 8781 2011-03-13 Dan Bernstein <mitz (a] apple.com> 8782 8783 Reviewed by Mark Rowe. 8784 8785 Fix a crash when dragging. 8786 8787 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 8788 (WebKit::convertImageToBitmap): Retain the saved context. 8789 8790 2011-03-12 Darin Adler <darin (a] apple.com> 8791 8792 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 8793 (WebKit::WebDragClient::startDrag): Fixed typo in a comment. 8794 8795 2011-03-11 Darin Adler <darin (a] apple.com> 8796 8797 Reviewed by Sam Weinig. 8798 8799 Dragging image to desktop gives webloc instead of image file in WebKit2 8800 https://bugs.webkit.org/show_bug.cgi?id=56193 8801 8802 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 8803 (WebKit::convertImageToBitmap): Added. Factored out from startDrag to 8804 make the startDrag code clearer. 8805 (WebKit::WebDragClient::startDrag): Streamlined code a bit. 8806 (WebKit::cachedImage): Added. Helper for function below. 8807 (WebKit::arrayForURLsWithTitles): Added. Helper for function below. 8808 (WebKit::WebDragClient::declareAndWriteDragImage): Added code to handle file 8809 promises and removed a log of uneeded code. 8810 (-[WKPasteboardFilePromiseOwner copyDropDirectory]): Added. 8811 (promisedDataClient): Added. 8812 (-[WKPasteboardOwner clearImage]): Added. 8813 (-[WKPasteboardOwner initWithImage:]): Added. 8814 (-[WKPasteboardOwner dealloc]): Added. 8815 (-[WKPasteboardOwner finalize]): Added. 8816 (-[WKPasteboardOwner pasteboard:provideDataForType:]): Added. 8817 (-[WKPasteboardOwner pasteboardChangedOwner:]): Added. 8818 (matchesExtensionOrEquivalent): Added. 8819 (-[WKPasteboardOwner namesOfPromisedFilesDroppedAtDestination:]): Added. 8820 Much of the new code above came from the WebKit1 drag code. 8821 8822 * WebProcess/WebPage/WebPage.cpp: 8823 (WebKit::WebPage::dragEnded): Added call to Mac-only platformDragEnded. 8824 * WebProcess/WebPage/WebPage.h: Added Mac-only platformDragEnded and m_dragSource. 8825 * WebProcess/WebPage/mac/WebPageMac.mm: 8826 (WebKit::WebPage::setDragSource): Added. 8827 (WebKit::WebPage::platformDragEnded): Added. 8828 8829 2011-03-12 Mark Rowe <mrowe (a] apple.com> 8830 8831 Fix the 32-bit build. 8832 8833 This involves hacking around some HIToolbox headers that do things of dubious correctness, 8834 and fixing the usual CGRect vs NSRect issues. 8835 8836 * UIProcess/mac/WKFullScreenWindowController.mm: 8837 (-[WKFullScreenWindowController enterFullScreen:]): NSRect is not CGRect. 8838 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: 8839 (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto. 8840 8841 2011-03-12 Anders Carlsson <andersca (a] apple.com> 8842 8843 Reviewed by Sam Weinig. 8844 8845 * WebProcess/WebPage/WebFrame.cpp: 8846 (WebKit::WebFrame::url): 8847 Get the URL from the loader, not from the document. 8848 8849 (WebKit::WebFrame::suggestedFilenameForResourceWithURL): 8850 Return the correct suggested filename for the main resource. 8851 8852 (WebKit::WebFrame::mimeTypeForResourceWithURL): 8853 Return the correct mime type for the main resource. 8854 8855 2011-03-12 Anders Carlsson <andersca (a] apple.com> 8856 8857 Reviewed by Sam Weinig. 8858 8859 Should be able to download a PDF to the Downloads folder 8860 https://bugs.webkit.org/show_bug.cgi?id=56256 8861 8862 * UIProcess/API/C/WKPage.h: 8863 Add WKPageSaveDataToFileInDownloadsFolderCallback to the UI client. 8864 8865 * UIProcess/API/mac/PDFViewController.h: 8866 * UIProcess/API/mac/PDFViewController.mm: 8867 (-[WKPDFView _applyPDFPreferences]): 8868 (-[WKPDFView _updatePreferences:]): 8869 Use new PDFViewController::page getter. 8870 8871 (-[WKPDFView PDFViewSavePDFToDownloadFolder:]): 8872 Call PDFViewController::savePDFToDownloadsFolder. 8873 8874 (WebKit::releaseCFData): 8875 (WebKit::PDFViewController::savePDFToDownloadsFolder): 8876 Create a WebData that wraps the CFData, then pass it along to 8877 WebPageProxy::saveDataToFileInDownloadsFolder. 8878 8879 * UIProcess/WebPageProxy.cpp: 8880 (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder): 8881 Call WebUIClient::saveDataToFileInDownloadsFolder. 8882 8883 (WebKit::WebUIClient::saveDataToFileInDownloadsFolder): 8884 * UIProcess/WebUIClient.h: 8885 Call the UI client callback function. 8886 8887 2011-03-12 Anders Carlsson <andersca (a] apple.com> 8888 8889 Reviewed by Sam Weinig. 8890 8891 WebData should be able to wrap already existing data 8892 https://bugs.webkit.org/show_bug.cgi?id=56254 8893 8894 * Shared/WebData.h: 8895 (WebKit::WebData::createWithoutCopying): 8896 (WebKit::WebData::create): 8897 (WebKit::WebData::~WebData): 8898 (WebKit::WebData::bytes): 8899 (WebKit::WebData::size): 8900 (WebKit::WebData::WebData): 8901 (WebKit::WebData::fastFreeBytes): 8902 8903 2011-03-12 Jer Noble <jer.noble (a] apple.com> 8904 8905 Reviewed by Eric Carlson. 8906 8907 WebKit2: Initialize the WebFullScreenManagerProxy with a WKView 8908 https://bugs.webkit.org/show_bug.cgi?id=56250 8909 8910 * UIProcess/API/mac/WKView.mm: 8911 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call fullScreenManager()->setView(self). 8912 8913 2011-03-11 Jer Noble <jer.noble (a] apple.com> 8914 8915 Reviewed by Anders Carlsson. 8916 8917 Add full screen animation code to WebFullScreenManager. 8918 https://bugs.webkit.org/show_bug.cgi?id=56220 8919 8920 * WebProcess/FullScreen/WebFullScreenManager.cpp: . 8921 (WebKit::WebFullScreenManager::~WebFullScreenManager): Added. 8922 (WebKit::WebFullScreenManager::exitFullScreenForElement): Remove ASSERTs. 8923 (WebKit::WebFullScreenManager::willEnterFullScreen): Set the full screen renderer's background color. 8924 (WebKit::WebFullScreenManager::didEnterFullScreen): Ditto. 8925 (WebKit::WebFullScreenManager::willExitFullScreen): Ditto. 8926 (WebKit::WebFullScreenManager::didExitFullScreen): Ditto. 8927 * WebProcess/FullScreen/WebFullScreenManager.h: Make a few functions pure virtual to be implemented in a 8928 concrete subclass. 8929 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Added. 8930 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Added. 8931 (-[WebFullScreenManagerAnimationListener initWithManager:WebKit::began:finished:]): Listener for CAAnimations. 8932 (-[WebFullScreenManagerAnimationListener animationDidStart:]): Added. 8933 (-[WebFullScreenManagerAnimationListener animationDidStop:finished:]): Added. 8934 (-[WebFullScreenManagerAnimationListener invalidate]): Added. 8935 (WebKit::WebFullScreenManager::create): Now creates a WebFullScreenManagerMac. 8936 (WebKit::WebFullScreenManagerMac::create): Added. 8937 (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): Added. 8938 (WebKit::WebFullScreenManagerMac::~WebFullScreenManagerMac): Added. 8939 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Set up the remote layer host. 8940 (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Create a CATransform3D 8941 which will animate the full screen renderer from its initial position to its final one. 8942 (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto. 8943 8944 2011-03-11 Jer Noble <jer.noble (a] apple.com> 8945 8946 Reviewed by Anders Carlsson. 8947 8948 Hook up new WKFullScreenWindowController functions to WebFullScreenManagerProxy 8949 https://bugs.webkit.org/show_bug.cgi?id=56218 8950 8951 * UIProcess/WebFullScreenManagerProxy.cpp: 8952 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Added. 8953 (WebKit::WebFullScreenManagerProxy::enterFullScreen): Call into WKFullScreenWindowController. 8954 (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto. 8955 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Ditto. 8956 (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Ditto. 8957 (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Ditto. 8958 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Ditto. 8959 (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Ditto. 8960 (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Ditto. 8961 (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Ditto. 8962 * UIProcess/API/mac/WKView.mm: 8963 (-[WKView fullScreenWindowController]): Lazily instantiate a WKFullScreenWindowController. 8964 * UIProcess/API/mac/WKViewInternal.h: 8965 8966 2011-03-11 Jer Noble <jer.noble (a] apple.com> 8967 8968 Reviewed by Anders Carlsson. 8969 8970 Add the WKFullScreenWindowController, mostly cribbed from WebKit's WebFullScreenController. 8971 8972 [WebKit2] Implement a full screen window controller 8973 https://bugs.webkit.org/show_bug.cgi?id=56210 8974 8975 * UIProcess/mac/WKFullScreenWindowController.h: Added. 8976 * UIProcess/mac/WKFullScreenWindowController.mm: Added. 8977 (-[WKFullScreenWindowController init]): Remove the _mediaEventListener. 8978 (-[WKFullScreenWindowController dealloc]): Make sure to cancel previous async requests. 8979 (-[WKFullScreenWindowController windowDidLoad]): Remove the Tiger protection. 8980 (-[WKFullScreenWindowController webView]): Type change. 8981 (-[WKFullScreenWindowController setWebView:]): Type change. 8982 (-[WKFullScreenWindowController applicationDidResignActive:]): Case changes. 8983 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Case changes. 8984 (-[WKFullScreenWindowController enterFullScreen:]): Removed most of the animation code 8985 which will reappear in WebFullScreenManager. 8986 (-[WKFullScreenWindowController beganEnterFullScreenAnimation]): Added. 8987 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added. 8988 (-[WKFullScreenWindowController exitFullScreen]): Ditto to enterFullScreen. 8989 (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Added. 8990 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Added. 8991 (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]): Set up the 8992 layer tree host. 8993 (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Tear down same. 8994 (-[WKFullScreenWindowController getFullScreenRect:WebCore::]): Added. 8995 (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]): Case changes. 8996 (-[WKFullScreenWindowController _disableIdleDisplaySleep]): Ditto. 8997 (-[WKFullScreenWindowController _enableIdleDisplaySleep]): Ditto. 8998 (-[WKFullScreenWindowController _disableIdleSystemSleep]): Ditto. 8999 (-[WKFullScreenWindowController _enableIdleSystemSleep]): Ditto. 9000 (-[WKFullScreenWindowController _enableTickleTimer]): Ditto. 9001 (-[WKFullScreenWindowController _disableTickleTimer]): Ditto. 9002 (-[WKFullScreenWindowController _tickleTimerFired]): Ditto. 9003 (-[WKFullScreenWindowController _updatePowerAssertions]): Use _isPlaying ivar. 9004 (-[WKFullScreenWindowController _manager]): Added. 9005 (-[WKFullScreenWindowController _requestExit]): Case changes. 9006 (-[WKFullScreenWindowController _requestExitFullScreenWithAnimation:]): Ditto. 9007 (-[WKFullScreenWindowController _swapView:with:]): Added. 9008 (-[WKFullScreenWindowController _fullScreenWindow]): Case changes. 9009 (-[WKFullScreenWindow initWithContentRect:styleMask:backing:defer:]): Geometry no 9010 longer needs to be flipped. 9011 (-[WKFullScreenWindow cancelOperation:]): Case changes. 9012 9013 2011-03-11 Jer Noble <jer.noble (a] apple.com> 9014 9015 Reviewed by Anders Carlsson. 9016 9017 Create new interface stubs to support full screen mode in WebKit2. 9018 9019 WebKit2: Plumb new full screen animation APIs through WebKit2. 9020 https://bugs.webkit.org/show_bug.cgi?id=55993 9021 9022 * UIProcess/WebFullScreenManagerProxy.cpp: 9023 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): Added. 9024 (WebKit::WebFullScreenManagerProxy::invalidate): Clear m_webView. 9025 (WebKit::WebFullScreenManagerProxy::setWebView): Set m_webView. 9026 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation): Added. 9027 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation): Added. 9028 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Added stub. 9029 (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Added stub. 9030 (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Added stub. 9031 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Added stub. 9032 (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Added stub. 9033 (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Added stub. 9034 (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Added stub. 9035 * UIProcess/WebFullScreenManagerProxy.h: 9036 * UIProcess/WebFullScreenManagerProxy.messages.in: Added new message definitions. 9037 * UIProcess/WebPageProxy.cpp: Moved include of WebFullScreenManagerProxy.h into source file. 9038 * UIProcess/WebPageProxy.h: Ditto. 9039 * WebProcess/FullScreen/WebFullScreenManager.cpp: 9040 (WebKit::WebFullScreenManager::element): Added. 9041 (WebKit::WebFullScreenManager::supportsFullScreen): Send message through WebPage. 9042 (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto. 9043 (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto. 9044 (WebKit::WebFullScreenManager::beganEnterFullScreenAnimation): Added.. 9045 (WebKit::WebFullScreenManager::finishedEnterFullScreenAnimation): Added. 9046 (WebKit::WebFullScreenManager::beganExitFullScreenAnimation): Added. 9047 (WebKit::WebFullScreenManager::finishedExitFullScreenAnimation): Added. 9048 (WebKit::WebFullScreenManager::setRootFullScreenLayer): Added stub. 9049 (WebKit::WebFullScreenManager::getFullScreenRect): Added. 9050 (WebKit::WebFullScreenManager::beginEnterFullScreenAnimation): Added stub. 9051 (WebKit::WebFullScreenManager::beginExitFullScreenAnimation): Added stub. 9052 * WebProcess/FullScreen/WebFullScreenManager.h: 9053 * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added new message definitions. 9054 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9055 (WebKit::WebChromeClient::setRootFullScreenLayer): Added. 9056 * WebProcess/WebCoreSupport/WebChromeClient.h: 9057 9058 2011-03-11 Alice Liu <alice.liu (a] apple.com> 9059 9060 Reviewed by Sam Weinig. 9061 9062 Support encoding /decoding WebData in usermessages 9063 https://bugs.webkit.org/show_bug.cgi?id=56158 9064 9065 Added encoding/decoding for APIObject::TypeData 9066 * Shared/UserMessageCoders.h: 9067 (WebKit::UserMessageEncoder::baseEncode): 9068 (WebKit::UserMessageDecoder::baseDecode): 9069 9070 2011-03-11 Alice Liu <alice.liu (a] apple.com> 9071 9072 Reviewed by Sam Weinig. 9073 9074 Add api for "remove" to WKMutableDictionary 9075 https://bugs.webkit.org/show_bug.cgi?id=56157 9076 9077 * Shared/API/c/WKMutableDictionary.cpp: 9078 (WKDictionaryRemoveItem): Added; call remove on MutableDictionary impl. 9079 * Shared/API/c/WKMutableDictionary.h: 9080 * Shared/MutableDictionary.cpp: 9081 (WebKit::MutableDictionary::remove): Added; call remove on the underlying hashmap. 9082 * Shared/MutableDictionary.h: 9083 9084 2011-03-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 9085 9086 Unreviewed, rolling out r80899 and r80912. 9087 http://trac.webkit.org/changeset/80899 9088 http://trac.webkit.org/changeset/80912 9089 https://bugs.webkit.org/show_bug.cgi?id=56236 9090 9091 Caused animation tests to crash on Snow Leopard WebKit2 9092 (Requested by rniwa on #webkit). 9093 9094 * Shared/ShareableBitmap.cpp: 9095 (WebKit::ShareableBitmap::create): 9096 (WebKit::ShareableBitmap::createShareable): 9097 (WebKit::ShareableBitmap::resize): 9098 * Shared/ShareableBitmap.h: 9099 (WebKit::ShareableBitmap::numBytesForSize): 9100 (WebKit::ShareableBitmap::sizeInBytes): 9101 * UIProcess/DrawingAreaProxyImpl.cpp: 9102 (WebKit::DrawingAreaProxyImpl::update): 9103 * WebKit2.xcodeproj/project.pbxproj: 9104 * WebProcess/WebPage/DrawingArea.h: 9105 (WebKit::DrawingArea::didUpdate): 9106 * WebProcess/WebPage/DrawingArea.messages.in: 9107 * WebProcess/WebPage/DrawingAreaImpl.cpp: 9108 (WebKit::DrawingAreaImpl::~DrawingAreaImpl): 9109 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): 9110 (WebKit::DrawingAreaImpl::didUpdate): 9111 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 9112 (WebKit::DrawingAreaImpl::display): 9113 * WebProcess/WebPage/DrawingAreaImpl.h: 9114 * WebProcess/WebPage/SharedMemoryCache.cpp: Removed. 9115 * WebProcess/WebPage/SharedMemoryCache.h: Removed. 9116 * win/WebKit2.vcproj: 9117 9118 2011-03-11 Brian Weinstein <bweinstein (a] apple.com> 9119 9120 Windows build fix. Add SharedMemoryCache to the vcproj. 9121 9122 * win/WebKit2.vcproj: 9123 9124 2011-03-11 Alexey Proskuryakov <ap (a] apple.com> 9125 9126 Reviewed by Sam Weinig. 9127 9128 https://bugs.webkit.org/show_bug.cgi?id=56222 9129 A window remains frozen if web process crashes during printing 9130 9131 * UIProcess/API/mac/PageClientImpl.h: 9132 * UIProcess/API/mac/PageClientImpl.mm: 9133 * UIProcess/PageClient.h: 9134 * UIProcess/WebPageProxy.cpp: 9135 (WebKit::WebPageProxy::setComplexTextInputEnabled): 9136 * UIProcess/WebPageProxy.h: 9137 Moved setAutodisplay code into WKPrintingView. 9138 9139 * UIProcess/API/mac/WKPrintingView.h: 9140 * UIProcess/API/mac/WKView.mm: 9141 (-[WKView printOperationWithPrintInfo:forFrame:]): 9142 Keep a reference to the actual WKView, so that we can manipulate how it displays, even if 9143 page goes away. 9144 9145 * UIProcess/API/mac/WKPrintingView.mm: 9146 (-[WKPrintingView initWithFrameProxy:WebKit::view:]): 9147 (-[WKPrintingView _setAutodisplay:]): 9148 (-[WKPrintingView _suspendAutodisplay]): 9149 (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 9150 Move setAutodisplay here. 9151 9152 2011-03-11 Anders Carlsson <andersca (a] apple.com> 9153 9154 Reviewed by Sam Weinig. 9155 9156 Add a shared memory cache to the web process 9157 https://bugs.webkit.org/show_bug.cgi?id=56232 9158 9159 Add a very simple shared memory cache to the web process, so that we don't have to allocate and 9160 free memory over and over when painting. 9161 9162 * Shared/ShareableBitmap.cpp: 9163 (WebKit::ShareableBitmap::create): 9164 (WebKit::ShareableBitmap::createShareable): 9165 (WebKit::ShareableBitmap::resize): 9166 * Shared/ShareableBitmap.h: 9167 (WebKit::ShareableBitmap::numBytesNeededForBitmapSize): 9168 (WebKit::ShareableBitmap::sizeInBytes): 9169 Rename numBytesForSize to numBytesNeededForBitmapSize. 9170 9171 * UIProcess/DrawingAreaProxyImpl.cpp: 9172 (WebKit::DrawingAreaProxyImpl::update): 9173 Always send back a DidUpdate message, even if we didn't use the update info. 9174 This is needed so that the web process knows when the UI process is done with the shared memory inside 9175 the update info struct. 9176 9177 * WebKit2.xcodeproj/project.pbxproj: 9178 Add new files. 9179 9180 * WebProcess/WebPage/DrawingArea.h: 9181 (WebKit::DrawingArea::didUpdate): 9182 * WebProcess/WebPage/DrawingArea.messages.in: 9183 DidUpdate now takes a boolean. 9184 9185 * WebProcess/WebPage/DrawingAreaImpl.cpp: 9186 (WebKit::sharedMemoryCache): 9187 Add shared memory cache. 9188 9189 (WebKit::DrawingAreaImpl::~DrawingAreaImpl): 9190 Return the shared memory to the cache. 9191 9192 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): 9193 display now takes an extra boolean. 9194 9195 (WebKit::DrawingAreaImpl::didUpdate): 9196 Return the shared memory to the cache. 9197 9198 (WebKit::DrawingAreaImpl::display): 9199 If useSharedMemoryCache is true, get shared memory from the cache. 9200 9201 * WebProcess/WebPage/SharedMemoryCache.cpp: Added. 9202 (WebKit::SharedMemoryCache::acquireSharedMemory): 9203 If the memory we currently hold on to is big enough, return it. 9204 9205 (WebKit::SharedMemoryCache::releaseSharedMemory): 9206 If we're already holding on to shared memory, evict it if the returned 9207 shared memory object is bigger than the one we currently hold. 9208 9209 (WebKit::SharedMemoryCache::clearCacheTimerFired): 9210 Null out the shared memory object. 9211 9212 2011-03-11 Jessie Berlin <jberlin (a] apple.com> 9213 9214 Reviewed by Adam Roben. 9215 9216 Crash calling WebContext::clearResourceCaches(InMemoryResourceCachesOnly) before the Web 9217 Process has finished launching. 9218 https://bugs.webkit.org/show_bug.cgi?id=56208 9219 9220 Only send the message if the Web Process is valid. 9221 9222 * UIProcess/WebContext.cpp: 9223 (WebKit::WebContext::clearResourceCaches): 9224 9225 2011-03-11 Anders Carlsson <andersca (a] apple.com> 9226 9227 Reviewed by Dan Bernstein. 9228 9229 Don't paint more than 60 times per second 9230 https://bugs.webkit.org/show_bug.cgi?id=56206 9231 <rdar://problem/9085989> 9232 9233 * WebProcess/WebPage/DrawingAreaImpl.cpp: 9234 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 9235 Initialize m_lastDisplayTime to 0. Change the display timer to call displayTimerFired. 9236 9237 (WebKit::DrawingAreaImpl::didUpdate): 9238 Call displayTimerFired instead of display. 9239 9240 (WebKit::DrawingAreaImpl::displayTimerFired): 9241 If we're asked to paint again less than 1/60th of a second after we've already painted, 9242 defer painting. 9243 9244 (WebKit::DrawingAreaImpl::display): 9245 Update m_lastDisplayTime. 9246 9247 2011-03-11 Mark Rowe <mrowe (a] apple.com> 9248 9249 Reviewed by Alice Liu. 9250 9251 <rdar://problem/9120161> WKPageRestoreFromSessionState does not set the pending API request URL. 9252 9253 * UIProcess/cf/WebPageProxyCF.cpp: 9254 (WebKit::WebPageProxy::restoreFromSessionStateData): If we're navigating to a back/forward item 9255 as part of the restoration, call setPendingAPIRequestURL. When there's a provisional URL this will 9256 be done by our call to loadURL elsewhere in the function. 9257 9258 2011-03-10 Alexey Proskuryakov <ap (a] apple.com> 9259 9260 Reviewed by Jon Honeycutt. 9261 9262 WebKit2 UI process crashes if web process crashes while computing page rects for printing 9263 https://bugs.webkit.org/show_bug.cgi?id=56160 9264 <rdar://problem/9027410> 9265 9266 * UIProcess/API/mac/WKPrintingView.mm: 9267 (-[WKPrintingView _suspendAutodisplay]): Added a null check for page, matching one that 9268 we have when resuming autodisplay. 9269 (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): Added a FIXME. 9270 (pageDidComputePageRects): Sanitize results coming from the web process (and avoid crashing 9271 when there is a communication error, so results are all null). 9272 (-[WKPrintingView knowsPageRange:]): If there is no page any more, we can't tell how many 9273 pages it had. 9274 (-[WKPrintingView rectForPage:]): Handle the case where we are neither calculating pages 9275 nor knowing them, as it happens when the web process crashes. 9276 9277 2011-03-10 Mark Rowe <mrowe (a] apple.com> 9278 9279 Rubber-stamped by Sam Weinig. 9280 9281 Part of <rdar://problem/8728860> WebKit2 needs to be made localizable 9282 9283 The presence of CFBundleDevelopmentRegion in the application's Info.plist prevents 9284 the default localization that we set during launch from being respected. 9285 9286 * PluginProcess/Info.plist: Remove CFBundleDevelopmentRegion. 9287 * WebProcess/Info.plist: Ditto. 9288 9289 2011-03-10 Martin Robinson <mrobinson (a] igalia.com> 9290 9291 Build for WebKit2 GTK+ after r80714. 9292 9293 * GNUmakefile.am: Update source list. 9294 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 9295 (WebKit::x11Display): Add missing semicolon. 9296 9297 2011-03-10 Chris Fleizach <cfleizach (a] apple.com> 9298 9299 Reviewed by Darin Adler. 9300 9301 REGRESSION (WebKit2): VoiceOver focus no longer follows keyboard focus 9302 https://bugs.webkit.org/show_bug.cgi?id=55959 9303 9304 NSApplication has to return the focused element within the app in order 9305 for NSAccessibilityHandleFocusChanged() to work. The default implementation 9306 relies on keyWindow. Consequently, in WK2, the WebProcess must override that method 9307 to return the appropriate focused element within the WebProcess, since 9308 there is no keyWindow. 9309 9310 * WebKit2.xcodeproj/project.pbxproj: 9311 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: 9312 (-[AccessibilityWebPageObject accessibilityFocusedUIElement]): 9313 * WebProcess/WebProcess.cpp: 9314 (WebKit::WebProcess::focusedWebPage): 9315 * WebProcess/WebProcess.h: 9316 * WebProcess/mac/NSApplicationOverride.mm: Added. 9317 (-[NSApplication accessibilityFocusedUIElement]): 9318 9319 2011-03-10 Oleg Romashin <romaxa (a] gmail.com> 9320 9321 Reviewed by Andreas Kling. 9322 9323 Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part3 9324 Solving conflict of Qt and Xlib includes 9325 9326 * Shared/Plugins/NPIdentifierData.cpp: 9327 * Shared/Plugins/NPIdentifierData.h: 9328 * Shared/Plugins/NPObjectProxy.cpp: 9329 * Shared/Plugins/NPVariantData.h: 9330 9331 2011-03-10 Sam Weinig <sam (a] webkit.org> 9332 9333 Reviewed by Mark Rowe. 9334 9335 - Fix plugins in release and production builds. 9336 9337 * WebKit2.xcodeproj/project.pbxproj: 9338 Make sure to base the PluginProcess target on the correct xcconfig file 9339 in all configurations. 9340 9341 2011-03-09 Matthew Delaney <mdelaney (a] apple.com> 9342 9343 Reviewed by Simon Fraser. 9344 9345 Plumb through settings for accelerated drawing for canvas 9346 https://bugs.webkit.org/show_bug.cgi?id=56039 9347 9348 * Shared/WebPreferencesStore.h: 9349 * UIProcess/API/C/WKPreferences.cpp: 9350 * UIProcess/API/C/WKPreferencesPrivate.h: 9351 * WebProcess/WebPage/WebPage.cpp: 9352 9353 2011-03-10 Jessie Berlin <jberlin (a] apple.com> 9354 9355 Reviewed by Oliver Hunt and Brian Weinstein. 9356 9357 WebKit2: Need a way to clear only the in-memory resource caches 9358 https://bugs.webkit.org/show_bug.cgi?id=56022 9359 9360 Add a parameter to WKContextClearResourceCaches to specify whether to clear all the caches 9361 or just the memory caches. 9362 9363 * Shared/ResourceCachesToClear.h: Added. 9364 * UIProcess/API/C/WKAPICast.h: 9365 (WebKit::toResourceCachesToClear): 9366 9367 * UIProcess/API/C/WKContext.cpp: 9368 (WKContextClearResourceCaches): 9369 Add the new parameter. 9370 * UIProcess/API/C/WKContext.h: 9371 * UIProcess/WebContext.cpp: 9372 (WebKit::WebContext::clearResourceCaches): 9373 Ditto. 9374 * UIProcess/WebContext.h: 9375 9376 * WebProcess/WebProcess.cpp: 9377 (WebKit::WebProcess::clearResourceCaches): 9378 Pass the new parameter through to the platform-specific functions. 9379 * WebProcess/WebProcess.h: 9380 Add the new parameter and give it a default of AllResourceCaches. 9381 * WebProcess/WebProcess.messages.in: 9382 Ditto. 9383 * WebProcess/gtk/WebProcessGtk.cpp: 9384 (WebKit::WebProcess::platformClearResourceCaches): 9385 Ditto. 9386 * WebProcess/qt/WebProcessQt.cpp: 9387 (WebKit::WebProcess::platformClearResourceCaches): 9388 Ditto. 9389 * WebProcess/win/WebProcessWin.cpp: 9390 (WebKit::WebProcess::platformClearResourceCaches): 9391 When told to clear only the in-memory caches, return early so as not to clear the CFNetwork 9392 disk cache. 9393 * WebProcess/mac/WebProcessMac.mm: 9394 (WebKit::WebProcess::platformClearResourceCaches): 9395 Ditto. 9396 9397 * WebKit2.xcodeproj/project.pbxproj: 9398 Add ResourceCachesToClear.h 9399 * win/WebKit2.vcproj: 9400 Ditto. 9401 9402 2011-03-10 Jeff Miller <jeffm (a] apple.com> 9403 9404 Reviewed by Adam Roben. 9405 9406 WKViewRegisterEditCommandCallback should use WKViewUndoType 9407 https://bugs.webkit.org/show_bug.cgi?id=56120 9408 9409 * UIProcess/API/C/win/WKView.h: Change undoOrRedo parameter in WKViewRegisterEditCommandCallback to be WKViewUndoType. 9410 9411 2011-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 9412 9413 Reviewed by Kenneth Rohde Christiansen. 9414 9415 Tiled backing store's delegated scroll request uses incorrect convention 9416 https://bugs.webkit.org/show_bug.cgi?id=56011 9417 9418 Adapt all of the internal API to match the delta to point 9419 conversion at the WebCore side. 9420 9421 * UIProcess/API/qt/qwkpage.cpp: 9422 (QWKPagePrivate::pageDidRequestScroll): 9423 * UIProcess/API/qt/qwkpage_p.h: 9424 * UIProcess/PageClient.h: 9425 * UIProcess/WebPageProxy.cpp: 9426 (WebKit::WebPageProxy::pageDidRequestScroll): 9427 * UIProcess/WebPageProxy.h: 9428 * UIProcess/WebPageProxy.messages.in: 9429 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9430 (WebKit::WebChromeClient::delegatedScrollRequested): 9431 * WebProcess/WebCoreSupport/WebChromeClient.h: 9432 * WebProcess/WebPage/WebPage.cpp: 9433 (WebKit::WebPage::pageDidRequestScroll): 9434 * WebProcess/WebPage/WebPage.h: 9435 9436 2011-03-10 Balazs Kelemen <kbalazs (a] webkit.org> 9437 9438 Reviewed by Andreas Kling. 9439 9440 [WK2] Make non-transparent windowless plugins paint on X11 9441 https://bugs.webkit.org/show_bug.cgi?id=55660 9442 9443 Implement painting for non-transparent windowless X11 plugins. 9444 The essence of the logic has been adapted from WebCore. 9445 The implementation is stubbed for GTK and working only on Qt 9446 but it should be really easy to finish it for GTK. 9447 9448 * WebKit2.pro: 9449 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 9450 (WebKit::NPN_GetValue): Handle X11 specific values that are necessary. 9451 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 9452 (WebKit::NetscapePlugin::NetscapePlugin): Initialize the X11 specific 9453 members that has been added. 9454 (WebKit::NetscapePlugin::callSetWindow): Always set the x and y coordinates 9455 of the NP_Window to 0 on X11 since we are using a backings store as the 9456 painting area for the plugin. 9457 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 9458 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Removed in favour 9459 of a common implementation for X11. 9460 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Ditto. 9461 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Added. 9462 (WebKit::getPluginDisplay): 9463 9464 Platform specific static getters. 9465 (WebKit::x11Display): 9466 (WebKit::displayDepth): 9467 (WebKit::rootWindowID): 9468 (WebKit::x11Screen): 9469 9470 (WebKit::NetscapePlugin::platformPostInitialize): Set up the visual 9471 settings and the colormap for the plugin. 9472 (WebKit::NetscapePlugin::platformDestroy): 9473 (WebKit::NetscapePlugin::platformInvalidate): Remained stub. 9474 (WebKit::NetscapePlugin::platformGeometryDidChange): Create a new 9475 pixmap that fits the geometry. 9476 (WebKit::NetscapePlugin::platformPaint): Propagate a paint event 9477 to the plugin, sync with it if necessary and draw the pixmap to 9478 the screen. 9479 (WebKit::toNP): Remained stub. 9480 (WebKit::NetscapePlugin::platformHandleMouseEvent): Remained stub. 9481 (WebKit::NetscapePlugin::platformHandleWheelEvent): Remained stub. 9482 (WebKit::NetscapePlugin::platformSetFocus): Remained stub. 9483 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): Remained stub. 9484 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): Remained stub. 9485 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Remained stub. 9486 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9487 (WebKit::WebFrameLoaderClient::createPlugin): Hack. Inject wmode=opaque 9488 key-value pair to the plugin parameters to force Flash to act in 9489 non-transparent windowless mode. Qt also doing this in WebCore. 9490 9491 2011-03-09 Peter Kasting <pkasting (a] google.com> 9492 9493 Reviewed by Mihai Parparita. 9494 9495 Unify Windows version checks. 9496 https://bugs.webkit.org/show_bug.cgi?id=55979 9497 9498 * UIProcess/win/WebPageProxyWin.cpp: 9499 (WebKit::WebPageProxy::standardUserAgent): 9500 9501 2011-03-09 Adele Peterson <adele (a] apple.com> 9502 9503 Reviewed by Anders Carlsson. 9504 9505 Fix for https://bugs.webkit.org/show_bug.cgi?id=56068 9506 <rdar://problem/9058245> WebKit2: Can't uncheck 'Spelling and Grammar' contextual items 9507 9508 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::contextMenuItemSelected): 9509 Add cases for ContextMenuItemTagCorrectSpellingAutomatically, ContextMenuItemTagCheckSpellingWhileTyping, 9510 and ContextMenuItemTagCheckGrammarWithSpelling 9511 9512 2011-03-09 Alexey Proskuryakov <ap (a] apple.com> 9513 9514 Reviewed by Dan Bernstein. 9515 9516 Frequent crashes when printing in WebPageProxy::setAutodisplay 9517 https://bugs.webkit.org/show_bug.cgi?id=56057 9518 <rdar://problem/9053290> 9519 9520 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 9521 Null check the page, there is no reason for it to still exist. 9522 9523 2011-03-09 Brent Fulgham <bfulgham (a] webkit.org> 9524 9525 Unreviewed build correction. 9526 9527 * UIProcess/DrawingAreaProxy.messages.in: Exclude the other 9528 method using LayerTreeContext for non-accelerated composition case. 9529 9530 2011-03-09 Sam Weinig <sam (a] webkit.org> 9531 9532 Reviewed by Anders Carlsson. 9533 9534 Change plugins to use their own executable on Mac OS X 9535 https://bugs.webkit.org/show_bug.cgi?id=55991 9536 9537 * Configurations/PluginProcess.xcconfig: Copied from Source/WebKit2/Configurations/WebProcess.xcconfig. 9538 * PluginProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist. 9539 Add files necessary for adding PluginProcess.app. 9540 9541 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 9542 (WebKit::ProcessLauncher::launchProcess): 9543 Launch the PluginProcess.app when launching a plugin process. 9544 9545 * WebKit2.xcodeproj/project.pbxproj: 9546 Add new executable and new files, removes some unneeded copying 9547 and duplicate compiling of files. 9548 9549 * WebProcess/Info.plist: 9550 Sorted. 9551 9552 2011-03-09 Jessie Berlin <jberlin (a] apple.com> 9553 9554 Reviewed by Adam Roben. 9555 9556 Use the Cookie Storage from the Private Browsing Storage Session directly 9557 https://bugs.webkit.org/show_bug.cgi?id=55986 9558 9559 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 9560 (InitWebCoreSystemInterface): 9561 9562 2011-03-09 Alejandro G. Castro <alex (a] igalia.com> 9563 9564 Fix compilation after r80596, add soup Download stubs. 9565 9566 * GNUmakefile.am: 9567 * WebProcess/Downloads/soup/DownloadSoup.cpp: Added. 9568 (WebKit::Download::start): 9569 (WebKit::Download::startWithHandle): 9570 (WebKit::Download::cancel): 9571 (WebKit::Download::platformInvalidate): 9572 (WebKit::Download::didDecideDestination): 9573 (WebKit::Download::platformDidFinish): 9574 9575 2011-03-09 Alejandro G. Castro <alex (a] igalia.com> 9576 9577 Fix GTK+ compilation after r80619. Add WebFullScreenManager. 9578 9579 * GNUmakefile.am: 9580 9581 2011-03-08 Jer Noble <jer.noble (a] apple.com> 9582 9583 Reviewed by Sam Weinig. 9584 9585 WebKit2: Plumb through the FULLSCREEN_API Chrome client calls 9586 https://bugs.webkit.org/show_bug.cgi?id=55273 9587 9588 The FULLSCREEN_API Chrome client calls need to be plumbed through from the 9589 WebProcess to the UIProcess. To do this, WebFullScreenManager (and Proxy) 9590 classes have been added to WebPage. 9591 9592 * DerivedSources.make: Added rules necessary to build DerivedSources for new .in files. 9593 * DerivedSources.pro: Ditto. 9594 * Platform/CoreIPC/MessageID.h: Added message types for WebFullScreenManager. 9595 * Shared/API/c/WKBase.h: Added WKFullScreenManagerRef. 9596 * Shared/APIObject.h: Added APIType for WebFullScreenManager. 9597 * UIProcess/WebFullScreenManagerProxy.cpp: Added. 9598 * UIProcess/WebFullScreenManagerProxy.h: Added. 9599 * UIProcess/WebFullScreenManagerProxy.messages.in: Added. 9600 * UIProcess/WebPageProxy.cpp: 9601 (WebKit::WebPageProxy::close): Invalidate and clear m_fullScreenManager. 9602 (WebKit::WebPageProxy::processDidCrash): Ditto. 9603 (WebKit::WebPageProxy::didReceiveMessage): Pass messages on to WebFullScreenManagerProxy. 9604 (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto. 9605 (WebKit::WebPageProxy::fullScreenManager): Added. Lazy instantiation of m_fullScreenManager. 9606 * UIProcess/WebPageProxy.h: 9607 * UIProcess/WebPageProxy.messages.in: 9608 * UIProcess/WebUIClient.cpp: 9609 * UIProcess/WebUIClient.h: 9610 * WebKit2.xcodeproj/project.pbxproj: Added references to new classes in project file. 9611 * WebKit2.pro: Ditto. 9612 * win/WebKit2.vcproj: Ditto. 9613 * WebKit2.pri: Added new directories to include file path. 9614 * win/WebKit2Common.vsprops: Ditto. 9615 * WebProcess/FullScreen/WebFullScreenManager.cpp: Added. 9616 * WebProcess/FullScreen/WebFullScreenManager.h: Added. 9617 * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added. 9618 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9619 (WebKit::WebChromeClient::supportsFullScreenForElement): Pass through to WebFullScreenManager. 9620 (WebKit::WebChromeClient::enterFullScreenForElement): Ditto. 9621 (WebKit::WebChromeClient::exitFullScreenForElement): Ditto. 9622 * WebProcess/WebPage/WebPage.cpp: 9623 (WebKit::WebPage::close): Invalidate and clear m_fullScreenManager. 9624 (WebKit::WebPage::fullScreenManager): Lazy instantiation of m_fullScreenManager. 9625 (WebKit::WebPage::didReceiveMessage): Pass messages through to WebFullScreenManager. 9626 * WebProcess/WebPage/WebPage.h: 9627 9628 2011-03-08 Jer Noble <jer.noble (a] apple.com> 9629 9630 Reviewed by Sam Weinig. 9631 9632 WebKit2: Plumb through the "supportsFullScreen" preference. 9633 https://bugs.webkit.org/show_bug.cgi?id=55261 9634 9635 The "supportsFullScreen" preference needs to be plumbed through from 9636 the UIProcess to the WebProcess. 9637 9638 * Shared/WebPreferencesStore.h: Add a new macro entry. 9639 * UIProcess/API/C/WKPreferences.cpp: Implement preferences getter and setter. 9640 (WKPreferencesSetFullScreenEnabled): 9641 (WKPreferencesGetFullScreenEnabled): 9642 * UIProcess/API/C/WKPreferences.h: 9643 * WebProcess/WebPage/WebPage.cpp: 9644 (WebKit::WebPage::updatePreferences): Sync the fullScreenEnabled setting through to 9645 the settings object. 9646 9647 2011-03-08 Jeff Miller <jeffm (a] apple.com> 9648 9649 Reviewed by Adele Peterson. 9650 9651 WebKit2: Implement Windows glue for Undo/Redo 9652 https://bugs.webkit.org/show_bug.cgi?id=55961 9653 9654 Expose Undo/Redo infrastructure through WKView on Windows by 9655 adding an undo client as well as APIs to reapply and unapply 9656 an edit command. 9657 9658 * UIProcess/API/C/win/WKView.cpp: 9659 (WKViewSetViewUndoClient): Added. 9660 (WKViewReapplyEditCommand): Added. 9661 (WKViewUnapplyEditCommand): Added. 9662 * UIProcess/API/C/win/WKView.h: Added WKViewUndoClient, WKViewSetViewUndoClient(), and WKViewUnapplyEditCommand(). 9663 * UIProcess/WebPageProxy.cpp: 9664 (WebKit::WebPageProxy::isValidEditCommand): Added, used to validated an edit command from a WKView API. 9665 * UIProcess/WebPageProxy.h: Added isValidEditCommand(). 9666 * UIProcess/win/WebUndoClient.cpp: Added, APIClient for WKViewUndoClient. 9667 (WebKit::WebUndoClient::registerEditCommand): Added. 9668 (WebKit::WebUndoClient::clearAllEditCommands): Added. 9669 * UIProcess/win/WebUndoClient.h: Added, APIClient for WKViewUndoClient. 9670 * UIProcess/win/WebView.cpp: 9671 (WebKit::WebView::initializeUndoClient): Added. 9672 (WebKit::WebView::close): Clear out undo client. 9673 (WebKit::WebView::registerEditCommand): Implemented to call through to WKViewUndoClient. 9674 (WebKit::WebView::clearAllEditCommands): Implmented to call through to WKViewUndoClient. 9675 (WebKit::WebView::reapplyEditCommand): Added. 9676 (WebKit::WebView::unapplyEditCommand): Added. 9677 * UIProcess/win/WebView.h: Added undo client support. 9678 * win/WebKit2.vcproj: Added WebUndoClient.cpp and WebUndoClient.h. 9679 9680 2011-03-08 Jeff Miller <jeffm (a] apple.com> 9681 9682 Reviewed by Sam Weinig. 9683 9684 WebKit2: Expose WebEditCommandProxy in the C API on Windows 9685 https://bugs.webkit.org/show_bug.cgi?id=55962 9686 9687 Make WebEditCommandProxy a subclass of APIObject, and define 9688 WKEditCommandRef as the type that will be exposed through the C API. 9689 9690 * Shared/API/c/win/WKBaseWin.h: Add WKEditCommandRef. 9691 * Shared/APIObject.h: Add platform-specific TypeEditCommandProxy. 9692 * UIProcess/API/C/win/WKAPICastWin.h: Add API mapping for WKEditCommandRef. 9693 * UIProcess/WebEditCommandProxy.h: Subclass WebEditCommandProxy from APIObject. 9694 (WebKit::WebEditCommandProxy::type): Added. 9695 9696 2011-03-08 Jeff Miller <jeffm (a] apple.com> 9697 9698 Reviewed by Oliver Hunt. 9699 9700 WebKit2: Redo is broken 9701 https://bugs.webkit.org/show_bug.cgi?id=55978 9702 9703 WebEditCommandProxy::unapply() and WebEditCommandProxy::reapply() were registering the wrong edit command when an undo or redo happens. 9704 For example, when we unapply(), we should register a Redo command, not an Undo command. 9705 9706 * UIProcess/WebEditCommandProxy.cpp: 9707 (WebKit::WebEditCommandProxy::unapply): Register a Redo command, not an Undo command. 9708 (WebKit::WebEditCommandProxy::reapply): Register an Undo command, not a Redo command. 9709 9710 2011-03-08 Brent Fulgham <bfulgham (a] webkit.org> 9711 9712 Reviewed by Adam Roben. 9713 9714 https://bugs.webkit.org/show_bug.cgi?id=55977 9715 Refine CF/CFNet distinctions for better code sharing. 9716 1. Rename Downloads/cf/win/DownloadCFNetWin.cpp to DownloadCFWin.cpp 9717 since it does not use any CFNETWORK features. 9718 2. Create new cfnet directory. 9719 3. Move Downloads/cf/DownloadCFNet.cpp to Downloads/cfnet 9720 4. Update project file. 9721 9722 * WebProcess/Downloads/cf/DownloadCFNet.cpp: Removed. 9723 * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp: Removed. 9724 * WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Copied from WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp. 9725 * WebProcess/Downloads/cfnet: Added. 9726 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: Copied from WebProcess/Downloads/cf/DownloadCFNet.cpp. 9727 * win/WebKit2.vcproj: 9728 9729 2011-03-08 Mark Rowe <mrowe (a] apple.com> 9730 9731 Reviewed by Brady Eidson. 9732 9733 <http://webkit.org/b/55976> Provisional URL should be loaded when restoring session state even if there are back / forward list entries. 9734 9735 * UIProcess/cf/WebPageProxyCF.cpp: 9736 (WebKit::WebPageProxy::restoreFromSessionStateData): If there's a provisional URL that we will load then restore the session state 9737 without navigating to the current item. 9738 * WebProcess/WebPage/WebPage.messages.in: Expose the ability to restore the session state without navigating to the current item. 9739 9740 2011-03-08 Brent Fulgham <bfulgham (a] webkit.org> 9741 9742 Reviewed by Anders Carlsson. 9743 9744 https://bugs.webkit.org/show_bug.cgi?id=55956 9745 WebKit2 Changes to correct WinCairo port build 9746 9747 * Shared/LayerTreeContext.h: Don't exclude CoreIPC declarations for non-accelerated 9748 compositing case. 9749 * UIProcess/DrawingAreaProxy.h: Add "stdint.h" include needed for Cairo build. 9750 * UIProcess/DrawingAreaProxyImpl.cpp: Exclude accelerated compositing code for 9751 WinCairo build. 9752 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl): 9753 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 9754 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 9755 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 9756 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): 9757 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): 9758 * UIProcess/DrawingAreaProxyImpl.h: Exclude declarations for code only used when 9759 accelerated compositing is enabled. 9760 (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): 9761 * UIProcess/win/WebView.cpp: Protect CG-specific drawing code. 9762 (WebKit::WebView::setFindIndicator): 9763 * WebProcess/Downloads/Download.h: Allow CFLite implentation to share overwrite flag, 9764 as well as destination and bundle paths. 9765 * WebProcess/Downloads/curl/DownloadCurl.cpp: Remove stub (to share CFNet implementation 9766 of file handling. This will be moved to a common area in a future patch.) 9767 * WebProcess/WebPage/DrawingAreaImpl.cpp: Exclude accelerated-compositing paths. 9768 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): 9769 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): 9770 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 9771 * WebProcess/WebPage/WebPage.cpp: Protect CG-specific drawing code. 9772 (WebKit::WebPage::drawRectToPDF): 9773 (WebKit::WebPage::drawPagesToPDF): 9774 * win/WebKit2.vcproj: Exclude unused LayerTreeContext from WinCairo 9775 9776 2011-03-08 Ivan Krsti <ike (a] apple.com> 9777 9778 Reviewed by Sam Weinig. 9779 9780 Re-fix: can't paste from 3rd party text editor into WebKit2 window 9781 <rdar://problem/8978624> 9782 9783 * WebProcess/com.apple.WebProcess.sb: 9784 9785 2011-03-08 Martin Robinson <mrobinson (a] igalia.com> 9786 9787 Fix the WebKit2 compilation after r80578. 9788 9789 * UIProcess/gtk/WebView.cpp: 9790 (WebKit::WebView::setFocus): Added. 9791 * UIProcess/gtk/WebView.h: 9792 9793 2011-03-08 Jessie Berlin <jberlin (a] apple.com> 9794 9795 Reviewed by Anders Carlsson. 9796 9797 Crash in CFNetwork visiting google.com 9798 https://bugs.webkit.org/show_bug.cgi?id=55958 9799 9800 * Shared/API/c/cf/WKURLResponseCF.cpp: 9801 (WKURLResponseCopyCFURLResponse): 9802 If the response to copy is null, return 0; 9803 9804 2011-03-08 John Sullivan <sullivan (a] apple.com> 9805 9806 Reverted the patch for https://bugs.webkit.org/show_bug.cgi?id=55940 9807 9808 The patch was insufficient, and it wasn't useful for the intended client use either. 9809 9810 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9811 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9812 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 9813 9814 2011-03-08 Alejandro G. Castro <alex (a] igalia.com> 9815 9816 Unreviewed, fixed GTK+ compilation after r80569. 9817 9818 * UIProcess/gtk/WebView.cpp: 9819 (WebKit::WebView::windowToScreen): 9820 * UIProcess/gtk/WebView.h: 9821 9822 2011-03-08 Chris Fleizach <cfleizach (a] apple.com> 9823 9824 Reviewed by Sam Weinig. 9825 9826 WK2: Cannot set focus on an element when focus is outside of WKView 9827 https://bugs.webkit.org/show_bug.cgi?id=55281 9828 9829 * UIProcess/API/mac/PageClientImpl.h: 9830 * UIProcess/API/mac/PageClientImpl.mm: 9831 (WebKit::PageClientImpl::setFocus): 9832 * UIProcess/API/qt/qwkpage_p.h: 9833 (QWKPagePrivate::setFocus): 9834 * UIProcess/PageClient.h: 9835 * UIProcess/WebPageProxy.cpp: 9836 (WebKit::WebPageProxy::setFocus): 9837 * UIProcess/WebPageProxy.h: 9838 * UIProcess/WebPageProxy.messages.in: 9839 * UIProcess/win/WebView.h: 9840 (WebKit::WebView::setFocus): 9841 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9842 (WebKit::WebChromeClient::focus): 9843 (WebKit::WebChromeClient::unfocus): 9844 9845 2011-03-08 Jeff Miller <jeffm (a] apple.com> 9846 9847 Unreviewed, fix last change so WKBaseWin.h is in alphabetical order in the project XML. 9848 9849 * win/WebKit2.vcproj: Move WKBaseWin.h to be in alphabetical order. 9850 9851 2011-03-08 Jeff Miller <jeffm (a] apple.com> 9852 9853 Reviewed by Darin Adler. 9854 9855 Remove Source/WebKit2/UIProcess/API/C/win/WKBaseWin.h 9856 https://bugs.webkit.org/show_bug.cgi?id=55952 9857 9858 * UIProcess/API/C/win/WKBaseWin.h: Removed. 9859 * win/WebKit2.vcproj: Refer to the Shared version of WKBaseWin.h instead of the one in UIProcess. 9860 9861 2011-03-08 Alejandro G. Castro <alex (a] igalia.com> 9862 9863 Reviewed by Martin Robinson. 9864 9865 [GTK] Add new files to compilation after r77974 9866 https://bugs.webkit.org/show_bug.cgi?id=54076 9867 9868 The commit added new code to allow passing context to policy 9869 delegate methods, we also added dummy ResourceRequest and 9870 ResourceResponse decoders until we implement them. 9871 9872 * GNUmakefile.am: 9873 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 9874 (CoreIPC::decodeResourceRequest): 9875 (CoreIPC::decodeResourceResponse): 9876 9877 2011-03-08 Chris Fleizach <cfleizach (a] apple.com> 9878 9879 Reviewed by Darin Adler. 9880 9881 AX: Webkit2 not sending UAZoomFocusChanged notifications 9882 https://bugs.webkit.org/show_bug.cgi?id=55916 9883 9884 Needed to implement the windowToScreen() method so that the right frame 9885 could be calculated to send for zoom focus changes. 9886 9887 * UIProcess/API/mac/PageClientImpl.h: 9888 * UIProcess/API/mac/PageClientImpl.mm: 9889 (WebKit::PageClientImpl::windowToScreen): 9890 * UIProcess/API/qt/qwkpage.cpp: 9891 (QWKPagePrivate::windowToScreen): 9892 * UIProcess/API/qt/qwkpage_p.h: 9893 * UIProcess/PageClient.h: 9894 * UIProcess/WebPageProxy.cpp: 9895 (WebKit::WebPageProxy::windowToScreen): 9896 * UIProcess/WebPageProxy.h: 9897 * UIProcess/WebPageProxy.messages.in: 9898 * UIProcess/win/WebView.cpp: 9899 (WebKit::WebView::windowToScreen): 9900 * UIProcess/win/WebView.h: 9901 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 9902 (WebKit::WebChromeClient::windowToScreen): 9903 * WebProcess/WebPage/WebPage.cpp: 9904 (WebKit::WebPage::windowToScreen): 9905 * WebProcess/WebPage/WebPage.h: 9906 9907 2011-03-08 John Sullivan <sullivan (a] apple.com> 9908 9909 Reviewed by Darin Adler. 9910 9911 https://bugs.webkit.org/show_bug.cgi?id=55940 9912 WebKit2 should support Ignore policy from injected bundle client 9913 9914 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9915 Added WKBundlePagePolicyActionIgnore. 9916 9917 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9918 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 9919 If the injected bundle client returns WKBundlePagePolicyActionIgnore, convert it 9920 to the loader's PolicyIgnore. 9921 9922 2011-03-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9923 9924 Reviewed by Kenneth Rohde Christiansen. 9925 9926 [Qt] [Symbian] [WK2] Fix building WebKit 2 API tests 9927 https://bugs.webkit.org/show_bug.cgi?id=55876 9928 9929 Make sure TESTS_SOURCE_DIR is set for Symbian the same way 9930 as it is for WK1. 9931 9932 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: 9933 (tst_QGraphicsWKView::loadEmptyPage): 9934 * UIProcess/API/qt/tests/tests.pri: 9935 9936 2011-03-07 Damian Kaleta <dkaleta (a] apple.com> 9937 9938 Reviewed by Anders Carlsson. 9939 9940 QuickTime plugin should opt in to a 32-bit non-executable heap 9941 https://bugs.webkit.org/show_bug.cgi?id=55704 9942 <rdar://problem/8105706> 9943 9944 * UIProcess/Plugins/PluginProcessProxy.cpp: 9945 (WebKit::pluginNeedsExecutableHeap): Decides per plugin if it should opt-in to a 32-bit non-executable heap. 9946 By default it should opt-out. 9947 (WebKit::PluginProcessProxy::PluginProcessProxy): 9948 9949 2011-03-07 Sam Weinig <sam (a] webkit.org> 9950 9951 Reviewed by Anders Carlsson. 9952 9953 Add unableToImplementPolicy callback for WebKit2 policy client 9954 <rdar://problem/9071902> 9955 https://bugs.webkit.org/show_bug.cgi?id=55884 9956 9957 * UIProcess/API/C/WKPage.h: 9958 * UIProcess/WebPageProxy.cpp: 9959 (WebKit::WebPageProxy::unableToImplementPolicy): 9960 * UIProcess/WebPageProxy.h: 9961 * UIProcess/WebPageProxy.messages.in: 9962 * UIProcess/WebPolicyClient.cpp: 9963 (WebKit::WebPolicyClient::unableToImplementPolicy): 9964 * UIProcess/WebPolicyClient.h: 9965 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9966 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 9967 (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy): 9968 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 9969 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9970 (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy): 9971 Pipe unableToImplementPolicy through both the bundle and the main WebKit2 API. 9972 9973 2011-03-07 Sam Weinig <sam (a] webkit.org> 9974 9975 Reviewed by Anders Carlsson. 9976 9977 Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse 9978 https://bugs.webkit.org/show_bug.cgi?id=55827 9979 9980 - Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse 9981 and pass the entire response, instead of just the MIMEType. 9982 - Updated both UIProcess API and bundle API to also be based on the whole response, not just the 9983 MIMEType. 9984 9985 * UIProcess/API/C/WKPage.h: 9986 * UIProcess/WebPageProxy.cpp: 9987 (WebKit::WebPageProxy::decidePolicyForResponse): 9988 * UIProcess/WebPageProxy.h: 9989 * UIProcess/WebPageProxy.messages.in: 9990 * UIProcess/WebPolicyClient.cpp: 9991 (WebKit::WebPolicyClient::decidePolicyForResponse): 9992 * UIProcess/WebPolicyClient.h: 9993 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 9994 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 9995 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): 9996 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 9997 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9998 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 9999 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 10000 10001 2011-03-06 Jessie Berlin <jberlin (a] apple.com> 10002 10003 Reviewed by Sam Weinig. 10004 10005 WebKit2: Use CFNetwork Sessions API. 10006 https://bugs.webkit.org/show_bug.cgi?id=55435. 10007 10008 When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the 10009 Private Browsing Storage Session. 10010 10011 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 10012 (InitWebCoreSystemInterface): 10013 Add support for using the new WKSI functions in WebCore. 10014 10015 2011-03-06 Oleg Romashin <romaxa (a] gmail.com> 10016 10017 Reviewed by Kenneth Rohde Christiansen. 10018 10019 [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part1 10020 Adding dummy Qt files for Plugin Process implementation, 10021 Adding missing sources into Qt pro files 10022 https://bugs.webkit.org/show_bug.cgi?id=55719 10023 10024 * DerivedSources.pro: 10025 * PluginProcess/qt: Added. 10026 * PluginProcess/qt/PluginControllerProxyQt.cpp: Added. 10027 (WebKit::PluginControllerProxy::platformInitialize): 10028 (WebKit::PluginControllerProxy::platformDestroy): 10029 (WebKit::PluginControllerProxy::platformGeometryDidChange): 10030 * PluginProcess/qt/PluginProcessMainQt.cpp: Added. 10031 (WebKit::PluginProcessMain): 10032 * PluginProcess/qt/PluginProcessQt.cpp: Added. 10033 (WebKit::PluginProcess::platformInitialize): 10034 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Added. 10035 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 10036 * WebKit2.pri: 10037 * WebKit2.pro: 10038 * WebKit2API.pri: 10039 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Added. 10040 (WebKit::PluginProxy::needsBackingStore): 10041 10042 2011-03-05 Sam Weinig <sam (a] webkit.org> 10043 10044 Reviewed by Dan Bernstein. 10045 10046 Remove unneeded onPageClose function from DrawingArea 10047 https://bugs.webkit.org/show_bug.cgi?id=55836 10048 10049 * WebProcess/WebPage/DrawingArea.h: 10050 Remove empty function. 10051 10052 * WebProcess/WebPage/WebPage.cpp: 10053 (WebKit::WebPage::close): 10054 Remove only called 10055 10056 2011-03-04 Jon Honeycutt <jhoneycutt (a] apple.com> 10057 10058 WK2 Mac build fix. 10059 10060 * UIProcess/API/C/WKPage.cpp: 10061 (WKPageComputePagesForPrinting): 10062 (WKPageBeginPrinting): 10063 10064 * UIProcess/API/C/WKPagePrivate.h: 10065 10066 2011-03-04 Jon Honeycutt <jhoneycutt (a] apple.com> 10067 10068 WK2 Mac build fix. 10069 10070 * UIProcess/API/C/WKPagePrivate.h: 10071 10072 2011-03-04 Jon Honeycutt <jhoneycutt (a] apple.com> 10073 10074 WK2 needs printing support on Windows 10075 https://bugs.webkit.org/show_bug.cgi?id=55800 10076 <rdar://problem/8903808> 10077 10078 Reviewed by Darin Adler. 10079 10080 * UIProcess/API/C/WKPage.cpp: 10081 (ComputedPagesContext::ComputedPagesContext): 10082 (computedPagesCallback): 10083 From the Vector of WebCore::IntRects, build up a Vector of WKRects. 10084 Call the callback, passing these rects and the scale factor. 10085 (printInfoFromWKPrintInfo): 10086 Return a PrintInfo structure from the WKPrintInfo. 10087 (WKPageComputePagesForPrinting): 10088 Call WebPageProxy::computePagesForPrinting(). Pass 10089 computedPagesCallback as the callback function, so that we can 10090 translate the WebCore rect type to WKRect before calling the caller's 10091 callback function. 10092 (WKPageBeginPrinting): 10093 Call WebPageProxy::beginPrinting(). 10094 (WKPageDrawPagesToPDF): 10095 Call WebPageProxy::drawPagesToPDF(). 10096 10097 * UIProcess/API/C/WKPagePrivate.h: 10098 Declare the WKPrintInfo type and new functions. 10099 10100 * UIProcess/WebPageProxy.cpp: 10101 Compile this code on Windows. 10102 10103 * UIProcess/WebPageProxy.h: 10104 Ditto. 10105 10106 * UIProcess/win/WebView.cpp: 10107 (WebKit::WebView::paint): 10108 We're painting the window; leave printing mode. 10109 10110 * WebProcess/WebPage/WebPage.cpp: 10111 Compile this code on Windows. 10112 10113 * WebProcess/WebPage/WebPage.h: 10114 Ditto. 10115 10116 * WebProcess/WebPage/WebPage.messages.in: 10117 Ditto. 10118 10119 2011-03-04 Steve Falkenburg <sfalken (a] apple.com> 10120 10121 Reviewed by Darin Adler. 10122 10123 Adopt VersionStamper tool for Windows WebKit DLLs 10124 https://bugs.webkit.org/show_bug.cgi?id=55784 10125 <rdar://problem/9021320> 10126 10127 We now use a tool to stamp the version number onto the Apple WebKit DLLs 10128 during the post-build step. 10129 10130 Fetch the WebKit version from a string resource instead of the version resource. 10131 10132 * UIProcess/win/WebPageProxyWin.cpp: 10133 (WebKit::userVisibleWebKitVersionString): Fetch version from a string resource. 10134 * win/WebKit2.rc: Removed version, added stringtable. 10135 * win/WebKit2WebProcess.rc: Removed. 10136 * win/WebKit2WebProcess.vcproj: 10137 * win/WebKit2WebProcessPostBuild.cmd: Don't run autoversion script. It isn't used in this project. 10138 * win/WebKit2WebProcessPreBuild.cmd: Stamp version. 10139 * win/WebKitPostBuild.cmd: Stamp version. 10140 10141 2011-03-04 Jeff Miller <jeffm (a] apple.com> 10142 10143 Reviewed by Darin Adler. 10144 10145 Add WKPageValidateCommand() 10146 https://bugs.webkit.org/show_bug.cgi?id=55793 10147 10148 On the Mac, validation of edit menu commands is handled within WebKit2 in WKView.mm. 10149 However, on Windows we need to do this in the client, so expose this functionality 10150 in the API via WKPageValidateCommand(). 10151 10152 Change the Mac implementation to call WebPageProxy::validateCommand() with a callback 10153 to match this new API, so it no longer has to go through PageClient to get notified 10154 when a command is validated. This makes PageClient::setEditCommandState() obsolete, 10155 so I removed the stub implementations in qt and gtk as well. 10156 10157 * UIProcess/API/C/WKPage.cpp: 10158 (WKPageValidateCommand): Added. 10159 * UIProcess/API/C/WKPage.h: Added WKPageValidateCommand(). 10160 * UIProcess/API/mac/PageClientImpl.h: Removed setEditCommandState(). 10161 * UIProcess/API/mac/PageClientImpl.mm: Removed setEditCommandState(). 10162 * UIProcess/API/mac/WKView.mm: 10163 (validateCommandCallback): Added. 10164 (-[WKView validateUserInterfaceItem:]): Pass callback to validateCommand(). 10165 * UIProcess/API/qt/qwkpage.cpp: Removed setEditCommandState(). 10166 * UIProcess/API/qt/qwkpage_p.h: Removed setEditCommandState(). 10167 * UIProcess/PageClient.h: Removed setEditCommandState(). 10168 * UIProcess/WebPageProxy.cpp: Removed didValidateCommand(). 10169 (WebKit::WebPageProxy::validateCommand): This now takes a callback. 10170 (WebKit::WebPageProxy::validateCommandCallback): Added. 10171 (WebKit::WebPageProxy::processDidCrash): Invalidate m_validateCommandCallbacks. 10172 * UIProcess/WebPageProxy.h: Removed didValidateCommand(), validateCommand() now takes a callback. 10173 (WebKit::ValidateCommandCallback::create): Added. 10174 (WebKit::ValidateCommandCallback::~ValidateCommandCallback): Added. 10175 (WebKit::ValidateCommandCallback::performCallbackWithReturnValue): Added. 10176 (WebKit::ValidateCommandCallback::invalidate): Added. 10177 (WebKit::ValidateCommandCallback::ValidateCommandCallback): Added. 10178 * UIProcess/WebPageProxy.messages.in: Removed DidValidateCommand, added ValidateCommandCallback. 10179 * UIProcess/gtk/WebView.cpp: Removed setEditCommandState(). 10180 * UIProcess/gtk/WebView.h: Removed setEditCommandState(). 10181 * UIProcess/win/WebView.cpp: Removed setEditCommandState(). 10182 * UIProcess/win/WebView.h: Removed setEditCommandState(). 10183 * WebProcess/WebPage/WebPage.cpp: 10184 (WebKit::WebPage::validateCommand): This now takes a callbackID. 10185 * WebProcess/WebPage/WebPage.h: validateCommand now takes a callbackID. 10186 * WebProcess/WebPage/WebPage.messages.in: ValidateCommand now takes a callbackID. 10187 10188 2011-03-04 Brian Weinstein <bweinstein (a] apple.com> 10189 10190 Reviewed by Darin Adler. 10191 10192 Reference-counting for WKBundlePageResourceLoadClient::willSendRequestForFrame seems unclear/wrong 10193 https://bugs.webkit.org/show_bug.cgi?id=53919 10194 <rdar://problem/8966020> 10195 10196 Adopt the result of m_client.willSendRequestForFrame (which will be leaked by the client). 10197 10198 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: 10199 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): 10200 10201 2011-03-04 Darin Adler <darin (a] apple.com> 10202 10203 Reviewed by Mark Rowe. 10204 10205 WebKit2 session state should include even loads too new to be in the back/forward list 10206 https://bugs.webkit.org/show_bug.cgi?id=55781 10207 part of <rdar://problem/8968847> 10208 10209 * UIProcess/cf/WebPageProxyCF.cpp: 10210 (WebKit::WebPageProxy::sessionStateData): Save URLs that are early enough in the loading 10211 process to not be included in the back/forward list yet: The pending API request URL and 10212 the provisional URL. 10213 (WebKit::WebPageProxy::restoreFromSessionStateData): Call loadURL if the back/forward 10214 list is not restored and a URL is present. Later we can improve the way we handle the 10215 case where we have both a back/forward list and a URL. 10216 10217 2011-03-04 Jessie Berlin <jberlin (a] apple.com> 10218 10219 Reviewed by Darin Adler. 10220 10221 WebKit2: Use CFNetwork Sessions API. 10222 https://bugs.webkit.org/show_bug.cgi?id=55435. 10223 10224 Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was 10225 contained within guards that made USE(CFURLSTORAGESESSIONS) always be true. 10226 10227 * UIProcess/mac/WebContextMac.mm: 10228 (WebKit::WebContext::platformInitializeWebProcess): 10229 * UIProcess/win/WebContextWin.cpp: 10230 (WebKit::WebContext::platformInitializeWebProcess): 10231 10232 2011-03-04 Jessie Berlin <jberlin (a] apple.com> 10233 10234 Reviewed by Maciej Stachowiak. 10235 10236 WebKit2: Use CFNetwork Sessions API. 10237 https://bugs.webkit.org/show_bug.cgi?id=55435. 10238 10239 When Private Browsing is enabled, get the cached url response from the cache associated with 10240 the Private Browsing Storage Session. 10241 10242 * WebProcess/WebPage/mac/WebPageMac.mm: 10243 (WebKit::WebPage::platformHasLocalDataForURL): 10244 If Private Browsing is enabled, call into WKSI to get the response. 10245 (WebKit::WebPage::cachedResponseMIMETypeForURL): 10246 Ditto. 10247 * WebProcess/WebPage/win/WebPageWin.cpp: 10248 (WebKit::WebPage::platformHasLocalDataForURL): 10249 If Private Browsing is enabled, call into WKSI to get the CFURLCacheRef. 10250 (WebKit::WebPage::cachedResponseMIMETypeForURL): 10251 Ditto. 10252 10253 2011-03-04 Jeff Miller <jeffm (a] apple.com> 10254 10255 Reviewed by Darin Adler. 10256 10257 Move WKViewExecuteCommand() to WKPageExecuteCommand() 10258 https://bugs.webkit.org/show_bug.cgi?id=55744 10259 10260 Executing a command operates on a page, so it makes more sense for it to be in WKPage. 10261 This also makes it available on all platforms, not just Windows. 10262 10263 * UIProcess/API/C/WKPage.cpp: 10264 (WKPageExecuteCommand): Added. 10265 * UIProcess/API/C/WKPage.h: Add WKPageExecuteCommand(). 10266 * UIProcess/API/C/win/WKView.cpp: Remove WKViewExecuteCommand(). 10267 * UIProcess/API/C/win/WKView.h: Remove WKViewExecuteCommand(). 10268 10269 2011-03-04 Dan Bernstein <mitz (a] apple.com> 10270 10271 LLVM Compiler build fix. 10272 10273 * WebProcess/WebPage/WebPage.cpp: 10274 (WebKit::WebPage::runJavaScriptInMainFrame): 10275 10276 2011-03-03 Timothy Hatcher <timothy (a] apple.com> 10277 10278 Make the WKPageRunJavaScriptFunction callback take a WKSerializedScriptValueRef. 10279 10280 https://webkit.org/b/55623 10281 10282 Reviewed by Darin Adler. 10283 10284 * UIProcess/API/C/WKPage.cpp: 10285 (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback. 10286 (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef. 10287 * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef. 10288 * UIProcess/WebPageProxy.cpp: 10289 (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks. 10290 (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback. 10291 (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue 10292 from the DataReference before calling the callback. 10293 (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks. 10294 * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks. 10295 * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback. 10296 * WebProcess/WebPage/WebPage.cpp: 10297 (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue. 10298 And use ScriptValueCallback to send the message back. 10299 10300 2011-03-03 Brian Weinstein <bweinstein (a] apple.com> 10301 10302 Reviewed by Adam Roben. 10303 10304 Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427. 10305 10306 Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges 10307 on all platforms, and stub the functions on platforms that don't implement them. 10308 10309 * WebProcess/Cookies/WebCookieManager.cpp: 10310 (WebKit::WebCookieManager::startObservingCookieChanges): 10311 (WebKit::WebCookieManager::stopObservingCookieChanges): 10312 10313 2011-03-03 Jeff Miller <jeffm (a] apple.com> 10314 10315 Reviewed by Darin Adler. 10316 10317 Refactor classes in GenericCallback.h 10318 https://bugs.webkit.org/show_bug.cgi?id=55732 10319 10320 Since we're going to need to add additional callback classes, make a CallbackBase class that manages 10321 the context and the callback ID. The existing callback classes (VoidCallback, GenericCallback, and 10322 ComputedPagesCallback) now all derive from CallbackBase. 10323 10324 Fix bug in VoidCallback where we meant to implement the destructor, but we were implementing the default 10325 constructor instead (we forgot the leading ~). 10326 10327 * UIProcess/GenericCallback.h: 10328 (WebKit::CallbackBase::~CallbackBase): 10329 (WebKit::CallbackBase::callbackID): 10330 (WebKit::CallbackBase::CallbackBase): 10331 (WebKit::CallbackBase::context): 10332 (WebKit::CallbackBase::generateCallbackID): 10333 (WebKit::VoidCallback::~VoidCallback): 10334 (WebKit::VoidCallback::performCallback): 10335 (WebKit::VoidCallback::invalidate): 10336 (WebKit::VoidCallback::VoidCallback): 10337 (WebKit::GenericCallback::create): 10338 (WebKit::GenericCallback::~GenericCallback): 10339 (WebKit::GenericCallback::performCallbackWithReturnValue): 10340 (WebKit::GenericCallback::invalidate): 10341 (WebKit::GenericCallback::GenericCallback): 10342 (WebKit::ComputedPagesCallback::create): 10343 (WebKit::ComputedPagesCallback::~ComputedPagesCallback): 10344 (WebKit::ComputedPagesCallback::performCallbackWithReturnValue): 10345 (WebKit::ComputedPagesCallback::invalidate): 10346 (WebKit::ComputedPagesCallback::ComputedPagesCallback): 10347 10348 2011-03-03 Adam Roben <aroben (a] apple.com> 10349 10350 Don't assume the web process has had a chance to paint before the view has to paint 10351 10352 Fixes <http://webkit.org/b/55739> REGRESSION (r80307): Lots of tests crashing in 10353 BackingStore::paint 10354 10355 Reviewed by Anders Carlsson. 10356 10357 * UIProcess/DrawingAreaProxyImpl.cpp: 10358 (WebKit::DrawingAreaProxyImpl::paint): Bail if the web process hasn't had a chance to paint 10359 yet. 10360 10361 2011-03-03 Adam Roben <aroben (a] apple.com> 10362 10363 Throw away DrawingAreaProxyImpl's backing store after not painting for 5 seconds 10364 10365 The intent is to save memory for views that aren't painting. 10366 10367 Fixes <http://webkit.org/b/51262> <rdar://problem/8782537> WebPageProxy should delete its 10368 backing store after not painting for a while 10369 10370 Reviewed by Anders Carlsson. 10371 10372 * UIProcess/DrawingAreaProxyImpl.cpp: 10373 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize our timer. 10374 (WebKit::DrawingAreaProxyImpl::paint): Don't bail if we don't have a backing store (but do 10375 bail if we're in accelerated compositing mode); we might have thrown it away to save memory 10376 but now are being asked to paint by the view. The existing code in this function will handle 10377 getting a new backing store if possible by blocking for a little while to try to receive a 10378 DidUpdateBackingStoreState message. Added an assertion that we do have a backing store if we 10379 don't have any outstanding UpdateBackingStoreState requests. After painting, call 10380 discardBackingStoreSoon to update our timer. 10381 (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): Set the timer for 5 seconds in the 10382 future. 10383 (WebKit::DrawingAreaProxyImpl::discardBackingStore): Throw away the backing store, and tell 10384 the web process we'll need a full backing store update on the next paint. 10385 10386 * UIProcess/DrawingAreaProxyImpl.h: Added m_discardBackingStoreTimer. 10387 10388 2011-03-03 Adam Roben <aroben (a] apple.com> 10389 10390 Add a way to tell the web process to perform a full backing store update on its next paint 10391 10392 Messages::DrawingArea::UpdateBackingStoreState now takes a boolean specifying whether the 10393 full backing store update should happen immediately or should be deferred until the next 10394 paint or compositing mode change occurs. The deferred update isn't used yet, but will be 10395 used when we start throwing away backing stores to save memory. 10396 10397 Fixes <http://webkit.org/b/55730> UI process needs a way to tell the web process its backing 10398 store needs a full update on the next paint 10399 10400 Reviewed by Anders Carlsson. 10401 10402 * UIProcess/DrawingAreaProxyImpl.cpp: 10403 (WebKit::DrawingAreaProxyImpl::paint): If we have an outstanding backing store state change 10404 request, tell the web process to perform the backing store update right away, in case we 10405 previously told it it could defer the update. 10406 (WebKit::DrawingAreaProxyImpl::sizeDidChange): Specify that we need an immediate backing 10407 store update. 10408 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): We can no longer assert that we 10409 were waiting for a DidUpdateBackingStoreState message when we receive one, as it's possible 10410 for the web process to decide to send us this message on its own (if we asked it to do a 10411 deferred backing store update and then it needed to paint some part of the page). Specify 10412 that we need an immediate backing store update if the web process hasn't updated to our 10413 latest state, as we're about to draw potentially out-of-date bits to the screen and want to 10414 get the right bits as soon as possible. Also added a FIXME about a potential optimization. 10415 (WebKit::DrawingAreaProxyImpl::backingStoreStateDidChange): Added a RespondImmediatelyOrNot 10416 parameter, which is just passed through to sendUpdateBackingStoreState. 10417 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Added a RespondImmediatelyOrNot 10418 parameter that is used to specify to the web process whether to perform the full backing 10419 store update immediately. We now only wait for a DidUpdateBackingStoreState message (and 10420 thus suppress any more UpdateBackingStoreState messages until one is received) when we ask 10421 the web process for an immediate response; otherwise we could end up accidentally calling 10422 waitForAndDispatchDidUpdateBackingStoreState when the web process hasn't been told to send 10423 us such a message. 10424 10425 * UIProcess/DrawingAreaProxyImpl.h: Added RespondImmediatelyOrNot. 10426 10427 * WebProcess/WebPage/DrawingArea.h: 10428 (WebKit::DrawingArea::updateBackingStoreState): Added respondImmediately argument. 10429 10430 * WebProcess/WebPage/DrawingArea.messages.in: Added respondImmediately argument to 10431 UpdateBackingStoreState message. 10432 10433 * WebProcess/WebPage/DrawingAreaImpl.cpp: 10434 (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize new member that's used to track 10435 whether we should send a DidUpdateBackingStoreState message instead of an Update or 10436 compositing mode change message. This will be set to true when a deferred backing store 10437 update is pending. 10438 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): If a deferred update is pending, send a 10439 DidUpdateBackingStoreState message instead of a compositing mode change message. 10440 (WebKit::DrawingAreaImpl::updateBackingStoreState): Added respondImmediately argument. If 10441 we've already been told about this state ID (as can happen when the UI process decides it 10442 needs an immediate update to a state that it previously requested a deferred update to), 10443 don't bother updating the page's size, etc. In addition, if we've already sent a 10444 DidUpdateBackingStoreState message for this state, we don't have to do anything at all. 10445 Moved code to send the DidUpdateBackingStoreState message from here... 10446 (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): ...to here. 10447 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Always update our dirty region, 10448 even if painting is suspended or we're in the process of updating the backing store state. 10449 It causes no harm and simplifies the code. If a deferred update is pending, send a 10450 DidUpdateBackingStoreState message instead of a compositing mode change message. Also 10451 removed a redundant if. 10452 (WebKit::DrawingAreaImpl::display): Added an assertion that this isn't called while updating 10453 backing store state, as otherwise we might end up sending two DidUpdateBackingStoreState 10454 messages. If a deferred update is pending, send a DidUpdateBackingStoreState message instead 10455 of an Update message. 10456 10457 * WebProcess/WebPage/DrawingAreaImpl.h: Updated updateBackingStoreState to match the base 10458 class. Added sendDidUpdateBackingStoreState and m_shouldSendDidUpdateBackingStoreState. 10459 10460 2011-03-03 Andy Estes <aestes (a] apple.com> 10461 10462 Reviewed by Darin Adler. 10463 10464 When displaying the missing plug-in sheet, pass the 'pluginspage' 10465 attribute to the UI process. 10466 https://bugs.webkit.org/show_bug.cgi?id=55553 10467 10468 * UIProcess/API/C/WKPage.h: Add pluginsPageURL as the third argument to 10469 missingPluginButtonClicked. 10470 * UIProcess/WebPageProxy.cpp: 10471 (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto. 10472 * UIProcess/WebPageProxy.h: Ditto. 10473 * UIProcess/WebPageProxy.messages.in: Ditto. 10474 * UIProcess/WebUIClient.cpp: 10475 (WebKit::WebUIClient::missingPluginButtonClicked): Ditto. 10476 * UIProcess/WebUIClient.h: Ditto. 10477 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10478 (WebKit::WebChromeClient::missingPluginButtonClicked): Get the value of 10479 pluginspageAttr. 10480 10481 2011-03-03 Alexey Proskuryakov <ap (a] apple.com> 10482 10483 Suggested by Dan Bernstein. 10484 10485 Move "const" around "NSString *", so that it suddenly begins to make sense. 10486 10487 * WebProcess/mac/FullKeyboardAccessWatcher.mm: 10488 10489 2011-03-03 Jeff Miller <jeffm (a] apple.com> 10490 10491 Reviewed by Anders Carlsson. 10492 10493 WebKit2: Add WKViewRef API for executing edit commands 10494 https://bugs.webkit.org/show_bug.cgi?id=49829 10495 10496 Added WKViewExecuteCommand() and documented some of the WebCore EditorCommand strings. 10497 10498 * UIProcess/API/C/win/WKView.cpp: 10499 (WKViewExecuteCommand): Added. 10500 * UIProcess/API/C/win/WKView.h: Added WKViewExecuteCommand() and comment block with WebCore EditorCommand strings. 10501 10502 2011-03-03 Jessie Berlin <jberlin (a] apple.com> 10503 10504 Reviewed by Adam Roben. 10505 10506 WebKit2: Use CFNetwork Sessions API. 10507 https://bugs.webkit.org/show_bug.cgi?id=55435 10508 10509 Set the Private Browsing Storage Session on requests when Private Browsing is enabled. 10510 10511 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 10512 (InitWebCoreSystemInterface): 10513 Support using WKCopyRequestWithStorageSession in WebCore. 10514 10515 2011-03-03 Adam Roben <aroben (a] apple.com> 10516 10517 Don't try to paint outside the page's bounds 10518 10519 When the page is resized smaller, we would allocate a ShareableBitmap at the old, larger 10520 size, even though we only needed to paint at the new, smaller size. 10521 10522 The assertion added in this patch will fire during the WebKit2/ResizeViewWhileHidden API 10523 test if this fix gets broken in the future. 10524 10525 Fixes <http://webkit.org/b/55715> DrawingAreaImpl allocates more memory than necessary when 10526 the page is resized smaller 10527 10528 Reviewed by Anders Carlsson. 10529 10530 * WebProcess/WebPage/DrawingAreaImpl.cpp: 10531 (WebKit::DrawingAreaImpl::updateBackingStoreState): Update our dirty region even if painting 10532 is suspended (but still refrain from updating it when in accelerated compositing mode). 10533 Rather than unite our existing dirty region with the page's new bounds, overwrite our dirty 10534 region with the page's new bounds. This prevents us from accumulating a dirty region that is 10535 larger than the page in the case where the page is being resized smaller. 10536 (WebKit::DrawingAreaImpl::display): Added an assertion that we're not trying to paint 10537 outside of the page's bounds. 10538 10539 2011-03-03 Maciej Stachowiak <mjs (a] apple.com> 10540 10541 Reviewed by Brady Eidson. 10542 10543 WebProcess is calling CFURLCacheRemoveAllCachedResponses when loading, results in origin-load for all resources 10544 https://bugs.webkit.org/show_bug.cgi?id=55701 10545 <rdar://problem/9074017> 10546 10547 * Shared/WebProcessCreationParameters.cpp: 10548 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize cache-clearing 10549 flag parameters to false. 10550 (WebKit::WebProcessCreationParameters::encode): Serialize them properly. 10551 (WebKit::WebProcessCreationParameters::decode): And deserialize. 10552 10553 2011-03-03 Alexey Proskuryakov <ap (a] apple.com> 10554 10555 Reviewed by Darin Adler. 10556 10557 REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access 10558 https://bugs.webkit.org/show_bug.cgi?id=55633 10559 <rdar://problem/8963023> 10560 10561 * WebKit2.xcodeproj/project.pbxproj: 10562 * WebProcess/mac/FullKeyboardAccessWatcher.h: Added. 10563 * WebProcess/mac/FullKeyboardAccessWatcher.mm: Added. 10564 (-[FullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): 10565 (-[FullKeyboardAccessWatcher init]): 10566 (+[FullKeyboardAccessWatcher fullKeyboardAccessEnabled]): 10567 Get the current state of full keyboard access, listening for change notifications. 10568 10569 * WebProcess/WebProcess.h: Added fullKeyboardAccessEnabled(). 10570 10571 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::fullKeyboardAccessEnabled): 10572 WebKit1 also doesn't implement this on platforms other than Mac. 10573 10574 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::fullKeyboardAccessEnabled): 10575 Just ask FullKeyboardAccessWatcher. 10576 10577 * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::keyboardUIMode): 10578 * WebProcess/WebCoreSupport/WebChromeClient.h: 10579 Added keyboardUIMode(), removed tabsToLinks(). 10580 10581 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::keyboardUIMode): 10582 * WebProcess/WebPage/WebPage.h: 10583 Generate keyboard UI mode from tabToLinks preference and current state of FKA. 10584 10585 2011-03-03 Sam Weinig <sam (a] webkit.org> 10586 10587 Reviewed by Anders Carlsson. 10588 10589 Give the Bundle's policy client the option of deciding the policy 10590 https://bugs.webkit.org/show_bug.cgi?id=55699 10591 10592 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 10593 Add WKBundlePagePolicyAction enum and make it the return value of 10594 the WKBundlePagePolicyClient functions. 10595 10596 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 10597 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): 10598 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): 10599 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType): 10600 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 10601 Pass the return value back to the caller. For unimplemented functions, return WKBundlePagePolicyActionPassThrough. 10602 10603 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 10604 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 10605 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 10606 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 10607 Call the policy function early if the bundle handles it. 10608 10609 2011-03-02 Brian Weinstein <bweinstein (a] apple.com> 10610 10611 Reviewed by Adam Roben. 10612 10613 Rest of WebKit2: Need a way to send notifications to client when cookies change 10614 https://bugs.webkit.org/show_bug.cgi?id=55427 10615 <rdar://problem/9056027> 10616 10617 This patch adds the communication from the WebProcess <-> UIProcess about starting/stopping 10618 listening for cookies changing, and adds a mechanism for the WebProcess to notify the UIProcess 10619 when the cookies have changed. The WebProcess sends a message to the UIProcess when the cookies 10620 change, and the UIProcess passes this along to the WebCookieManagerProxyClient. 10621 10622 * UIProcess/API/C/WKCookieManager.cpp: 10623 (WKCookieManagerSetClient): Call through to WebCookieManagerProxy. 10624 (WKCookieManagerStartObservingCookieChanges): Ditto. 10625 (WKCookieManagerStopObservingCookieChanges): Ditto. 10626 10627 * UIProcess/API/C/WKCookieManager.h: Add new functions and a WKCookieManagerClient 10628 which is responsible for cookiesDidChange. 10629 10630 * UIProcess/WebCookieManagerProxy.cpp: 10631 (WebKit::WebCookieManagerProxy::initializeClient): 10632 (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Send the message down to the web process. 10633 (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto. 10634 (WebKit::WebCookieManagerProxy::cookiesDidChange): Tell the WKCookieManagerClient the cookies were 10635 modified. 10636 * UIProcess/WebCookieManagerProxy.h: 10637 * UIProcess/WebCookieManagerProxy.messages.in: Add new messages. 10638 10639 * UIProcess/WebCookieManagerProxyClient.cpp: Added. 10640 (WebKit::WebCookieManagerProxyClient::cookiesDidChange): Calls through to the client saying that 10641 cookies changed. 10642 * UIProcess/WebCookieManagerProxyClient.h: Added. 10643 10644 * WebProcess/Cookies/WebCookieManager.cpp: 10645 (WebKit::WebCookieManager::startObservingCookieChanges): Call through to WebCore::startObservingCookieChanges 10646 (on platforms that support it). 10647 (WebKit::WebCookieManager::stopObservingCookieChanges): Ditto (for stopObservingCookieChanges). 10648 (WebKit::WebCookieManager::dispatchDidModifyCookies): Send a message to the UI process that cookies changed. 10649 * WebProcess/Cookies/WebCookieManager.h: 10650 * WebProcess/Cookies/WebCookieManager.messages.in: 10651 10652 Add new files. 10653 * WebKit2.pro: 10654 * WebKit2.xcodeproj/project.pbxproj: 10655 * GNUmakefile.am: 10656 * win/WebKit2.vcproj: 10657 10658 2011-03-03 Anders Carlsson <andersca (a] apple.com> 10659 10660 Reviewed by Darin Adler. 10661 10662 Remove CanRunBeforeUnloadConfirmPanel sync message 10663 https://bugs.webkit.org/show_bug.cgi?id=55689 10664 10665 * Shared/WebPageCreationParameters.cpp: 10666 (WebKit::WebPageCreationParameters::encode): 10667 (WebKit::WebPageCreationParameters::decode): 10668 Encode and decode canRunBeforeUnloadConfirmPanel, as well as canRunModal, which wasn't 10669 being encoded/decoded. 10670 10671 * Shared/WebPageCreationParameters.h: 10672 Add canRunBeforeUnloadConfirmPanel. 10673 10674 * UIProcess/WebPageProxy.cpp: 10675 (WebKit::WebPageProxy::initializeUIClient): 10676 Send SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages. 10677 10678 (WebKit::WebPageProxy::creationParameters): 10679 Initialize parameters.canRunBeforeUnloadConfirmPanel. 10680 10681 * UIProcess/WebPageProxy.messages.in: 10682 Remove CanRunBeforeUnloadConfirmPanel message. 10683 10684 * UIProcess/WebUIClient.cpp: 10685 (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel): 10686 * UIProcess/WebUIClient.h: 10687 Make canRunBeforeUnloadConfirmPanel const. 10688 10689 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10690 (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel): 10691 Ask the web page instead of sending a synchronous message. 10692 10693 * WebProcess/WebPage/WebPage.cpp: 10694 (WebKit::WebPage::WebPage): 10695 Initialize m_canRunBeforeUnloadConfirmPanel. 10696 10697 * WebProcess/WebPage/WebPage.h: 10698 (WebKit::WebPage::canRunBeforeUnloadConfirmPanel): 10699 (WebKit::WebPage::setCanRunBeforeUnloadConfirmPanel): 10700 Add getter and setter for m_canRunBeforeUnloadConfirmPanel. 10701 10702 (WebKit::WebPage::setCanRunModal): 10703 Add setter for m_canRunModal. 10704 10705 * WebProcess/WebPage/WebPage.messages.in: 10706 Add SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages. 10707 10708 2011-03-03 Adam Roben <aroben (a] apple.com> 10709 10710 Create the CFBundleRef for WebKit.dll on Windows if needed 10711 10712 WebKit part of <http://webkit.org/b/55672> <rdar://problem/9080867> All inspector tests time 10713 out or crash on Windows 7 Release (WebKit2 Tests) 10714 10715 Reviewed by Darin Adler. 10716 10717 * Shared/win/WebKitBundle.cpp: Added. 10718 (WebKit::createWebKitBundle): Returns a pre-existing bundle, if possible, otherwise creates 10719 and returns a new bundle. 10720 (WebKit::webKitBundle): Creates and caches a bundle, and returns it. 10721 10722 * Shared/win/WebKitBundle.h: Added. 10723 10724 * UIProcess/win/WebInspectorProxyWin.cpp: 10725 (WebKit::WebInspectorProxy::inspectorPageURL): 10726 * WebProcess/WebPage/win/WebInspectorWin.cpp: 10727 (WebKit::WebInspector::localizedStringsURL): 10728 Changed to use webKitBundle() to ensure that the bundle has been created. 10729 10730 * win/WebKit2.vcproj: Added new files. 10731 10732 2011-03-03 Peter Kasting <pkasting (a] google.com> 10733 10734 Reviewed by James Robinson. 10735 10736 Drop redundant "Windows; " from the Windows-specific User Agent string. 10737 https://bugs.webkit.org/show_bug.cgi?id=54567 10738 10739 * UIProcess/win/WebPageProxyWin.cpp: 10740 (WebKit::WebPageProxy::standardUserAgent): 10741 10742 2011-03-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 10743 10744 Unreviewed, rolling out r80188. 10745 http://trac.webkit.org/changeset/80188 10746 https://bugs.webkit.org/show_bug.cgi?id=55647 10747 10748 Broke the WebKit API tests. (Requested by xenon on #webkit). 10749 10750 * UIProcess/API/C/WKPage.cpp: 10751 (WKPageRunJavaScriptInMainFrame): 10752 (callRunJavaScriptBlockAndRelease): 10753 * UIProcess/API/C/WKPage.h: 10754 * UIProcess/WebPageProxy.cpp: 10755 (WebKit::WebPageProxy::close): 10756 (WebKit::WebPageProxy::runJavaScriptInMainFrame): 10757 (WebKit::WebPageProxy::processDidCrash): 10758 * UIProcess/WebPageProxy.h: 10759 * UIProcess/WebPageProxy.messages.in: 10760 * WebProcess/WebPage/WebPage.cpp: 10761 (WebKit::WebPage::runJavaScriptInMainFrame): 10762 10763 2011-03-02 Jeff Miller <jeffm (a] apple.com> 10764 10765 Reviewed by Darin Adler. 10766 10767 Rename WebKit::WebPage::validateMenuItem() to validateCommand() 10768 https://bugs.webkit.org/show_bug.cgi?id=55636 10769 10770 Since this method can validate more than menu items, validateCommand() is a better name. Also rename various messages and WebKit::WebPageProxy::didValidateMenuItem() to didValidateCommand(). 10771 10772 * UIProcess/API/mac/WKView.mm: 10773 (-[WKView validateUserInterfaceItem:]): Call validateCommand() instead of validateMenuItem(). 10774 * UIProcess/WebPageProxy.cpp: 10775 (WebKit::WebPageProxy::validateCommand): Renamed from validateMenuItem(). 10776 (WebKit::WebPageProxy::didValidateCommand): Renamed from didValidateMenuItem(). 10777 * UIProcess/WebPageProxy.h: 10778 * UIProcess/WebPageProxy.messages.in: Renamed DidValidateMenuItem to DidValidateCommand. 10779 * WebProcess/WebPage/WebPage.cpp: 10780 (WebKit::WebPage::validateCommand): Renamed from validateMenuItem(). 10781 * WebProcess/WebPage/WebPage.h: 10782 * WebProcess/WebPage/WebPage.messages.in: Renamed ValidateMenuItem to ValidateCommand. 10783 10784 2011-03-02 Anders Carlsson <andersca (a] apple.com> 10785 10786 Reviewed by Sam Weinig. 10787 10788 WKPageSetMemoryCacheClientCallsEnabled doesn't persist if web process crashes 10789 https://bugs.webkit.org/show_bug.cgi?id=55635 10790 10791 * Shared/WebPageCreationParameters.cpp: 10792 (WebKit::WebPageCreationParameters::encode): 10793 (WebKit::WebPageCreationParameters::decode): 10794 Encode and decode areMemoryCacheClientCallsEnabled. 10795 10796 * Shared/WebPageCreationParameters.h: 10797 Add areMemoryCacheClientCallsEnabled member variable. 10798 10799 * UIProcess/WebPageProxy.cpp: 10800 (WebKit::WebPageProxy::WebPageProxy): 10801 Initialize m_areMemoryCacheClientCallsEnabled. 10802 10803 (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): 10804 Update m_areMemoryCacheClientCallsEnabled. Send a message if necessary. 10805 10806 (WebKit::WebPageProxy::creationParameters): 10807 Set areMemoryCacheClientCallsEnabled. 10808 10809 * WebProcess/WebPage/WebPage.cpp: 10810 (WebKit::WebPage::WebPage): 10811 Call WebPage::setMemoryCacheMessagesEnabled. 10812 10813 2011-03-02 Timothy Hatcher <timothy (a] apple.com> 10814 10815 Make the runJavaScriptInMainFrame callback send a WKSerializedScriptValueRef. 10816 10817 https://webkit.org/b/55623 10818 10819 Reviewed by Darin Adler. 10820 10821 * UIProcess/API/C/WKPage.cpp: 10822 (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback. 10823 (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef. 10824 * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef. 10825 * UIProcess/WebPageProxy.cpp: 10826 (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks. 10827 (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback. 10828 (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue 10829 from the DataReference before calling the callback. 10830 (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks. 10831 * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks. 10832 * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback. 10833 * WebProcess/WebPage/WebPage.cpp: 10834 (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue. 10835 And use ScriptValueCallback to send the message back. 10836 10837 2011-03-02 Jessie Berlin <jberlin (a] apple.com> 10838 10839 Reviewed by Adam Roben. 10840 10841 WebKit2: Use CFNetwork Sessions API. 10842 https://bugs.webkit.org/show_bug.cgi?id=55435 10843 10844 Add the ability to create a Private Browsing Storage Session. 10845 10846 * Shared/WebProcessCreationParameters.cpp: 10847 (WebKit::WebProcessCreationParameters::encode): 10848 Encode the UI Process bundle identifier. 10849 (WebKit::WebProcessCreationParameters::decode): 10850 Decode the UI Process bundle identifier. 10851 * Shared/WebProcessCreationParameters.h: 10852 10853 * UIProcess/mac/WebContextMac.mm: 10854 (WebKit::WebContext::platformInitializeWebProcess): 10855 Grab the bundle identifier and use it to set the WebProcessCreationParameter. 10856 * UIProcess/win/WebContextWin.cpp: 10857 (WebKit::WebContext::platformInitializeWebProcess): 10858 Ditto. 10859 10860 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 10861 (InitWebCoreSystemInterface): 10862 Support using the wkCreatePrivateStorageSession WKSI in WebCore. 10863 10864 * WebProcess/WebProcess.cpp: 10865 (WebKit::WebProcess::initializeWebProcess): 10866 Set the base for the Private Browsing Storage Session identifier to be the bundle identifier 10867 from the UI Process so that WebKit1 would create a Private Browsing Storage Session with the 10868 same identifier as WebKit2. 10869 10870 2011-03-01 Brian Weinstein <bweinstein (a] apple.com> 10871 10872 Reviewed by Adam Roben. 10873 10874 Part of WebKit2: Need a way to send notifications to client when cookies change 10875 https://bugs.webkit.org/show_bug.cgi?id=55427 10876 <rdar://problem/9056027> 10877 10878 * WebProcess/Cookies/WebCookieManager.cpp: 10879 (WebKit::WebCookieManager::dispatchDidModifyCookies): Add a stub with a FIXME to send a 10880 message to the UI process. 10881 10882 * WebProcess/Cookies/WebCookieManager.h: 10883 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10884 (WebKit::WebPlatformStrategies::createCookiesStrategy): 10885 (WebKit::WebPlatformStrategies::notifyCookiesChanged): Call WebCookieManager::dispatchDidModifyCookies. 10886 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 10887 10888 2011-03-02 Andras Becsi <abecsi (a] webkit.org> 10889 10890 Reviewed by Laszlo Gombos. 10891 10892 [Qt][WK2] generate-forwarding-headers.pl should generate paths with framework names 10893 https://bugs.webkit.org/show_bug.cgi?id=55478 10894 10895 On case insensitive systems the generated forwarding headers cause build problems. 10896 10897 * Scripts/generate-forwarding-headers.pl: The generated header should 10898 also contain the framework name. 10899 10900 2011-03-01 Jeff Miller <jeffm (a] apple.com> 10901 10902 Reviewed by Darin Adler. 10903 10904 Expose some selection state fields in WKPage 10905 https://bugs.webkit.org/show_bug.cgi?id=55541 10906 10907 Added WKPageCanDelete(), WKPageHasSelectedRange(), and WKPageIsContentEditable() so we can enable some 10908 Edit menu items properly on Windows when using WebKit2. 10909 10910 * UIProcess/API/C/WKPage.cpp: 10911 (WKPageCanDelete): Added. 10912 (WKPageHasSelectedRange): Added. 10913 (WKPageIsContentEditable): Added. 10914 * UIProcess/API/C/WKPage.h: Added new functions. 10915 * UIProcess/WebPageProxy.h: 10916 (WebKit::WebPageProxy::canDelete): Added. 10917 (WebKit::WebPageProxy::hasSelectedRange): Added. 10918 (WebKit::WebPageProxy::isContentEditable): Added. 10919 10920 2011-03-01 Mark Rowe <mrowe (a] apple.com> 10921 10922 Hide the typeinfo name symbols for std::exception and std::bad_alloc too. 10923 10924 * Configurations/Base.xcconfig: 10925 10926 2011-03-01 Mark Rowe <mrowe (a] apple.com> 10927 10928 Reviewed by Sam Weinig. 10929 10930 Add verification scripts to WebKit2 project and fix the issues they reveal. 10931 10932 * Configurations/Base.xcconfig: Add linker flags to prevent C++ standard 10933 library functions from being exported as weak externals. 10934 * Configurations/WebKit2.xcconfig: Inherit linker flags from the project level. 10935 * Shared/WebContextMenuItem.cpp: 10936 (WebKit::WebContextMenuItem::separatorItem): Use DEFINE_STATIC_LOCAL. 10937 * UIProcess/WebPageGroup.cpp: 10938 (WebKit::webPageGroupMap): Ditto. 10939 * WebKit2.xcodeproj/project.pbxproj: Don't copy .in files in to the framework. 10940 Run verification scripts at the appropriate times. 10941 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 10942 (WebKit::WebEditorClient::didBeginEditing): Use DEFINE_STATIC_LOCAL. 10943 (WebKit::WebEditorClient::respondToChangedContents): Ditto. 10944 (WebKit::WebEditorClient::respondToChangedSelection): Ditto. 10945 (WebKit::WebEditorClient::didEndEditing): Ditto. 10946 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 10947 (WebKit::idToHistoryItemMap): Ditto. 10948 (WebKit::historyItemToIDMap): Ditto. 10949 10950 2011-03-01 Joseph Pecoraro <joepeck (a] webkit.org> 10951 10952 Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port. 10953 10954 * UIProcess/API/qt/qwkpage.cpp: 10955 (QWKPage::viewportAttributesForSize): 10956 10957 2011-03-01 Joseph Pecoraro <joepeck (a] webkit.org> 10958 10959 Unreviewed, missed updating a call to WebCore::computeViewportAttributes 10960 who's prototype changed. 10961 10962 Viewport Warning/Error Messages Are Now Inaccurate 10963 https://bugs.webkit.org/show_bug.cgi?id=53707 10964 10965 * UIProcess/API/qt/qwkpage.cpp: 10966 (QWKPage::viewportAttributesForSize): pass in a value for the document argument. 10967 10968 2011-03-01 Anders Carlsson <andersca (a] apple.com> 10969 10970 Reviewed by Sam Weinig. 10971 10972 WKPluginSiteDataManagerClearAllSiteData is not working 10973 https://bugs.webkit.org/show_bug.cgi?id=55528 10974 <rdar://problem/9071823> 10975 10976 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 10977 (WebKit::NetscapePluginModule::tryGetSitesWithData): 10978 Remove version checks, checking that the function pointer is not null is enough. 10979 10980 (WebKit::NetscapePluginModule::tryClearSiteData): 10981 Remove version checks, checking that the function pointer is not null is enough. 10982 Also, correctly convert a null String to a null CString. 10983 10984 2011-03-01 Adam Roben <aroben (a] apple.com> 10985 10986 Incorporate a review comment I missed in r80051 10987 10988 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Clarified error message. 10989 10990 2011-03-01 Adam Roben <aroben (a] apple.com> 10991 10992 Make the PLUGIN_ARCHITECTURE() macro work with MSVC 10993 10994 Fixes <http://webkit.org/b/55513> <rdar://problem/9069189> REGRESSION (r79925): Lots of 10995 plugins tests crashing in NetscapePlugin::initialize on Windows 10996 10997 Reviewed by Anders Carlsson. 10998 10999 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Added a compile-time check to make sure 11000 PLUGIN_ARCHITECTURE() is defined for some platform. 11001 11002 * config.h: Removed the parentheses from the use of "defined" in the PLUGIN_ARCHITECTURE() 11003 macro. This matches PLATFORM(), OS(), etc., and makes the macro work on Windows. Also 11004 replaced the nonsense OS(WIN) with OS(WINDOWS). 11005 11006 * win/WebKit2.vcproj: Added config.h for editing convenience. Let VS do its thang. 11007 11008 2011-03-01 Sam Weinig <sam (a] webkit.org> 11009 11010 Reviewed by Timothy Hatcher. 11011 11012 WebKit2 needs to be made localizable 11013 https://bugs.webkit.org/show_bug.cgi?id=55483 11014 11015 * PluginProcess/mac/PluginProcessMainMac.mm: 11016 * WebProcess/mac/WebProcessMainMac.mm: 11017 Set the default localization from the passed in parameter. 11018 11019 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 11020 Add the preferred localization as a parameter when launching processes 11021 so that they can set their localization to match the launching app. 11022 11023 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 11024 Use WebCore's localizedString function on the mac, to actually localize 11025 these strings. 11026 11027 (WebKit::WebPlatformStrategies::imageTitle): 11028 Switch to using replace, instead of concatenation, to give localizers a chance 11029 to rearrange the wording. 11030 11031 2011-03-01 Balazs Kelemen <kbalazs (a] webkit.org> 11032 11033 Reviewed by Anders Carlsson. 11034 11035 [Qt][WK2] Plugin initialization 11036 https://bugs.webkit.org/show_bug.cgi?id=48127 11037 11038 Apply the quirks that are necessary for the flash plugin 11039 to not crash on X11. 11040 11041 * Platform/qt/ModuleQt.cpp: 11042 (WebKit::Module::load): Use the ResolveAllSymbols hint as we do in WebCore. 11043 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 11044 (WebKit::NetscapePluginModule::tryLoad): Call applyX11QuirksBeforeLoad 11045 if PLUGIN_ARCHITECTURE is X11. 11046 * Shared/Plugins/Netscape/NetscapePluginModule.h: 11047 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 11048 (WebKit::initializeGTK): The same hack that we do in WebCore. 11049 Call gtk_init because flash don't do it for itself. 11050 (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad): Added for X11. 11051 Do the hacks that we need to do before calling NP_Initialize on the 11052 flash plugin to save it form crashing. 11053 * Shared/Plugins/PluginQuirks.h: Use PLUGIN_ARCHITECTURE macros. 11054 Added RequiresGTKToolKit quirk for X11. 11055 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11056 (WebKit::NPN_GetValue): Handle the RequiresGTKToolKit quirk on X11. 11057 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 11058 (WebKit::NetscapePlugin::quirks): Added getter for the PluginModule's 11059 quirks to be available in NPN_GetValue. 11060 11061 2011-03-01 Adam Roben <aroben (a] apple.com> 11062 11063 Convert seconds to milliseconds before calling ::SetTimer 11064 11065 Fixes <http://webkit.org/b/55417> <rdar://problem/9065287> RunLoop::Timer fires 1000x too 11066 early on Windows 11067 11068 Reviewed by Anders Carlsson. 11069 11070 * Platform/win/RunLoopWin.cpp: 11071 (RunLoop::TimerBase::start): Convert the timeout interval to milliseconds, since that's what 11072 ::SetTimer expects. 11073 11074 2011-03-01 Andras Becsi <abecsi (a] webkit.org> 11075 11076 Reviewed by Csaba Osztrogonc. 11077 11078 [Qt] Clean up the project files and move common options to WebKit.pri. 11079 11080 * WebKit2.pro: Deduplicate options. 11081 11082 2011-03-01 Juha Savolainen <juha.savolainen (a] weego.fi> 11083 11084 Reviewed by Andreas Kling. 11085 11086 [Qt] WebKit2 needs to support font size changing and getting default font size 11087 https://bugs.webkit.org/show_bug.cgi?id=53671 11088 11089 Added new enum for font size type and added methods to set and get default font sizes. 11090 11091 * UIProcess/API/qt/qwkpreferences.cpp: 11092 (QWKPreferences::setFontSize): Added. 11093 (QWKPreferences::fontSize): Added. 11094 * UIProcess/API/qt/qwkpreferences.h: 11095 11096 2011-02-28 Alice Liu <alice.liu (a] apple.com> 11097 11098 Reviewed by Adam Roben and Gavin Barraclough. 11099 11100 https://bugs.webkit.org/show_bug.cgi?id=54898 11101 InjectedBundleNodeHandle dies too early in WKBundleHitTestResultGetNodeHandle 11102 11103 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 11104 (WKBundleHitTestResultCopyNodeHandle): 11105 Instead of .get(), call .release.leakRef() like other functions that return WKBundleNodeHandleRef. 11106 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 11107 Renamed from "get" to "copy", because it leaksRef. 11108 11109 2011-02-28 Alice Liu <alice.liu (a] apple.com> 11110 11111 Reviewed by Gavin Barraclough. 11112 11113 https://bugs.webkit.org/show_bug.cgi?id=55442 11114 Webarchives don't contain subframe content 11115 11116 * WebProcess/WebPage/WebPage.cpp: 11117 (WebKit::WebPage::getWebArchiveOfFrame): 11118 Pass the frame's document instead of just the frame, to use a different LegacyWebArchive::create function. 11119 11120 2011-02-28 Benjamin Poulain <benjamin.poulain (a] nokia.com> 11121 11122 Reviewed by Kenneth Rohde Christiansen. 11123 11124 [Qt][WK2] Add a way to test the WebKit 2 APIs 11125 https://bugs.webkit.org/show_bug.cgi?id=55408 11126 11127 Add an initial test for the WebKit 2 APIs of Qt. 11128 11129 * UIProcess/API/qt/tests/html/basic_page.html: Added. 11130 * UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro: Added. 11131 * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Added. 11132 (View::View): 11133 (View::resizeEvent): 11134 (tst_QGraphicsWKView::init): 11135 (tst_QGraphicsWKView::cleanup): 11136 (tst_QGraphicsWKView::loadEmptyPage): 11137 * UIProcess/API/qt/tests/tests.pri: Added. 11138 * UIProcess/API/qt/tests/tests.pro: Added. 11139 * UIProcess/API/qt/tests/util.h: Added. 11140 (waitForSignal): 11141 11142 2011-02-28 Anders Carlsson <andersca (a] apple.com> 11143 11144 Fix clang build. 11145 11146 * UIProcess/API/mac/FindIndicatorWindow.mm: 11147 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 11148 (WebKit::ChunkedUpdateDrawingAreaProxy::deprecatedUpdate): 11149 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage): 11150 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 11151 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 11152 (WebKit::ChunkedUpdateDrawingArea::deprecatedResumePainting): 11153 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 11154 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 11155 11156 2011-02-28 Dan Bernstein <mitz (a] apple.com> 11157 11158 Rubber-stamped by Anders Carlsson. 11159 11160 Do not copy config.h into WebKit2. 11161 11162 * WebKit2.xcodeproj/project.pbxproj: 11163 11164 2011-02-28 Dan Bernstein <mitz (a] apple.com> 11165 11166 LLVM Compiler build fix. 11167 11168 * Scripts/webkit2/messages.py: 11169 * UIProcess/WebPageProxy.h: 11170 11171 2011-02-28 Anders Carlsson <andersca (a] apple.com> 11172 11173 Reviewed by Dan Bernstein, Sam Weinig, Alexey Proskuryakov and Darin Adler. 11174 11175 Open PDF in Preview doesn't work 11176 https://bugs.webkit.org/show_bug.cgi?id=55400 11177 <rdar://problem/8750353> 11178 11179 * UIProcess/API/mac/PDFViewController.mm: 11180 (-[WKPDFView initWithFrame:PDFViewController:]): 11181 Set the WKPDFView as the delegate of itself. 11182 11183 (-[WKPDFView PDFViewOpenPDFInNativeApplication:]): 11184 Call PDFViewController::openPDFInFinder. 11185 11186 (WebKit::PDFViewController::PDFViewController): 11187 Initialize m_hasWrittenPDFToDisk to false. 11188 11189 (WebKit::PDFViewController::openPDFInFinder): 11190 Write the PDF to disk if needed and then open it using -[NSWorkspace openFile:]. 11191 11192 (WebKit::temporaryPDFDirectoryPath): 11193 Create a directory to put PDFs in. 11194 11195 (WebKit::PDFViewController::pathToPDFOnDisk): 11196 Return a path to a (non-existent) file in the temporary PDF directory. 11197 11198 2011-02-28 Alexey Proskuryakov <ap (a] apple.com> 11199 11200 Reviewed by Dan Bernstein. 11201 11202 Frequent crashes in CFURLCache code on Snow Leopard 11203 https://bugs.webkit.org/show_bug.cgi?id=55412 11204 <rdar://problem/9063922> 11205 11206 CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation() 11207 creates a string with maximum possible buffer size. A path with garbage at the end confused 11208 CFURLCache into corrupting its data structures. 11209 11210 * Shared/WebProcessCreationParameters.h: Added a FIXME about merging Mac and Windows code. 11211 This problem wouldn't have occured if we didn't use CString in the first place. 11212 11213 * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess): 11214 Added an assertion matching Windows behavior (seems likely that NSURLCache also wouldn't 11215 have liked trailing slash). 11216 11217 * UIProcess/win/WebContextWin.cpp: (WebKit::WebContext::platformInitializeWebProcess): 11218 Made slash removal conditional for robustness. 11219 11220 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess): 11221 Use actual string length, not CString::length(). 11222 11223 2011-02-28 Balazs Kelemen <kbalazs (a] webkit.org> 11224 11225 Reviewed by Anders Carlsson. 11226 11227 [Qt][WK2] Plugin initialization 11228 https://bugs.webkit.org/show_bug.cgi?id=48127 11229 11230 Specialize the way of initializing the plugin for X11. 11231 Introduce PLUGIN_ARCHITECTURE macros to allow code sharing 11232 across platforms. 11233 11234 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 11235 (WebKit::NetscapePluginModule::tryLoad): 11236 * config.h: 11237 11238 2011-02-28 Sam Weinig <sam (a] webkit.org> 11239 11240 Reviewed by Brady Eidson. 11241 11242 WK2 Context Menus - Implement LookUpInDictionary 11243 https://bugs.webkit.org/show_bug.cgi?id=55405 11244 11245 * Shared/DictionaryPopupInfo.cpp: 11246 (WebKit::DictionaryPopupInfo::encode): 11247 (WebKit::DictionaryPopupInfo::decode): 11248 * Shared/DictionaryPopupInfo.h: 11249 Add type to differentiate between HotKey and ContextMenu triggered 11250 dictionary popups. This is necessary since HotKey triggered ones want 11251 to override the style to always be overlay. 11252 11253 * UIProcess/API/mac/PageClientImpl.mm: 11254 (WebKit::PageClientImpl::didPerformDictionaryLookup): 11255 Only force the overlay style for HotKey triggered dictionary lookups. 11256 11257 * WebProcess/WebPage/WebPage.h: 11258 * WebProcess/WebPage/mac/WebPageMac.mm: 11259 (WebKit::WebPage::performDictionaryLookupAtLocation): 11260 (WebKit::WebPage::performDictionaryLookupForRange): 11261 Factor out shared functionality into performDictionaryLookupForRange. 11262 11263 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 11264 (WebKit::WebContextMenuClient::lookUpInDictionary): 11265 Get selected range and call newly factored out performDictionaryLookupForRange. 11266 11267 2011-02-28 Anders Carlsson <andersca (a] apple.com> 11268 11269 Reviewed by Dan Bernstein. 11270 11271 PDFViewController should hold a reference to the PDF data 11272 https://bugs.webkit.org/show_bug.cgi?id=55394 11273 11274 * UIProcess/API/mac/PDFViewController.h: 11275 * UIProcess/API/mac/PDFViewController.mm: 11276 (WebKit::PDFViewController::setPDFDocumentData): 11277 11278 2011-02-28 Sam Weinig <sam (a] webkit.org> 11279 11280 Reviewed by Darin Adler. 11281 11282 Size of text in popup menu doesn't match size of text in <select> itself in WebKit2 11283 https://bugs.webkit.org/show_bug.cgi?id=48234 11284 11285 * Shared/TextInfo.cpp: Removed. 11286 * Shared/TextInfo.h: Removed. 11287 Replace this with the more appropriately DictionaryPopupInfo. 11288 11289 * Shared/DictionaryPopupInfo.cpp: Copied from Source/WebKit2/Shared/TextInfo.cpp. 11290 (WebKit::DictionaryPopupInfo::encode): 11291 (WebKit::DictionaryPopupInfo::decode): 11292 * Shared/DictionaryPopupInfo.h: Copied from Source/WebKit2/Shared/TextInfo.h. 11293 (WebKit::DictionaryPopupInfo::DictionaryPopupInfo): 11294 Replace individual font related fields with FontInfo. 11295 11296 * Shared/FontInfo.cpp: Added. 11297 (WebKit::FontInfo::FontInfo): 11298 (WebKit::FontInfo::encode): 11299 (WebKit::FontInfo::decode): 11300 * Shared/FontInfo.h: Added. 11301 Add class to encapsulate passing a font description over the wire. 11302 11303 * Shared/PlatformPopupMenuData.cpp: 11304 (WebKit::PlatformPopupMenuData::encode): 11305 (WebKit::PlatformPopupMenuData::decode): 11306 * Shared/PlatformPopupMenuData.h: 11307 Add FontInfo as extra data for the Mac. 11308 11309 * UIProcess/API/mac/PageClientImpl.h: 11310 * UIProcess/API/mac/PageClientImpl.mm: 11311 (WebKit::PageClientImpl::didPerformDictionaryLookup): 11312 * UIProcess/PageClient.h: 11313 Add scaleFactor and use it to construct a font at the right size. 11314 11315 * UIProcess/WebPageProxy.cpp: 11316 (WebKit::WebPageProxy::showPopupMenu): 11317 (WebKit::WebPageProxy::didPerformDictionaryLookup): 11318 * UIProcess/WebPageProxy.h: 11319 * UIProcess/WebPageProxy.messages.in: 11320 * UIProcess/WebPopupMenuProxy.h: 11321 * UIProcess/mac/WebPopupMenuProxyMac.h: 11322 (WebKit::WebPopupMenuProxyMac::create): 11323 * UIProcess/mac/WebPopupMenuProxyMac.mm: 11324 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): 11325 (WebKit::WebPopupMenuProxyMac::populate): 11326 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 11327 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 11328 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 11329 * UIProcess/qt/WebPopupMenuProxyQt.h: 11330 * UIProcess/win/WebPopupMenuProxyWin.cpp: 11331 (WebKit::WebPopupMenuProxyWin::showPopupMenu): 11332 * UIProcess/win/WebPopupMenuProxyWin.h: 11333 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: 11334 (WebKit::WebPopupMenu::setUpPlatformData): 11335 * WebProcess/WebPage/mac/WebPageMac.mm: 11336 (WebKit::WebPage::performDictionaryLookupAtLocation): 11337 Pass scale factor through and rename TextInfo -> DictionaryPopupInfo. 11338 11339 * WebKit2.pro: 11340 * WebKit2.xcodeproj/project.pbxproj: 11341 * win/WebKit2.vcproj: 11342 Add new files. 11343 11344 2011-02-28 Adam Roben <aroben (a] apple.com> 11345 11346 One more rename as a followup to r79868 11347 11348 Rubber-stamped by Anders Carlsson. 11349 11350 * UIProcess/DrawingAreaProxyImpl.cpp: 11351 * UIProcess/DrawingAreaProxyImpl.h: 11352 Rename stateDidChange to backingStoreStateDidChange. 11353 11354 2011-02-28 Adam Roben <aroben (a] apple.com> 11355 11356 Rename DrawingArea[Proxy]Impl's "state ID" concept to "backing store state ID" 11357 11358 Rubber-stamped (and suggested) by Anders Carlsson. 11359 11360 * UIProcess/DrawingAreaProxy.h: 11361 * UIProcess/DrawingAreaProxy.messages.in: 11362 * UIProcess/DrawingAreaProxyImpl.cpp: 11363 * UIProcess/DrawingAreaProxyImpl.h: 11364 * WebProcess/WebPage/DrawingArea.h: 11365 * WebProcess/WebPage/DrawingArea.messages.in: 11366 * WebProcess/WebPage/DrawingAreaImpl.cpp: 11367 * WebProcess/WebPage/DrawingAreaImpl.h: 11368 Perform the rename. 11369 11370 2011-02-28 Adam Roben <aroben (a] apple.com> 11371 11372 Decouple state changes from sending of UpdateState messages in DrawingAreaProxyImpl 11373 11374 The new DrawingAreaProxyImpl::stateDidChange function should be called whenever 11375 DrawingAreaProxyImpl's state changes in a way that will require allocating a new backing 11376 store. (Currently, this is just when the size changes.) This function will sometimes (but 11377 not always, as when we're waiting for a DidUpdateState message) send an UpdateState message 11378 to the web process. This means it's now possible for the state IDs sent in consecutive 11379 UpdateState messages to increase by more than one, but that's OK. 11380 11381 This should cause no change in behavior. 11382 11383 Fixes <http://webkit.org/b/55382> DrawingAreaProxyImpl's state ID should be updated whenever 11384 its state changes, not just when we send an UpdateState message 11385 11386 Reviewed by Anders Carlsson. 11387 11388 * UIProcess/DrawingAreaProxyImpl.cpp: 11389 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Updated for rename. 11390 (WebKit::DrawingAreaProxyImpl::sizeDidChange): Changed to call stateDidChange. 11391 (WebKit::DrawingAreaProxyImpl::didUpdateState): Updated for rename, and changed to call 11392 sendUpdateState whenever our state has changed for any reason since the last UpdateState 11393 message was sent. 11394 (WebKit::DrawingAreaProxyImpl::stateDidChange): Added. Increments m_nextStateID and calls 11395 through to sendUpdateState. 11396 (WebKit::DrawingAreaProxyImpl::sendUpdateState): Updated for rename, moved incrementing of 11397 the state ID we send to the web process from here to stateDidChange, and added an assertion. 11398 11399 * UIProcess/DrawingAreaProxyImpl.h: Renamed m_requestedStateID to m_nextStateID, and updated 11400 the comment explaining its meaning. 11401 11402 2011-02-28 Adam Roben <aroben (a] apple.com> 11403 11404 Pass the right dirty rect to Plugin::paint 11405 11406 A typo in r79040 broke this. Much of this patch is just support for testing the fix. 11407 11408 Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2: 11409 Large portions of pages with plugins paint black 11410 11411 Reviewed by Anders Carlsson. 11412 11413 * WebProcess/Plugins/PluginView.cpp: 11414 (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint, 11415 rather than just passing along the dirty rect that was passed into this function. This is 11416 the bug fix. 11417 11418 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 11419 (WKBundlePageForceRepaint): 11420 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 11421 Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback. 11422 11423 * WebProcess/WebPage/WebPage.cpp: 11424 (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here... 11425 (WebKit::WebPage::forceRepaint): ...from here. 11426 11427 * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback. 11428 11429 2011-02-27 Sam Weinig <sam (a] webkit.org> 11430 11431 Reviewed by Dan Bernstein. 11432 11433 Force dictionary popup to use overlay type 11434 <rdar://problem/9052483> 11435 https://bugs.webkit.org/show_bug.cgi?id=55337 11436 11437 * UIProcess/API/mac/PageClientImpl.mm: 11438 (WebKit::PageClientImpl::didPerformDictionaryLookup): As this is only 11439 used for the hot key version of the dictionary popup, force the overlay 11440 style. 11441 11442 2011-02-27 Benjamin Poulain <benjamin.poulain (a] nokia.com> 11443 11444 Reviewed by Kenneth Rohde Christiansen. 11445 11446 [Qt] [WK2] QGraphicsWKView::showContextMenu() should be public 11447 https://bugs.webkit.org/show_bug.cgi?id=55330 11448 11449 Move QGraphicsWKView::showContextMenu() to the public API. Add documentation 11450 on its use. 11451 11452 * UIProcess/API/qt/qgraphicswkview.cpp: 11453 * UIProcess/API/qt/qgraphicswkview.h: 11454 11455 2011-02-27 Alejandro G. Castro <alex (a] igalia.com> 11456 11457 Unreviewed, fixed GTK compilation after r79806. 11458 11459 * UIProcess/gtk/WebView.cpp: 11460 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation): 11461 * UIProcess/gtk/WebView.h: 11462 11463 2011-02-26 Anders Carlsson <andersca (a] apple.com> 11464 11465 Reviewed by Dan Bernstein. 11466 11467 Asynchronous response to FramePolicyListener is not finishing the load 11468 https://bugs.webkit.org/show_bug.cgi?id=55305 11469 <rdar://problem/9044356> 11470 11471 Always initialize the receivedPolicyAction reply parameter. 11472 11473 * UIProcess/WebPageProxy.cpp: 11474 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 11475 (WebKit::WebPageProxy::decidePolicyForMIMEType): 11476 11477 2011-02-26 Anders Carlsson <andersca (a] apple.com> 11478 11479 Reviewed by Sam Weinig. 11480 11481 DidFinishLoadingDataForCustomRepresentation should pass along the suggested filename 11482 https://bugs.webkit.org/show_bug.cgi?id=55304 11483 11484 * UIProcess/API/mac/PDFViewController.h: 11485 * UIProcess/API/mac/PDFViewController.mm: 11486 (WebKit::PDFViewController::setPDFDocumentData): 11487 * UIProcess/API/mac/PageClientImpl.h: 11488 * UIProcess/API/mac/PageClientImpl.mm: 11489 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): 11490 * UIProcess/API/mac/WKView.mm: 11491 (-[WKView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:CoreIPC::]): 11492 * UIProcess/API/mac/WKViewInternal.h: 11493 * UIProcess/API/qt/qwkpage.cpp: 11494 (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation): 11495 * UIProcess/API/qt/qwkpage_p.h: 11496 * UIProcess/PageClient.h: 11497 * UIProcess/WebPageProxy.cpp: 11498 (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation): 11499 * UIProcess/WebPageProxy.h: 11500 * UIProcess/WebPageProxy.messages.in: 11501 * UIProcess/win/WebView.cpp: 11502 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation): 11503 * UIProcess/win/WebView.h: 11504 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11505 (WebKit::WebFrameLoaderClient::finishedLoading): 11506 11507 2011-02-26 Anders Carlsson <andersca (a] apple.com> 11508 11509 Reviewed by Oliver Hunt. 11510 11511 DrawingArea should not be reference counted 11512 https://bugs.webkit.org/show_bug.cgi?id=55284 11513 11514 * Shared/DrawingAreaInfo.h: 11515 * Shared/WebPageCreationParameters.cpp: 11516 (WebKit::WebPageCreationParameters::encode): 11517 (WebKit::WebPageCreationParameters::decode): 11518 * Shared/WebPageCreationParameters.h: 11519 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 11520 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 11521 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 11522 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 11523 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize): 11524 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 11525 * UIProcess/DrawingAreaProxy.cpp: 11526 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 11527 * UIProcess/DrawingAreaProxy.h: 11528 (WebKit::DrawingAreaProxy::type): 11529 * UIProcess/DrawingAreaProxyImpl.cpp: 11530 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 11531 * UIProcess/DrawingAreaProxyImpl.h: 11532 * UIProcess/TiledDrawingAreaProxy.cpp: 11533 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 11534 * UIProcess/TiledDrawingAreaProxy.h: 11535 * UIProcess/WebPageProxy.cpp: 11536 (WebKit::WebPageProxy::didReceiveSyncMessage): 11537 (WebKit::WebPageProxy::creationParameters): 11538 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 11539 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 11540 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 11541 (WebKit::ChunkedUpdateDrawingArea::display): 11542 (WebKit::ChunkedUpdateDrawingArea::setSize): 11543 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 11544 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 11545 * WebProcess/WebPage/DrawingArea.cpp: 11546 (WebKit::DrawingArea::create): 11547 (WebKit::DrawingArea::DrawingArea): 11548 * WebProcess/WebPage/DrawingArea.h: 11549 * WebProcess/WebPage/DrawingAreaImpl.cpp: 11550 (WebKit::DrawingAreaImpl::create): 11551 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 11552 * WebProcess/WebPage/DrawingAreaImpl.h: 11553 * WebProcess/WebPage/TiledDrawingArea.cpp: 11554 (WebKit::TiledDrawingArea::TiledDrawingArea): 11555 * WebProcess/WebPage/TiledDrawingArea.h: 11556 * WebProcess/WebPage/WebPage.cpp: 11557 (WebKit::WebPage::drawRect): 11558 * WebProcess/WebPage/WebPage.h: 11559 11560 2011-02-26 Vsevolod Vlasov <vsevik (a] chromium.org> 11561 11562 Reviewed by Pavel Feldman. 11563 11564 DumpRenderTree should reset frame opener between tests. 11565 https://bugs.webkit.org/show_bug.cgi?id=54874 11566 11567 Added clearOpener method to WKBundleWebFramePrivate. 11568 11569 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 11570 (WKBundleFrameClearOpener): 11571 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 11572 11573 2011-02-26 Yael Aharon <yael.aharon (a] nokia.com> 11574 11575 Reviewed by Andreas Kling. 11576 11577 [Qt] Fix the focus in MiniBrowser. 11578 https://bugs.webkit.org/show_bug.cgi?id=55288 11579 11580 Implement basic functionality for focus in QWKPagePrivate. 11581 11582 * UIProcess/API/qt/qwkpage.cpp: 11583 (QWKPagePrivate::isViewWindowActive): 11584 (QWKPagePrivate::isViewFocused): 11585 (QWKPagePrivate::isViewVisible): 11586 11587 2011-02-26 Sheriff Bot <webkit.review.bot (a] gmail.com> 11588 11589 Unreviewed, rolling out r79764. 11590 http://trac.webkit.org/changeset/79764 11591 https://bugs.webkit.org/show_bug.cgi?id=55295 11592 11593 "broke Chromium builds" (Requested by rniwa on #webkit). 11594 11595 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 11596 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 11597 11598 2011-02-26 Vsevolod Vlasov <vsevik (a] chromium.org> 11599 11600 Reviewed by Pavel Feldman. 11601 11602 DumpRenderTree should reset frame opener between tests. 11603 https://bugs.webkit.org/show_bug.cgi?id=54874 11604 11605 Added clearOpener method to WKBundleWebFramePrivate. 11606 11607 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 11608 (WKBundleFrameClearOpener): 11609 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 11610 11611 2011-02-25 Anders Carlsson <andersca (a] apple.com> 11612 11613 Reviewed by Darin Adler. 11614 11615 Plug-in process crashes when using GuardMalloc 11616 https://bugs.webkit.org/show_bug.cgi?id=55279 11617 <rdar://problem/9044618> 11618 11619 Update m_environmentPointer after copying the environment variables. 11620 11621 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 11622 (WebKit::EnvironmentVariables::copyEnvironmentVariables): 11623 11624 2011-02-25 Darin Adler <darin (a] apple.com> 11625 11626 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 11627 (WebKit::ProcessLauncher::launchProcess): Fixed backwards logic from last change. 11628 11629 2011-02-25 Darin Adler <darin (a] apple.com> 11630 11631 Reviewed by Mark Rowe. 11632 11633 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 11634 (WebKit::ProcessLauncher::launchProcess): Fixed performance problem in production 11635 builds by only setting DYLD_FRAMEWORK_PATH in engineering configurations. 11636 11637 2011-02-25 Darin Adler <darin (a] apple.com> 11638 11639 Reviewed by Anders Carlsson. 11640 11641 <rdar://problem/8036034> WebKit2 should work even if DYLD_FRAMEWORK_PATH is not set 11642 11643 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 11644 (WebKit::EnvironmentVariables::~EnvironmentVariables): Use fastFree, not delete, on 11645 the strings here because they are allocated with fastMalloc, not new. 11646 (WebKit::EnvironmentVariables::set): Use const more. 11647 (WebKit::EnvironmentVariables::get): Ditto. 11648 (WebKit::EnvironmentVariables::appendValue): Ditto. 11649 (WebKit::EnvironmentVariables::valueIfVariableHasName): Ditto. Also fix mistake 11650 where this would match if the name matched only a prefix of the environment variable's 11651 name. We want to match the whole name, so we need to use memcmp, not strncmp. 11652 (WebKit::EnvironmentVariables::createStringForVariable): Use const more. 11653 (WebKit::ProcessLauncher::launchProcess): Use clearer name, frameworkExecutablePath, 11654 for what was called bundlePath before. Append the frameworks path to DYLD_FRAMEWORK_PATH, 11655 ensuring we can pick up other frameworks from the same directory in the web process. 11656 Use a const_cast instead of a C-style cast. 11657 11658 2011-02-25 Chris Fleizach <cfleizach (a] apple.com> 11659 11660 Reviewed by Anders Carlsson. 11661 11662 AX: WK2: AXApplication not returning the AXFocusedUIElement within the web area 11663 https://bugs.webkit.org/show_bug.cgi?id=55277 11664 11665 * UIProcess/API/mac/WKView.mm: 11666 (-[WKView accessibilityFocusedUIElement]): 11667 11668 2011-02-25 Alexey Proskuryakov <ap (a] apple.com> 11669 11670 Reviewed by Anders Carlsson. 11671 11672 https://bugs.webkit.org/show_bug.cgi?id=55276 11673 WebPage::close() accesses "this" after it is destroyed. 11674 11675 This was making many tests crash with GuardMalloc. 11676 11677 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Access "this" before it can be 11678 destroyed, not after. 11679 11680 2011-02-25 Balazs Kelemen <kbalazs (a] webkit.org> 11681 11682 Unreviewed. 11683 Add missing sources to WebKit2API.pri. 11684 11685 * WebKit2API.pri: 11686 11687 2011-02-25 Anders Carlsson <andersca (a] apple.com> 11688 11689 Reviewed by Darin Adler. 11690 11691 A WKView without a window will cause CG errors in the console 11692 https://bugs.webkit.org/show_bug.cgi?id=55264 11693 <rdar://problem/9044281> 11694 11695 Check that the window has a valid window number before trying to get its graphics context. 11696 11697 * UIProcess/API/mac/PageClientImpl.mm: 11698 (WebKit::PageClientImpl::containingWindowGraphicsContext): 11699 11700 2011-02-25 Brian Weinstein <bweinstein (a] apple.com> 11701 11702 Reviewed by Brady Eidson and looked over by Jessie Berlin. 11703 11704 WebKit2: Need a way to manage cookies from the web process 11705 https://bugs.webkit.org/show_bug.cgi?id=55086 11706 11707 Call through to WebCore::CookieJar in our WebCookieManager functions. 11708 11709 * WebProcess/Cookies/WebCookieManager.cpp: 11710 (WebKit::WebCookieManager::getHostnamesWithCookies): 11711 (WebKit::WebCookieManager::deleteCookiesForHostname): 11712 (WebKit::WebCookieManager::deleteAllCookies): 11713 11714 2011-02-25 Anders Carlsson <andersca (a] apple.com> 11715 11716 Reviewed by Sam Weinig. 11717 11718 Option-clicking on links doesn't download them due to sandbox violation 11719 https://bugs.webkit.org/show_bug.cgi?id=55250 11720 <rdar://problem/9018359> 11721 11722 The change to make DecidePolicyForNavigationAction sync didn't handle the case when the 11723 decided policy was "Download". Fix this by passing along the download ID back to the web process. 11724 11725 * Platform/CoreIPC/HandleMessage.h: 11726 (CoreIPC::callMemberFunction): 11727 Add new overload. 11728 11729 * UIProcess/WebPageProxy.cpp: 11730 (WebKit::WebPageProxy::WebPageProxy): 11731 Initialize m_syncNavigationActionPolicyDownloadID. 11732 11733 (WebKit::WebPageProxy::receivedPolicyDecision): 11734 Set m_syncNavigationActionPolicyDownloadID to the download ID. 11735 11736 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 11737 Return the m_syncNavigationActionPolicyDownloadID. 11738 11739 * UIProcess/WebPageProxy.h: 11740 * UIProcess/WebPageProxy.messages.in: 11741 Add a DownloadID reply parameter. 11742 11743 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11744 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 11745 Don't pass a zero download ID to didReceivePolicyDecision. 11746 11747 2011-02-25 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 11748 11749 Reviewed by Martin Robinson. 11750 11751 [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2 11752 https://bugs.webkit.org/show_bug.cgi?id=48510 11753 11754 * GNUmakefile.am: 11755 * Shared/NativeWebKeyboardEvent.h: Added the GTK event attribute 11756 and constructors, in our case we need it because we use a pointer 11757 and copy the event. 11758 (WebKit::NativeWebKeyboardEvent::nativeEvent): 11759 * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Added. 11760 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): We need 11761 to copy the event in the constructor to avoid two references to 11762 the same event. 11763 * Shared/gtk/WebEventFactory.cpp: Changed the prototype of the 11764 functions to add const, we need it for the NativeWebKeyboardEvent 11765 constructor. 11766 (WebKit::modifiersForEvent): 11767 (WebKit::WebEventFactory::createWebKeyboardEvent): 11768 * UIProcess/gtk/WebContextGtk.cpp: Added. Stubbed implementation 11769 for GTK port. Yet to implement. 11770 (WebKit::WebContext::applicationCacheDirectory): 11771 (WebKit::WebContext::platformInitializeWebProcess): 11772 (WebKit::WebContext::platformDefaultDatabaseDirectory): 11773 * UIProcess/gtk/WebView.cpp: 11774 (WebKit::WebView::handleKeyboardEvent): 11775 11776 2011-02-25 Anders Carlsson <andersca (a] apple.com> 11777 11778 Reviewed by Sam Weinig. 11779 11780 Get rid of more old accelerated compositing code 11781 https://bugs.webkit.org/show_bug.cgi?id=55235 11782 11783 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 11784 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 11785 * UIProcess/DrawingAreaProxy.h: 11786 * UIProcess/DrawingAreaProxyImpl.cpp: 11787 * UIProcess/DrawingAreaProxyImpl.h: 11788 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 11789 * WebProcess/WebPage/DrawingArea.h: 11790 * WebProcess/WebPage/DrawingAreaImpl.cpp: 11791 * WebProcess/WebPage/DrawingAreaImpl.h: 11792 11793 2011-02-25 Andras Becsi <abecsi (a] webkit.org> 11794 11795 Reviewed by Csaba Osztrogonc. 11796 11797 [Qt] Make the WebKit2 build system less confusing for non-Qt developers 11798 https://bugs.webkit.org/show_bug.cgi?id=55213 11799 11800 * WebKit2API.pri: Added. 11801 11802 2011-02-25 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 11803 11804 Reviewed by Martin Robinson. 11805 11806 [GTK] Implement WebView and WebKitWebView classes for WebKit2 11807 https://bugs.webkit.org/show_bug.cgi?id=48509 11808 11809 * GNUmakefile.am: 11810 * UIProcess/API/C/gtk/WKView.cpp: 11811 * UIProcess/API/C/gtk/WKView.h: Removed gdkrectangle from 11812 constructor. 11813 * UIProcess/gtk/WebViewWidget.cpp: Added. The GObject interface 11814 for WebView. The GObject is the GtkWidget handle which is used by 11815 WebView class for GTK port. 11816 * UIProcess/gtk/WebViewWidget.h: Added. The GObject interface 11817 declarations for GtkWidget handle for GTK port. 11818 * UIProcess/gtk/WebView.cpp: Added. The native GtkWidget handle 11819 for GTK port which is associated with each WKViewRef. 11820 * UIProcess/gtk/WebView.h: Added. Class which implements the 11821 PageClient interface. It is a wrapper over the native GtkWidget 11822 handle associated with each WKViewRef for GTK port. 11823 11824 2011-02-25 Alejandro G. Castro <alex (a] igalia.com> 11825 11826 Fix GTK compilation after r79654. 11827 11828 * GNUmakefile.am: 11829 11830 2011-02-24 Brian Weinstein <bweinstein (a] apple.com> 11831 11832 Qt build fix. 11833 11834 * WebKit2.pri: 11835 11836 2011-02-24 Brady Eidson <beidson (a] apple.com> 11837 11838 Reviewed by Sam Weinig and looked over by Brian Weinstein. 11839 11840 Part of <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 11841 Need WebKit2 API to view/manage origins with LocalStorage. 11842 11843 Project file stuff: 11844 * GNUmakefile.am: 11845 * WebKit2.pri: 11846 * WebKit2.pro: 11847 * WebKit2.xcodeproj/project.pbxproj: 11848 * win/WebKit2.vcproj: 11849 * win/WebKit2Common.vsprops: 11850 * win/WebKit2Generated.make: 11851 11852 WK2 derived sources and API stuff: 11853 * DerivedSources.make: 11854 * DerivedSources.pro: 11855 * Platform/CoreIPC/MessageID.h: 11856 * Shared/API/c/WKBase.h: 11857 * Shared/APIObject.h: 11858 * UIProcess/API/C/WKAPICast.h: 11859 11860 Add an KeyValueStorageManager to the context and invalidate it at the appropriate times: 11861 * UIProcess/WebContext.cpp: 11862 (WebKit::WebContext::WebContext): 11863 (WebKit::WebContext::~WebContext): 11864 (WebKit::WebContext::disconnectProcess): 11865 (WebKit::WebContext::didReceiveMessage): 11866 * UIProcess/WebContext.h: 11867 (WebKit::WebContext::keyValueStorageManagerProxy): 11868 11869 Add API to get the KeyValueStorageManager for a context: 11870 * UIProcess/API/C/WKContext.cpp: 11871 (WKContextGetKeyValueStorageManager): 11872 * UIProcess/API/C/WKContext.h: 11873 11874 Route messages to the right place: 11875 * UIProcess/WebProcessProxy.cpp: 11876 (WebKit::WebProcessProxy::didReceiveMessage): 11877 * WebProcess/WebProcess.cpp: 11878 (WebKit::WebProcess::didReceiveMessage): 11879 11880 Add the API object, which wraps to WebKeyValueStorageManagerProxy: 11881 * UIProcess/API/C/WKKeyValueStorageManager.cpp: Added. 11882 (WKKeyValueStorageManagerGetTypeID): 11883 (WKKeyValueStorageManagerGetKeyValueStorageOrigins): 11884 (WKKeyValueStorageManagerDeleteEntriesForOrigin): 11885 (WKKeyValueStorageManagerDeleteAllEntries): 11886 * UIProcess/API/C/WKKeyValueStorageManager.h: Added. 11887 11888 The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client: 11889 * UIProcess/WebKeyValueStorageManagerProxy.cpp: Added. 11890 (WebKit::WebKeyValueStorageManagerProxy::create): 11891 (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy): 11892 (WebKit::WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy): 11893 (WebKit::WebKeyValueStorageManagerProxy::invalidate): 11894 (WebKit::WebKeyValueStorageManagerProxy::didReceiveMessage): 11895 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 11896 (WebKit::WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins): 11897 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 11898 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 11899 * UIProcess/WebKeyValueStorageManagerProxy.h: Added. 11900 (WebKit::WebKeyValueStorageManagerProxy::clearContext): 11901 (WebKit::WebKeyValueStorageManagerProxy::type): 11902 * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Added. 11903 11904 The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore: 11905 * WebProcess/KeyValueStorage: Added. 11906 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Added. 11907 (WebKit::WebKeyValueStorageManager::shared): 11908 (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager): 11909 (WebKit::WebKeyValueStorageManager::didReceiveMessage): 11910 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 11911 (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): 11912 (WebKit::WebKeyValueStorageManager::deleteAllEntries): 11913 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Added. 11914 * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Added. 11915 11916 2011-02-24 Darin Adler <darin (a] apple.com> 11917 11918 Reviewed by Anders Carlsson. 11919 11920 WebKit2: Image-based cursors do not work 11921 https://bugs.webkit.org/show_bug.cgi?id=55184 11922 11923 * Shared/ShareableBitmap.h: Added releaseData function 11924 declaration. This is only defined for CG, but we can declare 11925 it without defining it on non-CG platforms without causing problems. 11926 11927 * Shared/WebCoreArgumentCoders.cpp: Added. 11928 (CoreIPC::encodeImage): Added. For use in the Cursor argument coder. 11929 (CoreIPC::decodeImage): Ditto. 11930 11931 * Shared/WebCoreArgumentCoders.h: Added code to the Cursor encoder 11932 and decoder to handle image-based cursors, using the new encodeImage 11933 and decodeImage functions. 11934 11935 * Shared/cg/ShareableBitmapCG.cpp: 11936 (WebKit::ShareableBitmap::releaseData): Added. 11937 (WebKit::ShareableBitmap::createGraphicsContext): Use 11938 CGBitmapContextCreateWithData instead of CGBitmapContextCreate, 11939 to guarantee we outlast the CGBitmapContext we create. 11940 (WebKit::ShareableBitmap::paint): Got rid of unnneeded local variable. 11941 11942 * Shared/cg/WebCoreArgumentCodersCG.cpp: Added. 11943 (CoreIPC::createImage): Added. For use by CoreIPC::decodeImage. 11944 11945 * WebKit2.xcodeproj/project.pbxproj: Added WebCoreArgumentCoders.cpp 11946 and WebCoreArgumentCodersCG.cpp. 11947 * win/WebKit2.vcproj: Ditto. 11948 11949 2011-02-24 Anders Carlsson <andersca (a] apple.com> 11950 11951 Reviewed by Dan Bernstein. 11952 11953 Crash when trying to send a sync message on an invalid connection 11954 https://bugs.webkit.org/show_bug.cgi?id=55190 11955 <rdar://problem/9035806> 11956 11957 * Platform/CoreIPC/Connection.cpp: 11958 (CoreIPC::Connection::sendSyncMessage): 11959 Don't try to call a client function if isValid() returns false since the client 11960 will be null in that case. 11961 11962 2011-02-24 Anders Carlsson <andersca (a] apple.com> 11963 11964 Reviewed by Dan Bernstein. 11965 11966 Remove the layer backed drawing area 11967 https://bugs.webkit.org/show_bug.cgi?id=55174 11968 11969 * GNUmakefile.am: 11970 * Shared/DrawingAreaInfo.h: 11971 * UIProcess/API/mac/WKView.mm: 11972 * UIProcess/LayerBackedDrawingAreaProxy.cpp: Removed. 11973 * UIProcess/LayerBackedDrawingAreaProxy.h: Removed. 11974 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Removed. 11975 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Removed. 11976 * UIProcess/win/WebView.cpp: 11977 * WebKit2.xcodeproj/project.pbxproj: 11978 * WebProcess/WebPage/DrawingArea.cpp: 11979 (WebKit::DrawingArea::create): 11980 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Removed. 11981 * WebProcess/WebPage/LayerBackedDrawingArea.h: Removed. 11982 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Removed. 11983 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Removed. 11984 * win/WebKit2.vcproj: 11985 11986 2011-02-24 Mike Thole <mthole (a] apple.com> 11987 11988 Reviewed by Sam Weinig. 11989 11990 WK2: Add ability to get document node for a WKBundleNodeHandle 11991 https://bugs.webkit.org/post_bug.cgi 11992 11993 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 11994 (WKBundleNodeHandleCopyDocument): 11995 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 11996 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 11997 (WebKit::InjectedBundleNodeHandle::document): 11998 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 11999 12000 2011-02-24 Brady Eidson <beidson (a] apple.com> 12001 12002 Reviewed by Adam Roben and looked at by Brian Weinstein. 12003 12004 https://bugs.webkit.org/show_bug.cgi?id=55165 12005 Can call CF API with a null CFArray in WebResourceCacheManager 12006 12007 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 12008 (WebKit::WebResourceCacheManager::getCacheOrigins): cfURLCacheHostNames() can return a null CFArrayRef, 12009 so the call to CFArrayGetCount must be null checked. 12010 12011 2011-02-24 Anders Carlsson <andersca (a] apple.com> 12012 12013 Reviewed by Simon Fraser. 12014 12015 ASSERTION FAILED: !isInAcceleratedCompositingMode() when entering accelerated compositing early 12016 https://bugs.webkit.org/show_bug.cgi?id=55162 12017 <rdar://problem/9048523> 12018 12019 * WebProcess/WebPage/DrawingAreaImpl.cpp: 12020 (WebKit::DrawingAreaImpl::updateState): 12021 Call setShouldNotifyAfterNextScheduledLayerFlush(false) so the web process process won't send an 12022 EnterAcceleratedCompositingMode message. 12023 12024 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 12025 setShouldNotifyAfterNextScheduledLayerFlush now takes a boolean. 12026 12027 * WebProcess/WebPage/LayerTreeHost.h: 12028 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 12029 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 12030 (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush): 12031 Make this take a boolean. 12032 12033 2011-02-24 Peter Kasting <pkasting (a] google.com> 12034 12035 Reviewed by Eric Seidel. 12036 12037 Drop the "U; " encryption level from the User Agent string. 12038 https://bugs.webkit.org/show_bug.cgi?id=54566 12039 12040 * UIProcess/gtk/WebPageProxyGtk.cpp: 12041 (WebKit::WebPageProxy::standardUserAgent): 12042 * UIProcess/mac/WebPageProxyMac.mm: 12043 (WebKit::WebPageProxy::standardUserAgent): 12044 * UIProcess/qt/WebPageProxyQt.cpp: 12045 (WebKit::WebPageProxy::standardUserAgent): 12046 * UIProcess/win/WebPageProxyWin.cpp: 12047 (WebKit::WebPageProxy::standardUserAgent): 12048 12049 2011-02-24 Andrew Wilson <atwilson (a] chromium.org> 12050 12051 Unreviewed, rolling out r79570. 12052 http://trac.webkit.org/changeset/79570 12053 https://bugs.webkit.org/show_bug.cgi?id=54874 12054 12055 Breaks chromium build because glue/mocks/mock_web_frame.h/cc 12056 was not updated 12057 12058 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 12059 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 12060 12061 2011-02-23 Brian Weinstein <bweinstein (a] apple.com> 12062 12063 Reviewed by Adam Roben and looked over by Jessie Berlin. 12064 12065 Part of WebKit2: Need a way to manage cookies from the web process 12066 https://bugs.webkit.org/show_bug.cgi?id=55086 12067 12068 This patch adds the plumbing and classes that are needed to manage cookies from the web process. 12069 The functions that the API calls are currently stubs, but will be implemented in a follow-up patch. 12070 12071 Project file changes. 12072 * DerivedSources.make: 12073 * DerivedSources.pro: 12074 * GNUmakefile.am: 12075 * WebKit2.pri: 12076 * WebKit2.pro: 12077 * WebKit2.xcodeproj/project.pbxproj: 12078 * win/WebKit2.vcproj: 12079 * win/WebKit2Common.vsprops: 12080 * win/WebKit2Generated.make: 12081 12082 Add some needed plumbing for WebCookieManager{Proxy}. 12083 * Platform/CoreIPC/MessageID.h: 12084 * Shared/API/c/WKBase.h: 12085 * Shared/APIObject.h: 12086 * UIProcess/API/C/WKAPICast.h: 12087 12088 * UIProcess/API/C/WKContext.cpp: 12089 (WKContextGetCookieManager): Gets the cookie manager proxy. 12090 * UIProcess/API/C/WKContext.h: 12091 * UIProcess/API/C/WKCookieManager.cpp: Added. 12092 (WKCookieManagerGetTypeID): 12093 (WKCookieManagerGetHostnamesWithCookies): Calls through to WebCookieManagerProxy. 12094 (WKCookieManagerDeleteCookiesForHostname): Ditto. 12095 (WKCookieManagerDeleteAllCookies): Ditto. 12096 * UIProcess/API/C/WKCookieManager.h: Added. 12097 12098 * UIProcess/WebProcessProxy.cpp: 12099 (WebKit::WebProcessProxy::didReceiveMessage): Add a case for the cookie manager. 12100 * UIProcess/WebContext.cpp: 12101 (WebKit::WebContext::WebContext): Initialize the cookie manager. 12102 (WebKit::WebContext::~WebContext): Invalidate the cookie manager. 12103 (WebKit::WebContext::disconnectProcess): Ditto. 12104 (WebKit::WebContext::didReceiveMessage): Add a case for the cookie manager. 12105 * UIProcess/WebContext.h: 12106 (WebKit::WebContext::cookieManagerProxy): Returns the cookie manager. 12107 * WebProcess/WebProcess.cpp: 12108 (WebKit::WebProcess::didReceiveMessage): Add a case for the cookie manager. 12109 12110 * UIProcess/WebCookieManagerProxy.cpp: Added. 12111 (WebKit::WebCookieManagerProxy::create): 12112 (WebKit::WebCookieManagerProxy::WebCookieManagerProxy): 12113 (WebKit::WebCookieManagerProxy::~WebCookieManagerProxy): 12114 (WebKit::WebCookieManagerProxy::invalidate): 12115 (WebKit::WebCookieManagerProxy::didReceiveMessage): 12116 (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Call through to the web process to get hostnames with cookies. 12117 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Call the callback we were passed in getHostnamesWithCookies. 12118 (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Call through to the web process to delete cookies 12119 for the origin. 12120 (WebKit::WebCookieManagerProxy::deleteAllCookies): Call through to the web process to delete all cookies. 12121 * UIProcess/WebCookieManagerProxy.h: Added. 12122 (WebKit::WebCookieManagerProxy::clearContext): 12123 (WebKit::WebCookieManagerProxy::type): 12124 * UIProcess/WebCookieManagerProxy.messages.in: Added. 12125 12126 * WebProcess/Cookies: Added. 12127 * WebProcess/Cookies/WebCookieManager.cpp: Added. 12128 (WebKit::WebCookieManager::shared): 12129 (WebKit::WebCookieManager::WebCookieManager): 12130 (WebKit::WebCookieManager::didReceiveMessage): Call through to didReceiveWebCookieManagerMessage. 12131 (WebKit::WebCookieManager::getHostnamesWithCookies): Build an array from a HashSet (that isn't filled yet), and 12132 convert that HashSet to a Vector to send to the UI process. 12133 (WebKit::WebCookieManager::deleteCookiesForHostname): Added a stub. 12134 (WebKit::WebCookieManager::deleteAllCookies): Ditto. 12135 * WebProcess/Cookies/WebCookieManager.h: Added. 12136 * WebProcess/Cookies/WebCookieManager.messages.in: Added. 12137 12138 2011-02-24 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 12139 12140 Reviewed by Martin Robinson. 12141 12142 [GTK] Implement WebEventFactory, WebErrors classes for WebKit2 12143 https://bugs.webkit.org/show_bug.cgi?id=48510 12144 12145 * GNUmakefile.am: 12146 * Shared/gtk/WebEventFactory.cpp: Added. implementation for 12147 WebMouseEvent, WebWheelEvent, WebKeyboardEvent. 12148 * Shared/gtk/WebEventFactory.h: Added. 12149 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: Added. Stubbed 12150 implementation for GTK port. 12151 12152 2011-02-24 Vsevolod Vlasov <vsevik (a] chromium.org> 12153 12154 Reviewed by Alexey Proskuryakov. 12155 12156 DumpRenderTree should reset frame opener between tests. 12157 https://bugs.webkit.org/show_bug.cgi?id=54874 12158 12159 Added clearOpener method to WKBundleWebFramePrivate. 12160 12161 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 12162 (WKBundleFrameClearOpener): 12163 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 12164 12165 2011-02-24 Benjamin Poulain <benjamin.poulain (a] nokia.com> 12166 12167 Reviewed by Eric Seidel. 12168 12169 Support building WebKit with Python 3 12170 https://bugs.webkit.org/show_bug.cgi?id=55038 12171 12172 Update the generator scripts to support Python 3. 12173 12174 * Scripts/generate-message-receiver.py: print is a function in Python 3, write the output to 12175 sys.stdout to be compatible with Python 2 and 3. 12176 * Scripts/generate-messages-header.py: 12177 * Scripts/webkit2/messages.py: dist.iteritems does not exist in Python 3, fallback 12178 to dict.items which is common to Python 2 and 3. 12179 12180 2011-02-24 Andras Becsi <abecsi (a] webkit.org> 12181 12182 Reviewed by Laszlo Gombos. 12183 12184 [Qt] MinGW build fails to link 12185 https://bugs.webkit.org/show_bug.cgi?id=55050 12186 12187 Prepend the libraries of subcomponents instead of appending them 12188 to fix the library order according to the dependency of the libraries 12189 12190 * WebKit2.pri: 12191 12192 2011-02-24 Andras Becsi <abecsi (a] webkit.org> 12193 12194 Reviewed by Csaba Osztrogonc. 12195 12196 [Qt] REGRESSION(69304): WKNativeEvent.h forwarding header is always regenerated 12197 https://bugs.webkit.org/show_bug.cgi?id=47589 12198 12199 In case of file name clashes only generate forwarding header for the current platform. 12200 12201 * Scripts/generate-forwarding-headers.pl: 12202 12203 2011-02-23 Anders Carlsson <andersca (a] apple.com> 12204 12205 Reviewed by Sam Weinig. 12206 12207 Remove some of the old accelerated compositing code 12208 https://bugs.webkit.org/show_bug.cgi?id=55084 12209 12210 * UIProcess/API/mac/PageClientImpl.h: 12211 * UIProcess/API/mac/PageClientImpl.mm: 12212 (WebKit::PageClientImpl::exitAcceleratedCompositingMode): 12213 * UIProcess/API/mac/WKView.mm: 12214 * UIProcess/API/mac/WKViewInternal.h: 12215 * UIProcess/API/qt/qwkpage_p.h: 12216 * UIProcess/PageClient.h: 12217 * UIProcess/WebPageProxy.cpp: 12218 (WebKit::WebPageProxy::exitAcceleratedCompositingMode): 12219 * UIProcess/WebPageProxy.h: 12220 * UIProcess/WebPageProxy.messages.in: 12221 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 12222 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext): 12223 (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext): 12224 * UIProcess/win/WebView.cpp: 12225 * UIProcess/win/WebView.h: 12226 * WebProcess/WebPage/WebPage.cpp: 12227 (WebKit::WebPage::enterAcceleratedCompositingMode): 12228 (WebKit::WebPage::exitAcceleratedCompositingMode): 12229 * WebProcess/WebPage/WebPage.h: 12230 12231 2011-02-23 Enrica Casucci <enrica (a] apple.com> 12232 12233 Reverting an unintentional change that was part of http://trac.webkit.org/changeset/79494. 12234 Unreviewed. 12235 12236 * WebProcess/WebPage/mac/WebPageMac.mm: 12237 (WebKit::WebPage::interceptEditingKeyboardEvent): 12238 12239 2011-02-18 Enrica Casucci <enrica (a] apple.com> 12240 12241 Reviewed by Adam Roben. 12242 12243 Mac OS X Services are not available for selected text in WebKit2 windows. 12244 https://bugs.webkit.org/show_bug.cgi?id=54777 12245 <rdar://problem/8666428> 12246 12247 This patch adds support for Mac OS X Services in WebKit2 windows. 12248 In WKView we now call registerServicesMenuSendTypes providing the 12249 pasteboard types supported by WebKit and we also implement the two 12250 protocol methods required to validate the send type and write the 12251 content to the pasteboard. Unfortunately, AppKit expects the content 12252 to be available in the pasteboard upon return from writeSelectionToPasteboard and 12253 this is the reason why the call to the WebProcess is synchronous. 12254 12255 * Shared/SelectionState.h: 12256 (WebKit::SelectionState::SelectionState): Extended to include 12257 isContentRichlyEditable 12258 * Shared/mac/PasteboardTypes.h: 12259 * Shared/mac/PasteboardTypes.mm: 12260 (WebKit::PasteboardTypes::forSelection): Added. 12261 * UIProcess/API/mac/WKView.mm: 12262 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Added call 12263 to registerServicesMenuSendTypes. 12264 (-[WKView writeSelectionToPasteboard:types:]): Added. 12265 (-[WKView validRequestorForSendType:returnType:]): Added. 12266 * UIProcess/WebPageProxy.cpp: 12267 (WebKit::WebPageProxy::writeSelectionToPasteboard): 12268 * UIProcess/WebPageProxy.h: 12269 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12270 (WebKit::WebEditorClient::respondToChangedSelection): Modified to 12271 support the new SelectionState value. 12272 * WebProcess/WebPage/WebPage.h: 12273 * WebProcess/WebPage/WebPage.messages.in: 12274 * WebProcess/WebPage/mac/WebPageMac.mm: 12275 (WebKit::WebPage::writeSelectionToPasteboard): Added synchronous 12276 message to write the selected content to the pasteboard. 12277 12278 2011-02-23 Anders Carlsson <andersca (a] apple.com> 12279 12280 Reviewed by Sam Weinig. 12281 12282 Add a ShareableBitmap::create overload that takes an existing SharedMemory object 12283 https://bugs.webkit.org/show_bug.cgi?id=55081 12284 12285 * Shared/ShareableBitmap.cpp: 12286 (WebKit::ShareableBitmap::createShareable): 12287 (WebKit::ShareableBitmap::create): 12288 * Shared/ShareableBitmap.h: 12289 12290 2011-02-23 Anders Carlsson <andersca (a] apple.com> 12291 12292 Reviewed by Dan Bernstein. 12293 12294 Web Inspector toolbar looks bad in WebKit2 12295 https://bugs.webkit.org/show_bug.cgi?id=55076 12296 <rdar://problem/8866258> 12297 12298 * UIProcess/API/mac/WKView.mm: 12299 (-[WKView mouseDownCanMoveWindow]): 12300 Return NO from mouseDownCanMoveWindow to prevent drags in the (now transparent) inspector WKView 12301 from dragging the window around. 12302 12303 * UIProcess/mac/WebInspectorProxyMac.mm: 12304 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 12305 Call [WKView setDrawsBackground:NO]. 12306 12307 2011-02-23 Sam Weinig <sam (a] webkit.org> 12308 12309 Reviewed by Anders Carlsson. 12310 12311 Remove WKPageForceRepaintWithInvalidation and instead make WKPageForceRepaint 12312 always dirty the entire page. 12313 12314 * Shared/ForceRepaintFlags.h: Removed. 12315 * UIProcess/API/C/WKPage.cpp: 12316 (WKPageForceRepaint): 12317 * UIProcess/API/C/WKPage.h: 12318 * UIProcess/WebPageProxy.cpp: 12319 (WebKit::WebPageProxy::forceRepaint): 12320 * UIProcess/WebPageProxy.h: 12321 * WebKit2.pro: 12322 * WebKit2.xcodeproj/project.pbxproj: 12323 * WebProcess/WebPage/DrawingAreaImpl.cpp: 12324 (WebKit::DrawingAreaImpl::forceRepaint): 12325 * WebProcess/WebPage/WebPage.cpp: 12326 (WebKit::WebPage::forceRepaint): 12327 * WebProcess/WebPage/WebPage.h: 12328 * WebProcess/WebPage/WebPage.messages.in: 12329 * win/WebKit2.vcproj: 12330 12331 2011-02-23 Anders Carlsson <andersca (a] apple.com> 12332 12333 Reviewed by Sam Weinig. 12334 12335 Race condition when creating and destroying pages quickly 12336 https://bugs.webkit.org/show_bug.cgi?id=55061 12337 <rdar://problem/8708435> 12338 12339 When the last page in a web process is closed, the web process would 12340 previously terminate, even if the UI process had created a new page 12341 (the CreateNewPage message just wouldn't have reached the web process yet). 12342 12343 Fix this by adding a ShouldTerminate message that the web process sends when it's 12344 about to terminate. If the UI process has any pending pages, downloads etc. it will 12345 prevent the web process from terminating. Otherwise, it will immmediately disconnect 12346 the WebPageProxy so that creating a page after that will launch a new web process. 12347 12348 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 12349 (WebKit::WebPluginSiteDataManager::shouldTerminate): 12350 * UIProcess/Plugins/WebPluginSiteDataManager.h: 12351 * UIProcess/WebContext.cpp: 12352 (WebKit::WebContext::shouldTerminate): 12353 (WebKit::WebContext::disconnectProcess): 12354 * UIProcess/WebContext.h: 12355 * UIProcess/WebProcessProxy.cpp: 12356 (WebKit::WebProcessProxy::disconnect): 12357 (WebKit::WebProcessProxy::didReceiveSyncMessage): 12358 (WebKit::WebProcessProxy::didClose): 12359 (WebKit::WebProcessProxy::shouldTerminate): 12360 * UIProcess/WebProcessProxy.h: 12361 * UIProcess/WebProcessProxy.messages.in: 12362 * WebProcess/WebProcess.cpp: 12363 (WebKit::WebProcess::terminateIfPossible): 12364 12365 2011-02-23 Mike Thole <mthole (a] apple.com> 12366 12367 Reviewed by Darin Adler. 12368 12369 WKBundleNavigationAction.h should be exposed as a public header 12370 https://bugs.webkit.org/show_bug.cgi?id=55059 12371 12372 * WebKit2.xcodeproj/project.pbxproj: 12373 Changed WKBundleNavigationAction.h from 'project' to 'public'. 12374 12375 2011-02-23 Siddharth Mathur <siddharth.mathur (a] nokia.com> 12376 12377 Reviewed by Laszlo Gombos. 12378 12379 [Qt] Make sure Symbian binary UIDs are unique 12380 12381 * WebProcess.pro: Resolve the UID collision with QtTestBrowser.pro 12382 by changing the UID. 12383 12384 2011-02-23 Siddharth Mathur <siddharth.mathur (a] nokia.com> 12385 12386 Reviewed by Laszlo Gombos. 12387 12388 [Qt] Fix the Symbian build after r79334 12389 https://bugs.webkit.org/show_bug.cgi?id=55044 12390 12391 * WebKit2.pri: Copy the rules from JavaScriptCore.pri for 12392 defineTest(). 12393 12394 Remove addWebKit2LibWholeArchive as it is no longer needed. 12395 12396 2011-02-23 Alejandro G. Castro <alex (a] igalia.com> 12397 12398 Unreviewed, fixed GTK WebKit2 compilation after r79366. 12399 12400 * GNUmakefile.am: 12401 12402 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 12403 12404 Reviewed by Darin Adler. 12405 12406 Rename PLATFORM(CF) to USE(CF) 12407 https://bugs.webkit.org/show_bug.cgi?id=53540 12408 12409 * UIProcess/WebBackForwardList.h: 12410 * UIProcess/WebPageProxy.cpp: 12411 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 12412 (WebKit::formatLocalizedString): 12413 12414 2011-02-23 Benjamin Poulain <benjamin.poulain (a] nokia.com> 12415 12416 Reviewed by Andreas Kling. 12417 12418 [Qt] [WK2] When the context menu is empty, we should still send the signal QWKPage::showContextMenu() 12419 https://bugs.webkit.org/show_bug.cgi?id=54996 12420 12421 Send the signal QWKPage::showContextMenu() with an empty menu even if the content menu generated 12422 is empty/contain only disabled elements. 12423 12424 * UIProcess/API/qt/qgraphicswkview.cpp: 12425 (QGraphicsWKView::showContextMenu): 12426 * UIProcess/qt/WebContextMenuProxyQt.cpp: 12427 (WebKit::WebContextMenuProxyQt::showContextMenu): 12428 12429 2011-02-22 Dan Bernstein <mitz (a] apple.com> 12430 12431 LLVM Compiler build fix. 12432 12433 * Scripts/webkit2/messages.py: 12434 * WebProcess/ApplicationCache/WebApplicationCacheManager.h: 12435 12436 2011-02-22 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 12437 12438 Reviewed by Alexey Proskuryakov. 12439 12440 Drop the language tag part from the User Agent string 12441 https://bugs.webkit.org/show_bug.cgi?id=54560 12442 12443 * UIProcess/gtk/WebPageProxyGtk.cpp: 12444 (WebKit::WebPageProxy::standardUserAgent): 12445 12446 * UIProcess/mac/WebPageProxyMac.mm: 12447 (WebKit::WebPageProxy::standardUserAgent): 12448 12449 * UIProcess/qt/WebPageProxyQt.cpp: 12450 (WebKit::WebPageProxy::standardUserAgent): 12451 12452 * UIProcess/win/WebPageProxyWin.cpp: 12453 (WebKit::WebPageProxy::standardUserAgent): Drop the language tag 12454 part and fix style. 12455 12456 2011-02-22 Sam Weinig <sam (a] webkit.org> 12457 12458 Reviewed by Anders Carlsson. 12459 12460 Add WebKit2 API to force a repaint with an invalidation 12461 https://bugs.webkit.org/show_bug.cgi?id=55015 12462 12463 * Shared/ForceRepaintFlags.h: Added. 12464 * UIProcess/API/C/WKPage.cpp: 12465 (WKPageForceRepaint): 12466 (WKPageForceRepaintWithInvalidation): 12467 * UIProcess/API/C/WKPage.h: 12468 Add WKPageForceRepaintWithInvalidation which does the same thing WKPageForceRepaint 12469 but also calls setNeedsDisplay on the entire bounds of the page. 12470 12471 * UIProcess/WebPageProxy.cpp: 12472 (WebKit::WebPageProxy::forceRepaint): 12473 * UIProcess/WebPageProxy.h: 12474 * WebProcess/WebPage/WebPage.cpp: 12475 (WebKit::WebPage::forceRepaint): 12476 * WebProcess/WebPage/WebPage.h: 12477 * WebProcess/WebPage/WebPage.messages.in: 12478 Pipe the flag down to the WebProcess. 12479 12480 * WebKit2.pro: 12481 * WebKit2.xcodeproj/project.pbxproj: 12482 * win/WebKit2.vcproj: 12483 Add ForceRepaintFlags.h. 12484 12485 2011-02-22 Simon Fraser <simon.fraser (a] apple.com> 12486 12487 Reviewed by Dan Bernstein. 12488 12489 <rdar://problem/9039670> 12490 12491 Make sure that we set the accelerateDrawing property on the LayerTreeHosts's 12492 non-composited content layer if the preference is set. 12493 12494 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 12495 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 12496 12497 2011-02-22 Brady Eidson <beidson (a] apple.com> 12498 12499 Fix it Windows-style. 12500 12501 * WebProcess/WebProcess.cpp: 12502 (WebKit::WebProcess::getSitesWithPluginData): 12503 (WebKit::WebProcess::clearPluginSiteData): 12504 12505 2011-02-22 Anders Carlsson <andersca (a] apple.com> 12506 12507 Reviewed by Dan Bernstein. 12508 12509 Rename WebProcess::shutdownIfPossible to WebProcess::terminateIfPossible 12510 https://bugs.webkit.org/show_bug.cgi?id=55008 12511 12512 * WebProcess/Downloads/DownloadManager.cpp: 12513 (WebKit::DownloadManager::downloadFinished): 12514 * WebProcess/WebProcess.cpp: 12515 (WebKit::WebProcess::removeWebPage): 12516 (WebKit::WebProcess::terminateIfPossible): 12517 (WebKit::WebProcess::getSitesWithPluginData): 12518 * WebProcess/WebProcess.h: 12519 * WebProcess/gtk/WebProcessGtk.cpp: 12520 (WebKit::WebProcess::platformTerminate): 12521 * WebProcess/mac/WebProcessMac.mm: 12522 (WebKit::WebProcess::platformTerminate): 12523 * WebProcess/qt/WebProcessQt.cpp: 12524 (WebKit::WebProcess::platformTerminate): 12525 * WebProcess/win/WebProcessWin.cpp: 12526 (WebKit::WebProcess::platformTerminate): 12527 12528 2011-02-22 Brady Eidson <beidson (a] apple.com> 12529 12530 Windows build-fix attempt. 12531 12532 * win/WebKit2Generated.make: 12533 12534 2011-02-22 Csaba Osztrogonc <ossy (a] webkit.org> 12535 12536 Unreviewed. 12537 12538 <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514 12539 API to view and delete Application Cache data by origin. 12540 12541 [Qt][WK2] Buildfix after r79364. 12542 12543 * DerivedSources.pro: 12544 * WebKit2.pri: 12545 12546 2011-02-22 Brady Eidson <beidson (a] apple.com> 12547 12548 Reviewed by Anders Carlsson and looked over by Brian Weinstein. 12549 12550 <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514 12551 API to view and delete Application Cache data by origin. 12552 12553 I couldn't help myself - I also re-alphabetized WebResourceCacheManager in many places where 12554 it's sorting was wrong due to a last minute name change. 12555 12556 Project file changes: 12557 * GNUmakefile.am: 12558 * win/WebKit2.vcproj: 12559 * win/WebKit2Common.vsprops: 12560 * win/WebKit2Generated.make: 12561 * WebKit2.pro: 12562 * WebKit2.xcodeproj/project.pbxproj: 12563 12564 WK2 build-system and API paperwork: 12565 * DerivedSources.make: 12566 * Platform/CoreIPC/MessageID.h: 12567 * Shared/API/c/WKBase.h: 12568 * Shared/APIObject.h: 12569 * UIProcess/API/C/WKAPICast.h: 12570 12571 Add a helper to perform an ArrayCallback with a Vector of SecurityOriginDatas: 12572 * Shared/SecurityOriginData.cpp: 12573 (WebKit::performAPICallbackWithSecurityOriginDataVector): 12574 * Shared/SecurityOriginData.h: 12575 * UIProcess/WebResourceCacheManagerProxy.cpp: 12576 (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here. 12577 12578 Add an ApplicationCacheManagerProxy to the context and invalidate it at the appropriate times: 12579 * UIProcess/WebContext.cpp: 12580 (WebKit::WebContext::WebContext): 12581 (WebKit::WebContext::~WebContext): 12582 (WebKit::WebContext::processDidClose): 12583 (WebKit::WebContext::didReceiveMessage): Route messages to the right proxy. 12584 * UIProcess/WebContext.h: 12585 (WebKit::WebContext::applicationCacheManagerProxy): 12586 (WebKit::WebContext::resourceCacheManagerProxy): 12587 12588 Add API to get the ApplicationCacheManager for a context: 12589 * UIProcess/API/C/WKContext.cpp: 12590 (WKContextGetApplicationCacheManager): 12591 (WKContextGetResourceCacheManager): 12592 * UIProcess/API/C/WKContext.h: 12593 12594 Route messages to the right place: 12595 * UIProcess/WebProcessProxy.cpp: 12596 (WebKit::WebProcessProxy::didReceiveMessage): 12597 * WebProcess/WebProcess.cpp: 12598 (WebKit::WebProcess::didReceiveMessage): 12599 12600 Add the API object, which wraps to WebApplicationCacheManagerProxy: 12601 * UIProcess/API/C/WKApplicationCacheManager.cpp: Added. 12602 (WKApplicationCacheManagerGetTypeID): 12603 (WKApplicationCacheManagerGetApplicationCacheOrigins): 12604 (WKApplicationCacheManagerDeleteEntriesForOrigin): 12605 (WKApplicationCacheManagerDeleteAllEntries): 12606 * UIProcess/API/C/WKApplicationCacheManager.h: Added. 12607 12608 The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client: 12609 * UIProcess/WebApplicationCacheManagerProxy.cpp: Added. 12610 (WebKit::WebApplicationCacheManagerProxy::create): 12611 (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy): 12612 (WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy): 12613 (WebKit::WebApplicationCacheManagerProxy::invalidate): 12614 (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage): 12615 (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): 12616 (WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here. 12617 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): 12618 (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): 12619 * UIProcess/WebApplicationCacheManagerProxy.h: Added. 12620 (WebKit::WebApplicationCacheManagerProxy::clearContext): 12621 (WebKit::WebApplicationCacheManagerProxy::type): 12622 * UIProcess/WebApplicationCacheManagerProxy.messages.in: Added. 12623 12624 The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore: 12625 * WebProcess/ApplicationCache: Added. 12626 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Added. 12627 (WebKit::WebApplicationCacheManager::shared): 12628 (WebKit::WebApplicationCacheManager::WebApplicationCacheManager): 12629 (WebKit::WebApplicationCacheManager::didReceiveMessage): 12630 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): 12631 (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): 12632 (WebKit::WebApplicationCacheManager::deleteAllEntries): 12633 * WebProcess/ApplicationCache/WebApplicationCacheManager.h: Added. 12634 * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Added. 12635 12636 2011-02-22 Anders Carlsson <andersca (a] apple.com> 12637 12638 Reviewed by Sam Weinig. 12639 12640 Get rid of WebProcessManager 12641 https://bugs.webkit.org/show_bug.cgi?id=55001 12642 12643 WebProcessManager had become a stupid map of WebContext > WebProcess relations, 12644 which isn't really useful since the WebContext already knows about its process. 12645 12646 * Shared/WebURLRequest.cpp: 12647 * UIProcess/API/mac/WKView.mm: 12648 * UIProcess/WebContext.cpp: 12649 (WebKit::WebContext::~WebContext): 12650 (WebKit::WebContext::ensureWebProcess): 12651 (WebKit::WebContext::processDidFinishLaunching): 12652 * UIProcess/WebProcessManager.cpp: Removed. 12653 * UIProcess/WebProcessManager.h: Removed. 12654 * UIProcess/WebProcessProxy.cpp: 12655 (WebKit::WebProcessProxy::didClose): 12656 * WebKit2.pro: 12657 * WebKit2.xcodeproj/project.pbxproj: 12658 * win/WebKit2.vcproj: 12659 12660 2011-02-22 Anders Carlsson <andersca (a] apple.com> 12661 12662 Reviewed by Darin Adler. 12663 12664 Get rid of WebProcessManager::getAllWebProcessContexts 12665 https://bugs.webkit.org/show_bug.cgi?id=55000 12666 12667 * Shared/WebURLRequest.cpp: 12668 (WebKit::WebURLRequest::setDefaultTimeoutInterval): 12669 Call WebContext::allContexts instead. 12670 12671 * UIProcess/WebContext.cpp: 12672 * UIProcess/WebContext.h: 12673 Add a vector of WebContext objects. Update it when creating and destroying contexts. 12674 12675 * UIProcess/WebProcessManager.cpp: 12676 * UIProcess/WebProcessManager.h: 12677 Remove WebProcessManager::getAllWebProcessContexts. 12678 12679 2011-02-22 Sam Weinig <sam (a] webkit.org> 12680 12681 Reviewed by Anders Carlsson. 12682 12683 Re-add early bail out in dispatchDecidePolicyForNavigationAction with prevents 12684 a crash running fast/loader/empty-embed-src-attribute.html. This matches a 12685 bail out in the default policy delegate in WebKit1. 12686 12687 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12688 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 12689 12690 2011-02-22 Anders Carlsson <andersca (a] apple.com> 12691 12692 Reviewed by Dan Bernstein. 12693 12694 Grammar correction from Spelling & Grammar window doesn't work 12695 https://bugs.webkit.org/show_bug.cgi?id=54982 12696 <rdar://problem/8940918> 12697 12698 * UIProcess/API/mac/WKView.mm: 12699 (-[WKView isGrammarCheckingEnabled]): 12700 (-[WKView setGrammarCheckingEnabled:]): 12701 Call down to the text checker. 12702 12703 * UIProcess/TextChecker.h: 12704 Add updateSpellingUIWithGrammarString. 12705 12706 * UIProcess/WebPageProxy.cpp: 12707 (WebKit::WebPageProxy::updateSpellingUIWithGrammarString): 12708 Call TextChecker::updateSpellingUIWithGrammarString. 12709 12710 * UIProcess/WebPageProxy.messages.in: 12711 Add UpdateSpellingUIWithGrammarString message. 12712 12713 * UIProcess/gtk/TextCheckerGtk.cpp: 12714 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 12715 * UIProcess/qt/TextCheckerQt.cpp: 12716 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 12717 * UIProcess/win/TextCheckerWin.cpp: 12718 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 12719 Add stubs. 12720 12721 * UIProcess/mac/TextCheckerMac.mm: 12722 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 12723 Update the spelling panel. 12724 12725 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12726 (WebKit::WebEditorClient::updateSpellingUIWithGrammarString): 12727 Send an UpdateSpellingUIWithGrammarString message to the UI process. 12728 12729 2011-02-22 Balazs Kelemen <kbalazs (a] webkit.org> 12730 12731 Reviewed by Anders Carlsson. 12732 12733 notImplemented() should behave identical in WebCore and WebKit2 12734 https://bugs.webkit.org/show_bug.cgi?id=54449 12735 12736 Use NotImplemented.h from WebCore. Initialize logging channels. 12737 Remove the WebKit2 concept of notImplemented(). 12738 12739 * Platform/gtk/SharedMemoryGtk.cpp: 12740 * Platform/gtk/WorkQueueGtk.cpp: 12741 * Platform/qt/WorkQueueQt.cpp: 12742 * Platform/win/WorkQueueWin.cpp: 12743 * Shared/NotImplemented.h: Removed. 12744 * Shared/Plugins/NPIdentifierData.cpp: 12745 * Shared/Plugins/NPRemoteObjectMap.cpp: 12746 * Shared/Plugins/NPVariantData.cpp: 12747 * Shared/cairo/ShareableBitmapCairo.cpp: 12748 * Shared/gtk/ShareableBitmapGtk.cpp: 12749 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 12750 * Shared/qt/WebCoreArgumentCodersQt.cpp: 12751 * Shared/win/LayerTreeContextWin.cpp: 12752 * UIProcess/API/mac/PageClientImpl.mm: 12753 * UIProcess/API/qt/qwkpage.cpp: 12754 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: 12755 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 12756 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: 12757 * UIProcess/WebContext.cpp: 12758 (WebKit::WebContext::WebContext): 12759 * UIProcess/WebInspectorProxy.cpp: 12760 * UIProcess/gtk/TextCheckerGtk.cpp: 12761 * UIProcess/gtk/WebInspectorGtk.cpp: 12762 * UIProcess/gtk/WebPreferencesGtk.cpp: 12763 * UIProcess/qt/TextCheckerQt.cpp: 12764 * UIProcess/qt/WebInspectorProxyQt.cpp: 12765 * UIProcess/win/TextCheckerWin.cpp: 12766 * UIProcess/win/WebContextMenuProxyWin.cpp: 12767 * WebKit2.pro: 12768 * WebKit2.xcodeproj/project.pbxproj: 12769 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 12770 * WebProcess/Downloads/curl/DownloadCurl.cpp: 12771 * WebProcess/Downloads/mac/DownloadMac.mm: 12772 * WebProcess/Downloads/qt/DownloadQt.cpp: 12773 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 12774 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 12775 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 12776 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 12777 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 12778 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 12779 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 12780 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 12781 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12782 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 12783 * WebProcess/WebCoreSupport/WebDragClient.cpp: 12784 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12785 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12786 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 12787 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 12788 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 12789 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: 12790 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: 12791 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 12792 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 12793 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: 12794 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 12795 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 12796 * WebProcess/WebProcess.cpp: 12797 (WebKit::WebProcess::WebProcess): 12798 * WebProcess/gtk/WebProcessGtk.cpp: 12799 * config.h: 12800 * win/WebKit2.vcproj: 12801 12802 2011-02-22 Brian Weinstein <bweinstein (a] apple.com> 12803 12804 Rubber-stamped by Brady Eidson. 12805 12806 Invalidate the WebResourceCacheManagerProxy in WebContext::processDidClose. 12807 12808 * UIProcess/WebContext.cpp: 12809 (WebKit::WebContext::processDidClose): 12810 12811 2011-02-21 Adam Roben <aroben (a] apple.com> 12812 12813 Make DrawingAreaProxyImpl keep track of the most recent state ID it sent to the web process 12814 12815 This will be useful for sending repeated messages for the same state ID to the web process. 12816 We don't do this currently, but will need to if we're asked to paint after we've thrown away 12817 our backing store to save memory. 12818 12819 Fixes <http://webkit.org/b/54916> DrawingAreaProxyImpl should keep track of the state ID it 12820 last sent to the web process 12821 12822 Reviewed by Anders Carlsson. 12823 12824 * UIProcess/DrawingAreaProxyImpl.cpp: 12825 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_requestedStateID, and 12826 reordered member initialization to match the new declaration order. 12827 (WebKit::DrawingAreaProxyImpl::didUpdateState): Added an assertion that the stateID we got 12828 from the web process is no newer than the most recent one we requested. 12829 (WebKit::DrawingAreaProxyImpl::sendUpdateState): Changed to increment and send 12830 m_requestedStateID instead of a new global stateID. 12831 12832 * UIProcess/DrawingAreaProxyImpl.h: Added m_requestedStateID, and moved the state IDs before 12833 other data members. Also beefed the comment explaining m_currentStateID. 12834 12835 2011-02-22 Andras Becsi <abecsi (a] webkit.org> 12836 12837 Reviewed by Laszlo Gombos. 12838 12839 [Qt] Redesign the build system 12840 https://bugs.webkit.org/show_bug.cgi?id=51339 12841 12842 Part 2. 12843 12844 Build WebCore as a static library, compile the WebKit API and WebKit2 API 12845 in a final step and link to WebKit2, WebCore and JSC libraries to fix 12846 linking issues resulting from stripped away symbols. 12847 12848 * WebKit2.pri: Add include paths. 12849 * WebKit2.pro: Move include paths to WebKit2.pri and move 12850 the API source to WebKit/qt/QtWebKit.pro 12851 12852 2011-02-22 Benjamin Poulain <benjamin.poulain (a] nokia.com> 12853 12854 Reviewed by Kenneth Rohde Christiansen. 12855 12856 [Qt] [WK2] Improve the memory handling of the context menu for WebKit 2 12857 https://bugs.webkit.org/show_bug.cgi?id=54902 12858 12859 Refactor the context menu handling of Qt to make it simpler to manage memory. 12860 12861 WebContextMenuProxyQt uses smart pointer for all the references to menu so 12862 there is no need to delete it explicitely. 12863 12864 Passing the QMenu from QWKPage to the client of the signal now uses a QSharedPointer so 12865 the client can choose to handle the memory, but there is no leak if it does not. 12866 12867 * UIProcess/API/qt/qgraphicswkview.cpp: 12868 (QGraphicsWKView::QGraphicsWKView): 12869 (QGraphicsWKView::showContextMenu): 12870 * UIProcess/API/qt/qgraphicswkview.h: 12871 * UIProcess/API/qt/qwkpage.h: 12872 * UIProcess/qt/WebContextMenuProxyQt.cpp: 12873 (WebKit::WebContextMenuProxyQt::showContextMenu): 12874 (WebKit::WebContextMenuProxyQt::createContextMenu): 12875 * UIProcess/qt/WebContextMenuProxyQt.h: 12876 12877 2011-02-22 Philippe Normand <pnormand (a] igalia.com> 12878 12879 Reviewed by Xan Lopez. 12880 12881 [GTK] make distcheck fails 12882 https://bugs.webkit.org/show_bug.cgi?id=54943 12883 12884 Removed reference to NotImplemented.h which was removed. 12885 12886 * GNUmakefile.am: 12887 12888 2011-02-22 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 12889 12890 Reviewed by Kenneth Rohde Christiansen. 12891 12892 [Qt] QtWebProcess should be installed with 'make install' 12893 https://bugs.webkit.org/show_bug.cgi?id=44100 12894 12895 Follow the standard in other project files and allow install 12896 location to be changed with INSTALL_BINS variable. 12897 12898 * WebProcess.pro: Install QtWebProcess. 12899 12900 2011-02-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 12901 12902 Unreviewed, rolling out r79296. 12903 http://trac.webkit.org/changeset/79296 12904 https://bugs.webkit.org/show_bug.cgi?id=54941 12905 12906 Breaks compilation on SnowLeapard Intel Release (Requested by 12907 kbalazs_ on #webkit). 12908 12909 * Platform/gtk/SharedMemoryGtk.cpp: 12910 * Platform/gtk/WorkQueueGtk.cpp: 12911 * Platform/qt/WorkQueueQt.cpp: 12912 * Platform/win/WorkQueueWin.cpp: 12913 * Shared/NotImplemented.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp. 12914 * Shared/Plugins/NPIdentifierData.cpp: 12915 * Shared/Plugins/NPRemoteObjectMap.cpp: 12916 * Shared/Plugins/NPVariantData.cpp: 12917 * Shared/cairo/ShareableBitmapCairo.cpp: 12918 * Shared/gtk/ShareableBitmapGtk.cpp: 12919 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 12920 * Shared/qt/WebCoreArgumentCodersQt.cpp: 12921 * Shared/win/LayerTreeContextWin.cpp: 12922 * UIProcess/API/mac/PageClientImpl.mm: 12923 * UIProcess/API/qt/qwkpage.cpp: 12924 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: 12925 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 12926 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: 12927 * UIProcess/WebContext.cpp: 12928 (WebKit::WebContext::WebContext): 12929 * UIProcess/WebInspectorProxy.cpp: 12930 * UIProcess/gtk/TextCheckerGtk.cpp: 12931 * UIProcess/gtk/WebInspectorGtk.cpp: 12932 * UIProcess/gtk/WebPreferencesGtk.cpp: 12933 * UIProcess/qt/TextCheckerQt.cpp: 12934 * UIProcess/qt/WebInspectorProxyQt.cpp: 12935 * UIProcess/win/TextCheckerWin.cpp: 12936 * UIProcess/win/WebContextMenuProxyWin.cpp: 12937 * WebKit2.pro: 12938 * WebKit2.xcodeproj/project.pbxproj: 12939 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 12940 * WebProcess/Downloads/curl/DownloadCurl.cpp: 12941 * WebProcess/Downloads/mac/DownloadMac.mm: 12942 * WebProcess/Downloads/qt/DownloadQt.cpp: 12943 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 12944 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 12945 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 12946 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 12947 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 12948 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 12949 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 12950 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 12951 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12952 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 12953 * WebProcess/WebCoreSupport/WebDragClient.cpp: 12954 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12955 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12956 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 12957 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 12958 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 12959 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: 12960 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: 12961 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 12962 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 12963 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: 12964 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 12965 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 12966 * WebProcess/WebProcess.cpp: 12967 (WebKit::WebProcess::WebProcess): 12968 * WebProcess/gtk/WebProcessGtk.cpp: 12969 * config.h: 12970 * win/WebKit2.vcproj: 12971 12972 2011-02-16 Balazs Kelemen <kbalazs (a] webkit.org> 12973 12974 Reviewed by Anders Carlsson. 12975 12976 notImplemented() should behave identical in WebCore and WebKit2 12977 https://bugs.webkit.org/show_bug.cgi?id=54449 12978 12979 Use NotImplemented.h from WebCore. Initialize logging channels. 12980 Remove the WebKit2 concept of notImplemented(). 12981 12982 * Platform/gtk/SharedMemoryGtk.cpp: 12983 * Platform/gtk/WorkQueueGtk.cpp: 12984 * Platform/qt/WorkQueueQt.cpp: 12985 * Platform/win/WorkQueueWin.cpp: 12986 * Shared/NotImplemented.h: Removed. 12987 * Shared/Plugins/NPIdentifierData.cpp: 12988 * Shared/Plugins/NPRemoteObjectMap.cpp: 12989 * Shared/Plugins/NPVariantData.cpp: 12990 * Shared/cairo/ShareableBitmapCairo.cpp: 12991 * Shared/gtk/ShareableBitmapGtk.cpp: 12992 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 12993 * Shared/qt/WebCoreArgumentCodersQt.cpp: 12994 * Shared/win/LayerTreeContextWin.cpp: 12995 * UIProcess/API/qt/qwkpage.cpp: 12996 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: 12997 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 12998 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: 12999 * UIProcess/WebContext.cpp: 13000 (WebKit::WebContext::WebContext): 13001 * UIProcess/WebInspectorProxy.cpp: 13002 * UIProcess/gtk/TextCheckerGtk.cpp: 13003 * UIProcess/gtk/WebInspectorGtk.cpp: 13004 * UIProcess/gtk/WebPreferencesGtk.cpp: 13005 * UIProcess/qt/TextCheckerQt.cpp: 13006 * UIProcess/qt/WebInspectorProxyQt.cpp: 13007 * UIProcess/win/TextCheckerWin.cpp: 13008 * UIProcess/win/WebContextMenuProxyWin.cpp: 13009 * WebKit2.pro: 13010 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 13011 * WebProcess/Downloads/curl/DownloadCurl.cpp: 13012 * WebProcess/Downloads/mac/DownloadMac.mm: 13013 * WebProcess/Downloads/qt/DownloadQt.cpp: 13014 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 13015 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 13016 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 13017 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 13018 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 13019 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 13020 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 13021 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 13022 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13023 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 13024 * WebProcess/WebCoreSupport/WebDragClient.cpp: 13025 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13026 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13027 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 13028 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 13029 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 13030 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: 13031 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: 13032 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 13033 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 13034 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: 13035 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 13036 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 13037 * WebProcess/WebProcess.cpp: 13038 (WebKit::WebProcess::WebProcess): 13039 * WebProcess/gtk/WebProcessGtk.cpp: 13040 13041 2011-02-21 Timothy Hatcher <timothy (a] apple.com> 13042 13043 Set and update the window title for the Web Inspector in WebKit2. 13044 13045 https://webkit.org/b/50945 13046 rdar://problem/8762410 13047 13048 Reviewed by Adam Roben. 13049 13050 * UIProcess/WebInspectorProxy.cpp: 13051 (WebKit::WebInspectorProxy::inspectedURLChanged): Added. Call platformInspectedURLChanged. 13052 * UIProcess/WebInspectorProxy.h: 13053 * UIProcess/WebInspectorProxy.messages.in: Added InspectedURLChanged. 13054 * UIProcess/mac/WebInspectorProxyMac.mm: 13055 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title. 13056 * UIProcess/win/WebInspectorProxyWin.cpp: 13057 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title. 13058 * UIProcess/gtk/WebInspectorGtk.cpp: 13059 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented. 13060 * UIProcess/qt/WebInspectorProxyQt.cpp: 13061 (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented. 13062 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 13063 (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Call WebInspector::inspectedURLChanged. 13064 * WebProcess/WebPage/WebInspector.cpp: 13065 (WebKit::WebInspector::inspectedURLChanged): Added. Send the InspectedURLChanged message. 13066 * WebProcess/WebPage/WebInspector.h: 13067 13068 2011-02-21 Sam Weinig <sam (a] webkit.org> 13069 13070 Reviewed by Anders Carlsson. 13071 13072 Can't paste from 3rd party text editor into WebKit2 window. 13073 <rdar://problem/8978624> 13074 13075 * WebProcess/com.apple.WebProcess.sb: 13076 13077 2011-02-21 Anders Carlsson <andersca (a] apple.com> 13078 13079 Reviewed by Dan Bernstein. 13080 13081 Initialize DrawingAreaProxy::m_size 13082 https://bugs.webkit.org/show_bug.cgi?id=54913 13083 13084 This was removed in r76962 since it caused flashes when switching drawing areas due to 13085 entering and exiting composited mode, but since we no longer switch drawing areas we can 13086 put it back. 13087 13088 * UIProcess/DrawingAreaProxy.cpp: 13089 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 13090 13091 2011-02-21 Adam Roben <aroben (a] apple.com> 13092 13093 Add some assertions about the state IDs we receive from the web process 13094 13095 Rubber-stamped by Anders Carlsson. 13096 13097 * UIProcess/DrawingAreaProxyImpl.cpp: 13098 (WebKit::DrawingAreaProxyImpl::update): 13099 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 13100 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 13101 Assert that the state ID the web process sent us is no newer than our own state ID. 13102 13103 2011-02-21 Adam Roben <aroben (a] apple.com> 13104 13105 Rename DrawingArea[Proxy]Impl's "sequence number" concept to "state ID". 13106 13107 As explained in r79251, DrawingAreaProxyImpl has some state that, when it changes, causes 13108 all operations performed before that state change to become invalid. Currently, this state 13109 consists of a single piece of data: the view's size. Eventually it will encompass more data 13110 (e.g., the backing store we're drawing into; when we start throwing away the backing store 13111 to save memory, our state will have changed, and any operations that were intended for the 13112 old backing store will have become invalid). r79251 effectively transformed 13113 DrawingArea[Proxy]Impl's "sequence number," which incremented every time DrawingAreaImpl 13114 sent DrawingAreaProxyImpl a message, to a "state ID," which only increments when the view's 13115 size changes. 13116 13117 This patch is just a set of simple renames to reflect the transformation that r79251 13118 effected. It should not introduce any changes in behavior. The renames are: 13119 - Messages::DrawingArea::SetSize -> UpdateState 13120 - Messages::DrawingAreaProxy::DidSetSize -> DidUpdateState 13121 - DrawingAreaProxyImpl::m_lastDidSetSizeSequenceNumber -> m_currentStateID 13122 - DrawingAreaProxyImpl::m_isWaitingForDidSetSize -> m_isWaitingForDidUpdateState 13123 - DrawingAreaProxyImpl::waitForAndDispatchDidSetSize -> waitForAndDispatchDidUpdateState 13124 - DrawingAreaImpl::m_inSetSize -> m_inUpdateState 13125 - generateSequenceNumber -> generateStateID 13126 - sequenceNumber -> stateID 13127 13128 Fixes <http://webkit.org/b/54911> DrawingArea[Proxy]Impl's "sequence number" concept should 13129 be renamed to "state ID" 13130 13131 Reviewed by Anders Carlsson. 13132 13133 * UIProcess/DrawingAreaProxy.h: 13134 * UIProcess/DrawingAreaProxy.messages.in: 13135 * UIProcess/DrawingAreaProxyImpl.cpp: 13136 * UIProcess/DrawingAreaProxyImpl.h: 13137 * WebProcess/WebPage/DrawingArea.h: 13138 * WebProcess/WebPage/DrawingArea.messages.in: 13139 * WebProcess/WebPage/DrawingAreaImpl.cpp: 13140 * WebProcess/WebPage/DrawingAreaImpl.h: 13141 Performed the renames described above. 13142 13143 2011-02-21 Alexey Proskuryakov <ap (a] apple.com> 13144 13145 Reviewed by Adam Roben. 13146 13147 REGRESSION (WebKit2): HTTP requests time out after 60 seconds 13148 https://bugs.webkit.org/show_bug.cgi?id=54755 13149 <rdar://problem/9006592> 13150 13151 * Shared/API/c/WKURLRequest.cpp: 13152 (WKURLRequestSetDefaultTimeoutInterval): 13153 * Shared/API/c/WKURLRequest.h: 13154 Added an API to set a default timeout interval for requests created from URLs. The API 13155 affects both the UI process and requests created internally by the Web process. Requests 13156 created from NSURLRequest or CFURLRequest take timeout from those. 13157 13158 * Shared/WebURLRequest.cpp: (WebKit::WebURLRequest::setDefaultTimeoutInterval): 13159 * Shared/WebURLRequest.h: 13160 Pipe the default timeout interval from WKURLRequest down to actual implementation. Since 13161 WebURLRequest is currently implemented with WebCore::ResourceRequest, it automatically respects 13162 NSURLRequest default timeout interval. 13163 13164 * UIProcess/WebProcessManager.cpp: (WebKit::WebProcessManager::getAllWebProcessContexts): 13165 * UIProcess/WebProcessManager.h: 13166 Added a way to enumerate all contexts running in separate processes. 13167 13168 * Shared/WebProcessCreationParameters.cpp: 13169 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 13170 (WebKit::WebProcessCreationParameters::encode): 13171 (WebKit::WebProcessCreationParameters::decode): 13172 * Shared/WebProcessCreationParameters.h: 13173 (WebKit::WebContext::ensureWebProcess): 13174 (WebKit::WebContext::setDefaultRequestTimeoutInterval): 13175 * UIProcess/WebContext.h: 13176 * WebProcess/WebProcess.cpp: 13177 (WebKit::WebProcess::initializeWebProcess): 13178 (WebKit::WebProcess::setDefaultRequestTimeoutInterval): 13179 * WebProcess/WebProcess.h: 13180 * WebProcess/WebProcess.messages.in: 13181 Use UI process default timeout interval in separate process contexts, too. 13182 13183 2011-02-18 Brian Weinstein <bweinstein (a] apple.com> 13184 13185 Reviewed by Adam Roben. 13186 13187 WebResourceCacheManager should be responsible for managing the CFURLCache as well 13188 as the WebCore memory cache. 13189 https://bugs.webkit.org/show_bug.cgi?id=54886 13190 Part of <rdar://problem/8971738> 13191 13192 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 13193 (WebKit::WebResourceCacheManager::getCacheOrigins): Call through to cFURLCacheHostNames, and add 13194 create SecurityOrigin's for them and add them to the set of SecurityOrigins with cache. 13195 (WebKit::WebResourceCacheManager::clearCacheForOrigin): Call through to clear the CFURLCache for 13196 the origin's hostname. 13197 * WebProcess/ResourceCache/WebResourceCacheManager.h: 13198 13199 * WebProcess/ResourceCache/cf: Added. 13200 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Added. 13201 (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Call through to WebKitSystemInterface. 13202 (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Ditto. 13203 13204 * win/WebKit2.vcproj: Added new file. 13205 * WebKit2.xcodeproj/project.pbxproj: Ditto. 13206 13207 2011-02-21 Adam Roben <aroben (a] apple.com> 13208 13209 Move control of the sequence number from DrawingAreaImpl to DrawingAreaProxyImpl 13210 13211 DrawingAreaProxyImpl has some state that, when it changes, causes all operations performed 13212 before that state change to become invalid. When painting, we need to have performed at 13213 least one Update for the most recent state; otherwise, we'll be painting old/incorrect bits 13214 into the view. 13215 13216 Currently, this state consists of a single piece of data: the view's size. Whenever the 13217 state (i.e., size) changes, we tell the web process via the SetSize message, and the web 13218 process lets us know that it has updated to match the new state (i.e., size) via the 13219 DidSetSize message. 13220 13221 When it's time to paint, if we're waiting for the web process to update to match our current 13222 state (i.e., size), we block for a little while hoping to receive a DidSetSize message so 13223 that we can paint up-to-date bits into the window. This can cause us to receive messages 13224 out-of-order; the DidSetSize message will be processed immediately, and any messages that 13225 were sent before the DidSetSize message will be processed later. Since the messages from 13226 before the DidSetSize message correspond to an old state (i.e., size), they are no longer 13227 useful (e.g., they contain bits of the page that are drawn at the wrong size/location), so 13228 we discard them. 13229 13230 The way we identify and discard these messages is by keeping track of a sequence number. 13231 Currently, DrawingAreaImpl sends a monotonically-increasing sequence number to 13232 DrawingAreaProxyImpl with every message. Whenever DrawingAreaProxyImpl receives a DidSetSize 13233 message, it records the sequence number that came along with it. If we then later receive 13234 any messages that have a lower sequence number, we know they correspond to an old state 13235 (i.e., size) and can discard them. 13236 13237 This patch moves control of the sequence number to DrawingAreaProxyImpl. 13238 DrawingAreaProxyImpl now sends a monotonically-increasing sequence number in the SetSize 13239 message. DrawingAreaImpl records this sequence number when it receives the SetSize message, 13240 and sends it back to DrawingAreaProxyImpl in every message. Otherwise the logic is the same 13241 as before. 13242 13243 This should cause no changes in behavior, but will allow DrawingAreaProxyImpl to request a 13244 full backing store update (by incrementing the sequence number) at times other than when the 13245 view's size changes (e.g., after it has thrown away its backing store in order to save 13246 memory). 13247 13248 Fixes <http://webkit.org/b/54907> DrawingAreaProxyImpl should tell DrawingAreaImpl what 13249 sequence number to use 13250 13251 Reviewed by Anders Carlsson. 13252 13253 * UIProcess/DrawingAreaProxyImpl.cpp: 13254 (WebKit::generateSequenceNumber): Moved here from DrawingAreaImpl.cpp. 13255 (WebKit::DrawingAreaProxyImpl::sendSetSize): Changed to pass a new sequence number in the 13256 SetSize message. 13257 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): Added a FIXME about a 13258 potential improvement. 13259 13260 * WebProcess/WebPage/DrawingArea.h: 13261 (WebKit::DrawingArea::setSize): Updated to match the message's new parameters. 13262 13263 * WebProcess/WebPage/DrawingArea.messages.in: Added a sequenceNumber parameter to SetSize. 13264 13265 * WebProcess/WebPage/DrawingAreaImpl.cpp: 13266 (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_sequenceNumber. 13267 (WebKit::DrawingAreaImpl::setSize): Record the new sequence number from the UI process. 13268 13269 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): 13270 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 13271 (WebKit::DrawingAreaImpl::display): 13272 Send m_sequenceNumber, instead of a new sequence number, back to the UI process. 13273 13274 * WebProcess/WebPage/DrawingAreaImpl.h: Added m_sequenceNumber, updated setSize function to 13275 match the base class. 13276 13277 2011-02-21 Gavin Barraclough <barraclough (a] apple.com> 13278 13279 Reviewed by Sam Weinig. 13280 13281 Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy. 13282 13283 The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance 13284 containing a pointer to its parent class. These links should reflect the inheritance 13285 hierarchy of C++ classes below JSObject. For the large part it does, but in some cases 13286 entries in the C++ hierarchy are skipped over. This presently likely doesn't matter, 13287 since intervening C++ classes may not have ClassInfo - but would be a potential bug 13288 were ClassInfo were to be added. 13289 13290 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 13291 13292 2011-02-21 Balazs Kelemen <kbalazs (a] webkit.org> 13293 13294 Reviewed by Kenneth Rohde Christiansen. 13295 13296 [Qt] Implement WorkQueue::sheduleWorkAfterDelay 13297 https://bugs.webkit.org/show_bug.cgi?id=54878 13298 13299 * Platform/qt/WorkQueueQt.cpp: 13300 (WorkQueue::scheduleWorkAfterDelay): 13301 13302 2011-02-20 Alejandro G. Castro <alex (a] igalia.com> 13303 13304 Reviewed by Martin Robinson. 13305 13306 [GTK] Add WebResourceCacheDataManager to the compilation after r78848 13307 https://bugs.webkit.org/show_bug.cgi?id=54732 13308 13309 Added resource cache manager API to GTK+ compilation after r78848. 13310 13311 * GNUmakefile.am: 13312 13313 2011-02-20 Sam Weinig <sam (a] webkit.org> 13314 13315 Reviewed by Dan Bernstein. 13316 13317 Crash in WebProcess at com.apple.WebCore: WebCore::Page::goToItem + 46 13318 <rdar://problem/8942726> 13319 13320 * WebProcess/WebPage/WebPage.cpp: 13321 (WebKit::WebPage::goForward): 13322 (WebKit::WebPage::goBack): 13323 (WebKit::WebPage::goToBackForwardItem): 13324 Defend agains null HistoryItems. 13325 13326 2011-02-20 Anders Carlsson <andersca (a] apple.com> 13327 13328 Reviewed by Maciej Stachowiak. 13329 13330 Crash when a plug-in requests a javascript: url that destroys the plug-in 13331 https://bugs.webkit.org/show_bug.cgi?id=54837 13332 <rdar://problem/9005475> 13333 13334 * WebProcess/Plugins/PluginProxy.cpp: 13335 (WebKit::PluginProxy::destroy): 13336 Null out m_pluginController. 13337 13338 * WebProcess/Plugins/PluginView.cpp: 13339 (WebKit::PluginView::performJavaScriptURLRequest): 13340 Don't access the frame through m_pluginElement since it will be nulled out 13341 when the plug-in is destroyed. 13342 13343 2011-02-20 Anders Carlsson <andersca (a] apple.com> 13344 13345 Reviewed by Sam Weinig. 13346 13347 Fix another crash when a plug-in is destroyed when evaluating JavaScript 13348 https://bugs.webkit.org/show_bug.cgi?id=54834 13349 <rdar://problem/9005475> 13350 13351 This contains three separate fixes: 13352 13353 - In unprotectPluginFromDestruction we can't just destroy the plug-in once 13354 the count reaches zero, because the plug-in might still have code executing 13355 on the stack. To fix this we use a zero-delay timer to defer destruction 13356 of the plug-in. 13357 13358 - Trying to get the NPObject for the window using NPN_GetValue would return 13359 NPERR_NO_ERROR, even if the returned NPObject was null. Fix this to return 13360 NPERR_GENERIC_ERROR instead. 13361 13362 - Protect the plug-in from destruction anytime an NPAPI call that sends a 13363 synchronous IPC message is made. 13364 13365 * PluginProcess/PluginControllerProxy.cpp: 13366 (WebKit::PluginControllerProxy::PluginControllerProxy): 13367 (WebKit::PluginControllerProxy::destroy): 13368 (WebKit::PluginControllerProxy::unprotectPluginFromDestruction): 13369 * PluginProcess/PluginControllerProxy.h: 13370 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 13371 (WebKit::PluginDestructionProtector::PluginDestructionProtector): 13372 (WebKit::NPN_GetValue): 13373 (WebKit::NPN_Evaluate): 13374 (WebKit::NPN_GetProperty): 13375 (WebKit::NPN_SetProperty): 13376 (WebKit::NPN_RemoveProperty): 13377 (WebKit::NPN_HasProperty): 13378 (WebKit::NPN_HasMethod): 13379 (WebKit::NPN_Enumerate): 13380 (WebKit::NPN_Construct): 13381 (WebKit::NPN_GetValueForURL): 13382 (WebKit::NPN_SetValueForURL): 13383 13384 2011-02-19 Sam Weinig <sam (a] webkit.org> 13385 13386 Reviewed by Anders Carlsson. 13387 13388 Add phase in addition to momentumPhase to platform wheel events 13389 Part of <rdar://problem/8945362> 13390 13391 Rename existing phase to momentumPhase. 13392 13393 * Shared/WebEvent.h: 13394 (WebKit::WebWheelEvent::momentumPhase): 13395 * Shared/WebEventConversion.cpp: 13396 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 13397 * Shared/WebWheelEvent.cpp: 13398 (WebKit::WebWheelEvent::WebWheelEvent): 13399 (WebKit::WebWheelEvent::encode): 13400 (WebKit::WebWheelEvent::decode): 13401 * Shared/mac/WebEventFactory.mm: 13402 (WebKit::phaseForEvent): 13403 (WebKit::momentumPhaseForEvent): 13404 (WebKit::WebEventFactory::createWebWheelEvent): 13405 13406 2011-02-19 Anders Carlsson <andersca (a] apple.com> 13407 13408 Reviewed by Dan Bernstein. 13409 13410 Crash when trying to take a snapshot of an uninitialized plug-in 13411 https://bugs.webkit.org/show_bug.cgi?id=54812 13412 13413 * WebProcess/Plugins/PluginView.cpp: 13414 (WebKit::PluginView::notifyWidget): 13415 Don't try to create a snapshot of the plug-in if it hasn't been initialized. 13416 13417 2011-02-18 Gavin Barraclough <barraclough (a] apple.com> 13418 13419 Reviewed by Sam Weinig. 13420 13421 Bug 54786 - Devirtualize JSCell::classInfo() 13422 13423 Instead of making a virtual function call, add a pointer to the ClassInfo 13424 onto Structure. 13425 13426 This removes a virtual function call, and paves the way towards removing all 13427 the createStructure methods, and StructureFlags/AnonymousSlotCount properties 13428 (these should be able to move onto ClassInfo). 13429 13430 Calls to Structure::create must now pass a pointer to the ClassInfo for the 13431 structure. All objects now have a ClassInfo pointer, non-object cell types 13432 still do not. 13433 13434 Changes are most mechanical, involving three steps: 13435 * Remove virtual classInfo() methods. 13436 * Add &s_info parameter to calls to Structure::create. 13437 * Rename ClassInfo static members on classes from 'info' to 's_info', 13438 for consistency. 13439 13440 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 13441 (WebKit::JSNPMethod::JSNPMethod): 13442 * WebProcess/Plugins/Netscape/JSNPMethod.h: 13443 (WebKit::JSNPMethod::createStructure): 13444 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 13445 (WebKit::JSNPObject::JSNPObject): 13446 * WebProcess/Plugins/Netscape/JSNPObject.h: 13447 (WebKit::JSNPObject::createStructure): 13448 13449 2011-02-19 Sam Weinig <sam (a] webkit.org> 13450 13451 Reviewed by Anders Carlsson. 13452 13453 Rename performLookupAtCurrentMouseLocation to performDictionaryLookupAtCurrentMouseLocation 13454 13455 * UIProcess/API/mac/WKView.mm: 13456 (-[WKView performDictionaryLookupAtCurrentMouseLocation]): 13457 * UIProcess/API/mac/WKViewPrivate.h: 13458 13459 2011-02-19 Charlie Reis <creis (a] chromium.org> 13460 13461 Reviewed by Mihai Parparita. 13462 13463 Ensure loading has stopped in HistoryController::goToItem 13464 https://bugs.webkit.org/show_bug.cgi?id=54517 13465 13466 Add a FrameLoaderClient callback for whether to stop loading before goToItem. 13467 13468 Test: http/tests/navigation/forward-to-fragment-fires-onload.html 13469 13470 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13471 (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added. 13472 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 13473 13474 2011-02-18 Sam Weinig <sam (a] webkit.org> 13475 13476 Reviewed by Adele Peterson. 13477 13478 Real fix for <rdar://problem/9025723> CrashTracer: [USER] 13479 1 crash in WebProcess at com.apple.WebKit2: 13480 WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31 13481 13482 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13483 (WebKit::WebFrameLoaderClient::didChangeScrollOffset): 13484 Add null check for the FrameView. This function can be called when the 13485 FrameView is being torn down during a transition to a new FrameView. 13486 13487 * WebProcess/WebPage/WebPage.cpp: 13488 (WebKit::WebPage::didChangeScrollOffsetForMainFrame): 13489 Revert last attempt. 13490 13491 2011-02-18 Anders Carlsson <andersca (a] apple.com> 13492 13493 Reviewed by Sam Weinig. 13494 13495 Hang trying to load nytimes.com with Flash installed 13496 <rdar://problem/9018113> 13497 13498 * Platform/CoreIPC/Connection.cpp: 13499 (CoreIPC::Connection::sendSyncMessage): 13500 Call beginWaitForSyncReply() before sending the message. Otherwise, in some cases we could 13501 have gotten back a synchronous request before calling beginWaitForSyncReply(), and then we wouldn't 13502 process it correctly. (Which would lead to the hang). 13503 13504 2011-02-18 Simon Fraser <simon.fraser (a] apple.com> 13505 13506 Reviewed by Kevin Decker. 13507 13508 <rdar://problem/9021296> Some plug-ins are the wrong size after zooming 13509 13510 Use the same frame/bounds adjustment that we use for NSView-based 13511 plugins in WebKit2, which allows plug-ins and their snapshots to 13512 render with the correct size after scaling. 13513 13514 * WebProcess/Plugins/PluginView.cpp: 13515 (WebKit::PluginView::setBoundsSize): 13516 (WebKit::PluginView::viewGeometryDidChange): 13517 (WebKit::PluginView::clipRectInWindowCoordinates): 13518 * WebProcess/Plugins/PluginView.h: 13519 13520 2011-02-18 Beth Dakin <bdakin (a] apple.com> 13521 13522 Rubber-stamped by Adele Peterson. 13523 13524 Fix for <rdar://problem/9025723> CrashTracer: [USER] 13525 1 crash in WebProcess at com.apple.WebKit2: 13526 WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31 13527 13528 Simple null-check. 13529 * WebProcess/WebPage/WebPage.cpp: 13530 (WebKit::WebPage::didChangeScrollOffsetForMainFrame): 13531 13532 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav (a] nokia.com> 13533 13534 Reviewed by Kenneth Rohde Christiansen. 13535 13536 Tiled backing store area is too big. 13537 Error in area calculcation causes size of backing store 13538 up to 8 times bigger than viewport with default multipliers. 13539 https://bugs.webkit.org/show_bug.cgi?id=54587 13540 13541 * UIProcess/TiledDrawingAreaProxy.cpp: 13542 (WebKit::TiledDrawingAreaProxy::calculateKeepRect): 13543 (WebKit::TiledDrawingAreaProxy::calculateCoverRect): 13544 13545 2011-02-18 John Sullivan <sullivan (a] apple.com> 13546 13547 Reviewed by Maciej Stachowiak. 13548 13549 <rdar://problem/9026169> 13550 https://bugs.webkit.org/show_bug.cgi?id=54780 13551 pendingAPIRequestURL isn't updated for WKPageGoToBackForwardListItem 13552 13553 * UIProcess/WebPageProxy.cpp: 13554 (WebKit::WebPageProxy::goToBackForwardItem): 13555 Update the pending API URL. 13556 13557 2011-02-18 Anders Carlsson <andersca (a] apple.com> 13558 13559 Reviewed by Sam Weinig. 13560 13561 Accelerated content fades in when using a layer backed WKView 13562 <rdar://problem/9021586> 13563 13564 * UIProcess/API/mac/WKView.mm: 13565 (-[WKView _enterAcceleratedCompositingMode:]): 13566 Make a new nested CATransaction and disable animations when adding the layer 13567 hosting subview. This avoids an implicit fade animation that would otherwise occur. 13568 13569 2011-02-18 Simon Fraser <simon.fraser (a] apple.com> 13570 13571 Reviewed by Dan Bernstein. 13572 13573 Plugin snapshot location is wrong for subframes 13574 https://bugs.webkit.org/show_bug.cgi?id=54776 13575 13576 Only change the CTM to the way that the plugin expects it 13577 when painting the plugin, not when drawing the snapshot. 13578 This fixes the snapshot location when painting flattened 13579 frames. 13580 13581 * WebProcess/Plugins/PluginView.cpp: 13582 (WebKit::PluginView::paint): 13583 13584 2011-02-18 Anders Carlsson <andersca (a] apple.com> 13585 13586 Reviewed by Simon Fraser. 13587 13588 Implement NetscapePlugin::pluginComplexTextInputIdentifier 13589 https://bugs.webkit.org/show_bug.cgi?id=54770 13590 13591 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 13592 (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier): 13593 13594 2011-02-18 Sam Weinig <sam (a] webkit.org> 13595 13596 Reviewed by Maciej Stachowiak. 13597 13598 Add the ability to ask the WKPage if the main frame is pinned 13599 to the right or left hand side. 13600 Part of <rdar://problem/9017043>. 13601 13602 * UIProcess/API/C/WKPage.cpp: 13603 (WKPageIsPinnedToLeftSide): 13604 (WKPageIsPinnedToRightSide): 13605 * UIProcess/API/C/WKPage.h: 13606 Add new API calls. 13607 13608 * UIProcess/WebPageProxy.cpp: 13609 (WebKit::WebPageProxy::WebPageProxy): 13610 (WebKit::WebPageProxy::close): 13611 (WebKit::WebPageProxy::processDidCrash): 13612 (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame): 13613 * UIProcess/WebPageProxy.h: 13614 (WebKit::WebPageProxy::isPinnedToLeftSide): 13615 (WebKit::WebPageProxy::isPinnedToRightSide): 13616 Initialize, reset and update the pinned state. 13617 13618 * UIProcess/WebPageProxy.messages.in: 13619 Add message to update the pinned state. 13620 13621 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13622 (WebKit::WebFrameLoaderClient::didChangeScrollOffset): 13623 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 13624 * WebProcess/WebPage/WebPage.cpp: 13625 (WebKit::WebPage::WebPage): 13626 (WebKit::WebPage::didChangeScrollOffsetForMainFrame): 13627 * WebProcess/WebPage/WebPage.h: 13628 Cache the pinned state, and only update the UIProcess when it 13629 changes. 13630 13631 2011-02-18 Anders Carlsson <andersca (a] apple.com> 13632 13633 Reviewed by Simon Fraser. 13634 13635 Fix assertion in SharedMemory::create when trying to snapshot 0x0 plug-in 13636 https://bugs.webkit.org/show_bug.cgi?id=54768 13637 13638 * PluginProcess/PluginControllerProxy.cpp: 13639 (WebKit::PluginControllerProxy::snapshot): 13640 Don't try to create a handle from a null ShareableBitmap. 13641 13642 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 13643 (WebKit::NetscapePlugin::snapshot): 13644 Check for a zero sized plug-in before trying to create a snapshot. 13645 13646 2011-02-18 Anders Carlsson <andersca (a] apple.com> 13647 13648 Reviewed by Simon Fraser. 13649 13650 WKView flashes when entering/exiting compositing mode 13651 https://bugs.webkit.org/show_bug.cgi?id=54695 13652 <rdar://problem/9011554> 13653 13654 * UIProcess/API/mac/WKView.mm: 13655 (-[WKView _exitAcceleratedCompositingMode]): 13656 Remove the layer hosting view before clearing out its layer, otherwise we can get 13657 white flashes when exiting accelerated compositing mode. 13658 13659 * WebProcess/WebPage/DrawingAreaImpl.cpp: 13660 When entering accelerated compositing mode, we want to defer sending the message 13661 until we've actually committed the layer tree and pushed all changes over to the 13662 UI process. 13663 13664 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): 13665 Tell the layer tree host to force a repaint. This will ensure that all layer tree 13666 changes are pushed over to the UI process. When that is done, send the new layer tree 13667 context over to the UI process. 13668 13669 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 13670 When exiting compositing mode in response to a didSetSize, we want to exit accelerated 13671 compositing mode right away to avoid flashes. This is safe since we've laid out the page 13672 already so we won't end up reentering setRootCompositingLayer. 13673 13674 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 13675 Tell the layer tree host to notify us when the next layer tree flush happened, so we can 13676 let the UI process know. If we're entering accelerated compositing mode in response to a 13677 SetSize message, the new layer tree context will be passed in the DidSetSize message. 13678 13679 * WebProcess/WebPage/DrawingAreaImpl.h: 13680 Add layerHostDidFlushLayers. 13681 13682 * WebProcess/WebPage/LayerTreeHost.h: 13683 Add setShouldNotifyAfterNextScheduledLayerFlush. 13684 13685 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 13686 Add a m_notifyAfterScheduledLayerFlush flag. 13687 13688 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 13689 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 13690 Initialize m_notifyAfterScheduledLayerFlush to false. 13691 13692 (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush): 13693 Set m_notifyAfterScheduledLayerFlush to true. 13694 13695 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback): 13696 If m_notifyAfterScheduledLayerFlush is true, call DrawingAreaImpl::layerHostDidFlushLayers. 13697 13698 2011-02-18 Alexey Proskuryakov <ap (a] apple.com> 13699 13700 Reviewed by Adele Peterson. 13701 13702 REGRESSION (WebKit2): Wrong frame printed on tivofaq.com 13703 https://bugs.webkit.org/show_bug.cgi?id=54677 13704 <rdar://problem/8994133> 13705 13706 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13707 (WebKit::area): Use visible frame bounds. 13708 (WebKit::findLargestFrameInFrameSet): Added a comment explaining what we're up to here. 13709 WebKit2 shouldn't be making policy decisions for the client, but it gets dangerously close 13710 to that. We used to expose the same as WK1 API though. 13711 13712 2011-02-18 Balazs Kelemen <kbalazs (a] webkit.org> 13713 13714 Unreviwed. 13715 13716 Remove CleanupHandler since we do not use it anymore. 13717 13718 * Shared/qt/CleanupHandler.cpp: Removed. 13719 * Shared/qt/CleanupHandler.h: Removed. 13720 13721 2011-02-18 Alejandro G. Castro <alex (a] igalia.com> 13722 13723 Fix GTK build by fixing signature of platformPaint(), required after r78956. 13724 13725 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 13726 (WebKit::NetscapePlugin::platformPaint): 13727 13728 2011-02-17 Dan Bernstein <mitz (a] apple.com> 13729 13730 LLVM Compiler build fix. 13731 13732 * UIProcess/WebResourceCacheManagerProxy.h: 13733 * WebProcess/ResourceCache/WebResourceCacheManager.h: 13734 13735 2011-02-17 Simon Fraser <simon.fraser (a] apple.com> 13736 13737 Fix Windows and Qt builds by fixing signature of platformPaint(). 13738 13739 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 13740 (WebKit::NetscapePlugin::platformPaint): 13741 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 13742 (WebKit::NetscapePlugin::platformPaint): 13743 13744 2011-02-17 Simon Fraser <simon.fraser (a] apple.com> 13745 13746 Reviewed by Sam Weinig. 13747 13748 WebKit2 snapshots don't show plug-ins 13749 https://bugs.webkit.org/show_bug.cgi?id=54716 13750 13751 Fix WebKit2 plug-ins to do a software paint for 13752 snapshotting. 13753 13754 * PluginProcess/PluginControllerProxy.h: 13755 * PluginProcess/PluginControllerProxy.cpp: 13756 (WebKit::PluginControllerProxy::snapshot): Respond to the snapshot 13757 message by getting a sharable bitmap from the plugin, and returning 13758 a handle to it in the reply. 13759 13760 * PluginProcess/PluginControllerProxy.messages.in: Add the snapshot 13761 message. 13762 13763 * Shared/Plugins/PluginQuirks.h: 13764 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 13765 (WebKit::NetscapePluginModule::determineQuirks): Add a quirk for the 13766 ability to be snapshotted, which we only set for Flash at the moment. 13767 13768 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 13769 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 13770 (WebKit::NetscapePlugin::snapshot): Create a shareable bitmap, and 13771 paint into it. 13772 (WebKit::NetscapePlugin::supportsSnapshotting): Test the quirk. 13773 13774 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 13775 (WebKit::NetscapePlugin::platformPaint): Allow the paint to happen 13776 if we're snapshotting, even when using the CoreAnimation drawing 13777 model. 13778 13779 * WebProcess/Plugins/Plugin.h: New snapshot method. 13780 13781 * WebProcess/Plugins/PluginProxy.h: 13782 * WebProcess/Plugins/PluginProxy.cpp: 13783 (WebKit::PluginProxy::snapshot): Send a sync message to the plugin process, 13784 asking for a snapshot in a shareble bitmap. 13785 13786 * WebProcess/Plugins/PluginView.h: 13787 * WebProcess/Plugins/PluginView.cpp: 13788 (WebKit::PluginView::paint): Use the snapshot if we have one, to avoid 13789 calling into the plugin to draw, which may run script. 13790 13791 (WebKit::PluginView::notifyWidget): Generate the snapshot before 13792 a flattening paint, and throw it away after. 13793 13794 2011-02-17 Jessie Berlin <jberlin (a] apple.com> 13795 13796 Reviewed by Adam Roben. 13797 13798 WebKit2: The CFNetwork Cache should be shared between the UI Process and the Web Process on 13799 Windows. 13800 https://bugs.webkit.org/show_bug.cgi?id=54683 13801 13802 * Shared/WebProcessCreationParameters.cpp: 13803 (WebKit::WebProcessCreationParameters::encode): 13804 (WebKit::WebProcessCreationParameters::decode): 13805 * Shared/WebProcessCreationParameters.h: 13806 13807 * UIProcess/win/WebContextWin.cpp: 13808 (WebKit::WebContext::platformInitializeWebProcess): 13809 Make sure to remove the ending slash, as CFNetwork does not recognize the directory with 13810 that slash. 13811 13812 * WebProcess/win/WebProcessWin.cpp: 13813 (WebKit::WebProcess::platformInitializeWebProcess): 13814 Create a cache using the path, disk capacity, and memory capacity and set it as default. 13815 13816 2011-02-17 Anders Carlsson <andersca (a] apple.com> 13817 13818 Reviewed by Sam Weinig. 13819 13820 Web and/or plug-in process crashes when NPN_Evaluate destroys the plug-in 13821 https://bugs.webkit.org/show_bug.cgi?id=54686 13822 <rdar://problem/9013384> 13823 13824 This patch fixes two bugs with a plug-in calling NPN_Evaluate to destroy itself: 13825 13826 - The PluginProxy object would be destroyed in the middle of PluginProxy::evaluate. 13827 This would cause the web process to crash. 13828 13829 - The PluginControllerProxy would call NPP_Destroy while the plug-in was busy running 13830 code. This would cause the plug-in process to crash. 13831 13832 To fix this, we add protectPluginFromDestruction/unprotectPluginFromDestruction to 13833 PluginControllerProxy and use it to defer calling destroy() in the plug-in process, 13834 and defer actually destroying the plug-in in the web process. 13835 13836 https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding a test for this. 13837 13838 * PluginProcess/PluginControllerProxy.cpp: 13839 (WebKit::PluginControllerProxy::PluginControllerProxy): 13840 (WebKit::PluginControllerProxy::destroy): 13841 (WebKit::PluginControllerProxy::evaluate): 13842 (WebKit::PluginControllerProxy::protectPluginFromDestruction): 13843 (WebKit::PluginControllerProxy::unprotectPluginFromDestruction): 13844 * PluginProcess/PluginControllerProxy.h: 13845 (WebKit::PluginControllerProxy::asPluginController): 13846 * PluginProcess/WebProcessConnection.cpp: 13847 (WebKit::WebProcessConnection::destroyPluginControllerProxy): 13848 (WebKit::WebProcessConnection::didReceiveMessage): 13849 (WebKit::WebProcessConnection::didReceiveSyncMessage): 13850 * PluginProcess/WebProcessConnection.h: 13851 (WebKit::WebProcessConnection::connection): 13852 * WebProcess/Plugins/PluginController.h: 13853 (WebKit::PluginController::PluginDestructionProtector::PluginDestructionProtector): 13854 (WebKit::PluginController::PluginDestructionProtector::~PluginDestructionProtector): 13855 * WebProcess/Plugins/PluginProxy.cpp: 13856 (WebKit::PluginProxy::evaluate): 13857 * WebProcess/Plugins/PluginView.cpp: 13858 (WebKit::PluginView::protectPluginFromDestruction): 13859 (WebKit::PluginView::unprotectPluginFromDestruction): 13860 * WebProcess/Plugins/PluginView.h: 13861 13862 2011-02-17 Sam Weinig <sam (a] webkit.org> 13863 13864 Build fix. 13865 13866 * WebProcess/WebPage/mac/WebPageMac.mm: 13867 (WebKit::WebPage::performDictionaryLookupAtLocation): 13868 13869 2011-02-17 Sam Weinig <sam (a] webkit.org> 13870 13871 Reviewed by Maciej Stachowiak. 13872 13873 WebKit2: Support Dictionary popup 13874 <rdar://problem/7660670> 13875 13876 * Shared/TextInfo.cpp: Added. 13877 (WebKit::TextInfo::encode): 13878 (WebKit::TextInfo::decode): 13879 * Shared/TextInfo.h: Added. 13880 (WebKit::TextInfo::TextInfo): 13881 Add class to represent the location and style of a run of text. 13882 13883 * UIProcess/PageClient.h: 13884 * UIProcess/API/mac/PageClientImpl.h: 13885 * UIProcess/API/mac/PageClientImpl.mm: 13886 (WebKit::PageClientImpl::didPerformDictionaryLookup): 13887 Invoke the dictionary popup. 13888 13889 * UIProcess/API/mac/WKView.mm: 13890 (-[WKView performLookupAtCurrentMouseLocation]): 13891 Tell the WebProcess to get get the text under the mouse and cause 13892 the dictionary popup to appear. 13893 13894 * UIProcess/API/mac/WKViewPrivate.h: 13895 Add performLookupAtCurrentMouseLocation. 13896 13897 * UIProcess/WebPageProxy.cpp: 13898 (WebKit::WebPageProxy::performDictionaryLookupAtLocation): 13899 (WebKit::WebPageProxy::didPerformDictionaryLookup): 13900 * UIProcess/WebPageProxy.h: 13901 * UIProcess/WebPageProxy.messages.in: 13902 * WebProcess/WebPage/WebPage.cpp: 13903 * WebProcess/WebPage/WebPage.h: 13904 * WebProcess/WebPage/WebPage.messages.in: 13905 Pipe messages through. 13906 13907 * WebProcess/WebPage/mac/WebPageMac.mm: 13908 (WebKit::characterRangeAtPoint): Fix to return PassRefPtr 13909 and not potentially stale pointers. 13910 13911 (WebKit::WebPage::characterIndexForPoint): 13912 Change to use a RefPtr. 13913 13914 (WebKit::WebPage::performDictionaryLookupAtLocation): 13915 Add simple heuristic to get the word at the current point (or the current selection 13916 if it is at that point) and grab the style of the word to send the UIProcess. 13917 13918 * WebKit2.pro: 13919 * WebKit2.xcodeproj/project.pbxproj: 13920 * win/WebKit2.vcproj: 13921 Add new files. 13922 13923 2011-02-17 Brian Weinstein <bweinstein (a] apple.com> 13924 13925 Qt build fix. 13926 13927 * WebKit2.pro: Update after renaming of MemoryCache to ResourceCache. 13928 13929 2011-02-17 Brian Weinstein <bweinstein (a] apple.com> 13930 13931 Mac build fix. 13932 13933 * WebKit2.xcodeproj/project.pbxproj: Use relative to group instead of absolute paths. Not everyone's home 13934 directory is /Users/brian_weinstein. 13935 13936 2011-02-16 Brian Weinstein <bweinstein (a] apple.com> 13937 13938 Reviewed by Brady Eidson. 13939 13940 WebKit2: Need a way to manage the WebCore Cache 13941 https://bugs.webkit.org/show_bug.cgi?id=54501 13942 13943 Implement a WebKit2 API to manage the WebCore memory cache. This API exposes three functions: 13944 13945 1) A method to get a list of all security origins that have entries in the WebCore memory cache. 13946 2) A method to remove all entries in the WebCore memory cache from a SecurityOrigin. 13947 3) A method to remove all entries from the WebCore memory cache. 13948 13949 * Platform/CoreIPC/MessageID.h: Add two new MessageClasses. 13950 * Shared/API/c/WKBase.h: 13951 * Shared/APIObject.h: Add a CacheManager type. 13952 * Shared/WebSecurityOrigin.h: Typedef WKCacheManagerRef. 13953 (WebKit::WebSecurityOrigin::createFromString): Creates a WebCore::SecurityOrigin using 13954 SecurityOrigin::createFromString. 13955 (WebKit::WebSecurityOrigin::toString): Calls through to SecurityOrigin::toString. 13956 * UIProcess/API/C/WKAPICast.h: 13957 13958 * UIProcess/API/C/WKCacheManager.cpp: Added. 13959 (WKCacheManagerGetTypeID): Returns the WebResourceCacheManagerProxy type. 13960 (WKCacheManagerGetCacheOrigins): Calls through to WebResourceCacheManagerProxy::getCacheOrigins. 13961 (callGetCacheOriginsBlockBlockAndDispose): 13962 (WKCacheManagerGetCacheOrigins_b): 13963 (WKCacheManagerDeleteCacheForOrigin): Calls through to WebResourceCacheManagerProxy::deleteCacheForOrigin. 13964 (WKCacheManagerDeleteAllCache): Calls through to WebResourceCacheManagerProxy::deleteAllCache. 13965 * UIProcess/API/C/WKCacheManager.h: Added. 13966 13967 * UIProcess/API/C/WKContext.cpp: 13968 (WKContextGetCacheManager): Calls to get the WebResourceCacheManagerProxy. 13969 * UIProcess/API/C/WKContext.h: 13970 13971 * UIProcess/WebResourceCacheManagerProxy.cpp: Added. 13972 (WebKit::WebResourceCacheManagerProxy::create): Calls through to the constructor. 13973 (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Initialize the m_webContext variable. 13974 (WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy): 13975 (WebKit::WebResourceCacheManagerProxy::invalidate): Invalidate the callback map. 13976 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Call through to the web process to get the cache 13977 origins. 13978 (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Call the callback. 13979 (WebKit::WebResourceCacheManagerProxy::deleteCacheForOrigin): Call through to the web process to delete cache 13980 for the given origin. 13981 (WebKit::WebResourceCacheManagerProxy::deleteAllCache): Call through to the web process to delete all of the cache. 13982 * UIProcess/WebResourceCacheManagerProxy.h: Added. 13983 (WebKit::WebResourceCacheManagerProxy::clearContext): 13984 (WebKit::WebResourceCacheManagerProxy::type): 13985 * UIProcess/WebResourceCacheManagerProxy.messages.in: Added. 13986 13987 * UIProcess/WebContext.cpp: 13988 (WebKit::WebContext::WebContext): Initialize new member variable. 13989 (WebKit::WebContext::~WebContext): Invalidates new member variable. 13990 (WebKit::WebContext::didReceiveMessage): Passes cache messages to the cache manager. 13991 * UIProcess/WebContext.h: 13992 (WebKit::WebContext::cacheManagerProxy): 13993 * UIProcess/WebProcessProxy.cpp: 13994 (WebKit::WebProcessProxy::didReceiveMessage): Add a new message class. 13995 13996 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: Added. 13997 (WebKit::WebResourceCacheManager::shared): 13998 (WebKit::WebResourceCacheManager::WebResourceCacheManager): 13999 (WebKit::WebResourceCacheManager::~WebResourceCacheManager): 14000 (WebKit::WebResourceCacheManager::didReceiveMessage): Calls through to didReceiveWebResourceCacheManagerMessage. 14001 (WebKit::WebResourceCacheManager::getCacheOrigins): Gets a list of origins with cache entries from the memory 14002 cache, and puts them into a vector to send to the UI process. 14003 (WebKit::WebResourceCacheManager::deleteCacheForOrigin): Calls through to ResourceCache to delete all cache entries 14004 from a given origin. 14005 (WebKit::WebResourceCacheManager::deleteAllCache): 14006 * WebProcess/ResourceCache/WebResourceCacheManager.h: Added. 14007 * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Added. 14008 14009 * WebProcess/WebProcess.cpp: 14010 (WebKit::WebProcess::didReceiveMessage): 14011 (WebKit::WebProcess::clearResourceCaches): Tell the memory cache to evict its resources. This was done on WebKit1, 14012 but not WebKit2. 14013 * WebProcess/WebProcess.h: 14014 14015 * WebKit2.xcodeproj/project.pbxproj: Added new files. 14016 * win/WebKit2.vcproj: Ditto. 14017 * win/WebKit2Common.vsprops: Added new include directory. 14018 * win/WebKit2Generated.make: Added new header. 14019 14020 2011-02-16 David Hyatt <hyatt (a] apple.com> 14021 14022 Reviewed by Dan Bernstein. 14023 14024 https://bugs.webkit.org/show_bug.cgi?id=54244 14025 14026 Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding 14027 hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats. 14028 14029 The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have 14030 been changed as well. 14031 14032 In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height). 14033 14034 Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting. 14035 14036 Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes 14037 still have a precise floating point position. 14038 14039 Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already 14040 be rounding justification spacing in their font code. 14041 14042 Many layout test results change on Mac, since rounding hacks were used there and are now gone. 14043 14044 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 14045 (WebKit::WebPopupMenu::setUpPlatformData): 14046 14047 2011-02-10 Luiz Agostini <luiz.agostini (a] openbossa.org> 14048 14049 Reviewed by Adam Roben. 14050 14051 HTML5 <details> and <summary>: localized text 14052 https://bugs.webkit.org/show_bug.cgi?id=54260 14053 14054 The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to 14055 provide the default label to be used by a <details> tag that has no <summary> child. 14056 14057 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 14058 (WebKit::WebPlatformStrategies::defaultDetailsSummaryText): 14059 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 14060 14061 2011-02-17 Adam Roben <aroben (a] apple.com> 14062 14063 Make sure layout is up-to-date before rendering the layer tree in DrawingAreaImpl 14064 14065 Fixes <http://webkit.org/b/54646> <rdar://problem/9016889> Assertion failure in 14066 FrameView::paintContents when calling WKPageForceRepaint on a page that uses accelerated 14067 compositing 14068 14069 Reviewed by Anders Carlsson. 14070 14071 * WebProcess/WebPage/DrawingAreaImpl.cpp: 14072 (WebKit::DrawingAreaImpl::forceRepaint): Lay out before we do anything else. 14073 14074 2011-02-17 Alejandro G. Castro <alex (a] igalia.com> 14075 14076 Reviewed by Martin Robinson. 14077 14078 [GTK] Add WKPluginSiteDataManager.cpp compilation after r78647 14079 https://bugs.webkit.org/show_bug.cgi?id=54564 14080 14081 * GNUmakefile.am: Added files to compilation. 14082 * Shared/Plugins/Netscape/NetscapePluginModule.h: used 14083 npruntime_internal.h in the include to avoid problems with X 14084 types. 14085 * WebProcess/WebProcess.cpp: 14086 (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): fixed 14087 ambiguous reference to Font caused by the X headers required by 14088 the plugins. 14089 14090 2011-02-16 Matthew Delaney <mdelaney (a] apple.com> 14091 14092 Reviewed by Simon Fraser. 14093 14094 Allow acceleratesDrawing for WebKit2 14095 https://bugs.webkit.org/show_bug.cgi?id=54511 14096 14097 Plumb through preference for accelerated drawing. 14098 14099 If accelerated drawing is enabled, keep the DrawingAreaImpl in 14100 accelerated compositing mode. 14101 14102 * Shared/WebPreferencesStore.h: 14103 * UIProcess/API/C/WKPreferences.cpp: 14104 (WKPreferencesSetAcceleratedDrawingEnabled): 14105 (WKPreferencesGetAcceleratedDrawingEnabled): 14106 * UIProcess/API/C/WKPreferencesPrivate.h: 14107 * WebProcess/WebPage/DrawingAreaImpl.cpp: 14108 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 14109 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 14110 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 14111 * WebProcess/WebPage/DrawingAreaImpl.h: 14112 * WebProcess/WebPage/WebPage.cpp: 14113 (WebKit::WebPage::updatePreferences): 14114 14115 2011-02-16 Yael Aharon <yael.aharon (a] nokia.com> 14116 14117 Reviewed by Andreas Kling. 14118 14119 [Qt] White screen is displayed when tiled backing store is enabled in MiniBrowser. 14120 https://bugs.webkit.org/show_bug.cgi?id=54583 14121 14122 Make sure to invalidate all the tiles, including the last one. 14123 14124 * UIProcess/TiledDrawingAreaProxy.cpp: 14125 (WebKit::TiledDrawingAreaProxy::invalidate): 14126 14127 2011-02-16 Yael Aharon <yael.aharon (a] nokia.com> 14128 14129 Reviewed by Andreas Kling. 14130 14131 [Qt] Tiles are not created for webkit2 after r77286. 14132 https://bugs.webkit.org/show_bug.cgi?id=54577 14133 14134 When using the default tile size of 1024x1024, only one tile is created. 14135 Make sure to create this tile by undoing what seems to be a typo in r77286. 14136 14137 * UIProcess/TiledDrawingAreaProxy.cpp: 14138 (WebKit::TiledDrawingAreaProxy::paint): 14139 (WebKit::TiledDrawingAreaProxy::createTiles): 14140 14141 == Rolled over to ChangeLog-2011-02-16 == 14142