1 2011-02-16 Anders Carlsson <andersca (a] apple.com> 2 3 Reviewed by Adam Roben. 4 5 Always disable the responsiveness timer when showing a popup menu 6 https://bugs.webkit.org/show_bug.cgi?id=54578 7 <rdar://problem/9009170> 8 9 * UIProcess/WebPageProxy.cpp: 10 (WebKit::WebPageProxy::showPopupMenu): 11 12 2011-02-16 Anders Carlsson <andersca (a] apple.com> 13 14 Reviewed by Adam Roben. 15 16 Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing 17 https://bugs.webkit.org/show_bug.cgi?id=54575 18 <rdar://problem/8979594> 19 20 * WebProcess/WebPage/DrawingAreaImpl.cpp: 21 (WebKit::DrawingAreaImpl::forceRepaint): 22 If there is a layer tree host, ask it to force a repaint instead. 23 24 * WebProcess/WebPage/LayerTreeHost.h: 25 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 26 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 27 (WebKit::LayerTreeHostMac::forceRepaint): 28 Flush any layer changes, then flush and synchronize the current CA transaction. 29 30 2011-02-16 Alexey Proskuryakov <ap (a] apple.com> 31 32 Reviewed by Anders Carlsson. 33 34 https://bugs.webkit.org/show_bug.cgi?id=54572 35 REGRESSION (WebKit2): Print Backgrounds checkbox has no effect for DOM initiated printing 36 37 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Preferences need 38 to be propagated to Web process during synchronous printing. 39 40 2011-02-15 Anders Carlsson <andersca (a] apple.com> 41 42 Reviewed by Sam Weinig. 43 44 WebPluginSiteDataManager should work with plug-in process 45 https://bugs.webkit.org/show_bug.cgi?id=54523 46 <rdar://problem/8689312> 47 48 * PluginProcess/PluginProcess.cpp: 49 (WebKit::PluginProcess::removeWebProcessConnection): 50 Call startShutdownTimerIfNecessary(). 51 52 (WebKit::PluginProcess::getSitesWithData): 53 Ask the plug-in module for the sites with data and send them back 54 in a PluginProcessProxy::DidGetSitesWithData message. 55 56 (WebKit::PluginProcess::clearSiteData): 57 Clear site data and send back a DidClearSiteData message. 58 59 (WebKit::PluginProcess::startShutdownTimerIfNecessary): 60 Factor code out from removeWebProcessConnection. 61 62 * PluginProcess/PluginProcess.messages.in: 63 Add new messages. 64 65 * UIProcess/Plugins/PluginInfoStore.cpp: 66 (WebKit::PluginInfoStore::plugins): 67 New function for getting all plug-ins. 68 69 * UIProcess/Plugins/PluginProcessManager.cpp: 70 (WebKit::PluginProcessManager::getPluginProcessConnection): 71 Call getOrCreatePluginProcess. 72 73 (WebKit::PluginProcessManager::getSitesWithData): 74 Get a plug-in process proxy and call getSitesWithData. 75 76 (WebKit::PluginProcessManager::clearSiteData): 77 Get a plug-in process proxy and call clearSiteData. 78 79 (WebKit::PluginProcessManager::getOrCreatePluginProcess): 80 Factor code to create a plug-in process out into a separate function. 81 82 * UIProcess/Plugins/PluginProcessProxy.cpp: 83 (WebKit::PluginProcessProxy::getSitesWithData): 84 (WebKit::PluginProcessProxy::clearSiteData): 85 Update the pending reply struct. If the process is still launching, 86 enqueue the request. Otherwise, just send the message. 87 88 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 89 Make sure that pending replies are sent out. 90 91 (WebKit::PluginProcessProxy::didFinishLaunching): 92 Send our pending requests. 93 94 (WebKit::PluginProcessProxy::didGetSitesWithData): 95 (WebKit::PluginProcessProxy::didClearSiteData): 96 Call down to the plug-in site data manager. 97 98 * UIProcess/Plugins/PluginProcessProxy.messages.in: 99 Add DidGetSitesWithData and DidClearSiteData messages. 100 101 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 102 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState): 103 Initialize the state. 104 105 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin): 106 If the plug-in queue is empty, call didGetSitesWithDataForAllPlugins. Otherwise, ask 107 the plug-in process manager to get sites for the next plug-in. 108 109 (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::didGetSitesWithDataForSinglePlugin): 110 Update the sites set and get sites for the next plug-in. 111 112 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState): 113 Initialize the state. 114 115 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::clearSiteDataForNextPlugin): 116 If the plug-in queue is empty, call didClearSiteDataForAllPlugins. Otherwise, ask 117 the plug-in process manager to get sites for the next plug-in. 118 119 (WebKit::WebPluginSiteDataManager::ClearSiteDataState::didClearSiteDataForSinglePlugin): 120 Update the sites set and ask the next plug-in to clear site data. 121 122 (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager): 123 Assert that all maps are empty. 124 125 (WebKit::WebPluginSiteDataManager::invalidate): 126 Delete and clear the pending state maps. 127 128 (WebKit::WebPluginSiteDataManager::getSitesWithData): 129 In the ENABLE(PLUGIN_PROCESS) case, allocate a new GetSitesWithDataState object and 130 tell it to get sites for the next plug-in. Otherwise, make sure that the web process 131 is alive before sending a GetSitesWithPluginData message. 132 133 (WebKit::WebPluginSiteDataManager::clearSiteData): 134 In the ENABLE(PLUGIN_PROCESS) case, allocate a new ClearSiteDataState object and 135 tell it to get sites for the next plug-in. Otherwise, make sure that the web process 136 is alive before sending a ClearPluginSiteData message. 137 138 (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin): 139 Call down to the GetSitesWithDataState object. 140 141 (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins): 142 Free the GetSitesWithDataState object and invoke the callback. 143 144 (WebKit::WebPluginSiteDataManager::didClearSiteDataForSinglePlugin): 145 Call down to the GetSitesWithDataState object. 146 147 (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins): 148 Free the GetSitesWithDataState object and invoke the callback. 149 150 * UIProcess/WebContext.cpp: 151 (WebKit::WebContext::processDidClose): 152 Don't invalidate the plug-in site data manager if we're using a plug-in process. 153 154 * WebProcess/WebProcess.cpp: 155 (WebKit::WebProcess::getSitesWithPluginData): 156 (WebKit::WebProcess::clearPluginSiteData): 157 Call shutdownIfPossible(). 158 159 2011-02-15 Jon Honeycutt <jhoneycutt (a] apple.com> 160 161 Copy over new WebKit 2 header. 162 163 Rubber-stamped by Alice Liu. 164 165 * win/WebKit2Generated.make: 166 167 2011-02-15 Anders Carlsson <andersca (a] apple.com> 168 169 Reviewed by Darin Adler. 170 171 Implement WKPluginSiteDataManagerClearSiteData 172 https://bugs.webkit.org/show_bug.cgi?id=54512 173 <rdar://problem/8689312> 174 175 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 176 (WKPluginSiteDataManagerGetTypeID): 177 Implement this. 178 179 (toNPClearSiteDataFlags): 180 Convert WKClearSiteDataFlags to NPP_ClearSiteData flags. 181 182 (WKPluginSiteDataManagerClearSiteData): 183 (WKPluginSiteDataManagerClearAllSiteData): 184 Call through to WebPluginSiteDataManager::clearSiteData. 185 186 * UIProcess/API/C/WKPluginSiteDataManager.h: 187 Change the clear functions to take a completion callback. 188 189 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 190 (WebKit::WebPluginSiteDataManager::clearSiteData): 191 Ask the plug-in info store for all plug-in paths and send a 192 ClearPluginSiteData message to the web process. 193 194 (WebKit::WebPluginSiteDataManager::didClearSiteData): 195 call the callback. 196 197 * UIProcess/WebContext.cpp: 198 (WebKit::WebContext::didClearPluginSiteData): 199 Call through to the plug-in site data manager. 200 201 * UIProcess/WebContext.messages.in: 202 Add ClearPluginSiteData message. 203 204 * WebProcess/WebProcess.cpp: 205 (WebKit::WebProcess::clearPluginSiteData): 206 Iterate over all the plug-in paths, creating plug-in modules and calling 207 clearSiteData for each one. 208 209 * WebProcess/WebProcess.h: 210 * WebProcess/WebProcess.messages.in: 211 Add DidClearPluginSiteData message. 212 213 2011-02-15 Anders Carlsson <andersca (a] apple.com> 214 215 Reviewed by Jon Honeycutt. 216 217 Implement WKPluginSiteDataManagerGetSitesWithData 218 https://bugs.webkit.org/show_bug.cgi?id=54510 219 <rdar://problem/8689312> 220 221 * UIProcess/API/C/WKContext.cpp: 222 (WKContextGetPluginSiteDataManager): 223 Call WebContext::pluginSiteDataManager. 224 225 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 226 (WKPluginSiteDataManagerGetSitesWithData): 227 Call WebPluginSiteDataManager::getSitesWithData. 228 229 * UIProcess/Plugins/PluginInfoStore.cpp: 230 (WebKit::PluginInfoStore::getPluginPaths): 231 * UIProcess/Plugins/PluginInfoStore.h: 232 Populate the paths argument with the paths of all plug-ins. 233 234 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: Added. 235 (WebKit::WebPluginSiteDataManager::invalidate): 236 Invalidate the callbacks map. 237 238 (WebKit::WebPluginSiteDataManager::getSitesWithData): 239 Ask the plug-in info store for all plug-in paths and send a 240 GetSitesWithPluginData message to the web process. 241 242 (WebKit::WebPluginSiteDataManager::didGetSitesWithPluginData): 243 Call the callback. 244 245 * UIProcess/Plugins/WebPluginSiteDataManager.h: Added. 246 (WebKit::WebPluginSiteDataManager::clearContext): 247 Clear the context. 248 249 * UIProcess/WebContext.cpp: 250 (WebKit::WebContext::WebContext): 251 Initialize m_pluginSiteDataManager. 252 253 (WebKit::WebContext::~WebContext): 254 Invalidate the plug-in site data manager and clear its context. 255 256 (WebKit::WebContext::processDidClose): 257 Invalidate the plug-in site data manager. 258 259 (WebKit::WebContext::didGetSitesWithPluginData): 260 Call through to the plug-in site data manager. 261 262 * UIProcess/WebContext.h: 263 * UIProcess/WebContext.messages.in: 264 Add GetSitesWithPluginData message. 265 266 * WebKit2.pro: 267 * WebKit2.xcodeproj/project.pbxproj: 268 * win/WebKit2.vcproj: 269 Add new files. 270 271 * WebProcess/WebProcess.cpp: 272 (WebKit::WebProcess::getSitesWithPluginData): 273 Iterate over all plug-in paths and get the sites from all plug-ins. 274 275 * WebProcess/WebProcess.h: 276 * WebProcess/WebProcess.messages.in: 277 Add DidGetSitesWithPluginData. 278 279 2011-02-15 Anders Carlsson <andersca (a] apple.com> 280 281 Fix Qt build. 282 283 * WebKit2.pro: 284 285 2011-02-15 Anders Carlsson <andersca (a] apple.com> 286 287 Fix Windows build. 288 289 * win/WebKit2.vcproj: 290 291 2011-02-14 Oliver Hunt <oliver (a] apple.com> 292 293 Reviewed by Gavin Barraclough and Geoff Garen. 294 295 Refactor handles and weak pointers to become nicer and more automatic 296 https://bugs.webkit.org/show_bug.cgi?id=54415 297 298 Update code to new Global<> API, and refactor to get global data to 299 necessary points. 300 301 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 302 (WebKit::NPJSObject::create): 303 (WebKit::NPJSObject::NPJSObject): 304 (WebKit::NPJSObject::initialize): 305 (WebKit::NPJSObject::invokeDefault): 306 (WebKit::NPJSObject::construct): 307 (WebKit::NPJSObject::invoke): 308 * WebProcess/Plugins/Netscape/NPJSObject.h: 309 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 310 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 311 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 312 (WebKit::NPRuntimeObjectMap::evaluate): 313 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 314 * WebProcess/Plugins/PluginView.cpp: 315 (WebKit::PluginView::windowScriptNPObject): 316 (WebKit::PluginView::pluginElementNPObject): 317 318 2011-02-15 Anders Carlsson <andersca (a] apple.com> 319 320 Reviewed by Jon Honeycutt. 321 322 Add stubbed out WKPluginSiteDataManagerRef API 323 https://bugs.webkit.org/show_bug.cgi?id=54504 324 325 * Shared/API/c/WKBase.h: 326 * Shared/APIObject.h: 327 * UIProcess/API/C/WKAPICast.h: 328 * UIProcess/API/C/WKContext.cpp: 329 (WKContextGetPluginSiteDataManager): 330 * UIProcess/API/C/WKContext.h: 331 * UIProcess/API/C/WKPluginSiteDataManager.cpp: Added. 332 (WKPluginSiteDataManagerGetTypeID): 333 (WKPluginSiteDataManagerGetSitesWithData): 334 (WKPluginSiteDataManagerClearSiteData): 335 (WKPluginSiteDataManagerClearAllSiteData): 336 * UIProcess/API/C/WKPluginSiteDataManager.h: Added. 337 * WebKit2.pro: 338 * WebKit2.xcodeproj/project.pbxproj: 339 * win/WebKit2.vcproj: 340 341 2011-02-15 Jia Pu <jpu (a] apple.com> 342 343 Reviewed by Darin Adler. 344 345 Autocorrection should respect undo. 346 https://bugs.webkit.org/show_bug.cgi?id=52221 347 <rdar://problem/8663399> 348 349 Please see WebCore/ChangeLog for detailed description. 350 351 * WebProcess/WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient. 352 353 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 354 (WebKit::WebEditorClient::recordAutocorrectionResponse): Ditto. 355 356 * WebProcess/WebPage/WebPage.cpp: 357 (WebKit::WebPage::replaceSelectionWithText): Adopted new signature of ReplaceSelectionCommand::create(). 358 359 2011-02-15 Jessie Berlin <jberlin (a] apple.com> 360 361 Reviewed by Darin Adler. 362 363 WebKit2: Use the Database directory location specified in NSUserDefaults. 364 https://bugs.webkit.org/show_bug.cgi?id=54496 365 366 * UIProcess/mac/WebContextMac.mm: 367 (WebKit::WebContext::platformDefaultDatabaseDirectory): 368 Use the same logic as WebKit1's WebDatabaseManager::databasesDirectoryPath. 369 370 2011-02-15 Simon Fraser <simon.fraser (a] apple.com> 371 372 Reviewed by Anders Carlsson, Darin Adler. 373 374 Layers stick around in DrawingAreaImpl until we switch out of compositing 375 https://bugs.webkit.org/show_bug.cgi?id=54498 376 377 When leaving compositing mode soon, remove all the child layers 378 of the nonCompositedContent layer right away, so they don't stick 379 around. 380 381 * WebProcess/WebPage/DrawingAreaImpl.cpp: 382 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 383 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 384 (WebKit::LayerTreeHostMac::setRootCompositingLayer): 385 386 2011-02-15 Kenneth Russell <kbr (a] google.com> 387 388 Reviewed by Darin Fisher. 389 390 Allow controlling minimum DOMTimer interval on a per-page basis 391 https://bugs.webkit.org/show_bug.cgi?id=54312 392 393 * WebProcess/WebPage/WebPage.cpp: 394 (WebKit::WebPage::WebPage): 395 396 2011-02-15 Anders Carlsson <andersca (a] apple.com> 397 398 Reviewed by Sam Weinig. 399 400 Add sitesWithData and clearSiteData to NetscapePluginModule 401 https://bugs.webkit.org/show_bug.cgi?id=54492 402 403 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 404 (WebKit::NetscapePluginModule::NetscapePluginModule): 405 (WebKit::NetscapePluginModule::pluginCreated): 406 (WebKit::NetscapePluginModule::pluginDestroyed): 407 (WebKit::NetscapePluginModule::sitesWithData): 408 (WebKit::NetscapePluginModule::clearSiteData): 409 (WebKit::NetscapePluginModule::tryGetSitesWithData): 410 (WebKit::NetscapePluginModule::tryClearSiteData): 411 (WebKit::NetscapePluginModule::incrementLoadCount): 412 (WebKit::NetscapePluginModule::decrementLoadCount): 413 * Shared/Plugins/Netscape/NetscapePluginModule.h: 414 415 2011-02-15 Sam Weinig <sam (a] webkit.org> 416 417 Fix windows build. 418 419 * Shared/win/WebCoreArgumentCodersWin.cpp: 420 (CoreIPC::encodeResourceRequest): 421 422 2011-02-15 Alexey Proskuryakov <ap (a] apple.com> 423 424 Reviewed by Darin Adler. 425 426 https://bugs.webkit.org/show_bug.cgi?id=54480 427 <rdar://problem/8975229> REGRESSION (WebKit2): A web page remains unresponsive for a long 428 time after printing 429 430 Nothing was painted until moving the mouse over browser chrome, deactivating the window, 431 or taking some other drastic measure like that. 432 433 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): 434 Call -[NSView displayIfNeeded] after enabling autodisplay. For some reason, this makes 435 WebCore push updates again. 436 437 2011-02-15 Sam Weinig <sam (a] webkit.org> 438 439 Reviewed by Darin Adler. 440 441 Crash loading fast/loader/empty-embed-src-attribute.html 442 <rdar://problem/9005541> 443 https://bugs.webkit.org/show_bug.cgi?id=54483 444 445 Add the ability to encode/decode and empty ResourceRequest. 446 447 * Shared/mac/WebCoreArgumentCodersMac.mm: 448 (CoreIPC::encodeResourceRequest): 449 (CoreIPC::decodeResourceRequest): 450 (CoreIPC::decodeResourceResponse): Add missing false check for the 451 decode step. 452 * Shared/win/WebCoreArgumentCodersWin.cpp: 453 (CoreIPC::encodeResourceRequest): 454 (CoreIPC::decodeResourceRequest): 455 (CoreIPC::decodeResourceResponse): Add missing false check for the 456 decode step. 457 458 2011-02-15 Andreas Kling <kling (a] webkit.org> 459 460 Unreviewed Qt build fix after r78588. 461 462 * UIProcess/API/qt/qwkpage.cpp: 463 (QWKPage::QWKPage): Add WKPageLoaderClient::shouldGoToHistoryItem. 464 465 2011-02-15 Enrica Casucci <enrica (a] apple.com> 466 467 Reviewed by Darin Adler. 468 469 Stop using deprecated API to flip the dragImage. 470 <rdar://problem/8930897> 471 https://bugs.webkit.org/show_bug.cgi?id=54477 472 473 NSImage setFlipped is a deprecated API. We replace it with 474 drawInRect:fromRect:operation:fraction:respectFlipped:hints. 475 476 * UIProcess/API/mac/PageClientImpl.mm: 477 (WebKit::PageClientImpl::setDragImage): Removed call to setFlipped. 478 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 479 (WebKit::WebDragClient::startDrag): The image is now drawn with 480 drawInRect:fromRect:operation:fraction:respectFlipped:hints. 481 482 2011-02-15 Brady Eidson <beidson (a] apple.com> 483 484 Reviewed by Darin Adler. 485 486 <rdar://problem/9002047> and https://bugs.webkit.org/show_bug.cgi?id=54426 487 WebFrameLoaderClient::shouldGoToHistoryItem needs implementation 488 489 Expose HistoryItem -> ItemID mapping for the message: 490 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 491 (WebKit::WebBackForwardListProxy::idForItem): 492 * WebProcess/WebPage/WebBackForwardListProxy.h: 493 494 Sync message to the UIProcess for the answer: 495 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 496 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): 497 498 Call out to the WebLoaderClient for the answer: 499 * UIProcess/WebPageProxy.cpp: 500 (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 501 * UIProcess/WebPageProxy.h: 502 * UIProcess/WebPageProxy.messages.in: 503 504 Call out to the client application for the answer: 505 * UIProcess/WebLoaderClient.cpp: 506 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): 507 * UIProcess/WebLoaderClient.h: 508 509 Add API for the client application to listen for this: 510 * UIProcess/API/C/WKPage.h: 511 512 2011-02-15 Sam Weinig <sam (a] webkit.org> 513 514 Reviewed by Anders Carlsson. 515 516 Fix Anders typo. false -> 0. 517 518 * Platform/mac/SharedMemoryMac.cpp: 519 (WebKit::SharedMemory::create): 520 521 2011-02-15 Andras Becsi <abecsi (a] webkit.org> 522 523 Reviewed by NOBODY Csaba Osztrogonc. 524 525 [Qt] Redesign the build system 526 https://bugs.webkit.org/show_bug.cgi?id=51339 527 528 Part 1. 529 530 Introduce CodeGenerators.pri and add common includepaths to WebCore.pri, 531 thus unnecessary duplications can be removed from project files. 532 533 * WebKit2.pro: Simplify and deduplicate includepaths. 534 535 2011-01-26 MORITA Hajime <morrita (a] google.com> 536 537 Reviewed by Ryosuke Niwa. 538 539 Refactoring: Extract TextCheckerClient from EditorClient 540 https://bugs.webkit.org/show_bug.cgi?id=53213 541 542 * Shared/WebCoreArgumentCoders.h: 543 * UIProcess/TextChecker.h: 544 * WebProcess/WebCoreSupport/WebEditorClient.h: 545 (WebKit::WebEditorClient::textChecker): 546 * Scripts/webkit2/messages.py: Re-arranged the include file 547 548 2011-02-07 Ryosuke Niwa <rniwa (a] webkit.org> 549 550 Reviewed by Adam Barth. 551 552 Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard 553 https://bugs.webkit.org/show_bug.cgi?id=52417 554 555 Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently 556 not implemented. 557 558 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 559 (WebKit::WebEditorClient::canCopyCut): Added. 560 (WebKit::WebEditorClient::canPaste): Added. 561 * WebProcess/WebCoreSupport/WebEditorClient.h: 562 563 2011-02-14 Anders Carlsson <andersca (a] apple.com> 564 565 Reviewed by Dan Bernstein. 566 567 Add WKPageSetMemoryCacheClientCallsEnabled API 568 https://bugs.webkit.org/show_bug.cgi?id=54422 569 570 * UIProcess/API/C/WKPage.cpp: 571 (WKPageSetMemoryCacheClientCallsEnabled): 572 * UIProcess/API/C/WKPage.h: 573 * UIProcess/WebPageProxy.cpp: 574 (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): 575 * UIProcess/WebPageProxy.h: 576 * WebProcess/WebPage/WebPage.cpp: 577 (WebKit::WebPage::setMemoryCacheMessagesEnabled): 578 * WebProcess/WebPage/WebPage.h: 579 * WebProcess/WebPage/WebPage.messages.in: 580 581 2011-02-14 Sam Weinig <sam (a] webkit.org> 582 583 Reviewed by Anders Carlsson. 584 585 WebKit2: View not updated completely when coming back from a cached back/forward navigation 586 <rdar://problem/8787264> 587 https://bugs.webkit.org/show_bug.cgi?id=54419 588 589 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 590 (WebKit::WebFrameLoaderClient::restoreViewState): Invalidate the entire page 591 when completing a restore from the back/forward cache. 592 593 2011-02-14 Anders Carlsson <andersca (a] apple.com> 594 595 Reviewed by Dan Bernstein. 596 597 Shared memory should be made shared immediately 598 https://bugs.webkit.org/show_bug.cgi?id=54413 599 <rdar://problem/8972153> 600 601 Under some circumstances, mach_make_memory_entry_64 may only return parts of a 602 memory allocation. Work around this by creating a mach port representing the shared memory 603 right away. Also, hand out this mach port in createHandle when using the default memory protection. 604 605 * Platform/SharedMemory.h: 606 * Platform/mac/SharedMemoryMac.cpp: 607 (WebKit::SharedMemory::create): 608 (WebKit::SharedMemory::~SharedMemory): 609 (WebKit::SharedMemory::createHandle): 610 611 2011-02-14 Adam Roben <aroben (a] apple.com> 612 613 React to accelerated compositing changes and allocation failures in DrawingAreaImpl::display 614 615 Fixes <http://webkit.org/b/54398> DrawingAreaImpl::display handles error cases poorly. 616 617 Reviewed by Darin Adler and Anders Carlsson. 618 619 * WebProcess/WebPage/DrawingAreaImpl.cpp: 620 (WebKit::DrawingAreaImpl::display): Bail out if the layout we perform puts us into 621 accelerated compositing mode. Moved the layout earlier in this function so we can bail 622 before doing other work that would be unnecessary in this case. Moved the allocation of the 623 ShareableBitmap earlier so we will leave our state (e.g., dirty region) intact even if the 624 allocation fails. 625 626 2011-02-14 Adam Roben <aroben (a] apple.com> 627 628 Add a way to flash backing store and view updates 629 630 The new WKPageSetDebugPaintFlags SPI can be used to control whether backing store and/or 631 view updates are flashed. A blueish color is used for view updates, and a purpleish color is 632 used for backing store updates. The flashing currently only works on Windows. 633 634 Fixes <http://webkit.org/b/54303>. 635 636 Reviewed by Anders Carlsson. 637 638 * UIProcess/API/C/WKPage.cpp: 639 (WKPageSetDebugPaintFlags): 640 (WKPageGetDebugPaintFlags): 641 * UIProcess/API/C/WKPagePrivate.h: 642 Added. These call through to WebPageProxy. 643 644 * UIProcess/API/mac/PageClientImpl.h: 645 * UIProcess/API/mac/PageClientImpl.mm: 646 (WebKit::PageClientImpl::flashBackingStoreUpdates): 647 * UIProcess/API/qt/qwkpage.cpp: 648 (QWKPagePrivate::flashBackingStoreUpdates): 649 * UIProcess/API/qt/qwkpage_p.h: 650 Stubbed out new PageClient functions. 651 652 * UIProcess/DrawingAreaProxyImpl.cpp: 653 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Tell the WebPageProxy to flash the 654 backing store updates we're performing. 655 656 * UIProcess/PageClient.h: Added flashBackingStoreUpdates. 657 658 * UIProcess/WebPageProxy.cpp: 659 (WebKit::WebPageProxy::flashBackingStoreUpdates): Call through to the PageClient. 660 (WebKit::WebPageProxy::viewUpdatesFlashColor): Return the blueish color used for view 661 updates. 662 (WebKit::WebPageProxy::backingStoreUpdatesFlashColor): Return the purpleish color used for 663 backing store updates. 664 665 * UIProcess/WebPageProxy.h: 666 (WebKit::WebPageProxy::setDebugPaintFlags): 667 (WebKit::WebPageProxy::debugPaintFlags): 668 Added these simple accessors. 669 670 * UIProcess/win/WebView.cpp: 671 (WebKit::flashRects): 672 (WebKit::createBrush): 673 New helper functions. 674 675 (WebKit::WebView::onPaintEvent): Flash the dirty region if requested. 676 (WebKit::WebView::flashBackingStoreUpdates): Added. Calls through to flashRects. 677 678 * UIProcess/win/WebView.h: Added flashBackingStoreUpdates. 679 680 * win/WebKit2Generated.make: Export WKPagePrivate.h so clients can use it. 681 682 2011-02-14 Adam Roben <aroben (a] apple.com> 683 684 Add some .messages.in and script files to WebKit2 projects 685 686 This is just for convenience. It doesn't affect the build. 687 688 * win/WebKit2.vcproj: Also let VS resort some files. 689 * win/WebKit2Generated.vcproj: 690 691 2011-02-14 Balazs Kelemen <kbalazs (a] webkit.org> 692 693 Reviewed by Csaba Osztrogonc. 694 695 [Qt] Need implementation of ResourceRequest and ResourceResponse serialization 696 https://bugs.webkit.org/show_bug.cgi?id=54339 697 698 Add dummy implementation with FIXME and let the core go with it for now. 699 * Shared/qt/WebCoreArgumentCodersQt.cpp: 700 (CoreIPC::decodeResourceRequest): 701 (CoreIPC::decodeResourceResponse): 702 703 2011-02-13 Anders Carlsson <andersca (a] apple.com> 704 705 Reviewed by Maciej Stachowiak. 706 707 Speculative fix for 708 709 <rdar://problem/8995361> 710 CrashTracer: [USER] 47 crashes in WebProcess at com.apple.WebKit2: WebKit::WebPage::layoutIfNeeded + 4 711 712 * WebProcess/WebPage/DrawingAreaImpl.cpp: 713 (WebKit::DrawingAreaImpl::~DrawingAreaImpl): 714 Invalidate the layer tree host. 715 716 2011-02-13 Anders Carlsson <andersca (a] apple.com> 717 718 Reviewed by Dan Bernstein. 719 720 The plug-in process heap should be executable by default 721 https://bugs.webkit.org/show_bug.cgi?id=54364 722 <rdar://problem/8990563> 723 724 * UIProcess/Launcher/ProcessLauncher.h: 725 Add executableHeap flag. 726 727 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 728 (WebKit::ProcessLauncher::launchProcess): 729 Set the right posix_spawn flag if executableHeap is true. 730 731 * UIProcess/Plugins/PluginProcessProxy.cpp: 732 (WebKit::PluginProcessProxy::PluginProcessProxy): 733 Initialize executableHeap to true. 734 735 * UIProcess/WebProcessProxy.cpp: 736 (WebKit::WebProcessProxy::connect): 737 Initialize executableHeap to false. 738 739 2011-02-13 Anders Carlsson <andersca (a] apple.com> 740 741 Reviewed by Sam Weinig. 742 743 Messages waited on are never dispatched 744 https://bugs.webkit.org/show_bug.cgi?id=54362 745 <rdar://problem/8995051> 746 747 * Platform/CoreIPC/Connection.cpp: 748 (CoreIPC::Connection::processIncomingMessage): 749 Get the argument encoder from the incoming message. 750 751 2011-02-13 Jeremy Moskovich <jeremy (a] chromium.org> 752 753 Reviewed by Adam Barth. 754 755 Add a compile-time option to completely disable WebArchive support. 756 https://bugs.webkit.org/show_bug.cgi?id=52712 757 758 Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code. 759 760 * WebProcess/WebPage/WebPage.cpp: 761 (WebKit::WebPage::updatePreferences): 762 763 2011-02-13 Alexey Proskuryakov <ap (a] apple.com> 764 765 Reviewed by Dan Bernstein. 766 767 https://bugs.webkit.org/show_bug.cgi?id=54348 768 Crash when printing a document with no pages 769 770 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): Don't fail on a fake 771 page that computePagesForPrinting() added to a pageless document. 772 773 2011-02-13 Chris Fleizach <cfleizach (a] apple.com> 774 775 Reviewed and landed by Sam Weinig. 776 777 AX: Update WK2 usage of remote accessibility api 778 https://bugs.webkit.org/show_bug.cgi?id=54220 779 780 Rename some of the remote accessibility methods to be more accurate. 781 Make sure to unregister the AccessibilityWebPageObject on dealloc. 782 Send the window remote token along with the WKView remote token. 783 784 * UIProcess/API/mac/PageClientImpl.h: 785 * UIProcess/API/mac/PageClientImpl.mm: 786 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): 787 * UIProcess/API/mac/WKView.mm: 788 (-[WKView _updateRemoteAccessibilityRegistration:]): 789 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 790 (-[WKView viewDidMoveToWindow]): 791 (-[WKView _processDidCrash]): 792 (-[WKView _pageClosed]): 793 (-[WKView _setAccessibilityWebProcessToken:]): 794 * UIProcess/API/mac/WKViewInternal.h: 795 * UIProcess/PageClient.h: 796 * UIProcess/WebPageProxy.cpp: 797 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): 798 (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens): 799 * UIProcess/WebPageProxy.h: 800 * UIProcess/WebPageProxy.messages.in: 801 * WebProcess/WebPage/WebPage.h: 802 * WebProcess/WebPage/WebPage.messages.in: 803 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: 804 (-[AccessibilityWebPageObject dealloc]): 805 * WebProcess/WebPage/mac/WebPageMac.mm: 806 (WebKit::WebPage::platformInitialize): 807 (WebKit::WebPage::registerUIProcessAccessibilityTokens): 808 809 2011-02-11 Alexey Proskuryakov <ap (a] apple.com> 810 811 Reviewed by Anders Carlsson. 812 813 https://bugs.webkit.org/show_bug.cgi?id=54335 814 <rdar://problem/8895141> Make window.print() work with WebKit2 815 816 * Platform/CoreIPC/Connection.h: Corrected a typo in FIXME comment. 817 818 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 819 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 820 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 821 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize): 822 * UIProcess/TiledDrawingAreaProxy.cpp: 823 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 824 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 825 (WebKit::TiledDrawingAreaProxy::takeSnapshot): 826 (WebKit::TiledDrawingAreaProxy::removeTile): 827 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 828 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange): 829 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible): 830 (WebKit::LayerBackedDrawingAreaProxy::update): 831 * UIProcess/WebContext.cpp: 832 (WebKit::WebContext::ensureWebProcess): 833 (WebKit::WebContext::postMessageToInjectedBundle): 834 Updated for send() -> deprecatedSend() rename. 835 836 * UIProcess/WebPageProxy.h: 837 * UIProcess/WebPageProxy.cpp: 838 (WebKit::WebPageProxy::WebPageProxy): Added a flag that's true while serving window.print(). 839 (WebKit::WebPageProxy::printFrame): Set and unset m_isPerformingDOMPrintOperation. 840 (WebKit::WebPageProxy::beginPrinting): Force message processing in web process when serving 841 window.print(). 842 (WebKit::WebPageProxy::endPrinting): Ditto. 843 (WebKit::WebPageProxy::computePagesForPrinting): Ditto. 844 (WebKit::WebPageProxy::drawRectToPDF): Ditto. 845 (WebKit::WebPageProxy::drawPagesToPDF): Ditto. 846 847 * UIProcess/WebProcessProxy.cpp: 848 (WebKit::WebProcessProxy::~WebProcessProxy): 849 (WebKit::WebProcessProxy::sendMessage): 850 (WebKit::WebProcessProxy::didFinishLaunching): 851 When waiting for a web process to launch, store message flags, too. This is not practically 852 important for DispatchMessageEvenWhenWaitingForSyncReply, but it's easier to store flags 853 than to remember about this pitfall. 854 855 * UIProcess/WebProcessProxy.h: 856 (WebKit::WebProcessProxy::send): Added a flags argument, matching Connection::send(). 857 (WebKit::WebProcessProxy::deprecatedSend): Renamed one of send() overloads, because it was 858 conflicting with the other one after adding a flags argument. This matches a change previously 859 made to CoreIPC::Connection. 860 861 2011-02-12 Chris Marrin <cmarrin (a] apple.com> 862 863 Reviewed by Dan Bernstein. 864 865 Crash in RenderLayerCompositor::updateCompositingLayers when loading some sites 866 https://bugs.webkit.org/show_bug.cgi?id=54345 867 868 Some sites flip between composited and non-comosited state while loading. When the timing is 869 right, when we flip out of compositing we will need to do a display while tossing all the 870 compositing layers. This causes us to reenter RenderLayerCompositor::computeCompositingRequirements() 871 while we are in the middle of tossing layers, which leads to a crash. 872 873 The solution is to defer the logic of exiting compositing mode until the DrawingArea is finished 874 doing its display, using a timer. 875 876 * WebProcess/WebPage/DrawingAreaImpl.cpp: 877 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 878 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 879 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 880 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 881 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon): 882 * WebProcess/WebPage/DrawingAreaImpl.h: 883 884 2011-02-12 Kevin Decker <kdecker (a] apple.com> 885 886 Reviewed by Dan Bernstein. 887 888 Follow up fix to: 889 https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates 890 891 * WebProcess/WebPage/WebPage.cpp: 892 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Fixed the order of the scale and translate. 893 894 2011-02-12 Kevin Decker <kdecker (a] apple.com> 895 896 Reviewed by Dan Bernstein. 897 898 https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates 899 <rdar://problem/8990069> 900 901 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 902 (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): Added. 903 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added above new function. 904 * WebProcess/WebPage/WebPage.cpp: 905 (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Added. 906 (WebKit::WebPage::snapshotInDocumentCoordinates): Call scaledSnapshotInDocumentCoordinates with a scale of 1. 907 * WebProcess/WebPage/WebPage.h: Added scaledSnapshotInDocumentCoordinates(). 908 909 2011-02-11 Anders Carlsson <andersca (a] apple.com> 910 911 Reviewed by Maciej Stachowiak. 912 913 Cant open local files on reload or navigation from the back/forward cache 914 https://bugs.webkit.org/show_bug.cgi?id=54332 915 <rdar://problem/8903076> 916 917 * UIProcess/WebInspectorProxy.cpp: 918 (WebKit::WebInspectorProxy::isInspectorPage): 919 * UIProcess/WebInspectorProxy.h: 920 Check whether the given page is a web inspector page. 921 922 * UIProcess/WebPageProxy.cpp: 923 (WebKit::WebPageProxy::initializeSandboxExtensionHandle): 924 If this is a web inspector page, we don't want to make a sandbox extension. 925 926 (WebKit::WebPageProxy::reattachToWebProcessWithItem): 927 (WebKit::WebPageProxy::goForward): 928 (WebKit::WebPageProxy::goBack): 929 (WebKit::WebPageProxy::goToBackForwardItem): 930 Pass a sandbox extension along when sending the message. 931 932 * UIProcess/WebPageProxy.h: 933 Make initializeSandboxExtensionHandle a member function. 934 935 * UIProcess/cf/WebPageProxyCF.cpp: 936 (WebKit::WebPageProxy::restoreFromSessionStateData): 937 Pass a sandbox extension along. 938 939 * WebProcess/WebPage/WebPage.cpp: 940 (WebKit::WebPage::goForward): 941 (WebKit::WebPage::goBack): 942 (WebKit::WebPage::goToBackForwardItem): 943 Hand the sandbox extension to the sandbox extension tracker. 944 945 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): 946 Pass the sandbox extension to goToBackForwardItem. 947 948 (WebKit::shouldReuseCommittedSandboxExtension): 949 New function that checks whether a committed sandbox extension should be re-used. We 950 do this for page reloads, as well as regular page navigations when both the committed 951 and provisional documents have file URLs. 952 953 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): 954 Reuse the committed sandbox extension if necessary. 955 956 * WebProcess/WebPage/WebPage.h: 957 * WebProcess/WebPage/WebPage.messages.in: 958 959 2011-02-11 Anders Carlsson <andersca (a] apple.com> 960 961 Fix Snow Leopard build. 962 963 * PluginProcess/PluginProcess.cpp: 964 (WebKit::PluginProcess::didFailToSendSyncMessage): 965 * WebProcess/WebProcess.cpp: 966 (WebKit::WebProcess::didFailToSendSyncMessage): 967 968 2011-02-11 Yael Aharon <yael.aharon (a] nokia.com> 969 970 Unreviewed Qt webkit2 build fix after r78392. 971 972 * WebProcess/WebProcess.h: 973 974 2011-02-11 Anders Carlsson <andersca (a] apple.com> 975 976 Reviewed by Sam Weinig. 977 978 WebProcess hung communicating with the plug-in process 979 https://bugs.webkit.org/show_bug.cgi?id=54328 980 <rdar://problem/8854075> 981 982 * UIProcess/Plugins/PluginProcessProxy.cpp: 983 (WebKit::PluginProcessProxy::createWebProcessConnection): 984 Add the DispatchMessageEvenWhenWaitingForSyncReply message send flag when sending the 985 PluginProcess::CreateWebProcessConnection message, since the plug-in process can be busy waiting 986 for a sync reply from the web process. 987 988 2011-02-11 Anders Carlsson <andersca (a] apple.com> 989 990 Reviewed by Sam Weinig. 991 992 Incoming synchronous messages should always be processed regardless of connection waiting for a reply 993 https://bugs.webkit.org/show_bug.cgi?id=54326 994 995 * Platform/CoreIPC/Connection.cpp: 996 (CoreIPC::Connection::SyncMessageState::getOrCreate): 997 Assert that the map has a non-null SyncMessageState object. 998 999 (CoreIPC::Connection::SyncMessageState::SyncMessageState): 1000 Initialize m_waitForSyncReplyCount. 1001 1002 (CoreIPC::Connection::SyncMessageState::beginWaitForSyncReply): 1003 Increment m_waitForSyncReplyCount. 1004 1005 (CoreIPC::Connection::SyncMessageState::endWaitForSyncReply): 1006 Decrement m_waitForSyncReplyCount. If it's 0, enqueue any incoming sync messages. 1007 1008 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 1009 If this is a message that needs to be dispatched, add it to the queue and wake up the client run loop. 1010 1011 (CoreIPC::Connection::SyncMessageState::dispatchMessages): 1012 Go through the queue of incoming messages and dispatch them. 1013 1014 (CoreIPC::Connection::sendSyncMessage): 1015 call beginWaitForSyncReply/endWaitForSyncReply. 1016 1017 (CoreIPC::Connection::waitForSyncReply): 1018 Dispatch messages. 1019 1020 (CoreIPC::Connection::processIncomingMessage): 1021 Call SyncMessageState::processIncomingMessage. 1022 1023 (CoreIPC::Connection::enqueueIncomingMessage): 1024 Add helper function for enqueuing an incoming message. 1025 1026 * Platform/CoreIPC/Connection.h: 1027 (CoreIPC::Connection::Message::destinationID): 1028 1029 2011-02-11 Sam Weinig <sam (a] webkit.org> 1030 1031 Reviewed by Maciej Stachowiak. 1032 1033 WebKit2: Going to Ars Technica crashes WebProcess in WebCore::ResourceRequestBase::url() const + 9 1034 <rdar://problem/8978832> 1035 1036 Speculative fix for crash accessing a bad ResourceRequest in policy 1037 client code. Remove early returns from dispatchDecidePolicyForMIMEType 1038 and dispatchDecidePolicyForNavigationAction that are not present in the WebKit1 1039 equivalent code. This should be safe, now that the IPC calls are synchronous. 1040 1041 Also removes some invalid assertions in WebFrameProxy that were getting hit. It is okay 1042 for the url to empty. 1043 1044 * UIProcess/WebFrameProxy.cpp: 1045 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): 1046 (WebKit::WebFrameProxy::didFailProvisionalLoad): 1047 (WebKit::WebFrameProxy::didFailLoad): 1048 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1049 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 1050 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 1051 1052 2011-02-11 Alexey Proskuryakov <ap (a] apple.com> 1053 1054 Reviewed by Darin Adler and Anders Carlsson. 1055 1056 https://bugs.webkit.org/show_bug.cgi?id=53593 1057 <rdar://problem/8948380> Crash beneath HistoryController::recursiveSetProvisionalItem in web 1058 process (preceded by assertion failure) if UI process exits while 1059 Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled 1060 1061 Can't test exiting the UI process. 1062 1063 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage): 1064 * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Client::didFailToSendSyncMessage): 1065 Notify connection client when the connection fails to send a sync message. 1066 1067 * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didFailToSendSyncMessage): 1068 * WebProcess/WebProcess.h: 1069 Quit the web process immediately if it tried to send a sync message to a dead UI process. 1070 It never needs to continue and handle an unexpected null "reply". 1071 1072 * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::didFailToSendSyncMessage): 1073 * PluginProcess/PluginProcess.h: 1074 Ditto. There is no need for a plug-in to keep running even briefly if it couldn't get a 1075 reply to a sync message. 1076 1077 2011-02-11 Anders Carlsson <andersca (a] apple.com> 1078 1079 Reviewed by Sam Weinig. 1080 1081 Add a way to send async messages that can't get out of order with sync ones 1082 https://bugs.webkit.org/show_bug.cgi?id=54319 1083 <rdar://problem/8894844> 1084 1085 * Platform/CoreIPC/Connection.cpp: 1086 (CoreIPC::Connection::sendMessage): 1087 sendMessage now takes a messageSendFlags. Update the messageID if the 1088 messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply. 1089 1090 (CoreIPC::Connection::waitForSyncReply): 1091 Process asynchronous messages as well. 1092 1093 (CoreIPC::Connection::processIncomingMessage): 1094 Check if a message should be dispatched even when we're waiting for a 1095 synchronous reply. 1096 1097 * Platform/CoreIPC/Connection.h: 1098 (CoreIPC::Connection::send): 1099 Send now takes a messageSendFlags parameter. 1100 1101 * Platform/CoreIPC/MessageID.h: 1102 (CoreIPC::MessageID::messageIDWithAddedFlags): 1103 Return a new MessageID object with the given flags added. 1104 1105 (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply): 1106 Add getter. 1107 1108 2011-02-11 Sam Weinig <sam (a] webkit.org> 1109 1110 Reviewed by Anders Carlsson. 1111 1112 Crash with dynamic popup menu use 1113 <rdar://problem/8716952> 1114 1115 Invalidate popup menus when forcing them closed, since they might still be 1116 in their tracking loop. 1117 1118 * UIProcess/WebPageProxy.cpp: 1119 (WebKit::WebPageProxy::showPopupMenu): 1120 (WebKit::WebPageProxy::hidePopupMenu): 1121 * UIProcess/WebPopupMenuProxy.h: 1122 (WebKit::WebPopupMenuProxy::invalidate): 1123 * UIProcess/mac/WebPopupMenuProxyMac.mm: 1124 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 1125 * UIProcess/win/WebPopupMenuProxyWin.cpp: 1126 (WebKit::WebPopupMenuProxyWin::showPopupMenu): 1127 (WebKit::WebPopupMenuProxyWin::setFocusedIndex): 1128 1129 2011-02-11 Anders Carlsson <andersca (a] apple.com> 1130 1131 Reviewed by Adam Roben. 1132 1133 Actually initialize m_syncMessageState. 1134 1135 * Platform/CoreIPC/Connection.cpp: 1136 (CoreIPC::Connection::Connection): 1137 1138 2011-02-11 Anders Carlsson <andersca (a] apple.com> 1139 1140 Reviewed by Adam Roben. 1141 1142 Move the binary semaphore into SyncMessageState 1143 https://bugs.webkit.org/show_bug.cgi?id=54311 1144 1145 With this change, all connections that belong to the same run loop will use same binary semaphore. 1146 This is in preparation for making any connection be able to wakeup the client run loop. 1147 1148 * Platform/CoreIPC/Connection.cpp: 1149 (CoreIPC::Connection::SyncMessageState::wakeUpClientRunLoop): 1150 (CoreIPC::Connection::SyncMessageState::wait): 1151 (CoreIPC::Connection::waitForSyncReply): 1152 (CoreIPC::Connection::processIncomingMessage): 1153 (CoreIPC::Connection::connectionDidClose): 1154 * Platform/CoreIPC/Connection.h: 1155 1156 2011-02-11 Anders Carlsson <andersca (a] apple.com> 1157 1158 Reviewed by Adam Roben. 1159 1160 Add a SyncMessageState class to CoreIPC::Connection 1161 https://bugs.webkit.org/show_bug.cgi?id=54309 1162 1163 SyncMessageState objects are shared between all connections scheduled on 1164 a given run loop. It will be used to keep track of state when waiting 1165 for replies for a synchronous message. 1166 1167 * Platform/CoreIPC/Connection.cpp: 1168 (CoreIPC::Connection::SyncMessageState::syncMessageStateMap): 1169 (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex): 1170 Add a global RunLoop -> SyncMessageState map and a mutex for locking. 1171 1172 (CoreIPC::Connection::SyncMessageState::getOrCreate): 1173 Look in the map for an existing SyncMessageState object and create a new 1174 one if none is found. 1175 1176 (CoreIPC::Connection::SyncMessageState::SyncMessageState): 1177 Initialize m_runLoop. 1178 1179 (CoreIPC::Connection::SyncMessageState::~SyncMessageState): 1180 Remove the object from the map. 1181 1182 2011-02-11 Enrica Casucci <enrica (a] apple.com> 1183 1184 Reviewed by Darin Adler. 1185 1186 crashes in WebProcess at WebCore::Range::startPosition const + 16 1187 https://bugs.webkit.org/show_bug.cgi?id=54294 1188 <rdar://problem/8982710> 1189 1190 I don't have a repro case for this bugs, but the side-by-side 1191 comparison of the IME support implementation in WebKit and WebKi2 1192 shows a missing null check on a Range that could very well explain 1193 this crash. 1194 I tried running platform/mac/editing/input tests with a version of WebKit 1195 without the null check and I can reproduce a crash with the same signature. 1196 These tests are not yet enabled for WebKit2. 1197 1198 * WebProcess/WebPage/mac/WebPageMac.mm: 1199 (WebKit::WebPage::firstRectForCharacterRange): 1200 1201 2011-02-11 Jeff Miller <jeffm (a] apple.com> 1202 1203 Reviewed by Steve Falkenburg. 1204 1205 Eliminate /DELAYLOAD:msimg32.dll ignored warning when building WebKit project 1206 https://bugs.webkit.org/show_bug.cgi?id=54296 1207 1208 * win/WebKit2Common.vsprops: Remove msimg32.dll from the list of DelayLoadDLLs. 1209 1210 2011-02-11 Chandra Vallala <chandra.vallala (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 1211 1212 Reviewed by Martin Robinson. 1213 1214 [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy 1215 classes for WebKit2 1216 https://bugs.webkit.org/show_bug.cgi?id=54080 1217 1218 * GNUmakefile.am: 1219 * Shared/gtk/UpdateChunk.cpp: Added. 1220 (WebKit::UpdateChunk::UpdateChunk): 1221 (WebKit::UpdateChunk::~UpdateChunk): 1222 (WebKit::UpdateChunk::encode): 1223 (WebKit::UpdateChunk::decode): 1224 (WebKit::UpdateChunk::createImage): 1225 * Shared/gtk/UpdateChunk.h: Added. 1226 (WebKit::UpdateChunk::rect): 1227 (WebKit::UpdateChunk::isEmpty): 1228 (WebKit::UpdateChunk::size): 1229 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 1230 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 1231 Initialize the surface. 1232 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 1233 * UIProcess/DrawingAreaProxy.h: Added cairo variables. 1234 * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Added. 1235 (WebKit::ChunkedUpdateDrawingAreaProxy::page): 1236 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 1237 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore): 1238 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 1239 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 1240 * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Added. 1241 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 1242 1243 2011-02-10 Anders Carlsson <andersca (a] apple.com> 1244 1245 Reviewed by Dan Bernstein. 1246 1247 Repro crash with Sony Google TV ad at Gizmodo 1248 https://bugs.webkit.org/show_bug.cgi?id=54150 1249 <rdar://problem/8782346> 1250 1251 Re-landing this fix, bug without the test case, since it causes hangs on the bots. 1252 https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding back the test. 1253 1254 Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it. 1255 1256 * WebProcess/Plugins/PluginView.cpp: 1257 (WebKit::PluginView::~PluginView): 1258 Null out m_pluginElement here so we'll catch crashes earlier. 1259 1260 (WebKit::PluginView::evaluate): 1261 Add a plug-in protector. 1262 1263 2011-02-10 Alice Liu <alice.liu (a] apple.com> 1264 1265 Reviewed by Enrica Casucci and Adele Peterson. 1266 1267 WebKit2 pages gobble up cmd-I as an editing command in some cases where it shouldn't 1268 https://bugs.webkit.org/show_bug.cgi?id=54254 1269 1270 * UIProcess/API/mac/WKView.mm: 1271 (-[WKView _handleStyleKeyEquivalent:]): 1272 Return early if we're not in an editable region. 1273 1274 2011-02-10 Andreas Kling <kling (a] webkit.org> 1275 1276 Unreviewed Qt build fix. 1277 1278 waitFor() -> deprecatedWaitFor() 1279 1280 * UIProcess/TiledDrawingAreaProxy.cpp: 1281 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete): 1282 1283 2011-02-10 Anders Carlsson <andersca (a] apple.com> 1284 1285 Reviewed by Adam Roben. 1286 1287 Move code to dispatch an incoming message out into a new function 1288 https://bugs.webkit.org/show_bug.cgi?id=54239 1289 1290 This also fixes a leak where we wouldn't free ArgumentDecoder objects 1291 after a connection has been invalidated. 1292 1293 * Platform/CoreIPC/Connection.cpp: 1294 (CoreIPC::Connection::dispatchMessage): 1295 (CoreIPC::Connection::dispatchMessages): 1296 * Platform/CoreIPC/Connection.h: 1297 1298 2011-02-10 Anders Carlsson <andersca (a] apple.com> 1299 1300 Try again to fix the Qt build. 1301 1302 * UIProcess/TiledDrawingAreaProxy.cpp: 1303 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 1304 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 1305 (WebKit::TiledDrawingAreaProxy::takeSnapshot): 1306 (WebKit::TiledDrawingAreaProxy::removeTile): 1307 1308 2011-02-10 Anders Carlsson <andersca (a] apple.com> 1309 1310 Attempt to fix the Qt build. 1311 1312 * UIProcess/TiledDrawingAreaProxy.cpp: 1313 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 1314 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 1315 (WebKit::TiledDrawingAreaProxy::requestTileUpdate): 1316 (WebKit::TiledDrawingAreaProxy::takeSnapshot): 1317 (WebKit::TiledDrawingAreaProxy::removeTile): 1318 * WebProcess/WebPage/TiledDrawingArea.cpp: 1319 (WebKit::TiledDrawingArea::display): 1320 (WebKit::TiledDrawingArea::setSize): 1321 (WebKit::TiledDrawingArea::updateTile): 1322 (WebKit::TiledDrawingArea::tileUpdateTimerFired): 1323 (WebKit::TiledDrawingArea::didReceiveMessage): 1324 1325 2011-02-10 Adam Roben <aroben (a] apple.com> 1326 1327 Handle a null FindIndicator correctly 1328 1329 We are passed a null FindIndicator when the find indicator becomes hidden. 1330 1331 Fixes <http://webkit.org/b/54213> <rdar://problem/8983261> REGRESSION (r78198): Crash in 1332 FindIndicator::contentImage when scrolling page 1333 1334 Reviewed by Steve Falkenburg. 1335 1336 * Platform/win/SharedMemoryWin.cpp: 1337 (WebKit::SharedMemory::Handle::isNull): Implemented. 1338 (WebKit::SharedMemory::create): Bail out if the handle is null, just like Mac does. 1339 Otherwise assert that ::MapViewOfFile succeeded. This doesn't fix the bug, but should help 1340 catch other errors. 1341 1342 * UIProcess/win/WebView.cpp: 1343 (WebKit::WebView::setFindIndicator): Null-check the FindIndicator before dereferencing it. 1344 Also changed the function to store the FindIndicator in a RefPtr. 1345 1346 2011-02-10 Anders Carlsson <andersca (a] apple.com> 1347 1348 Reviewed by Sam Weinig. 1349 1350 Add 'deprecated' to the deprecated CoreIPC functions 1351 https://bugs.webkit.org/show_bug.cgi?id=54223 1352 1353 * Platform/CoreIPC/Connection.cpp: 1354 (CoreIPC::Connection::sendMessage): 1355 * Platform/CoreIPC/Connection.h: 1356 (CoreIPC::Connection::send): 1357 (CoreIPC::Connection::deprecatedSendSync): 1358 (CoreIPC::Connection::deprecatedSend): 1359 (CoreIPC::Connection::deprecatedWaitFor): 1360 * Platform/CoreIPC/mac/ConnectionMac.cpp: 1361 (CoreIPC::Connection::open): 1362 * PluginProcess/PluginProcess.cpp: 1363 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 1364 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 1365 * UIProcess/Plugins/PluginProcessProxy.cpp: 1366 (WebKit::PluginProcessProxy::createWebProcessConnection): 1367 * WebProcess/InjectedBundle/InjectedBundle.cpp: 1368 (WebKit::InjectedBundle::postMessage): 1369 (WebKit::InjectedBundle::postSynchronousMessage): 1370 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 1371 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 1372 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 1373 (WebKit::ChunkedUpdateDrawingArea::display): 1374 (WebKit::ChunkedUpdateDrawingArea::setSize): 1375 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 1376 (WebKit::LayerBackedDrawingArea::setSize): 1377 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 1378 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 1379 1380 2011-02-10 Sam Weinig <sam (a] webkit.org> 1381 1382 Reviewed by Anders Carlsson. 1383 1384 Window resizer does not have a border when there are scrollbars in WebKit2 windows 1385 <rdar://problem/8488476> 1386 https://bugs.webkit.org/show_bug.cgi?id=54222 1387 1388 * UIProcess/API/mac/PageClientImpl.h: 1389 * UIProcess/API/mac/PageClientImpl.mm: 1390 (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): 1391 * UIProcess/API/mac/WKView.mm: 1392 (-[WKView _updateGrowBoxForWindowFrameChange]): 1393 (-[WKView _didChangeScrollbarsForMainFrame]): 1394 * UIProcess/API/mac/WKViewInternal.h: 1395 * UIProcess/API/qt/qwkpage_p.h: 1396 (QWKPagePrivate::didChangeScrollbarsForMainFrame): 1397 * UIProcess/PageClient.h: 1398 * UIProcess/WebPageProxy.cpp: 1399 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame): 1400 * UIProcess/win/WebView.cpp: 1401 (WebKit::WebView::didChangeScrollbarsForMainFrame): 1402 * UIProcess/win/WebView.h: 1403 1404 2011-02-10 Ivan Krsti <ike (a] apple.com> 1405 1406 Reviewed by Adam Roben. 1407 1408 Rename remaining instances of _HOME sandbox parameter. 1409 <rdar://problem/8983428> 1410 1411 * WebProcess/com.apple.WebProcess.sb: 1412 1413 2011-02-10 Chris Fleizach <cfleizach (a] apple.com> 1414 1415 Reviewed by Anders Carlsson. 1416 1417 AX: AX needs to stop using WebCoreViewFactory 1418 https://bugs.webkit.org/show_bug.cgi?id=54153 1419 1420 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 1421 (InitWebCoreSystemInterface): 1422 1423 2011-02-10 Sam Weinig <sam (a] webkit.org> 1424 1425 Reviewed by Anders Carlsson. 1426 1427 Sandbox violations trying to read crypto preferences. 1428 <rdar://problem/8981151> 1429 1430 * WebProcess/com.apple.WebProcess.sb: 1431 1432 2011-02-10 Peter Varga <pvarga (a] webkit.org> 1433 1434 Reviewed by Csaba Osztrogonc. 1435 1436 Remove PCRE source from trunk 1437 https://bugs.webkit.org/show_bug.cgi?id=54188 1438 1439 * WebKit2.pro: 1440 1441 2011-02-09 Adam Roben <aroben (a] apple.com> 1442 1443 Turn on the new drawing area on Windows 1444 1445 Fixes <http://webkit.org/b/53805> <rdar://problem/8960666> WebKit2 on Windows should use 1446 DrawingAreaProxyImpl 1447 1448 Reviewed by Darin Adler. 1449 1450 * UIProcess/win/WebView.cpp: 1451 (WebKit::useNewDrawingArea): Return true! 1452 1453 2011-02-09 Adam Roben <aroben (a] apple.com> 1454 1455 Hook up WM_PRINT to the new drawing area 1456 1457 Fixes <http://webkit.org/b/54145> <rdar://problem/8979559> WM_PRINT doesn't work with new 1458 drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds) 1459 1460 Reviewed by Darin Adler. 1461 1462 * UIProcess/win/WebView.cpp: 1463 (WebKit::WebView::paint): Added. Code came from onPaintEvent. 1464 1465 (WebKit::WebView::onPaintEvent): 1466 (WebKit::WebView::onPrintClientEvent): 1467 Changed to call paint. 1468 1469 * UIProcess/win/WebView.h: Added paint. Also separated message handler functions into their 1470 own paragraph. 1471 1472 2011-02-09 Adam Roben <aroben (a] apple.com> 1473 1474 Notice when the backing store goes away after DidSetSize 1475 1476 Fixes <http://webkit.org/b/54142> <rdar://problem/8979365> Crash in 1477 DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden 1478 1479 Reviewed by Darin Adler. 1480 1481 * UIProcess/DrawingAreaProxyImpl.cpp: 1482 (WebKit::DrawingAreaProxyImpl::paint): Null-check m_backingStore after waiting for 1483 DidSetSize, as m_backingStore can go away when we receive that message. This is the bug fix. 1484 Also moved the accelerated compositing check inside the block where we wait for DidSetSize. 1485 If we didn't wait for DidSetSize, we already know that we're not in accelerated compositing 1486 mode (and asserted so earlier in this function). 1487 1488 2011-02-09 Adam Roben <aroben (a] apple.com> 1489 1490 Decode a null SharedMemory::Handle correctly on Windows 1491 1492 Fixes <http://webkit.org/b/54141> <rdar://problem/8979195> WKView draws at wrong size, 1493 performs badly if is resized while hidden (assertion fails in 1494 BackingStore::incorporateUpdate in Debug builds) 1495 1496 Reviewed by Darin Adler. 1497 1498 * Platform/win/SharedMemoryWin.cpp: 1499 (WebKit::getDuplicatedHandle): Added. Code came from decode. The only changes were to 1500 null-check sourceHandle (this is the bug fix) and to assert when ::DuplicateHandle fails 1501 (which would have caught the bug earlier). 1502 (WebKit::SharedMemory::Handle::decode): Changed to use getDuplicatedHandle. 1503 1504 2011-02-09 Adam Roben <aroben (a] apple.com> 1505 1506 Don't invalidate outside of the WebPage's bounds 1507 1508 Fixes <http://webkit.org/b/54123> <rdar://problem/8978383> Assertion failure in 1509 BackingStore::BackingStore if a new WebPage becomes active before receiving a size 1510 1511 Reviewed by Darin Adler. 1512 1513 * WebProcess/WebPage/DrawingAreaImpl.cpp: 1514 (WebKit::DrawingAreaImpl::setNeedsDisplay): Intersect the dirty rect with our bounds before 1515 doing anything else. 1516 (WebKit::DrawingAreaImpl::display): Added an assertion to help catch the bad case a little 1517 earlier. 1518 1519 2011-02-10 Eric Seidel <eric (a] webkit.org> 1520 1521 Unreviewed, rolling out r78157. 1522 http://trac.webkit.org/changeset/78157 1523 https://bugs.webkit.org/show_bug.cgi?id=54150 1524 1525 Fails on a bunch of bots 1526 1527 * WebProcess/Plugins/PluginView.cpp: 1528 (WebKit::PluginView::~PluginView): 1529 (WebKit::PluginView::evaluate): 1530 1531 2011-02-09 Brian Weinstein <bweinstein (a] apple.com> 1532 1533 Rubber-stamped by Sam Weinig. 1534 1535 Fix a typo in WebSecurityOrigin::protocol. 1536 1537 * Shared/WebSecurityOrigin.h: 1538 (WebKit::WebSecurityOrigin::protocol): This should return the protocol, not the domain. 1539 1540 2011-02-09 Sam Weinig <sam (a] webkit.org> 1541 1542 Reviewed by Darin Adler. 1543 1544 File uploads do not work within the sandbox 1545 <rdar://problem/8950518> 1546 https://bugs.webkit.org/show_bug.cgi?id=54154 1547 1548 * UIProcess/WebPageProxy.cpp: 1549 (WebKit::WebPageProxy::didChooseFilesForOpenPanel): 1550 * WebProcess/WebPage/WebPage.cpp: 1551 (WebKit::WebPage::extendSandboxForFileFromOpenPanel): 1552 * WebProcess/WebPage/WebPage.h: 1553 * WebProcess/WebPage/WebPage.messages.in: 1554 1555 2011-02-09 Alexey Proskuryakov <ap (a] apple.com> 1556 1557 Reviewed by Darin Adler. 1558 1559 https://bugs.webkit.org/show_bug.cgi?id=54148 1560 <rdar://problem/8973887> REGRESSION (WebKit2): Opening two print dialogs causes havoc 1561 1562 * UIProcess/API/mac/WKPrintingView.h: Moved _isForcingPreviewUpdate into a static variable, 1563 because dispatching a notification affects all WKPrintingViews at once. 1564 * UIProcess/API/mac/WKPrintingView.mm: 1565 (-[WKPrintingView _updatePreview]): Updated for new variable name. 1566 (-[WKPrintingView knowsPageRange:]): Don't break if the method is called twice in a row 1567 (we already had this logic when printing from separate thread, but not for preview). 1568 (-[WKPrintingView drawRect:]): Changed all LOG messages to have view object address for 1569 easier matching. 1570 (-[WKPrintingView rectForPage:]): Ditto. 1571 (-[WKPrintingView beginDocument]): Ditto. 1572 (-[WKPrintingView endDocument]): Ditto. 1573 1574 2011-02-09 Anders Carlsson <andersca (a] apple.com> 1575 1576 Reviewed by Sam Weinig. 1577 1578 Repro crash with Sony Google TV ad at Gizmodo 1579 https://bugs.webkit.org/show_bug.cgi?id=54150 1580 1581 Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it. 1582 1583 * WebProcess/Plugins/PluginView.cpp: 1584 (WebKit::PluginView::~PluginView): 1585 Null out m_pluginElement here so we'll catch crashes earlier. 1586 1587 (WebKit::PluginView::evaluate): 1588 Add a plug-in protector. 1589 1590 2011-02-09 Sam Weinig <sam (a] webkit.org> 1591 1592 Reviewed by Maciej Stachowiak. 1593 1594 Google Maps says it has horizontal scrollbars when it doesn't 1595 <rdar://problem/8978005> 1596 1597 We were updating the main frame's scrollbar state for changes to 1598 frames other than the main frame. 1599 1600 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 1601 (WebKit::WebChromeClient::contentsSizeChanged): 1602 * WebProcess/WebCoreSupport/WebChromeClient.h: 1603 (WebKit::WebChromeClient::WebChromeClient): 1604 Change to bail out early if we are not looking at the main frame. Also 1605 fix some silly typos and rename the variables to be more specific. 1606 1607 2011-02-09 Ivan Krsti <ike (a] apple.com> 1608 1609 Reviewed by Sam Weinig. 1610 1611 Allow read-only access to mouse preferences from sandboxed WebProcess. 1612 <rdar://problem/8975279> 1613 1614 * WebProcess/com.apple.WebProcess.sb: 1615 1616 2011-02-09 Steve Falkenburg <sfalken (a] apple.com> 1617 1618 Build fix. 1619 1620 * win/MainWin.cpp: 1621 (wWinMain): 1622 1623 2011-02-09 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 1624 1625 Reviewed by Martin Robinson. 1626 1627 [GTK] Implement Module class for WebKit2 1628 https://bugs.webkit.org/show_bug.cgi?id=48510 1629 1630 * GNUmakefile.am: 1631 * Platform/Module.h: Added GModule handle for GTK port. 1632 * Platform/gtk/ModuleGtk.cpp: Initial code using GModule calls. 1633 (WebKit::Module::load): 1634 (WebKit::Module::unload): 1635 (WebKit::Module::platformFunctionPointer): 1636 1637 2011-02-09 Chandra Vallala <chandra.vallala (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 1638 1639 Reviewed by Martin Robinson. 1640 1641 [GTK] Implement WKBaseGtk API for Webkit2 1642 https://bugs.webkit.org/show_bug.cgi?id=54081 1643 1644 * GNUmakefile.am: Added new files to compilation. 1645 * Shared/API/c/WKBase.h: Included WKBaseGtk.h in this file. 1646 * Shared/API/c/gtk: Added. 1647 * Shared/API/c/gtk/WKBaseGtk.h: Added. Declaration of WKViewRef 1648 for GTK port. 1649 * UIProcess/API/C/WKAPICast.h: Included WKAPICastGtk.h in this 1650 file. 1651 * UIProcess/API/C/gtk: Added. 1652 * UIProcess/API/C/gtk/WKAPICastGtk.h: Added. Type definition 1653 template for WKViewRef to WebView and vice-versa. 1654 * UIProcess/API/C/gtk/WKView.cpp: Added. Implementation of WKView 1655 API interface. 1656 (WKViewCreate): 1657 (WKViewGetWindow): 1658 (WKViewGetPage): 1659 (WKURLCreateWithURL): 1660 * UIProcess/API/C/gtk/WKView.h: Added. Declaration of WKView API 1661 interface. 1662 1663 2011-02-09 Alejandro G. Castro <alex (a] igalia.com> 1664 1665 Reviewed by Martin Robinson. 1666 1667 [GTK] Add WebGraphicsContext stub to the compilation 1668 https://bugs.webkit.org/show_bug.cgi?id=54078 1669 1670 * GNUmakefile.am: 1671 * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Added stub just for 1672 compilation. 1673 (WKGraphicsContextGetGtkContext): 1674 * Shared/API/c/gtk/WKGraphicsContextGtk.h: Added stub just for 1675 compilation. 1676 * Shared/WebGraphicsContext.cpp: 1677 (WebKit::WebGraphicsContext::WebGraphicsContext): 1678 * Shared/WebGraphicsContext.h: 1679 (WebKit::WebGraphicsContext::platformContext): 1680 1681 2011-02-09 Alejandro G. Castro <alex (a] igalia.com> 1682 1683 Reviewed by Martin Robinson. 1684 1685 [GTK] Add geolocation support to the webkit2 compilation 1686 https://bugs.webkit.org/show_bug.cgi?id=54077 1687 1688 Add Geolocation files to the GTK compilation. 1689 1690 * GNUmakefile.am: 1691 1692 2011-02-09 Andras Becsi <abecsi (a] webkit.org> 1693 1694 Reviewed by Csaba Osztrogonc. 1695 1696 [Qt][WK2] Don't generate superfluous forwarding header for config.h. 1697 1698 * Scripts/generate-forwarding-headers.pl: 1699 1700 2011-02-09 Adam Roben <aroben (a] apple.com> 1701 1702 Hide the ugly details of WebView::m_window initialization from WebPageProxy, and make it 1703 less ugly 1704 1705 WebView::WebView was initially creating a hidden window, then showing it. It would tell 1706 WebPageProxy about the window while it was still hidden, and then have to inform 1707 WebPageProxy that the window had become shown. This resulted in WebPageProxy sending 1708 unnecessary messages to the web process, and confused code that assumed that the window 1709 would be in the same state after WebView's constructor exited as it was when WebPageProxy 1710 first found out about the window. 1711 1712 We now don't hide the window when creating it, which simplifies the code, and only tell 1713 WebPageProxy about the window after we're done modifying it, which fixes the bug. 1714 1715 Fixes <http://webkit.org/b/53878> <rdar://problem/8977306> Assertion failure in 1716 DrawingAreaImpl::resumePainting after window.open or when opening Web Inspector 1717 1718 Reviewed by Anders Carlsson. 1719 1720 * UIProcess/win/WebView.cpp: 1721 (WebKit::WebView::WebView): Changed ::CreateWindowEx to ::CreateWindowExW, to match other 1722 Win32 API calls in WebKit2. Pass WS_VISIBLE to ::CreateWindowExW rather than waiting until 1723 later to show the window. Added an assertion that m_isVisible matches the window's visible 1724 state. Don't even create our WebPageProxy, or tell it about our window, until we're done 1725 initializing our window, so that it doesn't get informed about our window's internal state 1726 changes that happen beneath ::CreateWindowExW. 1727 (WebKit::WebView::onSizeEvent): Null-check m_page since we can receive this message beneath 1728 ::CreateWindowExW. 1729 (WebKit::WebView::onShowWindowEvent): Ditto. Replaced one FIXME with another. Always set 1730 handled to false so that ::DefWindowProcW can do its thing. (MSDN says this is when it 1731 actually shows/hides the window, though I couldn't find any consequences of not calling 1732 ::DefWindowProcW here.) 1733 1734 2011-02-09 Pavel Feldman <pfeldman (a] chromium.org> 1735 1736 Reviewed by Yury Semikhatsky. 1737 1738 Web Inspector: follow up on InspectorAgent split - 1739 removing unnecessary methods from InspectorController. 1740 https://bugs.webkit.org/show_bug.cgi?id=54093 1741 1742 * WebProcess/WebPage/WebInspector.cpp: 1743 (WebKit::WebInspector::showConsole): 1744 (WebKit::WebInspector::stopJavaScriptProfiling): 1745 1746 2011-02-09 Alejandro G. Castro <alex (a] igalia.com> 1747 1748 Reviewed by Martin Robinson. 1749 1750 [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main 1751 https://bugs.webkit.org/show_bug.cgi?id=54015 1752 1753 Avoided the compilation of the general WebProcessMain, and added 1754 soup initialization to WebProcessMainGtk.cpp. 1755 1756 * GNUmakefile.am: 1757 * WebProcess/gtk/WebProcessMainGtk.cpp: 1758 (WebKit::WebProcessMainGtk): 1759 1760 2011-02-08 Alejandro G. Castro <alex (a] igalia.com> 1761 1762 Reviewed by Martin Robinson. 1763 1764 [GTK] Incorrect assertion in WorkQueueGtk, we need to register 1765 more than one handle 1766 https://bugs.webkit.org/show_bug.cgi?id=54014 1767 1768 Fixed assertion condition we need to register more than one 1769 handler for the same file descriptor. 1770 1771 * Platform/gtk/WorkQueueGtk.cpp: 1772 (WorkQueue::registerEventSourceHandler): 1773 1774 2011-02-08 Alejandro G. Castro <alex (a] igalia.com> 1775 1776 Reviewed by Martin Robinson. 1777 1778 Fix typo in the include guards name in ChunkedUpdateDrawingAreaProxy.h 1779 https://bugs.webkit.org/show_bug.cgi?id=54013 1780 1781 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 1782 1783 2011-02-08 Alejandro G. Castro <alex (a] igalia.com> 1784 1785 Reviewed by Martin Robinson. 1786 1787 [GTK] Fix after r77874, m_isConnected is initialized before the 1788 socket is opened 1789 https://bugs.webkit.org/show_bug.cgi?id=54011 1790 1791 Fixed connection breakage after r77874, we have to wait until open 1792 the socket to open the connection. 1793 1794 * Platform/CoreIPC/gtk/ConnectionGtk.cpp: 1795 (CoreIPC::Connection::platformInitialize): 1796 (CoreIPC::Connection::open): 1797 1798 2011-02-08 Alejandro G. Castro <alex (a] igalia.com> 1799 1800 Reviewed by Martin Robinson. 1801 1802 [WK2] LayerTreeContext is used outside the ACCELERATED_COMPOSITING 1803 guards but not defined in DrawingAreaProxy.h 1804 https://bugs.webkit.org/show_bug.cgi?id=54009 1805 1806 Removed the guards in the forward declaration, this will fail if 1807 the class is finally used in the function, but it works for the 1808 moment. 1809 1810 * UIProcess/DrawingAreaProxy.h: 1811 1812 2011-02-08 Alejandro G. Castro <alex (a] igalia.com> 1813 1814 Reviewed by Martin Robinson. 1815 1816 WebKit2 GTK Fails to Build #include nested too deeply 1817 https://bugs.webkit.org/show_bug.cgi?id=52219 1818 1819 * GNUmakefile.am: Removed the commands to create the directories 1820 for the forwarding headers, the script already does it for us. 1821 * config.h: Removed the config.h inclusion and added the 1822 autotoolsconfig.h directly, also added a condition to share the 1823 defines with QT. 1824 1825 2011-02-08 Maciej Stachowiak <mjs (a] apple.com> 1826 1827 Reviewed by Mark Rowe. 1828 1829 Crash when going back/forward when back/forward list is in a bad state. 1830 https://bugs.webkit.org/show_bug.cgi?id=54059 1831 <rdar://problem/8975244> 1832 1833 * UIProcess/WebPageProxy.cpp: 1834 (WebKit::WebPageProxy::goForward): Add a null check. 1835 (WebKit::WebPageProxy::goBack): ditto 1836 1837 2011-02-08 Anders Carlsson <andersca (a] apple.com> 1838 1839 Reviewed by Beth Dakin. 1840 1841 Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyImpl::incorporateUpdate() 1842 https://bugs.webkit.org/show_bug.cgi?id=54046 1843 <rdar://problem/8973960> 1844 1845 DrawingAreaImpl::setRootCompositingLayer can be called with a new layer even when already 1846 in accelerated compositing mode. Similarly, it can be called with a null layer even when not 1847 in accelerated compositing mode. Make the drawing area and layer tree host handle both these cases. 1848 1849 * WebProcess/WebPage/DrawingAreaImpl.cpp: 1850 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 1851 Only call enterAcceleratedCompositingMode if there is no layer tree host, otherwise 1852 just call LayerTreeHost::setRootCompositingLayer. 1853 1854 (WebKit::DrawingAreaImpl::setSize): 1855 Add an assert. 1856 1857 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 1858 Assert that we don't have a layer tree host. 1859 1860 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 1861 Assert that we do have a layer tree host. 1862 1863 (WebKit::DrawingAreaImpl::display): 1864 If the call to display caused the page to enter accelerated compositing mode, we don't 1865 want to send back an Update message. 1866 1867 * WebProcess/WebPage/LayerTreeHost.cpp: 1868 (WebKit::LayerTreeHost::create): 1869 * WebProcess/WebPage/LayerTreeHost.h: 1870 Create no longer takes a graphics layer. 1871 1872 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 1873 (WebKit::LayerTreeHostMac::create): 1874 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 1875 Create no longer takes a graphics layer. 1876 1877 (WebKit::LayerTreeHostMac::setRootCompositingLayer): 1878 Set the new root compositing layer. 1879 1880 2011-02-08 Adam Roben <aroben (a] apple.com> 1881 1882 Implement WorkQueue::scheduleWorkAfterDelay on Windows 1883 1884 Each WorkQueue now owns its own timer queue. When scheduleWorkAfterDelay is called, we 1885 create a timer-queue timer with the given delay. When the timer fires, we schedule the work 1886 on the queue and clean up the timer. 1887 1888 Fixes <http://webkit.org/b/54040> <rdar://problem/8974230> Web process sticks around forever 1889 if it's hung when UI process goes away 1890 1891 Reviewed by Anders Carlsson. 1892 1893 * Platform/WorkQueue.h: Added timerCallback and m_timerQueue. 1894 1895 * Platform/win/WorkQueueWin.cpp: 1896 (WorkQueue::platformInitialize): Initialize m_timerQueue. 1897 (WorkQueue::platformInvalidate): Clean up m_timerQueue. 1898 (TimerContext::TimerContext): Added this helper object to hold the context needed by the 1899 timer callback. 1900 (WorkQueue::timerCallback): Added. Schedules the WorkItem on the WorkQueue and cleans up the 1901 timer. 1902 (WorkQueue::scheduleWorkAfterDelay): Create a timer-queue timer on our timer queue that will 1903 fire after the given delay. Pass a new TimerContext object to the timer callback that 1904 contains the information it needs. 1905 1906 2011-02-08 Anders Carlsson <andersca (a] apple.com> 1907 1908 Reviewed by Sam Weinig. 1909 1910 Rename PluginProcess::initializeConnection to PluginProcess::initialize 1911 https://bugs.webkit.org/show_bug.cgi?id=54039 1912 1913 * PluginProcess/PluginProcess.cpp: 1914 (WebKit::PluginProcess::initialize): 1915 * PluginProcess/PluginProcess.h: 1916 * PluginProcess/mac/PluginProcessMainMac.mm: 1917 (WebKit::PluginProcessMain): 1918 * WebProcess/WebProcess.h: 1919 1920 2011-02-08 Brady Eidson <beidson (a] apple.com> 1921 1922 Reviewed by Darin Adler. 1923 1924 <rdar://problem/8972913> and https://bugs.webkit.org/show_bug.cgi?id=54036 1925 didChangeBackForwardList should include some context about what changed 1926 1927 Update the implementation of this API to include the new item (if any) and removed items (if any): 1928 * UIProcess/API/C/WKPage.h: 1929 * UIProcess/WebLoaderClient.cpp: 1930 (WebKit::WebLoaderClient::didChangeBackForwardList): 1931 * UIProcess/WebLoaderClient.h: 1932 * UIProcess/WebPageProxy.cpp: 1933 (WebKit::WebPageProxy::didChangeBackForwardList): 1934 * UIProcess/WebPageProxy.h: 1935 1936 Have WebBackForwardList pass the new items and/or removed items when calling the notifier: 1937 * UIProcess/WebBackForwardList.cpp: 1938 (WebKit::WebBackForwardList::addItem): 1939 (WebKit::WebBackForwardList::goToItem): 1940 (WebKit::WebBackForwardList::clear): 1941 1942 2011-02-08 Sam Weinig <sam (a] webkit.org> 1943 1944 Reviewed by Anders Carlsson. 1945 1946 Sandbox violations visiting MobileMe. 1947 <rdar://problem/8961330> 1948 1949 * WebProcess/com.apple.WebProcess.sb: 1950 1951 2011-02-08 Anders Carlsson <andersca (a] apple.com> 1952 1953 Reviewed by Sam Weinig. 1954 1955 Rename PluginProcess::initialize to PluginProcess::initializePluginProcess 1956 https://bugs.webkit.org/show_bug.cgi?id=54037 1957 1958 Rename PluginProcess::initialize to PluginProcess::initializePluginProcess to better 1959 match the WebProcess initialization code, in preparation of sharing more code. 1960 1961 * PluginProcess/PluginProcess.cpp: 1962 (WebKit::PluginProcess::initializePluginProcess): 1963 * PluginProcess/PluginProcess.h: 1964 * PluginProcess/PluginProcess.messages.in: 1965 * UIProcess/Plugins/PluginProcessProxy.cpp: 1966 (WebKit::PluginProcessProxy::didFinishLaunching): 1967 1968 2011-02-08 Sam Weinig <sam (a] webkit.org> 1969 1970 Reviewed by Anders Carlsson. 1971 1972 WK2: Add ability to pass context to policy delegate methods 1973 https://bugs.webkit.org/show_bug.cgi?id=54031 1974 1975 * Platform/CoreIPC/HandleMessage.h: 1976 (CoreIPC::callMemberFunction): 1977 (CoreIPC::handleMessageVariadic): 1978 * Scripts/webkit2/messages.py: 1979 Add ability to pass variadic messages to sync messages. 1980 1981 * Shared/API/c/WKBase.h: 1982 * Shared/APIObject.h: 1983 Add WKBundleNavigation type. 1984 1985 * UIProcess/API/C/WKPage.h: 1986 * UIProcess/WebPageProxy.cpp: 1987 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 1988 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 1989 (WebKit::WebPageProxy::decidePolicyForMIMEType): 1990 * UIProcess/WebPageProxy.h: 1991 * UIProcess/WebPageProxy.messages.in: 1992 * UIProcess/WebPolicyClient.cpp: 1993 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 1994 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 1995 (WebKit::WebPolicyClient::decidePolicyForMIMEType): 1996 * UIProcess/WebPolicyClient.h: 1997 Update policy client for new data. 1998 1999 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 2000 * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: Added. 2001 (WKBundleNavigationActionGetTypeID): 2002 (WKBundleNavigationActionGetNavigationType): 2003 (WKBundleNavigationActionGetEventModifiers): 2004 (WKBundleNavigationActionGetEventMouseButton): 2005 (WKBundleNavigationActionCopyHitTestResult): 2006 (WKBundleNavigationActionCopyFormElement): 2007 * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h: Added. 2008 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2009 (WKBundlePageSetPolicyClient): 2010 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2011 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: Added. 2012 (WebKit::mouseEventForNavigationAction): 2013 (WebKit::mouseButtonForMouseEvent): 2014 (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction): 2015 (WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction): 2016 (WebKit::InjectedBundleNavigationAction::create): 2017 (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): 2018 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added. 2019 (WebKit::InjectedBundleNavigationAction::navigationType): 2020 (WebKit::InjectedBundleNavigationAction::modifiers): 2021 (WebKit::InjectedBundleNavigationAction::mouseButton): 2022 (WebKit::InjectedBundleNavigationAction::hitTestResult): 2023 (WebKit::InjectedBundleNavigationAction::formElement): 2024 (WebKit::InjectedBundleNavigationAction::type): 2025 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: Added. 2026 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): 2027 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): 2028 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType): 2029 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: Added. 2030 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2031 (WebKit::WebChromeClient::createWindow): 2032 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2033 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 2034 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 2035 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 2036 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 2037 * WebProcess/WebPage/WebPage.cpp: 2038 (WebKit::WebPage::initializeInjectedBundlePolicyClient): 2039 * WebProcess/WebPage/WebPage.h: 2040 (WebKit::WebPage::injectedBundlePolicyClient): 2041 Pipe the policy client through the bundle to allow setting user data. 2042 2043 * WebKit2.pro: 2044 * WebKit2.xcodeproj/project.pbxproj: 2045 * win/WebKit2.vcproj: 2046 * win/WebKit2Generated.make: 2047 Add new files. 2048 2049 2011-02-08 Anders Carlsson <andersca (a] apple.com> 2050 2051 Reviewed by Sam Weinig. 2052 2053 Crash calling -setFrame:andScrollBy: in windowDidResize 2054 https://bugs.webkit.org/show_bug.cgi?id=54030 2055 <rdar://problem/8969760> 2056 2057 * Platform/mac/SharedMemoryMac.cpp: 2058 (WebKit::SharedMemory::create): 2059 Assert that size is not zero here; we never want to try to create shared memory with a zero size. 2060 2061 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2062 (WebKit::DrawingAreaImpl::setSize): 2063 Always invalidate the entire visible page when resizing. 2064 2065 2011-02-08 Adam Barth <abarth (a] webkit.org> 2066 2067 Reviewed by Eric Seidel. 2068 2069 Remove orphan code from old parser 2070 https://bugs.webkit.org/show_bug.cgi?id=53984 2071 2072 * WebProcess/WebCoreSupport/WebChromeClient.cpp 2073 * WebProcess/WebCoreSupport/WebChromeClient.h 2074 2075 2011-02-08 Anders Carlsson <andersca (a] apple.com> 2076 2077 Reviewed by Sam Weinig. 2078 2079 UI process crashes if web process crashes while web inspector is focused 2080 https://bugs.webkit.org/show_bug.cgi?id=53965 2081 <rdar://problem/8961633> 2082 2083 Make sure to close the web inspector web page proxy before calling platformClose, since 2084 platformClose can cause the web page proxy to try to send messages (such as SetActive) 2085 to the web process while it's in a bad state. 2086 2087 The original fix, http://trac.webkit.org/changeset/77866, put the call to m_page->close() in 2088 WebInspectorProxy::didClose, which was wrong and lead to crashes. The right place to close the page 2089 is in WebInspectorProxy::invalidate. 2090 2091 * UIProcess/WebInspectorProxy.cpp: 2092 (WebKit::WebInspectorProxy::invalidate): 2093 2094 2011-02-08 Jessie Berlin <jberlin (a] apple.com> 2095 2096 Reviewed by Adam Roben. 2097 2098 ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web 2099 Process crashes. 2100 https://bugs.webkit.org/show_bug.cgi?id=54005 2101 2102 * Platform/CoreIPC/win/ConnectionWin.cpp: 2103 (CoreIPC::Connection::writeEventHandler): 2104 Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early. 2105 2106 2011-02-08 Adam Roben <aroben (a] apple.com> 2107 2108 Handle WM_TIMER messages for stopped timers 2109 2110 Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But 2111 ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the 2112 message queue. We need to handle those, too. 2113 2114 Fixes <http://webkit.org/b/53999> Occasional assertion failures in 2115 RunLoop::TimerBase::timerFired 2116 2117 Reviewed by Darin Adler. 2118 2119 * Platform/win/RunLoopWin.cpp: 2120 (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped. 2121 2122 2011-02-08 Adam Roben <aroben (a] apple.com> 2123 2124 Don't mark a Connection as connected until open() is called on Windows 2125 2126 This matches Mac. Even though the Connection's pipe is connected before open() is called, 2127 the Connection itself isn't really connected to the pipe until then, and we won't actually 2128 read any data from before that point. 2129 2130 Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion 2131 failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows 2132 2133 Reviewed by Darin Adler. 2134 2135 * Platform/CoreIPC/win/ConnectionWin.cpp: 2136 (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to 2137 open. 2138 (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't 2139 part of the bug fix, but seemed worthwhile.) 2140 (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe. 2141 2142 2011-02-08 Sheriff Bot <webkit.review.bot (a] gmail.com> 2143 2144 Unreviewed, rolling out r77866. 2145 http://trac.webkit.org/changeset/77866 2146 https://bugs.webkit.org/show_bug.cgi?id=53981 2147 2148 caused all WebKit2 inspector tests to crash (Requested by 2149 othermaciej on #webkit). 2150 2151 * UIProcess/WebInspectorProxy.cpp: 2152 (WebKit::WebInspectorProxy::didClose): 2153 2154 2011-02-07 Maciej Stachowiak <mjs (a] apple.com> 2155 2156 Reviewed by Dan Bernstein. 2157 2158 Add resource load client for injected bundle and move willSendRequest there 2159 https://bugs.webkit.org/show_bug.cgi?id=53972 2160 2161 * GNUmakefile.am: 2162 * WebKit2.pro: 2163 * WebKit2.xcodeproj/project.pbxproj: 2164 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2165 (WKBundlePageSetPageLoaderClient): 2166 (WKBundlePageSetResourceLoadClient): 2167 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2168 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 2169 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 2170 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added. 2171 (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource): 2172 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): 2173 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource): 2174 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource): 2175 (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource): 2176 (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource): 2177 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added. 2178 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2179 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): 2180 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): 2181 (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse): 2182 (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength): 2183 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading): 2184 (WebKit::WebFrameLoaderClient::dispatchDidFailLoading): 2185 * WebProcess/WebPage/WebPage.cpp: 2186 (WebKit::WebPage::initializeInjectedBundleResourceLoadClient): 2187 * WebProcess/WebPage/WebPage.h: 2188 (WebKit::WebPage::injectedBundleResourceLoadClient): 2189 * win/WebKit2.vcproj: 2190 2191 2011-02-07 Mark Rowe <mrowe (a] apple.com> 2192 2193 Fix the 32-bit build. 2194 2195 * UIProcess/cf/WebBackForwardListCF.cpp: 2196 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts 2197 to prevent warnings about mixing signed and unsigned comparisons. 2198 2199 2011-02-07 Qi Zhang <qi.2.zhang (a] nokia.com> 2200 2201 Reviewed by Andreas Kling. 2202 2203 [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl 2204 https://bugs.webkit.org/show_bug.cgi?id=52974 2205 2206 Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific. 2207 2208 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 2209 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard): 2210 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 2211 2212 2011-02-07 Enrica Casucci <enrica (a] apple.com> 2213 2214 Reviewed by Sam Weinig. 2215 2216 Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874 2217 2218 Removed unused static function. 2219 2220 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 2221 2222 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2223 2224 Reviewed by Sam Weinig. 2225 2226 <rdar://problem/8969888> 2227 The WebProcess should set LSFileQuarantineEnabled to true 2228 2229 * WebProcess/Info.plist: 2230 2231 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2232 2233 Reviewed by Sam Weinig. 2234 2235 Crash in web process after the connection had been closed 2236 https://bugs.webkit.org/show_bug.cgi?id=51115 2237 <rdar://problem/8964255> 2238 2239 Remove didCloseOnConnectionWorkQueue from Connection::Client and add 2240 Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static 2241 function, eliminating the race condition in connectionDidClose where m_client could be 2242 nulled out in the client thread right before we try to dereference it. 2243 2244 * Platform/CoreIPC/Connection.cpp: 2245 (CoreIPC::Connection::Connection): 2246 Initialize m_didCloseOnConnectionWorkQueueCallback. 2247 2248 (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback): 2249 Update m_didCloseOnConnectionWorkQueueCallback. 2250 2251 (CoreIPC::Connection::connectionDidClose): 2252 Call m_didCloseOnConnectionWorkQueueCallback. 2253 2254 * Platform/WorkQueue.h: 2255 Make WorkQueue noncopyable. 2256 2257 * PluginProcess/PluginProcess.cpp: 2258 (WebKit::PluginProcess::initializeConnection): 2259 Call setDidCloseOnConnectionWorkQueueCallback. 2260 2261 * Shared/ChildProcess.cpp: 2262 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue): 2263 * Shared/ChildProcess.h: 2264 didCloseOnConnectionWorkQueue is now a static member function. 2265 2266 * WebProcess/WebProcess.cpp: 2267 (WebKit::WebProcess::initialize): 2268 Call setDidCloseOnConnectionWorkQueueCallback. 2269 2270 2011-02-07 Enrica Casucci <enrica (a] apple.com> 2271 2272 Reviewed Adam Roben and Darin Adler. 2273 2274 WebKit2: drag and drop support on Windows. 2275 https://bugs.webkit.org/show_bug.cgi?id=52775 2276 <rdar://problem/8514409> 2277 2278 This patch contains the remaining work to support 2279 a WebKit window as drag source on Windows. 2280 I've added the code to generate the image for dragging a link as 2281 well as the steps necessary to package the HBITMAP into a SharedMemory 2282 object and send it over to the UI process where DoDragDrop is performed. 2283 2284 * UIProcess/WebPageProxy.cpp: 2285 (WebKit::WebPageProxy::setDragImage): 2286 (WebKit::WebPageProxy::startDragDrop): 2287 * UIProcess/WebPageProxy.h: 2288 * UIProcess/WebPageProxy.messages.in: 2289 * WebProcess/WebCoreSupport/WebDragClient.cpp: 2290 (WebKit::WebDragClient::startDrag): Made startDrag for 2291 platforms other than Windows and Mac. 2292 * WebProcess/WebCoreSupport/WebDragClient.h: 2293 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 2294 (WebKit::WebDragClient::startDrag): 2295 * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added. 2296 (WebKit::draggingSourceOperationMaskToDragCursors): 2297 (WebKit::WebDragClient::startDrag): 2298 * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added. 2299 This object implements the IDropSource interface. 2300 (WebDragSource::createInstance): 2301 (WebDragSource::WebDragSource): 2302 (WebDragSource::QueryInterface): 2303 (WebDragSource::AddRef): 2304 (WebDragSource::Release): 2305 (WebDragSource::QueryContinueDrag): 2306 (WebDragSource::GiveFeedback): 2307 * WebProcess/WebCoreSupport/win/WebDragSource.h: Added. 2308 * win/WebKit2.vcproj: 2309 2310 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2311 2312 Reviewed by Sam Weinig. 2313 2314 UI process crashes if web process crashes while web inspector is focused 2315 https://bugs.webkit.org/show_bug.cgi?id=53965 2316 <rdar://problem/8961633> 2317 2318 Make sure to close the web inspector web page proxy before calling platformClose, since 2319 platformClose can cause the web page proxy to try to send messages (such as SetActive) 2320 to the web process while it's in a bad state. 2321 2322 * UIProcess/WebInspectorProxy.cpp: 2323 (WebKit::WebInspectorProxy::didClose): 2324 2325 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2326 2327 Reviewed by Darin Adler. 2328 2329 Find bouncy is missing content on pages with framesets 2330 https://bugs.webkit.org/show_bug.cgi?id=53958 2331 <rdar://problem/8904447> 2332 2333 Fix paint rect computation; FrameView::paint expects the paint rect to be in the 2334 parent widget's coordinate system. 2335 2336 * WebProcess/WebPage/FindController.cpp: 2337 (WebKit::FindController::updateFindIndicator): 2338 2339 2011-02-07 Brady Eidson <beidson (a] apple.com> 2340 2341 Reviewed by Anders Carlsson. 2342 2343 <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957 2344 Crash after incorrectly restoring bogus session state. 2345 2346 In some cases we're writing an invalid session state for a back/forward list where the current entry is 0 2347 but the number of entries is also 0. 2348 In such cases the current entry should be "NoCurrentEntryIndex." 2349 2350 When we later read this state in, we set ourselves up to crash later. 2351 2352 Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired. 2353 2354 * UIProcess/cf/WebBackForwardListCF.cpp: 2355 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end 2356 of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list. 2357 Also remove the unhelpful ASSERT. 2358 2359 2011-02-07 Sam Weinig <sam (a] webkit.org> 2360 2361 Reviewed by Anders Carlsson. 2362 2363 Add bundle API to get the background color of a frame 2364 <rdar://problem/8962670> 2365 https://bugs.webkit.org/show_bug.cgi?id=53952 2366 2367 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 2368 (WKBundleFrameGetBodyBackgroundColor): 2369 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 2370 Add API function. 2371 2372 * WebProcess/WebPage/WebFrame.cpp: 2373 (WebKit::WebFrame::getDocumentBackgroundColor): 2374 * WebProcess/WebPage/WebFrame.h: 2375 Call down into the document to get either the body's, or if there is no body, 2376 the root element's, background color. 2377 2378 2011-02-07 Sam Weinig <sam (a] webkit.org> 2379 2380 Fix typo. vectical -> vertical. 2381 2382 * UIProcess/WebPageProxy.cpp: 2383 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame): 2384 2385 2011-02-07 Sam Weinig <sam (a] webkit.org> 2386 2387 Reviewed by Anders Carlsson. 2388 2389 Inform the UIProcess when main frame scrollbars change 2390 <rdar://problem/8967496> 2391 https://bugs.webkit.org/show_bug.cgi?id=53941 2392 2393 * UIProcess/API/C/WKPage.cpp: 2394 (WKPageHasHorizontalScrollbar): 2395 (WKPageHasVerticalScrollbar): 2396 * UIProcess/API/C/WKPage.h: 2397 Add API to query whether the main frame has scrollbars. 2398 2399 * UIProcess/WebPageProxy.cpp: 2400 (WebKit::WebPageProxy::WebPageProxy): 2401 (WebKit::WebPageProxy::close): 2402 (WebKit::WebPageProxy::processDidCrash): 2403 (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame): 2404 * UIProcess/WebPageProxy.h: 2405 (WebKit::WebPageProxy::hasHorizontalScrollbar): 2406 (WebKit::WebPageProxy::hasVerticalScrollbar): 2407 Store/update main frame scrollbar state. 2408 2409 * UIProcess/WebPageProxy.messages.in: 2410 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2411 (WebKit::WebChromeClient::contentsSizeChanged): 2412 * WebProcess/WebCoreSupport/WebChromeClient.h: 2413 (WebKit::WebChromeClient::WebChromeClient): 2414 Post message when main frame scrollbar state changes. 2415 2416 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2417 2418 Reviewed by Sam Weinig. 2419 2420 Some content is not covered by Find-on-page overlay 2421 https://bugs.webkit.org/show_bug.cgi?id=53937 2422 <rdar://problem/8711353> 2423 2424 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2425 (WebKit::DrawingAreaImpl::didInstallPageOverlay): 2426 Call LayerTreeHost::didInstallPageOverlay. 2427 2428 (WebKit::DrawingAreaImpl::didUninstallPageOverlay): 2429 Call LayerTreeHost::didUninstallPageOverlay. 2430 2431 (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay): 2432 Call LayerTreeHost::setPageOverlayNeedsDisplay. 2433 2434 * WebProcess/WebPage/FindController.cpp: 2435 (WebKit::FindController::drawRect): 2436 Remove a bogus assertion. 2437 2438 * WebProcess/WebPage/LayerTreeHost.h: 2439 Add new pure virtual member functions. 2440 2441 * WebProcess/WebPage/PageOverlay.cpp: 2442 (WebKit::PageOverlay::setNeedsDisplay): 2443 Call DrawingArea::setPageOverlayNeedsDisplay. 2444 2445 * WebProcess/WebPage/WebPage.cpp: 2446 (WebKit::WebPage::installPageOverlay): 2447 Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed. 2448 2449 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 2450 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 2451 Create the page overlay layer if needed. 2452 2453 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay): 2454 Invalidate the page overlay layer as well. 2455 2456 (WebKit::LayerTreeHostMac::sizeDidChange): 2457 Resize the page overlay layer. 2458 2459 (WebKit::LayerTreeHostMac::didInstallPageOverlay): 2460 Create the page overlay layer. 2461 2462 (WebKit::LayerTreeHostMac::didUninstallPageOverlay): 2463 Destroy the page overlay layer. 2464 2465 (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay): 2466 Call setNeedsDisplay on the page overlay layer. 2467 2468 (WebKit::LayerTreeHostMac::paintContents): 2469 Handle painting the page overlay layer. 2470 2471 (WebKit::LayerTreeHostMac::flushPendingLayerChanges): 2472 Flush the page overlay layer changes as well. 2473 2474 (WebKit::LayerTreeHostMac::createPageOverlayLayer): 2475 Create a layer and add it as a sublayer of the root layer. 2476 2477 (WebKit::LayerTreeHostMac::destroyPageOverlayLayer): 2478 Destroy the page overlay layer. 2479 2480 2011-02-06 Adam Roben <aroben (a] apple.com> 2481 2482 Make it possible to use DrawingAreaProxyImpl on Windows 2483 2484 It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment 2485 variable. Turning it on by default is covered by <http://webkit.org/b/53805>. 2486 2487 Fixes <http://webkit.org/b/53879>. 2488 2489 Reviewed by Anders Carlsson. 2490 2491 * UIProcess/BackingStore.h: Add an m_bitmap member on Windows. 2492 2493 * UIProcess/win/BackingStoreWin.cpp: 2494 (WebKit::BitmapDC::operator HDC): 2495 (WebKit::BitmapDC::BitmapDC): 2496 (WebKit::BitmapDC::~BitmapDC): 2497 Added this helper class, which uses RAII to select a bitmap into a new memory DC. 2498 (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the 2499 specified rect into the destination DC. 2500 (WebKit::createBitmap): New helper function, just creates a DIB section with the specified 2501 size. 2502 (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like 2503 this code could be shared at some point. 2504 (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll 2505 the specified rect. 2506 2507 * UIProcess/win/WebView.cpp: 2508 (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA 2509 environment variable is set. 2510 (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent. 2511 (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:]. 2512 (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the 2513 new drawing area. 2514 2515 (WebKit::WebView::enterAcceleratedCompositingMode): 2516 (WebKit::WebView::exitAcceleratedCompositingMode): 2517 (WebKit::WebView::pageDidEnterAcceleratedCompositing): 2518 (WebKit::WebView::pageDidLeaveAcceleratedCompositing): 2519 Added some assertions to make sure these are only called when expected. We don't expect 2520 enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated 2521 compositing is turned off in WebKit2 on Windows. 2522 2523 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the 2524 DrawingAreaInfo::Impl constant. 2525 2526 2011-02-07 Adam Roben <aroben (a] apple.com> 2527 2528 Start compiling DrawingArea[Proxy]Impl and dependencies on Windows 2529 2530 Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl 2531 2532 Reviewed by Sam Weinig and Darin Adler. 2533 2534 * Platform/Region.cpp: 2535 (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially 2536 uninitialized variable" warning. 2537 2538 * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms. 2539 2540 * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows. 2541 2542 * UIProcess/DrawingAreaProxy.h: 2543 * UIProcess/DrawingAreaProxyImpl.cpp: 2544 * UIProcess/WebPageProxy.cpp: 2545 (WebKit::WebPageProxy::didReceiveMessage): 2546 Allow Windows to compile the new drawing area code. 2547 2548 * WebProcess/WebPage/DrawingArea.cpp: 2549 (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too. 2550 2551 * WebProcess/WebPage/DrawingArea.h: 2552 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2553 * WebProcess/WebPage/LayerTreeHost.cpp: 2554 * WebProcess/WebPage/WebPage.cpp: 2555 (WebKit::WebPage::didReceiveMessage): 2556 Allow Windows to compile the new drawing area code. 2557 2558 * Shared/win/LayerTreeContextWin.cpp: Added. 2559 * UIProcess/win/BackingStoreWin.cpp: Added. 2560 Stubbed out these files. 2561 2562 * win/WebKit2.vcproj: Added new files. 2563 2564 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2565 2566 Reviewed by Dan Bernstein. 2567 2568 Rename some drawing area related member functions 2569 https://bugs.webkit.org/show_bug.cgi?id=53935 2570 2571 * WebProcess/WebPage/DrawingArea.h: 2572 (WebKit::DrawingArea::setPageOverlayNeedsDisplay): 2573 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2574 (WebKit::DrawingAreaImpl::setNeedsDisplay): 2575 (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay): 2576 * WebProcess/WebPage/DrawingAreaImpl.h: 2577 * WebProcess/WebPage/LayerTreeHost.h: 2578 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 2579 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 2580 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay): 2581 (WebKit::LayerTreeHostMac::scrollNonCompositedContents): 2582 2583 2011-02-07 Adam Roben <aroben (a] apple.com> 2584 2585 Use the right calling convention when calling WebKitMain 2586 2587 Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in 2588 wWinMain 2589 2590 Reviewed by Steve Falkenburg. 2591 2592 * win/MainWin.cpp: 2593 (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is 2594 how that function is declared. 2595 2596 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2597 2598 Reviewed by Dan Bernstein. 2599 2600 The drawing area should be in charge of drawing the page overlay 2601 https://bugs.webkit.org/show_bug.cgi?id=53927 2602 2603 * WebProcess/WebPage/DrawingArea.h: 2604 (WebKit::DrawingArea::didInstallPageOverlay): 2605 (WebKit::DrawingArea::didUninstallPageOverlay): 2606 (WebKit::DrawingArea::setOverlayNeedsDisplay): 2607 Add empty stubs. 2608 2609 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2610 (WebKit::DrawingAreaImpl::didInstallPageOverlay): 2611 Add empty function. This will eventually ask the layer tree host to 2612 create a GraphicsLayer for the page overlay. 2613 2614 (WebKit::DrawingAreaImpl::didUninstallPageOverlay): 2615 Tell the page that it needs to be repainted. 2616 2617 (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay): 2618 Just call setNeedsDisplay for now. 2619 2620 (WebKit::DrawingAreaImpl::display): 2621 Paint the page overlay too. 2622 2623 * WebProcess/WebPage/DrawingAreaImpl.h: 2624 * WebProcess/WebPage/WebPage.cpp: 2625 (WebKit::WebPage::drawRect): 2626 Only call drawPageOverlay if we have an old drawing area. 2627 2628 (WebKit::WebPage::drawPageOverlay): 2629 Draw the page overlay. Code moved here from WebPage::drawRect. 2630 2631 (WebKit::WebPage::installPageOverlay): 2632 Call DrawingArea::installPageOverlay. 2633 2634 (WebKit::WebPage::uninstallPageOverlay): 2635 Call DrawingArea::uninstallPageOverlay. 2636 2637 * WebProcess/WebPage/WebPage.h: 2638 (WebKit::WebPage::hasPageOverlay): 2639 Add getter. 2640 2641 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2642 2643 Reviewed by Sam Weinig. 2644 2645 Add WebPage::bounds and use it 2646 https://bugs.webkit.org/show_bug.cgi?id=53926 2647 2648 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 2649 (WebKit::ChunkedUpdateDrawingArea::resumePainting): 2650 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2651 (WebKit::DrawingAreaImpl::resumePainting): 2652 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 2653 * WebProcess/WebPage/WebPage.h: 2654 (WebKit::WebPage::bounds): 2655 2656 2011-02-07 Anders Carlsson <andersca (a] apple.com> 2657 2658 Reviewed by Maciej Stachowiak. 2659 2660 Don't exclude overlay scrollers from the page overlay bounds 2661 https://bugs.webkit.org/show_bug.cgi?id=53924 2662 2663 Don't subtract the scrollbars from the page overlay bounds if 2664 overlay scrollers are enabled. 2665 2666 * WebProcess/WebPage/PageOverlay.cpp: 2667 (WebKit::PageOverlay::bounds): 2668 2669 2011-02-07 Adam Roben <aroben (a] apple.com> 2670 2671 Windows build fix after r77794 2672 2673 * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner. 2674 2675 2011-02-07 Maciej Stachowiak <mjs (a] apple.com> 2676 2677 Reviewed by Antti Koivisto. 2678 2679 Add WKURLRequestCopyURL API (needed for tests and also generally useful) 2680 https://bugs.webkit.org/show_bug.cgi?id=53909 2681 2682 * Shared/API/c/WKURLRequest.cpp: 2683 (WKURLRequestCopyURL): 2684 * Shared/API/c/WKURLRequest.h: 2685 * Shared/WebURLRequest.h: 2686 (WebKit::WebURLRequest::url): 2687 2688 2011-02-06 Ryosuke Niwa <rniwa (a] webkit.org> 2689 2690 Unreviewed; speculative Qt build fix. 2691 2692 * WebKit2.pro: 2693 2694 2011-02-06 Ryosuke Niwa <rniwa (a] webkit.org> 2695 2696 Reviewed by Darin Adler. 2697 2698 OwnArraryPtr.h uses deleteOwnedPtr but doesnt include OwnPtrCommon.h 2699 https://bugs.webkit.org/show_bug.cgi?id=52867 2700 2701 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 2702 (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr. 2703 2704 2011-02-06 Benjamin Poulain <ikipou (a] gmail.com> 2705 2706 Reviewed by Andreas Kling. 2707 2708 [Qt] WebKit does not build on Mac with WebKit 2 2709 https://bugs.webkit.org/show_bug.cgi?id=53380 2710 2711 * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so 2712 we do not rely on recent kernel. 2713 (CoreIPC::Connection::readyReadHandler): 2714 * Platform/qt/SharedMemoryQt.cpp: ditto 2715 (WebKit::SharedMemory::create): 2716 (WebKit::SharedMemory::createHandle): 2717 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is 2718 a Linux specific function. 2719 (WebKit::QtWebProcess::setupChildProcess): 2720 * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac 2721 and the Mac port. 2722 * UIProcess/DrawingAreaProxyImpl.cpp: ditto 2723 * UIProcess/WebPageProxy.cpp: ditto 2724 (WebKit::WebPageProxy::didReceiveMessage): 2725 * WebProcess/WebPage/DrawingArea.cpp: ditto 2726 (WebKit::DrawingArea::create): 2727 * WebProcess/WebPage/DrawingArea.h: 2728 * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto 2729 * WebProcess/WebPage/WebPage.cpp: ditto 2730 (WebKit::WebPage::didReceiveMessage): 2731 2732 2011-02-05 Maciej Stachowiak <mjs (a] apple.com> 2733 2734 Reviewed by Dan Bernstein. 2735 2736 REGRESSION: New drawing area is causing some WebProcess crashes in layout tests 2737 https://bugs.webkit.org/show_bug.cgi?id=53865 2738 <rdar://problem/8963148> 2739 2740 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2741 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case 2742 where this is called repeatedly without exiting accelerated composting mode 2743 first. 2744 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case 2745 of being called more than once. 2746 2747 2011-02-05 Anders Carlsson <andersca (a] apple.com> 2748 2749 Reviewed by Darin Adler. 2750 2751 Need a way to resize and scroll the page at the same time 2752 https://bugs.webkit.org/show_bug.cgi?id=53814 2753 <rdar://problem/8498008> 2754 2755 Add -[WKView setFrame:andScrollBy:]. 2756 2757 * UIProcess/API/mac/WKView.h: 2758 * UIProcess/API/mac/WKView.mm: 2759 (-[WKView setFrame:andScrollBy:]): 2760 Stash away the scroll offset and call setFrame:. 2761 2762 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]): 2763 (-[WKView _setDrawingAreaSize:]): 2764 * UIProcess/API/qt/qwkpage.cpp: 2765 (QWKPage::setViewportSize): 2766 DrawingAreaProxy::setSize now takes a scroll offset. 2767 2768 * UIProcess/DrawingAreaProxy.cpp: 2769 (WebKit::DrawingAreaProxy::setSize): 2770 This now takes a scroll offset and stores it in m_scrollOffset. 2771 2772 * UIProcess/DrawingAreaProxy.h: 2773 * UIProcess/DrawingAreaProxyImpl.cpp: 2774 (WebKit::DrawingAreaProxyImpl::sendSetSize): 2775 Send along the scroll offset and set it back to zero. 2776 2777 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 2778 (WebKit::LayerBackedDrawingAreaProxy::didSetSize): 2779 * UIProcess/TiledDrawingAreaProxy.cpp: 2780 (WebKit::TiledDrawingAreaProxy::didSetSize): 2781 * UIProcess/win/WebView.cpp: 2782 (WebKit::WebView::onSizeEvent): 2783 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 2784 DrawingAreaProxy::setSize now takes a scroll offset. 2785 2786 * WebProcess/WebPage/DrawingArea.h: 2787 (WebKit::DrawingArea::setSize): 2788 Add a scrollOffset parameter. 2789 2790 * WebProcess/WebPage/DrawingArea.messages.in: 2791 Add a scroll offset parameter to the SetSize message. 2792 2793 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2794 (WebKit::DrawingAreaImpl::setSize): 2795 Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition. 2796 2797 * WebProcess/WebPage/DrawingAreaImpl.h: 2798 * WebProcess/WebPage/WebPage.cpp: 2799 (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition): 2800 Compute a scroll offset and call setScrollPosition on the main frame view. 2801 2802 2011-02-04 Brian Weinstein <bweinstein (a] apple.com> 2803 2804 Reviewed by Maciej Stachowiak. 2805 2806 WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef 2807 https://bugs.webkit.org/show_bug.cgi?id=53829 2808 2809 Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before 2810 calling resourceRequest() on it. 2811 2812 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 2813 (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame): 2814 2815 2011-02-04 Anders Carlsson <andersca (a] apple.com> 2816 2817 Fix build. 2818 2819 * WebProcess/mac/WebProcessMac.mm: 2820 2821 2011-02-04 Anders Carlsson <andersca (a] apple.com> 2822 2823 Reviewed by Mark Rowe. 2824 2825 Link opened in background tab fails to paint when activated if it completes loading before tab is selected 2826 https://bugs.webkit.org/show_bug.cgi?id=53827 2827 <rdar://problem/8962355> 2828 2829 * WebProcess/WebPage/DrawingAreaImpl.cpp: 2830 (WebKit::DrawingAreaImpl::resumePainting): 2831 Invalidate the entire page. 2832 2833 2011-02-04 Anders Carlsson <andersca (a] apple.com> 2834 2835 Reviewed by Sam Weinig. 2836 2837 Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories. 2838 2839 * WebProcess/mac/WebProcessMac.mm: 2840 (WebKit::WebProcess::platformSetCacheModel): 2841 Don't adopt an autoreleased pointer, this would lead to a crash. 2842 2843 (WebKit::appendSandboxParameterPath): 2844 (WebKit::appendSandboxParameterConfPath): 2845 (WebKit::initializeSandbox): 2846 Clean up the sandbox parameter code and make sure that realpath is called for all parameters. 2847 2848 2011-02-04 Sam Weinig <sam (a] webkit.org> 2849 2850 Reviewed by Mark Rowe. 2851 2852 Sandbox violations when visiting a site using HTTP authentication 2853 <rdar://problem/8951079> 2854 2855 * WebProcess/com.apple.WebProcess.sb: 2856 2857 2011-02-04 Alexey Proskuryakov <ap (a] apple.com> 2858 2859 Reviewed by Darin Adler. 2860 2861 https://bugs.webkit.org/show_bug.cgi?id=53823 2862 Print layout sometimes seen on screen 2863 2864 <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout 2865 <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up 2866 2867 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a 2868 branch that didn't do anything useful. 2869 2870 * UIProcess/API/mac/WKPrintingView.h: 2871 * UIProcess/API/mac/WKPrintingView.mm: 2872 (-[WKPrintingView _suspendAutodisplay]): 2873 (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 2874 (-[WKPrintingView _delayedResumeAutodisplay]): 2875 (-[WKPrintingView knowsPageRange:]): 2876 (-[WKPrintingView beginDocument]): 2877 (-[WKPrintingView endDocument]): 2878 When page setup changes, or when going from print preview to actual printing, AppKit calls 2879 -endDocument just to begin it again. Delay resuming autodisplay until the next run loop 2880 iteration. 2881 2882 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2883 (WebKit::WebChromeClient::invalidateContentsAndWindow): 2884 (WebKit::WebChromeClient::invalidateContentsForSlowScroll): 2885 Tightened it up from other side - we should never send pixels to UI process while in 2886 printing mode. This is not 100% reliable, because relayout doesn't happen immediately, 2887 and we can still have print layout in screen mode - but it helps. 2888 2889 2011-02-04 Sam Weinig <sam (a] webkit.org> 2890 2891 Reviewed by Mark Rowe. 2892 2893 Fix for <rdar://problem/8961580>. 2894 Work around for <rdar://problem/8957845>. 2895 2896 * WebProcess/com.apple.WebProcess.sb: 2897 2898 2011-02-04 Darin Adler <darin (a] apple.com> 2899 2900 Reviewed by Dan Bernstein. 2901 2902 WebKit2 doesn't hide mouse pointer on keypress 2903 https://bugs.webkit.org/show_bug.cgi?id=53821 2904 rdar://problem/8630895 2905 2906 * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to 2907 doneWithKeyEvent and added a bool wasEventHandled argument. 2908 * UIProcess/WebPageProxy.cpp: 2909 (WebKit::WebPageProxy::didReceiveEvent): Changed code to call 2910 doneWithKeyEvent and call even if event was handled. 2911 2912 * UIProcess/API/mac/PageClientImpl.h: Updated for above change. 2913 * UIProcess/API/mac/PageClientImpl.mm: 2914 (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also 2915 call [NSCursor setHiddenUntilMouseMoves:YES] when a key down 2916 event was handled. This matches what -[WebHTMLView keyDown:] does. 2917 * UIProcess/API/qt/qwkpage.cpp: 2918 (QWKPagePrivate::doneWithKeyEvent): Ditto. 2919 * UIProcess/API/qt/qwkpage_p.h: Ditto. 2920 * UIProcess/win/WebView.cpp: 2921 (WebKit::WebView::doneWithKeyEvent): Ditto. 2922 * UIProcess/win/WebView.h: Ditto. 2923 2924 2011-02-04 Steve Falkenburg <sfalken (a] apple.com> 2925 2926 Reviewed by Adam Roben. 2927 2928 WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit 2929 https://bugs.webkit.org/show_bug.cgi?id=53810 2930 <rdar://problem/8946085> 2931 2932 If WebKit2WebProcess.exe is in a different directory from the client process, and that 2933 client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may 2934 end up excluding the directory containing WebKit. To address this, we use SetDllDirectory 2935 to explicitly include the WebKit directory in the DLL search path. 2936 2937 * win/MainWin.cpp: 2938 (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe 2939 * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi. 2940 2941 2011-02-04 Adam Roben <aroben (a] apple.com> 2942 2943 Allow passing a null filter callback to WKPageCopySessionState 2944 2945 WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>. 2946 2947 Reviewed by Sam Weinig. 2948 2949 * UIProcess/cf/WebBackForwardListCF.cpp: 2950 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null 2951 before calling it. 2952 2953 2011-02-04 Brian Weinstein <bweinstein (a] apple.com> 2954 2955 Reviewed by John Sullivan. 2956 2957 WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame 2958 https://bugs.webkit.org/show_bug.cgi?id=53794 2959 2960 When we navigate from one page to another, there can be multiple subresource requests between when 2961 the new page has started its provisional load and when it has committed the load. 2962 2963 There can be: 2964 2965 - The main resource load of the provisional page 2966 - Synchronous XHR from the unload event of the loaded page. 2967 2968 WebKit clients need to be able to differentiate between these loads. 2969 2970 * UIProcess/API/C/WKPage.h: 2971 * UIProcess/WebPageProxy.cpp: 2972 (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading 2973 to the client. 2974 * UIProcess/WebPageProxy.h: 2975 * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource. 2976 * UIProcess/WebResourceLoadClient.cpp: 2977 (WebKit::WebResourceLoadClient::didInitiateLoadForResource): a new parameter to didInitiateLoadForResource. 2978 * UIProcess/WebResourceLoadClient.h: 2979 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 2980 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently 2981 in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader) 2982 to the UI Process. 2983 2984 2011-02-04 Anders Carlsson <andersca (a] apple.com> 2985 2986 Reviewed by Mark Rowe. 2987 2988 Mac WebKit2 should use the new drawing area 2989 https://bugs.webkit.org/show_bug.cgi?id=53802 2990 <rdar://problem/7881419> 2991 <rdar://problem/7881447> 2992 <rdar://problem/8252632> 2993 <rdar://problem/8479422> 2994 <rdar://problem/8633813> 2995 <rdar://problem/8734512> 2996 <rdar://problem/8787660> 2997 2998 * UIProcess/API/mac/WKView.mm: 2999 (useNewDrawingArea): 3000 Return true. Eventually this function should be removed, but let's keep it for now so 3001 we can go back to the old drawing area if necessary. 3002 3003 2011-02-04 Maciej Stachowiak <mjs (a] apple.com> 3004 3005 Reviewed by Anders Carlsson. 3006 3007 WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed 3008 https://bugs.webkit.org/show_bug.cgi?id=53799 3009 <rdar://problem/8943956> 3010 3011 * UIProcess/WebPageProxy.cpp: 3012 (WebKit::WebPageProxy::reload): 3013 3014 2011-02-04 Anders Carlsson <andersca (a] apple.com> 3015 3016 Reviewed by Maciej Stachowiak. 3017 3018 Fix a shared memory leak 3019 https://bugs.webkit.org/show_bug.cgi?id=53800 3020 3021 Move the send right representing the shared memory. 3022 3023 * Platform/mac/SharedMemoryMac.cpp: 3024 (WebKit::SharedMemory::Handle::encode): 3025 3026 2011-02-04 Brady Eidson <beidson (a] apple.com> 3027 3028 Reviewed by Anders Carlsson. 3029 3030 <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785 3031 WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items. 3032 3033 WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback 3034 does not occur synchronously. Let's make it synchronous. 3035 3036 Change WebPageProxy to handle this message reply synchronously: 3037 * UIProcess/WebPageProxy.cpp: 3038 (WebKit::WebPageProxy::WebPageProxy): 3039 (WebKit::WebPageProxy::receivedPolicyDecision): 3040 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 3041 * UIProcess/WebPageProxy.h: 3042 * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous. 3043 3044 * Platform/CoreIPC/HandleMessage.h: 3045 (CoreIPC::callMemberFunction): Add a 6-argument varient 3046 3047 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3048 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously. 3049 3050 2011-02-04 Steve Falkenburg <sfalken (a] apple.com> 3051 3052 Windows build fix. 3053 Correct prebuild build-stopping rule to allow project only rebuilds. 3054 3055 * win/WebKit2WebProcessPreBuild.cmd: 3056 3057 2011-02-04 Brian Weinstein <bweinstein (a] apple.com> 3058 3059 Reviewed by Adam Roben. 3060 3061 Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup 3062 window, or when running regression tests. 3063 https://bugs.webkit.org/show_bug.cgi?id=53798 3064 <rdar://problem/8814364> 3065 3066 Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible. 3067 Also, only call ::DestroyWindow if the HWND is non-null, just to be safe. 3068 3069 * UIProcess/win/WebInspectorProxyWin.cpp: 3070 (WebKit::WebInspectorProxy::platformClose): 3071 3072 2011-02-04 Anders Carlsson <andersca (a] apple.com> 3073 3074 Reviewed by Dan Bernstein. 3075 3076 Go out of accelerated compositing mode when the drawing area is destroyed 3077 https://bugs.webkit.org/show_bug.cgi?id=53788 3078 3079 This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode. 3080 3081 * UIProcess/DrawingAreaProxyImpl.cpp: 3082 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl): 3083 3084 2011-02-03 Yury Semikhatsky <yurys (a] chromium.org> 3085 3086 Reviewed by Pavel Feldman. 3087 3088 Web Inspector: remove settings related methods from InspectorClient 3089 https://bugs.webkit.org/show_bug.cgi?id=53686 3090 3091 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 3092 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): 3093 3094 2011-02-03 Maciej Stachowiak <mjs (a] apple.com> 3095 3096 Reviewed by Dan Bernstein. 3097 3098 WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle 3099 https://bugs.webkit.org/show_bug.cgi?id=52897 3100 <rdar://problem/8898294> 3101 3102 * Shared/API/c/WKSharedAPICast.h: 3103 (WebKit::toAPI): 3104 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 3105 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 3106 (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame): 3107 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 3108 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3109 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): 3110 3111 2011-02-03 Ivan Krsti <ike (a] apple.com> 3112 3113 Reviewed by Maciej Stachowiak. 3114 3115 Make WebProcess pass explicit homedir parameter to the sandbox 3116 <rdar://problem/8405760> 3117 <https://webkit.org/b/53558> 3118 3119 * WebProcess/com.apple.WebProcess.sb: 3120 * WebProcess/mac/WebProcessMac.mm: 3121 (WebKit::initializeSandbox): 3122 3123 2011-02-03 James Kozianski <koz (a] chromium.org> 3124 3125 Reviewed by Dimitri Glazkov. 3126 3127 Add navigator.registerProtocolHandler behind a flag. 3128 https://bugs.webkit.org/show_bug.cgi?id=52609 3129 3130 * Configurations/FeatureDefines.xcconfig: 3131 3132 2011-02-03 Adam Langley <agl (a] chromium.org> 3133 3134 Reviewed by Adam Barth. 3135 3136 Plumb mixed script URL to FrameLoaderClient 3137 https://bugs.webkit.org/show_bug.cgi?id=52384 3138 3139 Regressions covered by http/tests/security/mixedContent/* 3140 3141 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3142 (WebKit::WebFrameLoaderClient::didRunInsecureContent): 3143 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 3144 3145 2011-02-03 Jon Honeycutt <jhoneycutt (a] apple.com> 3146 3147 Download bundles should be moved to their final destination when they 3148 finish. 3149 3150 https://bugs.webkit.org/show_bug.cgi?id=53668 3151 3152 Reviewed by Adam Roben. 3153 3154 * WebProcess/Downloads/Download.cpp: 3155 (WebKit::Download::Download): 3156 Initialize m_allowOverwrite. 3157 (WebKit::Download::retrieveDestinationWithSuggestedFilename): 3158 Return the result of requesting the destination filename from the UI 3159 process. 3160 (WebKit::Download::decideDestinationWithSuggestedFilename): 3161 Call retrieveDestinationWithSuggestedFilename(). 3162 (WebKit::Download::didFinish): 3163 Call platformDidFinish(). 3164 3165 * WebProcess/Downloads/Download.h: 3166 Declare retrieveDestinationWithSuggestedFilename() and 3167 platformDidFinish(). Add a member variable to store whether the UI 3168 process would like us to overwrite existing files. 3169 3170 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 3171 (WebKit::willResumeWithResponseCallback): 3172 Remove some trailing whitespace. 3173 3174 * WebProcess/Downloads/curl/DownloadCurl.cpp: 3175 (WebKit::Download::platformDidFinish): 3176 Stubbed. 3177 3178 * WebProcess/Downloads/mac/DownloadMac.mm: 3179 (WebKit::Download::platformDidFinish): 3180 Stubbed. 3181 3182 * WebProcess/Downloads/qt/DownloadQt.cpp: 3183 (WebKit::Download::platformDidFinish): 3184 Stubbed. 3185 3186 * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp: 3187 (WebKit::Download::didDecideDestination): 3188 Store whether the UI process would like us to overwrite existing files. 3189 (WebKit::Download::platformDidFinish): 3190 Try to move the bundle to the final destination. If that fails, ask the 3191 UI process for a new destination. If we receive one, try again to move 3192 the bundle. Call didCreateDestination() to report the updated path of 3193 file whether it's the bundle that we failed to move, or the new final 3194 destination. 3195 3196 This is similar to what is done by WebKit 1's CFNetwork port. 3197 3198 * win/WebKit2.vcproj: 3199 Add DownloadWin.cpp. 3200 3201 2011-02-01 Jon Honeycutt <jhoneycutt (a] apple.com> 3202 3203 Small clean-up in DownloadCFNet.cpp. 3204 3205 Rubber-stamped by Mark Rowe. 3206 3207 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 3208 (WebKit::Download::didDecideDestination): 3209 Moved out of the section labeled "CFURLDownload callbacks" and up near 3210 the other member functions. 3211 3212 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3213 3214 Reviewed by Sam Weinig. 3215 3216 Paint non-composited contents in a layer 3217 https://bugs.webkit.org/show_bug.cgi?id=53742 3218 3219 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3220 (WebKit::DrawingAreaImpl::setNeedsDisplay): 3221 Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect. 3222 3223 (WebKit::DrawingAreaImpl::scroll): 3224 Call LayerTreeHost::scrollNonCompositedContents. 3225 3226 (WebKit::DrawingAreaImpl::setSize): 3227 Call LayerTreeHost::sizeDidChange. 3228 3229 * WebProcess/WebPage/LayerTreeHost.h: 3230 Add new pure virtual member functions. 3231 3232 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3233 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3234 Create the non-composited content layer. 3235 3236 (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect): 3237 Call setNeedsDisplay on the GraphicsLayer. 3238 3239 (WebKit::LayerTreeHostMac::scrollNonCompositedContents): 3240 Just call setNonCompositedContentsNeedDisplayInRect. 3241 3242 (WebKit::LayerTreeHostMac::sizeDidChange): 3243 Resize the layers and flush any changes. 3244 3245 (WebKit::LayerTreeHostMac::paintContents): 3246 Call WebPage::drawRect. 3247 3248 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback): 3249 Lay out the web page. 3250 3251 (WebKit::LayerTreeHostMac::flushPendingLayerChanges): 3252 Call syncCompositingStateForThisLayerOnly on the non-composited content layer. 3253 3254 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3255 3256 Reviewed by Sam Weinig. 3257 3258 When in accelerated compositing mode, wait for DidSetSize messages 3259 https://bugs.webkit.org/show_bug.cgi?id=53736 3260 3261 Normally we wait for DidSetSize messages from ::paint, but that's never called in 3262 accelerated compositing mode so we just do it right after sending the SetSize message. 3263 3264 * UIProcess/DrawingAreaProxyImpl.cpp: 3265 (WebKit::DrawingAreaProxyImpl::paint): 3266 Call waitForAndDispatchDidSetSize. 3267 3268 (WebKit::DrawingAreaProxyImpl::sendSetSize): 3269 Call waitForAndDispatchDidSetSize when in accelerated compositing mode. 3270 3271 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): 3272 New utility function which waits for and dispatches a DidSetSize message. 3273 3274 * UIProcess/DrawingAreaProxyImpl.h: 3275 3276 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3277 3278 Reviewed by Dan Bernstein. 3279 3280 Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message 3281 https://bugs.webkit.org/show_bug.cgi?id=53734 3282 3283 * UIProcess/DrawingAreaProxy.h: 3284 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode): 3285 Add an UpdateInfo parameter. 3286 3287 * UIProcess/DrawingAreaProxy.messages.in: 3288 Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message. 3289 3290 * UIProcess/DrawingAreaProxyImpl.cpp: 3291 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3292 Incorporate the passed in update. 3293 3294 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3295 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 3296 Create a new UpdateInfo object, paint into it and pass it along as a parameter 3297 to the ExitAcceleratedCompositingMode message. 3298 3299 2011-02-03 Beth Dakin <bdakin (a] apple.com> 3300 3301 Reviewed by Sam Weinig. 3302 3303 Fix for <rdar://problem/8944544> Ability to animate track 3304 for WKPainter scrollers 3305 3306 * WebCoreSupport/WebSystemInterface.mm: 3307 (InitWebCoreSystemInterface): 3308 3309 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3310 3311 Reviewed by Dan Bernstein. 3312 3313 Change DidSetSize to take a LayerTreeContext parameter 3314 https://bugs.webkit.org/show_bug.cgi?id=53724 3315 3316 Since SetSize can cause layout to happen, we need to pass along a layer tree context to 3317 the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately. 3318 3319 * Shared/LayerTreeContext.h: 3320 * Shared/mac/LayerTreeContextMac.mm: 3321 Add equality operators to LayerTreeContext. 3322 3323 * UIProcess/DrawingAreaProxy.h: 3324 (WebKit::DrawingAreaProxy::didSetSize): 3325 This now takes a LayerTreeContext parameter. 3326 3327 * UIProcess/DrawingAreaProxy.messages.in: 3328 Add LayerTreeContext parameter. 3329 3330 * UIProcess/DrawingAreaProxyImpl.cpp: 3331 Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead. 3332 3333 (WebKit::DrawingAreaProxyImpl::paint): 3334 Bail if the call to DidSetSize ended up entering accelerated compositing mode. 3335 3336 (WebKit::DrawingAreaProxyImpl::didSetSize): 3337 If the new layer tree context is different, enter/exit accelerated compositing mode accordingly. 3338 3339 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3340 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3341 Update the layer tree context. 3342 3343 * UIProcess/DrawingAreaProxyImpl.h: 3344 (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode): 3345 Add simple getter. 3346 3347 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3348 (WebKit::DrawingAreaImpl::setSize): 3349 Pass along the layer tree context. 3350 3351 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3352 3353 Reviewed by Dan Bernstein. 3354 3355 Get rid of LayerTreeContext::seed on Mac. 3356 Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and 3357 have them call newly added overloads that don't have the checks. 3358 3359 * Shared/LayerTreeContext.h: 3360 * Shared/mac/LayerTreeContextMac.mm: 3361 (WebKit::LayerTreeContext::LayerTreeContext): 3362 (WebKit::LayerTreeContext::encode): 3363 (WebKit::LayerTreeContext::decode): 3364 * UIProcess/DrawingAreaProxyImpl.cpp: 3365 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3366 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3367 * UIProcess/DrawingAreaProxyImpl.h: 3368 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3369 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3370 3371 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3372 3373 Reviewed by Dan Bernstein. 3374 3375 Get rid of timestamps in UpdateInfo 3376 https://bugs.webkit.org/show_bug.cgi?id=53713 3377 3378 Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to 3379 check whether Update messages should be handled or not. 3380 3381 * Shared/UpdateInfo.cpp: 3382 (WebKit::UpdateInfo::encode): 3383 (WebKit::UpdateInfo::decode): 3384 * Shared/UpdateInfo.h: 3385 (WebKit::UpdateInfo::UpdateInfo): 3386 * UIProcess/BackingStore.cpp: 3387 (WebKit::BackingStore::BackingStore): 3388 (WebKit::BackingStore::incorporateUpdate): 3389 * UIProcess/BackingStore.h: 3390 * UIProcess/DrawingAreaProxy.h: 3391 (WebKit::DrawingAreaProxy::update): 3392 (WebKit::DrawingAreaProxy::didSetSize): 3393 (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode): 3394 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode): 3395 * UIProcess/DrawingAreaProxy.messages.in: 3396 * UIProcess/DrawingAreaProxyImpl.cpp: 3397 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 3398 (WebKit::DrawingAreaProxyImpl::update): 3399 (WebKit::DrawingAreaProxyImpl::didSetSize): 3400 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3401 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3402 * UIProcess/DrawingAreaProxyImpl.h: 3403 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3404 (WebKit::generateSequenceNumber): 3405 (WebKit::DrawingAreaImpl::setSize): 3406 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 3407 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 3408 (WebKit::DrawingAreaImpl::display): 3409 3410 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3411 3412 Reviewed by Darin Adler. 3413 3414 Don't send enter/exit accelerated compositing mode messages when handling setSize 3415 https://bugs.webkit.org/show_bug.cgi?id=53706 3416 3417 Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when 3418 the mode changes happen as a result of relayout in setSize, since an updated state 3419 is going to be sent back in the DidSetSize message. 3420 3421 * UIProcess/DrawingAreaProxyImpl.cpp: 3422 (WebKit::DrawingAreaProxyImpl::didSetSize): 3423 Add an assert. 3424 3425 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3426 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 3427 Initialize m_inSetSize. 3428 3429 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 3430 Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode. 3431 3432 (WebKit::DrawingAreaImpl::setSize): 3433 Set m_inSetSize to true while handling setSize. 3434 3435 (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): 3436 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 3437 Take over the message sending responsibility from LayerTreeHostMac, and don't send messages 3438 if we're currently handling a SetSize message. 3439 3440 * WebProcess/WebPage/DrawingAreaImpl.h: 3441 Add m_inSetSize. 3442 3443 * WebProcess/WebPage/LayerTreeHost.h: 3444 Add layerTreeHost getter. 3445 3446 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 3447 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3448 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3449 Don't send EnterAcceleratedCompositingMode messages. 3450 3451 (WebKit::LayerTreeHostMac::layerTreeContext): 3452 Add getter for the current layer tree context. 3453 3454 (WebKit::LayerTreeHostMac::invalidate): 3455 Don't send ExitAcceleratedCompositingMode messages. 3456 3457 2011-02-03 Anders Carlsson <andersca (a] apple.com> 3458 3459 Reviewed by Sam Weinig. 3460 3461 Make the layer tree host keep track of the layer tree context 3462 https://bugs.webkit.org/show_bug.cgi?id=53698 3463 3464 Add a LayerTreeContext member variable to the LayerTreeHost object, 3465 and also add a seed count to the LayerTreeContext so we can keep track of 3466 how layer tree contexts relate to each other. 3467 3468 * Shared/LayerTreeContext.h: 3469 * Shared/mac/LayerTreeContextMac.mm: 3470 (WebKit::LayerTreeContext::LayerTreeContext): 3471 (WebKit::LayerTreeContext::makeWithSeed): 3472 (WebKit::LayerTreeContext::encode): 3473 (WebKit::LayerTreeContext::decode): 3474 3475 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 3476 Add the layer tree context as a member variable. 3477 3478 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3479 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3480 Initialize the layer tree context. 3481 3482 2011-02-03 Sam Weinig <sam (a] webkit.org> 3483 3484 Fix Qt build. 3485 3486 * UIProcess/API/qt/qwkpage.cpp: 3487 (QWKPage::QWKPage): 3488 3489 2011-02-02 Sam Weinig <sam (a] webkit.org> 3490 3491 Reviewed by Anders Carlsson. 3492 3493 Add notification of the end of a rubber band. 3494 <rdar://problem/8940648> 3495 3496 * UIProcess/API/C/WKPage.h: 3497 * UIProcess/WebPageProxy.cpp: 3498 (WebKit::WebPageProxy::drawHeader): 3499 (WebKit::WebPageProxy::drawFooter): 3500 (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame): 3501 * UIProcess/WebPageProxy.h: 3502 * UIProcess/WebPageProxy.messages.in: 3503 * UIProcess/WebUIClient.cpp: 3504 (WebKit::WebUIClient::didCompleteRubberBandForMainFrame): 3505 * UIProcess/WebUIClient.h: 3506 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 3507 (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame): 3508 * WebProcess/WebCoreSupport/WebChromeClient.h: 3509 Pipe the notification up to the WKUIClient. 3510 3511 2011-02-03 Sheriff Bot <webkit.review.bot (a] gmail.com> 3512 3513 Unreviewed, rolling out r77449. 3514 http://trac.webkit.org/changeset/77449 3515 https://bugs.webkit.org/show_bug.cgi?id=53663 3516 3517 causes many WebKit2 tests to crash (Requested by othermaciej 3518 on #webkit). 3519 3520 * Shared/API/c/WKSharedAPICast.h: 3521 (WebKit::toAPI): 3522 (WebKit::toCopiedAPI): 3523 (WebKit::toURLRef): 3524 (WebKit::toCopiedURLAPI): 3525 * Shared/WebString.h: 3526 (WebKit::WebString::isNull): 3527 (WebKit::WebString::WebString): 3528 3529 2011-02-02 Sam Weinig <sam (a] webkit.org> 3530 3531 Fix license block issues pointed out by Daniel Bates. 3532 3533 * Shared/API/c/WKGraphicsContext.cpp: 3534 * Shared/API/c/WKGraphicsContext.h: 3535 * Shared/API/c/cg/WKGraphicsContextCG.cpp: 3536 * Shared/API/c/cg/WKGraphicsContextCG.h: 3537 * Shared/WebGraphicsContext.cpp: 3538 3539 2011-02-02 Sam Weinig <sam (a] webkit.org> 3540 3541 Reviewed by Dan Bernstein. 3542 3543 Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2. 3544 3545 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 3546 (WKBundleFrameGetContentBounds): 3547 (WKBundleFrameGetVisibleContentBounds): 3548 (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars): 3549 (WKBundleFrameGetScrollOffset): 3550 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 3551 * WebProcess/WebPage/WebFrame.cpp: 3552 (WebKit::WebFrame::contentBounds): 3553 (WebKit::WebFrame::visibleContentBounds): 3554 (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars): 3555 (WebKit::WebFrame::scrollOffset): 3556 * WebProcess/WebPage/WebFrame.h: 3557 Move implementation of frame geometry to the implementation file 3558 instead of keeping it in the API file. 3559 3560 2011-02-02 Stephanie Lewis <slewis (a] apple.com> 3561 3562 Reviewed by Geoff Garen. 3563 3564 https://bugs.webkit.org/show_bug.cgi?id=53361 3565 <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease 3566 pools not being drained. 3567 Call into AppKit to add observers that push and pop autorelease pools on entry 3568 and exit from the CFRunLoop. This will prevent memory from accumulating. 3569 3570 * WebProcess/mac/WebProcessMainMac.mm: 3571 (WebKit::WebProcessMain): 3572 3573 2011-02-02 Darin Adler <darin (a] apple.com> 3574 3575 Reviewed by Sam Weinig. 3576 3577 Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef. 3578 rdar://problem/8948688 3579 3580 * Shared/API/c/WKSharedAPICast.h: 3581 (WebKit::toAPI): Return 0 if the passed in string is 0. 3582 (WebKit::toCopiedAPI): Ditto. 3583 (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return. 3584 (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect 3585 nll check. 3586 3587 * Shared/WebString.h: Removed isNull function. It can never return true. 3588 Removed constructor code that turns the null string into the empty string. 3589 Instead assert that the passed in string is not null. 3590 3591 2011-02-02 Mark Rowe <mrowe (a] apple.com> 3592 3593 Reviewed by Beth Dakin. 3594 3595 <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer(). 3596 3597 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 3598 (InitWebCoreSystemInterface): Add some missing initializers. 3599 3600 2011-02-02 Sam Weinig <sam (a] webkit.org> 3601 3602 Reviewed by Beth Dakin. 3603 3604 Add ChromeClient function to paint custom overhang areas. 3605 https://bugs.webkit.org/show_bug.cgi?id=53639 3606 3607 * Shared/API/c/WKBase.h: 3608 * Shared/API/c/WKGraphicsContext.cpp: Added. 3609 (WKGraphicsContextGetTypeID): 3610 * Shared/API/c/WKGraphicsContext.h: Added. 3611 * Shared/API/c/WKSharedAPICast.h: 3612 * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added. 3613 (WKGraphicsContextGetCGContext): 3614 * Shared/API/c/cg/WKGraphicsContextCG.h: Added. 3615 * Shared/APIObject.h: 3616 * Shared/WebGraphicsContext.cpp: Added. 3617 (WebKit::WebGraphicsContext::WebGraphicsContext): 3618 * Shared/WebGraphicsContext.h: Added. 3619 (WebKit::WebGraphicsContext::create): 3620 (WebKit::WebGraphicsContext::platformContext): 3621 (WebKit::WebGraphicsContext::type): 3622 Add WebGraphicsContext API type. 3623 3624 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 3625 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 3626 (WebKit::InjectedBundlePageUIClient::pageDidScroll): 3627 (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea): 3628 (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea): 3629 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 3630 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 3631 (WebKit::WebChromeClient::paintCustomOverhangArea): 3632 * WebProcess/WebCoreSupport/WebChromeClient.h: 3633 Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient. 3634 3635 * UIProcess/API/C/WebKit2.h: 3636 * WebKit2.pro: 3637 * WebKit2.xcodeproj/project.pbxproj: 3638 * win/WebKit2.vcproj: 3639 * win/WebKit2Generated.make: 3640 Add new files. 3641 3642 2011-02-02 Anders Carlsson <andersca (a] apple.com> 3643 3644 Reviewed by Dan Bernstein. 3645 3646 Work towards making the layer tree host be in charge of all painting 3647 https://bugs.webkit.org/show_bug.cgi?id=53636 3648 3649 Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode, 3650 since the layer tree host is supposed to handle all drawing in that case. 3651 3652 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3653 (WebKit::DrawingAreaImpl::scroll): 3654 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 3655 (WebKit::DrawingAreaImpl::setSize): 3656 (WebKit::DrawingAreaImpl::didUpdate): 3657 3658 2011-02-02 Mark Rowe <mrowe (a] apple.com> 3659 3660 Fix the 32-bit build. 3661 3662 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 3663 (WebKit::computeFakeWindowBoundsRect): 3664 3665 2011-02-02 Anders Carlsson <andersca (a] apple.com> 3666 3667 Reviewed by Sam Weinig. 3668 3669 Make sure that we don't try to call display() when in accelerated compositing mode 3670 https://bugs.webkit.org/show_bug.cgi?id=53629 3671 3672 When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called. 3673 3674 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3675 (WebKit::DrawingAreaImpl::setNeedsDisplay): 3676 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 3677 (WebKit::DrawingAreaImpl::display): 3678 3679 2011-02-02 Adam Roben <aroben (a] apple.com> 3680 3681 Assert WebBackForwardList's current index is valid to help catch errors 3682 3683 Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce. 3684 3685 Fixes <http://webkit.org/b/53622>. 3686 3687 Reviewed by Brady Eidson. 3688 3689 * UIProcess/WebBackForwardList.cpp: 3690 (WebKit::WebBackForwardList::WebBackForwardList): 3691 (WebKit::WebBackForwardList::addItem): 3692 (WebKit::WebBackForwardList::goToItem): 3693 (WebKit::WebBackForwardList::currentItem): 3694 (WebKit::WebBackForwardList::backItem): 3695 (WebKit::WebBackForwardList::forwardItem): 3696 (WebKit::WebBackForwardList::itemAtIndex): 3697 (WebKit::WebBackForwardList::backListCount): 3698 (WebKit::WebBackForwardList::forwardListCount): 3699 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 3700 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 3701 (WebKit::WebBackForwardList::clear): 3702 * UIProcess/cf/WebBackForwardListCF.cpp: 3703 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 3704 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 3705 Assert that m_current is valid. 3706 3707 * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so 3708 that it can be used from WebBackForwardListCF.cpp. 3709 3710 2011-02-02 Anders Carlsson <andersca (a] apple.com> 3711 3712 Reviewed by Sam Weinig. 3713 3714 The drawing area proxy should keep track of the accelerated compositing state 3715 https://bugs.webkit.org/show_bug.cgi?id=53624 3716 3717 * UIProcess/DrawingAreaProxyImpl.cpp: 3718 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 3719 Initialize m_isInAcceleratedCompositingMode to false. 3720 3721 (WebKit::DrawingAreaProxyImpl::paint): 3722 Don't try to paint if we're in accelerated compositing mode. 3723 3724 (WebKit::DrawingAreaProxyImpl::didSetSize): 3725 Bail if we're in accelerated compositing mode. 3726 3727 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3728 Set m_isInAcceleratedCompositingMode to true, null out the backing store. 3729 3730 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3731 Set m_isInAcceleratedCompositingMode back to false. 3732 3733 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 3734 Assert that we're not in accelerated compositing mode. 3735 3736 * UIProcess/DrawingAreaProxyImpl.h: 3737 3738 2011-02-02 Timothy Hatcher <timothy (a] apple.com> 3739 3740 Give the Web Process access to the Safari RSS preferences. 3741 3742 <rdar://problem/8916870> Sandbox violation related to RSS during initial 3743 page load with WebKit2 (prevents RSS from working) 3744 3745 Reviewed by Darin Adler. 3746 3747 * WebProcess/com.apple.WebProcess.sb: 3748 3749 2011-02-02 Steve Lacey <sjl (a] chromium.org> 3750 3751 Reviewed by Eric Carlson. 3752 3753 Implement basic media statistics on media elements. 3754 https://bugs.webkit.org/show_bug.cgi?id=53322 3755 3756 * Configurations/FeatureDefines.xcconfig: 3757 3758 2011-02-01 Alexey Proskuryakov <ap (a] apple.com> 3759 3760 Reviewed by Sam Weinig. 3761 3762 https://bugs.webkit.org/show_bug.cgi?id=53561 3763 <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of 3764 printing mode a lot 3765 3766 Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when 3767 resizing the window), so that we don't have to switch modes all the time. 3768 3769 * UIProcess/API/mac/PageClientImpl.h: 3770 * UIProcess/API/mac/PageClientImpl.mm: 3771 (WebKit::PageClientImpl::setAutodisplay): 3772 * UIProcess/PageClient.h: 3773 * UIProcess/WebPageProxy.cpp: 3774 (WebKit::WebPageProxy::setAutodisplay): 3775 * UIProcess/WebPageProxy.h: 3776 Pipe the call from WKPrintingView down to WKView. 3777 3778 * UIProcess/API/mac/WKPrintingView.mm: 3779 (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing, 3780 because layout is changed to print at the time, and drawing to screen requires relayout. 3781 3782 (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call 3783 -[super endDocument] for unknown but definitive good (oops!). 3784 3785 2011-02-02 David Hyatt <hyatt (a] apple.com> 3786 3787 Reviewed by Darin Adler. 3788 3789 Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors. 3790 3791 * UIProcess/win/WebPopupMenuProxyWin.cpp: 3792 (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize): 3793 * UIProcess/win/WebView.cpp: 3794 (WebKit::WebView::prepareCandidateWindow): 3795 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 3796 (WebKit::NetscapePlugin::platformGeometryDidChange): 3797 3798 2011-02-01 Darin Adler <darin (a] apple.com> 3799 3800 Reviewed by Anders Carlsson. 3801 3802 Overflow in WebKit2 argument decoder buffer checking 3803 https://bugs.webkit.org/show_bug.cgi?id=53536 3804 3805 * Platform/CoreIPC/ArgumentDecoder.cpp: 3806 (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace 3807 C casts with C++ casts. 3808 (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation 3809 so we don't do any math with the passed-in size, because that could overflow. 3810 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto. 3811 3812 2011-02-01 Csaba Osztrogonc <ossy (a] webkit.org> 3813 3814 Unreviewed. 3815 3816 Fix Qt build after r77339. 3817 3818 * UIProcess/API/qt/qwkpage.cpp: 3819 (QWKPagePrivate::enterAcceleratedCompositingMode): 3820 (QWKPagePrivate::exitAcceleratedCompositingMode): 3821 * UIProcess/API/qt/qwkpage_p.h: 3822 3823 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3824 3825 Reviewed by Dan Bernstein. 3826 3827 Attach the layer tree in the UI process 3828 https://bugs.webkit.org/show_bug.cgi?id=53560 3829 3830 * UIProcess/API/mac/WKView.mm: 3831 (-[WKView _enterAcceleratedCompositingMode:]): 3832 Make a render layer and add it as a sublayer of our root layer. 3833 3834 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 3835 Make LayerTreeHostMac a GraphicsLayerClient. 3836 3837 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3838 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3839 Create a root layer, add the layer subtree as a child of the root layer. 3840 3841 (WebKit::LayerTreeHostMac::~LayerTreeHostMac): 3842 Assert that m_rootLayer is null. 3843 3844 (WebKit::LayerTreeHostMac::invalidate): 3845 Null out m_rootLayer. 3846 3847 (WebKit::LayerTreeHostMac::notifyAnimationStarted): 3848 (WebKit::LayerTreeHostMac::notifySyncRequired): 3849 (WebKit::LayerTreeHostMac::paintContents): 3850 Add stubs. 3851 3852 (WebKit::LayerTreeHostMac::showDebugBorders): 3853 (WebKit::LayerTreeHostMac::showRepaintCounter): 3854 Return the correct settings. 3855 3856 (WebKit::LayerTreeHostMac::flushPendingLayerChanges): 3857 Flush the root layer changes. 3858 3859 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3860 3861 Fix Windows build. 3862 3863 * UIProcess/win/WebView.cpp: 3864 (WebKit::WebView::enterAcceleratedCompositingMode): 3865 (WebKit::WebView::exitAcceleratedCompositingMode): 3866 * UIProcess/win/WebView.h: 3867 3868 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3869 3870 Reviewed by Dan Bernstein. 3871 3872 Add a layer backed NSView for accelerated content 3873 https://bugs.webkit.org/show_bug.cgi?id=53555 3874 3875 Rename the current _layerHostingView to _oldLayerHostingView and 3876 add a new _layerHostingView to be used with the new drawing area. 3877 3878 * UIProcess/API/mac/WKView.mm: 3879 (-[WKView hitTest:]): 3880 (-[WKView _startAcceleratedCompositing:]): 3881 (-[WKView _stopAcceleratedCompositing]): 3882 (-[WKView _enterAcceleratedCompositingMode:]): 3883 (-[WKView _exitAcceleratedCompositingMode]): 3884 3885 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3886 3887 Reviewed by Dan Bernstein. 3888 3889 Pass enter/exit accelerated compositing mode to the WKView 3890 https://bugs.webkit.org/show_bug.cgi?id=53552 3891 3892 * UIProcess/API/mac/PageClientImpl.h: 3893 * UIProcess/API/mac/PageClientImpl.mm: 3894 (WebKit::PageClientImpl::enterAcceleratedCompositingMode): 3895 (WebKit::PageClientImpl::exitAcceleratedCompositingMode): 3896 * UIProcess/API/mac/WKView.mm: 3897 (-[WKView _enterAcceleratedCompositingMode:]): 3898 (-[WKView _exitAcceleratedCompositingMode]): 3899 * UIProcess/API/mac/WKViewInternal.h: 3900 * UIProcess/DrawingAreaProxyImpl.cpp: 3901 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3902 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3903 * UIProcess/PageClient.h: 3904 * UIProcess/WebPageProxy.cpp: 3905 (WebKit::WebPageProxy::enterAcceleratedCompositingMode): 3906 (WebKit::WebPageProxy::exitAcceleratedCompositingMode): 3907 * UIProcess/WebPageProxy.h: 3908 3909 2011-02-01 Csaba Osztrogonc <ossy (a] webkit.org> 3910 3911 Unreviewed Qt buildfix after r77286. 3912 3913 https://bugs.webkit.org/show_bug.cgi?id=53520 3914 Remove the physical terminology from IntRect and FloatRect. 3915 3916 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 3917 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 3918 3919 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3920 3921 Reviewed by Adam Roben. 3922 3923 Send messages when entering/exiting accelerated compositing 3924 https://bugs.webkit.org/show_bug.cgi?id=53534 3925 3926 * Shared/LayerTreeContext.h: Added. 3927 * Shared/mac/LayerTreeContextMac.mm: Added. 3928 Add new LayerTreeContext which holds all information needed to enter 3929 accelerated compositing mode. 3930 3931 * UIProcess/DrawingAreaProxy.h: 3932 (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode): 3933 (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode): 3934 Add empty stubs. 3935 3936 * UIProcess/DrawingAreaProxy.messages.in: 3937 Add new messgaes. 3938 3939 * UIProcess/DrawingAreaProxyImpl.cpp: 3940 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 3941 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 3942 * UIProcess/DrawingAreaProxyImpl.h: 3943 Add empty stubs. 3944 3945 * WebKit2.xcodeproj/project.pbxproj: 3946 Add new files. 3947 3948 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 3949 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3950 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3951 (WebKit::LayerTreeHostMac::invalidate): 3952 Send messages. 3953 3954 2011-02-01 Alexey Proskuryakov <ap (a] apple.com> 3955 3956 Reviewed by Dan Bernstein and Darin Adler. 3957 3958 <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible 3959 3960 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of 3961 letting AppKit compute content position on page, make the view provide it. We can do this 3962 because WK(Printing)Views are always printed on their own, not as part of other views. 3963 3964 2011-02-01 Anders Carlsson <andersca (a] apple.com> 3965 3966 Reviewed by Adam Roben. 3967 3968 Make LayerTreeHost ref counted 3969 https://bugs.webkit.org/show_bug.cgi?id=53530 3970 3971 LayerTreeHostMac will soon be able to trigger layout, which could cause 3972 the page to leave accelerated compositing mode and free the LayerTreeHostMac object. 3973 3974 Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout. 3975 3976 * WebProcess/WebPage/DrawingAreaImpl.cpp: 3977 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 3978 * WebProcess/WebPage/DrawingAreaImpl.h: 3979 * WebProcess/WebPage/LayerTreeHost.cpp: 3980 (WebKit::LayerTreeHost::create): 3981 * WebProcess/WebPage/LayerTreeHost.h: 3982 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 3983 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 3984 (WebKit::LayerTreeHostMac::create): 3985 (WebKit::LayerTreeHostMac::LayerTreeHostMac): 3986 (WebKit::LayerTreeHostMac::~LayerTreeHostMac): 3987 (WebKit::LayerTreeHostMac::invalidate): 3988 3989 2011-02-01 Sam Weinig <sam (a] webkit.org> 3990 3991 Reviewed by Beth Dakin. 3992 3993 Part 2 for <rdar://problem/8492788> 3994 Adopt WKScrollbarPainterController 3995 3996 Use header detection to define scrollbar painting controller #define. 3997 3998 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 3999 (InitWebCoreSystemInterface): 4000 4001 2011-02-01 David Hyatt <hyatt (a] apple.com> 4002 4003 Reviewed by Oliver Hunt. 4004 4005 https://bugs.webkit.org/show_bug.cgi?id=53520 4006 4007 Remove the physical terminology from IntRect and FloatRect. 4008 4009 Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes, 4010 we need to update our terminology to be more accurate. 4011 4012 I'm borrowing a page from AppKit here (which also supports flipped NSViews) and 4013 renaming right() and bottom() to maxX() and maxY(). These terms remain accurate 4014 even for flipped rectangles. 4015 4016 * Platform/Region.cpp: 4017 (WebKit::Region::Shape::Shape): 4018 * UIProcess/API/mac/WKPrintingView.mm: 4019 (pageDidComputePageRects): 4020 * UIProcess/FindIndicator.cpp: 4021 (WebKit::FindIndicator::draw): 4022 * UIProcess/TiledDrawingAreaProxy.cpp: 4023 (WebKit::TiledDrawingAreaProxy::invalidate): 4024 (WebKit::TiledDrawingAreaProxy::paint): 4025 (WebKit::TiledDrawingAreaProxy::createTiles): 4026 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 4027 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 4028 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 4029 (WebKit::NetscapePlugin::callSetWindow): 4030 4031 2011-02-01 Anders Carlsson <andersca (a] apple.com> 4032 4033 Reviewed by Adam Roben. 4034 4035 Move flushPendingLayerChanges to LayerTreeHostMac 4036 https://bugs.webkit.org/show_bug.cgi?id=53525 4037 4038 In preparation for adding more Mac specific code to flushPendingLayerChanges. 4039 4040 * WebProcess/WebPage/LayerTreeHost.cpp: 4041 * WebProcess/WebPage/LayerTreeHost.h: 4042 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 4043 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 4044 (WebKit::LayerTreeHostMac::flushPendingLayerChanges): 4045 4046 2011-02-01 Beth Dakin <bdakin (a] apple.com> 4047 4048 Reviewed by Sam Weinig. 4049 4050 Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController 4051 4052 Implement NSView's viewWillStartLiveResize and 4053 viewDidEndLiveResize and propagate the messages down 4054 to WebCore. 4055 * UIProcess/API/mac/WKView.mm: 4056 (-[WKView viewWillStartLiveResize]): 4057 (-[WKView viewDidEndLiveResize]): 4058 * UIProcess/WebPageProxy.cpp: 4059 (WebKit::WebPageProxy::viewWillStartLiveResize): 4060 (WebKit::WebPageProxy::viewWillEndLiveResize): 4061 * UIProcess/WebPageProxy.h: 4062 * WebProcess/WebPage/WebPage.cpp: 4063 (WebKit::WebPage::viewWillStartLiveResize): 4064 (WebKit::WebPage::viewWillEndLiveResize): 4065 * WebProcess/WebPage/WebPage.h: 4066 * WebProcess/WebPage/WebPage.messages.in: 4067 4068 A bunch of new WebKitSystemInterface functions. 4069 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 4070 (InitWebCoreSystemInterface): 4071 4072 2011-02-01 Dave Hyatt <hyatt (a] apple.com> 4073 4074 Reviewed by Darin Adler. 4075 4076 https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work 4077 with vertical text. 4078 4079 Change printing functions to check writing-mode and properly swap width and height 4080 as needed. 4081 4082 * WebProcess/WebPage/WebPage.cpp: 4083 (WebKit::WebPage::computePagesForPrinting): 4084 4085 2011-01-31 Alexey Proskuryakov <ap (a] apple.com> 4086 4087 Reviewed by Maciej Stachowiak. 4088 4089 https://bugs.webkit.org/show_bug.cgi?id=53466 4090 Move WebKit2 to printing via API methods 4091 4092 Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1 4093 4094 Also fixes horizontal tiling (no bug filed). 4095 4096 The main idea here is that we don't force AppKit to use a different scaling factor when 4097 a Web view can't be resized to exact page size, and scale when drawing instead. 4098 4099 * UIProcess/API/mac/WKPrintingView.mm: 4100 (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method. 4101 (-[WKPrintingView _lastPrintedPageNumber]): Ditto. 4102 (pageDidDrawToPDF): Avoid crashing if data is null. 4103 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber 4104 and -_lastPrintedPageNumber. 4105 (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView 4106 that's been asked to resize. 4107 (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y() 4108 when tiling horizontally. 4109 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are 4110 now using different units, translate as appropriate. 4111 (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units. 4112 (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print 4113 isn't page 1. 4114 (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units. 4115 4116 2011-01-31 Darin Adler <darin (a] apple.com> 4117 4118 Reviewed by Adele Peterson. 4119 4120 WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors 4121 https://bugs.webkit.org/show_bug.cgi?id=53460 4122 4123 * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that 4124 are implemented in WebCore so they will get forwarded. Many of these will probably work without 4125 any further changes required. Added comments about the methods that we do not yet forward. 4126 (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and 4127 scrollPageUp: to ScrollPageBackward because we want the page up and page down 4128 keys to follow the document logical order, not physical order. This is equivalent 4129 to what we do in WebPage::performDefaultBehaviorForKeyEvent. 4130 4131 2011-01-31 Jessie Berlin <jberlin (a] apple.com> 4132 4133 Reviewed by Steve Falkenburg. 4134 4135 WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level 4136 directory. 4137 https://bugs.webkit.org/show_bug.cgi?id=53278 4138 4139 Use the name WebKit2WebProcess since the default location for the cookies is determined 4140 based on the process name (which is WebKit2WebProcess.exe on Windows). 4141 4142 * win/WebKit2.make: 4143 Copy the WebKit2WebProcess.resources directory into the AppleInternal bin. 4144 4145 * win/WebKit2WebProcess.resources: Added. 4146 * win/WebKit2WebProcess.resources/Info.plist: Added. 4147 Copied from the WebKit version of Info.plist. 4148 4149 * win/WebKit2WebProcessPostBuild.cmd: 4150 Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin. 4151 4152 2011-01-31 Anders Carlsson <andersca (a] apple.com> 4153 4154 Reviewed by Adam Roben. 4155 4156 Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it 4157 https://bugs.webkit.org/show_bug.cgi?id=53432 4158 4159 * WebKit2.xcodeproj/project.pbxproj: 4160 Add LayerTreeHostMac.h. 4161 4162 * WebProcess/WebPage/DrawingAreaImpl.cpp: 4163 * WebProcess/WebPage/DrawingAreaImpl.h: 4164 Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately. 4165 4166 * WebProcess/WebPage/LayerTreeHost.cpp: 4167 (WebKit::LayerTreeHost::create): 4168 On Mac, create a LayerTreeHostMac instance. 4169 4170 (WebKit::LayerTreeHost::~LayerTreeHost): 4171 No need to call platformInvalidate anymore. 4172 4173 * WebProcess/WebPage/LayerTreeHost.h: 4174 * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added. 4175 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 4176 (WebKit::LayerTreeHostMac::~LayerTreeHostMac): 4177 Invalidate the run loop observer here instead of in platformInvalidate. 4178 4179 (WebKit::LayerTreeHostMac::scheduleLayerFlush): 4180 (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback): 4181 These are now members of LayerTreeHostMac. 4182 4183 2011-01-30 Geoffrey Garen <ggaren (a] apple.com> 4184 4185 Reviewed by Sam Weinig. 4186 4187 [Take 2!] 4188 Fixed crash on window close (maybe crash on launch?) due to missing frame null checks 4189 https://bugs.webkit.org/show_bug.cgi?id=53408 4190 4191 * UIProcess/WebContext.cpp: 4192 (WebKit::WebContext::didNavigateWithNavigationData): 4193 (WebKit::WebContext::didPerformClientRedirect): 4194 (WebKit::WebContext::didPerformServerRedirect): 4195 (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because 4196 we don't think we should be able to reach this state under normal conditions. 4197 4198 2011-01-30 Geoffrey Garen <ggaren (a] apple.com> 4199 4200 Reviewed by Maciej Stachowiak. 4201 4202 Fixed crash on window close (maybe crash on launch?) due to missing 4203 frame null checks 4204 https://bugs.webkit.org/show_bug.cgi?id=53408 4205 4206 * UIProcess/WebContext.cpp: 4207 (WebKit::WebContext::didNavigateWithNavigationData): 4208 (WebKit::WebContext::didPerformClientRedirect): 4209 (WebKit::WebContext::didPerformServerRedirect): 4210 (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're 4211 calling a function that can return it. 4212 4213 2011-01-30 Balazs Kelemen <kbalazs (a] webkit.org> 4214 4215 Reviewed by Csaba Osztrogonc. 4216 4217 [Qt][WK2]REGRESSION (r76991): Fix build errors 4218 https://bugs.webkit.org/show_bug.cgi?id=53400 4219 4220 Revert the temporary build fix (http://trac.webkit.org/changeset/77088) 4221 and remove WebKit2Prefix.h from the build. 4222 * UIProcess/API/qt/qwkhistory.h: 4223 * UIProcess/API/qt/qwkpage.h: 4224 * WebKit2.pro: 4225 4226 2011-01-30 Jeff Miller <jeffm (a] apple.com> 4227 4228 Reviewed by Dan Bernstein. 4229 4230 FindController::updateFindIndicator() crashes if selection isn't visible 4231 https://bugs.webkit.org/show_bug.cgi?id=53399 4232 4233 * WebProcess/WebPage/FindController.cpp: 4234 (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty). 4235 4236 2011-01-30 Csaba Osztrogonc <ossy (a] webkit.org> 4237 4238 Unreviewed. 4239 4240 [Qt][WK2] Buildfix. 4241 4242 * UIProcess/API/qt/qwkhistory.h: 4243 * UIProcess/API/qt/qwkpage.h: 4244 4245 2011-01-29 Maciej Stachowiak <mjs (a] apple.com> 4246 4247 Reviewed by Geoffrey Garen. 4248 4249 Add WKPageCopyPendingAPIRequestURL API 4250 https://bugs.webkit.org/show_bug.cgi?id=53383 4251 4252 This API returns the last URL requested for load via API, if neither that load nor any 4253 other load subsequently reaches the provisional state. 4254 4255 This is useful to be able to track loads initiated via the API 4256 4257 * UIProcess/API/C/WKPage.cpp: 4258 (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL. 4259 * UIProcess/API/C/WKPage.h: 4260 * UIProcess/WebPageProxy.cpp: 4261 (WebKit::WebPageProxy::loadURL): Set pending URL. 4262 (WebKit::WebPageProxy::loadURLRequest): ditto 4263 (WebKit::WebPageProxy::reload): ditto 4264 (WebKit::WebPageProxy::goForward): ditto 4265 (WebKit::WebPageProxy::goBack): ditto 4266 (WebKit::WebPageProxy::estimatedProgress): Assume the initial 4267 progress value when there is a pending URL. 4268 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear 4269 pending URL; clients should look at the provisional URL now. 4270 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear 4271 pending URL if it doesn't match the policy URL; this means we 4272 were interrupted by another load. 4273 * UIProcess/WebPageProxy.h: 4274 (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function. 4275 (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto 4276 (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto 4277 4278 2011-01-28 Jon Honeycutt <jhoneycutt (a] apple.com> 4279 4280 Downloads in WK2 on Windows should write resume data to bundle 4281 https://bugs.webkit.org/show_bug.cgi?id=53282 4282 <rdar://problem/8753077> 4283 4284 Reviewed by Alice Liu. 4285 4286 * WebProcess/Downloads/Download.cpp: 4287 (WebKit::Download::decideDestinationWithSuggestedFilename): 4288 Call didDecideDestination(), now that the destination is decided. 4289 4290 * WebProcess/Downloads/Download.h: 4291 Declare didDecideDestination(). Added member variables to hold the 4292 destination file path and the download bundle path. 4293 (WebKit::Download::destination): 4294 Return the path to the final destination for this download. 4295 4296 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 4297 (WebKit::Download::start): 4298 Remove the name of an unused param. 4299 (WebKit::Download::startWithHandle): 4300 Ditto. 4301 (WebKit::Download::cancel): 4302 Tell CFNetwork not to delete the file upon failure, and tell it to 4303 cancel the download. Copy the resume data for the download, and append 4304 it to the download bundle. Call didCancel() with an empty 4305 DataReference, since we have written our own resume data. 4306 (WebKit::decideDestinationWithSuggestedObjectNameCallback): 4307 Remove some unused param names. Removed the call to 4308 CFURLDownloadSetDestination() - this is now handled in 4309 Download::didDecideDestination(). 4310 (WebKit::didCreateDestinationCallback): 4311 Report that the final destination was created, rather than the download 4312 bundle, matching old WebKit. 4313 (WebKit::Download::didDecideDestination): 4314 Store the final destination and the download bundle paths, and call 4315 CFURLDownloadSetDestination(), passing the path to the download bundle. 4316 4317 * WebProcess/Downloads/curl/DownloadCurl.cpp: 4318 (WebKit::Download::didDecideDestination): 4319 Stubbed. 4320 4321 * WebProcess/Downloads/mac/DownloadMac.mm: 4322 (WebKit::Download::didDecideDestination): 4323 Stubbed - unneeded on the Mac. 4324 4325 * WebProcess/Downloads/qt/DownloadQt.cpp: 4326 (WebKit::Download::didDecideDestination): 4327 Stubbed. 4328 4329 2011-01-29 Jeff Miller <jeffm (a] apple.com> 4330 4331 Reviewed by Anders Carlsson. 4332 4333 Support find bouncy in WebKit2 on Windows 4334 https://bugs.webkit.org/show_bug.cgi?id=53329 4335 <rdar://problem/8565843> 4336 The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows. 4337 Add infrastructure to call back into the app when the find indicator changes. 4338 4339 * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations. 4340 (WKViewSetFindIndicatorCallback): Added. 4341 (WKViewGetFindIndicatorCallback): Added. 4342 * UIProcess/API/C/win/WKView.h: Cleanup some code style violations. 4343 * UIProcess/FindIndicator.cpp: 4344 (WebKit::FindIndicator::create): 4345 (WebKit::FindIndicator::FindIndicator): 4346 (WebKit::FindIndicator::frameRect): 4347 (WebKit::FindIndicator::draw): 4348 Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system. 4349 * UIProcess/FindIndicator.h: 4350 (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added. 4351 (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates. 4352 * UIProcess/WebPageProxy.cpp: 4353 (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system. 4354 * UIProcess/WebPageProxy.h: Ditto. 4355 * UIProcess/win/WebView.cpp: 4356 (WebKit::WebView::WebView): 4357 (WebKit::WebView::setFindIndicator): Added. 4358 (WebKit::WebView::setFindIndicatorCallback): Added. 4359 (WebKit::WebView::getFindIndicatorCallback): Added. 4360 * UIProcess/win/WebView.h: 4361 4362 2011-01-28 Alexey Proskuryakov <ap (a] apple.com> 4363 4364 Reviewed by Dan Bernstein. 4365 4366 https://bugs.webkit.org/show_bug.cgi?id=53367 4367 <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview]. 4368 4369 * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common 4370 branch works fine for now, no need to make platforms different. 4371 4372 2011-01-28 Maciej Stachowiak <mjs (a] apple.com> 4373 4374 Reviewed by Dan Bernstein. 4375 4376 WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started 4377 https://bugs.webkit.org/show_bug.cgi?id=53358 4378 4379 * UIProcess/WebPageProxy.cpp: 4380 (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0. 4381 4382 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4383 4384 Yet another build fix (What was I thinking?) 4385 4386 * WebProcess/Downloads/Download.h: 4387 * WebProcess/Plugins/PluginProxy.h: 4388 4389 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4390 4391 Fix Windows build. 4392 4393 * Shared/PrintInfo.h: 4394 4395 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4396 4397 Fix tyop. 4398 4399 * Shared/mac/CoreAnimationRenderer.mm: 4400 4401 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4402 4403 Reviewed by Sam Weinig. 4404 4405 Add CoreAnimationRenderer class 4406 https://bugs.webkit.org/show_bug.cgi?id=53343 4407 4408 * Shared/mac/CoreAnimationRenderer.h: Added. 4409 * Shared/mac/CoreAnimationRenderer.mm: Added. 4410 4411 (WebKit::CoreAnimationRenderer::CoreAnimationRenderer): 4412 Initialize the underlying CARenderer object and hook up a notification observer. 4413 4414 (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer): 4415 Assert that the client is null. It has been set to null by the call to invalidate(). 4416 4417 (WebKit::CoreAnimationRenderer::setBounds): 4418 Update the bounds on the CARenderer and the root layer. 4419 4420 (WebKit::CoreAnimationRenderer::render): 4421 Ask the renderer to render and return the next frame time. 4422 4423 (WebKit::CoreAnimationRenderer::invalidate): 4424 Remove the change observer and reset the client. 4425 4426 (WebKit::CoreAnimationRenderer::rendererDidChange): 4427 Call the client member function. 4428 4429 * WebKit2.xcodeproj/project.pbxproj: 4430 Add new files. 4431 4432 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4433 4434 Reviewed by Sam Weinig. 4435 4436 Add an OBJC_CLASS macro for forward declaring an Objective-C class 4437 https://bugs.webkit.org/show_bug.cgi?id=53337 4438 4439 * Shared/NativeWebKeyboardEvent.h: 4440 * Shared/PrintInfo.h: 4441 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 4442 * UIProcess/LayerBackedDrawingAreaProxy.h: 4443 * UIProcess/WebInspectorProxy.h: 4444 * UIProcess/mac/WebContextMenuProxyMac.h: 4445 * UIProcess/mac/WebPopupMenuProxyMac.h: 4446 * WebProcess/Downloads/Download.h: 4447 * WebProcess/Plugins/PluginProxy.h: 4448 * WebProcess/WebPage/LayerBackedDrawingArea.h: 4449 * WebProcess/WebPage/WebPage.h: 4450 * config.h: 4451 4452 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4453 4454 Reviewed by Sam Weinig. 4455 4456 Don't put config.h in the message headers. 4457 4458 * Scripts/webkit2/messages.py: 4459 * Scripts/webkit2/messages_unittest.py: 4460 4461 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4462 4463 Fix build. 4464 4465 * Shared/mac/ShareableSurface.cpp: 4466 4467 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4468 4469 Try to unbreak the Windows build. 4470 4471 * UIProcess/cf/WebPageProxyCF.cpp: 4472 4473 2011-01-28 Brady Eidson <beidson (a] apple.com> 4474 4475 Reviewed by John Sullivan. 4476 4477 https://bugs.webkit.org/show_bug.cgi?id=53330 4478 Need InjectedBundle API to get the response MIMEType for a URL 4479 4480 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 4481 (WKBundleFrameCopyMIMETypeForResourceWithURL): 4482 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 4483 4484 Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available: 4485 * WebProcess/WebPage/WebFrame.cpp: 4486 (WebKit::WebFrame::mimeTypeForResourceWithURL): 4487 * WebProcess/WebPage/WebFrame.h: 4488 4489 Get the MIMEType from the platform's disk cache if available: 4490 * WebProcess/WebPage/WebPage.h: 4491 * WebProcess/WebPage/mac/WebPageMac.mm: 4492 (WebKit::WebPage::cachedResponseMIMETypeForURL): 4493 * WebProcess/WebPage/qt/WebPageQt.cpp: 4494 (WebKit::WebPage::cachedResponseMIMETypeForURL): 4495 * WebProcess/WebPage/win/WebPageWin.cpp: 4496 (WebKit::WebPage::cachedResponseMIMETypeForURL): 4497 4498 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4499 4500 Reviewed by Sam Weinig. 4501 4502 Clean up the mess introduced when config.h was added to the project: 4503 4504 - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything 4505 twice in each file, probably slowing down compile time. 4506 4507 - Add config.h to all the files that were forgotten in order to keep the build from breaking. 4508 4509 - Added trap to ensure that config.h is included at the top of every implementation file. If this 4510 had been added it would have caught the previous issue. 4511 4512 2011-01-28 Stephanie Lewis <slewis (a] apple.com> 4513 4514 Reviewed by Geoff Garen. 4515 4516 <rdar://problem/8857651> Implement unregisterWorld for WebKit2 4517 Rename unregisterWorld to clearWrappers. Clearing the wrappers reduces the 4518 memory use of isolated worlds. 4519 4520 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 4521 (WKBundleScriptWorldClearWrappers): 4522 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: 4523 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: 4524 (WebKit::InjectedBundleScriptWorld::clearWrappers): 4525 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 4526 4527 2011-01-28 Dan Bernstein <mitz (a] apple.com> 4528 4529 Reviewed by Sam Weinig. 4530 4531 <select> can't display right-to-left (rtl) languages 4532 https://bugs.webkit.org/show_bug.cgi?id=19785 4533 4534 * Shared/WebPopupItem.cpp: 4535 (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride. 4536 (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values. 4537 (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values. 4538 * Shared/WebPopupItem.h: 4539 * UIProcess/WebPageProxy.cpp: 4540 (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction. 4541 * UIProcess/WebPageProxy.h: 4542 * UIProcess/WebPageProxy.messages.in: Ditto. 4543 * UIProcess/WebPopupMenuProxy.h: 4544 * UIProcess/mac/WebPopupMenuProxyMac.h: 4545 * UIProcess/mac/WebPopupMenuProxyMac.mm: 4546 (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction. 4547 Set items' text alignment to match the menu's writing direction. Set items' writing direction 4548 and direction override according to their styles. 4549 (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction. 4550 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4551 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false. 4552 (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. 4553 * WebProcess/WebCoreSupport/WebChromeClient.h: 4554 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 4555 (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override 4556 values. 4557 (WebKit::WebPopupMenu::show): Pass the menu's writing direction. 4558 4559 2011-01-28 Anders Carlsson <andersca (a] apple.com> 4560 4561 Reviewed by Adam Roben. 4562 4563 Add ShareableSurface class 4564 https://bugs.webkit.org/show_bug.cgi?id=53313 4565 4566 * Shared/mac/ShareableSurface.cpp: Added. 4567 (WebKit::ShareableSurface::Handle::Handle): 4568 Initialize the mach port. 4569 4570 (WebKit::ShareableSurface::Handle::~Handle): 4571 Deallocate our send right if needed. 4572 4573 (WebKit::ShareableSurface::Handle::encode): 4574 Encode the send right, and then null it out. 4575 4576 (WebKit::ShareableSurface::Handle::decode): 4577 Decode the send right. 4578 4579 (WebKit::createIOSurface): 4580 Create an IOSurface with the given size. 4581 4582 (WebKit::ShareableSurface::create): 4583 Create an IOSurface, either from a size or from a handle. 4584 4585 (WebKit::ShareableSurface::~ShareableSurface): 4586 Delete the texture and framebuffer. 4587 4588 (WebKit::ShareableSurface::createHandle): 4589 Create a mach port from the surface. 4590 4591 (WebKit::ShareableSurface::attach): 4592 Create an FBO if needed and bind it. 4593 4594 (WebKit::ShareableSurface::detach): 4595 Unbind the FBO. 4596 4597 (WebKit::ShareableSurface::textureID): 4598 Generate a new texture and bind it to the IOSurface. 4599 4600 * Shared/mac/ShareableSurface.h: Added. 4601 4602 * WebKit2.xcodeproj/project.pbxproj: 4603 Add new files. 4604 4605 2011-01-27 Adam Roben <aroben (a] apple.com> 4606 4607 Change BinarySemaphore to wrap an auto-reset Win32 event on Windows 4608 4609 Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>. 4610 4611 Reviewed by Dave Hyatt. 4612 4613 * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN). 4614 4615 * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE 4616 member that holds the event. 4617 4618 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp. 4619 (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event. 4620 (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event. 4621 (CoreIPC::BinarySemaphore::signal): Signal the event. 4622 (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait 4623 for the event to be signaled or for the interval to elapse. 4624 4625 * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file. 4626 4627 2011-01-27 Chris Marrin <cmarrin (a] apple.com> 4628 4629 Reviewed by Anders Carlsson. 4630 4631 WebKit2: Page flashes just before accelerated compositing animation 4632 https://bugs.webkit.org/show_bug.cgi?id=53274 4633 4634 When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy 4635 is getting created with the current page size. When the setSize() call is 4636 subsequently made, the sizeDidChange() call is not made (which does the initial 4637 render of the page) because the old size and new size are the same. The solution 4638 is to skip the setting of the size in the ctor and let it go through a size 4639 change sequence. 4640 4641 * UIProcess/DrawingAreaProxy.cpp: 4642 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 4643 4644 2011-01-28 Alejandro G. Castro <alex (a] igalia.com> 4645 4646 Reviewed by Xan Lopez. 4647 4648 [GTK] Fix dist compilation for the release 4649 https://bugs.webkit.org/show_bug.cgi?id=53290 4650 4651 * GNUmakefile.am: Remove a file that is not in the repository 4652 anymore. 4653 4654 4655 2011-01-28 Andreas Kling <kling (a] webkit.org> 4656 4657 Rubber-stamped by Simon Hausmann. 4658 4659 [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal. 4660 4661 Having two signals for this is redundant, combine them into 4662 QWKPage::engineConnectionChanged(bool connected). 4663 4664 * UIProcess/API/qt/qwkpage.cpp: 4665 (QWKPagePrivate::didRelaunchProcess): 4666 (QWKPagePrivate::processDidCrash): 4667 * UIProcess/API/qt/qwkpage.h: 4668 4669 2011-01-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 4670 4671 Reviewed by Maciej Stachowiak. 4672 4673 Build fix for Mac Intel Debug after r76916 4674 https://bugs.webkit.org/show_bug.cgi?id=53284 4675 4676 Fix macro redefinition by guarding the redefined macros. 4677 4678 * config.h: 4679 4680 2011-01-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 4681 4682 Unreviewed build fix for Mac Intel Debug after r76916. 4683 4684 Fix macro redefinition by guarding the redefined macros. 4685 4686 Check if the macro is already defined before defininig it. 4687 c++config.h has the same macros with the same values. 4688 4689 * config.h: 4690 4691 2011-01-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 4692 4693 Reviewed by Adam Barth. 4694 4695 Update the expected results for test-webkitpy after r76916. 4696 4697 Include "config.h" in the expected results as well. 4698 4699 * Scripts/webkit2/messages_unittest.py: 4700 4701 2011-01-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 4702 4703 Unreviewed buildfix for SnowLeopard Intel Debug. 4704 4705 Fix macro redefinition by not including config.h. 4706 4707 Revert previous change in WebPageProxyCF.cpp. 4708 4709 * UIProcess/cf/WebPageProxyCF.cpp: 4710 4711 2011-01-27 Greg Coletta <greg.coletta (a] nokia.com> 4712 4713 Reviewed by Laszlo Gombos. 4714 4715 Get rid of prefix header dependency for WebKit2 build system. 4716 https://bugs.webkit.org/show_bug.cgi?id=50174 4717 4718 Add config.h include explicitelly. 4719 4720 * Platform/CoreIPC/ArgumentDecoder.cpp: 4721 * Platform/CoreIPC/ArgumentEncoder.cpp: 4722 * Platform/CoreIPC/Attachment.cpp: 4723 * Platform/CoreIPC/BinarySemaphore.cpp: 4724 * Platform/CoreIPC/Connection.cpp: 4725 * Platform/CoreIPC/DataReference.cpp: 4726 * Platform/CoreIPC/gtk/ConnectionGtk.cpp: 4727 * Platform/CoreIPC/mac/ConnectionMac.cpp: 4728 * Platform/CoreIPC/qt/ConnectionQt.cpp: 4729 * Platform/CoreIPC/win/ConnectionWin.cpp: 4730 * Platform/Logging.cpp: 4731 * Platform/Module.cpp: 4732 * Platform/Region.cpp: 4733 * Platform/RunLoop.cpp: 4734 * Platform/WorkQueue.cpp: 4735 * Platform/cg/CGUtilities.cpp: 4736 * Platform/gtk/RunLoopGtk.cpp: 4737 * Platform/gtk/SharedMemoryGtk.cpp: 4738 * Platform/gtk/WorkQueueGtk.cpp: 4739 * Platform/mac/MachUtilities.cpp: 4740 * Platform/mac/SharedMemoryMac.cpp: 4741 * Platform/mac/WorkQueueMac.cpp: 4742 * Platform/qt/MappedMemoryPool.cpp: 4743 * Platform/qt/ModuleQt.cpp: 4744 * Platform/qt/RunLoopQt.cpp: 4745 * Platform/qt/WorkQueueQt.cpp: 4746 * Platform/win/ModuleWin.cpp: 4747 * Platform/win/RunLoopWin.cpp: 4748 * Platform/win/SharedMemoryWin.cpp: 4749 * Platform/win/WorkQueueWin.cpp: 4750 * PluginProcess/PluginControllerProxy.cpp: 4751 * PluginProcess/PluginProcess.cpp: 4752 * PluginProcess/WebProcessConnection.cpp: 4753 * Scripts/webkit2/messages.py: 4754 * Shared/API/c/WKArray.cpp: 4755 * Shared/API/c/WKCertificateInfo.cpp: 4756 * Shared/API/c/WKContextMenuItem.cpp: 4757 * Shared/API/c/WKData.cpp: 4758 * Shared/API/c/WKDictionary.cpp: 4759 * Shared/API/c/WKError.cpp: 4760 * Shared/API/c/WKImage.cpp: 4761 * Shared/API/c/WKMutableArray.cpp: 4762 * Shared/API/c/WKMutableDictionary.cpp: 4763 * Shared/API/c/WKNumber.cpp: 4764 * Shared/API/c/WKSecurityOrigin.cpp: 4765 * Shared/API/c/WKSerializedScriptValue.cpp: 4766 * Shared/API/c/WKString.cpp: 4767 * Shared/API/c/WKType.cpp: 4768 * Shared/API/c/WKURL.cpp: 4769 * Shared/API/c/WKURLRequest.cpp: 4770 * Shared/API/c/WKURLResponse.cpp: 4771 * Shared/API/c/WKUserContentURLPattern.cpp: 4772 * Shared/API/c/cf/WKStringCF.cpp: 4773 * Shared/API/c/cf/WKURLCF.cpp: 4774 * Shared/API/c/cf/WKURLRequestCF.cpp: 4775 * Shared/API/c/cf/WKURLResponseCF.cpp: 4776 * Shared/API/c/cg/WKImageCG.cpp: 4777 * Shared/API/c/win/WKCertificateInfoWin.cpp: 4778 * Shared/ChildProcess.cpp: 4779 * Shared/ImmutableArray.cpp: 4780 * Shared/ImmutableDictionary.cpp: 4781 * Shared/MutableArray.cpp: 4782 * Shared/MutableDictionary.cpp: 4783 * Shared/OriginAndDatabases.cpp: 4784 * Shared/PlatformPopupMenuData.cpp: 4785 * Shared/Plugins/NPIdentifierData.cpp: 4786 * Shared/Plugins/NPObjectMessageReceiver.cpp: 4787 * Shared/Plugins/NPObjectProxy.cpp: 4788 * Shared/Plugins/NPRemoteObjectMap.cpp: 4789 * Shared/Plugins/NPVariantData.cpp: 4790 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 4791 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 4792 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 4793 * Shared/Plugins/PluginProcessCreationParameters.cpp: 4794 * Shared/PrintInfo.cpp: 4795 * Shared/SessionState.cpp: 4796 * Shared/ShareableBitmap.cpp: 4797 * Shared/UpdateInfo.cpp: 4798 * Shared/VisitedLinkTable.cpp: 4799 * Shared/WebBackForwardListItem.cpp: 4800 * Shared/WebContextMenuItem.cpp: 4801 * Shared/WebContextMenuItemData.cpp: 4802 * Shared/WebError.cpp: 4803 * Shared/WebEvent.cpp: 4804 * Shared/WebEventConversion.cpp: 4805 * Shared/WebGeolocationPosition.cpp: 4806 * Shared/WebImage.cpp: 4807 * Shared/WebKeyboardEvent.cpp: 4808 * Shared/WebMemorySampler.cpp: 4809 * Shared/WebMouseEvent.cpp: 4810 * Shared/WebOpenPanelParameters.cpp: 4811 * Shared/WebPageCreationParameters.cpp: 4812 * Shared/WebPageGroupData.cpp: 4813 * Shared/WebPlatformTouchPoint.cpp: 4814 * Shared/WebPopupItem.cpp: 4815 * Shared/WebPreferencesStore.cpp: 4816 * Shared/WebProcessCreationParameters.cpp: 4817 * Shared/WebTouchEvent.cpp: 4818 * Shared/WebURLRequest.cpp: 4819 * Shared/WebURLResponse.cpp: 4820 * Shared/WebWheelEvent.cpp: 4821 * Shared/cairo/ShareableBitmapCairo.cpp: 4822 * Shared/cf/ArgumentCodersCF.cpp: 4823 * Shared/cg/ShareableBitmapCG.cpp: 4824 * Shared/gtk/ShareableBitmapGtk.cpp: 4825 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 4826 * Shared/mac/CommandLineMac.cpp: 4827 * Shared/mac/UpdateChunk.cpp: 4828 * Shared/qt/CleanupHandler.cpp: 4829 * Shared/qt/NativeWebKeyboardEventQt.cpp: 4830 * Shared/qt/ShareableBitmapQt.cpp: 4831 * Shared/qt/UpdateChunk.cpp: 4832 * Shared/qt/WebCoreArgumentCodersQt.cpp: 4833 * Shared/qt/WebEventFactoryQt.cpp: 4834 * Shared/qt/WebURLRequestQt.cpp: 4835 * Shared/qt/WebURLResponseQt.cpp: 4836 * Shared/win/CommandLineWin.cpp: 4837 * Shared/win/NativeWebKeyboardEventWin.cpp: 4838 * Shared/win/PlatformCertificateInfo.cpp: 4839 * Shared/win/UpdateChunk.cpp: 4840 * Shared/win/WebCoreArgumentCodersWin.cpp: 4841 * Shared/win/WebEventFactory.cpp: 4842 * Shared/win/WebURLRequestWin.cpp: 4843 * Shared/win/WebURLResponseWin.cpp: 4844 * UIProcess/API/C/WKAuthenticationChallenge.cpp: 4845 * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: 4846 * UIProcess/API/C/WKBackForwardList.cpp: 4847 * UIProcess/API/C/WKBackForwardListItem.cpp: 4848 * UIProcess/API/C/WKContext.cpp: 4849 * UIProcess/API/C/WKCredential.cpp: 4850 * UIProcess/API/C/WKDatabaseManager.cpp: 4851 * UIProcess/API/C/WKDownload.cpp: 4852 * UIProcess/API/C/WKFormSubmissionListener.cpp: 4853 * UIProcess/API/C/WKFrame.cpp: 4854 * UIProcess/API/C/WKFramePolicyListener.cpp: 4855 * UIProcess/API/C/WKGeolocationManager.cpp: 4856 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: 4857 * UIProcess/API/C/WKGeolocationPosition.cpp: 4858 * UIProcess/API/C/WKInspector.cpp: 4859 * UIProcess/API/C/WKNavigationData.cpp: 4860 * UIProcess/API/C/WKOpenPanelParameters.cpp: 4861 * UIProcess/API/C/WKOpenPanelResultListener.cpp: 4862 * UIProcess/API/C/WKPage.cpp: 4863 * UIProcess/API/C/WKPageGroup.cpp: 4864 * UIProcess/API/C/WKPreferences.cpp: 4865 * UIProcess/API/C/WKProtectionSpace.cpp: 4866 * UIProcess/API/C/win/WKContextWin.cpp: 4867 * UIProcess/API/C/win/WKView.cpp: 4868 * UIProcess/API/C/win/WKViewPrivate.cpp: 4869 * UIProcess/API/cpp/qt/WKStringQt.cpp: 4870 * UIProcess/API/cpp/qt/WKURLQt.cpp: 4871 * UIProcess/API/qt/ClientImpl.cpp: 4872 * UIProcess/API/qt/qgraphicswkview.cpp: 4873 * UIProcess/API/qt/qwkcontext.cpp: 4874 * UIProcess/API/qt/qwkpage.cpp: 4875 * UIProcess/API/qt/qwkpreferences.cpp: 4876 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 4877 * UIProcess/Authentication/AuthenticationDecisionListener.cpp: 4878 * UIProcess/Authentication/WebCredential.cpp: 4879 * UIProcess/Authentication/WebProtectionSpace.cpp: 4880 * UIProcess/BackingStore.cpp: 4881 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 4882 * UIProcess/Downloads/DownloadProxy.cpp: 4883 * UIProcess/DrawingAreaProxy.cpp: 4884 * UIProcess/DrawingAreaProxyImpl.cpp: 4885 * UIProcess/FindIndicator.cpp: 4886 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 4887 * UIProcess/GeolocationPermissionRequestProxy.cpp: 4888 * UIProcess/Launcher/ProcessLauncher.cpp: 4889 * UIProcess/Launcher/ThreadLauncher.cpp: 4890 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 4891 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: 4892 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 4893 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: 4894 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 4895 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: 4896 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 4897 * UIProcess/Plugins/PluginInfoStore.cpp: 4898 * UIProcess/Plugins/PluginProcessManager.cpp: 4899 * UIProcess/Plugins/PluginProcessProxy.cpp: 4900 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: 4901 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 4902 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 4903 * UIProcess/ResponsivenessTimer.cpp: 4904 * UIProcess/TiledDrawingAreaProxy.cpp: 4905 * UIProcess/VisitedLinkProvider.cpp: 4906 * UIProcess/WebBackForwardList.cpp: 4907 * UIProcess/WebContext.cpp: 4908 * UIProcess/WebContextInjectedBundleClient.cpp: 4909 * UIProcess/WebContextMenuProxy.cpp: 4910 * UIProcess/WebDatabaseManagerProxy.cpp: 4911 * UIProcess/WebDatabaseManagerProxyClient.cpp: 4912 * UIProcess/WebDownloadClient.cpp: 4913 * UIProcess/WebEditCommandProxy.cpp: 4914 * UIProcess/WebFindClient.cpp: 4915 * UIProcess/WebFormClient.cpp: 4916 * UIProcess/WebFormSubmissionListenerProxy.cpp: 4917 * UIProcess/WebFrameListenerProxy.cpp: 4918 * UIProcess/WebFramePolicyListenerProxy.cpp: 4919 * UIProcess/WebFrameProxy.cpp: 4920 * UIProcess/WebGeolocationManagerProxy.cpp: 4921 * UIProcess/WebGeolocationProvider.cpp: 4922 * UIProcess/WebHistoryClient.cpp: 4923 * UIProcess/WebInspectorProxy.cpp: 4924 * UIProcess/WebLoaderClient.cpp: 4925 * UIProcess/WebNavigationData.cpp: 4926 * UIProcess/WebOpenPanelResultListenerProxy.cpp: 4927 * UIProcess/WebPageContextMenuClient.cpp: 4928 * UIProcess/WebPageGroup.cpp: 4929 * UIProcess/WebPageProxy.cpp: 4930 * UIProcess/WebPolicyClient.cpp: 4931 * UIProcess/WebPreferences.cpp: 4932 * UIProcess/WebProcessManager.cpp: 4933 * UIProcess/WebProcessProxy.cpp: 4934 * UIProcess/WebResourceLoadClient.cpp: 4935 * UIProcess/WebUIClient.cpp: 4936 * UIProcess/cf/WebBackForwardListCF.cpp: 4937 * UIProcess/cf/WebPageProxyCF.cpp: 4938 * UIProcess/cf/WebPreferencesCF.cpp: 4939 * UIProcess/gtk/TextCheckerGtk.cpp: 4940 * UIProcess/gtk/WebInspectorGtk.cpp: 4941 * UIProcess/gtk/WebPageProxyGtk.cpp: 4942 * UIProcess/gtk/WebPreferencesGtk.cpp: 4943 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 4944 * UIProcess/qt/TextCheckerQt.cpp: 4945 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 4946 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 4947 * UIProcess/qt/WebContextMenuProxyQt.cpp: 4948 * UIProcess/qt/WebContextQt.cpp: 4949 * UIProcess/qt/WebInspectorProxyQt.cpp: 4950 * UIProcess/qt/WebPageProxyQt.cpp: 4951 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 4952 * UIProcess/qt/WebPreferencesQt.cpp: 4953 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: 4954 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: 4955 * UIProcess/win/TextCheckerWin.cpp: 4956 * UIProcess/win/WebContextMenuProxyWin.cpp: 4957 * UIProcess/win/WebContextWin.cpp: 4958 * UIProcess/win/WebInspectorProxyWin.cpp: 4959 * UIProcess/win/WebPageProxyWin.cpp: 4960 * UIProcess/win/WebPopupMenuProxyWin.cpp: 4961 * UIProcess/win/WebView.cpp: 4962 * WebKit2.xcodeproj/project.pbxproj: 4963 * WebProcess/Authentication/AuthenticationManager.cpp: 4964 * WebProcess/Downloads/Download.cpp: 4965 * WebProcess/Downloads/DownloadManager.cpp: 4966 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 4967 * WebProcess/Downloads/curl/DownloadCurl.cpp: 4968 * WebProcess/Downloads/qt/DownloadQt.cpp: 4969 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 4970 * WebProcess/Geolocation/WebGeolocationManager.cpp: 4971 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4972 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp: 4973 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: 4974 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 4975 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 4976 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 4977 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 4978 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: 4979 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 4980 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: 4981 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 4982 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 4983 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 4984 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4985 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: 4986 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 4987 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: 4988 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 4989 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 4990 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 4991 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 4992 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 4993 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 4994 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: 4995 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 4996 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 4997 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 4998 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 4999 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 5000 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 5001 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 5002 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 5003 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 5004 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 5005 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 5006 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 5007 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 5008 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 5009 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 5010 * WebProcess/Plugins/Plugin.cpp: 5011 * WebProcess/Plugins/PluginProcessConnection.cpp: 5012 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 5013 * WebProcess/Plugins/PluginProxy.cpp: 5014 * WebProcess/Plugins/PluginView.cpp: 5015 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 5016 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 5017 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 5018 * WebProcess/WebCoreSupport/WebDragClient.cpp: 5019 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 5020 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5021 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: 5022 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 5023 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 5024 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5025 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 5026 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 5027 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: 5028 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: 5029 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: 5030 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 5031 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 5032 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: 5033 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: 5034 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 5035 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 5036 * WebProcess/WebKitMain.cpp: 5037 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 5038 * WebProcess/WebPage/DecoderAdapter.cpp: 5039 * WebProcess/WebPage/DrawingArea.cpp: 5040 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5041 * WebProcess/WebPage/EncoderAdapter.cpp: 5042 * WebProcess/WebPage/FindController.cpp: 5043 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 5044 * WebProcess/WebPage/PageOverlay.cpp: 5045 * WebProcess/WebPage/TiledDrawingArea.cpp: 5046 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 5047 * WebProcess/WebPage/WebContextMenu.cpp: 5048 * WebProcess/WebPage/WebEditCommand.cpp: 5049 * WebProcess/WebPage/WebFrame.cpp: 5050 * WebProcess/WebPage/WebInspector.cpp: 5051 * WebProcess/WebPage/WebOpenPanelResultListener.cpp: 5052 * WebProcess/WebPage/WebPage.cpp: 5053 * WebProcess/WebPage/WebPageGroupProxy.cpp: 5054 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 5055 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: 5056 * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: 5057 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: 5058 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 5059 * WebProcess/WebPage/qt/WebPageQt.cpp: 5060 * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: 5061 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: 5062 * WebProcess/WebPage/win/WebInspectorWin.cpp: 5063 * WebProcess/WebPage/win/WebPageWin.cpp: 5064 * WebProcess/WebProcess.cpp: 5065 * WebProcess/gtk/WebProcessGtk.cpp: 5066 * WebProcess/gtk/WebProcessMainGtk.cpp: 5067 * WebProcess/qt/WebProcessMainQt.cpp: 5068 * WebProcess/qt/WebProcessQt.cpp: 5069 * WebProcess/win/WebProcessMainWin.cpp: 5070 * WebProcess/win/WebProcessWin.cpp: 5071 * config.h: Copied from Source/WebKit2/WebKit2Prefix.h. 5072 * win/WebKit2Common.vsprops: 5073 5074 2011-01-27 Maciej Stachowiak <mjs (a] apple.com> 5075 5076 Reviewed by Darin Adler. 5077 5078 execCommand("Paste") doesn't work in WebKitTestRunner 5079 https://bugs.webkit.org/show_bug.cgi?id=52785 5080 5081 Thread through the new JavaScriptCanAccessClipboard setting. 5082 5083 * Shared/WebPreferencesStore.h: 5084 * UIProcess/API/C/WKPreferences.cpp: 5085 (WKPreferencesSetJavaScriptCanAccessClipboard): 5086 (WKPreferencesGetJavaScriptCanAccessClipboard): 5087 * UIProcess/API/C/WKPreferences.h: 5088 * WebProcess/WebPage/WebPage.cpp: 5089 (WebKit::WebPage::updatePreferences): 5090 5091 2011-01-27 Nate Chapin <japhet (a] chromium.org> 5092 5093 Reviewed by Adam Barth. 5094 5095 Use Document::url() instead of FrameLoader::url(). 5096 https://bugs.webkit.org/show_bug.cgi?id=41165 5097 5098 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5099 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 5100 (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): 5101 (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): 5102 (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): 5103 * WebProcess/WebPage/WebFrame.cpp: 5104 (WebKit::WebFrame::url): 5105 5106 2011-01-27 Sam Weinig <sam (a] webkit.org> 5107 5108 Reviewed by Anders Carlsson. 5109 5110 Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent 5111 https://bugs.webkit.org/show_bug.cgi?id=53254 5112 5113 * Shared/WebWheelEvent.cpp: 5114 (WebKit::WebWheelEvent::WebWheelEvent): 5115 Initialize m_phase and m_hasPreciseScrollingDeltas. 5116 5117 (WebKit::WebWheelEvent::encode): 5118 (WebKit::WebWheelEvent::decode): 5119 Add missing coding for m_hasPreciseScrollingDeltas. 5120 5121 2011-01-26 Enrica Casucci <enrica (a] apple.com> 5122 5123 Reviewed by Darin Adler and Adam Roben. 5124 5125 WebKit2: add support for drag and drop on Windows 5126 https://bugs.webkit.org/show_bug.cgi?id=52775 5127 <rdar://problem/8514409> 5128 5129 On Windows the access to the content being dragged is 5130 provided via the IDataObject interface that is made available 5131 to the window that registers itself as drop target. 5132 Since this interface cannot be accessed from the WebProcess, 5133 in every call to one of the methods of the IDropTarget interface 5134 we serialize the content of the drag clipboard and send it over to 5135 the WebProcess. The implementation uses the same messages as the 5136 Mac one, with slightly different parameters to pass the serialized 5137 clipboard. 5138 5139 * UIProcess/WebPageProxy.cpp: 5140 (WebKit::WebPageProxy::performDragControllerAction): Added Windows 5141 specific implementation. 5142 * UIProcess/WebPageProxy.h: 5143 * UIProcess/win/WebView.cpp: 5144 (WebKit::WebView::WebView): Added dropTargetHelper object creation. 5145 (WebKit::WebView::initialize): Added to register for drag/drop with out 5146 refcount issues. 5147 (WebKit::WebView::close): 5148 (WebKit::WebView::windowReceivedMessage): 5149 (WebKit::WebView::QueryInterface): 5150 (WebKit::WebView::AddRef): 5151 (WebKit::WebView::Release): 5152 (WebKit::dragOperationToDragCursor): 5153 (WebKit::WebView::keyStateToDragOperation): 5154 (WebKit::WebView::DragEnter): 5155 (WebKit::WebView::DragOver): 5156 (WebKit::WebView::DragLeave): 5157 (WebKit::WebView::Drop): 5158 * UIProcess/win/WebView.h: 5159 (WebKit::WebView::create): 5160 * WebProcess/WebPage/WebPage.cpp: 5161 (WebKit::WebPage::performDragControllerAction): 5162 * WebProcess/WebPage/WebPage.h: 5163 * WebProcess/WebPage/WebPage.messages.in: 5164 5165 2011-01-26 Alexey Proskuryakov <ap (a] apple.com> 5166 5167 Reviewed by Darin Adler. 5168 5169 https://bugs.webkit.org/show_bug.cgi?id=53197 5170 <rdar://problem/8895682> Make WebKit2 printing asynchronous 5171 5172 <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows 5173 1-page blank preview 5174 5175 <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when 5176 printing instead of printing all at once 5177 5178 * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information. 5179 5180 * UIProcess/API/mac/WKPrintingView.mm: 5181 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in 5182 class. We generally want that now, because current operation will not be set up on other threads. 5183 (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw 5184 a placeholder - but actual printing need to wait until UI process has data. 5185 (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real 5186 data to replace placeholder with. 5187 (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed. 5188 (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect, 5189 if any. 5190 (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread. 5191 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with 5192 pages the user asked to print. 5193 (pageDidComputePageRects): When web process returns page geometry data, we update preview to display 5194 a page count (which indirectly triggers a request for a preview). When actually printing, 5195 request a PDF right away, we'll need it later. 5196 (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry. 5197 (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary 5198 for actual printing on main thread. 5199 (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main 5200 thread for actual printing. 5201 (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit 5202 always asks for full pages. 5203 (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document. 5204 (-[WKPrintingView _drawPreview:]): Draw the whole page for preview. 5205 (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 5206 Draw the whole page for actual printing. 5207 (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with 5208 correct graphics context and print operation. 5209 (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a 5210 secondary one. 5211 (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that 5212 our stored NSPrintOperation isn't out of sync with reality. 5213 (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing 5214 a placeholder. 5215 (-[WKPrintingView endDocument]): When page setup changes, we must reset all state. 5216 5217 * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell 5218 NSPrintingView which operation it's serving, so that it knows it even when current operation 5219 isn't set. 5220 5221 * UIProcess/GenericCallback.h: 5222 (WebKit::ComputedPagesCallback::create): 5223 (WebKit::ComputedPagesCallback::~ComputedPagesCallback): 5224 (WebKit::ComputedPagesCallback::performCallbackWithReturnValue): 5225 (WebKit::ComputedPagesCallback::invalidate): 5226 (WebKit::ComputedPagesCallback::callbackID): 5227 (WebKit::ComputedPagesCallback::generateCallbackID): 5228 (WebKit::ComputedPagesCallback::ComputedPagesCallback): 5229 Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully, 5230 it will become a specialization of GenericCallback one day. 5231 5232 * UIProcess/WebPageProxy.cpp: 5233 (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted 5234 by accident. 5235 (WebKit::WebPageProxy::computedPagesCallback): Added. 5236 (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks. 5237 (WebKit::WebPageProxy::computePagesForPrinting): Async now! 5238 (WebKit::WebPageProxy::drawRectToPDF): Ditto. 5239 (WebKit::WebPageProxy::drawPagesToPDF): Added. 5240 * UIProcess/WebPageProxy.h: 5241 5242 * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback. 5243 5244 * WebProcess/WebPage/WebPage.cpp: 5245 (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in 5246 drawPagesToPDF(), which doesn't have a PrintInfo. 5247 (WebKit::WebPage::computePagesForPrinting): Send async response. 5248 (WebKit::WebPage::drawRectToPDF): This function used to draw into original 5249 location at frame coordinates, and now it draws at (0, 0). 5250 (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF. 5251 * WebProcess/WebPage/WebPage.h: 5252 5253 * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF. 5254 5255 2011-01-27 Alejandro G. Castro <alex (a] igalia.com> 5256 5257 Unreviewed GTK build fix after r76797. 5258 5259 * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment. 5260 5261 2011-01-27 Dan Bernstein <mitz (a] apple.com> 5262 5263 Reviewed by Anders Carlsson. 5264 5265 Allow pop-up menus to contain multiple items that have the same title. 5266 5267 * UIProcess/mac/WebPopupMenuProxyMac.mm: 5268 (WebKit::WebPopupMenuProxyMac::populate): Set the items title after adding it rather than 5269 when adding it, so that it will not replace any existing item with the same title. 5270 5271 2011-01-27 Andreas Kling <kling (a] webkit.org> 5272 5273 Reviewed by Kenneth Rohde Christiansen. 5274 5275 [Qt][WK2] Add QWKPage APIs regarding engine process availability 5276 https://bugs.webkit.org/show_bug.cgi?id=53237 5277 5278 QWKPage will now emit engineConnected() and engineDisconnected() 5279 when the web process crashes and is relaunched respectively. 5280 5281 Also added QWKPage::isConnectedToEngine() for convenience. 5282 5283 * UIProcess/API/qt/qwkpage.cpp: 5284 (QWKPagePrivate::QWKPagePrivate): 5285 (QWKPagePrivate::didRelaunchProcess): 5286 (QWKPagePrivate::processDidCrash): 5287 (QWKPage::isConnectedToEngine): 5288 * UIProcess/API/qt/qwkpage.h: 5289 * UIProcess/API/qt/qwkpage_p.h: 5290 5291 2011-01-27 Balazs Kelemen <kbalazs (a] webkit.org> 5292 5293 Reviewed by Andreas Kling. 5294 5295 [Qt][WK2] Lots of layout test failures due to wrong font type 5296 https://bugs.webkit.org/show_bug.cgi?id=53233 5297 5298 * Shared/WebPreferencesStore.h: 5299 Specialize default font families for Qt. 5300 5301 2011-01-26 Maciej Stachowiak <mjs (a] apple.com> 5302 5303 Reviewed by Dan Bernstein. 5304 5305 WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector 5306 https://bugs.webkit.org/show_bug.cgi?id=42319 5307 5308 Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs. 5309 5310 * GNUmakefile.am: 5311 * Shared/API/c/WKBase.h: 5312 * Shared/APIObject.h: 5313 * WebKit2.pro: 5314 * WebKit2.xcodeproj/project.pbxproj: 5315 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 5316 * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added. 5317 (WKBundleInspectorGetTypeID): 5318 (WKBundleInspectorShow): 5319 (WKBundleInspectorClose): 5320 (WKBundleInspectorEvaluateScriptForTest): 5321 (WKBundleInspectorSetPageProfilingEnabled): 5322 * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added. 5323 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 5324 (WKBundlePageGetInspector): 5325 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 5326 * WebProcess/WebPage/WebInspector.cpp: 5327 (WebKit::WebInspector::create): 5328 (WebKit::WebInspector::evaluateScriptForTest): 5329 * WebProcess/WebPage/WebInspector.h: 5330 (WebKit::WebInspector::type): 5331 * WebProcess/WebPage/WebPage.cpp: 5332 (WebKit::WebPage::inspector): 5333 * WebProcess/WebPage/WebPage.h: 5334 * win/WebKit2.vcproj: 5335 * win/WebKit2Generated.make: 5336 5337 2011-01-26 David Kilzer <ddkilzer (a] apple.com> 5338 5339 <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork 5340 <rdar://problem/8821760> 5341 5342 Reviewed by Antti Koivisto. 5343 5344 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 5345 (InitWebCoreSystemInterface): Added initialization for 5346 GetHTTPPipeliningPriority and SetHTTPPipeliningPriority. 5347 5348 2011-01-26 Beth Dakin <bdakin (a] apple.com> 5349 5350 Reviewed by Darin Adler. 5351 5352 Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 5353 when using WKScrollbars. 5354 5355 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 5356 (InitWebCoreSystemInterface): 5357 5358 2011-01-26 Sam Weinig <sam (a] webkit.org> 5359 5360 Reviewed by Maciej Stachowiak. 5361 5362 Add events to represent the start/end of a gesture scroll 5363 https://bugs.webkit.org/show_bug.cgi?id=53215 5364 5365 * Scripts/webkit2/messages.py: 5366 * Shared/WebEvent.h: 5367 (WebKit::WebGestureEvent::WebGestureEvent): 5368 (WebKit::WebGestureEvent::position): 5369 (WebKit::WebGestureEvent::globalPosition): 5370 * Shared/WebEventConversion.cpp: 5371 (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): 5372 (WebKit::platform): 5373 * Shared/WebEventConversion.h: 5374 * Shared/WebGestureEvent.cpp: Added. 5375 (WebKit::WebGestureEvent::WebGestureEvent): 5376 (WebKit::WebGestureEvent::encode): 5377 (WebKit::WebGestureEvent::decode): 5378 (WebKit::WebGestureEvent::isGestureEventType): 5379 * Shared/mac/WebEventFactory.h: 5380 * Shared/mac/WebEventFactory.mm: 5381 (WebKit::gestureEventTypeForEvent): 5382 (WebKit::WebEventFactory::createWebGestureEvent): 5383 * UIProcess/API/mac/WKView.mm: 5384 (-[WKView shortCircuitedEndGestureWithEvent:]): 5385 (-[WKView beginGestureWithEvent:]): 5386 (-[WKView viewDidMoveToWindow]): 5387 * UIProcess/WebPageProxy.cpp: 5388 (WebKit::WebPageProxy::handleGestureEvent): 5389 (WebKit::WebPageProxy::didReceiveEvent): 5390 * UIProcess/WebPageProxy.h: 5391 * WebKit2.xcodeproj/project.pbxproj: 5392 * WebProcess/WebPage/WebPage.cpp: 5393 (WebKit::handleGestureEvent): 5394 (WebKit::WebPage::gestureEvent): 5395 * WebProcess/WebPage/WebPage.h: 5396 * WebProcess/WebPage/WebPage.messages.in: 5397 Pipe gesture events down to WebCore. 5398 5399 2011-01-26 Dan Bernstein <mitz (a] apple.com> 5400 5401 Reviewed by Dave Hyatt. 5402 5403 <rdar://problem/8446709> Allow inter-ideograph justification for CJK 5404 https://bugs.webkit.org/show_bug.cgi?id=53184 5405 5406 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 5407 (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the 5408 RenderText constructor. 5409 5410 2011-01-26 Jing Jin <jjin (a] apple.com> 5411 5412 Reviewed by Darin Adler. 5413 5414 Methods to temporarily disable size updates to the page drawing area in WKView. 5415 https://bugs.webkit.org/show_bug.cgi?id=53206 5416 Part of <rdar://problem/8818585> 5417 5418 * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount. 5419 * UIProcess/API/mac/WKView.mm: 5420 (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled. 5421 (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size. 5422 (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount 5423 (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning 5424 that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame. 5425 (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates. 5426 * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled. 5427 * UIProcess/API/mac/WKViewPrivate.h: Added. 5428 * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h 5429 5430 2011-01-26 Jing Jin <jjin (a] apple.com> 5431 5432 Rubber-stamped by Dan Bernstein. 5433 5434 Several WKView Internal category methods are implemented in the main category. 5435 https://bugs.webkit.org/show_bug.cgi?id=53195 5436 5437 * UIProcess/API/mac/WKView.mm: 5438 (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal). 5439 (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal). 5440 (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal). 5441 (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal). 5442 5443 2011-01-26 Brian Weinstein <bweinstein (a] apple.com> 5444 5445 Reviewed by John Sullivan. 5446 5447 WebKit2: Need API to get the frame load state of a BundleFrame 5448 https://bugs.webkit.org/show_bug.cgi?id=53193 5449 5450 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 5451 (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state. 5452 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 5453 5454 2011-01-25 Brian Weinstein <bweinstein (a] apple.com> 5455 5456 Reviewed by Antti Koivisto. 5457 5458 Crashes loading pages when cancelling subresource loads through WebKit 5459 https://bugs.webkit.org/show_bug.cgi?id=53123 5460 <rdar://problem/8914361> 5461 5462 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5463 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching 5464 a message. 5465 5466 2011-01-25 Chris Fleizach <cfleizach (a] apple.com> 5467 5468 Reviewed by Darin Adler. 5469 5470 WK2 leaks when a page is closed 5471 https://bugs.webkit.org/show_bug.cgi?id=53100 5472 5473 Allow the WKView a chance to clean up on a page close. In this case, 5474 cleaning up means removing the references the accessibility token has 5475 to the window. 5476 5477 * UIProcess/API/mac/PageClientImpl.h: 5478 * UIProcess/API/mac/PageClientImpl.mm: 5479 (WebKit::PageClientImpl::pageClosed): 5480 * UIProcess/API/mac/WKView.mm: 5481 (-[WKView _setRemoteAccessibilityWindow:]): 5482 (-[WKView _setAccessibilityChildToken:]): 5483 (-[WKView _processDidCrash]): 5484 (-[WKView _pageClosed]): 5485 * UIProcess/API/mac/WKViewInternal.h: 5486 * UIProcess/API/qt/qwkpage_p.h: 5487 (QWKPagePrivate::pageClosed): 5488 * UIProcess/PageClient.h: 5489 * UIProcess/WebPageProxy.cpp: 5490 (WebKit::WebPageProxy::close): 5491 * UIProcess/win/WebView.cpp: 5492 (WebKit::WebView::pageClosed): 5493 * UIProcess/win/WebView.h: 5494 5495 2011-01-25 Chris Marrin <cmarrin (a] apple.com> 5496 5497 Reviewed by Adam Roben. 5498 5499 Expose WebGL flag set/get in WK2 5500 https://bugs.webkit.org/show_bug.cgi?id=53096 5501 5502 * Shared/WebPreferencesStore.h: 5503 * UIProcess/API/C/WKPreferences.cpp: 5504 (WKPreferencesSetWebGLEnabled): 5505 (WKPreferencesGetWebGLEnabled): 5506 * UIProcess/API/C/WKPreferencesPrivate.h: 5507 * WebProcess/WebPage/WebPage.cpp: 5508 (WebKit::WebPage::updatePreferences): 5509 5510 2011-01-25 Anders Carlsson <andersca (a] apple.com> 5511 5512 Reviewed by Adam Roben. 5513 5514 Add and implement LayerTreeHost::scheduleLayerFlush 5515 https://bugs.webkit.org/show_bug.cgi?id=53135 5516 5517 * WebKit2.xcodeproj/project.pbxproj: 5518 Add LayerTreeHostMac.mm. 5519 5520 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5521 (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync): 5522 Call LayerTreeHost::scheduleLayerFlush. 5523 5524 * WebProcess/WebPage/LayerTreeHost.cpp: 5525 (WebKit::LayerTreeHost::~LayerTreeHost): 5526 Call platformInvalidate(). 5527 5528 (WebKit::LayerTreeHost::flushPendingLayerChanges): 5529 Rename from syncCompositingLayers. 5530 5531 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added. 5532 (WebKit::LayerTreeHost::scheduleLayerFlush): 5533 Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm 5534 5535 (WebKit::LayerTreeHost::platformInvalidate): 5536 Invalidate the run loop observer. 5537 5538 (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback): 5539 Call flushPendingChanges() and remove the run loop observer if it succeeded. 5540 5541 2011-01-25 Anders Carlsson <andersca (a] apple.com> 5542 5543 Reviewed by Simon Fraser. 5544 5545 Add LayerTreeHost class 5546 https://bugs.webkit.org/show_bug.cgi?id=53132 5547 5548 * WebKit2.xcodeproj/project.pbxproj: 5549 Add LayerTreeHost files. 5550 5551 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5552 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 5553 Initialize m_layerTreeHost. 5554 5555 (WebKit::DrawingAreaImpl::setRootCompositingLayer): 5556 Call the m_layerTreeHost. 5557 5558 * WebProcess/WebPage/LayerTreeHost.cpp: Added. 5559 (WebKit::LayerTreeHost::attachRootCompositingLayer): 5560 (WebKit::LayerTreeHost::detachRootCompositingLayer): 5561 Add stubbed out functions. 5562 5563 (WebKit::LayerTreeHost::syncCompositingLayers): 5564 Sync the compositing layers in the main frame. 5565 5566 * WebProcess/WebPage/LayerTreeHost.h: Added. 5567 5568 2011-01-25 Steve Falkenburg <sfalken (a] apple.com> 5569 5570 Rubber-stamped by Adam Roben. 5571 5572 Windows production build fix. 5573 Use correct environment variable escaping 5574 5575 * win/WebKit2.make: 5576 * win/WebKit2Generated.make: 5577 5578 2011-01-25 Anders Carlsson <andersca (a] apple.com> 5579 5580 Reviewed by Sam Weinig. 5581 5582 Don't inform the UI process about compositing changes when using the new drawing area 5583 https://bugs.webkit.org/show_bug.cgi?id=53120 5584 5585 * WebProcess/WebPage/WebPage.cpp: 5586 (WebKit::WebPage::changeAcceleratedCompositingMode): 5587 Return early if we're using the new drawing area. 5588 5589 (WebKit::WebPage::exitAcceleratedCompositingMode): 5590 Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing. 5591 5592 2011-01-25 Sam Weinig <sam (a] webkit.org> 5593 5594 Reviewed by Anders Carlsson. 5595 5596 Pipe a timestamp down into the PlatformWheelEvent for the Mac. 5597 https://bugs.webkit.org/show_bug.cgi?id=53111 5598 5599 * Shared/WebEventConversion.cpp: 5600 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 5601 Assign the timestamp. 5602 5603 2011-01-25 Sam Weinig <sam (a] webkit.org> 5604 5605 Reviewed by Anders Carlsson. 5606 5607 Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac. 5608 https://bugs.webkit.org/show_bug.cgi?id=53107 5609 5610 * Shared/WebEvent.h: 5611 (WebKit::WebWheelEvent::hasPreciseScrollingDeltas): 5612 * Shared/WebEventConversion.cpp: 5613 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 5614 * Shared/WebWheelEvent.cpp: 5615 (WebKit::WebWheelEvent::WebWheelEvent): 5616 * Shared/mac/WebEventFactory.mm: 5617 (WebKit::WebEventFactory::createWebWheelEvent): 5618 5619 2011-01-25 Anders Carlsson <andersca (a] apple.com> 5620 5621 Reviewed by Sam Weinig. 5622 5623 need a way to request the host CALayer render server port 5624 https://bugs.webkit.org/show_bug.cgi?id=53101 5625 <rdar://problem/8913620> 5626 5627 * PluginProcess/PluginControllerProxy.cpp: 5628 (WebKit::PluginControllerProxy::compositingRenderServerPort): 5629 Get the render server port from the plug-in process. 5630 5631 * PluginProcess/PluginControllerProxy.h: 5632 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 5633 (WebKit::NPN_GetValue): 5634 Call NetscapePlugin::compositingRenderServerPort. 5635 5636 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 5637 (WebKit::NetscapePlugin::compositingRenderServerPort): 5638 Call PluginController::compositingRenderServerPort. 5639 5640 * WebProcess/Plugins/PluginView.cpp: 5641 (WebKit::PluginView::compositingRenderServerPort): 5642 Get the render server port from the web process. 5643 5644 * WebProcess/Plugins/PluginView.h: 5645 Add compositingRenderServerPort. 5646 5647 2011-01-25 Maciej Stachowiak <mjs (a] apple.com> 5648 5649 Rubber stamped by Dan Bernstein. 5650 5651 Change some floating point constants from 1.0 to 1. 5652 5653 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5654 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 5655 5656 2011-01-25 Maciej Stachowiak <mjs (a] apple.com> 5657 5658 Reviewed by Anders Carlsson. 5659 5660 Improve scale factor resetting 5661 https://bugs.webkit.org/show_bug.cgi?id=53093 5662 5663 Two key changes: 5664 - Don't set the scale factor to what it already is, as this causes an 5665 uneeded force layout and scroll 5666 - Don't ever set the scale factor based on a non-main frame committing 5667 5668 This fixes two WebKit2 layout tests. 5669 5670 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5671 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 5672 5673 2011-01-24 Chris Marrin <cmarrin (a] apple.com> 5674 5675 Reviewed by Eric Seidel. 5676 5677 Change ENABLE_3D_CANVAS to ENABLE_WEBGL 5678 https://bugs.webkit.org/show_bug.cgi?id=53041 5679 5680 * Configurations/FeatureDefines.xcconfig: 5681 5682 2011-01-25 Andreas Kling <kling (a] webkit.org> 5683 5684 Reviewed by Kenneth Rohde Christiansen. 5685 5686 [Qt][WK2] Add QWKPage::processCrashed() signal 5687 https://bugs.webkit.org/show_bug.cgi?id=53076 5688 5689 * UIProcess/API/qt/qwkpage.cpp: 5690 (QWKPagePrivate::processDidCrash): 5691 * UIProcess/API/qt/qwkpage.h: 5692 * UIProcess/API/qt/qwkpage_p.h: 5693 5694 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5695 5696 Fix build. 5697 5698 * WebProcess/mac/WebProcessMac.mm: 5699 (WebKit::initializeSandbox): 5700 5701 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5702 5703 Reviewed by Dan Bernstein. 5704 5705 Reset the page scale factor on standard frame loads 5706 https://bugs.webkit.org/show_bug.cgi?id=53058 5707 <rdar://problem/8908844> 5708 5709 * UIProcess/WebPageProxy.cpp: 5710 (WebKit::WebPageProxy::scaleWebView): 5711 Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange. 5712 5713 (WebKit::WebPageProxy::viewScaleFactorDidChange): 5714 Update m_viewScaleFactor. 5715 5716 * UIProcess/WebPageProxy.h: 5717 Add viewScaleFactorDidChange. 5718 5719 * UIProcess/WebPageProxy.messages.in: 5720 Add ViewScaleFactorDidChange message. 5721 5722 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5723 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 5724 Set the scale factor. 5725 5726 (WebKit::WebFrameLoaderClient::restoreViewState): 5727 Inform the UI process about the new view scale factor. 5728 5729 * WebProcess/WebPage/WebPage.cpp: 5730 (WebKit::WebPage::scaleWebView): 5731 Send a ViewScaleFactorDidChange message. 5732 5733 2011-01-24 Maciej Stachowiak <mjs (a] apple.com> 5734 5735 Reviewed by Anders Carlsson. 5736 5737 Use designated temp directory for the database for WebKit2 5738 https://bugs.webkit.org/show_bug.cgi?id=53052 5739 5740 Add the API necessary to support this. Database path is now 5741 determined on the UI process side and passed to the Web process. 5742 Reviewed by Anders Carlsson. 5743 5744 * GNUmakefile.am: 5745 * Shared/WebProcessCreationParameters.cpp: 5746 (WebKit::WebProcessCreationParameters::encode): 5747 (WebKit::WebProcessCreationParameters::decode): 5748 * Shared/WebProcessCreationParameters.h: 5749 * UIProcess/API/C/WKContext.cpp: 5750 (WKContextSetDatabaseDirectory): 5751 * UIProcess/API/C/WKContextPrivate.h: 5752 * UIProcess/WebContext.cpp: 5753 (WebKit::WebContext::ensureWebProcess): 5754 (WebKit::WebContext::databaseDirectory): 5755 * UIProcess/WebContext.h: 5756 (WebKit::WebContext::setDatabaseDirectory): 5757 * UIProcess/mac/WebContextMac.mm: 5758 (WebKit::WebContext::platformDefaultDatabaseDirectory): 5759 * UIProcess/qt/WebContextQt.cpp: 5760 (WebKit::WebContext::platformDefaultDatabaseDirectory): 5761 * UIProcess/win/WebContextWin.cpp: 5762 (WebKit::WebContext::platformDefaultDatabaseDirectory): 5763 * WebKit2.pro: 5764 * WebKit2.xcodeproj/project.pbxproj: 5765 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 5766 (WebKit::WebDatabaseManager::initialize): 5767 (WebKit::WebDatabaseManager::WebDatabaseManager): 5768 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 5769 * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed. 5770 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed. 5771 * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed. 5772 * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed. 5773 * WebProcess/WebProcess.cpp: 5774 (WebKit::WebProcess::WebProcess): 5775 (WebKit::WebProcess::initializeWebProcess): 5776 * WebProcess/com.apple.WebProcess.sb: 5777 * WebProcess/mac/WebProcessMac.mm: 5778 (WebKit::initializeSandbox): 5779 * win/WebKit2.vcproj: 5780 5781 2011-01-24 Brent Fulgham <bfulgham (a] webkit.org> 5782 5783 Unreviewed build fix. 5784 5785 * win/WebKit2.vcproj: Don't build the CG Utilities when building 5786 without CG support. 5787 5788 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5789 5790 Reviewed by John Sullivan. 5791 5792 Don't use the timeout checker for non-user-interaction messages 5793 https://bugs.webkit.org/show_bug.cgi?id=53046 5794 5795 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 5796 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize): 5797 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize): 5798 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 5799 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange): 5800 (WebKit::LayerBackedDrawingAreaProxy::didSetSize): 5801 5802 2011-01-24 Adam Roben <aroben (a] apple.com> 5803 5804 Windows Production build fix 5805 5806 * win/WebKit2.make: Update for move of WebKit2 into Source. 5807 5808 2011-01-24 Jessie Berlin <jberlin (a] apple.com> 5809 5810 Reviewed by Adam Roben. 5811 5812 WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled 5813 https://bugs.webkit.org/show_bug.cgi?id=53029 5814 5815 * UIProcess/win/TextCheckerWin.cpp: 5816 Disable the warnings for this file. 5817 5818 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5819 5820 Reviewed by Sam Weinig. 5821 5822 Wait for half a second if we're asked to paint when receiving a DidSetSize message 5823 https://bugs.webkit.org/show_bug.cgi?id=53028 5824 5825 * UIProcess/DrawingAreaProxyImpl.cpp: 5826 (WebKit::DrawingAreaProxyImpl::paint): 5827 5828 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5829 5830 Reviewed by Sam Weinig. 5831 5832 Implement forceRedisplay in the new drawing area 5833 https://bugs.webkit.org/show_bug.cgi?id=53026 5834 5835 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5836 (WebKit::DrawingAreaImpl::forceRepaint): 5837 * WebProcess/WebPage/DrawingAreaImpl.h: 5838 5839 2011-01-24 Anders Carlsson <andersca (a] apple.com> 5840 5841 Reviewed by Sam Weinig. 5842 5843 Fill unpainted rects with the background color. 5844 https://bugs.webkit.org/show_bug.cgi?id=53025 5845 5846 * UIProcess/API/mac/WKView.mm: 5847 (drawPageBackground): 5848 Add new helper function. 5849 5850 (-[WKView drawRect:]): 5851 Iterate over the unpainted rects and fill them with the background color. 5852 5853 2011-01-24 Dan Bernstein <mitz (a] apple.com> 5854 5855 Reviewed by John Sullivan. 5856 5857 WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter 5858 5859 * UIProcess/API/mac/PageClientImpl.mm: 5860 (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it. 5861 5862 2011-01-24 Balazs Kelemen <kbalazs (a] webkit.org> 5863 5864 Rubber-stamped by Csaba Osztrogonc. 5865 5866 Typo fix. 5867 5868 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 5869 (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place. 5870 5871 2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 5872 5873 Reviewed by Kenneth Rohde Christiansen. 5874 5875 [Qt] Remove CleanupHandler by passing file descriptors. 5876 5877 Deleting files in signal handler of UI process is not a good idea, 5878 because the memory where filenames are stored might not be valid 5879 after a crash. 5880 5881 To avoid the need of using signal handlers for cleanup, 5882 change following: 5883 1) Avoid passing filenames between processes, pass fds 5884 2) When mmap'ing files, delete them immediately after 5885 opening and mmap'ing them. 5886 3) Pass sockets with fds during fork+exec instead of 5887 passing them via the filesystem. 5888 4) Use mmap'ed files for implementation of SharedMemory. 5889 QSharedMemory does not support cleanup correctly. 5890 5891 Consquences: 5892 - Move MappedMemory to SharedMemory, make UpdateChunk use this. 5893 - Implement CoreIPC::Attachment using mmaped files. 5894 - Send messages using datagram socket. This solution works 5895 similiarly to Mach ports on Mac. 5896 - Send big messages out-of-line and thus avoid increasing 5897 the receive buffer. 5898 - Remove MemoryMappedPool and rely on libc/kernel caching 5899 of mmapped areas. 5900 - Unmap memory areas after use. 5901 - When UI process crashes, kill the web process using SIGKILL. 5902 This is possible again because cleanup handler is not needed. 5903 5904 [WK2][Qt] Multiple problems with MemoryMappedPool 5905 https://bugs.webkit.org/show_bug.cgi?id=51984 5906 5907 * Platform/CoreIPC/Attachment.cpp: 5908 (CoreIPC::Attachment::Attachment): 5909 * Platform/CoreIPC/Attachment.h: 5910 (CoreIPC::Attachment::size): 5911 (CoreIPC::Attachment::releaseFileDescriptor): 5912 (CoreIPC::Attachment::fileDescriptor): 5913 * Platform/CoreIPC/Connection.h: 5914 * Platform/CoreIPC/qt/ConnectionQt.cpp: 5915 (CoreIPC::MessageInfo::MessageInfo): 5916 (CoreIPC::MessageInfo::setMessageBodyOOL): 5917 (CoreIPC::MessageInfo::isMessageBodyOOL): 5918 (CoreIPC::MessageInfo::bodySize): 5919 (CoreIPC::MessageInfo::messageID): 5920 (CoreIPC::MessageInfo::attachmentCount): 5921 (CoreIPC::Connection::platformInitialize): 5922 (CoreIPC::Connection::platformInvalidate): 5923 (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard): 5924 (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard): 5925 (CoreIPC::Connection::readyReadHandler): 5926 (CoreIPC::Connection::open): 5927 (CoreIPC::Connection::platformCanSendOutgoingMessages): 5928 (CoreIPC::Connection::sendOutgoingMessage): 5929 * Platform/SharedMemory.h: 5930 * Platform/WorkQueue.h: 5931 * Platform/qt/MappedMemoryPool.cpp: Removed. 5932 * Platform/qt/MappedMemoryPool.h: Removed. 5933 * Platform/qt/SharedMemoryQt.cpp: 5934 (WebKit::SharedMemory::Handle::Handle): 5935 (WebKit::SharedMemory::Handle::~Handle): 5936 (WebKit::SharedMemory::Handle::isNull): 5937 (WebKit::SharedMemory::Handle::encode): 5938 (WebKit::SharedMemory::Handle::decode): 5939 (WebKit::SharedMemory::Handle::releaseToAttachment): 5940 (WebKit::SharedMemory::Handle::adoptFromAttachment): 5941 (WebKit::SharedMemory::create): 5942 (WebKit::accessModeMMap): 5943 (WebKit::SharedMemory::~SharedMemory): 5944 (WebKit::accessModeFile): 5945 (WebKit::SharedMemory::createHandle): 5946 * Platform/qt/WorkQueueQt.cpp: 5947 (WorkQueue::registerSocketEventHandler): 5948 * Shared/qt/UpdateChunk.cpp: 5949 (WebKit::UpdateChunk::UpdateChunk): 5950 (WebKit::UpdateChunk::~UpdateChunk): 5951 (WebKit::UpdateChunk::encode): 5952 (WebKit::UpdateChunk::decode): 5953 (WebKit::UpdateChunk::createImage): 5954 * Shared/qt/UpdateChunk.h: 5955 * UIProcess/Launcher/ProcessLauncher.h: 5956 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 5957 (WebKit::QtWebProcess::QtWebProcess): 5958 (WebKit::QtWebProcess::setupChildProcess): 5959 (WebKit::ProcessLauncher::launchProcess): 5960 (WebKit::ProcessLauncher::platformInvalidate): 5961 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: 5962 (WebKit::webThreadBody): 5963 (WebKit::ThreadLauncher::createWebThread): 5964 * WebKit2.pro: 5965 * WebProcess/qt/WebProcessMainQt.cpp: 5966 (WebKit::WebProcessMainQt): 5967 5968 2011-01-24 Andras Becsi <abecsi (a] webkit.org> 5969 5970 Reviewed by Csaba Osztrogonc. 5971 5972 [Qt] Move project files into Source 5973 https://bugs.webkit.org/show_bug.cgi?id=52891 5974 5975 * DerivedSources.pro: 5976 * WebKit2.pro: 5977 * WebProcess.pro: 5978 5979 2011-01-23 Damian Kaleta <dkaleta (a] apple.com> 5980 5981 Reviewed by Kevin Decker. 5982 5983 <rdar://problem/8905171> 5984 https://bugs.webkit.org/show_bug.cgi?id=52985 5985 5986 * UIProcess/WebPageProxy.cpp: 5987 (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it 5988 consistent with WebKit1. 5989 5990 2011-01-23 Alexey Proskuryakov <ap (a] apple.com> 5991 5992 Reviewed by Dan Bernstein. 5993 5994 https://bugs.webkit.org/show_bug.cgi?id=52968 5995 Use a separate NSView for printing 5996 5997 Also addresses <rdar://problem/8900148> Improper check for 5998 -[NSGraphicsContext currentContextDrawingToScreen] 5999 6000 * UIProcess/API/mac/WKPrintingView.h: Added. 6001 * UIProcess/API/mac/WKPrintingView.mm: Added. 6002 (-[WKPrintingView initWithFrameProxy:]): 6003 (-[WKPrintingView isFlipped]): 6004 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): 6005 (-[WKPrintingView knowsPageRange:]): 6006 (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 6007 (-[WKPrintingView drawPageBorderWithSize:]): 6008 (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): 6009 (-[WKPrintingView rectForPage:]): 6010 * UIProcess/API/mac/WKView.mm: 6011 (-[WKView drawRect:]): 6012 (-[WKView canChangeFrameLayout:]): 6013 (-[WKView printOperationWithPrintInfo:forFrame:]): 6014 * WebKit2.xcodeproj/project.pbxproj: 6015 Moved printing code to a separate view, simplifying as appropriate. The view is currently not 6016 referenced by anything in WebKit2 directly, being owned by NSPrintOperation. 6017 6018 2011-01-22 Anders Carlsson <andersca (a] apple.com> 6019 6020 Reviewed by Sam Weinig. 6021 6022 Transparent windows with compositing WebKit2 content show garbage 6023 https://bugs.webkit.org/show_bug.cgi?id=52966 6024 <rdar://problem/8765051> 6025 6026 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 6027 (WebKit::LayerBackedDrawingAreaProxy::paint): 6028 If the WKView should draw transparent background, do so. 6029 6030 2011-01-22 Anders Carlsson <andersca (a] apple.com> 6031 6032 Reviewed by Sam Weinig. 6033 6034 Add an asynchronous WKPageForceRepaint 6035 https://bugs.webkit.org/show_bug.cgi?id=52964 6036 <rdar://problem/8898527> 6037 6038 * UIProcess/API/C/WKPage.cpp: 6039 (WKPageForceRepaint): 6040 Call WebPageProxy::forceRepaint. 6041 6042 * UIProcess/API/C/WKPage.h: 6043 Add WKPageForceRepaint. 6044 6045 * UIProcess/GenericCallback.h: 6046 Add a "generic" VoidCallback class. 6047 6048 * UIProcess/WebPageProxy.cpp: 6049 (WebKit::WebPageProxy::forceRepaint): 6050 Insert the callback in the m_voidCallbacks map and send a forceRepaint message. 6051 6052 (WebKit::WebPageProxy::voidCallback): 6053 Call the right void callback. 6054 6055 (WebKit::WebPageProxy::processDidCrash): 6056 Invalidate m_voidCallbacks. 6057 6058 * UIProcess/WebPageProxy.messages.in: 6059 Add a VoidCallback message. 6060 6061 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 6062 (WebKit::ChunkedUpdateDrawingArea::forceRepaint): 6063 Force a repaint. 6064 6065 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 6066 Add forceRepaint. 6067 6068 * WebProcess/WebPage/WebPage.cpp: 6069 (WebKit::WebPage::forceRepaint): 6070 Call forceRepaint on the drawing area. 6071 6072 * WebProcess/WebPage/WebPage.messages.in: 6073 Add a ForceRepaint message. 6074 6075 2011-01-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 6076 6077 Reviewed by Dirk Schulze. 6078 6079 Introduce FontMetrics abstraction 6080 https://bugs.webkit.org/show_bug.cgi?id=51456 6081 6082 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics. 6083 (WebKit::WebPopupMenu::setUpPlatformData): 6084 6085 2011-01-22 Alexey Proskuryakov <ap (a] apple.com> 6086 6087 Reviewed by Dan Bernstein. 6088 6089 https://bugs.webkit.org/show_bug.cgi?id=52950 6090 Leak in WebPage::drawRectToPDF 6091 6092 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too. 6093 6094 2011-01-22 Alexey Proskuryakov <ap (a] apple.com> 6095 6096 Reviewed by Dan Bernstein. 6097 6098 https://bugs.webkit.org/show_bug.cgi?id=52951 6099 WebKit2 generates a bad PDF for cross process messaging 6100 6101 * UIProcess/API/mac/WKView.mm: 6102 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 6103 Use a correct offset when flipping. 6104 6105 2011-01-21 Alexey Proskuryakov <ap (a] apple.com> 6106 6107 Reviewed by Dan Bernstein. 6108 6109 https://bugs.webkit.org/show_bug.cgi?id=52943 6110 Objective-C files should use #import, not #include 6111 6112 * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and 6113 there is more than one WKView.h. 6114 6115 * Platform/mac/ModuleMac.mm: 6116 * Platform/mac/RunLoopMac.mm: 6117 * PluginProcess/mac/PluginControllerProxyMac.mm: 6118 * PluginProcess/mac/PluginProcessMac.mm: 6119 * PluginProcess/mac/PluginProcessMainMac.mm: 6120 * Shared/API/c/mac/WKCertificateInfoMac.mm: 6121 * Shared/API/c/mac/WKURLRequestNS.mm: 6122 * Shared/API/c/mac/WKURLResponseNS.mm: 6123 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 6124 * Shared/mac/PlatformCertificateInfo.mm: 6125 * Shared/mac/SandboxExtensionMac.mm: 6126 * Shared/mac/WebCoreArgumentCodersMac.mm: 6127 * Shared/mac/WebMemorySampler.mac.mm: 6128 * Shared/mac/WebURLRequestMac.mm: 6129 * Shared/mac/WebURLResponseMac.mm: 6130 * UIProcess/API/mac/FindIndicatorWindow.mm: 6131 * UIProcess/API/mac/WKTextInputWindowController.mm: 6132 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 6133 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: 6134 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 6135 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 6136 * UIProcess/mac/BackingStoreMac.mm: 6137 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 6138 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 6139 * UIProcess/mac/TextCheckerMac.mm: 6140 * UIProcess/mac/WebContextMac.mm: 6141 * UIProcess/mac/WebContextMenuProxyMac.mm: 6142 * UIProcess/mac/WebPageProxyMac.mm: 6143 * UIProcess/mac/WebPopupMenuProxyMac.mm: 6144 * UIProcess/mac/WebPreferencesMac.mm: 6145 * WebProcess/Downloads/mac/DownloadMac.mm: 6146 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 6147 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 6148 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 6149 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: 6150 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 6151 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 6152 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: 6153 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 6154 * WebProcess/WebPage/mac/WebPageMac.mm: 6155 * WebProcess/mac/WebProcessMac.mm: 6156 6157 2011-01-21 Mark Rowe <mrowe (a] apple.com> 6158 6159 Reviewed by Sam Weinig. 6160 6161 Fix the WebKit2 build with clang. 6162 6163 * Scripts/webkit2/messages.py: Add some more structs to the list. 6164 * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class. 6165 * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct. 6166 * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct. 6167 * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to 6168 functions expecting NSString* without generating warnings. 6169 * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct. 6170 * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class. 6171 * WebProcess/WebPage/WebPage.cpp: 6172 (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of 6173 the if statement to suppress a warning. 6174 6175 2011-01-21 Brian Weinstein <bweinstein (a] apple.com> 6176 6177 Reviewed by Adam Roben. 6178 6179 WebKit2: Need API to stop loading a WKFrame 6180 https://bugs.webkit.org/show_bug.cgi?id=52925 6181 6182 * UIProcess/API/C/WKFrame.cpp: 6183 (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading. 6184 * UIProcess/API/C/WKFrame.h: 6185 * UIProcess/WebFrameProxy.cpp: 6186 (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame 6187 with the passed in ID. 6188 * UIProcess/WebFrameProxy.h: 6189 * WebProcess/WebPage/WebPage.cpp: 6190 (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame. 6191 * WebProcess/WebPage/WebPage.h: 6192 * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame. 6193 6194 2011-01-21 Brady Eidson <beidson (a] apple.com> 6195 6196 Reviewed by Adam Roben. 6197 6198 <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916 6199 Expose "suggested filename" for a resource based on its resource response. 6200 6201 API pieces: 6202 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 6203 (WKBundleFrameCopySuggestedFilenameForResourceURL): 6204 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 6205 6206 Implementation: 6207 * WebProcess/WebPage/WebFrame.cpp: 6208 (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has 6209 a resource for this URL and, if so, return the response's suggested filename. 6210 * WebProcess/WebPage/WebFrame.h: 6211 6212 2011-01-21 Anders Carlsson <andersca (a] apple.com> 6213 6214 Reviewed by Dan Bernstein. 6215 6216 DrawingAreaProxyImpl::paint should return the unpainted region 6217 https://bugs.webkit.org/show_bug.cgi?id=52918 6218 6219 * UIProcess/API/mac/WKView.mm: 6220 (-[WKView drawRect:]): 6221 Add unpaintedRegion parameter. 6222 6223 * UIProcess/BackingStore.h: 6224 (WebKit::BackingStore::size): 6225 Add a size getter. 6226 6227 * UIProcess/DrawingAreaProxyImpl.cpp: 6228 (WebKit::DrawingAreaProxyImpl::paint): 6229 Initialize the unpainted region to the dirty region, then subtract the painted region. 6230 6231 2011-01-21 Anders Carlsson <andersca (a] apple.com> 6232 6233 Reviewed by Dan Bernstein and Maciej Stachowiak. 6234 6235 Fix for <rdar://problem/8896057> 6236 6237 Give the Web Process access to the PubSub agent. 6238 6239 * WebProcess/com.apple.WebProcess.sb: 6240 6241 2011-01-21 Sam Weinig <sam (a] webkit.org> 6242 6243 Reviewed by Anders Carlsson. 6244 6245 Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship" 6246 https://bugs.webkit.org/show_bug.cgi?id=52779 6247 6248 Rename ScrollbarClient -> ScrollableArea. 6249 6250 * UIProcess/win/WebPopupMenuProxyWin.cpp: 6251 (WebKit::WebPopupMenuProxyWin::onMouseWheel): 6252 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection): 6253 * UIProcess/win/WebPopupMenuProxyWin.h: 6254 6255 2011-01-21 Adam Roben <aroben (a] apple.com> 6256 6257 Update for WKCACFLayerRenderer -> CACFLayerView rename 6258 6259 Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't 6260 6261 Reviewed by Simon Fraser. 6262 6263 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary 6264 #includes. 6265 6266 2011-01-20 Darin Adler <darin (a] apple.com> 6267 6268 Reviewed by Dan Bernstein. 6269 6270 WebKit2: Implement showModalDialog 6271 https://bugs.webkit.org/show_bug.cgi?id=52855 6272 6273 * Shared/WebPageCreationParameters.h: Added canRunModal. 6274 6275 * UIProcess/API/C/WKPage.h: Added a runModal function pointer to 6276 WKPageUIClient. Also removed a lot of redundant typedefs and added 6277 a new one, WKPageCallback, for callbacks without arguments or return 6278 values. 6279 6280 * UIProcess/API/qt/qwkpage.cpp: 6281 (QWKPage::QWKPage): Added a runModal function pointer of 0. 6282 6283 * UIProcess/WebPageProxy.cpp: 6284 (WebKit::WebPageProxy::creationParameters): Set canRunModal 6285 based on return value of WebUIClient::canRunModal. 6286 6287 * UIProcess/WebPageProxy.h: Added runModal. 6288 Calls WebUIClient::runModal. 6289 6290 * UIProcess/WebPageProxy.messages.in: Added RunModal message. 6291 Also removed the periods from the phrases in the comments 6292 as Maciej requested a while back. 6293 6294 * UIProcess/WebUIClient.cpp: 6295 (WebKit::WebUIClient::canRunModal): Added. Returns true or false 6296 based on whether a runModal function was supplied in the 6297 WKPageUIClient structure. 6298 (WebKit::WebUIClient::runModal): Added. Calls the runModal 6299 function from the WKPageUIClient structure. 6300 * UIProcess/WebUIClient.h: Declared the above functions. 6301 6302 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6303 (WebKit::WebChromeClient::canRunModal): Call through to WebPage. 6304 (WebKit::WebChromeClient::runModal): Ditto. 6305 6306 * WebProcess/WebPage/WebPage.cpp: 6307 (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the 6308 creation parameters. Initialize m_isRunningModal to false. 6309 (WebKit::WebPage::close): Stop the nested run loop if we are running modal. 6310 (WebKit::WebPage::runModal): Send a message to ask the UI process to run 6311 modal and then start a nested run loop. It gets stopped when the page is closed. 6312 * WebProcess/WebPage/WebPage.h: Defined the canRunModal function 6313 and declared the runModal function. 6314 6315 2011-01-20 Alexey Proskuryakov <ap (a] apple.com> 6316 6317 Reviewed by Darin Adler. 6318 6319 https://bugs.webkit.org/show_bug.cgi?id=52849 6320 Make window.print work with WebKit2 6321 6322 * UIProcess/API/qt/qwkpage.cpp: 6323 (QWKPage::QWKPage): 6324 * UIProcess/WebPageProxy.cpp: 6325 (WebKit::WebPageProxy::printFrame): 6326 * UIProcess/WebPageProxy.h: 6327 * UIProcess/WebPageProxy.messages.in: 6328 * UIProcess/WebUIClient.cpp: 6329 (WebKit::WebUIClient::printFrame): 6330 * UIProcess/WebUIClient.h: 6331 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6332 (WebKit::WebChromeClient::print): 6333 Just pass through deelagte call to a WebKit2 client. 6334 6335 * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function 6336 types. 6337 6338 2011-01-20 Anders Carlsson <andersca (a] apple.com> 6339 6340 Reviewed by Darin Adler. 6341 6342 Keep track of the latest update timestamp in the backing store 6343 https://bugs.webkit.org/show_bug.cgi?id=52848 6344 6345 * Shared/UpdateInfo.h: 6346 (WebKit::UpdateInfo::UpdateInfo): 6347 Initialize timestamp to 0. 6348 6349 * UIProcess/BackingStore.cpp: 6350 (WebKit::BackingStore::BackingStore): 6351 Initialize m_latestUpdateTimestamp to 0. 6352 6353 (WebKit::BackingStore::incorporateUpdate): 6354 If the update is too old, discard it. Otherwise, create a bitmap 6355 and pass it to platformIncorporateUpdate. Finally update the timestamp. 6356 6357 * UIProcess/BackingStore.h: 6358 Add m_latestUpdateTimestamp. 6359 6360 * UIProcess/mac/BackingStoreMac.mm: 6361 (WebKit::BackingStore::platformIncorporateUpdate): 6362 Update now that we are already given the shareable bitmap. 6363 6364 2011-01-20 Beth Dakin <bdakin (a] apple.com> 6365 6366 Reviewed by Geoffrey Garen. 6367 6368 Fix for <rdar://problem/8890255> 6369 6370 Allow WebKitSystemInterface to draw scrollbars 6371 when appropriate. 6372 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 6373 (InitWebCoreSystemInterface): 6374 6375 2011-01-20 Sam Weinig <sam (a] webkit.org> 6376 6377 Reviewed by Dave Hyatt. 6378 6379 Cleanup Scrollbar/ScrollbarClient relationship 6380 https://bugs.webkit.org/show_bug.cgi?id=52779 6381 6382 * UIProcess/win/WebPopupMenuProxyWin.cpp: 6383 (WebKit::WebPopupMenuProxyWin::scrollPosition): 6384 (WebKit::WebPopupMenuProxyWin::setScrollOffset): 6385 (WebKit::WebPopupMenuProxyWin::scrollTo): 6386 (WebKit::WebPopupMenuProxyWin::onMouseWheel): 6387 (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection): 6388 * UIProcess/win/WebPopupMenuProxyWin.h: 6389 (WebKit::WebPopupMenuProxyWin::verticalScrollbar): 6390 6391 2011-01-20 Anders Carlsson <andersca (a] apple.com> 6392 6393 Reviewed by Adam Roben. 6394 6395 Add a timestamp to UpdateInfo 6396 https://bugs.webkit.org/show_bug.cgi?id=52844 6397 6398 * Shared/UpdateInfo.cpp: 6399 (WebKit::UpdateInfo::encode): 6400 (WebKit::UpdateInfo::decode): 6401 * Shared/UpdateInfo.h: 6402 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6403 (WebKit::DrawingAreaImpl::setSize): 6404 (WebKit::DrawingAreaImpl::display): 6405 6406 2011-01-20 Anders Carlsson <andersca (a] apple.com> 6407 6408 Reviewed by Beth Dakin. 6409 6410 Add Connection::waitForAndDispatchImmediately 6411 https://bugs.webkit.org/show_bug.cgi?id=52841 6412 6413 * Platform/CoreIPC/Connection.h: 6414 (CoreIPC::Connection::waitForAndDispatchImmediately): 6415 6416 2011-01-20 Kevin Decker <kdecker (a] apple.com> 6417 6418 Reviewed by Anders Carlsson. 6419 6420 <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements 6421 https://bugs.webkit.org/show_bug.cgi?id=52823 6422 6423 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 6424 (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements 6425 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto. 6426 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto. 6427 (WebKit::InjectedBundleNodeHandle::renderRect): Ditto. 6428 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto. 6429 6430 2011-01-20 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 6431 6432 Reviewed by Andreas Kling. 6433 6434 Remove null ptr deref that happens when reattaching to 6435 a new web process. 6436 6437 Implement didRelaunchProcess that sets the drawing area size 6438 after the drawing area is re-instantiated. 6439 6440 [Qt][WK2] Null ptr deref in UI process after web process has crashed 6441 https://bugs.webkit.org/show_bug.cgi?id=52796 6442 6443 * UIProcess/API/qt/qgraphicswkview.cpp: 6444 (QGraphicsWKView::QGraphicsWKView): 6445 * UIProcess/API/qt/qwkpage.cpp: 6446 (QWKPagePrivate::QWKPagePrivate): 6447 (QWKPagePrivate::init): 6448 (QWKPagePrivate::createDrawingAreaProxy): 6449 (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash. 6450 * UIProcess/API/qt/qwkpage_p.h: 6451 6452 2011-01-20 Maciej Stachowiak <mjs (a] apple.com> 6453 6454 Reviewed by Adam Roben. 6455 6456 WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld 6457 https://bugs.webkit.org/show_bug.cgi?id=42327 6458 6459 Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef 6460 that corresponds to a JSContextRef (or null if none). 6461 6462 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 6463 (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame 6464 static method. 6465 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 6466 * WebProcess/WebPage/WebFrame.cpp: 6467 (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers. 6468 * WebProcess/WebPage/WebFrame.h: 6469 6470 2011-01-20 Alejandro G. Castro <alex (a] igalia.com> 6471 6472 Fix compilation error in GTK WebKit2. 6473 6474 * Platform/CoreIPC/gtk/ConnectionGtk.cpp: 6475 (CoreIPC::readBytesFromSocket): 6476 (CoreIPC::writeBytesToSocket): 6477 6478 2011-01-20 Zoltan Horvath <zoltan (a] webkit.org> 6479 6480 Reviewed by Csaba Osztrogonc. 6481 6482 Refactoring of the custom allocation framework 6483 https://bugs.webkit.org/show_bug.cgi?id=49897 6484 6485 Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). 6486 The modification replaces Noncopyable and FastAllocBase classes and these inherits with their 6487 equivalent macro implementation at the necessary places. 6488 6489 2011-01-19 Simon Fraser <simon.fraser (a] apple.com> 6490 6491 Fix the WebKit2 build. 6492 6493 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 6494 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 6495 6496 2011-01-19 Brian Weinstein <bweinstein (a] apple.com> 6497 6498 Reviewed by Darin Adler. 6499 6500 WebKit2: Need API to get the parent frame of a frame 6501 https://bugs.webkit.org/show_bug.cgi?id=52774 6502 6503 Add the API to get the parent frame of a frame. 6504 6505 * UIProcess/API/C/WKFrame.cpp: 6506 (WKFrameGetParentFrame): 6507 * UIProcess/API/C/WKFrame.h: 6508 6509 2011-01-19 Enrica Casucci <enrica (a] apple.com> 6510 6511 Reviewed by Darin Adler. 6512 6513 WebKit2: add support for drag and drop 6514 https://bugs.webkit.org/show_bug.cgi?id=52343 6515 <rdar://problem/7660558> 6516 6517 This patch contains the remaining work to support drag and drop on Mac. 6518 I've added a PasteboardTypes class to encapsulate all the pasteboard formats 6519 supported for drag and drop. 6520 In this implementation we don't support the promised types, since I could not 6521 find an efficient way to do this across processes. 6522 The bulk of the patch consists in creating a shareable bitmap for the drag image, 6523 pass its handle to the UI process and create a new NSImage from it to be given to 6524 AppKit for dragging. 6525 I've added the missing implementation of the methods in the drag client to hook 6526 up the placement of the data in the pasteboard. 6527 6528 * Shared/mac/PasteboardTypes.h: Added. 6529 * Shared/mac/PasteboardTypes.mm: Added. 6530 (WebKit::PasteboardTypes::forEditing): 6531 (WebKit::PasteboardTypes::forURL): 6532 (WebKit::PasteboardTypes::forImages): 6533 (WebKit::PasteboardTypes::forImagesWithArchive): 6534 * UIProcess/API/mac/PageClientImpl.h: 6535 * UIProcess/API/mac/PageClientImpl.mm: 6536 (WebKit::PageClientImpl::setDragImage): Added. 6537 * UIProcess/API/mac/WKView.mm: 6538 (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class. 6539 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 6540 (-[WKView _setMouseDownEvent:]): 6541 (-[WKView _mouseHandler:]): 6542 (-[WKView mouseDown:]): 6543 (-[WKView mouseUp:]): 6544 (-[WKView mouseDragged:]): 6545 (-[WKView draggedImage:endedAt:operation:]): 6546 (-[WKView draggingEntered:]): 6547 (-[WKView _setDragImage:at:linkDrag:]): 6548 * UIProcess/API/mac/WKViewInternal.h: 6549 * UIProcess/PageClient.h: 6550 * UIProcess/WebPageProxy.cpp: 6551 (WebKit::WebPageProxy::setDragImage): 6552 (WebKit::WebPageProxy::dragEnded): 6553 * UIProcess/WebPageProxy.h: 6554 * UIProcess/WebPageProxy.messages.in: 6555 * WebKit2.xcodeproj/project.pbxproj: 6556 * WebProcess/WebCoreSupport/WebDragClient.cpp: 6557 * WebProcess/WebCoreSupport/WebDragClient.h: 6558 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added. 6559 (WebKit::fontFromNSFont): 6560 (WebKit::WebDragClient::startDrag): Added implementation. 6561 (WebKit::WebDragClient::createDragImageForLink): Ditto. 6562 (WebKit::writeURL): Helper function. 6563 (WebKit::writeImage): Helper function. 6564 (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation. 6565 * WebProcess/WebPage/WebPage.cpp: 6566 (WebKit::WebPage::dragEnded): 6567 * WebProcess/WebPage/WebPage.h: 6568 * WebProcess/WebPage/WebPage.messages.in: 6569 6570 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6571 6572 Reviewed by Dan Bernstein. 6573 6574 Put the deprecated Connection member functions next to eachother 6575 https://bugs.webkit.org/show_bug.cgi?id=52767 6576 6577 * Platform/CoreIPC/Connection.h: 6578 (CoreIPC::Connection::sendSync): 6579 (CoreIPC::Connection::send): 6580 6581 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6582 6583 Reviewed by Sam Weinig. 6584 6585 When resizing, the web process should repaint the page 6586 https://bugs.webkit.org/show_bug.cgi?id=52764 6587 6588 * UIProcess/DrawingAreaProxyImpl.cpp: 6589 (WebKit::DrawingAreaProxyImpl::didSetSize): 6590 Incorporate the update. 6591 6592 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 6593 Return early if the update bounds rect is empty. This can happen if painting is 6594 disabled and we get a DidSetSize message. 6595 6596 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6597 (WebKit::DrawingAreaImpl::setSize): 6598 If painting is disabled, just send back an empty UpdateInfo struct. Otherwise, 6599 paint and fill in the UpdateInfo struct. 6600 6601 (WebKit::DrawingAreaImpl::display): 6602 Assert that painting is not disabled. 6603 6604 2011-01-19 Alexey Proskuryakov <ap (a] apple.com> 6605 6606 Reviewed by Darin Adler. 6607 6608 https://bugs.webkit.org/show_bug.cgi?id=52739 6609 Make it possible for a WebKit2 client to print headers and footers 6610 6611 * UIProcess/API/C/WKPage.h: 6612 * UIProcess/WebPageProxy.cpp: 6613 (WebKit::WebPageProxy::headerHeight): 6614 (WebKit::WebPageProxy::footerHeight): 6615 (WebKit::WebPageProxy::drawHeader): 6616 (WebKit::WebPageProxy::drawFooter): 6617 * UIProcess/WebPageProxy.h: 6618 * UIProcess/WebUIClient.cpp: 6619 (WebKit::WebUIClient::headerHeight): 6620 (WebKit::WebUIClient::footerHeight): 6621 (WebKit::WebUIClient::drawHeader): 6622 (WebKit::WebUIClient::drawFooter): 6623 * UIProcess/WebUIClient.h: 6624 Pass UIClient calls through. 6625 6626 * UIProcess/API/mac/WKView.mm: 6627 (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation. 6628 (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current 6629 print info to account for header and footer height as provided by the client. 6630 (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter]. 6631 (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client 6632 to do that. Code adapted form WebKit1. 6633 6634 * UIProcess/API/qt/qwkpage: 6635 (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build. 6636 6637 2011-01-19 Jessie Berlin <jberlin (a] apple.com> 6638 6639 Reviewed by Darin Adler. 6640 6641 Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has 6642 died at least once 6643 https://bugs.webkit.org/show_bug.cgi?id=52730 6644 6645 WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets 6646 called in WebContext::processDidClose. However, m_webContext is only set in the 6647 constructor, which is only called from the constructor of WebContext, so attempting to send 6648 a message to any new WebProcess after the first one died was causing a null deref. 6649 6650 This patch moves setting m_webcontext into clearContext and clearContext is only called in 6651 the WebContext destructor. 6652 6653 This patch also adds checks for a valid WebProcessProxy before attempting to send messages to 6654 the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not 6655 attempt to dereference a null WebProcessProxy. 6656 6657 * UIProcess/WebContext.cpp: 6658 (WebKit::WebContext::~WebContext): 6659 Call WebDatabaseManagerProxy::clearContext. 6660 * UIProcess/WebContext.h: 6661 (WebKit::WebContext::hasValidProcess): 6662 Make this method public so that it can be called from WebDatabaseManagerProxy. 6663 6664 * UIProcess/WebDatabaseManagerProxy.cpp: 6665 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 6666 If there isn't a valid process, invalidate the callback and return early. 6667 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 6668 Ditto. 6669 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 6670 If tehre isn't a valid process return early. 6671 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 6672 Ditto. 6673 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 6674 Ditto. 6675 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 6676 Ditto. 6677 (WebKit::WebDatabaseManagerProxy::invalidate): 6678 Move setting m_webContext to 0 from here ... 6679 * UIProcess/WebDatabaseManagerProxy.h: 6680 (WebKit::WebDatabaseManagerProxy::clearContext): 6681 ... to here. 6682 6683 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6684 6685 Reviewed by Sam Weinig. 6686 6687 Suspend/resume painting as the WKView visibility changes 6688 https://bugs.webkit.org/show_bug.cgi?id=52738 6689 6690 * UIProcess/DrawingAreaProxy.h: 6691 (WebKit::DrawingAreaProxy::visibilityDidChange): 6692 Add new member function. It should really be pure virtual once setPageIsVisible 6693 is removed. 6694 6695 * UIProcess/DrawingAreaProxyImpl.cpp: 6696 (WebKit::DrawingAreaProxyImpl::visibilityDidChange): 6697 Send SuspendPainting/ResumePainting messages based on whether the view is visible or not. 6698 6699 (WebKit::DrawingAreaProxyImpl::setPageIsVisible): 6700 Make this a stub; it should really be removed. 6701 6702 * UIProcess/WebPageProxy.cpp: 6703 (WebKit::WebPageProxy::viewStateDidChange): 6704 Call visibilityDidChange. 6705 6706 * UIProcess/WebPageProxy.h: 6707 (WebKit::WebPageProxy::isViewVisible): 6708 Add new getter. 6709 6710 * WebProcess/WebPage/DrawingArea.messages.in: 6711 Add SuspendPainting and ResumePainting messages. 6712 6713 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6714 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 6715 Initialize m_isPaintingSuspended. 6716 6717 (WebKit::DrawingAreaImpl::suspendPainting): 6718 Set m_isPaintingSuspended to true and stop the display timer. 6719 6720 (WebKit::DrawingAreaImpl::resumePainting): 6721 Set m_isPaintingSuspended to false. 6722 6723 (WebKit::DrawingAreaImpl::scheduleDisplay): 6724 (WebKit::DrawingAreaImpl::display): 6725 Bail if m_isPaintingSuspended is true. 6726 6727 2011-01-19 Andreas Kling <kling (a] webkit.org> 6728 6729 Reviewed by Simon Hausmann. 6730 6731 [Qt][WK2] Implement formatLocalizedString() for Qt. 6732 6733 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 6734 (WebKit::formatLocalizedString): 6735 6736 2011-01-19 Chris Marrin <cmarrin (a] apple.com> 6737 6738 Reviewed by Simon Fraser. 6739 6740 WK2 - Multiple crashes in PlatformCALayer::replaceSublayer 6741 https://bugs.webkit.org/show_bug.cgi?id=52695 6742 6743 Added a hostingLayer as the parent of the existing drawingLayer. 6744 The hostingLayer is now the root which is passed to the 6745 remote context. It never changes except to track the size 6746 of the window. The backingLayer is now a child of the 6747 hostingLayer, which allow it to switch between tiled and 6748 non-tiled. 6749 6750 I also now give back accurate settings for debug borders and 6751 repaint counters. 6752 6753 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 6754 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 6755 (WebKit::LayerBackedDrawingArea::setSize): 6756 (WebKit::LayerBackedDrawingArea::showDebugBorders): 6757 (WebKit::LayerBackedDrawingArea::showRepaintCounter): 6758 * WebProcess/WebPage/LayerBackedDrawingArea.h: 6759 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 6760 (WebKit::LayerBackedDrawingArea::platformInit): 6761 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 6762 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 6763 6764 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6765 6766 Reviewed by Sam Weinig. 6767 6768 Send a new SetSize message if the size differs from the current size 6769 https://bugs.webkit.org/show_bug.cgi?id=52728 6770 6771 * UIProcess/DrawingAreaProxy.h: 6772 (WebKit::DrawingAreaProxy::didSetSize): 6773 Add UpdateInfo parameter. 6774 6775 * UIProcess/DrawingAreaProxy.messages.in: 6776 Add UpdateInfo parameter to the DidSetSize message. 6777 6778 * UIProcess/DrawingAreaProxyImpl.cpp: 6779 (WebKit::DrawingAreaProxyImpl::didSetSize): 6780 If the view size differs from the current size send another SetSize message. 6781 6782 * UIProcess/DrawingAreaProxyImpl.h: 6783 Add UpdateInfo parameter to didSetSize. 6784 6785 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6786 (WebKit::DrawingAreaImpl::setSize): 6787 The DidSetSize message now takes an UpdateInfo parameter. 6788 6789 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6790 6791 Reviewed by Darin Adler. 6792 6793 Throttle sending of SetSize messages 6794 https://bugs.webkit.org/show_bug.cgi?id=52727 6795 6796 * UIProcess/DrawingAreaProxyImpl.cpp: 6797 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 6798 Initialize m_isWaitingForDidSetSize to false. 6799 6800 (WebKit::DrawingAreaProxyImpl::didSetSize): 6801 Null out the backing store. 6802 6803 (WebKit::DrawingAreaProxyImpl::sendSetSize): 6804 If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize 6805 to true and send a SetSize message. 6806 6807 * UIProcess/DrawingAreaProxyImpl.h: 6808 Add m_isWaitingForDidSetSize. 6809 6810 2011-01-19 Anders Carlsson <andersca (a] apple.com> 6811 6812 Reviewed by Darin Adler. 6813 6814 Pass WebPageCreationParameters to DrawingArea::create 6815 https://bugs.webkit.org/show_bug.cgi?id=52726 6816 6817 * WebProcess/WebPage/DrawingArea.cpp: 6818 (WebKit::DrawingArea::create): 6819 * WebProcess/WebPage/DrawingArea.h: 6820 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6821 (WebKit::DrawingAreaImpl::create): 6822 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 6823 * WebProcess/WebPage/DrawingAreaImpl.h: 6824 * WebProcess/WebPage/WebPage.cpp: 6825 (WebKit::WebPage::WebPage): 6826 (WebKit::WebPage::changeAcceleratedCompositingMode): 6827 6828 2011-01-19 Csaba Osztrogonc <ossy (a] webkit.org> 6829 6830 Reviewed by Laszlo Gombos and Tor Arne Vestb. 6831 6832 [Qt] Remove unnecessary "../Source" from paths 6833 after moving source files into Source is finished. 6834 6835 * DerivedSources.pro: 6836 * WebKit2.pro: 6837 6838 2011-01-18 Maciej Stachowiak <mjs (a] apple.com> 6839 6840 Reviewed by Sam Weinig. 6841 6842 WebKitTestRunner should track loading more like DumpRenderTree 6843 https://bugs.webkit.org/show_bug.cgi?id=52692 6844 6845 Relax the message check in didSaveFrameToPageCache a bit more, since 6846 layout tests were still hitting the old one. 6847 6848 * UIProcess/WebPageProxy.cpp: 6849 (WebKit::isDisconnectedFrame): 6850 (WebKit::WebPageProxy::didSaveFrameToPageCache): 6851 6852 2011-01-18 Brady Eidson <beidson (a] apple.com> 6853 6854 Reviewed by Darin Adler. 6855 6856 <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599 6857 UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window. 6858 6859 * UIProcess/WebPageProxy.cpp: 6860 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used. 6861 6862 2011-01-18 Brady Eidson <beidson (a] apple.com> 6863 6864 Reviewed by Maciej Stachowiak. 6865 6866 <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664 6867 Need WebKit2 API to asynchronously get the resource data for a URL 6868 6869 Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add 6870 new API to get a resource by URL: 6871 * UIProcess/API/C/WKFrame.cpp: 6872 (WKFrameGetMainResourceData): 6873 (WKFrameGetResourceData): 6874 (callGetResourceDataBlockAndDispose): 6875 (WKFrameGetMainResourceData_b): 6876 (WKFrameGetResourceData_b): 6877 * UIProcess/API/C/WKFrame.h: 6878 6879 Implement the new API in the UIProcess side: 6880 * UIProcess/WebFrameProxy.cpp: 6881 (WebKit::WebFrameProxy::getResourceData): 6882 * UIProcess/WebFrameProxy.h: 6883 * UIProcess/WebPageProxy.cpp: 6884 (WebKit::WebPageProxy::getResourceDataFromFrame): 6885 * UIProcess/WebPageProxy.h: 6886 6887 Have the WebProcess get the data and call back to the UIProcess: 6888 * WebProcess/WebPage/WebPage.cpp: 6889 (WebKit::WebPage::getResourceDataFromFrame): 6890 * WebProcess/WebPage/WebPage.h: 6891 * WebProcess/WebPage/WebPage.messages.in: 6892 6893 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6894 6895 Reviewed by Dan Bernstein. 6896 6897 Make PageClientImpl::scrollView do hardware blitting 6898 https://bugs.webkit.org/show_bug.cgi?id=52689 6899 6900 * UIProcess/API/mac/PageClientImpl.mm: 6901 (WebKit::PageClientImpl::scrollView): 6902 Clip the scroll rect and scroll the view. 6903 6904 * UIProcess/DrawingAreaProxyImpl.cpp: 6905 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 6906 Scroll before painting. 6907 6908 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6909 6910 Reviewed by Darin Adler. 6911 6912 Artifacts when scrolling with new drawing area 6913 https://bugs.webkit.org/show_bug.cgi?id=52682 6914 6915 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6916 (WebKit::WebChromeClient::scroll): 6917 When scrolling, we want the intersection of the scroll rect and clip rect. 6918 6919 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6920 6921 Reviewed by Darin Adler. 6922 6923 Use a CGLayer for the backing store when possible 6924 https://bugs.webkit.org/show_bug.cgi?id=52679 6925 6926 * UIProcess/mac/BackingStoreMac.mm: 6927 (WebKit::BackingStore::paint): 6928 If there is a layer, paint it into the given context. 6929 6930 (WebKit::BackingStore::backingStoreContext): 6931 If we can get the containing window graphics context, use it to create a 6932 CGLayer that we'll use for the backing store. 6933 6934 (WebKit::BackingStore::scroll): 6935 Paint the layer into itself. 6936 6937 * UIProcess/mac/WebPageProxyMac.mm: 6938 (WebKit::WebPageProxy::containingWindowGraphicsContext): 6939 Call the page client. 6940 6941 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6942 6943 Reviewed by Dan Bernstein. 6944 6945 Pass the web page proxy to BackingStore::create 6946 https://bugs.webkit.org/show_bug.cgi?id=52673 6947 6948 * UIProcess/BackingStore.cpp: 6949 (WebKit::BackingStore::create): 6950 Add WebPageProxy parameter. 6951 6952 (WebKit::BackingStore::BackingStore): 6953 Add WebPageProxy parameter. 6954 6955 * UIProcess/BackingStore.h: 6956 Add WebPageProxy member variable. 6957 6958 * UIProcess/DrawingAreaProxyImpl.cpp: 6959 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 6960 Pass the web page proxy when creating the backing store. 6961 6962 * UIProcess/mac/BackingStoreMac.mm: 6963 (WebKit::BackingStore::backingStoreContext): 6964 Set the default blend mode. 6965 6966 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6967 6968 Reviewed by Darin Adler. 6969 6970 Factor code to create the backing store bitmap context out into a new function 6971 https://bugs.webkit.org/show_bug.cgi?id=52670 6972 6973 * UIProcess/BackingStore.h: 6974 * UIProcess/mac/BackingStoreMac.mm: 6975 (WebKit::BackingStore::backingStoreContext): 6976 Create the backing store context. 6977 6978 (WebKit::BackingStore::incorporateUpdate): 6979 Call backingStoreContext. 6980 6981 (WebKit::BackingStore::scroll): 6982 Assert that the context is not null. 6983 6984 2011-01-18 Anders Carlsson <andersca (a] apple.com> 6985 6986 Reviewed by Dan Bernstein. 6987 6988 Add PageClientImpl::containingWindowGraphicsContext 6989 https://bugs.webkit.org/show_bug.cgi?id=52666 6990 6991 * UIProcess/API/mac/PageClientImpl.h: 6992 * UIProcess/API/mac/PageClientImpl.mm: 6993 (WebKit::PageClientImpl::containingWindowGraphicsContext): 6994 * UIProcess/PageClient.h: 6995 * UIProcess/WebPageProxy.h: 6996 6997 2011-01-18 Damian Kaleta <dkaleta (a] apple.com> 6998 6999 Reviewed by Sam Weinig. 7000 7001 WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names 7002 https://bugs.webkit.org/show_bug.cgi?id=52647 7003 7004 * UIProcess/API/C/WKPage.cpp: 7005 (WKPageSetScaleFactor): 7006 (WKPageGetScaleFactor): 7007 * UIProcess/API/C/WKPage.h: 7008 7009 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7010 7011 Reviewed by Dan Bernstein. 7012 7013 Ask the web page proxy to scroll the view when needed 7014 https://bugs.webkit.org/show_bug.cgi?id=52665 7015 7016 * UIProcess/DrawingAreaProxyImpl.cpp: 7017 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 7018 * UIProcess/WebPageProxy.cpp: 7019 (WebKit::WebPageProxy::scrollView): 7020 * UIProcess/WebPageProxy.h: 7021 7022 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7023 7024 Fix build. 7025 7026 * UIProcess/win/WebView.cpp: 7027 (WebKit::WebView::scrollView): 7028 7029 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7030 7031 Reviewed by Sam Weinig. 7032 7033 Add PageClient::scrollView 7034 https://bugs.webkit.org/show_bug.cgi?id=52663 7035 7036 * UIProcess/API/mac/PageClientImpl.h: 7037 * UIProcess/API/mac/PageClientImpl.mm: 7038 (WebKit::PageClientImpl::scrollView): 7039 * UIProcess/API/qt/qwkpage.cpp: 7040 (QWKPagePrivate::scrollView): 7041 * UIProcess/API/qt/qwkpage_p.h: 7042 * UIProcess/PageClient.h: 7043 * UIProcess/win/WebView.cpp: 7044 (WebKit::PageClientImpl::scrollView): 7045 * UIProcess/win/WebView.h: 7046 7047 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7048 7049 Reviewed by Sam Weinig. 7050 7051 Rename scrollDelta to scrollOffset everywhere. 7052 7053 * Shared/UpdateInfo.cpp: 7054 (WebKit::UpdateInfo::encode): 7055 (WebKit::UpdateInfo::decode): 7056 * Shared/UpdateInfo.h: 7057 * UIProcess/BackingStore.h: 7058 * UIProcess/mac/BackingStoreMac.mm: 7059 (WebKit::BackingStore::incorporateUpdate): 7060 (WebKit::BackingStore::scroll): 7061 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 7062 (WebKit::WebChromeClient::scroll): 7063 (WebKit::WebChromeClient::delegatedScrollRequested): 7064 * WebProcess/WebCoreSupport/WebChromeClient.h: 7065 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 7066 (WebKit::ChunkedUpdateDrawingArea::scroll): 7067 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 7068 * WebProcess/WebPage/DrawingArea.h: 7069 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7070 (WebKit::DrawingAreaImpl::scroll): 7071 (WebKit::DrawingAreaImpl::display): 7072 * WebProcess/WebPage/DrawingAreaImpl.h: 7073 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 7074 (WebKit::LayerBackedDrawingArea::scroll): 7075 * WebProcess/WebPage/LayerBackedDrawingArea.h: 7076 7077 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7078 7079 Reviewed by Sam Weinig. 7080 7081 Get and paint each individual rect in -[WKView drawRect:] 7082 https://bugs.webkit.org/show_bug.cgi?id=52660 7083 7084 * UIProcess/API/mac/WKView.mm: 7085 (-[WKView drawRect:]): 7086 7087 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7088 7089 Reviewed by Darin Adler. 7090 7091 Assertion when loading two URLs in quick succession 7092 https://bugs.webkit.org/show_bug.cgi?id=52649 7093 <rdar://problem/8764645> 7094 7095 If beginLoad is called twice without didStartProvisionalLoad being called in between, 7096 m_pendingProvisionalSandboxExtension would be non-null and an assert would fire. 7097 7098 * WebProcess/WebPage/WebPage.cpp: 7099 (WebKit::WebPage::SandboxExtensionTracker::beginLoad): 7100 Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it 7101 if it is not null, since that's valid. 7102 7103 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7104 7105 Reviewed by Sam Weinig. 7106 7107 Implement NPN_PopUpContextMenu 7108 https://bugs.webkit.org/show_bug.cgi?id=52646 7109 <rdar://problem/8735616> 7110 7111 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 7112 (WebKit::NPN_PopUpContextMenu): 7113 Call NetscapePlugin::popUpContextMenu. 7114 7115 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 7116 (WebKit::NetscapePlugin::NetscapePlugin): 7117 Initialize m_currentMouseEvent. 7118 7119 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 7120 Add m_currentMouseEvent. 7121 7122 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 7123 (WebKit::NetscapePlugin::popUpContextMenu): 7124 Convert the coordinates from the current mouse event to screen coordinates and call 7125 WKPopupContextMenu. 7126 7127 (WebKit::NetscapePlugin::platformHandleMouseEvent): 7128 Update m_currentMouseEvent. 7129 7130 2011-01-18 Jessie Berlin <jberlin (a] apple.com> 7131 7132 Reviewed by Darin Adler. 7133 7134 WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null 7135 https://bugs.webkit.org/show_bug.cgi?id=52641 7136 7137 * UIProcess/WebFrameProxy.cpp: 7138 (WebKit::WebFrameProxy::didStartProvisionalLoad): 7139 (WebKit::WebFrameProxy::didCommitLoad): 7140 (WebKit::WebFrameProxy::didFinishLoad): 7141 7142 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7143 7144 Reviewed by Sam Weinig. 7145 7146 ASSERT in plug-in code when going to youtube 7147 https://bugs.webkit.org/show_bug.cgi?id=52638 7148 7149 * PluginProcess/PluginControllerProxy.cpp: 7150 (WebKit::PluginControllerProxy::paintEntirePlugin): 7151 Don't try to paint the plug-in if the plug-in frame is empty. 7152 7153 2011-01-18 Anders Carlsson <andersca (a] apple.com> 7154 7155 Reviewed by Dan Bernstein. 7156 7157 Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess 7158 https://bugs.webkit.org/show_bug.cgi?id=52635 7159 <rdar://problem/8731337> 7160 7161 * PluginProcess/PluginProcess.cpp: 7162 (WebKit::PluginProcess::initialize): 7163 Call platformInitialize. 7164 7165 * PluginProcess/PluginProcess.h: 7166 Add platformInitialize. 7167 7168 * PluginProcess/mac/PluginProcessMac.mm: 7169 (WebKit::PluginProcess::platformInitialize): 7170 Set the compositing render server port and the visible application name. 7171 7172 * Shared/Plugins/PluginProcessCreationParameters.cpp: 7173 (WebKit::PluginProcessCreationParameters::encode): 7174 (WebKit::PluginProcessCreationParameters::decode): 7175 Encode/decode the parent process name. 7176 7177 * Shared/Plugins/PluginProcessCreationParameters.h: 7178 Add parentProcessName. 7179 7180 * Shared/WebProcessCreationParameters.cpp: 7181 (WebKit::WebProcessCreationParameters::encode): 7182 (WebKit::WebProcessCreationParameters::decode): 7183 Encode/decode the parent process name. 7184 7185 * Shared/WebProcessCreationParameters.h: 7186 Add parentProcessName. 7187 7188 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 7189 (WebKit::ProcessLauncher::launchProcess): 7190 Don't pass the parent process name here. 7191 7192 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 7193 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 7194 Set the visible name. 7195 7196 * UIProcess/mac/WebContextMac.mm: 7197 (WebKit::WebContext::platformInitializeWebProcess): 7198 Pass along the parent process name. 7199 7200 * WebProcess/mac/WebProcessMac.mm: 7201 (WebKit::WebProcess::platformInitializeWebProcess): 7202 Set the visible name. 7203 7204 * WebProcess/mac/WebProcessMainMac.mm: 7205 (WebKit::WebProcessMain): 7206 Don't set the visible name here. It's done in platformInitializeWebProcess. 7207 7208 2011-01-18 Balazs Kelemen <kbalazs (a] webkit.org> 7209 7210 Reviewed by Csaba Osztrogonc. 7211 7212 [Qt][WK2] Not implemented warnings should not break layout tests 7213 https://bugs.webkit.org/show_bug.cgi?id=52616 7214 7215 * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt. 7216 7217 2011-01-17 Jon Honeycutt <jhoneycutt (a] apple.com> 7218 7219 Windows build fix. Unreviewed. 7220 7221 * Shared/PrintInfo.cpp: 7222 Use #include, not #import. 7223 7224 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7225 7226 Actually wrote a FIXME promised for a review comment. 7227 7228 * UIProcess/API/mac/WKView.mm: 7229 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 7230 7231 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7232 7233 Reviewed by Anders Carlsson and Darin Adler. 7234 7235 https://bugs.webkit.org/show_bug.cgi?id=52595 7236 Make basic printing work in WebKit2 7237 7238 * Shared/WebPreferencesStore.h: 7239 * UIProcess/API/C/WKPreferences.cpp: 7240 (WKPreferencesSetShouldPrintBackgrounds): 7241 (WKPreferencesGetShouldPrintBackgrounds): 7242 * UIProcess/API/C/WKPreferences.h: 7243 Implement a preference for printing backgrounds. 7244 7245 * Shared/PrintInfo.cpp: Added. 7246 (WebKit::PrintInfo::encode): 7247 (WebKit::PrintInfo::decode): 7248 * Shared/PrintInfo.h: Added. 7249 * Shared/mac/PrintInfoMac.mm: Added. 7250 (WebKit::PrintInfo::PrintInfo): 7251 A new class for passing page setup information down to the web process. 7252 7253 * WebKit2.xcodeproj/project.pbxproj: 7254 * GNUmakefile.am: 7255 * WebKit2.pro: 7256 * win/WebKit2.vcproj: 7257 Added PrintInfo. 7258 7259 * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs. 7260 7261 * UIProcess/API/mac/WKView.mm: 7262 (WKViewData): Cache page count and geometry. 7263 (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary. 7264 (-[WKView drawRect:]): Added logging. 7265 (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all 7266 methods invoked for this operation would know what's being printed. 7267 (frameBeingPrinted): Retrieve this data. 7268 (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate 7269 for the frame. 7270 (-[WKView knowsPageRange:]): Ask the web process. 7271 (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): 7272 Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit 7273 to page implementation. 7274 (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly. 7275 (-[WKView rectForPage:]): Return a pre-calculated rect. 7276 7277 * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in 7278 printing mode. The UI process controls that. 7279 7280 * UIProcess/WebPageProxy.cpp: 7281 (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode. 7282 (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes. 7283 (WebKit::WebPageProxy::endPrinting): Ditto. 7284 (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry. 7285 (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data. 7286 7287 * WebProcess/WebPage/WebPage.cpp: 7288 (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer. 7289 (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds. 7290 (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're 7291 already in printing mode). 7292 (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end(). 7293 (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and 7294 copmute page rects. 7295 (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out 7296 of a page rect. It should really work for onscreen content, but we only need it for printing. 7297 7298 * WebProcess/WebPage/WebPage.h: 7299 7300 * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting, 7301 ComputePagesForPrinting and DrawRectToPDF. 7302 7303 2011-01-17 Tony Gentilcore <tonyg (a] chromium.org> 7304 7305 Reviewed by Alexey Proskuryakov. 7306 7307 Fix some headers with missing or misspelled #ifndef guards 7308 https://bugs.webkit.org/show_bug.cgi?id=52545 7309 7310 * Shared/UserMessageCoders.h: 7311 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 7312 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 7313 * WebProcess/WebProcessMain.h: 7314 7315 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7316 7317 Build fix. 7318 7319 * Platform/Logging.cpp: 7320 7321 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7322 7323 Reviewed by Dan Bernstein. 7324 7325 https://bugs.webkit.org/show_bug.cgi?id=52592 7326 Add a logging channel for WKView 7327 7328 * Platform/Logging.cpp: 7329 * Platform/Logging.h: 7330 7331 2011-01-17 Anders Carlsson <andersca (a] apple.com> 7332 7333 Reviewed by Sam Weinig. 7334 7335 Factor bitmap context drawing code out into a shared function 7336 https://bugs.webkit.org/show_bug.cgi?id=52589 7337 7338 * Platform/cg/CGUtilities.h: Added. 7339 * Platform/cg/CGUtilities.cpp: Added. 7340 (WebKit::paintBitmapContext): 7341 New function that will paint a bitmap context into a CGContext. 7342 7343 * Shared/cg/ShareableBitmapCG.cpp: 7344 (WebKit::ShareableBitmap::paint): 7345 Use paintBitmapContext. 7346 7347 * UIProcess/mac/BackingStoreMac.mm: 7348 (WebKit::BackingStore::paint): 7349 (WebKit::BackingStore::scroll): 7350 Use paintBitmapContext. 7351 7352 * WebKit2.xcodeproj/project.pbxproj: 7353 * win/WebKit2.vcproj: 7354 * win/WebKit2Common.vsprops: 7355 Add CGUtilities.{cpp|h}. 7356 7357 2011-01-17 Dan Bernstein <mitz (a] apple.com> 7358 7359 Rubber-stamped by Mark Rowe. 7360 7361 Update xcodeproj svn:ignore to include xcuserdata. 7362 7363 * WebKit2.xcodeproj: Modified property svn:ignore. 7364 7365 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7366 7367 Fixing a typo from a bad merge. 7368 7369 * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): 7370 7371 2011-01-17 Alexey Proskuryakov <ap (a] apple.com> 7372 7373 Reviewed by John Sullivan. 7374 7375 https://bugs.webkit.org/show_bug.cgi?id=52590 7376 Should pass a frame into -[WKView canPrintHeadersAndFooters] 7377 7378 * UIProcess/API/mac/WKView.h: 7379 * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method 7380 to canChangeFrameLayout. 7381 7382 2011-01-17 Anders Carlsson <andersca (a] apple.com> 7383 7384 Reviewed by Sam Weinig. 7385 7386 Implement scrolling support 7387 https://bugs.webkit.org/show_bug.cgi?id=52502 7388 7389 * Shared/UpdateInfo.cpp: 7390 (WebKit::UpdateInfo::encode): 7391 (WebKit::UpdateInfo::decode): 7392 * Shared/UpdateInfo.h: 7393 Add scrollRect and scrollDelta member variables. 7394 7395 * UIProcess/BackingStore.h: 7396 Add scroll member function. 7397 7398 * UIProcess/DrawingAreaProxyImpl.cpp: 7399 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 7400 Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect. 7401 7402 * UIProcess/mac/BackingStoreMac.mm: 7403 (WebKit::BackingStore::incorporateUpdate): 7404 Call scroll. 7405 7406 (WebKit::BackingStore::scroll): 7407 Paint the backing store into itself. 7408 7409 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7410 (WebKit::DrawingAreaImpl::display): 7411 Pass the scroll information in the update info. 7412 7413 2011-01-17 Andrey Kosyakov <caseq (a] chromium.org> 7414 7415 Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build. 7416 7417 * win/WebKit2.vcproj: 7418 * win/WebKit2GeneratedCommon.vsprops: 7419 * win/WebKit2WebProcess.vcproj: 7420 7421 2011-01-17 Pavel Feldman <pfeldman (a] chromium.org> 7422 7423 Reviewed by Yury Semikhatsky. 7424 7425 Web Inspector: simplify debugger enabling routine. 7426 https://bugs.webkit.org/show_bug.cgi?id=52472 7427 7428 * WebProcess/WebPage/WebInspector.cpp: 7429 (WebKit::WebInspector::startJavaScriptDebugging): 7430 7431 2011-01-17 Balazs Kelemen <kbalazs (a] webkit.org> 7432 7433 Reviewed by Andreas Kling. 7434 7435 [Qt][WK2] Crash due to double destruction of QSharedMemory 7436 https://bugs.webkit.org/show_bug.cgi?id=52569 7437 7438 Avoid deleting the QSharedMemory twice. 7439 * Platform/qt/SharedMemoryQt.cpp: 7440 (WebKit::SharedMemory::~SharedMemory): 7441 * Shared/qt/CleanupHandler.cpp: 7442 Renamed m_inDeleteObjects to m_hasStartedDeleting and 7443 added a getter for it. 7444 (WebKit::CleanupHandler::CleanupHandler): 7445 (WebKit::CleanupHandler::deleteObjects): 7446 * Shared/qt/CleanupHandler.h: 7447 (WebKit::CleanupHandler::unmark): 7448 (WebKit::CleanupHandler::hasStartedDeleting): 7449 7450 2011-01-15 Adam Barth <abarth (a] webkit.org> 7451 7452 Rubber-stamped by Eric Seidel. 7453 7454 Move WebKit2 into Source 7455 https://bugs.webkit.org/show_bug.cgi?id=52438 7456 7457 * DerivedSources.pro: 7458 * GNUmakefile.am: 7459 * WebKit2.pro: 7460 * WebProcess.pro: 7461 * win/WebKit2.vcproj: 7462 * win/WebKit2WebProcess.vcproj: 7463 7464 2011-01-14 Yuzo Fujishima <yuzo (a] google.com> 7465 7466 Reviewed by Antti Koivisto. 7467 7468 Rename cache() to memoryCache() 7469 https://bugs.webkit.org/show_bug.cgi?id=52433 7470 7471 * WebProcess/WebProcess.cpp: 7472 (WebKit::WebProcess::shutdownIfPossible): 7473 (WebKit::WebProcess::didClose): 7474 * WebProcess/mac/WebProcessMac.mm: 7475 (WebKit::WebProcess::platformSetCacheModel): 7476 * WebProcess/win/WebProcessWin.cpp: 7477 (WebKit::WebProcess::platformSetCacheModel): 7478 7479 2011-01-13 Geoffrey Garen <ggaren (a] apple.com> 7480 7481 Reviewed by Oliver Hunt. 7482 7483 Split out a MarkedSpace strategy object from Heap. 7484 https://bugs.webkit.org/show_bug.cgi?id=52421 7485 7486 * Shared/mac/WebMemorySampler.mac.mm: 7487 (WebKit::WebMemorySampler::sampleWebKit): Updated for class move. 7488 7489 2011-01-14 Anders Carlsson <andersca (a] apple.com> 7490 7491 Reviewed by Dan Bernstein. 7492 7493 Add a new PageClient::displayView function and expose it on WebPageProxy 7494 https://bugs.webkit.org/show_bug.cgi?id=52500 7495 7496 * UIProcess/API/mac/PageClientImpl.h: 7497 * UIProcess/API/mac/PageClientImpl.mm: 7498 (WebKit::PageClientImpl::displayView): 7499 * UIProcess/API/qt/qwkpage.cpp: 7500 (QWKPagePrivate::displayView): 7501 * UIProcess/API/qt/qwkpage_p.h: 7502 * UIProcess/PageClient.h: 7503 * UIProcess/WebPageProxy.cpp: 7504 (WebKit::WebPageProxy::displayView): 7505 * UIProcess/WebPageProxy.h: 7506 * UIProcess/win/WebView.cpp: 7507 (WebKit::WebView::displayView): 7508 * UIProcess/win/WebView.h: 7509 7510 2011-01-14 Anders Carlsson <andersca (a] apple.com> 7511 7512 Reviewed by Sam Weinig. 7513 7514 Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1 7515 https://bugs.webkit.org/show_bug.cgi?id=52499 7516 7517 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7518 (WebKit::shouldPaintBoundsRect): 7519 Port code from -[WebView _mustDrawUnionedRect:singleRects:count:]. 7520 7521 (WebKit::DrawingAreaImpl::display): 7522 If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect. 7523 7524 2011-01-14 Brian Weinstein <bweinstein (a] apple.com> 7525 7526 Reviewed by Geoff Garen. 7527 7528 ShouldLoadResourceForFrame should use strings, not URLs. 7529 https://bugs.webkit.org/show_bug.cgi?id=52476 7530 7531 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 7532 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 7533 (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of 7534 a URL, and rename from subresourceURL to resourceURL. 7535 7536 2011-01-14 Anders Carlsson <andersca (a] apple.com> 7537 7538 Reviewed by Sam Weinig. 7539 7540 Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process. 7541 7542 Based on a patch by Ivan Krsti. This also makes the NSURLCache path a sandbox parameter. 7543 7544 * Shared/WebProcessCreationParameters.cpp: 7545 (WebKit::WebProcessCreationParameters::encode): 7546 (WebKit::WebProcessCreationParameters::decode): 7547 Encode and decode the uiProcessBundleResourcePath member variable. 7548 7549 * Shared/WebProcessCreationParameters.h: 7550 Add uiProcessBundleResourcePath member variable. 7551 7552 * UIProcess/mac/WebContextMac.mm: 7553 (WebKit::WebContext::platformInitializeWebProcess): 7554 Set the uiProcessBundleResourcePath member variable. 7555 7556 * WebProcess/com.apple.WebProcess.sb: 7557 Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories. 7558 7559 * WebProcess/mac/WebProcessMac.mm: 7560 (WebKit::initializeSandbox): 7561 When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR. 7562 7563 (WebKit::WebProcess::platformInitializeWebProcess): 7564 Remove the code that would consume a sandbox extension for the url cache path. 7565 7566 2011-01-14 Anders Carlsson <andersca (a] apple.com> 7567 7568 Reviewed by Sam Weinig. 7569 7570 Delay initializing the sandbox until we get the InitializeWebProcess message. 7571 7572 * WebProcess/mac/WebProcessMac.mm: 7573 (WebKit::initializeSandbox): 7574 (WebKit::WebProcess::platformInitializeWebProcess): 7575 * WebProcess/mac/WebProcessMainMac.mm: 7576 (WebKit::WebProcessMain): 7577 7578 2011-01-14 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 7579 7580 Reviewed by Kenneth Rohde Christiansen. 7581 7582 Align import/export directives 7583 https://bugs.webkit.org/show_bug.cgi?id=52208 7584 7585 * Shared/API/c/WKBase.h: Align import/export directives with 7586 JavaScriptCore/API/JSBase.h. 7587 7588 2011-01-14 Pavel Feldman <pfeldman (a] chromium.org> 7589 7590 Reviewed by Yury Semikhatsky. 7591 7592 Web Inspector: extract InspectorSettings from InspectorState, 7593 simplify it. 7594 https://bugs.webkit.org/show_bug.cgi?id=52429 7595 7596 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 7597 7598 2011-01-13 Enrica Casucci <enrica (a] apple.com> 7599 7600 Reviewed by Darin Adler. 7601 7602 WebKit2: Add support for drag and drop 7603 https://bugs.webkit.org/show_bug.cgi?id=52343 7604 <rdar://problem/7660558> 7605 7606 This patch contains the changes required to support dropping content 7607 in WebKit on the Mac. The DragData class has been extended to provide 7608 additional context from the application (keyboard state, modal windows, etc.) 7609 as well as information of the drag pasteboard being used. 7610 The support for WebKit as drag source will be added with a separate patch. 7611 7612 * Shared/DragControllerAction.h: Added. 7613 * UIProcess/API/mac/WKView.mm: 7614 Added implemention of the methods required to add suport for a drop target. 7615 To maintain asynchronous communication with the WebProcess, we always return 7616 the previous calculated value for the drag operation. 7617 (-[WKView _registerDraggedTypes]): 7618 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 7619 (-[WKView applicationFlags:]): 7620 (-[WKView draggingEntered:]): 7621 (-[WKView draggingUpdated:]): 7622 (-[WKView draggingExited:]): 7623 (-[WKView prepareForDragOperation:]): 7624 (-[WKView performDragOperation:]): 7625 * UIProcess/WebPageProxy.cpp: 7626 (WebKit::WebPageProxy::WebPageProxy): 7627 (WebKit::WebPageProxy::performDragControllerAction): 7628 (WebKit::WebPageProxy::didPerformDragControllerAction): 7629 * UIProcess/WebPageProxy.h: 7630 (WebKit::WebPageProxy::dragOperation): 7631 (WebKit::WebPageProxy::resetDragOperation): 7632 * UIProcess/WebPageProxy.messages.in: 7633 * WebKit2.xcodeproj/project.pbxproj: 7634 * WebProcess/WebCoreSupport/WebDragClient.cpp: 7635 (WebKit::WebDragClient::willPerformDragDestinationAction): 7636 (WebKit::WebDragClient::willPerformDragSourceAction): 7637 (WebKit::WebDragClient::actionMaskForDrag): 7638 (WebKit::WebDragClient::dragSourceActionMaskForPoint): 7639 (WebKit::WebDragClient::startDrag): 7640 * WebProcess/WebPage/WebPage.cpp: 7641 (WebKit::WebPage::performDragControllerAction): 7642 * WebProcess/WebPage/WebPage.h: 7643 * WebProcess/WebPage/WebPage.messages.in: 7644 7645 2011-01-13 Dan Bernstein <mitz (a] apple.com> 7646 7647 Reviewed by John Sullivan. 7648 7649 Incorrect assertion in DrawingAreaImpl::scroll() 7650 https://bugs.webkit.org/show_bug.cgi?id=52376 7651 7652 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7653 (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area. 7654 This made the assertion valid, but I removed it anyway. 7655 7656 2011-01-12 Balazs Kelemen <kbalazs (a] webkit.org> 7657 7658 Unreviewed. 7659 7660 Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init. 7661 The argument is unused since http://trac.webkit.org/changeset/75468. 7662 7663 * UIProcess/API/qt/qgraphicswkview.cpp: 7664 (QGraphicsWKView::QGraphicsWKView): 7665 * UIProcess/API/qt/qwkpage.cpp: 7666 (QWKPagePrivate::init): 7667 * UIProcess/API/qt/qwkpage_p.h: 7668 7669 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7670 7671 Reviewed by Sam Weinig. 7672 7673 Implement DrawingAreaImpl::scroll 7674 https://bugs.webkit.org/show_bug.cgi?id=52346 7675 7676 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7677 (WebKit::DrawingAreaImpl::scroll): 7678 If there is already an active scroll, compute the area of both scroll rects and 7679 invalidate the smallest one. Compute a new dirty region if necessary and also 7680 add the scroll repaint region to the dirty region. 7681 7682 (WebKit::DrawingAreaImpl::display): 7683 Reset the scroll area and scroll delta. 7684 7685 * WebProcess/WebPage/DrawingAreaImpl.h: 7686 Add scroll area and scroll delta member variables. 7687 7688 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7689 7690 Reviewed by Dan Bernstein. 7691 7692 Region improvements 7693 https://bugs.webkit.org/show_bug.cgi?id=52344 7694 7695 * Platform/Region.cpp: 7696 (WebKit::Region::Shape::move): 7697 (WebKit::Region::move): 7698 Change Region::move to take an IntSize. 7699 7700 * Platform/Region.h: 7701 (WebKit::intersect): 7702 (WebKit::subtract): 7703 (WebKit::move): 7704 Add convenience functions. 7705 7706 2011-01-12 Ryosuke Niwa <rniwa (a] webkit.org> 7707 7708 Unreviewed Qt build fix for r75661 7709 7710 * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms. 7711 7712 2011-01-12 Beth Dakin <bdakin (a] apple.com> 7713 7714 Reviewed by Anders Carlsson. 7715 7716 Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 7717 Expose fixed layout through WebKit SPI 7718 -and corresponding- 7719 <rdar://problem/8844464> 7720 7721 And now with getters! 7722 * UIProcess/API/C/WKPage.cpp: 7723 (WKPageUseFixedLayout): 7724 (WKPageFixedLayoutSize): 7725 * UIProcess/API/C/WKPage.h: 7726 * UIProcess/WebPageProxy.h: 7727 (WebKit::WebPageProxy::useFixedLayout): 7728 (WebKit::WebPageProxy::fixedLayoutSize): 7729 7730 2011-01-12 Sam Weinig <sam (a] webkit.org> 7731 7732 Reviewed by Anders Carlsson. 7733 7734 https://bugs.webkit.org/show_bug.cgi?id=52337 7735 PlatformWheelEvent should know about the scroll phase on the Mac 7736 7737 Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent. 7738 7739 * Shared/WebEvent.h: 7740 (WebKit::WebWheelEvent::phase): 7741 * Shared/WebEventConversion.cpp: 7742 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 7743 * Shared/WebWheelEvent.cpp: 7744 (WebKit::WebWheelEvent::WebWheelEvent): 7745 (WebKit::WebWheelEvent::encode): 7746 (WebKit::WebWheelEvent::decode): 7747 * Shared/mac/WebEventFactory.mm: 7748 (WebKit::phaseForEvent): 7749 (WebKit::WebEventFactory::createWebWheelEvent): 7750 7751 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7752 7753 Reviewed by Sam Weinig. 7754 7755 Get rid of an unneeded parameter from DrawingArea::scroll 7756 https://bugs.webkit.org/show_bug.cgi?id=52336 7757 7758 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 7759 (WebKit::WebChromeClient::scroll): 7760 * WebProcess/WebCoreSupport/WebChromeClient.h: 7761 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 7762 (WebKit::ChunkedUpdateDrawingArea::scroll): 7763 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 7764 * WebProcess/WebPage/DrawingArea.h: 7765 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7766 (WebKit::DrawingAreaImpl::scroll): 7767 * WebProcess/WebPage/DrawingAreaImpl.h: 7768 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 7769 (WebKit::LayerBackedDrawingArea::scroll): 7770 * WebProcess/WebPage/LayerBackedDrawingArea.h: 7771 * WebProcess/WebPage/TiledDrawingArea.cpp: 7772 (WebKit::TiledDrawingArea::scroll): 7773 * WebProcess/WebPage/TiledDrawingArea.h: 7774 7775 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7776 7777 Reviewed by Sam Weinig. 7778 7779 Get the new drawing area painting to the screen 7780 https://bugs.webkit.org/show_bug.cgi?id=52331 7781 7782 * UIProcess/DrawingAreaProxyImpl.cpp: 7783 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 7784 Call setViewNeedsDisplay on all the update rects. 7785 7786 * UIProcess/WebPageProxy.cpp: 7787 (WebKit::WebPageProxy::setViewNeedsDisplay): 7788 Call through to the page client. 7789 7790 (WebKit::WebPageProxy::processDidCrash): 7791 Null out the drawing area proxy. 7792 7793 * UIProcess/mac/BackingStoreMac.mm: 7794 (WebKit::BackingStore::paint): 7795 Paint. 7796 7797 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7798 7799 Reviewed by Sam Weinig. 7800 7801 More work on getting the drawing area proxy to paint 7802 https://bugs.webkit.org/show_bug.cgi?id=52328 7803 7804 * UIProcess/API/mac/WKView.mm: 7805 (-[WKView drawRect:]): 7806 Handle the new drawing area. 7807 7808 * UIProcess/BackingStore.cpp: 7809 (WebKit::BackingStore::BackingStore): 7810 Assert that the size isn't empty. 7811 7812 * UIProcess/BackingStore.h: 7813 * UIProcess/mac/BackingStoreMac.mm: 7814 (WebKit::BackingStore::incorporateUpdate): 7815 Paint all update rects into the bitmap context. 7816 7817 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7818 (WebKit::DrawingAreaImpl::display): 7819 Create a handle so the shareable bitmap will actually be transferred over. 7820 7821 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7822 7823 Fix build. 7824 7825 * UIProcess/DrawingAreaProxyImpl.cpp: 7826 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 7827 7828 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7829 7830 Reviewed by Sam Weinig. 7831 7832 Begin stubbing out some more BackingStore member functions 7833 https://bugs.webkit.org/show_bug.cgi?id=52323 7834 7835 * UIProcess/BackingStore.cpp: 7836 (WebKit::BackingStore::~BackingStore): 7837 This was accidentally made into a constructor; it should be a destructor. 7838 7839 * UIProcess/DrawingAreaProxyImpl.cpp: 7840 (WebKit::DrawingAreaProxyImpl::paint): 7841 Call the backing store. 7842 7843 (WebKit::DrawingAreaProxyImpl::update): 7844 Incorporate the update. 7845 7846 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 7847 Create the backing store if needed and incorporate the update. 7848 7849 * UIProcess/mac/BackingStoreMac.mm: Added. 7850 (WebKit::BackingStore::platformInitialize): 7851 Create a bitmap context. 7852 7853 (WebKit::BackingStore::paint): 7854 (WebKit::BackingStore::incorporateUpdate): 7855 Add stubs. 7856 7857 * WebKit2.xcodeproj/project.pbxproj: 7858 Add BackingStoreMac.mm 7859 7860 2011-01-12 Beth Dakin <bdakin (a] apple.com> 7861 7862 Reviewed by Anders Carlsson. 7863 7864 Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose 7865 fixed layout through WebKit SPI 7866 -and corresponding- 7867 <rdar://problem/8844464> 7868 7869 Store useFixedLayout and fixedLayoutSize in the 7870 WebPageCreationParameters and the WebPageProxy. 7871 * Shared/WebPageCreationParameters.cpp: 7872 (WebKit::WebPageCreationParameters::encode): 7873 (WebKit::WebPageCreationParameters::decode): 7874 * Shared/WebPageCreationParameters.h: 7875 * UIProcess/API/C/WKPage.cpp: 7876 (WKPageSetUseFixedLayout): 7877 (WKPageSetFixedLayoutSize): 7878 * UIProcess/API/C/WKPage.h: 7879 * UIProcess/WebPageProxy.cpp: 7880 (WebKit::WebPageProxy::WebPageProxy): 7881 (WebKit::WebPageProxy::setUseFixedLayout): 7882 (WebKit::WebPageProxy::setFixedLayoutSize): 7883 (WebKit::WebPageProxy::creationParameters): 7884 * UIProcess/WebPageProxy.h: 7885 * WebProcess/WebPage/WebPage.cpp: 7886 (WebKit::WebPage::setUseFixedLayout): 7887 (WebKit::WebPage::setFixedLayoutSize): 7888 * WebProcess/WebPage/WebPage.h: 7889 * WebProcess/WebPage/WebPage.messages.in: 7890 7891 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7892 7893 Reviewed by Beth Dakin. 7894 7895 Add BackingStore class 7896 https://bugs.webkit.org/show_bug.cgi?id=52318 7897 7898 * UIProcess/BackingStore.cpp: Added. 7899 (WebKit::BackingStore::create): 7900 (WebKit::BackingStore::BackingStore): 7901 * UIProcess/BackingStore.h: Added. 7902 * WebKit2.xcodeproj/project.pbxproj: 7903 7904 2011-01-12 Brady Eidson <beidson (a] apple.com> 7905 7906 Reviewed by Sam Weinig. 7907 7908 <rdar://problem/8837307>, <rdar://problem/8637038>, and https://bugs.webkit.org/show_bug.cgi?id=52248 7909 Back/forward list recovery after a WebProcess crash is crashy itself. 7910 7911 Add an isEmpty() accessor so the WebProcess knows if it is actually restoring a session: 7912 * Shared/SessionState.cpp: 7913 (WebKit::SessionState::isEmpty): 7914 * Shared/SessionState.h: 7915 7916 Keep track of the highest used itemID so a relaunched WebProcess can later be informed: 7917 * Shared/WebBackForwardListItem.cpp: 7918 (WebKit::WebBackForwardListItem::WebBackForwardListItem): 7919 (WebKit::WebBackForwardListItem::highedUsedItemID): 7920 * Shared/WebBackForwardListItem.h: 7921 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 7922 (WebKit::generateHistoryItemID): 7923 (WebKit::WebBackForwardListProxy::setHighestItemIDFromUIProcess): 7924 (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Remove a now-invalid ASSERT, as the UIProcess 7925 now tells the WebProcess that a previous WebProcess created. 7926 * WebProcess/WebPage/WebBackForwardListProxy.h: 7927 7928 Encode/decode data relevant to restoring a session on WebPage creation: 7929 * Shared/WebPageCreationParameters.cpp: 7930 (WebKit::WebPageCreationParameters::encode): 7931 (WebKit::WebPageCreationParameters::decode): 7932 * Shared/WebPageCreationParameters.h: 7933 7934 If the WebProcess has crashed since the last load, change reload and the various back/forward APIs to 7935 update the current back/forward item (if necessary) then relaunch the process: 7936 * UIProcess/WebPageProxy.cpp: 7937 (WebKit::WebPageProxy::reattachToWebProcessWithItem): 7938 (WebKit::WebPageProxy::reattachToWebProcess): Renamed from "relaunch()" and made private. 7939 (WebKit::WebPageProxy::initializeWebPage): 7940 (WebKit::WebPageProxy::loadURL): 7941 (WebKit::WebPageProxy::loadURLRequest): 7942 (WebKit::WebPageProxy::reload): 7943 (WebKit::WebPageProxy::goForward): 7944 (WebKit::WebPageProxy::goBack): 7945 (WebKit::WebPageProxy::goToBackForwardItem): 7946 (WebKit::WebPageProxy::creationParameters): 7947 * UIProcess/WebPageProxy.h: 7948 7949 Rename "RestoreSession" to "RestoreSessionAndNavigateToCurrentItem" 7950 * WebProcess/WebPage/WebPage.messages.in: 7951 * UIProcess/cf/WebPageProxyCF.cpp: 7952 (WebKit::WebPageProxy::restoreFromSessionStateData): 7953 7954 Restore a session on page creation if the parameters include it: 7955 * WebProcess/WebPage/WebPage.cpp: 7956 (WebKit::WebPage::WebPage): Call restoreSession if session state exists. 7957 (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): 7958 (WebKit::WebPage::restoreSession): 7959 * WebProcess/WebPage/WebPage.h: 7960 7961 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7962 7963 Reviewed by Sam Weinig. 7964 7965 Send Update and DidUpdate messages 7966 https://bugs.webkit.org/show_bug.cgi?id=52316 7967 7968 * UIProcess/DrawingAreaProxy.h: 7969 (WebKit::DrawingAreaProxy::update): 7970 Add empty stub. 7971 7972 * UIProcess/DrawingAreaProxy.messages.in: 7973 Add Update message. 7974 7975 * UIProcess/DrawingAreaProxyImpl.cpp: 7976 (WebKit::DrawingAreaProxyImpl::update): 7977 Just send back a DidUpdate message. 7978 7979 * WebProcess/WebPage/DrawingArea.h: 7980 (WebKit::DrawingArea::didUpdate): 7981 Add empty stub. 7982 7983 * WebProcess/WebPage/DrawingArea.messages.in: 7984 Add DidUpdate message. 7985 7986 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7987 (WebKit::DrawingAreaImpl::didUpdate): 7988 Call display(). 7989 7990 (WebKit::DrawingAreaImpl::display): 7991 Send an Update message. 7992 7993 2011-01-12 Anders Carlsson <andersca (a] apple.com> 7994 7995 Reviewed by Sam Weinig. 7996 7997 Make the new drawing area actually draw something 7998 https://bugs.webkit.org/show_bug.cgi?id=52314 7999 8000 * Shared/UpdateInfo.cpp: 8001 (WebKit::UpdateInfo::encode): 8002 (WebKit::UpdateInfo::decode): 8003 Encode and decode newly added fields. 8004 8005 * Shared/UpdateInfo.h: 8006 Add a vector of update rects and a handle for the sharable bitmap. 8007 8008 * WebProcess/WebPage/DrawingAreaImpl.cpp: 8009 (WebKit::DrawingAreaImpl::display): 8010 Get the individual rects from the region and paint them into the shareable bitmap. 8011 8012 * WebProcess/WebPage/WebPage.cpp: 8013 (WebKit::WebPage::mainFrameHasCustomRepresentation): 8014 * WebProcess/WebPage/WebPage.h: 8015 Add helper function. 8016 8017 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: 8018 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 8019 Use helper function. 8020 8021 2011-01-12 Anders Carlsson <andersca (a] apple.com> 8022 8023 Reviewed by Sam Weinig. 8024 8025 Add UpdateInfo class 8026 https://bugs.webkit.org/show_bug.cgi?id=52306 8027 8028 * Shared/UpdateInfo.cpp: Added. 8029 (WebKit::UpdateInfo::encode): 8030 (WebKit::UpdateInfo::decode): 8031 * Shared/UpdateInfo.h: Added. 8032 (WebKit::UpdateInfo::UpdateInfo): 8033 * WebKit2.xcodeproj/project.pbxproj: 8034 8035 2011-01-12 Anders Carlsson <andersca (a] apple.com> 8036 8037 Reviewed by Sam Weinig. 8038 8039 More work on the new drawing area implementation 8040 https://bugs.webkit.org/show_bug.cgi?id=52302 8041 8042 * Platform/Region.cpp: 8043 (WebKit::Region::Shape::segments_end): 8044 segments_end could end up returning an iterator that is one element past the Vector data, so 8045 we can't use operator[] since that will assert. 8046 8047 * WebProcess/WebPage/DrawingAreaImpl.cpp: 8048 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 8049 Initialize the timer. 8050 8051 (WebKit::DrawingAreaImpl::setNeedsDisplay): 8052 Unite the rect with the dirty region and schedule a display. 8053 8054 (WebKit::DrawingAreaImpl::setSize): 8055 Tell the web page to resize. 8056 8057 (WebKit::DrawingAreaImpl::scheduleDisplay): 8058 Start a display timer if needed. 8059 8060 (WebKit::DrawingAreaImpl::display): 8061 Add a stub. 8062 8063 2011-01-12 Brent Fulgham <bfulgham (a] webkit.org> 8064 8065 Unreviewed build fix after r75527. Rename 'BackingStoreCairo.cpp' 8066 to 'ShareableBitmapCairo.cpp' to match VS project changes. 8067 8068 * Shared/cairo/BackingStoreCairo.cpp: Removed. 8069 * Shared/cairo/ShareableBitmapCairo.cpp: Copied from Shared/cairo/BackingStoreCairo.cpp. 8070 8071 2011-01-11 Jeff Miller <jeffm (a] apple.com> 8072 8073 Reviewed by John Sullivan. 8074 8075 WebKit2: "Webpages not responding" dialog appears when <select> popup menu is showing 8076 https://bugs.webkit.org/show_bug.cgi?id=52242 8077 8078 * UIProcess/WebPageProxy.cpp: 8079 (WebKit::WebPageProxy::showPopupMenu): 8080 On Windows, stop the responsiveness timer before calling showPopupMenu(). 8081 8082 2011-01-11 Maciej Stachowiak <mjs (a] apple.com> 8083 8084 Reviewed by Anders Carlsson. 8085 8086 UIProcess kills the WebProcess sometimes when detached frames exist 8087 https://bugs.webkit.org/show_bug.cgi?id=52227 8088 8089 * UIProcess/WebPageProxy.cpp: 8090 (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid 8091 if it came in for a detached frame. 8092 8093 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8094 8095 Build fix. 8096 8097 * WebKit2.xcodeproj/project.pbxproj: 8098 8099 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8100 8101 Reviewed by Sam Weinig. 8102 8103 Add a Region class which represents a graphical region 8104 https://bugs.webkit.org/show_bug.cgi?id=52255 8105 8106 * Platform/Region.cpp: Added. 8107 (WebKit::Region::Region): 8108 (WebKit::Region::rects): 8109 (WebKit::Region::Shape::Shape): 8110 (WebKit::Region::Shape::appendSpan): 8111 (WebKit::Region::Shape::canCoalesce): 8112 (WebKit::Region::Shape::appendSpans): 8113 (WebKit::Region::Shape::appendSegment): 8114 (WebKit::Region::Shape::spans_begin): 8115 (WebKit::Region::Shape::spans_end): 8116 (WebKit::Region::Shape::segments_begin): 8117 (WebKit::Region::Shape::segments_end): 8118 (WebKit::Region::Shape::dump): 8119 (WebKit::Region::Shape::bounds): 8120 (WebKit::Region::Shape::move): 8121 (WebKit::Region::Shape::swap): 8122 (WebKit::Region::Shape::shapeOperation): 8123 (WebKit::Region::Shape::UnionOperation::trySimpleOperation): 8124 (WebKit::Region::Shape::unionShapes): 8125 (WebKit::Region::Shape::IntersectOperation::trySimpleOperation): 8126 (WebKit::Region::Shape::intersectShapes): 8127 (WebKit::Region::Shape::SubtractOperation::trySimpleOperation): 8128 (WebKit::Region::Shape::subtractShapes): 8129 (WebKit::Region::dump): 8130 (WebKit::Region::intersect): 8131 (WebKit::Region::unite): 8132 (WebKit::Region::subtract): 8133 (WebKit::Region::move): 8134 * Platform/Region.h: Added. 8135 (WebKit::Region::bounds): 8136 (WebKit::Region::isEmpty): 8137 (WebKit::Region::Span::Span): 8138 (WebKit::Region::Shape::isEmpty): 8139 * WebKit2.xcodeproj/project.pbxproj: 8140 8141 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8142 8143 Reviewed by Darin Adler. 8144 8145 Add DidSetSize message 8146 https://bugs.webkit.org/show_bug.cgi?id=52254 8147 8148 * DerivedSources.make: 8149 Add DrawingAReaProxy.messages.in. 8150 8151 * Platform/CoreIPC/MessageID.h: 8152 Add DrawingAreaProxy message class. 8153 8154 * UIProcess/DrawingAreaProxy.h: 8155 (WebKit::DrawingAreaProxy::didSetSize): 8156 Add CoreIPC message handler function. 8157 8158 * UIProcess/DrawingAreaProxy.messages.in: Added. 8159 8160 * UIProcess/DrawingAreaProxyImpl.cpp: 8161 (WebKit::DrawingAreaProxyImpl::didSetSize): 8162 Add stub. 8163 8164 * UIProcess/WebPageProxy.cpp: 8165 (WebKit::WebPageProxy::didReceiveMessage): 8166 Handle DrawingAreaProxy messages. 8167 8168 * WebKit2.xcodeproj/project.pbxproj: 8169 Add new files. 8170 8171 * WebProcess/WebPage/DrawingAreaImpl.cpp: 8172 (WebKit::DrawingAreaImpl::setSize): 8173 Send a DidSetSize message for now. 8174 8175 2011-01-11 Sam Weinig <sam (a] webkit.org> 8176 8177 Reviewed by Anders Carlsson. 8178 8179 Fix spelling mistake. Sharable -> Shareable. 8180 8181 * Shared/API/c/WKImage.h: 8182 * Shared/API/c/WKSharedAPICast.h: 8183 (WebKit::toImageOptions): 8184 * Shared/ImageOptions.h: 8185 * Shared/WebImage.cpp: 8186 (WebKit::WebImage::create): 8187 8188 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8189 8190 Reviewed by Sam Weinig. 8191 8192 Add SetSize message 8193 https://bugs.webkit.org/show_bug.cgi?id=52247 8194 8195 * DerivedSources.make: 8196 Add DrawingArea.messages.in 8197 8198 * Platform/CoreIPC/MessageID.h: 8199 Add DrawingArea message class. 8200 8201 * UIProcess/DrawingAreaProxyImpl.cpp: 8202 (WebKit::DrawingAreaProxyImpl::sizeDidChange): 8203 Call sendSetSize. 8204 8205 (WebKit::DrawingAreaProxyImpl::sendSetSize): 8206 Send a SetSize message. 8207 8208 * UIProcess/DrawingAreaProxyImpl.h: 8209 Add setSize override. 8210 8211 * WebKit2.xcodeproj/project.pbxproj: 8212 Add new files. 8213 8214 * WebProcess/WebPage/DrawingArea.h: 8215 (WebKit::DrawingArea::setSize): 8216 Add setSize member function. 8217 8218 * WebProcess/WebPage/DrawingArea.messages.in: Added. 8219 8220 * WebProcess/WebPage/DrawingAreaImpl.cpp: 8221 * WebProcess/WebPage/DrawingAreaImpl.h: 8222 Add setSize. 8223 8224 * WebProcess/WebPage/WebPage.cpp: 8225 (WebKit::WebPage::didReceiveMessage): 8226 Handle drawing area messages. 8227 8228 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8229 8230 Reviewed by Sam Weinig. 8231 8232 Replace ASSERTs with FIXMEs. 8233 8234 * UIProcess/DrawingAreaProxyImpl.cpp: 8235 (WebKit::DrawingAreaProxyImpl::sizeDidChange): 8236 (WebKit::DrawingAreaProxyImpl::setPageIsVisible): 8237 8238 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8239 8240 Reviewed by Sam Weinig. 8241 8242 Add DrawingAreaImpl skeleton class 8243 https://bugs.webkit.org/show_bug.cgi?id=52246 8244 8245 * UIProcess/API/mac/WKView.mm: 8246 (useNewDrawingArea): 8247 New function which controls which drawing area to use, through an environment variable. 8248 8249 (-[WKView drawRect:]): 8250 Bail if we're using the new drawing area (for now). 8251 8252 (-[WKView WebKit::]): 8253 Create a DrawingAreaProxyImpl when asked to. 8254 8255 * WebKit2.xcodeproj/project.pbxproj: 8256 Add new files. 8257 8258 * WebProcess/WebPage/DrawingArea.cpp: 8259 (WebKit::DrawingArea::create): 8260 Create a DrawingAreaImpl when asked to. 8261 8262 * WebProcess/WebPage/DrawingAreaImpl.cpp: Added. 8263 * WebProcess/WebPage/DrawingAreaImpl.h: Added. 8264 Add DrawingAreaImpl class. 8265 8266 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8267 8268 Reviewed by Sam Weinig. 8269 8270 Add Mac-only DrawingAreaProxyImpl class skeleton 8271 https://bugs.webkit.org/show_bug.cgi?id=52243 8272 8273 This is the proxy side of a new drawing area implementation. This is Mac only for now 8274 while the design is being fleshed out. 8275 8276 * Shared/DrawingAreaInfo.h: 8277 * UIProcess/API/mac/WKView.mm: 8278 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]): 8279 * UIProcess/DrawingAreaProxyImpl.cpp: Added. 8280 (WebKit::DrawingAreaProxyImpl::create): 8281 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): 8282 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl): 8283 (WebKit::DrawingAreaProxyImpl::didReceiveMessage): 8284 (WebKit::DrawingAreaProxyImpl::didReceiveSyncMessage): 8285 (WebKit::DrawingAreaProxyImpl::paint): 8286 (WebKit::DrawingAreaProxyImpl::sizeDidChange): 8287 (WebKit::DrawingAreaProxyImpl::setPageIsVisible): 8288 (WebKit::DrawingAreaProxyImpl::attachCompositingContext): 8289 (WebKit::DrawingAreaProxyImpl::detachCompositingContext): 8290 * UIProcess/DrawingAreaProxyImpl.h: Added. 8291 * WebKit2.xcodeproj/project.pbxproj: 8292 * WebProcess/WebPage/DrawingArea.cpp: 8293 (WebKit::DrawingArea::create): 8294 8295 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8296 8297 Fix Windows build. 8298 8299 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 8300 (WebKit::WebPopupMenu::setUpPlatformData): 8301 8302 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8303 8304 Reviewed by Sam Weinig. 8305 8306 Rename ShareableBitmap::createSharable to createShareable 8307 https://bugs.webkit.org/show_bug.cgi?id=52234 8308 8309 * Shared/ShareableBitmap.cpp: 8310 (WebKit::ShareableBitmap::createShareable): 8311 * Shared/ShareableBitmap.h: 8312 * Shared/WebImage.cpp: 8313 (WebKit::WebImage::create): 8314 * WebProcess/Plugins/PluginProxy.cpp: 8315 (WebKit::PluginProxy::geometryDidChange): 8316 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 8317 (WebKit::WebPopupMenu::setUpPlatformData): 8318 * WebProcess/WebPage/FindController.cpp: 8319 (WebKit::FindController::updateFindIndicator): 8320 8321 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8322 8323 Reviewed by Sam Weinig. 8324 8325 Rename BackingStore to ShareableBitmap 8326 https://bugs.webkit.org/show_bug.cgi?id=52228 8327 8328 * GNUmakefile.am: 8329 * PluginProcess/PluginControllerProxy.cpp: 8330 (WebKit::PluginControllerProxy::geometryDidChange): 8331 * PluginProcess/PluginControllerProxy.h: 8332 * Shared/API/c/cg/WKImageCG.cpp: 8333 (WKImageCreateCGImage): 8334 * Shared/BackingStore.cpp: Removed. 8335 * Shared/BackingStore.h: Removed. 8336 * Shared/PlatformPopupMenuData.cpp: 8337 (WebKit::PlatformPopupMenuData::decode): 8338 * Shared/PlatformPopupMenuData.h: 8339 * Shared/ShareableBitmap.cpp: Copied from WebKit2/Shared/BackingStore.cpp. 8340 (WebKit::ShareableBitmap::create): 8341 (WebKit::ShareableBitmap::createSharable): 8342 (WebKit::ShareableBitmap::createHandle): 8343 (WebKit::ShareableBitmap::ShareableBitmap): 8344 (WebKit::ShareableBitmap::~ShareableBitmap): 8345 (WebKit::ShareableBitmap::resize): 8346 (WebKit::ShareableBitmap::data): 8347 * Shared/ShareableBitmap.h: Copied from WebKit2/Shared/BackingStore.h. 8348 * Shared/UserMessageCoders.h: 8349 (WebKit::UserMessageEncoder::baseEncode): 8350 (WebKit::UserMessageDecoder::baseDecode): 8351 * Shared/WebImage.cpp: 8352 (WebKit::WebImage::create): 8353 (WebKit::WebImage::WebImage): 8354 (WebKit::WebImage::~WebImage): 8355 (WebKit::WebImage::size): 8356 * Shared/WebImage.h: 8357 (WebKit::WebImage::bitmap): 8358 * Shared/cairo/BackingStoreCairo.cpp: 8359 (WebKit::ShareableBitmap::createGraphicsContext): 8360 (WebKit::ShareableBitmap::paint): 8361 * Shared/cg/BackingStoreCG.cpp: Removed. 8362 * Shared/cg/ShareableBitmapCG.cpp: Copied from WebKit2/Shared/cg/BackingStoreCG.cpp. 8363 (WebKit::ShareableBitmap::createGraphicsContext): 8364 (WebKit::ShareableBitmap::paint): 8365 * Shared/gtk/BackingStoreGtk.cpp: Removed. 8366 * Shared/gtk/ShareableBitmapGtk.cpp: Copied from WebKit2/Shared/gtk/BackingStoreGtk.cpp. 8367 (WebKit::ShareableBitmap::createGraphicsContext): 8368 (WebKit::ShareableBitmap::paint): 8369 * Shared/qt/BackingStoreQt.cpp: Removed. 8370 * Shared/qt/ShareableBitmapQt.cpp: Copied from WebKit2/Shared/qt/BackingStoreQt.cpp. 8371 (WebKit::ShareableBitmap::createGraphicsContext): 8372 (WebKit::ShareableBitmap::paint): 8373 * UIProcess/FindIndicator.cpp: 8374 (WebKit::FindIndicator::create): 8375 (WebKit::FindIndicator::FindIndicator): 8376 * UIProcess/FindIndicator.h: 8377 (WebKit::FindIndicator::contentImage): 8378 * WebKit2.pro: 8379 * WebKit2.xcodeproj/project.pbxproj: 8380 * WebProcess/Plugins/PluginProxy.cpp: 8381 (WebKit::PluginProxy::geometryDidChange): 8382 * WebProcess/Plugins/PluginProxy.h: 8383 * WebProcess/WebPage/FindController.cpp: 8384 (WebKit::FindController::updateFindIndicator): 8385 * WebProcess/WebPage/WebPage.cpp: 8386 (WebKit::WebPage::snapshotInViewCoordinates): 8387 (WebKit::WebPage::snapshotInDocumentCoordinates): 8388 * win/WebKit2.vcproj: 8389 8390 2011-01-11 John Sullivan <sullivan (a] apple.com> 8391 8392 Reviewed by Anders Carlsson. 8393 8394 [WKView setFrameSize:] derefs _page->drawingArea() without null check 8395 <https://bugs.webkit.org/show_bug.cgi?id=52231> 8396 8397 * UIProcess/API/mac/WKView.mm: 8398 (-[WKView setFrameSize:]): 8399 Null check drawingArea(). This is OK because if it doesn't exist then it will be 8400 created later with the correct initial size. 8401 8402 2011-01-07 Enrica Casucci <enrica (a] apple.com> 8403 8404 Reviewed by Alexey Proskuryakov. 8405 8406 Paste and drag and drop use different code paths to interact with the pasteboard. 8407 https://bugs.webkit.org/show_bug.cgi?id=52093 8408 The change consists in a refactoring of the code to have only one class that 8409 deals with the pasteboard on Mac. 8410 8411 * WebProcess/WebCoreSupport/WebEditorClient.h: 8412 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality 8413 exposed by NSURLExtras. 8414 (WebKit::WebEditorClient::canonicalizeURL): 8415 (WebKit::WebEditorClient::canonicalizeURLString): 8416 8417 2011-01-11 Jessie Berlin <jberlin (a] apple.com> 8418 8419 Reviewed by Anders Carlsson and Sam Weinig. 8420 8421 Fix crash on launch on Windows. 8422 8423 * UIProcess/win/WebView.cpp: 8424 (WebKit::WebView::onSizeEvent): 8425 The drawing area is no longer initialized before the WebView is created and the first 8426 onSize is receieved. 8427 8428 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8429 8430 Reviewed by Dan Bernstein. 8431 8432 Automatically reinitialize the web page on relaunch 8433 https://bugs.webkit.org/show_bug.cgi?id=52224 8434 <rdar://problem/8765695> 8435 8436 * UIProcess/API/mac/WKView.mm: 8437 (-[WKView _didRelaunchProcess]): 8438 Remove call to reinitializeWebPage. 8439 8440 * UIProcess/WebPageProxy.cpp: 8441 (WebKit::WebPageProxy::relaunch): 8442 Call initializeWebPage(). 8443 8444 (WebKit::WebPageProxy::initializeWebPage): 8445 Assert that the web page is valid here. 8446 8447 * UIProcess/WebPageProxy.h: 8448 Remove reinitializeWebPage. 8449 8450 * UIProcess/win/WebView.cpp: 8451 (WebKit::WebView::didRelaunchProcess): 8452 Remove call to reinitializeWebPage. 8453 8454 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8455 8456 Reviewed by Sam Weinig. 8457 8458 Pass the view size to the DrawingAreaProxy constructor 8459 https://bugs.webkit.org/show_bug.cgi?id=52189 8460 8461 * UIProcess/DrawingAreaProxy.cpp: 8462 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 8463 * UIProcess/WebPageProxy.cpp: 8464 (WebKit::WebPageProxy::viewSize): 8465 * UIProcess/WebPageProxy.h: 8466 8467 2011-01-11 Sam Weinig <sam (a] webkit.org> 8468 8469 Roll r75460 back in with build fix. 8470 8471 2011-01-11 Anders Carlsson <andersca (a] apple.com> 8472 8473 Reviewed by Andreas Kling. 8474 8475 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy 8476 https://bugs.webkit.org/show_bug.cgi?id=52184 8477 8478 Qt part made my Balazs Kelemen. 8479 8480 * UIProcess/API/mac/PageClientImpl.h: 8481 * UIProcess/API/mac/PageClientImpl.mm: 8482 (WebKit::PageClientImpl::createDrawingAreaProxy): 8483 Call -[WKView _createDrawingAreaProxy]. 8484 8485 (WebKit::PageClientImpl::setViewNeedsDisplay): 8486 Call setNeedsDisplayInRect on the WKView. 8487 8488 * UIProcess/API/mac/WKView.mm: 8489 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 8490 No need to set the drawing area proxy anymore. 8491 8492 (-[WKView _createDrawingAreaProxy]): 8493 Create a chunked update drawing area proxy for now. 8494 8495 * UIProcess/API/qt/qgraphicswkview.cpp: 8496 Added a QGraphicsItem* member that is initialized in init to the accociated view. 8497 Implement the new functions. This is a temporary solution, in the long term the view 8498 and the page should be decoupled. 8499 (QGraphicsWKView::QGraphicsWKView): 8500 * UIProcess/API/qt/qwkpage.cpp: 8501 (QWKPagePrivate::QWKPagePrivate): 8502 (QWKPagePrivate::init): 8503 (QWKPagePrivate::createDrawingAreaProxy): 8504 (QWKPagePrivate::setViewNeedsDisplay): 8505 * UIProcess/API/qt/qwkpage.h: 8506 * UIProcess/API/qt/qwkpage_p.h: 8507 8508 * UIProcess/PageClient.h: 8509 Add new pure virtual member functions. 8510 8511 * UIProcess/WebPageProxy.cpp: 8512 (WebKit::WebPageProxy::initializeWebPage): 8513 (WebKit::WebPageProxy::reinitializeWebPage): 8514 Set the new drawing area proxy. 8515 8516 * UIProcess/win/WebView.cpp: 8517 (WebKit::WebView::WebView): 8518 No need to set the drawing area proxy anymore. 8519 8520 (WebKit::WebView::createDrawingAreaProxy): 8521 Create a chunked update drawing area proxy for now. 8522 8523 (WebKit::WebView::setViewNeedsDisplay): 8524 Invalidate the window. 8525 8526 2011-01-11 Adam Roben <aroben (a] apple.com> 8527 8528 Fix a typo in a comment 8529 8530 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 8531 8532 2011-01-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 8533 8534 Unreviewed, rolling out r75460. 8535 http://trac.webkit.org/changeset/75460 8536 https://bugs.webkit.org/show_bug.cgi?id=52191 8537 8538 It broke Qt-WK2 build (Requested by Ossy on #webkit). 8539 8540 * Shared/API/c/WKBase.h: 8541 * Shared/APIObject.h: 8542 * UIProcess/API/C/WKAPICast.h: 8543 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Removed. 8544 * UIProcess/API/C/WKGeolocationPermissionRequest.h: Removed. 8545 * UIProcess/API/C/WKPage.h: 8546 * UIProcess/API/C/WebKit2.h: 8547 * UIProcess/API/qt/qwkpage.cpp: 8548 (QWKPage::QWKPage): 8549 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Removed. 8550 * UIProcess/GeolocationPermissionRequestManagerProxy.h: Removed. 8551 * UIProcess/GeolocationPermissionRequestProxy.cpp: Removed. 8552 * UIProcess/GeolocationPermissionRequestProxy.h: Removed. 8553 * UIProcess/WebPageProxy.cpp: 8554 (WebKit::WebPageProxy::WebPageProxy): 8555 (WebKit::WebPageProxy::close): 8556 (WebKit::WebPageProxy::processDidCrash): 8557 * UIProcess/WebPageProxy.h: 8558 * UIProcess/WebPageProxy.messages.in: 8559 * UIProcess/WebUIClient.cpp: 8560 * UIProcess/WebUIClient.h: 8561 * WebKit2.pro: 8562 * WebKit2.xcodeproj/project.pbxproj: 8563 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Removed. 8564 * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Removed. 8565 * WebProcess/Geolocation/WebGeolocationManager.cpp: 8566 * WebProcess/Geolocation/WebGeolocationManager.h: 8567 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: 8568 (WebKit::WebGeolocationClient::requestPermission): 8569 (WebKit::WebGeolocationClient::cancelPermissionRequest): 8570 * WebProcess/WebCoreSupport/WebGeolocationClient.h: 8571 * WebProcess/WebPage/WebPage.cpp: 8572 (WebKit::WebPage::WebPage): 8573 * WebProcess/WebPage/WebPage.h: 8574 * WebProcess/WebPage/WebPage.messages.in: 8575 * win/WebKit2.vcproj: 8576 * win/WebKit2Generated.make: 8577 8578 2011-01-10 Csaba Osztrogonc <ossy (a] webkit.org> 8579 8580 Unreviewed, rolling out r75459 8581 http://trac.webkit.org/changeset/75459 8582 8583 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy 8584 https://bugs.webkit.org/show_bug.cgi?id=52184 8585 8586 * UIProcess/API/mac/PageClientImpl.h: 8587 * UIProcess/API/mac/PageClientImpl.mm: 8588 * UIProcess/API/mac/WKView.mm: 8589 * UIProcess/API/mac/WKViewInternal.h: 8590 * UIProcess/API/qt/qwkpage.cpp: 8591 * UIProcess/API/qt/qwkpage_p.h: 8592 * UIProcess/PageClient.h: 8593 * UIProcess/WebPageProxy.cpp: 8594 (WebKit::WebPageProxy::initializeWebPage): 8595 (WebKit::WebPageProxy::reinitializeWebPage): 8596 * UIProcess/win/WebView.cpp: 8597 (WebKit::WebView::WebView): 8598 * UIProcess/win/WebView.h: 8599 8600 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8601 8602 Reviewed by Sam Weinig. 8603 8604 Remove size parameter to WebPageProxy::initializeWebPage 8605 https://bugs.webkit.org/show_bug.cgi?id=52188 8606 8607 * UIProcess/API/mac/WKView.mm: 8608 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 8609 * UIProcess/API/qt/qwkpage.cpp: 8610 (QWKPagePrivate::init): 8611 * UIProcess/WebPageProxy.cpp: 8612 (WebKit::WebPageProxy::initializeWebPage): 8613 * UIProcess/WebPageProxy.h: 8614 * UIProcess/win/WebView.cpp: 8615 (WebKit::WebView::WebView): 8616 8617 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8618 8619 Didn't mean to land this. 8620 8621 * UIProcess/WebPageProxy.cpp: 8622 (WebKit::WebPageProxy::initializeWebPage): 8623 * UIProcess/WebPageProxy.h: 8624 8625 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8626 8627 Reviewed by Sam Weinig. 8628 8629 WebPageProxy::creationParameters no longer needs to take a size 8630 https://bugs.webkit.org/show_bug.cgi?id=52187 8631 8632 WebPageProxy::creationParameters can just ask the page client for the view size now. 8633 8634 * UIProcess/WebInspectorProxy.cpp: 8635 (WebKit::WebInspectorProxy::createInspectorPage): 8636 * UIProcess/WebPageProxy.cpp: 8637 (WebKit::WebPageProxy::initializeWebPage): 8638 (WebKit::WebPageProxy::reinitializeWebPage): 8639 (WebKit::WebPageProxy::createNewPage): 8640 (WebKit::WebPageProxy::creationParameters): 8641 * UIProcess/WebPageProxy.h: 8642 8643 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8644 8645 Reviewed by Sam Weinig. 8646 8647 Pass information about the view in the WebPageCreationParameters 8648 https://bugs.webkit.org/show_bug.cgi?id=52186 8649 8650 * Shared/WebPageCreationParameters.cpp: 8651 (WebKit::WebPageCreationParameters::encode): 8652 (WebKit::WebPageCreationParameters::decode): 8653 Encode and decode the state flags. 8654 8655 * Shared/WebPageCreationParameters.h: 8656 Add new state flags. 8657 8658 * UIProcess/WebPageProxy.cpp: 8659 (WebKit::WebPageProxy::creationParameters): 8660 Initialize the state flags. 8661 8662 * WebProcess/WebPage/WebPage.cpp: 8663 (WebKit::WebPage::WebPage): 8664 Update the page state from the state flags. 8665 8666 2011-01-10 Sam Weinig <sam (a] webkit.org> 8667 8668 Reviewed by Anders Carlsson. 8669 8670 Make Geolocation features work in WebKit2 8671 https://bugs.webkit.org/show_bug.cgi?id=52078 8672 8673 Step 2 - Add support for requesting and granting permission for geolocation. 8674 8675 * Shared/API/c/WKBase.h: 8676 * Shared/APIObject.h: 8677 * UIProcess/API/C/WebKit2.h: 8678 * UIProcess/API/C/WKAPICast.h: 8679 * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Added. 8680 * UIProcess/API/C/WKGeolocationPermissionRequest.h: Added. 8681 Add new API type, WKGeolocationPermissionRequestRef. 8682 8683 * UIProcess/API/C/WKPage.h: 8684 Add new UIClient function for requesting permission. 8685 8686 * UIProcess/API/qt/qwkpage.cpp: 8687 (QWKPage::QWKPage): 8688 Stub out the UIClient. 8689 8690 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Added. 8691 * UIProcess/GeolocationPermissionRequestManagerProxy.h: Added. 8692 * UIProcess/GeolocationPermissionRequestProxy.cpp: Added. 8693 * UIProcess/WebPageProxy.cpp: 8694 * UIProcess/WebPageProxy.h: 8695 * UIProcess/WebPageProxy.messages.in: 8696 * UIProcess/WebUIClient.cpp: 8697 * UIProcess/WebUIClient.h: 8698 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added. 8699 * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Added. 8700 * WebProcess/Geolocation/WebGeolocationManager.cpp: 8701 * WebProcess/Geolocation/WebGeolocationManager.h: 8702 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: 8703 * WebProcess/WebCoreSupport/WebGeolocationClient.h: 8704 * WebProcess/WebPage/WebPage.cpp: 8705 (WebKit::WebPage::WebPage): 8706 (WebKit::WebPage::didReceiveGeolocationPermissionDecision): 8707 * WebProcess/WebPage/WebPage.h: 8708 (WebKit::WebPage::geolocationPermissionRequestManager): 8709 * WebProcess/WebPage/WebPage.messages.in: 8710 Track the permission request through both sides of the process divide. 8711 8712 * WebKit2.pro: 8713 * WebKit2.xcodeproj/project.pbxproj: 8714 * win/WebKit2.vcproj: 8715 * win/WebKit2Generated.make: 8716 Add new files. 8717 8718 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8719 8720 Reviewed by Sam Weinig. 8721 8722 Work towards having the WebPageProxy decide when to create the DrawingAreaProxy 8723 https://bugs.webkit.org/show_bug.cgi?id=52184 8724 8725 * UIProcess/API/mac/PageClientImpl.h: 8726 * UIProcess/API/mac/PageClientImpl.mm: 8727 (WebKit::PageClientImpl::createDrawingAreaProxy): 8728 Call -[WKView _createDrawingAreaProxy]. 8729 8730 (WebKit::PageClientImpl::setViewNeedsDisplay): 8731 Call setNeedsDisplayInRect on the WKView. 8732 8733 * UIProcess/API/mac/WKView.mm: 8734 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 8735 No need to set the drawing area proxy anymore. 8736 8737 (-[WKView _createDrawingAreaProxy]): 8738 Create a chunked update drawing area proxy for now. 8739 8740 * UIProcess/API/qt/qwkpage.cpp: 8741 (QWKPagePrivate::createDrawingAreaProxy): 8742 (QWKPagePrivate::setViewNeedsDisplay): 8743 Add stubs. 8744 8745 * UIProcess/PageClient.h: 8746 Add new pure virtual member functions. 8747 8748 * UIProcess/WebPageProxy.cpp: 8749 (WebKit::WebPageProxy::initializeWebPage): 8750 (WebKit::WebPageProxy::reinitializeWebPage): 8751 Set the new drawing area proxy. 8752 8753 * UIProcess/win/WebView.cpp: 8754 (WebKit::WebView::WebView): 8755 No need to set the drawing area proxy anymore. 8756 8757 (WebKit::WebView::createDrawingAreaProxy): 8758 Create a chunked update drawing area proxy for now. 8759 8760 (WebKit::WebView::setViewNeedsDisplay): 8761 Invalidate the window. 8762 8763 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8764 8765 Fix Windows build again. 8766 8767 * UIProcess/win/WebView.cpp: 8768 (WebKit::WebView::isViewWindowActive): 8769 8770 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8771 8772 Fix Windows build. 8773 8774 * UIProcess/win/WebView.cpp: 8775 (WebKit::WebView::onShowWindowEvent): 8776 8777 2011-01-10 Anders Carlsson <andersca (a] apple.com> 8778 8779 Reviewed by Sam Weinig. 8780 8781 Use a pull model for view state changes 8782 https://bugs.webkit.org/show_bug.cgi?id=52175 8783 8784 Instead of having the WKView call setFocused, setActive etc on the WebPageProxy, the 8785 WKView now simply informs the WebPageProxy what has changed, using the WebPageProxy::viewStateDidChange 8786 function. The WebPageProxy can then fetch the relevant information using newly added PageClient functions. 8787 8788 * UIProcess/API/mac/PageClientImpl.h: 8789 * UIProcess/API/mac/PageClientImpl.mm: 8790 (WebKit::PageClientImpl::viewSize): 8791 (WebKit::PageClientImpl::isViewWindowActive): 8792 (WebKit::PageClientImpl::isViewFocused): 8793 (WebKit::PageClientImpl::isViewVisible): 8794 (WebKit::PageClientImpl::isViewInWindow): 8795 * UIProcess/API/mac/WKView.mm: 8796 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 8797 (-[WKView becomeFirstResponder]): 8798 (-[WKView resignFirstResponder]): 8799 (-[WKView viewDidMoveToWindow]): 8800 (-[WKView _windowDidBecomeKey:]): 8801 (-[WKView _windowDidResignKey:]): 8802 (-[WKView viewDidHide]): 8803 (-[WKView viewDidUnhide]): 8804 (-[WKView _isFocused]): 8805 (-[WKView _didRelaunchProcess]): 8806 * UIProcess/API/mac/WKViewInternal.h: 8807 * UIProcess/API/qt/qgraphicswkview.cpp: 8808 (QGraphicsWKView::focusInEvent): 8809 (QGraphicsWKView::focusOutEvent): 8810 * UIProcess/API/qt/qwkpage.cpp: 8811 (QWKPagePrivate::QWKPagePrivate): 8812 (QWKPagePrivate::viewSize): 8813 (QWKPagePrivate::isViewWindowActive): 8814 (QWKPagePrivate::isViewFocused): 8815 (QWKPagePrivate::isViewVisible): 8816 (QWKPagePrivate::isViewInWindow): 8817 * UIProcess/API/qt/qwkpage_p.h: 8818 * UIProcess/PageClient.h: 8819 * UIProcess/WebContext.cpp: 8820 (WebKit::WebContext::createWebPage): 8821 * UIProcess/WebContext.h: 8822 * UIProcess/WebPageProxy.cpp: 8823 (WebKit::WebPageProxy::create): 8824 (WebKit::WebPageProxy::WebPageProxy): 8825 (WebKit::WebPageProxy::viewStateDidChange): 8826 * UIProcess/WebPageProxy.h: 8827 * UIProcess/WebProcessProxy.cpp: 8828 (WebKit::WebProcessProxy::createWebPage): 8829 * UIProcess/WebProcessProxy.h: 8830 * UIProcess/win/WebView.cpp: 8831 (WebKit::WebView::WebView): 8832 (WebKit::WebView::onSetFocusEvent): 8833 (WebKit::WebView::onKillFocusEvent): 8834 (WebKit::WebView::onShowWindowEvent): 8835 (WebKit::WebView::updateActiveState): 8836 (WebKit::WebView::viewSize): 8837 (WebKit::WebView::isViewWindowActive): 8838 (WebKit::WebView::isViewFocused): 8839 (WebKit::WebView::isViewVisible): 8840 (WebKit::WebView::isViewInWindow): 8841 (WebKit::WebView::didRelaunchProcess): 8842 (WebKit::WebView::setIsInWindow): 8843 * UIProcess/win/WebView.h: 8844 8845 2011-01-10 Adam Roben <aroben (a] apple.com> 8846 8847 Don't pass a reference type to va_start 8848 8849 C++ says this results in undefined behavior: 8850 8851 The restrictions that ISO C places on the second parameter to the 8852 va_start() macro in header <stdarg.h> are different in this 8853 International Standard. The parameter parmN is the identifier of 8854 the rightmost parameter in the variable parameter list of the 8855 function definition (the one just before the ...).221) If the 8856 parameter parmN is declared with a function, array, or reference 8857 type, or with a type that is not compatible with the type that 8858 results when passing an argument for which there is no parameter, 8859 the behavior is undefined. 8860 8861 Fixes <http://webkit.org/b/52168> Title of standalone image document 8862 includes bogus image dimensions 8863 8864 Rubber-stamped by Eric Seidel. 8865 8866 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 8867 (WebKit::formatLocalizedString): Don't use a reference type for 8868 |format|. 8869 8870 2011-01-10 Siddharth Mathur <siddharth.mathur (a] nokia.com> 8871 8872 Reviewed by Eric Seidel. 8873 8874 Support for ARM's RVCT(ARMCC) compiler in import/export directives 8875 https://bugs.webkit.org/show_bug.cgi?id=52146 8876 8877 * Shared/API/c/WKBase.h: 8878 8879 2011-01-10 Sam Weinig <sam (a] webkit.org> 8880 8881 Fix the build. 8882 8883 * WebProcess/WebPage/WebPage.cpp: 8884 (WebKit::WebPage::WebPage): 8885 8886 2011-01-10 Sam Weinig <sam (a] webkit.org> 8887 8888 Reviewed by Anders Carlsson. 8889 8890 Make Geolocation features work in WebKit2 8891 https://bugs.webkit.org/show_bug.cgi?id=52078 8892 8893 Step 1 - Add enough support to get position data from a provider. 8894 This does not include permission support. 8895 8896 * Platform/CoreIPC/HandleMessage.h: 8897 Add #include of Arguments.h for CoreIPC::In and Out definitions. 8898 8899 * Platform/CoreIPC/MessageID.h: 8900 Add new message types. 8901 8902 * Shared/API/c/WKBase.h: 8903 * Shared/APIObject.h: 8904 Add new API types. 8905 8906 * Shared/WebGeolocationPosition.cpp: Added. 8907 * Shared/WebGeolocationPosition.h: Added. 8908 Internal position representation. 8909 8910 * UIProcess/API/C/WKAPICast.h: 8911 Add casts for new API types. 8912 8913 * UIProcess/API/C/WKContext.cpp: 8914 * UIProcess/API/C/WKContext.h: 8915 * UIProcess/API/C/WKGeolocationManager.cpp: Added. 8916 * UIProcess/API/C/WKGeolocationManager.h: Added. 8917 * UIProcess/API/C/WKGeolocationPosition.cpp: Added. 8918 * UIProcess/API/C/WKGeolocationPosition.h: Added. 8919 * UIProcess/API/C/WebKit2.h: 8920 Add API to provide and control geolocation data. 8921 8922 * UIProcess/WebContext.cpp: 8923 (WebKit::WebContext::WebContext): 8924 (WebKit::WebContext::~WebContext): 8925 (WebKit::WebContext::processDidClose): 8926 (WebKit::WebContext::didReceiveMessage): 8927 * UIProcess/WebContext.h: 8928 (WebKit::WebContext::geolocationManagerProxy): 8929 * UIProcess/WebGeolocationManagerProxy.cpp: Added. 8930 (WebKit::WebGeolocationManagerProxy::create): 8931 (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy): 8932 (WebKit::WebGeolocationManagerProxy::~WebGeolocationManagerProxy): 8933 (WebKit::WebGeolocationManagerProxy::invalidate): 8934 (WebKit::WebGeolocationManagerProxy::initializeProvider): 8935 (WebKit::WebGeolocationManagerProxy::providerDidChangePosition): 8936 (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition): 8937 (WebKit::WebGeolocationManagerProxy::didReceiveMessage): 8938 (WebKit::WebGeolocationManagerProxy::startUpdating): 8939 (WebKit::WebGeolocationManagerProxy::stopUpdating): 8940 * UIProcess/WebGeolocationManagerProxy.h: Added. 8941 (WebKit::WebGeolocationManagerProxy::clearContext): 8942 (WebKit::WebGeolocationManagerProxy::type): 8943 * UIProcess/WebGeolocationManagerProxy.messages.in: Added. 8944 * UIProcess/WebGeolocationProvider.cpp: Added. 8945 (WebKit::WebGeolocationProvider::startUpdating): 8946 (WebKit::WebGeolocationProvider::stopUpdating): 8947 * UIProcess/WebGeolocationProvider.h: Added. 8948 * UIProcess/WebProcessProxy.cpp: 8949 (WebKit::WebProcessProxy::didReceiveMessage): 8950 * WebProcess/Geolocation: Added. 8951 * WebProcess/Geolocation/WebGeolocationManager.cpp: Added. 8952 (WebKit::WebGeolocationManager::WebGeolocationManager): 8953 (WebKit::WebGeolocationManager::~WebGeolocationManager): 8954 (WebKit::WebGeolocationManager::didReceiveMessage): 8955 (WebKit::WebGeolocationManager::registerWebPage): 8956 (WebKit::WebGeolocationManager::unregisterWebPage): 8957 (WebKit::WebGeolocationManager::didChangePosition): 8958 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 8959 * WebProcess/Geolocation/WebGeolocationManager.h: Added. 8960 * WebProcess/Geolocation/WebGeolocationManager.messages.in: Added. 8961 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: Added. 8962 (WebKit::WebGeolocationClient::geolocationDestroyed): 8963 (WebKit::WebGeolocationClient::startUpdating): 8964 (WebKit::WebGeolocationClient::stopUpdating): 8965 (WebKit::WebGeolocationClient::setEnableHighAccuracy): 8966 (WebKit::WebGeolocationClient::lastPosition): 8967 (WebKit::WebGeolocationClient::requestPermission): 8968 (WebKit::WebGeolocationClient::cancelPermissionRequest): 8969 * WebProcess/WebCoreSupport/WebGeolocationClient.h: Added. 8970 (WebKit::WebGeolocationClient::WebGeolocationClient): 8971 * WebProcess/WebPage/WebPage.cpp: 8972 (WebKit::WebPage::WebPage): 8973 * WebProcess/WebProcess.cpp: 8974 (WebKit::WebProcess::WebProcess): 8975 (WebKit::WebProcess::didReceiveMessage): 8976 * WebProcess/WebProcess.h: 8977 (WebKit::WebProcess::geolocationManager): 8978 Pipe geolocation positions/errors from the UIProcess to the WebProcess. 8979 8980 * DerivedSources.make: 8981 * DerivedSources.pro: 8982 * WebKit2.pro: 8983 * WebKit2.xcodeproj/project.pbxproj: 8984 * win/WebKit2.vcproj: 8985 * win/WebKit2Common.vsprops: 8986 * win/WebKit2Generated.make: 8987 Add new files. 8988 8989 2011-01-10 Martin Robinson <mrobinson (a] igalia.com> 8990 8991 GTK+ build fix. Continue to fix 'make dist.' 8992 8993 * GNUmakefile.am: Remove more non-existent files from the WebKit2 build. 8994 8995 2011-01-10 Alejandro G. Castro <alex (a] igalia.com> 8996 8997 Reviewed by Martin Robinson. 8998 8999 [GTK] Remove webkit2 files that are still not added to the 9000 repository from the makefile 9001 https://bugs.webkit.org/show_bug.cgi?id=52145 9002 9003 This change is required for the release, we can add the lines 9004 again to the makefiles with the patches adding the files. 9005 9006 * GNUmakefile.am: 9007 9008 2011-01-10 Andreas Kling <kling (a] webkit.org> 9009 9010 Reviewed by Simon Hausmann. 9011 9012 [Qt] [WK2] MiniBrowser does not load pages opened in new windows 9013 https://bugs.webkit.org/show_bug.cgi?id=52111 9014 9015 * UIProcess/API/qt/qwkpage.cpp: 9016 (QWKPage::context): Implement this method. 9017 9018 2011-01-09 Dan Bernstein <mitz (a] apple.com> 9019 9020 Reviewed by Simon Fraser. 9021 9022 <rdar://problem/8839498> Assertion failure in KURL::KURL when calling WKURLRequestCreateWithWKURL with a non-parsed URL 9023 https://bugs.webkit.org/show_bug.cgi?id=52132 9024 9025 * Shared/API/c/WKURLRequest.cpp: 9026 (WKURLRequestCreateWithWKURL): Parse the URL. 9027 * Shared/WebString.h: Fixed a comment. 9028 * Shared/WebURL.h: Ditto. 9029 9030 2011-01-09 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 9031 9032 Reviewed by Martin Robinson. 9033 9034 Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port. 9035 The main() implementation for WebKitWebProcess binary to launch Web process from UI process. 9036 https://bugs.webkit.org/show_bug.cgi?id=48511 9037 9038 * UIProcess/Launcher/gtk: Added. 9039 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Added. GTK (UNIX_X11 specific) implementation 9040 (WebKit::ProcessLauncher::launchProcess): 9041 (WebKit::ProcessLauncher::terminateProcess): 9042 (WebKit::ProcessLauncher::platformInvalidate): 9043 * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 9044 (WebKit::ThreadLauncher::createWebThread): 9045 * WebProcess/gtk: Added. 9046 * WebProcess/gtk/WebProcessGtk.cpp: Added. The stubbed implementations of virtual functions of WebProcess.h for GTK port. 9047 (WebKit::WebProcess::platformSetCacheModel): 9048 (WebKit::WebProcess::platformClearResourceCaches): 9049 (WebKit::WebProcess::platformInitializeWebProcess): 9050 (WebKit::WebProcess::platformShutdown): 9051 * WebProcess/gtk/WebProcessMainGtk.cpp: Added. The WebProcessMain call which initiates the Web Process for GTK port. 9052 (WebKit::WebProcessMainGtk): 9053 * WebProcess/gtk/WebProcessMainGtk.h: Added. The WebProcessMain declaration for Web Process for GTK port. 9054 * gtk/MainGtk.cpp: Added. The main function implementation for binary WebKitWebProcess. 9055 (main): 9056 9057 2011-01-07 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 9058 9059 Reviewed by Martin Robinson. 9060 9061 [GTK] WebKit2 GNUmakefile is out of date from trunk 9062 https://bugs.webkit.org/show_bug.cgi?id=51883 9063 9064 * GNUmakefile.am: Updated sources list as per latest revision 9065 * Platform/gtk/RunLoopGtk.cpp: 9066 (RunLoop::TimerBase::start): 9067 * Platform/gtk/WorkQueueGtk.cpp: 9068 (WorkQueue::scheduleWorkAfterDelay): 9069 * Shared/gtk/BackingStoreGtk.cpp: 9070 (WebKit::BackingStore::paint): 9071 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 9072 (WebKit::InjectedBundle::load): 9073 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: 9074 (WebKit::NetscapePlugin::platformInvalidate): 9075 9076 2011-01-08 Dan Bernstein <mitz (a] apple.com> 9077 9078 Reviewed by Sam Weinig. 9079 9080 <rdar://problem/8812759> In WebKit2, PDF view settings (mode and scale) do not stick 9081 https://bugs.webkit.org/show_bug.cgi?id=52118 9082 9083 * Shared/WebPreferencesStore.cpp: 9084 (WebKit::WebPreferencesStore::encode): Encode the double values map. 9085 (WebKit::WebPreferencesStore::decode): Decode the double values map. 9086 (WebKit::defaultValueForKey): Added double instance. 9087 (WebKit::WebPreferencesStore::setDoubleValueForKey): Added. 9088 (WebKit::WebPreferencesStore::getDoubleValueForKey): Added. 9089 * Shared/WebPreferencesStore.h: Added PDFScaleFactor and PDFDisplayMode preferences. 9090 * UIProcess/API/mac/PDFViewController.mm: 9091 (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): Initialize the _pdfViewController ivar. 9092 (-[WKPDFView invalidate]): Changed 'nil' to '0' in assignment to a non-Objective-C pointer. 9093 (-[WKPDFView setDocument:]): Added. 9094 (-[WKPDFView _applyPDFPreferences]): Added. 9095 (-[WKPDFView _updatePreferences:]): Added. 9096 (-[WKPDFView _updatePreferencesSoon]): Added. 9097 (-[WKPDFView _scaleOrDisplayModeOrPageChanged:]): Added. 9098 (-[WKPDFView viewDidMoveToWindow]): Added. Starts observing the PDF view for changes to scale 9099 and display mode. 9100 (-[WKPDFView viewWillMoveToWindow:]): Added. Stops observing for changes. 9101 (WebKit::PDFViewController::setPDFDocumentData): Changed to call throguh -[WKPDFView setDocument:]. 9102 * UIProcess/WebPreferences.cpp: 9103 (WebKit::WebPreferences::updateDoubleValueForKey): Added. 9104 * UIProcess/WebPreferences.h: 9105 * UIProcess/cf/WebPreferencesCF.cpp: 9106 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added empty implementation. 9107 * UIProcess/gtk/WebPreferencesGtk.cpp: 9108 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added stub. 9109 * UIProcess/mac/WebPreferencesMac.mm: 9110 (WebKit::setDoubleValueIfInUserDefaults): Added. 9111 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added. 9112 * UIProcess/qt/WebPreferencesQt.cpp: 9113 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added. 9114 9115 2011-01-08 Dan Bernstein <mitz (a] apple.com> 9116 9117 Reviewed by Maciej Stachowiak. 9118 9119 In WebKit2, page zooming does not work with PDF 9120 https://bugs.webkit.org/show_bug.cgi?id=52113 9121 9122 * UIProcess/API/C/WKPage.cpp: 9123 (WKPageSupportsTextZoom): Added. Returns whether the page currently supports text-only zoom. 9124 * UIProcess/API/C/WKPage.h: 9125 * UIProcess/API/mac/PDFViewController.h: Made pdfDocumentClass() private and declared new 9126 member functions. 9127 * UIProcess/API/mac/PDFViewController.mm: 9128 (WebKit::PDFViewController::zoomFactor): Added. 9129 (WebKit::PDFViewController::setZoomFactor): Added. 9130 * UIProcess/API/mac/PageClientImpl.h: 9131 * UIProcess/API/mac/PageClientImpl.mm: 9132 (WebKit::PageClientImpl::customRepresentationZoomFactor): Added. Calls through to the WKView. 9133 (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto. 9134 * UIProcess/API/mac/WKView.mm: 9135 (-[WKView _customRepresentationZoomFactor]): Added. Calls through to the PDFViewController. 9136 (-[WKView _setCustomRepresentationZoomFactor:]): Ditto. 9137 * UIProcess/API/mac/WKViewInternal.h: 9138 * UIProcess/API/qt/qwkpage_p.h: 9139 (QWKPagePrivate::customRepresentationZoomFactor): Added. 9140 (QWKPagePrivate::setCustomRepresentationZoomFactor): Added. 9141 * UIProcess/PageClient.h: 9142 * UIProcess/WebPageProxy.cpp: 9143 (WebKit::WebPageProxy::WebPageProxy): Coding style fix. 9144 (WebKit::WebPageProxy::supportsTextZoom): Added. Returns false if the main frame has a custom 9145 representation or is a standalone image, true otherwise. 9146 (WebKit::WebPageProxy::setTextZoomFactor): Bail out if the main frame has a custom representation. 9147 (WebKit::WebPageProxy::pageZoomFactor): If the main frame has a custom representation, get the 9148 zoom factor from the page client. 9149 (WebKit::WebPageProxy::setPageZoomFactor): If the main frame has a custom representation, have 9150 the client set the zoom factor. 9151 (WebKit::WebPageProxy::setPageAndTextZoomFactors): Ditto. 9152 * UIProcess/WebPageProxy.h: 9153 (WebKit::WebPageProxy::textZoomFactor): Changed to return 1 if the main frame has a custom 9154 representation. 9155 * UIProcess/win/WebView.cpp: 9156 (WebKit::WebView::customRepresentationZoomFactor): Added. 9157 (WebKit::WebView::setCustomRepresentationZoomFactor): Added. 9158 * UIProcess/win/WebView.h: 9159 9160 2011-01-08 Jeff Miller <jeffm (a] apple.com> 9161 9162 Reviewed by Jon Honeycutt. 9163 9164 Add WKBundleFrameGetVisibleContentBounds(). 9165 https://bugs.webkit.org/show_bug.cgi?id=52089 9166 9167 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 9168 (WKBundleFrameGetVisibleContentBounds): 9169 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 9170 Added WKBundleFrameGetVisibleContentBounds(). 9171 9172 2011-01-08 Balazs Kelemen <kbalazs (a] webkit.org> 9173 9174 Reviewed by Kenneth Rohde Christiansen. 9175 9176 [Qt][WK2] QWKView does not propagate show and hide events to the drawing area 9177 https://bugs.webkit.org/show_bug.cgi?id=52108 9178 9179 * UIProcess/API/qt/qgraphicswkview.cpp: 9180 (QGraphicsWKView::event): Call setPageIsVisible on the drawing area 9181 if the event is Show or Hide. 9182 9183 2011-01-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9184 9185 Reviewed by Kenneth Rohde Christiansen. 9186 9187 [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian 9188 https://bugs.webkit.org/show_bug.cgi?id=31273 9189 9190 On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers 9191 are included before platform headers. On all other platforms continue to use 9192 INCLUDEPATH (as before). 9193 9194 * WebKit2.pro: 9195 9196 2011-01-08 Csaba Osztrogonc <ossy (a] webkit.org> 9197 9198 [Qt][WK2] Unreviewed buildfix after r75313. 9199 9200 * Scripts/generate-forwarding-headers.pl: 9201 9202 2011-01-08 Adam Barth <abarth (a] webkit.org> 9203 9204 Moving WebCore changes the layout of the Qt build directory as well, 9205 which means we need to change where we look for these generated files. 9206 9207 * DerivedSources.pro: 9208 9209 2011-01-07 Adam Barth <abarth (a] webkit.org> 9210 9211 Rubber-stamped by Eric Seidel. 9212 9213 Move WebCore to Source 9214 https://bugs.webkit.org/show_bug.cgi?id=52050 9215 9216 * WebKit2.pro: 9217 9218 2011-01-07 Stephanie Lewis <slewis (a] apple.com> 9219 9220 Reviewed by Geoff Garen. 9221 9222 <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit 9223 https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit 9224 9225 Add a sampler for printing off process memory statistics. 9226 This tool can track: 9227 9228 WebCore 9229 - FastMalloc allocations bytes (in use or committed) 9230 JavaScriptCore 9231 - Garbage collector heap bytes (in use or committed) 9232 - Stack bytes (committed only!) 9233 - JIT Code bytes (committed only!) 9234 Malloc zones 9235 - In use bytes for the following zones: 9236 * Default zone (in use or committed) 9237 * DispCon zone (in use or committed) 9238 * Purgable zone (in use or committed) 9239 Task Info 9240 - Resident size memory (RSIZE) 9241 9242 Data collected is dumped to a temporary file. 9243 9244 Create a sandbox for a temporary file. 9245 * Shared/SandboxExtension.h: 9246 (WebKit::SandboxExtension::createHandleForTemporaryFile): 9247 * Shared/mac/SandboxExtensionMac.mm: 9248 (WebKit::SandboxExtension::createHandleForTemporaryFile): 9249 9250 Memory Sampler files 9251 9252 * Shared/WebMemorySampler.cpp: Added. 9253 (WebKit::WebMemorySampler::shared): 9254 (WebKit::WebMemorySampler::WebMemorySampler): 9255 (WebKit::WebMemorySampler::start): 9256 (WebKit::WebMemorySampler::initializeTimers): 9257 (WebKit::WebMemorySampler::stop): 9258 (WebKit::WebMemorySampler::isRunning): 9259 (WebKit::WebMemorySampler::initializeTempLogFile): 9260 (WebKit::WebMemorySampler::initializeSandboxedLogFile): 9261 (WebKit::WebMemorySampler::writeHeaders): 9262 (WebKit::WebMemorySampler::sampleTimerFired): 9263 (WebKit::WebMemorySampler::stopTimerFired): 9264 (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile): 9265 * Shared/WebMemorySampler.h: Added. 9266 * Shared/mac/WebMemorySampler.mac.mm: Added. 9267 (WebKit::WebMemorySampler::sampleSystemMalloc): 9268 (WebKit::WebMemorySampler::sampleProcessCommittedBytes): 9269 (WebKit::WebMemorySampler::processName): 9270 (WebKit::WebMemorySampler::sampleWebKit): 9271 9272 API to start and stop UIProcess and WebProcess sampling. 9273 9274 * UIProcess/API/C/WKContext.cpp: 9275 (WKContextStartMemorySampler): 9276 (WKContextStopMemorySampler): 9277 * UIProcess/API/C/WKContext.h: 9278 9279 Send messages to WebProcess to start and stop memory sampling. 9280 9281 * UIProcess/WebContext.cpp: 9282 (WebKit::WebContext::WebContext): 9283 (WebKit::WebContext::processDidFinishLaunching): 9284 (WebKit::WebContext::startMemorySampler): 9285 (WebKit::WebContext::stopMemorySampler): 9286 * UIProcess/WebContext.h: 9287 * WebKit2.xcodeproj/project.pbxproj: 9288 * WebProcess/WebProcess.cpp: 9289 (WebKit::WebProcess::startMemorySampler): 9290 (WebKit::WebProcess::stopMemorySampler): 9291 * WebProcess/WebProcess.h: 9292 * WebProcess/WebProcess.messages.in: 9293 9294 2011-01-07 Jessie Berlin <jberlin (a] apple.com> 9295 9296 Reviewed by Dan Bernstein. 9297 9298 WebKit2: Need WKBundleFrameCopyProvisionalURL 9299 https://bugs.webkit.org/show_bug.cgi?id=52083 9300 9301 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 9302 (WKBundleFrameCopyProvisionalURL): 9303 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 9304 * WebProcess/WebPage/WebFrame.cpp: 9305 (WebKit::WebFrame::provisionalURL): 9306 Grab the URL from the provisional document loader. 9307 * WebProcess/WebPage/WebFrame.h: 9308 9309 2011-01-07 James Robinson <jamesr (a] chromium.org> 9310 9311 Revert "Implement mozilla's animationTime property" 9312 https://bugs.webkit.org/show_bug.cgi?id=51952 9313 9314 This approach isn't quite right. 9315 9316 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 9317 (WebKit::ChunkedUpdateDrawingArea::display): 9318 (WebKit::ChunkedUpdateDrawingArea::setSize): 9319 * WebProcess/WebPage/WebPage.cpp: 9320 (WebKit::WebPage::drawRect): 9321 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 9322 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 9323 9324 2011-01-07 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> 9325 9326 Reviewed by Martin Robinson. 9327 9328 [GTK] WebKit2 GNUmakefile is out of date from trunk 9329 Adding new stub files for compiling on latest revision 9330 https://bugs.webkit.org/show_bug.cgi?id=51883 9331 9332 * UIProcess/gtk: Added. 9333 * UIProcess/gtk/TextCheckerGtk.cpp: Added. 9334 (WebKit::TextChecker::state): 9335 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 9336 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 9337 (WebKit::TextChecker::setGrammarCheckingEnabled): 9338 (WebKit::TextChecker::uniqueSpellDocumentTag): 9339 (WebKit::TextChecker::closeSpellDocumentWithTag): 9340 (WebKit::TextChecker::checkTextOfParagraph): 9341 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 9342 (WebKit::TextChecker::getGuessesForWord): 9343 (WebKit::TextChecker::learnWord): 9344 (WebKit::TextChecker::ignoreWord): 9345 * UIProcess/gtk/WebInspectorGtk.cpp: Added. 9346 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 9347 (WebKit::WebInspectorProxy::platformOpen): 9348 (WebKit::WebInspectorProxy::platformClose): 9349 (WebKit::WebInspectorProxy::inspectorPageURL): 9350 * UIProcess/gtk/WebPageProxyGtk.cpp: Added. 9351 (WebKit::WebPageProxy::standardUserAgent): 9352 * UIProcess/gtk/WebPreferencesGtk.cpp: Added. 9353 (WebKit::WebPreferences::platformInitializeStore): 9354 (WebKit::WebPreferences::platformUpdateStringValueForKey): 9355 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 9356 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 9357 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Added. 9358 (WebKit::WebContextMenuClient::lookUpInDictionary): 9359 (WebKit::WebContextMenuClient::isSpeaking): 9360 (WebKit::WebContextMenuClient::speak): 9361 (WebKit::WebContextMenuClient::stopSpeaking): 9362 * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Added. 9363 (WebKit::WebDatabaseManager::databaseDirectory): 9364 * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: Added. 9365 (WebKit::WebPopupMenu::setUpPlatformData): 9366 * WebProcess/WebPage/gtk: Added. 9367 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Added. 9368 (WebKit::WebInspector::localizedStringsURL): 9369 9370 2011-01-06 Adam Roben <aroben (a] apple.com> 9371 9372 Don't ever call ::SetCursor(0) 9373 9374 Doing so makes the cursor disappear from the screen. 9375 9376 Fixes <http://webkit.org/b/52024> Mouse cursor flashes when moving it 9377 around a WKView before the web process has finished launching 9378 9379 Reviewed by Jon Honeycutt. 9380 9381 * UIProcess/win/WebView.cpp: 9382 (WebKit::WebView::onSetCursor): If we don't have a cursor to set, just 9383 let Windows do its default thing (which is to set the cursor to the 9384 window class's cursor, which in our case is the arrow cursor). 9385 (WebKit::WebView::cursorToShow): Just return 0 when the page has 9386 crashed so that we'll show the default cursor (which is the arrow 9387 cursor). This change has no visible effect, but seems slightly better 9388 conceptually. 9389 (WebKit::WebView::updateNativeCursor): Don't do anything if we don't 9390 have a cursor to set. 9391 9392 2011-01-06 Adam Roben <aroben (a] apple.com> 9393 9394 Fill the WKView with white when the web process hasn't drawn anything 9395 yet 9396 9397 Fixes <http://webkit.org/b/52023> WKView accumulates pixel garbage 9398 before web process has had a chance to draw anything (if Aero is 9399 disabled) 9400 9401 Reviewed by Jon Honeycutt. 9402 9403 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 9404 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 9405 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 9406 * UIProcess/DrawingAreaProxy.h: 9407 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 9408 (WebKit::LayerBackedDrawingAreaProxy::paint): 9409 * UIProcess/LayerBackedDrawingAreaProxy.h: 9410 * UIProcess/TiledDrawingAreaProxy.cpp: 9411 (WebKit::TiledDrawingAreaProxy::paint): 9412 * UIProcess/TiledDrawingAreaProxy.h: 9413 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 9414 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 9415 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 9416 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 9417 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: 9418 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 9419 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: 9420 (WebKit::LayerBackedDrawingAreaProxy::paint): 9421 Changed these functions to return a boolean indicating whether we 9422 actually painted anything. 9423 9424 * UIProcess/win/WebView.cpp: 9425 (WebKit::WebView::onPaintEvent): Fill with white (and don't call 9426 didDraw) when the DrawingAreaProxy isn't able to paint. 9427 9428 2011-01-06 Jessie Berlin <jberlin (a] apple.com> 9429 9430 Reviewed by Jon Honeycutt. 9431 9432 WebKit2: Need WKBundlePagePrivate equivalent of WebKit1's WebViewPrivate's setDefersCallbacks 9433 https://bugs.webkit.org/show_bug.cgi?id=52038 9434 9435 The implementation of WebKit1's WebViewPrivate's setDefersCallbacks on both Windows and Mac 9436 calls WebCore::Page::setDefersLoading. 9437 9438 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 9439 (WKBundlePageSetDefersLoading): 9440 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 9441 * WebProcess/WebPage/WebPage.cpp: 9442 (WebKit::WebPage::setDefersLoading): 9443 * WebProcess/WebPage/WebPage.h: 9444 9445 2011-01-06 Brady Eidson <beidson (a] apple.com> 9446 9447 Reviewed by Darin Adler. 9448 9449 <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355 9450 Change WebKit2 session restoring to restore the full back/forward list. 9451 9452 * UIProcess/WebProcessProxy.cpp: 9453 (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): Let the UIProcess register its own 9454 WebBackForwardListItems in its ID map upon creation. 9455 * UIProcess/WebProcessProxy.h: 9456 9457 * UIProcess/cf/WebPageProxyCF.cpp: 9458 (WebKit::WebPageProxy::restoreFromSessionStateData): Register each new list entry in the 9459 UIProcess ID map. 9460 9461 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 9462 (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Add this method to register UIProcess 9463 created items without doing any of the other work normally associated with adding a new back/forward item 9464 (such as notifying the UIProcess). 9465 * WebProcess/WebPage/WebBackForwardListProxy.h: 9466 9467 * WebProcess/WebPage/WebPage.cpp: 9468 (WebKit::WebPage::restoreSession): Map all of the back/forward list entries from the UIProcess then 9469 cause a load of the current entry. 9470 9471 2011-01-06 Adam Roben <aroben (a] apple.com> 9472 9473 Always show the arrow cursor when the web process has crashed 9474 9475 Fixes <http://webkit.org/b/52006> WKView shows a stale cursor when the 9476 web process crashes 9477 9478 Reviewed by Ada Chan. 9479 9480 * UIProcess/win/WebView.cpp: 9481 (WebKit::WebView::processDidCrash): 9482 (WebKit::WebView::didRelaunchProcess): 9483 Update the cursor to reflect the new state. 9484 9485 (WebKit::WebView::cursorToShow): Always show the arrow cursor when the 9486 web process has crashed. 9487 9488 2011-01-06 Adam Roben <aroben (a] apple.com> 9489 9490 Reduce code duplication in WebView::updateNativeCursor 9491 9492 Fixes <http://webkit.org/b/52005> It's not easy to add new behavior to 9493 WebView::updateNativeCursor 9494 9495 Reviewed by Ada Chan. 9496 9497 * UIProcess/win/WebView.cpp: 9498 (WebKit::WebView::cursorToShow): Moved code to choose a cursor here... 9499 (WebKit::WebView::updateNativeCursor): ...from here. 9500 9501 * UIProcess/win/WebView.h: Added cursorToShow. 9502 9503 2011-01-06 Adam Roben <aroben (a] apple.com> 9504 9505 Make WKView fill with white when the web process has crashed 9506 9507 Previously we would just draw whatever we had last drawn into the 9508 WKView (i.e., a stale picture of the web page), which was confusing 9509 (because the web page would mysteriously not respond to input) and ugly 9510 (because it wouldn't behave properly if the window was resized). 9511 9512 Fixes <http://webkit.org/b/52004> WKView keeps painting a stale 9513 picture of the web page when the web process crashes 9514 9515 Reviewed by Ada Chan. 9516 9517 * UIProcess/win/WebView.cpp: 9518 (WebKit::WebView::onPaintEvent): Ported code from -[WKView drawRect:] 9519 to fill with white if the page is invalid or has no DrawingArea. As a 9520 bonus, also ported the call to WebPageProxy::didDraw from that method. 9521 9522 (WebKit::WebView::processDidCrash): 9523 (WebKit::WebView::didRelaunchProcess): 9524 Invalidate our window so that we'll redraw with white or the new page. 9525 9526 2011-01-06 Adam Roben <aroben (a] apple.com> 9527 9528 Make WKViews work on Windows after a crashed web process gets relaunched 9529 9530 Fixes <http://webkit.org/b/52001> Relaunching the web process fails to 9531 revivify WKViews on Windows 9532 9533 Reviewed by Ada Chan. 9534 9535 * UIProcess/win/WebView.cpp: 9536 (WebKit::WebView::didRelaunchProcess): Implemented by porting code from 9537 -[WKView _didRelaunchProcess]. 9538 9539 2011-01-06 Adam Roben <aroben (a] apple.com> 9540 9541 Remove WebView::m_rect 9542 9543 It was only used in the constructor, and wasn't even kept up-to-date as 9544 the WebView's size changed. 9545 9546 Fixes <http://webkit.org/b/52000> WebView::m_rect is unnecessary 9547 9548 Reviewed by Ada Chan. 9549 9550 * UIProcess/win/WebView.cpp: 9551 * UIProcess/win/WebView.h: 9552 9553 2011-01-05 Brian Weinstein <bweinstein (a] apple.com> 9554 9555 Reviewed by Ada Chan. 9556 9557 WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads 9558 https://bugs.webkit.org/show_bug.cgi?id=51969 9559 9560 Add the ability to call into the injected bundle to ask if we should allow resource loads. 9561 If the injected bundle says we should cancel, we clear out the ResourceRequest that was 9562 passed into willSendRequest, which cancels the resource load. 9563 9564 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add the new callback for allowing/cancelling 9565 resource loads. 9566 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 9567 (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Calls through to the client. 9568 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 9569 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9570 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): Ask the InjectedBundlePageLoaderClient if we 9571 should load the resource or not. 9572 9573 2011-01-06 Jeff Miller <jeffm (a] apple.com> 9574 9575 Reviewed by Darin Adler. 9576 9577 WebKit2: Add APIs to WKBundleFrame to get content bounds and scroll offset 9578 https://bugs.webkit.org/show_bug.cgi?id=51968 9579 9580 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 9581 (WKBundleFrameGetContentBounds): 9582 (WKBundleFrameGetScrollOffset): 9583 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 9584 Add WKBundleFrameGetContentBounds() and WKBundleFrameGetScrollOffset(). 9585 9586 2011-01-06 James Robinson <jamesr (a] chromium.org> 9587 9588 Reviewed by Simon Fraser. 9589 9590 Implement mozilla's animationTime property 9591 https://bugs.webkit.org/show_bug.cgi?id=51952 9592 9593 Tells the page to clear the current animation time after producing a frame. 9594 9595 * WebProcess/WebPage/WebPage.cpp: 9596 (WebKit::WebPage::drawRect): 9597 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 9598 (WebKit::ChunkedUpdateDrawingArea::display): 9599 (WebKit::ChunkedUpdateDrawingArea::setSize): 9600 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 9601 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 9602 9603 2011-01-06 Darin Adler <darin (a] apple.com> 9604 9605 Redo the half-done rename from the last check-in. 9606 Sorry for the broken build last night. 9607 9608 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 9609 (WebKit::WebBackForwardListProxy::removeItem): Renamed. 9610 * WebProcess/WebPage/WebBackForwardListProxy.h: Updated 9611 for new name. 9612 * WebProcess/WebPage/WebPage.cpp: 9613 (WebKit::WebPage::didRemoveBackForwardItem): Updated to 9614 use the new name. 9615 9616 2011-01-06 Maciej Stachowiak <mjs (a] apple.com> 9617 9618 Rubber stamped by Dan Bernstein. 9619 9620 Fix build for Darin's previous change w/ the obvious renaming. 9621 9622 * WebProcess/WebPage/WebBackForwardListProxy.h: 9623 * WebProcess/WebPage/WebPage.cpp: 9624 (WebKit::WebPage::didRemoveBackForwardItem): 9625 9626 2011-01-05 Darin Adler <darin (a] apple.com> 9627 9628 Reviewed by Geoff Garen. 9629 9630 Back/Forward entries in WebKit2 leak 9631 https://bugs.webkit.org/show_bug.cgi?id=51983 9632 9633 Besides fixing the leak, this also fixes a problem where 9634 all history items were sent over to the UI process, but 9635 we wanted to send only back/forward items. 9636 9637 * UIProcess/WebBackForwardList.cpp: 9638 (WebKit::WebBackForwardList::pageClosed): Added. 9639 Tells the web process about all the back/forward 9640 items being removed. 9641 (WebKit::WebBackForwardList::addItem): Ditto. 9642 Also removed a redundant call to didChangeBackForwardList. 9643 (WebKit::WebBackForwardList::clear): Ditto. 9644 9645 * UIProcess/WebBackForwardList.h: Added pageClosed. 9646 9647 * UIProcess/WebPageProxy.cpp: 9648 (WebKit::WebPageProxy::close): Added a call to pageClosed. 9649 (WebKit::WebPageProxy::backForwardRemovedItem): Added. 9650 Sends a message to the web page in the web process. 9651 9652 * UIProcess/WebPageProxy.h: Added backForwardRemovedItem. 9653 9654 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 9655 (WebKit::updateBackForwardItem): Added an itemID argument, 9656 since callers will now be getting it and we don't want to 9657 get it twice. Removed the code to generate an ID. Also 9658 removed some local variables to make the code a little 9659 tighter and clearer. 9660 (WebKit::WK2NotifyHistoryItemChanged): Only call 9661 updateBackForwardItem for items that already have IDs. 9662 We don't want to send cross-process messages for every 9663 history item; just the ones that are top level back/forward 9664 items. 9665 (WebKit::WebBackForwardListProxy::removeItem): 9666 Added. For use when the UI process tells us to remove it. 9667 (WebKit::WebBackForwardListProxy::addItem): Added code to 9668 assign an ID and put this item into the maps. This is called 9669 exactly once on each back/forward item. 9670 9671 * WebProcess/WebPage/WebBackForwardListProxy.h: Added 9672 removeItem. 9673 9674 * WebProcess/WebPage/WebPage.cpp: 9675 (WebKit::WebPage::didRemoveBackForwardItem): Added. 9676 9677 * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem. 9678 9679 * WebProcess/WebPage/WebPage.messages.in: Added 9680 DidRemoveBackForwardItem message. 9681 9682 2011-01-05 Steve Falkenburg <sfalken (a] apple.com> 9683 9684 Reviewed by Darin Adler. 9685 9686 Debug and Release builds on Windows clobber each other 9687 https://bugs.webkit.org/show_bug.cgi?id=49185 9688 9689 Changes the structure of WebKitBuild build products directory so we 9690 completely separate each build configuration into independent directories. 9691 9692 Although we previously had per-configuration directories for obj, this change adds 9693 per-configuration directories for bin, lib, obj, and include. Each configuration's 9694 build products are stored within a directory inside of WebKitBuild. 9695 9696 Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir), 9697 defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName). 9698 9699 * win/WebKit2.make: 9700 * win/WebKit2.vcproj: 9701 * win/WebKit2Common.vsprops: 9702 * win/WebKit2Generated.make: 9703 * win/WebKit2GeneratedCommon.vsprops: 9704 * win/WebKit2WebProcessPostBuild.cmd: 9705 * win/WebKit2WebProcessPreBuild.cmd: 9706 * win/WebKitPostBuild.cmd: 9707 * win/WebKitPreBuild.cmd: 9708 9709 2011-01-05 Alexey Proskuryakov <ap (a] apple.com> 9710 9711 Reviewed by Anders Carlsson. 9712 9713 https://bugs.webkit.org/show_bug.cgi?id=51973 9714 Make main frame PDF printing work 9715 9716 * UIProcess/API/mac/PDFViewController.h: 9717 * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::makePrintOperation): 9718 Ask PDFDocument to create an NSPrintOperation. 9719 9720 * UIProcess/API/mac/WKView.h: 9721 * UIProcess/API/mac/WKView.mm: 9722 (-[WKView printOperationWithPrintInfo:forFrame:]): Create a new NSPrintOperation, either 9723 from scratch or from a PDF view. 9724 (-[WKView canPrintHeadersAndFooters]): Report if the view can be re-paginated to add headers 9725 and footers. 9726 9727 2011-01-05 Anders Carlsson <andersca (a] apple.com> 9728 9729 Reviewed by Sam Weinig. 9730 9731 <rdar://problem/8750248> 9732 Need a way to create a new DownloadProxy from an arbitrary resource request 9733 9734 <rdar://problem/8750465> 9735 Need a way to start a download in WKDownload 9736 9737 <rdar://problem/8752204> 9738 WK2 Context Menus - "Save linked file" support 9739 9740 * Shared/ContextMenuState.h: Added. 9741 Add a ContextMenuState struct which contains state for context menus. 9742 9743 * UIProcess/API/C/WKContext.cpp: 9744 (WKContextDownloadURLRequest): 9745 Call WebContext::download. 9746 9747 * UIProcess/WebContext.cpp: 9748 (WebKit::WebContext::download): 9749 Send a DownloadRequest message to the web process. 9750 9751 * UIProcess/WebPageProxy.cpp: 9752 (WebKit::WebPageProxy::showContextMenu): 9753 Set the active context menu state. 9754 9755 (WebKit::WebPageProxy::contextMenuItemSelected): 9756 Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling 9757 WebContext::Download, passing the respective URLs. 9758 9759 * UIProcess/WebPageProxy.messages.in: 9760 ShowContextMenu now takes state as well. 9761 9762 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 9763 (WebKit::WebContextMenuClient::downloadURL): 9764 Assert that this is never reached; downloads are handled in the UI process. 9765 9766 * WebProcess/WebPage/WebContextMenu.cpp: 9767 (WebKit::WebContextMenu::show): 9768 Pass the context menu state along when sending the ShowContextMenu message. 9769 9770 * WebProcess/WebProcess.cpp: 9771 (WebKit::WebProcess::downloadRequest): 9772 Call the shared DownloadManager. 9773 9774 * WebProcess/WebProcess.messages.in: 9775 Add DownloadRequest message. 9776 9777 * WebKit2.xcodeproj/project.pbxproj: 9778 * win/WebKit2.vcproj: 9779 Add ContextMenuState.h. 9780 9781 2011-01-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9782 9783 Unreviewed build fix. 9784 9785 [Qt] [Symbian] Fix building NPAPI support 9786 9787 NPEvent is mapped to QAction on Symbian. QAction has no 9788 default constructor, so toNP() fails to build. Add a case for 9789 Symbian behind the OS(SYMBIAN) guard. 9790 9791 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 9792 (WebKit::toNP): 9793 9794 2011-01-05 Jeff Miller <jeffm (a] apple.com> 9795 9796 Reviewed by Dan Bernstein. 9797 9798 Copy WKImageCG.h to include\WebKit2 in build output 9799 https://bugs.webkit.org/show_bug.cgi?id=51944 9800 9801 * win/WebKit2Generated.make: 9802 Add xcopy command to copy WKImageCG.h. 9803 9804 2011-01-05 Brady Eidson <beidson (a] apple.com> 9805 9806 Reviewed by Sam Weinig. 9807 9808 Part of <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355 9809 Change WebKit2 session restoring to restore the full back/forward list 9810 9811 Add a new message to tell the WebProcess to restore a session state: 9812 * WebProcess/WebPage/WebPage.cpp: 9813 (WebKit::WebPage::restoreSession): 9814 * WebProcess/WebPage/WebPage.h: 9815 * WebProcess/WebPage/WebPage.messages.in: Add the new message, AND fix the intentional misspellings. 9816 9817 Also, Sam sucks. 9818 9819 Change WebProcess back/forward list item ids to be odd (UIProcess's will be even): 9820 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 9821 (WebKit::generateHistoryItemID): 9822 9823 Provide accessors to the entries in the list to pass to the WebProcess: 9824 * UIProcess/WebBackForwardList.h: 9825 (WebKit::WebBackForwardList::entries): 9826 (WebKit::WebBackForwardList::currentIndex): 9827 9828 Add decoding of the saved back/forward list itmes (we already encode them): 9829 * UIProcess/cf/WebBackForwardListCF.cpp: 9830 (WebKit::generateWebBackForwardItemID): 9831 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 9832 9833 Instead of loading the current URL, pass the entire last back to the WebProcess: 9834 * UIProcess/cf/WebPageProxyCF.cpp: 9835 (WebKit::WebPageProxy::restoreFromSessionStateData): 9836 9837 2011-01-05 Brady Eidson <beidson (a] apple.com> 9838 9839 Reviewed by Darin Adler. 9840 9841 https://bugs.webkit.org/show_bug.cgi?id=51953 9842 Add a "SessionState" object for IPC messaging. 9843 9844 This object includes all data necessary to restore a session state; 9845 For now, this is just the back/forward list to restore. 9846 9847 * Shared/SessionState.cpp: Added. 9848 (WebKit::SessionState::SessionState): 9849 (WebKit::SessionState::encode): 9850 (WebKit::SessionState::decode): 9851 * Shared/SessionState.h: Added. 9852 (WebKit::SessionState::list): 9853 (WebKit::SessionState::currentIndex): 9854 9855 * WebKit2.pro: 9856 * WebKit2.xcodeproj/project.pbxproj: 9857 * win/WebKit2.vcproj: 9858 9859 2011-01-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9860 9861 Unreviewed build fix. 9862 9863 Include unistd.h for _exit() for non-Windows builds. 9864 9865 Build break noticed on QtWebkit Symbian builds. 9866 9867 * Shared/ChildProcess.cpp: 9868 9869 2011-01-05 Brady Eidson <beidson (a] apple.com> 9870 9871 Reviewed by Darin Adler. 9872 9873 https://bugs.webkit.org/show_bug.cgi?id=51949 9874 Make WebBackForwardListItem shared, and add encoders and decoders 9875 9876 * Shared/WebBackForwardListItem.cpp: Copied from UIProcess/WebBackForwardListItem.cpp. 9877 (WebKit::WebBackForwardListItem::encode): 9878 (WebKit::WebBackForwardListItem::decode): 9879 * Shared/WebBackForwardListItem.h: Copied from UIProcess/WebBackForwardListItem.h. 9880 * UIProcess/WebBackForwardListItem.cpp: Removed. 9881 * UIProcess/WebBackForwardListItem.h: Removed. 9882 9883 * WebKit2.pro: 9884 * WebKit2.xcodeproj/project.pbxproj: 9885 * win/WebKit2.vcproj: 9886 9887 2011-01-05 Anders Carlsson <andersca (a] apple.com> 9888 9889 Reviewed by Sam Weinig. 9890 9891 Handle smart insert/delete 9892 https://bugs.webkit.org/show_bug.cgi?id=51946 9893 9894 * Shared/WebPageCreationParameters.cpp: 9895 (WebKit::WebPageCreationParameters::encode): 9896 (WebKit::WebPageCreationParameters::decode): 9897 * Shared/WebPageCreationParameters.h: 9898 Add isSmartInsertDelete enabled. 9899 9900 * UIProcess/API/mac/WKView.mm: 9901 (-[WKView validateUserInterfaceItem:]): 9902 Handle toggleSmartInsertDelete:. 9903 9904 (-[WKView toggleSmartInsertDelete:]): 9905 Toggle the smart insert/delete state. 9906 9907 * UIProcess/TextChecker.h: 9908 Add isSmartInsertDeleteEnabled and setSmartInsertDeleteEnabled. 9909 9910 * UIProcess/WebPageProxy.cpp: 9911 (WebKit::WebPageProxy::WebPageProxy): 9912 Initialize m_isSmartInsertDeleteEnabled. 9913 9914 (WebKit::WebPageProxy::contextMenuItemSelected): 9915 Handle ContextMenuItemTagSmartCopyPaste. 9916 9917 (WebKit::WebPageProxy::setSmartInsertDeleteEnabled): 9918 Update the state and send a SetSmartInsertDeleteEnabled message. 9919 9920 (WebKit::WebPageProxy::creationParameters): 9921 Initialize isSmartInsertDeleteEnabled. 9922 9923 * UIProcess/WebPageProxy.h: 9924 (WebKit::WebPageProxy::isSmartInsertDeleteEnabled): 9925 Return m_isSmartInsertDeleteEnabled. 9926 9927 * UIProcess/mac/TextCheckerMac.mm: 9928 (WebKit::TextChecker::isSmartInsertDeleteEnabled): 9929 (WebKit::TextChecker::setSmartInsertDeleteEnabled): 9930 Store and fetch the smart insert delete state. 9931 9932 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 9933 (WebKit::WebEditorClient::smartInsertDeleteEnabled): 9934 Call WebPage::isSmartInsertDeleteEnabled. 9935 9936 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 9937 (WebKit::WebEditorClient::toggleSmartInsertDelete): 9938 Assert that this is never called. 9939 9940 * WebProcess/WebPage/WebPage.cpp: 9941 (WebKit::WebPage::WebPage): 9942 Initialize m_isSmartInsertDeleteEnabled 9943 9944 * WebProcess/WebPage/WebPage.h: 9945 (WebKit::WebPage::isSmartInsertDeleteEnabled): 9946 (WebKit::WebPage::setSmartInsertDeleteEnabled): 9947 Add getter and setter. 9948 9949 * WebProcess/WebPage/WebPage.messages.in: 9950 Add SetSmartInsertDeleteEnabled message. 9951 9952 2011-01-05 Anders Carlsson <andersca (a] apple.com> 9953 9954 Fix Windows build. 9955 9956 * WebProcess/WebPage/WebPage.cpp: 9957 9958 2011-01-05 Anders Carlsson <andersca (a] apple.com> 9959 9960 Reviewed by Adele Peterson. 9961 9962 Implement word transformation 9963 https://bugs.webkit.org/show_bug.cgi?id=51943 9964 9965 * UIProcess/API/mac/WKView.mm: 9966 (-[WKView validateUserInterfaceItem:]): 9967 Handle the word transformation selectors. 9968 9969 (-[WKView uppercaseWord:]): 9970 (-[WKView lowercaseWord:]): 9971 (-[WKView capitalizeWord:]): 9972 Call down to the WebPageProxy. 9973 9974 * UIProcess/WebPageProxy.cpp: 9975 (WebKit::WebPageProxy::uppercaseWord): 9976 (WebKit::WebPageProxy::lowercaseWord): 9977 (WebKit::WebPageProxy::capitalizeWord): 9978 Send messages to the WebPage. 9979 9980 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 9981 (WebKit::changeWordCase): 9982 Add helper function. 9983 9984 (WebKit::WebEditorClient::uppercaseWord): 9985 (WebKit::WebEditorClient::lowercaseWord): 9986 (WebKit::WebEditorClient::capitalizeWord): 9987 Call helper function. 9988 9989 * WebProcess/WebPage/WebPage.cpp: 9990 (WebKit::WebPage::changeSpellingToWord): 9991 Call replaceSelectionWithText. 9992 9993 (WebKit::WebPage::uppercaseWord): 9994 (WebKit::WebPage::lowercaseWord): 9995 (WebKit::WebPage::capitalizeWord): 9996 Call the editor functions. 9997 9998 (WebKit::WebPage::replaceSelectionWithText): 9999 New helper function that replaces the selected string with another string. 10000 10001 * WebProcess/WebPage/WebPage.messages.in: 10002 Add new messages. 10003 10004 2011-01-05 Alexey Proskuryakov <ap (a] apple.com> 10005 10006 Reviewed by Anders Carlsson. 10007 10008 https://bugs.webkit.org/show_bug.cgi?id=51935 10009 Add WebKit2 API for largest frame 10010 10011 * UIProcess/API/C/WKPage.cpp: 10012 (WKPageGetFrameSetLargestFrame): 10013 * UIProcess/API/C/WKPage.h: 10014 10015 2011-01-05 Anders Carlsson <andersca (a] apple.com> 10016 10017 Reviewed by Sam Weinig. 10018 10019 More work on spelling 10020 https://bugs.webkit.org/show_bug.cgi?id=51939 10021 10022 * UIProcess/API/mac/WKView.mm: 10023 (-[WKView validateUserInterfaceItem:]): 10024 Handle changeSpelling: as well. 10025 10026 (-[WKView showGuessPanel:]): 10027 Show or hide the guess panel. 10028 10029 (-[WKView checkSpelling:]): 10030 Pass false to advanceToNextMisspelling. 10031 10032 (-[WKView changeSpelling:]): 10033 Call changeSpellingToWord. 10034 10035 * UIProcess/TextChecker.h: 10036 * UIProcess/WebPageProxy.cpp: 10037 (WebKit::WebPageProxy::WebPageProxy): 10038 Initialize m_pendingLearnOrIgnoreWordMessageCount. 10039 10040 (WebKit::WebPageProxy::contextMenuItemSelected): 10041 Handle smart toggles directly in the UI process, keep track of whether 10042 we're asked to learn or ignore a word. 10043 10044 (WebKit::WebPageProxy::advanceToNextMisspelling): 10045 Pass the boolean through. 10046 10047 (WebKit::WebPageProxy::changeSpellingToWord): 10048 Send a ChangeSpellingToWord message. 10049 10050 (WebKit::WebPageProxy::learnWord): 10051 (WebKit::WebPageProxy::ignoreWord): 10052 Check that we do have a pending learn or ignore word message. Call through to 10053 the text checker. 10054 10055 (WebKit::WebPageProxy::processDidCrash): 10056 Reset the m_pendingLearnOrIgnoreWordMessageCount variable. 10057 10058 * UIProcess/WebPageProxy.h: 10059 * UIProcess/WebPageProxy.messages.in: 10060 Add new messages. 10061 10062 * UIProcess/mac/TextCheckerMac.mm: 10063 (WebKit::TextChecker::learnWord): 10064 (WebKit::TextChecker::ignoreWord): 10065 Implement in terms of NSSpellChecker. 10066 10067 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 10068 (WebKit::WebEditorClient::ignoreWordInSpellDocument): 10069 (WebKit::WebEditorClient::learnWord): 10070 Send IgnoreWord and LearnWord messages. 10071 10072 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 10073 (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): 10074 (WebKit::WebEditorClient::toggleAutomaticLinkDetection): 10075 (WebKit::WebEditorClient::toggleAutomaticDashSubstitution): 10076 (WebKit::WebEditorClient::toggleAutomaticTextReplacement): 10077 Add assertions. 10078 10079 * WebProcess/WebPage/WebPage.cpp: 10080 (WebKit::WebPage::advanceToNextMisspelling): 10081 Pass the bool along to the Editor. 10082 10083 (WebKit::WebPage::changeSpellingToWord): 10084 Replace the selected text. 10085 10086 * WebProcess/WebPage/WebPage.messages.in: 10087 Add new ChangeSpellingToWord message and add a boolean to AdvanceToNextMisspelling. 10088 10089 2011-01-05 Anders Carlsson <andersca (a] apple.com> 10090 10091 Reviewed by Dan Bernstein. 10092 10093 Keep track of active text substitution preferences 10094 https://bugs.webkit.org/show_bug.cgi?id=51931 10095 10096 * Shared/TextCheckerState.h: 10097 * UIProcess/API/mac/WKView.mm: 10098 (-[WKView validateUserInterfaceItem:]): 10099 Handle new selectors, mostly copied from WebKit1 code. 10100 10101 (-[WKView orderFrontSubstitutionsPanel:]): 10102 Open the substitution panel. 10103 10104 (-[WKView isAutomaticQuoteSubstitutionEnabled]): 10105 (-[WKView setAutomaticQuoteSubstitutionEnabled:]): 10106 (-[WKView toggleAutomaticQuoteSubstitution:]): 10107 (-[WKView isAutomaticDashSubstitutionEnabled]): 10108 (-[WKView setAutomaticDashSubstitutionEnabled:]): 10109 (-[WKView toggleAutomaticDashSubstitution:]): 10110 (-[WKView isAutomaticLinkDetectionEnabled]): 10111 (-[WKView setAutomaticLinkDetectionEnabled:]): 10112 (-[WKView toggleAutomaticLinkDetection:]): 10113 (-[WKView isAutomaticTextReplacementEnabled]): 10114 (-[WKView setAutomaticTextReplacementEnabled:]): 10115 (-[WKView toggleAutomaticTextReplacement:]): 10116 Call the text checker, and update the state in the web process if needed. 10117 10118 * UIProcess/TextChecker.h: 10119 Add new flags. 10120 10121 * UIProcess/mac/TextCheckerMac.mm: 10122 (WebKit::initializeState): 10123 Initialize flags from user defaults. 10124 10125 (WebKit::TextChecker::setAutomaticQuoteSubstitutionEnabled): 10126 (WebKit::TextChecker::setAutomaticDashSubstitutionEnabled): 10127 (WebKit::TextChecker::setAutomaticLinkDetectionEnabled): 10128 (WebKit::TextChecker::setAutomaticTextReplacementEnabled): 10129 Update and save the flags. 10130 10131 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 10132 (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled): 10133 (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled): 10134 (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled): 10135 (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled): 10136 Get the text checker state. 10137 10138 2011-01-05 Dan Bernstein <mitz (a] apple.com> 10139 10140 Rubber-stamped by Darin Adler. 10141 10142 Cleaned up com.apple.WebProcess.sb 10143 10144 * WebProcess/com.apple.WebProcess.sb: Moved the closing parentheses of multi-line blocks to 10145 their own lines. Changed to use WebKit-standard 4-space indentation. 10146 10147 2011-01-05 Alexey Proskuryakov <ap (a] apple.com> 10148 10149 Reviewed by Sam Weinig. 10150 10151 https://bugs.webkit.org/show_bug.cgi?id=51903 10152 Tell UI process which subframe is largest 10153 10154 * UIProcess/WebPageProxy.h: 10155 (WebKit::WebPageProxy::frameSetLargestFrame): 10156 Remember largest frame in frameset pages. 10157 10158 * UIProcess/WebPageProxy.cpp: 10159 (WebKit::WebPageProxy::frameDidBecomeFrameSet): Reset stored largest frame if main frame 10160 changes to a frameset or back. 10161 (WebKit::WebPageProxy::frameSetLargestFrameChanged): Store a new largest frame when notified 10162 of a change. 10163 10164 * UIProcess/WebPageProxy.messages.in: Added FrameSetLargestFrameChanged. 10165 10166 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10167 (WebKit::area): Calculate area of a frame. 10168 (WebKit::findLargestFrameInFrameSet): Find largest first-level subframe in a frameset page. 10169 (WebKit::WebChromeClient::contentsSizeChanged): Recalculate largest frame, and notify UI 10170 process if it changed. 10171 10172 * WebProcess/WebCoreSupport/WebChromeClient.h: Store the latest largest frame. 10173 10174 * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::size): 10175 * WebProcess/WebPage/WebFrame.h: 10176 Expose frame size. 10177 10178 2011-01-04 Benjamin Poulain <benjamin.poulain (a] nokia.com> 10179 10180 Reviewed by Kenneth Rohde Christiansen. 10181 10182 [Qt] [WK2] Add support for non-trivial context menu action 10183 https://bugs.webkit.org/show_bug.cgi?id=51902 10184 10185 Implement a call back from the QAction triggered in the UIProcess to the 10186 action in WebProcess. 10187 10188 A few basic actions have been implemented based on this feature. 10189 10190 * UIProcess/API/qt/qwkpage.cpp: 10191 (contextMenuActionForWebAction): 10192 (QWKPage::triggerAction): 10193 (QWKPage::action): 10194 * UIProcess/API/qt/qwkpage.h: 10195 * UIProcess/qt/WebContextMenuProxyQt.cpp: 10196 (WebKit::webActionForContextMenuAction): 10197 10198 2011-01-04 Siddharth Mathur <siddharth.mathur (a] nokia.com> 10199 10200 Reviewed by Laszlo Gombos. 10201 10202 Include unistd.h for sleep() for non-Windows builds. 10203 10204 * WebProcess/WebProcess.cpp: 10205 * WebProcess/qt/WebProcessMainQt.cpp: 10206 10207 2011-01-04 Brian Weinstein <bweinstein (a] apple.com> 10208 10209 Windows build fix. Change the inline type of consumePermanently. 10210 10211 * Shared/SandboxExtension.h: 10212 (WebKit::SandboxExtension::consumePermanently): 10213 10214 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10215 10216 Reviewed by Dan Bernstein. 10217 10218 <rdar://problem/8821203> Sandbox violations trying to access the Safari cache 10219 10220 * Shared/SandboxExtension.h: 10221 (WebKit::SandboxExtension::consumePermanently): 10222 New function which consumes a sandbox extension and destroys it, making it impossible 10223 to later revoke it. 10224 10225 * Shared/WebProcessCreationParameters.cpp: 10226 (WebKit::WebProcessCreationParameters::encode): 10227 (WebKit::WebProcessCreationParameters::decode): 10228 Encode and decode the path extension handle. 10229 10230 * Shared/mac/SandboxExtensionMac.mm: 10231 (WebKit::SandboxExtension::createHandle): 10232 Standardize the path before creating the handle. 10233 10234 * UIProcess/mac/WebContextMac.mm: 10235 (WebKit::WebContext::platformInitializeWebProcess): 10236 Create a sandbox extension for the cache path. 10237 10238 * WebProcess/mac/WebProcessMac.mm: 10239 (WebKit::WebProcess::platformInitializeWebProcess): 10240 Consume the sandbox extension. 10241 10242 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10243 10244 Fix build. 10245 10246 * UIProcess/mac/TextCheckerMac.mm: 10247 (WebKit::TextChecker::getGuessesForWord): 10248 10249 2011-01-04 Jeff Miller <jeffm (a] apple.com> 10250 10251 Reviewed by Darin Adler. 10252 10253 Mouse events in WebKit2 on Windows need to know whether the click activated the WebView to match WebKit1 behavior. 10254 https://bugs.webkit.org/show_bug.cgi?id=51228 10255 10256 * Shared/WebEvent.h: 10257 (WebKit::WebMouseEvent::didActivateWebView): 10258 Add m_didActivateWebView to WebMouseEvent on Windows. 10259 10260 * Shared/WebEventConversion.cpp: 10261 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): 10262 Propagate whether the click activated the WebView when converting to a PlatformMouseEvent. 10263 10264 * Shared/WebMouseEvent.cpp: 10265 (WebKit::WebMouseEvent::WebMouseEvent): 10266 Add m_didActivateWebView to WebMouseEvent on Windows. 10267 10268 (WebKit::WebMouseEvent::encode): 10269 (WebKit::WebMouseEvent::decode): 10270 Encode and decode new m_didActivateWebView member variable. 10271 10272 * Shared/win/WebEventFactory.cpp: 10273 (WebKit::WebEventFactory::createWebMouseEvent): 10274 * Shared/win/WebEventFactory.h: 10275 Add didActivateWebView parameter to createWebMouseEvent(). 10276 10277 * UIProcess/win/WebView.cpp: 10278 (WebKit::WebView::wndProc): 10279 (WebKit::WebView::WebView): 10280 (WebKit::WebView::onMouseEvent): 10281 * UIProcess/win/WebView.h: 10282 (WebKit::WebView::setWasActivatedByMouseEvent): 10283 Keep track of whether the click activated the WebView. 10284 10285 2011-01-04 Ivan Krsti <ike (a] apple.com> 10286 10287 Reviewed and landed by Anders Carlsson. 10288 10289 <rdar://problem/8602585> 10290 <rdar://problem/8711641> 10291 10292 * WebProcess/com.apple.WebProcess.sb: 10293 Fix a misplaced right parenthesis and add a new system path regex. 10294 10295 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10296 10297 Reviewed by Sam Weinig. 10298 10299 More work on spelling and grammar 10300 https://bugs.webkit.org/show_bug.cgi?id=51910 10301 10302 * Scripts/webkit2/messages.py: 10303 Add special case for WebCore::TextCheckingResult. 10304 10305 * Shared/NotImplemented.h: 10306 Fix macro so that defining DISABLE_NOT_IMPLEMENTED_WARNINGS to 0 will enable the warnings. 10307 10308 * Shared/WebCoreArgumentCoders.h: 10309 Add argument coders for WebCore::GrammarDetail and WebCore::TextCheckingResult. 10310 10311 * UIProcess/API/mac/WKView.mm: 10312 (-[WKView checkSpelling:]): 10313 Call advanceToNextMisspelling. 10314 10315 * UIProcess/TextChecker.h: 10316 Add new NSSpellChecker wrappers. 10317 10318 * UIProcess/WebPageProxy.cpp: 10319 (WebKit::WebPageProxy::WebPageProxy): 10320 Initialize the new member variables. 10321 10322 (WebKit::WebPageProxy::~WebPageProxy): 10323 Call TextChecker::closeSpellDocumentWithTag. 10324 10325 (WebKit::WebPageProxy::advanceToNextMisspelling): 10326 Send the AdvanceToNextMisspelling message. 10327 10328 (WebKit::WebPageProxy::spellDocumentTag): 10329 Create a spell document tag if necessary. 10330 10331 (WebKit::WebPageProxy::checkTextOfParagraph): 10332 (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord): 10333 (WebKit::WebPageProxy::getGuessesForWord): 10334 Call the TextChecker. 10335 10336 * UIProcess/WebPageProxy.messages.in: 10337 Add new messages. 10338 10339 * UIProcess/mac/TextCheckerMac.mm: 10340 (WebKit::TextChecker::uniqueSpellDocumentTag): 10341 (WebKit::TextChecker::closeSpellDocumentWithTag): 10342 (WebKit::TextChecker::checkTextOfParagraph): 10343 (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): 10344 (WebKit::TextChecker::getGuessesForWord): 10345 Add NSSpellChecker wrappers. 10346 10347 * UIProcess/qt/TextCheckerQt.cpp: 10348 * UIProcess/win/TextCheckerWin.cpp: 10349 Add stubs. 10350 10351 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 10352 (WebKit::WebEditorClient::isContinuousSpellCheckingEnabled): 10353 (WebKit::WebEditorClient::isGrammarCheckingEnabled): 10354 Get the text checking state from the web process. 10355 10356 (WebKit::WebEditorClient::updateSpellingUIWithMisspelledWord): 10357 (WebKit::WebEditorClient::getGuessesForWord): 10358 Proxy calls to the UI process. 10359 10360 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 10361 (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled): 10362 10363 (WebKit::WebEditorClient::checkTextOfParagraph): 10364 Proxy calls to the UI process. 10365 10366 * WebProcess/WebPage/WebPage.cpp: 10367 (WebKit::WebPage::advanceToNextMisspelling): 10368 Call the frame. 10369 10370 * WebProcess/WebPage/WebPage.messages.in: 10371 Add AdvanceToNextMisspelling message. 10372 10373 * WebProcess/WebProcess.cpp: 10374 (WebKit::WebProcess::initializeWebProcess): 10375 Set the text checker state. 10376 10377 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 10378 10379 Unreviewed. Build fix. 10380 10381 WK2: Support Accessibility 10382 https://bugs.webkit.org/show_bug.cgi?id=51859 10383 10384 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: 10385 10386 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 10387 10388 Unreviewed. Build fix. 10389 10390 WK2: Support Accessibility 10391 https://bugs.webkit.org/show_bug.cgi?id=51859 10392 10393 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: 10394 (-[AccessibilityWebPageObject accessibilityAttributeValue:]): 10395 10396 2011-01-04 Chris Fleizach <cfleizach (a] apple.com> 10397 10398 Reviewed by Sam Weinig. 10399 10400 WK2: Support Accessibility 10401 https://bugs.webkit.org/show_bug.cgi?id=51859 10402 10403 Implement remote accessibility API to support cross process accessibility 10404 on the Mac platform. 10405 10406 * Shared/WebProcessCreationParameters.cpp: 10407 (WebKit::WebProcessCreationParameters::encode): 10408 (WebKit::WebProcessCreationParameters::decode): 10409 * Shared/WebProcessCreationParameters.h: 10410 * UIProcess/API/mac/PageClientImpl.h: 10411 * UIProcess/API/mac/PageClientImpl.mm: 10412 (WebKit::PageClientImpl::accessibilityChildTokenReceived): 10413 * UIProcess/API/mac/WKView.mm: 10414 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 10415 (-[WKView _updateWindowAndViewFrames]): 10416 (-[WKView _setAccessibilityChildToken:]): 10417 (-[WKView accessibilityIsIgnored]): 10418 (-[WKView accessibilityHitTest:]): 10419 (-[WKView accessibilityAttributeValue:]): 10420 * UIProcess/API/mac/WKViewInternal.h: 10421 * UIProcess/PageClient.h: 10422 * UIProcess/WebContext.cpp: 10423 (WebKit::WebContext::ensureWebProcess): 10424 * UIProcess/WebPageProxy.cpp: 10425 (WebKit::WebPageProxy::windowAndViewFramesChanged): 10426 (WebKit::WebPageProxy::didReceiveAccessibilityPageToken): 10427 (WebKit::WebPageProxy::sendAccessibilityPresenterToken): 10428 * UIProcess/WebPageProxy.h: 10429 * UIProcess/WebPageProxy.messages.in: 10430 * WebKit2.xcodeproj/project.pbxproj: 10431 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 10432 (WebKit::WebFrameLoaderClient::accessibilityRemoteObject): 10433 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 10434 * WebProcess/WebPage/WebPage.cpp: 10435 (WebKit::WebPage::windowAndViewFramesChanged): 10436 * WebProcess/WebPage/WebPage.h: 10437 (WebKit::WebPage::accessibilityPosition): 10438 * WebProcess/WebPage/WebPage.messages.in: 10439 * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added. 10440 * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added. 10441 (-[AccessibilityWebPageObject setWebPage:]): 10442 (-[AccessibilityWebPageObject setRemoteParent:]): 10443 (-[AccessibilityWebPageObject dealloc]): 10444 (-[AccessibilityWebPageObject accessibilityIsIgnored]): 10445 (-[AccessibilityWebPageObject accessibilityAttributeNames]): 10446 (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]): 10447 (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]): 10448 (-[AccessibilityWebPageObject accessibilityActionNames]): 10449 (-[AccessibilityWebPageObject accessibilityChildren]): 10450 (-[AccessibilityWebPageObject accessibilityAttributeValue:]): 10451 (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]): 10452 (-[AccessibilityWebPageObject accessibilityHitTest:]): 10453 (-[AccessibilityWebPageObject accessibilityFocusedUIElement]): 10454 * WebProcess/WebPage/mac/WebPageMac.mm: 10455 (WebKit::WebPage::platformInitialize): 10456 (WebKit::WebPage::sendAccessibilityPresenterToken): 10457 (WebKit::WebPage::accessibilityRemoteObject): 10458 * WebProcess/WebProcess.cpp: 10459 (WebKit::WebProcess::initializeWebProcess): 10460 * WebProcess/WebProcess.h: 10461 (WebKit::WebProcess::presenterApplicationPid): 10462 * WebProcess/mac/WebProcessMainMac.mm: 10463 (WebKit::WebProcessMain): 10464 10465 2011-01-04 Brady Eidson <beidson (a] apple.com> 10466 10467 Reviewed by Darin Adler. 10468 10469 Get rid of an extra copy in the back/forward item IPC message by using a DataReference. 10470 10471 * UIProcess/WebBackForwardListItem.cpp: 10472 (WebKit::WebBackForwardListItem::WebBackForwardListItem): 10473 (WebKit::WebBackForwardListItem::setBackForwardData): 10474 * UIProcess/WebBackForwardListItem.h: 10475 10476 * UIProcess/WebPageProxy.cpp: 10477 (WebKit::WebPageProxy::dataCallback): Get rid of no-longer-needed check for size 0. 10478 10479 * UIProcess/WebProcessProxy.cpp: 10480 (WebKit::WebProcessProxy::addBackForwardItem): 10481 * UIProcess/WebProcessProxy.h: 10482 10483 * UIProcess/WebProcessProxy.messages.in: 10484 10485 * WebProcess/WebPage/EncoderAdapter.cpp: 10486 (WebKit::EncoderAdapter::data): 10487 * WebProcess/WebPage/EncoderAdapter.h: 10488 10489 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 10490 10491 2011-01-04 Brady Eidson <beidson (a] apple.com> 10492 10493 Reviewed by Darin Adler. 10494 10495 Store more data per history entry in the session state blob. 10496 10497 * UIProcess/WebBackForwardListItem.cpp: 10498 (WebKit::WebBackForwardListItem::WebBackForwardListItem): 10499 * UIProcess/WebBackForwardListItem.h: 10500 (WebKit::WebBackForwardListItem::create): 10501 10502 * UIProcess/WebProcessProxy.cpp: 10503 (WebKit::WebProcessProxy::addBackForwardItem): 10504 10505 * UIProcess/cf/WebBackForwardListCF.cpp: 10506 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 10507 10508 * UIProcess/cf/WebPageProxyCF.cpp: 10509 10510 2011-01-04 Darin Adler <darin (a] apple.com> 10511 10512 Reviewed by Brady Eidson. 10513 10514 Add back/forward encoding and decoding to WebKit2 10515 https://bugs.webkit.org/show_bug.cgi?id=51901 10516 10517 * GNUmakefile.am: Added new source files. 10518 * WebKit2.pro: Ditto. 10519 * WebKit2.xcodeproj/project.pbxproj: Ditto. 10520 * win/WebKit2.vcproj: Ditto. 10521 10522 * WebProcess/WebPage/DecoderAdapter.cpp: Added. 10523 * WebProcess/WebPage/DecoderAdapter.h: Added. 10524 * WebProcess/WebPage/EncoderAdapter.cpp: Added. 10525 * WebProcess/WebPage/EncoderAdapter.h: Added. 10526 10527 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 10528 (WebKit::updateBackForwardItem): Added code to encode the back/forward 10529 tree and send it along. The code to decode needs to wait on Brady's 10530 current project. 10531 10532 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10533 10534 Reviewed by Sam Weinig. 10535 10536 <rdar://problem/8766999> WebKit2: Sandboxing causes certificate error on access to any HTTPS URL 10537 10538 Allow read access to /Library/Preferences/com.apple.security.plist. 10539 10540 * WebProcess/com.apple.WebProcess.sb: 10541 10542 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10543 10544 Build fixes. 10545 10546 * UIProcess/qt/TextCheckerQt.cpp: 10547 * UIProcess/win/TextCheckerWin.cpp: 10548 10549 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10550 10551 Reviewed by Darin Adler. 10552 10553 Don't use macros for the key names. 10554 10555 * UIProcess/mac/TextCheckerMac.mm: 10556 10557 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10558 10559 Reviewed by Sam Weinig. 10560 10561 Send over text checker state to the web process 10562 https://bugs.webkit.org/show_bug.cgi?id=51896 10563 10564 * Platform/CoreIPC/Arguments.h: 10565 Remove 'const' from the argument, this matches all the other Arguments classes. 10566 10567 * Shared/TextCheckerState.h: Added. 10568 New class with text checker state. 10569 10570 * Shared/WebProcessCreationParameters.cpp: 10571 (WebKit::WebProcessCreationParameters::encode): 10572 (WebKit::WebProcessCreationParameters::decode): 10573 * Shared/WebProcessCreationParameters.h: 10574 Add textCheckerState. 10575 10576 * UIProcess/API/mac/WKView.mm: 10577 (-[WKView validateUserInterfaceItem:]): 10578 (-[WKView toggleContinuousSpellChecking:]): 10579 (-[WKView toggleGrammarChecking:]): 10580 (-[WKView toggleAutomaticSpellingCorrection:]): 10581 Get the needed flags from the text checker state. 10582 10583 * UIProcess/TextChecker.h: 10584 Add state() function, remove getters. 10585 10586 * UIProcess/WebContext.cpp: 10587 (WebKit::WebContext::ensureWebProcess): 10588 Initialize the text checker state. 10589 10590 * UIProcess/WebProcessProxy.cpp: 10591 (WebKit::WebProcessProxy::updateTextCheckerState): 10592 Send the SetTextCheckerState message to the web process. 10593 10594 * UIProcess/mac/TextCheckerMac.mm: 10595 (WebKit::initializeState): 10596 Initialize the state from the user defaults. 10597 10598 (WebKit::TextChecker::state): 10599 Return the state. 10600 10601 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 10602 (WebKit::TextChecker::setGrammarCheckingEnabled): 10603 (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled): 10604 Make sure to write the new state. 10605 10606 * UIProcess/qt/TextCheckerQt.cpp: 10607 (WebKit::TextChecker::state): 10608 * UIProcess/win/TextCheckerWin.cpp: 10609 (WebKit::TextChecker::state): 10610 Add stubs. 10611 10612 * WebKit2.xcodeproj/project.pbxproj: 10613 Add TextCheckerState.h. 10614 10615 * WebProcess/WebProcess.cpp: 10616 (WebKit::WebProcess::WebProcess): 10617 Initialize m_textCheckerState. 10618 10619 (WebKit::WebProcess::setTextCheckerState): 10620 Update. 10621 10622 * WebProcess/WebProcess.messages.in: 10623 Add SetTextCheckerState message. 10624 10625 * win/WebKit2.vcproj: 10626 Add TextCheckerState.h. 10627 10628 2011-01-04 Brady Eidson <beidson (a] apple.com> 10629 10630 Rubberstamped by Anders Carlsson. 10631 10632 Attach a radar # to this FIXME: 10633 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 10634 10635 2011-01-04 Anders Carlsson <andersca (a] apple.com> 10636 10637 Reviewed by John Sullivan. 10638 10639 Add more spelling/grammar related methods 10640 https://bugs.webkit.org/show_bug.cgi?id=51886 10641 10642 * UIProcess/API/mac/WKView.mm: 10643 (-[WKView validateUserInterfaceItem:]): 10644 Handle more selectors. 10645 10646 (-[WKView showGuessPanel:]): 10647 Add stub. 10648 10649 (-[WKView checkSpelling:]): 10650 Ditto. 10651 10652 (-[WKView toggleAutomaticSpellingCorrection:]): 10653 Toggle automatic spelling correction. 10654 10655 * UIProcess/TextChecker.h: 10656 Add setAutomaticSpellingCorrectionEnabled and isAutomaticSpellingCorrectionEnabled. 10657 10658 * UIProcess/mac/TextCheckerMac.mm: 10659 (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled): 10660 (WebKit::TextChecker::isAutomaticSpellingCorrectionEnabled): 10661 Update the toggle. 10662 10663 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10664 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 10665 Add a Radar URL for the localization FIXMEs. 10666 10667 2011-01-04 Brent Fulgham <bfulgham (a] webkit.org> 10668 10669 Unreviewed build fix. 10670 10671 * win/WebKit2.vcproj: Correct the missing $(WebKitVSPropsRedirectionDir) 10672 variables that Visual Studio helpfully removes when making changes. 10673 10674 2011-01-04 Brent Fulgham <bfulgham (a] webkit.org> 10675 10676 Unreviewed build fix. 10677 10678 * win/WebKit2.vcproj: Disable CG-specific WKImageCG.cpp from 10679 Debug_Cairo_CFLite/Release_Cario_CFLite builds. 10680 10681 2011-01-04 Brady Eidson <beidson (a] apple.com> 10682 10683 Reviewed by Darin Adler. 10684 10685 https://bugs.webkit.org/show_bug.cgi?id=51856 10686 Pass encoded back/forward tree data from the WebProcess to the UIProcess 10687 10688 Remove the WKBackForwardListItemCopyOriginalURL API as it's not needed: 10689 * UIProcess/API/C/WKBackForwardListItem.cpp: 10690 * UIProcess/API/C/WKBackForwardListItem.h: 10691 * UIProcess/API/qt/qwkhistory.cpp: 10692 * UIProcess/API/qt/qwkhistory.h: 10693 10694 * UIProcess/WebBackForwardListItem.cpp: 10695 (WebKit::WebBackForwardListItem::WebBackForwardListItem): 10696 * UIProcess/WebBackForwardListItem.h: 10697 (WebKit::WebBackForwardListItem::create): 10698 (WebKit::WebBackForwardListItem::setBackForwardData): 10699 (WebKit::WebBackForwardListItem::backForwardData): 10700 10701 * UIProcess/WebProcessProxy.cpp: 10702 (WebKit::WebProcessProxy::addBackForwardItem): 10703 * UIProcess/WebProcessProxy.h: 10704 10705 * UIProcess/WebProcessProxy.messages.in: 10706 10707 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 10708 (WebKit::updateBackForwardItem): 10709 10710 2011-01-04 Balazs Kelemen <kbalazs (a] webkit.org> 10711 10712 Reviewed by Kenneth Rohde Christiansen. 10713 10714 [Qt][WK2] Incomplete clean up on termination 10715 https://bugs.webkit.org/show_bug.cgi?id=51474 10716 10717 Do not kill the web process to force it's termination. 10718 Fix object destruction and cleanup logic and make the cleanup more reliable. 10719 Do not try to cleanup on crash because it is not reliable. 10720 10721 * Platform/CoreIPC/qt/ConnectionQt.cpp: 10722 (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we 10723 do not own it. This is the case with a server connection. 10724 * Platform/qt/MappedMemoryPool.cpp: 10725 Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it 10726 in the same way as the other objects. 10727 (WebKit::MappedMemoryPool::instance): 10728 (WebKit::MappedMemoryPool::~MappedMemoryPool): 10729 * Platform/qt/MappedMemoryPool.h: 10730 (WebKit::MappedMemoryPool::MappedMemoryPool): 10731 * Platform/qt/SharedMemoryQt.cpp: 10732 (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit. 10733 It is handled by the CleanupHandler. 10734 (WebKit::SharedMemory::~SharedMemory): Ditto. 10735 * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp. 10736 No longer try to handle crash but just normal termination. 10737 (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit. 10738 Ensure appropriate thread affinity. 10739 (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop. 10740 (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable. 10741 * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h. 10742 (WebKit::CleanupHandler::instance): 10743 (WebKit::CleanupHandler::markForCleanup): 10744 (WebKit::CleanupHandler::unmark): 10745 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 10746 Do not kill the web process immidiately but give it a chance to cleanup. 10747 Use QLocalServer::removeServer for assuring that the socket file will be removed. 10748 (WebKit::ProcessLauncherHelper::serverName): 10749 (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times 10750 out terminating. Fixed the bug of changing the list while iterating it over by disconnecting 10751 from the processStateChanged slot. 10752 (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState. 10753 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): 10754 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the 10755 CleanupHandler because we will remove the socket file in cleanupAtExit. 10756 (WebKit::ProcessLauncherHelper::instance): 10757 (WebKit::ProcessLauncher::terminateProcess): 10758 * WebKit2.pro: 10759 10760 2011-01-04 Benjamin Poulain <benjamin.poulain (a] nokia.com> 10761 10762 Reviewed by Kenneth Rohde Christiansen. 10763 10764 [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2 10765 https://bugs.webkit.org/show_bug.cgi?id=51825 10766 10767 Implement the necessary methods to get a basic context menu working for Qt. 10768 10769 Only 4 basic WebAction have been added on the UIProcess side: back, forward, stop and reload. 10770 10771 * UIProcess/API/qt/qgraphicswkview.cpp: 10772 (QGraphicsWKView::QGraphicsWKView): 10773 (QGraphicsWKView::showContextMenu): 10774 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate): 10775 * UIProcess/API/qt/qgraphicswkview.h: 10776 * UIProcess/API/qt/qwkpage.cpp: 10777 (QWKPagePrivate::createContextMenuProxy): 10778 * UIProcess/API/qt/qwkpage.h: 10779 * UIProcess/qt/WebContextMenuProxyQt.cpp: 10780 (WebKit::webActionForContextMenuAction): 10781 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 10782 (WebKit::WebContextMenuProxyQt::create): 10783 (WebKit::WebContextMenuProxyQt::showContextMenu): 10784 (WebKit::WebContextMenuProxyQt::hideContextMenu): 10785 (WebKit::WebContextMenuProxyQt::createContextMenu): 10786 * UIProcess/qt/WebContextMenuProxyQt.h: 10787 10788 2011-01-03 Yi Shen <yi.4.shen (a] nokia.com> 10789 10790 Reviewed by Adam Barth. 10791 10792 [Qt] Add SelectAll option to the context menu for the editor 10793 https://bugs.webkit.org/show_bug.cgi?id=50049 10794 10795 Add WebPlatformStrategies::contextMenuItemTagSelectAll for Qt. 10796 10797 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10798 (WebKit::WebPlatformStrategies::contextMenuItemTagSelectAll): 10799 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 10800 10801 2011-01-03 Sam Weinig <sam (a] webkit.org> 10802 10803 Reviewed by Anders Carlsson. 10804 10805 Ensure that the correct initial focusable area is focused when tabbing 10806 and shift-tabbing into the WKView. 10807 10808 * UIProcess/API/mac/WKView.mm: 10809 (-[WKView becomeFirstResponder]): Use the keyViewSelectionDirection to set 10810 the initial focus. 10811 10812 2011-01-02 Dan Bernstein <mitz (a] apple.com> 10813 10814 Rubber-stamped by Simon Fraser. 10815 10816 <rdar://problem/8812159> Update copyright strings 10817 10818 * Info.plist: 10819 * WebProcess/Info.plist: 10820 10821 2011-01-02 Benjamin Poulain <benjamin.poulain (a] nokia.com> 10822 10823 Reviewed by Csaba Osztrogonc. 10824 10825 WebKit 2 does not build on 64bits with a recent GCC 10826 https://bugs.webkit.org/show_bug.cgi?id=51754 10827 10828 Change the argument coding for DatabaseDetails to use explicitly the 64 bits type. 10829 10830 * Shared/OriginAndDatabases.h: 10831 * Shared/WebCoreArgumentCoders.h: 10832 10833 2011-01-02 Csaba Osztrogonc <ossy (a] webkit.org> 10834 10835 Reviewed by Adam Barth. 10836 10837 Move JavaScriptCore to Source 10838 https://bugs.webkit.org/show_bug.cgi?id=51604 10839 10840 Workaround until moving all sources to Source directory is finished. 10841 10842 * Scripts/generate-forwarding-headers.pl: Add Sources to searching path for JavaScriptCore. 10843 10844 2011-01-01 Adam Barth <abarth (a] webkit.org> 10845 10846 Speculative build fix for Qt. Add some more include paths. 10847 10848 * WebKit2.pro: 10849 10850 2011-01-01 Adam Barth <abarth (a] webkit.org> 10851 10852 Reviewed by Eric Seidel. 10853 10854 Move JavaScriptCore to Source 10855 https://bugs.webkit.org/show_bug.cgi?id=51604 10856 10857 * WebKit2.pro: 10858 - Point to JavaScriptCore in its new location. 10859 10860 2010-12-15 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 10861 10862 Reviewed by Martin Robinson. 10863 10864 [GTK] Enable building whatever already exists of WebKit2 10865 https://bugs.webkit.org/show_bug.cgi?id=37369 10866 10867 * GNUmakefile.am: Added. 10868 * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header 10869 file for WebKit2 sources files. 10870 * gtk: Added. 10871 * gtk/webkit2.pc.in: Added. 10872 10873 2010-12-29 Juha Savolainen <juha.savolainen (a] weego.fi> 10874 10875 Reviewed by Kenneth Rohde Christiansen. 10876 10877 [Qt] [WK2] Added more webattributes to the qwkpreferences 10878 https://bugs.webkit.org/show_bug.cgi?id=51697 10879 10880 Added PrivateBrowsingEnabled, DeveloperExtrasEnabled, DnsPrefetchEnabled attributes 10881 10882 * UIProcess/API/qt/qwkpreferences.cpp: 10883 (QWKPreferences::testAttribute): 10884 (QWKPreferences::setAttribute): 10885 * UIProcess/API/qt/qwkpreferences.h: 10886 10887 2010-12-27 Sam Weinig <sam (a] webkit.org> 10888 10889 Reviewed by Anders Carlsson. 10890 10891 WebKit2 snapshots should contain accelerated content 10892 <rdar://problem/8807393> 10893 https://bugs.webkit.org/show_bug.cgi?id=51660 10894 10895 When creating a snapshot, flatten the layer tree for painting so that 10896 accelerated content is included in the snapshot. 10897 10898 * WebProcess/WebPage/WebPage.cpp: 10899 (WebKit::WebPage::snapshotInViewCoordinates): 10900 (WebKit::WebPage::snapshotInDocumentCoordinates): 10901 10902 2010-12-27 Daniel Bates <dbates (a] rim.com> 10903 10904 Attempt to fix the WebKit2 Windows build after changeset 74698 10905 <http://trac.webkit.org/changeset/74698> (bug #51656). 10906 10907 Add "..\Shared\API\c\WKImage.h" to WebKit2Generated.make. 10908 10909 * win/WebKit2Generated.make: 10910 10911 2010-12-27 Sam Weinig <sam (a] webkit.org> 10912 10913 Reviewed by Anders Carlsson. 10914 10915 WebKit2: Add API for getting snapshots 10916 https://bugs.webkit.org/show_bug.cgi?id=51656 10917 10918 * Shared/API/c/WKBase.h: 10919 * Shared/API/c/WKImage.cpp: Added. 10920 (WKImageGetTypeID): 10921 (WKImageCreate): 10922 (WKImageGetSize): 10923 * Shared/API/c/WKImage.h: Added. 10924 * Shared/WebImage.cpp: Added. 10925 (WebKit::WebImage::create): 10926 (WebKit::WebImage::size): 10927 * Shared/WebImage.h: Added. 10928 (WebKit::WebImage::backingStore): 10929 (WebKit::WebImage::WebImage): 10930 (WebKit::WebImage::type): 10931 Add a general purpose API image class. 10932 10933 * Shared/API/c/cg: Added. 10934 * Shared/API/c/cg/WKImageCG.cpp: Added. 10935 (WKImageCreateCGImage): 10936 * Shared/API/c/cg/WKImageCG.h: Added. 10937 Add function to convert a WKImageRef to a CGImageRef for platforms that use CG. 10938 10939 * Shared/API/c/WKSharedAPICast.h: 10940 (WebKit::toFloatRect): 10941 (WebKit::toIntSize): 10942 (WebKit::toIntPoint): 10943 (WebKit::toIntRect): 10944 (WebKit::toImageOptions): 10945 Make conversion functions that are ambiguous more explicit. 10946 10947 * Shared/APIObject.h: 10948 * Shared/BackingStore.h: 10949 (WebKit::BackingStore::isBackedBySharedMemory): 10950 * Shared/ImageOptions.h: Added. 10951 * Shared/UserMessageCoders.h: 10952 (WebKit::UserMessageEncoder::baseEncode): 10953 (WebKit::UserMessageDecoder::baseDecode): 10954 Allow a WKImageRef to be passed in user messages. Right now, it only 10955 works if the image is sharable. 10956 10957 * UIProcess/API/C/WKPage.cpp: 10958 (WKPageScaleWebView): 10959 * UIProcess/WebUIClient.cpp: 10960 (WebKit::WebUIClient::windowFrame): 10961 Use the more explicit conversion function name. 10962 10963 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 10964 (WKBundlePageCreateSnapshotInViewCoordinates): 10965 (WKBundlePageCreateSnapshotInDocumentCoordinates): 10966 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 10967 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 10968 (WKBundlePageOverlaySetNeedsDisplay): 10969 * WebProcess/WebPage/WebPage.cpp: 10970 (WebKit::WebPage::snapshotInViewCoordinates): 10971 (WebKit::WebPage::snapshotInDocumentCoordinates): 10972 Add function to take the snapshot. 10973 10974 * WebProcess/WebPage/WebPage.h: 10975 * WebKit2.pro: 10976 * WebKit2.xcodeproj/project.pbxproj: 10977 * win/WebKit2.vcproj: 10978 Add new files. 10979 10980 2010-12-27 Sam Weinig <sam (a] webkit.org> 10981 10982 Reviewed by Anders Carlsson. 10983 10984 WebKit2: Add additional API for managing databases 10985 https://bugs.webkit.org/show_bug.cgi?id=51629 10986 10987 - Adds client for the database manager to get notifications 10988 of changes to databases. 10989 10990 * UIProcess/API/C/WKDatabaseManager.cpp: 10991 (WKDatabaseManagerSetClient): 10992 * UIProcess/API/C/WKDatabaseManager.h: 10993 * UIProcess/WebDatabaseManagerProxy.cpp: 10994 (WebKit::WebDatabaseManagerProxy::initializeClient): 10995 (WebKit::WebDatabaseManagerProxy::didModifyOrigin): 10996 (WebKit::WebDatabaseManagerProxy::didModifyDatabase): 10997 * UIProcess/WebDatabaseManagerProxy.h: 10998 * UIProcess/WebDatabaseManagerProxy.messages.in: 10999 * UIProcess/WebDatabaseManagerProxyClient.cpp: Added. 11000 (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): 11001 (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): 11002 * UIProcess/WebDatabaseManagerProxyClient.h: Added. 11003 * WebKit2.pro: 11004 * WebKit2.xcodeproj/project.pbxproj: 11005 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 11006 (WebKit::WebDatabaseManager::WebDatabaseManager): 11007 (WebKit::WebDatabaseManager::~WebDatabaseManager): 11008 (WebKit::WebDatabaseManager::dispatchDidModifyOrigin): 11009 (WebKit::WebDatabaseManager::dispatchDidModifyDatabase): 11010 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 11011 * win/WebKit2.vcproj: 11012 11013 2010-12-27 Sam Weinig <sam (a] webkit.org> 11014 11015 Reviewed by Anders Carlsson. 11016 11017 WebKit2: Add additional API for managing databases 11018 https://bugs.webkit.org/show_bug.cgi?id=51629 11019 11020 - Adds WKDatabaseManagerGetDatabasesByOrigin, which asynchronously returns 11021 an array of dictionaries containing details about each origin using 11022 databases and details about each database. Keys were added for accessing 11023 the data in the dictionaries. 11024 - Adds WKDatabaseManagerDeleteDatabasesWithNameForOrigin to delete a database 11025 with a specific identifier. 11026 - Adds WKDatabaseManagerSetQuotaForOrigin to set the quota for an origin. 11027 11028 * Shared/OriginAndDatabases.cpp: Added. 11029 (WebKit::OriginAndDatabases::encode): 11030 (WebKit::OriginAndDatabases::decode): 11031 * Shared/OriginAndDatabases.h: Added. 11032 * Shared/WebCoreArgumentCoders.h: 11033 * UIProcess/API/C/WKDatabaseManager.cpp: 11034 (WKDatabaseManagerGetOriginKey): 11035 (WKDatabaseManagerGetOriginQuotaKey): 11036 (WKDatabaseManagerGetOriginUsageKey): 11037 (WKDatabaseManagerGetDatabaseDetailsKey): 11038 (WKDatabaseManagerGetDatabaseDetailsNameKey): 11039 (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey): 11040 (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey): 11041 (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey): 11042 (WKDatabaseManagerGetDatabasesByOrigin): 11043 (callGetDatabasesByOriginBlockAndDispose): 11044 (WKDatabaseManagerGetDatabasesByOrigin_b): 11045 (WKDatabaseManagerGetDatabaseOrigins): 11046 (callGetDatabaseOriginsBlockBlockAndDispose): 11047 (WKDatabaseManagerGetDatabaseOrigins_b): 11048 (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): 11049 (WKDatabaseManagerDeleteDatabasesForOrigin): 11050 (WKDatabaseManagerDeleteAllDatabases): 11051 (WKDatabaseManagerSetQuotaForOrigin): 11052 * UIProcess/API/C/WKDatabaseManager.h: 11053 * UIProcess/WebDatabaseManagerProxy.cpp: 11054 (WebKit::WebDatabaseManagerProxy::originKey): 11055 (WebKit::WebDatabaseManagerProxy::originQuotaKey): 11056 (WebKit::WebDatabaseManagerProxy::originUsageKey): 11057 (WebKit::WebDatabaseManagerProxy::databaseDetailsKey): 11058 (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): 11059 (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): 11060 (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): 11061 (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): 11062 (WebKit::WebDatabaseManagerProxy::invalidate): 11063 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 11064 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 11065 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 11066 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 11067 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 11068 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 11069 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 11070 * UIProcess/WebDatabaseManagerProxy.h: 11071 * UIProcess/WebDatabaseManagerProxy.messages.in: 11072 * WebKit2.pro: 11073 * WebKit2.xcodeproj/project.pbxproj: 11074 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 11075 (WebKit::WebDatabaseManager::getDatabasesByOrigin): 11076 (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin): 11077 (WebKit::WebDatabaseManager::setQuotaForOrigin): 11078 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 11079 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: 11080 * win/WebKit2.vcproj: 11081 11082 2010-12-26 Anders Carlsson <andersca (a] apple.com> 11083 11084 Reviewed by Dan Bernstein. 11085 11086 Rename DrawingAreaMessage and DrawingAreaLegacyMessage and 11087 DrawingAreaProxyMessage to DrawingAreaProxyLegacyMessage. 11088 11089 * Platform/CoreIPC/MessageID.h: 11090 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 11091 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 11092 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 11093 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 11094 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 11095 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 11096 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize): 11097 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage): 11098 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 11099 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange): 11100 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible): 11101 (WebKit::LayerBackedDrawingAreaProxy::update): 11102 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage): 11103 (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage): 11104 * UIProcess/TiledDrawingAreaProxy.cpp: 11105 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 11106 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 11107 (WebKit::TiledDrawingAreaProxy::didReceiveMessage): 11108 (WebKit::TiledDrawingAreaProxy::requestTileUpdate): 11109 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete): 11110 (WebKit::TiledDrawingAreaProxy::takeSnapshot): 11111 (WebKit::TiledDrawingAreaProxy::removeTile): 11112 * UIProcess/WebPageProxy.cpp: 11113 (WebKit::WebPageProxy::didReceiveMessage): 11114 (WebKit::WebPageProxy::didReceiveSyncMessage): 11115 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 11116 (WebKit::ChunkedUpdateDrawingArea::display): 11117 (WebKit::ChunkedUpdateDrawingArea::setSize): 11118 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 11119 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 11120 (WebKit::LayerBackedDrawingArea::setSize): 11121 (WebKit::LayerBackedDrawingArea::didReceiveMessage): 11122 * WebProcess/WebPage/TiledDrawingArea.cpp: 11123 (WebKit::TiledDrawingArea::display): 11124 (WebKit::TiledDrawingArea::setSize): 11125 (WebKit::TiledDrawingArea::updateTile): 11126 (WebKit::TiledDrawingArea::tileUpdateTimerFired): 11127 (WebKit::TiledDrawingArea::didReceiveMessage): 11128 * WebProcess/WebPage/WebPage.cpp: 11129 (WebKit::WebPage::didReceiveMessage): 11130 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 11131 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 11132 11133 2010-12-26 Anders Carlsson <andersca (a] apple.com> 11134 11135 Reviewed by Sam Weinig. 11136 11137 Drawing area cleanup. Remove a bunch of redundant functions that just ended 11138 up calling setNeedsDisplay. 11139 11140 * UIProcess/DrawingAreaProxy.h: 11141 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11142 (WebKit::WebChromeClient::invalidateWindow): 11143 (WebKit::WebChromeClient::invalidateContentsAndWindow): 11144 (WebKit::WebChromeClient::invalidateContentsForSlowScroll): 11145 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 11146 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 11147 * WebProcess/WebPage/DrawingArea.h: 11148 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 11149 * WebProcess/WebPage/LayerBackedDrawingArea.h: 11150 * WebProcess/WebPage/TiledDrawingArea.cpp: 11151 * WebProcess/WebPage/TiledDrawingArea.h: 11152 11153 2010-12-25 Sam Weinig <sam (a] webkit.org> 11154 11155 Reviewed by Dan Bernstein. 11156 11157 Fill in some more preferences for WebKit2 11158 https://bugs.webkit.org/show_bug.cgi?id=51610 11159 11160 * Shared/WebPreferencesStore.h: 11161 * UIProcess/API/C/WKPreferences.cpp: 11162 (WKPreferencesSetAuthorAndUserStylesEnabled): 11163 (WKPreferencesGetAuthorAndUserStylesEnabled): 11164 (WKPreferencesSetWebArchiveDebugModeEnabled): 11165 (WKPreferencesGetWebArchiveDebugModeEnabled): 11166 (WKPreferencesSetLocalFileContentSniffingEnabled): 11167 (WKPreferencesGetLocalFileContentSniffingEnabled): 11168 (WKPreferencesSetPageCacheEnabled): 11169 (WKPreferencesGetPageCacheEnabled): 11170 (WKPreferencesSetPaginateDuringLayoutEnabled): 11171 (WKPreferencesGetPaginateDuringLayoutEnabled): 11172 (WKPreferencesSetDOMPasteAllowedEnabled): 11173 (WKPreferencesGetDOMPasteAllowedEnabled): 11174 * UIProcess/API/C/WKPreferences.h: 11175 * UIProcess/API/C/WKPreferencesPrivate.h: 11176 * WebProcess/WebPage/WebPage.cpp: 11177 (WebKit::WebPage::updatePreferences): 11178 Pipe through some more preferences. 11179 11180 2010-12-24 Dan Bernstein <mitz (a] apple.com> 11181 11182 Reviewed by Alexey Proskuryakov. 11183 11184 REGRESSION (r74648): XHR layout test failures 11185 https://bugs.webkit.org/show_bug.cgi?id=51603 11186 11187 Reverted r74648. 11188 11189 * UIProcess/WebPageProxy.cpp: 11190 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): 11191 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11192 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): 11193 * WebProcess/mac/WebProcessMainMac.mm: 11194 (WebKit::WebProcessMain): 11195 11196 2010-12-24 Simon Fraser <simon.fraser (a] apple.com> 11197 11198 Fix the Qt build after r74650. 11199 11200 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 11201 11202 2010-12-24 Benjamin Poulain <ikipou (a] gmail.com> 11203 11204 Reviewed by Darin Adler. 11205 11206 [Qt] [WK2] WebKit 2 does not build on mac, missing reference to RetainPtr 11207 https://bugs.webkit.org/show_bug.cgi?id=51598 11208 11209 Fix the build, add the missing header. 11210 11211 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 11212 11213 2010-12-24 Dan Bernstein <mitz (a] apple.com> 11214 11215 Reviewed by Anders Carlsson. 11216 11217 <rdar://problem/8758386> The web process uses its own credential storage 11218 https://bugs.webkit.org/show_bug.cgi?id=51599 11219 11220 * UIProcess/WebPageProxy.cpp: 11221 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using 11222 the UI processs credential storage first. 11223 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11224 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using 11225 its own credential storage. 11226 * WebProcess/mac/WebProcessMainMac.mm: 11227 (WebKit::WebProcessMain): Ditto. 11228 11229 2010-12-23 Dan Bernstein <mitz (a] apple.com> 11230 11231 Reviewed by Sam Weinig. 11232 11233 Make dragging work again after r74591. 11234 11235 * UIProcess/WebPageProxy.cpp: 11236 (WebKit::WebPageProxy::didReceiveEvent): Fixed a typo. 11237 11238 2010-12-23 Jessie Berlin <jberlin (a] apple.com> 11239 11240 Reviewed by Sam Weinig. 11241 11242 Need WebKit2 API to create a SecurityOrigin from protocol, host, and port 11243 https://bugs.webkit.org/show_bug.cgi?id=51563 11244 11245 Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port). 11246 11247 * Shared/API/c/WKSecurityOrigin.cpp: 11248 (WKSecurityOriginCreateFromIdentifier): 11249 Renamed so as not to clash with the new WKSecurityOriginCreate. 11250 (WKSecurityOriginCreate): 11251 * Shared/API/c/WKSecurityOrigin.h: 11252 * Shared/WebSecurityOrigin.h: 11253 (WebKit::WebSecurityOrigin::create): 11254 11255 2010-12-23 Anders Carlsson <andersca (a] apple.com> 11256 11257 Reviewed by Simon Fraser. 11258 11259 Ensure that we are not getting too many mouse move events 11260 https://bugs.webkit.org/show_bug.cgi?id=51568 11261 <rdar://problem/7881470> 11262 <rdar://problem/8735512> 11263 11264 Implement throttling of mouse move events. 11265 11266 * UIProcess/WebPageProxy.cpp: 11267 (WebKit::WebPageProxy::WebPageProxy): 11268 Initialize m_processingMouseMoveEvent to false. 11269 11270 (WebKit::WebPageProxy::handleMouseEvent): 11271 If we're already processing a mouse move events, just update 11272 m_nextMouseMoveEvent and return. 11273 11274 (WebKit::WebPageProxy::didReceiveEvent): 11275 If we received a mouse move event, send the next mouse move event if there is one. 11276 11277 2010-12-23 Brian Weinstein <bweinstein (a] apple.com> 11278 11279 Reviewed by Anders Carlsson. 11280 11281 Assertion when loading www.yahoo.com in WebKit2 under decodeResourceRequest 11282 https://bugs.webkit.org/show_bug.cgi?id=51562 11283 11284 Don't assert that our data reference isn't empty when we try to get the data from it. 11285 If it is empty, just return 0. 11286 11287 All callers are safe with this function returning 0. 11288 11289 * Platform/CoreIPC/DataReference.h: 11290 (CoreIPC::DataReference::data): Change the assert to an early return. 11291 * Shared/cf/ArgumentCodersCF.cpp: 11292 (CoreIPC::decode): Add an assert, and remove a ternarny operator because the function now does 11293 this for us (if the data is empty, return 0). 11294 11295 2010-12-23 Sam Weinig <sam (a] webkit.org> 11296 11297 Fix incorrect assertion causing all pages with subframes to crash. 11298 11299 * UIProcess/WebFrameProxy.cpp: 11300 (WebKit::WebFrameProxy::appendChild): 11301 11302 2010-12-23 Anders Carlsson <andersca (a] apple.com> 11303 11304 Reviewed by Darin Adler. 11305 11306 Clean up the selection handling code 11307 https://bugs.webkit.org/show_bug.cgi?id=51550 11308 11309 * Shared/SelectionState.h: Added. 11310 Add SelectionState class which hold information about the current selection. 11311 11312 * UIProcess/API/mac/PageClientImpl.h: 11313 * UIProcess/API/mac/PageClientImpl.mm: 11314 Remove selectionChanged function. 11315 11316 * UIProcess/API/mac/WKView.mm: 11317 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 11318 Remove all the selection related state; it lives in the WebPageProxy object now. 11319 11320 (-[WKView insertText:]): 11321 (-[WKView selectedRange]): 11322 (-[WKView hasMarkedText]): 11323 Get the selection information from the WebPageProxy. 11324 11325 * UIProcess/API/mac/WKViewInternal.h: 11326 Remove _selectionChanged declaration. 11327 11328 * UIProcess/PageClient.h: 11329 Remove selectionChanged functions. 11330 11331 * UIProcess/WebPageProxy.cpp: 11332 (WebKit::WebPageProxy::selectionStateChanged): 11333 Update the selection state. 11334 11335 * UIProcess/WebPageProxy.h: 11336 (WebKit::WebPageProxy::selectionState): 11337 Return the selection state. 11338 11339 * UIProcess/WebPageProxy.messages.in: 11340 Add SelectionStateChanged message. 11341 11342 * UIProcess/win/WebView.cpp: 11343 (WebKit::WebView::WebView): 11344 Remove all the selection related state; it lives in the WebPageProxy object now. 11345 11346 (WebKit::WebView::compositionSelectionChanged): 11347 (WebKit::WebView::onIMEComposition): 11348 (WebKit::WebView::onIMEEndComposition): 11349 (WebKit::WebView::onIMERequestCharPosition): 11350 (WebKit::WebView::onIMERequest): 11351 Get the selection information from the WebPageProxy. 11352 11353 * WebKit2.xcodeproj/project.pbxproj: 11354 Add SelectionState.h 11355 11356 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 11357 (WebKit::WebEditorClient::respondToChangedSelection): 11358 Send a SelectionStateChanged message with the updated state. 11359 11360 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 11361 Remove mac specific code. 11362 11363 * WebProcess/WebPage/WebPage.cpp: 11364 (WebKit::WebPage::getLocationAndLengthFromRange): 11365 Rename this function from convertRangeToPlatformRange and move it out of WebPageMac.mm 11366 11367 * WebProcess/WebPage/mac/WebPageMac.mm: 11368 (WebKit::WebPage::getMarkedRange): 11369 (WebKit::WebPage::characterIndexForPoint): 11370 Call getLocationAndLengthFromRange. 11371 11372 * win/WebKit2.vcproj: 11373 Add SelectionState.h 11374 11375 2010-12-23 Darin Adler <darin (a] apple.com> 11376 11377 Reviewed by Sam Weinig. 11378 11379 WKView should not try to do asynchronous validation for selectors that are not editor commands 11380 https://bugs.webkit.org/show_bug.cgi?id=51555 11381 11382 * UIProcess/API/mac/WKView.mm: 11383 (-[WKView validateUserInterfaceItem:]): Removed the special case for startSpeaking. 11384 Added call to commandIsSupportedFromMenuOrKeyBinding so we only try to do validation 11385 for commands that are supported. Tweaked comments and added some bug numbers. 11386 (-[WKView _setUserInterfaceItemState:enabled:state:]): Tweaked comment and added 11387 bug number. 11388 11389 2010-12-23 Sam Weinig <sam (a] webkit.org> 11390 11391 Reviewed by Anders Carlsson. 11392 11393 <rdar://problem/8799032> 11394 REGRESSION(r74436) Crash opening many pages with WebKit2 11395 11396 * Shared/cf/ArgumentCodersCF.cpp: 11397 (CoreIPC::decode): 11398 Fix paste-o. Decode into a CFDataRef not a CFDictionaryRef 11399 when decoding CFDataRefs. 11400 11401 2010-12-22 Sam Weinig <sam (a] webkit.org> 11402 11403 Reviewed by Darin Adler. 11404 11405 WebKit2 needs to mirror the frame tree in the UIProcess 11406 https://bugs.webkit.org/show_bug.cgi?id=51546 11407 11408 * UIProcess/API/C/WKFrame.cpp: 11409 (WKFrameCopyChildFrames): 11410 * UIProcess/API/C/WKFrame.h: 11411 Add API to get the child frames of a frame. 11412 11413 * UIProcess/WebFrameProxy.cpp: 11414 (WebKit::WebFrameProxy::WebFrameProxy): 11415 (WebKit::WebFrameProxy::disconnect): 11416 (WebKit::WebFrameProxy::appendChild): 11417 (WebKit::WebFrameProxy::removeChild): 11418 (WebKit::WebFrameProxy::isDescendantOf): 11419 (WebKit::WebFrameProxy::dumpFrameTree): 11420 (WebKit::WebFrameProxy::didRemoveFromHierarchy): 11421 (WebKit::WebFrameProxy::childFrames): 11422 * UIProcess/WebFrameProxy.h: 11423 (WebKit::WebFrameProxy::parentFrame): Add getter. 11424 (WebKit::WebFrameProxy::nextSibling): Add getter. 11425 (WebKit::WebFrameProxy::previousSibling): Add getter. 11426 (WebKit::WebFrameProxy::firstChild): Add getter. 11427 (WebKit::WebFrameProxy::lastChild): Add getter. 11428 Make frames keep track of their subframes. 11429 11430 * UIProcess/WebPageProxy.cpp: 11431 (WebKit::WebPageProxy::didCreateSubframe): 11432 Use the now passed parentID to insert the frame into the hierarchy 11433 11434 (WebKit::WebPageProxy::didSaveFrameToPageCache): 11435 When a frame is added to the page cache, remove it from the hierarchy. 11436 11437 (WebKit::WebPageProxy::didRestoreFrameFromPageCache): 11438 When a frame is restored from the page cache, add it back to the hierarchy. 11439 11440 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 11441 Detached frames should also be removed from the hierarchy. 11442 11443 * UIProcess/WebPageProxy.h: 11444 Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache. 11445 11446 * UIProcess/WebPageProxy.messages.in: 11447 Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache. 11448 11449 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11450 (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): 11451 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 11452 Remove notImplemented, there is no work we need to do here. 11453 11454 (WebKit::WebFrameLoaderClient::didSaveToPageCache): 11455 (WebKit::WebFrameLoaderClient::didRestoreFromPageCache): 11456 Send message to UIProcess to indicate this happened. 11457 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11458 11459 * WebProcess/WebPage/WebFrame.cpp: 11460 (WebKit::WebFrame::createSubframe): 11461 Send parent frameID in addition to our own in the message to UIProcess. 11462 11463 2010-12-23 Anders Carlsson <andersca (a] apple.com> 11464 11465 Reviewed by Sam Weinig. 11466 11467 New popup windows open disproportionately big 11468 https://bugs.webkit.org/show_bug.cgi?id=51547 11469 <rdar://problem/8637029> 11470 11471 * UIProcess/WebPageProxy.cpp: 11472 (WebKit::WebPageProxy::createNewPage): 11473 Pass the correct size back to the UI process. 11474 11475 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11476 (WebKit::WebChromeClient::pageRect): 11477 Implement this and return the size of the page. 11478 11479 2010-12-23 Anders Carlsson <andersca (a] apple.com> 11480 11481 Reviewed by John Sullivan. 11482 11483 Nothing happens clicking "launch live player" on live.cnn.com 11484 https://bugs.webkit.org/show_bug.cgi?id=51540 11485 <rdar://problem/8791086> 11486 11487 Implement NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState. 11488 11489 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11490 (WebKit::NPN_PushPopupsEnabledState): 11491 Call NetscapePlugin::pushPopupsEnabledState. 11492 11493 (WebKit::NPN_PopPopupsEnabledState): 11494 Call NetscapePlugin::popPopupsEnabledState. 11495 11496 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 11497 (WebKit::NetscapePlugin::pushPopupsEnabledState): 11498 Append the boolean to the vector. 11499 11500 (WebKit::NetscapePlugin::popPopupsEnabledState): 11501 Remove the last boolean from the vector. 11502 11503 (WebKit::NetscapePlugin::allowPopups): 11504 Return the last boolean from the vector. 11505 11506 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 11507 * WebProcess/Plugins/PluginView.cpp: 11508 (WebKit::PluginView::performJavaScriptURLRequest): 11509 Update the "allowPopupsFromPlugin" state. 11510 11511 2010-12-22 Anders Carlsson <andersca (a] apple.com> 11512 11513 Reviewed by Sam Weinig. 11514 11515 Webkit2: WebProcess crashes when Private browsing is turned on on yahoo.com 11516 https://bugs.webkit.org/show_bug.cgi?id=51516 11517 <rdar://problem/8766995> 11518 11519 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 11520 (WebKit::NetscapePlugin::NPP_SetValue): 11521 Add a null check for NPP_SetValue. 11522 11523 2010-12-22 Anders Carlsson <andersca (a] apple.com> 11524 11525 Reviewed by Sam Weinig. 11526 11527 REGRESSION (WK2): Plugins swallow CMD-W, CMD-Q, and probably other shortcuts 11528 https://bugs.webkit.org/show_bug.cgi?id=51515 11529 <rdar://problem/8740926> 11530 11531 Always return false for keyboard events where the command key is down. 11532 11533 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 11534 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 11535 11536 2010-12-22 Sam Weinig <sam (a] webkit.org> 11537 11538 Reviewed by Darin Adler. 11539 11540 WebProcess should be terminated if invalid frameIDs are 11541 passed to the UIProcess. 11542 https://bugs.webkit.org/show_bug.cgi?id=51508 11543 11544 - Introduce a mechanism to mark a messages as invalid due to 11545 reasons other than in ability to decode the message, eg. an 11546 invalid frameID is passed in a message. 11547 11548 * Platform/CoreIPC/Connection.cpp: 11549 (CoreIPC::Connection::Connection): 11550 (CoreIPC::Connection::markCurrentlyDispatchedMessageAsInvalid): Sets 11551 the m_didReceiveInvalidMessage bit so that it can be picked up in 11552 (CoreIPC::Connection::dispatchMessages): Check for m_didReceiveInvalidMessage in 11553 addition to tainted arguments. 11554 * Platform/CoreIPC/Connection.h: 11555 Add base macro for others to extend, that calls markCurrentlyDispatchedMessageAsInvalid() 11556 ASSERTs, and returns. 11557 11558 * UIProcess/WebPageProxy.cpp: 11559 Add Message checks for all WebFrameProxy's gotten from frameIDs passed 11560 over the wire. 11561 * UIProcess/WebProcessProxy.cpp: 11562 (WebKit::isGoodMapKey): 11563 Checks that the key can be inserted safely into a map (eg. not the empty or deleted value). 11564 11565 (WebKit::WebProcessProxy::webFrame): 11566 Return null for bad keys (eg. 0 or -1). 11567 11568 (WebKit::WebProcessProxy::canCreateFrame): 11569 Added. Checks that the ID is good and not in the map yet. Used 11570 as a consistency check before creating frames. 11571 11572 (WebKit::WebProcessProxy::frameCreated): 11573 ASSERT that the key is good, in addition to not in the map yet. 11574 11575 (WebKit::WebProcessProxy::didDestroyFrame): 11576 ASSERT that the key is good. 11577 11578 * UIProcess/WebProcessProxy.h: 11579 Move WebFrameProxy HashMap type into a typedef. 11580 11581 2010-12-22 Darin Adler <darin (a] apple.com> 11582 11583 Reviewed by Anders Carlsson. 11584 11585 WebKit2 needs a way to return the main resource data 11586 https://bugs.webkit.org/show_bug.cgi?id=51510 11587 11588 * UIProcess/API/C/WKFrame.cpp: 11589 (WKFrameGetMainResourceData): Added. 11590 (callGetMainResourceDataBlockAndDispose): Added. 11591 (WKFrameGetMainResourceData_b): Added. 11592 * UIProcess/API/C/WKFrame.h: Added WKFrameGetMainResourceData. 11593 11594 * UIProcess/WebFrameProxy.cpp: 11595 (WebKit::WebFrameProxy::getMainResourceData): Added. 11596 * UIProcess/WebFrameProxy.h: Ditto. 11597 11598 * UIProcess/WebPageProxy.cpp: 11599 (WebKit::WebPageProxy::getMainResourceDataOfFrame): Added. 11600 (WebKit::WebPageProxy::dataCallback): Replaced the individual callbacks 11601 with just these two. 11602 (WebKit::WebPageProxy::stringCallback): Ditto. 11603 * UIProcess/WebPageProxy.h: Ditto. 11604 * UIProcess/WebPageProxy.messages.in: Ditto. 11605 11606 * WebProcess/WebPage/WebPage.cpp: 11607 (WebKit::WebPage::runJavaScriptInMainFrame): Send the string callback 11608 message instead of a specific one. 11609 (WebKit::WebPage::getContentsAsString): Ditto. 11610 (WebKit::WebPage::getRenderTreeExternalRepresentation): Ditto. 11611 (WebKit::WebPage::getSelectionOrContentsAsString): Ditto. 11612 (WebKit::WebPage::getSourceForFrame): Ditto. 11613 (WebKit::WebPage::getMainResourceDataOfFrame): Added. 11614 (WebKit::WebPage::getWebArchiveOfFrame): Send the data callback message 11615 instead of a specific one. 11616 * WebProcess/WebPage/WebPage.h: Added getMainResourceDataOfFrame. 11617 * WebProcess/WebPage/WebPage.messages.in: Ditto. 11618 11619 2010-12-22 Darin Adler <darin (a] apple.com> 11620 11621 * WebProcess/WebPage/WebPage.cpp: Add #if to try to fix non-Mac builds. 11622 11623 2010-12-22 Darin Adler <darin (a] apple.com> 11624 11625 Reviewed by Anders Carlsson. 11626 11627 Make Speech menu items work in WebKit2 11628 https://bugs.webkit.org/show_bug.cgi?id=51504 11629 11630 * UIProcess/API/C/WKFrame.cpp: 11631 (WKFrameGetWebArchive): Updated to use new-named typedef. 11632 * UIProcess/API/C/WKPage.cpp: 11633 (WKPageRunJavaScriptInMainFrame): Ditto. 11634 (WKPageRenderTreeExternalRepresentation): Ditto. 11635 (WKPageGetSourceForFrame): Ditto. 11636 (WKPageGetContentsAsString): Ditto. 11637 11638 * UIProcess/API/mac/WKView.mm: 11639 (menuItem): Added. Helper function to make it easy to call menu item 11640 functions on arbitrary user interface items. 11641 (toolbarItem): Ditto. 11642 (-[WKView validateUserInterfaceItem:]): Added validation for startSpeaking 11643 and stopSpeaking commands. Reworked the code to fix a bug where 11644 toggleContinuousSpellChecking would always be enabled even when it should 11645 be disabled. Reworked the asynchronous validation code so it works for 11646 items other than menu items and can also handle more than one item for the 11647 same command. Added some comments. 11648 (speakString): Added. Helper function to be used as a callback when we 11649 get the selection or contents to speak. 11650 (-[WKView startSpeaking:]): Added. Uses getSelectionOrContentsAsString. 11651 (-[WKView stopSpeaking:]): Added. 11652 (-[WKView _setUserInterfaceItemState:enabled:state:]): Reworked to work 11653 with the changes to validateUserInterfaceItem above. 11654 11655 * UIProcess/WebFrameProxy.cpp: 11656 (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Added a FIXME about 11657 a problem I noticed. 11658 (WebKit::WebFrameProxy::didCommitLoad): Tweaked argument name. 11659 (WebKit::WebFrameProxy::getWebArchive): Changed to use new-named typedef. 11660 * UIProcess/WebFrameProxy.h: Changed WebArchiveCallback to DataCallaback. 11661 11662 * UIProcess/WebPageProxy.cpp: 11663 (WebKit::WebPageProxy::close): Invalidate the two callback maps since 11664 we only have two now. 11665 (WebKit::WebPageProxy::runJavaScriptInMainFrame): Changed to use merged 11666 maps and typedefs so we don't need a separate callback map for each function. 11667 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto. 11668 (WebKit::WebPageProxy::getSourceForFrame): Ditto. 11669 (WebKit::WebPageProxy::getContentsAsString): Ditto. 11670 (WebKit::WebPageProxy::getSelectionOrContentsAsString): Added. 11671 (WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto. 11672 (WebKit::WebPageProxy::didGetContentsAsString): Ditto. 11673 (WebKit::WebPageProxy::didGetSelectionOrContentsAsString): Ditto. 11674 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): Ditto. 11675 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): Ditto. 11676 (WebKit::WebPageProxy::didGetSourceForFrame): Ditto. 11677 (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Ditto. 11678 (WebKit::WebPageProxy::processDidCrash): Ditto. 11679 11680 * UIProcess/WebPageProxy.h: Updated for changes above. 11681 11682 * UIProcess/WebPageProxy.messages.in: Added DidGetSelectionOrContentsAsString, 11683 GetIsSpeaking, Speak, and StopSpeaking. 11684 11685 * UIProcess/mac/WebPageProxyMac.mm: 11686 (WebKit::WebPageProxy::getIsSpeaking): Added. 11687 (WebKit::WebPageProxy::speak): Added. 11688 (WebKit::WebPageProxy::stopSpeaking): Added. 11689 11690 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 11691 (WebKit::WebContextMenuClient::isSpeaking): Call WebPage instead of doing 11692 the work directly, so it can run in the UI process. 11693 (WebKit::WebContextMenuClient::speak): Ditto. 11694 (WebKit::WebContextMenuClient::stopSpeaking): Ditto. 11695 (WebKit::WebContextMenuClient::searchWithSpotlight): Added FIXME comment and 11696 changed code to avoid a C-style cast. 11697 11698 * WebProcess/WebPage/WebFrame.cpp: 11699 (WebKit::WebFrame::selectionAsString): Added. 11700 * WebProcess/WebPage/WebFrame.h: Ditto. 11701 11702 * WebProcess/WebPage/WebPage.cpp: 11703 (WebKit::WebPage::changeAcceleratedCompositingMode): Use sendSync in the 11704 modern way instead of explicitly calling WebProcess. 11705 (WebKit::WebPage::getSelectionOrContentsAsString): Added. 11706 (WebKit::WebPage::isSpeaking): Added. 11707 (WebKit::WebPage::speak): Added. 11708 (WebKit::WebPage::stopSpeaking): Added. 11709 * WebProcess/WebPage/WebPage.h: Added functions. 11710 11711 * WebProcess/WebPage/WebPage.messages.in: Added GetSelectionOrContentsAsString. 11712 11713 2010-12-22 Anders Carlsson <andersca (a] apple.com> 11714 11715 Fix build. 11716 11717 * Platform/mac/MachUtilities.cpp: 11718 11719 2010-12-22 Anders Carlsson <andersca (a] apple.com> 11720 11721 Reviewed by Darin Adler. 11722 11723 Detect WebProcess crashes sooner, without waiting for ReportCrash to finish 11724 https://bugs.webkit.org/show_bug.cgi?id=51505 11725 11726 * Platform/CoreIPC/CoreIPCMessageKinds.h: 11727 Add SetExceptionPort. 11728 11729 * Platform/CoreIPC/mac/ConnectionMac.cpp: 11730 (CoreIPC::Connection::platformInvalidate): 11731 If we have an exception port, unregister it. 11732 11733 (CoreIPC::Connection::platformInitialize): 11734 Set m_exceptionPort to null. 11735 11736 (CoreIPC::Connection::open): 11737 If we have an exception port, register an event handler for it and send it over 11738 to the other side. 11739 11740 (CoreIPC::Connection::receiveSourceEventHandler): 11741 Handle the SetExceptionPort message. 11742 11743 (CoreIPC::Connection::exceptionSourceEventHandler): 11744 Receive the message, forward it to the real exception handler and call connectionDidClose. 11745 11746 (CoreIPC::Connection::setShouldCloseConnectionOnMachExceptions): 11747 Create an exception port. 11748 11749 * Platform/mac/MachUtilities.cpp: 11750 (machExceptionPort): 11751 (setMachExceptionPort): 11752 * Platform/mac/MachUtilities.h: 11753 Add helper functions for getting and setting the mach exception port. 11754 11755 * UIProcess/WebProcessProxy.cpp: 11756 (WebKit::WebProcessProxy::didFinishLaunching): 11757 Call setShouldCloseConnectionOnMachExceptions on Mac. 11758 11759 2010-12-22 Anders Carlsson <andersca (a] apple.com> 11760 11761 Reviewed by Sam Weinig. 11762 11763 Move Mach message receiving code out into a new function 11764 https://bugs.webkit.org/show_bug.cgi?id=51502 11765 11766 * Platform/CoreIPC/mac/ConnectionMac.cpp: 11767 (CoreIPC::readFromMachPort): 11768 (CoreIPC::Connection::receiveSourceEventHandler): 11769 11770 2010-12-22 Jeff Miller <jeffm (a] apple.com> 11771 11772 Reviewed by Sam Weinig. 11773 11774 InjectedBundle methods should use the relative URL constructor for KURL instead of the ParsedURLStringTag version 11775 https://bugs.webkit.org/show_bug.cgi?id=51491 11776 11777 The url passed to various InjectedBundle methods is not from KURL::string(), i.e. it has not already been parsed by KURL, 11778 so we have to use the relative URL constructor for KURL instead of the ParsedURLStringTag version. 11779 11780 * WebProcess/InjectedBundle/InjectedBundle.cpp: 11781 (WebKit::InjectedBundle::addUserScript): 11782 (WebKit::InjectedBundle::addUserStyleSheet): 11783 (WebKit::InjectedBundle::removeUserScript): 11784 (WebKit::InjectedBundle::removeUserStyleSheet): 11785 11786 2010-12-22 Darin Adler <darin (a] apple.com> 11787 11788 Reviewed by Sam Weinig. 11789 11790 Move more of WebPageProxy::didCommitLoadForFrame into WebFrameProxy::didCommitLoad. 11791 11792 * UIProcess/WebFrameProxy.cpp: 11793 (WebKit::WebFrameProxy::didCommitLoad): Added type and certificate info arguments, 11794 and set m_MIMEType, m_isFrameSet, and m_certificateInfo. 11795 * UIProcess/WebFrameProxy.h: Removed setMIMEType and setCertificateInfo and added 11796 arguments to didCommitLoad. 11797 * UIProcess/WebPageProxy.cpp: 11798 (WebKit::WebPageProxy::didCommitLoadForFrame): Removed code that is now inside the 11799 WebFrameProxy::didCommitLoad function. 11800 11801 2010-12-21 Darin Adler <darin (a] apple.com> 11802 11803 Reviewed by Brady Eidson and Sam Weinig. 11804 11805 Add a way to get a web archive in WebKit2 11806 https://bugs.webkit.org/show_bug.cgi?id=51437 11807 11808 * UIProcess/API/C/WKFrame.cpp: 11809 (WKFrameGetWebArchive): Added. 11810 (callGetWebArchiveBlockAndDispose): Added. 11811 (WKFrameGetWebArchive_b): Added. 11812 * UIProcess/API/C/WKFrame.h: Added functions above. 11813 * UIProcess/WebPageProxy.cpp: 11814 (WebKit::WebPageProxy::close): Clear out m_webArchiveCallbacks. 11815 (WebKit::WebPageProxy::getWebArchiveOfFrame): Added. 11816 (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Added. 11817 (WebKit::WebPageProxy::processDidCrash): Clear out m_webArchiveCallbacks. 11818 * UIProcess/WebPageProxy.h: Added functions above. 11819 * UIProcess/WebPageProxy.messages.in: Added DidGetWebArchiveOfFrame. 11820 * WebProcess/WebPage/WebPage.cpp: 11821 (WebKit::WebPage::getWebArchiveOfFrame): Added. 11822 * WebProcess/WebPage/WebPage.h: Added function above. 11823 * WebProcess/WebPage/WebPage.messages.in: Added GetWebArchiveOfFrame. 11824 11825 2010-12-21 Siddharth Mathur <siddharth.mathur (a] nokia.com> 11826 11827 Reviewed by Laszlo Gombos. 11828 11829 [Qt] [WK2] Guard gcc-specific syntax 11830 11831 * WebKit2.pro: Non-gcc based compliers choke on the "-include" 11832 syntax for preinclude, make sure it has guard around it. 11833 11834 2010-12-21 Anders Carlsson <andersca (a] apple.com> 11835 11836 Reviewed by Darin Adler. 11837 11838 Can't stop QT music on santastreefarm.com 11839 https://bugs.webkit.org/show_bug.cgi?id=51438 11840 <rdar://problem/8741152> 11841 11842 Implement NPN_ConvertPoint. 11843 11844 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11845 (WebKit::NPN_ConvertPoint): 11846 Call NetscapePlugin::convertPoint. 11847 11848 (WebKit::initializeBrowserFuncs): 11849 Only initialize NPN_ConvertPoint and NPN_PopUpContextMenu on Mac. 11850 11851 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 11852 (WebKit::NetscapePlugin::convertPoint): 11853 Implement conversion routines. 11854 11855 (WebKit::NetscapePlugin::windowAndViewFramesChanged): 11856 Keep track of the window and view frames, they are needed to do coordinate conversion. 11857 11858 2010-12-21 Sam Weinig <weinig (a] apple.com> 11859 11860 Reviewed by Anders Carlsson. 11861 11862 Implement encoding/decoding of ResourceRequest and 11863 ResourceResponse for Windows/CFNetwork. 11864 11865 * Shared/win/WebCoreArgumentCodersWin.cpp: 11866 (CoreIPC::encodeResourceRequest): 11867 (CoreIPC::decodeResourceRequest): 11868 (CoreIPC::encodeResourceResponse): 11869 (CoreIPC::decodeResourceResponse): 11870 * win/WebKit2.vcproj: 11871 * win/WebKit2Common.vsprops: 11872 11873 2010-12-21 Darin Adler <darin (a] apple.com> 11874 11875 Reviewed by Sam Weinig. 11876 11877 Mac WebKit delivers an extra didCommit when loading web archives 11878 https://bugs.webkit.org/show_bug.cgi?id=51419 11879 11880 * UIProcess/WebFrameProxy.cpp: 11881 (WebKit::WebFrameProxy::didStartProvisionalLoad): Added assertions so we catch 11882 inconsistencies here instead of at the application level. Later, we will have 11883 to decide what to do in cases these assertions fail. The right policy is probably 11884 to consider it a web process failure and do whatever we do for those. 11885 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): Ditto. 11886 (WebKit::WebFrameProxy::didFailProvisionalLoad): Ditto. 11887 (WebKit::WebFrameProxy::didCommitLoad): Ditto. 11888 (WebKit::WebFrameProxy::didFinishLoad): Ditto. 11889 (WebKit::WebFrameProxy::didFailLoad): Ditto. 11890 11891 2010-12-21 Anders Carlsson <andersca (a] apple.com> 11892 11893 Fix Snow Leopard build. 11894 11895 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11896 (WebKit::NPN_GetValue): 11897 11898 2010-12-21 Anders Carlsson <andersca (a] apple.com> 11899 11900 Reviewed by Dan Bernstein. 11901 11902 Fix crash when a Carbon plug-in fails to initialize correctly 11903 https://bugs.webkit.org/show_bug.cgi?id=51415 11904 11905 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 11906 (WebKit::NPN_GetValue): 11907 Don't claim to support the QuickDraw event model. 11908 11909 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 11910 (WebKit::NetscapePlugin::platformDestroy): 11911 Only try to remove the window from the map if it's not null. 11912 11913 2010-12-21 Anders Carlsson <andersca (a] apple.com> 11914 11915 Reviewed by Darin Adler. 11916 11917 Add ArgumentCoder support for CFDataRef 11918 https://bugs.webkit.org/show_bug.cgi?id=51412 11919 11920 * Shared/cf/ArgumentCodersCF.cpp: 11921 (CoreIPC::typeFromCFTypeRef): 11922 (CoreIPC::encode): 11923 (CoreIPC::decode): 11924 * Shared/cf/ArgumentCodersCF.h: 11925 11926 2010-12-21 Anders Carlsson <andersca (a] apple.com> 11927 11928 Reviewed by John Sullivan. 11929 11930 Clicking missing plug-in text does not show a sheet 11931 https://bugs.webkit.org/show_bug.cgi?id=51403 11932 11933 * UIProcess/API/C/WKPage.h: 11934 Add missingPluginButtonClicked to WKPageUIClient. 11935 11936 * UIProcess/WebPageProxy.cpp: 11937 (WebKit::WebPageProxy::missingPluginButtonClicked): 11938 Call the WebUIClient member function. 11939 11940 * UIProcess/WebPageProxy.messages.in: 11941 Add MissingPluginButtonClicked message. 11942 11943 * UIProcess/WebUIClient.cpp: 11944 (WebKit::WebUIClient::missingPluginButtonClicked): 11945 Call the WKPageUIClient callback. 11946 11947 * UIProcess/WebUIClient.h: 11948 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11949 (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton): 11950 Always return true for now. 11951 11952 (WebKit::WebChromeClient::missingPluginButtonClicked): 11953 Send a MissingPluginButtonClicked message. 11954 11955 2010-12-21 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 11956 11957 Reviewed by Andreas Kling. 11958 11959 [Qt] Set BUILDING_QT__ consistently 11960 https://bugs.webkit.org/show_bug.cgi?id=51341 11961 11962 * WebKit2.pro: Remove the definition of BUILDING_QT__ as it 11963 is already defined in WebKit.pri. 11964 11965 2010-12-20 Sam Weinig <sam (a] webkit.org> 11966 11967 Reviewed by Anders Carlsson. 11968 11969 WebKit2: Add resource load client API 11970 https://bugs.webkit.org/show_bug.cgi?id=51370 11971 11972 This just pipes through the basic resource load client data. 11973 11974 * UIProcess/API/C/WKPage.cpp: 11975 (WKPageSetPageResourceLoadClient): 11976 * UIProcess/API/C/WKPage.h: 11977 * UIProcess/WebPageProxy.cpp: 11978 (WebKit::WebPageProxy::initializeResourceLoadClient): 11979 (WebKit::WebPageProxy::didInitiateLoadForResource): 11980 (WebKit::WebPageProxy::didSendRequestForResource): 11981 (WebKit::WebPageProxy::didReceiveResponseForResource): 11982 (WebKit::WebPageProxy::didReceiveContentLengthForResource): 11983 (WebKit::WebPageProxy::didFinishLoadForResource): 11984 (WebKit::WebPageProxy::didFailLoadForResource): 11985 * UIProcess/WebPageProxy.h: 11986 * UIProcess/WebPageProxy.messages.in: 11987 * UIProcess/WebResourceLoadClient.cpp: Added. 11988 (WebKit::WebResourceLoadClient::didInitiateLoadForResource): 11989 (WebKit::WebResourceLoadClient::didSendRequestForResource): 11990 (WebKit::WebResourceLoadClient::didReceiveResponseForResource): 11991 (WebKit::WebResourceLoadClient::didReceiveContentLengthForResource): 11992 (WebKit::WebResourceLoadClient::didFinishLoadForResource): 11993 (WebKit::WebResourceLoadClient::didFailLoadForResource): 11994 * UIProcess/WebResourceLoadClient.h: Added. 11995 * WebKit2.pro: 11996 * WebKit2.xcodeproj/project.pbxproj: 11997 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11998 (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): 11999 (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): 12000 (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse): 12001 (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength): 12002 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading): 12003 (WebKit::WebFrameLoaderClient::dispatchDidFailLoading): 12004 * win/WebKit2.vcproj: 12005 12006 2010-12-20 Anders Carlsson <andersca (a] apple.com> 12007 12008 Reviewed by Sam Weinig. 12009 12010 Add a TextChecker class, hook up spelling and grammar toggling 12011 https://bugs.webkit.org/show_bug.cgi?id=51363 12012 12013 * UIProcess/API/mac/WKView.mm: 12014 (-[WKView validateUserInterfaceItem:]): 12015 (-[WKView toggleContinuousSpellChecking:]): 12016 (-[WKView toggleGrammarChecking:]): 12017 * UIProcess/TextChecker.h: Added. 12018 * UIProcess/WebPageProxy.cpp: 12019 (WebKit::WebPageProxy::unmarkAllMisspellings): 12020 (WebKit::WebPageProxy::unmarkAllBadGrammar): 12021 * UIProcess/WebPageProxy.h: 12022 * UIProcess/mac/TextCheckerMac.mm: Added. 12023 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 12024 (WebKit::TextChecker::isContinuousSpellCheckingEnabled): 12025 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 12026 (WebKit::TextChecker::isGrammarCheckingEnabled): 12027 (WebKit::TextChecker::setGrammarCheckingEnabled): 12028 * UIProcess/qt/TextCheckerQt.cpp: Added. 12029 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 12030 (WebKit::TextChecker::isContinuousSpellCheckingEnabled): 12031 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 12032 (WebKit::TextChecker::isGrammarCheckingEnabled): 12033 (WebKit::TextChecker::setGrammarCheckingEnabled): 12034 * UIProcess/win/TextCheckerWin.cpp: Added. 12035 (WebKit::TextChecker::isContinuousSpellCheckingAllowed): 12036 (WebKit::TextChecker::isContinuousSpellCheckingEnabled): 12037 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 12038 (WebKit::TextChecker::isGrammarCheckingEnabled): 12039 (WebKit::TextChecker::setGrammarCheckingEnabled): 12040 * WebKit2.pro: 12041 * WebKit2.xcodeproj/project.pbxproj: 12042 * WebProcess/WebPage/WebPage.cpp: 12043 (WebKit::WebPage::unmarkAllMisspellings): 12044 (WebKit::WebPage::unmarkAllBadGrammar): 12045 * WebProcess/WebPage/WebPage.h: 12046 * WebProcess/WebPage/WebPage.messages.in: 12047 * win/WebKit2.vcproj: 12048 12049 2010-12-20 Anders Carlsson <andersca (a] apple.com> 12050 12051 Reviewed by Sam Weinig. 12052 12053 Flash plug-in does not work on YouTube video page when accelerated compositing is disabled 12054 https://bugs.webkit.org/show_bug.cgi?id=51348 12055 <rdar://problem/8787667> 12056 12057 * Platform/CoreIPC/HandleMessage.h: 12058 (CoreIPC::callMemberFunction): 12059 Add new overload. 12060 12061 * PluginProcess/PluginControllerProxy.cpp: 12062 (WebKit::PluginControllerProxy::create): 12063 (WebKit::PluginControllerProxy::PluginControllerProxy): 12064 These now take an additional isAcceleratedCompositingEnabled parameter. 12065 12066 (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled): 12067 Return m_isAcceleratedCompositingEnabled. 12068 12069 * PluginProcess/PluginControllerProxy.h: 12070 * PluginProcess/WebProcessConnection.cpp: 12071 (WebKit::WebProcessConnection::createPlugin): 12072 This now takes an additional isAcceleratedCompositingEnabled parameter. 12073 12074 * PluginProcess/WebProcessConnection.messages.in: 12075 Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message. 12076 12077 * WebProcess/Plugins/PluginProxy.cpp: 12078 (WebKit::PluginProxy::initialize): 12079 Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message. 12080 12081 2010-12-20 Anders Carlsson <andersca (a] apple.com> 12082 12083 Unreviewed, rolling out r74345. 12084 http://trac.webkit.org/changeset/74345 12085 https://bugs.webkit.org/show_bug.cgi?id=51115 12086 12087 Not the correct fix. 12088 12089 * Platform/CoreIPC/Connection.h: 12090 * Platform/CoreIPC/qt/ConnectionQt.cpp: 12091 (CoreIPC::Connection::open): 12092 12093 2010-12-20 Balazs Kelemen <kbalazs (a] webkit.org> 12094 12095 Reviewed by Kenneth Rohde Christiansen. 12096 12097 [Qt][WK2] Crash in web process after the connection had been closed 12098 https://bugs.webkit.org/show_bug.cgi?id=51115 12099 12100 Do not call connectionDidClose with a connection that has been explicitly 12101 invalidated on the listener thread. 12102 * Platform/CoreIPC/Connection.h: 12103 * Platform/CoreIPC/qt/ConnectionQt.cpp: 12104 (CoreIPC::Connection::disconnectHandler): Added. 12105 (CoreIPC::Connection::open): 12106 12107 2010-12-19 Dan Bernstein <mitz (a] apple.com> 12108 12109 Reviewed by Sam Weinig. 12110 12111 Improve the fix for <rdar://problem/8769525>. 12112 12113 * UIProcess/API/mac/WKView.mm: 12114 (-[WKView performKeyEquivalent:]): Do not retain the view. Doing so is necessary in 12115 -[WebHTMLView performKeyEquivalent:], which this method was based upon, but not here, because 12116 there is no way for the web process to cause the WKView to be released while it is handling 12117 the event. 12118 12119 2010-12-19 Dan Bernstein <mitz (a] apple.com> 12120 12121 Reviewed by Sam Weinig. 12122 12123 <rdar://problem/8769525> WKView leak when performing key equivalents 12124 https://bugs.webkit.org/show_bug.cgi?id=51315 12125 12126 * UIProcess/API/mac/WKView.mm: 12127 (-[WKView performKeyEquivalent:]): Use a RetainPtr to ensure that the view is released in the 12128 early return code path. 12129 12130 2010-12-19 Benjamin Poulain <benjamin.poulain (a] nokia.com> 12131 12132 Reviewed by Kenneth Rohde Christiansen. 12133 12134 [Qt] [WK2] QWKPagePrivate::paint() does not need to save the graphics context 12135 https://bugs.webkit.org/show_bug.cgi?id=51300 12136 12137 Remove the unnecessary save() and restore() on the QPainter. 12138 12139 * UIProcess/API/qt/qwkpage.cpp: 12140 (QWKPagePrivate::paint): 12141 12142 2010-12-19 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 12143 12144 Reviewed by Andreas Kling. 12145 12146 [Qt] [WK2] Client are expected to render their own background for WebPages 12147 https://bugs.webkit.org/show_bug.cgi?id=51296 12148 12149 Remove the rendering of the checkerboard from the tiled DrawingAreaProxy 12150 12151 * UIProcess/TiledDrawingAreaProxy.cpp: 12152 (WebKit::TiledDrawingAreaProxy::paint): 12153 * UIProcess/TiledDrawingAreaTile.h: 12154 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 12155 12156 2010-12-19 Benjamin Poulain <benjamin.poulain (a] nokia.com> 12157 12158 Reviewed by Kenneth Rohde Christiansen. 12159 12160 [Qt] [WK2] Client are expected to render their own background for WebPages 12161 https://bugs.webkit.org/show_bug.cgi?id=51296 12162 12163 Do not render a white background before rendering the page with DrawingAreaProxy. 12164 12165 * UIProcess/API/qt/qwkpage.cpp: 12166 (QWKPagePrivate::paint): 12167 12168 2010-12-17 Darin Adler <darin (a] apple.com> 12169 12170 Reviewed by Dan Bernstein. 12171 12172 Window title for image documents shows corrupted characters instead of multiplication sign when using WebKit2 12173 https://bugs.webkit.org/show_bug.cgi?id=43505 12174 12175 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Changed UI_STRING macros to return 12176 WebCore::String objects instead of C strings. 12177 (WebKit::formatLocalizedString): Added. Uses the Core Foundation string formatting function for 12178 reasons explained in the comment. 12179 (WebKit::WebPlatformStrategies::multipleFileUploadText): Use formatLocalizedString instead of 12180 String::format. 12181 (WebKit::WebPlatformStrategies::imageTitle): Ditto. 12182 (WebKit::WebPlatformStrategies::localizedMediaTimeDescription): Ditto. 12183 12184 2010-12-17 Anders Carlsson <andersca (a] apple.com> 12185 12186 Reviewed by Sam Weinig. 12187 12188 Resizing a WKView while loading a page can leave the page at a size that doesn't match the window 12189 https://bugs.webkit.org/show_bug.cgi?id=51282 12190 <rdar://problem/8133142> 12191 12192 Fix a race condition in waitForMessage. If we time out on the wait condition, we would keep the 12193 m_waitForMessageMutex mutex unlocked for a brief period of time before taking the lock again and 12194 then removing the messageID/destinationID pair from the hash map. Under some circumstances, the 12195 connection queue would update the hash map right before we removed it, leading to a lost message. 12196 12197 * Platform/CoreIPC/Connection.cpp: 12198 (CoreIPC::Connection::waitForMessage): 12199 12200 2010-12-17 Anders Carlsson <andersca (a] apple.com> 12201 12202 Reviewed by Simon Fraser. 12203 12204 Clean up ChunkedUpdateDrawingAreaProxy 12205 https://bugs.webkit.org/show_bug.cgi?id=51277 12206 12207 Get rid of m_lastSetViewSize since it was always equal to m_size. 12208 12209 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 12210 (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange): 12211 Call sendSetSize(). 12212 12213 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize): 12214 Call sendSetSize if the size differs. 12215 12216 (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize): 12217 Move code from sizeDidChange over here. 12218 12219 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 12220 * UIProcess/DrawingAreaProxy.cpp: 12221 (WebKit::DrawingAreaProxy::setSize): 12222 Add back the early return if the sizes are equal. 12223 12224 2010-12-17 Brent Fulgham <bfulgham (a] webkit.org> 12225 12226 Unreviewed build fix. 12227 12228 * WebProcess/WebPage/win/WebPageWin.cpp: 12229 (WebKit::WebPage::canHandleRequest): Provide alternative for 12230 non-CFNetwork implementation. 12231 12232 2010-12-17 Ada Chan <adachan (a] apple.com> 12233 12234 Reviewed by Anders Carlsson. 12235 12236 Implement WKView::setInitialFocus(). 12237 https://bugs.webkit.org/show_bug.cgi?id=51274 12238 12239 * UIProcess/API/C/win/WKView.cpp: 12240 (WKViewSetInitialFocus): 12241 * UIProcess/API/C/win/WKView.h: 12242 * UIProcess/WebPageProxy.cpp: 12243 (WebKit::WebPageProxy::setInitialFocus): Send message to the Web Process to set 12244 initial focus. 12245 * UIProcess/WebPageProxy.h: 12246 * UIProcess/win/WebView.cpp: 12247 (WebKit::WebView::setInitialFocus): 12248 * UIProcess/win/WebView.h: 12249 * WebProcess/WebPage/WebPage.cpp: 12250 (WebKit::WebPage::setInitialFocus): Set the focused node to null initially. Then 12251 ask FocusController to set the initial focus based on the focus direction. 12252 * WebProcess/WebPage/WebPage.h: 12253 * WebProcess/WebPage/WebPage.messages.in: Add a new message for SetInitialFocus. 12254 12255 2010-12-17 Anders Carlsson <andersca (a] apple.com> 12256 12257 Reviewed by Sam Weinig. 12258 12259 Remove a check that probably uncovered a resizing bug. 12260 12261 * UIProcess/DrawingAreaProxy.cpp: 12262 (WebKit::DrawingAreaProxy::setSize): 12263 12264 2010-12-17 Brian Weinstein <bweinstein (a] apple.com> 12265 12266 Qt build fix. 12267 12268 * UIProcess/qt/WebPopupMenuProxyQt.h: 12269 12270 2010-12-17 Brian Weinstein <bweinstein (a] apple.com> 12271 12272 Reviewed by Anders Carlsson. 12273 12274 Text area does not update when you arrow through a <select> in WebKit2 12275 https://bugs.webkit.org/show_bug.cgi?id=51269 12276 <rdar://problem/8612853> 12277 12278 Patch by Sam Weinig. 12279 12280 Insteaed of keeping track of the selected index of a <select> just in the UI process, we 12281 need to pass this information along to the web process so that the web process can draw 12282 the correct text in the text field at the top of the select, when the selection changes (via 12283 the arrows or other typing while the select is opened). 12284 12285 When the selected item in a popup changes, the UI process sends a message to the web process, telling 12286 it about the new selected index. The web process gets this message, and then sets the text that 12287 is visible in the select element. 12288 12289 * UIProcess/API/mac/PageClientImpl.h: CreatePopupMenuProxy now takes a WebPageProxy. 12290 * UIProcess/API/mac/PageClientImpl.mm: 12291 (WebKit::PageClientImpl::createPopupMenuProxy): Pass the WebPageProxy to create. 12292 * UIProcess/API/qt/qwkpage.cpp: 12293 (QWKPagePrivate::createPopupMenuProxy): 12294 * UIProcess/API/qt/qwkpage_p.h: CreatePopupMenuProxy now takes a WebPageProxy. 12295 * UIProcess/PageClient.h: CreatePopupMenuProxy now takes a WebPageProxy. 12296 * UIProcess/WebPageProxy.cpp: 12297 (WebKit::WebPageProxy::valueChangedForPopupMenu): Send that the selected index changed to the 12298 web process.selected 12299 (WebKit::WebPageProxy::setTextFromItemForPopupMenu): Send that we should update the text for the 12300 active popup menu (with the index of the item to show). 12301 (WebKit::WebPageProxy::showPopupMenu): Pass the WebPageProxy to createPopupMenuProxy. 12302 * UIProcess/WebPageProxy.h: 12303 * UIProcess/WebPopupMenuProxy.h: Add a client who has virtual functions for the state changing of the 12304 popup menu. ShowPopupMenu doesn't take a new selected index anymore, that is handled by the client, 12305 and calling down to the web process. 12306 (WebKit::WebPopupMenuProxy::Client::~Client): 12307 (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): Initialize the client. 12308 * UIProcess/mac/WebPopupMenuProxyMac.h: 12309 (WebKit::WebPopupMenuProxyMac::create): Takes a WebPopupMenuProxy::Client, and passes it to the constructor. 12310 * UIProcess/mac/WebPopupMenuProxyMac.mm: 12311 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): Update what's initialized by the constructor. 12312 (WebKit::WebPopupMenuProxyMac::showPopupMenu): Call through to the web process that the value changed. 12313 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 12314 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): Update what's initialized by the constructor. 12315 * UIProcess/win/WebPopupMenuProxyWin.cpp: 12316 (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): Ditto. 12317 (WebKit::WebPopupMenuProxyWin::showPopupMenu): Call through to the web process that the value changed. 12318 (WebKit::WebPopupMenuProxyWin::setFocusedIndex): Resolve a FIXME to set the text of the popup menu. 12319 * UIProcess/win/WebPopupMenuProxyWin.h: 12320 (WebKit::WebPopupMenuProxyWin::create): Take in a WebPopupMenuProxy::client, and pass it to the constructor. 12321 * UIProcess/win/WebView.cpp: 12322 (WebKit::WebView::createPopupMenuProxy): Pass the WebPageProxy to create. 12323 * UIProcess/win/WebView.h: 12324 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 12325 (WebKit::WebPopupMenu::setTextForIndex): Call through to setTextFromItem to set the select text. 12326 * WebProcess/WebCoreSupport/WebPopupMenu.h: 12327 * WebProcess/WebPage/WebPage.cpp: Call through to setTextForIndex on the active popup menu. 12328 (WebKit::WebPage::setTextForActivePopupMenu): 12329 * WebProcess/WebPage/WebPage.h: 12330 * WebProcess/WebPage/WebPage.messages.in: Add a new message. 12331 12332 2010-12-17 Anders Carlsson <andersca (a] apple.com> 12333 12334 Reviewed by Sam Weinig. 12335 12336 DrawingAreaProxy::setSize shouldn't be a virtual member function 12337 https://bugs.webkit.org/show_bug.cgi?id=51275 12338 12339 Add a pure virtual sizeDidChange member function to DrawingAreaProxy, and only 12340 call it if the size changes. 12341 12342 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 12343 (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange): 12344 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 12345 * UIProcess/DrawingAreaProxy.cpp: 12346 (WebKit::DrawingAreaProxy::setSize): 12347 * UIProcess/DrawingAreaProxy.h: 12348 (WebKit::DrawingAreaProxy::size): 12349 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 12350 (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange): 12351 * UIProcess/LayerBackedDrawingAreaProxy.h: 12352 * UIProcess/TiledDrawingAreaProxy.cpp: 12353 (WebKit::TiledDrawingAreaProxy::sizeDidChange): 12354 * UIProcess/TiledDrawingAreaProxy.h: 12355 12356 2010-12-17 Anders Carlsson <andersca (a] apple.com> 12357 12358 Reviewed by Sam Weinig. 12359 12360 Add a WebPageProxy parameter to the DrawingAreaProxy constructor 12361 https://bugs.webkit.org/show_bug.cgi?id=51271 12362 12363 * UIProcess/API/mac/WKView.mm: 12364 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 12365 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]): 12366 * UIProcess/API/qt/qgraphicswkview.cpp: 12367 (QGraphicsWKView::QGraphicsWKView): 12368 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 12369 (WebKit::ChunkedUpdateDrawingAreaProxy::create): 12370 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 12371 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 12372 * UIProcess/DrawingAreaProxy.cpp: 12373 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 12374 * UIProcess/DrawingAreaProxy.h: 12375 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 12376 (WebKit::LayerBackedDrawingAreaProxy::create): 12377 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy): 12378 * UIProcess/LayerBackedDrawingAreaProxy.h: 12379 * UIProcess/TiledDrawingAreaProxy.cpp: 12380 (WebKit::TiledDrawingAreaProxy::create): 12381 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 12382 * UIProcess/TiledDrawingAreaProxy.h: 12383 * UIProcess/win/WebView.cpp: 12384 (WebKit::WebView::WebView): 12385 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 12386 12387 2010-12-17 Dan Bernstein <mitz (a] apple.com> 12388 12389 Reviewed by Darin Adler. 12390 12391 Add API for "Always Use the Complex Text Code Path" 12392 https://bugs.webkit.org/show_bug.cgi?id=51265 12393 12394 * Shared/WebProcessCreationParameters.cpp: 12395 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize shouldAlwaysUseComplexTextCodePath. 12396 (WebKit::WebProcessCreationParameters::encode): Encode shouldAlwaysUseComplexTextCodePath. 12397 (WebKit::WebProcessCreationParameters::decode): Decode shouldAlwaysUseComplexTextCodePath. 12398 * Shared/WebProcessCreationParameters.h: 12399 * UIProcess/API/C/WKContext.cpp: 12400 (_WKContextSetAlwaysUsesComplexTextCodePath): Added. 12401 * UIProcess/API/C/WKContextPrivate.h: 12402 * UIProcess/WebContext.cpp: 12403 (WebKit::WebContext::WebContext): Initialize m_alwaysUsesComplexTextCodePath. 12404 (WebKit::WebContext::ensureWebProcess): Set shouldAlwaysUseComplexTextCodePath in the creation parameters. 12405 (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): Added. Sets m_alwaysUsesComplexTextCodePath and 12406 sends a message to the WebProcess. 12407 * UIProcess/WebContext.h: 12408 * WebProcess/WebProcess.cpp: 12409 (WebKit::WebProcess::initializeWebProcess): Call setAlwaysUsesComplexTextCodePath() based on the creation 12410 parameters. 12411 (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): Added. 12412 * WebProcess/WebProcess.h: 12413 * WebProcess/WebProcess.messages.in: Added SetAlwaysUsesComplexTextCodePath. 12414 12415 2010-12-17 Sam Weinig <sam (a] webkit.org> 12416 12417 Reviewed by Darin Adler. 12418 12419 WebKit2: Implement a title attribute per frame 12420 https://bugs.webkit.org/show_bug.cgi?id=51266 12421 12422 Cache the title of each frame on the WebFrameProxy. Removes 12423 the WebPageProxy's cache of the main frame title to just 12424 access the main frame. 12425 12426 We clear the cached title on new committed loads and on failures 12427 to load. 12428 12429 * UIProcess/API/C/WKFrame.cpp: 12430 (WKFrameCopyTitle): 12431 * UIProcess/API/C/WKFrame.h: 12432 * UIProcess/WebFrameProxy.cpp: 12433 (WebKit::WebFrameProxy::didCommitLoad): 12434 (WebKit::WebFrameProxy::didFailLoad): 12435 (WebKit::WebFrameProxy::didChangeTitle): 12436 * UIProcess/WebFrameProxy.h: 12437 (WebKit::WebFrameProxy::title): 12438 * UIProcess/WebPageProxy.cpp: 12439 (WebKit::WebPageProxy::close): 12440 (WebKit::WebPageProxy::pageTitle): 12441 (WebKit::WebPageProxy::didReceiveTitleForFrame): 12442 (WebKit::WebPageProxy::processDidCrash): 12443 * UIProcess/WebPageProxy.h: 12444 12445 2010-12-16 Darin Adler <darin (a] apple.com> 12446 12447 Reviewed by Maciej Stachowiak. 12448 12449 Add text encoding menu API for WebKit2 12450 https://bugs.webkit.org/show_bug.cgi?id=51226 12451 12452 * UIProcess/API/C/WKPage.cpp: 12453 (WKPageSupportsTextEncoding): Added. 12454 (WKPageCopyCustomTextEncodingName): Added. 12455 (WKPageSetCustomTextEncodingName): Added. 12456 * UIProcess/API/C/WKPage.h: Added the functions above. 12457 12458 * UIProcess/WebPageProxy.cpp: 12459 (WebKit::WebPageProxy::WebPageProxy): Initialize 12460 m_mainFrameHasCustomRepresentation to false. 12461 (WebKit::WebPageProxy::supportsTextEncoding): Added. 12462 (WebKit::WebPageProxy::setCustomTextEncodingName): Added. 12463 (WebKit::WebPageProxy::didCommitLoadForFrame): Set 12464 m_mainFrameHasCustomRepresentation. 12465 12466 * UIProcess/WebPageProxy.h: Added supportsTextEncoding, 12467 setCustomTextEncodingName, customTextEncodingName, and 12468 m_mainFrameHasCustomRepresentation. 12469 12470 * UIProcess/WebPageProxy.messages.in: Tweaked formatting 12471 (added a blank line). 12472 12473 * WebProcess/WebPage/WebPage.cpp: 12474 (WebKit::WebPage::setCustomTextEncodingName): Added. 12475 * WebProcess/WebPage/WebPage.h: Added setCustomTextEncodingName. 12476 12477 * WebProcess/WebPage/WebPage.messages.in: Added the 12478 SetCustomTextEncodingName message. Tweaked formatting of the 12479 dummy message. 12480 12481 2010-12-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 12482 12483 Unreviewed, rolling out r74201. 12484 http://trac.webkit.org/changeset/74201 12485 https://bugs.webkit.org/show_bug.cgi?id=51248 12486 12487 It broke ~6000 layout tests (Requested by Ossy_ on #webkit). 12488 12489 * UIProcess/API/qt/qgraphicswkview.cpp: 12490 (QGraphicsWKView::setGeometry): 12491 (QGraphicsWKView::itemChange): 12492 12493 2010-12-16 Sam Weinig <sam (a] webkit.org> 12494 12495 Reviewed by Darin Adler. 12496 12497 Add svn:eol-style native to the message.in files as a favor to Darin Adler. 12498 12499 * PluginProcess/PluginControllerProxy.messages.in: Added property svn:eol-style. 12500 * PluginProcess/PluginProcess.messages.in: Added property svn:eol-style. 12501 * PluginProcess/WebProcessConnection.messages.in: Added property svn:eol-style. 12502 * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added property svn:eol-style. 12503 * UIProcess/Downloads/DownloadProxy.messages.in: Added property svn:eol-style. 12504 * UIProcess/Plugins/PluginProcessProxy.messages.in: Added property svn:eol-style. 12505 * UIProcess/WebContext.messages.in: Added property svn:eol-style. 12506 * UIProcess/WebDatabaseManagerProxy.messages.in: Added property svn:eol-style. 12507 * UIProcess/WebInspectorProxy.messages.in: Added property svn:eol-style. 12508 * UIProcess/WebPageProxy.messages.in: Added property svn:eol-style. 12509 * UIProcess/WebProcessProxy.messages.in: Added property svn:eol-style. 12510 * WebProcess/Authentication/AuthenticationManager.messages.in: Added property svn:eol-style. 12511 * WebProcess/Plugins/PluginProxy.messages.in: Added property svn:eol-style. 12512 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added property svn:eol-style. 12513 * WebProcess/WebPage/WebInspector.messages.in: Added property svn:eol-style. 12514 * WebProcess/WebPage/WebPage.messages.in: Added property svn:eol-style. 12515 * WebProcess/WebProcess.messages.in: Added property svn:eol-style. 12516 12517 2010-12-16 Sam Weinig <sam (a] webkit.org> 12518 12519 Reviewed by Anders Carlsson. 12520 12521 Move NSURLCache initialization from the ProcessLauncherMac to the centralized 12522 WebContext initialize WebProcess mechanism. 12523 12524 * Shared/WebProcessCreationParameters.cpp: 12525 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 12526 (WebKit::WebProcessCreationParameters::encode): 12527 (WebKit::WebProcessCreationParameters::decode): 12528 * Shared/WebProcessCreationParameters.h: 12529 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 12530 (WebKit::ProcessLauncher::launchProcess): 12531 * UIProcess/mac/WebContextMac.mm: 12532 (WebKit::WebContext::platformInitializeWebProcess): 12533 * WebProcess/WebProcess.cpp: 12534 (WebKit::WebProcess::initializeWebProcess): 12535 * WebProcess/mac/WebProcessMac.mm: 12536 (WebKit::WebProcess::platformInitializeWebProcess): 12537 * WebProcess/mac/WebProcessMainMac.mm: 12538 (WebKit::WebProcessMain): 12539 * WebProcess/win/WebProcessWin.cpp: 12540 (WebKit::WebProcess::platformInitializeWebProcess): 12541 (WebKit::WebProcess::setShouldPaintNativeControls): 12542 12543 2010-12-16 Anders Carlsson <andersca (a] apple.com> 12544 12545 Reviewed by Dan Bernstein. 12546 12547 Defer getting a PluginProcessConnection object until the plug-in is initialized 12548 https://bugs.webkit.org/show_bug.cgi?id=51207 12549 <rdar://problem/8731306> 12550 12551 Before this change, we would pass the PluginProcessConnection to the PluginProxy constructor, but not 12552 call PluginProcessConnection::addPluginProxy (which associates the plug-in proxy with the connection) 12553 until the plug-in is initialized. 12554 12555 This could lead to a PluginProxy holding a reference to a PluginProcessConnection when the PluginProxyConnection 12556 itself did not know anything about the PluginProxy. This would happen when a page with plug-ins is opened in a background 12557 tab, with the plug-ins not yet initialized. 12558 12559 Because of this, we could end up in a weird state, where the PluginProcessConnection would think that there are no 12560 more plug-ins alive, and invalidate (and null out) the underlying CoreIPC connection, which would lead to crashes 12561 when trying to send messages to the connection during later initialization. 12562 12563 The fix is to pass the plug-in path to the PluginProxy constructor, and get the connection from PluginProxy::initialize. 12564 12565 PluginProcessConnection object 12566 * WebProcess/Plugins/PluginProxy.cpp: 12567 (WebKit::PluginProxy::create): 12568 (WebKit::PluginProxy::PluginProxy): 12569 (WebKit::PluginProxy::initialize): 12570 * WebProcess/Plugins/PluginProxy.h: 12571 * WebProcess/WebPage/WebPage.cpp: 12572 (WebKit::WebPage::createPlugin): 12573 12574 2010-12-16 Enrica Casucci <enrica (a] apple.com> 12575 12576 Reviewed by Maciej Stachowiak. 12577 12578 WebKit2: Cannot copy two successive selections using cmd-c 12579 <rdar://problem/8680309> 12580 https://bugs.webkit.org/show_bug.cgi?id=51203 12581 12582 The previous implementation assumed a call sequence from AppKit that 12583 was not always happening. 12584 When the user clicks on the pulldown menu, AppKit sends validateUserInterfaceItem 12585 calls for each element that needs validation and we used to count the number of 12586 validation requests being sent to the web process. 12587 All these calls are made before we have the chance to get one reply from the WebProcess. 12588 We also delayed the menu update until we had received all the replies to the validation requests. 12589 At that point we called update on the menu to trigger the validation one more time with 12590 the data retrived from the WebProcess. 12591 When the user simply presses cmd-c, only one call to vaidateUserInterfaceItem is made 12592 and the menu update triggered the validation of all the menu entries causing the internal 12593 state to be out of sync. 12594 The new implementation is very simple: for each validation request from AppKit we send 12595 a request to the WebProcess and we cache a reference to the menu item being validated. 12596 When the WebProcess replies, we retrieve the menu item from our cache and update its state. 12597 12598 * UIProcess/API/mac/WKView.mm: 12599 (-[WKView initWithFrame:contextRef:pageGroupRef:]): Removed initialization of deleted memebers. 12600 (-[WKView validateUserInterfaceItem:]): Request validation to the WebProcess and return YES to 12601 allow AppKit to do the keyBinding processing. 12602 (-[WKView _setUserInterfaceItemState:enabled:state:]): Called when the WebProcess replies to the 12603 validation request to check/uncheck and enable/disable the menu item. 12604 12605 2010-12-16 Anders Carlsson <andersca (a] apple.com> 12606 12607 Reviewed by Oliver Hunt. 12608 12609 Don't try to call plug-in member functions if the plug-in hasn't been initialized 12610 https://bugs.webkit.org/show_bug.cgi?id=51205 12611 <rdar://problem/8730204> 12612 12613 Make sure that all PluginView functions that can be called while a plug-in has not been 12614 initialized (if the plug-in page is in a background tab for example) have an additional 12615 check for m_isInitialized. 12616 12617 * WebProcess/Plugins/PluginView.cpp: 12618 (WebKit::PluginView::setWindowIsFocused): 12619 (WebKit::PluginView::windowAndViewFramesChanged): 12620 (WebKit::PluginView::platformLayer): 12621 (WebKit::PluginView::scriptObject): 12622 (WebKit::PluginView::privateBrowsingStateChanged): 12623 (WebKit::PluginView::handleEvent): 12624 (WebKit::PluginView::viewGeometryDidChange): 12625 (WebKit::PluginView::setFocus): 12626 12627 2010-12-16 Anders Carlsson <andersca (a] apple.com> 12628 12629 Reviewed by John Sullivan. 12630 12631 Add a bunch of m_isStarted assertions to plug-in code. 12632 12633 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 12634 (WebKit::NetscapePlugin::frameDidFinishLoading): 12635 (WebKit::NetscapePlugin::frameDidFail): 12636 (WebKit::NetscapePlugin::didEvaluateJavaScript): 12637 (WebKit::NetscapePlugin::streamDidReceiveResponse): 12638 (WebKit::NetscapePlugin::streamDidReceiveData): 12639 (WebKit::NetscapePlugin::streamDidFinishLoading): 12640 (WebKit::NetscapePlugin::streamDidFail): 12641 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse): 12642 (WebKit::NetscapePlugin::manualStreamDidReceiveData): 12643 (WebKit::NetscapePlugin::manualStreamDidFinishLoading): 12644 (WebKit::NetscapePlugin::manualStreamDidFail): 12645 (WebKit::NetscapePlugin::handleMouseEvent): 12646 (WebKit::NetscapePlugin::handleWheelEvent): 12647 (WebKit::NetscapePlugin::handleMouseEnterEvent): 12648 (WebKit::NetscapePlugin::handleMouseLeaveEvent): 12649 (WebKit::NetscapePlugin::handleKeyboardEvent): 12650 (WebKit::NetscapePlugin::setFocus): 12651 (WebKit::NetscapePlugin::pluginScriptableNPObject): 12652 (WebKit::NetscapePlugin::privateBrowsingStateChanged): 12653 12654 2010-12-16 Anders Carlsson <andersca (a] apple.com> 12655 12656 Reviewed by Darin Adler. 12657 12658 Save the manual plug-in stream data and redeliver it when the plug-in is initialized 12659 https://bugs.webkit.org/show_bug.cgi?id=51201 12660 12661 * WebProcess/Plugins/PluginView.cpp: 12662 (WebKit::PluginView::PluginView): 12663 Initialize m_manualStreamState. 12664 12665 (WebKit::PluginView::manualLoadDidReceiveResponse): 12666 If the plug-in hasn't been initialized, store the response. 12667 12668 (WebKit::PluginView::manualLoadDidReceiveData): 12669 If the plug-in hasn't been initialized, store the data. 12670 12671 (WebKit::PluginView::manualLoadDidFinishLoading): 12672 If the plug-in hasn't been initialized, update the state. 12673 12674 (WebKit::PluginView::manualLoadDidFail): 12675 If the plug-in hasn't been initialized, store the error and update the state. 12676 12677 (WebKit::PluginView::initializePlugin): 12678 Call redeliverManualStream. 12679 12680 (WebKit::PluginView::redeliverManualStream): 12681 Redeliver the manual stream to the plug-in. 12682 12683 * WebProcess/Plugins/PluginView.h: 12684 12685 2010-12-16 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 12686 12687 Reviewed by Andreas Kling. 12688 12689 [Qt] Turn off drawing area updates if the item is not visible 12690 12691 The updates are controlled by the QGraphicsItem::visible property. 12692 12693 * UIProcess/API/qt/qgraphicswkview.cpp: 12694 (QGraphicsWKViewPrivate::updateViewportSize): 12695 (QGraphicsWKView::setGeometry): 12696 (QGraphicsWKView::itemChange): 12697 12698 2010-12-15 Dan Bernstein <mitz (a] apple.com> 12699 12700 Reviewed by Sam Weinig. 12701 12702 <rdar://problem/8731320> WebProcesss CFNetwork cache is in ~/Library/Caches/com.apple.WebProcess 12703 12704 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 12705 (WebKit::ProcessLauncher::launchProcess): Get the location, disk capacity and memory capacity 12706 of the UI processs NSURLCache and pass them to the WebProcess. 12707 * WebProcess/mac/WebProcessMainMac.mm: 12708 (WebKit::WebProcessMain): If an NSURLCache location was passed on the command line, set the 12709 shared NSURLCache to that path and use the specified capacities as initial values. 12710 12711 2010-12-15 Dan Bernstein <mitz (a] apple.com> 12712 12713 Reviewed by Sam I blame andersca Weinig. 12714 12715 Allow responses to be cached by the NSURLCache. 12716 12717 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12718 (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to return the response instead of 0. 12719 12720 2010-12-14 Enrica Casucci <enrica (a] apple.com> 12721 12722 Reviewed by Adam Roben. 12723 12724 Add IME support to WebKit2 on Windows 12725 https://bugs.webkit.org/show_bug.cgi?id=51049 12726 The implementation is very close to the one in WebKit. 12727 The main change is the addition of handlers for WM_IME_STARTCOMPOSITION, 12728 WM_IME_REQUEST, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION, 12729 WM_IME_SELECT, WM_IME_SETCONTEXT and a number of new messages 12730 between the UI process and the WebProcess to send/retrieve 12731 the data being handled by the messages listed above. 12732 12733 * UIProcess/PageClient.h: Added compositionSelectionChanged for Windows platform. 12734 * UIProcess/WebPageProxy.cpp: 12735 The following methods send synchronous messages to the WebProcess. 12736 (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Retrieves the rectangle to position 12737 the cnadidates window. 12738 (WebKit::WebPageProxy::getSelectedText): Retrieves the currently selected text. 12739 The following methods send asynchronous messages to the WebProcess. 12740 (WebKit::WebPageProxy::confirmComposition): 12741 (WebKit::WebPageProxy::setComposition): 12742 (WebKit::WebPageProxy::didChangeSelection): Name changed. 12743 (WebKit::WebPageProxy::didChangeCompositionSelection): Called when there is a change 12744 in the composition selection. 12745 * UIProcess/WebPageProxy.messages.in: Added messages corresponding to the methods above. 12746 * UIProcess/win/WebView.cpp: 12747 (WebKit::WebView::wndProc): Added handling of messages for IME. 12748 The following are the handlers for the window message being sent during composition. 12749 (WebKit::WebView::onIMEComposition): 12750 (WebKit::WebView::onIMEEndComposition): 12751 (WebKit::WebView::onIMERequestCharPosition): 12752 (WebKit::WebView::onIMERequestReconvertString): 12753 (WebKit::WebView::onIMERequest): 12754 (WebKit::WebView::onIMESelect): 12755 (WebKit::WebView::onIMESetContext): 12756 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12757 (WebKit::WebEditorClient::respondToChangedSelection): Added notification 12758 of composition selection changed for Windows. 12759 * WebProcess/WebPage/win/WebPageWin.cpp: 12760 The following are the WebProcess counterparts of the new messages. 12761 (WebKit::WebPage::confirmComposition): 12762 (WebKit::WebPage::setComposition): 12763 (WebKit::WebPage::firstRectForCharacterInSelectedRange): 12764 (WebKit::WebPage::getSelectedText): 12765 12766 2010-12-15 Sam Weinig <sam (a] webkit.org> 12767 12768 Reviewed by Brady Eidson. 12769 12770 Loading webkit.org over and over is slower in WebKit2 than WebKit1, looks like page is not cached 12771 <rdar://problem/8774683> 12772 https://bugs.webkit.org/show_bug.cgi?id=51143 12773 12774 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12775 (WebKit::WebFrameLoaderClient::canCachePage): Return true as long as we 12776 are not a custom representation (eg. a PDF). 12777 (WebKit::WebFrameLoaderClient::shouldCacheResponse): Always return true. 12778 * WebProcess/WebPage/WebPage.cpp: 12779 (WebKit::WebPage::updatePreferences): Enable the page cache. 12780 12781 2010-12-15 Simon Fraser <simon.fraser (a] apple.com> 12782 12783 Reviewed by Adele Peterson. 12784 12785 WebKit2 in compositing mode no longer has font smoothing 12786 https://bugs.webkit.org/show_bug.cgi?id=50733 12787 12788 Tell the root GraphicsLayer that its contents are opaque 12789 if the WebPage draws its background, and that background 12790 is not transparent. 12791 12792 The GraphicsLayer then uses the 'contentsOpaque' setting to 12793 determine whether to use font smoothing. 12794 12795 Add pageBackgroundTransparencyChanged() to DrawingArea 12796 so that the WebPage can inform the DrawingArea when the 12797 background transparency changes. 12798 12799 * WebProcess/WebPage/DrawingArea.h: 12800 (WebKit::DrawingArea::pageBackgroundTransparencyChanged): 12801 (WebKit::DrawingArea::onPageClose): 12802 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 12803 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 12804 (WebKit::LayerBackedDrawingArea::pageBackgroundTransparencyChanged): 12805 * WebProcess/WebPage/LayerBackedDrawingArea.h: 12806 * WebProcess/WebPage/WebPage.cpp: 12807 (WebKit::WebPage::setDrawsBackground): 12808 (WebKit::WebPage::setDrawsTransparentBackground): 12809 12810 2010-12-15 Anders Carlsson <andersca (a] apple.com> 12811 12812 Reviewed by Sam Weinig. 12813 12814 Fix assertion in plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html test 12815 https://bugs.webkit.org/show_bug.cgi?id=51136 12816 12817 Ensure that a plug-in that has explicitly cancelled the manual stream won't get any more callbacks. 12818 12819 * PluginProcess/PluginControllerProxy.cpp: 12820 (WebKit::PluginControllerProxy::PluginControllerProxy): 12821 (WebKit::PluginControllerProxy::cancelManualStreamLoad): 12822 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse): 12823 (WebKit::PluginControllerProxy::manualStreamDidReceiveData): 12824 (WebKit::PluginControllerProxy::manualStreamDidFinishLoading): 12825 (WebKit::PluginControllerProxy::manualStreamDidFail): 12826 * PluginProcess/PluginControllerProxy.h: 12827 12828 2010-12-15 Brian Weinstein <bweinstein (a] apple.com> 12829 12830 Windows Build Fix. A .h file was added to the vcproj twice, but not its corresponding cpp file. 12831 12832 * win/WebKit2.vcproj: 12833 12834 2010-12-15 Sam Weinig <sam (a] webkit.org> 12835 12836 Reviewed by Anders Carlsson. 12837 12838 WebKit2: Can't add files to an <input type=file> 12839 https://bugs.webkit.org/show_bug.cgi?id=51087 12840 12841 * Scripts/webkit2/messages.py: 12842 Adds new types. 12843 12844 * Shared/API/c/WKBase.h: 12845 Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef. 12846 12847 * Shared/APIObject.h: 12848 Adds TypeOpenPanelParameters and TypeOpenPanelResultListener. 12849 12850 * Shared/WebOpenPanelParameters.cpp: Added. 12851 (WebKit::WebOpenPanelParameters::create): 12852 (WebKit::WebOpenPanelParameters::WebOpenPanelParameters): 12853 (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters): 12854 (WebKit::WebOpenPanelParameters::Data::encode): 12855 (WebKit::WebOpenPanelParameters::Data::decode): 12856 * Shared/WebOpenPanelParameters.h: Added. 12857 (WebKit::WebOpenPanelParameters::allowMultipleFiles): 12858 (WebKit::WebOpenPanelParameters::type): 12859 Class representing options one can pass to open panel. 12860 12861 * UIProcess/API/C/WKAPICast.h: 12862 Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy. 12863 12864 * UIProcess/API/C/WKOpenPanelParameters.cpp: Added. 12865 (WKOpenPanelParametersGetTypeID): 12866 (WKOpenPanelParametersGetAllowsMultipleFiles): 12867 * UIProcess/API/C/WKOpenPanelParameters.h: Added. 12868 * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added. 12869 (WKOpenPanelResultListenerGetTypeID): 12870 (WKOpenPanelResultListenerChooseFiles): 12871 (WKOpenPanelResultListenerCancel): 12872 * UIProcess/API/C/WKOpenPanelResultListener.h: Added. 12873 Add API wrappers. 12874 12875 * UIProcess/API/C/WKPage.h: 12876 Add new UI callback, WKPageRunOpenPanelCallback. 12877 12878 * UIProcess/API/C/WebKit2.h: 12879 Add includes for new API headers. 12880 12881 * UIProcess/API/qt/qwkpage.cpp: 12882 (QWKPage::QWKPage): 12883 Stub out the runOpenPanel callback. 12884 12885 * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added. 12886 (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy): 12887 (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy): 12888 (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): 12889 (WebKit::WebOpenPanelResultListenerProxy::cancel): 12890 (WebKit::WebOpenPanelResultListenerProxy::invalidate): 12891 * UIProcess/WebOpenPanelResultListenerProxy.h: Added. 12892 (WebKit::WebOpenPanelResultListenerProxy::create): 12893 (WebKit::WebOpenPanelResultListenerProxy::type): 12894 Adds the listener used to choose files for <input type=file> 12895 12896 * UIProcess/WebPageProxy.cpp: 12897 (WebKit::WebPageProxy::runOpenPanel): 12898 (WebKit::WebPageProxy::didChooseFilesForOpenPanel): 12899 (WebKit::WebPageProxy::didCancelForOpenPanel): 12900 * UIProcess/WebPageProxy.h: 12901 * UIProcess/WebPageProxy.messages.in: 12902 * UIProcess/WebUIClient.cpp: 12903 (WebKit::WebUIClient::runOpenPanel): 12904 * UIProcess/WebUIClient.h: 12905 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12906 (WebKit::WebChromeClient::runOpenPanel): 12907 * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added. 12908 (WebKit::WebOpenPanelResultListener::create): 12909 (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener): 12910 (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener): 12911 (WebKit::WebOpenPanelResultListener::didChooseFiles): 12912 * WebProcess/WebPage/WebOpenPanelResultListener.h: Added. 12913 (WebKit::WebOpenPanelResultListener::disconnectFromPage): 12914 * WebProcess/WebPage/WebPage.cpp: 12915 (WebKit::WebPage::close): 12916 (WebKit::WebPage::setActiveOpenPanelResultListener): 12917 (WebKit::WebPage::didChooseFilesForOpenPanel): 12918 (WebKit::WebPage::didCancelForOpenPanel): 12919 * WebProcess/WebPage/WebPage.h: 12920 (WebKit::WebPage::activeOpenPanelResultListener): 12921 * WebProcess/WebPage/WebPage.messages.in: 12922 Pipe through file choosing. 12923 12924 * WebKit2.pro: 12925 * WebKit2.xcodeproj/project.pbxproj: 12926 * win/WebKit2.vcproj: 12927 * win/WebKit2Generated.make: 12928 Add new files. 12929 12930 2010-12-15 Anders Carlsson <andersca (a] apple.com> 12931 12932 Reviewed by Maciej Stachowiak. 12933 12934 Semi-reproducible crash in ChunkedUpdateDrawingArea::paintIntoUpdateChunk closing a particular yahoo page 12935 https://bugs.webkit.org/show_bug.cgi?id=51126 12936 <rdar://problem/8771219> 12937 12938 Laying out the web page can cause the drawing area to change so we need to protect against this. 12939 12940 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 12941 (WebKit::ChunkedUpdateDrawingArea::display): 12942 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 12943 (WebKit::LayerBackedDrawingArea::display): 12944 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 12945 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired): 12946 12947 2010-12-15 Brian Weinstein <bweinstein (a] apple.com> 12948 12949 Reviewed by Adam Roben. 12950 12951 WebKit2: WebPageWin needs implementations of hasLocalDataForURL and canHandleRequest 12952 https://bugs.webkit.org/show_bug.cgi?id=51090 12953 12954 Implement these functions for WebKit2 on Windows. 12955 12956 * WebProcess/WebPage/WebPage.cpp: 12957 (WebKit::WebPage::hasLocalDataForURL): Does the cross-platform part of the check for having local 12958 data (file URL or subresource), then calls platformHasLocalDataForURL to let the platform do 12959 their specific checks. 12960 * WebProcess/WebPage/WebPage.h: 12961 * WebProcess/WebPage/mac/WebPageMac.mm: 12962 (WebKit::WebPage::platformHasLocalDataForURL): Moved the cross-platform code from here to WebPage::hasLocalDataForURL. 12963 * WebProcess/WebPage/qt/WebPageQt.cpp: 12964 (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL. 12965 * WebProcess/WebPage/win/WebPageWin.cpp: 12966 (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL and implemented with CFNetwork calls. This is the 12967 CFNetwork equivalent of the code in WebPageMac::platformHasLocalDataForURL. 12968 (WebKit::WebPage::canHandleRequest): Copied the line of code from WebView::canHandleRequest in WebKit1, with a FIXME saying 12969 this might not be enough (although it was in WebKit1 on Windows). 12970 12971 2010-12-15 Sheriff Bot <webkit.review.bot (a] gmail.com> 12972 12973 Unreviewed, rolling out r74117. 12974 http://trac.webkit.org/changeset/74117 12975 https://bugs.webkit.org/show_bug.cgi?id=51113 12976 12977 This broke the GTK1 build. (Requested by mrobinson on 12978 #webkit). 12979 12980 * GNUmakefile.am: Removed. 12981 * Scripts/generate-forwarding-headers.pl: 12982 * WebKit2Prefix.h: 12983 * gtk/webkit2.pc.in: Removed. 12984 12985 2010-12-15 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 12986 12987 Reviewed by Martin Robinson. 12988 12989 Changes to enable building WebKit2 for Gtk port. 12990 (https://bugs.webkit.org/show_bug.cgi?id=37369) 12991 12992 * GNUmakefile.am: Added. 12993 * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers. 12994 * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files. 12995 * gtk: Added. 12996 * gtk/webkit2.pc.in: Added. 12997 12998 2010-12-15 Jan Erik Hanssen <jhanssen (a] sencha.com> 12999 13000 Reviewed by Andreas Kling. 13001 13002 [Qt][WK2] webkit2 does not compile on OS X 13003 https://bugs.webkit.org/show_bug.cgi?id=50128 13004 13005 prctl(2) is only available on Linux, so use an atexit handler for killing 13006 all the child processes when the process is exiting. 13007 13008 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 13009 (WebKit::cleanupProcesses): 13010 (WebKit::QtWebProcess::QtWebProcess): 13011 (WebKit::QtWebProcess::processStateChanged): 13012 (WebKit::ProcessLauncherHelper::instance): 13013 13014 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13015 13016 Fix Windows build. 13017 13018 * win/WebKit2Common.vsprops: 13019 13020 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13021 13022 Fix Qt build. 13023 13024 * WebKit2.pro: 13025 13026 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13027 13028 Reviewed by TYPO FIX. 13029 13030 Fix a typo. 13031 13032 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 13033 (WebKit::NetscapePluginModule::determineQuirks): 13034 13035 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13036 13037 Reviewed by Sam Weinig. 13038 13039 Cannot type into plugin edit field 13040 https://bugs.webkit.org/show_bug.cgi?id=51074 13041 <rdar://problem/8483741> 13042 13043 Add a PrognameShouldBeWebKitPluginHost quirk, since it turns out Flash Player calls getprogname() and checks 13044 if the return value is "WebKitPluginHost" in order to determine when to handle NPCocoaEventKeyDown events. 13045 13046 * PluginProcess/PluginProcess.cpp: 13047 (WebKit::PluginProcess::netscapePluginModule): 13048 If the plug-in module has the PrognameShouldBeWebKitPluginHost quirk, call setprogname("WebKitPluginHost"). 13049 13050 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 13051 (WebKit::NetscapePluginModule::load): 13052 Call determineQuirks() 13053 13054 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 13055 (WebKit::NetscapePluginModule::determineQuirks): 13056 Add the PrognameShouldBeWebKitPluginHost quirk for Flash. 13057 13058 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: 13059 (WebKit::NetscapePluginModule::determineQuirks): 13060 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 13061 (WebKit::NetscapePluginModule::determineQuirks): 13062 Add stubs. 13063 13064 * Shared/Plugins/PluginQuirks.h: 13065 Add new PluginQuirks file. 13066 13067 * WebKit2.xcodeproj/project.pbxproj: 13068 Add PluginQuirks.h 13069 13070 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13071 13072 Reviewed by Sam Weinig. 13073 13074 Add a NetscapePluginModuleX11 and move the Qt implementation of PluginInfoStore::getPluginInfo there 13075 https://bugs.webkit.org/show_bug.cgi?id=51066 13076 13077 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Copied from WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp. 13078 (WebKit::NetscapePluginModule::getPluginInfo): 13079 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 13080 (WebKit::PluginInfoStore::getPluginInfo): 13081 * WebKit2.pro: 13082 13083 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13084 13085 Reviewed by Dan Bernstein. 13086 13087 Move Windows version of getPluginInfo to NetscapePluginModule 13088 https://bugs.webkit.org/show_bug.cgi?id=51073 13089 13090 * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added. 13091 (WebKit::getVersionInfo): 13092 (WebKit::fileVersion): 13093 (WebKit::NetscapePluginModule::getPluginInfo): 13094 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 13095 (WebKit::PluginInfoStore::getPluginInfo): 13096 * win/WebKit2.vcproj: 13097 13098 2010-12-14 Alice Liu <alice.liu (a] apple.com> 13099 13100 Fix clang++ build. 13101 13102 * UIProcess/WebProcessProxy.h: 13103 (WebKit::WebProcessProxy::sendSync): 13104 Move the default argument to the declaration. 13105 13106 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13107 13108 Reviewed by Adam Roben. 13109 13110 Move PluginInfoStore::getPluginInfo to NetscapePluginModule 13111 https://bugs.webkit.org/show_bug.cgi?id=51058 13112 13113 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 13114 Move implementation of PluginInfoStore::getPluginInfo and related 13115 helper functions here. 13116 13117 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 13118 (WebKit::PluginInfoStore::getPluginInfo): 13119 Just call NetscapePluginModule::getPluginInfo here for now. 13120 13121 * WebKit2.xcodeproj/project.pbxproj: 13122 Add NetscapePluginModuleMac.mm. 13123 13124 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13125 13126 Reviewed by John Sullivan. 13127 13128 Switch name and description order when fetching Carbon plug-in info 13129 https://bugs.webkit.org/show_bug.cgi?id=46211 13130 13131 The plug-in description comes before the name in the Carbon string list resource. 13132 13133 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 13134 (WebKit::getPluginInfoFromCarbonResources): 13135 13136 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13137 13138 Reviewed by Adam Roben. 13139 13140 Move NetscapePluginModule.{cpp|h} to Shared/Plugins/Netscape 13141 https://bugs.webkit.org/show_bug.cgi?id=51052 13142 13143 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.cpp. 13144 * Shared/Plugins/Netscape/NetscapePluginModule.h: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.h. 13145 * WebKit2.pro: 13146 * WebKit2.xcodeproj/project.pbxproj: 13147 * win/WebKit2.vcproj: 13148 * win/WebKit2Common.vsprops: 13149 13150 2010-12-14 Anders Carlsson <andersca (a] apple.com> 13151 13152 Reviewed by Sam Weinig. 13153 13154 Handle complex text input for plug-ins 13155 https://bugs.webkit.org/show_bug.cgi?id=51047 13156 13157 * PluginProcess/PluginControllerProxy.cpp: 13158 (WebKit::PluginControllerProxy::sendComplexTextInput): 13159 Pass along the text input to the plug-in. 13160 13161 * PluginProcess/PluginControllerProxy.messages.in: 13162 Add SendComplexTextInput message. 13163 13164 * UIProcess/API/mac/WKTextInputWindowController.h: Added. 13165 * UIProcess/API/mac/WKTextInputWindowController.mm: Added. 13166 Add text input window controller, mostly copied from WebKit1. 13167 13168 * UIProcess/API/mac/WKView.mm: 13169 (-[WKView keyDown:]): 13170 If needed, pass along the event to the text input window controller. 13171 13172 (-[WKView inputContext]): 13173 Return the input context of the text input window controller. 13174 13175 (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]): 13176 Notify the input window controller that the input source changed. 13177 13178 * UIProcess/WebPageProxy.cpp: 13179 (WebKit::WebPageProxy::sendComplexTextInputToPlugin): 13180 Send the complex text input to the web process. 13181 13182 * WebKit2.xcodeproj/project.pbxproj: 13183 Add new files. 13184 13185 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 13186 (WebKit::convertStringToKeyCodes): 13187 Convert a string to a vector of key codes in the current encoding. 13188 13189 (WebKit::NetscapePlugin::sendComplexTextInput): 13190 In the Cocoa event model, create and dispatch an NPCocoaEventTextInput event. 13191 In the Carbon event model, convert the string to individual key codes and send them 13192 as key down events. 13193 13194 * WebProcess/Plugins/PluginProxy.cpp: 13195 (WebKit::PluginProxy::sendComplexTextInput): 13196 Send the text to the plug-in controller proxy. 13197 13198 * WebProcess/Plugins/PluginView.cpp: 13199 (WebKit::PluginView::sendComplexTextInput): 13200 If the plug-in has a matching text input identifier, call Plugin::sendComplexTextInput. 13201 13202 * WebProcess/WebPage/WebPage.messages.in: 13203 Add SendComplexTextInputToPlugin message. 13204 13205 * WebProcess/WebPage/mac/WebPageMac.mm: 13206 (WebKit::WebPage::sendComplexTextInputToPlugin): 13207 Iterate over all known plug-in views and try to find one to send the text input to. 13208 13209 2010-12-13 Alexey Proskuryakov <ap (a] apple.com> 13210 13211 Reviewed by Adam Barth. 13212 13213 https://bugs.webkit.org/show_bug.cgi?id=50953 13214 DNS Prefetch should be an opt-in feature 13215 13216 Pass the preference through WebKit2. 13217 13218 * Shared/WebPreferencesStore.h: 13219 * UIProcess/API/C/WKPreferences.cpp: 13220 (WKPreferencesSetDNSPrefetchingEnabled): 13221 (WKPreferencesGetDNSPrefetchingEnabled): 13222 * UIProcess/API/C/WKPreferences.h: 13223 * WebProcess/WebPage/WebPage.cpp: 13224 (WebKit::WebPage::updatePreferences): 13225 13226 2010-12-13 Anders Carlsson <andersca (a] apple.com> 13227 13228 Reviewed by Kevin Decker. 13229 13230 Pass the complex text input status to the WKView 13231 https://bugs.webkit.org/show_bug.cgi?id=50993 13232 13233 * UIProcess/API/mac/PageClientImpl.h: 13234 * UIProcess/API/mac/PageClientImpl.mm: 13235 (WebKit::PageClientImpl::setComplexTextInputEnabled): 13236 * UIProcess/API/mac/WKView.mm: 13237 (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]): 13238 * UIProcess/API/mac/WKViewInternal.h: 13239 * UIProcess/PageClient.h: 13240 * UIProcess/WebPageProxy.cpp: 13241 (WebKit::WebPageProxy::setComplexTextInputEnabled): 13242 13243 2010-12-14 Benjamin Poulain <benjamin.poulain (a] nokia.com> 13244 13245 Reviewed by Kenneth Rohde Christiansen. 13246 13247 WebKit 2 does not send touch cancel events correctly between processes 13248 https://bugs.webkit.org/show_bug.cgi?id=50235 13249 13250 The classes WebKit2PlatformTouchPoint and WebKit2PlatformTouchEvent 13251 misses the conversion of TouchCancel events and points. 13252 13253 This patch add the missing enums when converting from a WebTouchEvent 13254 to a PlatformTouchEvent. 13255 13256 Testing is already covered by fast/events/touch/send-oncancel-event.html 13257 13258 * Shared/WebEventConversion.cpp: 13259 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint): 13260 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 13261 13262 2010-12-14 Zalan Bujtas <zbujtas (a] gmail.com> 13263 13264 Reviewed by Kenneth Rohde Christiansen. 13265 13266 Add loadFinished() for provisional load error 13267 This fixes the hanging UI state, when provisional load error occurs due to 13268 the async nature of policy check. 13269 13270 https://bugs.webkit.org/show_bug.cgi?id=48724 13271 13272 * UIProcess/API/qt/ClientImpl.cpp: 13273 (loadFinished): 13274 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 13275 (qt_wk_didFinishLoadForFrame): 13276 (qt_wk_didFailLoadWithErrorForFrame): 13277 13278 2010-12-13 Sam Weinig <sam (a] webkit.org> 13279 13280 Reviewed by Anders Carlsson. 13281 13282 WebKit2: Need to be able to set the application name for the user agent for a WKPage 13283 https://bugs.webkit.org/show_bug.cgi?id=51011 13284 13285 Fixes: 13286 WebKit2: Need to be able to set the application name for the user agent for a WKPage 13287 <rdar://problem/8564532> 13288 WebKit2: Need to be able to get the computed user agent for a WKPage 13289 <rdar://problem/8637285> 13290 13291 Moves user agent computation to the UIProcess and just passes it to the WebProcess 13292 when it has changed. 13293 13294 * Shared/WebPageCreationParameters.cpp: 13295 (WebKit::WebPageCreationParameters::encode): 13296 (WebKit::WebPageCreationParameters::decode): 13297 * Shared/WebPageCreationParameters.h: 13298 Add a user agent to the creation parameters. 13299 13300 * UIProcess/API/C/WKPage.cpp: 13301 (WKPageCopyUserAgent): 13302 (WKPageCopyApplicationNameForUserAgent): 13303 (WKPageSetApplicationNameForUserAgent): 13304 (WKPageSetCustomUserAgent): 13305 * UIProcess/API/C/WKPage.h: 13306 Add new API to set the application name and access the computed user agent. 13307 13308 * UIProcess/WebPageProxy.cpp: 13309 (WebKit::WebPageProxy::WebPageProxy): 13310 (WebKit::WebPageProxy::close): 13311 (WebKit::WebPageProxy::setUserAgent): 13312 (WebKit::WebPageProxy::setApplicationNameForUserAgent): 13313 (WebKit::WebPageProxy::setCustomUserAgent): 13314 (WebKit::WebPageProxy::processDidCrash): 13315 (WebKit::WebPageProxy::creationParameters): 13316 * UIProcess/WebPageProxy.h: 13317 (WebKit::WebPageProxy::userAgent): 13318 (WebKit::WebPageProxy::applicationNameForUserAgent): 13319 * UIProcess/mac/WebPageProxyMac.mm: Added. 13320 * WebProcess/WebPage/WebPage.cpp: 13321 (WebKit::WebPage::WebPage): 13322 (WebKit::WebPage::setUserAgent): 13323 * WebProcess/WebPage/WebPage.h: 13324 (WebKit::WebPage::userAgent): 13325 * WebProcess/WebPage/WebPage.messages.in: 13326 Pipe through user agent. 13327 13328 (WebKit::callGestalt): 13329 (WebKit::macOSXVersionString): 13330 (WebKit::userVisibleWebKitVersionString): 13331 (WebKit::WebPageProxy::standardUserAgent): 13332 * UIProcess/win/WebPageProxyWin.cpp: Added. 13333 (WebKit::windowsVersion): 13334 (WebKit::userVisibleWebKitVersionString): 13335 (WebKit::WebPageProxy::standardUserAgent): 13336 Port standardUserAgent computation from WebKit1. 13337 13338 * UIProcess/qt/WebPageProxyQt.cpp: Added. 13339 (WebKit::WebPageProxy::standardUserAgent): 13340 Stub out the user agent so there is no change in behavior. 13341 13342 * WebKit2.pro: 13343 * WebKit2.xcodeproj/project.pbxproj: 13344 * win/WebKit2.vcproj: 13345 Add new file. 13346 13347 2010-12-13 Brady Eidson <beidson (a] apple.com> 13348 13349 Reviewed by Jon Honeycutt (and Brian Weinstein in heart). 13350 13351 <rdar://problem/8752202> and https://bugs.webkit.org/show_bug.cgi?id=50997 13352 Expose "link title" and "link label" to InjectedBundleHitTestResult API 13353 13354 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 13355 (WKBundleHitTestResultCopyLinkLabel): 13356 (WKBundleHitTestResultCopyLinkTitle): 13357 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 13358 13359 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 13360 (WebKit::InjectedBundleHitTestResult::linkLabel): 13361 (WebKit::InjectedBundleHitTestResult::linkTitle): 13362 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 13363 13364 2010-12-13 Brian Weinstein <bweinstein (a] apple.com> 13365 13366 Windows Build Fix. Add a needed include. 13367 13368 * UIProcess/win/WebView.cpp: 13369 13370 2010-12-13 Sam Weinig <sam (a] webkit.org> 13371 13372 Reviewed by Anders Carlsson. 13373 13374 Remove associated page concept from WKView constructor 13375 https://bugs.webkit.org/show_bug.cgi?id=50983 13376 13377 Step 2: Remove WebPageNamespace. It no longer does anything. 13378 13379 * Shared/APIObject.h: 13380 * UIProcess/API/C/WKPage.h: 13381 * UIProcess/API/mac/WKView.mm: 13382 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 13383 * UIProcess/API/qt/qgraphicswkview.cpp: 13384 * UIProcess/API/qt/qwkcontext.cpp: 13385 (QWKContext::QWKContext): 13386 * UIProcess/API/qt/qwkcontext_p.h: 13387 * UIProcess/API/qt/qwkpage.cpp: 13388 (QWKPagePrivate::QWKPagePrivate): 13389 * UIProcess/API/qt/qwkpage_p.h: 13390 * UIProcess/WebContext.cpp: 13391 (WebKit::WebContext::WebContext): 13392 (WebKit::WebContext::~WebContext): 13393 (WebKit::WebContext::createWebPage): 13394 * UIProcess/WebContext.h: 13395 * UIProcess/WebPageNamespace.cpp: Removed. 13396 * UIProcess/WebPageNamespace.h: Removed. 13397 * UIProcess/WebPageProxy.cpp: 13398 * UIProcess/WebPageProxy.h: 13399 (WebKit::WebPageProxy::context): 13400 * UIProcess/WebProcessProxy.cpp: 13401 (WebKit::WebProcessProxy::createWebPage): 13402 * UIProcess/WebProcessProxy.h: 13403 * UIProcess/win/WebView.cpp: 13404 (WebKit::WebView::WebView): 13405 * UIProcess/win/WebView.h: 13406 * WebKit2.pro: 13407 * WebKit2.xcodeproj/project.pbxproj: 13408 * win/WebKit2.vcproj: 13409 13410 2010-12-13 Sam Weinig <sam (a] webkit.org> 13411 13412 Fix windows build. 13413 13414 * UIProcess/win/WebView.h: 13415 13416 2010-12-13 Sam Weinig <sam (a] webkit.org> 13417 13418 Fix windows build. 13419 13420 * UIProcess/win/WebInspectorProxyWin.cpp: 13421 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 13422 * UIProcess/win/WebView.h: 13423 (WebKit::WebView::create): 13424 13425 2010-12-13 Sam Weinig <sam (a] webkit.org> 13426 13427 Reviewed by Anders Carlsson. 13428 13429 Remove associated page concept from WKView constructor 13430 https://bugs.webkit.org/show_bug.cgi?id=50983 13431 13432 Step 1: Remove associate page constructors from WKView and make 13433 all views use the shared namespace for the context. 13434 13435 * UIProcess/API/C/win/WKView.cpp: 13436 * UIProcess/API/C/win/WKView.h: 13437 * UIProcess/API/mac/WKView.h: 13438 * UIProcess/API/mac/WKView.mm: 13439 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 13440 * UIProcess/API/qt/qwkcontext.cpp: 13441 * UIProcess/API/qt/qwkcontext.h: 13442 * UIProcess/mac/WebInspectorProxyMac.mm: 13443 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 13444 * UIProcess/win/WebView.cpp: 13445 (WebKit::WebView::WebView): 13446 * UIProcess/win/WebView.h: 13447 (WebKit::WebView::create): 13448 13449 2010-12-13 Anders Carlsson <andersca (a] apple.com> 13450 13451 Fix build. 13452 13453 * UIProcess/WebPageProxy.h: 13454 13455 2010-12-13 Brian Weinstein <bweinstein (a] apple.com> 13456 13457 Reviewed by Adam Roben. 13458 13459 WebKit2: Leaks a WebView when opening/closing Web Inspector on Windows 13460 https://bugs.webkit.org/show_bug.cgi?id=50975 13461 <rdar://problem/8763501> 13462 13463 Make m_inspectorView be a RefPtr<WebView>, instead of a WebView*. 13464 13465 * UIProcess/WebInspectorProxy.cpp: 13466 (WebKit::WebInspectorProxy::WebInspectorProxy): If we are on Windows, include WebView.h. 13467 * UIProcess/WebInspectorProxy.h: Change the type of m_inspectorView to a RefPtr<WebView>. 13468 * UIProcess/win/WebInspectorProxyWin.cpp: 13469 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Remove the call to leakRef when creating the WebView. 13470 13471 2010-12-13 Anders Carlsson <andersca (a] apple.com> 13472 13473 Reviewed by Darin Adler. 13474 13475 Pass the complex text input state all the way to the UI process 13476 https://bugs.webkit.org/show_bug.cgi?id=50980 13477 13478 * PluginProcess/PluginControllerProxy.cpp: 13479 (WebKit::PluginControllerProxy::setComplexTextInputEnabled): 13480 * UIProcess/WebPageProxy.cpp: 13481 (WebKit::WebPageProxy::setComplexTextInputEnabled): 13482 * UIProcess/WebPageProxy.h: 13483 * UIProcess/WebPageProxy.messages.in: 13484 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 13485 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 13486 (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier): 13487 * WebProcess/Plugins/Plugin.h: 13488 * WebProcess/Plugins/PluginProxy.cpp: 13489 (WebKit::PluginProxy::pluginComplexTextInputIdentifier): 13490 (WebKit::PluginProxy::setComplexTextInputEnabled): 13491 * WebProcess/Plugins/PluginProxy.h: 13492 * WebProcess/Plugins/PluginProxy.messages.in: 13493 * WebProcess/Plugins/PluginView.cpp: 13494 (WebKit::PluginView::setComplexTextInputEnabled): 13495 13496 2010-12-13 Sam Weinig <sam (a] webkit.org> 13497 13498 Reviewed by Anders Carlsson. 13499 13500 Change the WebKit2 public API so there is no explicit WKPageNamespace object 13501 https://bugs.webkit.org/show_bug.cgi?id=50898 13502 13503 * Shared/API/c/WKBase.h: Remove definition of WKPageNamespaceRef. 13504 * UIProcess/API/C/WKAPICast.h: Remove toAPI/toImpl for WKPageNamespaceRef. 13505 13506 * UIProcess/API/C/WKPage.cpp: 13507 * UIProcess/API/C/WKPage.h: 13508 Replace WKPageGetPageNamespace with WKPageGetContext. 13509 13510 * UIProcess/API/C/WKPageNamespace.cpp: Removed. 13511 * UIProcess/API/C/WKPageNamespace.h: Removed. 13512 13513 * UIProcess/API/C/WebKit2.h: Remove #include of WKPageNamespace.h. 13514 13515 * UIProcess/API/C/win/WKView.cpp: 13516 (WKViewCreate): Changed to take a WKContextRef instead of a WKPageNamespaceRef. 13517 (WKViewCreateUsingSharedProcess): Added. Similar to WKViewCreate except that 13518 all callers of it will have their views end up in the same shared process, whereas 13519 with WKViewCreate, a new internal page namespace will be created and could place 13520 the view's WebPage into a new process. 13521 (WKViewCreateForAssociatedPage): Added. Creates a view that is forced to use the 13522 same process as the passed in page. 13523 13524 * UIProcess/win/WebView.cpp: 13525 (WebKit::WebView::WebView): 13526 (WebKit::WebView::initialize): 13527 * UIProcess/win/WebView.h: 13528 (WebKit::WebView::create): 13529 (WebKit::WebView::createUsingSharedProcess): 13530 (WebKit::WebView::createForAssociatedPage): 13531 Implementation of the WKView create functions. 13532 13533 * UIProcess/API/C/win/WKView.h: 13534 * UIProcess/API/mac/WKView.h: 13535 * UIProcess/API/mac/WKView.mm: 13536 (-[WKView initWithFrame:]): 13537 (-[WKView initWithFrame:contextRef:]): 13538 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 13539 (-[WKView initWithFrame:contextRef:usingSharedProcess:]): 13540 (-[WKView initWithFrame:contextRef:pageGroupRef:usingSharedProcess:]): 13541 (-[WKView initWithFrame:forAssociatedPageRef:]): 13542 (-[WKView initWithFrame:forAssociatedPageRef:pageGroupRef:]): 13543 (-[WKView initWithFrame:pageNamespace:pageGroup:]): 13544 Add new initializers for the objective-c WKView. It follows the same 13545 pattern as WKViewRef. 13546 13547 * UIProcess/API/qt/qwkcontext.cpp: 13548 (QWKContext::QWKContext): 13549 * UIProcess/API/qt/qwkcontext.h: 13550 Remove uses of WKPageNamespaceRef. 13551 13552 * UIProcess/WebContext.cpp: 13553 (WebKit::WebContext::sharedPageNamespace): Returns a shared 13554 page namespace used by the view's createUsingSharedProcess constructions. 13555 (WebKit::WebContext::createPageNamespace): Change to return 13556 a PassRefPtr to make things clearer. 13557 (WebKit::WebContext::pageNamespaceWasDestroyed): Clear the shared 13558 namespace if it is cleared. 13559 * UIProcess/WebContext.h: 13560 13561 * UIProcess/WebPageNamespace.h: Remove unused "struct WKContextStatistics". 13562 13563 * UIProcess/WebPageProxy.cpp: 13564 (WebKit::WebPageProxy::context): 13565 * UIProcess/WebPageProxy.h: 13566 Add context getter. 13567 13568 * UIProcess/mac/WebInspectorProxyMac.mm: 13569 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 13570 * UIProcess/win/WebInspectorProxyWin.cpp: 13571 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 13572 Use forAssociatedPageRef constructor for the WebInspector view. 13573 13574 * WebKit2.pro: 13575 * WebKit2.xcodeproj/project.pbxproj: 13576 * win/WebKit2.vcproj: 13577 * win/WebKit2Generated.make: 13578 Remove WKPageNamespace.h/cpp. 13579 13580 2010-12-13 Brent Fulgham <bfulgham (a] webkit.org> 13581 13582 Unreviewed build fix. 13583 13584 * UIProcess/win/WebInspectorProxyWin.cpp: Non-Apple builds 13585 need to include <wtf/RetainPtr.h>. 13586 13587 2010-12-13 Brent Fulgham <bfulgham (a] webkit.org> 13588 13589 Unreviewed build fix after r73807. 13590 13591 Added stub implementation of Download object. 13592 13593 * WebProcess/Downloads/curl: Added. 13594 * WebProcess/Downloads/curl/DownloadCurl.cpp: Added. 13595 (WebKit::Download::start): 13596 (WebKit::Download::startWithHandle): 13597 (WebKit::Download::cancel): 13598 (WebKit::Download::platformInvalidate): 13599 * win/WebKit2.vcproj: Exclude DownloadCFNet for Cairo builds, 13600 added DownloadCurl (excluded for regular Apple builds.) 13601 13602 2010-12-13 Anders Carlsson <andersca (a] apple.com> 13603 13604 Reviewed by Sam Weinig. 13605 13606 Add the ability for plug-ins to toggle complex text input 13607 https://bugs.webkit.org/show_bug.cgi?id=50966 13608 13609 * PluginProcess/PluginControllerProxy.cpp: 13610 (WebKit::PluginControllerProxy::PluginControllerProxy): 13611 Initialize m_isComplexTextInputEnabled. 13612 13613 (WebKit::PluginControllerProxy::setComplexTextInputEnabled): 13614 Update m_isComplexTextInputEnabled. 13615 13616 * PluginProcess/PluginControllerProxy.h: 13617 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 13618 (WebKit::NetscapePlugin::NetscapePlugin): 13619 Initialize m_pluginHasFocus and m_windowHasFocus. 13620 13621 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 13622 (WebKit::NetscapePlugin::isWindowActive): 13623 Return m_windowHasFocus. 13624 13625 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 13626 (WebKit::NetscapePlugin::platformSetFocus): 13627 Update m_pluginHasFocus and call setComplexTextInputEnabled. 13628 13629 (WebKit::NetscapePlugin::windowFocusChanged): 13630 Update m_windowHasFocus and call setComplexTextInputEnabled. 13631 13632 * WebProcess/Plugins/PluginController.h: 13633 Add setComplexTextInputEnabled. 13634 13635 * WebProcess/Plugins/PluginView.cpp: 13636 (WebKit::PluginView::setComplexTextInputEnabled): 13637 * WebProcess/Plugins/PluginView.h: 13638 Add setComplexTextInputEnabled 13639 13640 2010-12-13 David Hyatt <hyatt (a] apple.com> 13641 13642 Reviewed by Adam Roben. 13643 13644 Remove the space behavior that I added. It's covered in EventHandler in WebCore 13645 already for Windows. 13646 13647 * WebProcess/WebPage/win/WebPageWin.cpp: 13648 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 13649 13650 2010-12-13 David Hyatt <hyatt (a] apple.com> 13651 13652 Reviewed by Sam Weinig. 13653 13654 https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. Use 13655 logical scrolling instead of physical scrolling for those keys in WebKit2. 13656 13657 * WebProcess/WebPage/mac/WebPageMac.mm: 13658 (WebKit::logicalScroll): 13659 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 13660 * WebProcess/WebPage/qt/WebPageQt.cpp: 13661 (WebKit::logicalScroll): 13662 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 13663 * WebProcess/WebPage/win/WebPageWin.cpp: 13664 (WebKit::logicalScroll): 13665 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 13666 13667 2010-12-13 Brian Weinstein <bweinstein (a] apple.com> 13668 13669 Reviewed by Darin Adler. 13670 13671 WebKit2: Focusing Web Inspector window doesn't focus contents on Windows 13672 https://bugs.webkit.org/show_bug.cgi?id=50947 13673 <rdar://problem/8762468> 13674 13675 When we get the notification that the inspector window has focused, focus the inner inspector view. 13676 13677 * UIProcess/WebInspectorProxy.h: 13678 * UIProcess/win/WebInspectorProxyWin.cpp: 13679 (WebKit::WebInspectorProxy::onSetFocusEvent): Set the focus of the inspector view, because that is what 13680 needs to be focused in the inspector window. 13681 13682 2010-12-13 Dan Bernstein <mitz (a] apple.com> 13683 13684 Coding style fix. 13685 13686 * WebProcess/Downloads/mac/DownloadMac.mm: 13687 (WebKit::originatingURLFromBackForwardList): 13688 13689 2010-12-13 Balazs Kelemen <kbalazs (a] webkit.org> 13690 13691 Unreviewed trivial build fix (linux, 64 bit, gcc-4.5.1) 13692 13693 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13694 (WebKit::WebChromeClient::exceededDatabaseQuota): 13695 Don't use unsigned long long as alias for uint64_t. 13696 13697 2010-12-13 Anders Carlsson <andersca (a] apple.com> 13698 13699 Reviewed by John Sullivan. 13700 13701 Crash when clicking a download link that targets a new tab 13702 https://bugs.webkit.org/show_bug.cgi?id=50935 13703 <rdar://problem/8760572> 13704 13705 Check for a null history item. 13706 13707 * WebProcess/Downloads/mac/DownloadMac.mm: 13708 (WebKit::originatingURLFromBackForwardList): 13709 13710 2010-12-13 Andras Becsi <abecsi (a] webkit.org> 13711 13712 Reviewed by Csaba Osztrogonc. 13713 13714 [Qt][WK2] Fix build if WebKitTools are not available 13715 https://bugs.webkit.org/show_bug.cgi?id=50242 13716 13717 * DerivedSources.pro: Remove dependency to WebKitTools. 13718 * Scripts/generate-forwarding-headers.pl: Moved from WebKitTools/Scripts/generate-forwarding-headers.pl. 13719 13720 2010-12-13 Csaba Osztrogonc <ossy (a] webkit.org> 13721 13722 Unreviewed. 13723 13724 * WebKit2.pro: Remove non-existant Shared/DrawingAreaBase.h from build system. 13725 13726 2010-10-28 MORITA Hajime <morrita (a] google.com> 13727 13728 Reviewed by Ojan Vafai. 13729 13730 spellcheck does not check pasted text 13731 https://bugs.webkit.org/show_bug.cgi?id=40092 13732 13733 Added a stub implememntation. 13734 13735 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13736 (WebKit::WebEditorClient::requestCheckingOfString): 13737 * WebProcess/WebCoreSupport/WebEditorClient.h: 13738 13739 2010-12-12 Brian Weinstein <bweinstein (a] apple.com> 13740 13741 Reviewed by Tim Hatcher. 13742 13743 WebKit2: Implement WebInspector::localizedStringsURL on Windows 13744 https://bugs.webkit.org/show_bug.cgi?id=50896 13745 13746 Find the localized strings file using CFBundleCopyResourceURL. 13747 13748 * WebProcess/WebPage/win/WebInspectorWin.cpp: 13749 (WebKit::WebInspector::localizedStringsURL): 13750 13751 2010-12-12 Sam Weinig <sam (a] webkit.org> 13752 13753 Reviewed by Anders Carlsson. 13754 13755 Give LogTextInput a sensible flag value. 13756 13757 * Platform/Logging.cpp: 13758 13759 2010-12-12 Sam Weinig <sam (a] webkit.org> 13760 13761 Reviewed by Anders Carlsson. 13762 13763 Remove incorrect assertion that has been firing in the API tester. 13764 13765 * UIProcess/WebDatabaseManagerProxy.cpp: 13766 (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): 13767 13768 2010-12-12 Sam Weinig <sam (a] webkit.org> 13769 13770 Reviewed by Anders Carlsson. 13771 13772 Disable WebKit2 logging by default. 13773 https://bugs.webkit.org/show_bug.cgi?id=50878 13774 13775 * Platform/Logging.cpp: 13776 (initializeLogChannelsIfNecessary): 13777 13778 2010-12-11 Brian Weinstein <bweinstein (a] apple.com> 13779 13780 Reviewed by Sam Weinig. 13781 13782 Web Inspector: Make inspector on Windows show and be usable in WebKit2 13783 https://bugs.webkit.org/show_bug.cgi?id=50877 13784 13785 Hook up the unimplemented methods in WebInspectorProxyWin to get the web inspector 13786 showing and usable in WebKit2 on Windows. 13787 13788 * UIProcess/WebInspectorProxy.cpp: 13789 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize Windows-specific variables to 0. 13790 * UIProcess/WebInspectorProxy.h: 13791 * UIProcess/win/WebInspectorProxyWin.cpp: 13792 (WebKit::WebInspectorProxy::registerInspectorViewWindowClass): Sets up the inspector view class. 13793 (WebKit::WebInspectorProxy::InspectorViewWndProc): Calls through to the WebInspectorProxy's non-static 13794 WndProc. 13795 (WebKit::WebInspectorProxy::wndProc): Handles WM_SIZE, WM_CLOSE, and WM_GETMINMAXINFO, the rest go to 13796 ::DefWindowProc. 13797 (WebKit::WebInspectorProxy::onSizeEvent): Resize the WKView that has the inspector page to match the 13798 outer window that was just resized. 13799 (WebKit::WebInspectorProxy::onMinMaxInfoEvent): Set the minimum size the window can be resized to. 13800 (WebKit::WebInspectorProxy::onCloseEvent): Hide the window, and call WebInspectorProxy::close. 13801 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WKView and return its page. 13802 (WebKit::WebInspectorProxy::platformOpen): Create an HWND for the inspector, put the inspector's WKView 13803 inside of it, and show the window. 13804 (WebKit::WebInspectorProxy::platformClose): Destroy the inspector's window (which destroys the child WKView), 13805 and 0 out instance variables. 13806 (WebKit::WebInspectorProxy::inspectorPageURL): Finds inspector/inspector.html in the WebKit bundle. 13807 13808 2010-12-12 Balazs Kelemen <kbalazs (a] webkit.org> 13809 13810 Reviewed by Andreas Kling. 13811 13812 [Qt][WK2] Crash in WebPage constructor. 13813 https://bugs.webkit.org/show_bug.cgi?id=50892 13814 13815 * WebProcess/qt/WebProcessQt.cpp: 13816 (WebKit::WebProcess::platformInitializeWebProcess): 13817 Disable runtime enabled features that have no WebKit2 implementation yet. 13818 13819 2010-12-10 Jon Honeycutt <jhoneycutt (a] apple.com> 13820 13821 Select menus with short option titles do not paint properly 13822 https://bugs.webkit.org/show_bug.cgi?id=50860 13823 <rdar://problem/8660807> 13824 13825 The backing stores used for painting the popup menu items were only as 13826 wide as the widest option title, but the popup window that we create is 13827 at least as wide as the <select> element. This adjusts the backing 13828 stores to be at least as wide as the <select>, as well. 13829 13830 Reviewed by Sam Weinig. 13831 13832 * UIProcess/win/WebPopupMenuProxyWin.cpp: 13833 (WebKit::WebPopupMenuProxyWin::paint): 13834 Paint using the width of the backing store. 13835 13836 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 13837 (WebKit::WebPopupMenu::show): 13838 Pass the page coordinates of the <select> element to 13839 setUpPlatformData(). 13840 13841 * WebProcess/WebCoreSupport/WebPopupMenu.h: 13842 Added new parameter to setUpPlatformData(). 13843 13844 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: 13845 (WebKit::WebPopupMenu::setUpPlatformData): 13846 Ditto. 13847 13848 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: 13849 (WebKit::WebPopupMenu::setUpPlatformData): 13850 Ditto. 13851 13852 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 13853 (WebKit::WebPopupMenu::setUpPlatformData): 13854 Fixed a typo in a comment. Adjust the backing store size to be at least 13855 as wide as the <select> element, and use that width when painting the 13856 items to the backing store. 13857 13858 2010-12-11 Csaba Osztrogonc <ossy (a] webkit.org> 13859 13860 Unreviewed Qt buildfix after r73808. 13861 13862 WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager 13863 https://bugs.webkit.org/show_bug.cgi?id=50606 13864 13865 * DerivedSources.pro: 13866 13867 2010-12-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 13868 13869 Unreviewed, rolling out r73834. 13870 http://trac.webkit.org/changeset/73834 13871 https://bugs.webkit.org/show_bug.cgi?id=50866 13872 13873 It broke Qt-WebKit2 build, because of missing WK2_DIR variable 13874 (Requested by Ossy on #webkit). 13875 13876 * WebKit2.pro: 13877 13878 2010-12-10 Siddharth Mathur <siddharth.mathur (a] nokia.com> 13879 13880 Reviewed by Eric Seidel. 13881 13882 [Qt][WK2] Make WebKit2 static library compile on Symbian 13883 https://bugs.webkit.org/show_bug.cgi?id=50861 13884 13885 * WebKit2.pro: 13886 13887 2010-12-10 Sam Weinig <sam (a] webkit.org> 13888 13889 Reviewed by Anders Carlsson. 13890 13891 Ensure that we are not getting too many wheel events 13892 <rdar://problem/7881465> 13893 13894 Add simple coalescing of wheel events being sent to the WebProcess. This 13895 adds two models, one which drops interim events and one which merges events 13896 together. For now, we are using the simpler dropping model. 13897 13898 * Shared/WebEvent.h: 13899 (WebKit::WebEvent::modifiers): 13900 * UIProcess/WebPageProxy.cpp: 13901 (WebKit::WebPageProxy::WebPageProxy): 13902 (WebKit::coalesceWheelEvents): 13903 (WebKit::WebPageProxy::handleWheelEvent): 13904 (WebKit::WebPageProxy::didReceiveEvent): 13905 * UIProcess/WebPageProxy.h: 13906 13907 2010-12-10 Anders Carlsson <andersca (a] apple.com> 13908 13909 Reviewed by John Sullivan. 13910 13911 Make WKContextGetStatistics gather global statistics 13912 https://bugs.webkit.org/show_bug.cgi?id=50850 13913 13914 Change WKContextGetStatistics to work on all objects in the process, and 13915 make it more robust by incrementing/decrementing the counts in the constructor 13916 and destructor respectively. 13917 13918 Also, rename WKContextGetStatistics to WKContextGetGlobalStatistics to better match 13919 what it's actually doing. 13920 13921 * UIProcess/API/C/WKContext.cpp: 13922 (WKContextGetStatistics): 13923 * UIProcess/API/C/WKContextPrivate.h: 13924 * UIProcess/API/mac/WKView.mm: 13925 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): 13926 (-[WKView dealloc]): 13927 * UIProcess/WebContext.cpp: 13928 (WebKit::WebContext::statistics): 13929 * UIProcess/WebContext.h: 13930 * UIProcess/WebFrameProxy.cpp: 13931 (WebKit::WebFrameProxy::WebFrameProxy): 13932 (WebKit::WebFrameProxy::~WebFrameProxy): 13933 * UIProcess/WebPageNamespace.cpp: 13934 * UIProcess/WebPageNamespace.h: 13935 * UIProcess/WebPageProxy.cpp: 13936 (WebKit::WebPageProxy::WebPageProxy): 13937 (WebKit::WebPageProxy::~WebPageProxy): 13938 * UIProcess/WebPageProxy.h: 13939 13940 2010-12-10 Brian Weinstein <bweinstein (a] apple.com> 13941 13942 Reviewed by Darin Adler. 13943 13944 WebKit2: Context menu support on Windows 13945 <https://bugs.webkit.org/show_bug.cgi?id=50514> 13946 13947 Implment showing of the context menu on Windows for WebKit2, and calling through to 13948 WebPageProxy::contextMenuItemSelected. 13949 13950 * UIProcess/win/WebContextMenuProxyWin.cpp: 13951 (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): Initialize the member variables. 13952 (WebKit::WebContextMenuProxyWin::populateMenu): Iterate over the vector of WebContextMenuItemData 13953 that was passed in, adding the menu items and recursively calling back into this function to populate 13954 any submenus that are needed. This function also sets up the map from action identifierss to WebContextMenuItemData, 13955 to use to find the WebContextMenuItemData from a selected menu item. 13956 (WebKit::WebContextMenuProxyWin::showContextMenu): Destroy any menu we have already created, populate the menu 13957 to show, and show the context menu. Once TrackPopupMenuEx returns, it returns identifier of the selected menu item. 13958 Look up that identifier in the map we created, and tell the WebPageProxy that a context menu item was selected. 13959 (WebKit::WebContextMenuProxyWin::hideContextMenu): Destroy the HMENU if it is non-null, and clear the identifier map. 13960 * UIProcess/win/WebContextMenuProxyWin.h: 13961 (WebKit::WebContextMenuProxyWin::create): Call through to the constructor, and change the arguments that it takes. 13962 * UIProcess/win/WebView.cpp: 13963 (WebKit::WebView::createContextMenuProxy): Call with the correct arguments. 13964 13965 2010-12-10 Jessie Berlin <jberlin (a] apple.com> 13966 13967 Qt Build Fix. Unreviewed. 13968 13969 * WebKit2.pro: 13970 Add the Messages.h and MessageReceivers.h. 13971 13972 2010-12-10 Jessie Berlin <jberlin (a] apple.com> 13973 13974 Reviewed by Adam Roben and Sam Weinig. 13975 13976 WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager 13977 https://bugs.webkit.org/show_bug.cgi?id=50606 13978 13979 Add a WebDatabaseManagerProxy owned by the WebContext. 13980 13981 Expose API (similar to the WebKit1 API) to get a list of origins for which there are 13982 Databases, delete all the databases for a given origin, and delete all the databases. 13983 13984 Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers. 13985 * DerivedSources.make: 13986 * Platform/CoreIPC/MessageID.h: 13987 13988 Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager). 13989 * Shared/API/c/WKBase.h: 13990 * Shared/APIObject.h: 13991 * UIProcess/API/C/WKAPICast.h: 13992 13993 * UIProcess/API/C/WKContext.cpp: 13994 (WKContextGetDatabaseManager): 13995 Expose API to get the DatabaseManager. 13996 * UIProcess/API/C/WKContext.h: 13997 13998 * UIProcess/API/C/WKDatabaseManager.cpp: Added. 13999 (WKDatabaseManagerGetTypeID): 14000 (WKDatabaseManagerGetDatabaseOrigins): 14001 (callGetDatabaseOriginsBlockBlockAndDispose): 14002 (WKDatabaseManagerGetDatabaseOrigins_b): 14003 (WKDatabaseManagerDeleteDatabasesForOrigin): 14004 (WKDatabaseManagerDeleteAllDatabases): 14005 * UIProcess/API/C/WKDatabaseManager.h: Added. 14006 14007 * UIProcess/WebContext.cpp: 14008 (WebKit::WebContext::WebContext): 14009 Create the WebDatabaseManagerProxy. 14010 (WebKit::WebContext::processDidClose): 14011 Invalidate the WebDatabaseManagerProxy. 14012 (WebKit::WebContext::didReceiveMessage): 14013 Forward messages to the WebDatabaseManagerProxy. 14014 * UIProcess/WebContext.h: 14015 (WebKit::WebContext::databaseManagerProxy): 14016 14017 * UIProcess/WebDatabaseManagerProxy.cpp: Added. 14018 (WebKit::WebDatabaseManagerProxy::create): 14019 (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): 14020 (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy): 14021 (WebKit::WebDatabaseManagerProxy::invalidate): 14022 Invalidate the map of callbacks for getDatabaseOrigins. 14023 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 14024 Store the callback and send the request for the origins which have databases to the 14025 WebProcess. 14026 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 14027 Call the callback function with the SecurityOrigins created from the identifiers received. 14028 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 14029 If the origin exists, send the message on to the WebProcess to delete the databases 14030 associated with that origin. 14031 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 14032 Send the message to the WebProcess to delete all the databases. 14033 * UIProcess/WebDatabaseManagerProxy.h: Added. 14034 (WebKit::WebDatabaseManagerProxy::type): 14035 * UIProcess/WebDatabaseManagerProxy.messages.in: Added. 14036 14037 * UIProcess/WebPageProxy.cpp: 14038 Move invalidateCallbackMap from here ... 14039 * UIProcess/GenericCallback.h: 14040 (WebKit::invalidateCallbackMap): 14041 .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy). 14042 14043 * UIProcess/WebProcessProxy.cpp: 14044 (WebKit::WebProcessProxy::didReceiveMessage): 14045 Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext. 14046 14047 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 14048 (WebKit::WebDatabaseManager::didReceiveMessage): 14049 (WebKit::WebDatabaseManager::getDatabaseOrigins): 14050 Send an array of the identifiers for the SecurityOrigins for which there are databases to 14051 the UIProcess. 14052 (WebKit::WebDatabaseManager::deleteDatabasesForOrigin): 14053 If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the 14054 databases for that origin. 14055 (WebKit::WebDatabaseManager::deleteAllDatabases): 14056 Tell the DatabaseTracker to delete the databases for that origin. 14057 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 14058 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added. 14059 * WebProcess/WebProcess.cpp: 14060 (WebKit::WebProcess::didReceiveMessage): 14061 14062 * WebKit2.pro: 14063 Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h 14064 * WebKit2.xcodeproj/project.pbxproj: 14065 Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in. 14066 * win/WebKit2.vcproj: 14067 Ditto. 14068 * win/WebKit2Generated.make: 14069 Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows. 14070 14071 2010-12-10 Ada Chan <adachan (a] apple.com> 14072 14073 Reviewed by Anders Carlsson. 14074 14075 Implement Download::start() and Download::startWithHandle() on Windows. 14076 https://bugs.webkit.org/show_bug.cgi?id=50844 14077 14078 * WebProcess/Downloads/Download.h: 14079 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 14080 (WebKit::Download::start): Create a CFURLDownloadRef and schedule it. 14081 (WebKit::Download::startWithHandle): Create a CFURLDownloadRef with the loading connection 14082 retrieved from the ResourceHandle. 14083 (WebKit::Download::platformInvalidate): 14084 (WebKit::downloadFromClientInfo): 14085 (WebKit::didStartCallback): 14086 (WebKit::willSendRequestCallback): 14087 (WebKit::didReceiveAuthenticationChallengeCallback): 14088 (WebKit::didReceiveResponseCallback): 14089 (WebKit::willResumeWithResponseCallback): 14090 (WebKit::didReceiveDataCallback): 14091 (WebKit::shouldDecodeDataOfMIMETypeCallback): 14092 (WebKit::decideDestinationWithSuggestedObjectNameCallback): 14093 (WebKit::didCreateDestinationCallback): 14094 (WebKit::didFinishCallback): 14095 (WebKit::didFailCallback): 14096 14097 2010-12-10 Enrica Casucci <enrica (a] apple.com> 14098 14099 Windows build fix. Unreviewed. 14100 14101 Adding a dummy synchronous message for platforms 14102 that don't have any. 14103 14104 * WebProcess/WebPage/WebPage.cpp: 14105 (WebKit::WebPage::dummy): 14106 * WebProcess/WebPage/WebPage.h: 14107 * WebProcess/WebPage/WebPage.messages.in: 14108 14109 2010-12-09 Brian Weinstein <bweinstein (a] apple.com> 14110 14111 Reviewed by Adam Roben. 14112 14113 Prep for WebKit2: Context menu support on Windows 14114 https://bugs.webkit.org/show_bug.cgi?id=50514 14115 14116 Update WebKit2 to call the correct code when CROSS_PLATFORM_CONTEXT_MENUS is set. 14117 14118 * Shared/WebContextMenuItemData.cpp: 14119 (WebKit::WebContextMenuItemData::WebContextMenuItemData): Add a branch based on whether or not 14120 CROSS_PLATFORM_CONTEXT_MENUS is set. 14121 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 14122 (WebKit::WebContextMenuClient::customizeMenu): Define different functions based on 14123 whether or not CROSS_PLATFORM_CONTEXT_MENUS. Both of these are stubs, so functionality 14124 doesn't need to be shared. 14125 * WebProcess/WebCoreSupport/WebContextMenuClient.h: Define different functions based on 14126 whether or not CROSS_PLATFORM_CONTEXT_MENUS. 14127 * WebProcess/WebPage/WebContextMenu.cpp: 14128 (WebKit::WebContextMenu::show): Add a branch based on whether or not 14129 CROSS_PLATFORM_CONTEXT_MENUS is set. 14130 14131 2010-12-09 Enrica Casucci <enrica (a] apple.com> 14132 14133 Reviewed by Alexey Proskuryakov. 14134 14135 Implement IME support for Mac. 14136 <rdar://problem/7660589> WebKit2: Implement IME support for Mac. 14137 https://bugs.webkit.org/show_bug.cgi?id=50788 14138 14139 This patch addes support for input methods in WebKit2. 14140 In order to support IME, it was necessary to add synchronous calls from the UIProcess 14141 to the WebProcess. These calls all have a timeout of 1 second. 14142 The current implementation still uses the NSTextInput protocol, but the plan is to move 14143 to the NSTextInputClient protocol. This has not been done yet for ease of comparison with 14144 WebKit. attributedSubstringFromRange is the only method that has not been implemented, because 14145 I have not yet decided what is the best way to send an NSAttributedString across the process 14146 boundary. 14147 14148 * Platform/CoreIPC/HandleMessage.h: 14149 (CoreIPC::callMemberFunction): Added template for member function. 14150 with four reply arguments. 14151 * Scripts/webkit2/messages.py: Added CompositionUnderline and relevant header. 14152 * Shared/WebCoreArgumentCoders.h: 14153 (CoreIPC::): Added encoder/decoder for CompositionUnderline. 14154 * UIProcess/API/mac/PageClientImpl.h: Added parameters to interceptKeyEvent and selectionChanged. 14155 * UIProcess/API/mac/PageClientImpl.mm: 14156 (WebKit::PageClientImpl::selectionChanged): Added parameters. 14157 (WebKit::PageClientImpl::interceptKeyEvent): Added parameters. 14158 * UIProcess/API/mac/WKView.mm: 14159 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): Added initialization of new private members. 14160 (-[WKView insertText:]): 14161 (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:range:]): Added parameters. 14162 (-[WKView _interceptKeyEvent:hasComposition:start:end:lines:WebCore::]): Added parameters. 14163 (-[WKView keyDown:]): Modified to reset state on each keyDown. 14164 (-[WKView selectedRange]): Added. 14165 (-[WKView hasMarkedText]): Added. 14166 (-[WKView unmarkText]): Added. 14167 (-[WKView validAttributesForMarkedText]): Added. 14168 (extractUnderlines): Added. 14169 (-[WKView setMarkedText:selectedRange:]): Added. 14170 (-[WKView markedRange]): Added. 14171 (-[WKView attributedSubstringFromRange:]): Added. 14172 (-[WKView characterIndexForPoint:]): Added. 14173 (-[WKView firstRectForCharacterRange:]): Added. 14174 (-[WKView conversationIdentifier]): Added. 14175 * UIProcess/API/mac/WKViewInternal.h: Added parameters to _interceptKeyEvent and _selectionChanged. 14176 * UIProcess/PageClient.h: Added parameters to interpretKeyEvent and selectionChanged. 14177 * UIProcess/WebPageProxy.cpp: 14178 (WebKit::WebPageProxy::getMarkedRange): Added. 14179 (WebKit::WebPageProxy::characterIndexForPoint): Added. 14180 (WebKit::WebPageProxy::firstRectForCharacterRange): Added. 14181 (WebKit::WebPageProxy::interpretKeyEvent): Additional parameters. 14182 (WebKit::WebPageProxy::didSelectionChange): Additional parameters for Mac platform. 14183 * UIProcess/WebPageProxy.h: Added new methods and parameters to didSelectionChange 14184 and interpretKeyEvent. 14185 * UIProcess/WebPageProxy.messages.in: Added parameters to interpretKeyEvent and selectionChanged messages. 14186 * UIProcess/WebProcessProxy.h: 14187 (WebKit::WebProcessProxy::sendSync): Added support for synchronous messages. 14188 The default timeout is 1 second. 14189 * WebProcess/WebCoreSupport/WebEditorClient.cpp: respondToChangedSelection is now 14190 only for non Mac platform. 14191 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 14192 (WebKit::WebEditorClient::respondToChangedSelection): Added implementation for Mac platform. 14193 * WebProcess/WebPage/WebPage.cpp: 14194 (WebKit::WebPage::didReceiveSyncMessage): Added. 14195 * WebProcess/WebPage/WebPage.h: Added new methods and support for synchronous messages. 14196 * WebProcess/WebPage/WebPage.messages.in: Added new messages. 14197 * WebProcess/WebPage/mac/WebPageMac.mm: 14198 (WebKit::WebPage::interceptEditingKeyboardEvent): Added parameters. 14199 (WebKit::WebPage::convertRangeToPlatformRange): Added. 14200 (WebKit::WebPage::getMarkedRange): Added. 14201 (WebKit::characterRangeAtPoint): Added. 14202 (WebKit::WebPage::characterIndexForPoint): Added. 14203 (WebKit::convertToRange): Added. 14204 (WebKit::WebPage::firstRectForCharacterRange): Added. 14205 * WebProcess/WebProcess.cpp: 14206 (WebKit::WebProcess::didReceiveSyncMessage): Added. 14207 * WebProcess/WebProcess.h: Added didReceiveSyncMessage. 14208 14209 2010-12-10 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 14210 14211 Reviewed by Kenneth Rohde Christiansen. 14212 14213 [Qt][WK2] Add the QWKContext API class to wrap the WebContext. 14214 https://bugs.webkit.org/show_bug.cgi?id=50750 14215 14216 * UIProcess/API/qt/WKView.h: 14217 * UIProcess/API/qt/qgraphicswkview.cpp: 14218 (QGraphicsWKView::QGraphicsWKView): 14219 Change the WKPageNamespaceRef argument to QWKContext* 14220 * UIProcess/API/qt/qgraphicswkview.h: 14221 * UIProcess/API/qt/qwkcontext.cpp: Added. 14222 * UIProcess/API/qt/qwkcontext.h: Added. 14223 * UIProcess/API/qt/qwkcontext_p.h: Added. 14224 * UIProcess/API/qt/qwkpage.cpp: 14225 (QWKPagePrivate::QWKPagePrivate): 14226 (QWKPage::QWKPage): 14227 Change the WKPageNamespaceRef argument to QWKContext* 14228 * UIProcess/API/qt/qwkpage.h: 14229 * UIProcess/API/qt/qwkpage_p.h: 14230 * WebKit2.pro: 14231 14232 2010-12-10 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 14233 14234 Reviewed by Kenneth Rohde Christiansen. 14235 14236 Flush IPC connection send buffer after each message. 14237 14238 [Qt] [WK2] IPC messages are not sent until send buffer fills up 14239 https://bugs.webkit.org/show_bug.cgi?id=50667 14240 14241 * Platform/CoreIPC/qt/ConnectionQt.cpp: 14242 (CoreIPC::Connection::sendOutgoingMessage): 14243 14244 2010-12-09 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 14245 14246 Reviewed by Kenneth Rohde Christiansen. 14247 14248 [Qt][WK2] Use a single QNetworkAccessManager per web process. 14249 https://bugs.webkit.org/show_bug.cgi?id=50757 14250 14251 This allows a better management of network resources and the use 14252 of global cookie jar and disk cache across all frames. 14253 14254 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: 14255 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 14256 (WebCore::WebFrameNetworkingContext::networkAccessManager): 14257 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: 14258 * WebProcess/WebProcess.cpp: 14259 (WebKit::WebProcess::WebProcess): 14260 (WebKit::WebProcess::initializeWebProcess): 14261 (WebKit::WebProcess::shutdownIfPossible): 14262 * WebProcess/WebProcess.h: 14263 (WebKit::WebProcess::networkAccessManager): 14264 * WebProcess/mac/WebProcessMac.mm: 14265 (WebKit::WebProcess::platformInitializeWebProcess): 14266 (WebKit::WebProcess::platformShutdown): 14267 * WebProcess/qt/WebProcessQt.cpp: 14268 (WebKit::WebProcess::platformInitializeWebProcess): 14269 (WebKit::WebProcess::platformShutdown): 14270 * WebProcess/win/WebProcessWin.cpp: 14271 (WebKit::WebProcess::platformInitializeWebProcess): 14272 (WebKit::WebProcess::platformShutdown): 14273 14274 2010-12-09 Mark Rowe <mrowe (a] apple.com> 14275 14276 Fix the 32-bit build. 14277 14278 * Shared/cf/ArgumentCodersCF.cpp: 14279 (CoreIPC::sizeForNumberType): 14280 14281 2010-12-09 Maciej Stachowiak <mjs (a] apple.com> 14282 14283 Reviewed by Brady Eidson. 14284 14285 WebKit2: Control-click doesn't invoke context menu 14286 https://bugs.webkit.org/show_bug.cgi?id=50793 14287 <rdar://problem/8664800> 14288 14289 * WebProcess/WebPage/WebPage.cpp: 14290 (WebKit::isContextClick): New helper function - on Mac, not only right clicks 14291 but also control-left-clicks are context clicks. 14292 (WebKit::handleMouseEvent): Use above. 14293 14294 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14295 14296 Fix clang++ build. 14297 14298 * Scripts/webkit2/messages.py: 14299 DrawingAreaInfo is a struct. 14300 14301 * Shared/WebPreferencesStore.cpp: 14302 (WebKit::valueForKey): 14303 Move valueForKey above code that uses it. 14304 14305 * UIProcess/mac/WebInspectorProxyMac.mm: 14306 (-[WebInspectorProxyObjCAdapter windowWillClose:]): 14307 Remove trailing semicolon. 14308 14309 2010-12-09 Timothy Hatcher <timothy (a] apple.com> 14310 14311 Add support for transparent WebKit2 WKViews. 14312 14313 https://webkit.org/b/50785 14314 14315 Reviewed by Anders Carlsson. 14316 14317 * Shared/WebPageCreationParameters.cpp: 14318 (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground. 14319 (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground. 14320 * Shared/WebPageCreationParameters.h: 14321 * UIProcess/API/mac/WKView.h: 14322 * UIProcess/API/mac/WKView.mm: 14323 (-[WKView setDrawsBackground:]): Added. 14324 (-[WKView drawsBackground]): Added. 14325 (-[WKView setDrawsTransparentBackground:]): Added. 14326 (-[WKView drawsTransparentBackground]): Added. 14327 (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground. 14328 Use white or clear based on setDrawsTransparentBackground. 14329 (-[WKView isOpaque]): Return drawsBackground. 14330 * UIProcess/WebPageProxy.cpp: 14331 (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground. 14332 (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message. 14333 (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message. 14334 (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground. 14335 * UIProcess/WebPageProxy.h: 14336 (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground. 14337 (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground. 14338 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 14339 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background. 14340 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content. 14341 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14342 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag. 14343 * WebProcess/WebPage/WebPage.cpp: 14344 (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground. 14345 (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews. 14346 (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews. 14347 * WebProcess/WebPage/WebPage.h: 14348 (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground. 14349 (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground. 14350 * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground. 14351 14352 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14353 14354 Reviewed by Sam Weinig. 14355 14356 Cannot use NSKeyedArchiver in WK2 for ResourceResponses 14357 https://bugs.webkit.org/show_bug.cgi?id=50792 14358 <rdar://problem/8741799> 14359 14360 When encoding, first convert the requests and responses to the serializable dictionary representation 14361 and use the newly added CF CoreIPC encoders. When decoding, do the opposite. 14362 14363 * Shared/mac/WebCoreArgumentCodersMac.mm: 14364 (CoreIPC::encodeResourceRequest): 14365 (CoreIPC::decodeResourceRequest): 14366 (CoreIPC::encodeResourceResponse): 14367 (CoreIPC::decodeResourceResponse): 14368 14369 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14370 14371 Reviewed by Sam Weinig. 14372 14373 Add CoreIPC coders for CF types 14374 https://bugs.webkit.org/show_bug.cgi?id=50791 14375 14376 * Platform/CoreIPC/ArgumentDecoder.h: 14377 (CoreIPC::ArgumentDecoder::decodeEnum): 14378 * Platform/CoreIPC/ArgumentEncoder.h: 14379 (CoreIPC::ArgumentEncoder::encodeEnum): 14380 * Shared/cf/ArgumentCodersCF.cpp: Added. 14381 (CoreIPC::tokenNullTypeRef): 14382 (CoreIPC::typeFromCFTypeRef): 14383 (CoreIPC::encode): 14384 (CoreIPC::decode): 14385 (CoreIPC::sizeForNumberType): 14386 * Shared/cf/ArgumentCodersCF.h: Added. 14387 * WebKit2.xcodeproj/project.pbxproj: 14388 14389 2010-12-09 Brady Eidson <beidson (a] apple.com> 14390 14391 Reviewed by Sam Weinig. 14392 14393 <rdar://problem/8749750> and https://bugs.webkit.org/show_bug.cgi?id=50786 14394 WK2 authentication never consults WebCore session credential storage. 14395 14396 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14397 (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Since we don't need to expose this as 14398 API at this time, always return true. 14399 14400 2010-12-09 Sam Weinig <weinig (a] apple.com> 14401 14402 Reviewed by Alexey Proskuryakov. 14403 14404 WebKit2: Add support for access keys 14405 https://bugs.webkit.org/show_bug.cgi?id=49832 14406 14407 * WebProcess/WebPage/WebPage.cpp: 14408 (WebKit::handleKeyEvent): Match windows WebKit and call 14409 the event handler's for handleAccessKey function for 14410 system keys. This will never be hit on the Mac. 14411 14412 2010-12-09 Darin Adler <darin (a] apple.com> 14413 14414 Qt build fix. 14415 14416 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Include "NotImplemented.h". 14417 14418 2010-12-09 Steve Falkenburg <sfalken (a] apple.com> 14419 14420 Windows build fix. 14421 14422 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: 14423 14424 2010-12-09 Brady Eidson <beidson (a] apple.com> 14425 14426 Reviewed by Anders Carlsson. 14427 14428 <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777 14429 WebKit2 ContextMenuClient support 14430 14431 Implement google search in a cross platform manner, and add a FIXME for download support: 14432 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 14433 (WebKit::WebContextMenuClient::downloadURL): 14434 (WebKit::WebContextMenuClient::searchWithGoogle): 14435 14436 Mac implementations for speaking and searching: 14437 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: Added. 14438 (WebKit::WebContextMenuClient::lookUpInDictionary): Add a FIXME for now. 14439 (WebKit::WebContextMenuClient::isSpeaking): 14440 (WebKit::WebContextMenuClient::speak): 14441 (WebKit::WebContextMenuClient::stopSpeaking): 14442 (WebKit::WebContextMenuClient::searchWithSpotlight): 14443 14444 Stubs for Win and Qt: 14445 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Added. 14446 (WebKit::WebContextMenuClient::lookUpInDictionary): 14447 (WebKit::WebContextMenuClient::isSpeaking): 14448 (WebKit::WebContextMenuClient::speak): 14449 (WebKit::WebContextMenuClient::stopSpeaking): 14450 * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added. 14451 (WebKit::WebContextMenuClient::lookUpInDictionary): 14452 (WebKit::WebContextMenuClient::isSpeaking): 14453 (WebKit::WebContextMenuClient::speak): 14454 (WebKit::WebContextMenuClient::stopSpeaking): 14455 14456 Project file stuffs: 14457 * WebKit2.pro: 14458 * WebKit2.xcodeproj/project.pbxproj: 14459 * win/WebKit2.vcproj: 14460 14461 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14462 14463 Reviewed by Sam Weinig. 14464 14465 Don't leak the PDFDocument 14466 https://bugs.webkit.org/show_bug.cgi?id=50771 14467 14468 * UIProcess/API/mac/PDFViewController.mm: 14469 (WebKit::PDFViewController::setPDFDocumentData): 14470 14471 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14472 14473 Reviewed by Sam Weinig. 14474 14475 Add a basic implementation of PDF support on Mac 14476 https://bugs.webkit.org/show_bug.cgi?id=50768 14477 14478 * UIProcess/API/mac/PDFViewController.h: 14479 * UIProcess/API/mac/PDFViewController.mm: Added. 14480 (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): 14481 Setup the view hierarchy. 14482 14483 (-[WKPDFView invalidate]): 14484 Set the controller to null. 14485 14486 (-[WKPDFView pdfView]): 14487 Return the PDF view. 14488 14489 (WebKit::PDFViewController::create): 14490 (WebKit::PDFViewController::PDFViewController): 14491 Create a WKPDFView and insert it as a subview of the WKView. 14492 14493 (WebKit::PDFViewController::~PDFViewController): 14494 Remove the WKPDFView from the view hierarchy and invalidate it. 14495 14496 (WebKit::convertPostScriptDataSourceToPDF): 14497 Convert the data in the data reference to PDF and return it as a CFDataRef. 14498 14499 (WebKit::PDFViewController::setPDFDocumentData): 14500 Create a PDFDocument and set it on the PDF view. 14501 14502 (WebKit::PDFViewController::pdfDocumentClass): 14503 (WebKit::PDFViewController::pdfPreviewViewClass): 14504 (WebKit::PDFViewController::pdfKitBundle): 14505 Add soft-linking helper functions. 14506 14507 * UIProcess/API/mac/PageClientImpl.mm: 14508 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 14509 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): 14510 Call the WKView methods. 14511 14512 * UIProcess/API/mac/WKView.mm: 14513 (-[WKView _setPageHasCustomRepresentation:]): 14514 Create a PDF view controller if necessary. 14515 14516 (-[WKView _didFinishLoadingDataForCustomRepresentation:CoreIPC::]): 14517 Pass the data along to the PDF view controller. 14518 14519 * WebKit2.xcodeproj/project.pbxproj: 14520 Add new files. 14521 14522 2010-12-09 Anders Carlsson <andersca (a] apple.com> 14523 14524 Reviewed by Sam Weinig. 14525 14526 Add support for custom representation 14527 https://bugs.webkit.org/show_bug.cgi?id=50767 14528 14529 * Shared/WebProcessCreationParameters.cpp: 14530 (WebKit::WebProcessCreationParameters::encode): 14531 (WebKit::WebProcessCreationParameters::decode): 14532 * Shared/WebProcessCreationParameters.h: 14533 Add mimeTypesWithCustomRepresentation and encode and decode accordingly. 14534 14535 * UIProcess/API/mac/PageClientImpl.h: 14536 * UIProcess/API/mac/PageClientImpl.mm: 14537 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 14538 (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): 14539 Add empty stubs for now. 14540 14541 * UIProcess/API/qt/qwkpage.cpp: 14542 (QWKPagePrivate::didCommitLoadForMainFrame): 14543 (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation): 14544 * UIProcess/API/qt/qwkpage_p.h: 14545 Add empty stubs. 14546 14547 * UIProcess/PageClient.h: 14548 Add new functions for custom representations. 14549 14550 * UIProcess/WebFrameProxy.cpp: 14551 (WebKit::WebFrameProxy::canShowMIMEType): 14552 Check that the mime type is not null. 14553 14554 * UIProcess/WebPageProxy.cpp: 14555 (WebKit::WebPageProxy::didCommitLoadForFrame): 14556 This now takes an additional frameHasCustomRepresentation parameter. 14557 Call the page client function. 14558 14559 (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation): 14560 Call the page client function. 14561 14562 * UIProcess/WebPageProxy.messages.in: 14563 Change DidCommitLoadForFrame message, add DidFinishLoadingDataForCustomRepresentation message. 14564 14565 * UIProcess/mac/WebContextMac.mm: 14566 (WebKit::WebContext::platformInitializeWebProcess): 14567 We want to use custom representations for PDF and PostScript MIME types. 14568 14569 * UIProcess/win/WebView.cpp: 14570 (WebKit::WebView::didCommitLoadForMainFrame): 14571 (WebKit::WebView::didFinishLoadingDataForCustomRepresentation): 14572 * UIProcess/win/WebView.h: 14573 Add stubs. 14574 14575 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14576 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 14577 Initialize m_frameHasCustomRepresentation. 14578 14579 (WebKit::WebFrameLoaderClient::hasHTMLView): 14580 The frame has a HTML view unless it has a custom representation. 14581 14582 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 14583 Pass along whether the frame has a custom representation. 14584 14585 (WebKit::WebFrameLoaderClient::committedLoad): 14586 Don't send data back to WebCore if the frame has a custom representation. 14587 14588 (WebKit::WebFrameLoaderClient::finishedLoading): 14589 Send all the data to the UI process. 14590 14591 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 14592 Update the m_frameHasCustomRepresentation state based on the MIME type. 14593 14594 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 14595 (WebKit::WebFrameLoaderClient::frameHasCustomRepresentation): 14596 Add getter. 14597 14598 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: 14599 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 14600 Don't do any painting if the main frame has a custom representation. 14601 14602 * WebProcess/WebProcess.cpp: 14603 (WebKit::WebProcess::initializeWebProcess): 14604 Add all the MIME types with custom representations. 14605 14606 * WebProcess/WebProcess.h: 14607 (WebKit::WebProcess::shouldUseCustomRepresentationForMIMEType): 14608 Add getter. 14609 14610 2010-12-09 Maciej Stachowiak <mjs (a] apple.com> 14611 14612 Reviewed by Dan Bernstein. 14613 14614 Implement "Use Selection for Find" in WebKit2 14615 https://bugs.webkit.org/show_bug.cgi?id=50737 14616 <rdar://problem/8564881> 14617 14618 * UIProcess/API/mac/WKView.mm: Add support for the takeFindStringFromSelection: 14619 selector as a command. 14620 14621 2010-12-09 Brady Eidson <beidson (a] apple.com> 14622 14623 Reviewed by Maciej Stachowiak. 14624 14625 <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191 14626 WebKit2 Authentication Support 14627 14628 Implement authentication-related coders: 14629 * Shared/WebCoreArgumentCoders.h: 14630 14631 Allow the ResourceResponse coders to handle null responses: 14632 * Shared/mac/WebCoreArgumentCodersMac.mm: 14633 (CoreIPC::encodeResourceResponse): 14634 (CoreIPC::decodeResourceResponse): 14635 14636 Add new API and Impl casts for ProtectionSpace and Credential enums: 14637 * UIProcess/API/C/WKAPICast.h: 14638 (WebKit::toAPI): 14639 (WebKit::toCredentialPersistence): 14640 14641 Move the DecisionListener to be accessed off the challenge itself, and fill in other 14642 necessary API: 14643 * UIProcess/API/C/WKAuthenticationChallenge.cpp: 14644 (WKAuthenticationChallengeGetDecisionListener): 14645 (WKAuthenticationChallengeGetProtectionSpace): 14646 (WKAuthenticationChallengeGetProposedCredential): 14647 (WKAuthenticationChallengeGetPreviousFailureCount): 14648 * UIProcess/API/C/WKAuthenticationChallenge.h: 14649 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 14650 (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy): 14651 (WebKit::AuthenticationChallengeProxy::proposedCredential): 14652 (WebKit::AuthenticationChallengeProxy::protectionSpace): 14653 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 14654 (WebKit::AuthenticationChallengeProxy::previousFailureCount): 14655 14656 Fill in some credential API: 14657 * UIProcess/API/C/WKCredential.cpp: 14658 (WKCredentialCreate): 14659 (WKCredentialCopyUser): 14660 * UIProcess/API/C/WKCredential.h: 14661 * UIProcess/API/C/WKCredentialTypes.h: Added. 14662 * UIProcess/Authentication/WebCredential.cpp: 14663 (WebKit::WebCredential::WebCredential): 14664 (WebKit::WebCredential::user): 14665 * UIProcess/Authentication/WebCredential.h: 14666 (WebKit::WebCredential::create): 14667 14668 Fill in some protection space API: 14669 * UIProcess/API/C/WKProtectionSpace.cpp: 14670 (WKProtectionSpaceCopyHost): 14671 (WKProtectionSpaceGetPort): 14672 (WKProtectionSpaceCopyRealm): 14673 (WKProtectionSpaceGetIsProxy): 14674 (WKProtectionSpaceGetServerType): 14675 (WKProtectionSpaceGetReceivesCredentialSecurely): 14676 (WKProtectionSpaceGetAuthenticationScheme): 14677 * UIProcess/API/C/WKProtectionSpace.h: 14678 * UIProcess/API/C/WKProtectionSpaceTypes.h: Added. 14679 * UIProcess/Authentication/WebProtectionSpace.cpp: 14680 (WebKit::WebProtectionSpace::WebProtectionSpace): 14681 (WebKit::WebProtectionSpace::host): 14682 (WebKit::WebProtectionSpace::port): 14683 (WebKit::WebProtectionSpace::realm): 14684 (WebKit::WebProtectionSpace::isProxy): 14685 (WebKit::WebProtectionSpace::serverType): 14686 (WebKit::WebProtectionSpace::receivesCredentialSecurely): 14687 (WebKit::WebProtectionSpace::authenticationScheme): 14688 * UIProcess/Authentication/WebProtectionSpace.h: 14689 14690 Change the authentication challenge callback to reflect the new ownership of 14691 the DecisionListener: 14692 * UIProcess/API/C/WKPage.h: 14693 * UIProcess/WebLoaderClient.cpp: 14694 (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame): 14695 * UIProcess/WebLoaderClient.h: 14696 * UIProcess/WebPageProxy.cpp: 14697 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): 14698 14699 * WebKit2.pro: 14700 * WebKit2.xcodeproj/project.pbxproj: 14701 * win/WebKit2.vcproj: 14702 * win/WebKit2Generated.make: 14703 14704 2010-12-08 Sam Weinig <sam (a] webkit.org> 14705 14706 Reviewed by Geoffrey "Error" Garen. 14707 14708 Fix typo: Diplaying -> Displaying 14709 14710 * UIProcess/API/C/WKFrame.cpp: 14711 (WKFrameIsDisplayingStandaloneImageDocument): 14712 (WKFrameIsDisplayingMarkupDocument): 14713 * UIProcess/API/C/WKFrame.h: 14714 * UIProcess/WebFrameProxy.cpp: 14715 (WebKit::WebFrameProxy::canProvideSource): 14716 (WebKit::WebFrameProxy::isDisplayingStandaloneImageDocument): 14717 (WebKit::WebFrameProxy::isDisplayingMarkupDocument): 14718 * UIProcess/WebFrameProxy.h: 14719 14720 2010-12-08 Sam Weinig <sam (a] webkit.org> 14721 14722 Reviewed by Gavin Barraclough. 14723 14724 Add WebKit2 Preference for TabsToLinks behavior. 14725 <rdar://problem/8664263> 14726 14727 * Shared/WebPreferencesStore.h: 14728 * UIProcess/API/C/WKPreferences.cpp: 14729 (WKPreferencesSetTabsToLinks): 14730 (WKPreferencesGetTabsToLinks): 14731 * UIProcess/API/C/WKPreferences.h: 14732 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14733 (WebKit::WebChromeClient::tabsToLinks): 14734 * WebProcess/WebPage/WebPage.cpp: 14735 (WebKit::WebPage::WebPage): 14736 (WebKit::WebPage::updatePreferences): 14737 * WebProcess/WebPage/WebPage.h: 14738 (WebKit::WebPage::tabsToLinks): 14739 14740 2010-12-08 Benjamin Poulain <benjamin.poulain (a] nokia.com> 14741 14742 Reviewed by Andreas Kling. 14743 14744 WebTouchEvent::isTouchEventType() does not take into account the type TouchCancel 14745 https://bugs.webkit.org/show_bug.cgi?id=50680 14746 14747 Add the missing type check to WebTouchEvent::isTouchEventType(). 14748 14749 * Shared/WebTouchEvent.cpp: 14750 (WebKit::WebTouchEvent::isTouchEventType): 14751 14752 2010-12-08 Sam Weinig <sam (a] webkit.org> 14753 14754 Reviewed by Darin Adler. 14755 14756 Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement 14757 https://bugs.webkit.org/show_bug.cgi?id=50726 14758 14759 Adds WKBundleNodeHandleCopyDocumentFrame, WKBundleNodeHandleCopyHTMLFrameElementContentFrame 14760 and WKBundleNodeHandleCopyHTMLIFrameElementContentFrame, to handle the document, <frame> 14761 and <iframe> cases. 14762 14763 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 14764 (WKBundleNodeHandleCopyDocumentFrame): 14765 (WKBundleNodeHandleCopyHTMLFrameElementContentFrame): 14766 (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame): 14767 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 14768 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 14769 (WebKit::InjectedBundleNodeHandle::copyDocumentFrame): 14770 (WebKit::InjectedBundleNodeHandle::copyHTMLFrameElementContentFrame): 14771 (WebKit::InjectedBundleNodeHandle::copyHTMLIFrameElementContentFrame): 14772 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 14773 14774 2010-12-08 Sam Weinig <sam (a] webkit.org> 14775 14776 Reviewed by Gavin Barraclough. 14777 14778 Need a WebKit2 way to test whether a frame is displaying a standalone image 14779 <rdar://problem/8443059> 14780 WebKit2: Need a way to test whether a page or frame is showing HTML content 14781 <rdar://problem/8642563> 14782 14783 Add WKFrameIsDiplayingStandaloneImageDocument and WKFrameIsDiplayingMarkupDocument. 14784 14785 * UIProcess/API/C/WKFrame.cpp: 14786 (WKFrameIsDiplayingStandaloneImageDocument): 14787 (WKFrameIsDiplayingMarkupDocument): 14788 * UIProcess/API/C/WKFrame.h: 14789 * UIProcess/WebFrameProxy.cpp: 14790 (WebKit::WebFrameProxy::canProvideSource): This now just calls isDiplayingMarkupDocument. 14791 (WebKit::WebFrameProxy::isDiplayingStandaloneImageDocument): 14792 (WebKit::WebFrameProxy::isDiplayingMarkupDocument): 14793 * UIProcess/WebFrameProxy.h: 14794 14795 2010-12-08 Anders Carlsson <andersca (a] apple.com> 14796 14797 Reviewed by Darin Adler. 14798 14799 WebFrameProxy::canShowMIMEType should return true for PDF MIME types in the main frame 14800 https://bugs.webkit.org/show_bug.cgi?id=50724 14801 14802 * UIProcess/WebContext.cpp: 14803 (WebKit::WebContext::pdfAndPostScriptMIMETypes): 14804 * UIProcess/WebContext.h: 14805 * UIProcess/WebFrameProxy.cpp: 14806 (WebKit::WebFrameProxy::canShowMIMEType): 14807 14808 2010-12-08 Brian Weinstein <bweinstein (a] apple.com> 14809 14810 Reviewed by Brady Eidson. 14811 14812 WebMenuTarget implemented in both WebKit and WebKit2 14813 https://bugs.webkit.org/show_bug.cgi?id=50665 14814 <rdar://problem/8742640> 14815 14816 Rename WebMenuTarget to WKMenuTarget to prevent this warning and stay consistent with 14817 other WebKit2 namings. 14818 14819 * UIProcess/mac/WebContextMenuProxyMac.mm: 14820 (+[WKMenuTarget sharedMenuTarget]): 14821 (WebKit::nsMenuItemVector): 14822 (WebKit::WebContextMenuProxyMac::showContextMenu): 14823 14824 2010-12-08 Anders Carlsson <andersca (a] apple.com> 14825 14826 Reviewed by Sam Weinig. 14827 14828 Move canShowMIMEType to Frame 14829 https://bugs.webkit.org/show_bug.cgi?id=50723 14830 14831 * UIProcess/API/C/WKFrame.cpp: 14832 (WKFrameCanShowMIMEType): 14833 * UIProcess/API/C/WKFrame.h: 14834 * UIProcess/API/C/WKPage.cpp: 14835 * UIProcess/API/C/WKPage.h: 14836 * UIProcess/WebFrameProxy.cpp: 14837 (WebKit::WebFrameProxy::canShowMIMEType): 14838 * UIProcess/WebFrameProxy.h: 14839 14840 2010-12-08 Sam Weinig <sam (a] webkit.org> 14841 14842 Reviewed by Oliver Hunt. 14843 14844 Rename WKPreferencesGetFTPDirectoryTemplatePath to WKPreferencesCopyFTPDirectoryTemplatePath 14845 since it copies the value. 14846 14847 * UIProcess/API/C/WKPreferences.cpp: 14848 (WKPreferencesCopyFTPDirectoryTemplatePath): 14849 * UIProcess/API/C/WKPreferencesPrivate.h: 14850 14851 2010-12-08 Sam Weinig <sam (a] webkit.org> 14852 14853 Reviewed by Brady Eidson. 14854 14855 WebKit2: Can't open ftp directory 14856 <rdar://problem/8489321> 14857 14858 * Shared/WebPreferencesStore.h: 14859 * UIProcess/API/C/WKPreferences.cpp: 14860 (WKPreferencesSetForceFTPDirectoryListings): 14861 (WKPreferencesGetForceFTPDirectoryListings): 14862 (WKPreferencesSetFTPDirectoryTemplatePath): 14863 (WKPreferencesGetFTPDirectoryTemplatePath): 14864 * UIProcess/API/C/WKPreferencesPrivate.h: 14865 * WebProcess/WebPage/WebPage.cpp: 14866 (WebKit::WebPage::updatePreferences): 14867 Pipe through the FTP directory listing preferences. 14868 14869 2010-12-08 Chris Marrin <cmarrin (a] apple.com> 14870 14871 Reviewed by Simon Fraser. 14872 14873 Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations 14874 https://bugs.webkit.org/show_bug.cgi?id=49388 14875 14876 Fixes a build failure because WebChromeClient.cpp uses WebCore::Cursor. 14877 This patch adds an include of QuartzCore/CATransform3D, which includes 14878 a file that has a 'Cursor' object defined. So I had to qualify the 14879 use of Cursor in WebChromeClient.cpp. 14880 14881 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14882 (WebKit::WebChromeClient::setCursor): 14883 14884 2010-12-07 Brian Weinstein <bweinstein (a] apple.com> 14885 14886 Reviewed by John Sullivan. 14887 14888 Layering Violation in ContextMenu - member variable of type HitTestResult 14889 https://bugs.webkit.org/show_bug.cgi?id=50586 14890 14891 Update users of ContextMenu and ContextMenuController to match where the new functions 14892 are located. 14893 14894 * Shared/WebContextMenuItemData.cpp: 14895 (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when 14896 the ContextMenuItem is added to the ContextMenu through the ContextMenuController. 14897 * WebProcess/WebPage/WebContextMenu.cpp: 14898 (WebKit::WebContextMenu::show): 14899 14900 2010-12-08 Jessie Berlin <jberlin (a] apple.com> 14901 14902 Reviewed by Adam Roben. 14903 14904 WebKit2: Implement WebChromeClient::exceededDatabaseQuota 14905 https://bugs.webkit.org/show_bug.cgi?id=50656 14906 14907 The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous 14908 because the new quota is checked directly after exceededDatabaseQuota returns in order to 14909 determine if the new Database can be created. 14910 14911 Pass all of the details from the WebProcess to the UIProcess in order to inform the 14912 decision in the UIProcess about the new quota. In WebKit1, these details were 14913 fetched through an additional call to the API detailsForDatabase (which is infeasible in 14914 WebKit2 since exceededDatabaseQuota is a synchronous call). 14915 14916 * Platform/CoreIPC/HandleMessage.h: 14917 (CoreIPC::callMemberFunction): 14918 Add a version that takes 7 parameters. 14919 14920 * UIProcess/API/C/WKPage.h: 14921 14922 * UIProcess/API/qt/qwkpage.cpp: 14923 (QWKPage::QWKPage): 14924 Indicate that exceededDatabaseQuota is not implemented. 14925 14926 * UIProcess/WebPageProxy.cpp: 14927 (WebKit::WebPageProxy::exceededDatabaseQuota): 14928 Call the UIClient's exceededDatabaseQuota 14929 * UIProcess/WebPageProxy.h: 14930 * UIProcess/WebPageProxy.messages.in: 14931 14932 * UIProcess/WebUIClient.cpp: 14933 (WebKit::WebUIClient::exceededDatabaseQuota): 14934 If the client does not implement exceededDatabaseQuota, return a the current quota. 14935 * UIProcess/WebUIClient.h: 14936 14937 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14938 (WebKit::WebChromeClient::exceededDatabaseQuota): 14939 Send a synchronous message to the UIProcess to ask for the new quota for the origin for the 14940 given frame. 14941 14942 2010-12-07 Anders Carlsson <andersca (a] apple.com> 14943 14944 Reviewed by Sam Weinig. 14945 14946 fast/loader/empty-embed-src-attribute.html asserts in debug builds 14947 https://bugs.webkit.org/show_bug.cgi?id=50643 14948 14949 Just always ignore attempts to load requests with empty URLs. 14950 14951 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14952 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 14953 14954 2010-12-07 Jessie Berlin <jberlin (a] apple.com> 14955 14956 Build fix. Unreviewed. 14957 14958 * WebKit2.pro: 14959 Added WebDatabaseManagerQt.cpp. 14960 * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Added. 14961 (WebKit::WebDatabaseManager::databaseDirectory): 14962 Added a FIXME to implement and return an empty string. 14963 14964 2010-12-07 Darin Adler <darin (a] apple.com> 14965 14966 Get a bit closer to making Qt WebKit2 compile again. 14967 14968 * WebKit2.pro: Add the WebDatabaseManager source files. 14969 Still missing: The Qt version of the databaseDirectory function. 14970 14971 2010-12-07 Jessie Berlin <jberlin (a] apple.com> 14972 14973 Reviewed by Darin Adler. 14974 14975 WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized 14976 https://bugs.webkit.org/show_bug.cgi?id=50604 14977 14978 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Added. 14979 (WebKit::WebDatabaseManager::shared): 14980 (WebKit::WebDatabaseManager::WebDatabaseManager): 14981 Initialize the DatabaseTracker with the Database directory. 14982 * WebProcess/WebCoreSupport/WebDatabaseManager.h: Added. 14983 * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Added. 14984 (WebKit::WebDatabaseManager::databaseDirectory): 14985 Copied from WebKitInitializeDatabasesIfNecessary in WebKit/mac/Storage/WebDatabaseManager.mm. 14986 * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Added. 14987 (WebKit::WebDatabaseManager::databaseDirectory): 14988 Copied from WebKitInitializeWebDatabasesIfNecessary in WebKit/win/WebDatabaseManager.cpp. 14989 14990 * WebProcess/WebProcess.cpp: 14991 (WebKit::WebProcess::WebProcess): 14992 Make sure that the Databases directory has been set by calling WebDatabaseManager::shared(). 14993 14994 * WebKit2.xcodeproj/project.pbxproj: 14995 Add WebDatabaseManager.cpp/.h/Mac.cpp 14996 * win/WebKit2.vcproj: 14997 Add WebDatabaseManager.cpp/.h/Win.cpp 14998 14999 2010-12-06 Darin Adler <darin (a] apple.com> 15000 15001 Reviewed by Sam Weinig. 15002 15003 Pass security origin to make local file decision correctly 15004 https://bugs.webkit.org/show_bug.cgi?id=48603 15005 15006 * WebProcess/Plugins/PluginView.cpp: 15007 (WebKit::PluginView::loadURL): Pass security origin. 15008 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15009 (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto. 15010 15011 2010-12-06 Simon Fraser <simon.fraser (a] apple.com> 15012 15013 Reviewed by Sam Weinig. 15014 15015 Fix two WebKit2 prefs issues. 15016 15017 * Shared/WebPreferencesStore.h: Include font-family preferences 15018 in the FOR_EACH_WEBKIT_STRING_PREFERENCE macro, actually propagating 15019 font family prefs to WebCore settings. 15020 15021 * UIProcess/WebPageGroup.cpp: 15022 (WebKit::WebPageGroup::WebPageGroup): 15023 (WebKit::WebPageGroup::~WebPageGroup): Add and remove the WebPageGroup 15024 from the preference object it creates. This allows preference changes 15025 to actually be propagated to the web process. 15026 15027 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15028 15029 Reviewed by Sam Weinig. 15030 15031 The plug-in process crashes if it can't load the plug-in module 15032 https://bugs.webkit.org/show_bug.cgi?id=50601 15033 <rdar://problem/8692654> 15034 15035 * PluginProcess/PluginControllerProxy.cpp: 15036 (WebKit::PluginControllerProxy::initialize): 15037 Handle m_plugin being 0. 15038 15039 * PluginProcess/PluginProcess.cpp: 15040 (WebKit::PluginProcess::netscapePluginModule): 15041 Create the plug-in module if it doesn't exist. 15042 15043 (WebKit::PluginProcess::initialize): 15044 Store the plug-in path. 15045 15046 * PluginProcess/PluginProcess.h: 15047 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 15048 (WebKit::NetscapePlugin::create): 15049 Return null if the plug-in module doesn't exist. 15050 15051 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 15052 * WebProcess/WebPage/WebPage.cpp: 15053 (WebKit::WebPage::createPlugin): 15054 Simplify code. 15055 15056 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15057 15058 Reviewed by Sam Weinig. 15059 15060 WebProcess crash in NPRemoteObjectMap::invalidate when closing tab 15061 https://bugs.webkit.org/show_bug.cgi?id=50597 15062 <rdar://problem/8655584> 15063 15064 When invalidating the NPRemoteObjectMap, we don't want NPObjectMessageReceiver to 15065 release all objects NPObjects blindly because NPJSObjects have already been deallocated by the plug-in view. 15066 15067 This is not an ideal solution; an ideal solution would involve NPJSObjects notifying any NPObjectMessageReceiver objects 15068 that the NPJSObject is being destroyed. The NPObjectMessageReceiver could then simply null out the NPObject pointer. 15069 15070 * Shared/Plugins/NPObjectMessageReceiver.cpp: 15071 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 15072 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 15073 * Shared/Plugins/NPObjectMessageReceiver.h: 15074 * Shared/Plugins/NPRemoteObjectMap.cpp: 15075 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap): 15076 (WebKit::NPRemoteObjectMap::invalidate): 15077 * Shared/Plugins/NPRemoteObjectMap.h: 15078 (WebKit::NPRemoteObjectMap::isInvalidating): 15079 15080 2010-12-06 Sam Weinig <sam (a] webkit.org> 15081 15082 Reviewed by Anders Carlsson. 15083 15084 Generalize didChangeLocationWithinPageForFrame for all same document navigations 15085 https://bugs.webkit.org/show_bug.cgi?id=50584 15086 15087 - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame 15088 - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame. 15089 - Call didSameDocumentNavigationForFrame for HTML session state changes. 15090 15091 * Shared/API/c/WKPageLoadTypes.h: Added. 15092 * Shared/API/c/WKSharedAPICast.h: 15093 (WebKit::toAPI): 15094 Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType. 15095 15096 * Shared/SameDocumentNavigationType.h: Added. 15097 * UIProcess/API/C/WKAPICast.h: 15098 Moved WKFrameNavigationType conversion from here. 15099 15100 * UIProcess/API/C/WKPage.h: 15101 * UIProcess/API/qt/qwkpage.cpp: 15102 (QWKPage::QWKPage): 15103 Update comment. 15104 15105 * UIProcess/WebFrameProxy.cpp: 15106 (WebKit::WebFrameProxy::didSameDocumentNavigation): 15107 * UIProcess/WebFrameProxy.h: 15108 * UIProcess/WebLoaderClient.cpp: 15109 (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame): 15110 * UIProcess/WebLoaderClient.h: 15111 * UIProcess/WebPageProxy.cpp: 15112 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 15113 * UIProcess/WebPageProxy.h: 15114 * UIProcess/WebPageProxy.messages.in: 15115 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 15116 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 15117 (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame): 15118 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 15119 Pipe new name through. 15120 15121 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15122 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 15123 (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): 15124 (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): 15125 (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): 15126 Call didChangeLocationWithinPageForFrame for session state changes. 15127 15128 * WebKit2.pro: 15129 * WebKit2.xcodeproj/project.pbxproj: 15130 * win/WebKit2.vcproj: 15131 * win/WebKit2Generated.make: 15132 Add new files. 15133 15134 2010-12-06 Jessie Berlin <jberlin (a] apple.com> 15135 15136 Reviewed by Dan Bernstein. 15137 15138 WebKit2: Expose the preference to enable or disable HTML5 Databases. 15139 https://bugs.webkit.org/show_bug.cgi?id=50411 15140 15141 * Shared/WebPreferencesStore.h: 15142 Make the preference to enable HTML5 Databases default ot true. 15143 15144 * UIProcess/API/C/WKPreferences.cpp: 15145 (WKPreferencesSetDatabasesEnabled): 15146 (WKPreferencesGetDatabasesEnabled): 15147 * UIProcess/API/C/WKPreferences.h: 15148 15149 * WebProcess/WebPage/WebPage.cpp: 15150 (WebKit::WebPage::updatePreferences): 15151 Set AbstractDatabase::isAvailable (mimicking how the preference is set in WebKit1). 15152 15153 2010-12-06 Mark Rowe <mrowe (a] apple.com> 15154 15155 Build fix. 15156 15157 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15158 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Wrap Carbon-specific code in #ifndef NP_NO_CARBON. 15159 15160 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15161 15162 Reviewed by Adam Roben. 15163 15164 Add a shim for GetCurrentEventButtonState 15165 https://bugs.webkit.org/show_bug.cgi?id=50583 15166 15167 * PluginProcess/mac/PluginProcessMac.mm: 15168 (WebKit::getCurrentEventButtonState): 15169 Get the event button state from the plug-in. 15170 15171 (WebKit::PluginProcess::initializeShim): 15172 Add new shim callback. 15173 15174 * PluginProcess/mac/PluginProcessShim.cpp: 15175 (WebKit::shimGetCurrentEventButtonState): 15176 Add shim. 15177 15178 * PluginProcess/mac/PluginProcessShim.h: 15179 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 15180 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15181 (WebKit::NetscapePlugin::buttonState): 15182 Return the button state. 15183 15184 (WebKit::NetscapePlugin::platformHandleMouseEvent): 15185 Update the button state. Also, make sure to actually pass the modifiers to NPP_HandleEvent. 15186 15187 15188 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15189 15190 Reviewed by Adam Roben. 15191 15192 Add a shim for IsWindowActive 15193 https://bugs.webkit.org/show_bug.cgi?id=50582 15194 15195 * PluginProcess/mac/PluginProcessMac.mm: 15196 (WebKit::isWindowActive): 15197 Get the NetscapePlugin from the WindowRef and check if the plug-in's window is active. 15198 15199 (WebKit::PluginProcess::initializeShim): 15200 * PluginProcess/mac/PluginProcessShim.cpp 15201 (WebKit::shimIsWindowActive): 15202 Call isWindowActive. If it returns true, return the result value. Otherwise, call the real 15203 IsWindowActive function. 15204 15205 * PluginProcess/mac/PluginProcessShim.h: 15206 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 15207 (WebKit::NetscapePlugin::NetscapePlugin): 15208 Initialize m_isWindowactive. 15209 15210 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 15211 (WebKit::NetscapePlugin::isWindowActive): 15212 Return whether the window is active. 15213 15214 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15215 (WebKit::windowMap): 15216 (WebKit::NetscapePlugin::platformPostInitialize): 15217 (WebKit::NetscapePlugin::platformDestroy): 15218 (WebKit::NetscapePlugin::netscapePluginFromWindow): 15219 Add a mapping between windows and the corresponding NetscapePlugin objects. 15220 15221 (WebKit::NetscapePlugin::windowFocusChanged): 15222 Update the window focus member variable. 15223 15224 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15225 15226 Reviewed by Dan Bernstein. 15227 15228 REGERSSION (r73310?): Contents of <select> popup menus are upside-down on Windows 15229 https://bugs.webkit.org/show_bug.cgi?id=50544 15230 <rdar://problem/8732336> 15231 15232 * Shared/BackingStore.cpp: 15233 * Shared/BackingStore.h: 15234 * Shared/cairo/BackingStoreCairo.cpp: 15235 Remove BackingStore::createFlippedGraphicsContext. 15236 15237 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: 15238 (WebKit::WebPopupMenu::setUpPlatformData): 15239 Don't create a flipped graphics context. 15240 15241 2010-12-06 Anders Carlsson <andersca (a] apple.com> 15242 15243 Reviewed by Dan Bernstein. 15244 15245 REGRESSION: Text in Find indicator is vertically flipped 15246 https://bugs.webkit.org/show_bug.cgi?id=50524 15247 <rdar://problem/8732978> 15248 15249 Don't flip the graphics context. 15250 15251 * UIProcess/FindIndicator.cpp: 15252 (WebKit::FindIndicator::draw): 15253 15254 2010-12-03 Anders Carlsson <andersca (a] apple.com> 15255 15256 Reviewed by Sam Weinig. 15257 15258 Dispatch keyboard events in the Carbon event model 15259 https://bugs.webkit.org/show_bug.cgi?id=50503 15260 15261 * Shared/WebEvent.h: 15262 (WebKit::WebKeyboardEvent::macCharCode): 15263 * Shared/WebKeyboardEvent.cpp: 15264 (WebKit::WebKeyboardEvent::WebKeyboardEvent): 15265 (WebKit::WebKeyboardEvent::encode): 15266 (WebKit::WebKeyboardEvent::decode): 15267 Add macCharCode field. 15268 15269 * Shared/mac/WebEventFactory.mm: 15270 (WebKit::WebEventFactory::createWebKeyboardEvent): 15271 * Shared/qt/WebEventFactoryQt.cpp: 15272 (WebKit::WebEventFactory::createWebKeyboardEvent): 15273 * Shared/win/WebEventFactory.cpp: 15274 (WebKit::WebEventFactory::createWebKeyboardEvent): 15275 Pass along the Mac char code. 15276 15277 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15278 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 15279 Convert the event to a Carobn event. 15280 15281 2010-12-03 John Sullivan <sullivan (a] apple.com> 15282 15283 Reviewed by Adam Roben. 15284 15285 https://bugs.webkit.org/show_bug.cgi?id=50504 15286 Expose some more WebCore settings in WebKit2 preferences 15287 15288 * Shared/WebPreferencesStore.h: 15289 Changed name of existing FOR_EACH_WEBKIT_STRING_PREFERENCE macro to 15290 FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE since it was all about platform-specific 15291 font families, and I'm now introducing a non-platform-spacific string, and 15292 I didn't want to put the new preference in two platform-specific lists. Then 15293 added a new FOR_EACH_WEBKIT_STRING_PREFERENCE to hold the new preference. Note 15294 that the other preferences exposed in this patch were already declared here. 15295 15296 * UIProcess/API/C/WKPreferences.cpp: 15297 (WKPreferencesSetDefaultFontSize): 15298 New wrapper. 15299 (WKPreferencesGetDefaultFontSize): 15300 Ditto. 15301 (WKPreferencesSetDefaultFixedFontSize): 15302 Ditto. 15303 (WKPreferencesGetDefaultFixedFontSize): 15304 Ditto. 15305 (WKPreferencesSetDefaultTextEncodingName): 15306 Ditto. 15307 (WKPreferencesCopyDefaultTextEncodingName): 15308 Ditto. 15309 15310 * UIProcess/API/C/WKPreferences.h: 15311 Declare new wrappers. 15312 15313 2010-12-05 Adam Roben <aroben (a] apple.com> 15314 15315 Windows production build fix 15316 15317 Put spaces after trailing backslashes when setting 15318 %WebKitVSPropsRedirectionDir%. According to MSDN 15319 <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>: 15320 15321 A backslash ( \ ) followed by a newline character is interpreted as 15322 a space in the command; use a backslash at the end of a line to 15323 continue a command onto the next line. NMAKE interprets the 15324 backslash literally if any other character, including a space or 15325 tab, follows the backslash. 15326 15327 * win/WebKit2.make: 15328 15329 2010-12-04 Sam Weinig <sam (a] webkit.org> 15330 15331 Reviewed by Jon Honeycutt. 15332 15333 WebKit2: Need client functions to notify app when the url changes due to a fragment navigation 15334 https://bugs.webkit.org/show_bug.cgi?id=50511 15335 15336 Pipe didChangeLocationWithinPageForFrame up through the UIProcess to the WKPageLoadClient, 15337 updating the WebFrameProxy's URL on the way. 15338 15339 Test: PageLoadDidChangeLocationWithinPageForFrame 15340 15341 * UIProcess/API/C/WKPage.h: 15342 * UIProcess/API/qt/qwkpage.cpp: 15343 (QWKPage::QWKPage): 15344 * UIProcess/WebFrameProxy.cpp: 15345 (WebKit::WebFrameProxy::didChangeURLWithoutNavigation): 15346 * UIProcess/WebFrameProxy.h: 15347 * UIProcess/WebLoaderClient.cpp: 15348 (WebKit::WebLoaderClient::didChangeLocationWithinPageForFrame): 15349 * UIProcess/WebLoaderClient.h: 15350 * UIProcess/WebPageProxy.cpp: 15351 (WebKit::WebPageProxy::didChangeLocationWithinPageForFrame): 15352 * UIProcess/WebPageProxy.h: 15353 * UIProcess/WebPageProxy.messages.in: 15354 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 15355 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 15356 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame): 15357 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 15358 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 15359 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 15360 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15361 (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): Fix typo. 15362 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 15363 15364 2010-12-03 Timothy Hatcher <timothy (a] apple.com> 15365 15366 Make the Web Inspector window show and be usable on Mac. 15367 15368 https://webkit.org/b/50490 15369 15370 Reviewed by Sam Weinig. 15371 15372 * UIProcess/WebInspectorProxy.cpp: 15373 (WebKit::WebInspectorProxy::invalidate): Call platformClose. 15374 (WebKit::WebInspectorProxy::didLoadInspectorPage): Call platformOpen. 15375 (WebKit::WebInspectorProxy::didClose): Call platformClose. 15376 * UIProcess/WebInspectorProxy.h: 15377 * UIProcess/WebInspectorProxy.messages.in: Added DidClose. 15378 * UIProcess/mac/WebInspectorProxyMac.mm: 15379 (-[WebInspectorProxyObjCAdapter initWithWebInspectorProxy:]): Added. 15380 (-[WebInspectorProxyObjCAdapter windowWillClose:]): Added. Call WebInspectorProxy::close. 15381 (WebKit::WebInspectorProxy::platformOpen): Added. 15382 (WebKit::WebInspectorProxy::platformClose): Added. 15383 * UIProcess/qt/WebInspectorProxyQt.cpp: 15384 (WebKit::WebInspectorProxy::platformOpen): Added stub. 15385 (WebKit::WebInspectorProxy::platformClose): Added stub. 15386 * UIProcess/win/WebInspectorProxyWin.cpp: 15387 (WebKit::WebInspectorProxy::platformOpen): Added stub. 15388 (WebKit::WebInspectorProxy::platformClose): Added stub. 15389 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 15390 (WebKit::WebInspectorClient::sendMessageToFrontend): Added more null checks to avoid a crash. 15391 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 15392 (WebKit::WebInspectorFrontendClient::closeWindow): Call WebInspector::didClose. 15393 (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Ditto. 15394 (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Removed. This does not need to be 15395 implemented by our subclass since we are in a single process. 15396 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed sendMessageToBackend. 15397 * WebProcess/WebPage/WebInspector.cpp: 15398 (WebKit::WebInspector::didClose): Added. Send a DidClose message to the UI process. 15399 * WebProcess/WebPage/WebInspector.h: 15400 15401 2010-12-03 Anders Carlsson <andersca (a] apple.com> 15402 15403 Reviewed by Sam Weinig and Dan Bernstein. 15404 15405 Clean up the BackingStore implementation 15406 https://bugs.webkit.org/show_bug.cgi?id=50498 15407 15408 * Shared/BackingStore.cpp: 15409 (WebKit::BackingStore::create): 15410 (WebKit::BackingStore::createSharable): 15411 (WebKit::BackingStore::resize): 15412 Use new numBytesForSize helper function. 15413 15414 (WebKit::BackingStore::createFlippedGraphicsContext): 15415 Make this function platform independent. 15416 15417 * Shared/BackingStore.h: 15418 (WebKit::BackingStore::numBytesForSize): 15419 Given a size, return the number of bytes needed for it. 15420 15421 (WebKit::BackingStore::sizeInBytes): 15422 Implement. 15423 15424 * Shared/cg/BackingStoreCG.cpp: 15425 (WebKit::BackingStore::paint): 15426 Don't use CGBitmapContextCreateImage; it creates an extra copy of the image data. 15427 15428 * Shared/qt/BackingStoreQt.cpp: 15429 Remove createFlippedGraphicsContext. 15430 15431 2010-12-03 Siddharth Mathur <siddharth.mathur (a] nokia.com> 15432 15433 Reviewed by Laszlo Gombos. 15434 15435 [Qt] [WK2] Build system improvements for non-Unix targets 15436 https://bugs.webkit.org/show_bug.cgi?id=50257 15437 15438 * DerivedSources.pro: 15439 Fix dir seperator errors on Windows build host. Thanks to Laszlo Gombos. 15440 15441 2010-12-03 Sam Weinig <sam (a] webkit.org> 15442 15443 Reviewed by Maciej Stachowiak. 15444 15445 Enable <a ping> for Mac/Windows/WebKit2 builds 15446 <rdar://problem/8504473> 15447 https://bugs.webkit.org/show_bug.cgi?id=50488 15448 15449 * Shared/WebPreferencesStore.h: 15450 * UIProcess/API/C/WKPreferences.cpp: 15451 (WKPreferencesSetHyperlinkAuditingEnabled): 15452 (WKPreferencesGetHyperlinkAuditingEnabled): 15453 * UIProcess/API/C/WKPreferences.h: 15454 Add "HyperlinkAuditing" preference and enabled it by default. 15455 15456 2010-12-03 Brady Eidson <beidson (a] apple.com> 15457 15458 Reviewed by good sense in fixing builds. 15459 15460 Export the 4 new API headers I added today. 15461 15462 * WebKit2.xcodeproj/project.pbxproj: 15463 15464 2010-12-03 Brady Eidson <beidson (a] apple.com> 15465 15466 Reviewed by Sam Weinig. 15467 15468 <rdar://problem/8725679> and https://bugs.webkit.org/show_bug.cgi?id=50482 15469 Crash trying to empty caches with no WebProcess. 15470 15471 * Shared/WebProcessCreationParameters.h: Add the "clear this cache" flags. 15472 15473 * UIProcess/WebContext.cpp: 15474 (WebKit::WebContext::WebContext): 15475 (WebKit::WebContext::ensureWebProcess): If either of the clear cache flags are set when a new WebProcess is 15476 created, include those flags in the parameters. 15477 (WebKit::WebContext::clearResourceCaches): If the current process isn't valid, flag this action to be done later. 15478 (WebKit::WebContext::clearApplicationCache): Ditto. 15479 * UIProcess/WebContext.h: 15480 15481 * WebProcess/WebProcess.cpp: 15482 (WebKit::WebProcess::initializeWebProcess): Clear the caches if told to. 15483 15484 2010-12-03 Sam Weinig <sam (a] webkit.org> 15485 15486 Reviewed by Gavin Barraclough. 15487 15488 Fix failing API test. The default san serif font on the mac 15489 should be Helvetica, not Courier. 15490 15491 * Shared/WebPreferencesStore.h: 15492 15493 2010-12-03 Jia Pu <jpu (a] apple.com> 15494 15495 Reviewed by Darin Adler. 15496 15497 Need to move all code that applies correction into correction panel callback. 15498 https://bugs.webkit.org/show_bug.cgi?id=50426 15499 <rdar://problem/8720832> 15500 15501 Adopted new signature of dismissCorrectionPanel. 15502 15503 * WebProcess/WebCoreSupport/WebEditorClient.h: 15504 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 15505 (WebKit::WebEditorClient::dismissCorrectionPanel): 15506 15507 2010-12-03 Jessie Berlin <jberlin (a] apple.com> 15508 15509 Windows build fix. Unreviewed. 15510 15511 * win/WebKit2Generated.make: 15512 Add the new API files from http://trac.webkit.org/changeset/73281. 15513 15514 2010-12-03 Brady Eidson <beidson (a] apple.com> 15515 15516 Reviewed by Anders Carlsson. 15517 15518 Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191 15519 WebKit2 Authentication Support 15520 15521 With this patch in place, authentication challenges are sent up from WebCore and shipped over the IPC layer. 15522 Client apps can implement the related client methods to attempt to continue without credentials or cancel a 15523 challenge. 15524 15525 There's not yet API to inspect a challenge or create a credential to use in reply - that will come later. 15526 15527 Build-system changes: 15528 * DerivedSources.make: 15529 * DerivedSources.pro: 15530 * WebKit2.pro: 15531 * WebKit2.xcodeproj/project.pbxproj: 15532 * win/WebKit2.vcproj: 15533 * win/WebKit2Common.vsprops: 15534 15535 Messages and casts for IPC and APIs: 15536 * Platform/CoreIPC/MessageID.h: 15537 * Shared/API/c/WKBase.h: 15538 * Shared/APIObject.h: 15539 * Shared/WebCoreArgumentCoders.h: 15540 * UIProcess/API/C/WKAPICast.h: 15541 * WebProcess/WebProcess.cpp: 15542 (WebKit::WebProcess::didReceiveMessage): 15543 15544 Stub out the AuthenticationChallenge class family: 15545 * UIProcess/API/C/WKAuthenticationChallenge.cpp: Added. 15546 (WKAuthenticationChallengeGetTypeID): 15547 * UIProcess/API/C/WKAuthenticationChallenge.h: Added. 15548 * UIProcess/API/C/WKCredential.cpp: Added. 15549 (WKCredentialGetTypeID): 15550 * UIProcess/API/C/WKCredential.h: Added. 15551 * UIProcess/API/C/WKProtectionSpace.cpp: Added. 15552 (WKProtectionSpaceGetTypeID): 15553 * UIProcess/API/C/WKProtectionSpace.h: Added. 15554 15555 Add an Authentication listener for the client app to respond to: 15556 * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: Added. 15557 (WKAuthenticationDecisionListenerGetTypeID): 15558 (WKAuthenticationDecisionListenerUseCredential): 15559 (WKAuthenticationDecisionListenerCancel): 15560 * UIProcess/API/C/WKAuthenticationDecisionListener.h: Added. 15561 15562 Add Authentication related methods to the page loader client: 15563 * UIProcess/API/C/WKPage.h: 15564 15565 Add empty implementations of the new API objects: 15566 * UIProcess/Authentication: Added. 15567 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: Added. 15568 (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy): 15569 (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy): 15570 (WebKit::AuthenticationChallengeProxy::useCredential): 15571 (WebKit::AuthenticationChallengeProxy::cancel): 15572 * UIProcess/Authentication/AuthenticationChallengeProxy.h: Added. 15573 (WebKit::AuthenticationChallengeProxy::create): 15574 (WebKit::AuthenticationChallengeProxy::listener): 15575 (WebKit::AuthenticationChallengeProxy::type): 15576 15577 * UIProcess/Authentication/WebCredential.cpp: Added. 15578 (WebKit::WebCredential::core): 15579 * UIProcess/Authentication/WebCredential.h: Added. 15580 (WebKit::WebCredential::create): 15581 (WebKit::WebCredential::type): 15582 * UIProcess/Authentication/WebProtectionSpace.cpp: Added. 15583 (WebKit::WebProtectionSpace::WebProtectionSpace): 15584 * UIProcess/Authentication/WebProtectionSpace.h: Added. 15585 (WebKit::WebProtectionSpace::create): 15586 (WebKit::WebProtectionSpace::type): 15587 15588 Add implementation of the Authentication decision listener: 15589 * UIProcess/Authentication/AuthenticationDecisionListener.cpp: Added. 15590 (WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener): 15591 (WebKit::AuthenticationDecisionListener::useCredential): 15592 (WebKit::AuthenticationDecisionListener::cancel): 15593 (WebKit::AuthenticationDecisionListener::detachChallenge): 15594 * UIProcess/Authentication/AuthenticationDecisionListener.h: Added. 15595 (WebKit::AuthenticationDecisionListener::create): 15596 (WebKit::AuthenticationDecisionListener::type): 15597 15598 WebPage and PageLoaderClient glue: 15599 * UIProcess/WebLoaderClient.cpp: 15600 (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): 15601 (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame): 15602 * UIProcess/WebLoaderClient.h: 15603 * UIProcess/WebPageProxy.cpp: 15604 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): 15605 (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): 15606 * UIProcess/WebPageProxy.h: 15607 * UIProcess/WebPageProxy.messages.in: 15608 15609 Add a manager to map the actual platform authentication challenges to a challenge ID, 15610 as at least some platforms require the object identity to persist: 15611 * WebProcess/Authentication: Added. 15612 * WebProcess/Authentication/AuthenticationManager.cpp: Added. 15613 (WebKit::generateAuthenticationChallengeID): 15614 (WebKit::AuthenticationManager::shared): 15615 (WebKit::AuthenticationManager::AuthenticationManager): 15616 (WebKit::AuthenticationManager::didReceiveMessage): 15617 (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): 15618 (WebKit::AuthenticationManager::useCredentialForChallenge): 15619 (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): 15620 (WebKit::AuthenticationManager::cancelChallenge): 15621 * WebProcess/Authentication/AuthenticationManager.h: Added. 15622 * WebProcess/Authentication/AuthenticationManager.messages.in: Added. 15623 15624 Hand off Authentication challenges to the manager to be sent over IPC: 15625 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15626 (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): 15627 (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace): 15628 15629 * UIProcess/API/qt/qwkpage.cpp: 15630 15631 2010-12-03 Anders Carlsson <andersca (a] apple.com> 15632 15633 Reviewed by Dan Bernstein. 15634 15635 Flip the destination context when painting a backing store into the destination 15636 https://bugs.webkit.org/show_bug.cgi?id=50491 15637 15638 * Shared/cg/BackingStoreCG.cpp: 15639 (WebKit::BackingStore::paint): 15640 15641 2010-12-03 Anders Carlsson <andersca (a] apple.com> 15642 15643 Reviewed by Dan Bernstein. 15644 15645 The chunked update drawing area is flipped twice when drawing 15646 https://bugs.webkit.org/show_bug.cgi?id=50465 15647 <rdar://problem/8726836> 15648 15649 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 15650 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 15651 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 15652 Flip the destination contexts, thus unflipping them. (Turns out two wrongs make a right here). 15653 15654 2010-12-03 Jessie Berlin <jberlin (a] apple.com> 15655 15656 Reviewed by Sam Weinig. 15657 15658 Need a WebKit2 Equivalent of WebSecurityOrigin 15659 https://bugs.webkit.org/show_bug.cgi?id=50170 15660 15661 * Shared/API/c/WKBase.h: 15662 Add the WKSecurityOriginRef typedef. 15663 15664 * Shared/APIObject.h: 15665 Add the SecurityOrigin type as a Shared type. 15666 15667 * Shared/API/c/WKSharedAPICast.h:: 15668 Add the mapping between WKSecurityOriginRef and WebSecurityOrigin. 15669 15670 * UIProcess/API/C/WKSecurityOrigin.cpp: Added. 15671 (WKSecurityOriginGetTypeID): 15672 (WKSecurityOriginCreate): 15673 (WKSecurityOriginGetProtocol): 15674 (WKSecurityOriginGetHost): 15675 (WKSecurityOriginGetPort): 15676 * UIProcess/API/C/WKSecurityOrigin.h: Added. 15677 15678 * UIProcess/WebSecurityOrigin.h: Added. 15679 (WebKit::WebSecurityOrigin::create): 15680 Create based on the database identifier, which contains the protocol, host and port. 15681 (WebKit::WebSecurityOrigin::protocol): 15682 (WebKit::WebSecurityOrigin::host): 15683 (WebKit::WebSecurityOrigin::port): 15684 (WebKit::WebSecurityOrigin::databaseIdentifier): 15685 (WebKit::WebSecurityOrigin::WebSecurityOrigin): 15686 (WebKit::WebSecurityOrigin::type): 15687 15688 * WebKit2.pro: 15689 Add WKSecurityOrigin.cpp/.h. 15690 15691 * WebKit2.xcodeproj/project.pbxproj: 15692 * win/WebKit2.vcproj: 15693 Add the WebSecurityOrigin.h and WKSecurityOrigin.cpp/.h. 15694 15695 * win/WebKit2Generated.make: 15696 Make sure WKSecurityOrigin.h file gets copied over to the WebKitBuild directory on Windows. 15697 15698 2010-12-02 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 15699 15700 Reviewed by Csaba Osztrogonc. 15701 15702 [Qt] Fix compilation with !ENABLE(OFFLINE_WEB_APPLICATIONS) and 15703 !ENABLE(TILED_BACKING_STORE) for WebKit2 15704 https://bugs.webkit.org/show_bug.cgi?id=50071 15705 15706 Add appropriate guards. No functional change if guards are set. 15707 15708 * UIProcess/API/qt/qwkpage.cpp: 15709 (QWKPage::setActualVisibleContentsRect): 15710 * UIProcess/TiledDrawingAreaProxy.cpp: 15711 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 15712 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 15713 * UIProcess/qt/WebContextQt.cpp: 15714 (WebKit::WebContext::applicationCacheDirectory): 15715 * WebProcess/WebProcess.cpp: 15716 (WebKit::WebProcess::initializeWebProcess): 15717 15718 2010-12-02 Sam Weinig <sam (a] webkit.org> 15719 15720 Fix Qt. 15721 15722 * UIProcess/API/qt/qwkpreferences.cpp: 15723 (QWKPreferencesPrivate::createPreferences): 15724 15725 2010-12-02 Sam Weinig <sam (a] webkit.org> 15726 15727 Reviewed by Anders Carlsson. 15728 15729 WebKit2 Preferences should be held off the PageGroup, not the Context 15730 https://bugs.webkit.org/show_bug.cgi?id=50414 15731 15732 - In addition, this now makes the preference held off the PageGroup have 15733 the identifier of the PageGroup and autosave to disk (only on the mac 15734 for now). 15735 - Adds ability to create an arbitrary preference that can be autosaved 15736 via a new WKPreferencesCreateWithIdentifier function. 15737 15738 * UIProcess/API/C/WKContext.cpp: 15739 * UIProcess/API/C/WKContext.h: 15740 Remove preference related code. 15741 15742 * UIProcess/API/C/WKPageGroup.cpp: 15743 (WKPageGroupSetPreferences): 15744 (WKPageGroupGetPreferences): 15745 * UIProcess/API/C/WKPageGroup.h: 15746 Add getter/setter for preferences. 15747 15748 * UIProcess/API/C/WKPreferences.cpp: 15749 (WKPreferencesCreateWithIdentifier): 15750 * UIProcess/API/C/WKPreferences.h: 15751 Add WKPreferencesCreateWithIdentifier and remove WKPreferencesCreateCopy which is 15752 unused. 15753 15754 * UIProcess/WebContext.cpp: 15755 (WebKit::WebContext::WebContext): 15756 (WebKit::WebContext::~WebContext): 15757 * UIProcess/WebContext.h: 15758 Remove preference related code. 15759 15760 * UIProcess/WebPageGroup.cpp: 15761 (WebKit::WebPageGroup::WebPageGroup): 15762 (WebKit::WebPageGroup::addPage): 15763 (WebKit::WebPageGroup::removePage): 15764 (WebKit::WebPageGroup::setPreferences): 15765 (WebKit::WebPageGroup::preferences): 15766 (WebKit::WebPageGroup::preferencesDidChange): 15767 * UIProcess/WebPageGroup.h: 15768 Add preference and page tracking. 15769 15770 * UIProcess/WebPageNamespace.cpp: 15771 * UIProcess/WebPageNamespace.h: 15772 Remove preference change notification code. 15773 15774 * UIProcess/WebPageProxy.cpp: 15775 (WebKit::WebPageProxy::WebPageProxy): 15776 (WebKit::WebPageProxy::~WebPageProxy): 15777 Add/remove self from page group set. 15778 15779 (WebKit::WebPageProxy::preferencesDidChange): 15780 (WebKit::WebPageProxy::creationParameters): 15781 Get preferences from the pageGroup. 15782 15783 * UIProcess/WebPreferences.cpp: 15784 (WebKit::WebPreferences::WebPreferences): 15785 (WebKit::WebPreferences::addPageGroup): 15786 (WebKit::WebPreferences::removePageGroup): 15787 (WebKit::WebPreferences::update): 15788 * UIProcess/WebPreferences.h: 15789 (WebKit::WebPreferences::create): 15790 Change to track page groups instead of contexts. 15791 15792 * UIProcess/mac/WebPreferencesMac.mm: 15793 (WebKit::makeKey): Add ".WebKit2" prefix for keys. 15794 15795 2010-12-02 Anders Carlsson <andersca (a] apple.com> 15796 15797 Reviewed by Sam Weinig. 15798 15799 Flash videos on YouTube flicker 15800 https://bugs.webkit.org/show_bug.cgi?id=50409 15801 <rdar://problem/8668757> 15802 15803 When painting from a backing store, we need to add the source location 15804 to the destination point. 15805 15806 * WebProcess/Plugins/PluginProxy.cpp: 15807 (WebKit::PluginProxy::paint): 15808 (WebKit::PluginProxy::update): 15809 15810 2010-12-02 Sam Weinig <sam (a] webkit.org> 15811 15812 Reviewed by Anders Carlsson. 15813 15814 WebKit2 needs API to turn on popup blocking 15815 https://bugs.webkit.org/show_bug.cgi?id=50407 15816 15817 Pipe-through a preference for javascript being able to open 15818 windows without user gesture. 15819 15820 * Shared/WebPreferencesStore.h: 15821 * UIProcess/API/C/WKPreferences.cpp: 15822 (WKPreferencesSetJavaScriptCanOpenWindowsAutomatically): 15823 (WKPreferencesGetJavaScriptCanOpenWindowsAutomatically): 15824 * UIProcess/API/C/WKPreferences.h: 15825 * WebProcess/WebPage/WebPage.cpp: 15826 (WebKit::WebPage::updatePreferences): 15827 15828 2010-12-02 Anders Carlsson <andersca (a] apple.com> 15829 15830 Reviewed by Sam Weinig. 15831 15832 Plug-ins should be able to update the mouse cursor 15833 https://bugs.webkit.org/show_bug.cgi?id=50399 15834 15835 Call WKEnableSettingCursorWhenInBackground. 15836 15837 * PluginProcess/mac/PluginProcessMainMac.mm: 15838 (WebKit::PluginProcessMain): 15839 15840 2010-12-02 Sam Weinig <sam (a] webkit.org> 15841 15842 Reviewed by Anders Carlsson. 15843 15844 https://bugs.webkit.org/show_bug.cgi?id=50368 15845 Overhaul WebKit2 preferences code 15846 15847 - Reduces the number of places you have to touch to add a new preference 15848 (From 9 down to 4, but with a bit of elbow grease, we should get that 15849 down to 2 or 3). 15850 - Add hooks so that platforms can initialize the preferences based on an 15851 identifier. This is currently only used on the Mac to initialize a 15852 preference store from NSUserDefaults and autosave the changes to disk. 15853 It is not yet enabled due to no way to set the identifier from client 15854 code. 15855 15856 * Shared/WebPageCreationParameters.cpp: 15857 Add necessary #include of WebCoreArgumentCoders.h which is now needed 15858 due to cleanup in WebPreferencesStore.h. 15859 15860 * Shared/WebPreferencesStore.cpp: 15861 (WebKit::WebPreferencesStore::WebPreferencesStore): 15862 (WebKit::WebPreferencesStore::encode): 15863 (WebKit::WebPreferencesStore::decode): 15864 (WebKit::defaultValueForKey): 15865 (WebKit::setValueForKey): 15866 (WebKit::valueForKey): 15867 (WebKit::WebPreferencesStore::setStringValueForKey): 15868 (WebKit::WebPreferencesStore::getStringValueForKey): 15869 (WebKit::WebPreferencesStore::setBoolValueForKey): 15870 (WebKit::WebPreferencesStore::getBoolValueForKey): 15871 (WebKit::WebPreferencesStore::setUInt32ValueForKey): 15872 (WebKit::WebPreferencesStore::getUInt32ValueForKey): 15873 * Shared/WebPreferencesStore.h: 15874 Complete overhaul of this class to store the preferences as 15875 a set of HashMaps and use macros to define the keys and default 15876 values. 15877 15878 * UIProcess/API/C/WKPreferences.cpp: 15879 (WKPreferencesGetFontSmoothingLevel): 15880 Add cast to keep conversion function working. 15881 15882 * UIProcess/WebPreferences.cpp: 15883 (WebKit::WebPreferences::WebPreferences): Add identifier constructor. 15884 (WebKit::WebPreferences::updateStringValueForKey): 15885 (WebKit::WebPreferences::updateBoolValueForKey): 15886 (WebKit::WebPreferences::updateUInt32ValueForKey): 15887 Add type based updaters. These currently give hooks to the platform and 15888 call the generic update, but in the future, we can use this to optimize 15889 updating preferences to not send the entire store for each change. 15890 15891 * UIProcess/WebPreferences.h: 15892 Generate the getters and setters via macro instantiation. 15893 15894 * UIProcess/cf/WebPreferencesCF.cpp: Added. 15895 (WebKit::WebPreferences::platformInitializeStore): 15896 (WebKit::WebPreferences::platformUpdateStringValueForKey): 15897 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 15898 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 15899 Stubbed out. 15900 15901 * UIProcess/mac/WebPreferencesMac.mm: Added. 15902 (WebKit::makeKey): 15903 (WebKit::setStringValueIfInUserDefaults): 15904 (WebKit::setBoolValueIfInUserDefaults): 15905 (WebKit::setUInt32ValueIfInUserDefaults): 15906 (WebKit::WebPreferences::platformInitializeStore): 15907 (WebKit::WebPreferences::platformUpdateStringValueForKey): 15908 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 15909 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 15910 Use the platform hooks to initialize and update the store from 15911 NSUserDefaults. 15912 15913 * UIProcess/qt/WebPreferencesQt.cpp: Added. 15914 (WebKit::WebPreferences::platformInitializeStore): 15915 (WebKit::WebPreferences::platformUpdateStringValueForKey): 15916 (WebKit::WebPreferences::platformUpdateBoolValueForKey): 15917 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 15918 Stubbed out. 15919 15920 * WebProcess/WebPage/WebPage.cpp: 15921 (WebKit::WebPage::updatePreferences): 15922 * WebProcess/WebPage/win/WebPageWin.cpp: 15923 (WebKit::WebPage::platformPreferencesDidChange): 15924 Update to pull the value using the new type based getters. 15925 15926 * WebKit2.pro: 15927 * WebKit2.xcodeproj/project.pbxproj: 15928 * win/WebKit2.vcproj: 15929 Add new files. 15930 15931 2010-12-02 Steve Falkenburg <sfalken (a] apple.com> 15932 15933 Mac build fix. 15934 15935 * WebProcess/WebKitMain.cpp: 15936 (enableDataExecutionPrevention): 15937 15938 2010-11-30 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 15939 15940 Reviewed by Martin Robinson. 15941 15942 [GTK] Implement RunLoop, WorkQueue, Connection classes for WebKit2 15943 https://bugs.webkit.org/show_bug.cgi?id=48507 15944 15945 * Platform/CoreIPC/Connection.h: UNIX_X11 specific changes for GTK port. 15946 (CoreIPC::Connection::messageProcessingCompleted): 15947 * Platform/CoreIPC/gtk: Added. 15948 * Platform/CoreIPC/gtk/ConnectionGtk.cpp: Added. Connection class implementation for GTK port (UNIX_X11 specific). 15949 (CoreIPC::readBytesFromSocket): 15950 (CoreIPC::writeBytesToSocket): 15951 (CoreIPC::Connection::platformInitialize): 15952 (CoreIPC::Connection::platformInvalidate): 15953 (CoreIPC::Connection::processCompletedMessage): 15954 (CoreIPC::Connection::readEventHandler): 15955 (CoreIPC::Connection::open): 15956 (CoreIPC::Connection::platformCanSendOutgoingMessages): 15957 (CoreIPC::Connection::sendOutgoingMessage): 15958 * Platform/PlatformProcessIdentifier.h: UNIX_X11 specific changes for GTK port. 15959 * Platform/RunLoop.h: GTK port specific changes. 15960 * Platform/WorkQueue.h: GTK port specific changes. 15961 * Platform/gtk/RunLoopGtk.cpp: Added. Runs an event loop using GMainLoop and handles the incoming messages. 15962 (RunLoop::RunLoop): 15963 (RunLoop::~RunLoop): 15964 (RunLoop::run): 15965 (RunLoop::mainLoop): 15966 (RunLoop::stop): 15967 (RunLoop::queueWork): 15968 (RunLoop::wakeUp): 15969 (RunLoop::TimerBase::TimerBase): 15970 (RunLoop::TimerBase::~TimerBase): 15971 (RunLoop::TimerBase::resetTimerSource): 15972 (RunLoop::TimerBase::oneShotTimerFired): 15973 (RunLoop::TimerBase::repeatingTimerFired): 15974 (RunLoop::TimerBase::start): 15975 (RunLoop::TimerBase::stop): 15976 (RunLoop::TimerBase::isActive): 15977 * Platform/gtk/WorkQueueGtk.cpp: Added. Creates a thread and polls on a given fd using GIOChannel. 15978 Dispatches the obtained messages to RunLoop's GMainLoop. 15979 (WorkQueue::EventSource::EventSource): 15980 (WorkQueue::EventSource::dispatchSource): 15981 (WorkQueue::EventSource::performWorkOnce): 15982 (WorkQueue::EventSource::performWork): 15983 (WorkQueue::EventSource::deleteEventSource): 15984 (WorkQueue::platformInitialize): 15985 (WorkQueue::platformInvalidate): 15986 (WorkQueue::startWorkQueueThread): 15987 (WorkQueue::workQueueThreadBody): 15988 (WorkQueue::registerEventSourceHandler): 15989 (WorkQueue::unregisterEventSourceHandler): 15990 (WorkQueue::scheduleWork): 15991 15992 2010-12-02 Steve Falkenburg <sfalken (a] apple.com> 15993 15994 Reviewed by Adam Roben. 15995 15996 Move enableExecutionPrevention to WebKitMain 15997 https://bugs.webkit.org/show_bug.cgi?id=50392 15998 15999 * WebProcess/WebKitMain.cpp: 16000 (enableDataExecutionPrevention): 16001 (WebKitMain): 16002 * WebProcess/win/WebProcessMainWin.cpp: 16003 (WebKit::WebProcessMain): 16004 16005 2010-12-02 Steve Falkenburg <sfalken (a] apple.com> 16006 16007 Reviewed by Adam Roben. 16008 16009 Enable DEP at runtime to allow for compatibility with older versions of ATL 16010 https://bugs.webkit.org/show_bug.cgi?id=50378 16011 16012 * WebProcess/win/WebProcessMainWin.cpp: 16013 (WebKit::enableDataExecutionPrevention): 16014 (WebKit::WebProcessMain): 16015 * win/WebKit2WebProcessCommon.vsprops: 16016 16017 2010-12-01 Sam Weinig <sam (a] webkit.org> 16018 16019 Fix 64-bit build. 16020 16021 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 16022 (WebKit::NetscapePlugin::windowAndViewFramesChanged): 16023 16024 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16025 16026 Reviewed by Sam Weinig. 16027 16028 Give the fake Carbon window the right bounds 16029 https://bugs.webkit.org/show_bug.cgi?id=50361 16030 16031 * PluginProcess/PluginControllerProxy.cpp: 16032 (WebKit::PluginControllerProxy::windowAndViewFramesChanged): 16033 * PluginProcess/PluginControllerProxy.h: 16034 * PluginProcess/PluginControllerProxy.messages.in: 16035 * UIProcess/API/mac/WKView.mm: 16036 (-[WKView _updateWindowAndViewFrames]): 16037 Pass both the window frame and view frame along. 16038 16039 (-[WKView renewGState]): 16040 Call _updateWindowAndViewFrames. 16041 16042 * UIProcess/WebPageProxy.cpp: 16043 (WebKit::WebPageProxy::windowAndViewFramesChanged): 16044 Pass both the window frame and view frame along. 16045 16046 * UIProcess/WebPageProxy.h: 16047 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 16048 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 16049 (WebKit::NetscapePlugin::platformPostInitialize): 16050 We don't want a title bar in our fake window. 16051 16052 (WebKit::computeFakeWindowBoundsRect): 16053 Compute the fake window bounds. 16054 16055 (WebKit::NetscapePlugin::windowAndViewFramesChanged): 16056 Update the fake window bounds. 16057 16058 * WebProcess/Plugins/Plugin.h: 16059 * WebProcess/Plugins/PluginProxy.cpp: 16060 (WebKit::PluginProxy::windowAndViewFramesChanged): 16061 * WebProcess/Plugins/PluginProxy.h: 16062 * WebProcess/Plugins/PluginView.cpp: 16063 (WebKit::PluginView::windowAndViewFramesChanged): 16064 (WebKit::PluginView::initializePlugin): 16065 * WebProcess/Plugins/PluginView.h: 16066 * WebProcess/WebPage/WebPage.cpp: 16067 (WebKit::WebPage::windowAndViewFramesChanged): 16068 * WebProcess/WebPage/WebPage.h: 16069 (WebKit::WebPage::windowFrameInScreenCoordinates): 16070 (WebKit::WebPage::viewFrameInWindowCoordinates): 16071 * WebProcess/WebPage/WebPage.messages.in: 16072 Pass both the window frame and view frame along. 16073 16074 2010-12-01 Jia Pu <jpu (a] apple.com> 16075 16076 Reviewed by Darin Adler. 16077 16078 Support multiple correction candidates panel for misspelled word on Mac OS X. 16079 https://bugs.webkit.org/show_bug.cgi?id=50137 16080 <rdar://problem/8568059> 16081 16082 Adopted new function signatures defined in base class. 16083 16084 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 16085 (WebKit::WebEditorClient::getGuessesForWord): 16086 * WebProcess/WebCoreSupport/WebEditorClient.h: 16087 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 16088 (WebKit::WebEditorClient::showCorrectionPanel): 16089 16090 2010-12-01 Simon Fraser <simon.fraser (a] apple.com> 16091 16092 Reviewed by John Sullivan. 16093 16094 Hit testing broken on sibling views of the WKView 16095 <rdar://problem/8718397> 16096 16097 Make sure that hitView is not null when comparing with the 16098 _layerHostingView. 16099 16100 * UIProcess/API/mac/WKView.mm: 16101 (-[WKView hitTest:]): 16102 16103 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16104 16105 Reviewed by Sam Weinig. 16106 16107 Implement the remaining PluginController/Plugin member functions 16108 https://bugs.webkit.org/show_bug.cgi?id=50356 16109 16110 * PluginProcess/PluginControllerProxy.cpp: 16111 (WebKit::PluginControllerProxy::cancelStreamLoad): 16112 (WebKit::PluginControllerProxy::cancelManualStreamLoad): 16113 (WebKit::PluginControllerProxy::setStatusbarText): 16114 (WebKit::PluginControllerProxy::pluginProcessCrashed): 16115 (WebKit::PluginControllerProxy::frameDidFinishLoading): 16116 (WebKit::PluginControllerProxy::frameDidFail): 16117 (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse): 16118 (WebKit::PluginControllerProxy::manualStreamDidReceiveData): 16119 (WebKit::PluginControllerProxy::manualStreamDidFinishLoading): 16120 (WebKit::PluginControllerProxy::manualStreamDidFail): 16121 * PluginProcess/PluginControllerProxy.h: 16122 * PluginProcess/PluginControllerProxy.messages.in: 16123 * WebProcess/Plugins/PluginProxy.cpp: 16124 (WebKit::PluginProxy::frameDidFinishLoading): 16125 (WebKit::PluginProxy::frameDidFail): 16126 (WebKit::PluginProxy::manualStreamDidReceiveResponse): 16127 (WebKit::PluginProxy::manualStreamDidReceiveData): 16128 (WebKit::PluginProxy::manualStreamDidFinishLoading): 16129 (WebKit::PluginProxy::manualStreamDidFail): 16130 (WebKit::PluginProxy::windowFrameChanged): 16131 (WebKit::PluginProxy::cancelStreamLoad): 16132 (WebKit::PluginProxy::cancelManualStreamLoad): 16133 (WebKit::PluginProxy::setStatusbarText): 16134 * WebProcess/Plugins/PluginProxy.h: 16135 * WebProcess/Plugins/PluginProxy.messages.in: 16136 16137 2010-12-01 Steve Falkenburg <sfalken (a] apple.com> 16138 16139 Reviewed by Adam Roben. 16140 16141 WinCairo build should not use link-time code generation (LTCG) 16142 https://bugs.webkit.org/show_bug.cgi?id=50353 16143 16144 * win/WebKit2.vcproj: 16145 * win/WebKit2WebProcess.vcproj: 16146 16147 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16148 16149 Reviewed by Sam Weinig.. 16150 16151 Fix <rdar://problem/8717674>. 16152 16153 * WebProcess/com.apple.WebProcess.sb: 16154 Allow the UI process to issue file-write extensions. 16155 16156 2010-12-01 Sam Weinig <sam (a] webkit.org> 16157 16158 Another windows build fix. 16159 16160 * UIProcess/API/C/win/WKView.cpp: 16161 (WKViewCreate): 16162 16163 2010-12-01 Sam Weinig <sam (a] webkit.org> 16164 16165 Attempt to fix Windows build. 16166 16167 * UIProcess/API/C/win/WKViewPrivate.cpp: 16168 * UIProcess/API/C/win/WKViewPrivate.h: 16169 16170 2010-12-01 Sam Weinig <sam (a] webkit.org> 16171 16172 Reviewed by Anders Carlsson. 16173 16174 Add PageGrouping to WebKit2 API 16175 https://bugs.webkit.org/show_bug.cgi?id=50332 16176 16177 - Adds WKPageGroupRef and WKBundlePageGroupRef API objects 16178 (backed by WebPageGroup and WebPageGroupProxy respectively). 16179 - Moves visibleToInjectedBundle from page to PageGroup. 16180 - Make userScript/userStyleSheet functions take a page group parameter. 16181 16182 * Shared/API/c/WKBase.h: 16183 * Shared/APIObject.h: 16184 * Shared/WebPageCreationParameters.cpp: 16185 (WebKit::WebPageCreationParameters::encode): 16186 (WebKit::WebPageCreationParameters::decode): 16187 * Shared/WebPageCreationParameters.h: 16188 * Shared/WebPageGroupData.cpp: Added. 16189 (WebKit::WebPageGroupData::encode): 16190 (WebKit::WebPageGroupData::decode): 16191 * Shared/WebPageGroupData.h: Added. 16192 * UIProcess/API/C/WKAPICast.h: 16193 * UIProcess/API/C/WKPage.cpp: 16194 (WKPageGetPageGroup): 16195 * UIProcess/API/C/WKPage.h: 16196 * UIProcess/API/C/WKPageGroup.cpp: Added. 16197 (WKPageGroupGetTypeID): 16198 (WKPageGroupCreateWithIdentifier): 16199 (WKPageGroupCopyIdentifier): 16200 * UIProcess/API/C/WKPageGroup.h: Added. 16201 * UIProcess/API/C/WebKit2.h: 16202 * UIProcess/API/C/win/WKView.cpp: 16203 (WKViewCreate): 16204 * UIProcess/API/C/win/WKView.h: 16205 * UIProcess/API/mac/WKView.h: 16206 * UIProcess/API/mac/WKView.mm: 16207 (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): 16208 (-[WKView initWithFrame:pageNamespaceRef:]): 16209 * UIProcess/API/mac/WKViewInternal.h: 16210 * UIProcess/API/qt/qwkpage.cpp: 16211 (QWKPagePrivate::QWKPagePrivate): 16212 * UIProcess/WebContext.cpp: 16213 (WebKit::WebContext::WebContext): 16214 (WebKit::WebContext::createWebPage): 16215 * UIProcess/WebContext.h: 16216 * UIProcess/WebContextUserMessageCoders.h: 16217 (WebKit::WebContextUserMessageEncoder::encode): 16218 (WebKit::WebContextUserMessageDecoder::decode): 16219 * UIProcess/WebInspectorProxy.cpp: 16220 (WebKit::WebInspectorProxy::inspectorPageGroup): 16221 * UIProcess/WebInspectorProxy.h: 16222 * UIProcess/WebPageGroup.cpp: Added. 16223 (WebKit::generatePageGroupID): 16224 (WebKit::webPageGroupMap): 16225 (WebKit::WebPageGroup::create): 16226 (WebKit::WebPageGroup::get): 16227 (WebKit::WebPageGroup::WebPageGroup): 16228 (WebKit::WebPageGroup::~WebPageGroup): 16229 * UIProcess/WebPageGroup.h: Added. 16230 (WebKit::WebPageGroup::identifier): 16231 (WebKit::WebPageGroup::pageGroupID): 16232 (WebKit::WebPageGroup::data): 16233 (WebKit::WebPageGroup::type): 16234 * UIProcess/WebPageNamespace.cpp: 16235 (WebKit::WebPageNamespace::createWebPage): 16236 * UIProcess/WebPageNamespace.h: 16237 * UIProcess/WebPageProxy.cpp: 16238 (WebKit::WebPageProxy::create): 16239 (WebKit::WebPageProxy::WebPageProxy): 16240 (WebKit::WebPageProxy::creationParameters): 16241 * UIProcess/WebPageProxy.h: 16242 (WebKit::WebPageProxy::pageGroup): 16243 * UIProcess/WebProcessProxy.cpp: 16244 (WebKit::WebProcessProxy::createWebPage): 16245 * UIProcess/WebProcessProxy.h: 16246 * UIProcess/mac/WebInspectorProxyMac.mm: 16247 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 16248 * UIProcess/win/WebView.cpp: 16249 (WebKit::WebView::WebView): 16250 * UIProcess/win/WebView.h: 16251 (WebKit::WebView::create): 16252 * WebKit2.pro: 16253 * WebKit2.xcodeproj/project.pbxproj: 16254 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 16255 (WKBundleAddUserScript): 16256 (WKBundleAddUserStyleSheet): 16257 (WKBundleRemoveUserScript): 16258 (WKBundleRemoveUserStyleSheet): 16259 (WKBundleRemoveUserScripts): 16260 (WKBundleRemoveUserStyleSheets): 16261 (WKBundleRemoveAllUserContent): 16262 (WKBundleOverrideXSSAuditorEnabledForTestRunner): 16263 * WebProcess/InjectedBundle/API/c/WKBundle.h: 16264 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 16265 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 16266 (WKBundlePageGetPageGroup): 16267 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 16268 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: Added. 16269 (WKBundlePageGroupGetTypeID): 16270 (WKBundlePageGroupCopyIdentifier): 16271 * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h: Added. 16272 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 16273 * WebProcess/InjectedBundle/InjectedBundle.cpp: 16274 (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner): 16275 (WebKit::InjectedBundle::addUserScript): 16276 (WebKit::InjectedBundle::addUserStyleSheet): 16277 (WebKit::InjectedBundle::removeUserScript): 16278 (WebKit::InjectedBundle::removeUserStyleSheet): 16279 (WebKit::InjectedBundle::removeUserScripts): 16280 (WebKit::InjectedBundle::removeUserStyleSheets): 16281 (WebKit::InjectedBundle::removeAllUserContent): 16282 (WebKit::InjectedBundle::didInitializePageGroup): 16283 * WebProcess/InjectedBundle/InjectedBundle.h: 16284 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: 16285 (WebKit::InjectedBundleClient::didInitializePageGroup): 16286 * WebProcess/InjectedBundle/InjectedBundleClient.h: 16287 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 16288 (WebKit::InjectedBundleUserMessageEncoder::encode): 16289 (WebKit::InjectedBundleUserMessageDecoder::decode): 16290 * WebProcess/WebPage/WebPage.cpp: 16291 (WebKit::WebPage::create): 16292 (WebKit::WebPage::WebPage): 16293 (WebKit::WebPage::close): 16294 * WebProcess/WebPage/WebPage.h: 16295 (WebKit::WebPage::pageGroup): 16296 * WebProcess/WebPage/WebPageGroupProxy.cpp: Added. 16297 (WebKit::WebPageGroupProxy::create): 16298 (WebKit::WebPageGroupProxy::~WebPageGroupProxy): 16299 * WebProcess/WebPage/WebPageGroupProxy.h: Added. 16300 (WebKit::WebPageGroupProxy::identifier): 16301 (WebKit::WebPageGroupProxy::pageGroupID): 16302 (WebKit::WebPageGroupProxy::isVisibleToInjectedBundle): 16303 (WebKit::WebPageGroupProxy::WebPageGroupProxy): 16304 (WebKit::WebPageGroupProxy::type): 16305 * WebProcess/WebProcess.cpp: 16306 (WebKit::WebProcess::webPageGroup): 16307 * WebProcess/WebProcess.h: 16308 * win/WebKit2.vcproj: 16309 * win/WebKit2Generated.make: 16310 16311 2010-12-01 Steve Falkenburg <sfalken (a] apple.com> 16312 16313 Reviewed by Adam Roben. 16314 16315 vcproj changes can't be applied cleanly by the Windows EWS bot 16316 https://bugs.webkit.org/show_bug.cgi?id=50328 16317 16318 * win/WebKit2.submit.sln: Added property svn:eol-style. 16319 * win/WebKit2.vcproj: Added property svn:eol-style. 16320 * win/WebKit2Apple.vsprops: Added property svn:eol-style. 16321 * win/WebKit2CFLite.vsprops: Added property svn:eol-style. 16322 * win/WebKit2Common.vsprops: Added property svn:eol-style. 16323 * win/WebKit2DirectX.vsprops: Added property svn:eol-style. 16324 * win/WebKit2Generated.vcproj: Added property svn:eol-style. 16325 * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style. 16326 * win/WebKit2WebProcess.vcproj: Added property svn:eol-style. 16327 * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style. 16328 16329 2010-12-01 Simon Fraser <simon.fraser (a] apple.com> 16330 16331 Reviewed by Anders Carlsson. 16332 16333 Size changes on layer-backed drawing areas don't always end up with the correct value 16334 https://bugs.webkit.org/show_bug.cgi?id=50351 16335 <rdar://problem/8692966> 16336 16337 When the UI process does not receive didSetSize messages promptly, 16338 LayerBackedDrawingAreaProxy::setSize() bails early based on the 16339 m_isWaitingForDidSetFrameNotification flag. 16340 16341 In this situation, the final size may be incorrect. didSetSize() 16342 needs to compare the size that the web process has to the expected size, 16343 and send a final setSize if they differ. 16344 16345 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 16346 (WebKit::LayerBackedDrawingAreaProxy::didSetSize): 16347 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage): 16348 * UIProcess/LayerBackedDrawingAreaProxy.h: 16349 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 16350 (WebKit::LayerBackedDrawingArea::setSize): 16351 16352 2010-12-01 Simon Fraser <simon.fraser (a] apple.com> 16353 16354 Reviewed by Anders Carlsson. 16355 16356 Crash when closing WebKit2 window with accelerated composting content 16357 https://bugs.webkit.org/show_bug.cgi?id=50307 16358 <rdar://problem/8640126> 16359 16360 When the web page is closing, notify the drawing area, so that 16361 the layer-backed drawing area can kill the runloop obsever, 16362 then clear it. Clearing it is not sufficient, since the drawing 16363 area is ref-counted. 16364 16365 * WebProcess/WebPage/DrawingArea.h: 16366 (WebKit::DrawingArea::onPageClose): 16367 * WebProcess/WebPage/LayerBackedDrawingArea.h: 16368 * WebProcess/WebPage/WebPage.cpp: 16369 (WebKit::WebPage::close): 16370 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 16371 (WebKit::LayerBackedDrawingArea::platformClear): 16372 (WebKit::LayerBackedDrawingArea::onPageClose): 16373 16374 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16375 16376 Reviewed by Darin Adler. 16377 16378 Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New. 16379 https://bugs.webkit.org/show_bug.cgi?id=50336 16380 16381 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 16382 (WebKit::NPN_UserAgent): 16383 Call the static NetscapePlugin::userAgent function instead. 16384 16385 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 16386 (WebKit::NetscapePlugin::userAgent): 16387 If the passed in NPP is null, get the NetscapePlugin currently executing NPP_New. 16388 16389 (WebKit::NetscapePlugin::initialize): 16390 Keep track of the plug-in currently executing NPP_New. 16391 16392 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 16393 16394 2010-12-01 Brian Weinstein <bweinstein (a] apple.com> 16395 16396 One last Windows build fix. 16397 16398 * UIProcess/win/WebView.cpp: 16399 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 16400 16401 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16402 16403 Fix Windows build. 16404 16405 * UIProcess/win/WebView.cpp: 16406 (WebKit::WebView::pageDidEnterAcceleratedCompositing): 16407 (WebKit::WebView::pageDidLeaveAcceleratedCompositing): 16408 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 16409 16410 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16411 16412 Fix build. 16413 16414 * UIProcess/win/WebView.h: 16415 16416 2010-12-01 Anders Carlsson <andersca (a] apple.com> 16417 16418 Reviewed by Andreas Kling. 16419 16420 Get rid of DrawingAreaBase 16421 https://bugs.webkit.org/show_bug.cgi?id=50329 16422 16423 * Scripts/webkit2/messages.py: 16424 * Shared/DrawingAreaInfo.h: 16425 (WebKit::DrawingAreaInfo::DrawingAreaInfo): 16426 * Shared/WebPageCreationParameters.h: 16427 * UIProcess/API/mac/WKView.mm: 16428 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]): 16429 (-[WKView _pageDidEnterAcceleratedCompositing]): 16430 (-[WKView _pageDidLeaveAcceleratedCompositing]): 16431 * UIProcess/API/qt/qgraphicswkview.cpp: 16432 (QGraphicsWKView::takeSnapshot): 16433 (QGraphicsWKViewPrivate::commitScale): 16434 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 16435 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 16436 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize): 16437 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 16438 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 16439 * UIProcess/DrawingAreaProxy.cpp: 16440 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 16441 (WebKit::DrawingAreaProxy::nextIdentifier): 16442 * UIProcess/DrawingAreaProxy.h: 16443 (WebKit::DrawingAreaProxy::info): 16444 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 16445 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy): 16446 (WebKit::LayerBackedDrawingAreaProxy::setSize): 16447 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible): 16448 (WebKit::LayerBackedDrawingAreaProxy::update): 16449 * UIProcess/TiledDrawingAreaProxy.cpp: 16450 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 16451 * UIProcess/WebPageProxy.cpp: 16452 (WebKit::WebPageProxy::didChangeAcceleratedCompositing): 16453 * UIProcess/WebPageProxy.h: 16454 * UIProcess/WebPageProxy.messages.in: 16455 * UIProcess/win/WebView.cpp: 16456 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 16457 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 16458 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 16459 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 16460 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 16461 * WebProcess/WebPage/DrawingArea.cpp: 16462 (WebKit::DrawingArea::create): 16463 (WebKit::DrawingArea::DrawingArea): 16464 * WebProcess/WebPage/DrawingArea.h: 16465 (WebKit::DrawingArea::info): 16466 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 16467 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 16468 (WebKit::LayerBackedDrawingArea::didReceiveMessage): 16469 * WebProcess/WebPage/LayerBackedDrawingArea.h: 16470 * WebProcess/WebPage/TiledDrawingArea.cpp: 16471 (WebKit::TiledDrawingArea::TiledDrawingArea): 16472 * WebProcess/WebPage/TiledDrawingArea.h: 16473 * WebProcess/WebPage/WebPage.cpp: 16474 (WebKit::WebPage::WebPage): 16475 (WebKit::WebPage::changeAcceleratedCompositingMode): 16476 16477 2010-11-30 Ryosuke Niwa <rniwa (a] webkit.org> 16478 16479 Unreviewed speculative build fix for Windows. 16480 16481 * UIProcess/win/WebView.cpp: 16482 (WebKit::WebView::pageDidEnterAcceleratedCompositing): 16483 (WebKit::WebView::pageDidLeaveAcceleratedCompositing): 16484 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 16485 * UIProcess/win/WebView.h: 16486 16487 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16488 16489 Fix Qt build. 16490 16491 * UIProcess/API/qt/qgraphicswkview.cpp: 16492 (QGraphicsWKView::takeSnapshot): 16493 (QGraphicsWKViewPrivate::commitScale): 16494 16495 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16496 16497 Reviewed by Sam Weinig. 16498 16499 Change DrawingArea and DrawingAreaProxy to not inherit from DrawingAreaBase 16500 https://bugs.webkit.org/show_bug.cgi?id=50300 16501 16502 * UIProcess/API/mac/WKView.mm: 16503 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaBase::]): 16504 (-[WKView _pageDidEnterAcceleratedCompositing]): 16505 (-[WKView _pageDidLeaveAcceleratedCompositing]): 16506 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 16507 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 16508 * UIProcess/DrawingAreaProxy.cpp: 16509 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 16510 (WebKit::DrawingAreaProxy::nextDrawingAreaID): 16511 * UIProcess/DrawingAreaProxy.h: 16512 (WebKit::DrawingAreaProxy::info): 16513 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 16514 (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy): 16515 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 16516 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 16517 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 16518 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 16519 * WebProcess/WebPage/DrawingArea.cpp: 16520 (WebKit::DrawingArea::create): 16521 (WebKit::DrawingArea::DrawingArea): 16522 * WebProcess/WebPage/DrawingArea.h: 16523 (WebKit::DrawingArea::info): 16524 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 16525 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 16526 (WebKit::LayerBackedDrawingArea::didReceiveMessage): 16527 * WebProcess/WebPage/LayerBackedDrawingArea.h: 16528 * WebProcess/WebPage/TiledDrawingArea.cpp: 16529 (WebKit::TiledDrawingArea::TiledDrawingArea): 16530 * WebProcess/WebPage/TiledDrawingArea.h: 16531 * WebProcess/WebPage/WebPage.cpp: 16532 (WebKit::WebPage::changeAcceleratedCompositingMode): 16533 16534 2010-11-30 Simon Fraser <simon.fraser (a] apple.com> 16535 16536 Reviewed by Sam Weinig. 16537 16538 Context menus broken after WebKit2 goes into accelerated composting mode. 16539 https://bugs.webkit.org/show_bug.cgi?id=50296 16540 16541 Override hitTest: on the WKView to exclude the child layer-backed view from 16542 hit testing, so that context menus work. 16543 16544 * UIProcess/API/mac/WKView.mm: 16545 (-[WKView hitTest:]): 16546 16547 2010-11-30 Mark Rowe <mrowe (a] apple.com> 16548 16549 Reviewed by Sam Weinig. 16550 16551 Build fix. 16552 16553 * Configurations/BaseTarget.xcconfig: Don't run Copy Files and Run Script build phases 16554 during installhdrs. It's not necessary, and it results in Xcode attempting to copy the 16555 plug-in shim dylib when it has not yet been built. 16556 * WebKit2.xcodeproj/project.pbxproj: Stop copying the .xcconfig file in to the application 16557 wrapper. 16558 16559 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16560 16561 Fix build. 16562 16563 * Scripts/webkit2/messages.py: 16564 16565 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16566 16567 Reviewed by Sam Weinig. 16568 16569 Rename DrawingAreaBase.h to DrawingAreaInfo.h. 16570 16571 * Shared/DrawingAreaInfo.h: Renamed from WebKit2/Shared/DrawingAreaBase.h. 16572 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo): 16573 (WebKit::DrawingAreaBase::~DrawingAreaBase): 16574 (WebKit::DrawingAreaBase::info): 16575 (WebKit::DrawingAreaBase::DrawingAreaBase): 16576 * Shared/WebPageCreationParameters.h: 16577 * UIProcess/DrawingAreaProxy.h: 16578 * WebKit2.xcodeproj/project.pbxproj: 16579 * WebProcess/WebPage/DrawingArea.h: 16580 * win/WebKit2.vcproj: 16581 16582 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16583 16584 Fix build. 16585 16586 * PluginProcess/mac/PluginProcessShim.cpp: 16587 16588 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16589 16590 Reviewed by Dan Bernstein. 16591 16592 Add a simple shim function for Debugger(). 16593 https://bugs.webkit.org/show_bug.cgi?id=50268 16594 16595 * PluginProcess/PluginProcess.h: 16596 * PluginProcess/mac/PluginProcessMac.mm: 16597 (WebKit::initShouldCallRealDebugger): 16598 We only want to call the real Debugger() function when USERBREAK is set. 16599 16600 (WebKit::shouldCallRealDebugger): 16601 Return whether USERBREAK is set. 16602 16603 (WebKit::PluginProcess::initializeShim): 16604 Initialize the shim. 16605 16606 * PluginProcess/mac/PluginProcessMainMac.mm: 16607 (WebKit::PluginProcessMain): 16608 Call PluginProcess::initializeShim. 16609 16610 * PluginProcess/mac/PluginProcessShim.cpp: 16611 (WebKit::WebKitPluginProcessShimInitialize): 16612 This now takes a struct of callbacks. 16613 16614 (WebKit::shimDebugger): 16615 Call the shouldCallDebugger function. If it returns true, the real Debugger() function should be called. 16616 16617 * PluginProcess/mac/PluginProcessShim.h: 16618 * WebKit2.xcodeproj/project.pbxproj: 16619 16620 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16621 16622 Reviewed by Sam Weinig. 16623 16624 Pass the plug-in process shim in DYLD_INSERT_LIBRARIES when launching the plug-in process 16625 https://bugs.webkit.org/show_bug.cgi?id=50262 16626 16627 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 16628 Add an EnvironmentVariables class that allows for easy modification of the environment variables 16629 passed to posix_spawn. 16630 16631 (WebKit::ProcessLauncher::launchProcess): 16632 When spawning the plug-in process, insert the plug-in process shim. 16633 16634 2010-11-30 Anders Carlsson <andersca (a] apple.com> 16635 16636 Reviewed by Sam Weinig. 16637 16638 Add plug-in process shim 16639 https://bugs.webkit.org/show_bug.cgi?id=50261 16640 16641 * Configurations/PluginProcessShim.xcconfig: Added. 16642 * PluginProcess/mac/PluginProcessShim.cpp: Added. 16643 (PluginProcessShimInitialize): 16644 * PluginProcess/mac/PluginProcessShim.h: Added. 16645 * WebKit2.xcodeproj/project.pbxproj: 16646 16647 2010-11-30 Brian Weinstein <bweinstein (a] apple.com> 16648 16649 Fix the Windows build by copying WKFindOptions.h into WebKitOutputDir with the other headers. 16650 16651 * win/WebKit2Generated.make: 16652 16653 2010-11-30 Dan Bernstein <mitz (a] apple.com> 16654 16655 Try to fix the Windows build. 16656 16657 * win/WebKit2.vcproj: 16658 16659 2010-11-30 Dan Bernstein <mitz (a] apple.com> 16660 16661 Reviewed by Anders Carlsson. 16662 16663 Injected bundle support for <rdar://problem/8710645> WebKitTestRunner needs layoutTestController.findString 16664 https://bugs.webkit.org/show_bug.cgi?id=50238 16665 16666 * Shared/API/c/WKFindOptions.h: Added. Moved the definition of WKFindOptions here from WKPage.h. 16667 * Shared/API/c/WKSharedAPICast.h: 16668 (WebKit::toFindOptions): Moved from WKAPICast.h. 16669 * UIProcess/API/C/WKAPICast.h: 16670 * UIProcess/API/C/WKPage.h: 16671 * WebKit2.xcodeproj/project.pbxproj: Added WKFindOptions.h. 16672 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 16673 (WKBundlePageFindString): Added. 16674 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 16675 * WebProcess/WebPage/WebPage.cpp: 16676 (WebKit::WebPage::findStringFromInjectedBundle): Added. 16677 * WebProcess/WebPage/WebPage.h: 16678 16679 2010-11-30 Andreas Kling <kling (a] webkit.org> 16680 16681 Reviewed by Dirk Schulze. 16682 16683 GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument 16684 https://bugs.webkit.org/show_bug.cgi?id=48516 16685 16686 * UIProcess/FindIndicator.cpp: 16687 (WebKit::FindIndicator::draw): 16688 16689 2010-11-30 Steve Falkenburg <sfalken (a] apple.com> 16690 16691 Reviewed by Adam Roben. 16692 16693 All projects on Windows should use cmd files for build events 16694 https://bugs.webkit.org/show_bug.cgi?id=50213 16695 16696 * win/WebKit2Common.vsprops: 16697 * win/WebKit2WebProcessCommon.vsprops: 16698 * win/WebKit2WebProcessPostBuild.cmd: Added. 16699 * win/WebKit2WebProcessPreBuild.cmd: Added. 16700 * win/WebKitPostBuild.cmd: Added. 16701 * win/WebKitPreBuild.cmd: Added. 16702 * win/WebKitPreLink.cmd: Added. 16703 16704 2010-11-30 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 16705 16706 Reviewed by Andreas Kling. 16707 16708 [Qt] Early return if setResizesToContentsUsingLayoutSize() is called with already-set size 16709 16710 * WebProcess/WebPage/WebPage.cpp: 16711 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 16712 16713 2010-11-29 Dan Bernstein <mitz (a] apple.com> 16714 16715 Reviewed by Darin Adler. 16716 16717 WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API. 16718 https://bugs.webkit.org/show_bug.cgi?id=50038 16719 Based on a patch from Darin Adler. 16720 16721 * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCores new private 16722 FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions. 16723 * UIProcess/API/C/WKAPICast.h: Removed toFindDirection(). 16724 (WebKit::toFindOptions): Updated for new values. 16725 * UIProcess/API/C/WKPage.cpp: 16726 (WKPageFindString): Removed separate WKFindDirection. 16727 (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions. 16728 * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions. 16729 * UIProcess/WebPageProxy.cpp: 16730 (WebKit::WebPageProxy::findString): Removed separate FindDirection. 16731 (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions. 16732 * UIProcess/WebPageProxy.h: 16733 * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename. 16734 * WebProcess/WebPage/FindController.cpp: 16735 (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions. 16736 (WebKit::FindController::countStringMatches): Changed to use FindOptions. 16737 (WebKit::FindController::findString): Ditto. 16738 * WebProcess/WebPage/FindController.h: 16739 * WebProcess/WebPage/WebPage.cpp: 16740 (WebKit::WebPage::findString): Ditto. 16741 (WebKit::WebPage::countStringMatches): Ditto. 16742 * WebProcess/WebPage/WebPage.h: 16743 * WebProcess/WebPage/WebPage.messages.in: Ditto. 16744 16745 2010-11-29 Brent Fulgham <bfulgham (a] webkit.org> 16746 16747 Unreviewed build fix. 16748 16749 * win/WebKit2.vcproj: Add missing vsprops association for 16750 Debug_Cairo_CFLite target. 16751 16752 2010-11-29 Anders Carlsson <andersca (a] apple.com> 16753 16754 Reviewed by Sam Weinig. 16755 16756 Cursor does not always change back to arrow when exiting image document 16757 https://bugs.webkit.org/show_bug.cgi?id=50190 16758 <rdar://problem/8665265> 16759 16760 * Shared/mac/WebEventFactory.mm: 16761 (WebKit::mouseEventTypeForEvent): 16762 (WebKit::globalPointForEvent): 16763 (WebKit::pointForEvent): 16764 Handle the NSMouseEntered and NSMouseExited events. 16765 16766 * UIProcess/API/mac/WKView.mm: 16767 (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): 16768 We want entered and exited events for this tracking area. 16769 Add mouseEntered and mouseExited handlers. 16770 16771 2010-11-29 Anders Carlsson <andersca (a] apple.com> 16772 16773 Reviewed by Darin Adler. 16774 16775 Should be able to pause and resume downloads 16776 https://bugs.webkit.org/show_bug.cgi?id=50185 16777 <rdar://problem/8691135> 16778 16779 * UIProcess/API/C/WKContext.h: 16780 Add didCancel callback. 16781 16782 * UIProcess/API/C/WKDownload.cpp: 16783 (WKDownloadGetResumeData): 16784 (WKDownloadCancel): 16785 Call the respective DownloadProxy member functions. 16786 16787 * UIProcess/API/C/WKDownload.h: 16788 * UIProcess/Downloads/DownloadProxy.cpp: 16789 (WebKit::DownloadProxy::cancel): 16790 Send Cancel to the WebProcess. 16791 16792 (WebKit::DownloadProxy::didFail): 16793 This now takes a resumeData reference. 16794 16795 (WebKit::DownloadProxy::didCancel): 16796 Set the resume data and call didCancel. 16797 16798 * UIProcess/Downloads/DownloadProxy.h: 16799 (WebKit::DownloadProxy::resumeData): 16800 Return the resume data. 16801 16802 * UIProcess/Downloads/DownloadProxy.messages.in: 16803 Add DidCancel message, Add resume data to DidFail. 16804 16805 * UIProcess/WebDownloadClient.cpp: 16806 (WebKit::WebDownloadClient::didCancel): 16807 Call the didCancel context client function. 16808 16809 * WebProcess/Downloads/Download.cpp: 16810 (WebKit::Download::didFail): 16811 This now takes a resume data argument as well. 16812 16813 (WebKit::Download::didCancel): 16814 Send DidCancel. 16815 16816 * WebProcess/Downloads/DownloadManager.cpp: 16817 (WebKit::DownloadManager::cancelDownload): 16818 Look up the download and cancel it. 16819 16820 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 16821 (WebKit::Download::cancel): 16822 Add stub. 16823 16824 * WebProcess/Downloads/mac/DownloadMac.mm: 16825 (WebKit::Download::cancel): 16826 Cancel the download. 16827 16828 (-[WKDownloadAsDelegate download:didFailWithError:]): 16829 Pass the resume data along. 16830 16831 * WebProcess/Downloads/qt/DownloadQt.cpp: 16832 (WebKit::Download::cancel): 16833 Add stub. 16834 16835 * WebProcess/WebProcess.cpp: 16836 (WebKit::WebProcess::cancelDownload): 16837 Ask the download manager to cancel the download. 16838 16839 * WebProcess/WebProcess.h: 16840 * WebProcess/WebProcess.messages.in: 16841 Add CancelDownload message. 16842 16843 2010-11-29 Balazs Kelemen <kbalazs (a] webkit.org> 16844 16845 Reviewed by Adam Roben. 16846 16847 [WK2] Support repeating timers 16848 https://bugs.webkit.org/show_bug.cgi?id=50024 16849 16850 Added boolean member for TimerBase on PLATFORM(WIN) 16851 and PLATFORM(QT) to be able to differentiate between 16852 repeating and one shot operating mode. Change the confusing 16853 signature of TimerBase::start: use a bool for selecting 16854 operating mode. 16855 * Platform/RunLoop.h: 16856 (RunLoop::TimerBase::startRepeating): 16857 (RunLoop::TimerBase::startOneShot): 16858 * Platform/mac/RunLoopMac.mm: 16859 (RunLoop::TimerBase::start): 16860 * Platform/qt/RunLoopQt.cpp: 16861 (RunLoop::TimerBase::timerFired): Only stop the timer if it 16862 is not in repeating mode. 16863 (RunLoop::TimerBase::TimerBase): 16864 (RunLoop::TimerBase::start): 16865 * Platform/win/RunLoopWin.cpp: 16866 (RunLoop::TimerBase::timerFired): Only stop the timer if it 16867 is not in repeating mode. 16868 (RunLoop::TimerBase::TimerBase): 16869 (RunLoop::TimerBase::start): 16870 16871 2010-11-29 Anders Carlsson <andersca (a] apple.com> 16872 16873 Reviewed by Sam Weinig. 16874 16875 Downloads: When the web process crashes, call error callbacks for pending downloads 16876 https://bugs.webkit.org/show_bug.cgi?id=50164 16877 <rdar://problem/8691170> 16878 16879 * UIProcess/API/C/WKContext.h: 16880 Add processDidCrash callback. 16881 16882 * UIProcess/Downloads/DownloadProxy.cpp: 16883 (WebKit::DownloadProxy::~DownloadProxy): 16884 Assert that the web context is null. 16885 16886 (WebKit::DownloadProxy::processDidClose): 16887 Call the processDidCrash callback. 16888 16889 (WebKit::DownloadProxy::didFinish): 16890 (WebKit::DownloadProxy::didFail): 16891 Call downloadFinished. 16892 16893 * UIProcess/WebContext.cpp: 16894 (WebKit::WebContext::processDidClose): 16895 Call processDidClose on all pending downloads. 16896 16897 (WebKit::WebContext::downloadFinished): 16898 Remove the download proxy from the map. 16899 16900 * UIProcess/WebDownloadClient.cpp: 16901 (WebKit::WebDownloadClient::processDidCrash): 16902 Call the processDidCrash callback function. 16903 16904 2010-11-29 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16905 16906 Reviewed by Kenneth Rohde Christiansen. 16907 16908 [Qt] Allow pre-generation for package builds for WebKit2 16909 https://bugs.webkit.org/show_bug.cgi?id=50139 16910 16911 Use a build variable for the generated directory path and set the 16912 value based on CONFIG just like for WebKit1. 16913 16914 For non-package builds use a relative base path for the 16915 genrated directory just like for WebKit1. 16916 16917 * DerivedSources.pro: 16918 * WebKit2.pro: 16919 16920 2010-11-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 16921 16922 Reviewed by Kenneth Rohde Christiansen. 16923 16924 [Qt] Move some build logic from Qt to platform independent code 16925 https://bugs.webkit.org/show_bug.cgi?id=50134 16926 16927 Remove the creation of the directories under $$OUTPUT_DIR/include 16928 as these will be handled by the fwheader_generator target. 16929 16930 Remove the explicit generation of $$OUTPUT_DIR/WebKit2/generated as 16931 this is not required. 16932 16933 * DerivedSources.pro: 16934 16935 2010-11-24 Brady Eidson <beidson (a] apple.com> 16936 16937 Reviewed implicitly by John Sullivan. 16938 16939 https://bugs.webkit.org/show_bug.cgi?id=50042 16940 16941 * UIProcess/mac/WebContextMenuProxyMac.mm: 16942 (-[WebUserDataWrapper initWithUserData:WebKit::]): Do the proper self = [super init] dance here. 16943 16944 2010-11-24 Brady Eidson <beidson (a] apple.com> 16945 16946 Reviewed by Dan Bernstein. 16947 16948 More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=50042 16949 WK2 Context Menu Items need a user data object and a client callback for selection. 16950 16951 * Shared/API/c/WKContextMenuItem.cpp: 16952 (WKContextMenuItemGetUserData): 16953 (WKContextMenuItemSetUserData): 16954 * Shared/API/c/WKContextMenuItem.h: 16955 16956 * Shared/WebContextMenuItem.cpp: 16957 (WebKit::WebContextMenuItem::userData): 16958 (WebKit::WebContextMenuItem::setUserData): 16959 * Shared/WebContextMenuItem.h: 16960 16961 * Shared/WebContextMenuItemData.cpp: 16962 (WebKit::WebContextMenuItemData::userData): 16963 (WebKit::WebContextMenuItemData::setUserData): 16964 * Shared/WebContextMenuItemData.h: 16965 16966 * UIProcess/API/C/WKPage.h: 16967 16968 * UIProcess/WebPageContextMenuClient.cpp: 16969 (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): Added for WK2 apps to get a callback. 16970 * UIProcess/WebPageContextMenuClient.h: 16971 16972 * UIProcess/WebPageProxy.cpp: 16973 (WebKit::WebPageProxy::contextMenuItemSelected): 16974 * UIProcess/mac/WebContextMenuProxyMac.mm: 16975 (-[WebUserDataWrapper initWithUserData:WebKit::]): Add an "APIObject" user data wrapper class to associate with the NSMenuItem. 16976 (-[WebUserDataWrapper WebKit::]): 16977 (-[WebMenuTarget forwardContextMenuAction:]): Include the user data object in the created ContextMenuItemData. 16978 (WebKit::nsMenuItemVector): 16979 16980 2010-11-24 Andras Becsi <abecsi (a] inf.u-szeged.hu> 16981 16982 Reviewed by Kenneth Rohde Christiansen. 16983 16984 Make WebKit2 compile with !ENABLE(INSPECTOR). 16985 https://bugs.webkit.org/show_bug.cgi?id=49973 16986 16987 * Shared/API/c/WKSharedAPICast.h: 16988 (WebKit::toAPI): 16989 (WebKit::toImpl): 16990 * UIProcess/API/C/WKAPICast.h: 16991 * UIProcess/API/C/WKInspector.cpp: 16992 * UIProcess/API/C/WKInspector.h: 16993 * UIProcess/API/C/WKPage.cpp: 16994 * UIProcess/API/C/WKPage.h: 16995 * UIProcess/WebInspectorProxy.cpp: 16996 * UIProcess/WebInspectorProxy.h: 16997 * UIProcess/WebInspectorProxy.messages.in: 16998 * UIProcess/WebPageProxy.cpp: 16999 (WebKit::WebPageProxy::close): 17000 (WebKit::WebPageProxy::didReceiveMessage): 17001 (WebKit::WebPageProxy::didReceiveSyncMessage): 17002 (WebKit::WebPageProxy::processDidCrash): 17003 * UIProcess/WebPageProxy.h: 17004 * UIProcess/mac/WebInspectorProxyMac.mm: 17005 * UIProcess/qt/WebInspectorProxyQt.cpp: 17006 * UIProcess/win/WebInspectorProxyWin.cpp: 17007 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 17008 * WebProcess/WebCoreSupport/WebInspectorClient.h: 17009 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 17010 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 17011 * WebProcess/WebPage/WebInspector.cpp: 17012 * WebProcess/WebPage/WebInspector.h: 17013 * WebProcess/WebPage/WebInspector.messages.in: 17014 * WebProcess/WebPage/WebPage.cpp: 17015 (WebKit::WebPage::WebPage): 17016 (WebKit::WebPage::close): 17017 (WebKit::WebPage::windowIsFocused): 17018 (WebKit::WebPage::didReceiveMessage): 17019 * WebProcess/WebPage/WebPage.h: 17020 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 17021 * WebProcess/WebPage/win/WebInspectorWin.cpp: 17022 17023 2010-11-24 Andreas Kling <kling (a] webkit.org> 17024 17025 Reviewed by Kenneth Rohde Christiansen. 17026 17027 [Qt][WK2] Make deep copies of tile images 17028 17029 We need the tile images we get from UpdateChunk::createImage() to persist, 17030 so we should take a copy() of them. 17031 17032 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: 17033 (WebKit::TiledDrawingAreaTile::updateFromChunk): 17034 17035 2010-11-24 Andreas Kling <kling (a] webkit.org> 17036 17037 Reviewed by Kenneth Rohde Christiansen. 17038 17039 [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate 17040 17041 Always initialize QGWKVP::m_isChangingScale in the constructor. 17042 17043 * UIProcess/API/qt/qgraphicswkview.cpp: 17044 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate): 17045 17046 2010-11-23 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 17047 17048 Reviewed by Andreas Kling. 17049 17050 Adapt to setShouldDelegateScrolling not being a real setting anymore. 17051 We now similarily to setUseFixedLayout and setPaintEntireContents 17052 set it on the FrameView wen transitioning to a new page, etc. 17053 17054 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17055 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 17056 * WebProcess/WebPage/WebPage.cpp: 17057 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 17058 17059 2010-11-22 Adam Roben <aroben (a] apple.com> 17060 17061 Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files 17062 17063 Apple's Windows build allows placing header files and import libraries for WebKit's 17064 dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the 17065 $WebKitLibrariesDir environment variable. This is both required for production builds and 17066 convenient for Apple-internal developer builds. Apple's production builds also require that 17067 WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production 17068 builds, the files are copied into that directory tree by the 17069 WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the 17070 copying is done by 17071 JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make. 17072 17073 This .vsprops copying is problematic in one very important case: when a developer updates 17074 their source tree and then tries to build. Visual Studio only reads .vsprops files when a 17075 project is first loaded. So, when Visual Studio is first opened after the .vsprops files are 17076 updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a 17077 build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into 17078 $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build 17079 will proceed with out-of-date .vsprops files, which will likely result in a build failure. 17080 17081 To fix this, we now use normal relative paths to access the .vsprops files in the source 17082 tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment 17083 variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is 17084 unset, so the normal relative paths are used to read the .vsprops files out of the source 17085 tree directly. In production builds, this environment variable is set to a fake directory 17086 that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path 17087 is resolved. 17088 17089 For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops: 17090 17091 $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops 17092 17093 In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the 17094 files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds, 17095 JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to 17096 "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for 17097 FeatureDefines.vsprops becomes: 17098 17099 $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops 17100 17101 which resolves to: 17102 17103 $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops 17104 17105 (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3" 17106 actually exist since they are matched by an equal number of ".." path components.) 17107 17108 Note that Visual Studio still won't pick up changes made to .vsprops files while Visual 17109 Studio is open, but that problem hasn't seemed to cause developers many headaches so far. 17110 17111 Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are 17112 updated 17113 17114 Reviewed by Dave Hyatt. 17115 17116 * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can 17117 find the .vsprops files. 17118 17119 * win/WebKit2.vcproj: 17120 * win/WebKit2WebProcess.vcproj: 17121 Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops 17122 files. 17123 17124 2010-11-22 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 17125 17126 Reviewed by Andreas Kling. 17127 17128 Make WebKit2 compile with ENABLE_JAVASCRIPT_DEBUGGER=0 17129 17130 * WebProcess/WebPage/WebInspector.cpp: Add missing ENABLE(JAVASCRIPT_DEBUGGER) guards. 17131 (WebKit::WebInspector::startJavaScriptDebugging): 17132 (WebKit::WebInspector::stopJavaScriptDebugging): 17133 (WebKit::WebInspector::startJavaScriptProfiling): 17134 (WebKit::WebInspector::stopJavaScriptProfiling): 17135 17136 2010-11-21 Sam Weinig <sam (a] webkit.org> 17137 17138 Reviewed by Dan Bernstein. 17139 17140 Textareas should be resizable by default 17141 https://bugs.webkit.org/show_bug.cgi?id=49892 17142 17143 Test: WebKit2/WKPreferences 17144 17145 * Shared/WebPreferencesStore.cpp: 17146 (WebKit::WebPreferencesStore::WebPreferencesStore): 17147 (WebKit::WebPreferencesStore::encode): 17148 (WebKit::WebPreferencesStore::decode): 17149 * Shared/WebPreferencesStore.h: 17150 Add textAreasAreResizable bit. 17151 17152 * UIProcess/API/C/WKPreferences.cpp: 17153 (WKPreferencesSetJavaEnabled): 17154 (WKPreferencesGetJavaEnabled): 17155 Fix typo, WKPRe... -> WKPre... 17156 17157 (WKPreferencesSetMinimumFontSize): 17158 (WKPreferencesGetMinimumFontSize): 17159 Fix comment to correctly reflect that the default minimumFontSize is 0, not 1. 17160 17161 (WKPreferencesSetTextAreasAreResizable): 17162 (WKPreferencesGetTextAreasAreResizable): 17163 * UIProcess/API/C/WKPreferences.h: 17164 Add API. 17165 17166 * UIProcess/API/C/WKPreferencesPrivate.h: 17167 Don't use PLATFORM in API headers. 17168 17169 * UIProcess/WebPreferences.cpp: 17170 (WebKit::WebPreferences::setTextAreasAreResizable): 17171 (WebKit::WebPreferences::textAreasAreResizable): 17172 * UIProcess/WebPreferences.h: 17173 * WebProcess/WebPage/WebPage.cpp: 17174 (WebKit::WebPage::updatePreferences): 17175 Pipe bit through to the WebProcess and onto WebCore::Settings. 17176 17177 2010-11-19 Zalan Bujtas <zbujtas (a] gmail.com> 17178 17179 Reviewed by Andreas Kling. 17180 17181 WebUIClient::createNewPage() expects a retained WKPageRef. 17182 https://bugs.webkit.org/show_bug.cgi?id=48549 17183 17184 * UIProcess/API/qt/ClientImpl.cpp: 17185 (qt_wk_createNewPage): 17186 17187 2010-11-19 Anders Carlsson <andersca (a] apple.com> 17188 17189 Reviewed by Sam Weinig. 17190 17191 Add a didFail WKContextDownloadClient callback 17192 https://bugs.webkit.org/show_bug.cgi?id=49847 17193 17194 * UIProcess/API/C/WKContext.h: 17195 Add didFail callback. 17196 17197 * UIProcess/Downloads/DownloadProxy.cpp: 17198 (WebKit::DownloadProxy::didFail): 17199 Call WebDownloadClient::didFail. 17200 17201 * UIProcess/WebDownloadClient.cpp: 17202 (WebKit::WebDownloadClient::didFail): 17203 Call the didFail client function. 17204 17205 17206 2010-11-19 Anders Carlsson <andersca (a] apple.com> 17207 17208 Reviewed by Sam Weinig. 17209 17210 Extend sandbox when downloading files 17211 https://bugs.webkit.org/show_bug.cgi?id=49844 17212 17213 * Platform/CoreIPC/HandleMessage.h: 17214 (CoreIPC::callMemberFunction): 17215 Add new overload. 17216 17217 * UIProcess/Downloads/DownloadProxy.cpp: 17218 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): 17219 Create a sandbox extension handle if necessary. 17220 17221 * UIProcess/Downloads/DownloadProxy.messages.in: 17222 Add a sandbox extension handle out parameter to the DecideDestinationWithSuggestedFilename message. 17223 17224 * WebProcess/Downloads/Download.cpp: 17225 (WebKit::Download::decideDestinationWithSuggestedFilename): 17226 Create and consume the returned sandbox extension handle. 17227 17228 (WebKit::Download::didFinish): 17229 (WebKit::Download::didFail): 17230 Invalidate the sandbox extension handles. 17231 17232 * WebProcess/Downloads/mac/DownloadMac.mm: 17233 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]): 17234 Whoops, fix inverted logic. 17235 17236 2010-11-19 Steve Falkenburg <sfalken (a] apple.com> 17237 17238 Reviewed by Adam Roben. 17239 17240 Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files 17241 https://bugs.webkit.org/show_bug.cgi?id=49819 17242 17243 * win/WebKit2.vcproj: 17244 * win/WebKit2Generated.vcproj: 17245 * win/WebKit2WebProcess.vcproj: 17246 * win/WebKit2WebProcessCommon.vsprops: 17247 17248 2010-11-19 Brady Eidson <beidson (a] apple.com> 17249 17250 Reviewed by Darin Adler. 17251 17252 More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836 17253 Add WebKit2 API relevant to customization of context menus 17254 17255 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 17256 (WKBundleFrameAllowsFollowingLink): 17257 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 17258 17259 * WebProcess/WebPage/WebFrame.cpp: 17260 (WebKit::WebFrame::allowsFollowingLink): 17261 * WebProcess/WebPage/WebFrame.h: 17262 17263 2010-11-19 Brady Eidson <beidson (a] apple.com> 17264 17265 Reviewed by Darin Adler. 17266 17267 <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836 17268 Add WebKit2 API relevant to customization of context menus 17269 17270 Most of this is just exposing already-existing concepts in API. 17271 17272 * Shared/API/c/WKURLRequest.cpp: 17273 (WKURLRequestCreateWithWKURL): 17274 * Shared/API/c/WKURLRequest.h: 17275 17276 * Shared/WebURLRequest.cpp: 17277 (WebKit::WebURLRequest::create): 17278 * Shared/WebURLRequest.h: 17279 17280 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 17281 (WKBundleHitTestResultCopyAbsoluteImageURL): 17282 (WKBundleHitTestResultCopyAbsoluteMediaURL): 17283 (WKBundleHitTestResultGetImageRect): 17284 (WKBundleHitTestResultGetIsSelected): 17285 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 17286 17287 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 17288 (WKBundlePageHasLocalDataForURL): 17289 (WKBundlePageCanHandleRequest): 17290 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 17291 17292 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 17293 (WebKit::InjectedBundleHitTestResult::absoluteImageURL): 17294 (WebKit::InjectedBundleHitTestResult::absoluteMediaURL): 17295 (WebKit::InjectedBundleHitTestResult::imageRect): 17296 (WebKit::InjectedBundleHitTestResult::isSelected): 17297 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 17298 17299 * WebProcess/WebPage/WebContextMenu.cpp: 17300 (WebKit::WebContextMenu::show): 17301 17302 * WebProcess/WebPage/WebPage.h: 17303 * WebProcess/WebPage/mac/WebPageMac.mm: 17304 (WebKit::WebPage::hasLocalDataForURL): 17305 (WebKit::WebPage::canHandleRequest): 17306 * WebProcess/WebPage/qt/WebPageQt.cpp: 17307 (WebKit::WebPage::hasLocalDataForURL): Stubbed for now. 17308 (WebKit::WebPage::canHandleRequest): Ditto. 17309 * WebProcess/WebPage/win/WebPageWin.cpp: 17310 (WebKit::WebPage::hasLocalDataForURL): Ditto. 17311 (WebKit::WebPage::canHandleRequest): Ditto. 17312 17313 2010-11-19 Darin Adler <darin (a] apple.com> 17314 17315 Reviewed by Sam Weinig. 17316 17317 Need a way to clear disk cache from WebContext 17318 https://bugs.webkit.org/show_bug.cgi?id=49820 17319 17320 * UIProcess/API/C/WKContext.cpp: 17321 (WKContextClearResourceCaches): Added. 17322 (WKContextClearApplicationCache): Added. 17323 * UIProcess/API/C/WKContext.h: 17324 * UIProcess/WebContext.cpp: 17325 (WebKit::WebContext::clearResourceCaches): Added. 17326 (WebKit::WebContext::clearApplicationCache): Added. 17327 * UIProcess/WebContext.h: 17328 * WebProcess/WebProcess.cpp: 17329 (WebKit::WebProcess::clearResourceCaches): Added. 17330 (WebKit::WebProcess::clearApplicationCache): Added. 17331 * WebProcess/WebProcess.h: 17332 * WebProcess/WebProcess.messages.in: Added messages. 17333 * WebProcess/mac/WebProcessMac.mm: 17334 (WebKit::WebProcess::platformClearResourceCaches): Added. 17335 * WebProcess/qt/WebProcessQt.cpp: 17336 (WebKit::WebProcess::platformClearResourceCaches): Added. 17337 * WebProcess/win/WebProcessWin.cpp: 17338 (WebKit::WebProcess::platformClearResourceCaches): Added. 17339 17340 2010-11-19 Anders Carlsson <andersca (a] apple.com> 17341 17342 Reviewed by Sam Weinig. 17343 17344 Implement support for loading local files 17345 https://bugs.webkit.org/show_bug.cgi?id=49828 17346 <rdar://problem/8447121> 17347 17348 * UIProcess/WebPageProxy.cpp: 17349 (WebKit::initializeSandboxExtensionHandle): 17350 Given an URL, create a sandbox extension if it's a local file URL. 17351 17352 (WebKit::WebPageProxy::loadURL): 17353 (WebKit::WebPageProxy::loadURLRequest): 17354 Pass along sandbox extension handles to the LoadURL and LoadURLRequest messages. 17355 17356 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17357 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 17358 Call SandboxExtensionTracker::didStartProvisionalLoad. 17359 17360 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 17361 Call SandboxExtensionTracker::didCommitProvisionalLoad. 17362 17363 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 17364 Call SandboxExtensionTracker::didFailProvisionalLoad. 17365 17366 * WebProcess/WebPage/WebPage.cpp: 17367 (WebKit::WebPage::~WebPage): 17368 Invalidate the sandbox extension tracker. 17369 17370 (WebKit::WebPage::close): 17371 Invalidate the sandbox extension tracker. 17372 17373 (WebKit::WebPage::loadURL): 17374 (WebKit::WebPage::loadURLRequest): 17375 Pass the sandbox extension handle to the sandbox extension tracker. 17376 17377 (WebKit::WebPage::SandboxExtensionTracker::~SandboxExtensionTracker): 17378 Invalidate the sandbox extension tracker. 17379 17380 (WebKit::WebPage::SandboxExtensionTracker::invalidate): 17381 invalidate ell the sandbox extensions. 17382 17383 (WebKit::WebPage::SandboxExtensionTracker::beginLoad): 17384 Create a sandbox extension and store it as the "pending provisional extension". 17385 17386 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): 17387 Consume the pending provisional extension and make it the provisional extension. 17388 17389 (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad): 17390 Invalidate the committed extension and make the provisional extension the committed extension. 17391 17392 (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad): 17393 Invalidate the provisional extension. 17394 17395 * WebProcess/WebPage/WebPage.messages.in: 17396 Add SandboxExtension::Handle parameters to LoadURL and LoadURLRequest. 17397 17398 2010-11-19 Anders Carlsson <andersca (a] apple.com> 17399 17400 Reviewed by Darin Adler. 17401 17402 Make it possible to encode null SandboxExtension handles 17403 https://bugs.webkit.org/show_bug.cgi?id=49825 17404 17405 * Shared/mac/SandboxExtensionMac.mm: 17406 (WebKit::SandboxExtension::Handle::encode): 17407 If there's no underlying sandbox extension, just encode an empty byte array. 17408 17409 (WebKit::SandboxExtension::Handle::decode): 17410 If the decoded byte array is empty, don't try to create a sandbox extension. 17411 17412 (WebKit::SandboxExtension::create): 17413 If the handle is null, return null. 17414 17415 (WebKit::SandboxExtension::consume): 17416 Consuming shuld not null out the underlying sandbox extension object. 17417 17418 2010-11-19 Steve Falkenburg <sfalken (a] apple.com> 17419 17420 Reviewed by Darin Adler. 17421 17422 Normalize Cairo/CFLite project/solution configuration names 17423 https://bugs.webkit.org/show_bug.cgi?id=49818 17424 17425 * win/WebKit2.vcproj: 17426 * win/WebKit2WebProcess.vcproj: 17427 17428 2010-11-19 Anders Carlsson <andersca (a] apple.com> 17429 17430 Reviewed by Sam Weinig. 17431 17432 Add SandboxExtension abstraction and use it for the injected bundle extension 17433 https://bugs.webkit.org/show_bug.cgi?id=49817 17434 17435 * Shared/SandboxExtension.h: 17436 Add SandboxExtension abstraction. 17437 17438 * Shared/WebProcessCreationParameters.cpp: 17439 (WebKit::WebProcessCreationParameters::encode): 17440 (WebKit::WebProcessCreationParameters::decode): 17441 * Shared/WebProcessCreationParameters.h: 17442 Instead of encoding/decoding a token, encode/decode the sandbox extension handle. 17443 17444 * Shared/mac/SandboxExtensionMac.mm: Added. 17445 Add Mac implementation of SandboxExtension. 17446 17447 * UIProcess/WebContext.cpp: 17448 (WebKit::WebContext::ensureWebProcess): 17449 Create a SandboxExtension::Handle object. 17450 17451 * WebKit2.xcodeproj/project.pbxproj: 17452 Add new files. 17453 17454 * WebProcess/InjectedBundle/InjectedBundle.h: 17455 (WebKit::InjectedBundle::setSandboxExtension): 17456 Set the sandbox extension. 17457 17458 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 17459 (WebKit::InjectedBundle::load): 17460 Consume the sandbox extension. 17461 17462 * WebProcess/WebProcess.cpp: 17463 (WebKit::WebProcess::initializeWebProcess): 17464 Create a sandbox extension and set it on the injected bundle. 17465 17466 2010-11-18 Steve Falkenburg <sfalken (a] apple.com> 17467 17468 Reviewed by Adam Roben. 17469 17470 Windows vcproj configuration names should be normalized across projects 17471 https://bugs.webkit.org/show_bug.cgi?id=49776 17472 17473 * win/WebKit2.submit.sln: 17474 * win/WebKit2Generated.vcproj: 17475 * win/WebKit2GeneratedCommon.vsprops: Added. 17476 17477 2010-11-18 Anders Carlsson <andersca (a] apple.com> 17478 17479 Reviewed by Adam Roben. 17480 17481 Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac 17482 https://bugs.webkit.org/show_bug.cgi?id=48559 17483 <rdar://problem/8606622> 17484 17485 Add null checks for m_plugin. 17486 17487 * WebProcess/Plugins/PluginView.cpp: 17488 (WebKit::PluginView::manualLoadDidReceiveResponse): 17489 (WebKit::PluginView::manualLoadDidReceiveData): 17490 (WebKit::PluginView::manualLoadDidFinishLoading): 17491 (WebKit::PluginView::manualLoadDidFail): 17492 17493 2010-11-18 Mark Rowe <mrowe (a] apple.com> 17494 17495 Rubber-stamped by Adam Roben. 17496 17497 <rdar://problem/8602509&8602717&8602724> Enable compaction support. 17498 17499 * Configurations/WebKit2.xcconfig: 17500 17501 2010-11-18 Brian Weinstein <bweinstein (a] apple.com> 17502 17503 Reviewed by Adam Roben. 17504 17505 WebKit2: Safari shouldn't auto-activate plug-ins in background tabs. 17506 https://bugs.webkit.org/show_bug.cgi?id=49770 17507 <rdar://problem/8482424> 17508 17509 Add an API on Windows to call setIsInWindow, which calls through to WebPage::setIsInWindow. 17510 Remove the !PLATFORM(WIN) check in WebPage, so we don't automatically start plugins that are 17511 loaded in background tabs. 17512 17513 * UIProcess/API/C/win/WKView.cpp: 17514 (WKViewSetIsInWindow): Call through to WebView::setIsInWindow. 17515 * UIProcess/API/C/win/WKView.h: 17516 * UIProcess/win/WebView.cpp: 17517 (WebKit::WebView::setIsInWindow): Call through to WebPage::setIsInWindow. 17518 * UIProcess/win/WebView.h: 17519 * WebProcess/WebPage/WebPage.cpp: 17520 (WebKit::WebPage::WebPage): Remove the !PLATFORM(WIN) check and update the comment. 17521 17522 2010-11-18 Darin Adler <darin (a] apple.com> 17523 17524 * WebProcess/WebPage/WebPage.cpp: Fix build by rolling out a change. 17525 17526 2010-11-18 Darin Adler <darin (a] apple.com> 17527 17528 Reviewed by Kevin Decker. 17529 17530 REGRESSION (WebKit2): Plug-ins and <video> start playing immediately in background tabs 17531 https://bugs.webkit.org/show_bug.cgi?id=49766 17532 17533 Test: manual-tests/resources/video-tab.html 17534 17535 * WebProcess/WebPage/WebPage.cpp: 17536 (WebKit::WebPage::WebPage): Call setCanStartMedia(false) since the rest of the code 17537 starts out treating the page as "not in a window". 17538 17539 2010-11-18 Steve Falkenburg <sfalken (a] apple.com> 17540 17541 Reviewed by Adam Roben. 17542 17543 Remove leftover Windows Debug_Internal configurations 17544 https://bugs.webkit.org/show_bug.cgi?id=49758 17545 17546 * win/WebKit2.vcproj: 17547 * win/WebKit2WebProcess.vcproj: 17548 17549 2010-11-18 Anders Carlsson <andersca (a] apple.com> 17550 17551 Reviewed by John Sullivan. 17552 17553 Page overlays should be able to handle mouse events 17554 https://bugs.webkit.org/show_bug.cgi?id=49756 17555 17556 * Shared/API/c/WKSharedAPICast.h: 17557 (WebKit::toAPI): 17558 Add API cast function for converting an IntPoint to a WKPoint. 17559 17560 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 17561 (PageOverlayClientImpl::mouseEvent): 17562 Call the appropriate callbacks. 17563 17564 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 17565 Add new callbacks. 17566 17567 2010-11-18 Anders Carlsson <andersca (a] apple.com> 17568 17569 Reviewed by Sam Weinig. 17570 17571 Keep the web process alive if there are active downloads 17572 https://bugs.webkit.org/show_bug.cgi?id=49755 17573 17574 Make sure that Download objects are destroyed when the download finishes or fails. 17575 Don't close the web process if there are live Download objects. 17576 17577 * UIProcess/Downloads/DownloadProxy.cpp: 17578 (WebKit::DownloadProxy::didFail): 17579 Add stub. 17580 17581 * UIProcess/Downloads/DownloadProxy.h: 17582 * UIProcess/Downloads/DownloadProxy.messages.in: 17583 Add DidFail message. 17584 17585 * WebProcess/Downloads/Download.cpp: 17586 (WebKit::Download::didFinish): 17587 Call DownloadManager::downloadFinished. 17588 17589 (WebKit::Download::didFail): 17590 Send DidFail message and call DownloadManager::downloadFinished. 17591 17592 * WebProcess/Downloads/Download.h: 17593 (WebKit::Download::destinationID): 17594 Call downloadID(). 17595 17596 (WebKit::Download::downloadID): 17597 Return the download ID. 17598 17599 * WebProcess/Downloads/DownloadManager.cpp: 17600 (WebKit::DownloadManager::downloadFinished): 17601 Delete the Download object and call WebProcess::shutdownIfPossible. 17602 17603 * WebProcess/Downloads/DownloadManager.h: 17604 (WebKit::DownloadManager::isDownloading): 17605 Return whether the download manager has any active downloads. 17606 17607 * WebProcess/Downloads/mac/DownloadMac.mm: 17608 (-[WKDownloadAsDelegate download:didFailWithError:]): 17609 Call Download::didFail. 17610 17611 * WebProcess/WebProcess.cpp: 17612 (WebKit::WebProcess::removeWebPage): 17613 Call shutdownIfPossible. 17614 17615 (WebKit::WebProcess::shutdownIfPossible): 17616 New function. Don't shutdown if there are live pages or active downloads. 17617 17618 * WebProcess/WebProcess.h: 17619 17620 2010-11-18 Steve Falkenburg <sfalken (a] apple.com> 17621 17622 Reviewed by Adam Roben. 17623 17624 Debug_Internal Windows configuration is unnecessary, should be removed 17625 https://bugs.webkit.org/show_bug.cgi?id=49753 17626 17627 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 17628 * WebKit2Prefix.h: 17629 17630 2010-11-18 Steve Falkenburg <sfalken (a] apple.com> 17631 17632 Reviewed by Adam Roben. 17633 17634 Clean up vcproj errors 17635 https://bugs.webkit.org/show_bug.cgi?id=49741 17636 17637 * win/WebKit2WebProcess.vcproj: 17638 17639 2010-11-18 Benjamin Poulain <benjamin.poulain (a] nokia.com> 17640 17641 Reviewed by Laszlo Gombos. 17642 17643 [Qt] [WK2] WebKit 2 would not compile for Qt without ENABLE_TOUCH_EVENT 17644 https://bugs.webkit.org/show_bug.cgi?id=49664 17645 17646 Move the ENABLE(TOUCH_EVENTS) to the code where internal WebKit touch 17647 types are used. 17648 17649 * UIProcess/API/qt/qgraphicswkview.cpp: 17650 (QGraphicsWKView::touchEvent): 17651 * UIProcess/API/qt/qwkpage.cpp: 17652 (QWKPagePrivate::touchEvent): 17653 17654 2010-11-17 Andreas Kling <kling (a] webkit.org> 17655 17656 Reviewed by Kenneth Rohde Christiansen. 17657 17658 Reuse the size of the actualVisibleContentRect when loading a new page 17659 or navigating session history. 17660 17661 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17662 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 17663 17664 2010-11-17 Dimitri Glazkov <dglazkov (a] chromium.org> 17665 17666 Reviewed by Darin Adler. 17667 17668 Converge means of querying a parent node into one way, which is Node::parentNode. 17669 https://bugs.webkit.org/show_bug.cgi?id=49686 17670 17671 * WebProcess/WebPage/WebPage.cpp: Changed to use parentNode. 17672 (WebKit::WebPage::findZoomableAreaForPoint): Ditto. 17673 17674 2010-11-17 Timothy Hatcher <timothy (a] apple.com> 17675 17676 Remove duplicate Web Inspector message handeling in WebPage::didReceiveMessage. 17677 17678 https://webkit.org/b/49689 17679 17680 Reviewed by Andreas Kling. 17681 17682 * WebProcess/WebPage/WebPage.cpp: 17683 (WebKit::WebPage::didReceiveMessage): Remove duplicate code. 17684 17685 2010-11-17 Timothy Hatcher <timothy (a] apple.com> 17686 17687 Fix a crash when closing the inspected page when the Web Inspector 17688 page was never created. 17689 17690 https://bugs.webkit.org/show_bug.cgi?id=49687 17691 17692 Reviewed by John Sullivan. 17693 17694 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 17695 (WebKit::WebInspectorClient::sendMessageToFrontend): Null check the Inspector WebPage. 17696 17697 2010-11-17 Anders Carlsson <andersca (a] apple.com> 17698 17699 Reviewed by John Sullivan. 17700 17701 Don't crash when invalidating a page overlay that hasn't been installed yet 17702 https://bugs.webkit.org/show_bug.cgi?id=49685 17703 17704 Null check the web page. 17705 17706 * WebProcess/WebPage/PageOverlay.cpp: 17707 (WebKit::PageOverlay::setNeedsDisplay): 17708 17709 2010-11-17 Brady Eidson <beidson (a] apple.com> 17710 17711 Reviewed by Darin Adler. 17712 17713 https://bugs.webkit.org/show_bug.cgi?id=49682 - Expose "removeItemAtIndex" in WKMutableArray 17714 17715 * Shared/API/c/WKMutableArray.cpp: 17716 (WKArrayRemoveItemAtIndex): 17717 * Shared/API/c/WKMutableArray.h: 17718 17719 * Shared/MutableArray.cpp: 17720 (WebKit::MutableArray::removeItemAtIndex): 17721 * Shared/MutableArray.h: 17722 17723 2010-11-17 Brady Eidson <beidson (a] apple.com> 17724 17725 Reviewed by Anders Carlsson. 17726 17727 https://bugs.webkit.org/show_bug.cgi?id=49683 - Export WKContextMenuItem and WKContextMenuItemTypes as public headers 17728 17729 * WebKit2.xcodeproj/project.pbxproj: 17730 17731 2010-11-17 Anders Carlsson <andersca (a] apple.com> 17732 17733 Reviewed by Darin Adler. 17734 17735 Need way to invalidate part of a WKOverlayRef so it will be redrawn 17736 https://bugs.webkit.org/show_bug.cgi?id=49679 17737 <rdar://problem/8679152> 17738 17739 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 17740 (WKBundlePageOverlaySetNeedsDisplay): 17741 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 17742 * WebProcess/WebPage/PageOverlay.cpp: 17743 (WebKit::PageOverlay::setNeedsDisplay): 17744 * WebProcess/WebPage/PageOverlay.h: 17745 17746 2010-11-17 Timothy Hatcher <timothy (a] apple.com> 17747 17748 Provide a way to create a WKView (WebPage) that is hidden from 17749 the InjectedBundle. This is needed for the Web Inspector. 17750 17751 https://webkit.org/b/49670 17752 17753 Reviewed by Sam Weinig. 17754 17755 * Shared/WebPageCreationParameters.cpp: 17756 (WebKit::WebPageCreationParameters::encode): Added visibleToInjectedBundle. 17757 (WebKit::WebPageCreationParameters::decode): Ditto. 17758 * Shared/WebPageCreationParameters.h: Ditto. 17759 * UIProcess/API/C/win/WKView.cpp: 17760 (WKViewCreate): Pass VisibleToInjectedBundle to the WebView create function. 17761 * UIProcess/API/C/win/WKViewPrivate.cpp: 17762 (WKViewCreateForWebInspector): Added. Not used yet. Passes HiddenFromInjectedBundle 17763 to the WebView create function. 17764 * UIProcess/API/C/win/WKViewPrivate.h: Added WKViewCreateForWebInspector. 17765 * UIProcess/API/mac/WKView.mm: 17766 (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): Added hiddenFromInjectedBundle 17767 parameter and calls WebPageProxy::setVisibleToInjectedBundle. 17768 (-[WKView initWithFrame:pageNamespaceRef:]): Calls initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle: 17769 and passes NO for hiddenFromInjectedBundle. 17770 (-[WKView initWithFrame:]): Cleaned up by removing the local assignment to self and just returns the result. 17771 * UIProcess/API/mac/WKViewInternal.h: Added initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:. 17772 * UIProcess/WebPageProxy.cpp: 17773 (WebKit::WebPageProxy::WebPageProxy): Initialize m_visibleToInjectedBundle from the creation parameters. 17774 (WebKit::WebPageProxy::creationParameters): Set visibleToInjectedBundle using m_visibleToInjectedBundle. 17775 * UIProcess/WebPageProxy.h: Added m_visibleToInjectedBundle. 17776 (WebKit::WebPageProxy::visibleToInjectedBundle): Added. Return m_visibleToInjectedBundle. 17777 (WebKit::WebPageProxy::setVisibleToInjectedBundle): Added. Set m_visibleToInjectedBundle. 17778 * UIProcess/win/WebView.cpp: 17779 (WebKit::WebView::WebView): Added InjectedBundleVisibility parameter and calls 17780 WebPageProxy::setVisibleToInjectedBundle. 17781 * UIProcess/win/WebView.h: Added InjectedBundleVisibility enum. 17782 (WebKit::WebView::create): Added InjectedBundleVisibility parameter. 17783 * WebProcess/WebPage/WebPage.cpp: 17784 (WebKit::WebPage::create): Checks visibleToInjectedBundle before talking to the injected bundle. 17785 (WebKit::WebPage::WebPage): Initialize m_isVisibleToInjectedBundle from the creation parameters. 17786 (WebKit::WebPage::close): Checks m_isVisibleToInjectedBundle before talking to the injected bundle. 17787 * WebProcess/WebPage/WebPage.h: Added m_isVisibleToInjectedBundle. 17788 17789 2010-11-17 Andras Becsi <abecsi (a] webkit.org> 17790 17791 Unreviewed buildfix. 17792 17793 [Qt] D'oh! I screwed up the dependencies. 17794 17795 * DerivedSources.pro: 17796 17797 2010-11-17 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 17798 17799 Reviewed by Andreas Kling. 17800 17801 [WK2] Set paintsEntireContents for "resizes to contents" mode 17802 17803 Only relevant for the tiled backing store. 17804 17805 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17806 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 17807 * WebProcess/WebPage/WebPage.cpp: 17808 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 17809 17810 2010-11-17 Andras Becsi <abecsi (a] webkit.org> 17811 17812 Reviewed by Andreas Kling. 17813 17814 [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser 17815 https://bugs.webkit.org/show_bug.cgi?id=49627 17816 17817 Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file 17818 to the build directory of MiniBrowser because it has to be in a 17819 subdirectory of the resource file. 17820 Add a method to QWKPage to retrieve the custom user agent string. 17821 17822 * DerivedSources.pro: 17823 * UIProcess/API/qt/qwkpage.cpp: 17824 (QWKPage::customUserAgent): 17825 * UIProcess/API/qt/qwkpage.h: 17826 17827 2010-11-17 Simon Fraser <simon.fraser (a] apple.com> 17828 17829 Reviewed by Adam Roben. 17830 17831 https://bugs.webkit.org/show_bug.cgi?id=45567 17832 Add stubbed-out layer-backed drawing area for Windows. 17833 17834 Add implementations of LayerBackedDrawingArea and 17835 LayerBackedDrawingAreaProxy for Windows, and add them 17836 to the vcproj. 17837 17838 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 17839 * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Added. 17840 (WebKit::LayerBackedDrawingAreaProxy::page): 17841 (WebKit::LayerBackedDrawingAreaProxy::platformSetSize): 17842 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext): 17843 (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext): 17844 (WebKit::LayerBackedDrawingAreaProxy::paint): 17845 * UIProcess/win/WebView.cpp: 17846 (WebKit::WebView::pageDidEnterAcceleratedCompositing): 17847 (WebKit::WebView::pageDidLeaveAcceleratedCompositing): 17848 (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): 17849 * UIProcess/win/WebView.h: 17850 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 17851 * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Added. 17852 (WebKit::LayerBackedDrawingArea::platformInit): 17853 (WebKit::LayerBackedDrawingArea::platformClear): 17854 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 17855 (WebKit::LayerBackedDrawingArea::detachCompositingContext): 17856 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer): 17857 (WebKit::LayerBackedDrawingArea::scheduleCompositingLayerSync): 17858 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 17859 * win/WebKit2.vcproj: 17860 17861 2010-11-17 Benjamin Poulain <benjamin.poulain (a] nokia.com> 17862 17863 Reviewed by Kenneth Rohde Christiansen. 17864 17865 [Qt] [WK2] The focus switching does not seems to work with QGraphicsWKView 17866 https://bugs.webkit.org/show_bug.cgi?id=49545 17867 17868 Implement focus switching with Tab. This is now done asynchronously, 17869 waiting for webkit to call takeFocus() and switching the widget. 17870 17871 Since the focus can change between the Tab press and the callback, 17872 QGraphicsWKView::focusNextPrevChildCallback() make sure the view still has 17873 focus before passing it to the next widget. 17874 17875 * UIProcess/API/qt/qgraphicswkview.cpp: 17876 (QGraphicsWKView::QGraphicsWKView): 17877 (QGraphicsWKView::focusNextPrevChildCallback): 17878 (QGraphicsWKView::focusNextPrevChild): 17879 * UIProcess/API/qt/qgraphicswkview.h: 17880 * UIProcess/API/qt/qwkpage.cpp: 17881 (QWKPagePrivate::takeFocus): 17882 * UIProcess/API/qt/qwkpage.h: 17883 * UIProcess/API/qt/qwkpage_p.h: 17884 17885 2010-11-17 Andreas Kling <kling (a] webkit.org> 17886 17887 Reviewed by Kenneth Rohde Christiansen. 17888 17889 Don't prohibit scrolling in tiled backing store mode. 17890 17891 We delegate scrolling instead. 17892 17893 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 17894 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 17895 17896 2010-11-17 Simon Hausmann <simon.hausmann (a] nokia.com> 17897 17898 Reviewed by Kenneth Christiansen. 17899 17900 [Qt] Improve painting performance on 16-bit displays 17901 17902 When the default pixmap depth is 16-bit, then use RGB16 instead of 17903 RGB32 for the chunks, to avoid unnecessary conversions and reduce 17904 chunk size. The conversions happen as images as QPixmaps have 16-bit 17905 depth and the tiles on the ui process are also backed by QPixmaps. 17906 17907 * Shared/qt/UpdateChunk.cpp: 17908 (WebKit::UpdateChunk::size): 17909 (WebKit::UpdateChunk::createImage): 17910 * Shared/qt/UpdateChunk.h: 17911 17912 2010-11-16 Sam Weinig <sam (a] webkit.org> 17913 17914 Reviewed by Adam Roben. 17915 17916 WebKit2: Support enabling site-specific quirks 17917 <rdar://problem/8451371> 17918 https://bugs.webkit.org/show_bug.cgi?id=46076 17919 17920 * Shared/WebPreferencesStore.cpp: 17921 (WebKit::WebPreferencesStore::WebPreferencesStore): 17922 (WebKit::WebPreferencesStore::encode): 17923 (WebKit::WebPreferencesStore::decode): 17924 * Shared/WebPreferencesStore.h: 17925 Add needsSiteSpecificQuirks; 17926 17927 * UIProcess/API/C/WKAPICast.h: 17928 (WebKit::toFontSmoothingLevel): 17929 (WebKit::toAPI): 17930 Move FontSmoothing conversion functions here. 17931 17932 * UIProcess/API/C/WKPreferences.cpp: 17933 (WKPreferencesSetFontSmoothingLevel): 17934 (WKPreferencesGetFontSmoothingLevel): 17935 (WKPreferencesSetAcceleratedCompositingEnabled): 17936 (WKPreferencesGetAcceleratedCompositingEnabled): 17937 (WKPreferencesSetCompositingBordersVisible): 17938 (WKPreferencesGetCompositingBordersVisible): 17939 (WKPreferencesSetCompositingRepaintCountersVisible): 17940 (WKPreferencesGetCompositingRepaintCountersVisible): 17941 (WKPreferencesSetNeedsSiteSpecificQuirks): 17942 (WKPreferencesGetNeedsSiteSpecificQuirks): 17943 Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks 17944 and move implementations from WKPreferencesPrivate.cpp here. 17945 17946 * UIProcess/API/C/WKPreferencesPrivate.cpp: Removed. 17947 17948 * UIProcess/API/C/WKPreferencesPrivate.h: 17949 Add Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks. 17950 17951 * UIProcess/WebPreferences.cpp: 17952 (WebKit::WebPreferences::setNeedsSiteSpecificQuirks): 17953 (WebKit::WebPreferences::needsSiteSpecificQuirks): 17954 * UIProcess/WebPreferences.h: 17955 * WebProcess/WebPage/WebPage.cpp: 17956 (WebKit::WebPage::updatePreferences): 17957 Pipe through needsSiteSpecificQuirks. 17958 17959 * WebKit2.xcodeproj/project.pbxproj: 17960 * WebKit2.pro: 17961 * win/WebKit2.vcproj: 17962 Update for removed files. 17963 17964 2010-11-16 Adam Roben <aroben (a] apple.com> 17965 17966 Fix horizontal scrolling via the mousewheel/trackpad on Windows 17967 17968 Reviewed by Mark Rowe. 17969 17970 * Shared/win/WebEventFactory.cpp: Fixed typo in the 17971 WM_VISTA_MOUSEHWHEEL constant. 17972 17973 2010-11-16 Steve Falkenburg <sfalken (a] apple.com> 17974 17975 Reviewed by Adam Roben. 17976 17977 Disable LTCG for Windows Release builds. Add new Release_LTCG configuration. 17978 https://bugs.webkit.org/show_bug.cgi?id=49632 17979 17980 * win/WebKit2.make: 17981 * win/WebKit2.submit.sln: 17982 * win/WebKit2.vcproj: 17983 * win/WebKit2WebProcess.vcproj: 17984 17985 2010-11-16 Anders Carlsson <andersca (a] apple.com> 17986 17987 Reviewed by Sam Weinig. 17988 17989 Handle converting a ResourceHandle to a download 17990 https://bugs.webkit.org/show_bug.cgi?id=49631 17991 17992 * WebProcess/Downloads/Download.h: 17993 Add startWithHandle. 17994 17995 * WebProcess/Downloads/DownloadManager.h: 17996 * WebProcess/Downloads/DownloadManager.cpp: 17997 (WebKit::DownloadManager::convertHandleToDownload): 17998 Create a new Download object and call startWithHandle on it. 17999 18000 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 18001 (WebKit::Download::startWithHandle): 18002 Add stub. 18003 18004 * WebProcess/Downloads/mac/DownloadMac.mm: 18005 (WebKit::Download::startWithHandle): 18006 Create an NSURLDownload object from passed in ResourceHandle. 18007 18008 * WebProcess/Downloads/qt/DownloadQt.cpp: 18009 (WebKit::Download::startWithHandle): 18010 Add stub. 18011 18012 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18013 (WebKit::WebFrameLoaderClient::download): 18014 Call WebFrame::convertHandleToDownload. 18015 18016 * WebProcess/WebPage/WebFrame.cpp: 18017 (WebKit::WebFrame::convertHandleToDownload): 18018 Call DownloadManager::convertHandleToDownload. 18019 18020 2010-11-16 Anders Carlsson <andersca (a] apple.com> 18021 18022 Reviewed by John Sullivan. 18023 18024 Set the original URL for downloads 18025 https://bugs.webkit.org/show_bug.cgi?id=49628 18026 18027 * WebProcess/Downloads/DownloadManager.cpp: 18028 (WebKit::DownloadManager::startDownload): 18029 * WebProcess/Downloads/DownloadManager.h: 18030 startDownload now takes the originating web page. 18031 18032 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 18033 (WebKit::Download::start): 18034 start now takes the originating web page. 18035 18036 * WebProcess/Downloads/mac/DownloadMac.mm: 18037 (WebKit::originatingURL): 18038 (WebKit::setOriginalURLForDownload): 18039 Port code over from WebKit1 that sets the download URL. 18040 18041 (WebKit::Download::start): 18042 Call setOriginalURLForDownload. 18043 18044 * WebProcess/Downloads/qt/DownloadQt.cpp: 18045 (WebKit::Download::start): 18046 start now takes the originating web page. 18047 18048 * WebProcess/WebPage/WebFrame.cpp: 18049 (WebKit::WebFrame::startDownload): 18050 Pass the web page to DownloadManager::startDownload. 18051 18052 2010-11-16 Dave Hyatt <hyatt (a] apple.com> 18053 18054 Reviewed by Dan Bernstein. 18055 18056 https://bugs.webkit.org/show_bug.cgi?id=11004 18057 18058 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector. 18059 Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size, 18060 since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version 18061 of the constructor rather than using [NSFont pointSize]. 18062 18063 https://bugs.webkit.org/show_bug.cgi?id=49582 18064 18065 Negative leading is not handled correctly. There are two bugs here. The first is that 18066 maxAscent and maxDescent can be negative, so we need a notion of whether or not we have 18067 set them before so that we can allow them to be < 0. 18068 18069 The second issue is that we should understand where fonts will end up relative to 18070 our baseline (excluding line height), and only allow those boxes to impact ascent and 18071 descent if the actual font box (without factoring in line height) is above or below the 18072 root line box baseline. 18073 18074 Added fast/css/negative-leading.html 18075 18076 These two bug fixes have to land together to keep the Acid 3 test rendering correctly. 18077 18078 * Shared/WebPreferencesStore.cpp: 18079 (WebKit::WebPreferencesStore::WebPreferencesStore): 18080 18081 2010-11-16 Anders Carlsson <andersca (a] apple.com> 18082 18083 Fix clang++ build. 18084 18085 * Scripts/webkit2/messages.py: 18086 * WebProcess/WebPage/WebInspector.h: 18087 18088 2010-11-16 Anders Carlsson <andersca (a] apple.com> 18089 18090 Reviewed by Sam Weinig. 18091 18092 Add WKPageCanShowMIMEType 18093 https://bugs.webkit.org/show_bug.cgi?id=49612 18094 18095 * UIProcess/API/C/WKPage.cpp: 18096 (WKPageCanShowMIMEType): 18097 * UIProcess/API/C/WKPage.h: 18098 * UIProcess/WebPageProxy.cpp: 18099 (WebKit::WebPageProxy::canShowMIMEType): 18100 * UIProcess/WebPageProxy.h: 18101 18102 2010-11-16 Anders Carlsson <andersca (a] apple.com> 18103 18104 Reviewed by Sam Weinig. 18105 18106 Make WebPageProxy::decidePolicyForMIMEType a tad synchronous 18107 https://bugs.webkit.org/show_bug.cgi?id=49605 18108 18109 Change the DecidePolicyForMIMEType message to be synchronous, and if the policy listener is 18110 invoked from within the decidePolicyForMIMEType callback return the policy information as out 18111 parameters. This is needed in order to convert a loading connection to a download. 18112 18113 * Platform/CoreIPC/HandleMessage.h: 18114 (CoreIPC::callMemberFunction): 18115 * UIProcess/WebPageProxy.cpp: 18116 (WebKit::WebPageProxy::WebPageProxy): 18117 (WebKit::WebPageProxy::receivedPolicyDecision): 18118 (WebKit::WebPageProxy::decidePolicyForMIMEType): 18119 * UIProcess/WebPageProxy.h: 18120 * UIProcess/WebPageProxy.messages.in: 18121 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18122 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 18123 18124 2010-11-16 Kenneth Rohde Christiansen <kenneth (a] webkit.org>, Zalan Bujtas <zbujtas (a] gmail.com> 18125 18126 Reviewed by Andreas Kling. 18127 18128 [WK2][Qt] Add API for finding a zoomable area for a given point 18129 18130 This is useful for implementing e.g "double tap zoom" 18131 18132 Only enabled for Qt. 18133 18134 * UIProcess/API/qt/qwkpage.cpp: 18135 (QWKPage::findZoomableAreaForPoint): 18136 (QWKPagePrivate::didFindZoomableArea): 18137 * UIProcess/API/qt/qwkpage.h: 18138 * UIProcess/API/qt/qwkpage_p.h: 18139 * UIProcess/PageClient.h: 18140 * UIProcess/WebPageProxy.cpp: 18141 (WebKit::WebPageProxy::didFindZoomableArea): 18142 (WebKit::WebPageProxy::findZoomableAreaForPoint): 18143 * UIProcess/WebPageProxy.h: 18144 * UIProcess/WebPageProxy.messages.in: 18145 * WebProcess/WebPage/WebPage.cpp: 18146 (WebKit::WebPage::findZoomableAreaForPoint): 18147 * WebProcess/WebPage/WebPage.h: 18148 * WebProcess/WebPage/WebPage.messages.in: 18149 18150 2010-11-16 Andreas Kling <kling (a] webkit.org> 18151 18152 Rubber-stamped by Simon Hausmann. 18153 18154 Revert !ENABLE(INSPECTOR) fix- we don't need it right now, 18155 and it was less maintainable than I had though. 18156 18157 * Shared/API/c/WKSharedAPICast.h: 18158 (WebKit::toAPI): 18159 (WebKit::toImpl): 18160 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 18161 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 18162 * WebProcess/WebPage/WebInspector.cpp: 18163 18164 2010-11-16 Andreas Kling <kling (a] webkit.org> 18165 18166 Reviewed by Simon Hausmann. 18167 18168 Fix compilation with !ENABLE(INSPECTOR) 18169 18170 * Shared/API/c/WKSharedAPICast.h: 18171 (WebKit::toAPI): 18172 (WebKit::toImpl): 18173 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 18174 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 18175 * WebProcess/WebPage/WebInspector.cpp: 18176 18177 2010-11-16 Andras Becsi <abecsi (a] webkit.org> 18178 18179 Reviewed by Andreas Kling. 18180 18181 [Qt] Use SIGINT instead of SIGKILL to let the web process clean up after itself. 18182 18183 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 18184 (WebKit::QtWebProcess::setupChildProcess): 18185 18186 2010-11-16 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 18187 18188 Reviewed by Andreas Kling. 18189 18190 [WK2][Qt] Expose resizes-to-contents mode in WebKit2 18191 18192 Only available with ENABLE(TILED_BACKING_STORE) 18193 18194 Based on a patch by Antti Koivisto. 18195 18196 * UIProcess/API/qt/qwkpage.cpp: 18197 (QWKPage::setResizesToContentsUsingLayoutSize): 18198 * UIProcess/API/qt/qwkpage.h: 18199 * UIProcess/WebPageProxy.cpp: 18200 (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize): 18201 * UIProcess/WebPageProxy.h: 18202 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 18203 (WebKit::WebChromeClient::contentsSizeChanged): 18204 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18205 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 18206 * WebProcess/WebPage/WebPage.cpp: 18207 (WebKit::WebPage::setSize): 18208 (WebKit::WebPage::setResizesToContentsUsingLayoutSize): 18209 (WebKit::WebPage::resizeToContentsIfNeeded): 18210 * WebProcess/WebPage/WebPage.h: 18211 (WebKit::WebPage::resizesToContentsEnabled): 18212 (WebKit::WebPage::resizesToContentsLayoutSize): 18213 * WebProcess/WebPage/WebPage.messages.in: 18214 18215 2010-11-16 Andreas Kling <kling (a] webkit.org> 18216 18217 Reviewed by Kenneth Rohde Christiansen. 18218 18219 [Qt][WK2] Get proxy settings from environment (http[s]_proxy) 18220 18221 If http_proxy and/or https_proxy are set in the environment, 18222 pass those in to QNetworkAccessManager. 18223 18224 * WebProcess/qt/WebProcessMainQt.cpp: 18225 (WebKit::EnvHttpProxyFactory::EnvHttpProxyFactory): 18226 (WebKit::EnvHttpProxyFactory::initializeFromEnvironment): 18227 (WebKit::EnvHttpProxyFactory::queryProxy): 18228 (WebKit::initializeProxy): 18229 (WebKit::WebProcessMainQt): 18230 18231 2010-11-16 Andreas Kling <kling (a] webkit.org> 18232 18233 Reviewed by Kenneth Rohde Christiansen. 18234 18235 [Qt][WK2] Emit windowCloseRequested signal on window.close() 18236 18237 Original patch by Zalan Bujtas. 18238 18239 * UIProcess/API/qt/ClientImpl.cpp: 18240 (qt_wk_close): 18241 * UIProcess/API/qt/qwkpage.h: 18242 18243 2010-11-15 Andreas Kling <kling (a] webkit.org> 18244 18245 Reviewed by Kenneth Rohde Christiansen. 18246 18247 [Qt] Kill the web process if the UI process dies 18248 18249 Connect UI (parent) process death signal to SIGKILL of the web 18250 process (child). This ensures that there's no stale web processes 18251 after the UI process has crashed. 18252 18253 Original patch by Kimmo Kinnunen. 18254 18255 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 18256 (WebKit::QtWebProcess::QtWebProcess): 18257 (WebKit::QtWebProcess::setupChildProcess): 18258 (WebKit::ProcessLauncherHelper::launch): 18259 18260 2010-11-16 Simon Hausmann <simon.hausmann (a] nokia.com> 18261 18262 Rubber-stamped by Andreas Kling. 18263 18264 [Qt] Trivial build fix for building WebKit2 inside Qt Creator 18265 18266 Similar to WebCore.pro, define a fallback for OUTPUT_DIR. 18267 18268 * WebKit2.pro: 18269 18270 2010-11-15 Andreas Kling <kling (a] webkit.org> 18271 18272 Reviewed by Tor Arne Vestb. 18273 18274 [Qt] Make sure qwkpage.h and qwkpreferences.h are copied into includes/WebKit2 18275 18276 * UIProcess/API/qt/WKView.h: 18277 18278 2010-11-15 Andreas Kling <kling (a] webkit.org> 18279 18280 Reviewed by Tor Arne Vestb. 18281 18282 [Qt] Use $${PYTHON} rather than "python" to execute Python scripts 18283 18284 Fixes building with the old Python that currently ships with Scratchbox. 18285 18286 * DerivedSources.pro: 18287 18288 2010-11-15 Brady Eidson <beidson (a] apple.com> 18289 18290 Reviewed by a better attempt at a Windows build fix. 18291 18292 * win/WebKit2Generated.make: 18293 18294 2010-11-15 Brady Eidson <beidson (a] apple.com> 18295 18296 Reviewed by my attempt to fix the Windows build 18297 18298 * win/WebKit2Generated.make: Add new API headers here. 18299 18300 2010-11-15 Brady Eidson <beidson (a] apple.com> 18301 18302 Reviewed by Sam Weinig. 18303 18304 Finish off <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720 18305 Customizable context menu support in WebKit2. 18306 18307 - Adds an API-level WKContextMenuItem. 18308 - Round trips through both the InjectedBundle client and the new PageContextMenuClient before 18309 actually displaying the menu. 18310 18311 * WebKit2.pro: 18312 * WebKit2.xcodeproj/project.pbxproj: 18313 * win/WebKit2.vcproj: 18314 18315 * Shared/API/c/WKBase.h: 18316 * Shared/API/c/WKContextMenuItem.cpp: Added. 18317 (WKContextMenuItemGetTypeID): 18318 (WKContextMenuItemCreateAsAction): 18319 (WKContextMenuItemCreateAsCheckableAction): 18320 (WKContextMenuItemCreateAsSubmenu): 18321 (WKContextMenuItemSeparatorItem): 18322 (WKContextMenuItemGetTag): 18323 (WKContextMenuItemGetType): 18324 (WKContextMenuItemCopyTitle): 18325 (WKContextMenuItemGetEnabled): 18326 (WKContextMenuItemGetChecked): 18327 (WKContextMenuCopySubmenuItems): 18328 * Shared/API/c/WKContextMenuItem.h: Added. 18329 * Shared/API/c/WKContextMenuItemTypes.h: Added. 18330 18331 * Shared/API/c/WKSharedAPICast.h: 18332 (WebKit::toAPI): 18333 (WebKit::toImpl): 18334 18335 * Shared/WebContextMenuItem.cpp: 18336 (WebKit::WebContextMenuItem::create): 18337 (WebKit::WebContextMenuItem::separatorItem): 18338 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 18339 * Shared/WebContextMenuItem.h: 18340 18341 * UIProcess/API/C/WKPage.cpp: 18342 (WKPageSetPageContextMenuClient): 18343 (WKPageSetPageFindClient): 18344 (WKPageSetPageLoaderClient): 18345 (WKPageSetPagePolicyClient): 18346 (WKPageSetPageUIClient): 18347 * UIProcess/API/C/WKPage.h: 18348 18349 * UIProcess/WebPageContextMenuClient.cpp: Added. 18350 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 18351 * UIProcess/WebPageContextMenuClient.h: Added. 18352 18353 * UIProcess/WebPageProxy.cpp: 18354 (WebKit::WebPageProxy::initializeContextMenuClient): 18355 (WebKit::WebPageProxy::showContextMenu): 18356 * UIProcess/WebPageProxy.h: 18357 * UIProcess/WebPageProxy.messages.in: 18358 18359 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 18360 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 18361 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 18362 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 18363 18364 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 18365 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): 18366 * WebProcess/WebPage/WebContextMenu.cpp: 18367 (WebKit::WebContextMenu::show): 18368 18369 2010-11-15 Anders Carlsson <andersca (a] apple.com> 18370 18371 Reviewed by Sam Weinig. 18372 18373 Add shouldDecodeSourceDataOfMIMEType WKContextDownloadClient callback 18374 https://bugs.webkit.org/show_bug.cgi?id=49558 18375 18376 * UIProcess/API/C/WKContext.h: 18377 Add shouldDecodeSourceDataOfMIMEType callback. 18378 18379 * UIProcess/Downloads/DownloadProxy.cpp: 18380 (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): 18381 Call WebDownloadClient::shouldDecodeSourceDataOfMIMEType. 18382 18383 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): 18384 Add allowOverwrite out parameter. 18385 18386 * UIProcess/Downloads/DownloadProxy.h: 18387 * UIProcess/Downloads/DownloadProxy.messages.in: 18388 Add ShouldDecodeSourceDataOfMIMEType message. 18389 18390 * UIProcess/WebDownloadClient.cpp: 18391 (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType): 18392 Call the WKContextDownloadClient. 18393 18394 (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename): 18395 Add allowOverwrite out parameter. 18396 18397 * UIProcess/WebDownloadClient.h: 18398 * WebProcess/Downloads/Download.cpp: 18399 (WebKit::Download::shouldDecodeSourceDataOfMIMEType): 18400 Send the ShouldDecodeSourceDataOfMIMEType message. 18401 18402 (WebKit::Download::decideDestinationWithSuggestedFilename): 18403 Add allowOverwrite reply parameter. 18404 18405 * WebProcess/Downloads/mac/DownloadMac.mm: 18406 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]): 18407 Call Download::shouldDecodeSourceDataOfMIMEType. 18408 18409 (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]): 18410 Add allowOverwrite parameter. 18411 18412 2010-11-15 Anders Carlsson <andersca (a] apple.com> 18413 18414 Reviewed by Sam Weinig. 18415 18416 Add decideDestinationWithSuggestedFilename WKContextDownloadClient callback 18417 https://bugs.webkit.org/show_bug.cgi?id=49554 18418 18419 * Platform/CoreIPC/MessageSender.h: 18420 (CoreIPC::MessageSender::sendSync): 18421 Add sendSync capabilities to Messagesender. 18422 18423 * UIProcess/API/C/WKContext.h: 18424 Add decideDestinationWithSuggestedFilename callback. 18425 18426 * UIProcess/Downloads/DownloadProxy.cpp: 18427 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): 18428 Call WebDownloadClient::decideDestinationWithSuggestedFilename. 18429 18430 * UIProcess/Downloads/DownloadProxy.messages.in: 18431 Add DecideDestinationWithSuggestedFilename. 18432 18433 * UIProcess/WebContext.cpp: 18434 (WebKit::WebContext::didReceiveSyncMessage): 18435 Process MessageClassDownloadProxy messages. 18436 18437 * UIProcess/WebDownloadClient.cpp: 18438 (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename): 18439 Ask the WKContextDownloadClient for the destination. 18440 18441 * UIProcess/WebProcessProxy.cpp: 18442 (WebKit::WebProcessProxy::didReceiveSyncMessage): 18443 MessageClassDownloadProxy messages should go to the WebContext. 18444 18445 * WebProcess/Downloads/Download.cpp: 18446 (WebKit::Download::decideDestinationWithSuggestedFilename): 18447 Send the DecideDestinationWithSuggestedFilename message. 18448 18449 * WebProcess/Downloads/Download.h: 18450 * WebProcess/Downloads/mac/DownloadMac.mm: 18451 (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]): 18452 call Download::decideDestinationWithSuggestedFilename and set the destination. 18453 18454 2010-11-15 Andreas Kling <kling (a] webkit.org> 18455 18456 Reviewed by Kenneth Rohde Christiansen. 18457 18458 [WK2][Qt] Add "page snapshot" functionality to tiled backing store 18459 18460 Original patch by Antti Koivisto. 18461 18462 Add a way to take a snapshot of a specific part of the page, at a specific scale. 18463 Only implemented for the tiled drawing area. 18464 18465 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 18466 New message: TakeSnapshot. 18467 18468 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 18469 New message: SnapshotTaken. 18470 18471 * UIProcess/API/qt/qgraphicswkview.h: 18472 * UIProcess/API/qt/qgraphicswkview.cpp: 18473 (QGraphicsWKView::takeSnapshot): 18474 Expose the snapshot functionality. 18475 18476 * UIProcess/TiledDrawingAreaProxy.cpp: 18477 (WebKit::TiledDrawingAreaProxy::didReceiveMessage): 18478 (WebKit::TiledDrawingAreaProxy::takeSnapshot): 18479 * UIProcess/TiledDrawingAreaProxy.h: 18480 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: 18481 (WebKit::TiledDrawingAreaProxy::snapshotTaken): 18482 * WebProcess/WebPage/TiledDrawingArea.cpp: 18483 (WebKit::TiledDrawingArea::didReceiveMessage): 18484 18485 2010-11-15 Andreas Kling <andreas.kling (a] nokia.com> 18486 18487 Reviewed by Kenneth Rohde Christiansen. 18488 18489 [WK2][Qt] WebKit2 implementation of tiled backing store 18490 https://bugs.webkit.org/show_bug.cgi?id=49526 18491 18492 Basic opt-in tiling implementation for WebKit2/Qt. 18493 18494 Original patch by Antti Koivisto. 18495 18496 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 18497 New messages: RequestTileUpdate and CancelTileUpdate. 18498 18499 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 18500 New messages: Invalidate, TileUpdated, AllTileUpdatesProcessed. 18501 18502 * Shared/DrawingAreaBase.h: 18503 New area type: TiledDrawingAreaType. 18504 18505 * UIProcess/API/qt/qgraphicswkview.h: 18506 * UIProcess/API/qt/qgraphicswkview.cpp: 18507 (QGraphicsWKView::QGraphicsWKView): 18508 (QGraphicsWKView::setGeometry): 18509 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate): 18510 (QGraphicsWKView::prepareScaleChange): 18511 (QGraphicsWKView::commitScaleChange): 18512 (QGraphicsWKViewPrivate::onScaleChanged): 18513 (QGraphicsWKViewPrivate::commitScale): 18514 Support for tiled backing store. 18515 18516 * UIProcess/TiledDrawingAreaProxy.cpp: Added. 18517 (WebKit::TiledDrawingAreaProxy::create): 18518 (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy): 18519 (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy): 18520 (WebKit::TiledDrawingAreaProxy::setSize): 18521 (WebKit::TiledDrawingAreaProxy::setPageIsVisible): 18522 (WebKit::TiledDrawingAreaProxy::didSetSize): 18523 (WebKit::TiledDrawingAreaProxy::didReceiveMessage): 18524 (WebKit::TiledDrawingAreaProxy::didReceiveSyncMessage): 18525 (WebKit::TiledDrawingAreaProxy::requestTileUpdate): 18526 (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete): 18527 (WebKit::TiledDrawingAreaProxy::createTile): 18528 (WebKit::TiledDrawingAreaProxy::setTileSize): 18529 (WebKit::TiledDrawingAreaProxy::setTileCreationDelay): 18530 (WebKit::TiledDrawingAreaProxy::setKeepAndCoverAreaMultipliers): 18531 (WebKit::TiledDrawingAreaProxy::invalidate): 18532 (WebKit::TiledDrawingAreaProxy::updateTileBuffers): 18533 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete): 18534 (WebKit::TiledDrawingAreaProxy::paint): 18535 (WebKit::TiledDrawingAreaProxy::adjustVisibleRect): 18536 (WebKit::TiledDrawingAreaProxy::setContentsScale): 18537 (WebKit::TiledDrawingAreaProxy::removeAllTiles): 18538 (WebKit::TiledDrawingAreaProxy::tileDistance): 18539 (WebKit::TiledDrawingAreaProxy::calculateKeepRect): 18540 (WebKit::TiledDrawingAreaProxy::calculateCoverRect): 18541 (WebKit::TiledDrawingAreaProxy::createTiles): 18542 (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles): 18543 (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect): 18544 (WebKit::TiledDrawingAreaProxy::tileAt): 18545 (WebKit::TiledDrawingAreaProxy::setTile): 18546 (WebKit::TiledDrawingAreaProxy::removeTile): 18547 (WebKit::TiledDrawingAreaProxy::mapToContents): 18548 (WebKit::TiledDrawingAreaProxy::mapFromContents): 18549 (WebKit::TiledDrawingAreaProxy::contentsRect): 18550 (WebKit::TiledDrawingAreaProxy::tileRectForCoordinate): 18551 (WebKit::TiledDrawingAreaProxy::tileCoordinateForPoint): 18552 (WebKit::TiledDrawingAreaProxy::startTileBufferUpdateTimer): 18553 (WebKit::TiledDrawingAreaProxy::tileBufferUpdateTimerFired): 18554 (WebKit::TiledDrawingAreaProxy::startTileCreationTimer): 18555 (WebKit::TiledDrawingAreaProxy::tileCreationTimerFired): 18556 (WebKit::TiledDrawingAreaProxy::hasPendingUpdates): 18557 * UIProcess/TiledDrawingAreaProxy.h: Added. 18558 (WebKit::TiledDrawingAreaProxy::contentsScale): 18559 (WebKit::TiledDrawingAreaProxy::attachCompositingContext): 18560 (WebKit::TiledDrawingAreaProxy::detachCompositingContext): 18561 (WebKit::TiledDrawingAreaProxy::tileSize): 18562 (WebKit::TiledDrawingAreaProxy::tileCreationDelay): 18563 (WebKit::TiledDrawingAreaProxy::getKeepAndCoverAreaMultipliers): 18564 * UIProcess/TiledDrawingAreaTile.h: Added. 18565 (WebKit::TiledDrawingAreaTile::create): 18566 (WebKit::TiledDrawingAreaTile::hasBackBufferUpdatePending): 18567 (WebKit::TiledDrawingAreaTile::coordinate): 18568 (WebKit::TiledDrawingAreaTile::rect): 18569 (WebKit::TiledDrawingAreaTile::ID): 18570 * WebProcess/WebPage/DrawingArea.cpp: 18571 (WebKit::DrawingArea::create): 18572 * WebProcess/WebPage/TiledDrawingArea.cpp: Added. 18573 (WebKit::TiledDrawingArea::TiledDrawingArea): 18574 (WebKit::TiledDrawingArea::~TiledDrawingArea): 18575 (WebKit::TiledDrawingArea::invalidateWindow): 18576 (WebKit::TiledDrawingArea::invalidateContentsAndWindow): 18577 (WebKit::TiledDrawingArea::invalidateContentsForSlowScroll): 18578 (WebKit::TiledDrawingArea::scroll): 18579 (WebKit::TiledDrawingArea::setNeedsDisplay): 18580 (WebKit::TiledDrawingArea::display): 18581 (WebKit::TiledDrawingArea::scheduleDisplay): 18582 (WebKit::TiledDrawingArea::setSize): 18583 (WebKit::TiledDrawingArea::suspendPainting): 18584 (WebKit::TiledDrawingArea::resumePainting): 18585 (WebKit::TiledDrawingArea::didUpdate): 18586 (WebKit::TiledDrawingArea::updateTile): 18587 (WebKit::TiledDrawingArea::tileUpdateTimerFired): 18588 (WebKit::TiledDrawingArea::didReceiveMessage): 18589 * WebProcess/WebPage/TiledDrawingArea.h: Added. 18590 (WebKit::TiledDrawingArea::attachCompositingContext): 18591 (WebKit::TiledDrawingArea::detachCompositingContext): 18592 (WebKit::TiledDrawingArea::setRootCompositingLayer): 18593 (WebKit::TiledDrawingArea::scheduleCompositingLayerSync): 18594 (WebKit::TiledDrawingArea::syncCompositingLayers): 18595 * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Added. 18596 (WebKit::TiledDrawingArea::paintIntoUpdateChunk): 18597 * WebKit2.pro: 18598 * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Added. 18599 (WebKit::checkeredPixmap): 18600 (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile): 18601 (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile): 18602 (WebKit::TiledDrawingAreaTile::isDirty): 18603 (WebKit::TiledDrawingAreaTile::isReadyToPaint): 18604 (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer): 18605 (WebKit::TiledDrawingAreaTile::invalidate): 18606 (WebKit::TiledDrawingAreaTile::resize): 18607 (WebKit::TiledDrawingAreaTile::swapBackBufferToFront): 18608 (WebKit::TiledDrawingAreaTile::paint): 18609 (WebKit::TiledDrawingAreaTile::paintCheckerPattern): 18610 (WebKit::TiledDrawingAreaTile::updateFromChunk): 18611 (WebKit::TiledDrawingAreaTile::updateBackBuffer): 18612 * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Added. 18613 (WebKit::TiledDrawingAreaProxy::updateWebView): 18614 (WebKit::TiledDrawingAreaProxy::webViewVisibleRect): 18615 (WebKit::TiledDrawingAreaProxy::page): 18616 18617 2010-11-12 Benjamin Poulain <benjamin.poulain (a] nokia.com> 18618 18619 Reviewed by Andreas Kling. 18620 18621 [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2 18622 https://bugs.webkit.org/show_bug.cgi?id=48764 18623 18624 Add the missing error to Qt support. 18625 18626 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 18627 (WebKit::pluginWillHandleLoadError): 18628 18629 2010-11-12 John Sullivan <sullivan (a] apple.com> 18630 18631 Reviewed by Anders Carlsson. 18632 18633 Fixed Target for WKBundlePageOverlay.cpp. 18634 18635 * WebKit2.xcodeproj/project.pbxproj: 18636 Changed Target for WKBundlePageOverlay.cpp from WebProcess to WebKit2. 18637 18638 2010-11-12 Anders Carlsson <andersca (a] apple.com> 18639 18640 Reviewed by John Sullivan. 18641 18642 Need a way that WKBundlePageOverlayRef clients can make sure they only uninstall the overlay they installed 18643 https://bugs.webkit.org/show_bug.cgi?id=49461 18644 <rdar://problem/8662760> 18645 18646 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 18647 (WKBundlePageUninstallPageOverlay): 18648 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 18649 * WebProcess/WebPage/FindController.cpp: 18650 (WebKit::FindController::findString): 18651 (WebKit::FindController::hideFindUI): 18652 * WebProcess/WebPage/WebPage.cpp: 18653 (WebKit::WebPage::uninstallPageOverlay): 18654 * WebProcess/WebPage/WebPage.h: 18655 18656 2010-11-12 Anders Carlsson <andersca (a] apple.com> 18657 18658 Reviewed by Sam Weinig. 18659 18660 Allow MessageSender to override sendMessage 18661 https://bugs.webkit.org/show_bug.cgi?id=49457 18662 18663 Change MessageSender::send to encode the message and then call sendMessage. 18664 This allows for clients to override sendMessage, something which WebProcessProxy 18665 will be able to take advantage of. 18666 18667 * Platform/CoreIPC/MessageSender.h: 18668 (CoreIPC::MessageSender::send): 18669 (CoreIPC::MessageSender::sendMessage): 18670 18671 2010-11-12 Anders Carlsson <andersca (a] apple.com> 18672 18673 Reviewed by Sam Weinig. 18674 18675 CoreIPC cleanup 18676 https://bugs.webkit.org/show_bug.cgi?id=49455 18677 18678 Add a static create function to ArgumentEncoder. 18679 Factor sync message argument encoder creation out into a new function, 18680 createSyncMessageArgumentEncoder. 18681 18682 * Platform/CoreIPC/ArgumentEncoder.cpp: 18683 (CoreIPC::ArgumentEncoder::create): 18684 * Platform/CoreIPC/ArgumentEncoder.h: 18685 * Platform/CoreIPC/Connection.cpp: 18686 (CoreIPC::Connection::createSyncMessageArgumentEncoder): 18687 (CoreIPC::Connection::dispatchSyncMessage): 18688 * Platform/CoreIPC/Connection.h: 18689 (CoreIPC::Connection::send): 18690 (CoreIPC::Connection::sendSync): 18691 * UIProcess/WebProcessProxy.h: 18692 (WebKit::WebProcessProxy::send): 18693 18694 2010-11-12 Sam Weinig <sam (a] webkit.org> 18695 18696 Reviewed by Anders Carlsson. 18697 18698 ASSERTION when converting some WKStringRefs returned from willSubmitForm to CFStringRef 18699 <rdar://problem/8662180> 18700 https://bugs.webkit.org/show_bug.cgi?id=49454 18701 18702 Enforce the invariant that a WebString never contains a null WTF::String at a 18703 lower level, in the WebString constructor, instead of relying on the callers of 18704 WebString::create to do it. 18705 18706 * Shared/API/c/WKSharedAPICast.h: 18707 (WebKit::toAPI): 18708 (WebKit::toCopiedAPI): Remove null string check... 18709 18710 * Shared/WebString.h: 18711 (WebKit::WebString::WebString): ... and move it to the constructor. 18712 18713 * Shared/API/c/WKURL.cpp: 18714 (WKURLCopyString): Use toCopiedAPI() instead of calling WebString directly 18715 to match other similar uses. 18716 18717 2010-11-12 Andreas Kling <kling (a] webkit.org> 18718 18719 Reviewed by Antonio Gomes. 18720 18721 [Qt][WK2] Fix leaking of mapped files 18722 18723 MappedMemory::fileName was never set on the receiving side, which led 18724 the MappedMemoryPool to call QFile::map() again when reusing an existing file. 18725 18726 * Platform/qt/MappedMemoryPool.cpp: 18727 (WebKit::MappedMemoryPool::mapFile): 18728 18729 2010-11-12 Adam Roben <aroben (a] apple.com> 18730 18731 Windows build fix 18732 18733 * win/WebKit2Generated.make: Copy WKBundlePageOverlay.h. 18734 18735 2010-11-12 Benjamin Poulain <benjamin.poulain (a] nokia.com> 18736 18737 Unreviewed fix after r71857. 18738 18739 * UIProcess/qt/WebInspectorProxyQt.cpp: 18740 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 18741 18742 2010-11-11 Anders Carlsson <andersca (a] apple.com> 18743 18744 Reviewed by Darin Adler. 18745 18746 Add didReceiveResponse and didReceiveData to the download client 18747 https://bugs.webkit.org/show_bug.cgi?id=49418 18748 18749 * UIProcess/API/C/WKContext.h: 18750 Add didReceiveResponse and didReceiveData to WKContextDownloadClient. 18751 18752 * UIProcess/Downloads/DownloadProxy.cpp: 18753 (WebKit::DownloadProxy::didReceiveResponse): 18754 (WebKit::DownloadProxy::didReceiveData): 18755 Call WebDownloadClient member functions. 18756 18757 * UIProcess/Downloads/DownloadProxy.messages.in: 18758 Add DidReceiveResponse and DidReceiveData messages. 18759 18760 * UIProcess/WebDownloadClient.cpp: 18761 (WebKit::WebDownloadClient::didReceiveResponse): 18762 (WebKit::WebDownloadClient::didReceiveData): 18763 Call client functions. 18764 18765 * WebKit2.xcodeproj/project.pbxproj: 18766 Let Xcode update the file. 18767 18768 * WebProcess/Downloads/Download.cpp: 18769 (WebKit::Download::didReceiveResponse): 18770 (WebKit::Download::didReceiveData): 18771 Send messages. 18772 18773 * WebProcess/Downloads/mac/DownloadMac.mm: 18774 (WebKit::Download::start): 18775 Set deletesFileUponFailure to NO. 18776 18777 (-[WKDownloadAsDelegate download:didReceiveResponse:]): 18778 Call didReceiveResponse. 18779 18780 2010-11-11 Anders Carlsson <andersca (a] apple.com> 18781 18782 Reviewed by Sam Weinig. 18783 18784 Add an argument coder for ResourceResponse. 18785 https://bugs.webkit.org/show_bug.cgi?id=49415 18786 18787 * Shared/WebCoreArgumentCoders.h: 18788 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 18789 (CoreIPC::encodeResourceResponse): 18790 (CoreIPC::decodeResourceResponse): 18791 * Shared/mac/WebCoreArgumentCodersMac.mm: 18792 (CoreIPC::encodeResourceResponse): 18793 (CoreIPC::decodeResourceResponse): 18794 * Shared/qt/WebCoreArgumentCodersQt.cpp: 18795 (CoreIPC::encodeResourceResponse): 18796 (CoreIPC::decodeResourceResponse): 18797 * Shared/win/WebCoreArgumentCodersWin.cpp: 18798 (CoreIPC::encodeResourceResponse): 18799 (CoreIPC::decodeResourceResponse): 18800 18801 2010-11-11 Ryosuke Niwa <rniwa (a] webkit.org> 18802 18803 Unreviewed build fix for r71587. 18804 18805 * WebKit2.xcodeproj/project.pbxproj: No longer uses absolute path. 18806 18807 2010-11-11 Csaba Osztrogonc <ossy (a] webkit.org> 18808 18809 [Qt] Unreviewed WebKit2 buildfix after r71587. 18810 18811 * UIProcess/qt/WebInspectorProxyQt.cpp: 18812 * WebKit2.pro: 18813 18814 2010-11-11 Brian Weinstein <bweinstein (a] apple.com> 18815 18816 More Windows build fixing. Change another #import to a #include, and remove an unneeded 18817 namespace. 18818 18819 * UIProcess/win/WebInspectorProxyWin.cpp: 18820 * WebProcess/WebPage/win/WebInspectorWin.cpp: 18821 18822 2010-11-11 Brent Fulgham <bfulgham (a] webkit.org> 18823 18824 Windows [Cairo] build fix. Unreviewed. 18825 18826 Provide stubs for two BackingStore methods. 18827 18828 * Shared/cairo/BackingStoreCairo.cpp: 18829 (WebKit::BackingStore::createFlippedGraphicsContext): 18830 (WebKit::BackingStore::paint): 18831 18832 2010-11-11 Brian Weinstein <bweinstein (a] apple.com> 18833 18834 Windows Build Fix. Change #imports to #includes. 18835 18836 * UIProcess/win/WebInspectorProxyWin.cpp: 18837 18838 2010-11-08 Timothy Hatcher <timothy (a] apple.com> 18839 18840 Create and load the Web Inspector page. 18841 18842 https://webkit.org/b/49207 18843 18844 Reviewed by Anders Carlsson. 18845 18846 * UIProcess/WebInspectorProxy.cpp: 18847 (WebKit::WebInspectorProxy::createInspectorPage): Added. Call platformCreateInspectorPage and then 18848 call WebPageProxy::loadURL with inspectorPageURL. 18849 (WebKit::WebInspectorProxy::didLoadInspectorPage): Added stub. 18850 * UIProcess/WebInspectorProxy.h: 18851 * UIProcess/WebInspectorProxy.messages.in: Added. 18852 * UIProcess/WebPageProxy.cpp: 18853 (WebKit::WebPageProxy::didReceiveMessage): Call WebInspectorProxy::didReceiveWebInspectorProxyMessage. 18854 (WebKit::WebPageProxy::didReceiveSyncMessage): Call WebInspectorProxy::didReceiveSyncWebInspectorProxyMessage. 18855 * UIProcess/WebPageProxy.h: Made creationParameters public so WebInspectorProxy can use it. 18856 18857 * UIProcess/mac/WebInspectorProxyMac.mm: 18858 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Make a WkView and return the WebPageProxy. 18859 (WebKit::WebInspectorProxy::inspectorPageURL): Return the file URL for the inspector.html file. 18860 * UIProcess/qt/WebInspectorProxyQt.cpp: 18861 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub. 18862 (WebKit::WebInspectorProxy::inspectorPageURL): Ditto. 18863 * UIProcess/win/WebInspectorProxyWin.cpp: 18864 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub. 18865 (WebKit::WebInspectorProxy::inspectorPageURL): Ditto. 18866 18867 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 18868 (WebKit::WebInspectorClient::openInspectorFrontend): Call WebInspector::createInspectorPage and set up the WebInspectorFrontendClient. 18869 (WebKit::WebInspectorClient::sendMessageToFrontend): Call doDispatchMessageOnFrontendPage in the base class. 18870 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 18871 (WebKit::WebInspectorFrontendClient::frontendLoaded): Call WebInspector::didLoadInspectorPage. 18872 (WebKit::WebInspectorFrontendClient::localizedStringsURL): Call WebInspector::localizedStringsURL. 18873 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 18874 18875 * WebProcess/WebPage/WebInspector.cpp: 18876 (WebKit::WebInspector::WebInspector): 18877 (WebKit::WebInspector::createInspectorPage): Send a sync WebInspectorProxy::CreateInspectorPage message and set up 18878 the WebPage using the result page ID. 18879 (WebKit::WebInspector::didLoadInspectorPage): Send a WebInspectorProxy::DidLoadInspectorPage message. 18880 * WebProcess/WebPage/WebInspector.h: 18881 (WebKit::WebInspector::inspectorPage): Added. 18882 * WebProcess/WebPage/WebPage.cpp: 18883 (WebKit::WebPage::didReceiveMessage): Call WebInspector::didReceiveWebInspectorMessage. 18884 18885 * WebProcess/WebPage/mac/WebInspectorMac.mm: 18886 (WebKit::WebInspector::localizedStringsURL): Return the file URL for the localizedStrings.js file. 18887 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 18888 (WebKit::WebInspector::localizedStringsURL): Added stub. 18889 * WebProcess/WebPage/win/WebInspectorWin.cpp: 18890 (WebKit::WebInspector::localizedStringsURL): Added stub. 18891 18892 * DerivedSources.make: Added WebInspectorProxy.messages.in. 18893 * DerivedSources.pro: Ditto. 18894 18895 * WebKit2.pro: Added new files. 18896 * WebKit2.xcodeproj/project.pbxproj: Ditto. 18897 * win/WebKit2.vcproj: Ditto. 18898 18899 2010-11-11 Sam Weinig <sam (a] webkit.org> 18900 18901 Reviewed by Anders Carlsson. 18902 18903 Move the remaining API client classes to use the APIClient base class. 18904 https://bugs.webkit.org/show_bug.cgi?id=49404 18905 18906 Also moves InjectedBundleClient into its own class to match other API clients. 18907 18908 * UIProcess/WebContextInjectedBundleClient.cpp: 18909 * UIProcess/WebContextInjectedBundleClient.h: 18910 * UIProcess/WebHistoryClient.cpp: 18911 (WebKit::WebHistoryClient::didNavigateWithNavigationData): 18912 (WebKit::WebHistoryClient::didPerformClientRedirect): 18913 (WebKit::WebHistoryClient::didPerformServerRedirect): 18914 (WebKit::WebHistoryClient::didUpdateHistoryTitle): 18915 (WebKit::WebHistoryClient::populateVisitedLinks): 18916 * UIProcess/WebHistoryClient.h: 18917 (WebKit::WebHistoryClient::shouldTrackVisitedLinks): 18918 * WebKit2.pro: 18919 * WebKit2.xcodeproj/project.pbxproj: 18920 * WebProcess/InjectedBundle/InjectedBundle.cpp: 18921 (WebKit::InjectedBundle::initializeClient): 18922 (WebKit::InjectedBundle::reportException): 18923 (WebKit::InjectedBundle::didCreatePage): 18924 (WebKit::InjectedBundle::willDestroyPage): 18925 (WebKit::InjectedBundle::didReceiveMessage): 18926 * WebProcess/InjectedBundle/InjectedBundle.h: 18927 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: Added. 18928 (WebKit::InjectedBundleClient::didCreatePage): 18929 (WebKit::InjectedBundleClient::willDestroyPage): 18930 (WebKit::InjectedBundleClient::didReceiveMessage): 18931 * WebProcess/InjectedBundle/InjectedBundleClient.h: Added. 18932 * win/WebKit2.vcproj: 18933 18934 2010-11-11 Anders Carlsson <andersca (a] apple.com> 18935 18936 Reviewed by Adam Roben. 18937 18938 Remove an unneeded CFAllocatorRef parameter. 18939 18940 * Shared/API/c/mac/WKURLResponseNS.h: 18941 * Shared/API/c/mac/WKURLResponseNS.mm: 18942 (WKURLResponseCopyNSURLResponse): 18943 18944 2010-11-11 Anders Carlsson <andersca (a] apple.com> 18945 18946 Reviewed by Adam Roben. 18947 18948 Add and implement WKDownloadCopyRequest 18949 https://bugs.webkit.org/show_bug.cgi?id=49393 18950 18951 * Shared/API/c/mac/WKURLRequestNS.h: 18952 * Shared/API/c/mac/WKURLRequestNS.mm: 18953 (WKURLRequestCopyNSURLRequest): 18954 Remove unneeded CFAllocator parameter. 18955 18956 * Shared/WebURLRequest.cpp: 18957 (WebKit::WebURLRequest::WebURLRequest): 18958 * Shared/WebURLRequest.h: 18959 (WebKit::WebURLRequest::create): 18960 Change create to take a ResourceRequest instead. 18961 18962 * UIProcess/API/C/WKDownload.cpp: 18963 (WKDownloadCopyRequest): 18964 Return a copied WKURLRequest. 18965 18966 * UIProcess/API/C/WKDownload.h: 18967 * UIProcess/Downloads/DownloadProxy.cpp: 18968 (WebKit::DownloadProxy::didStart): 18969 Set the request. 18970 18971 * UIProcess/Downloads/DownloadProxy.h: 18972 (WebKit::DownloadProxy::request): 18973 Return the request. 18974 18975 * UIProcess/Downloads/DownloadProxy.messages.in: 18976 * WebProcess/Downloads/Download.cpp: 18977 (WebKit::Download::didStart): 18978 Pass the request along when sending the DidStart message. 18979 18980 2010-11-11 John Sullivan <sullivan (a] apple.com> 18981 18982 Rubber-stamped by Anders Carlsson. 18983 18984 * WebKit2.xcodeproj/project.pbxproj: 18985 Added WKBundlePageOverlay.h to the WebKit2 Target and made it public. 18986 18987 2010-11-11 Anders Carlsson <andersca (a] apple.com> 18988 18989 Reviewed by John Sullivan. 18990 18991 Move GraphicsContext setup code to PageOverlay::drawRect 18992 https://bugs.webkit.org/show_bug.cgi?id=49389 18993 18994 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 18995 * WebProcess/WebPage/FindController.cpp: 18996 (WebKit::FindController::drawRect): 18997 * WebProcess/WebPage/PageOverlay.cpp: 18998 (WebKit::PageOverlay::drawRect): 18999 19000 2010-11-11 Adam Roben <aroben (a] apple.com> 19001 19002 Build fix after r71816 19003 19004 * WebProcess/WebPage/WebPage.messages.in: Compile out 19005 SetActualVisibleContentRect when ENABLE(TILED_BACKING_STORE) is 19006 turned off. 19007 19008 2010-11-11 Balazs Kelemen <kbalazs (a] webkit.org> 19009 19010 Reviewed by Andreas Kling. 19011 19012 [Qt][WK2] Implement BackingStore 19013 https://bugs.webkit.org/show_bug.cgi?id=49377 19014 19015 * Shared/qt/BackingStoreQt.cpp: 19016 (WebKit::createQImage): Added static helper. Creates a QImage 19017 from the shared memory buffer. 19018 (WebKit::BackingStore::createGraphicsContext): 19019 (WebKit::BackingStore::createFlippedGraphicsContext): Leave 19020 unimplemented with an ASSERT_NOT_REACHED since this is only 19021 needed for the CoreGraphics backend. 19022 (WebKit::BackingStore::paint): 19023 19024 2010-11-11 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 19025 19026 Reviewed by Andreas Kling. 19027 19028 [Qt] Add a Qt WebKit2 API for overriding the actual visible content rect 19029 https://bugs.webkit.org/show_bug.cgi?id=49381 19030 19031 Add an Qt WebKit2 API for overriding the actual visible content rect in 19032 WebCore. This is supposed to be used in combination with tiling. 19033 19034 * UIProcess/API/qt/qwkpage.cpp: 19035 (QWKPage::setActualVisibleContentsRect): 19036 * UIProcess/API/qt/qwkpage.h: 19037 * UIProcess/WebPageProxy.cpp: 19038 (WebKit::WebPageProxy::setActualVisibleContentRect): 19039 * UIProcess/WebPageProxy.h: 19040 * WebProcess/WebPage/WebPage.cpp: 19041 (WebKit::WebPage::setActualVisibleContentRect): 19042 * WebProcess/WebPage/WebPage.h: 19043 * WebProcess/WebPage/WebPage.messages.in: 19044 19045 2010-11-10 Beth Dakin <bdakin (a] apple.com> 19046 19047 Reviewed by Simon Fraser. 19048 19049 Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 19050 -[WebView _scaleWebView:] should take and origin and scroll the 19051 document 19052 -and corresponding- 19053 <rdar://problem/8643921> 19054 19055 * Shared/API/c/WKSharedAPICast.h: 19056 (WebKit::toImpl): 19057 * UIProcess/API/C/WKPage.cpp: 19058 (WKPageScaleWebView): 19059 * UIProcess/API/C/WKPage.h: 19060 * UIProcess/WebPageProxy.cpp: 19061 (WebKit::WebPageProxy::scaleWebView): 19062 * UIProcess/WebPageProxy.h: 19063 * WebProcess/WebPage/WebPage.cpp: 19064 (WebKit::WebPage::scaleWebView): 19065 * WebProcess/WebPage/WebPage.h: 19066 * WebProcess/WebPage/WebPage.messages.in: 19067 19068 2010-11-10 Ada Chan <adachan (a] apple.com> 19069 19070 Fix Windows build. 19071 19072 * win/WebKit2Generated.make: 19073 19074 2010-11-10 Simon Fraser <simon.fraser (a] apple.com> 19075 19076 Reviewed by Anders Carlsson. 19077 19078 Misc drawing area cleanup 19079 https://bugs.webkit.org/show_bug.cgi?id=49349 19080 19081 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 19082 (WebKit::LayerBackedDrawingAreaProxy::setSize): 19083 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible): 19084 (WebKit::LayerBackedDrawingAreaProxy::update): 19085 Call process()->send() instead of process()->connection()->send() in case 19086 the web process has not been launched yet. 19087 19088 * WebProcess/WebPage/WebPage.cpp: 19089 (WebKit::WebPage::WebPage): Delay creation of the drawing area 19090 until after other WebPage state has been initialized, in case 19091 the DrawingArea creation needs to call back to the WebPage. 19092 19093 2010-11-10 Simon Fraser <simon.fraser (a] apple.com> 19094 19095 Reviewed by Adam Roben. 19096 19097 Push m_viewSize down to DrawingAreaProxy base class 19098 https://bugs.webkit.org/show_bug.cgi?id=49347 19099 19100 Some refactoring so that the various drawing area classes 19101 can share m_size. 19102 19103 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 19104 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize): 19105 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 19106 * UIProcess/DrawingAreaProxy.h: 19107 (WebKit::DrawingAreaProxy::setSize): 19108 (WebKit::DrawingAreaProxy::size): 19109 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 19110 (WebKit::LayerBackedDrawingAreaProxy::setSize): 19111 * UIProcess/LayerBackedDrawingAreaProxy.h: 19112 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 19113 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 19114 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 19115 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 19116 (WebKit::LayerBackedDrawingAreaProxy::platformSetSize): 19117 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext): 19118 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: 19119 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 19120 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 19121 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 19122 19123 2010-11-10 Anders Carlsson <andersca (a] apple.com> 19124 19125 Reviewed by Dan Bernstein. 19126 19127 Closing tabs sometimes crashes the WebProcess in invalidateContentsAndWindow 19128 https://bugs.webkit.org/show_bug.cgi?id=49335 19129 <rdar://problem/8646621> 19130 19131 * WebProcess/WebPage/WebPage.cpp: 19132 (WebKit::WebPage::changeAcceleratedCompositingMode): 19133 If we fail to send the DidChangeAcceleratedCompositing message, don't null out the 19134 drawing area. This will happen during page teardown. 19135 19136 2010-11-10 Csaba Osztrogonc <ossy (a] webkit.org> 19137 19138 Reviewed by David Hyatt. 19139 19140 HTML5 Ruby support should be mandatory feature 19141 https://bugs.webkit.org/show_bug.cgi?id=49272 19142 19143 Remove Ruby as optional feature. 19144 19145 * Configurations/FeatureDefines.xcconfig: 19146 * WebKit2Prefix.h: Touch it to avoid incremental build failure on Windows. 19147 19148 2010-11-10 Sam Weinig <sam (a] webkit.org> 19149 19150 Reviewed by Anders Carlsson. 19151 19152 Add license to DerivedSources.make. 19153 19154 * DerivedSources.make: 19155 19156 2010-11-09 Sam Weinig <sam (a] webkit.org> 19157 19158 Reviewed by Adam Roben. 19159 19160 Convert client classes to use APIClient base class. 19161 https://bugs.webkit.org/show_bug.cgi?id=49322 19162 19163 * UIProcess/WebFormClient.cpp: 19164 (WebKit::WebFormClient::willSubmitForm): 19165 * UIProcess/WebFormClient.h: 19166 * UIProcess/WebLoaderClient.cpp: 19167 * UIProcess/WebLoaderClient.h: 19168 * UIProcess/WebPolicyClient.cpp: 19169 * UIProcess/WebPolicyClient.h: 19170 * UIProcess/WebUIClient.cpp: 19171 * UIProcess/WebUIClient.h: 19172 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 19173 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 19174 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 19175 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 19176 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 19177 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 19178 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 19179 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 19180 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 19181 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 19182 19183 2010-11-10 Andreas Kling <kling (a] webkit.org> 19184 19185 Reviewed by Kenneth Rohde Christiansen. 19186 19187 [Qt][WK2] Fix re-use of memory-mapped files 19188 https://bugs.webkit.org/show_bug.cgi?id=49310 19189 19190 QTemporaryFile::fileName() returns an empty string after close() 19191 so we have to keep separate track of the filename. 19192 19193 Also, we can't reopen the file if it's been QFile::remove()d, 19194 so we defer unlinking until the MappedMemoryPool is destroyed or 19195 the CrashHandler kicks in. 19196 19197 This makes re-use of memory-mapped files work (after we kill an 19198 assertion that the file size == the new mmap size - it's fine if 19199 the file is larger, too.) 19200 19201 * Platform/qt/MappedMemoryPool.cpp: 19202 (WebKit::MappedMemoryPool::~MappedMemoryPool): 19203 (WebKit::MappedMemoryPool::clear): 19204 (WebKit::MappedMemoryPool::mapMemory): 19205 (WebKit::MappedMemoryPool::mapFile): 19206 * Platform/qt/MappedMemoryPool.h: 19207 (WebKit::MappedMemory::mappedFileName): 19208 * Shared/qt/CrashHandler.cpp: 19209 (WebKit::CrashHandler::deleteObjects): 19210 * Shared/qt/UpdateChunk.cpp: 19211 (WebKit::UpdateChunk::encode): 19212 19213 2010-11-09 Brady Eidson <beidson (a] apple.com> 19214 19215 Reviewed by the ever-picky Windows build-bot. 19216 19217 Windows build bot was complaining about this. 19218 19219 * Shared/WebContextMenuItemData.cpp: 19220 (WebKit::WebContextMenuItemData::core): 19221 19222 2010-11-09 Anders Carlsson <andersca (a] apple.com> 19223 19224 Reviewed by John Sullivan. 19225 19226 WKDownload.h should be a public header. 19227 19228 * WebKit2.xcodeproj/project.pbxproj: 19229 19230 2010-11-09 Brady Eidson <beidson (a] apple.com> 19231 19232 Reviewed by Darin Adler. 19233 19234 Part of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720 19235 Customizable context menu support in WebKit2. 19236 19237 This adds a BundlePageContextMenu client and lets WebKit2 consult it with the proposed 19238 list of WebContextMenuItems. 19239 There is no realistic API for the embedding app to actually inspect or create new 19240 WebContextMenuItems (will be "WKContextMenuItem") and that ability will come later. 19241 19242 * WebKit2.pro: 19243 * WebKit2.xcodeproj/project.pbxproj: 19244 * win/WebKit2.vcproj: 19245 19246 * Platform/Logging.cpp: 19247 (initializeLogChannelsIfNecessary): 19248 * Platform/Logging.h: 19249 19250 * Shared/APIObject.h: 19251 19252 * Shared/MutableArray.cpp: 19253 (WebKit::MutableArray::reserveCapacity): 19254 * Shared/MutableArray.h: 19255 19256 * Shared/WebContextMenuItem.cpp: Added. 19257 (WebKit::WebContextMenuItem::WebContextMenuItem): 19258 (WebKit::WebContextMenuItem::data): 19259 * Shared/WebContextMenuItem.h: Added. 19260 (WebKit::WebContextMenuItem::create): 19261 (WebKit::WebContextMenuItem::type): 19262 19263 * Shared/WebContextMenuItemData.cpp: 19264 (WebKit::WebContextMenuItemData::core): 19265 (WebKit::kitItems): 19266 (WebKit::coreItems): 19267 * Shared/WebContextMenuItemData.h: 19268 19269 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 19270 (WKBundlePageSetContextMenuClient): 19271 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 19272 19273 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: Added. 19274 (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient): 19275 (WebKit::InjectedBundlePageContextMenuClient::initialize): 19276 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 19277 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: Added. 19278 19279 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 19280 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Call through to the injected bundle client 19281 with the default items and convert the returned items back for WebCore to use. 19282 19283 * WebProcess/WebPage/WebPage.cpp: 19284 (WebKit::WebPage::initializeInjectedBundleContextMenuClient): 19285 * WebProcess/WebPage/WebPage.h: 19286 (WebKit::WebPage::injectedBundleContextMenuClient): 19287 19288 2010-11-09 Sam Weinig <sam (a] webkit.org> 19289 19290 Add some stylistic flourish to the last patch as suggested by Lord Darin Adler. 19291 19292 * UIProcess/API/C/WKPage.cpp: 19293 (WKPageGetSourceForFrame): 19294 (WKPageGetContentsAsString): 19295 * UIProcess/WebPageProxy.cpp: 19296 (WebKit::invalidateCallbackMap): 19297 * WebProcess/WebPage/WebFrame.cpp: 19298 (WebKit::WebFrame::contentsAsString): 19299 19300 2010-11-09 Sam Weinig <sam (a] webkit.org> 19301 19302 Reviewed by Anders Carlsson. 19303 19304 Need WebKit2 mechanism for getting the visible page text 19305 <rdar://problem/8646928> 19306 https://bugs.webkit.org/show_bug.cgi?id=49275 19307 19308 * UIProcess/API/C/WKPage.cpp: 19309 (WKPageGetContentsAsString): 19310 (callContentsAsStringBlockBlockAndDispose): 19311 (WKPageGetContentsAsString_b): 19312 * UIProcess/API/C/WKPage.h: 19313 Add GetContentsAsString callback function declaration and forwarding. 19314 19315 * UIProcess/WebPageProxy.cpp: 19316 (WebKit::invalidateCallbackMap): 19317 (WebKit::WebPageProxy::close): 19318 (WebKit::WebPageProxy::getContentsAsString): 19319 (WebKit::WebPageProxy::didGetContentsAsString): 19320 (WebKit::WebPageProxy::processDidCrash): 19321 * UIProcess/WebPageProxy.h: 19322 Add GetContentsAsString callback and generalize invalidating the callback 19323 maps into a standalone function. 19324 19325 * UIProcess/WebPageProxy.messages.in: 19326 Add DidGetContentsAsString return message. 19327 19328 * WebProcess/WebPage/WebFrame.h: 19329 * WebProcess/WebPage/WebFrame.cpp: 19330 (WebKit::WebFrame::contentsAsString): 19331 Gets the string content of all the subframes. 19332 19333 (WebKit::WebFrame::isFrameSet): 19334 Call through to the document. 19335 19336 * WebProcess/WebPage/WebPage.h: 19337 * WebProcess/WebPage/WebPage.cpp: 19338 (WebKit::WebPage::getContentsAsString): 19339 Forward to the the main frames contentsAsString function. 19340 19341 * WebProcess/WebPage/WebPage.messages.in: 19342 Add GetContentsAsString and collect all callback messages together. 19343 19344 2010-11-09 Sam Weinig <sam (a] webkit.org> 19345 19346 Fix mac build. 19347 19348 * WebProcess/mac/WebProcessMac.mm: 19349 (WebKit::WebProcess::platformSetCacheModel): 19350 19351 2010-11-09 Simon Fraser <simon.fraser (a] apple.com> 19352 19353 Reviewed by Darin Adler, Dan Bernstein. 19354 19355 <rdar://problem/8360145> Pages using accelerated compositing missing content on Windows 19356 19357 Disable accelerated compositing on Windows until we have cross-process 19358 rendering implemented. 19359 19360 * WebProcess/WebPage/WebPage.cpp: 19361 (WebKit::WebPage::updatePreferences): 19362 19363 2010-11-09 Anders Carlsson <andersca (a] apple.com> 19364 19365 Reviewed by Sam Weinig. 19366 19367 Add injected bundle API for creating page overlays 19368 https://bugs.webkit.org/show_bug.cgi?id=49282 19369 19370 * Shared/API/c/WKBase.h: 19371 Add WKBundlePageOverlayRef. 19372 19373 * Shared/APIObject.h: 19374 Add TypeBundlePageOverlay. 19375 19376 * WebKit2.pro: 19377 * WebKit2.xcodeproj/project.pbxproj: 19378 Add new files. 19379 19380 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 19381 Add WKBundlePageOverlayRef mapping. 19382 19383 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 19384 (WKBundlePageInstallPageOverlay): 19385 Install the passed in page overlay. 19386 19387 (WKBundlePageUninstallPageOverlay): 19388 Uninstall the passed in page overlay. 19389 19390 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: Added. 19391 (PageOverlayClientImpl::create): 19392 (PageOverlayClientImpl::PageOverlayClientImpl): 19393 (PageOverlayClientImpl::pageOverlayDestroyed): 19394 (PageOverlayClientImpl::willMoveToWebPage): 19395 (PageOverlayClientImpl::didMoveToWebPage): 19396 (PageOverlayClientImpl::drawRect): 19397 (PageOverlayClientImpl::mouseEvent): 19398 Add a PageOverlay::Client subclass that forwards everything to its client. 19399 19400 (WKBundlePageOverlayGetTypeID): 19401 (WKBundlePageOverlayCreate): 19402 Create a page overlay. 19403 19404 * WebProcess/WebPage/FindController.cpp: 19405 (WebKit::FindController::pageOverlayDestroyed): 19406 * WebProcess/WebPage/FindController.h: 19407 Add stub. 19408 19409 * WebProcess/WebPage/PageOverlay.h: 19410 Inherit from APIObject. 19411 19412 (WebKit::PageOverlay::type): 19413 return TypeBundlePageOverlay. 19414 19415 * win/WebKit2.vcproj: 19416 Add new files. 19417 19418 2010-11-09 Anders Carlsson <andersca (a] apple.com> 19419 19420 Reviewed by Sam Weinig. 19421 19422 Get rid of FindPageOverlay 19423 https://bugs.webkit.org/show_bug.cgi?id=49268 19424 19425 * WebKit2.pro: 19426 * WebKit2.xcodeproj/project.pbxproj: 19427 Remove files. 19428 19429 * WebProcess/WebPage/FindController.cpp: 19430 (WebKit::FindController::findString): 19431 Create a PageOverlay with the FindController as its client. 19432 19433 (WebKit::FindController::willMoveToWebPage): 19434 Null out the find page overlay if the web page is null. 19435 19436 (WebKit::FindController::didMoveToWebPage): 19437 Add stub. 19438 19439 * WebProcess/WebPage/FindController.h: 19440 FindController is now a PageOverlay::Client. 19441 19442 * WebProcess/WebPage/FindPageOverlay.cpp: Removed. 19443 * WebProcess/WebPage/FindPageOverlay.h: Removed. 19444 * WebProcess/WebPage/PageOverlay.cpp: 19445 (WebKit::PageOverlay::setPage): 19446 Call the willMoveToWebPage and didMoveToWebPage client functions. 19447 19448 (WebKit::PageOverlay::setNeedsDisplay): 19449 Pass the page overlay bounds instead of the web page size. 19450 19451 * WebProcess/WebPage/WebPage.cpp: 19452 (WebKit::WebPage::installPageOverlay): 19453 Clear the page of the previous page overlay. 19454 19455 (WebKit::WebPage::uninstallPageOverlay): 19456 Clear the page of the previous page overlay. 19457 19458 * WebProcess/WebPage/WebPage.h: 19459 The page overlay is now refcounted. 19460 19461 * win/WebKit2.vcproj: 19462 Remove files. 19463 19464 2010-11-09 Sam Weinig <sam (a] webkit.org> 19465 19466 Fix windows build. 19467 19468 * WebProcess/win/WebProcessWin.cpp: 19469 (WebKit::WebProcess::platformSetCacheModel): 19470 19471 2010-11-09 Sam Weinig <sam (a] webkit.org> 19472 19473 Reviewed by Adam Roben. 19474 19475 Factor calculation of cache sizes based on cache model into shared function 19476 https://bugs.webkit.org/show_bug.cgi?id=48706 19477 19478 * WebProcess/WebProcess.cpp: 19479 (WebKit::WebProcess::calculateCacheSizes): 19480 * WebProcess/WebProcess.h: 19481 * WebProcess/mac/WebProcessMac.mm: 19482 (WebKit::volumeFreeSize): 19483 (WebKit::WebProcess::platformSetCacheModel): 19484 * WebProcess/win/WebProcessWin.cpp: 19485 (WebKit::memorySize): 19486 (WebKit::volumeFreeSize): 19487 (WebKit::WebProcess::platformSetCacheModel): 19488 19489 2010-11-09 Sam Weinig <sam (a] webkit.org> 19490 19491 Reviewed by Anders Carlsson. 19492 19493 Context menus show up in the wrong place when the page is scrolled 19494 https://bugs.webkit.org/show_bug.cgi?id=49264 19495 19496 Convert the hitTestResult point into 'window' coordinates before sending over 19497 to the UIProcess to show the menu. 19498 19499 * WebProcess/WebPage/WebContextMenu.cpp: 19500 (WebKit::WebContextMenu::show): 19501 Convert to use message sender interface. 19502 19503 (WebKit::WebContextMenu::itemSelected): 19504 Remove unnecessary WebCore::'s. 19505 19506 2010-11-09 Sam Weinig <sam (a] webkit.org> 19507 19508 Reviewed by Anders Carlsson. 19509 19510 Send messages directly to the WebContext 19511 https://bugs.webkit.org/show_bug.cgi?id=49262 19512 19513 * Platform/CoreIPC/MessageID.h: 19514 Temporarily add MessageClassWebContextLegacy. 19515 19516 * Shared/CoreIPCSupport/WebContextMessageKinds.h: 19517 Rename adding Legacy prefix. 19518 19519 * UIProcess/WebContext.cpp: 19520 (WebKit::WebContext::didNavigateWithNavigationData): 19521 (WebKit::WebContext::didPerformClientRedirect): 19522 (WebKit::WebContext::didPerformServerRedirect): 19523 (WebKit::WebContext::didUpdateHistoryTitle): 19524 (WebKit::WebContext::setCacheModel): 19525 (WebKit::WebContext::addVisitedLink): 19526 (WebKit::WebContext::addVisitedLinkHash): 19527 (WebKit::WebContext::getPlugins): 19528 (WebKit::WebContext::getPluginPath): 19529 (WebKit::WebContext::didReceiveMessage): 19530 (WebKit::WebContext::didReceiveSyncMessage): 19531 * UIProcess/WebContext.h: 19532 * UIProcess/WebContext.messages.in: Added. 19533 * UIProcess/WebProcessProxy.cpp: 19534 (WebKit::WebProcessProxy::getPluginProcessConnection): 19535 (WebKit::WebProcessProxy::didReceiveMessage): 19536 (WebKit::WebProcessProxy::didReceiveSyncMessage): 19537 * UIProcess/WebProcessProxy.h: 19538 * UIProcess/WebProcessProxy.messages.in: 19539 * WebProcess/InjectedBundle/InjectedBundle.cpp: 19540 (WebKit::InjectedBundle::postMessage): 19541 (WebKit::InjectedBundle::postSynchronousMessage): 19542 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 19543 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 19544 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 19545 (WebKit::WebFrameLoaderClient::setTitle): 19546 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 19547 (WebKit::WebPlatformStrategies::populatePluginCache): 19548 * WebProcess/WebPage/WebPage.cpp: 19549 (WebKit::WebPage::createPlugin): 19550 * WebProcess/WebProcess.cpp: 19551 (WebKit::WebProcess::addVisitedLink): 19552 Move context related messages to be sent directly to the context. 19553 19554 * DerivedSources.make: 19555 * DerivedSources.pro: 19556 * WebKit2.pro: 19557 * WebKit2.xcodeproj/project.pbxproj: 19558 * win/WebKit2.vcproj: 19559 Add new files. 19560 19561 2010-11-09 Anders Carlsson <andersca (a] apple.com> 19562 19563 Reviewed by John Sullivan. 19564 19565 Move the find page overlay code to FindController 19566 https://bugs.webkit.org/show_bug.cgi?id=49266 19567 19568 * WebProcess/WebPage/FindController.cpp: 19569 (WebKit::FindController::~FindController): 19570 (WebKit::FindController::rectsForTextMatches): 19571 (WebKit::overlayBackgroundColor): 19572 (WebKit::FindController::drawRect): 19573 (WebKit::FindController::mouseEvent): 19574 * WebProcess/WebPage/FindController.h: 19575 * WebProcess/WebPage/FindPageOverlay.cpp: 19576 (WebKit::FindPageOverlay::drawRect): 19577 (WebKit::FindPageOverlay::mouseEvent): 19578 * WebProcess/WebPage/FindPageOverlay.h: 19579 * WebProcess/WebPage/PageOverlay.cpp: 19580 (WebKit::PageOverlay::bounds): 19581 (WebKit::PageOverlay::drawRect): 19582 (WebKit::PageOverlay::mouseEvent): 19583 * WebProcess/WebPage/PageOverlay.h: 19584 19585 2010-11-09 Anders Carlsson <andersca (a] apple.com> 19586 19587 Reviewed by John Sullivan. 19588 19589 Add a PageOverlay::Client object in preparation of not allowing subclassing of PageOverlay 19590 https://bugs.webkit.org/show_bug.cgi?id=49263 19591 19592 * WebProcess/WebPage/FindPageOverlay.cpp: 19593 (WebKit::FindPageOverlay::FindPageOverlay): 19594 Call the PageOverlay constructor. 19595 19596 (WebKit::FindPageOverlay::drawRect): 19597 (WebKit::FindPageOverlay::mouseEvent): 19598 These now take a PageOverlay callback. 19599 19600 * WebProcess/WebPage/FindPageOverlay.h: 19601 FindPageOverlay now inherits from PageOverlay::Client. 19602 19603 * WebProcess/WebPage/PageOverlay.cpp: 19604 (WebKit::PageOverlay::create): 19605 Add create function. 19606 19607 (WebKit::PageOverlay::PageOverlay): 19608 The constructor now takes a client. 19609 19610 (WebKit::PageOverlay::drawRect): 19611 (WebKit::PageOverlay::mouseEvent): 19612 Call the client methods. 19613 19614 * WebProcess/WebPage/PageOverlay.h: 19615 Add Client class. 19616 19617 2010-11-09 Dan Bernstein <mitz (a] apple.com> 19618 19619 Rubber-stamped by Darin Adler. 19620 19621 <rdar://problem/8646456> WebProcess crashes reproducibly on complex text 19622 19623 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 19624 (InitWebCoreSystemInterface): Initialize wkCreateCTTypesetterWithUniCharProviderAndOptions 19625 and wkCreateCTLineWithUniCharProvider. 19626 19627 2010-11-09 Sam Weinig <sam (a] webkit.org> 19628 19629 Fix Windows build. 19630 19631 * win/WebKit2.vcproj: 19632 19633 2010-11-09 Sam Weinig <sam (a] webkit.org> 19634 19635 Fix Qt build. 19636 19637 * WebKit2.pro: 19638 19639 2010-11-09 Sam Weinig <sam (a] webkit.org> 19640 19641 Reviewed by Anders Carlsson. 19642 19643 Windows Popup widget support (<select>) 19644 <rdar://problem/8559439> 19645 https://bugs.webkit.org/show_bug.cgi?id=48701 19646 19647 Port WebCore's PopupMenuWin's implementation to work within the confines of WebKit2. 19648 Since we currently can't draw text using WebCore in the UIProcess, this approach uses 19649 the WebProcess to create two bitmaps representing the full popup menu (both unselected and 19650 selected) and sends them to the UIProcess to be drawn in an HWND. 19651 19652 * Shared/BackingStore.h: 19653 * Shared/cg/BackingStoreCG.cpp: 19654 * Shared/qt/BackingStoreQt.cpp: 19655 19656 Add new function to create a flipped graphics context from the backing store, 19657 and add additional parameters to paint, to allow more control of how the backing 19658 store is painted into the destination context. 19659 19660 * Shared/PlatformPopupMenuData.cpp: Added. 19661 (WebKit::PlatformPopupMenuData::PlatformPopupMenuData): 19662 (WebKit::PlatformPopupMenuData::encode): 19663 (WebKit::PlatformPopupMenuData::decode): 19664 * Shared/PlatformPopupMenuData.h: Added. 19665 Add struct so platforms can send platform specific data to their popup menu implementations. 19666 19667 * Shared/WebPopupItem.cpp: 19668 (WebKit::WebPopupItem::WebPopupItem): 19669 (WebKit::WebPopupItem::encode): 19670 (WebKit::WebPopupItem::decode): 19671 * Shared/WebPopupItem.h: 19672 Add isLabel for each menu item. 19673 19674 * UIProcess/FindIndicator.cpp: 19675 (WebKit::FindIndicator::draw): 19676 Update for new BackingStore::paint signature. 19677 19678 * UIProcess/WebPageProxy.cpp: 19679 (WebKit::WebPageProxy::showPopupMenu): 19680 * UIProcess/WebPageProxy.h: 19681 * UIProcess/WebPageProxy.messages.in: 19682 * UIProcess/WebPopupMenuProxy.h: 19683 * UIProcess/mac/WebPopupMenuProxyMac.h: 19684 * UIProcess/mac/WebPopupMenuProxyMac.mm: 19685 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 19686 * UIProcess/qt/WebPopupMenuProxyQt.cpp: 19687 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 19688 * UIProcess/qt/WebPopupMenuProxyQt.h: 19689 Pass through the new PlatformPopupMenuData. 19690 19691 * UIProcess/win/WebPopupMenuProxyWin.cpp: 19692 * UIProcess/win/WebPopupMenuProxyWin.h: 19693 Port implementation from WebCore. 19694 19695 * UIProcess/win/WebView.cpp: 19696 (WebKit::WebView::createPopupMenuProxy): 19697 Pass the WebView to the WebPopupMenuProxyWin. 19698 19699 * WebProcess/Plugins/PluginProxy.cpp: 19700 (WebKit::PluginProxy::paint): 19701 (WebKit::PluginProxy::update): 19702 Update for new BackingStore::paint signature. 19703 19704 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 19705 (WebKit::WebPopupMenu::populateItems): Add isLabel for each item. 19706 (WebKit::WebPopupMenu::show): Give each platform a chance to add platform specific data. 19707 * WebProcess/WebCoreSupport/WebPopupMenu.h: 19708 19709 * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: Added. 19710 (WebKit::WebPopupMenu::setUpPlatformData): 19711 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Added. 19712 (WebKit::WebPopupMenu::setUpPlatformData): 19713 Add stubbed out setUpPlatformData. 19714 19715 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added. 19716 (WebKit::WebPopupMenu::setUpPlatformData): 19717 Compute data needed in the UIProcess including generating the bitmaps. 19718 19719 * WebKit2.pro: 19720 * WebKit2.xcodeproj/project.pbxproj: 19721 * win/WebKit2.vcproj: 19722 Add new files. 19723 19724 2010-11-09 Balazs Kelemen <kbalazs (a] webkit.org> 19725 19726 Reviewed by Csaba Osztrogonc. 19727 19728 [Qt][WK2] ASSERT fail in fast/frames/lots-of-objects.html 19729 https://bugs.webkit.org/show_bug.cgi?id=49253 19730 19731 * Platform/qt/SharedMemoryQt.cpp: 19732 (WebKit::SharedMemory::create): Do not assert 19733 when the attach was unsuccessful but return with 0. 19734 19735 2010-11-09 Balazs Kelemen <kbalazs (a] webkit.org> 19736 19737 Reviewed by Andreas Kling. 19738 19739 [Qt][WK2] WebKitTestRunner is dead 19740 https://bugs.webkit.org/show_bug.cgi?id=49129 19741 19742 * Platform/qt/SharedMemoryQt.cpp: 19743 (WebKit::SharedMemory::~SharedMemory): 19744 Follow up fix: do not access the QSharedMemory object 19745 in an assert if it has been deleted. 19746 19747 2010-11-08 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 19748 19749 Reviewed by Andreas Kling. 19750 19751 Send page scroll requests to the PageClient when scroll delegation is turned on 19752 https://bugs.webkit.org/show_bug.cgi?id=49171 19753 19754 Implement the IPC and API required for making scroll delegation work 19755 with WebKit2. This is only used when you have tiling enabled. 19756 19757 * UIProcess/API/qt/qwkpage.cpp: 19758 (QWKPagePrivate::pageDidRequestScroll): 19759 * UIProcess/API/qt/qwkpage.h: 19760 * UIProcess/API/qt/qwkpage_p.h: 19761 * UIProcess/PageClient.h: 19762 * UIProcess/WebPageProxy.cpp: 19763 (WebKit::WebPageProxy::pageDidRequestScroll): 19764 * UIProcess/WebPageProxy.h: 19765 * UIProcess/WebPageProxy.messages.in: 19766 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 19767 (WebKit::WebChromeClient::delegatedScrollRequested): 19768 * WebProcess/WebPage/WebPage.cpp: 19769 (WebKit::WebPage::pageDidRequestScroll): 19770 * WebProcess/WebPage/WebPage.h: 19771 19772 2010-11-08 Ivan Krsti <ike (a] apple.com> 19773 19774 Reviewed by Mark Rowe. 19775 19776 <rdar://problem/8531943> Enable partial symbolication for sandbox violations in WebProcess. 19777 19778 * WebProcess/com.apple.WebProcess.sb: 19779 19780 2010-11-08 Juha Savolainen <juha.savolainen (a] weego.fi> 19781 19782 Reviewed by Andreas Kling. 19783 19784 [Qt] Added new methods to QWKHistory and made QWKHistoryItemPrivate to shared object. 19785 https://bugs.webkit.org/show_bug.cgi?id=49063 19786 19787 Added more functionality to the QWKHistory and changed QWKHistoryItemPrivate to shared object. 19788 This is needed because we cannot delete the QWKHistoryItemPrivate pointer in destructor of QWKHistoryItem, 19789 there may have other history instances which share same private implementation. 19790 19791 * UIProcess/API/qt/qwkhistory.cpp: 19792 (QWKHistoryItemPrivate::~QWKHistoryItemPrivate): 19793 (QWKHistoryItem::QWKHistoryItem): 19794 (QWKHistoryItem::QWKHistoryItem::operator=): 19795 (QWKHistory::currentItem): Added 19796 (QWKHistory::backItem): Added 19797 (QWKHistory::forwardItem): Added 19798 (QWKHistory::itemAt): Added 19799 (QWKHistory::backItems): Added 19800 (QWKHistory::forwardItems): Added 19801 * UIProcess/API/qt/qwkhistory.h: 19802 * UIProcess/API/qt/qwkhistory_p.h: 19803 19804 2010-11-08 Anders Carlsson <andersca (a] apple.com> 19805 19806 Reviewed by Dan Bernstein. 19807 19808 Add WKDownloadClient API 19809 https://bugs.webkit.org/show_bug.cgi?id=49227 19810 19811 * Shared/API/c/WKBase.h: 19812 Add WKDownloadRef. 19813 19814 * UIProcess/API/C/WKAPICast.h: 19815 Add WKDownloadRef <-> DownloadProxy mapping. 19816 19817 * UIProcess/API/C/WKContext.cpp: 19818 (WKContextSetDownloadClient): 19819 Initialize the download client. 19820 19821 * UIProcess/API/C/WKContext.h: 19822 Add new WKContextDownloadClient API. 19823 19824 * UIProcess/API/C/WKDownload.cpp: Added. 19825 * UIProcess/API/C/WKDownload.h: 19826 Add WKDownload files. 19827 19828 * UIProcess/Downloads/DownloadProxy.cpp: 19829 (WebKit::DownloadProxy::didStart): 19830 (WebKit::DownloadProxy::didCreateDestination): 19831 (WebKit::DownloadProxy::didFinish): 19832 Call down to the the WebDownloadClient. 19833 19834 * UIProcess/Downloads/DownloadProxy.messages.in: 19835 Rename DidBegin to DidStart. 19836 19837 * UIProcess/WebContext.cpp: 19838 (WebKit::WebContext::initializeDownloadClient): 19839 Initialize the download client. 19840 19841 * UIProcess/WebContext.h: 19842 (WebKit::WebContext::downloadClient): 19843 Add getter. 19844 19845 * UIProcess/WebDownloadClient.cpp: 19846 (WebKit::WebDownloadClient::didStart): 19847 (WebKit::WebDownloadClient::didCreateDestination): 19848 (WebKit::WebDownloadClient::didFinish): 19849 Call the relevant WKContextDownloadClient functions. 19850 19851 * WebKit2.pro: 19852 * WebKit2.xcodeproj/project.pbxproj: 19853 Add new files. 19854 19855 * WebProcess/Downloads/Download.cpp: 19856 (WebKit::Download::didStart): 19857 * WebProcess/Downloads/Download.h: 19858 * WebProcess/Downloads/mac/DownloadMac.mm: 19859 (-[WKDownloadAsDelegate downloadDidBegin:]): 19860 Rename Download::didBegin to Download::didStart. 19861 19862 * win/WebKit2.vcproj: 19863 Add new files. 19864 19865 2010-11-08 Brady Eidson <beidson (a] apple.com> 19866 19867 Reviewed by Anders Carlsson. 19868 19869 Part of https://bugs.webkit.org/show_bug.cgi?id=49222 19870 Rename "WebContextMenuItem" to "WebContextMenuItemData" 19871 19872 * WebKit2.pro: 19873 * WebKit2.xcodeproj/project.pbxproj: 19874 * win/WebKit2.vcproj: 19875 19876 * Shared/WebContextMenuItem.cpp: Removed. 19877 * Shared/WebContextMenuItem.h: Removed. 19878 * Shared/WebContextMenuItemData.cpp: Copied from Shared/WebContextMenuItem.cpp. 19879 (WebKit::WebContextMenuItemData::WebContextMenuItemData): 19880 (WebKit::WebContextMenuItemData::encode): 19881 (WebKit::WebContextMenuItemData::decode): 19882 (WebKit::kitItems): 19883 * Shared/WebContextMenuItemData.h: Copied from Shared/WebContextMenuItem.h. 19884 (WebKit::WebContextMenuItemData::submenu): 19885 19886 * UIProcess/WebContextMenuProxy.h: 19887 19888 * UIProcess/WebPageProxy.cpp: 19889 (WebKit::WebPageProxy::showContextMenu): 19890 (WebKit::WebPageProxy::contextMenuItemSelected): 19891 * UIProcess/WebPageProxy.h: 19892 * UIProcess/WebPageProxy.messages.in: 19893 19894 * UIProcess/mac/WebContextMenuProxyMac.h: 19895 * UIProcess/mac/WebContextMenuProxyMac.mm: 19896 (-[WebMenuTarget forwardContextMenuAction:]): 19897 (WebKit::WebContextMenuProxyMac::contextMenuItemSelected): 19898 (WebKit::nsMenuItemVector): 19899 (WebKit::WebContextMenuProxyMac::populate): 19900 (WebKit::WebContextMenuProxyMac::showContextMenu): 19901 19902 * UIProcess/qt/WebContextMenuProxyQt.cpp: 19903 (WebKit::WebContextMenuProxyQt::showContextMenu): 19904 * UIProcess/qt/WebContextMenuProxyQt.h: 19905 19906 * UIProcess/win/WebContextMenuProxyWin.cpp: 19907 (WebKit::WebContextMenuProxyWin::showContextMenu): 19908 * UIProcess/win/WebContextMenuProxyWin.h: 19909 19910 * WebProcess/WebPage/WebContextMenu.cpp: 19911 (WebKit::WebContextMenu::itemSelected): 19912 * WebProcess/WebPage/WebContextMenu.h: 19913 19914 * WebProcess/WebPage/WebPage.cpp: 19915 (WebKit::WebPage::didSelectItemFromActiveContextMenu): 19916 * WebProcess/WebPage/WebPage.h: 19917 * WebProcess/WebPage/WebPage.messages.in: 19918 19919 2010-11-08 Anders Carlsson <andersca (a] apple.com> 19920 19921 Reviewed by John Sullivan and Dan Bernstein. 19922 19923 Find in Page: scrolling the page with the scrollbar while overlay is up dismisses the overlay 19924 https://bugs.webkit.org/show_bug.cgi?id=49219 19925 <rdar://problem/8569550> 19926 19927 * WebProcess/WebPage/FindPageOverlay.cpp: 19928 (WebKit::FindPageOverlay::bounds): 19929 Return the bounds of the find page overlay, excluding any scrollbars. 19930 19931 (WebKit::FindPageOverlay::drawRect): 19932 Call bounds. 19933 19934 (WebKit::FindPageOverlay::mouseEvent): 19935 Only dismiss the find UI if the mouse down event happens inside the overlay bounds. 19936 19937 2010-11-08 Anders Carlsson <andersca (a] apple.com> 19938 19939 Reviewed by Adam Roben. 19940 19941 Add the ability to send messages to DownloadProxy objects 19942 https://bugs.webkit.org/show_bug.cgi?id=49213 19943 19944 * DerivedSources.make: 19945 * DerivedSources.pro: 19946 Add Download.messages.in. 19947 19948 * Platform/CoreIPC/MessageID.h: 19949 Add MessageClassDownloadProxy message class. 19950 19951 * Platform/CoreIPC/MessageSender.h: 19952 Include Connection.h directly since it's required. 19953 19954 * UIProcess/Downloads/DownloadProxy.cpp: 19955 (WebKit::DownloadProxy::didBegin): 19956 (WebKit::DownloadProxy::didCreateDestination): 19957 (WebKit::DownloadProxy::didFinish): 19958 Add stubs. 19959 19960 * UIProcess/Downloads/DownloadProxy.messages.in: Added. 19961 19962 * UIProcess/WebContext.cpp: 19963 (WebKit::WebContext::didReceiveMessage): 19964 Handle DownloadProxy messages. 19965 19966 * UIProcess/WebProcessProxy.cpp: 19967 (WebKit::WebProcessProxy::didReceiveMessage): 19968 Hand DownloadProxy messages off to the context. 19969 19970 * WebKit2.pro: 19971 * WebKit2.xcodeproj/project.pbxproj: 19972 Add new files. 19973 19974 * WebProcess/Downloads/Download.cpp: 19975 (WebKit::Download::didBegin): 19976 (WebKit::Download::didReceiveData): 19977 (WebKit::Download::didCreateDestination): 19978 (WebKit::Download::didFinish): 19979 Send messages. 19980 19981 * WebProcess/Downloads/mac/DownloadMac.mm: 19982 (-[WKDownloadAsDelegate download:didCreateDestination:]): 19983 Call Download::didCreateDestination. 19984 19985 * win/WebKit2.vcproj: 19986 Add new files. 19987 19988 2010-11-08 Anders Carlsson <andersca (a] apple.com> 19989 19990 Reviewed by Adam Roben. 19991 19992 Add DownloadProxy object 19993 https://bugs.webkit.org/show_bug.cgi?id=49211 19994 19995 DownloadProxy will be the implementation of the forthcoming WKDownloadRef object. 19996 19997 * Shared/APIObject.h: 19998 Add TypeDownload. 19999 20000 * UIProcess/Downloads/DownloadProxy.cpp: 20001 (WebKit::generateDownloadID): 20002 Generate a unique download ID. 20003 20004 (WebKit::DownloadProxy::invalidate): 20005 Null out the web context. 20006 20007 * UIProcess/Downloads/DownloadProxy.h: 20008 (WebKit::WebContext::processDidClose): 20009 Invalidate all downloads. 20010 20011 (WebKit::WebContext::createDownloadProxy): 20012 Create a WebDownload object. 20013 20014 * UIProcess/WebPageProxy.cpp: 20015 (WebKit::WebPageProxy::receivedPolicyDecision): 20016 Call createDownloadProxy instead. 20017 20018 * WebKit2.pro: 20019 * WebKit2.xcodeproj/project.pbxproj: 20020 * win/WebKit2.vcproj: 20021 Add new files. 20022 20023 * win/WebKit2Common.vsprops: 20024 Add new include path. 20025 20026 2010-11-08 Alexey Proskuryakov <ap (a] apple.com> 20027 20028 Reviewed by Darin Adler. 20029 20030 https://bugs.webkit.org/show_bug.cgi?id=49201 20031 Crash when closing a page 20032 20033 Handle null frame by passing a 0 frame id (normal ones start from 1). 20034 20035 * UIProcess/WebPageProxy.cpp: 20036 (WebKit::WebPageProxy::focusedFrameChanged): 20037 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 20038 (WebKit::WebChromeClient::focusedFrameChanged): 20039 20040 2010-11-08 Nate Chapin <japhet (a] chromium.org> 20041 20042 Reviewed by Alexey Proskuryakov. 20043 20044 Function call update for 20045 https://bugs.webkit.org/show_bug.cgi?id=27165. 20046 20047 * WebProcess/Plugins/PluginView.cpp: 20048 (WebKit::PluginView::Stream::start): 20049 20050 2010-11-08 Anders Carlsson <andersca (a] apple.com> 20051 20052 Reviewed by Adam Roben. 20053 20054 NPClass::construct and NPClass::invokeDefault never called with out-of-process plug-ins in WebKit2 20055 https://bugs.webkit.org/show_bug.cgi?id=49198 20056 20057 * Shared/Plugins/NPObjectMessageReceiver.cpp: 20058 (WebKit::NPObjectMessageReceiver::invokeDefault): 20059 Call NPClass::invokeDefault. 20060 20061 (WebKit::NPObjectMessageReceiver::construct): 20062 Call NPClass::construct 20063 20064 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 20065 Add InvokeDefault and Construct messages. 20066 20067 * Shared/Plugins/NPObjectProxy.cpp: 20068 (WebKit::NPObjectProxy::invokeDefault): 20069 Send the InvokeDefault message. 20070 20071 (WebKit::NPObjectProxy::construct): 20072 Send the Construct message. 20073 20074 (WebKit::NPObjectProxy::NP_InvokeDefault): 20075 Call NPObjectProxy::invokeDefault. 20076 20077 (WebKit::NPObjectProxy::NP_Construct): 20078 Call NPObjectProxy::construct. 20079 20080 2010-11-08 Anders Carlsson <andersca (a] apple.com> 20081 20082 Reviewed by Dan Bernstein. 20083 20084 Plug-in views should not assume that plugins are RenderEmbeddedObjects 20085 https://bugs.webkit.org/show_bug.cgi?id=49196 20086 <rdar://problem/8638467> 20087 20088 * WebProcess/Plugins/PluginView.cpp: 20089 (WebKit::PluginView::pluginProcessCrashed): 20090 20091 2010-11-08 Anders Carlsson <andersca (a] apple.com> 20092 20093 Reviewed by Adam Roben. 20094 20095 NPN_Evaluate doesn't work with out-of-process plugins in WebKit2 20096 https://bugs.webkit.org/show_bug.cgi?id=49193 20097 20098 * PluginProcess/PluginControllerProxy.cpp: 20099 (WebKit::PluginControllerProxy::evaluate): 20100 Send an Evaluate message. 20101 20102 * WebProcess/Plugins/PluginProxy.cpp: 20103 (WebKit::PluginProxy::evaluate): 20104 Call Evaluate on the plug-in proxy. 20105 20106 * WebProcess/Plugins/PluginProxy.h: 20107 * WebProcess/Plugins/PluginProxy.messages.in: 20108 Add Evaluate message. 20109 20110 2010-11-08 Anders Carlsson <andersca (a] apple.com> 20111 20112 Reviewed by John Sullivan. 20113 20114 Correctly convert NPObjectProxy to NPVariantData 20115 https://bugs.webkit.org/show_bug.cgi?id=49190 20116 20117 * Shared/Plugins/NPObjectMessageReceiver.h: 20118 (WebKit::NPObjectMessageReceiver::npObject): 20119 Add NPObject getter. 20120 20121 * Shared/Plugins/NPObjectProxy.h: 20122 (WebKit::NPObjectProxy::npObjectID): 20123 Add NPObjectID getter. 20124 20125 * Shared/Plugins/NPRemoteObjectMap.cpp: 20126 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 20127 Handle the case where the NPObject is an NPObjectProxy. 20128 20129 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 20130 Handle NPVariantData::LocalNPObjectID. 20131 20132 * Shared/Plugins/NPVariantData.cpp: 20133 (WebKit::NPVariantData::makeRemoteNPObjectID): 20134 * Shared/Plugins/NPVariantData.h: 20135 New function for creating an NPVariantData that contains a remote NPObject ID. 20136 20137 2010-11-08 Alexey Proskuryakov <ap (a] apple.com> 20138 20139 Reviewed by Darin Adler. 20140 20141 https://bugs.webkit.org/show_bug.cgi?id=48685 20142 Notify UI process about focused frame 20143 20144 Handle notifications, store the current one in WebPageProxy in UI process. 20145 20146 * UIProcess/API/C/WKPage.cpp: 20147 (WKPageGetFocusedFrame): 20148 * UIProcess/API/C/WKPage.h: 20149 * UIProcess/WebPageProxy.cpp: 20150 (WebKit::WebPageProxy::focusedFrameChanged): 20151 * UIProcess/WebPageProxy.h: 20152 (WebKit::WebPageProxy::focusedFrame): 20153 * UIProcess/WebPageProxy.messages.in: 20154 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 20155 (WebKit::WebChromeClient::focusedFrameChanged): 20156 * WebProcess/WebCoreSupport/WebChromeClient.h: 20157 20158 2010-11-07 Adam Barth <abarth (a] webkit.org> 20159 20160 Reviewed by Eric Seidel. 20161 20162 Rename Cache to MemoryCache 20163 https://bugs.webkit.org/show_bug.cgi?id=49159 20164 20165 * WebProcess/WebProcess.cpp: 20166 * WebProcess/mac/WebProcessMac.mm: 20167 * WebProcess/win/WebProcessWin.cpp: 20168 20169 2010-11-06 Balazs Kelemen <kbalazs (a] webkit.org> 20170 20171 Reviewed by Andreas Kling. 20172 20173 [Qt][WK2] WebKitTestRunner is dead 20174 https://bugs.webkit.org/show_bug.cgi?id=49129 20175 20176 * Platform/qt/SharedMemoryQt.cpp: 20177 (WebKit::SharedMemory::~SharedMemory): 20178 Avoid double deletion when deleteLater has 20179 already been called. 20180 20181 2010-11-05 Chris Marrin <cmarrin (a] apple.com> 20182 20183 Reviewed by Simon Fraser. 20184 20185 suspendAnimations/resumeAnimations not present in WebKit2 20186 https://bugs.webkit.org/show_bug.cgi?id=49109 20187 20188 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 20189 (WKBundleFrameSuspendAnimations): 20190 (WKBundleFrameResumeAnimations): 20191 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 20192 * WebProcess/WebPage/WebFrame.cpp: 20193 (WebKit::WebFrame::suspendAnimations): 20194 (WebKit::WebFrame::resumeAnimations): 20195 * WebProcess/WebPage/WebFrame.h: 20196 20197 2010-11-05 Anders Carlsson <andersca (a] apple.com> 20198 20199 Reviewed by Darin Adler. 20200 20201 WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning 20202 https://bugs.webkit.org/show_bug.cgi?id=49090 20203 <rdar://problem/7834575> 20204 20205 * Platform/CoreIPC/Connection.cpp: 20206 (CoreIPC::Connection::connectionDidClose): 20207 Call Client::didCloseOnConnectionWorkQueue. 20208 20209 * Platform/CoreIPC/Connection.h: 20210 (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue): 20211 Add new client function. Will be called on the connection work queue when the connection is closed. 20212 20213 * Platform/WorkItem.h: 20214 (FunctionWorkItem0::FunctionWorkItem0): 20215 (FunctionWorkItem0::execute): 20216 (WorkItem::create): 20217 Add a new WorkItem subclass that will invoke a C function. 20218 20219 * Platform/WorkQueue.h: 20220 * Platform/mac/WorkQueueMac.cpp: 20221 (WorkQueue::scheduleWorkAfterDelay): 20222 New function which will schedule the given work item to be executed in at least 'delay' seconds. 20223 20224 * Platform/qt/WorkQueueQt.cpp: 20225 (WorkQueue::scheduleWorkAfterDelay): 20226 Add empty stub. 20227 20228 * Platform/win/WorkQueueWin.cpp: 20229 (WorkQueue::scheduleWorkAfterDelay): 20230 Ditto. 20231 20232 * PluginProcess/PluginProcess.h: 20233 Derive from ChildProcess. 20234 20235 * Shared/ChildProcess.cpp: Added. 20236 (WebKit::ChildProcess::ChildProcess): 20237 (WebKit::ChildProcess::~ChildProcess): 20238 (WebKit::watchdogCallback): 20239 Call _exit. 20240 20241 (WebKit::ChildProcess::didCloseOnConnectionWorkQueue): 20242 When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't 20243 exited normally by then, we'll exit. 20244 20245 * Shared/ChildProcess.h: 20246 Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains 20247 the watchdog timer logic. 20248 20249 * WebKit2.pro: 20250 * WebKit2.xcodeproj/project.pbxproj: 20251 Add new files. 20252 20253 * WebProcess/WebProcess.h: 20254 Derive from ChildProcess. 20255 20256 * win/WebKit2.vcproj: 20257 Add new files. 20258 20259 2010-11-05 Adam Roben <aroben (a] apple.com> 20260 20261 Implement PluginInfoStore::shouldUsePlugin on Windows 20262 20263 Fixes <http://webkit.org/b/43509> <rdar://problem/8273822> WebKit2 20264 should refuse to load the same plugins that old-WebKit refuses to load 20265 20266 Reviewed by Anders Carlsson. 20267 20268 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 20269 (WebKit::fileVersion): Helper function to construct a 64-bit file 20270 version from two 32-bit numbers. 20271 (WebKit::PluginInfoStore::getPluginInfo): Ported code from 20272 WebCore::PluginPackage::fetchInfo to get the plugin's version. We now 20273 store it in Plugin::fileVersion. 20274 20275 (WebKit::isOldWindowsMediaPlayerPlugin): 20276 (WebKit::isNewWindowsMediaPlayerPlugin): 20277 Added these helpers. The code came from 20278 WebCore::PluginDatabase::getPluginPathsInDirectories. 20279 20280 (WebKit::PluginInfoStore::shouldUsePlugin): Implemented. The code was 20281 ported from WebCore::PluginDatabase::getPluginPathsInDirectories and 20282 WebCore::PluginPackage::isPluginBlacklisted. 20283 20284 2010-11-05 Adam Roben <aroben (a] apple.com> 20285 20286 Operate on m_plugins directly in PluginInfoStore::shouldUsePlugin 20287 20288 We'll need to operate on m_plugins if we ever want to unload an 20289 already-loaded plugin before loading the new one. 20290 20291 Fixes <http://webkit.org/b/49076> loadedPlugins parameter to 20292 PluginInfoStore::shouldUsePlugin is redundant 20293 20294 Reviewed by Anders Carlsson. 20295 20296 * UIProcess/Plugins/PluginInfoStore.cpp: 20297 (WebKit::PluginInfoStore::loadPlugin): 20298 * UIProcess/Plugins/PluginInfoStore.h: 20299 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: 20300 (WebKit::PluginInfoStore::shouldUsePlugin): 20301 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 20302 (WebKit::PluginInfoStore::shouldUsePlugin): 20303 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 20304 (WebKit::PluginInfoStore::shouldUsePlugin): 20305 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 20306 (WebKit::PluginInfoStore::shouldUsePlugin): 20307 Removed the loadedPlugins parameter from shouldUsePlugin. The single 20308 implementation (Mac) now uses m_plugins directly. 20309 20310 2010-11-05 Anders Carlsson <andersca (a] apple.com> 20311 20312 Reviewed by Adam Roben. 20313 20314 Implement pluginElementNPObject 20315 https://bugs.webkit.org/show_bug.cgi?id=49077 20316 20317 * PluginProcess/PluginControllerProxy.cpp: 20318 (WebKit::PluginControllerProxy::pluginElementNPObject): 20319 Send the GetPluginElementNPObject message. 20320 20321 * WebProcess/Plugins/PluginProxy.cpp: 20322 (WebKit::PluginProxy::getPluginElementNPObject): 20323 Get the plug-in element NPObject and expose it to the other side of the connection. 20324 20325 * WebProcess/Plugins/PluginProxy.messages.in: 20326 Add GetPluginElementNPObject. 20327 20328 2010-11-04 Anders Carlsson <andersca (a] apple.com> 20329 20330 Reviewed by Oliver Hunt. 20331 20332 Implement NP_RemoveProperty and NP_Enumerate 20333 https://bugs.webkit.org/show_bug.cgi?id=49046 20334 20335 * Shared/Plugins/NPObjectMessageReceiver.cpp: 20336 (WebKit::NPObjectMessageReceiver::removeProperty): 20337 Call the removeProperty NPClass function. 20338 20339 (WebKit::NPObjectMessageReceiver::enumerate): 20340 Call the enumerate NPClass function. 20341 20342 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 20343 Add RemoveProperty and Enumerate messages. 20344 20345 * Shared/Plugins/NPObjectProxy.cpp: 20346 (WebKit::NPObjectProxy::removeProperty): 20347 Send the RemoveProperty message. 20348 20349 (WebKit::NPObjectProxy::enumerate): 20350 Send the Enumerate message. 20351 20352 (WebKit::NPObjectProxy::NP_RemoveProperty): 20353 Call removeProperty. 20354 20355 (WebKit::NPObjectProxy::NP_Enumerate): 20356 Call enumerate. 20357 20358 2010-11-05 Sam Weinig <sam (a] webkit.org> 20359 20360 Fix failing python tests. 20361 20362 * Scripts/webkit2/messages.py: 20363 * Scripts/webkit2/messages_unittest.py: 20364 20365 2010-11-05 Sam Weinig <sam (a] webkit.org> 20366 20367 Reviewed by Adam Roben.. 20368 20369 Generate the messages sent to the WebProcessProxy 20370 https://bugs.webkit.org/show_bug.cgi?id=49062 20371 20372 * Platform/CoreIPC/MessageID.h: 20373 Temporarily add MessageClassWebProcessProxyLegacy while we still can't 20374 support GetPluginProcessConnection (and deferred sync replies) in the 20375 general mechanism. 20376 20377 * Scripts/webkit2/messages.py: 20378 Add support for WebCore::PluginData and WebKit::WebNavigationDataStore. 20379 20380 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 20381 Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy. 20382 20383 * UIProcess/WebProcessProxy.cpp: 20384 (WebKit::WebProcessProxy::getPluginPath): 20385 (WebKit::WebProcessProxy::addBackForwardItem): 20386 (WebKit::WebProcessProxy::didNavigateWithNavigationData): 20387 (WebKit::WebProcessProxy::didPerformClientRedirect): 20388 (WebKit::WebProcessProxy::didPerformServerRedirect): 20389 (WebKit::WebProcessProxy::didUpdateHistoryTitle): 20390 (WebKit::WebProcessProxy::didReceiveMessage): 20391 (WebKit::WebProcessProxy::didReceiveSyncMessage): 20392 (WebKit::WebProcessProxy::didDestroyFrame): 20393 * UIProcess/WebProcessProxy.h: 20394 * UIProcess/WebProcessProxy.messages.in: Added. 20395 Move implementations to their own functions. 20396 20397 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 20398 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 20399 Change to use WebProcessProxyLegacyMessage. 20400 20401 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 20402 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 20403 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 20404 (WebKit::WebFrameLoaderClient::setTitle): 20405 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 20406 (WebKit::WebPlatformStrategies::populatePluginCache): 20407 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 20408 (WebKit::updateBackForwardItem): 20409 * WebProcess/WebPage/WebPage.cpp: 20410 (WebKit::WebPage::createPlugin): 20411 * WebProcess/WebProcess.cpp: 20412 (WebKit::WebProcess::addVisitedLink): 20413 (WebKit::WebProcess::removeWebFrame): 20414 Use generated messages. 20415 20416 * DerivedSources.make: 20417 * DerivedSources.pro: 20418 * WebKit2.pro: 20419 * WebKit2.xcodeproj/project.pbxproj: 20420 * win/WebKit2.vcproj: 20421 Add new files. 20422 20423 2010-11-04 Adam Roben <aroben (a] apple.com> 20424 20425 Use a window region to clip windowed plugins 20426 20427 Fixes <http://webkit.org/b/49024> <rdar://problem/8487847> Windowed 20428 plugins aren't clipped in WebKit2 on Windows 20429 20430 Reviewed by Jon Honeycutt. 20431 20432 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 20433 (WebKit::registerPluginView): Removed the CS_PARENTDC style. This style 20434 makes Windows ignore the window region and always clip to the parent 20435 window. Also pass WebKit.dll's HINSTANCE as part of the WNDCLASSW 20436 struct so that the window class will be specific to WebKit.dll rather 20437 than to WebKit2WebProcess.exe. This is useful for testing, but also 20438 more pedantically correct. 20439 (WebKit::setWindowRegion): Helper function to set a window region and 20440 deal with ownership of the HRGN correctly. 20441 (WebKit::NetscapePlugin::platformGeometryDidChange): Make an HRGN that 20442 corresponds to m_clipRect and set it on the plugin's window. 20443 20444 2010-11-05 Balazs Kelemen <kbalazs (a] webkit.org> 20445 20446 Reviewed by Andreas Kling. 20447 20448 [Qt][WK2] Left over files and shared memory segments 20449 https://bugs.webkit.org/show_bug.cgi?id=48985 20450 20451 * Platform/qt/SharedMemoryQt.cpp: 20452 (WebKit::SharedMemory::create): Force deletion of the QSharedMemory 20453 object on terminate by connecting QCoreApplication::aboutToQuit with 20454 deleteLater. Add the object to the CrashHandler as well to release the 20455 shared memory segment even on crash. 20456 (WebKit::SharedMemory::~SharedMemory): 20457 * Shared/qt/CrashHandler.cpp: Added. 20458 CrashHandler has a container for QObjects that we want to 20459 destroy on crash. When we got a signal that we interpret as 20460 a crash then it destroys those objects. 20461 (WebKit::CrashHandler::CrashHandler): 20462 (WebKit::CrashHandler::signalHandler): 20463 (WebKit::CrashHandler::deleteObjects): 20464 * Shared/qt/CrashHandler.h: Added. 20465 (WebKit::CrashHandler::instance): 20466 (WebKit::CrashHandler::didDelete): 20467 (WebKit::CrashHandler::markForDeletionOnCrash): 20468 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 20469 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): 20470 Add the object itself to the CrashHandler to close the QLocalServer 20471 even on crash. Without that the QLocalServer leaves over socket files on the disk. 20472 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): 20473 * WebKit2.pro: 20474 20475 2010-11-04 Jia Pu <jpu (a] apple.com> 20476 20477 Reviewed by Dan Bernstein. 20478 20479 reversion bubble in WebViews 20480 https://bugs.webkit.org/show_bug.cgi?id=47630 20481 <rdar://problem/8530960> 20482 20483 This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail. 20484 20485 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method. 20486 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Ditto. 20487 (WebKit::WebEditorClient::showCorrectionPanel): 20488 (WebKit::WebEditorClient::dismissCorrectionPanel): 20489 20490 2010-11-04 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 20491 20492 Reviewed by David Hyatt. 20493 20494 Delegate scrolling via a separate method 20495 https://bugs.webkit.org/show_bug.cgi?id=48988 20496 20497 Add delegatedScrollRequested method to WebChromeClient, 20498 which is only used in conjunging with tiling, and thus ifdef'ed. 20499 20500 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 20501 (WebKit::WebChromeClient::delegatedScrollRequested): 20502 * WebProcess/WebCoreSupport/WebChromeClient.h: 20503 20504 2010-11-03 Enrica Casucci <enrica (a] apple.com> 20505 20506 Reviewed by Alexey Proskuryakov. 20507 20508 Need a way to test in WebKit2 whether a form field contains marked text 20509 <rdar://problem/8555293> 20510 https://bugs.webkit.org/show_bug.cgi?id=48969 20511 20512 Added a selection changed notification from the Web process to the UI process. 20513 The message being sent contains information about the current selection. 20514 Event though for this specific bug the only information required is the marked text, 20515 I've added other selection information that will be needed to support IME. 20516 All the stubbed methods are required methods by the NSTextInput protocol. 20517 20518 * UIProcess/API/mac/PageClientImpl.h: 20519 * UIProcess/API/mac/PageClientImpl.mm: 20520 (WebKit::PageClientImpl::selectionChanged): Added. 20521 * UIProcess/API/mac/WKView.h: 20522 * UIProcess/API/mac/WKView.mm: 20523 (-[WKView initWithFrame:pageNamespaceRef:]): Added initialization of new members. 20524 (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:]): Stores the values from 20525 the selection changed message. 20526 (-[WKView selectedRange]): Added stub. 20527 (-[WKView hasMarkedText]): Implemented. 20528 (-[WKView unmarkText]): Added stub. 20529 (-[WKView validAttributesForMarkedText]): Added stub. 20530 (-[WKView setMarkedText:selectedRange:]): Added stub. 20531 (-[WKView markedRange]): Added stub. 20532 (-[WKView attributedSubstringFromRange:]): Added stub. 20533 (-[WKView conversationIdentifier]): Added stub. 20534 (-[WKView characterIndexForPoint:]): Added stub. 20535 (-[WKView firstRectForCharacterRange:]): Added stub. 20536 * UIProcess/API/mac/WKViewInternal.h: 20537 * UIProcess/API/qt/qwkpage.cpp: 20538 (QWKPagePrivate::selectionChanged): Added. 20539 * UIProcess/API/qt/qwkpage_p.h: 20540 * UIProcess/PageClient.h: 20541 * UIProcess/WebPageProxy.cpp: 20542 (WebKit::WebPageProxy::didSelectionChange): New message handler. 20543 * UIProcess/WebPageProxy.h: 20544 * UIProcess/WebPageProxy.messages.in: 20545 * UIProcess/win/WebView.cpp: 20546 (WebKit::WebView::selectionChanged): Added. 20547 * UIProcess/win/WebView.h: 20548 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 20549 (WebKit::WebEditorClient::respondToChangedSelection): Added implementation. 20550 20551 2010-11-04 Balazs Kelemen <kbalazs (a] webkit.org> 20552 20553 Reviewed by Andreas Kling. 20554 20555 [Qt][WK2] Cleanup UpdateChunk and MappedMemoryPool 20556 https://bugs.webkit.org/show_bug.cgi?id=48994 20557 20558 * Platform/qt/MappedMemoryPool.cpp: 20559 (WebKit::MappedMemoryPool::mapMemory): 20560 Removed argument with default value that was always 20561 used with the default value. 20562 (WebKit::MappedMemoryPool::mapFile): Ditto and 20563 add some asserts. 20564 * Platform/qt/MappedMemoryPool.h: 20565 Encapsulating MappedMemory and remove the unused 20566 MappedMemoryPool::searchForMappedMemory method. 20567 (WebKit::MappedMemory::mappedFile): 20568 (WebKit::MappedMemory::markFree): 20569 (WebKit::MappedMemory::data): 20570 (WebKit::MappedMemory::MappedMemory): 20571 (WebKit::MappedMemory::markUsed): 20572 (WebKit::MappedMemory::mapSize): 20573 (WebKit::MappedMemory::isFree): 20574 (WebKit::MappedMemoryPool::instance): 20575 * Shared/qt/UpdateChunk.cpp: 20576 Removed the unused data method besides other cleanups. 20577 (WebKit::UpdateChunk::UpdateChunk): 20578 (WebKit::UpdateChunk::encode): 20579 (WebKit::UpdateChunk::decode): 20580 (WebKit::UpdateChunk::createImage): 20581 * Shared/qt/UpdateChunk.h: 20582 20583 2010-11-04 Andreas Kling <kling (a] webkit.org> 20584 20585 Reviewed by Tor Arne Vestb. 20586 20587 [Qt] Add a stub WebContextMenuProxy 20588 20589 This is the Qt equivalent of r71333. 20590 20591 * UIProcess/API/qt/qwkpage.cpp: 20592 (QWKPagePrivate::createContextMenuProxy): 20593 * UIProcess/qt/WebContextMenuProxyQt.cpp: Added. 20594 (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): 20595 (WebKit::WebContextMenuProxyQt::create): 20596 (WebKit::WebContextMenuProxyQt::showContextMenu): 20597 (WebKit::WebContextMenuProxyQt::hideContextMenu): 20598 * UIProcess/qt/WebContextMenuProxyQt.h: Added. 20599 * WebKit2.pro: 20600 20601 2010-11-04 Adam Roben <aroben (a] apple.com> 20602 20603 Add a do-nothing WebContextMenuProxy implementation on Windows 20604 20605 Fixes <http://webkit.org/b/48992> REGRESSION (r71041): Crash in 20606 WebPageProxy::showContextMenu when right-clicking in WebKit2 on 20607 Windows 20608 20609 Reviewed by Dan Bernstein. 20610 20611 * UIProcess/win/WebContextMenuProxyWin.cpp: Added. 20612 (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): 20613 (WebKit::WebContextMenuProxyWin::create): 20614 (WebKit::WebContextMenuProxyWin::showContextMenu): 20615 (WebKit::WebContextMenuProxyWin::hideContextMenu): 20616 * UIProcess/win/WebContextMenuProxyWin.h: Added. 20617 Just stubbed-out this class. 20618 20619 * UIProcess/win/WebView.cpp: 20620 (WebKit::WebView::createContextMenuProxy): Create a new 20621 WebContextMenuProxyWin and return it. Returning 0 results in a crash. 20622 20623 * win/WebKit2.vcproj: Added WebContextMenuProxyWin. 20624 20625 2010-11-04 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 20626 20627 Reviewed by Andreas Kling.. 20628 20629 [Qt] Build Webkit2 both in debug and release on Mac 20630 20631 On Mac OS X we build QtWebKit in both debug and release, so 20632 we need to also build the webkit2 library in both configs. 20633 20634 * WebKit2.pro: 20635 20636 2010-11-04 Adam Roben <aroben (a] apple.com> 20637 20638 Remove lame puts()s from WebPageProxy 20639 20640 Rubber-stamped by Anders Carlsson. 20641 20642 * UIProcess/WebPageProxy.cpp: 20643 (WebKit::WebPageProxy::loadURL): 20644 (WebKit::WebPageProxy::loadURLRequest): 20645 20646 2010-11-03 Alice Liu <alice.liu (a] apple.com> 20647 20648 Fix clang++ build 20649 20650 * PluginProcess/PluginProcess.h: 20651 * UIProcess/Plugins/PluginProcessProxy.h: 20652 * UIProcess/WebContextMenuProxy.h: 20653 Change class to struct and vise versa where needed. 20654 20655 2010-11-03 Anders Carlsson <andersca (a] apple.com> 20656 20657 Reviewed by Adam Roben. 20658 20659 Implement NP_SetProperty 20660 https://bugs.webkit.org/show_bug.cgi?id=48956 20661 20662 * Shared/Plugins/NPObjectMessageReceiver.cpp: 20663 (WebKit::NPObjectMessageReceiver::setProperty): 20664 Call the NPClass setProperty function. 20665 20666 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 20667 Add SetProperty message. 20668 20669 * Shared/Plugins/NPObjectProxy.cpp: 20670 (WebKit::NPObjectProxy::setProperty): 20671 Send a SetProperty message. 20672 20673 (WebKit::NPObjectProxy::NP_SetProperty): 20674 Call NPObjectProxy::setProperty. 20675 20676 2010-11-03 Anders Carlsson <andersca (a] apple.com> 20677 20678 Reviewed by Simon Fraser. 20679 20680 Out of process plug-ins don't support the CA drawing model 20681 https://bugs.webkit.org/show_bug.cgi?id=48950 20682 <rdar://problem/8626019> 20683 20684 * Platform/CoreIPC/HandleMessage.h: 20685 (CoreIPC::callMemberFunction): 20686 Add new overload. 20687 20688 * PluginProcess/PluginControllerProxy.cpp: 20689 (WebKit::PluginControllerProxy::initialize): 20690 Call platformInitialize(). 20691 20692 (WebKit::PluginControllerProxy::destroy): 20693 Call platformDestroy(). 20694 20695 (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled): 20696 Assume that accelerated compositing is available if we have a render server port. 20697 20698 (WebKit::PluginControllerProxy::geometryDidChange): 20699 Call platformGeometryDidChange(). 20700 20701 * PluginProcess/PluginProcess.h: 20702 * PluginProcess/WebProcessConnection.cpp: 20703 (WebKit::WebProcessConnection::createPlugin): 20704 Pass back the remote layer client ID. 20705 20706 * PluginProcess/WebProcessConnection.messages.in: 20707 Add a remoteLayerClientID out parameter to CreatePlugin. 20708 20709 * PluginProcess/mac/PluginControllerProxyMac.mm: Added. 20710 (WebKit::PluginControllerProxy::platformInitialize): 20711 If the plug-in has a layer, create a remote layer client and associate it with the layer. 20712 20713 (WebKit::PluginControllerProxy::platformDestroy): 20714 Invalidate the remote layer client. 20715 20716 (WebKit::PluginControllerProxy::remoteLayerClientID): 20717 Return the remote layer client ID if one exists. 20718 20719 (WebKit::PluginControllerProxy::platformGeometryDidChange): 20720 Update the layer bounds. 20721 20722 * WebKit2.xcodeproj/project.pbxproj: 20723 Add new files. 20724 20725 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: Added. 20726 (WebKit::PluginProxy::pluginLayer): 20727 Create a render layer if needed. 20728 20729 (WebKit::PluginProxy::needsBackingStore): 20730 Return whether the plug-in needs a backing store. (It doesn't need a backing store if it's a CA plug-in). 20731 20732 * WebProcess/Plugins/PluginProxy.cpp: 20733 (WebKit::PluginProxy::PluginProxy): 20734 Initialize m_remoteLayerClientID. 20735 20736 (WebKit::PluginProxy::initialize): 20737 Set m_remoteLayerClientID. 20738 20739 (WebKit::PluginProxy::paint): 20740 Bail if the plug-in doesn't need a backing store. 20741 20742 (WebKit::PluginProxy::geometryDidChange): 20743 Don't create a backing store if the plug-in doesn't need one. 20744 20745 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 20746 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 20747 Remove RetainPtr initialization. 20748 20749 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 20750 (WebKit::LayerBackedDrawingArea::platformClear): 20751 Use nullptr instead of 0. 20752 20753 2010-11-03 Anders Carlsson <andersca (a] apple.com> 20754 20755 Reviewed by Simon Fraser. 20756 20757 Crash when layout in response to setSize changes the drawing area 20758 https://bugs.webkit.org/show_bug.cgi?id=48947 20759 20760 This is tested by compositing/plugins/small-to-large-composited-plugin.html. 20761 20762 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 20763 (WebKit::ChunkedUpdateDrawingArea::setSize): 20764 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 20765 (WebKit::LayerBackedDrawingArea::setSize): 20766 20767 2010-11-03 Anders Carlsson <andersca (a] apple.com> 20768 20769 Reviewed by Adam Roben. 20770 20771 Pass the accelerated compositing render server port to the plug-in process at startup 20772 https://bugs.webkit.org/show_bug.cgi?id=48925 20773 20774 * PluginProcess/PluginProcess.cpp: 20775 (WebKit::PluginProcess::PluginProcess): 20776 Initialize m_compositingRenderServerPort to MACH_PORT_NULL. 20777 20778 (WebKit::PluginProcess::initialize): 20779 Get the plug-in path and render server port from the creation parameters. 20780 20781 * PluginProcess/PluginProcess.messages.in: 20782 Change the Initialize message to take a PluginProcessCreationParameters struct. 20783 20784 * Shared/Plugins/PluginProcessCreationParameters.cpp: Added. 20785 * Shared/Plugins/PluginProcessCreationParameters.h: Added. 20786 Add new PluginProcessCreationParameters struct. 20787 20788 * UIProcess/Plugins/PluginProcessProxy.cpp: 20789 (WebKit::PluginProcessProxy::didFinishLaunching): 20790 Initialize now takes a PluginProcessCreationParameters struct. 20791 20792 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added. 20793 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 20794 Initialize the render server port. 20795 20796 * WebKit2.xcodeproj/project.pbxproj: 20797 Add new files. 20798 20799 2010-11-03 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 20800 20801 Reviewed by Kenneth Rohde Christiansen. 20802 20803 [Qt] Add the webkit2 library to LIBS instead of QMAKE_LFLAGS 20804 20805 Otherwise the library order will get messed up and cause 20806 missing symbols on Mac OS X. 20807 20808 * WebKit2.pri: 20809 * WebKit2.pro: 20810 20811 2010-11-02 Daniel Bates <dbates (a] rim.com> 20812 20813 Reviewed by Adam Barth. 20814 20815 For unnamed frames, window.name returns a generated name 20816 https://bugs.webkit.org/show_bug.cgi?id=6751 20817 20818 Part 1 of 2. 20819 20820 Substitute FrameTree::uniqueName() for FrameTree::name() in WebKit2. 20821 20822 * WebProcess/WebPage/WebFrame.cpp: 20823 (WebKit::WebFrame::name): 20824 20825 2010-11-02 Amruth Raj <amruthraj (a] motorola.com> and Ravi Kasibhatla <ravi.kasibhatla (a] motorola.com> 20826 20827 Reviewed by Martin Robinson. 20828 20829 Changes to enable building WebKit2 for Gtk port. 20830 (https://bugs.webkit.org/show_bug.cgi?id=37369) 20831 20832 * Platform/gtk: Added. 20833 * Platform/gtk/SharedMemoryGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20834 (WebKit::SharedMemory::Handle::Handle): 20835 (WebKit::SharedMemory::Handle::~Handle): 20836 (WebKit::SharedMemory::Handle::encode): 20837 (WebKit::SharedMemory::Handle::decode): 20838 (WebKit::SharedMemory::create): 20839 (WebKit::SharedMemory::~SharedMemory): 20840 (WebKit::SharedMemory::createHandle): 20841 (WebKit::SharedMemory::systemPageSize): 20842 * Shared/gtk: Added. 20843 * Shared/gtk/BackingStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20844 (WebKit::BackingStore::createGraphicsContext): 20845 (WebKit::BackingStore::paint): 20846 * Shared/gtk/PlatformCertificateInfo.h: Added. Added. Stubbed implementation for GTK port. Yet to implement. 20847 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 20848 (WebKit::PlatformCertificateInfo::encode): 20849 (WebKit::PlatformCertificateInfo::decode): 20850 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20851 (CoreIPC::encodeResourceRequest): 20852 (CoreIPC::decodeResourceRequest): 20853 * UIProcess/Plugins/gtk: Added. 20854 * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20855 (WebKit::PluginInfoStore::pluginsDirectories): 20856 (WebKit::PluginInfoStore::pluginPathsInDirectory): 20857 (WebKit::PluginInfoStore::individualPluginPaths): 20858 (WebKit::PluginInfoStore::getPluginInfo): 20859 (WebKit::PluginInfoStore::shouldUsePlugin): 20860 * WebProcess/InjectedBundle/InjectedBundle.h: 20861 * WebProcess/InjectedBundle/gtk: Added. 20862 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20863 (WebKit::InjectedBundle::load): 20864 (WebKit::InjectedBundle::activateMacFontAscentHack): 20865 * WebProcess/Plugins/Netscape/gtk: Added. 20866 * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement. 20867 (WebKit::NetscapePlugin::platformPostInitialize): 20868 (WebKit::NetscapePlugin::platformDestroy): 20869 (WebKit::NetscapePlugin::platformGeometryDidChange): 20870 (WebKit::NetscapePlugin::platformPaint): 20871 (WebKit::toNP): 20872 (WebKit::NetscapePlugin::platformHandleMouseEvent): 20873 (WebKit::NetscapePlugin::platformHandleWheelEvent): 20874 (WebKit::NetscapePlugin::platformSetFocus): 20875 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 20876 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 20877 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 20878 * WebProcess/WebCoreSupport/gtk: Added. 20879 * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: Added. Added. Stubbed implementation for GTK port. Yet to implement. 20880 (WebFrameNetworkingContext::create): 20881 (WebFrameNetworkingContext::WebFrameNetworkingContext): 20882 20883 2010-11-02 Jing Jin <jjin (a] apple.com> 20884 20885 Reviewed by Alexey Proskuryakov. 20886 20887 Key down calls are not being sent to the application. 20888 https://bugs.webkit.org/show_bug.cgi?id=48867 20889 20890 * UIProcess/API/mac/WKView.mm: 20891 (-[WKView keyDown:]): Call super when ignoring a key down. 20892 20893 2010-11-02 Anders Carlsson <andersca (a] apple.com> 20894 20895 Reviewed by John Sullivan. 20896 20897 Add Null and Int32 to NPVariantData 20898 https://bugs.webkit.org/show_bug.cgi?id=48887 20899 20900 * Shared/Plugins/NPRemoteObjectMap.cpp: 20901 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 20902 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 20903 * Shared/Plugins/NPVariantData.cpp: 20904 (WebKit::NPVariantData::NPVariantData): 20905 (WebKit::NPVariantData::makeNull): 20906 (WebKit::NPVariantData::makeInt32): 20907 (WebKit::NPVariantData::encode): 20908 (WebKit::NPVariantData::decode): 20909 * Shared/Plugins/NPVariantData.h: 20910 (WebKit::NPVariantData::int32Value): 20911 20912 2010-11-02 Anders Carlsson <andersca (a] apple.com> 20913 20914 Reviewed by Adam Roben. 20915 20916 Add support for NP_HasMethod and NP_Invoke 20917 https://bugs.webkit.org/show_bug.cgi?id=48882 20918 20919 * Platform/CoreIPC/HandleMessage.h: 20920 (CoreIPC::callMemberFunction): 20921 Add new overload. 20922 20923 * Shared/Plugins/NPObjectMessageReceiver.cpp: 20924 (WebKit::NPObjectMessageReceiver::hasMethod): 20925 Call hasMethod and return the result. 20926 20927 (WebKit::NPObjectMessageReceiver::invoke): 20928 Convert the arguments, call invoke and return the result. 20929 20930 (WebKit::NPObjectMessageReceiver::getProperty): 20931 Release the converted variant. 20932 20933 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 20934 Add HasMethod and Invoke messages. 20935 20936 * Shared/Plugins/NPObjectProxy.cpp: 20937 (WebKit::NPObjectProxy::hasMethod): 20938 Send the HasMethod message. 20939 20940 (WebKit::NPObjectProxy::invoke): 20941 Send the Invoke message. 20942 20943 (WebKit::NPObjectProxy::NP_HasMethod): 20944 Call hasMethod. 20945 20946 (WebKit::NPObjectProxy::NP_Invoke): 20947 Call invoke. 20948 20949 2010-11-02 Anders Carlsson <andersca (a] apple.com> 20950 20951 Reviewed by Sam Weinig. 20952 20953 Implement NP_HasProperty for NPObjectProxy 20954 https://bugs.webkit.org/show_bug.cgi?id=48876 20955 20956 * Shared/Plugins/NPObjectMessageReceiver.cpp: 20957 (WebKit::NPObjectMessageReceiver::hasProperty): 20958 Call The hasProperty callback function. 20959 20960 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 20961 Add HasProperty message. 20962 20963 * Shared/Plugins/NPObjectProxy.cpp: 20964 (WebKit::NPObjectProxy::hasProperty): 20965 Send the HasProperty message. 20966 20967 (WebKit::NPObjectProxy::NP_HasProperty): 20968 Call hasProperty. 20969 20970 20971 2010-11-02 Sam Weinig <sam (a] webkit.org> 20972 20973 Reviewed by Anders Carlsson. 20974 20975 Add a way to send startup messages on the context which can be posted when a process launches 20976 <rdar://problem/8617928> 20977 https://bugs.webkit.org/show_bug.cgi?id=48838 20978 20979 Adds WKContextSetInitializationUserDataForInjectedBundle which sets an 20980 APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize 20981 function each time a process starts up. This can help in cases where 20982 the WebProcess dies, and will be helpful in the world where there are 20983 multiple WebProcess's per context. 20984 20985 * Scripts/webkit2/messages.py: 20986 * UIProcess/API/C/WKContext.cpp: 20987 (WKContextSetInitializationUserDataForInjectedBundle): 20988 * UIProcess/API/C/WKContext.h: 20989 * UIProcess/WebContext.cpp: 20990 (WebKit::WebContext::ensureWebProcess): 20991 * UIProcess/WebContext.h: 20992 (WebKit::WebContext::setInjectedBundleInitializationUserData): 20993 (WebKit::WebContext::injectedBundleInitializationUserData): 20994 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: 20995 * WebProcess/InjectedBundle/InjectedBundle.h: 20996 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 20997 (WebKit::InjectedBundle::load): 20998 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 20999 (WebKit::InjectedBundle::load): 21000 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 21001 (WebKit::InjectedBundle::load): 21002 * WebProcess/WebProcess.cpp: 21003 (WebKit::WebProcess::initializeWebProcess): 21004 * WebProcess/WebProcess.h: 21005 * WebProcess/WebProcess.messages.in: 21006 21007 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21008 21009 Reviewed by Sam Weinig. 21010 21011 Implement PluginProxy::pluginScriptableNPObject 21012 https://bugs.webkit.org/show_bug.cgi?id=48874 21013 21014 * PluginProcess/PluginControllerProxy.cpp: 21015 (WebKit::PluginControllerProxy::getPluginScriptableNPObject): 21016 Ask the plug-in for its scriptable NPObject, register it with the map and return its object ID. 21017 21018 * PluginProcess/PluginControllerProxy.messages.in: 21019 Add GetPluginScriptableNPObject message. 21020 21021 * WebProcess/Plugins/PluginProxy.cpp: 21022 (WebKit::PluginProxy::pluginScriptableNPObject): 21023 Send the GetPluginScriptableNPObject message. 21024 21025 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21026 21027 Reviewed by Dan Bernstein. 21028 21029 Add strings to NPVariantData 21030 https://bugs.webkit.org/show_bug.cgi?id=48871 21031 21032 * Shared/Plugins/NPRemoteObjectMap.cpp: 21033 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 21034 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 21035 * Shared/Plugins/NPVariantData.cpp: 21036 (WebKit::NPVariantData::makeString): 21037 (WebKit::NPVariantData::encode): 21038 (WebKit::NPVariantData::decode): 21039 * Shared/Plugins/NPVariantData.h: 21040 (WebKit::NPVariantData::stringValue): 21041 21042 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21043 21044 Reviewed by Dan Bernstein. 21045 21046 Add convenience functions for allocating NPAPI memory 21047 https://bugs.webkit.org/show_bug.cgi?id=48870 21048 21049 Add npnMemAlloc, npnMemFree and createNPString functions and 21050 npnMemNew, npnMemNewArray function templates. 21051 21052 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 21053 (WebKit::JSNPObject::getOwnPropertyNames): 21054 Use npnMemFree. 21055 21056 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 21057 (WebKit::NPJSObject::enumerate): 21058 Use npnMemNewArray. 21059 21060 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 21061 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 21062 Use createNPString. 21063 21064 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: 21065 (WebKit::npnMemAlloc): 21066 Call malloc. 21067 21068 (WebKit::npnMemFree): 21069 Call free. 21070 21071 (WebKit::createNPString): 21072 Allocate the characters for a new NPString. 21073 21074 (WebKit::createNPObject): 21075 Call npnMemNew. 21076 21077 (WebKit::deallocateNPObject): 21078 Call npnMemFree. 21079 21080 (WebKit::releaseNPVariantValue): 21081 Call npnMemFree. 21082 21083 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: 21084 (WebKit::npnMemNew): 21085 (WebKit::npnMemNewArray): 21086 Add new functions. 21087 21088 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 21089 (WebKit::NPN_MemAlloc): 21090 Call npnMemAlloc. 21091 21092 (WebKit::NPN_MemFree): 21093 Call npnMemFree. 21094 21095 (WebKit::NPN_UTF8FromIdentifier): 21096 Call npnMemNewArray. 21097 21098 (WebKit::copyCString): 21099 Call npnMemNewArray. Correctly initialize the "len" out parameter. 21100 21101 2010-11-02 Jessie Berlin <jberlin (a] apple.com> 21102 21103 Windows build fix. Unreviewed. 21104 21105 * win/WebKit2Generated.make: 21106 Add WKInspector.h so that it is copied over to the WebKitBuild directory. 21107 21108 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21109 21110 Reviewed by Adam Roben. 21111 21112 Add some support for remote and local NPObjects to NPRemoteObjectMap 21113 https://bugs.webkit.org/show_bug.cgi?id=48864 21114 21115 * Shared/Plugins/NPRemoteObjectMap.cpp: 21116 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 21117 If the NPVariant contains an NPObject that isn't an NPObjectProxy, register it 21118 and return its ID. 21119 21120 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 21121 If the NPVariantData contains a remote object, create an NPObjectProxy and return it. 21122 21123 * Shared/Plugins/NPVariantData.cpp: 21124 (WebKit::NPVariantData::NPVariantData): 21125 Initialize m_localNPObjectIDValue and m_remoteNPObjectIDValue. 21126 21127 (WebKit::NPVariantData::makeLocalNPObjectID): 21128 Create an NPVariantData that contains a local NPObject ID. 21129 21130 (WebKit::NPVariantData::encode): 21131 Handle local and remote NPObject IDs. 21132 21133 (WebKit::NPVariantData::decode): 21134 Decode local and remote NPObject IDs and "swap them" so an encoded remote NPObject ID is 21135 decoded as a local NPObjectID (and vice versa). 21136 21137 * Shared/Plugins/NPVariantData.h: 21138 (WebKit::NPVariantData::localNPObjectIDValue): 21139 (WebKit::NPVariantData::remoteNPObjectIDValue): 21140 21141 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21142 21143 Attempt to fix a GCC release only warning. 21144 21145 * Shared/Plugins/NPVariantData.cpp: 21146 (WebKit::NPVariantData::NPVariantData): 21147 21148 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21149 21150 Reviewed by John Sullivan. 21151 21152 Invalidate the NPRemoteObjectMap 21153 https://bugs.webkit.org/show_bug.cgi?id=48856 21154 21155 * Shared/Plugins/NPObjectMessageReceiver.cpp: 21156 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 21157 Remove FIXME. The NPRemoteObjectMap always outlives the NPObjectMessageReceiver. 21158 21159 * Shared/Plugins/NPObjectProxy.cpp: 21160 (WebKit::NPObjectProxy::~NPObjectProxy): 21161 Call npObjectProxyDestroyed here. 21162 21163 (WebKit::NPObjectProxy::invalidate): 21164 Null out m_npRemoteObjectMap. 21165 21166 * Shared/Plugins/NPRemoteObjectMap.cpp: 21167 (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap): 21168 Add assertions. 21169 21170 (WebKit::NPRemoteObjectMap::createNPObjectProxy): 21171 Keep track of the NPObjectProxy by adding it to the m_npObjectProxies set. 21172 21173 (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed): 21174 Remove the NPObjectProxy from the m_npObjectProxies set. 21175 21176 (WebKit::NPRemoteObjectMap::invalidate): 21177 Delete all NPObjectMessageReceivers. Iterate over all NPObjectProxy objects and invalidate them. 21178 21179 2010-11-02 Mike Thole <mthole (a] apple.com> 21180 21181 Reviewed by Anders Carlsson. 21182 21183 WebProcessManager informed about crashes too late (pages may have already tried to load a new URL) 21184 https://bugs.webkit.org/show_bug.cgi?id=48853 21185 21186 This also fixes: <rdar://problem/8610451> Webkit2: Crash in WebKit!WebKit::WebProcessProxy::sendMessage opening google.com page 21187 21188 * UIProcess/WebProcessProxy.cpp: 21189 (WebKit::WebProcessProxy::~WebProcessProxy): 21190 Removed invalid assertion that is hit when the WebProcess dies unexpectedly. 21191 (WebKit::WebProcessProxy::didClose): 21192 Reordered so that the individual pages are informed that the processDidCrash() after the shared 21193 WebProcessManager has been. This allows the pages to properly trigger a new process to be launched. 21194 21195 2010-11-02 Enrica Casucci <enrica (a] apple.com> 21196 21197 Reviewed by Alexey Proskuryakov. 21198 21199 WebKit2: Repeated cmd-key presses lead to unusable UI state 21200 https://bugs.webkit.org/show_bug.cgi?id=48811 21201 <rdar://problem/8611924> 21202 21203 Given the asynchronous nature of every interaction with the WebProcess, 21204 we could re-send a keyDown event to AppKit that maps to an 21205 action that is currently disabled and therefore will not trigger an action 21206 but a call to the keyDown method of the NSView. We need to detect this 21207 situation to avoid an infinite loop. 21208 21209 * UIProcess/API/mac/WKView.mm: 21210 (-[WKView performKeyEquivalent:]): Delay the release of the last processed event 21211 to the moment we receive another event. 21212 (-[WKView keyDown:]): Added early return in case the event is one we have re-sent. 21213 21214 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21215 21216 Reviewed by John Sullivan. 21217 21218 Handle boolean values in NPVariant and NPVariantData 21219 https://bugs.webkit.org/show_bug.cgi?id=48852 21220 21221 * Shared/Plugins/NPRemoteObjectMap.cpp: 21222 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 21223 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 21224 * Shared/Plugins/NPVariantData.cpp: 21225 (WebKit::NPVariantData::makeBool): 21226 (WebKit::NPVariantData::encode): 21227 (WebKit::NPVariantData::decode): 21228 * Shared/Plugins/NPVariantData.h: 21229 (WebKit::NPVariantData::boolValue): 21230 21231 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21232 21233 Reviewed by John Sullivan. 21234 21235 Assertion hit in WebProcessProxy::~WebProcessProxy() 21236 https://bugs.webkit.org/show_bug.cgi?id=48849 21237 <rdar://problem/8617676> 21238 21239 It is perfectly valid for the page map to contain pages if the web process proxy 21240 goes away, this can happen if the process crashes for example. 21241 21242 * UIProcess/WebProcessProxy.cpp: 21243 (WebKit::WebProcessProxy::~WebProcessProxy): 21244 Remove the assertion. 21245 21246 2010-11-02 Christian Sejersen <christian.webkit (a] gmail.com> 21247 21248 Reviewed by Andreas Kling. 21249 21250 The previous patch only took into account arm targets. This one 21251 now checks whether the build is done inside Scratchbox. 21252 https://bugs.webkit.org/show_bug.cgi?id=47895 21253 21254 * DerivedSources.pro: 21255 21256 2010-11-02 Anders Carlsson <andersca (a] apple.com> 21257 21258 Reviewed by Adam Roben. 21259 21260 More NPRuntime work 21261 https://bugs.webkit.org/show_bug.cgi?id=48847 21262 21263 * PluginProcess/WebProcessConnection.cpp: 21264 (WebKit::WebProcessConnection::~WebProcessConnection): 21265 Add assertions. 21266 21267 (WebKit::WebProcessConnection::removePluginControllerProxy): 21268 If we have no more plug-in controller proxies, invalidate the remote object map. 21269 21270 * Shared/Plugins/NPIdentifierData.cpp: 21271 (WebKit::NPIdentifierData::createNPIdentifier): 21272 Create an NPIdentifier from the given NPIdentifierData. 21273 21274 * Shared/Plugins/NPObjectMessageReceiver.cpp: 21275 (WebKit::NPObjectMessageReceiver::create): 21276 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 21277 This now takes the NPRemoteObjectMap as well as the npObjectID of the object. 21278 21279 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 21280 Unregister the object. 21281 21282 (WebKit::NPObjectMessageReceiver::deallocate): 21283 Delete the object. 21284 21285 (WebKit::NPObjectMessageReceiver::getProperty): 21286 Ask the NPObject for the property and convert it back to an NPVariantData. 21287 21288 * Shared/Plugins/NPObjectProxy.cpp: 21289 (WebKit::NPObjectProxy::~NPObjectProxy): 21290 Send a Deallocate message to the corresponding message receiver on the other side. 21291 21292 (WebKit::NPObjectProxy::getProperty): 21293 Convert the NPVariantData back to an NPVariant and return it. 21294 21295 * Shared/Plugins/NPRemoteObjectMap.cpp: 21296 (WebKit::NPRemoteObjectMap::registerNPObject): 21297 Pass the NPRemoteObjectMap and the npObjectID to NPObjectMessageReceiver::create. 21298 21299 (WebKit::NPRemoteObjectMap::unregisterNPObject): 21300 Remove the given object from the map of registered objects. 21301 21302 (WebKit::NPRemoteObjectMap::npVariantToNPVariantData): 21303 Given an NPVariant, create an NPVariantData. Only supports void and double types right now. 21304 21305 (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant): 21306 Given an NPVariantData, create an NPVariant. Only supports void and double types right now. 21307 21308 (WebKit::NPRemoteObjectMap::invalidate): 21309 Add stub. 21310 21311 * Shared/Plugins/NPVariantData.cpp: 21312 (WebKit::NPVariantData::NPVariantData): 21313 Set the type to void by default. 21314 21315 (WebKit::NPVariantData::makeVoid): 21316 Return a void NPVariantData. 21317 21318 (WebKit::NPVariantData::makeDouble): 21319 Return an NPVariantData that contains a double value. 21320 21321 (WebKit::NPVariantData::encode): 21322 Encode the NPVariantData. 21323 21324 (WebKit::NPVariantData::decode): 21325 Decode the NPVariantData. 21326 21327 * Shared/Plugins/NPVariantData.h: 21328 (WebKit::NPVariantData::type): 21329 Return the type of the NPVariantData. 21330 21331 (WebKit::NPVariantData::doubleValue): 21332 Return the double value of the NPVariantData. 21333 21334 * UIProcess/WebProcessProxy.cpp: 21335 (WebKit::WebProcessProxy::didClose): 21336 Use nullptr instead of 0. 21337 21338 * WebProcess/Plugins/PluginProcessConnection.cpp: 21339 (WebKit::PluginProcessConnection::~PluginProcessConnection): 21340 Assert that the connection and the remote object map are both null. 21341 21342 (WebKit::PluginProcessConnection::removePluginProxy): 21343 If this was the last plug-in proxy, invalidate the remote object map. 21344 21345 * WebProcess/WebProcess.cpp: 21346 (WebKit::WebProcess::shutdown): 21347 Use nullptr instead of 0. 21348 21349 2010-11-02 Balazs Kelemen <kbalazs (a] webkit.org> 21350 21351 Unreviewed Qt buildfix. 21352 21353 * DerivedSources.pro: Add WebInspector to the list of 21354 message recievers. 21355 21356 2010-11-02 Balazs Kelemen <kbalazs (a] webkit.org> 21357 21358 Reviewed by Andreas Kling. 21359 21360 [Qt][WK2] SharedMemory is broken 21361 https://bugs.webkit.org/show_bug.cgi?id=48520 21362 21363 Implement SharedMemory with QSharedMemory to correctly handle 21364 ownership and to avoid extra allocation for page size requests. 21365 * Platform/SharedMemory.h: 21366 * Platform/qt/SharedMemoryQt.cpp: 21367 (WebKit::SharedMemory::Handle::Handle): 21368 (WebKit::SharedMemory::Handle::isNull): 21369 (WebKit::SharedMemory::Handle::encode): 21370 (WebKit::SharedMemory::Handle::decode): 21371 (WebKit::createUniqueKey): 21372 (WebKit::SharedMemory::create): 21373 (WebKit::accessMode): 21374 (WebKit::SharedMemory::~SharedMemory): 21375 (WebKit::SharedMemory::createHandle): 21376 21377 2010-11-02 Timothy Hatcher <timothy (a] apple.com> 21378 21379 Add WKInspector public APIs. 21380 21381 https://webkit.org/b/48718 21382 21383 Reviewed by Pavel Feldman. 21384 21385 * DerivedSources.make: Added WebInspector to MESSAGE_RECEIVERS section. 21386 * UIProcess/API/C/WKInspector.cpp: 21387 (WKInspectorIsVisible): Added. 21388 (WKInspectorShow): Added. 21389 (WKInspectorClose): Added. 21390 (WKInspectorShowConsole): Added. 21391 (WKInspectorIsAttached): Added. 21392 (WKInspectorAttach): Added. 21393 (WKInspectorDetach): Added. 21394 (WKInspectorIsDebuggingJavaScript): Added. 21395 (WKInspectorToggleJavaScriptDebugging): Added. 21396 (WKInspectorIsProfilingJavaScript): Added. 21397 (WKInspectorToggleJavaScriptProfiling): Added. 21398 (WKInspectorIsProfilingPage): Added. 21399 (WKInspectorTogglePageProfiling): Added. 21400 * UIProcess/API/C/WKInspector.h: Added new functions. 21401 * UIProcess/WebInspectorProxy.cpp: 21402 (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize new booleans. 21403 (WebKit::WebInspectorProxy::invalidate): Reset new booleans. 21404 (WebKit::WebInspectorProxy::show): Added. 21405 (WebKit::WebInspectorProxy::close): Added. 21406 (WebKit::WebInspectorProxy::showConsole): Added. 21407 (WebKit::WebInspectorProxy::attach): Added. 21408 (WebKit::WebInspectorProxy::detach): Added. 21409 (WebKit::WebInspectorProxy::toggleJavaScriptDebugging): Added. 21410 (WebKit::WebInspectorProxy::toggleJavaScriptProfiling): Added. 21411 (WebKit::WebInspectorProxy::togglePageProfiling): Added. 21412 * UIProcess/WebInspectorProxy.h: 21413 (WebKit::WebInspectorProxy::isVisible): Added. 21414 (WebKit::WebInspectorProxy::isAttached): Added. 21415 (WebKit::WebInspectorProxy::isDebuggingJavaScript): Added. 21416 (WebKit::WebInspectorProxy::isProfilingJavaScript): Added. 21417 (WebKit::WebInspectorProxy::isProfilingPage): Added. 21418 * UIProcess/WebPageProxy.cpp: 21419 (WebKit::WebPageProxy::close): Invalidate the WebInspectorProxy. 21420 (WebKit::WebPageProxy::inspector): Return 0 if closed or invalid. 21421 * WebKit2.pro: Added new files. 21422 * WebKit2.xcodeproj/project.pbxproj: Added new Files. 21423 * WebProcess/WebPage/WebInspector.cpp: 21424 (WebKit::WebInspector::show): Added. 21425 (WebKit::WebInspector::close): Added. 21426 (WebKit::WebInspector::showConsole): Added. 21427 (WebKit::WebInspector::startJavaScriptDebugging): Added. 21428 (WebKit::WebInspector::stopJavaScriptDebugging): Added. 21429 (WebKit::WebInspector::startJavaScriptProfiling): Added. 21430 (WebKit::WebInspector::stopJavaScriptProfiling): Added. 21431 (WebKit::WebInspector::startPageProfiling): Added. 21432 (WebKit::WebInspector::stopPageProfiling): Added. 21433 * WebProcess/WebPage/WebInspector.h: 21434 (WebKit::WebInspector::page): Added. 21435 * WebProcess/WebPage/WebInspector.messages.in: Added. 21436 * WebProcess/WebPage/WebPage.cpp: 21437 (WebKit::WebPage::close): Destroy the WebInspector. 21438 (WebKit::WebPage::inspector): Return 0 if closed. 21439 (WebKit::WebPage::didReceiveMessage): Send the message to the WebInspector 21440 if the message class is MessageClassWebInspector. 21441 * win/WebKit2.vcproj: Added new files. 21442 21443 2010-11-02 Timothy Hatcher <timothy (a] apple.com> 21444 21445 Make WebInspectorFrontendClient inherit from InspectorFrontendClientLocal. 21446 21447 We can do this since the Web Inspector WebPage will share the same process 21448 with the inspected WebPage. 21449 21450 https://webkit.org/b/48652 21451 21452 Reviewed by Pavel Feldman. 21453 21454 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 21455 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): 21456 Call the InspectorFrontendClientLocal constructor. 21457 (WebKit::WebInspectorFrontendClient::attachWindow): Added. 21458 (WebKit::WebInspectorFrontendClient::detachWindow): Added. 21459 (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Added. 21460 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 21461 21462 2010-11-01 Juha Savolainen <juha.savolainen (a] weego.fi> 21463 21464 Reviewed by Kenneth Rohde Christiansen. 21465 21466 Initial implementation of QWKHistoryItem. 21467 https://bugs.webkit.org/show_bug.cgi?id=48620 21468 21469 The QWkHistoryItem represents one item in the history of QWKPage. 21470 21471 * UIProcess/API/qt/qwkhistory.cpp: 21472 (QWKHistoryItemPrivate::QWKHistoryItemPrivate): 21473 (QWKHistoryItem::QWKHistoryItem): 21474 (QWKHistoryItem::~QWKHistoryItem): 21475 (QWKHistoryItem::title): The page title 21476 (QWKHistoryItem::url): The URL of the page. 21477 (QWKHistoryItem::originalUrl): The URL used to access the page. 21478 * UIProcess/API/qt/qwkhistory.h: 21479 * UIProcess/API/qt/qwkhistory_p.h: 21480 * WebKit2.pro: Added WKBackForwardListItem.h and WKBackForwardListItem.cpp 21481 21482 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21483 21484 Reviewed by Oliver Hunt. 21485 21486 Make NPRemoteObjectMap a ref counted object 21487 https://bugs.webkit.org/show_bug.cgi?id=48808 21488 21489 * PluginProcess/PluginControllerProxy.cpp: 21490 (WebKit::PluginControllerProxy::windowScriptNPObject): 21491 * PluginProcess/WebProcessConnection.cpp: 21492 (WebKit::WebProcessConnection::WebProcessConnection): 21493 (WebKit::WebProcessConnection::didReceiveSyncMessage): 21494 * PluginProcess/WebProcessConnection.h: 21495 (WebKit::WebProcessConnection::npRemoteObjectMap): 21496 * Shared/Plugins/NPRemoteObjectMap.cpp: 21497 (WebKit::NPRemoteObjectMap::create): 21498 (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap): 21499 (WebKit::NPRemoteObjectMap::createNPObjectProxy): 21500 * Shared/Plugins/NPRemoteObjectMap.h: 21501 * WebProcess/Plugins/PluginProcessConnection.cpp: 21502 (WebKit::PluginProcessConnection::PluginProcessConnection): 21503 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 21504 * WebProcess/Plugins/PluginProcessConnection.h: 21505 (WebKit::PluginProcessConnection::npRemoteObjectMap): 21506 * WebProcess/Plugins/PluginProxy.cpp: 21507 (WebKit::PluginProxy::getWindowScriptNPObject): 21508 21509 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21510 21511 Reviewed by John Sullivan. 21512 21513 Respond to NP_GetProperty by sending a GetProperty message 21514 https://bugs.webkit.org/show_bug.cgi?id=48797 21515 21516 * Platform/CoreIPC/HandleMessage.h: 21517 (CoreIPC::callMemberFunction): 21518 Add new sync message overload. 21519 21520 * PluginProcess/WebProcessConnection.cpp: 21521 (WebKit::WebProcessConnection::didReceiveSyncMessage): 21522 If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap. 21523 21524 * Shared/Plugins/NPIdentifierData.cpp: 21525 * Shared/Plugins/NPIdentifierData.h: 21526 Add NPIdentifierData, a CoreIPC representation of an NPIdentifier. 21527 21528 * Shared/Plugins/NPObjectMessageReceiver.cpp: 21529 (WebKit::NPObjectMessageReceiver::getProperty): 21530 Add stub. 21531 21532 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 21533 Add GetProperty. 21534 21535 * Shared/Plugins/NPObjectProxy.cpp: 21536 (WebKit::NPObjectProxy::create): 21537 (WebKit::NPObjectProxy::NPObjectProxy): 21538 (WebKit::NPObjectProxy::initialize): 21539 NPObjectProxy now takes an NPRemoteObjectMap in its create function. 21540 21541 (WebKit::NPObjectProxy::getProperty): 21542 Send a GetProperty message. 21543 21544 (WebKit::NPObjectProxy::NP_GetProperty): 21545 Call getProperty. 21546 21547 * Shared/Plugins/NPRemoteObjectMap.cpp: 21548 (WebKit::NPRemoteObjectMap::createNPObjectProxy): 21549 Pass the NPRemoteObjectMap. 21550 21551 (WebKit::NPRemoteObjectMap::didReceiveSyncMessage): 21552 Find the right message receiver and dispatch the message to it. 21553 21554 * Shared/Plugins/NPVariantData.cpp: 21555 * Shared/Plugins/NPVariantData.h: 21556 Add NPVariantData, which will be a CoreIPC representation of an NPVariant. 21557 21558 * WebKit2.xcodeproj/project.pbxproj: 21559 Add new files. 21560 21561 * WebProcess/Plugins/PluginProcessConnection.cpp: 21562 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 21563 If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap. 21564 21565 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21566 21567 Reviewed by Sam Weinig. 21568 21569 Add ArgumentCoder specialization for WTF::CString 21570 https://bugs.webkit.org/show_bug.cgi?id=48796 21571 21572 * Platform/CoreIPC/ArgumentCoders.h: 21573 21574 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21575 21576 Fix build. 21577 21578 * WebKit2.xcodeproj/project.pbxproj: 21579 21580 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21581 21582 Reviewed by Adam Roben. 21583 21584 Add NPObjectMessageReceiver.messages.in 21585 https://bugs.webkit.org/show_bug.cgi?id=48782 21586 21587 * DerivedSources.make: 21588 Add NPObjectMessageReceiver. 21589 21590 * Platform/CoreIPC/MessageID.h: 21591 Add MessageClassNPObjectMessageReceiver message class. 21592 21593 * Shared/Plugins/NPObjectMessageReceiver.cpp: 21594 (WebKit::NPObjectMessageReceiver::deallocate): 21595 Add stubbed out deallocate member function. 21596 21597 * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added. 21598 21599 * WebKit2.xcodeproj/project.pbxproj: 21600 Add NPObjectMessageReceiver.messages.in. 21601 21602 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21603 21604 Reviewed by Adam Roben. 21605 21606 Start stubbing out NPClass functions in NPObjectProxy 21607 https://bugs.webkit.org/show_bug.cgi?id=48778 21608 21609 * PluginProcess/PluginControllerProxy.cpp: 21610 (WebKit::PluginControllerProxy::windowScriptNPObject): 21611 getOrCreateNPObjectProxy is now createNPObjectProxy. 21612 21613 * Shared/Plugins/NPObjectProxy.cpp: 21614 (WebKit::NPObjectProxy::create): 21615 Allocate and initialize an NPObjectProxy object. 21616 21617 (WebKit::NPObjectProxy::NPObjectProxy): 21618 Initialize m_npObjectID to 0. 21619 21620 (WebKit::NPObjectProxy::isNPObjectProxy): 21621 Check the class. 21622 21623 (WebKit::NPObjectProxy::initialize): 21624 Set m_npObjectID. 21625 21626 (WebKit::NPObjectProxy::npClass): 21627 Return the NPClass with all functions filled in. 21628 21629 (WebKit::NPObjectProxy::NP_Allocate): 21630 Create a new NPObjectProxy object. 21631 21632 (WebKit::NPObjectProxy::NP_Deallocate): 21633 Deallocate the NPObjectProxy object. 21634 21635 (WebKit::NPObjectProxy::NP_HasMethod): 21636 (WebKit::NPObjectProxy::NP_Invoke): 21637 (WebKit::NPObjectProxy::NP_InvokeDefault): 21638 (WebKit::NPObjectProxy::NP_HasProperty): 21639 (WebKit::NPObjectProxy::NP_GetProperty): 21640 (WebKit::NPObjectProxy::NP_SetProperty): 21641 (WebKit::NPObjectProxy::NP_RemoveProperty): 21642 (WebKit::NPObjectProxy::NP_Enumerate): 21643 (WebKit::NPObjectProxy::NP_Construct): 21644 Add stubs. 21645 21646 * Shared/Plugins/NPRemoteObjectMap.cpp: 21647 (WebKit::NPRemoteObjectMap::createNPObjectProxy): 21648 * Shared/Plugins/NPRemoteObjectMap.h: 21649 Rename getOrCreateNPObjectProxy to createNPObjectProxy. 21650 21651 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 21652 (WebKit::NPJSObject::NP_Allocate): 21653 Remove unused parameter. 21654 21655 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21656 21657 Reviewed by Adam Roben. 21658 21659 Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps 21660 https://bugs.webkit.org/show_bug.cgi?id=48775 21661 21662 * PluginProcess/PluginControllerProxy.cpp: 21663 (WebKit::PluginControllerProxy::windowScriptNPObject): 21664 Ask for an NPObjectProxy for the window script NPObject. 21665 21666 * PluginProcess/WebProcessConnection.cpp: 21667 (WebKit::WebProcessConnection::WebProcessConnection): 21668 Initialize m_npRemoteObjectMap. 21669 21670 * Shared/Plugins/NPObjectMessageReceiver.cpp: 21671 (WebKit::NPObjectMessageReceiver::create): 21672 Add a create member function that takes an NPObject. 21673 21674 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 21675 Retain the NPObject. 21676 21677 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 21678 Release the NPObject. 21679 21680 * Shared/Plugins/NPRemoteObjectMap.cpp: 21681 (WebKit::generateNPObjectID): 21682 Generate a unique 64-bit NPObject ID. 21683 21684 (WebKit::NPRemoteObjectMap::getOrCreateNPObjectProxy): 21685 Add stub. 21686 21687 (WebKit::NPRemoteObjectMap::registerNPObject): 21688 Create a NPObjectMessageReceiver and add it to the map. 21689 21690 * WebKit2.xcodeproj/project.pbxproj: 21691 Set the correct target for NPRuntime related files. 21692 21693 * WebProcess/Plugins/PluginProcessConnection.cpp: 21694 (WebKit::PluginProcessConnection::PluginProcessConnection): 21695 Initialize m_npRemoteObjectMap 21696 21697 * WebProcess/Plugins/PluginProxy.cpp: 21698 (WebKit::PluginProxy::getWindowScriptNPObject): 21699 Ask the real plug-in controller for the window script NPObject and register it. 21700 21701 2010-11-01 John Sullivan <sullivan (a] apple.com> 21702 21703 Reviewed by Anders Carlsson. 21704 21705 https://bugs.webkit.org/show_bug.cgi?id=48774 21706 minimFontSize preference needs to be exposed in WebKit2 21707 21708 * UIProcess/WebPreferences.cpp: 21709 (WebKit::WebPreferences::setMinimumFontSize): 21710 New function, parallel to existing functions for other preferences. 21711 (WebKit::WebPreferences::minimumFontSize): 21712 Ditto. 21713 21714 * UIProcess/WebPreferences.h: 21715 Declared new function. 21716 21717 * UIProcess/API/C/WKPreferences.cpp: 21718 (WKPreferencesSetMinimumFontSize): 21719 New UI process wrapper for new function. 21720 (WKPreferencesGetMinimumFontSize): 21721 Ditto. 21722 21723 * UIProcess/API/C/WKPreferences.h: 21724 Declared new functions. 21725 21726 2010-11-01 Anders Carlsson <andersca (a] apple.com> 21727 21728 Reviewed by John Sullivan. 21729 21730 Tear down the related WebProcessProxy when a WebContext is deallocated 21731 https://bugs.webkit.org/show_bug.cgi?id=48769 21732 21733 * UIProcess/WebContext.cpp: 21734 (WebKit::WebContext::~WebContext): 21735 Call WebProcessManager::contextWasDestroyed. 21736 21737 (WebKit::WebContext::didNavigateWithNavigationData): 21738 (WebKit::WebContext::didPerformClientRedirect): 21739 (WebKit::WebContext::didPerformServerRedirect): 21740 (WebKit::WebContext::didUpdateHistoryTitle): 21741 It is valid for a frame to have a null page here, if the frame has outlived 21742 its page. 21743 21744 * UIProcess/WebProcessManager.cpp: 21745 (WebKit::WebProcessManager::contextWasDestroyed): 21746 Remove the context from the map. 21747 21748 * UIProcess/WebProcessProxy.cpp: 21749 (WebKit::WebProcessProxy::~WebProcessProxy): 21750 It's OK for the connection to be non-null here if the process goes away because 21751 the context has been deallocated. 21752 21753 2010-11-01 Brady Eidson <beidson (a] apple.com> 21754 21755 Windows build fix. 21756 21757 * UIProcess/win/WebView.cpp: 21758 21759 2010-11-01 Brady Eidson <beidson (a] apple.com> 21760 21761 Reviewed by Anders Carlsson. 21762 21763 <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699 21764 Context menu support for WebKit 2. 21765 21766 * WebKit2.pro: 21767 * WebKit2.xcodeproj/project.pbxproj: 21768 * win/WebKit2.vcproj: 21769 21770 * Shared/WebContextMenuItem.cpp: Added. 21771 (WebKit::WebContextMenuItem::WebContextMenuItem): 21772 (WebKit::WebContextMenuItem::encode): 21773 (WebKit::WebContextMenuItem::decode): 21774 (WebKit::kitItems): 21775 * Shared/WebContextMenuItem.h: Added. 21776 21777 * UIProcess/API/mac/PageClientImpl.h: 21778 * UIProcess/API/mac/PageClientImpl.mm: 21779 (WebKit::PageClientImpl::createContextMenuProxy): 21780 * UIProcess/API/qt/qwkpage.cpp: 21781 (QWKPagePrivate::createContextMenuProxy): Stub to keep the build working. 21782 * UIProcess/API/qt/qwkpage_p.h: 21783 * UIProcess/PageClient.h: 21784 21785 * UIProcess/WebContextMenuProxy.cpp: Added. 21786 (WebKit::WebContextMenuProxy::~WebContextMenuProxy): 21787 (WebKit::WebContextMenuProxy::WebContextMenuProxy): 21788 * UIProcess/WebContextMenuProxy.h: Added. 21789 21790 * UIProcess/WebPageProxy.cpp: 21791 (WebKit::WebPageProxy::showContextMenu): Shows the menu after receiving the message from the WebProcess. 21792 (WebKit::WebPageProxy::contextMenuItemSelected): Sends info about the selected menu item to the WebProcess 21793 * UIProcess/WebPageProxy.h: 21794 * UIProcess/WebPageProxy.messages.in: 21795 21796 * UIProcess/mac/WebContextMenuProxyMac.h: Added. 21797 (WebKit::WebContextMenuProxyMac::create): 21798 * UIProcess/mac/WebContextMenuProxyMac.mm: Added. 21799 (+[WebMenuTarget sharedMenuTarget]): 21800 (-[WebMenuTarget WebKit::]): 21801 (-[WebMenuTarget setMenuProxy:WebKit::]): 21802 (-[WebMenuTarget forwardContextMenuAction:]): 21803 (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac): 21804 (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac): 21805 (WebKit::WebContextMenuProxyMac::contextMenuItemSelected): 21806 (WebKit::populateNSMenu): 21807 (WebKit::nsMenuItemVector): 21808 (WebKit::WebContextMenuProxyMac::populate): 21809 (WebKit::WebContextMenuProxyMac::showContextMenu): 21810 (WebKit::WebContextMenuProxyMac::hideContextMenu): 21811 21812 * UIProcess/win/WebView.cpp: 21813 (WebKit::WebView::createContextMenuProxy): Stub for now. 21814 * UIProcess/win/WebView.h: 21815 21816 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 21817 (WebKit::WebChromeClient::showContextMenu): 21818 * WebProcess/WebCoreSupport/WebChromeClient.h: 21819 21820 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 21821 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Return the WebCore-provided default 21822 menu for now. Embedding app customization will come later (see bug 48720) 21823 21824 * WebProcess/WebPage/WebContextMenu.cpp: Added. 21825 (WebKit::WebContextMenu::WebContextMenu): 21826 (WebKit::WebContextMenu::~WebContextMenu): 21827 (WebKit::WebContextMenu::show): 21828 (WebKit::WebContextMenu::itemSelected): 21829 * WebProcess/WebPage/WebContextMenu.h: Added. 21830 (WebKit::WebContextMenu::create): 21831 21832 * WebProcess/WebPage/WebPage.cpp: 21833 (WebKit::WebPage::contextMenu): 21834 (WebKit::handleMouseEvent): Pass right mouse presses along to WebCore as both a mouse event and context menu event, 21835 the same way WebKit1 does. 21836 (WebKit::WebPage::didSelectItemFromActiveContextMenu): 21837 * WebProcess/WebPage/WebPage.h: 21838 * WebProcess/WebPage/WebPage.messages.in: 21839 21840 2010-11-01 Adam Roben <aroben (a] apple.com> 21841 21842 Cancel main resource loads after we hand them off to the media engine 21843 21844 This is the WebKit2 equivalent of r51104. Clearly this code should be 21845 moved to a cross-platform location someday. 21846 21847 Fixes <http://webkit.org/b/48561> <rdar://problem/8606679> Assertion 21848 failure in DocumentLoader::commitData when loading a media document in 21849 WebKit2 21850 21851 Reviewed by Eric Carlson. 21852 21853 * WebProcess/WebCoreSupport/WebErrors.h: Added pluginWillHandleLoadError. 21854 21855 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 21856 (WebFrameLoaderClient::committedLoad): Cancel the main resource load 21857 after handing off the load to the media engine. This code originally 21858 came from -[WebHTMLRepresentation receivedData:withDataSource:]. 21859 (WebKit::WebFrameLoaderClient::pluginWillHandleLoadError): Call through to WebErrors. 21860 (WebKit::WebFrameLoaderClient::shouldFallBack): Implemented. We fall 21861 back for all errors except when the load was cancelled or we handed it 21862 off to the media engine or a plugin. 21863 21864 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 21865 (WebKit::pluginWillHandleLoadError): Implemented. 21866 21867 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: 21868 (WebKit::pluginWillHandleLoadError): Stubbed out. 21869 21870 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 21871 (WebKit::pluginWillHandleLoadError): Implemented. 21872 21873 2010-11-01 Andreas Kling <kling (a] webkit.org> 21874 21875 Reviewed by Kenneth Rohde Christiansen. 21876 21877 [Qt][WK2] Cleanup viewportAttributesForSize API 21878 21879 Change QSize argument to a const QSize&. 21880 21881 * UIProcess/API/qt/qwkpage.cpp: 21882 (QWKPage::viewportAttributesForSize): 21883 * UIProcess/API/qt/qwkpage.h: 21884 21885 2010-10-31 Darin Adler <darin (a] apple.com> 21886 21887 Reviewed by Dan Bernstein. 21888 21889 Visited links not populated correctly in new web processes after the first 21890 https://bugs.webkit.org/show_bug.cgi?id=48735 21891 rdar://problem/8442177 21892 21893 * UIProcess/VisitedLinkProvider.cpp: 21894 (WebKit::VisitedLinkProvider::VisitedLinkProvider): Initialize 21895 m_webProcessHasVisitedLinkState. 21896 (WebKit::VisitedLinkProvider::processDidFinishLaunching): Renamed 21897 from populateVisitedLinksIfNeeded. Set m_webProcessHasVisitedLinkState 21898 to false, since this is a new process, and also start the timer 21899 so the visited links messages will be sent. 21900 (WebKit::VisitedLinkProvider::processDidClose): Renamed from 21901 stopVisitedLinksTimer. 21902 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): 21903 Added logic so we send SetVisitedLinkTable and 21904 AllVisitedLinkStateChanged once to each new process and to set 21905 m_webProcessHasVisitedLinkState to true once that is done. 21906 21907 * UIProcess/VisitedLinkProvider.h: Updated for above changes. 21908 21909 * UIProcess/WebContext.cpp: 21910 (WebKit::WebContext::processDidFinishLaunching): Called 21911 VisitedLinkProvider function under its new name. Also used 21912 ASSERT_UNUSED rather than ASSERT since the argument is used 21913 only for the assertion. 21914 (WebKit::WebContext::processDidClose): Ditto. 21915 21916 2010-10-30 Andreas Kling <kling (a] webkit.org> 21917 21918 Reviewed by Kenneth Rohde Christiansen. 21919 21920 [Qt][WK2] Crash in drawUpdateChunkIntoBackingStore 21921 https://bugs.webkit.org/show_bug.cgi?id=48707 21922 21923 UpdateChunk images have to be created using the QImage constructor 21924 that takes a bytesPerLine (stride) value, or the data length won't 21925 match UpdateChunk::size(). 21926 21927 * Shared/qt/UpdateChunk.cpp: 21928 (WebKit::UpdateChunk::createImage): 21929 21930 2010-10-29 Daniel Bates <dbates (a] rim.com> 21931 21932 No review, rolling out 70971. 21933 http://trac.webkit.org/changeset/70971 21934 https://bugs.webkit.org/show_bug.cgi?id=6751 21935 21936 Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since 21937 it caused layout test failures on all bots. In particular, the 21938 child count in a generated frame name differs after this patch. We need 21939 to look into this further. 21940 21941 * WebProcess/WebPage/WebFrame.cpp: 21942 (WebKit::WebFrame::name): 21943 21944 2010-10-29 Daniel Bates <dbates (a] rim.com> 21945 21946 Reviewed by Adam Barth. 21947 21948 For unnamed frames, window.name returns a generated name 21949 https://bugs.webkit.org/show_bug.cgi?id=6751 21950 21951 Modified WebKit2 to use FrameTree::uniqueName(). 21952 21953 * WebProcess/WebPage/WebFrame.cpp: 21954 (WebKit::WebFrame::name): 21955 21956 2010-10-29 Sam Weinig <weinig (a] apple.com> 21957 21958 Reviewed by Simon Fraser. 21959 21960 Implement WebProcess::platformSetCacheModel for windows 21961 <rdar://problem/8605796> 21962 https://bugs.webkit.org/show_bug.cgi?id=48703 21963 21964 * WebProcess/win/WebProcessWin.cpp: 21965 (WebKit::memorySize): 21966 (WebKit::volumeFreeSize): 21967 (WebKit::WebProcess::platformSetCacheModel): 21968 Add implemenation based on the version in WebKit/win/WebView.cpp. 21969 21970 2010-10-29 Andreas Kling <kling (a] webkit.org> 21971 21972 Reviewed by Anders Carlsson. 21973 21974 WK2: Unbreak compilation of WebPlatformTouchPoint::decode() 21975 21976 * Shared/WebPlatformTouchPoint.cpp: 21977 (WebKit::WebPlatformTouchPoint::decode): 21978 21979 2010-10-29 Darin Adler <darin (a] apple.com> 21980 21981 Reviewed by Sam Weinig. 21982 21983 More back/forward refactoring 21984 21985 * WebKit2.pro: Removed WebBackForwardControllerClient.cpp and .h. 21986 * WebKit2.xcodeproj/project.pbxproj: Ditto. 21987 21988 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Removed. 21989 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Removed. 21990 21991 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: 21992 (WebKit::InjectedBundleBackForwardList::itemAtIndex): Use backForward. 21993 (WebKit::InjectedBundleBackForwardList::backListCount): Ditto. 21994 (WebKit::InjectedBundleBackForwardList::forwardListCount): Ditto. 21995 (WebKit::InjectedBundleBackForwardList::clear): Ditto. 21996 21997 * WebProcess/WebPage/WebBackForwardListProxy.h: Added newly-needed include. 21998 21999 * WebProcess/WebPage/WebPage.cpp: 22000 (WebKit::WebPage::WebPage): Set up backForwardClient. 22001 22002 2010-10-29 Adam Roben <aroben (a] apple.com> 22003 22004 Stop using encode/decodeBytes for WebEvent subclasses 22005 22006 The use of encode/decodeBytes was making these classes sensitive to 22007 differences in padding on different architectures (e.g., 32-bit vs. 22008 64-bit). By encoding each data member explicitly we remove this 22009 sensitivity, allowing these classes to be passed between processes 22010 with different padding. 22011 22012 Fixes <http://webkit.org/b/48552> <rdar://problem/8606571> Mouse 22013 events never reach Flash in WebKit2 on Mac (asserts in Debug builds) 22014 22015 Reviewed by Anders Carlsson. 22016 22017 * Platform/CoreIPC/Arguments.h: 22018 (CoreIPC::Arguments8::Arguments8): 22019 (CoreIPC::Arguments8::encode): 22020 (CoreIPC::Arguments8::decode): 22021 (CoreIPC::In): 22022 (CoreIPC::Out): 22023 Added Arguments8, the biggest Arguments yet. 22024 22025 * Shared/WebEvent.cpp: 22026 (WebKit::WebEvent::encode): 22027 (WebKit::WebEvent::decode): 22028 * Shared/WebKeyboardEvent.cpp: 22029 (WebKit::WebKeyboardEvent::encode): 22030 (WebKit::WebKeyboardEvent::decode): 22031 * Shared/WebMouseEvent.cpp: 22032 (WebKit::WebMouseEvent::encode): 22033 (WebKit::WebMouseEvent::decode): 22034 * Shared/WebPlatformTouchPoint.cpp: 22035 (WebKit::WebPlatformTouchPoint::encode): 22036 (WebKit::WebPlatformTouchPoint::decode): 22037 * Shared/WebTouchEvent.cpp: 22038 (WebKit::WebTouchEvent::encode): 22039 (WebKit::WebTouchEvent::decode): 22040 * Shared/WebWheelEvent.cpp: 22041 (WebKit::WebWheelEvent::encode): 22042 (WebKit::WebWheelEvent::decode): 22043 Changed all encode/decode function to use CoreIPC::In/Out to 22044 encode/decode data members individually. 22045 22046 2010-10-29 Adam Roben <aroben (a] apple.com> 22047 22048 Use only CoreIPC-sanctioned types in WebEvent subclasses 22049 22050 Fixes <http://webkit.org//48694> WebEvent subclasses should not use 22051 architecture-dependent types 22052 22053 Reviewed by Anders Carlsson. 22054 22055 * Shared/WebEvent.h: 22056 (WebKit::WebEvent::type): 22057 (WebKit::WebMouseEvent::button): 22058 (WebKit::WebMouseEvent::clickCount): 22059 (WebKit::WebWheelEvent::granularity): 22060 (WebKit::WebPlatformTouchPoint::id): 22061 (WebKit::WebPlatformTouchPoint::state): 22062 Replaced enums, ints, and unsigneds with uint32_ts, int32_ts, and 22063 uint32_ts, respectively. 22064 22065 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22066 22067 Reviewed by Adam Roben. 22068 22069 Generate a DelayedReply struct for sync messages marked delayed 22070 https://bugs.webkit.org/show_bug.cgi?id=48696 22071 22072 * Scripts/webkit2/messages.py: 22073 If we encounter a sync message marked delayed, generate a DelayedReply struct with a send member funciton 22074 that can be used for sending the reply. 22075 22076 * Scripts/webkit2/messages_unittest.py: 22077 Update expected results. 22078 22079 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22080 22081 Reviewed by Adam Roben. 22082 22083 Use WebPage::send in a couple of more places. 22084 22085 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22086 (WebKit::WebChromeClient::setWindowRect): 22087 (WebKit::WebChromeClient::takeFocus): 22088 (WebKit::WebChromeClient::setToolbarsVisible): 22089 (WebKit::WebChromeClient::setStatusbarVisible): 22090 (WebKit::WebChromeClient::setMenubarVisible): 22091 (WebKit::WebChromeClient::setResizable): 22092 (WebKit::WebChromeClient::setStatusbarText): 22093 (WebKit::WebChromeClient::contentsSizeChanged): 22094 (WebKit::WebChromeClient::mouseDidMoveOverElement): 22095 (WebKit::WebChromeClient::setToolTip): 22096 (WebKit::WebChromeClient::setCursor): 22097 (WebKit::WebChromeClient::dispatchViewportDataDidChange): 22098 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 22099 (WebKit::WebEditorClient::registerCommandForUndo): 22100 (WebKit::WebEditorClient::clearUndoRedoOperations): 22101 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 22102 (WebKit::WebFrameLoaderClient::detachedFromParent2): 22103 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 22104 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 22105 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 22106 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 22107 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 22108 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 22109 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 22110 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 22111 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 22112 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): 22113 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 22114 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 22115 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 22116 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 22117 (WebKit::WebFrameLoaderClient::postProgressStartedNotification): 22118 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification): 22119 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification): 22120 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): 22121 (WebKit::WebFrameLoaderClient::didRunInsecureContent): 22122 (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset): 22123 * WebProcess/WebPage/FindController.cpp: 22124 (WebKit::FindController::findString): 22125 (WebKit::FindController::hideFindIndicator): 22126 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 22127 (WebKit::WebBackForwardListProxy::addItem): 22128 (WebKit::WebBackForwardListProxy::goToItem): 22129 (WebKit::WebBackForwardListProxy::clear): 22130 * WebProcess/WebPage/WebFrame.cpp: 22131 (WebKit::WebFrame::createMainFrame): 22132 (WebKit::WebFrame::createSubframe): 22133 * WebProcess/WebPage/WebPage.cpp: 22134 (WebKit::WebPage::sendClose): 22135 (WebKit::WebPage::pageDidScroll): 22136 (WebKit::WebPage::mouseEvent): 22137 (WebKit::WebPage::wheelEvent): 22138 (WebKit::WebPage::keyEvent): 22139 (WebKit::WebPage::validateMenuItem): 22140 (WebKit::WebPage::touchEvent): 22141 (WebKit::WebPage::show): 22142 (WebKit::WebPage::runJavaScriptInMainFrame): 22143 (WebKit::WebPage::getRenderTreeExternalRepresentation): 22144 (WebKit::WebPage::getSourceForFrame): 22145 22146 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22147 22148 Reviewed by Adam Roben. 22149 22150 Add a MessageSender class template 22151 https://bugs.webkit.org/show_bug.cgi?id=48683 22152 22153 * Platform/CoreIPC/MessageSender.h: Added. 22154 (CoreIPC::MessageSender::send): 22155 Add send overloads for simple message sending. 22156 22157 * WebKit2.pro: 22158 * WebKit2.xcodeproj/project.pbxproj: 22159 Add MessageSender.h 22160 22161 * WebProcess/WebPage/FindController.cpp: 22162 (WebKit::FindController::countStringMatches): 22163 (WebKit::FindController::findString): 22164 (WebKit::FindController::updateFindIndicator): 22165 Call send on the web page. 22166 22167 * WebProcess/WebPage/WebPage.cpp: 22168 (WebKit::WebPage::connection): 22169 Add connection(), used by the MessageSender. 22170 22171 * WebProcess/WebPage/WebPage.h: 22172 (WebKit::WebPage::destinationID): 22173 Add destinationID(), used by the MessageSender. 22174 22175 * win/WebKit2.vcproj: 22176 Add MessageSender.h 22177 22178 2010-10-29 Adam Roben <aroben (a] apple.com> 22179 22180 Remove redundant data members from WebTouchEvent 22181 22182 WebEvent already stores the Type and timestamp. 22183 22184 Fixes <http://webkit.org/b/48671> WebTouchEvent duplicates data from 22185 WebEvent 22186 22187 Reviewed by Anders Carlsson. 22188 22189 * Shared/WebEvent.h: 22190 * Shared/WebTouchEvent.cpp: 22191 (WebKit::WebTouchEvent::WebTouchEvent): 22192 Removed m_type and m_timestamp (which was never even getting 22193 initialized!). 22194 22195 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22196 22197 Reviewed by Adam Roben. 22198 22199 Add the plug-in proxy to the map before sending the CreatePlugin message 22200 https://bugs.webkit.org/show_bug.cgi?id=48678 22201 22202 * WebProcess/Plugins/PluginProxy.cpp: 22203 (WebKit::PluginProxy::initialize): 22204 22205 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22206 22207 Reviewed by Adam Roben. 22208 22209 Add GetWindowScriptNPObject message 22210 https://bugs.webkit.org/show_bug.cgi?id=48670 22211 22212 * PluginProcess/PluginControllerProxy.cpp: 22213 (WebKit::PluginControllerProxy::windowScriptNPObject): 22214 Send the GetWindowScriptNPObject message. 22215 22216 * WebProcess/Plugins/PluginProxy.cpp: 22217 (WebKit::PluginProxy::getWindowScriptNPObject): 22218 Add stub. 22219 22220 * WebProcess/Plugins/PluginProxy.messages.in: 22221 Add GetWindowScriptNPObject message. 22222 22223 2010-10-29 Anders Carlsson <andersca (a] apple.com> 22224 22225 Reviewed by Dan Bernstein. 22226 22227 Change the Connection::sendSync timeout parameter to have the NoTimeout argument as a default 22228 argument and update all the call sites. 22229 22230 * Platform/CoreIPC/Connection.h: 22231 * PluginProcess/PluginControllerProxy.cpp: 22232 (WebKit::PluginControllerProxy::proxiesForURL): 22233 (WebKit::PluginControllerProxy::cookiesForURL): 22234 * WebProcess/InjectedBundle/InjectedBundle.cpp: 22235 (WebKit::InjectedBundle::postSynchronousMessage): 22236 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 22237 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 22238 * WebProcess/Plugins/PluginProxy.cpp: 22239 (WebKit::PluginProxy::initialize): 22240 (WebKit::PluginProxy::destroy): 22241 (WebKit::PluginProxy::paint): 22242 (WebKit::PluginProxy::handleMouseEvent): 22243 (WebKit::PluginProxy::handleWheelEvent): 22244 (WebKit::PluginProxy::handleMouseEnterEvent): 22245 (WebKit::PluginProxy::handleMouseLeaveEvent): 22246 (WebKit::PluginProxy::handleKeyboardEvent): 22247 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22248 (WebKit::WebChromeClient::windowRect): 22249 (WebKit::WebChromeClient::createWindow): 22250 (WebKit::WebChromeClient::toolbarsVisible): 22251 (WebKit::WebChromeClient::statusbarVisible): 22252 (WebKit::WebChromeClient::menubarVisible): 22253 (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel): 22254 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): 22255 (WebKit::WebChromeClient::runJavaScriptAlert): 22256 (WebKit::WebChromeClient::runJavaScriptConfirm): 22257 (WebKit::WebChromeClient::runJavaScriptPrompt): 22258 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 22259 (WebKit::WebPlatformStrategies::populatePluginCache): 22260 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 22261 (WebKit::WebBackForwardListProxy::itemAtIndex): 22262 (WebKit::WebBackForwardListProxy::backListCount): 22263 (WebKit::WebBackForwardListProxy::forwardListCount): 22264 * WebProcess/WebPage/WebPage.cpp: 22265 (WebKit::WebPage::createPlugin): 22266 (WebKit::WebPage::changeAcceleratedCompositingMode): 22267 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 22268 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 22269 * WebProcess/WebPage/mac/WebPageMac.mm: 22270 (WebKit::WebPage::interceptEditingKeyboardEvent): 22271 22272 2010-10-29 John Sullivan <sullivan (a] apple.com> 22273 22274 Reviewed by Anders Carlsson. 22275 22276 https://bugs.webkit.org/show_bug.cgi?id=48666 22277 WebKit2 should provide counterpart getter to WKBundleNodeHandleSetHTMLInputElementAutofilled 22278 22279 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 22280 (WKBundleNodeHandleGetHTMLInputElementAutofilled): 22281 New function, calls through to InjectedBundleNodeHandle. 22282 22283 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 22284 Declared new function. 22285 22286 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 22287 (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled): 22288 New function, calls through to HTMLInputElement. 22289 22290 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 22291 Declared new function. 22292 22293 2010-10-29 Jessie Berlin <jberlin (a] apple.com> 22294 22295 Reviewed by Anders Carlsson. 22296 22297 ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send 22298 the DidCreateMainFrame messsage to the UIProcess. 22299 https://bugs.webkit.org/show_bug.cgi?id=48654 22300 22301 WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was 22302 registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is 22303 created). However, in the case where we close the page before it's had the chance to send 22304 the DidCreateMainFrame message back to the UI process, the UI Process will get the 22305 DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go 22306 through WebPageProxy. 22307 22308 Remove the assert because it is invalid in this case. 22309 22310 * UIProcess/WebProcessProxy.cpp: 22311 (WebKit::WebProcessProxy::frameDestroyed): 22312 22313 2010-10-29 Adam Roben <aroben (a] apple.com> 22314 22315 Build fix when Carbon plugins are disabled 22316 22317 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 22318 (WebKit::NetscapePlugin::platformHandleMouseEvent): 22319 22320 2010-10-29 Adam Roben <aroben (a] apple.com> 22321 22322 Move NPRuntime-related files into WebProcess/Plugins/Netscape 22323 22324 Fixes <http://webkit.org/b/48645>. 22325 22326 Reviewed by Anders Carlsson. 22327 22328 * WebKit2.pro: 22329 * WebKit2.xcodeproj/project.pbxproj: 22330 * win/WebKit2.vcproj: 22331 Updated the files' paths. 22332 22333 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.cpp. 22334 * WebProcess/Plugins/Netscape/JSNPMethod.h: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.h. 22335 * WebProcess/Plugins/Netscape/JSNPObject.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.cpp. 22336 * WebProcess/Plugins/Netscape/JSNPObject.h: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.h. 22337 * WebProcess/Plugins/Netscape/NPJSObject.cpp: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.cpp. 22338 * WebProcess/Plugins/Netscape/NPJSObject.h: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.h. 22339 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.cpp. 22340 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.h. 22341 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.cpp. 22342 * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.h. 22343 22344 2010-10-29 Alexey Proskuryakov <ap (a] apple.com> 22345 22346 Reviewed by Darin Adler. 22347 22348 https://bugs.webkit.org/show_bug.cgi?id=48576 22349 Let WebKit2 client know when a frame is a frameset 22350 22351 * UIProcess/WebFrameProxy.cpp: 22352 (WebKit::WebFrameProxy::WebFrameProxy): 22353 * UIProcess/WebFrameProxy.h: 22354 (WebKit::WebFrameProxy::setIsFrameSet): 22355 (WebKit::WebFrameProxy::isFrameSet): 22356 Remember whether the frame is currently a frameset. 22357 22358 * UIProcess/API/C/WKFrame.cpp: (WKFrameIsFrameSet): 22359 * UIProcess/API/C/WKFrame.h: 22360 Added client API. 22361 22362 * UIProcess/WebPageProxy.cpp: 22363 (WebKit::WebPageProxy::didCommitLoadForFrame): 22364 (WebKit::WebPageProxy::frameDidBecomeFrameSet): 22365 * UIProcess/WebPageProxy.h: 22366 * UIProcess/WebPageProxy.messages.in: 22367 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 22368 (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset): 22369 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 22370 Pass notification from web process to UI process. 22371 22372 2010-10-28 Adam Roben <aroben (a] apple.com> 22373 22374 Use IntPoint/FloatSize in WebEvent subclasses 22375 22376 This is nicer than passing around pairs of ints/floats. 22377 22378 Fixes <http://webkit.org/b/48611>. 22379 22380 Reviewed by Anders Carlsson. 22381 22382 * Shared/WebEvent.h: 22383 * Shared/WebMouseEvent.cpp: 22384 * Shared/WebPlatformTouchPoint.cpp: 22385 * Shared/WebWheelEvent.cpp: 22386 Changed all x/y pairs to either use IntPoint or FloatSize, as 22387 appropriate. 22388 22389 * Shared/WebEventConversion.cpp: 22390 * Shared/mac/WebEventFactory.mm: 22391 * Shared/qt/WebEventFactoryQt.cpp: 22392 * Shared/win/WebEventFactory.cpp: 22393 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 22394 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 22395 Updated for WebEvent changes. 22396 22397 2010-10-29 Adam Roben <aroben (a] apple.com> 22398 22399 Touch WebKit2Prefix.h to fix incremental builds on Windows 22400 22401 * WebKit2Prefix.h: 22402 22403 2010-10-28 Adam Roben <aroben (a] apple.com> 22404 22405 Remove unnecessary #includes from WebEvent.h 22406 22407 Fixes <http://webkit.org/b/48609> WebEvent.h #includes things it 22408 doesn't need 22409 22410 Reviewed by Sam Weinig. 22411 22412 * Scripts/webkit2/messages.py: 22413 (MessageReceiver.iterparameters): Merged iterreplyparameters into this 22414 function. All callers to iterparameters are really interested in the 22415 reply parameters, too. This will cause us to, e.g., add 22416 forward-declarations for types used in sync replies. 22417 (headers_for_type): Added a special case for WebCore::KeypressCommand. 22418 22419 * Scripts/webkit2/messages_unittest.py: Added a test to cover the 22420 failing case that inspired the above changes. 22421 22422 * Shared/WebEvent.h: Replaced #includes with forward-declarations. 22423 22424 * Shared/API/c/WKSharedAPICast.h: 22425 * Shared/NativeWebKeyboardEvent.h: 22426 * Shared/WebEvent.cpp: 22427 * Shared/WebKeyboardEvent.cpp: 22428 * Shared/WebMouseEvent.cpp: 22429 * Shared/WebPlatformTouchPoint.cpp: 22430 * Shared/WebTouchEvent.cpp: 22431 * Shared/WebWheelEvent.cpp: 22432 * Shared/qt/WebEventFactoryQt.cpp: 22433 * Shared/win/WebEventFactory.cpp: 22434 * UIProcess/API/qt/qwkpage.cpp: 22435 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 22436 * UIProcess/WebUIClient.cpp: 22437 * UIProcess/WebUIClient.h: 22438 * UIProcess/win/WebView.cpp: 22439 * WebProcess/WebPage/FindController.cpp: 22440 * WebProcess/WebPage/mac/WebPageMac.mm: 22441 Added now-needed #includes and declarations. 22442 22443 2010-10-29 Csaba Osztrogonc <ossy (a] webkit.org> 22444 22445 Reviewed by Adam Roben and David Kilzer. 22446 22447 Fix and cleanup of build systems 22448 https://bugs.webkit.org/show_bug.cgi?id=48342 22449 22450 * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX and add missing features. 22451 22452 2010-10-28 Dan Bernstein <mitz (a] apple.com> 22453 22454 LLVM compiler build fix 22455 22456 * WebProcess/Downloads/mac/DownloadMac.mm: 22457 (-[WKDownloadAsDelegate download:didReceiveResponse:]): Removed a stray semicolon. 22458 22459 2010-10-28 Adam Roben <aroben (a] apple.com> 22460 22461 Move some function definitions from WebEvent.h into new .cpp files 22462 22463 Someday maybe we'll split the classes into their own header files, 22464 too. 22465 22466 Fixes <http://webkit.org/b/48604>. 22467 22468 Reviewed by Anders Carlsson. 22469 22470 * Shared/WebEvent.h: Moved code from here... 22471 22472 * Shared/WebEvent.cpp: Added. 22473 * Shared/WebKeyboardEvent.cpp: Added. 22474 * Shared/WebMouseEvent.cpp: Added. 22475 * Shared/WebPlatformTouchPoint.cpp: Added. 22476 * Shared/WebTouchEvent.cpp: Added. 22477 * Shared/WebWheelEvent.cpp: Added. 22478 ...to here. Also changed WebTouchEvent::touchPoints not to copy the 22479 Vector. 22480 22481 * WebKit2.pro: 22482 * WebKit2.xcodeproj/project.pbxproj: 22483 * win/WebKit2.vcproj: 22484 Added the new files. 22485 22486 2010-10-28 Anders Carlsson <andersca (a] apple.com> 22487 22488 Reviewed by Adam Roben. 22489 22490 Connection::sendSyncMessage needs to dispatch incoming sync messages 22491 https://bugs.webkit.org/show_bug.cgi?id=48606 22492 22493 * Platform/CoreIPC/Connection.cpp: 22494 (CoreIPC::Connection::sendSyncMessage): 22495 Protect the connection when waiting for a reply. Schedule for any remaining incoming sync messages 22496 to be sent once the bottom-most waitForSyncReply calls returns. 22497 22498 (CoreIPC::Connection::waitForSyncReply): 22499 Make sure to dispatch any incoming sync messages. 22500 22501 (CoreIPC::Connection::processIncomingMessage): 22502 If the incoming message is a sync message and we're waiting for a sync reply, add the message to the 22503 queue of "sync messages received while waiting for sync reply" and wake up the client thread. 22504 22505 * Platform/CoreIPC/Connection.h: 22506 22507 2010-10-28 Anders Carlsson <andersca (a] apple.com> 22508 22509 Reviewed by Adam Roben. 22510 22511 Move code to dispatch a sync message out into a separate function 22512 https://bugs.webkit.org/show_bug.cgi?id=48605 22513 22514 * Platform/CoreIPC/Connection.cpp: 22515 (CoreIPC::Connection::dispatchSyncMessage): 22516 Factor code out from dispatchMessage. Handle receiving a message with an invalid reply ID. 22517 22518 (CoreIPC::Connection::dispatchMessages): 22519 Call dispatchSyncMessage. 22520 22521 * Platform/CoreIPC/Connection.h: 22522 22523 2010-10-28 Anders Carlsson <andersca (a] apple.com> 22524 22525 Reviewed by Darin Adler. 22526 22527 Add NPObjectMessageReceiver class. 22528 https://bugs.webkit.org/show_bug.cgi?id=48599 22529 22530 * Shared/Plugins/NPObjectMessageReceiver.cpp: Added. 22531 (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver): 22532 (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver): 22533 * Shared/Plugins/NPObjectMessageReceiver.h: Added. 22534 * WebKit2.xcodeproj/project.pbxproj: 22535 22536 2010-10-28 Anders Carlsson <andersca (a] apple.com> 22537 22538 Reviewed by Sam Weinig. 22539 22540 Add NPObjectProxy class 22541 https://bugs.webkit.org/show_bug.cgi?id=48558 22542 22543 * Shared/Plugins/NPObjectProxy.cpp: Added. 22544 (WebKit::NPObjectProxy::NPObjectProxy): 22545 (WebKit::NPObjectProxy::~NPObjectProxy): 22546 * Shared/Plugins/NPObjectProxy.h: Added. 22547 * WebKit2.xcodeproj/project.pbxproj: 22548 22549 2010-10-28 Anders Carlsson <andersca (a] apple.com> 22550 22551 Reviewed by Sam Weinig. 22552 22553 Add NPRemoteObjectMap class 22554 https://bugs.webkit.org/show_bug.cgi?id=48553 22555 22556 * Shared/Plugins/NPRemoteObjectMap.cpp: Added. 22557 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap): 22558 * Shared/Plugins/NPRemoteObjectMap.h: Added. 22559 * WebKit2.xcodeproj/project.pbxproj: 22560 22561 2010-10-28 Sam Weinig <sam (a] webkit.org> 22562 22563 Reviewed by Anders Carlsson. 22564 22565 WKURLRefs should be allowed to be null 22566 <rdar://problem/8575621> 22567 https://bugs.webkit.org/show_bug.cgi?id=48535 22568 22569 * Shared/API/c/WKSharedAPICast.h: 22570 (WebKit::toURLRef): 22571 (WebKit::toCopiedURLAPI): 22572 Turn a null WTF::String into a null WKURLRef. 22573 22574 2010-10-28 Sam Weinig <sam (a] webkit.org> 22575 22576 Reviewed by Anders Carlsson. 22577 22578 Add WebKit2 API for window feature getter/setters 22579 <rdar://problem/8590373> 22580 https://bugs.webkit.org/show_bug.cgi?id=48496 22581 22582 * UIProcess/API/C/WKPage.h: 22583 * UIProcess/WebPageProxy.cpp: 22584 (WebKit::WebPageProxy::setToolbarsAreVisible): 22585 (WebKit::WebPageProxy::getToolbarsAreVisible): 22586 (WebKit::WebPageProxy::setMenuBarIsVisible): 22587 (WebKit::WebPageProxy::getMenuBarIsVisible): 22588 (WebKit::WebPageProxy::setStatusBarIsVisible): 22589 (WebKit::WebPageProxy::getStatusBarIsVisible): 22590 (WebKit::WebPageProxy::setIsResizable): 22591 (WebKit::WebPageProxy::getIsResizable): 22592 * UIProcess/WebPageProxy.h: 22593 * UIProcess/WebPageProxy.messages.in: 22594 * UIProcess/WebUIClient.cpp: 22595 (WebKit::WebUIClient::toolbarsAreVisible): 22596 (WebKit::WebUIClient::setToolbarsAreVisible): 22597 (WebKit::WebUIClient::menuBarIsVisible): 22598 (WebKit::WebUIClient::setMenuBarIsVisible): 22599 (WebKit::WebUIClient::statusBarIsVisible): 22600 (WebKit::WebUIClient::setStatusBarIsVisible): 22601 (WebKit::WebUIClient::isResizable): 22602 (WebKit::WebUIClient::setIsResizable): 22603 * UIProcess/WebUIClient.h: 22604 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22605 (WebKit::WebChromeClient::setToolbarsVisible): 22606 (WebKit::WebChromeClient::toolbarsVisible): 22607 (WebKit::WebChromeClient::setStatusbarVisible): 22608 (WebKit::WebChromeClient::statusbarVisible): 22609 (WebKit::WebChromeClient::setMenubarVisible): 22610 (WebKit::WebChromeClient::menubarVisible): 22611 (WebKit::WebChromeClient::setResizable): 22612 Plumb through the calls. 22613 22614 2010-10-28 Dan Bernstein <mitz (a] apple.com> 22615 22616 Build fix. 22617 22618 * win/WebKit2Common.vsprops: 22619 22620 2010-10-28 Dan Bernstein <mitz (a] apple.com> 22621 22622 Reviewed by Adam Roben. 22623 22624 No longer soft-link zlib 22625 https://bugs.webkit.org/show_bug.cgi?id=48004 22626 22627 * win/WebKit2Common.vsprops: Added zlib.lib to AdditionalDependencies. 22628 22629 2010-10-28 Adam Roben <aroben (a] apple.com> 22630 22631 Make PluginView retain its HTMLPlugInElement 22632 22633 This matches WebKit/mac's WebBaseNetscapePluginView. WebCore didn't do 22634 this, but had a very different mechanism for implementing NPRuntime 22635 that didn't require it. 22636 22637 Fixes <http://webkit.org/b/46672> <rdar://problem/8484208> Crash 22638 (preceded by assertion) in Node::document when running 22639 plugins/document-open.html in WebKit2 on Windows 22640 22641 Reviewed by Anders Carlsson. 22642 22643 * WebProcess/Plugins/PluginView.cpp: 22644 (WebKit::PluginView::create): Moved here from the header file so that 22645 clients of the header file won't have to pull in HTMLPlugInElement.h. 22646 Changed to take a PassRefPtr<HTMLPlugInElement>. 22647 (WebKit::PluginView::PluginView): Changed to take a 22648 PassRefPtr<HTMLPlugInElement> and to use m_pluginElement later (because 22649 the parameter to the function will be nulled-out after assigning into 22650 m_pluginElement). 22651 (WebKit::PluginView::pluginElementNPObject): Updated for change to m_pluginElement. 22652 22653 * WebProcess/Plugins/PluginView.h: Made m_pluginElement a RefPtr. 22654 22655 2010-10-28 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 22656 22657 Reviewed by Andreas Kling. 22658 22659 Make Qt viewportAttributesForSize not assert on (0, 0) size 22660 https://bugs.webkit.org/show_bug.cgi?id=48524 22661 22662 We now return an invalid (isValid() == false) ViewportAttributes 22663 instance when the supplied size is (0, 0). 22664 22665 * UIProcess/API/qt/qwkpage.cpp: 22666 (QWKPage::viewportAttributesForSize): 22667 22668 2010-10-28 Balazs Kelemen <kbalazs (a] webkit.org> 22669 22670 Reviewed by Andreas Kling. 22671 22672 [Qt][WK2] SharedMemory should be released by the receiving process 22673 https://bugs.webkit.org/show_bug.cgi?id=48520 22674 22675 * Platform/qt/SharedMemoryQt.cpp: 22676 (WebKit::SharedMemory::~SharedMemory): 22677 (WebKit::SharedMemory::createHandle): 22678 22679 2010-10-28 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 22680 22681 Reviewed by Kenneth Rohde Christiansen. 22682 22683 [Qt] Web process cannot be debugged if it crashes in initialization 22684 https://bugs.webkit.org/show_bug.cgi?id=47399 22685 22686 Wait 3 seconds for the debugger on debug mode if 22687 WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set. 22688 22689 The debugging can be initiated for example in following way: 22690 export WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH=1 22691 ./MiniBrowser & while [ -z `pidof QtWebProcess` ]; do sleep 1; done; \ 22692 gdb --pid=`pidof QtWebProcess` 22693 22694 * WebProcess/qt/WebProcessMainQt.cpp: 22695 (WebKit::WebProcessMainQt): 22696 22697 2010-10-28 Mark Rowe <mrowe (a] apple.com> 22698 22699 32-bit build fix. 22700 22701 Qualify references to Rect to avoid ambiguity between WebCore::Rect and Carbon's Rect. 22702 22703 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 22704 (WebKit::NetscapePlugin::platformPostInitialize): 22705 (WebKit::NetscapePlugin::windowFrameChanged): 22706 22707 2010-10-28 Ivan Krsti <ike (a] apple.com> 22708 22709 Reviewed by Mark Rowe. 22710 22711 Remove unused experimental proxied panel interface. 22712 <rdar://problem/7237059> 22713 22714 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 22715 (InitWebCoreSystemInterface): 22716 22717 2010-10-27 Mark Rowe <mrowe (a] apple.com> 22718 22719 Build fix. 22720 22721 * UIProcess/API/mac/PageClientImpl.mm: Reference the file using the correct case. 22722 22723 2010-10-27 Anders Carlsson <andersca (a] apple.com> 22724 22725 Reviewed by Sam Weinig. 22726 22727 Find indicators do not bounce 22728 https://bugs.webkit.org/show_bug.cgi?id=48490 22729 <rdar://problem/8564276> 22730 22731 * UIProcess/API/mac/FindIndicatorWindow.h: 22732 * UIProcess/API/mac/FindIndicatorWindow.mm: 22733 (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationDuration:animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]): 22734 Add an animationDuration parameter. 22735 22736 (WebKit::FindIndicatorWindow::FindIndicatorWindow): 22737 Initialize m_bounceAnimationContext. 22738 22739 (WebKit::FindIndicatorWindow::setFindIndicator): 22740 Create a bounce animation and start it. 22741 22742 (WebKit::FindIndicatorWindow::closeWindow): 22743 Stop the bounce animation and destroy the bounce animation context. 22744 22745 (WebKit::FindIndicatorWindow::startFadeOutTimerFired): 22746 pass the fade out duration. 22747 22748 (WebKit::FindIndicatorWindow::bounceAnimationCallback): 22749 Set the bounce animation progress. 22750 22751 (WebKit::FindIndicatorWindow::bounceAnimationDidEnd): 22752 Destroy the bounce animation context. 22753 22754 2010-10-27 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 22755 22756 Reviewed by Andreas Kling. 22757 22758 Remove the reference to the pageNamespace in the QWKPagePrivate. 22759 Access it through the WebPageProxy instead which holds a strong 22760 ref to it. 22761 22762 * UIProcess/API/qt/qwkpage.cpp: 22763 (QWKPagePrivate::QWKPagePrivate): 22764 (QWKPage::preferences): 22765 * UIProcess/API/qt/qwkpage_p.h: 22766 22767 2010-10-27 Enrica Casucci <enrica (a] apple.com> 22768 22769 Reviewed by Alexey Proskuryakov. 22770 22771 Support Appkit key bindings and custom key bindings in WebKit2 22772 https://bugs.webkit.org/show_bug.cgi?id=48271 22773 <rdar://problem/7660723> 22774 22775 We need to support AppKit key bindings and custom key bindings in WebKit2. 22776 Every keyboard event is first sent to the WebProcess and we inform AppKit that 22777 we don't need further processing. When the event is processed by the WebProcess and no handler consumes it, 22778 we send a synchronous message back to the UI process to let AppKit perform the key bindings. 22779 This operation can result in one or more editing commands to execute or a noop. 22780 The WebProcess then replies back to the UI process to inform whether further processing is required, in 22781 which case the event is sent back to the application to be mapped. 22782 There is a potential for a race condition: in case the WebProcess is very slow to process the key events, the UI 22783 process could be in a completely different state when the event is being resent (for example it might not have the 22784 keyboard focus anymore) and the command could be lost. We should look out for user experience impact. 22785 22786 * Scripts/webkit2/messages.py: Added header file in the generated file. 22787 * Shared/WebCoreArgumentCoders.h: Added encoder/decoder for KeypressCommand. 22788 * UIProcess/API/mac/PageClientImpl.h: 22789 * UIProcess/API/mac/PageClientImpl.mm: 22790 (WebKit::PageClientImpl::interceptKeyEvent): Pass-through call to WKView. 22791 (WebKit::PageClientImpl::didNotHandleKeyEvent): Added logic to resend the event to the application. 22792 * UIProcess/API/mac/WKView.mm: 22793 (-[WKView validateUserInterfaceItem:]): Changed the default return value to YES, otherwise no menu shortcut is performed. 22794 (-[WKView doCommandBySelector:]): Added. 22795 (-[WKView insertText:]): Added. 22796 (-[WKView _handleStyleKeyEquivalent:]): Added to handle command-B and command-I. 22797 (-[WKView performKeyEquivalent:]): Added to intercept key binding sequences. 22798 (-[WKView _setEventBeingResent:]): 22799 (-[WKView _interceptKeyEvent:]): 22800 * UIProcess/API/mac/WKViewInternal.h: 22801 * UIProcess/PageClient.h: 22802 * UIProcess/WebPageProxy.cpp: 22803 (WebKit::WebPageProxy::interpretKeyEvent): 22804 * UIProcess/WebPageProxy.h: 22805 * UIProcess/WebPageProxy.messages.in: 22806 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 22807 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 22808 (WebKit::WebEditorClient::handleKeyboardEvent): 22809 (WebKit::WebEditorClient::handleInputMethodKeydown): 22810 * WebProcess/WebPage/WebPage.cpp: 22811 * WebProcess/WebPage/WebPage.h: 22812 * WebProcess/WebPage/mac/WebPageMac.mm: Moved handleKeyboardEvent and handleInputMethodKeydown 22813 to the Mac specific implementation. 22814 (WebKit::WebPage::interceptEditingKeyboardEvent): Added. 22815 22816 2010-10-27 Brian Weinstein <bweinstein (a] apple.com> 22817 22818 More Windows build fixage. Copy another new header into WebKitOutputDir. 22819 22820 * win/WebKit2Generated.make: 22821 22822 2010-10-27 Brian Weinstein <bweinstein (a] apple.com> 22823 22824 Windows build fix. Copy a new header into WebKitOutputDir. 22825 22826 * win/WebKit2Generated.make: 22827 22828 2010-10-26 Darin Adler <darin (a] apple.com> 22829 22830 Reviewed by Sam Weinig. 22831 22832 WebKitTestRunner needs to support layoutTestController.dumpBackForwardList 22833 https://bugs.webkit.org/show_bug.cgi?id=42322 22834 rdar://problem/8193631 22835 22836 WebKitTestRunner needs to support layoutTestController.clearBackForwardList 22837 https://bugs.webkit.org/show_bug.cgi?id=42333 22838 rdar://problem/8193643 22839 22840 * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and 22841 WKBundleBackForwardListItemRef. 22842 22843 * Shared/API/c/WKURL.cpp: 22844 (WKURLCopyString): Added. 22845 * Shared/API/c/WKURL.h: Added WKURLCopyString. 22846 22847 * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name. 22848 22849 * Shared/APIObject.h: Added TypeBundleBackForwardList and 22850 TypeBundleBackForwardListItem. 22851 22852 * Shared/ImmutableArray.h: Marked destructor virtual explicitly. 22853 * Shared/ImmutableDictionary.h: Ditto. 22854 * UIProcess/WebBackForwardListItem.h: Ditto. 22855 * UIProcess/WebContext.h: Ditto. 22856 * UIProcess/WebFrameProxy.h: Ditto. 22857 * UIProcess/WebNavigationData.h: Ditto. 22858 * UIProcess/WebPageNamespace.h: Ditto. 22859 * UIProcess/WebPreferences.h: Ditto. 22860 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto. 22861 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto. 22862 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto. 22863 22864 * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit 22865 and forwardListWithLimit functions. 22866 (WebKit::WebBackForwardList::clear): Added. 22867 * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly. 22868 Added clear, removed backListWithLimit and forwardListWithLimit functions. 22869 22870 * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem, 22871 backForwardCurrentItem, and backForwardForwardItem functions. 22872 (WebKit::WebPageProxy::backForwardClear): Added. 22873 * UIProcess/WebPageProxy.h: Ditto. 22874 * UIProcess/WebPageProxy.messages.in: Ditto. 22875 22876 * WebKit2.pro: Added new files. 22877 * WebKit2.xcodeproj/project.pbxproj: Ditto. 22878 * win/WebKit2.vcproj: Ditto. 22879 22880 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added 22881 WKBundleBackForwardListRef and WKBundleBackForwardListItemRef. 22882 22883 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp: 22884 Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp. 22885 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h: 22886 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h. 22887 22888 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: 22889 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp. 22890 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h: 22891 Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h. 22892 22893 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 22894 (WKBundlePageGetBackForwardList): Added. 22895 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto. 22896 22897 22898 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: 22899 Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp. 22900 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: 22901 Started with a copy of WebKit2/UIProcess/WebBackForwardList.h. 22902 22903 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 22904 Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp. 22905 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 22906 Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h. 22907 22908 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed 22909 many unneeded functions. 22910 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy): 22911 Removed unneeded initialization of m_closed. 22912 (WebKit::WebBackForwardListProxy::addItem): Added a check for 22913 the case of a capacity of 0. 22914 (WebKit::WebBackForwardListProxy::goToItem): Added a check for 22915 when the proxy outlives its page. 22916 (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto. 22917 (WebKit::WebBackForwardListProxy::backListCount): Ditto. 22918 (WebKit::WebBackForwardListProxy::forwardListCount): Ditto. 22919 (WebKit::WebBackForwardListProxy::close): Removed unneeded code 22920 setting m_closed. 22921 (WebKit::WebBackForwardListProxy::isActive): Added. 22922 (WebKit::WebBackForwardListProxy::clear): Added. 22923 22924 * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear, 22925 isActive, and detach functions. Removed many other unneeded 22926 function and data members. 22927 22928 * WebProcess/WebPage/WebPage.cpp: 22929 (WebKit::WebPage::~WebPage): Added call to detach on the 22930 back/forward list. 22931 (WebKit::WebPage::backForwardList): Added. 22932 * WebProcess/WebPage/WebPage.h: Added backForwardList function 22933 and m_backForwardList data member. 22934 22935 2010-10-27 Beth Dakin <bdakin (a] apple.com> 22936 22937 Reviewed by Darin Adler. 22938 22939 Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 22940 SPI to scale a WebView 22941 -and corresponding- 22942 <rdar://problem/8107667> 22943 22944 This patch adds SPI to Mac WebKit that scales the page by the given 22945 scale factor. 22946 22947 Implement scaleWebView(), which tells WebCore::Frame to scale, and 22948 viewScaleFactor() which returns the current scale factor. 22949 * Shared/API/c/WKSharedAPICast.h: 22950 * UIProcess/API/C/WKPage.cpp: 22951 (WKPageScaleWebView): 22952 (WKPageGetViewScaleFactor): 22953 * UIProcess/API/C/WKPage.h: 22954 * UIProcess/WebPageProxy.cpp: 22955 (WebKit::WebPageProxy::WebPageProxy): 22956 (WebKit::WebPageProxy::scaleWebView): 22957 * UIProcess/WebPageProxy.h: 22958 (WebKit::WebPageProxy::viewScaleFactor): 22959 * WebProcess/WebPage/WebPage.cpp: 22960 (WebKit::WebPage::scaleWebView): 22961 (WebKit::WebPage::viewScaleFactor): 22962 * WebProcess/WebPage/WebPage.h: 22963 * WebProcess/WebPage/WebPage.messages.in: 22964 22965 2010-10-27 Jessie Berlin <jberlin (a] apple.com> 22966 22967 Reviewed by Sam Weinig. 22968 22969 Fix the WebKit2 API tests. 22970 https://bugs.webkit.org/show_bug.cgi?id=48461 22971 22972 The API tests were failing because the tests expect to be able to send messages before the 22973 WebProcess finishes launching. 22974 22975 Instead of dispatching the pending messages in processDidFinishLaunching, dispatch them in 22976 ensureWebProcess but do not make messages pending if the process is launching. 22977 22978 * UIProcess/WebContext.cpp: 22979 (WebKit::WebContext::processDidFinishLaunching): 22980 Move dispatching the pending messages back from here ... 22981 (WebKit::WebContext::ensureWebProcess): 22982 ... to here. 22983 (WebKit::WebContext::postMessageToInjectedBundle): 22984 Check whether the process can send messages in order to determine if a message needs to be 22985 sent later. 22986 22987 * UIProcess/WebProcessProxy.h: 22988 (WebKit::WebProcessProxy::canSendMessage): 22989 The WebProcessProxy can send a message if it is valid or if it is launching. 22990 22991 2010-10-27 Anders Carlsson <andersca (a] apple.com> 22992 22993 Reviewed by Sam Weinig. 22994 22995 More work on downloads 22996 https://bugs.webkit.org/show_bug.cgi?id=48480 22997 22998 * WebProcess/Downloads/Download.cpp: 22999 (WebKit::Download::~Download): 23000 Call platformInvalidate(). 23001 23002 (WebKit::Download::didBegin): 23003 (WebKit::Download::didReceiveData): 23004 (WebKit::Download::didFinish): 23005 Add empty stubs. 23006 23007 * WebProcess/Downloads/DownloadManager.cpp: 23008 (WebKit::DownloadManager::startDownload): 23009 Create a Download object and insert it into the m_downloads map. 23010 23011 * WebProcess/Downloads/cf/DownloadCFNet.cpp: 23012 (WebKit::Download::platformInvalidate): 23013 Add empty stub. 23014 23015 * WebProcess/Downloads/mac/DownloadMac.mm: 23016 (WebKit::Download::platformInvalidate): 23017 Tell the WKDownloadAsDelegate object that we're being invalidated. 23018 23019 (-[WKDownloadAsDelegate downloadDidBegin:]): 23020 Call Download::didBegin. 23021 23022 (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]): 23023 Call Download::didReceiveData. 23024 23025 (-[WKDownloadAsDelegate downloadDidFinish:]): 23026 Call Download::didFinish. 23027 23028 * WebProcess/Downloads/qt/DownloadQt.cpp: 23029 (WebKit::Download::platformInvalidate): 23030 Add empty stub. 23031 23032 2010-10-27 Anders Carlsson <andersca (a] apple.com> 23033 23034 Reviewed by Sam Weinig. 23035 23036 WebPageProxy::isValid should return false if the page has been explicitly closed 23037 https://bugs.webkit.org/show_bug.cgi?id=48458 23038 23039 * UIProcess/WebPageProxy.cpp: 23040 (WebKit::WebPageProxy::WebPageProxy): 23041 (WebKit::WebPageProxy::isValid): 23042 (WebKit::WebPageProxy::relaunch): 23043 (WebKit::WebPageProxy::close): 23044 (WebKit::WebPageProxy::processDidCrash): 23045 * UIProcess/WebPageProxy.h: 23046 (WebKit::WebPageProxy::isClosed): 23047 23048 2010-10-27 Anders Carlsson <andersca (a] apple.com> 23049 23050 Reviewed by Adam Roben. 23051 23052 Begin stubbing out the Download class 23053 https://bugs.webkit.org/show_bug.cgi?id=48447 23054 23055 * WebKit2.pro: 23056 * WebKit2.xcodeproj/project.pbxproj: 23057 Add new files. 23058 23059 * WebKit2Prefix.h: 23060 Include WebCore/EmptyProtocolDefinitions.h 23061 23062 * WebProcess/Downloads/Download.cpp: Added. 23063 * WebProcess/Downloads/Download.h: Added. 23064 23065 * WebProcess/Downloads/DownloadManager.cpp: 23066 (WebKit::DownloadManager::startDownload): 23067 Create a Download object and start it. 23068 23069 * WebProcess/Downloads/mac/DownloadMac.mm: Added. 23070 (WebKit::Download::start): 23071 Create an NSURLDownload. 23072 23073 * WebProcess/WebPage/WebFrame.cpp: 23074 (WebKit::WebFrame::startDownload): 23075 Ask the download manager to start downloading. 23076 23077 * win/WebKit2.vcproj: 23078 * win/WebKit2Common.vsprops: 23079 Add new files. 23080 23081 2010-10-27 Adam Roben <aroben (a] apple.com> 23082 23083 Don't allow setting NetscapePlugin::m_isWindowed after NPP_New has 23084 completed 23085 23086 In Firefox, Chrome, and WebKit1 trying to set this value after NPP_New 23087 does not actually affect whether the plugin is windowed. 23088 23089 Fixes <http://webkit.org/b/46673> <rdar://problem/8484211> Assertion 23090 failure in NetscapePlugin::platformDestroy when running 23091 plugins/mouse-events.html in WebKit2 on Windows 23092 23093 Reviewed by Anders Carlsson. 23094 23095 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 23096 (WebKit::NetscapePlugin::setIsWindowed): Moved here from the header. 23097 Bail out if m_isStarted is true, indicating that NPP_New has already 23098 finished. 23099 23100 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Removed the 23101 implementation of setIsWindowed. 23102 23103 2010-10-27 Timothy Hatcher <timothy (a] apple.com> 23104 23105 Add API for enabling the developer extras (Web Inspector). 23106 23107 http://webkit.org/b/48439 23108 23109 Reviewed by John Sullivan. 23110 23111 * Shared/WebPreferencesStore.cpp: 23112 (WebKit::WebPreferencesStore::WebPreferencesStore): 23113 (WebKit::WebPreferencesStore::encode): 23114 (WebKit::WebPreferencesStore::decode): 23115 * Shared/WebPreferencesStore.h: 23116 * UIProcess/API/C/WKPreferences.cpp: 23117 (WKPreferencesSetDeveloperExtrasEnabled): 23118 (WKPreferencesGetDeveloperExtrasEnabled): 23119 * UIProcess/API/C/WKPreferences.h: 23120 * UIProcess/WebPreferences.cpp: 23121 (WebKit::WebPreferences::setDeveloperExtrasEnabled): 23122 (WebKit::WebPreferences::developerExtrasEnabled): 23123 * UIProcess/WebPreferences.h: 23124 * WebProcess/WebPage/WebPage.cpp: 23125 (WebKit::WebPage::updatePreferences): 23126 23127 2010-10-27 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 23128 23129 Reviewed by Anders Carlsson. 23130 23131 Move contentsSizeChange from the UIClient into the PageClient and 23132 and make it a private Qt-only API in the process. 23133 23134 Make WKPageContentsSizeChangedCallback be a private API 23135 https://bugs.webkit.org/show_bug.cgi?id=48409 23136 23137 * UIProcess/API/C/WKPage.h: 23138 * UIProcess/API/qt/qwkpage.cpp: 23139 (QWKPagePrivate::didChangeContentsSize): 23140 (QWKPage::QWKPage): 23141 * UIProcess/API/qt/qwkpage_p.h: 23142 * UIProcess/PageClient.h: 23143 * UIProcess/WebPageProxy.cpp: 23144 (WebKit::WebPageProxy::didChangeContentsSize): 23145 * UIProcess/WebPageProxy.h: 23146 * UIProcess/WebPageProxy.messages.in: 23147 * UIProcess/WebUIClient.cpp: 23148 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 23149 (WebKit::WebChromeClient::contentsSizeChanged): 23150 23151 2010-10-26 Brian Weinstein <bweinstein (a] apple.com> 23152 23153 Reviewed by Adam Roben. 23154 23155 WebKit2 shouldn't try to send an empty user agent 23156 https://bugs.webkit.org/show_bug.cgi?id=48397 23157 23158 Change the check of the custom user agent to an empty check instead of a null check. When the client application 23159 sets a custom user agent and then resets it, the custom user agent is set to an empty string. If all we do 23160 is check for a null string, then we will think we have a custom user agent (which is empty) and send an empty 23161 user agent. 23162 23163 * WebProcess/WebPage/WebPage.cpp: 23164 (WebKit::WebPage::userAgent): 23165 23166 2010-10-27 Adam Roben <aroben (a] apple.com> 23167 23168 Don't call NPP_GetValue if the plugin didn't provide an implementation 23169 23170 Fixes <http://webkit.org/b/48433> Crash in 23171 NetscapePlugin::shouldLoadSrcURL when using Shockwave Director 10.3 in 23172 WebKit2 on Windows 23173 23174 Reviewed by Eric Carlson. 23175 23176 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 23177 (WebKit::NetscapePlugin::NPP_GetValue): Null-check the getvalue pointer 23178 before using it to call NPP_GetValue. 23179 23180 2010-10-27 Balazs Kelemen <kbalazs (a] webkit.org> 23181 23182 Reviewed by Andreas Kling. 23183 23184 [Qt] Assert due to multiple initialization of WebPlatformStrategies 23185 https://bugs.webkit.org/show_bug.cgi?id=48327 23186 23187 We are using the LocalizationStrategy in the UI process 23188 so the previous attempt to fix this (http://trac.webkit.org/changeset/70620) 23189 was wrong. 23190 * UIProcess/API/qt/qwkpage.cpp: 23191 (initializePlatformStrategiesIfNeeded): 23192 Call WebPlatformStrategies::initialize exactly once. 23193 (QWKPagePrivate::QWKPagePrivate): 23194 23195 2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 23196 23197 Reviewed by Andreas Kling. 23198 23199 [Qt] WebKit2 UI process crashes if web process crashes 23200 https://bugs.webkit.org/show_bug.cgi?id=48400 23201 23202 Check the success of socket write operations. 23203 Avoids crashing the UI process if web process has crashed. 23204 Qt socket code segfaults when write is called for a socket 23205 that has had an error. 23206 23207 * Platform/CoreIPC/qt/ConnectionQt.cpp: 23208 (CoreIPC::Connection::platformInvalidate): 23209 Reset m_socket after deletion. 23210 23211 (CoreIPC::Connection::sendOutgoingMessage): 23212 Check error status of write operations and 23213 invalidate socket if writes fail. 23214 23215 2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 23216 23217 Reviewed by Andreas Kling. 23218 23219 [Qt] Type mismatch while serializing/deserializing message id size 23220 https://bugs.webkit.org/show_bug.cgi?id=48401 23221 23222 Use correct types when reading data from connection buffer. 23223 23224 The message id is written as uint32_t, thus the buffer size should be 23225 calculated based on sizeof(uint32_t) and not sizeof(MessageID). 23226 23227 * Platform/CoreIPC/qt/ConnectionQt.cpp: 23228 (CoreIPC::Connection::readyReadHandler): 23229 23230 2010-10-27 Zalan Bujtas <zbujtas (a] gmail.com> 23231 23232 Reviewed by Kenneth Rohde Christiansen. 23233 23234 Multiple WebPlatformStrategy initialization triggers assert in WebCore/PlatformStrategies. 23235 Remove the code for now, as it is not used at all. 23236 https://bugs.webkit.org/show_bug.cgi?id=48327 23237 23238 * UIProcess/API/qt/qwkpage.cpp: 23239 (QWKPagePrivate::QWKPagePrivate): 23240 23241 2010-10-26 Brent Fulgham <bfulgham (a] webkit.org> 23242 23243 Unreviewed build fix. 23244 23245 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 23246 (WebKit::cancelledError): Conditionalize use of CFNetwork calls 23247 and includes. 23248 23249 2010-10-26 Alexey Proskuryakov <ap (a] apple.com> 23250 23251 Build fix. 23252 23253 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Modified original file, not its framework 23254 copy this time. 23255 23256 2010-10-26 Anders Carlsson <andersca (a] apple.com> 23257 23258 Reviewed by Sam Weinig. 23259 23260 Add DownloadManager class 23261 https://bugs.webkit.org/show_bug.cgi?id=48388 23262 23263 * WebKit2.pro: 23264 * WebKit2.xcodeproj/project.pbxproj: 23265 Add new files. 23266 23267 * WebProcess/Downloads/DownloadManager.cpp: Added. 23268 (WebKit::DownloadManager::shared): 23269 (WebKit::DownloadManager::DownloadManager): 23270 * WebProcess/Downloads/DownloadManager.h: Added. 23271 23272 * win/WebKit2.vcproj: 23273 * win/WebKit2Common.vsprops: 23274 Add new files. 23275 23276 2010-10-26 Anders Carlsson <andersca (a] apple.com> 23277 23278 Reviewed by Sam Weinig. 23279 23280 Pass a downloadID to the web process whenever a download is requested 23281 https://bugs.webkit.org/show_bug.cgi?id=48380 23282 23283 * UIProcess/WebContext.cpp: 23284 (WebKit::WebContext::generateDownloadID): 23285 Generate a unique download ID. 23286 23287 * UIProcess/WebPageProxy.cpp: 23288 (WebKit::WebPageProxy::receivedPolicyDecision): 23289 Pass along a download ID if needed. 23290 23291 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23292 (WebKit::WebFrameLoaderClient::startDownload): 23293 Call the web frame member function. 23294 23295 * WebProcess/WebPage/WebFrame.cpp: 23296 (WebKit::WebFrame::WebFrame): 23297 Initialize m_policyDownloadID. 23298 23299 (WebKit::WebFrame::invalidatePolicyListener): 23300 Reset m_policyDownloadID. 23301 23302 (WebKit::WebFrame::didReceivePolicyDecision): 23303 Set m_policyDownloadID. 23304 23305 (WebKit::WebFrame::startDownload): 23306 Assert that m_policyDownloadID is not zero. 23307 23308 * WebProcess/WebPage/WebPage.cpp: 23309 (WebKit::WebPage::didReceivePolicyDecision): 23310 Pass along the download ID. 23311 23312 * WebProcess/WebPage/WebPage.messages.in: 23313 Add the download ID. 23314 23315 2010-10-26 Alexey Proskuryakov <ap (a] apple.com> 23316 23317 Reviewed by Sam Weinig. 23318 23319 https://bugs.webkit.org/show_bug.cgi?id=48375 23320 <rdar://problem/8392724> Need delegate calls in PageLoaderClient to indicate if we have 23321 loaded insecure content 23322 23323 Added the delegate. Just like the bundle version, it misses WebOrigin parameter that Mac 23324 delegate call used to have. It doesn't seem necessary for clients. 23325 23326 * UIProcess/API/C/WKPage.h: 23327 * UIProcess/API/qt/qwkpage.cpp: 23328 (QWKPage::QWKPage): 23329 * UIProcess/WebLoaderClient.cpp: 23330 (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame): 23331 (WebKit::WebLoaderClient::didRunInsecureContentForFrame): 23332 * UIProcess/WebLoaderClient.h: 23333 * UIProcess/WebPageProxy.cpp: 23334 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 23335 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 23336 * UIProcess/WebPageProxy.h: 23337 * UIProcess/WebPageProxy.messages.in: 23338 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 23339 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 23340 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 23341 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 23342 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 23343 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23344 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): 23345 (WebKit::WebFrameLoaderClient::didRunInsecureContent): 23346 23347 2010-10-26 Jenn Braithwaite <jennb (a] chromium.org> 23348 23349 Reviewed by Dmitry Titov. 23350 23351 Resource tracking failure when trying to move a frame between documents 23352 https://bugs.webkit.org/show_bug.cgi?id=44713 23353 23354 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23355 (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage): 23356 Empty method. 23357 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 23358 23359 2010-10-26 Jessie Berlin <jberlin (a] apple.com> 23360 23361 Reviewed by Darin Adler. 23362 23363 Post any pending messages to the Injected Bundle in WebContext::processDidFinishLaunching 23364 instead of in WebContext::ensureWebProcess. 23365 https://bugs.webkit.org/show_bug.cgi?id=48367 23366 23367 Send pending injected bundle messages after the process finished launching instead of of 23368 directly after creating it. 23369 23370 * UIProcess/WebContext.cpp: 23371 (WebKit::WebContext::ensureWebProcess): 23372 Move the logic to dispatch pending injected bundle messages from here ... 23373 (WebKit::WebContext::processDidFinishLaunching): 23374 ... to here. 23375 Also use a reference instead of a pointer when sending the pending messages. 23376 23377 2010-10-26 Anders Carlsson <andersca (a] apple.com> 23378 23379 Reviewed by Sam Weinig. 23380 23381 pageDidScroll callback should be on the UI process client rather than (or in addition to) the web process client 23382 https://bugs.webkit.org/show_bug.cgi?id=48366 23383 23384 * UIProcess/API/qt/qwkpage.cpp: 23385 (QWKPage::QWKPage): 23386 Add zero initializer. 23387 23388 * UIProcess/WebPageProxy.cpp: 23389 (WebKit::WebPageProxy::pageDidScroll): 23390 Call the pageDidScroll client function. 23391 23392 * UIProcess/WebPageProxy.messages.in: 23393 Add PageDidScroll message. 23394 23395 * WebProcess/WebPage/WebPage.cpp: 23396 (WebKit::WebPage::pageDidScroll): 23397 Send the PageDidScroll message. 23398 23399 2010-10-26 Brian Weinstein <bweinstein (a] apple.com> 23400 23401 Reviewed by Darin Adler. 23402 23403 Need a way to retrieve custom user agent from a WKPage 23404 https://bugs.webkit.org/show_bug.cgi?id=48360 23405 <rdar://problem/8466537> 23406 23407 Add an exported function on WKPage to get the page's custom user agent. 23408 23409 * UIProcess/API/C/WKPage.cpp: 23410 (WKPageCopyCustomUserAgent): Exported function that returns the custom user 23411 agent. 23412 * UIProcess/API/C/WKPage.h: 23413 * UIProcess/WebPageProxy.cpp: 23414 (WebKit::WebPageProxy::close): Clear the custom user agent string. 23415 (WebKit::WebPageProxy::processDidCrash): Ditto. 23416 (WebKit::WebPageProxy::setCustomUserAgent): Add a new early return if we're setting 23417 the custom user agent to what it was before, and set the custom user agent member 23418 variable. 23419 * UIProcess/WebPageProxy.h: 23420 (WebKit::WebPageProxy::customUserAgent): Returns the custom user agent. 23421 23422 2010-10-26 Simon Fraser <simon.fraser (a] apple.com> 23423 23424 Reviewed by Sam Weinig. 23425 23426 Support layoutTestController.layerTreeAsText in WebKitTestRunner 23427 https://bugs.webkit.org/show_bug.cgi?id=42145 23428 23429 Expose layerTreeAsText() as private API so that 23430 WebKitTestRunner can use it. 23431 23432 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 23433 (WKBundleFrameCopyLayerTreeAsText): 23434 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 23435 * WebProcess/WebPage/WebFrame.cpp: 23436 (WebKit::WebFrame::numberOfActiveAnimations): 23437 (WebKit::WebFrame::layerTreeAsText): 23438 (WebKit::WebFrame::pendingUnloadCount): 23439 * WebProcess/WebPage/WebFrame.h: 23440 23441 2010-10-26 Anders Carlsson <andersca (a] apple.com> 23442 23443 Reviewed by Sam Weinig. 23444 23445 Enable the plug-in process on Mac 23446 https://bugs.webkit.org/show_bug.cgi?id=48350 23447 23448 * WebKit2Prefix.h: 23449 Flip the switch and enable the plug-in process on Mac. 23450 23451 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 23452 (WebKit::NetscapePlugin::platformDestroy): 23453 Fix a bogus assert. 23454 23455 2010-10-26 Zoltan Horvath <zoltan (a] webkit.org> 23456 23457 Reviewed by Kenneth Rohde Christiansen. 23458 23459 [Qt] Implement SharedMemory for WebKit2 23460 https://bugs.webkit.org/show_bug.cgi?id=47345 23461 23462 Implement unimplemented functions in SharedMemoryQt.cpp. 23463 Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from 23464 Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro. 23465 Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary 23466 methods of MappedMemoryPool. 23467 23468 * Platform/SharedMemory.h: Add a handle member for Qt. 23469 * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp. 23470 (WebKit::MappedMemoryPool::searchForMappedMemory): 23471 (WebKit::MappedMemoryPool::mapMemory): 23472 (WebKit::MappedMemoryPool::mapFile): 23473 * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h. 23474 (WebKit::MappedMemoryPool::MappedMemory::mapSize): 23475 (WebKit::MappedMemoryPool::MappedMemory::markUsed): 23476 (WebKit::MappedMemoryPool::MappedMemory::markFree): 23477 (WebKit::MappedMemoryPool::MappedMemory::isFree): 23478 (WebKit::MappedMemoryPool::MappedMemory::data): 23479 (WebKit::MappedMemoryPool::MappedMemoryPool): 23480 Move MappedMemory implementation into MappedMemoryPool. 23481 * Platform/qt/SharedMemoryQt.cpp: 23482 (WebKit::SharedMemory::Handle::Handle): Implement. 23483 (WebKit::SharedMemory::Handle::~Handle): 23484 (WebKit::SharedMemory::Handle::isNull): Implement. 23485 (WebKit::SharedMemory::Handle::encode): Implement. 23486 (WebKit::SharedMemory::Handle::decode): Implement. 23487 (WebKit::SharedMemory::create): Implement. 23488 (WebKit::mapProtection): Added. 23489 (WebKit::SharedMemory::~SharedMemory): Implement. 23490 (WebKit::SharedMemory::createHandle): Implement. 23491 (WebKit::SharedMemory::systemPageSize): Implement. 23492 * Shared/qt/MappedMemory.h: Removed. 23493 * Shared/qt/MappedMemoryPool.cpp: Removed. 23494 * Shared/qt/UpdateChunk.cpp: 23495 (WebKit::UpdateChunk::UpdateChunk): 23496 (WebKit::UpdateChunk::decode): 23497 Modify to use MappedMemoryPool. 23498 * Shared/qt/UpdateChunk.h: 23499 * WebKit2.pro: 23500 Modify affected lines. 23501 23502 2010-10-25 Anders Carlsson <andersca (a] apple.com> 23503 23504 Reviewed by Sam Weinig. 23505 23506 WebKit2 callbacks for findString() and countMatchesForString() should report whether the match count was exceeded 23507 https://bugs.webkit.org/show_bug.cgi?id=48285 23508 <rdar://problem/8576318> 23509 23510 * UIProcess/API/C/WKPage.h: 23511 Add a kWKMoreThanMaximumMatchCount constant. 23512 23513 * WebProcess/WebPage/FindController.cpp: 23514 (WebKit::FindController::findString): 23515 If we get back more matches than allowed, send kWKMoreThanMaximumMatchCount as the match constant. 23516 23517 2010-10-25 Dan Bernstein <mitz (a] apple.com> 23518 23519 Non-Carbon build fix. 23520 23521 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 23522 (WebKit::NetscapePlugin::windowFrameChanged): 23523 23524 2010-10-25 Timothy Hatcher <timothy (a] apple.com> 23525 23526 Stub out WebInspector objects and WKInspectorRef API. 23527 23528 https://webkit.org/b/48265 23529 23530 Reviewed by Anders Carlsson. 23531 23532 * Platform/CoreIPC/MessageID.h: Added MessageClassWebInspector and MessageClassWebInspectorProxy. 23533 * Shared/API/c/WKBase.h: Added WKInspectorRef. 23534 * Shared/APIObject.h: Added TypeInspector. 23535 * UIProcess/API/C/WKAPICast.h: Added WKInspectorRef to WebInspectorProxy mapping. 23536 * UIProcess/API/C/WKInspector.cpp: Added. 23537 (WKInspectorGetTypeID): 23538 (WKInspectorGetPage): 23539 * UIProcess/API/C/WKInspector.h: Added. 23540 * UIProcess/API/C/WKPage.cpp: 23541 (WKPageGetInspector): Added. 23542 * UIProcess/API/C/WKPage.h: 23543 * UIProcess/WebInspectorProxy.cpp: Added. 23544 (WebKit::WebInspectorProxy::WebInspectorProxy): 23545 (WebKit::WebInspectorProxy::~WebInspectorProxy): 23546 (WebKit::WebInspectorProxy::invalidate): 23547 * UIProcess/WebInspectorProxy.h: 23548 (WebKit::WebInspectorProxy::create): 23549 (WebKit::WebInspectorProxy::page): 23550 (WebKit::WebInspectorProxy::type): 23551 * UIProcess/WebPageProxy.cpp: 23552 (WebKit::WebPageProxy::inspector): Lazily create the WebInspectorProxy. 23553 * UIProcess/WebPageProxy.h: 23554 * WebKit2.pro: Added new files. 23555 * WebKit2.xcodeproj/project.pbxproj: Added new files. 23556 * WebProcess/WebPage/WebInspector.cpp: Added. 23557 (WebKit::WebInspector::WebInspector): 23558 * WebProcess/WebPage/WebInspector.h: Added. 23559 * WebProcess/WebPage/WebPage.cpp: 23560 (WebKit::WebPage::inspector): Lazily create the WebInspector. 23561 * WebProcess/WebPage/WebPage.h: 23562 * win/WebKit2.vcproj: Added new files. 23563 23564 2010-10-25 Anders Carlsson <andersca (a] apple.com> 23565 23566 Reviewed by Dan Bernstein. 23567 23568 Update the fake Carbon window when the window frame changes 23569 https://bugs.webkit.org/show_bug.cgi?id=48273 23570 23571 * UIProcess/API/mac/WKView.mm: 23572 (screenForWindow): 23573 (-[WKView _updateWindowFrame]): 23574 Pass the window frame in Carbon coordinates. 23575 23576 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 23577 (WebKit::NetscapePlugin::windowFrameChanged): 23578 Update the window bounds. 23579 23580 * WebProcess/Plugins/PluginView.cpp: 23581 (WebKit::PluginView::setWindowFrame): 23582 Call the plug-in. 23583 23584 (WebKit::PluginView::platformLayer): 23585 Fix a crash when WebCore asked for the layer before it was initialized. 23586 23587 2010-10-25 Oliver Hunt <oliver (a] apple.com> 23588 23589 Reviewed by Gavin Barraclough. 23590 23591 Remove exec and globalData arguments from jsNumber 23592 https://bugs.webkit.org/show_bug.cgi?id=48270 23593 23594 Mechanical removal of exec parameter to jsNumber 23595 23596 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 23597 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): 23598 23599 2010-10-25 Anders Carlsson <andersca (a] apple.com> 23600 23601 Reviewed by Darin Adler. 23602 23603 Replace matchCountDidChange with didFindString/didFailToFindString 23604 https://bugs.webkit.org/show_bug.cgi?id=48262 23605 <rdar://problem/8568928> 23606 23607 * UIProcess/API/C/WKPage.h: 23608 * UIProcess/WebFindClient.cpp: 23609 (WebKit::WebFindClient::didFindString): 23610 (WebKit::WebFindClient::didFailToFindString): 23611 * UIProcess/WebFindClient.h: 23612 * UIProcess/WebPageProxy.cpp: 23613 (WebKit::WebPageProxy::didFindString): 23614 (WebKit::WebPageProxy::didFailToFindString): 23615 * UIProcess/WebPageProxy.h: 23616 * UIProcess/WebPageProxy.messages.in: 23617 * WebProcess/WebPage/FindController.cpp: 23618 (WebKit::FindController::findString): 23619 23620 2010-10-25 Anders Carlsson <andersca (a] apple.com> 23621 23622 Reviewed by Adam Roben. 23623 23624 Add a pageDidScroll BundleUIClient callback 23625 https://bugs.webkit.org/show_bug.cgi?id=48260 23626 <rdar://problem/8531159> 23627 23628 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 23629 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 23630 (WebKit::InjectedBundlePageUIClient::pageDidScroll): 23631 Call the pageDidScroll callback. 23632 23633 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 23634 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 23635 (WebKit::WebChromeClient::invalidateContentsForSlowScroll): 23636 (WebKit::WebChromeClient::scroll): 23637 Call pageDidScroll. 23638 23639 * WebProcess/WebPage/WebPage.cpp: 23640 (WebKit::WebPage::pageDidScroll): 23641 Hide the find banner UI and call the BundleUIClient pageDidScroll callback. 23642 23643 2010-10-25 Brian Weinstein <bweinstein (a] apple.com> 23644 23645 Reviewed by Adam Roben. 23646 23647 Control + Mousewheel shouldn't be handled in WebKit2 23648 https://bugs.webkit.org/show_bug.cgi?id=48253 23649 23650 Don't handle a wheel event if Control is pressed, pass the message back to DefWindowProc. 23651 23652 * UIProcess/win/WebView.cpp: 23653 (WebKit::WebView::onWheelEvent): 23654 23655 2010-10-25 Sam Weinig <sam (a] webkit.org> 23656 23657 Reviewed by Dan Bernstein. 23658 23659 cancelledError for WebKit2 on windows should use kCFErrorDomainCFNetwork instead of webKitErrorDomain 23660 https://bugs.webkit.org/show_bug.cgi?id=48254 23661 23662 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 23663 (WebKit::cancelledError): Use kCFErrorDomainCFNetwork instead of webKitErrorDomain and switch over 23664 to using kCFURLErrorCancelled instead of a hard coded constant. 23665 23666 2010-10-25 Sam Weinig <sam (a] webkit.org> 23667 23668 Reviewed by Anders Carlsson. 23669 23670 Need WebKit2 API to figure out if a frame can provide source 23671 <rdar://problem/8424632> 23672 https://bugs.webkit.org/show_bug.cgi?id=48252 23673 23674 * UIProcess/API/C/WKFrame.cpp: 23675 (WKFrameCanProvideSource): 23676 * UIProcess/API/C/WKFrame.h: 23677 * UIProcess/WebFrameProxy.cpp: 23678 (WebKit::WebFrameProxy::canProvideSource): 23679 * UIProcess/WebFrameProxy.h: 23680 Add API to figure out if a frame can provide source based on its 23681 MIME type. 23682 23683 2010-10-25 Anders Carlsson <andersca (a] apple.com> 23684 23685 Reviewed by Dan Bernstein. 23686 23687 Java applets don't display on the page 23688 https://bugs.webkit.org/show_bug.cgi?id=48251 23689 <rdar://problem/8483759> 23690 23691 Add WKPreferencesSetJavaEnabled and initialize it to true by default, matching old WebKit. 23692 23693 * Shared/WebPreferencesStore.cpp: 23694 (WebKit::WebPreferencesStore::WebPreferencesStore): 23695 Initialize javaEnabled. 23696 23697 (WebKit::WebPreferencesStore::encode): 23698 Encode javaEnabled. 23699 23700 (WebKit::WebPreferencesStore::decode): 23701 Decode javaEnabled. 23702 23703 * Shared/WebPreferencesStore.h: 23704 Add javaEnabled. 23705 23706 * UIProcess/API/C/WKPreferences.cpp: 23707 (WKPReferencesSetJavaEnabled): 23708 (WKPReferencesGetJavaEnabled): 23709 Call the WebPreferences functions. 23710 23711 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23712 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): 23713 Just call createPlugin. 23714 23715 * WebProcess/WebPage/WebPage.cpp: 23716 (WebKit::WebPage::updatePreferences): 23717 Call Settings::setJavaEnabled. 23718 23719 2010-10-25 Patrick Gansterer <paroga (a] webkit.org> 23720 23721 Reviewed by David Kilzer. 23722 23723 Replace _countof with WTF_ARRAY_LENGTH 23724 https://bugs.webkit.org/show_bug.cgi?id=48229 23725 23726 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 23727 (WebKit::ProcessLauncher::launchProcess): 23728 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 23729 (WebKit::safariPluginsDirectory): 23730 (WebKit::addMozillaPluginDirectories): 23731 (WebKit::addWindowsMediaPlayerPluginDirectory): 23732 (WebKit::addAdobeAcrobatPluginDirectory): 23733 (WebKit::addMacromediaPluginDirectories): 23734 (WebKit::addPluginPathsFromRegistry): 23735 * WebProcess/WebPage/win/WebPageWin.cpp: 23736 (WebKit::WebPage::interpretKeyEvent): 23737 23738 2010-10-25 Adam Roben <aroben (a] apple.com> 23739 23740 Stop copying .messages.in files into WebKit2's framework bundle 23741 23742 Fixes <http://webkit.org/b/48232> Several .messages.in files end up in 23743 WebKit2's framework bundle 23744 23745 Reviewed by Dan Bernstein. 23746 23747 * WebKit2.xcodeproj/project.pbxproj: 23748 23749 2010-10-25 Andras Becsi <abecsi (a] webkit.org> 23750 23751 Reviewed by Csaba Osztrogonc. 23752 23753 [Qt] Fix the WebKit2 build after sheriffbot messed up the rollout patch. 23754 https://bugs.webkit.org/show_bug.cgi?id=48238 23755 23756 * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h. 23757 (WebKit::MappedMemory::mapSize): 23758 (WebKit::MappedMemory::markUsed): 23759 (WebKit::MappedMemory::markFree): 23760 (WebKit::MappedMemory::isFree): 23761 (WebKit::MappedMemory::data): 23762 23763 2010-10-25 Sheriff Bot <webkit.review.bot (a] gmail.com> 23764 23765 Unreviewed, rolling out r70450. 23766 http://trac.webkit.org/changeset/70450 23767 https://bugs.webkit.org/show_bug.cgi?id=48238 23768 23769 Causes WTR to crash on tests which use SharedMemory. 23770 (Requested by bbandix on #webkit). 23771 23772 * Platform/SharedMemory.h: 23773 * Platform/qt/MappedMemoryPool.cpp: Removed. 23774 * Platform/qt/SharedMemoryQt.cpp: 23775 (WebKit::SharedMemory::Handle::Handle): 23776 (WebKit::SharedMemory::Handle::~Handle): 23777 (WebKit::SharedMemory::Handle::encode): 23778 (WebKit::SharedMemory::Handle::decode): 23779 (WebKit::SharedMemory::create): 23780 (WebKit::SharedMemory::~SharedMemory): 23781 (WebKit::SharedMemory::createHandle): 23782 (WebKit::SharedMemory::systemPageSize): 23783 * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h. 23784 (WebKit::MappedMemory::mapSize): 23785 (WebKit::MappedMemory::markUsed): 23786 (WebKit::MappedMemory::markFree): 23787 (WebKit::MappedMemory::isFree): 23788 (WebKit::MappedMemory::data): 23789 * Shared/qt/MappedMemoryPool.cpp: Added. 23790 (WebKit::MappedMemoryPool::MappedMemoryPool): 23791 (WebKit::MappedMemoryPool::instance): 23792 (WebKit::MappedMemoryPool::size): 23793 (WebKit::MappedMemoryPool::at): 23794 (WebKit::MappedMemoryPool::append): 23795 (WebKit::MappedMemoryPool::cleanUp): 23796 * Shared/qt/UpdateChunk.cpp: 23797 (WebKit::mapMemory): 23798 (WebKit::mapFile): 23799 (WebKit::UpdateChunk::UpdateChunk): 23800 (WebKit::UpdateChunk::decode): 23801 * Shared/qt/UpdateChunk.h: 23802 * WebKit2.pro: 23803 23804 2010-10-25 Zoltan Horvath <zoltan (a] webkit.org> 23805 23806 Reviewed by Kenneth Rohde Christiansen. 23807 23808 [Qt] Implement SharedMemory for WebKit2 23809 https://bugs.webkit.org/show_bug.cgi?id=47345 23810 23811 Implement unimplemented functions in SharedMemoryQt.cpp. 23812 Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from 23813 Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro. 23814 Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary 23815 methods of MappedMemoryPool. 23816 23817 * Platform/SharedMemory.h: Add a handle member for Qt. 23818 * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp. 23819 (WebKit::MappedMemoryPool::searchForMappedMemory): 23820 (WebKit::MappedMemoryPool::mapMemory): 23821 (WebKit::MappedMemoryPool::mapFile): 23822 * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h. 23823 (WebKit::MappedMemoryPool::MappedMemory::mapSize): 23824 (WebKit::MappedMemoryPool::MappedMemory::markUsed): 23825 (WebKit::MappedMemoryPool::MappedMemory::markFree): 23826 (WebKit::MappedMemoryPool::MappedMemory::isFree): 23827 (WebKit::MappedMemoryPool::MappedMemory::data): 23828 (WebKit::MappedMemoryPool::MappedMemoryPool): 23829 Move MappedMemory implementation into MappedMemoryPool. 23830 * Platform/qt/SharedMemoryQt.cpp: 23831 (WebKit::SharedMemory::Handle::Handle): Implement. 23832 (WebKit::SharedMemory::Handle::~Handle): 23833 (WebKit::SharedMemory::Handle::isNull): Implement. 23834 (WebKit::SharedMemory::Handle::encode): Implement. 23835 (WebKit::SharedMemory::Handle::decode): Implement. 23836 (WebKit::SharedMemory::create): Implement. 23837 (WebKit::mapProtection): Added. 23838 (WebKit::SharedMemory::~SharedMemory): Implement. 23839 (WebKit::SharedMemory::createHandle): Implement. 23840 (WebKit::SharedMemory::systemPageSize): Implement. 23841 * Shared/qt/MappedMemory.h: Removed. 23842 * Shared/qt/MappedMemoryPool.cpp: Removed. 23843 * Shared/qt/UpdateChunk.cpp: 23844 (WebKit::UpdateChunk::UpdateChunk): 23845 (WebKit::UpdateChunk::decode): 23846 Modify to use MappedMemoryPool. 23847 * Shared/qt/UpdateChunk.h: 23848 * WebKit2.pro: 23849 Modify affected lines. 23850 23851 2010-10-24 Sam Weinig <sam (a] webkit.org> 23852 23853 Reviewed by Dan Bernstein. 23854 23855 Need a way to determine the screen rect for a form control in WebKit2 23856 <rdar://problem/8530670> 23857 https://bugs.webkit.org/show_bug.cgi?id=48216 23858 23859 * Shared/API/c/WKSharedAPICast.h: 23860 (WebKit::toAPI): 23861 Add conversion from IntRect to WKRect. 23862 23863 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 23864 (WKBundleNodeHandleGetElementBounds): 23865 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 23866 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 23867 (WebKit::InjectedBundleNodeHandle::elementBounds): 23868 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 23869 Add SPI to get the rect in window space. The client can then convert this to screen 23870 space if they wish to. 23871 23872 2010-10-23 Xan Lopez <xlopez (a] igalia.com> 23873 23874 Reviewed by Sam Weinig. 23875 23876 Unify globalData APIs 23877 https://bugs.webkit.org/show_bug.cgi?id=47969 23878 23879 Adapt code to JSGlobalObject::globalData returning a reference 23880 instead of a pointer. 23881 23882 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 23883 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 23884 (WebKit::NPRuntimeObjectMap::evaluate): 23885 23886 2010-10-23 Alexey Proskuryakov <ap (a] apple.com> 23887 23888 Reviewed by Anders Carlsson. 23889 23890 https://bugs.webkit.org/show_bug.cgi?id=48083 23891 <rdar://problem/8489082> Need WebKit2 API for private browsing (48083) 23892 23893 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface): 23894 Initialize the new method. 23895 23896 2010-10-21 Timothy Hatcher <timothy (a] apple.com> 23897 23898 Stub out WebInspectorFrontendClient. 23899 23900 https://bugs.webkit.org/show_bug.cgi?id=48091 23901 23902 Reviewed by Adam Roben. 23903 23904 * WebKit2.pro: Added WebInspectorFrontendClient.{cpp,h}. 23905 * WebKit2.xcodeproj/project.pbxproj: Added WebInspectorFrontendClient.{cpp,h}. 23906 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Added. 23907 (WebKit::WebInspectorFrontendClient::windowObjectCleared): Added. 23908 (WebKit::WebInspectorFrontendClient::frontendLoaded): Added. 23909 (WebKit::WebInspectorFrontendClient::moveWindowBy): Added. 23910 (WebKit::WebInspectorFrontendClient::localizedStringsURL): Added. 23911 (WebKit::WebInspectorFrontendClient::hiddenPanels): Added. 23912 (WebKit::WebInspectorFrontendClient::bringToFront): Added. 23913 (WebKit::WebInspectorFrontendClient::closeWindow): Added. 23914 (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Added. 23915 (WebKit::WebInspectorFrontendClient::requestAttachWindow): Added. 23916 (WebKit::WebInspectorFrontendClient::requestDetachWindow): Added. 23917 (WebKit::WebInspectorFrontendClient::changeAttachedWindowHeight): Added. 23918 (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Added. 23919 (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Added. 23920 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Added. 23921 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): Added. 23922 * win/WebKit2.vcproj: Added WebInspectorFrontendClient.{cpp,h}. 23923 23924 2010-10-21 Timothy Hatcher <timothy (a] apple.com> 23925 23926 Remove stale stubs that are not longer part of InspectorClient. 23927 23928 https://bugs.webkit.org/show_bug.cgi?id=48090 23929 23930 Reviewed by Adam Roben. 23931 23932 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 23933 * WebProcess/WebCoreSupport/WebInspectorClient.h: 23934 23935 2010-10-22 Andy Estes <aestes (a] apple.com> 23936 23937 Reviewed by Adam Roben and Sam Weinig. 23938 23939 WebKit shouldn't load a plug-in based on file extension if a MIME type 23940 is specified. 23941 https://bugs.webkit.org/show_bug.cgi?id=48046 23942 23943 The fix landed in r70332 only covered the Mac port. Implement this fix 23944 for WebKit2 as well. 23945 23946 * UIProcess/Plugins/PluginInfoStore.cpp: 23947 (WebKit::PluginInfoStore::findPlugin): 23948 23949 2010-10-22 Anders Carlsson <andersca (a] apple.com> 23950 23951 Fix clang++ build. 23952 23953 * Scripts/webkit2/messages.py: 23954 23955 2010-10-22 Anders Carlsson <andersca (a] apple.com> 23956 23957 Fix build. 23958 23959 * UIProcess/API/qt/qwkpage_p.h: 23960 (QWKPagePrivate::didRelaunchProcess): 23961 * UIProcess/win/WebView.cpp: 23962 (WebKit::WebView::didRelaunchProcess): 23963 * UIProcess/win/WebView.h: 23964 * WebKit2.xcodeproj/project.pbxproj: 23965 23966 2010-10-22 Anders Carlsson <andersca (a] apple.com> 23967 23968 Reviewed by Sam Weinig. 23969 23970 WebContext::ensureWebProcess shouldn't send multiple InitializeWebProcess messages. 23971 https://bugs.webkit.org/show_bug.cgi?id=48158 23972 <rdar://problem/8512572> 23973 23974 If the web process was launching when another call to ensureWebProcess is sent, we 23975 would end up sending another InitializeWebProcess message to it which would result 23976 in assertions firing. Fix this by only checking for m_process, and not requiring a process 23977 to be valid (which it won't be until it's finished launching). 23978 23979 * UIProcess/WebContext.cpp: 23980 (WebKit::WebContext::ensureWebProcess): 23981 23982 2010-10-22 Anders Carlsson <andersca (a] apple.com> 23983 23984 Reviewed by Sam Weinig. 23985 23986 Rename revive to relaunch everywhere. 23987 23988 * UIProcess/API/mac/PageClientImpl.h: 23989 * UIProcess/API/mac/PageClientImpl.mm: 23990 (WebKit::PageClientImpl::didRelaunchProcess): 23991 * UIProcess/API/mac/WKView.mm: 23992 (-[WKView _didRelaunchProcess]): 23993 * UIProcess/API/mac/WKViewInternal.h: 23994 * UIProcess/PageClient.h: 23995 * UIProcess/WebContext.cpp: 23996 (WebKit::WebContext::relaunchProcessIfNecessary): 23997 * UIProcess/WebContext.h: 23998 * UIProcess/WebPageNamespace.h: 23999 * UIProcess/WebPageProxy.cpp: 24000 (WebKit::WebPageProxy::relaunch): 24001 (WebKit::WebPageProxy::initializeWebPage): 24002 (WebKit::WebPageProxy::loadURL): 24003 (WebKit::WebPageProxy::loadURLRequest): 24004 * UIProcess/WebPageProxy.h: 24005 24006 2010-10-22 Anders Carlsson <andersca (a] apple.com> 24007 24008 Reviewed by Adam Roben. 24009 24010 Fix assert when a NetscapePluginModule loses its last NetscapePlugin. 24011 https://bugs.webkit.org/show_bug.cgi?id=48155 24012 24013 (The assert in question is ASSERT(pluginModuleIndex != notFound) in 24014 NetscapePluginModule::shutdown()). 24015 24016 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 24017 (WebKit::NetscapePluginModule::pluginCreated): 24018 If we didn't have any live plug-ins, load the plug-in module. 24019 24020 (WebKit::NetscapePluginModule::pluginDestroyed): 24021 If this was the last plug-in, unload the plug-in module. 24022 24023 (WebKit::NetscapePluginModule::shutdown): 24024 Set m_isInitialized to false. 24025 24026 (WebKit::NetscapePluginModule::load): 24027 Don't do anything if the plug-in module has already been initialized. 24028 24029 (WebKit::NetscapePluginModule::unload): 24030 Assert that we're not initialized. 24031 24032 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 24033 (WebKit::NetscapePlugin::platformPostInitialize): 24034 Assert that we successfully created the window. 24035 24036 2010-10-22 Jessie Berlin <jberlin (a] apple.com> 24037 24038 Reviewed by Anders Carlsson. 24039 24040 Crash in Connection::isValid when called in response to 24041 VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessProxy::didClose was 24042 already called. 24043 https://bugs.webkit.org/show_bug.cgi?id=48153 24044 24045 * UIProcess/VisitedLinkProvider.cpp: 24046 (WebKit::VisitedLinkProvider::stopVisitedLinksTimer): 24047 * UIProcess/VisitedLinkProvider.h: 24048 24049 * UIProcess/WebContext.cpp: 24050 (WebKit::WebContext::processDidClose): 24051 Stop the pendingVisitedLinksTimer and null out the process. 24052 * UIProcess/WebContext.h: 24053 24054 * UIProcess/WebProcessProxy.cpp: 24055 (WebKit::WebProcessProxy::didClose): 24056 Tell the WebContext that the WebProcess did close. 24057 24058 2010-10-22 Sam Weinig <sam (a] webkit.org> 24059 24060 Fix Qt build. 24061 24062 * UIProcess/API/qt/ClientImpl.h: 24063 24064 2010-10-22 Sam Weinig <sam (a] webkit.org> 24065 24066 Reviewed by Anders Carlsson. 24067 24068 WebKit2 needs to pass the current event modifier flags when requesting a new window 24069 https://bugs.webkit.org/show_bug.cgi?id=48140 24070 24071 In addition to passing modifier flags from the now passed NavigationAction, also pass 24072 the WindowFeatures to the UIProcess. 24073 24074 * Platform/CoreIPC/HandleMessage.h: 24075 (CoreIPC::callMemberFunction): 24076 * Shared/WebCoreArgumentCoders.h: 24077 * Shared/WebEvent.h: 24078 (WebKit::WebEvent::modifiers): 24079 * UIProcess/API/C/WKPage.h: 24080 * UIProcess/WebPageProxy.cpp: 24081 (WebKit::WebPageProxy::createNewPage): 24082 * UIProcess/WebPageProxy.h: 24083 * UIProcess/WebPageProxy.messages.in: 24084 * UIProcess/WebUIClient.cpp: 24085 (WebKit::WebUIClient::createNewPage): 24086 * UIProcess/WebUIClient.h: 24087 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 24088 (WebKit::WebChromeClient::createWindow): 24089 * WebProcess/WebCoreSupport/WebChromeClient.h: 24090 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24091 (WebKit::WebFrameLoaderClient::dispatchCreatePage): 24092 (WebKit::modifiersForNavigationAction): 24093 (WebKit::mouseButtonForNavigationAction): 24094 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 24095 24096 2010-10-22 Anders Carlsson <andersca (a] apple.com> 24097 24098 Reviewed by Sam Weinig. 24099 24100 Rename processDidExit to processDidCrash 24101 https://bugs.webkit.org/show_bug.cgi?id=48146 24102 24103 * UIProcess/API/C/WKPage.h: 24104 * UIProcess/API/mac/PageClientImpl.h: 24105 * UIProcess/API/mac/PageClientImpl.mm: 24106 (WebKit::PageClientImpl::processDidCrash): 24107 * UIProcess/API/mac/WKView.mm: 24108 (-[WKView _processDidCrash]): 24109 * UIProcess/API/mac/WKViewInternal.h: 24110 * UIProcess/API/qt/qwkpage.cpp: 24111 (QWKPage::QWKPage): 24112 * UIProcess/API/qt/qwkpage_p.h: 24113 (QWKPagePrivate::processDidCrash): 24114 * UIProcess/PageClient.h: 24115 * UIProcess/WebLoaderClient.cpp: 24116 (WebKit::WebLoaderClient::processDidBecomeUnresponsive): 24117 (WebKit::WebLoaderClient::processDidBecomeResponsive): 24118 (WebKit::WebLoaderClient::processDidCrash): 24119 * UIProcess/WebLoaderClient.h: 24120 * UIProcess/WebPageProxy.cpp: 24121 (WebKit::WebPageProxy::processDidBecomeUnresponsive): 24122 (WebKit::WebPageProxy::processDidBecomeResponsive): 24123 (WebKit::WebPageProxy::processDidCrash): 24124 * UIProcess/WebPageProxy.h: 24125 * UIProcess/WebProcessProxy.cpp: 24126 (WebKit::WebProcessProxy::didClose): 24127 * UIProcess/win/WebView.cpp: 24128 (WebKit::WebView::processDidCrash): 24129 * UIProcess/win/WebView.h: 24130 24131 2010-10-22 Dan Bernstein <mitz (a] apple.com> 24132 24133 Reviewed by Sam Weinig. 24134 24135 Corrected target dependencies. 24136 24137 * WebKit2.xcodeproj/project.pbxproj: Made WebKit2 depend on DerivedSources and removed 24138 the explicit dependency of All on DerivedSources and WebKit2, since WebProcess depends on 24139 them. 24140 24141 2010-10-20 Jon Honeycutt <jhoneycutt (a] apple.com> 24142 24143 <rdar://problem/8423766> Cursor does not become "busy" when a page is 24144 loading with WebKit2 24145 24146 Reviewed by Sam Weinig. 24147 24148 * UIProcess/API/C/win/WKViewPrivate.cpp: Added. 24149 (WKViewSetOverrideCursor): 24150 Call the WebView's setOverrideCursor(). 24151 24152 * UIProcess/API/C/win/WKViewPrivate.h: Added. 24153 Declare WKViewSetOVerrideCursor(). 24154 24155 * UIProcess/win/WebView.cpp: 24156 (WebKit::WebView::WebView): 24157 Initialize new member vars to 0. 24158 (WebKit::WebView::updateNativeCursor): 24159 If there is an override cursor, and the last cursor set from the web 24160 process was the arrow cursor, use the override cursor. Otherwise, use 24161 the cursor from the web process. 24162 (WebKit::WebView::setCursor): 24163 Record the web process's cursor, and call updateNativeCursor(). 24164 (WebKit::WebView::setOverrideCursor): 24165 Record the override cursor, and call updateNativeCursor(). 24166 24167 * UIProcess/win/WebView.h: 24168 Declare setOverrideCursor() and updateNativeCursor(). Add members to 24169 hold the last cursor set from the web process and the override cursor. 24170 24171 * win/WebKit2.vcproj: 24172 Add new files to project. 24173 24174 * win/WebKit2Generated.make: 24175 Copy WKViewPrivate.h with other headers. 24176 24177 2010-10-21 Anders Carlsson <andersca (a] apple.com> 24178 24179 Reviewed by Adam Roben. 24180 24181 Crash evaluating JavaScript string that throws an exception 24182 https://bugs.webkit.org/show_bug.cgi?id=48092 24183 <rdar://problem/8487657> 24184 24185 * UIProcess/WebProcessProxy.cpp: 24186 (WebKit::WebProcessProxy::sendMessage): 24187 m_connection can be null here; just return false if that is the case. 24188 24189 * WebProcess/WebPage/WebPage.cpp: 24190 (WebKit::WebPage::runJavaScriptInMainFrame): 24191 If the JSValue returned is null we just send along a null string. 24192 24193 2010-10-21 Adam Roben <aroben (a] apple.com> 24194 24195 Invalidate the plugin's HWND when NPN_InvalidateRect is called 24196 24197 Fixes <http://webkit.org/b/48086> <rdar://problem/8482944> Silverlight 24198 doesn't repaint in WebKit2 24199 24200 Reviewed by Anders Carlsson. 24201 24202 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 24203 (WebKit::NetscapePlugin::invalidate): Call platformInvalidate before 24204 invalidating via the PluginController. 24205 24206 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added platformInvalidate. 24207 24208 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 24209 (WebKit::NetscapePlugin::platformInvalidate): 24210 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 24211 (WebKit::NetscapePlugin::platformInvalidate): 24212 Stubbed out. 24213 24214 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 24215 (WebKit::NetscapePlugin::platformInvalidate): If the plugin is 24216 windowed, invalidate its HWND via ::InvalidateRect. 24217 24218 2010-10-21 Anders Carlsson <andersca (a] apple.com> 24219 24220 Reviewed by John Sullivan. 24221 24222 Find indicator does not draw found text in WebKit2 when page is not scrolled to top 24223 <rdar://problem/8562647> 24224 https://bugs.webkit.org/show_bug.cgi?id=48089 24225 24226 We always want the selection rectangle in "WebCore window coordinates" which is the same 24227 as WKView coordinates in WebKit2. 24228 24229 * WebProcess/WebPage/FindController.cpp: 24230 (WebKit::FindController::updateFindIndicator): 24231 24232 2010-10-21 Anders Carlsson <andersca (a] apple.com> 24233 24234 Reviewed by David Hyatt. 24235 24236 Always clear the selection when the find string isn't found 24237 https://bugs.webkit.org/show_bug.cgi?id=48087 24238 <rdar://problem/8564640> 24239 24240 * WebProcess/WebPage/FindController.cpp: 24241 (WebKit::FindController::findString): 24242 24243 2010-10-21 Alexey Proskuryakov <ap (a] apple.com> 24244 24245 Reviewed by John Sullivan. 24246 24247 https://bugs.webkit.org/show_bug.cgi?id=48083 24248 <rdar://problem/8489082> Need WebKit2 API for private browsing 24249 24250 This just adds glue code for passing the preference from embedder to WebCore. The aspects of 24251 private browsing that WebCore is responsible for do work, but cookies are not handled yet. 24252 24253 * Shared/WebPreferencesStore.cpp: 24254 (WebKit::WebPreferencesStore::WebPreferencesStore): 24255 (WebKit::WebPreferencesStore::encode): 24256 (WebKit::WebPreferencesStore::decode): 24257 * Shared/WebPreferencesStore.h: 24258 * UIProcess/API/C/WKPreferences.cpp: 24259 (WKPreferencesSetPrivateBrowsingEnabled): 24260 (WKPreferencesGetPrivateBrowsingEnabled): 24261 * UIProcess/API/C/WKPreferences.h: 24262 * UIProcess/WebPreferences.cpp: 24263 (WebKit::WebPreferences::setPrivateBrowsingEnabled): 24264 (WebKit::WebPreferences::privateBrowsingEnabled): 24265 * UIProcess/WebPreferences.h: 24266 * WebProcess/WebPage/WebPage.cpp: 24267 (WebKit::WebPage::updatePreferences): 24268 Do what it takes to pass a single boolean from WebKit2 to WebCore. And we aren't even syncing 24269 the preference to user defaults yet. 24270 24271 2010-10-20 Adam Roben <aroben (a] apple.com> 24272 24273 Ask the UI client to close the page when the WKView receives a WM_CLOSE 24274 message 24275 24276 Fixes <http://webkit.org/b/48044> <rdar://problem/8488446> Pressing 24277 Ctrl+W when viewing a full-page PDF destroys the WKView but doesn't 24278 close its parent window 24279 24280 Reviewed by Jon Honeycutt. 24281 24282 * UIProcess/win/WebView.cpp: 24283 (WebKit::WebView::wndProc): Call through to WebPageProxy::tryClose when 24284 we receive a WM_CLOSE message, rather than passing the message along to 24285 ::DefWindowProcW. tryClose will end up asking the UI client to close 24286 the page, while ::DefWindowProcW would destroy us synchronously without 24287 notifying the UI client at all. One case where we'll get sent a 24288 WM_CLOSE message is when the user presses Ctrl+W when using the Adobe 24289 Reader plugin to view a PDF. 24290 24291 2010-10-20 Adam Roben <aroben (a] apple.com> 24292 24293 Remove confusing and redundant "host window" terminology from WKView on 24294 Windows 24295 24296 WKView's "host window" is really just its HWND's parent window. The 24297 terminology has been updated to reflect this. The unnecessary 24298 WKViewGetHostWindow function has been removed, as it was a synonym for 24299 ::GetParent(WKViewGetWindow(view)). 24300 24301 Fixes <http://webkit.org/b/48039> WKView's "host window" API is 24302 confusing 24303 24304 Reviewed by Sam Weinig. 24305 24306 * UIProcess/API/C/win/WKView.cpp: 24307 (WKViewCreate): 24308 (WKViewSetParentWindow): 24309 * UIProcess/API/C/win/WKView.h: 24310 Replaced "host window" with "parent window". Removed 24311 WKViewGetHostWindow. 24312 24313 * UIProcess/win/WebView.cpp: 24314 (WebKit::WebView::WebView): 24315 (WebKit::WebView::setParentWindow): 24316 (WebKit::WebView::windowAncestryDidChange): 24317 (WebKit::WebView::close): 24318 * UIProcess/win/WebView.h: 24319 (WebKit::WebView::create): 24320 Replaced "host window" with "parent window". Removed m_hostWindow and 24321 hostWindow(). 24322 24323 2010-10-21 Sam Weinig <sam (a] webkit.org> 24324 24325 Reviewed by Adam Roben. 24326 24327 Null frame passed when running alert from UserScript run at document start 24328 <rdar://problem/8573809> 24329 https://bugs.webkit.org/show_bug.cgi?id=48036 24330 24331 Don't initialize a Frame until after we have notified the UIProcess of its creation. 24332 This is necessary since arbitrary actions can happen during the call to Frame::init() 24333 such as the running of UserScripts. 24334 24335 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24336 (WebKit::WebFrameLoaderClient::createFrame): 24337 * WebProcess/WebPage/WebFrame.cpp: 24338 (WebKit::WebFrame::createMainFrame): 24339 (WebKit::WebFrame::createSubframe): 24340 (WebKit::WebFrame::create): 24341 (WebKit::WebFrame::WebFrame): 24342 (WebKit::WebFrame::init): 24343 * WebProcess/WebPage/WebFrame.h: 24344 * WebProcess/WebPage/WebPage.cpp: 24345 (WebKit::WebPage::WebPage): 24346 24347 2010-10-21 Balazs Kelemen <kbalazs (a] webkit.org> 24348 24349 Reviewed by Andreas Kling. 24350 24351 [Qt] PluginInfoStore does not set up mime types for plugins 24352 https://bugs.webkit.org/show_bug.cgi?id=48063 24353 24354 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 24355 (WebKit::PluginInfoStore::getPluginInfo): Store the mime types 24356 that are supported by the plugin into the plugin argument. 24357 24358 2010-10-21 Juha Savolainen <juha.savolainen (a] weego.fi> 24359 24360 Reviewed by Kenneth Rohde Christiansen. 24361 24362 This is initial implementation of QWKHistory. The QWKHistory class represents the history of a QWKPage. 24363 https://bugs.webkit.org/show_bug.cgi?id=47716 24364 24365 Each QWKPage instance contains a history of a visited pages that can be accessed by QWKHistory::history(). 24366 The QWKPagePrivate class creates QWKHistory in constructor. 24367 24368 * UIProcess/API/qt/qwkhistory.cpp: Added. 24369 (QWKHistoryPrivate::QWKHistoryPrivate): 24370 (QWKHistoryPrivate::createHistory): Creates history object. 24371 (QWKHistoryPrivate::~QWKHistoryPrivate): 24372 (QWKHistory::QWKHistory): 24373 (QWKHistory::~QWKHistory): 24374 (QWKHistory::backListCount): Gets items count in back. 24375 (QWKHistory::forwardListCount): Gets items count in forward. 24376 (QWKHistory::count): Gets items count. 24377 * UIProcess/API/qt/qwkhistory.h: Added. 24378 * UIProcess/API/qt/qwkhistory_p.h: Added. 24379 * UIProcess/API/qt/qwkpage.cpp: 24380 (QWKPagePrivate::QWKPagePrivate): 24381 (QWKPagePrivate::~QWKPagePrivate): 24382 (QWKPage::history): Returns history object. 24383 * UIProcess/API/qt/qwkpage.h: 24384 * UIProcess/API/qt/qwkpage_p.h: Added history member variable. 24385 * WebKit2.pro: Added WKBackForwardList.h, WKBackForwardList.cpp and new files. 24386 24387 2010-10-14 Adam Roben <aroben (a] apple.com> 24388 24389 Don't require the plugin to always use the same NPP struct we gave it 24390 in NPP_New 24391 24392 Neither WebCore, nor WebKit/mac, nor Firefox requires this, and 24393 Shockwave (at least) seems to use a different NPP struct that contains 24394 the same ndata member. So we shouldn't enforce it, either. 24395 24396 Fixes <http://webkit.org/b/47690> <rdar://problem/8553020> Assertion 24397 failure in NetscapePlugin::fromNPP when using Shockwave in WebKit2 24398 24399 Reviewed by John Sullivan. 24400 24401 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 24402 (WebKit::NetscapePlugin::fromNPP): Removed the bogus assertion. 24403 24404 2010-10-20 Anders Carlsson <andersca (a] apple.com> 24405 24406 Fix clang++ build. 24407 24408 * UIProcess/API/C/WKNativeEvent.h: 24409 24410 2010-10-20 Eric Carlson <eric.carlson (a] apple.com> 24411 24412 Reviewed by Simon Fraser. 24413 24414 Crash closing page with <video> element 24415 https://bugs.webkit.org/show_bug.cgi?id=47960 24416 <rdar://problem/8573297> 24417 24418 I couldn't think of a good way to make a layout test for this because the 24419 crash isn't triggered by closing an iframe. 24420 24421 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 24422 (WebKit::WebChromeClient::scheduleCompositingLayerSync): NULL check drawingArea(). 24423 24424 2010-10-20 Anders Carlsson <andersca (a] apple.com> 24425 24426 Reviewed by Darin Adler. 24427 24428 Out of process plug-ins are never asked to initially paint 24429 https://bugs.webkit.org/show_bug.cgi?id=47993 24430 <rdar://problem/8570342> 24431 24432 * Platform/CoreIPC/HandleMessage.h: 24433 (CoreIPC::callMemberFunction): 24434 Add new callMemberFunction overload. 24435 24436 * PluginProcess/PluginControllerProxy.cpp: 24437 (WebKit::PluginControllerProxy::paintEntirePlugin): 24438 Set the dirty rect to be the entire plug-in rect and then paint the plug-in. 24439 24440 * PluginProcess/PluginControllerProxy.messages.in: 24441 Add PaintEntirePlugin message. 24442 24443 * WebProcess/Plugins/PluginProxy.cpp: 24444 (WebKit::PluginProxy::PluginProxy): 24445 Initialize m_pluginBackingStoreContainsValidData to false. 24446 24447 (WebKit::PluginProxy::paint): 24448 If m_pluginBackingStoreContainsValidData is false, synchronously ask the plug-in to paint, 24449 then blit the plug-in backing store into our own backing store. 24450 24451 (WebKit::PluginProxy::geometryDidChange): 24452 Set m_pluginBackingStoreContainsValidData to false. 24453 24454 (WebKit::PluginProxy::update): 24455 Set m_pluginBackingStoreContainsValidData to true if the plug-in has painted its entire area. 24456 24457 2010-10-19 Jessie Berlin <jberlin (a] apple.com> 24458 24459 Reviewed by Geoffrey Garen. 24460 24461 ASSERTION FAILURE: !m_adoptionIsRequired for the WebFrame under the 24462 InjectedBundlePageLoaderClient::didClearWindowObjectForFrame callback. 24463 https://bugs.webkit.org/show_bug.cgi?id=47960 24464 24465 Do not try to initialize the coreFrame (which results in the 24466 InjectedBundlePageLoaderClient::didClearWindowObjectForFrame being called) until after the 24467 WebFrame constructor has returned and the WebFrame has been adopted. 24468 24469 * WebProcess/WebPage/WebFrame.cpp: 24470 (WebKit::WebFrame::create): 24471 Moved the call to init the coreFrame here ... 24472 (WebKit::WebFrame::WebFrame): 24473 ... from here. 24474 24475 2010-10-20 Dirk Schulze <krit (a] webkit.org> 24476 24477 Reviewed by Nikolas Zimmermann. 24478 24479 Merge ColorSpace and ImageColorSpace enums 24480 https://bugs.webkit.org/show_bug.cgi?id=47922 24481 24482 Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB 24483 to follow webkit style rules. 24484 24485 * UIProcess/FindIndicator.cpp: 24486 (WebKit::FindIndicator::draw): 24487 * WebProcess/WebPage/FindPageOverlay.cpp: 24488 (WebKit::FindPageOverlay::drawRect): 24489 24490 2010-10-20 Nikolas Zimmermann <nzimmermann (a] rim.com> 24491 24492 Not reviewed. 24493 24494 Fix Qt/WebKit2 build, also needs a svg/properties include. 24495 24496 * WebKit2.pro: 24497 24498 2010-10-19 Anders Carlsson <andersca (a] apple.com> 24499 24500 Reviewed by Sam Weinig. 24501 24502 Fix MiniBrowser crashes during startup and shutdown 24503 https://bugs.webkit.org/show_bug.cgi?id=47954 24504 24505 * UIProcess/WebContext.cpp: 24506 (WebKit::WebContext::sharedProcessContext): 24507 Initialize the main thread. 24508 24509 (WebKit::WebContext::create): 24510 Ditto. 24511 24512 (WebKit::WebContext::WebContext): 24513 Add the language observer here so we know that it will always be set up. 24514 24515 (WebKit::WebContext::ensureWebProcess): 24516 Remove code. 24517 24518 * UIProcess/WebContext.h: 24519 24520 2010-10-19 Anders Carlsson <andersca (a] apple.com> 24521 24522 Reviewed by Sam Weinig. 24523 24524 Coalesce plug-in drawing 24525 https://bugs.webkit.org/show_bug.cgi?id=47939 24526 24527 Coalesce plug-in drawing in the same manner as we do it in the chunked update drawing area. 24528 24529 * PluginProcess/PluginControllerProxy.cpp: 24530 (WebKit::PluginControllerProxy::PluginControllerProxy): 24531 Initialize m_waitingForDidUpdate to false. 24532 24533 (WebKit::PluginControllerProxy::startPaintTimer): 24534 Move code from invalidate out to here. Don't start the paint timer if m_waitingForDidUpdate is true. 24535 24536 (WebKit::PluginControllerProxy::invalidate): 24537 Call startPaintTimer. 24538 24539 (WebKit::PluginControllerProxy::didUpdate): 24540 Set m_waitingForDidUpdate to false and start the paint timer. 24541 24542 * PluginProcess/PluginControllerProxy.messages.in: 24543 Add DidUpdate message. 24544 24545 * WebProcess/Plugins/PluginProxy.cpp: 24546 (WebKit::PluginProxy::PluginProxy): 24547 Initialize m_waitingForPaintInResponseToUpdate to false. 24548 24549 (WebKit::PluginProxy::paint): 24550 If m_waitingForPaintInResponseToUpdate is true, send a DidUpdate message. 24551 24552 (WebKit::PluginProxy::update): 24553 Set m_waitingForPaintInResponseToUpdate to true. 24554 24555 2010-10-19 Sam Weinig <sam (a] webkit.org> 24556 24557 Reviewed by Anders Carlsson. 24558 24559 Add alternateHTMLString and unreachableURL API to WebKit2 24560 <rdar://problem/8557864> 24561 https://bugs.webkit.org/show_bug.cgi?id=47938 24562 24563 * UIProcess/API/C/WKFrame.cpp: 24564 (WKFrameCopyUnreachableURL): 24565 * UIProcess/API/C/WKFrame.h: 24566 Add accessor for the unreachableURL if one is set. It will only be 24567 set during a loadAlternateHTMLString and will be unset on the next normal 24568 didStartProvisionalLoadForFrame call. 24569 24570 * UIProcess/API/C/WKPage.cpp: 24571 (WKPageLoadHTMLString): Remove whitespace. 24572 (WKPageLoadAlternateHTMLString): 24573 * UIProcess/API/C/WKPage.h: 24574 Add function to load a string as "alternate", meant for use as error pages. 24575 24576 * UIProcess/WebFrameProxy.h: 24577 (WebKit::WebFrameProxy::setUnreachableURL): 24578 (WebKit::WebFrameProxy::unreachableURL): 24579 Add setter/getter for the unreachableURL. 24580 24581 * UIProcess/WebPageProxy.cpp: 24582 (WebKit::WebPageProxy::loadAlternateHTMLString): 24583 Plumb through the call to loadAlternateHTMLString to the WebProcess 24584 and set the main frame's unreachableURL. This does nothing if no pages 24585 have ever been loaded in this page. 24586 24587 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 24588 If this is not a provisional load of substitute data for an unreachableURL 24589 (e.g. someone who called WKPageLoadAlternateHTMLString), reset the 24590 frame's unreachableURL. 24591 24592 * UIProcess/WebPageProxy.h: 24593 * UIProcess/WebPageProxy.messages.in: 24594 Update function signatures. 24595 24596 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24597 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 24598 Pass whether or not this is a load of SubstituteData for an unreachableURL 24599 to the UIProcess. 24600 24601 * WebProcess/WebPage/WebPage.cpp: 24602 (WebKit::WebPage::loadData): 24603 (WebKit::WebPage::loadAlternateHTMLString): 24604 * WebProcess/WebPage/WebPage.h: 24605 * WebProcess/WebPage/WebPage.messages.in: 24606 Plumb through the loading of the alternate HTML string. 24607 24608 2010-10-19 Alexey Proskuryakov <ap (a] apple.com> 24609 24610 Reviewed by Anders Carlsson. 24611 24612 https://bugs.webkit.org/show_bug.cgi?id=47933 24613 <rdar://problem/8494337> navigator.language doesn't work in WebKit2 24614 24615 * Shared/WebProcessCreationParameters.cpp: 24616 (WebKit::WebProcessCreationParameters::encode): 24617 (WebKit::WebProcessCreationParameters::decode): 24618 * Shared/WebProcessCreationParameters.h: 24619 Pass language code when creating a web process. 24620 24621 * UIProcess/WebContext.cpp: 24622 (WebKit::WebContext::~WebContext): Don't send language change notifications to the destroyed 24623 process. 24624 (WebKit::languageChanged): Make web process know about the change. 24625 (WebKit::WebContext::ensureWebProcess): Fill WebProcessCreationParameters, and register for 24626 change notifications. 24627 24628 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface): 24629 Initialize wkCopyCFLocalizationPreferredName. 24630 24631 * WebProcess/WebProcess.cpp: 24632 (WebKit::WebProcess::initializeWebProcess): Use passed in language as an override. Web process 24633 doesn't know about per-application settings, so it depends on UI process for those. 24634 (WebKit::WebProcess::languageChanged): Update the language override when messaged. 24635 24636 * WebProcess/WebProcess.h: 24637 * WebProcess/WebProcess.messages.in: 24638 Added LanguageChanged message. 24639 24640 2010-10-19 Anders Carlsson <andersca (a] apple.com> 24641 24642 Reviewed by Adam Roben. 24643 24644 Stop waiting for sync replies if the connection is closed 24645 https://bugs.webkit.org/show_bug.cgi?id=47930 24646 24647 * Platform/CoreIPC/Connection.cpp: 24648 (CoreIPC::Connection::Connection): 24649 Initialize m_shouldWaitForSyncReplies to true. 24650 24651 (CoreIPC::Connection::sendSyncMessage): 24652 Don't attempt to send a message if m_shouldWaitForSyncReplies is false. 24653 24654 (CoreIPC::Connection::waitForSyncReply): 24655 Return if m_shouldWaitForSyncReplies was set to false. 24656 24657 (CoreIPC::Connection::connectionDidClose): 24658 Set m_shouldWaitForSyncReplies to true and signal the semaphore. 24659 24660 * Platform/CoreIPC/Connection.h: 24661 24662 2010-10-19 Adam Roben <aroben (a] apple.com> 24663 24664 Windows build fix 24665 24666 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 24667 (WebKit::interruptForPolicyChangeError): Add a missing comma. 24668 24669 2010-10-19 Sam Weinig <sam (a] webkit.org> 24670 24671 Reviewed by Anders Carlsson. 24672 24673 Part 2 of: 24674 Need to include WKErrorRef in the WKPageDidFail... functions 24675 <rdar://problem/8564110> 24676 https://bugs.webkit.org/show_bug.cgi?id=47871 24677 24678 * Shared/API/c/WKError.cpp: 24679 (WKErrorCopyWKErrorDomain): 24680 * Shared/API/c/WKError.h: 24681 * Shared/WebError.cpp: Added. 24682 (WebKit::WebError::webKitErrorDomain): 24683 * Shared/WebError.h: 24684 * WebKit2.pro: 24685 * WebKit2.xcodeproj/project.pbxproj: 24686 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 24687 (+[NSError _webKitErrorWithCode:failingURL:]): 24688 (registerErrors): 24689 (WebKit::blockedError): 24690 (WebKit::cannotShowURLError): 24691 (WebKit::interruptForPolicyChangeError): 24692 (WebKit::cannotShowMIMETypeError): 24693 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 24694 (WebKit::cancelledError): 24695 (WebKit::blockedError): 24696 (WebKit::cannotShowURLError): 24697 (WebKit::interruptForPolicyChangeError): 24698 * win/WebKit2.vcproj: 24699 24700 2010-10-19 Sam Weinig <sam (a] webkit.org> 24701 24702 Reviewed by Dan Bernstein. 24703 24704 Need to include WKErrorRef in the WKPageDidFail... functions 24705 <rdar://problem/8564110> 24706 https://bugs.webkit.org/show_bug.cgi?id=47871 24707 24708 Give WebError a WebCore::ResourceError backing and start passing it over the wire 24709 for failure cases. Also, fill out the WKError API to include domain, errorCode, 24710 failingURL and localizedDescription. 24711 24712 * Shared/API/c/WKError.cpp: 24713 (WKErrorCopyDomain): 24714 (WKErrorGetErrorCode): 24715 (WKErrorCopyFailingURL): 24716 (WKErrorCopyLocalizedDescription): 24717 * Shared/API/c/WKError.h: 24718 * Shared/API/c/WKSharedAPICast.h: 24719 (WebKit::toAPI): 24720 * Shared/WebCoreArgumentCoders.h: 24721 * Shared/WebError.h: 24722 (WebKit::WebError::create): 24723 (WebKit::WebError::domain): 24724 (WebKit::WebError::errorCode): 24725 (WebKit::WebError::failingURL): 24726 (WebKit::WebError::localizedDescription): 24727 (WebKit::WebError::platformError): 24728 (WebKit::WebError::WebError): 24729 * UIProcess/API/C/WKPage.h: 24730 * UIProcess/API/qt/ClientImpl.cpp: 24731 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 24732 (qt_wk_didFailLoadWithErrorForFrame): 24733 * UIProcess/API/qt/ClientImpl.h: 24734 * UIProcess/WebLoaderClient.cpp: 24735 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame): 24736 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame): 24737 * UIProcess/WebLoaderClient.h: 24738 * UIProcess/WebPageProxy.cpp: 24739 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 24740 (WebKit::WebPageProxy::didFailLoadForFrame): 24741 * UIProcess/WebPageProxy.h: 24742 * UIProcess/WebPageProxy.messages.in: 24743 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 24744 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 24745 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): 24746 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): 24747 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 24748 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24749 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 24750 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 24751 24752 2010-10-19 Christian Sejersen <christian.webkit (a] gmail.com> 24753 24754 Reviewed by Kenneth Rohde Christiansen. 24755 24756 Scratchbox has an old version of python as the default one, so 24757 force it to use version 2.6. 24758 https://bugs.webkit.org/show_bug.cgi?id=47895 24759 24760 * DerivedSources.pro: 24761 24762 2010-10-19 Luiz Agostini <luiz.agostini (a] openbossa.org> 24763 24764 Reviewed by Antti Koivisto. 24765 24766 [Qt] WebKit2 MacOS build fix 24767 https://bugs.webkit.org/show_bug.cgi?id=47897 24768 24769 Qt WebKit2 MacOS build fix. 24770 24771 * UIProcess/WebPageProxy.cpp: 24772 * WebKit2.pri: 24773 * WebKit2.pro: 24774 24775 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24776 24777 Reviewed by Sam Weinig. 24778 24779 Initialize the API client. 24780 24781 * Shared/APIClient.h: 24782 (WebKit::APIClient::APIClient): 24783 24784 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24785 24786 Reviewed by John Sullivan. 24787 24788 WebKit2 should handle dismissing the Find overlay on mouse-down 24789 https://bugs.webkit.org/show_bug.cgi?id=47854 24790 24791 * WebProcess/WebPage/FindPageOverlay.cpp: 24792 (WebKit::FindPageOverlay::mouseEvent): 24793 Dismiss the find UI on MouseDown. 24794 24795 * WebProcess/WebPage/WebPage.cpp: 24796 (WebKit::WebPage::mouseEvent): 24797 If there's a page overlay, let it have a go at the event. 24798 24799 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24800 24801 Fix clang build. 24802 24803 * UIProcess/API/mac/FindIndicatorWindow.mm: 24804 (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]): 24805 (WebKit::FindIndicatorWindow::setFindIndicator): 24806 * UIProcess/WebPageProxy.h: 24807 * UIProcess/WebPopupMenuProxy.h: 24808 * WebProcess/WebCoreSupport/WebPopupMenu.h: 24809 24810 2010-10-18 Sam Weinig <sam (a] webkit.org> 24811 24812 Fix Qt build. 24813 24814 * WebKit2.pro: 24815 24816 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24817 24818 Reviewed by Simon Fraser. 24819 24820 Don't try to change accelerated compositing mode if the web page is closed 24821 https://bugs.webkit.org/show_bug.cgi?id=47852 24822 24823 changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if 24824 the UI process is being torn down. 24825 24826 * WebProcess/WebPage/WebPage.cpp: 24827 (WebKit::WebPage::WebPage): 24828 (WebKit::WebPage::changeAcceleratedCompositingMode): 24829 (WebKit::WebPage::close): 24830 * WebProcess/WebPage/WebPage.h: 24831 24832 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24833 24834 Reviewed by Sam Weinig. 24835 24836 <rdar://problem/8036034> 24837 WebKit2's WebProcess dies immediately on Mac due to DYLD_FRAMEWORK_PATH problem 24838 24839 Pass the path to the WebKit2 framework along to the web process and don't rely on DYLD_FRAMEWORK_PATH being set. 24840 24841 * Shared/mac/CommandLineMac.cpp: 24842 (WebKit::CommandLine::parse): 24843 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 24844 (WebKit::ProcessLauncher::launchProcess): 24845 * mac/MainMac.cpp: 24846 (main): 24847 24848 2010-10-18 Jessie Berlin <jberlin (a] apple.com> 24849 24850 Reviewed by Sam Weinig. 24851 24852 Need a WebKit2 equivalent of the WebKit1 WebUserContentURLPattern. 24853 https://bugs.webkit.org/show_bug.cgi?id=47783 24854 24855 * Shared/API/c/WKBase.h: 24856 24857 * Shared/API/c/WKSharedAPICast.h: 24858 24859 * Shared/API/c/WKUserContentURLPattern.cpp: Added. 24860 (WKUserContentURLPatternGetTypeID): 24861 (WKUserContentURLPatternCreate): 24862 (WKUserContentURLPatternMatchesURL): 24863 * Shared/API/c/WKUserContentURLPattern.h: Added. 24864 24865 * Shared/APIObject.h: 24866 24867 * Shared/UserMessageCoders.h: 24868 Use the original pattern string to encode and decode a UserContentURLPattern. 24869 (WebKit::UserMessageEncoder::baseEncode): 24870 (WebKit::UserMessageDecoder::baseDecode): 24871 24872 * Shared/WebUserContentURLPattern.h: Added. 24873 (WebKit::WebUserContentURLPattern::create): 24874 (WebKit::WebUserContentURLPattern::matchesURL): 24875 Use WebCore::UserContentURLPattern::matches. 24876 (WebKit::WebUserContentURLPattern::patternString): 24877 Expose the pattern string used to create the UserContentURLPattern for the purpose of 24878 encoding and decoding. 24879 (WebKit::WebUserContentURLPattern::WebUserContentURLPattern): 24880 (WebKit::WebUserContentURLPattern::type): 24881 24882 * WebKit2.pro: 24883 * WebKit2.xcodeproj/project.pbxproj: 24884 * win/WebKit2.vcproj: 24885 Add WKUserContentURLPattern.h/.cpp and WebUserContentURLPattern.h 24886 24887 * win/WebKit2Generated.make: 24888 Copy over WKUsercontentURLPattern into the output directory. 24889 24890 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24891 24892 Fix build. 24893 24894 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 24895 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 24896 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 24897 (WebKit::NetscapePlugin::platformSetFocus): 24898 24899 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24900 24901 Reviewed by Darin Adler. 24902 24903 Add matchCountDidChange callback 24904 https://bugs.webkit.org/show_bug.cgi?id=47840 24905 24906 * UIProcess/API/C/WKPage.h: 24907 Add matchCountDidChange WKPageFindClient callback. 24908 24909 * UIProcess/WebFindClient.cpp: 24910 (WebKit::WebFindClient::matchCountDidChange): 24911 Call the WKPageFindClient callback. 24912 24913 * UIProcess/WebPageProxy.messages.in: 24914 Add MatchCountDidChange message. 24915 24916 * WebProcess/WebPage/FindController.cpp: 24917 (WebKit::FindController::countStringMatches): 24918 Move code here from WebPage. 24919 24920 (WebKit::FindController::findString): 24921 Send the MatchCountDidChange message. 24922 24923 * WebProcess/WebPage/WebPage.cpp: 24924 (WebKit::WebPage::countStringMatches): 24925 Move this code over to FindController. 24926 24927 2010-10-18 Anders Carlsson <andersca (a] apple.com> 24928 24929 Reviewed by Darin Adler. 24930 24931 Use nullptr instead of 0. 24932 24933 * UIProcess/API/mac/FindIndicatorWindow.mm: 24934 (WebKit::FindIndicatorWindow::closeWindow): 24935 * UIProcess/API/mac/WKView.mm: 24936 (-[WKView renewGState]): 24937 * WebProcess/Plugins/PluginProcessConnection.cpp: 24938 (WebKit::PluginProcessConnection::removePluginProxy): 24939 24940 2010-10-15 Sam Weinig <sam (a] webkit.org> 24941 24942 Fix Qt build. 24943 24944 * UIProcess/API/qt/qwkpage.cpp: 24945 (QWKPagePrivate::createPopupMenuProxy): 24946 24947 2010-10-15 Sam Weinig <sam (a] webkit.org> 24948 24949 Reviewed by Anders Carlsson. 24950 24951 Popup widget support (<select>) 24952 <rdar://problem/8147746> 24953 https://bugs.webkit.org/show_bug.cgi?id=47740 24954 24955 Add initial support for popup menus. Only works on the mac at this time. 24956 24957 * Shared/WebPopupItem.cpp: Added. 24958 (WebKit::WebPopupItem::WebPopupItem): 24959 (WebKit::WebPopupItem::encode): 24960 (WebKit::WebPopupItem::decode): 24961 * Shared/WebPopupItem.h: Added. 24962 Serializable representation of a menu item. 24963 24964 * UIProcess/API/mac/PageClientImpl.h: 24965 * UIProcess/API/mac/PageClientImpl.mm: 24966 (WebKit::PageClientImpl::createPopupMenuProxy): 24967 Create a WebPopupMenuProxyMac. 24968 24969 * UIProcess/API/qt/qwkpage.cpp: 24970 (WebView::createPopupMenuProxy): 24971 * UIProcess/API/qt/qwkpage_p.h: 24972 Create a WebPopupMenuProxyQt (which is just a stub right now). 24973 24974 (WebKit::WebPopupMenuProxyWin::create): 24975 * UIProcess/win/WebView.cpp: 24976 (WebKit::WebView::createPopupMenuProxy): 24977 * UIProcess/win/WebView.h: 24978 Create a WebPopupMenuProxyWin (which is just a stub right now). 24979 24980 * UIProcess/PageClient.h: 24981 Add new client function to get a platform specific WebPopupMenuProxy. 24982 24983 * UIProcess/WebPageProxy.cpp: 24984 (WebKit::WebPageProxy::close): 24985 (WebKit::WebPageProxy::showPopupMenu): 24986 (WebKit::WebPageProxy::hidePopupMenu): 24987 (WebKit::WebPageProxy::processDidExit): 24988 * UIProcess/WebPageProxy.h: 24989 * UIProcess/WebPageProxy.messages.in: 24990 Pipe through calls to set up the menu. 24991 24992 * UIProcess/mac/WebPopupMenuProxyMac.h: Added. 24993 (WebKit::WebPopupMenuProxyMac::create): 24994 * UIProcess/mac/WebPopupMenuProxyMac.mm: Added. 24995 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): 24996 (WebKit::WebPopupMenuProxyMac::~WebPopupMenuProxyMac): 24997 (WebKit::WebPopupMenuProxyMac::populate): 24998 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 24999 (WebKit::WebPopupMenuProxyMac::hidePopupMenu): 25000 Add UI process side implementation. Currently this does not support 25001 custom fonts as the old implementation did. 25002 25003 * UIProcess/qt/WebPopupMenuProxyQt.cpp: Added. 25004 (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): 25005 (WebKit::WebPopupMenuProxyQt::~WebPopupMenuProxyQt): 25006 (WebKit::WebPopupMenuProxyQt::showPopupMenu): 25007 (WebKit::WebPopupMenuProxyQt::hidePopupMenu): 25008 * UIProcess/qt/WebPopupMenuProxyQt.h: Added. 25009 (WebKit::WebPopupMenuProxyQt::create): 25010 * UIProcess/win/WebPopupMenuProxyWin.cpp: Added. 25011 (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): 25012 (WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin): 25013 (WebKit::WebPopupMenuProxyWin::showPopupMenu): 25014 (WebKit::WebPopupMenuProxyWin::hidePopupMenu): 25015 * UIProcess/win/WebPopupMenuProxyWin.h: Added. 25016 Add stubbed out implementations for Qt and windows. 25017 25018 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25019 (WebKit::WebChromeClient::createPopupMenu): 25020 (WebKit::WebChromeClient::createSearchPopupMenu): 25021 Pass the page in the create function. 25022 25023 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 25024 (WebKit::WebPopupMenu::create): 25025 (WebKit::WebPopupMenu::WebPopupMenu): 25026 (WebKit::WebPopupMenu::didChangeSelectedIndex): 25027 (WebKit::WebPopupMenu::populateItems): 25028 (WebKit::WebPopupMenu::show): 25029 (WebKit::WebPopupMenu::hide): 25030 * WebProcess/WebCoreSupport/WebPopupMenu.h: 25031 (WebKit::WebPopupMenu::disconnectFromPage): 25032 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 25033 (WebKit::WebSearchPopupMenu::create): 25034 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): 25035 (WebKit::WebSearchPopupMenu::popupMenu): 25036 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: 25037 * WebProcess/WebPage/WebPage.cpp: 25038 (WebKit::WebPage::close): 25039 (WebKit::WebPage::setActivePopupMenu): 25040 (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu): 25041 * WebProcess/WebPage/WebPage.h: 25042 * WebProcess/WebPage/WebPage.messages.in: 25043 Pipe through calls to set up the menu. 25044 25045 * WebKit2.pro: 25046 * WebKit2.xcodeproj/project.pbxproj: 25047 * win/WebKit2.vcproj: 25048 Add new files. 25049 25050 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25051 25052 Fix build. 25053 25054 * UIProcess/API/mac/FindIndicatorWindow.mm: 25055 (-[WebFindIndicatorWindowAnimation setCurrentProgress:]): 25056 25057 2010-10-15 Simon Fraser <simon.fraser (a] apple.com> 25058 25059 Reviewed by Dan Bernstein. 25060 25061 Add 'didDraw' callback for framerate tracking 25062 https://bugs.webkit.org/show_bug.cgi?id=47478 25063 25064 Hook up the 'didDraw' callback for WebKit2 on Mac. 25065 25066 * UIProcess/API/C/WKPage.h: 25067 * UIProcess/API/mac/WKView.mm: 25068 (-[WKView drawRect:]): 25069 * UIProcess/API/qt/qwkpage.cpp: 25070 (QWKPage::QWKPage): 25071 * UIProcess/WebPageProxy.cpp: 25072 (WebKit::WebPageProxy::didDraw): 25073 * UIProcess/WebPageProxy.h: 25074 * UIProcess/WebUIClient.cpp: 25075 (WebKit::WebUIClient::didDraw): 25076 * UIProcess/WebUIClient.h: 25077 25078 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25079 25080 Reviewed by Sam Weinig. 25081 25082 Make the find indicator window fade out when requested 25083 https://bugs.webkit.org/show_bug.cgi?id=47747 25084 25085 * UIProcess/API/mac/FindIndicatorWindow.h: 25086 * UIProcess/API/mac/FindIndicatorWindow.mm: 25087 Add WebFindIndicatorWindowAnimation - an NSAnimation subclass that takes two 25088 C++ member function pointers and invokes them the animation progress changes and 25089 when the animation stops. 25090 25091 (-[WebFindIndicatorWindowAnimation setCurrentProgress:]): 25092 Call the _animationProgressCallback. 25093 25094 (-[WebFindIndicatorWindowAnimation animationDidEnd:]): 25095 Call the _animationDidEndCallback. 25096 25097 (WebKit::FindIndicatorWindow::FindIndicatorWindow): 25098 Initialize the fade out start timer. 25099 25100 (WebKit::FindIndicatorWindow::setFindIndicator): 25101 When asked to fade out, we start the fade out timer. 25102 25103 (WebKit::FindIndicatorWindow::closeWindow): 25104 Stop the fade out timer and the fade out animation. 25105 25106 (WebKit::FindIndicatorWindow::startFadeOutTimerFired): 25107 Create a fade out animation. 25108 25109 (WebKit::FindIndicatorWindow::fadeOutAnimationCallback): 25110 Update the window alpha. 25111 25112 (WebKit::FindIndicatorWindow::fadeOutAnimationDidEnd): 25113 Close the window. 25114 25115 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25116 25117 Reviewed by Sam Weinig. 25118 25119 Move find indicator window logic to WKView 25120 https://bugs.webkit.org/show_bug.cgi?id=47739 25121 25122 * UIProcess/API/mac/PageClientImpl.h: 25123 * UIProcess/API/mac/PageClientImpl.mm: 25124 (WebKit::PageClientImpl::setFindIndicator): 25125 Call -[WKView _setFindIndicator:fadeOut:]. 25126 25127 * UIProcess/API/mac/WKView.mm: 25128 (-[WKView renewGState]): 25129 Hide the find indicator. 25130 25131 (-[WKView _setFindIndicator:fadeOut:]): 25132 Move the find indicator logic here. 25133 25134 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25135 25136 Reviewed by Sam Weinig. 25137 25138 Hide the find indicator/overlay when necessary 25139 https://bugs.webkit.org/show_bug.cgi?id=47737 25140 25141 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25142 (WebKit::WebChromeClient::invalidateContentsForSlowScroll): 25143 Hide the find indicator. 25144 25145 (WebKit::WebChromeClient::scroll): 25146 Ditto. 25147 25148 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 25149 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 25150 Hide the find indicator and the find overlay. 25151 25152 * WebProcess/WebPage/FindController.cpp: 25153 (WebKit::FindController::findString): 25154 Always hide all previous find matches. Only clear the selection if the string 25155 not found wasn't empty. 25156 25157 (WebKit::FindController::hideFindUI): 25158 Uninstall the page overlay and hide the find indicator. 25159 25160 (WebKit::FindController::hideFindIndicator): 25161 Rename resetFindIndicator to hideFindIndicator. 25162 25163 * WebProcess/WebPage/WebPage.cpp: 25164 (WebKit::WebPage::uninstallPageOverlay): 25165 Invalidate the entire page. 25166 25167 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25168 25169 Reviewed by Sam Weinig. 25170 25171 Add FindIndicatorWindow class 25172 https://bugs.webkit.org/show_bug.cgi?id=47731 25173 25174 * UIProcess/API/mac/FindIndicatorWindow.h: Added. 25175 * UIProcess/API/mac/FindIndicatorWindow.mm: Added. 25176 (-[WebFindIndicatorView _initWithFindIndicator:WebKit::]): 25177 Initialize the find indicator view. 25178 25179 (-[WebFindIndicatorView drawRect:]): 25180 Ask the find indicator to draw. 25181 25182 (-[WebFindIndicatorView isFlipped]): 25183 Return YES. 25184 25185 (WebKit::FindIndicatorWindow::~FindIndicatorWindow): 25186 Make sure to close the window. 25187 25188 (WebKit::FindIndicatorWindow::setFindIndicator): 25189 Update the find indicator window. 25190 25191 (WebKit::FindIndicatorWindow::closeWindow): 25192 Close and release the window. 25193 25194 * UIProcess/API/mac/PageClientImpl.h: 25195 * UIProcess/API/mac/PageClientImpl.mm: 25196 (WebKit::PageClientImpl::setFindIndicator): 25197 Create a find indicator window. 25198 25199 * WebKit2.xcodeproj/project.pbxproj: 25200 Add new files. 25201 25202 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25203 25204 Fix build. 25205 25206 * UIProcess/API/qt/qwkpage.cpp: 25207 * UIProcess/win/WebView.cpp: 25208 25209 2010-10-15 Anders Carlsson <andersca (a] apple.com> 25210 25211 Reviewed by Sam Weinig. 25212 25213 Add a FindIndicator class 25214 https://bugs.webkit.org/show_bug.cgi?id=47635 25215 25216 * Shared/BackingStore.h: 25217 (WebKit::BackingStore::bounds): 25218 New function that returns the bounds of the backing store. 25219 25220 * UIProcess/API/mac/PageClientImpl.mm: 25221 (WebKit::PageClientImpl::setFindIndicator): 25222 Add stub. 25223 25224 * UIProcess/API/qt/qwkpage.cpp: 25225 (QWKPagePrivate::setFindIndicator): 25226 Add stub. 25227 25228 * UIProcess/FindIndicator.cpp: Added. 25229 * UIProcess/FindIndicator.h: 25230 25231 * UIProcess/PageClient.h: 25232 Add setFindIndicator client member function. 25233 25234 * UIProcess/WebPageProxy.cpp: 25235 (WebKit::WebPageProxy::setFindIndicator): 25236 Call PageClient::setFindIndicator. 25237 25238 * UIProcess/WebPageProxy.messages.in: 25239 Add a fadeOut boolean to the message. 25240 25241 * UIProcess/win/WebView.cpp: 25242 (WebKit::WebView::setFindIndicator): 25243 Add stub. 25244 25245 * UIProcess/win/WebView.h: 25246 * WebKit2.pro: 25247 * WebKit2.xcodeproj/project.pbxproj: 25248 * WebProcess/WebPage/FindController.cpp: 25249 (WebKit::FindController::findString): 25250 (WebKit::FindController::updateFindIndicator): 25251 (WebKit::FindController::resetFindIndicator): 25252 * WebProcess/WebPage/FindController.h: 25253 * win/WebKit2.vcproj: 25254 25255 2010-10-14 Simon Fraser <simon.fraser (a] apple.com> 25256 25257 Reviewed by Sam Weinig. 25258 25259 Plumb accelerated compositing prefs through WebKit2 25260 https://bugs.webkit.org/show_bug.cgi?id=46860 25261 <rdar://problem/8495312> 25262 25263 Wire up the prefs to enable accelerated compositing, and 25264 show debug borders and repaint counters. 25265 25266 * Shared/WebPreferencesStore.cpp: 25267 (WebKit::WebPreferencesStore::WebPreferencesStore): 25268 (WebKit::WebPreferencesStore::encode): 25269 (WebKit::WebPreferencesStore::decode): 25270 * Shared/WebPreferencesStore.h: 25271 * UIProcess/API/C/WKPreferencesPrivate.cpp: 25272 (WKPreferencesSetAcceleratedCompositingEnabled): 25273 (WKPreferencesGetAcceleratedCompositingEnabled): 25274 (WKPreferencesSetCompositingBordersVisible): 25275 (WKPreferencesGetCompositingBordersVisible): 25276 (WKPreferencesSetCompositingRepaintCountersVisible): 25277 (WKPreferencesGetCompositingRepaintCountersVisible): 25278 * UIProcess/API/C/WKPreferencesPrivate.h: 25279 * UIProcess/WebPreferences.cpp: 25280 (WebKit::WebPreferences::setAcceleratedCompositingEnabled): 25281 (WebKit::WebPreferences::acceleratedCompositingEnabled): 25282 (WebKit::WebPreferences::setCompositingBordersVisible): 25283 (WebKit::WebPreferences::compositingBordersVisible): 25284 (WebKit::WebPreferences::setCompositingRepaintCountersVisible): 25285 (WebKit::WebPreferences::compositingRepaintCountersVisible): 25286 * UIProcess/WebPreferences.h: 25287 * WebProcess/WebPage/WebPage.cpp: 25288 (WebKit::WebPage::WebPage): 25289 (WebKit::WebPage::preferencesDidChange): 25290 (WebKit::WebPage::updatePreferences): 25291 * WebProcess/WebPage/WebPage.h: 25292 25293 2010-10-14 Ada Chan <adachan (a] apple.com> 25294 25295 Reviewed by Sam Weinig. 25296 25297 WebKit2: Store the certificate chain in PlatformCertificateInfo. 25298 https://bugs.webkit.org/show_bug.cgi?id=47603 25299 25300 * Shared/API/c/win/WKCertificateInfoWin.cpp: 25301 (WKCertificateInfoGetCertificateChainLength): 25302 (WKCertificateInfoGetCertificateContextAtIndex): 25303 * Shared/API/c/win/WKCertificateInfoWin.h: 25304 * Shared/win/PlatformCertificateInfo.cpp: 25305 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Get the chain context from the response and duplicate the certificate contexts 25306 in the chain to store in m_certificateChain. 25307 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): Free all the certificate contexts in the chain. 25308 (WebKit::PlatformCertificateInfo::operator=): Duplicate the certificate contexts from the other PlatformCertificateInfo's certificate chain 25309 to store in m_certificateChain. 25310 (WebKit::PlatformCertificateInfo::encode): 25311 (WebKit::PlatformCertificateInfo::decode): 25312 (WebKit::PlatformCertificateInfo::clearCertificateChain): Free all the certificate contexts in the chain and clear the vector. 25313 * Shared/win/PlatformCertificateInfo.h: 25314 (WebKit::PlatformCertificateInfo::certificateChain): 25315 25316 2010-10-14 Adam Roben <aroben (a] apple.com> 25317 25318 Make sure WebKit2 only loads each plugin once 25319 25320 Fixes <http://webkit.org/b/47677> <rdar://problem/8552178> WebKit2 can 25321 load the same plugin multiple times 25322 25323 Reviewed by Sam Weinig. 25324 25325 * UIProcess/Plugins/PluginInfoStore.cpp: 25326 (WebKit::addFromVector): Helper function that adds all the elements 25327 from a Vector to a HashSet. 25328 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Put all the plugin 25329 paths into a HashSet, then load the plugins specified in the HashSet. 25330 On Windows, the HashSet is case-insensitive, just like the file 25331 system. 25332 25333 * UIProcess/Plugins/PluginInfoStore.h: Removed loadPluginsInDirectory, 25334 which is no longer used. 25335 25336 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 25337 (WebKit::addPluginPathsFromRegistry): 25338 (WebKit::PluginInfoStore::individualPluginPaths): 25339 Changed to store the paths in a Vector instead of a HashSet now that 25340 loadPluginsIfNecessary will handle duplicates for us. 25341 25342 2010-10-14 Adam Roben <aroben (a] apple.com> 25343 25344 Load plugins that are specified in the MozillaPlugins registry key 25345 25346 Fixes <http://webkit.org/b/44271> <rdar://problem/8329750> WebKit2 25347 should load plugins specified in the MozillaPlugins registry key (like 25348 old WebKit does) 25349 25350 I couldn't think of a good way to test this. 25351 25352 Reviewed by Steve Falkenburg. 25353 25354 * UIProcess/Plugins/PluginInfoStore.cpp: 25355 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Also load plugins 25356 specified by individualPluginPaths. 25357 25358 * UIProcess/Plugins/PluginInfoStore.h: Added individualPluginPaths and 25359 some comments. 25360 25361 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 25362 (WebKit::PluginInfoStore::individualPluginPaths): 25363 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 25364 (WebKit::PluginInfoStore::individualPluginPaths): 25365 Stubbed out. 25366 25367 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 25368 (WebKit::addPluginPathsFromRegistry): 25369 (WebKit::PluginInfoStore::individualPluginPaths): 25370 Ported this code from WebCore's PluginDatabaseWin.cpp. I slightly 25371 cleaned it up and changed it to use a case-insensitive hash, since 25372 paths on Windows are case-insensitive. 25373 25374 2010-10-14 Adam Roben <aroben (a] apple.com> 25375 25376 Call ::DefWindowProcW for unhandled key events 25377 25378 ::DefWindowProcW does important things for at least some key events 25379 (e.g., it generates a WM_SYSCOMMAND message when the Alt key is 25380 released), so we need to make sure to call it when we don't handle key 25381 events. 25382 25383 Fixes <http://webkit.org/b/47671> <rdar://problem/8435594> Pressing 25384 the Alt key when MiniBrowser's WKView is focused doesn't send focus to 25385 the menu bar 25386 25387 Reviewed by Steve Falkenburg. 25388 25389 * UIProcess/API/mac/PageClientImpl.h: 25390 * UIProcess/API/mac/PageClientImpl.mm: 25391 (WebKit::PageClientImpl::didNotHandleKeyEvent): 25392 * UIProcess/API/qt/qwkpage.cpp: 25393 (QWKPagePrivate::didNotHandleKeyEvent): 25394 * UIProcess/API/qt/qwkpage_p.h: 25395 Stubbed out didNotHandleKeyEvent. 25396 25397 * UIProcess/PageClient.h: Added didNotHandleKeyEvent. 25398 25399 * UIProcess/WebPageProxy.cpp: 25400 (WebKit::WebPageProxy::didReceiveEvent): Tell the PageClient about the 25401 unhandled event. 25402 25403 * UIProcess/win/WebView.cpp: 25404 (WebKit::WebView::onKeyEvent): Added a comment. 25405 (WebKit::WebView::didNotHandleKeyEvent): Pass the event to 25406 ::DefWindowProcW. 25407 25408 * UIProcess/win/WebView.h: Added didNotHandleKeyEvent. 25409 25410 2010-10-13 Sam Weinig <sam (a] webkit.org> 25411 25412 Reviewed by Jon Honeycutt. 25413 25414 Memory smasher in WebKit2 InjectedBundleHitTestResult::absoluteLinkURL 25415 https://bugs.webkit.org/show_bug.cgi?id=47648 25416 25417 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 25418 (WebKit::InjectedBundleHitTestResult::absoluteLinkURL): 25419 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Return a String instead of 25420 a const String&. 25421 25422 2010-10-13 Sam Weinig <sam (a] webkit.org> 25423 25424 Reviewed by Jon Honeycutt. 25425 25426 PlatformMouseEvents need to contain modifier flags 25427 https://bugs.webkit.org/show_bug.cgi?id=47651 25428 25429 * Shared/WebEventConversion.cpp: 25430 (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): 25431 Fill in m_modifierFlags. 25432 25433 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25434 25435 Reviewed by John Sullivan. 25436 25437 Draw the find overlay holes 25438 https://bugs.webkit.org/show_bug.cgi?id=47631 25439 25440 * WebProcess/WebPage/FindPageOverlay.cpp: 25441 (WebKit::FindPageOverlay::drawRect): 25442 Draw the white frames and the holes. 25443 25444 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25445 25446 Reviewed by Darin Adler. 25447 25448 Use WKSI to get wheel event deltas 25449 https://bugs.webkit.org/show_bug.cgi?id=47617 25450 25451 * Shared/mac/WebEventFactory.mm: 25452 (WebKit::WebEventFactory::createWebWheelEvent): 25453 Call WKGetWheelEventDeltas. 25454 25455 * UIProcess/API/mac/WKView.mm: 25456 (-[WKView initWithFrame:pageNamespaceRef:]): 25457 Call InitWebCoreSystemInterface. 25458 25459 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 25460 (InitWebCoreSystemInterface): 25461 Use dispatch_once. 25462 25463 2010-10-13 Adam Roben <aroben (a] apple.com> 25464 25465 Fix the Cairo build 25466 25467 * Shared/cairo/BackingStoreCairo.cpp: Added. 25468 (WebKit::BackingStore::createGraphicsContext): 25469 (WebKit::BackingStore::paint): 25470 Stubbed out. 25471 25472 * win/WebKit2.vcproj: Build BackingStoreCG.cpp in CG builds and 25473 BackingStoreCairo.cpp in Cairo builds. 25474 25475 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25476 25477 Build fix. 25478 25479 * Shared/cg/BackingStoreCG.cpp: 25480 25481 2010-10-13 Gavin Barraclough <barraclough (a] apple.com> 25482 25483 Reviewed by Oliver Hunt. 25484 25485 https://bugs.webkit.org/show_bug.cgi?id=43987 25486 Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder 25487 to construct their internal result string. Remove ScriptString (this is now 25488 redundant). 25489 25490 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 25491 (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest): 25492 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 25493 25494 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25495 25496 Reviewed by Sam Weinig. 25497 25498 Send over find indicator information to the UI process 25499 https://bugs.webkit.org/show_bug.cgi?id=47612 25500 25501 * UIProcess/WebPageProxy.cpp: 25502 (WebKit::WebPageProxy::setFindIndicator): 25503 Add stub. 25504 25505 * UIProcess/WebPageProxy.messages.in: 25506 Add SetFindIndicator. 25507 25508 * WebProcess/WebPage/FindController.cpp: 25509 (WebKit::FindController::FindController): 25510 Initialize m_isShowingFindIndicator. 25511 25512 (WebKit::FindController::findString): 25513 Update the find indicator if needed. 25514 25515 (WebKit::FindController::updateFindIndicator): 25516 Compute find indicator information, paint the find indicator text into a 25517 backing store and send it over. 25518 25519 (WebKit::FindController::resetFindIndicator): 25520 Send a SetFindIndicator message with a null backing store. 25521 25522 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25523 25524 Reviewed by Sam Weinig. 25525 25526 Add BackingStoreQt.cpp file with stubbed out BackingStore member functions 25527 https://bugs.webkit.org/show_bug.cgi?id=47614 25528 25529 * Shared/BackingStore.h: 25530 Remove unused include. 25531 25532 * Shared/qt/BackingStoreQt.cpp: Added. 25533 (WebKit::BackingStore::createGraphicsContext): 25534 (WebKit::BackingStore::paint): 25535 25536 * WebKit2.pro: 25537 Add BackingStore.cpp, BackingStore.h and BackingStoreQt.cpp 25538 25539 2010-10-13 Brent Fulgham <bfulgham (a] webkit.org> 25540 25541 Unreviewed build fixes after r69538. 25542 25543 * UIProcess/WebBackForwardList.h: Add missing include directive 25544 for CoreFoundation. 25545 * UIProcess/cf/WebBackForwardListCF.cpp: Add missing include 25546 directives for RetainPtr.h and CoreFoundation. 25547 * UIProcess/cf/WebPageProxyCF.cpp: Add missing include directive 25548 for RetainPtr.h. 25549 25550 2010-10-13 Adam Roben <aroben (a] apple.com> 25551 25552 Start compiling BackingStore on Windows 25553 25554 Rubber-stamped by Anders Carlsson. 25555 25556 * win/WebKit2.vcproj: Added BackingStore. 25557 25558 2010-10-13 Adam Roben <aroben (a] apple.com> 25559 25560 Rename BackingStoreMac.mm to BackingStoreCG.cpp 25561 25562 There's nothing Mac-specific about this file. 25563 25564 Rubber-stamped by Anders Carlsson. 25565 25566 * Shared/cg/BackingStoreCG.cpp: Renamed from WebKit2/Shared/mac/BackingStoreMac.mm. 25567 25568 * WebKit2.xcodeproj/project.pbxproj: Updated for rename. 25569 25570 2010-10-13 Anders Carlsson <andersca (a] apple.com> 25571 25572 Reviewed by Sam Weinig. 25573 25574 Allow all signals to be delivered to the web process 25575 https://bugs.webkit.org/show_bug.cgi?id=47602 25576 <rdar://problem/8546399> 25577 25578 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 25579 (WebKit::ProcessLauncher::launchProcess): 25580 25581 2010-10-12 Adam Roben <aroben (a] apple.com> 25582 25583 Let WebCore handle scrolling when the spacebar is pressed on Windows 25584 25585 WebCore already has code to do this, and WebKit2 was doing it on 25586 keydown instead of keypress, which caused problems with text fields. 25587 25588 WebCore's spacebar-handling code is currently compiled out on Mac and 25589 Qt, so we continue to handle spacebar in WebKit2 on those platforms. 25590 25591 Fixes <http://webkit.org/b/47544> <rdar://problem/8540645> REGRESSION: 25592 Pressing spacebar in a text field in WebKit2 does not insert a space, 25593 scrolls the page instead 25594 25595 Test: WebKit2/SpacebarScrolling 25596 25597 Reviewed by Sam Weinig. 25598 25599 * WebProcess/WebPage/win/WebPageWin.cpp: 25600 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 25601 Removed handling for spacebar presses. WebCore already does this for 25602 us, and does it better. 25603 25604 2010-10-12 Jessie Berlin <jberlin (a] apple.com> 25605 25606 Reviewed by Jon Honeycutt. 25607 25608 Add ability for WK2 to set domain relaxation forbidden for a URL scheme. 25609 https://bugs.webkit.org/show_bug.cgi?id=47562 25610 25611 Add the schemes for which domain relaxation is forbidden to the 25612 WebProcessCreationParameters. 25613 * Shared/WebProcessCreationParameters.cpp: 25614 (WebKit::WebProcessCreationParameters::encode): 25615 (WebKit::WebProcessCreationParameters::decode): 25616 * Shared/WebProcessCreationParameters.h: 25617 25618 * UIProcess/API/C/WKContext.cpp: 25619 (WKContextSetDomainRelaxationForbiddenForURLScheme): 25620 * UIProcess/API/C/WKContextPrivate.h: 25621 25622 * UIProcess/WebContext.cpp: 25623 (WebKit::WebContext::ensureWebProcess): 25624 Copy over the schemes for which domain relaxation is forbidden to 25625 WebProcessCreationParameters. 25626 (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme): 25627 Only send a message to the WebProcess if it is valid. 25628 * UIProcess/WebContext.h: 25629 25630 * WebProcess/WebProcess.cpp: 25631 (WebKit::WebProcess::initializeWebProcess): 25632 Set domain relaxation forbidden for the schemes in 25633 WebProcesCreationParameters.urlSchemesForWhichDomainRelaxationIsForbidden. 25634 (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme): 25635 * WebProcess/WebProcess.h: 25636 25637 * WebProcess/WebProcess.messages.in: 25638 Add the SetDomainRelaxationFobiddenForURLScheme message. 25639 25640 2010-10-13 Csaba Osztrogonc <ossy (a] webkit.org> 25641 25642 Reviewed by Kenneth Rohde Christiansen. 25643 25644 [Qt] Simplify code generation in WebKit2/DerivedSources.pro 25645 https://bugs.webkit.org/show_bug.cgi?id=47543 25646 25647 * DerivedSources.pro: General generator rules added instead of copy/paste code to converge Makefile.DerivedSources. 25648 * WebKit2.pro: PluginProcess' headers and sources added. 25649 25650 2010-10-13 Andreas Kling <kling (a] webkit.org> 25651 25652 Reviewed by Kenneth Rohde Christiansen. 25653 25654 [Qt] Use flag instead of magic word to mark memory map free/used 25655 25656 Original patch by Antti Koivisto. 25657 25658 * Shared/qt/MappedMemory.h: 25659 (WebKit::MappedMemory::mapSize): 25660 (WebKit::MappedMemory::markUsed): 25661 (WebKit::MappedMemory::markFree): 25662 (WebKit::MappedMemory::isFree): 25663 (WebKit::MappedMemory::data): 25664 * Shared/qt/MappedMemoryPool.cpp: 25665 (WebKit::MappedMemoryPool::cleanUp): 25666 * Shared/qt/UpdateChunk.cpp: 25667 (WebKit::mapMemory): 25668 (WebKit::mapFile): 25669 (WebKit::UpdateChunk::data): 25670 (WebKit::UpdateChunk::decode): 25671 25672 2010-10-12 Jon Honeycutt <jhoneycutt (a] apple.com> 25673 25674 Build fix. Unreviewed. 25675 25676 * win/WebKit2Generated.make: 25677 Copy over WKBundleHitTestResult.h. 25678 25679 2010-10-12 Sam Weinig <sam (a] webkit.org> 25680 25681 Reviewed by Gavin "Sometimes" Barraclough. 25682 25683 Add API to get the target frame from a HitTestResult. 25684 25685 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 25686 (WKBundleHitTestResultGetFrame): 25687 (WKBundleHitTestResultGetTargetFrame): 25688 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 25689 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 25690 (WebKit::InjectedBundleHitTestResult::frame): Rename from webFrame. 25691 (WebKit::InjectedBundleHitTestResult::targetFrame): 25692 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 25693 25694 2010-10-12 Anders Carlsson <andersca (a] apple.com> 25695 25696 Reviewed by Dan Bernstein. 25697 25698 Paint the find overlay background 25699 https://bugs.webkit.org/show_bug.cgi?id=47565 25700 25701 * WebProcess/WebPage/FindController.cpp: 25702 (WebKit::FindController::findString): 25703 Don't show the overlay if we have too many matches. 25704 25705 * WebProcess/WebPage/FindPageOverlay.cpp: 25706 (WebKit::FindPageOverlay::rectsForTextMatches): 25707 Get the rects for all text matches. 25708 25709 (WebKit::FindPageOverlay::drawRect): 25710 Assert that we're only being called if there are any text matches. 25711 Paint the background. 25712 25713 2010-10-12 Sam Weinig <sam (a] webkit.org> 25714 25715 Reviewed by Dan Bernstein. 25716 25717 When a provisional load fails, the provisional URL returned 25718 from WKFrameCopyProvisionalURL should be empty 25719 <rdar://problem/8540878> 25720 https://bugs.webkit.org/show_bug.cgi?id=47546 25721 25722 API Tests: FailedLoad (updated). 25723 25724 * UIProcess/WebFrameProxy.cpp: 25725 (WebKit::WebFrameProxy::didFailProvisionalLoad): Empty out the provisional URL. 25726 25727 2010-10-12 Anders Carlsson <andersca (a] apple.com> 25728 25729 Reviewed by Sam Weinig. 25730 25731 Start fleshing out find page overlays 25732 https://bugs.webkit.org/show_bug.cgi?id=47559 25733 25734 * UIProcess/API/C/WKAPICast.h: 25735 (WebKit::toFindOptions): 25736 Handle the kWKFindOptionsShowFindIndicator flag. 25737 25738 * WebKit2.pro: 25739 * WebKit2.xcodeproj/project.pbxproj: 25740 Add new files. 25741 25742 * WebProcess/WebPage/FindController.cpp: 25743 (WebKit::FindController::FindController): 25744 Initialize the find page overlay. 25745 25746 (WebKit::FindController::findString): 25747 Hide or show the find page overlay. 25748 25749 (WebKit::FindController::findPageOverlayDestroyed): 25750 Null out the find page overlay. 25751 25752 * WebProcess/WebPage/FindPageOverlay.cpp: Added. 25753 * WebProcess/WebPage/FindPageOverlay.h: Added. 25754 Add stubbed out FindPageOverlay class. 25755 25756 * WebProcess/WebPage/PageOverlay.cpp: Added. 25757 (WebKit::PageOverlay::setPage): 25758 Set the parent web page. 25759 25760 (WebKit::PageOverlay::setNeedsDisplay): 25761 Invalidate the parent web page. 25762 25763 * WebProcess/WebPage/WebPage.cpp: 25764 (WebKit::WebPage::drawRect): 25765 If there's a page overlay, ask it to draw on top of the page contents. 25766 25767 (WebKit::WebPage::installPageOverlay): 25768 Set the page overlay. 25769 25770 (WebKit::WebPage::uninstallPageOverlay): 25771 Clear the page overlay. 25772 25773 * win/WebKit2.vcproj: 25774 Add new files. 25775 25776 2010-10-12 Jessie Berlin <jberlin (a] apple.com> 25777 25778 Reviewed by Jon Honeycutt. 25779 25780 Add ability for WK2 to register a scheme as secure. 25781 https://bugs.webkit.org/show_bug.cgi?id=47557 25782 25783 Add the schemes that need to be registered as secure to the WebProcessCreationParameters. 25784 * Shared/WebProcessCreationParameters.cpp: 25785 (WebKit::WebProcessCreationParameters::encode): 25786 (WebKit::WebProcessCreationParameters::decode): 25787 * Shared/WebProcessCreationParameters.h: 25788 25789 * UIProcess/API/C/WKContext.cpp: 25790 (WKContextRegisterURLSchemeAsSecure): 25791 * UIProcess/API/C/WKContextPrivate.h: 25792 25793 * UIProcess/WebContext.cpp: 25794 (WebKit::WebContext::ensureWebProcess): 25795 Copy over the schemes that are to be registered as secure to the 25796 WebProcessCreationParameters. 25797 (WebKit::WebContext::registerURLSchemeAsSecure): 25798 Only send a message to the WebProcess if it is valid. 25799 * UIProcess/WebContext.h: 25800 25801 * WebProcess/WebProcess.cpp: 25802 (WebKit::WebProcess::initializeWebProcess): 25803 Register the schemes that need to be registered as secure from the 25804 WebProcessCreationParameters. 25805 (WebKit::WebProcess::registerURLSchemeAsSecure): 25806 * WebProcess/WebProcess.h: 25807 25808 * WebProcess/WebProcess.messages.in: 25809 Add the RegisterURLSchemeAsSecure message. 25810 25811 2010-10-12 John Sullivan <sullivan (a] apple.com> 25812 25813 Reviewed by Anders Carlsson. 25814 25815 https://bugs.webkit.org/show_bug.cgi?id=47556 25816 WKBundleNodeHandlePrivate.h should be marked private, not project 25817 25818 * WebKit2.xcodeproj/project.pbxproj: 25819 Marked WKBundleNodeHandlePrivate.h as private. 25820 25821 2010-10-12 Anders Carlsson <andersca (a] apple.com> 25822 25823 Reviewed by Sam Weinig. 25824 25825 Add FindController class 25826 https://bugs.webkit.org/show_bug.cgi?id=47555 25827 25828 * WebKit2.pro: 25829 * WebKit2.xcodeproj/project.pbxproj: 25830 Add new files. 25831 25832 * WebProcess/WebPage/FindController.cpp: Added. 25833 (WebKit::FindController::FindController): 25834 (WebKit::FindController::findString): 25835 Ask WebCore to find the given string for us. 25836 25837 (WebKit::FindController::hideFindUI): 25838 Add stub. 25839 25840 * WebProcess/WebPage/WebPage.cpp: 25841 (WebKit::WebPage::WebPage): 25842 Initialize the find controller. 25843 25844 (WebKit::WebPage::findString): 25845 (WebKit::WebPage::hideFindUI): 25846 Call the find controller. 25847 25848 * win/WebKit2.vcproj: 25849 Add new files. 25850 25851 2010-10-12 Sam Weinig <sam (a] webkit.org> 25852 25853 Reviewed by Anders Carlsson. 25854 25855 Need WebKit2 API to get the cell above a table cell 25856 <rdar://problem/8537111> 25857 https://bugs.webkit.org/show_bug.cgi?id=47532 25858 25859 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 25860 (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove): 25861 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 25862 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 25863 (WebKit::InjectedBundleNodeHandle::copyHTMLTableCellElementCellAbove): 25864 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 25865 25866 2010-10-11 Anders Carlsson <andersca (a] apple.com> 25867 25868 Reviewed by Sam Weinig. 25869 25870 Add BinarySemaphore class to CoreIPC and use it in Connection::waitForSyncReply 25871 https://bugs.webkit.org/show_bug.cgi?id=47526 25872 25873 * Platform/CoreIPC/BinarySemaphore.cpp: Added. 25874 * Platform/CoreIPC/BinarySemaphore.h: Added. 25875 Add BinarySemaphore class. 25876 25877 * Platform/CoreIPC/Connection.cpp: 25878 (CoreIPC::Connection::sendSyncMessage): 25879 (CoreIPC::Connection::waitForSyncReply): 25880 (CoreIPC::Connection::processIncomingMessage): 25881 Use the binary semaphore and the newly added m_pendingSyncRepliesMutex. 25882 25883 * WebKit2.pro: 25884 * WebKit2.xcodeproj/project.pbxproj: 25885 * win/WebKit2.vcproj: 25886 Add new files. 25887 25888 2010-10-12 Adam Roben <aroben (a] apple.com> 25889 25890 Bring WebKit2 .vcproj files up-to-date with reality 25891 25892 * win/WebKit2.vcproj: 25893 * win/WebKit2Generated.vcproj: 25894 Added missing files, removed non-existent files. 25895 25896 2010-10-12 Mark Rowe <mrowe (a] apple.com> 25897 25898 Fix the 32-bit WebKit2 build. 25899 25900 * UIProcess/cf/WebBackForwardListCF.cpp: 25901 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Change currentIndex to be of 25902 type CFIndex and specify kCFNumberCFIndexType when calling CFNumberGetValue. This avoids a warning 25903 when comparing currentIndex with another variable of type CFIndex later in the function. 25904 25905 2010-10-12 Mark Rowe <mrowe (a] apple.com> 25906 25907 Fix class vs struct forward declaration issues in WebKit2 observed when using clang. 25908 25909 * Scripts/webkit2/messages.py: Add WebCore::ViewportArguments to the set of structs. 25910 * UIProcess/PageClient.h: 25911 * UIProcess/WebPageProxy.h: 25912 25913 2010-10-12 Juha Savolainen <juha.savolainen (a] weego.fi> 25914 25915 Reviewed by Antti Koivisto. 25916 25917 [Qt] Adding Qt WebKit2 API for zooming. 25918 https://bugs.webkit.org/show_bug.cgi?id=47539 25919 25920 Adding zoom methods to QWKPage. 25921 25922 * UIProcess/API/qt/qwkpage.cpp: 25923 (QWKPage::textZoomFactor): Added 25924 (QWKPage::setTextZoomFactor): Added 25925 (QWKPage::pageZoomFactor): Added 25926 (QWKPage::setPageZoomFactor): Added 25927 (QWKPage::setPageAndTextZoomFactors): Added 25928 * UIProcess/API/qt/qwkpage.h: 25929 25930 2010-10-11 Brady Eidson <beidson (a] apple.com> 25931 25932 Reviewed by Darin Adler of the past. 25933 25934 Address some of Darin's review feedback in https://bugs.webkit.org/show_bug.cgi?id=47354 25935 that wasn't left till after my original commit. 25936 25937 * UIProcess/API/C/WKPage.cpp: 25938 (WKPageCopySessionState): Nuke the temporary variable. 25939 * UIProcess/API/C/WKPage.h: 25940 25941 * UIProcess/WebPageProxy.h: Fix up function declarations. 25942 25943 * UIProcess/cf/WebPageProxyCF.cpp: 25944 (WebKit::WebPageProxy::sessionStateData): Use sizeof(UInt32) instead of 4. 25945 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto. 25946 25947 2010-10-11 Brady Eidson <beidson (a] apple.com> 25948 25949 Reviewed by BUILD FIX. 25950 25951 Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354 25952 25953 * UIProcess/cf/WebPageProxyCF.cpp: 25954 (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows. 25955 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto. 25956 25957 2010-10-11 Sam Weinig <sam (a] webkit.org> 25958 25959 Reviewed by Anders Carlsson. 25960 25961 Add WebKit2 equivalents for setValueForUser and setAutofilled 25962 <rdar://problem/8475934> 25963 https://bugs.webkit.org/show_bug.cgi?id=47524 25964 25965 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 25966 (WKBundleNodeHandleSetHTMLInputElementValueForUser): 25967 (WKBundleNodeHandleSetHTMLInputElementAutofilled): 25968 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: 25969 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 25970 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser): 25971 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled): 25972 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 25973 25974 2010-10-11 Brian Weinstein <bweinstein (a] apple.com> 25975 25976 Windows build fix. Add a needed include. 25977 25978 * UIProcess/cf/WebPageProxyCF.cpp: 25979 25980 2010-10-11 Brian Weinstein <bweinstein (a] apple.com> 25981 25982 Windows build fix. Wrap calls to CFSTR in parentheses. 25983 25984 * UIProcess/cf/WebBackForwardListCF.cpp: 25985 * UIProcess/cf/WebPageProxyCF.cpp: 25986 25987 2010-10-11 Sam Weinig <sam (a] webkit.org> 25988 25989 Reviewed by Anders Carlsson. 25990 25991 Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef 25992 https://bugs.webkit.org/show_bug.cgi?id=47509 25993 25994 Add SPI to convert a JSObjectRef to a WKBundleNodeHandleRef. 25995 25996 * DerivedSources.pro: 25997 * WebKit2.pro: 25998 * WebKit2.xcodeproj/project.pbxproj: 25999 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 26000 (WKBundleNodeHandleCreate): 26001 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Added. 26002 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 26003 (WebKit::InjectedBundleNodeHandle::getOrCreate): 26004 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 26005 * win/WebKit2.vcproj: 26006 * win/WebKit2Generated.make: 26007 26008 2010-10-11 Brady Eidson <beidson (a] apple.com> 26009 26010 Reviewed by Darin Adler and Sam Weinig. 26011 26012 <rdar://problem/8262202> and https://bugs.webkit.org/show_bug.cgi?id=47354 26013 Need WKPage API for serializing and restoring a page's state 26014 26015 * WebKit2.xcodeproj/project.pbxproj: 26016 * win/WebKit2.vcproj: 26017 26018 * WebKit2Prefix.h: Add DEFINE_STATIC_GETTER convenience. 26019 26020 * UIProcess/API/C/WKPage.cpp: 26021 (WKPageGetSessionHistoryURLValueType): 26022 (WKPageCopySessionState): Change to use a filter function to allow the API client to decide what 26023 types of things get serialized as session state. For now it only filters based on URL in 26024 session history entries. 26025 (WKPageRestoreFromSessionState): 26026 * UIProcess/API/C/WKPage.h: 26027 26028 * UIProcess/WebBackForwardList.h: 26029 (WebKit::WebBackForwardList::restoredCurrentURL): 26030 26031 * UIProcess/WebPageProxy.cpp: 26032 (WebKit::WebPageProxy::sessionStateData): Leave stubs for non-CF platform builds. 26033 (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto. 26034 * UIProcess/WebPageProxy.h: 26035 26036 * UIProcess/cf: Added. 26037 * UIProcess/cf/WebBackForwardListCF.cpp: Added. 26038 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Store back/forward list info CF property list style. 26039 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Restore from that data - but for now we don't 26040 actually put the back/forward list back into place and instead only remember the current URL. 26041 26042 * UIProcess/cf/WebPageProxyCF.cpp: Added. 26043 (WebKit::WebPageProxy::sessionStateData): Create the sessions state date CF property list style, plus a version header. 26044 (WebKit::WebPageProxy::restoreFromSessionStateData): Restore from that property list style session state data. 26045 26046 2010-10-11 Adam Roben <aroben (a] apple.com> 26047 26048 Implement SharedMemory on Windows 26049 26050 This makes visited links be colored correctly. 26051 26052 Fixes <http://webkit.org/b/47499> <rdar://problem/8422725>. 26053 26054 Reviewed by Anders Carlsson. 26055 26056 * Platform/SharedMemory.h: Add Windows-specific members to 26057 SharedMemory and SharedMemory::Handle. 26058 26059 * Platform/win/SharedMemoryWin.cpp: 26060 (WebKit::SharedMemory::Handle::Handle): Initialize our members. 26061 (WebKit::SharedMemory::Handle::~Handle): Close our HANDLE if we have 26062 one. 26063 (WebKit::SharedMemory::Handle::encode): Encode our size, HANDLE, and 26064 PID. Null out our HANDLE member, as it is now the receiving process's 26065 responsibility to close the HANDLE. 26066 (WebKit::SharedMemory::Handle::decode): Copy the handle from the 26067 sending process into the receiving process and close the HANDLE the 26068 sending process gave us. 26069 (WebKit::SharedMemory::create): Map some memory and store it in a new 26070 SharedMemory object. 26071 (WebKit::accessRights): Helper function to convert a 26072 SharedMemory::Protection to a file-mapping access right. 26073 (WebKit::SharedMemory::create): Map the memory represented by the 26074 Handle, and adopt the HANDLE from it. 26075 (WebKit::SharedMemory::~SharedMemory): Clean up our memory mapping. 26076 (WebKit::SharedMemory::createHandle): Give the Handle a copy of our 26077 HANDLE with the specified protection. 26078 26079 2010-10-11 Adam Roben <aroben (a] apple.com> 26080 26081 Make it possible to restart a RunLoop::Timer on Windows 26082 26083 Fixes <http://webkit.org/b/47505> RunLoop::Timer only ever fires once 26084 on Windows 26085 26086 Reviewed by Anders Carlsson. 26087 26088 * Platform/win/RunLoopWin.cpp: 26089 (RunLoop::TimerBase::timerFired): Remove non-repeating timers from the 26090 set of active timers when they fire, just like we do when stopping 26091 them manually. 26092 26093 2010-10-11 Jessie Berlin <jberlin (a] apple.com> 26094 26095 Reviewed by Darin Adler. 26096 26097 Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal 26098 representation of a WebKit1 WebSerializedJSValue. 26099 https://bugs.webkit.org/show_bug.cgi?id=47439 26100 26101 * Shared/API/c/WKSerializedScriptValue.cpp: 26102 (WKSerializedScriptValueCreateWithInternalRepresentation): 26103 Use the existing WebSerializedScriptValue constructor that takes a pointer to the internal 26104 representation (a WebCore::SerializedScriptValue). 26105 * Shared/API/c/WKSerializedScriptValuePrivate.h: 26106 26107 2010-10-11 Mike Thole <mthole (a] apple.com> 26108 26109 Reviewed by Darin Adler. 26110 26111 Rename WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain() 26112 https://bugs.webkit.org/show_bug.cgi?id=47495 26113 26114 * Shared/API/c/mac/WKCertificateInfoMac.h: 26115 Renamed WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain() 26116 * Shared/API/c/mac/WKCertificateInfoMac.mm: 26117 (WKCertificateInfoGetCertificateChain): Updated for name change. 26118 * Shared/mac/PlatformCertificateInfo.h: 26119 (WebKit::PlatformCertificateInfo::certificateChain): Renamed from peerCertificates() 26120 * Shared/mac/PlatformCertificateInfo.mm: 26121 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Updated for name change. 26122 (WebKit::PlatformCertificateInfo::encode): Ditto. 26123 (WebKit::PlatformCertificateInfo::decode): Ditto. 26124 (WebKit::PlatformCertificateInfo::dump): Ditto. 26125 26126 2010-10-11 Balazs Kelemen <kbalazs (a] webkit.org> 26127 26128 Reviewed by Kenneth Rohde Christiansen. 26129 26130 [Qt] Issue a warning when an InjectedBundle can't be loaded. 26131 https://bugs.webkit.org/show_bug.cgi?id=47497 26132 26133 The original author of the patch is Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com>. 26134 26135 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 26136 (WebKit::InjectedBundle::load): 26137 26138 2010-10-11 Sam Weinig <sam (a] webkit.org> 26139 26140 Reviewed by Simon Fraser. 26141 26142 Rename transformToDeviceSpace to convertToDeviceSpace and 26143 transformToUserSpace to convertToUserSpace at Simon's request. 26144 26145 * UIProcess/API/mac/PageClientImpl.h: 26146 * UIProcess/API/mac/PageClientImpl.mm: 26147 (WebKit::PageClientImpl::convertToDeviceSpace): 26148 (WebKit::PageClientImpl::convertToUserSpace): 26149 * UIProcess/API/mac/WKView.mm: 26150 (-[WKView _convertToDeviceSpace:]): 26151 (-[WKView _convertToUserSpace:]): 26152 * UIProcess/API/mac/WKViewInternal.h: 26153 * UIProcess/API/qt/qwkpage.cpp: 26154 (QWKPagePrivate::convertToDeviceSpace): 26155 (QWKPagePrivate::convertToUserSpace): 26156 * UIProcess/API/qt/qwkpage_p.h: 26157 * UIProcess/PageClient.h: 26158 * UIProcess/WebPageProxy.cpp: 26159 (WebKit::WebPageProxy::setWindowFrame): 26160 (WebKit::WebPageProxy::getWindowFrame): 26161 * UIProcess/win/WebView.cpp: 26162 (WebKit::WebView::convertToDeviceSpace): 26163 (WebKit::WebView::convertToUserSpace): 26164 * UIProcess/win/WebView.h: 26165 26166 2010-10-11 Sam Weinig <sam (a] webkit.org> 26167 26168 Try to fix the Mac release build. 26169 26170 * UIProcess/API/mac/WKView.mm: 26171 (-[WKView _transformToDeviceSpace:]): 26172 (-[WKView _transformToUserSpace:]): 26173 * UIProcess/API/mac/WKViewInternal.h: 26174 26175 2010-10-11 Balazs Kelemen <kbalazs (a] webkit.org> 26176 26177 Reviewed by Kenneth Rohde Christiansen. 26178 26179 WebProcess ASSERTs with a null application cache dir creation parameter 26180 https://bugs.webkit.org/show_bug.cgi?id=47489 26181 26182 * WebProcess/WebProcess.cpp: 26183 (WebKit::WebProcess::initializeWebProcess): 26184 26185 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 26186 26187 Reviewed by Andreas Kling. 26188 26189 Unlink the files used for I/O mapped memory as soon as they are 26190 created. 26191 26192 * Shared/qt/UpdateChunk.cpp: 26193 (WebKit::mapMemory): 26194 (WebKit::mapFile): 26195 26196 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 26197 26198 Rubberstamped by Andreas Kling. 26199 26200 Build fix when using MeeGo Touch 26201 26202 * WebProcess/qt/WebProcessMainQt.cpp: 26203 26204 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 26205 26206 Reviewed by Andreas Kling. 26207 26208 Use raster for the QtWebProcess. 26209 26210 * WebProcess/qt/WebProcessMainQt.cpp: 26211 (WebKit::WebProcessMainQt): 26212 26213 2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 26214 26215 Unreviewed win build fix. 26216 26217 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26218 26219 2010-10-08 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 26220 26221 Reviewed by Sam Weinig. 26222 26223 Adding Qt WebKit2 API for dealing with viewport meta info 26224 https://bugs.webkit.org/show_bug.cgi?id=47202 26225 26226 Add new API for setting scale and layout viewport given the data 26227 provided by the viewport meta tag. 26228 26229 Any Qt view components who wants to support this, will need to 26230 compute the viewport attributes before first load using 26231 viewportAttributesForSize(..), and then again everytime 26232 the viewport attributes gets invalidates (loading a new page, 26233 navigating page cache) or every time on of the browser 26234 attributes change, such as when the device is rotates (which 26235 changes the actual visible viewport). A signal 26236 viewportChangeRequested() is provided for the former. 26237 26238 * Shared/WebCoreArgumentCoders.h: 26239 * UIProcess/API/mac/PageClientImpl.h: 26240 * UIProcess/API/mac/PageClientImpl.mm: 26241 (WebKit::PageClientImpl::setViewportArguments): 26242 * UIProcess/API/qt/qwkpage.cpp: 26243 (QWKPagePrivate::setViewportArguments): 26244 (QWKPage::ViewportAttributes::ViewportAttributes): 26245 (QWKPage::ViewportAttributes::~ViewportAttributes): 26246 (QWKPage::ViewportAttributes::operator=): 26247 (QWKPage::viewportAttributesForSize): 26248 * UIProcess/API/qt/qwkpage.h: 26249 * UIProcess/API/qt/qwkpage_p.h: 26250 (QtViewportAttributesPrivate::QtViewportAttributesPrivate): 26251 * UIProcess/PageClient.h: 26252 * UIProcess/WebPageProxy.cpp: 26253 (WebKit::WebPageProxy::didReceiveMessage): 26254 (WebKit::WebPageProxy::didChangeViewportData): 26255 * UIProcess/WebPageProxy.h: 26256 * UIProcess/WebPageProxy.messages.in: 26257 * UIProcess/win/WebView.cpp: 26258 (WebKit::WebView::setViewportArguments): 26259 * UIProcess/win/WebView.h: 26260 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26261 (WebKit::WebChromeClient::dispatchViewportDataDidChange): 26262 * WebProcess/WebCoreSupport/WebChromeClient.h: 26263 26264 2010-10-11 Csaba Osztrogonc <ossy (a] webkit.org> 26265 26266 Reviewed by Andreas Kling. 26267 26268 [Qt] WebKit2 build scripts are buggy 26269 https://bugs.webkit.org/show_bug.cgi?id=47377 26270 26271 Generated sources must depends on WebKit2/Scripts/webkit2/messages.py too. 26272 26273 * DerivedSources.pro: Missing dependencies added. 26274 26275 2010-10-09 Sam Weinig <sam (a] webkit.org> 26276 26277 Reviewed by Dan Bernstein. 26278 26279 WKFrameGetFrameLoadState() returns kWKFrameLoadStateCommitted after the load has been stopped 26280 <rdar://problem/8173667> 26281 https://bugs.webkit.org/show_bug.cgi?id=47461 26282 26283 API Test: WebKit2/FailedLoad 26284 26285 * UIProcess/WebFrameProxy.cpp: 26286 (WebKit::WebFrameProxy::didFailProvisionalLoad): 26287 (WebKit::WebFrameProxy::didFailLoad): 26288 * UIProcess/WebFrameProxy.h: 26289 * UIProcess/WebPageProxy.cpp: 26290 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 26291 (WebKit::WebPageProxy::didFailLoadForFrame): 26292 Set the frame load state to LoadStateFinished for both didFailProvisionalLoadForFrame 26293 and didFailLoadForFrame. 26294 26295 2010-10-09 Sam Weinig <sam (a] webkit.org> 26296 26297 Reviewed by Dan Bernstein. 26298 26299 Add WebKit2 version of runBeforeUnloadConfirmPanelWithMessage 26300 <rdar://problem/8447690> 26301 https://bugs.webkit.org/show_bug.cgi?id=47459 26302 26303 * UIProcess/API/C/WKPage.h: 26304 * UIProcess/API/qt/qwkpage.cpp: 26305 (QWKPage::QWKPage): 26306 * UIProcess/WebPageProxy.cpp: 26307 (WebKit::WebPageProxy::setWindowFrame): 26308 (WebKit::WebPageProxy::getWindowFrame): 26309 (WebKit::WebPageProxy::canRunBeforeUnloadConfirmPanel): 26310 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): 26311 * UIProcess/WebPageProxy.h: 26312 * UIProcess/WebPageProxy.messages.in: 26313 * UIProcess/WebUIClient.cpp: 26314 (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel): 26315 (WebKit::WebUIClient::runBeforeUnloadConfirmPanel): 26316 * UIProcess/WebUIClient.h: 26317 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26318 (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel): 26319 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): 26320 Pipe calls through to the UIProcess. 26321 26322 2010-10-09 Sam Weinig <sam (a] webkit.org> 26323 26324 Reviewed by Dan Bernstein. 26325 26326 Need implementation of ChromeClient windowRect related functions. 26327 <rdar://problem/8469476> 26328 https://bugs.webkit.org/show_bug.cgi?id=47386 26329 26330 * Shared/API/c/WKGeometry.h: Added. 26331 Adds WKPoint, WKSize and WKRect structs. 26332 26333 * Shared/API/c/WKSharedAPICast.h: 26334 (WebKit::toImpl): 26335 (WebKit::toAPI): 26336 Add conversion functions for WKRect. 26337 26338 * Shared/WebCoreArgumentCoders.h: 26339 Add encoding for FloatPoint, FloatSize and FloatRect. 26340 26341 * UIProcess/API/C/WKPage.h: 26342 * UIProcess/API/mac/PageClientImpl.h: 26343 * UIProcess/API/mac/PageClientImpl.mm: 26344 (WebKit::PageClientImpl::transformToDeviceSpace): 26345 (WebKit::PageClientImpl::transformToUserSpace): 26346 * UIProcess/API/mac/WKView.mm: 26347 (-[WKView _transformToDeviceSpace:]): 26348 (-[WKView _transformToUserSpace:]): 26349 * UIProcess/API/mac/WKViewInternal.h: 26350 * UIProcess/API/qt/qwkpage.cpp: 26351 (QWKPagePrivate::transformToDeviceSpace): 26352 (QWKPagePrivate::transformToUserSpace): 26353 (QWKPage::QWKPage): 26354 * UIProcess/API/qt/qwkpage_p.h: 26355 * UIProcess/PageClient.h: 26356 * UIProcess/WebPageProxy.cpp: 26357 (WebKit::WebPageProxy::setWindowFrame): 26358 (WebKit::WebPageProxy::getWindowFrame): 26359 * UIProcess/WebPageProxy.h: 26360 * UIProcess/WebPageProxy.messages.in: 26361 * UIProcess/WebUIClient.cpp: 26362 (WebKit::WebUIClient::setWindowFrame): 26363 (WebKit::WebUIClient::windowFrame): 26364 * UIProcess/WebUIClient.h: 26365 * UIProcess/win/WebView.cpp: 26366 (WebKit::WebView::setEditCommandState): 26367 (WebKit::WebView::transformToDeviceSpace): 26368 (WebKit::WebView::transformToUserSpace): 26369 * UIProcess/win/WebView.h: 26370 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26371 (WebKit::WebChromeClient::setWindowFrame): 26372 (WebKit::WebChromeClient::windowFrame): 26373 Pipe calls through to the UIProcess, and give ports a chance to transform 26374 the rect (via the PageClient) before it is passed on. 26375 26376 * WebKit2.pro: 26377 * WebKit2.xcodeproj/project.pbxproj: 26378 * win/WebKit2.vcproj: 26379 * win/WebKit2Generated.make: 26380 Add new files. 26381 26382 2010-10-07 Jessie Berlin <jberlin (a] apple.com> 26383 26384 Reviewed by Sam Weinig. 26385 26386 Add Private API for creating a WebKit1 WebSerializedJSValue from the internal 26387 representation of a WebKit2 WebSerializedScriptValue. 26388 https://bugs.webkit.org/show_bug.cgi?id=47390 26389 26390 * Shared/API/c/WKSerializedScriptValue.cpp: 26391 (WKSerializedScriptValueGetInternalRepresentation): 26392 * Shared/API/c/WKSerializedScriptValuePrivate.h: Added. 26393 26394 * Shared/WebSerializedScriptValue.h: 26395 (WebKit::WebSerializedScriptValue::internalRepresentation): 26396 Return the WebCore::SerializedScriptValue as a void* so that it can be passed through the 26397 API. 26398 26399 * WebKit2.xcodeproj/project.pbxproj: 26400 Add WKSerializedScriptValuePrivate.h. 26401 * win/WebKit2.vcproj: 26402 Ditto, also some sorting. 26403 26404 * win/WebKit2Generated.make: 26405 Copy over WKSerializedScriptValuePrivate.h. 26406 26407 2010-10-08 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 26408 26409 Reviewed by Andreas Kling. 26410 26411 [Qt] Fix WKStringQt.h and WKURLQt.h API problems. 26412 https://bugs.webkit.org/show_bug.cgi?id=47412 26413 26414 * UIProcess/API/cpp/qt/WKStringQt.h: 26415 Remove the extern "C" 26416 * UIProcess/API/cpp/qt/WKURLQt.h: 26417 Remove the extern "C" 26418 * UIProcess/API/qt/qgraphicswkview.h: 26419 Fix the forwarded declaration 26420 26421 2010-10-08 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 26422 26423 Reviewed by Kenneth Rohde Christiansen. 26424 26425 [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so 26426 https://bugs.webkit.org/show_bug.cgi?id=47347 26427 26428 * WebKit2.pri: 26429 26430 2010-10-08 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 26431 26432 Reviewed by Andreas Kling. 26433 26434 Notify WebPage when QGraphicsWKView gains focus. Set both 26435 active flag and focused flag, similar to QWebPage behavior. 26436 26437 [Qt] WebKit2 should support focusing 26438 https://bugs.webkit.org/show_bug.cgi?id=47168 26439 26440 * UIProcess/API/qt/qgraphicswkview.cpp: 26441 (QGraphicsWKView::focusInEvent): Added. 26442 (QGraphicsWKView::focusOutEvent): Added. 26443 * UIProcess/API/qt/qgraphicswkview.h: Added declarations. 26444 26445 2010-10-07 Ivan Krsti <ike (a] apple.com> 26446 26447 Reviewed by Mark Rowe. 26448 26449 <rdar://problem/8349882> Many WebProcess sandbox violations during basic browsing operations. 26450 26451 * WebProcess/com.apple.WebProcess.sb: 26452 * WebProcess/mac/WebProcessMainMac.mm: 26453 (WebKit::WebProcessMain): 26454 26455 2010-10-07 Brady Eidson <beidson (a] apple.com> 26456 26457 Build fix. 26458 26459 GCC continued to mask the fact that I still hadn't declared the correct symbol. 26460 26461 * Platform/Logging.cpp: 26462 (initializeLogChannel): 26463 * Platform/Logging.h: 26464 26465 2010-10-07 Brian Weinstein <bweinstein (a] apple.com> 26466 26467 Build Fix. Fix the vcproj to make it valid and openable by Visual Studio. 26468 26469 * win/WebKit2.vcproj: 26470 26471 2010-10-07 Anders Carlsson <andersca (a] apple.com> 26472 26473 Reviewed by Sam Weinig. 26474 26475 Add a WKPageFindClient, hook up WKPageCountStringMatches 26476 https://bugs.webkit.org/show_bug.cgi?id=47373 26477 26478 * Shared/APIClient.h: Added. 26479 Add an APIClient class template which can be used to reduce duplicated 26480 code in the client wrappers. 26481 26482 * UIProcess/API/C/WKPage.cpp: 26483 (WKPageSetPageFindClient): 26484 Initialize the page find client. 26485 26486 * UIProcess/API/C/WKPage.h: 26487 * UIProcess/WebFindClient.cpp: Added. 26488 (WebKit::WebFindClient::didCountStringMatches): 26489 Call the WKPageFindClient function. 26490 26491 * UIProcess/WebFindClient.h: Added. 26492 * UIProcess/WebPageProxy.cpp: 26493 (WebKit::WebPageProxy::initializeFindClient): 26494 Initialize the WebFindClient. 26495 26496 (WebKit::WebPageProxy::findString): 26497 Send a FindString message. 26498 26499 (WebKit::WebPageProxy::hideFindUI): 26500 Send a HideFindUI message. 26501 26502 (WebKit::WebPageProxy::countStringMatches): 26503 Send a CountStringMatches message. 26504 26505 (WebKit::WebPageProxy::didCountStringMatches): 26506 Call the find client. 26507 26508 * UIProcess/WebPageProxy.messages.in: 26509 Add new message. 26510 26511 * WebKit2.pro: 26512 * WebKit2.xcodeproj/project.pbxproj: 26513 Add new files. 26514 26515 * WebProcess/WebPage/WebPage.cpp: 26516 (WebKit::WebPage::findString): 26517 (WebKit::WebPage::hideFindUI): 26518 Add stubs. 26519 26520 (WebKit::WebPage::countStringMatches): 26521 Figure out the number of matches and send them back in the DidCountStringMatches msessage. 26522 26523 * WebProcess/WebPage/WebPage.h: 26524 * WebProcess/WebPage/WebPage.messages.in: 26525 Add new messages. 26526 26527 * win/WebKit2.vcproj: 26528 Add new files. 26529 26530 2010-10-07 Sam Weinig <sam (a] webkit.org> 26531 26532 Update unit tests results. 26533 26534 * Scripts/webkit2/messages_unittest.py: 26535 26536 2010-10-07 Brady Eidson <beidson (a] apple.com> 26537 26538 Reviewed by BUILD FIX for non-gcc builds. 26539 26540 * Platform/Logging.cpp: 26541 (initializeLogChannel): GCC optimized out the only caller of this function. Windows doesn't, and is breaking. 26542 26543 2010-10-07 Darin Adler <darin (a] apple.com> 26544 26545 Fix include mistake that makes build fail with non-Objective-C. 26546 26547 * Shared/API/c/mac/WKCertificateInfoMac.h: Include CoreFoundation.h, 26548 not Foundation.h. 26549 26550 2010-10-07 Sam Weinig <sam (a] webkit.org> 26551 26552 Reviewed by Anders Carlsson. 26553 26554 Generate the messages sent to the WebPageProxy 26555 https://bugs.webkit.org/show_bug.cgi?id=47239 26556 26557 * DerivedSources.make: 26558 * DerivedSources.pro: 26559 * Platform/CoreIPC/Arguments.h: 26560 * Platform/CoreIPC/HandleMessage.h: 26561 (CoreIPC::handleMessage): 26562 * Scripts/webkit2/messages.py: 26563 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed. 26564 * Shared/StringPairVector.h: Added. 26565 * UIProcess/API/mac/PageClientImpl.h: 26566 * UIProcess/API/mac/PageClientImpl.mm: 26567 (WebKit::PageClientImpl::registerEditCommand): 26568 * UIProcess/API/qt/qwkpage.cpp: 26569 (QWKPagePrivate::registerEditCommand): 26570 * UIProcess/API/qt/qwkpage_p.h: 26571 * UIProcess/PageClient.h: 26572 * UIProcess/WebEditCommandProxy.cpp: 26573 (WebKit::WebEditCommandProxy::unapply): 26574 (WebKit::WebEditCommandProxy::reapply): 26575 * UIProcess/WebFormClient.cpp: 26576 (WebKit::WebFormClient::willSubmitForm): 26577 * UIProcess/WebFormClient.h: 26578 * UIProcess/WebPageProxy.cpp: 26579 * UIProcess/WebPageProxy.h: 26580 * UIProcess/WebPageProxy.messages.in: Added. 26581 * UIProcess/win/WebView.cpp: 26582 (WebKit::WebView::registerEditCommand): 26583 * UIProcess/win/WebView.h: 26584 * WebKit2.pro: 26585 * WebKit2.xcodeproj/project.pbxproj: 26586 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26587 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 26588 (WebKit::WebEditorClient::registerCommandForUndo): 26589 (WebKit::WebEditorClient::clearUndoRedoOperations): 26590 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 26591 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 26592 * WebProcess/WebPage/WebPage.cpp: 26593 * win/WebKit2.vcproj: 26594 26595 2010-10-07 Brady Eidson <beidson (a] apple.com> 26596 26597 Reviewed by BUILD FIX. 26598 26599 Forgot this to keep the build working. 26600 26601 * WebKit2Prefix.h: 26602 26603 2010-10-07 Anders Carlsson <andersca (a] apple.com> 26604 26605 Reviewed by John Sullivan. 26606 26607 Start stubbing out the find API 26608 https://bugs.webkit.org/show_bug.cgi?id=47366 26609 <rdar://problem/8524998> 26610 26611 * Shared/FindOptions.h: Added. 26612 * UIProcess/API/C/WKAPICast.h: 26613 (WebKit::toFindDirection): 26614 (WebKit::toFindOptions): 26615 * UIProcess/API/C/WKPage.cpp: 26616 (WKPageFindString): 26617 (WKPageHideFindUI): 26618 (WKPageCountStringMatches): 26619 * UIProcess/API/C/WKPage.h: 26620 * UIProcess/WebPageProxy.cpp: 26621 (WebKit::WebPageProxy::findString): 26622 (WebKit::WebPageProxy::hideFindUI): 26623 (WebKit::WebPageProxy::countStringMatches): 26624 * UIProcess/WebPageProxy.h: 26625 26626 2010-10-07 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com>, Andras Becsi <abecsi (a] webkit.org>, Balazs Kelemen <kbalazs (a] webkit.org> 26627 26628 Reviewed by Kenneth Rohde Christiansen. 26629 26630 [Qt] Add WTR's InjectedBundle build files. 26631 https://bugs.webkit.org/show_bug.cgi?id=47333 26632 26633 * WebKit2.pro: 26634 26635 2010-10-07 Brady Eidson <beidson (a] apple.com> 26636 26637 Reviewed by Sam Weinig. 26638 26639 Part of https://bugs.webkit.org/show_bug.cgi?id=47354 - Add WebCore/WebKit1 style logging channel mechanism0 to WebKit2, 26640 including the first channel to be used for SessionState work. 26641 26642 * Platform/Logging.cpp: Added. 26643 (initializeLogChannelsIfNecessary): 26644 * Platform/Logging.h: Added. 26645 26646 * WebKit2.pro: 26647 * WebKit2.xcodeproj/project.pbxproj: 26648 * win/WebKit2.vcproj: 26649 26650 2010-10-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 26651 26652 Unreviewed, rolling out r69315. 26653 http://trac.webkit.org/changeset/69315 26654 https://bugs.webkit.org/show_bug.cgi?id=47363 26655 26656 Forgot to add the new files (Requested by kbalazs on #webkit). 26657 26658 * WebKit2.pro: 26659 26660 2010-10-07 Luiz Agostini <luiz.agostini (a] openbossa.org> 26661 26662 Reviewed by Kenneth Rohde Christiansen. 26663 26664 Fixing viewport meta tag user-scalable handling 26665 https://bugs.webkit.org/show_bug.cgi?id=47330 26666 26667 user-scalable attribute was not considered in viewport meta tag handling. 26668 26669 * UIProcess/API/qt/qwkpage.cpp: 26670 (QWKPage::viewportConfigurationForSize): 26671 26672 2010-10-07 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com>, Andras Becsi <abecsi (a] webkit.org>, Balazs Kelemen <kbalazs (a] webkit.org> 26673 26674 Reviewed by Kenneth Rohde Christiansen. 26675 26676 [Qt] Add WTR's InjectedBundle build files. 26677 https://bugs.webkit.org/show_bug.cgi?id=47333 26678 26679 * WebKit2.pro: 26680 26681 2010-10-07 Luiz Agostini <luiz.agostini (a] openbossa.org> 26682 26683 Reviewed by Kenneth Rohde Christiansen. 26684 26685 Some viewport meta tag api refactoring 26686 https://bugs.webkit.org/show_bug.cgi?id=47334 26687 26688 WebCore::findConfigurationForViewportData renamed to computeViewportAttributes. 26689 WebCore::ViewportAttributes::layoutViewport renamed to layoutSize. 26690 26691 * UIProcess/API/qt/qwkpage.cpp: 26692 (QWKPage::viewportConfigurationForSize): 26693 26694 2010-10-06 Jessie Berlin <jberlin (a] apple.com> 26695 26696 Reviewed by John Sullivan. 26697 26698 Bundle should expose a reportException method. 26699 https://bugs.webkit.org/show_bug.cgi?id=46769 26700 26701 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 26702 (WKBundleReportException): 26703 * WebProcess/InjectedBundle/API/c/WKBundle.h: 26704 26705 * WebProcess/InjectedBundle/InjectedBundle.cpp: 26706 (WebKit::InjectedBundle::reportException): 26707 Mimic the behavior of WebView::reportException. 26708 * WebProcess/InjectedBundle/InjectedBundle.h: 26709 26710 2010-10-07 Luiz Agostini <luiz.agostini (a] openbossa.org> 26711 26712 Reviewed by Adam Roben. 26713 26714 [Qt] Webkit2 MacOS build fix 26715 https://bugs.webkit.org/show_bug.cgi?id=47167 26716 26717 There were two problems when building Qt WebKit2 in Mac. The first was that 26718 ld does not support flag -whole-archive and it needed to be replaced by flag -all_load. 26719 The second problem was that __APPLE__ is been used to identify safari builds and, when 26720 building Qt in MacOS, Qt was ending up using the wrong typedef. The solution was to use 26721 a Qt specific WKNativeEvent.h that only has the proper Qt typedef instead of the original one. 26722 26723 * UIProcess/API/C/qt/WKNativeEvent.h: Added. 26724 * WebKit2.pri: 26725 * WebKit2.pro: 26726 26727 2010-10-07 Balazs Kelemen <kbalazs (a] webkit.org> 26728 26729 Reviewed by Kenneth Rohde Christiansen. 26730 26731 WebKitTestRunner should be portable 26732 https://bugs.webkit.org/show_bug.cgi?id=45393 26733 26734 Introducing additional URL API. 26735 * Shared/API/c/WKURL.cpp: 26736 (WKURLCreateWithUTF8CString): 26737 (WKURLIsEqual): 26738 * Shared/API/c/WKURL.h: 26739 26740 2010-10-06 Balazs Kelemen <kbalazs (a] webkit.org> 26741 26742 Reviewed by Kenneth Rohde Christiansen. 26743 26744 [Qt] Add WebKitTestRunner's build files 26745 https://bugs.webkit.org/show_bug.cgi?id=44155 26746 26747 * DerivedSources.pro: Changes according the new location 26748 of generate-forwarding-headers.pl. 26749 * UIProcess/API/C/WebKit2.h: Do not check the value of the 26750 __APPLE__ define if it is not defined. 26751 * WebKit2.pro: Changes according the new location 26752 of generate-forwarding-headers.pl. Added missing files 26753 to the build that provides API that is used by WTR. 26754 * generate-forwarding-headers.pl: Moved to WebKitTools/Scripts 26755 since from now this is not only used by WebKit2. 26756 26757 2010-10-06 Anders Carlsson <andersca (a] apple.com> 26758 26759 Reviewed by Sam Weinig. 26760 26761 Separate actually calling the member function from decoding/encoding arguments 26762 and remove any ambiguities when calling the function. 26763 26764 * Platform/CoreIPC/Arguments.h: 26765 * Platform/CoreIPC/HandleMessage.h: 26766 (CoreIPC::callMemberFunction): 26767 (CoreIPC::handleMessage): 26768 26769 2010-10-06 Anders Carlsson <andersca (a] apple.com> 26770 26771 Reviewed by Sam Weinig. 26772 26773 More Arguments.h cleanup. 26774 26775 * Platform/CoreIPC/Arguments.h: 26776 * Platform/CoreIPC/HandleMessage.h: 26777 Remove unnecessary typedefs, simplify. 26778 26779 * Scripts/webkit2/messages.py: 26780 * UIProcess/WebContext.h: 26781 Fix clang++ build. 26782 26783 2010-10-06 Anders Carlsson <andersca (a] apple.com> 26784 26785 Reviewed by Sam Weinig. 26786 26787 Start cleaning up Arguments.h 26788 https://bugs.webkit.org/show_bug.cgi?id=47304 26789 26790 This is a first step towards simplifying all the handleMessage overloads we have. 26791 26792 * Platform/CoreIPC/Arguments.h: 26793 (CoreIPC::Arguments1): 26794 Make Arguments1 a struct and get rid of the FirstArgumentType typedef. Instead, add a 26795 ValueType typedef which is defined to an Arguments1 type whose type parameter is not 26796 a reference type. 26797 26798 * Platform/CoreIPC/HandleMessage.h: 26799 (CoreIPC::handleMessage): 26800 Update for the Arguments1 change. Rename "arguments" to "argumentDecoder" and "reply" to 26801 "replyEncoder". 26802 26803 2010-10-06 Andras Becsi <abecsi (a] webkit.org> 26804 26805 Reviewed by Kenneth Rohde Christiansen. 26806 26807 [Qt] Fix the build after API changes introduced in r69214. 26808 26809 * UIProcess/API/cpp/qt/WKStringQt.cpp: 26810 (WKStringCreateWithQString): 26811 * UIProcess/API/cpp/qt/WKURLQt.cpp: 26812 (WKURLCreateWithQUrl): 26813 26814 2010-10-06 Sheriff Bot <webkit.review.bot (a] gmail.com> 26815 26816 Unreviewed, rolling out r69210. 26817 http://trac.webkit.org/changeset/69210 26818 https://bugs.webkit.org/show_bug.cgi?id=47297 26819 26820 This patch broke Windows (Requested by andersca on #webkit). 26821 26822 * DerivedSources.make: 26823 * DerivedSources.pro: 26824 * Platform/CoreIPC/Arguments.h: 26825 * Platform/CoreIPC/HandleMessage.h: 26826 (CoreIPC::handleMessage): 26827 * Scripts/webkit2/messages.py: 26828 * Scripts/webkit2/messages_unittest.py: 26829 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added. 26830 * Shared/StringPairVector.h: Removed. 26831 * UIProcess/API/mac/PageClientImpl.h: 26832 * UIProcess/API/mac/PageClientImpl.mm: 26833 (WebKit::PageClientImpl::registerEditCommand): 26834 * UIProcess/API/qt/qwkpage.cpp: 26835 (QWKPagePrivate::registerEditCommand): 26836 * UIProcess/API/qt/qwkpage_p.h: 26837 * UIProcess/PageClient.h: 26838 * UIProcess/WebEditCommandProxy.cpp: 26839 (WebKit::WebEditCommandProxy::unapply): 26840 (WebKit::WebEditCommandProxy::reapply): 26841 * UIProcess/WebFormClient.cpp: 26842 (WebKit::WebFormClient::willSubmitForm): 26843 * UIProcess/WebFormClient.h: 26844 * UIProcess/WebPageProxy.cpp: 26845 (WebKit::WebPageProxy::didReceiveMessage): 26846 (WebKit::WebPageProxy::didReceiveSyncMessage): 26847 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 26848 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 26849 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 26850 (WebKit::WebPageProxy::didCommitLoadForFrame): 26851 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 26852 (WebKit::WebPageProxy::didFinishLoadForFrame): 26853 (WebKit::WebPageProxy::didFailLoadForFrame): 26854 (WebKit::WebPageProxy::didReceiveTitleForFrame): 26855 (WebKit::WebPageProxy::didFirstLayoutForFrame): 26856 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 26857 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 26858 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 26859 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 26860 (WebKit::WebPageProxy::decidePolicyForMIMEType): 26861 (WebKit::WebPageProxy::willSubmitForm): 26862 (WebKit::WebPageProxy::createNewPage): 26863 (WebKit::WebPageProxy::runJavaScriptAlert): 26864 (WebKit::WebPageProxy::runJavaScriptConfirm): 26865 (WebKit::WebPageProxy::runJavaScriptPrompt): 26866 (WebKit::WebPageProxy::mouseDidMoveOverElement): 26867 (WebKit::WebPageProxy::contentsSizeChanged): 26868 (WebKit::WebPageProxy::addItemToBackForwardList): 26869 (WebKit::WebPageProxy::goToItemInBackForwardList): 26870 (WebKit::WebPageProxy::registerEditCommandForUndo): 26871 (WebKit::WebPageProxy::registerEditCommandForRedo): 26872 (WebKit::WebPageProxy::didReceiveEvent): 26873 (WebKit::WebPageProxy::didChangeAcceleratedCompositing): 26874 * UIProcess/WebPageProxy.h: 26875 * UIProcess/WebPageProxy.messages.in: Removed. 26876 * UIProcess/win/WebView.cpp: 26877 (WebKit::WebView::registerEditCommand): 26878 * UIProcess/win/WebView.h: 26879 * WebKit2.pro: 26880 * WebKit2.xcodeproj/project.pbxproj: 26881 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26882 (WebKit::WebChromeClient::setWindowRect): 26883 (WebKit::WebChromeClient::takeFocus): 26884 (WebKit::WebChromeClient::createWindow): 26885 (WebKit::WebChromeClient::runJavaScriptAlert): 26886 (WebKit::WebChromeClient::runJavaScriptConfirm): 26887 (WebKit::WebChromeClient::runJavaScriptPrompt): 26888 (WebKit::WebChromeClient::setStatusbarText): 26889 (WebKit::WebChromeClient::contentsSizeChanged): 26890 (WebKit::WebChromeClient::mouseDidMoveOverElement): 26891 (WebKit::WebChromeClient::setToolTip): 26892 (WebKit::WebChromeClient::setCursor): 26893 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 26894 (WebKit::WebEditorClient::registerCommandForUndo): 26895 (WebKit::WebEditorClient::clearUndoRedoOperations): 26896 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 26897 (WebKit::WebFrameLoaderClient::detachedFromParent2): 26898 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 26899 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 26900 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 26901 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 26902 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 26903 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 26904 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 26905 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 26906 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 26907 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): 26908 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 26909 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 26910 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 26911 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 26912 (WebKit::WebFrameLoaderClient::postProgressStartedNotification): 26913 (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification): 26914 (WebKit::WebFrameLoaderClient::postProgressFinishedNotification): 26915 (WebKit::WebFrameLoaderClient::createFrame): 26916 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 26917 (WebKit::WebBackForwardListProxy::addItem): 26918 (WebKit::WebBackForwardListProxy::goToItem): 26919 (WebKit::WebBackForwardListProxy::backItem): 26920 (WebKit::WebBackForwardListProxy::currentItem): 26921 (WebKit::WebBackForwardListProxy::forwardItem): 26922 (WebKit::WebBackForwardListProxy::itemAtIndex): 26923 (WebKit::WebBackForwardListProxy::backListCount): 26924 (WebKit::WebBackForwardListProxy::forwardListCount): 26925 * WebProcess/WebPage/WebPage.cpp: 26926 (WebKit::WebPage::WebPage): 26927 (WebKit::WebPage::changeAcceleratedCompositingMode): 26928 (WebKit::WebPage::enterAcceleratedCompositingMode): 26929 (WebKit::WebPage::sendClose): 26930 (WebKit::WebPage::mouseEvent): 26931 (WebKit::WebPage::wheelEvent): 26932 (WebKit::WebPage::keyEvent): 26933 (WebKit::WebPage::validateMenuItem): 26934 (WebKit::WebPage::touchEvent): 26935 (WebKit::WebPage::show): 26936 (WebKit::WebPage::runJavaScriptInMainFrame): 26937 (WebKit::WebPage::getRenderTreeExternalRepresentation): 26938 (WebKit::WebPage::getSourceForFrame): 26939 * win/WebKit2.vcproj: 26940 26941 2010-10-06 Jessie Berlin <jberlin (a] apple.com> 26942 26943 Rubber-stamped by Dan Bernstein. 26944 26945 WKSerializedScriptValue.h needs to be copied over into the WEBKITOUTPUTDIR on Windows. 26946 https://bugs.webkit.org/show_bug.cgi?id=47287 26947 26948 * win/WebKit2Generated.make: 26949 Copy WKSerializedScriptValue.h into $(WEBKITOUTPUTDIR)\include\WebKit2. 26950 26951 2010-10-06 Anders Carlsson <andersca (a] apple.com> 26952 26953 Reviewed by Sam Weinig. 26954 26955 Rename toRef/toWK to toAPI/toImpl 26956 https://bugs.webkit.org/show_bug.cgi?id=47281 26957 26958 * Shared/API/c/WKArray.cpp: 26959 * Shared/API/c/WKCertificateInfo.cpp: 26960 * Shared/API/c/WKData.cpp: 26961 * Shared/API/c/WKDictionary.cpp: 26962 * Shared/API/c/WKError.cpp: 26963 * Shared/API/c/WKMutableArray.cpp: 26964 * Shared/API/c/WKMutableDictionary.cpp: 26965 * Shared/API/c/WKNumber.cpp: 26966 * Shared/API/c/WKSerializedScriptValue.cpp: 26967 * Shared/API/c/WKSharedAPICast.h: 26968 * Shared/API/c/WKString.cpp: 26969 * Shared/API/c/WKType.cpp: 26970 * Shared/API/c/WKURL.cpp: 26971 * Shared/API/c/WKURLRequest.cpp: 26972 * Shared/API/c/WKURLResponse.cpp: 26973 * Shared/API/c/cf/WKStringCF.cpp: 26974 * Shared/API/c/cf/WKURLCF.cpp: 26975 * Shared/API/c/cf/WKURLRequestCF.cpp: 26976 * Shared/API/c/cf/WKURLResponseCF.cpp: 26977 * Shared/API/c/mac/WKCertificateInfoMac.mm: 26978 * Shared/API/c/mac/WKURLRequestNS.mm: 26979 * Shared/API/c/mac/WKURLResponseNS.mm: 26980 * Shared/API/c/win/WKCertificateInfoWin.cpp: 26981 * UIProcess/API/C/WKAPICast.h: 26982 * UIProcess/API/C/WKBackForwardList.cpp: 26983 * UIProcess/API/C/WKBackForwardListItem.cpp: 26984 * UIProcess/API/C/WKContext.cpp: 26985 * UIProcess/API/C/WKFormSubmissionListener.cpp: 26986 * UIProcess/API/C/WKFrame.cpp: 26987 * UIProcess/API/C/WKFramePolicyListener.cpp: 26988 * UIProcess/API/C/WKNavigationData.cpp: 26989 * UIProcess/API/C/WKPage.cpp: 26990 * UIProcess/API/C/WKPageNamespace.cpp: 26991 * UIProcess/API/C/WKPreferences.cpp: 26992 * UIProcess/API/C/WKPreferencesPrivate.cpp: 26993 * UIProcess/API/C/win/WKContextWin.cpp: 26994 * UIProcess/API/C/win/WKView.cpp: 26995 * UIProcess/API/cpp/qt/WKStringQt.cpp: 26996 * UIProcess/API/cpp/qt/WKURLQt.cpp: 26997 * UIProcess/API/mac/PageClientImpl.mm: 26998 * UIProcess/API/mac/WKView.mm: 26999 * UIProcess/API/qt/ClientImpl.cpp: 27000 * UIProcess/API/qt/qwkpage.cpp: 27001 * UIProcess/GenericCallback.h: 27002 * UIProcess/WebContextInjectedBundleClient.cpp: 27003 * UIProcess/WebFormClient.cpp: 27004 * UIProcess/WebHistoryClient.cpp: 27005 * UIProcess/WebLoaderClient.cpp: 27006 * UIProcess/WebPolicyClient.cpp: 27007 * UIProcess/WebUIClient.cpp: 27008 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 27009 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 27010 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 27011 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 27012 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 27013 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 27014 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 27015 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 27016 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 27017 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: 27018 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 27019 * WebProcess/InjectedBundle/InjectedBundle.cpp: 27020 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 27021 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 27022 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 27023 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 27024 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 27025 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 27026 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 27027 27028 2010-10-06 Luiz Agostini <luiz.agostini (a] openbossa.org> 27029 27030 Reviewed by Kenneth Rohde Christiansen. 27031 27032 Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes 27033 https://bugs.webkit.org/show_bug.cgi?id=47268 27034 27035 Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes 27036 27037 * UIProcess/API/qt/qwkpage.cpp: 27038 (QWKPage::viewportConfigurationForSize): 27039 27040 2010-10-06 Sam Weinig <sam (a] webkit.org> 27041 27042 Reviewed by Adam Roben. 27043 27044 Generate the messages sent to the WebPageProxy 27045 https://bugs.webkit.org/show_bug.cgi?id=47239 27046 27047 * Platform/CoreIPC/Arguments.h: 27048 Add additional typedefs. 27049 27050 * Platform/CoreIPC/HandleMessage.h: 27051 (CoreIPC::handleMessage): 27052 Add more handleMessage implementations. 27053 27054 * Scripts/webkit2/messages.py: 27055 * Scripts/webkit2/messages_unittest.py: 27056 Add headers for reply argument types. 27057 27058 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed. 27059 27060 * Shared/StringPairVector.h: Added. 27061 This file is a hack to work around a deficiency in the generator 27062 which can't deal with class templates with more than one argument. 27063 27064 * UIProcess/API/mac/PageClientImpl.h: 27065 * UIProcess/API/mac/PageClientImpl.mm: 27066 * UIProcess/API/qt/qwkpage.cpp: 27067 * UIProcess/API/qt/qwkpage_p.h: 27068 * UIProcess/PageClient.h: 27069 * UIProcess/WebEditCommandProxy.cpp: 27070 * UIProcess/WebFormClient.cpp: 27071 * UIProcess/WebFormClient.h: 27072 * UIProcess/WebPageProxy.cpp: 27073 * UIProcess/WebPageProxy.h: 27074 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 27075 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 27076 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 27077 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 27078 * WebProcess/WebPage/WebPage.cpp: 27079 Migrate to generated calls. 27080 27081 * UIProcess/WebPageProxy.messages.in: Added. 27082 New messages definitions file. 27083 27084 * DerivedSources.make: 27085 * DerivedSources.pro: 27086 * win/WebKit2.vcproj: 27087 * WebKit2.pro: 27088 * WebKit2.xcodeproj/project.pbxproj: 27089 Add new files. 27090 27091 2010-10-05 Anders Carlsson <andersca (a] apple.com> 27092 27093 Reviewed by Sam Weinig. 27094 27095 Send null events and mouse events 27096 https://bugs.webkit.org/show_bug.cgi?id=47223 27097 27098 * WebKit2.xcodeproj/project.pbxproj: 27099 Add "-Wno-deprecated-declarations" to the COMPILER_FLAGS for NetscapePluginMac.mm since 27100 we call Button() which is deprecated. 27101 27102 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27103 (WebKit::NetscapePlugin::NetscapePlugin): 27104 Initialize the null event timer. 27105 27106 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 27107 (WebKit::NetscapePlugin::platformPostInitialize): 27108 Start the null event timer. 27109 27110 (WebKit::NetscapePlugin::platformDestroy): 27111 Stop the null event timer. 27112 27113 (WebKit::NetscapePlugin::platformHandleMouseEvent): 27114 Initialize the event record and call NPP_HandleEvent. 27115 27116 (WebKit::NetscapePlugin::nullEventTimerFired): 27117 Send a null event with the current mouse position. 27118 27119 2010-10-05 Anders Carlsson <andersca (a] apple.com> 27120 27121 Reviewed by Sam Weinig. 27122 27123 Start sending Carbon plug-in events in th Carbon event model 27124 https://bugs.webkit.org/show_bug.cgi?id=47209 27125 <rdar://problem/8515677> 27126 27127 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27128 (WebKit::NetscapePlugin::NetscapePlugin): 27129 Initialize the NP_CGContext struct. 27130 27131 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 27132 (WebKit::NetscapePlugin::platformPostInitialize): 27133 Create a fake Carbon window. 27134 27135 (WebKit::NetscapePlugin::platformDestroy): 27136 Destroy the Carbon window. 27137 27138 (WebKit::modifiersForEvent): 27139 Given a WebEvent, return the EventRecord modifiers. 27140 27141 (WebKit::NetscapePlugin::platformPaint): 27142 (WebKit::NetscapePlugin::platformHandleMouseEvent): 27143 (WebKit::NetscapePlugin::platformHandleWheelEvent): 27144 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 27145 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 27146 (WebKit::NetscapePlugin::platformSetFocus): 27147 (WebKit::NetscapePlugin::windowFocusChanged): 27148 Create Carbon EventRecords and call NPP_HandleEvent. 27149 27150 2010-10-05 Sam Weinig <sam (a] webkit.org> 27151 27152 Reviewed by Mark Rowe. 27153 27154 Add MIMEType accessor to WKFrame 27155 <rdar://problem/8347683> 27156 https://bugs.webkit.org/show_bug.cgi?id=47138 27157 27158 Tests: WebKit2/FrameMIMETypePNG 27159 WebKit2/FrameMIMETypeHTML 27160 27161 * UIProcess/API/C/WKFrame.cpp: 27162 (WKFrameCopyMIMEType): 27163 * UIProcess/API/C/WKFrame.h: 27164 * UIProcess/WebFrameProxy.h: 27165 (WebKit::WebFrameProxy::setMIMEType): 27166 (WebKit::WebFrameProxy::mimeType): 27167 * UIProcess/WebPageProxy.cpp: 27168 (WebKit::WebPageProxy::didReceiveMessage): 27169 (WebKit::WebPageProxy::didCommitLoadForFrame): 27170 * UIProcess/WebPageProxy.h: 27171 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 27172 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 27173 27174 2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen (a] nokia.com> 27175 27176 Reviewed by Kenneth Rohde Christiansen. 27177 27178 Implement API call for setting custom user agent 27179 (QWKPage::setCustomUserAgent) 27180 27181 [Qt] Ability to set custom userAgent for WebKit2/WebKit 27182 https://bugs.webkit.org/show_bug.cgi?id=44265 27183 27184 * UIProcess/API/qt/qwkpage.cpp: 27185 (QWKPage::setCustomUserAgent): Added. 27186 * UIProcess/API/qt/qwkpage.h: Add setCustomUserAgent. 27187 27188 2010-10-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 27189 27190 Unreviewed, rolling out r69103. 27191 http://trac.webkit.org/changeset/69103 27192 https://bugs.webkit.org/show_bug.cgi?id=47177 27193 27194 Breaking Windows and Mac build. (Requested by lca on #webkit). 27195 27196 * UIProcess/API/C/WKNativeEvent.h: 27197 * UIProcess/API/qt/qwkpage.cpp: 27198 * UIProcess/API/qt/qwkpage.h: 27199 * WebKit2.pri: 27200 27201 2010-10-05 Luiz Agostini <luiz.agostini (a] openbossa.org> 27202 27203 Reviewed by Antti Koivisto. 27204 27205 [Qt] Webkit2 MacOS build fix 27206 https://bugs.webkit.org/show_bug.cgi?id=47167 27207 27208 Qt WebKit2 MacOS build fix. 27209 27210 * UIProcess/API/C/WKNativeEvent.h: 27211 * UIProcess/API/qt/qwkpage.cpp: 27212 * UIProcess/API/qt/qwkpage.h: 27213 * WebKit2.pri: 27214 27215 2010-10-04 Mark Rowe <mrowe (a] apple.com> 27216 27217 Reviewed by Sam Weinig. 27218 27219 Fix the build when sandboxing is enabled. 27220 27221 * UIProcess/WebContext.cpp: 27222 (WebKit::WebContext::ensureWebProcess): 27223 * UIProcess/WebProcessProxy.cpp: 27224 27225 2010-10-04 Andras Becsi <abecsi (a] webkit.org> 27226 27227 Reviewed Csaba Osztrogonc. 27228 27229 [Qt] Build fix after r69037. 27230 Also remove dummy setUpAcceleratedCompositing() from the source file, 27231 since it has been removed from the header. 27232 27233 * UIProcess/WebProcessProxy.cpp: 27234 27235 2010-10-04 Andras Becsi <abecsi (a] webkit.org> 27236 27237 Rubber-stamped by Csaba Osztrogonc. 27238 27239 [Qt] Fix the WebKit2 build after r69029. 27240 27241 * DerivedSources.pro: 27242 27243 2010-10-04 Sam Weinig <sam (a] webkit.org> 27244 27245 Reviewed by Anders Carlsson. 27246 27247 Change WebProcess initialization to be done with an 27248 auxiliary struct. 27249 27250 * Platform/CoreIPC/mac/MachPort.h: 27251 * Shared/WebProcessCreationParameters.cpp: Added. 27252 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 27253 (WebKit::WebProcessCreationParameters::encode): 27254 (WebKit::WebProcessCreationParameters::decode): 27255 * Shared/WebProcessCreationParameters.h: Added. 27256 * UIProcess/WebContext.cpp: 27257 (WebKit::WebContext::ensureWebProcess): 27258 * UIProcess/WebContext.h: 27259 * UIProcess/WebProcessProxy.cpp: 27260 (WebKit::WebProcessProxy::WebProcessProxy): 27261 * UIProcess/WebProcessProxy.h: 27262 * UIProcess/mac/WebContextMac.mm: 27263 (WebKit::WebContext::platformInitializeWebProcess): 27264 * UIProcess/mac/WebProcessProxyMac.mm: Removed. 27265 * UIProcess/qt/WebContextQt.cpp: 27266 (WebKit::WebContext::applicationCacheDirectory): 27267 (WebKit::WebContext::platformInitializeWebProcess): 27268 * UIProcess/win/WebContextWin.cpp: 27269 (WebKit::WebContext::platformInitializeWebProcess): 27270 * WebKit2.pro: 27271 * WebKit2.xcodeproj/project.pbxproj: 27272 * WebProcess/WebProcess.cpp: 27273 (WebKit::WebProcess::initializeWebProcess): 27274 * WebProcess/WebProcess.h: 27275 * WebProcess/WebProcess.messages.in: 27276 * win/WebKit2.vcproj: 27277 27278 2010-10-04 Brent Fulgham <bfulgham (a] webkit.org> 27279 27280 Unreviewed build fixes after r68260 and r68686. 27281 27282 * Platform/CoreIPC/DataReference.h: Add include directive for 27283 <inttypes.h>, needed for WinCairo build. 27284 * Shared/win/PlatformCertificateInfo.cpp: 27285 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 27286 Conditionalize logic specific to WebKitSystemInterface and 27287 add a stub implementation for WinCairo. 27288 27289 2010-10-04 Sam Weinig <sam (a] webkit.org> 27290 27291 Reviewed by Adam Roben. 27292 27293 Generate messages sent to the WebProcess class. 27294 https://bugs.webkit.org/show_bug.cgi?id=47097 27295 27296 * DerivedSources.make: 27297 Add new file to generate and new directory to search. 27298 27299 * Scripts/webkit2/messages.py: 27300 (forward_declarations_and_headers): Special case class templates. 27301 (headers_for_type): Special case Vector. 27302 * Scripts/webkit2/messages_unittest.py: 27303 Make this script work for passing a templated type. 27304 27305 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed. 27306 27307 * UIProcess/VisitedLinkProvider.cpp: 27308 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): 27309 * UIProcess/WebContext.cpp: 27310 (WebKit::WebContext::initializeHistoryClient): 27311 (WebKit::WebContext::ensureWebProcess): 27312 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 27313 (WebKit::WebContext::setCacheModel): 27314 * UIProcess/WebPageProxy.cpp: 27315 (WebKit::WebPageProxy::initializeWebPage): 27316 (WebKit::WebPageProxy::reinitializeWebPage): 27317 * UIProcess/WebProcessProxy.cpp: 27318 (WebKit::WebProcessProxy::WebProcessProxy): Always pass both 27319 the bundle path and a key, even if the key is null, which it will be for 27320 all non-mac builds for now. 27321 * UIProcess/mac/WebProcessProxyMac.mm: 27322 (WebKit::WebProcessProxy::setUpAcceleratedCompositing): 27323 * UIProcess/win/WebContextWin.cpp: 27324 (WebKit::WebContext::setShouldPaintNativeControls): 27325 (WebKit::WebContext::platformSetUpWebProcess): 27326 Use the new syntax for sending the messages. 27327 27328 * WebProcess/WebProcess.cpp: 27329 (WebKit::WebProcess::setShouldTrackVisitedLinks): 27330 (WebKit::WebProcess::setCacheModel): 27331 (WebKit::WebProcess::setupAcceleratedCompositingPort): 27332 (WebKit::WebProcess::setShouldPaintNativeControls): 27333 (WebKit::WebProcess::didReceiveMessage): 27334 * WebProcess/WebProcess.h: 27335 Convert to using generated didReceiveWebProcessMessage. 27336 27337 * WebProcess/WebProcess.messages.in: Added. 27338 27339 * WebKit2.pro: 27340 * WebKit2.xcodeproj/project.pbxproj: 27341 * win/WebKit2.vcproj: 27342 Update projects. 27343 27344 2010-10-04 Sam Weinig <sam (a] webkit.org> 27345 27346 Fix the Mac build. 27347 27348 * WebProcess/mac/WebProcessMac.mm: 27349 27350 2010-10-04 Sam Weinig <sam (a] webkit.org> 27351 27352 Reviewed by Anders Carlsson. 27353 27354 Add ability to set the CacheModel in Webkit2 27355 https://bugs.webkit.org/show_bug.cgi?id=47066 27356 27357 Add WKContext function to set the cache model for the context. 27358 27359 * Shared/CacheModel.h: Added. 27360 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 27361 * UIProcess/API/C/WKAPICast.h: 27362 (WebKit::toCacheModel): 27363 (WebKit::toRef): 27364 * UIProcess/API/C/WKContext.cpp: 27365 (WKContextSetCacheModel): 27366 (WKContextGetCacheModel): 27367 * UIProcess/API/C/WKContext.h: 27368 * UIProcess/WebContext.cpp: 27369 (WebKit::WebContext::WebContext): 27370 (WebKit::WebContext::ensureWebProcess): 27371 (WebKit::WebContext::setCacheModel): 27372 * UIProcess/WebContext.h: 27373 (WebKit::WebContext::cacheModel): 27374 * WebKit2.pro: 27375 * WebKit2.xcodeproj/project.pbxproj: 27376 * WebProcess/WebProcess.cpp: 27377 (WebKit::WebProcess::WebProcess): 27378 (WebKit::WebProcess::setCacheModel): 27379 (WebKit::WebProcess::didReceiveMessage): 27380 * WebProcess/WebProcess.h: 27381 * WebProcess/mac/WebProcessMac.mm: Added. 27382 (WebKit::memorySize): 27383 (WebKit::volumeFreeSize): 27384 (WebKit::WebProcess::platformSetCacheModel): 27385 * WebProcess/qt/WebProcessQt.cpp: Added. 27386 (WebKit::WebProcess::platformSetCacheModel): 27387 * WebProcess/win/WebProcessWin.cpp: Added. 27388 (WebKit::WebProcess::platformSetCacheModel): 27389 * win/WebKit2.vcproj: 27390 27391 2010-10-03 Anders Carlsson <andersca (a] apple.com> 27392 27393 Reviewed by Sam Weinig. 27394 27395 Implement newly added Plugin/PluginController member functions for out of process plug-ins 27396 https://bugs.webkit.org/show_bug.cgi?id=47065 27397 <rdar://problem/8507194> 27398 27399 * Platform/CoreIPC/Arguments.h: 27400 Add typedefs. 27401 27402 * Platform/CoreIPC/HandleMessage.h: 27403 (CoreIPC::handleMessage): 27404 Add new handleMessage overload. 27405 27406 * PluginProcess/PluginControllerProxy.cpp: 27407 (WebKit::PluginControllerProxy::create): 27408 Add an isPrivateBrowsingEnabled boolean. 27409 27410 (WebKit::PluginControllerProxy::PluginControllerProxy): 27411 Add an isPrivateBrowsingEnabled boolean. 27412 27413 (WebKit::PluginControllerProxy::proxiesForURL): 27414 (WebKit::PluginControllerProxy::cookiesForURL): 27415 (WebKit::PluginControllerProxy::setCookiesForURL): 27416 Send messages to the web process. 27417 27418 (WebKit::PluginControllerProxy::isPrivateBrowsingEnabled): 27419 Return whether private browsing is enabled or not. 27420 27421 (WebKit::PluginControllerProxy::handleKeyboardEvent): 27422 Call Plugin::handleKeyboardEvent. 27423 27424 (WebKit::PluginControllerProxy::privateBrowsingStateChanged): 27425 Call Plugin::privateBrowsingStateChanged. 27426 27427 * PluginProcess/PluginControllerProxy.messages.in: 27428 Add new messages. 27429 27430 * PluginProcess/WebProcessConnection.cpp: 27431 (WebKit::WebProcessConnection::createPlugin): 27432 Pass the isPrivateBrowsingEnabled flag. 27433 27434 * PluginProcess/WebProcessConnection.h: 27435 * PluginProcess/WebProcessConnection.messages.in: 27436 Update CreatePlugin message parameters. 27437 27438 * WebProcess/Plugins/PluginProcessConnection.cpp: 27439 (WebKit::PluginProcessConnection::didReceiveMessage): 27440 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 27441 It's OK for a plug-in to not get a sync message. 27442 27443 * WebProcess/Plugins/PluginProcessConnection.h: 27444 * WebProcess/Plugins/PluginProxy.cpp: 27445 (WebKit::PluginProxy::handleKeyboardEvent): 27446 (WebKit::PluginProxy::privateBrowsingStateChanged): 27447 Send messages. 27448 27449 (WebKit::PluginProxy::proxiesForURL): 27450 (WebKit::PluginProxy::cookiesForURL): 27451 (WebKit::PluginProxy::setCookiesForURL): 27452 Call the plug-in controller. 27453 27454 * WebProcess/Plugins/PluginProxy.messages.in: 27455 Add new messages. 27456 27457 2010-10-03 Anders Carlsson <andersca (a] apple.com> 27458 27459 Reviewed by Sam Weinig. 27460 27461 Send keyboard events to plug-ins 27462 https://bugs.webkit.org/show_bug.cgi?id=47064 27463 <rdar://problem/8507148> 27464 27465 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27466 (WebKit::NetscapePlugin::handleKeyboardEvent): 27467 Call platformHandleKeyboardEvent. 27468 27469 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 27470 (WebKit::modifierFlags): 27471 Return the modifier flags given a WebKeyboardEvent. 27472 27473 (WebKit::initializeKeyboardEvent): 27474 Initialize an NPCocoaEvent from a WebKeyboardEvent. 27475 27476 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 27477 Initialize the event and dispatch it using NPP_HandleEvent. 27478 27479 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 27480 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 27481 Add stub. 27482 27483 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 27484 (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 27485 Add stub. 27486 27487 * WebProcess/Plugins/Plugin.h: 27488 Add handleKeyboardEvent. 27489 27490 * WebProcess/Plugins/PluginView.cpp: 27491 (WebKit::PluginView::handleEvent): 27492 Call Plugin::handleKeyboardEvent if we see a keydown or keyup event. 27493 27494 2010-10-01 Mark Rowe <mrowe (a] apple.com> 27495 27496 Build fix. 27497 27498 Clear the executable bit from a number of source files. 27499 27500 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: 27501 27502 2010-10-01 Anders Carlsson <andersca (a] apple.com> 27503 27504 Reviewed by Sam Weinig. 27505 27506 Plug-ins should have access to the private browsing state. 27507 https://bugs.webkit.org/show_bug.cgi?id=47031 27508 <rdar://problem/8505405> 27509 27510 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 27511 (WebKit::NPN_GetValue): 27512 Handle NPNVprivateModeBool. 27513 27514 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27515 (WebKit::NetscapePlugin::isPrivateBrowsingEnabled): 27516 Call PluginController::isPrivateBrowsingEnabled. 27517 27518 (WebKit::NetscapePlugin::NPP_SetValue): 27519 Add NPP_SetValue wrapper. 27520 27521 (WebKit::NetscapePlugin::privateBrowsingStateChanged): 27522 Call NPP_SetValue with the updated state. 27523 27524 * WebProcess/Plugins/Plugin.h: 27525 Add privateBrowsingStateChanged pure virtual member function. 27526 27527 * WebProcess/Plugins/PluginController.h: 27528 Add isPrivateBrowsingEnabled pure virtual member function. 27529 27530 * WebProcess/Plugins/PluginView.cpp: 27531 (WebKit::PluginView::privateBrowsingStateChanged): 27532 Call Plugin::privateBrowsingStateChanged. 27533 27534 2010-10-01 Sam Weinig <sam (a] webkit.org> 27535 27536 Reviewed by Anders Carlsson. 27537 27538 Add SPI to convert a WKStringRef to a JSStringRef and vice-versa. 27539 27540 API Test: WebKit2/WKStringJSString 27541 27542 * Shared/API/c/WKString.cpp: 27543 (WKStringCreateWithJSString): 27544 (WKStringCopyJSString): 27545 * Shared/API/c/WKStringPrivate.h: Added. 27546 * Shared/WebString.h: 27547 (WebKit::WebString::create): 27548 (WebKit::WebString::createJSString): 27549 * WebKit2.pro: 27550 * WebKit2.xcodeproj/project.pbxproj: 27551 * win/WebKit2.vcproj: 27552 * win/WebKit2Generated.make: 27553 27554 2010-10-01 Anders Carlsson <andersca (a] apple.com> 27555 27556 Reviewed by Sam Weinig. 27557 27558 Implement proxiesForURL, cookiesForURL and setCookiesForURL 27559 https://bugs.webkit.org/show_bug.cgi?id=47029 27560 27561 * WebProcess/Plugins/PluginView.cpp: 27562 (WebKit::PluginView::proxiesForURL): 27563 (WebKit::PluginView::cookiesForURL): 27564 (WebKit::PluginView::setCookiesForURL): 27565 27566 2010-10-01 Sam Weinig <sam (a] webkit.org> 27567 27568 Reviewed by Kenneth Rohde Christiansen. 27569 27570 Add additional WKString API 27571 https://bugs.webkit.org/show_bug.cgi?id=46958 27572 27573 API Test: WebKit2/WKString 27574 27575 * Shared/API/c/WKString.cpp: 27576 (WKStringCreateWithUTF8CString): 27577 (WKStringGetMaximumUTF8CStringSize): 27578 (WKStringGetUTF8CString): 27579 (WKStringIsEqual): 27580 (WKStringIsEqualToUTF8CString): 27581 * Shared/API/c/WKString.h: 27582 * Shared/WebString.h: 27583 (WebKit::WebString::createFromUTF8String): 27584 (WebKit::WebString::maximumUTF8CStringSize): 27585 (WebKit::WebString::getUTF8CString): 27586 (WebKit::WebString::equal): 27587 (WebKit::WebString::equalToUTF8String): 27588 27589 2010-10-01 Anders Carlsson <andersca (a] apple.com> 27590 27591 Reviewed by Dan Bernstein. 27592 27593 Implement NPN_GetValueForURL/NPN_SetValueForURL and stub out PluginController functions 27594 https://bugs.webkit.org/show_bug.cgi?id=46992 27595 27596 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 27597 (WebKit::copyCString): 27598 Helper function for allocating a string using NPN_MemAlloc. 27599 27600 (WebKit::NPN_GetValueForURL): 27601 Ask the plug-in for either the proxy or the cookies given an URL. 27602 27603 (WebKit::NPN_SetValueForURL): 27604 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27605 Tell the plug-in to set the cookies for the given URL. 27606 27607 (WebKit::NetscapePlugin::proxiesForURL): 27608 (WebKit::NetscapePlugin::cookiesForURL): 27609 (WebKit::NetscapePlugin::setCookiesForURL): 27610 Call the corresponding PluginController functions. 27611 27612 * WebProcess/Plugins/PluginController.h: 27613 Add new pure virtual member functions. 27614 27615 * WebProcess/Plugins/PluginView.cpp: 27616 (WebKit::PluginView::proxiesForURL): 27617 (WebKit::PluginView::cookiesForURL): 27618 (WebKit::PluginView::setCookiesForURL): 27619 Add stubbed out implementations of the new PluginController functions. 27620 27621 * WebProcess/Plugins/PluginView.h: 27622 27623 2010-10-01 Adam Roben <aroben (a] apple.com> 27624 27625 Implement NPN_GetValue(NPNVnetscapeWindow) 27626 27627 Fixes <http://webkit.org/b/46726> <rdar://problem/8486319> 27628 Right-clicking on windowless Flash plugin in WebKit2 makes a context 27629 menu appear in the bottom-right corner of the screen 27630 27631 Test: platform/win/plugins/get-value-netscape-window.html 27632 27633 Reviewed by Anders Carlsson. 27634 27635 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 27636 (WebKit::NPN_GetValue): Added case for NPNVnetscapeWindow that calls 27637 through to NetscapePlugin::containingWindow. 27638 27639 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added containingWindow 27640 on Windows. 27641 27642 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 27643 (WebKit::NetscapePlugin::containingWindow): Added. Calls through to 27644 the PluginController. 27645 (WebKit::NetscapePlugin::platformPostInitialize): Changed to use 27646 containingWindow. 27647 27648 2010-09-30 Simon Fraser <simon.fraser (a] apple.com> 27649 27650 Reviewed by Darin Adler. 27651 27652 Background doesn't draw when entering accelerated compositing 27653 https://bugs.webkit.org/show_bug.cgi?id=45848 27654 27655 LayerBackedDrawingArea::setSize() is normally called in response 27656 to a message from the UI process, so this can come some time after 27657 LayerBackedDrawingArea creation. Depending on the timing, we could 27658 end up being at size 0x0 for the first invalidate and paint, resulting 27659 in missing content. 27660 27661 The fix is to size the backing layer on creation, using the WebView's size. 27662 27663 Also changed various calls to syncCompositingStateForThisLayerOnly() 27664 to do lazy updates via scheduleCompositingLayerSync(). 27665 27666 Also add the fix for https://bugs.webkit.org/show_bug.cgi?id=46226 (r68028) 27667 to the WebKit2 code, in scheduleUpdateLayoutRunLoopObserver(). 27668 27669 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 27670 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 27671 (WebKit::LayerBackedDrawingArea::setNeedsDisplay): 27672 (WebKit::LayerBackedDrawingArea::setSize): 27673 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 27674 (WebKit::LayerBackedDrawingArea::platformInit): 27675 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 27676 (WebKit::LayerBackedDrawingArea::detachCompositingContext): 27677 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer): 27678 (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 27679 (WebKit::LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver): 27680 27681 2010-09-29 Jon Honeycutt <jhoneycutt (a] apple.com> 27682 27683 WebKit2 on Windows should use Windows fonts for the various standard 27684 font families 27685 https://bugs.webkit.org/show_bug.cgi?id=43499 27686 <rdar://problem/8272758> 27687 27688 Reviewed by Adam Roben. 27689 27690 * Shared/WebPreferencesStore.cpp: 27691 (WebKit::WebPreferencesStore::WebPreferencesStore): 27692 Use Windows fonts on Windows. 27693 27694 2010-09-30 Brady Eidson <beidson (a] apple.com> 27695 27696 Reviewed by Sam Weinig. 27697 27698 https://bugs.webkit.org/show_bug.cgi?id=46774 - Add WKStringIsEqual API 27699 27700 * Shared/API/c/WKString.cpp: 27701 (WKStringIsEqual): 27702 * Shared/API/c/WKString.h: 27703 27704 2010-09-30 Anders Carlsson <andersca (a] apple.com> 27705 27706 Reviewed by Adam Roben. 27707 27708 Forward declare structs with 'struct' in the message headers 27709 https://bugs.webkit.org/show_bug.cgi?id=46925 27710 <rdar://problem/8497940> 27711 27712 * Scripts/webkit2/messages.py: 27713 (struct_or_class): New function which given a type and a namespace returns the correct 27714 forward declaration syntax (struct or class). 27715 27716 * Scripts/webkit2/messages_unittest.py: 27717 Update expected results. 27718 27719 2010-09-30 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 27720 27721 Reviewed by Antti Koivisto. 27722 27723 Original patch by Zalan Bujtas. 27724 27725 The m_readBuffer might be smaller than the incoming message size and 27726 thus result in memory corruption. Do a similar fix as the win port, 27727 resizing the m_readBuffer to have room for the message. 27728 27729 * Platform/CoreIPC/qt/ConnectionQt.cpp: 27730 (CoreIPC::Connection::readyReadHandler): 27731 27732 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27733 27734 Reviewed by Simon Fraser. 27735 27736 Calling Connection::send/sendSync from Connection::Client::didClose should always fail 27737 https://bugs.webkit.org/show_bug.cgi?id=46859 27738 <rdar://problem/8212583> 27739 27740 * Platform/CoreIPC/Connection.cpp: 27741 (CoreIPC::Connection::dispatchConnectionDidClose): 27742 27743 2010-09-29 Simon Fraser <simon.fraser (a] apple.com> 27744 27745 Reviewed by Anders Carlsson. 27746 27747 Assertion then crash closing WebKit2 window with accelerated compositing in 27748 https://bugs.webkit.org/show_bug.cgi?id=46857 27749 27750 Fix two issues when closing a WebKit2 window using accelerated 27751 compositing. 27752 27753 The first is that the response to the sync DidChangeAcceleratedCompositing message 27754 sent by changeAcceleratedCompositingMode() may be empty, because the corresponding 27755 page may have been destroyed already in the UI process. In that case newDrawingAreaInfo 27756 is not filled in, so we get a DrawingArea::Type of None. Don't attempt to make a new 27757 drawing area in that case. 27758 27759 We then have to null-check the drawing area in WebPage::didReceiveMessage(), 27760 in the case where the UI process is calling back with a SuspendPainting message, 27761 before our page has gone away. 27762 27763 * WebProcess/WebPage/WebPage.cpp: 27764 (WebKit::WebPage::changeAcceleratedCompositingMode): 27765 (WebKit::WebPage::didReceiveMessage): 27766 27767 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27768 27769 Reviewed by Sam Weinig. 27770 27771 Implement more of PluginProxy and PLuginControllerProxy. 27772 27773 * Platform/CoreIPC/ArgumentDecoder.cpp: 27774 (CoreIPC::ArgumentDecoder::decodeBytes): 27775 * Platform/CoreIPC/ArgumentDecoder.h: 27776 Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG. 27777 27778 * Platform/CoreIPC/ArgumentEncoder.cpp: 27779 * Platform/CoreIPC/ArgumentEncoder.h: 27780 Wrap the debug function in #ifndef NDEBUG. 27781 27782 * Platform/CoreIPC/Arguments.h: 27783 Add new typedefs. 27784 27785 * Platform/CoreIPC/DataReference.cpp: 27786 * Platform/CoreIPC/DataReference.h: 27787 Add a DataReference class. 27788 27789 * Platform/CoreIPC/HandleMessage.h: 27790 (CoreIPC::handleMessage): 27791 Add new overload. 27792 27793 * PluginProcess/PluginControllerProxy.cpp: 27794 (WebKit::PluginControllerProxy::didEvaluateJavaScript): 27795 (WebKit::PluginControllerProxy::streamDidReceiveResponse): 27796 (WebKit::PluginControllerProxy::streamDidReceiveData): 27797 (WebKit::PluginControllerProxy::streamDidFinishLoading): 27798 (WebKit::PluginControllerProxy::streamDidFail): 27799 call Plugin member functions. 27800 27801 * PluginProcess/PluginControllerProxy.messages.in: 27802 Add new messages. 27803 27804 * WebKit2.pro: 27805 * WebKit2.xcodeproj/project.pbxproj: 27806 * win/WebKit2.vcproj: 27807 Add DataReference.cpp and DataReference.h 27808 27809 * WebProcess/Plugins/PluginProxy.cpp: 27810 (WebKit::PluginProxy::didEvaluateJavaScript): 27811 (WebKit::PluginProxy::streamDidReceiveResponse): 27812 (WebKit::PluginProxy::streamDidReceiveData): 27813 (WebKit::PluginProxy::streamDidFinishLoading): 27814 (WebKit::PluginProxy::streamDidFail): 27815 Send messages. 27816 27817 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27818 27819 Update expected results. 27820 27821 * Scripts/webkit2/messages_unittest.py: 27822 27823 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27824 27825 Reviewed by Sam Weinig. 27826 27827 Implement LoadURL 27828 https://bugs.webkit.org/show_bug.cgi?id=46826 27829 27830 * Platform/CoreIPC/ArgumentCoders.h: 27831 Move String argument coder here from WebCoreArgumentCoders.h. Add 27832 argument coder for AtomicString. 27833 27834 * Platform/CoreIPC/Arguments.h: 27835 Add typedefs for Arguments7. 27836 27837 * Platform/CoreIPC/HandleMessage.h: 27838 (CoreIPC::handleMessage): 27839 Add handleMessage overload that takes 7 parameters. 27840 27841 * PluginProcess/PluginControllerProxy.cpp: 27842 (WebKit::PluginControllerProxy::loadURL): 27843 Send the LoadURL message. 27844 27845 * Scripts/webkit2/messages.py: 27846 (parse_parameter_string): Use rsplit in case the type name contains spaces. 27847 (argument_coder_headers_for_type): Special case Vector. 27848 27849 * Scripts/webkit2/messages_unittest.py: 27850 Update results. 27851 27852 * Shared/WebCoreArgumentCoders.h: 27853 Add argument coder for HTTPHeaderMap. 27854 27855 * WebProcess/Plugins/PluginProxy.cpp: 27856 (WebKit::PluginProxy::loadURL): 27857 Ask the plug-in controller to load the URL. 27858 27859 * WebProcess/Plugins/PluginProxy.messages.in: 27860 Add LoadURL message. 27861 27862 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27863 27864 Reviewed by Sam Weinig. 27865 27866 Handle getting the user agent in the plug-in process 27867 https://bugs.webkit.org/show_bug.cgi?id=46819 27868 27869 * Platform/CoreIPC/HandleMessage.h: 27870 (CoreIPC::handleMessage): 27871 Add new handleMessage overload. 27872 27873 * PluginProcess/PluginControllerProxy.cpp: 27874 (WebKit::PluginControllerProxy::create): 27875 (WebKit::PluginControllerProxy::PluginControllerProxy): 27876 Pass the user agent to the plug-in controller proxy. 27877 27878 (WebKit::PluginControllerProxy::userAgent): 27879 Return the user agent. 27880 27881 * PluginProcess/WebProcessConnection.cpp: 27882 (WebKit::WebProcessConnection::createPlugin): 27883 Pass the user agent when creating the plug-in controller proxy. 27884 27885 * PluginProcess/WebProcessConnection.messages.in: 27886 Add userAgent. 27887 27888 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 27889 (WebKit::NetscapePlugin::userAgent): 27890 * WebProcess/Plugins/PluginController.h: 27891 Remove the URL parameter to userAgent. 27892 27893 * WebProcess/Plugins/PluginProxy.cpp: 27894 (WebKit::PluginProxy::initialize): 27895 Pass the user agent to WebProcessConnection::CreatePlugin. 27896 27897 * WebProcess/Plugins/PluginView.cpp: 27898 (WebKit::PluginView::userAgent): 27899 Remove url parameter. 27900 27901 2010-09-29 Anders Carlsson <andersca (a] apple.com> 27902 27903 Reviewed by Sam Weinig. 27904 27905 Implement more PluginProxy member functions 27906 https://bugs.webkit.org/show_bug.cgi?id=46815 27907 27908 * Platform/CoreIPC/HandleMessage.h: 27909 (CoreIPC::handleMessage): 27910 * PluginProcess/PluginControllerProxy.cpp: 27911 (WebKit::PluginControllerProxy::handleMouseEvent): 27912 (WebKit::PluginControllerProxy::handleWheelEvent): 27913 (WebKit::PluginControllerProxy::handleMouseEnterEvent): 27914 (WebKit::PluginControllerProxy::handleMouseLeaveEvent): 27915 (WebKit::PluginControllerProxy::setFocus): 27916 (WebKit::PluginControllerProxy::windowFocusChanged): 27917 (WebKit::PluginControllerProxy::windowFrameChanged): 27918 (WebKit::PluginControllerProxy::windowVisibilityChanged): 27919 Call the appropriate Plugin member functions. 27920 27921 * PluginProcess/PluginControllerProxy.messages.in: 27922 Add new messages. 27923 27924 * PluginProcess/WebProcessConnection.cpp: 27925 (WebKit::WebProcessConnection::didReceiveMessage): 27926 It's OK to get a message for a plug-in controller proxy that has gone away. 27927 27928 (WebKit::WebProcessConnection::didReceiveSyncMessage): 27929 Forward the message to the PluginControllerProxy handler. 27930 27931 * WebProcess/Plugins/PluginProxy.cpp: 27932 (WebKit::PluginProxy::handleMouseEvent): 27933 (WebKit::PluginProxy::handleWheelEvent): 27934 (WebKit::PluginProxy::handleMouseEnterEvent): 27935 (WebKit::PluginProxy::handleMouseLeaveEvent): 27936 (WebKit::PluginProxy::setFocus): 27937 (WebKit::PluginProxy::windowFocusChanged): 27938 (WebKit::PluginProxy::windowFrameChanged): 27939 (WebKit::PluginProxy::windowVisibilityChanged): 27940 Send messages to the plug-in process. 27941 27942 (WebKit::PluginProxy::controller): 27943 Return the plug-in controller. 27944 27945 2010-09-29 Adam Roben <aroben (a] apple.com> 27946 27947 Look for WebKit.dll (not WebKit_debug.dll) when launching the web 27948 process in Debug builds 27949 27950 Fixes <http://webkit.org/b/46809> <rdar://problem/8491809> REGRESSION 27951 (r67979): All tests crashing on Windows WebKit2 test bot 27952 27953 Reviewed by Sam Weinig. 27954 27955 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: WebKit_debug.dll is 27956 only used in Debug_All builds (but WebKit2WebProcess_debug.exe is used 27957 in all non-Debug_Internal debug-style builds). 27958 27959 2010-09-28 Anders Carlsson <andersca (a] apple.com> 27960 27961 Reviewed by Sam Weinig. 27962 27963 Paint the plug-in backing store into the WebProcess backing store 27964 https://bugs.webkit.org/show_bug.cgi?id=46768 27965 27966 * DerivedSources.make: 27967 Add PluginProxy. 27968 27969 * Platform/CoreIPC/MessageID.h: 27970 Add PluginProxy message class. 27971 27972 * PluginProcess/PluginControllerProxy.cpp: 27973 (WebKit::PluginControllerProxy::paint): 27974 Let the web process know that we've painted. 27975 27976 * WebKit2.xcodeproj/project.pbxproj: 27977 Add new files. 27978 27979 * WebProcess/Plugins/PluginProcessConnection.cpp: 27980 (WebKit::PluginProcessConnection::didReceiveMessage): 27981 Pass the message on to a plug-in proxy. 27982 27983 * WebProcess/Plugins/PluginProxy.cpp: 27984 (WebKit::PluginProxy::paint): 27985 Paint our backing store into the graphics context. 27986 27987 (WebKit::PluginProxy::controller): 27988 Add notImplemented(). 27989 27990 (WebKit::PluginProxy::update): 27991 Blit the plug-in backing store into the local backing store and tell the plug-in 27992 controller that we want to repaint. 27993 27994 * WebProcess/Plugins/PluginProxy.messages.in: Added. 27995 27996 2010-09-28 Jenn Braithwaite <jennb (a] chromium.org> 27997 27998 Reviewed by Dmitry Titov. 27999 28000 Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument. 28001 https://bugs.webkit.org/show_bug.cgi?id=46663 28002 28003 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 28004 (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument): 28005 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 28006 28007 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28008 28009 Reviewed by Sam Weinig. 28010 28011 Begin hooking up painting in the plug-in process 28012 https://bugs.webkit.org/show_bug.cgi?id=46766 28013 28014 * DerivedSources.make: 28015 Add PluginControllerProxy. 28016 28017 * Platform/CoreIPC/MessageID.h: 28018 Add a MessageClassPluginControllerProxy message class. 28019 28020 * PluginProcess/PluginControllerProxy.cpp: 28021 (WebKit::PluginControllerProxy::PluginControllerProxy): 28022 Initialize the paint timer. 28023 28024 (WebKit::PluginControllerProxy::paint): 28025 Create a graphics context referencing our backing store and paint into it. 28026 28027 (WebKit::PluginControllerProxy::invalidate): 28028 Update the dirty rect and start the paint timer if necessary. 28029 28030 (WebKit::PluginControllerProxy::geometryDidChange): 28031 If we're passed a new backing store handle, reinitialize the backing store. 28032 28033 * PluginProcess/PluginControllerProxy.messages.in: Added. 28034 * PluginProcess/WebProcessConnection.cpp: 28035 (WebKit::WebProcessConnection::didReceiveMessage): 28036 If the message has a destination ID, forward it to the plug-in controller proxy. 28037 28038 * Scripts/webkit2/messages.py: 28039 Always include WebCoreArgumentCoders.h if the type is in the WebCore namespace. 28040 28041 * WebKit2.xcodeproj/project.pbxproj: 28042 Add new files. 28043 28044 * WebProcess/Plugins/PluginProxy.cpp: 28045 (WebKit::PluginProxy::geometryDidChange): 28046 Update the size of the backing store. Create a new plug-in backing store if needed and send 28047 it over to the plug-in process. 28048 28049 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28050 28051 Reviewed by Sam Weinig. 28052 28053 ASSERT when launching the plugin process 28054 https://bugs.webkit.org/show_bug.cgi?id=46754 28055 <rdar://problem/8484570> 28056 28057 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 28058 (WebKit::ProcessLauncher::launchProcess): 28059 Don't assert if we fail to launch the process. Instead, set the connection identifier 28060 and process ID to null and deallocate the port we created. 28061 28062 * UIProcess/Plugins/PluginProcessProxy.cpp: 28063 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 28064 Move all code from didClose here. 28065 28066 (WebKit::PluginProcessProxy::didClose): 28067 Call pluginProcessCrashedOrFailedToLaunch. 28068 28069 (WebKit::PluginProcessProxy::didFinishLaunching): 28070 If we failed to launch, call pluginProcessCrashedOrFailedToLaunch. 28071 28072 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28073 28074 Reviewed by Sam Weinig. 28075 28076 Differentiate waitForSyncReply from waitForReply 28077 https://bugs.webkit.org/show_bug.cgi?id=46752 28078 28079 Since waitForSyncReply is going to need to dispatch incoming sync messages while 28080 waiting for the correct reply, we need to add a new waitForSyncReply function that 28081 can do this. 28082 28083 * Platform/CoreIPC/Connection.cpp: 28084 (CoreIPC::Connection::sendSyncMessage): 28085 Push the pending sync reply information on the m_pendingSyncReplies stack, 28086 send the message, wait for a reply and pop the information off the stack. 28087 28088 (CoreIPC::Connection::waitForSyncReply): 28089 Block while waiting for a reply to the sync message with the given ID. 28090 28091 (CoreIPC::Connection::processIncomingMessage): 28092 If the incoming message is a sync reply, set the didReceiveReply flag and the replyDecoder 28093 members in the pending sync reply and signal the client thread to wakeup. 28094 28095 * Platform/CoreIPC/Connection.h: 28096 Add a stack of PendingSyncReply structs. 28097 28098 2010-09-28 Sam Weinig <sam (a] webkit.org> 28099 28100 Reviewed by Darin Adler and Dave Hyatt. 28101 28102 Vertical scroll bar on apple.com is too short with WebKit2 28103 <rdar://problem/8379230> 28104 https://bugs.webkit.org/show_bug.cgi?id=46739 28105 28106 This gets us most of the way to having correct scroll corner behavior. We should 28107 follow this up by moving to painting the window re-sizer in WebCore. 28108 28109 * UIProcess/API/mac/WKView.mm: 28110 (-[WKView _ownsWindowGrowBox]): 28111 (-[WKView _updateGrowBoxForWindowFrameChange]): Calculate whether we should 28112 be taking the scroll corner into account when laying out scrollbars. 28113 * UIProcess/WebPageProxy.cpp: 28114 (WebKit::WebPageProxy::setWindowResizerSize): 28115 * UIProcess/WebPageProxy.h: 28116 * WebProcess/WebPage/WebPage.cpp: 28117 (WebKit::WebPage::setWindowResizerSize): 28118 (WebKit::WebPage::windowResizerRect): This now returns IntRect() for 28119 non-mac platforms (or any platform that never sends a setWindowResizerSize 28120 message). 28121 * WebProcess/WebPage/WebPage.h: 28122 * WebProcess/WebPage/WebPage.messages.in: 28123 28124 2010-09-28 Adam Roben <aroben (a] apple.com> 28125 28126 Tell the UI client when a key event is not handled 28127 28128 When the web process receives an event, it sends a 28129 WebPageProxyMessage::DidReceiveEvent message back to the UI process. 28130 That message is now sent after handling the event, and includes a 28131 boolean signifying whether or not the event was actually handled. 28132 28133 Every time WebPageProxy receives a key event, it adds it to a queue. 28134 When it receives a WebPageProxyMessage::DidReceiveEvent for a key 28135 event, the event is removed from the queue. If the event was not 28136 handled, we tell the UI client. 28137 28138 Fixes <http://webkit.org/b/46660> <rdar://problem/8483465> Need API to 28139 tell a WebKit2 client application that a key event was not handled 28140 28141 Reviewed by Kenneth Rohde Christiansen and Sam Weinig. 28142 28143 * Shared/NativeWebKeyboardEvent.h: Added. This class wraps a 28144 WebKeyboardEvent and the native event that was used to construct it. 28145 (WebKit::NativeWebKeyboardEvent::nativeEvent): Simple getter. 28146 28147 * Shared/WebEvent.h: Made isKeyboardEventType public for 28148 WebPageProxy's benefit. 28149 28150 * Shared/mac/NativeWebKeyboardEventMac.mm: Added. 28151 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): 28152 * Shared/qt/NativeWebKeyboardEventQt.cpp: Added. 28153 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): 28154 * Shared/win/NativeWebKeyboardEventWin.cpp: Added. 28155 (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): 28156 The constructor creates a WebKeyboardEvent and stores the native 28157 event. 28158 28159 * UIProcess/API/C/WKNativeEvent.h: Added. 28160 28161 * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleKeyEventCallback 28162 and WKPageUIClient::didNotHandleKeyEvent. 28163 28164 * UIProcess/API/mac/WKView.mm: 28165 (-[WKView keyUp:]): 28166 (-[WKView keyDown:]): 28167 * UIProcess/win/WebView.cpp: 28168 (WebKit::WebView::onKeyEvent): 28169 * UIProcess/API/qt/qwkpage.cpp: 28170 (QWKPagePrivate::keyPressEvent): 28171 (QWKPagePrivate::keyReleaseEvent): 28172 Changed to use NativeWebKeyboardEvent. 28173 28174 (QWKPage::QWKPage): Updated for addition of didNotHandleKeyEvent. 28175 28176 * UIProcess/WebPageProxy.cpp: 28177 (WebKit::WebPageProxy::handleKeyboardEvent): Changed to take a 28178 NativeWebKeyboardEvent and to add it to m_keyEventQueue. 28179 (WebKit::WebPageProxy::didReceiveMessage): Changed to expect a boolean 28180 parameter in WebPageProxyMessage::DidReceiveEvent. 28181 (WebKit::WebPageProxy::didReceiveEvent): Added a boolean "handled" 28182 parameter. If the event was a keyboard event, we remove it from 28183 m_keyEventQueue, and if it wasn't handled by WebCore, we tell the UI 28184 client. 28185 28186 * UIProcess/WebPageProxy.h: Added m_keyEventQueue. 28187 28188 * UIProcess/WebUIClient.cpp: 28189 (WebKit::WebUIClient::didNotHandleKeyEvent): 28190 * UIProcess/WebUIClient.h: 28191 Added. Just calls through to the WKPageUIClient. 28192 28193 * WebProcess/WebPage/WebPage.cpp: 28194 (WebKit::handleMouseEvent): 28195 (WebKit::WebPage::mouseEvent): 28196 (WebKit::handleWheelEvent): 28197 (WebKit::WebPage::wheelEvent): 28198 (WebKit::handleKeyEvent): 28199 (WebKit::WebPage::keyEvent): 28200 (WebKit::handleTouchEvent): 28201 (WebKit::WebPage::touchEvent): 28202 Moved code from the *Event functions into new helper handle*Event 28203 functions, and changed to pass a boolean to 28204 WebPageProxyMessage::DidReceiveEvent signaling whether the event was 28205 handled or not. 28206 28207 * WebKit2.pro: 28208 * WebKit2.xcodeproj/project.pbxproj: 28209 * win/WebKit2.vcproj: 28210 * win/WebKit2Generated.make: 28211 Added WKNativeEvent.h and NativeWebKeyboardEvent. 28212 28213 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28214 28215 Reviewed by Adam Roben. 28216 28217 Implement PluginProxy::destroy 28218 https://bugs.webkit.org/show_bug.cgi?id=46737 28219 28220 * Platform/CoreIPC/HandleMessage.h: 28221 (CoreIPC::handleMessage): 28222 Add overload for a sync message with one in parameter and no out parameters. 28223 28224 * PluginProcess/WebProcessConnection.cpp: 28225 (WebKit::WebProcessConnection::destroyPluginControllerProxy): 28226 Rename this to avoid conflicts with the destroyPlugin message handler. 28227 28228 (WebKit::WebProcessConnection::destroyPlugin): 28229 Call destroyPluginControllerProxy. 28230 28231 * PluginProcess/WebProcessConnection.messages.in: 28232 Add DestroyPlugin message. 28233 28234 * WebProcess/Plugins/PluginProcessConnection.cpp: 28235 (WebKit::PluginProcessConnection::didClose): 28236 28237 * WebProcess/Plugins/PluginProxy.cpp: 28238 (WebKit::PluginProxy::PluginProxy): 28239 (WebKit::PluginProxy::~PluginProxy): 28240 Don't add and/the plug-in proxy from the map in the constructor/destructor. Instead, 28241 do it in initialize/destroy, since otherwise we could be calling pluginProcessCrashed on a 28242 PluginController that had already been freed. 28243 28244 (WebKit::PluginProxy::initialize): 28245 (WebKit::PluginProxy::destroy): 28246 send the DestroyPlugin message. 28247 28248 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28249 28250 Reviewed by Adam Roben. 28251 28252 Improve plug-in process lifecycle handling 28253 https://bugs.webkit.org/show_bug.cgi?id=46734 28254 28255 * PluginProcess/WebProcessConnection.cpp: 28256 (WebKit::WebProcessConnection::destroyPlugin): 28257 Destroy and delete the plug-in. 28258 28259 (WebKit::WebProcessConnection::didClose): 28260 Our web process crashed, go through and delete all plug-in instances. 28261 28262 * UIProcess/Plugins/PluginProcessProxy.cpp: 28263 (WebKit::PluginProcessProxy::didClose): 28264 The plug-in process crashed. Go through all pending replies and send them so the 28265 web processes won't be blocked waiting for a reply. 28266 28267 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 28268 We need to remove the pending reply connection once we've sent the reply. 28269 28270 * WebProcess/Plugins/PluginProcessConnection.cpp: 28271 (WebKit::PluginProcessConnection::didClose): 28272 The plug-in process crashed. Iterate over all proxies and let them know that the plug-in 28273 process has crashed. 28274 28275 * WebProcess/Plugins/PluginProxy.cpp: 28276 (WebKit::PluginProxy::pluginProcessCrashed): 28277 Tell our controller that the plug-in process crashed. 28278 28279 (WebKit::PluginProxy::destroy): 28280 Null out the controller. 28281 28282 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28283 28284 Reviewed by Adam Roben. 28285 28286 Implement PluginControllerProxy::initialize and have it create a plug-in 28287 https://bugs.webkit.org/show_bug.cgi?id=46731 28288 28289 * PluginProcess/PluginControllerProxy.cpp: 28290 (WebKit::PluginControllerProxy::initialize): 28291 Create the plug-in and try to initialize it. 28292 28293 (WebKit::PluginControllerProxy::destroy): 28294 Destroy the plug-in. 28295 28296 * PluginProcess/WebProcessConnection.cpp: 28297 (WebKit::WebProcessConnection::addPluginControllerProxy): 28298 Add the given plug-in controller proxy to the map and assume ownership of it. 28299 28300 (WebKit::WebProcessConnection::removePluginControllerProxy): 28301 Remove the given plug-in controller proxy from the map and delete it. 28302 28303 (WebKit::WebProcessConnection::createPlugin): 28304 Create a plug-in controller proxy and try to initialize it. 28305 28306 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28307 28308 Reviewed by Adam Roben. 28309 28310 Add PluginControllerProxy class 28311 https://bugs.webkit.org/show_bug.cgi?id=46728 28312 28313 * PluginProcess/PluginControllerProxy.cpp: Added. 28314 * PluginProcess/PluginControllerProxy.h: Added. 28315 Add stubbed out PluginControllerProxy class. 28316 28317 * PluginProcess/WebProcessConnection.cpp: 28318 (WebKit::WebProcessConnection::~WebProcessConnection): 28319 Assert that we don't have any live plug-in controller proxies. 28320 28321 (WebKit::WebProcessConnection::addPluginControllerProxy): 28322 Add the plug-in controller proxy to the map. 28323 28324 (WebKit::WebProcessConnection::removePluginControllerProxy): 28325 Remove the plug-in controller proxy from the map. If the last plug-in controller 28326 proxy went away, invalidate the connection. 28327 28328 * WebKit2.xcodeproj/project.pbxproj: 28329 Add files. 28330 28331 2010-09-28 Adam Roben <aroben (a] apple.com> 28332 28333 Don't call NPP_SetWindow until the plugin's HWND has been 28334 sized/positioned 28335 28336 Test: platform/win/plugins/window-geometry-initialized-before-set-window.html 28337 28338 Reviewed by Anders Carlsson. 28339 28340 Fixes <http://webkit.org/b/46716> <rdar://problem/8482014> Full-page 28341 Adobe Reader does not paint until window is resized 28342 28343 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 28344 (WebKit::NetscapePlugin::geometryDidChange): Call NPP_SetWindow after 28345 updating the platform (HWND) geometry. 28346 28347 2010-09-28 Anders Carlsson <andersca (a] apple.com> 28348 28349 Out of process plug-ins shouldn't be turned on just yet... 28350 28351 * WebKit2Prefix.h: 28352 28353 2010-09-28 Andras Becsi <abecsi (a] webkit.org> 28354 28355 Reviewed by Kenneth Rohde Christiansen. 28356 28357 [Qt] ProcessLauncherHelper should not leave stray socket files in /tmp. 28358 https://bugs.webkit.org/show_bug.cgi?id=46722 28359 28360 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 28361 (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): close the socket. 28362 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): delete the helper on exit. 28363 28364 2010-09-28 Benjamin Poulain <benjamin.poulain (a] nokia.com> 28365 28366 Reviewed by Andreas Kling. 28367 28368 [Qt] Remove support for Qt 4.5 28369 https://bugs.webkit.org/show_bug.cgi?id=46718 28370 28371 Remove the code for versions of Qt prior to 4.6. 28372 28373 * UIProcess/API/qt/qgraphicswkview.cpp: 28374 (QGraphicsWKView::event): 28375 * UIProcess/API/qt/qwkpage.cpp: 28376 * UIProcess/API/qt/qwkpage_p.h: 28377 28378 2010-09-28 Andras Becsi <abecsi (a] webkit.org> 28379 28380 Reviewed by Csaba Osztrogonc. 28381 28382 [Qt] Fix generation of WebPageMessages.h and WebPageMessageReceiver.cpp 28383 to avoid rebuilding them every time. 28384 28385 * DerivedSources.pro: add target to extra compilers. 28386 28387 2010-09-27 Brady Eidson <beidson (a] apple.com> 28388 28389 Reviewed by Sam Weinig. 28390 28391 https://bugs.webkit.org/show_bug.cgi?id=46688 - Add an API to get the WKBackForwardItem at an arbitrary index. 28392 28393 * UIProcess/API/C/WKBackForwardList.cpp: 28394 (WKBackForwardListGetItemAtIndex): 28395 * UIProcess/API/C/WKBackForwardList.h: 28396 28397 2010-09-27 Anders Carlsson <andersca (a] apple.com> 28398 28399 Turns out people other than me might want to build this thing. 28400 28401 * WebKit2.xcodeproj/project.pbxproj: 28402 28403 2010-09-27 Darin Adler <darin (a] apple.com> 28404 28405 * Scripts/webkit2: Added property svn:ignore. 28406 28407 2010-09-27 Anders Carlsson <andersca (a] apple.com> 28408 28409 Reviewed by Sam Weinig. 28410 28411 * Platform/CoreIPC/Connection.h: 28412 (CoreIPC::Connection::sendSync): 28413 Add new sendSync overload that takes a message struct. 28414 28415 * PluginProcess/WebProcessConnection.cpp: 28416 (WebKit::WebProcessConnection::didReceiveSyncMessage): 28417 Call didReceiveSyncWebProcessConnectionMessage. 28418 28419 * WebProcess/Plugins/PluginProcessConnection.cpp: 28420 (WebKit::PluginProcessConnection::addPluginProxy): 28421 Add the plug-in proxy to the map. 28422 28423 (WebKit::PluginProcessConnection::removePluginProxy): 28424 Remove the plug-in proxy from the map. If the map is empty, disconnect from the 28425 plug-in process. 28426 28427 * WebProcess/Plugins/PluginProxy.cpp: 28428 (WebKit::generatePluginInstanceID): 28429 Generate a unique plug-in instance ID. 28430 28431 (WebKit::PluginProxy::PluginProxy): 28432 Add the plug-in proxy to the map. 28433 28434 (WebKit::PluginProxy::~PluginProxy): 28435 Remove the plug-in proxy from the map. 28436 28437 (WebKit::PluginProxy::initialize): 28438 Ask the plug-in process to create a plug-in. 28439 28440 2010-09-27 Sam Weinig <sam (a] webkit.org> 28441 28442 Reviewed by Anders Carlsson. 28443 28444 Add remaining event handlers to WKView. 28445 28446 Also fixes <rdar://problem/8467058> 28447 Does not get decidePolicyForNavigationAction callback when middle clicking a link 28448 28449 - Adds otherButton and rightButton NSResponder event handlers to WKView. 28450 - Renames WebPageProxy event handlers to use the handle prefix. 28451 - Uses a macro to reduce duplicate code for WKView event handlers. 28452 - Add view parameter to WebEventFactory::createWebKeyboardEvent on the mac 28453 for uniformity. 28454 28455 * Shared/mac/WebEventFactory.h: 28456 * Shared/mac/WebEventFactory.mm: 28457 (WebKit::WebEventFactory::createWebKeyboardEvent): 28458 * UIProcess/API/mac/WKView.mm: 28459 * UIProcess/API/qt/qwkpage.cpp: 28460 (QWKPagePrivate::keyPressEvent): 28461 (QWKPagePrivate::keyReleaseEvent): 28462 (QWKPagePrivate::mouseMoveEvent): 28463 (QWKPagePrivate::mousePressEvent): 28464 (QWKPagePrivate::mouseReleaseEvent): 28465 (QWKPagePrivate::mouseDoubleClickEvent): 28466 (QWKPagePrivate::wheelEvent): 28467 (QWKPagePrivate::touchEvent): 28468 * UIProcess/WebPageProxy.cpp: 28469 (WebKit::WebPageProxy::handleMouseEvent): 28470 (WebKit::WebPageProxy::handleWheelEvent): 28471 (WebKit::WebPageProxy::handleKeyboardEvent): 28472 (WebKit::WebPageProxy::handleTouchEvent): 28473 * UIProcess/WebPageProxy.h: 28474 * UIProcess/win/WebView.cpp: 28475 (WebKit::WebView::onMouseEvent): 28476 (WebKit::WebView::onWheelEvent): 28477 (WebKit::WebView::onKeyEvent): 28478 28479 2010-09-27 Ivan Krsti <ike (a] apple.com> 28480 28481 Reviewed by Mark Rowe. 28482 28483 <rdar://problem/8348990> / <http://webkit.org/b/46633> Make it possible to disable sandboxing of 28484 web process via runtime flag. 28485 28486 Enable sandboxing of the web process only if the DisableSandbox user default is not set for the 28487 web process. 28488 28489 * WebProcess/mac/WebProcessMainMac.mm: 28490 (WebKit::WebProcessMain): 28491 28492 2010-09-27 Anders Carlsson <andersca (a] apple.com> 28493 28494 Reviewed by Adam Roben. 28495 28496 Add WebProcessConnection CreatePlugin message 28497 https://bugs.webkit.org/show_bug.cgi?id=46668 28498 28499 * DerivedSources.make: 28500 Add WebProcessConnection. 28501 28502 * Platform/CoreIPC/HandleMessage.h: 28503 Add handleMessage overload for a sync message with two input parameters 28504 and one output parameter. 28505 28506 (CoreIPC::handleMessage): 28507 * Platform/CoreIPC/MessageID.h: 28508 Add MessageClassWebProcessConnection. 28509 28510 * PluginProcess/WebProcessConnection.cpp: 28511 (WebKit::WebProcessConnection::createPlugin): 28512 Add stub. 28513 28514 * PluginProcess/WebProcessConnection.messages.in: Added. 28515 * Scripts/webkit2/messages.py: 28516 Include headers directly for types that we believe are nested structs. 28517 28518 * Scripts/webkit2/messages_unittest.py: 28519 Update expected results. 28520 28521 * WebKit2.xcodeproj/project.pbxproj: 28522 Add new files. 28523 28524 2010-09-27 Anders Carlsson <andersca (a] apple.com> 28525 28526 Reviewed by Adam Roben. 28527 28528 Add support for autogenerating synchronous message handlers 28529 https://bugs.webkit.org/show_bug.cgi?id=46654 28530 28531 * Scripts/webkit2/messages.py: 28532 (reply_type): Renamed from reply_base_class. 28533 (delayed_reply_type): Renamed from delayed_reply_base_class. 28534 (message_to_struct_declaration): Add a Reply type typedef. 28535 (async_case_statement): Rename from case_statement. 28536 (generate_message_handler): Generate a sync message handler as well. 28537 28538 * Scripts/webkit2/messages_unittest.py: 28539 Update expected results. 28540 28541 2010-09-27 Andras Becsi <abecsi (a] webkit.org> 28542 28543 Reviewed by Csaba Osztrogonc. 28544 28545 [Qt] Make generate-forwarding-headers.pl aware of moved headers 28546 https://bugs.webkit.org/show_bug.cgi?id=46621 28547 28548 * generate-forwarding-headers.pl: 28549 28550 2010-09-27 Sam Weinig <sam (a] webkit.org> 28551 28552 Reviewed by Anders Carlsson. 28553 28554 The mouseDidMoveOverElement callback in the injected bundle should include modifier info 28555 https://bugs.webkit.org/show_bug.cgi?id=46629 28556 28557 - Moves event related API enums to WKEvent.h which can be shared between 28558 both the bundle and the main API. 28559 28560 * Shared/API/c/WKEvent.h: Added. 28561 * Shared/API/c/WKSharedAPICast.h: 28562 (WebKit::toRef): 28563 * UIProcess/API/C/WKAPICast.h: 28564 * UIProcess/API/C/WKPage.h: 28565 * WebKit2.xcodeproj/project.pbxproj: 28566 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 28567 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 28568 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement): 28569 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 28570 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 28571 (WebKit::WebChromeClient::mouseDidMoveOverElement): 28572 * win/WebKit2.vcproj: 28573 * win/WebKit2Generated.make: 28574 28575 2010-09-27 Adam Roben <aroben (a] apple.com> 28576 28577 Give mouse wheel events the right coordinates on Windows 28578 28579 Fixes <http://webkit.org/b/46625> <rdar://problem/8481161> Placing 28580 mouse cursor inside a scrollable area and scrolling the mouse wheel 28581 generally doesn't scroll the area 28582 28583 Reviewed by Sam Weinig. 28584 28585 * Shared/win/WebEventFactory.cpp: 28586 (WebKit::point): Renamed from positionForEvent. The old name implied 28587 that all events used the same relative origin, which is untrue. 28588 (WebKit::WebEventFactory::createWebMouseEvent): Changed to use point 28589 and ::ClientToScreen explicitly rather than relying on 28590 positionForEvent/globalPositionForEvent. 28591 (WebKit::WebEventFactory::createWebWheelEvent): Changed to use point 28592 and ::ScreenToClient. The old code was assuming that wheel event 28593 points are relative to the client area, but they are in fact relative 28594 to the screen. 28595 28596 2010-09-27 Sam Weinig <sam (a] webkit.org> 28597 28598 Reviewed by Adam Roben. 28599 28600 Opening links in a new window asserts while decoding decidePolicyForNewWindowAction. 28601 <rdar://problem/8479445> 28602 https://bugs.webkit.org/show_bug.cgi?id=46623 28603 28604 * UIProcess/WebPageProxy.cpp: 28605 (WebKit::WebPageProxy::didReceiveMessage): Fix the order of decoding to 28606 match the order of encoding. (Swapping url and mouseButton). 28607 28608 2010-09-27 Adam Roben <aroben (a] apple.com> 28609 28610 Stop leaking the web process's process handle on Windows 28611 28612 Fixes <http://webkit.org/b/46133> <rdar://problem/8455343> 28613 28614 Reviewed by Anders Carlsson. 28615 28616 * UIProcess/Launcher/ProcessLauncher.cpp: 28617 (WebKit::ProcessLauncher::invalidate): Call platformInvalidate. 28618 28619 * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate. 28620 28621 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 28622 (WebKit::ProcessLauncher::platformInvalidate): 28623 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 28624 (WebKit::ProcessLauncher::platformInvalidate): 28625 Stubbed out. 28626 28627 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 28628 (WebKit::ProcessLauncher::platformInvalidate): Close the process 28629 handle like MSDN says we should. 28630 28631 2010-09-27 Adam Roben <aroben (a] apple.com> 28632 28633 Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos 28634 on Windows 28635 28636 Fixes <http://webkit.org/b/46536> <rdar://problem/8477292> REGRESSION 28637 (r68260): Crash in PlatformCertificateInfo::~PlatformCertificateInfo 28638 when navigating away from Gmail 28639 28640 Reviewed by Sam Weinig. 28641 28642 * Shared/win/PlatformCertificateInfo.cpp: 28643 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 28644 (WebKit::PlatformCertificateInfo::operator=): 28645 * Shared/win/PlatformCertificateInfo.h: 28646 Added a copy constructor and assigment operator to handle correctly 28647 reffing/dereffing the CERT_CONTEXTs when copying a 28648 PlatformCertificateInfo. 28649 28650 2010-09-26 Sam Weinig <sam (a] webkit.org> 28651 28652 Reviewed by Simon Fraser. 28653 28654 MiniBrowser crashes when opening main menu item 28655 https://bugs.webkit.org/show_bug.cgi?id=46588 28656 28657 * UIProcess/API/mac/PageClientImpl.mm: 28658 (WebKit::PageClientImpl::setEditCommandState): Don't allow default 28659 String -> NSString conversion to take place, and use the increasingly 28660 misnamed nsStringFromWebCoreString instead. 28661 28662 2010-09-26 Sam Weinig <sam (a] webkit.org> 28663 28664 Another windows build fix windows attempt. 28665 28666 * win/WebKit2Common.vsprops: 28667 28668 2010-09-26 Sam Weinig <sam (a] webkit.org> 28669 28670 Another windows build fix windows attempt. 28671 28672 * win/WebKit2Generated.make: 28673 28674 2010-09-26 Sam Weinig <sam (a] webkit.org> 28675 28676 Attempt to fix windows build. 28677 28678 * win/WebKit2Common.vsprops: 28679 28680 2010-09-26 Sam Weinig <sam (a] webkit.org> 28681 28682 Attempt to fix Qt build. 28683 28684 * WebKit2.pro: 28685 28686 2010-09-26 Sam Weinig <sam (a] webkit.org> 28687 28688 Reviewed by Anders Carlsson. 28689 28690 Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API 28691 https://bugs.webkit.org/show_bug.cgi?id=46587 28692 28693 - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c. 28694 - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which 28695 moves to Shared/API/c). 28696 - Adds WKSharedAPICast.h which includes shared API casting logic and is included 28697 by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API 28698 mappings to reduce verbosity. 28699 - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win. 28700 28701 * Shared/API: Added. 28702 * Shared/API/c: Added. 28703 * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp. 28704 * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h. 28705 * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h. 28706 * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp. 28707 * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h. 28708 * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp. 28709 * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h. 28710 * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp. 28711 * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h. 28712 * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp. 28713 * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h. 28714 * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp. 28715 * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h. 28716 * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp. 28717 * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h. 28718 * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp. 28719 * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h. 28720 * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp. 28721 * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h. 28722 * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h. 28723 * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp. 28724 * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h. 28725 * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp. 28726 * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h. 28727 * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp. 28728 * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h. 28729 * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp. 28730 * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h. 28731 * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp. 28732 * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h. 28733 * Shared/API/c/cf: Copied from UIProcess/API/C/cf. 28734 * Shared/API/c/mac: Copied from UIProcess/API/C/mac. 28735 * Shared/API/c/win: Added. 28736 * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h. 28737 * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp. 28738 * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h. 28739 * UIProcess/API/C/WKAPICast.h: Replaced. 28740 * UIProcess/API/C/WKArray.cpp: Removed. 28741 * UIProcess/API/C/WKArray.h: Removed. 28742 * UIProcess/API/C/WKBase.h: Removed. 28743 * UIProcess/API/C/WKCertificateInfo.cpp: Removed. 28744 * UIProcess/API/C/WKCertificateInfo.h: Removed. 28745 * UIProcess/API/C/WKData.cpp: Removed. 28746 * UIProcess/API/C/WKData.h: Removed. 28747 * UIProcess/API/C/WKDictionary.cpp: Removed. 28748 * UIProcess/API/C/WKDictionary.h: Removed. 28749 * UIProcess/API/C/WKError.cpp: Removed. 28750 * UIProcess/API/C/WKError.h: Removed. 28751 * UIProcess/API/C/WKMutableArray.cpp: Removed. 28752 * UIProcess/API/C/WKMutableArray.h: Removed. 28753 * UIProcess/API/C/WKMutableDictionary.cpp: Removed. 28754 * UIProcess/API/C/WKMutableDictionary.h: Removed. 28755 * UIProcess/API/C/WKNumber.cpp: Removed. 28756 * UIProcess/API/C/WKNumber.h: Removed. 28757 * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed. 28758 * UIProcess/API/C/WKSerializedScriptValue.h: Removed. 28759 * UIProcess/API/C/WKString.cpp: Removed. 28760 * UIProcess/API/C/WKString.h: Removed. 28761 * UIProcess/API/C/WKType.cpp: Removed. 28762 * UIProcess/API/C/WKType.h: Removed. 28763 * UIProcess/API/C/WKURL.cpp: Removed. 28764 * UIProcess/API/C/WKURL.h: Removed. 28765 * UIProcess/API/C/WKURLRequest.cpp: Removed. 28766 * UIProcess/API/C/WKURLRequest.h: Removed. 28767 * UIProcess/API/C/WKURLResponse.cpp: Removed. 28768 * UIProcess/API/C/WKURLResponse.h: Removed. 28769 * UIProcess/API/C/cf: Removed. 28770 * UIProcess/API/C/cf/WKStringCF.cpp: Removed. 28771 * UIProcess/API/C/cf/WKStringCF.h: Removed. 28772 * UIProcess/API/C/cf/WKURLCF.cpp: Removed. 28773 * UIProcess/API/C/cf/WKURLCF.h: Removed. 28774 * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed. 28775 * UIProcess/API/C/cf/WKURLRequestCF.h: Removed. 28776 * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed. 28777 * UIProcess/API/C/cf/WKURLResponseCF.h: Removed. 28778 * UIProcess/API/C/mac: Removed. 28779 * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed. 28780 * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed. 28781 * UIProcess/API/C/mac/WKURLRequestNS.h: Removed. 28782 * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed. 28783 * UIProcess/API/C/mac/WKURLResponseNS.h: Removed. 28784 * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed. 28785 * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h. 28786 * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h. 28787 * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed. 28788 * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed. 28789 * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp. 28790 * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h. 28791 * UIProcess/API/win: Removed. 28792 * UIProcess/API/win/WKAPICastWin.h: Removed. 28793 * UIProcess/API/win/WKBaseWin.h: Removed. 28794 * UIProcess/API/win/WKView.cpp: Removed. 28795 * UIProcess/API/win/WKView.h: Removed. 28796 * WebKit2.pro: 28797 * WebKit2.xcodeproj/project.pbxproj: 28798 * WebProcess/InjectedBundle/API/c/WKBundle.h: 28799 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 28800 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed. 28801 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 28802 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 28803 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 28804 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: 28805 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: 28806 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 28807 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 28808 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 28809 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: 28810 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: 28811 * win/WebKit2.vcproj: 28812 * win/WebKit2Generated.make: 28813 28814 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28815 28816 Fix non-Mac builds. 28817 28818 * Platform/SharedMemory.h: 28819 * Platform/mac/SharedMemoryMac.cpp: 28820 (WebKit::SharedMemory::Handle::isNull): 28821 28822 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28823 28824 Reviewed by Sam Weinig. 28825 28826 Add PluginProxy class 28827 https://bugs.webkit.org/show_bug.cgi?id=46586 28828 28829 * WebKit2.xcodeproj/project.pbxproj: 28830 Add files. 28831 28832 * WebProcess/Plugins/PluginProxy.cpp: Added. 28833 * WebProcess/Plugins/PluginProxy.h: Added. 28834 28835 * WebProcess/WebPage/WebPage.cpp: 28836 (WebKit::WebPage::createPlugin): 28837 Create a PluginProxy wrapper. 28838 28839 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28840 28841 Reviewed by Sam Weinig. 28842 28843 Make it possible to encode null SharedMemory::Handle objects 28844 https://bugs.webkit.org/show_bug.cgi?id=46585 28845 28846 * Platform/SharedMemory.h: 28847 (WebKit::SharedMemory::Handle::isNull): 28848 Add isNull. 28849 28850 * Platform/mac/SharedMemoryMac.cpp: 28851 (WebKit::SharedMemory::Handle::encode): 28852 Remove asserts. 28853 28854 (WebKit::SharedMemory::create): 28855 Bail if we see a null handle. Also work around a kernel bug where 28856 mach_vm_map fails if the given address to map is already mapped, even if 28857 VM_FLAG_ANYWHERE is set. 28858 28859 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28860 28861 Reviewed by Sam Weinig. 28862 28863 Add BackingStore class 28864 https://bugs.webkit.org/show_bug.cgi?id=46584 28865 28866 * Shared/BackingStore.cpp: Added. 28867 (WebKit::BackingStore::create): 28868 Create a backing store backed by fastMalloc memory. 28869 28870 (WebKit::BackingStore::createSharable): 28871 Create a backing store backed by shared memory. 28872 28873 (WebKit::BackingStore::createHandle): 28874 Create a handle that can be sent over the wire. 28875 28876 (WebKit::BackingStore::resize): 28877 Resize the backing store memory. 28878 28879 (WebKit::BackingStore::data): 28880 Return the backing store data. 28881 28882 * Shared/mac/BackingStoreMac.mm: Added. 28883 (WebKit::BackingStore::createGraphicsContext): 28884 Create a graphics context that will paint into the backing store. 28885 28886 (WebKit::BackingStore::paint): 28887 Paint the backing store in a graphics context. 28888 28889 * WebKit2.xcodeproj/project.pbxproj: 28890 Add files. 28891 28892 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28893 28894 Reviewed by Sam Weinig. 28895 28896 Establish a connection between the plug-in process and the web process 28897 https://bugs.webkit.org/show_bug.cgi?id=46583 28898 28899 * PluginProcess/PluginProcess.cpp: 28900 (WebKit::PluginProcess::didReceiveMessage): 28901 Call the auto-generated didReceivePluginProcessMessage. 28902 28903 * PluginProcess/PluginProcess.h: 28904 Add didReceivePluginProcessMessage declaration. 28905 28906 * PluginProcess/PluginProcess.messages.in: 28907 Add new "CreateWebProcessConnection" message. 28908 28909 * PluginProcess/WebProcessConnection.cpp: 28910 (WebKit::WebProcessConnection::didReceiveMessage): 28911 (WebKit::WebProcessConnection::didReceiveSyncMessage): 28912 (WebKit::WebProcessConnection::didClose): 28913 (WebKit::WebProcessConnection::didReceiveInvalidMessage): 28914 Add stubbed out member functions. 28915 28916 * UIProcess/Plugins/PluginProcessManager.cpp: 28917 (WebKit::PluginProcessManager::getPluginProcessConnection): 28918 Ask the plug-in process proxy to create a connection. 28919 28920 * UIProcess/Plugins/PluginProcessProxy.cpp: 28921 (WebKit::PluginProcessProxy::createWebProcessConnection): 28922 Add the WebProcessProxy and the reply encoder to the queue of pending replies. 28923 If the process is still launching, keep track of how many pending requests we have, otherwise 28924 just send the request. 28925 28926 (WebKit::PluginProcessProxy::didReceiveMessage): 28927 Call the auto-generated didReceivePluginProcessMessage. 28928 28929 (WebKit::PluginProcessProxy::didFinishLaunching): 28930 Send all pending connection requests. 28931 28932 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 28933 Get the first pending reply and send it with the mach port. 28934 28935 * WebKit2.xcodeproj/project.pbxproj: 28936 Actually compile PluginProcessMessageReceiver. 28937 28938 * WebProcess/Plugins/PluginProcessConnection.cpp: 28939 (WebKit::PluginProcessConnection::PluginProcessConnection): 28940 Create a CoreIPC connection. 28941 28942 (WebKit::PluginProcessConnection::didReceiveMessage): 28943 (WebKit::PluginProcessConnection::didClose): 28944 (WebKit::PluginProcessConnection::didReceiveInvalidMessage): 28945 Add stubbed out member functions. 28946 28947 * WebProcess/WebPage/WebPage.cpp: 28948 (WebKit::WebPage::createPlugin): 28949 Ask the plug-in process connection manager for a connection. 28950 28951 2010-09-26 Anders Carlsson <andersca (a] apple.com> 28952 28953 Reviewed by Sam Weinig. 28954 28955 Generated message handlers should include argument coder headers for some types 28956 https://bugs.webkit.org/show_bug.cgi?id=46582 28957 28958 * Scripts/webkit2/messages.py: 28959 When determining which headers to use when generating a message handler, consider the 28960 argument coder headers. 28961 28962 * Scripts/webkit2/messages_unittest.py: 28963 Update test result. 28964 28965 2010-09-24 Sam Weinig <sam (a] webkit.org> 28966 28967 Fix release build. 28968 28969 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 28970 28971 2010-09-24 Enrica Casucci <enrica (a] apple.com> 28972 28973 One more build fix. 28974 28975 * UIProcess/API/qt/qwkpage.cpp: 28976 (QWKPagePrivate::setEditCommandState): 28977 28978 2010-09-24 Sam Weinig <sam (a] webkit.org> 28979 28980 Reviewed by Darin Adler. 28981 28982 Implement WebKit2 callback equivalent to -[WebUIDelegate mouseDidMoveOverElement:modifierFlags:] 28983 <rdar://problem/8359279> 28984 https://bugs.webkit.org/show_bug.cgi?id=46546 28985 28986 - Adds new WKBundleHitTestResultRef object to represent a content under a cursor. 28987 - Adds new Bundle and UI level mouseDidMoveOverElement UIClient callbacks, with 28988 pass through userData to communicate context up to the UIProcess 28989 28990 * Shared/APIObject.h: 28991 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 28992 * UIProcess/API/C/WKPage.h: 28993 * UIProcess/API/qt/qwkpage.cpp: 28994 (QWKPage::QWKPage): 28995 * UIProcess/WebPageProxy.cpp: 28996 (WebKit::WebPageProxy::didReceiveMessage): 28997 (WebKit::WebPageProxy::mouseDidMoveOverElement): 28998 * UIProcess/WebPageProxy.h: 28999 * UIProcess/WebUIClient.cpp: 29000 (WebKit::WebUIClient::mouseDidMoveOverElement): 29001 * UIProcess/WebUIClient.h: 29002 * WebKit2.pro: 29003 * WebKit2.xcodeproj/project.pbxproj: 29004 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 29005 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 29006 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: Added. 29007 (WKBundleHitTestResultGetTypeID): 29008 (WKBundleHitTestResultGetNodeHandle): 29009 (WKBundleHitTestResultGetFrame): 29010 (WKBundleHitTestResultCopyAbsoluteLinkURL): 29011 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: Added. 29012 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 29013 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: Added. 29014 (WebKit::InjectedBundleHitTestResult::create): 29015 (WebKit::InjectedBundleHitTestResult::nodeHandle): 29016 (WebKit::InjectedBundleHitTestResult::webFrame): 29017 (WebKit::InjectedBundleHitTestResult::absoluteLinkURL): 29018 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Added. 29019 (WebKit::InjectedBundleHitTestResult::coreHitTestResult): 29020 (WebKit::InjectedBundleHitTestResult::InjectedBundleHitTestResult): 29021 (WebKit::InjectedBundleHitTestResult::type): 29022 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 29023 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement): 29024 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 29025 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 29026 (WebKit::WebChromeClient::mouseDidMoveOverElement): 29027 * win/WebKit2.vcproj: 29028 29029 2010-09-24 Enrica Casucci <enrica (a] apple.com> 29030 29031 Build fix. 29032 29033 * UIProcess/API/qt/qwkpage_p.h: 29034 * UIProcess/win/WebView.cpp: 29035 (WebKit::WebView::setEditCommandState): 29036 * UIProcess/win/WebView.h: 29037 29038 2010-09-24 Enrica Casucci <enrica (a] apple.com> 29039 29040 Reviewed by Darin Adler. 29041 29042 Maui: Pasteboard support (42317) 29043 <rdar://problem/7660537> 29044 https://bugs.webkit.org/show_bug.cgi?id=42317 29045 29046 This is the final piece of the pasteboard support for WebKit2. 29047 The menu validation has been hooked up for Mac. The validation is 29048 performed asynchronously and the menu entries updated while the menu 29049 is visible. I've created a generic mechanism to call editing commands 29050 that will make it easy to add new commands we will support in the future. 29051 The commands supported now are copy, cut, paste, pasteAsPlainText, delete 29052 and selectAll. 29053 29054 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added DidValidateMenuItem. 29055 * UIProcess/API/mac/PageClientImpl.h: Added setEditCommandState. 29056 * UIProcess/API/mac/PageClientImpl.mm: Added setEditCommandState implementation. 29057 (WebKit::PageClientImpl::setEditCommandState): Added. 29058 * UIProcess/API/mac/WKView.mm: 29059 (WebCore::MenuItemInfo::MenuItemInfo): 29060 (-[WKView initWithFrame:pageNamespaceRef:]): 29061 (createSelectorExceptionMap): Added. 29062 (commandNameForSelector): Added. 29063 (-[WKView validateUserInterfaceItem:]): Added implementation. 29064 (-[WKView _setUserInterfaceItemState:enabled:state:]): Added. 29065 * UIProcess/API/mac/WKViewInternal.h: 29066 * UIProcess/PageClient.h: 29067 * UIProcess/WebPageProxy.cpp: 29068 (WebKit::WebPageProxy::validateMenuItem): 29069 (WebKit::WebPageProxy::executeEditCommand): 29070 (WebKit::WebPageProxy::didReceiveMessage): Now processing also 29071 DidValidateMenuItem. 29072 * UIProcess/WebPageProxy.h: 29073 * WebProcess/WebPage/WebPage.cpp: 29074 (WebKit::WebPage::executeEditingCommand): Fixed. 29075 (WebKit::WebPage::isEditingCommandEnabled): Fixed. 29076 (WebKit::WebPage::validateMenuItem): Added. 29077 (WebKit::WebPage::executeEditCommand): Added. 29078 * WebProcess/WebPage/WebPage.h: Removed cut, copy, paste, selectAll. 29079 Added validateMenuItem and executeEditCommand. 29080 * WebProcess/WebPage/WebPage.messages.in: Added new messages. 29081 * UIProcess/API/qt/qwkpage.cpp: 29082 (WebKit::QWKPage::setEditCommandState): Added. 29083 * UIProcess/API/qt/qwkpage_p.h: Added 29084 29085 29086 2010-09-24 Anders Carlsson <andersca (a] apple.com> 29087 29088 Build fix. 29089 29090 * WebKit2.xcodeproj/project.pbxproj: 29091 29092 2010-09-24 Adam Roben <aroben (a] apple.com> 29093 29094 Give windowed Netscape plugins their own window 29095 29096 The plugin window is a child of the WebView's window. The WebView's 29097 window is in the UI process, and the plugin's window is in the web 29098 process (though someday it will be in the plugin process), but Windows 29099 mostly handles this just fine. Right now we move the plugin's window 29100 in the web process, but we need to do it at paint time in the UI 29101 process instead so that the plugin windows will stay in sync with the 29102 web page's contents. There are also a whole bunch of plugin quirks 29103 that WebKit1 supports that we don't support yet, but that's a task for 29104 another day. 29105 29106 Fixes <http://webkit.org/b/44428> Get basic in-process windowed 29107 plugins working in WebKit2 on Windows 29108 29109 Reviewed by Anders Carlsson. 29110 29111 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 29112 (WebKit::NetscapePlugin::destroy): 29113 (WebKit::NetscapePlugin::geometryDidChange): 29114 Call the new platform-specific functions. 29115 29116 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added 29117 platformDestroy/platformGeometryDidChange, and an m_window member on 29118 Windows to hold our window. 29119 29120 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 29121 (WebKit::NetscapePlugin::platformDestroy): 29122 (WebKit::NetscapePlugin::platformGeometryDidChange): 29123 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 29124 (WebKit::NetscapePlugin::platformDestroy): 29125 (WebKit::NetscapePlugin::platformGeometryDidChange): 29126 Stubbed these out. 29127 29128 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 29129 (WebKit::registerPluginView): Added. The code came from 29130 WebCore's PluginViewWin.cpp, though I changed it to add one to 29131 COLOR_WINDOW, since that's what MSDN says we should do. 29132 (WebKit::NetscapePlugin::platformPostInitialize): If we're windowed, 29133 create a window for the plugin and make it a child of the WebView's 29134 window. If we're not windowed, just set m_window to 0. 29135 (WebKit::NetscapePlugin::platformDestroy): Destroy our window if we 29136 have one and it hasn't been destroyed already. 29137 (WebKit::NetscapePlugin::platformGeometryDidChange): Update our 29138 window's size and position. 29139 29140 * WebProcess/Plugins/PluginController.h: 29141 * WebProcess/Plugins/PluginView.cpp: 29142 (WebKit::PluginView::nativeParentWindow): 29143 * WebProcess/Plugins/PluginView.h: 29144 Added nativeParentWindow on Windows to return the WebView's window. 29145 29146 2010-09-24 Adam Roben <aroben (a] apple.com> 29147 29148 Pass the WebView's HWND over to the web process 29149 29150 The HWND is packaged up in the WebPageCreationParameters and stored in 29151 the WebPage. It will eventually be used by windowed plugins. 29152 29153 Fixes <http://webkit.org/b/46512> WebPage needs access to its 29154 corresponding HWND from the UI process 29155 29156 Reviewed by Anders Carlsson. 29157 29158 * Shared/WebPageCreationParameters.cpp: 29159 (WebKit::WebPageCreationParameters::encode): 29160 (WebKit::WebPageCreationParameters::decode): 29161 Encode and decode the HWND as a uint64_t. 29162 29163 * Shared/WebPageCreationParameters.h: Added a nativeWindow member to 29164 store the HWND. 29165 29166 * UIProcess/PageClient.h: Added a nativeWindow function on Windows. 29167 29168 * UIProcess/WebPageProxy.cpp: 29169 (WebKit::WebPageProxy::creationParameters): Store the HWND from the 29170 page client in the struct to be sent to the web process. 29171 29172 * UIProcess/win/WebView.cpp: 29173 (WebKit::WebView::WebView): Moved the call to initializeWebPage after 29174 we've created our window so that our window will be ready when 29175 WebPageProxy asks for it to send it to the web process. 29176 (WebKit::WebView::nativeWindow): Added. Just returns our window. 29177 29178 * UIProcess/win/WebView.h: Added nativeWindow. 29179 29180 * WebProcess/WebPage/WebPage.cpp: 29181 (WebKit::WebPage::WebPage): Store the HWND in the new m_nativeWindow 29182 member. 29183 29184 * WebProcess/WebPage/WebPage.h: 29185 (WebKit::WebPage::nativeWindow): Added this simple getter. 29186 29187 2010-09-24 Adam Roben <aroben (a] apple.com> 29188 29189 Add WebPageProxy::creationParameters 29190 29191 Fixes <http://webkit.org/b/46510> WebPageProxy has a bunch of 29192 duplicated WebPageCreationParameters code 29193 29194 Reviewed by Anders Carlsson. 29195 29196 * UIProcess/WebPageProxy.cpp: 29197 (WebKit::WebPageProxy::initializeWebPage): 29198 (WebKit::WebPageProxy::reinitializeWebPage): 29199 (WebKit::WebPageProxy::didReceiveSyncMessage): 29200 Use creationParameters. 29201 29202 (WebKit::WebPageProxy::creationParameters): 29203 * UIProcess/WebPageProxy.h: 29204 Added creationParameters. 29205 29206 2010-09-24 Adam Roben <aroben (a] apple.com> 29207 29208 Make WebPage::create take a WebPageCreationParameter struct 29209 29210 It only makes sense, after all. 29211 29212 Fixes <http://webkit.org/b/46502>. 29213 29214 Reviewed by Anders Carlsson. 29215 29216 * WebProcess/WebPage/WebPage.cpp: 29217 (WebKit::WebPage::create): 29218 (WebKit::WebPage::WebPage): 29219 * WebProcess/WebPage/WebPage.h: 29220 Changed to take a WebPageCreationParameters struct. 29221 29222 * WebProcess/WebProcess.cpp: 29223 (WebKit::WebProcess::createWebPage): Changed to pass a 29224 WebPageCreationParameters struct. 29225 29226 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 29227 29228 Reviewed by Andreas Kling. 29229 29230 Expose all WebKit2 C API preferences via the Qt API. 29231 29232 Also rename a wrongly named C method (was using Web instead of WK). 29233 29234 * UIProcess/API/C/WKPreferences.cpp: 29235 (WKPreferencesCopyStandardFontFamily): 29236 * UIProcess/API/C/WKPreferences.h: 29237 * UIProcess/API/qt/qwkpreferences.cpp: 29238 (QWKPreferences::setFontFamily): 29239 (QWKPreferences::fontFamily): 29240 (QWKPreferences::testAttribute): 29241 (QWKPreferences::setAttribute): 29242 * UIProcess/API/qt/qwkpreferences.h: 29243 29244 2010-09-24 Anders Carlsson <andersca (a] apple.com> 29245 29246 Reviewed by Adam Roben. 29247 29248 Fill in more of PluginProcess 29249 https://bugs.webkit.org/show_bug.cgi?id=46534 29250 29251 * DerivedSources.make: 29252 Add PluginProcessProxy. 29253 29254 * Platform/CoreIPC/MessageID.h: 29255 Add a MessageClassPluginProcessProxy message class. 29256 29257 * PluginProcess/PluginProcess.cpp: 29258 (WebKit::PluginProcess::PluginProcess): 29259 Initialize the shutdown timer. 29260 29261 (WebKit::PluginProcess::initializeConnection): 29262 Rename this to initializeConnection to avoid conflicts in the CoreIPC message handler. 29263 29264 (WebKit::PluginProcess::removeWebProcessConnection): 29265 Remove the given web process connection from our vector. 29266 29267 (WebKit::PluginProcess::initialize): 29268 Create the plug-in module. 29269 29270 (WebKit::PluginProcess::createWebProcessConnection): 29271 Create a connection handle and send it to the UI process. 29272 29273 (WebKit::PluginProcess::shutdownTimerFired): 29274 Quit. 29275 29276 * PluginProcess/mac/PluginProcessMainMac.mm: 29277 (WebKit::PluginProcessMain): 29278 Call initializeConnection. 29279 29280 * Scripts/webkit2/messages.py: 29281 Add CoreIPC::MachPort as a special case. 29282 29283 * Scripts/webkit2/messages_unittest.py: 29284 Add test case. 29285 29286 * UIProcess/Plugins/PluginProcessProxy.cpp: 29287 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 29288 Add empty function. 29289 29290 * UIProcess/Plugins/PluginProcessProxy.messages.in: Added. 29291 * WebKit2.xcodeproj/project.pbxproj: 29292 Add PluginProcessProxy.messages.in. 29293 29294 * WebKit2Prefix.h: 29295 Add an ENABLE_PLUGIN_PROCESS #define which is 0 for now. 29296 29297 2010-09-24 Anders Carlsson <andersca (a] apple.com> 29298 29299 Reviewed by Adam Roben. 29300 29301 messages_unittest.py should compare the generated results against expected results 29302 https://bugs.webkit.org/show_bug.cgi?id=46490 29303 29304 * Scripts/webkit2/messages_unittest.py: 29305 29306 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 29307 29308 Reviewed by Antonio Gomes. 29309 29310 Make it possible to get the page preferences for Qt WebKit2 port. 29311 29312 * UIProcess/API/qt/qwkpage.cpp: 29313 (QWKPagePrivate::QWKPagePrivate): 29314 (QWKPage::preferences): 29315 * UIProcess/API/qt/qwkpage.h: 29316 * UIProcess/API/qt/qwkpage_p.h: 29317 * UIProcess/API/qt/qwkpreferences.cpp: 29318 (QWKPreferencesPrivate::createPreferences): 29319 (QWKPreferencesPrivate::createSharedPreferences): 29320 (QWKPreferences::sharedPreferences): 29321 (QWKPreferences::QWKPreferences): 29322 * UIProcess/API/qt/qwkpreferences.h: 29323 29324 2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 29325 29326 Reviewed by Sam Weinig. 29327 29328 Add WebKit2 C API for setting/getting frame flattening and plugin settings. 29329 http://webkit.org/b/46477 29330 29331 NOTE: The plugin setting was partly done but there was no C API. 29332 29333 * Shared/WebPreferencesStore.cpp: 29334 (WebKit::WebPreferencesStore::WebPreferencesStore): 29335 (WebKit::WebPreferencesStore::encode): 29336 (WebKit::WebPreferencesStore::decode): 29337 * Shared/WebPreferencesStore.h: 29338 * UIProcess/API/C/WKPreferences.cpp: 29339 (WKPreferencesSetFrameFlatteningEnabled): 29340 (WKPreferencesGetFrameFlatteningEnabled): 29341 (WKPreferencesSetPluginsEnabled): 29342 (WKPreferencesGetPluginsEnabled): 29343 * UIProcess/API/C/WKPreferences.h: 29344 * UIProcess/WebPreferences.cpp: 29345 (WebKit::WebPreferences::setFrameFlatteningEnabled): 29346 (WebKit::WebPreferences::frameFlatteningEnabled): 29347 (WebKit::WebPreferences::setPluginsEnabled): 29348 (WebKit::WebPreferences::pluginsEnabled): 29349 * UIProcess/WebPreferences.h: 29350 * WebProcess/WebPage/WebPage.cpp: 29351 (WebKit::WebPage::WebPage): 29352 (WebKit::WebPage::preferencesDidChange): 29353 29354 2010-09-24 Adam Roben <aroben (a] apple.com> 29355 29356 Add WebPageCreationParameters 29357 29358 This struct is used in any messages that end up creating a WebPage. 29359 Using a struct instead of individual parameters will make it easier to 29360 add platform-specific data, such as an HWND on Windows. 29361 29362 Fixes <http://webkit.org/b/46470> Pass parameters for creating a 29363 WebPage in a single struct 29364 29365 Reviewed by Anders Carlsson. 29366 29367 * Shared/WebPageCreationParameters.cpp: Added. 29368 (WebKit::WebPageCreationParameters::encode): 29369 (WebKit::WebPageCreationParameters::decode): 29370 Simple encode/decode functions. 29371 29372 * Shared/WebPageCreationParameters.h: Added. 29373 29374 * UIProcess/WebPageProxy.cpp: 29375 (WebKit::WebPageProxy::initializeWebPage): 29376 (WebKit::WebPageProxy::reinitializeWebPage): 29377 (WebKit::WebPageProxy::didReceiveSyncMessage): 29378 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 29379 (WebKit::WebChromeClient::createWindow): 29380 * WebProcess/WebProcess.cpp: 29381 (WebKit::WebProcess::createWebPage): 29382 (WebKit::WebProcess::didReceiveMessage): 29383 * WebProcess/WebProcess.h: 29384 Changed to use WebPageCreationParameters instead of passing the 29385 values individually. 29386 29387 * WebKit2.pro: 29388 * WebKit2.xcodeproj/project.pbxproj: 29389 * win/WebKit2.vcproj: 29390 Added WebPageCreationParameters. 29391 29392 2010-09-24 Adam Roben <aroben (a] apple.com> 29393 29394 Stop pretending that we know how to encode a DrawingArea and just 29395 encode the DrawingAreaInfo directly 29396 29397 DrawingAreaBase and friends were trying to hide the fact that they 29398 were just encoding/decoding a DrawingAreaInfo behind the scenes, but 29399 everyone knew what was going on and it was getting embarassing. 29400 29401 Fixes <http://webkit.org/b/46469> Code to encode/decode a 29402 DrawingAreaInfo is confusing 29403 29404 Reviewed by Anders Carlsson. 29405 29406 * Shared/DrawingAreaBase.cpp: Removed. 29407 * Shared/DrawingAreaBase.h: Removed encode/decode. 29408 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed encode override. 29409 29410 * UIProcess/WebPageProxy.cpp: 29411 (WebKit::WebPageProxy::initializeWebPage): 29412 (WebKit::WebPageProxy::reinitializeWebPage): 29413 (WebKit::WebPageProxy::didReceiveSyncMessage): 29414 Changed to encode the DrawingAreaInfo directly. 29415 29416 * WebKit2.pro: 29417 * WebKit2.xcodeproj/project.pbxproj: 29418 * win/WebKit2.vcproj: 29419 Removed DrawingAreaBase.cpp. 29420 29421 2010-09-24 Adam Roben <aroben (a] apple.com> 29422 29423 Expose a whole DrawingAreaInfo instead of its constituent parts from 29424 DrawingAreaBase 29425 29426 This is just a step toward cleaning up how drawing areas are 29427 encoded/ecoded. 29428 29429 Fixes <http://webkit.org/b/46468> DrawingAreaInfo should be used in 29430 more places 29431 29432 Reviewed by Anders Carlsson. 29433 29434 * Shared/DrawingAreaBase.cpp: 29435 (WebKit::DrawingAreaBase::encode): Changed to use info(). 29436 29437 * Shared/DrawingAreaBase.h: 29438 (WebKit::DrawingAreaBase::info): Added. Replaces type() and id(). 29439 (WebKit::DrawingAreaBase::DrawingAreaBase): Changed to store a 29440 DrawingAreaInfo instead of storing its constituent parts. 29441 29442 * UIProcess/API/mac/WKView.mm: 29443 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 29444 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 29445 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 29446 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 29447 * WebProcess/WebPage/WebPage.cpp: 29448 Updated to use info(). 29449 29450 2010-09-24 Anders Carlsson <andersca (a] apple.com> 29451 29452 Reviewed by Sam Weinig. 29453 29454 Add WebProcessConnection class 29455 https://bugs.webkit.org/show_bug.cgi?id=46478 29456 29457 * PluginProcess/WebProcessConnection.cpp: Added. 29458 * PluginProcess/WebProcessConnection.h: Added. 29459 Add stubbed out WebProcessConnection class. 29460 29461 * WebKit2.xcodeproj/project.pbxproj: 29462 Add files. 29463 29464 2010-09-24 Anders Carlsson <andersca (a] apple.com> 29465 29466 Reviewed by Sam Weinig. 29467 29468 Add PluginProcess class 29469 https://bugs.webkit.org/show_bug.cgi?id=46476 29470 29471 * PluginProcess/PluginProcess.cpp: Added. 29472 * PluginProcess/PluginProcess.h: Added. 29473 Add stubbed out PluginProcess class. 29474 29475 * PluginProcess/mac/PluginProcessMainMac.mm: 29476 (WebKit::PluginProcessMain): 29477 Initialize the plug-in process. 29478 29479 * WebKit2.xcodeproj/project.pbxproj: 29480 Add files. 29481 29482 * WebProcess/Plugins/PluginProcessConnection.h: 29483 Add a comment about which connection this is. 29484 29485 2010-09-24 Sam Weinig <sam (a] webkit.org> 29486 29487 Fix windows build. 29488 29489 * Shared/win/PlatformCertificateInfo.cpp: 29490 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 29491 29492 2010-09-23 Sam Weinig <sam (a] webkit.org> 29493 29494 Reviewed by Adam Roben. 29495 29496 Add Windows implementation of PlatformCertificateInfo 29497 Part of <rdar://problem/8350189> 29498 https://bugs.webkit.org/show_bug.cgi?id=46450 29499 29500 * Shared/win/PlatformCertificateInfo.cpp: Added. 29501 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 29502 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): 29503 (WebKit::PlatformCertificateInfo::encode): 29504 (WebKit::PlatformCertificateInfo::decode): 29505 (WebKit::organizationNameForCertificate): 29506 * Shared/win/PlatformCertificateInfo.h: 29507 (WebKit::PlatformCertificateInfo::certificateContext): 29508 * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Added. 29509 (WKCertificateInfoGetCertificateContext): 29510 * UIProcess/API/C/win/WKCertificateInfoWin.h: Added. 29511 * win/WebKit2.vcproj: 29512 * win/WebKit2Generated.make: 29513 29514 2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 29515 29516 Reviewed by Sam Weinig. 29517 29518 Add WebKit2 C API for setting the font families. 29519 https://bugs.webkit.org/show_bug.cgi?id=46408 29520 29521 * UIProcess/API/C/WKPreferences.cpp: 29522 (WKPreferencesSetStandardFontFamily): 29523 (WebPreferencesCopyStandardFontFamily): 29524 (WKPreferencesSetFixedFontFamily): 29525 (WKPreferencesCopyFixedFontFamily): 29526 (WKPreferencesSetSerifFontFamily): 29527 (WKPreferencesCopySerifFontFamily): 29528 (WKPreferencesSetSansSerifFontFamily): 29529 (WKPreferencesCopySansSerifFontFamily): 29530 (WKPreferencesSetCursiveFontFamily): 29531 (WKPreferencesCopyCursiveFontFamily): 29532 (WKPreferencesSetFantasyFontFamily): 29533 (WKPreferencesCopyFantasyFontFamily): 29534 * UIProcess/API/C/WKPreferences.h: 29535 * UIProcess/WebPreferences.cpp: 29536 (WebKit::WebPreferences::setStandardFontFamily): 29537 (WebKit::WebPreferences::standardFontFamily): 29538 (WebKit::WebPreferences::setFixedFontFamily): 29539 (WebKit::WebPreferences::fixedFontFamily): 29540 (WebKit::WebPreferences::setSerifFontFamily): 29541 (WebKit::WebPreferences::serifFontFamily): 29542 (WebKit::WebPreferences::setSansSerifFontFamily): 29543 (WebKit::WebPreferences::sansSerifFontFamily): 29544 (WebKit::WebPreferences::setCursiveFontFamily): 29545 (WebKit::WebPreferences::cursiveFontFamily): 29546 (WebKit::WebPreferences::setFantasyFontFamily): 29547 (WebKit::WebPreferences::fantasyFontFamily): 29548 * UIProcess/WebPreferences.h: 29549 * WebProcess/WebPage/WebPage.cpp: 29550 (WebKit::WebPage::preferencesDidChange): 29551 29552 2010-09-23 Csaba Osztrogonc <ossy (a] webkit.org> 29553 29554 Unreviewed buildfix after r68220 on WebKit2. 29555 29556 WebKit2 API: Need way to know when a frame is removed from the hierarchy 29557 https://bugs.webkit.org/show_bug.cgi?id=46432 29558 29559 [Qt] qt_wk_didRemoveFrameFromHierarchy needs to be implemented 29560 29561 * UIProcess/API/qt/ClientImpl.cpp: 29562 (qt_wk_didRemoveFrameFromHierarchy): 29563 * UIProcess/API/qt/ClientImpl.h: 29564 * UIProcess/API/qt/qwkpage.cpp: 29565 (QWKPage::QWKPage): 29566 29567 2010-09-23 Sam Weinig <sam (a] webkit.org> 29568 29569 Reviewed by Anders Carlsson. 29570 29571 WebKit2 API: Need way to know when a frame is removed from the hierarchy 29572 <rdar://problem/8414062> 29573 https://bugs.webkit.org/show_bug.cgi?id=46432 29574 29575 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 29576 * UIProcess/API/C/WKPage.h: 29577 * UIProcess/WebLoaderClient.cpp: 29578 (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy): 29579 * UIProcess/WebLoaderClient.h: 29580 * UIProcess/WebPageProxy.cpp: 29581 (WebKit::WebPageProxy::didReceiveMessage): 29582 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 29583 * UIProcess/WebPageProxy.h: 29584 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 29585 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 29586 (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy): 29587 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 29588 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 29589 (WebKit::WebFrameLoaderClient::detachedFromParent2): 29590 (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument): 29591 29592 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29593 29594 Reviewed by Sam Weinig. 29595 29596 Add PluginProcessConnection and PluginProcessConnectionManager 29597 https://bugs.webkit.org/show_bug.cgi?id=46425 29598 29599 * WebKit2.xcodeproj/project.pbxproj: 29600 Add files. 29601 29602 * WebProcess/Plugins/PluginProcessConnection.cpp: 29603 Add empty file for now. 29604 29605 * WebProcess/Plugins/PluginProcessConnection.h: 29606 Add header. 29607 29608 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Added. 29609 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 29610 Check for an existing plug-in process connection. If we don't have one, ask the 29611 UI process to create one. 29612 29613 (WebKit::PluginProcessConnectionManager::removePluginProcessConnection): 29614 Remove the connection from our global vector. 29615 29616 2010-09-23 Adam Roben <aroben (a] apple.com> 29617 29618 Remove the DrawingAreaProxy parameter to 29619 WebPagProxy::initializeWebPage 29620 29621 Callers are now required to set the drawing area via 29622 WebPageProxy::setDrawingArea before calling initializeWebPage. This 29623 will allow us to delay calling initializeWebPage on Windows until 29624 after we've created the WebView's HWND, which in turn will allow us to 29625 send the HWND over to the web process when the page is created. (The 29626 drawing area must be set before creating the HWND so that its size can 29627 be updated, etc., as the window is created.) 29628 29629 Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to 29630 initializeWebPage is unnecessary, and causes problems on Windows 29631 29632 Reviewed by Anders Carlsson. 29633 29634 * UIProcess/API/mac/WKView.mm: 29635 (-[WKView initWithFrame:pageNamespaceRef:]): 29636 * UIProcess/API/qt/qwkpage.cpp: 29637 (QWKPagePrivate::init): 29638 * UIProcess/win/WebView.cpp: 29639 (WebKit::WebView::WebView): 29640 Added explicit calls to setDrawingArea. 29641 29642 * UIProcess/WebPageProxy.cpp: 29643 (WebKit::WebPageProxy::initializeWebPage): 29644 * UIProcess/WebPageProxy.h: 29645 Removed the DrawingAreaProxy parameter and a stray puts(), and added 29646 an assertion. 29647 29648 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29649 29650 Reviewed by Darin Adler. 29651 29652 Implement handlers for the GetPluginProcessConnection message 29653 https://bugs.webkit.org/show_bug.cgi?id=46415 29654 29655 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 29656 Add GetPluginProcessConnection message kind 29657 29658 * UIProcess/Plugins/PluginProcessManager.cpp: 29659 (WebKit::PluginProcessManager::PluginProcessManager): 29660 Add missing constructor. 29661 29662 * UIProcess/WebProcessProxy.cpp: 29663 (WebKit::WebProcessProxy::getPluginProcessConnection): 29664 Ask the plug-in process manager for a connection. 29665 29666 (WebKit::WebProcessProxy::didReceiveSyncMessage): 29667 Call getPluginProcessConnection. 29668 29669 * UIProcess/WebProcessProxy.h: 29670 * WebProcess/WebPage/WebPage.cpp: 29671 (WebKit::WebPage::createPlugin): 29672 Send the GetPluginProcessConnection message. 29673 29674 2010-09-23 Matthew Delaney <mdelaney (a] apple.com> 29675 29676 Reviewed by Simon Fraser. 29677 29678 Reduce minimum DOMTimer interval 29679 https://bugs.webkit.org/show_bug.cgi?id=45362 29680 29681 * WebProcess/WebPage/WebPage.cpp: 29682 Updating set interval call to use Settings' static version. 29683 29684 2010-09-23 Adam Roben <aroben (a] apple.com> 29685 29686 Try to fix the Windows build 29687 29688 * win/WebKit2Common.vsprops: Add WebKit2/PluginProcess to the include 29689 path. 29690 29691 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29692 29693 Reviewed by Sam Weinig. 29694 29695 Add PluginProcessMain files 29696 https://bugs.webkit.org/show_bug.cgi?id=46379 29697 29698 * PluginProcess/PluginProcessMain.h: Added. 29699 * PluginProcess/mac/PluginProcessMainMac.mm: Added. 29700 29701 * WebKit2.xcodeproj/project.pbxproj: 29702 Add PluginProcessMain files. Remove PluginProcess.messages.in from the target so it 29703 won't be installed in the WebKit2.framework bundle. 29704 29705 * WebProcess/WebKitMain.cpp: 29706 (WebKitMain): 29707 Call PluginProcessMain if the process type is ProcessLauncher::PluginProcess. 29708 29709 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29710 29711 Reviewed by Sam Weinig. 29712 29713 Add PluginProcessProxy class 29714 https://bugs.webkit.org/show_bug.cgi?id=46377 29715 29716 * DerivedSources.make: 29717 Add PluginProcess. 29718 29719 * Platform/CoreIPC/Connection.h: 29720 (CoreIPC::Connection::send): 29721 Add send overload that takes a message. 29722 29723 * Platform/CoreIPC/MessageID.h: 29724 Add MessageClassPluginProcess message kind. 29725 29726 * PluginProcess/PluginProcess.messages.in: Added. 29727 Add PluginProcess messages. 29728 29729 * UIProcess/Plugins/PluginInfoStore.cpp: 29730 (WebKit::PluginInfoStore::infoForPluginWithPath): 29731 * UIProcess/Plugins/PluginInfoStore.h: 29732 New function that returns the plug-in info for a plug-in with the given path. 29733 29734 * UIProcess/Plugins/PluginProcessManager.cpp: 29735 (WebKit::PluginProcessManager::getPluginProcessConnection): 29736 Look for an existing plug-in process proxy. 29737 29738 * UIProcess/Plugins/PluginProcessProxy.cpp: Added. 29739 (WebKit::PluginProcessProxy::create): 29740 Launch the process. 29741 29742 (WebKit::PluginProcessProxy::didReceiveMessage): 29743 (WebKit::PluginProcessProxy::didReceiveInvalidMessage): 29744 Add stubbed out functions. 29745 29746 (WebKit::PluginProcessProxy::didClose): 29747 Delete the plug-in process proxy. 29748 29749 (WebKit::PluginProcessProxy::didFinishLaunching): 29750 Open a connection to the plug-in process proxy. 29751 29752 * UIProcess/Plugins/PluginProcessProxy.h: Added. 29753 (WebKit::PluginProcessProxy::pluginInfo): 29754 Return the plug-in info. 29755 29756 * UIProcess/WebProcessProxy.h: 29757 (WebKit::WebProcessProxy::context): 29758 Add a context getter. 29759 29760 * WebKit2.xcodeproj/project.pbxproj: 29761 Add new files. 29762 29763 2010-09-23 Jessie Berlin <jberlin (a] apple.com> 29764 29765 Reviewed by Sam Weinig. 29766 29767 Expose the BundlePage on the BundleFrame in the API. 29768 https://bugs.webkit.org/show_bug.cgi?id=46366 29769 29770 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 29771 (WKBundleFrameGetPage): 29772 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 29773 29774 2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 29775 29776 Reviewed by Andreas Kling. 29777 29778 Add a preference class for Qt for WebKit2. 29779 29780 * UIProcess/API/qt/qwkpreferences.cpp: Added. 29781 (QWKPreferences::globalPreferences): 29782 (QWKPreferences::QWKPreferences): 29783 (QWKPreferences::~QWKPreferences): 29784 (QWKPreferences::testAttribute): 29785 (QWKPreferences::setAttribute): 29786 * UIProcess/API/qt/qwkpreferences.h: Added. 29787 * WebKit2.pro: 29788 29789 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29790 29791 Reviewed by Adam Roben. 29792 29793 It should be possible to conditionally define an entire group of messages 29794 https://bugs.webkit.org/show_bug.cgi?id=46368 29795 29796 * Scripts/webkit2/messages.py: 29797 Check for a condition when parsing the "messages -> " string and set it as the 29798 message receiver condition. 29799 29800 * Scripts/webkit2/messages_unittest.py: 29801 Add test. 29802 29803 2010-09-23 Anders Carlsson <andersca (a] apple.com> 29804 29805 Reviewed by Adam Roben. 29806 29807 Message autogeneration script should parse sync message syntax 29808 https://bugs.webkit.org/show_bug.cgi?id=46359 29809 29810 * Scripts/webkit2/messages.py: 29811 (MessageReceiver.parse): Expand the regular expression to handle sync messages. 29812 (function_parameter_type): Use a const reference for all parameters except the known builtins. 29813 (base_class): Returns the base class for a sync message reply struct. 29814 (delayed_base_class): Returns the base class for a delayed sync message reply struct. 29815 29816 * Scripts/webkit2/messages_unittest.py: 29817 Add unit tests for various sync messages. 29818 29819 2010-09-22 Andras Becsi <abecsi (a] webkit.org> 29820 29821 Unreviewed build fix after r68079. 29822 29823 [Qt] Also generate WebPage's message-receiving code and message types 29824 for the Qt port of WebKit2. 29825 29826 * DerivedSources.pro: 29827 * WebKit2.pro: 29828 29829 2010-09-22 Anders Carlsson <andersca (a] apple.com> 29830 29831 Reviewed by Adam Roben. 29832 29833 Stub out a PluginProcessManager class 29834 https://bugs.webkit.org/show_bug.cgi?id=46305 29835 29836 * UIProcess/Plugins/PluginProcessManager.cpp: Added. 29837 (WebKit::PluginProcessManager::shared): 29838 (WebKit::PluginProcessManager::getPluginProcessConnection): 29839 (WebKit::PluginProcessManager::removePluginProcessProxy): 29840 * UIProcess/Plugins/PluginProcessManager.h: Added. 29841 * WebKit2.xcodeproj/project.pbxproj: 29842 29843 2010-09-22 Kenneth Rohde Christiansen <kenneth (a] webkit.org> 29844 29845 Reviewed by Antonio Gomes. 29846 29847 Add a ViewportConfiguration class for the Qt WebKit2 API, which 29848 currently calculated a fallback viewport configuration. 29849 29850 * UIProcess/API/qt/qwkpage.cpp: 29851 (QWKPage::ViewportConfiguration::ViewportConfiguration): 29852 (QWKPage::ViewportConfiguration::~ViewportConfiguration): 29853 (QWKPage::ViewportConfiguration::operator=): 29854 (QWKPage::viewportConfigurationForSize): 29855 * UIProcess/API/qt/qwkpage.h: 29856 * UIProcess/API/qt/qwkpage_p.h: 29857 (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate): 29858 29859 2010-09-22 Adam Roben <aroben (a] apple.com> 29860 29861 Windows build fix 29862 29863 * WebProcess/WebKitMain.cpp: 29864 (WebKitMain): Fix typo 29865 29866 2010-09-22 Adam Roben <aroben (a] apple.com> 29867 29868 Autogenerate WebPage's message-receiving code and message types 29869 29870 This patch encompasses several changes that allow message types and 29871 receiving code to be generated by a script, and add some type-safety 29872 as a bonus. Messages are now represented by structs instead of an ID + 29873 ArgumentCoder. The struct contains the arguments and the ID together, 29874 and has a constructor that enforces the use of correct types. 29875 Correspondingly, a new overload of WebProcessProxy::send that takes a 29876 message struct (instead of a message ID and separate arguments) has 29877 been added. Eventually all callers should use this overload and the 29878 old one can be removed. 29879 29880 This patch only touches WebPage's messages. We should transition other 29881 message receivers over to this new system eventually. 29882 29883 Fixes <http://webkit.org/b/43636> <rdar://problem/8282462> Add a 29884 type-safe IPC mechanism to WebKit2 29885 29886 Reviewed by Anders Carlsson. 29887 29888 * DerivedSources.make: Added. Calls generate-message-receiver.py and 29889 generate-messages-header.py for each message receiver it knows about 29890 (just WebPage for now). 29891 29892 * Platform/CoreIPC/Arguments.h: Added First/Second/ThirdArgumentType 29893 typedefs for use in handleMessage. 29894 29895 * Platform/CoreIPC/HandleMessage.h: Added. 29896 (CoreIPC::handleMessage): This overloaded function template decodes 29897 arguments and passes them along to the specified function. 29898 29899 * Scripts/generate-message-receiver.py: Added. 29900 * Scripts/generate-messages-header.py: Added. 29901 These scripts just wrap functionality in messages.py. 29902 29903 * Scripts/webkit2/__init__.py: Added. This just exists so that Python 29904 will treat this directory as a package. 29905 29906 * Scripts/webkit2/messages.py: Added. Contains the code to parse 29907 messages files and generate .cpp/.h files from them. 29908 (MessageReceiver.__init__): This class represents a single receiver of 29909 messages. 29910 (MessageReceiver.iterparameters): Returns a generator that can be used 29911 to iterate over all the parameters of all the messages of this 29912 receiver. 29913 (MessageReceiver.parse): Reads a messages file from a file-like object 29914 and parses it into a MessageReceiver object. 29915 (Message.__init__): This class represents a single message. 29916 (Message.id): Returns the ID name for this message. 29917 (Parameter.__init__): This class represents a single parameter for a 29918 message. 29919 (messages_header_filename): Returns the name of the header that 29920 defines the messages for a given receiver. 29921 (surround_in_condition): Surrounds the given string in #if/#endif if 29922 there is an associated condition. 29923 (messages_to_kind_enum): Returns a string that defines the Kind enum 29924 for these messages. 29925 (function_parameter_type): Returns the type that should be used when 29926 passing a value of the given type as a parameter to a function. 29927 (base_class): Returns the base class for a message struct. 29928 (message_to_struct_declaration): Returns a string that declares the 29929 struct for this message. 29930 (forward_declarations_for_namespace): Returns a string that contains 29931 forward-declarations for a set of types in a given namespace. 29932 (forward_declarations): Returns a string that contains all the 29933 forward-declarations needed in order to declare all the message 29934 structs for this receiver. 29935 (generate_header_file): Returns a string containing the messages 29936 header file for this receiver. 29937 (handler_function): Returns the name of the function that handles a 29938 given message for a given receiver. 29939 (case_statement): Returns a string containing a case statement for 29940 handling the given message. 29941 (header_for_type): Returns the header needed to define a given type, 29942 enclosed in quotes or angle brackets as needed. 29943 (generate_message_handler): Returns a string containing the contents 29944 of a .cpp file that defines a didReceive*Message function. 29945 29946 * Scripts/webkit2/messages_unittest.py: Added. Contains tests for 29947 messages.py. 29948 29949 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Removed. This has been 29950 replaced by a generated WebPageMessages.h header. 29951 29952 * UIProcess/WebEditCommandProxy.cpp: 29953 * UIProcess/WebPageProxy.cpp: 29954 Updated to use the new message structs and WebProcessProxy::send 29955 overload. 29956 29957 * UIProcess/WebProcessProxy.h: 29958 (WebKit::WebProcessProxy::send): Added this new overload that takes a 29959 message struct. 29960 29961 * WebKit2.xcodeproj/project.pbxproj: Added a Derived Sources shell 29962 script target that invokes DerivedSources.make. Added "Derived 29963 Sources" and "Scripts" groups that contain the various new files. 29964 29965 * WebProcess/WebPage/WebPage.cpp: 29966 (WebKit::WebPage::didReceivePolicyDecision): 29967 (WebKit::WebPage::getSourceForFrame): 29968 Changed these functions to take the raw IPC types and do the necessary 29969 translation themselves. This keeps the generated code from need to 29970 know how to perform the translation. 29971 29972 (WebKit::WebPage::didReceiveMessage): Replaced handling of WebPage 29973 messages with a call to didReceiveWebPageMessage, whose implementation 29974 is generated by the scripts. 29975 29976 * WebProcess/WebPage/WebPage.h: Added didReceiveWebPageMessage. 29977 29978 * WebProcess/WebPage/WebPage.messages.in: Added. This file declares 29979 all of the messages that WebPage receives, roughly grouped by 29980 functionality. 29981 29982 * win/WebKit2.vcproj: Added "Derived Sources" and "Scripts" filters 29983 that contain the various new files. Let VS resort some other files. 29984 29985 * win/WebKit2Common.vsprops: Added 29986 $(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources to the include 29987 path so that the generated messages header can be found. 29988 29989 * win/WebKit2.make: Copy the generated source files to $(DSTROOT). 29990 29991 * win/WebKit2Generated.make: Added a call to build-generated-files.sh. 29992 29993 * win/WebKit2Generated.vcproj: Added build-generated-files.sh. 29994 29995 * win/build-generated-files.sh: Added. Invokes DerivedSources.make. 29996 29997 2010-09-22 Anders Carlsson <andersca (a] apple.com> 29998 29999 Reviewed by Darin Adler. 30000 30001 Enhance ProcessLauncher to be able to launch plug-in processes 30002 https://bugs.webkit.org/show_bug.cgi?id=46295 30003 30004 * UIProcess/Launcher/ProcessLauncher.cpp: 30005 (WebKit::ProcessLauncher::ProcessLauncher): 30006 Make the ProcessLauncher constructor take a LaunchOptions struct. 30007 30008 (WebKit::ProcessLauncher::processTypeAsString): 30009 Given a process type, return its string representation. 30010 30011 (WebKit::ProcessLauncher::getProcessTypeFromString): 30012 And vice versa. 30013 30014 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 30015 (WebKit::ProcessLauncher::launchProcess): 30016 Rename "mode" to "type" and pass the type as a string based on the LaunchOptions struct. 30017 Also, set the launch architecture from the LaunchOptions struct. 30018 30019 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 30020 (WebKit::ProcessLauncher::launchProcess): 30021 Rename "mode" to "type." 30022 30023 * UIProcess/WebProcessProxy.cpp: 30024 (WebKit::WebProcessProxy::connect): 30025 Initialize a LaunchOptions struct. 30026 30027 * WebProcess/WebKitMain.cpp: 30028 (WebKitMain): 30029 Factor code that can be shared between the mac and windows WebKitMain code out into a 30030 WebKitMain overload that takes a CommandLine. 30031 30032 * WebProcess/WebProcessMain.h: 30033 * WebProcess/mac/WebProcessMainMac.mm: 30034 (WebKit::WebProcessMain): 30035 * WebProcess/win/WebProcessMainWin.cpp: 30036 (WebKit::WebProcessMain): 30037 Change WebProcessMain to take a const CommandLine reference instead of a pointer. 30038 30039 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30040 30041 Reviewed by Adam Roben. 30042 30043 Rename GetPluginHostConnection to GetPluginPath 30044 https://bugs.webkit.org/show_bug.cgi?id=46292 30045 30046 Rename GetPluginHostConnection to GetPluginPath since this message will always get the 30047 plug-in path. We'll add another message to actually get the connection. 30048 30049 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 30050 * UIProcess/WebProcessProxy.cpp: 30051 (WebKit::WebProcessProxy::getPluginPath): 30052 (WebKit::WebProcessProxy::didReceiveMessage): 30053 (WebKit::WebProcessProxy::didReceiveSyncMessage): 30054 * UIProcess/WebProcessProxy.h: 30055 * WebProcess/WebPage/WebPage.cpp: 30056 (WebKit::WebPage::createPlugin): 30057 30058 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30059 30060 Reviewed by Adam Roben. 30061 30062 Move plug-in creation to WebPage::createPlugin 30063 https://bugs.webkit.org/show_bug.cgi?id=46289 30064 30065 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30066 (WebKit::WebFrameLoaderClient::createPlugin): 30067 Call WebPage::createPlugin. 30068 30069 * WebProcess/WebPage/WebPage.cpp: 30070 (WebKit::WebPage::createPlugin): 30071 Create the plug-in. 30072 30073 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30074 30075 Reviewed by Darin Adler. 30076 30077 Random plug-in cleanups 30078 https://bugs.webkit.org/show_bug.cgi?id=46279 30079 30080 * WebProcess/Plugins/Plugin.cpp: 30081 (WebKit::Plugin::Parameters::encode): 30082 (WebKit::Plugin::Parameters::decode): 30083 Add CoreIPC coding support for the Plugin::Parameters struct. 30084 30085 * WebProcess/Plugins/PluginController.h: 30086 Add pluginProcessCrashed pure virtual member function. 30087 30088 * WebProcess/Plugins/PluginView.cpp: 30089 (WebKit::PluginView::handleEvent): 30090 handleEvent can be called when m_plugin is null. 30091 30092 (WebKit::PluginView::pluginProcessCrashed): 30093 Ask the renderer to show the crashed plug-in indicator. 30094 30095 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30096 30097 Reviewed by John Sullivan. 30098 30099 Don't listen for some window notifications on all windows 30100 https://bugs.webkit.org/show_bug.cgi?id=46277 30101 30102 Only listen for NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification notifications 30103 on all windows; this matches old WebKit and fixes a crash where we would send notifications to views whose 30104 underlying pages were invalid. 30105 30106 * UIProcess/API/mac/WKView.mm: 30107 (-[WKView addWindowObserversForWindow:]): 30108 (-[WKView removeWindowObservers]): 30109 30110 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30111 30112 Reviewed by Adam Roben. 30113 30114 Crash when running plug-in layout tests 30115 https://bugs.webkit.org/show_bug.cgi?id=46269 30116 30117 Store the web page directly in the PluginView class, instead of getting it from the frame 30118 of the plug-in element; this fixes two crashes, one where the plug-in element had been deallocated 30119 before the plug-in view, and another where the plug-in element's document did not have a frame. 30120 30121 This also makes things more robust since we're asserting in the WebPage destructor that no plug-ins have 30122 an outstanding reference to it. 30123 30124 * WebProcess/Plugins/PluginView.cpp: 30125 (WebKit::webPage): 30126 (WebKit::PluginView::PluginView): 30127 (WebKit::PluginView::~PluginView): 30128 (WebKit::PluginView::initializePlugin): 30129 * WebProcess/Plugins/PluginView.h: 30130 30131 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30132 30133 Reviewed by Adam Roben. 30134 30135 Change a bunch of Vector<char> to Vector<uint8_t> to better indicate that we're 30136 dealing with raw bytes. 30137 30138 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 30139 (WebKit::parsePostBuffer): 30140 (WebKit::NPN_GetURL): 30141 (WebKit::NPN_PostURL): 30142 (WebKit::NPN_GetURLNotify): 30143 (WebKit::NPN_PostURLNotify): 30144 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 30145 (WebKit::NetscapePlugin::loadURL): 30146 (WebKit::NetscapePlugin::initialize): 30147 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30148 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 30149 (WebKit::NetscapePluginStream::deliverData): 30150 (WebKit::NetscapePluginStream::deliverDataToPlugin): 30151 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 30152 * WebProcess/Plugins/PluginController.h: 30153 * WebProcess/Plugins/PluginView.cpp: 30154 (WebKit::PluginView::loadURL): 30155 * WebProcess/Plugins/PluginView.h: 30156 30157 2010-09-22 Anders Carlsson <andersca (a] apple.com> 30158 30159 Reviewed by Adam Roben. 30160 30161 Assertion fails in [WKView _updateWindowFrame] when closing a WebKit2 window 30162 https://bugs.webkit.org/show_bug.cgi?id=46264 30163 <rdar://problem/8463534> 30164 30165 * UIProcess/API/mac/WKView.mm: 30166 (-[WKView viewDidMoveToWindow]): 30167 Only update window visibility and frame when we're moving to a window. 30168 30169 2010-09-22 Balazs Kelemen <kb (a] inf.u-szeged.hu> 30170 30171 Reviewed by Kenneth Rohde Christiansen. 30172 30173 [Qt] PluginStrategy implementation is broken 30174 https://bugs.webkit.org/show_bug.cgi?id=46078 30175 30176 * UIProcess/API/qt/qwkpage.cpp: 30177 (QWKPagePrivate::QWKPagePrivate): 30178 Initialize the WebPlatformStrategies at the UI side as well because 30179 we are using the LocalizationStrategy in the UI process. 30180 Added a FIXME since this should be fixed in the future. 30181 30182 2010-09-22 Balazs Kelemen <kb (a] inf.u-szeged.hu> 30183 30184 Reviewed by Kenneth Rohde Christiansen. 30185 30186 PluginStrategy should satisfy the needs of Qt 30187 https://bugs.webkit.org/show_bug.cgi?id=45857 30188 No new functionality so no new tests. 30189 30190 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 30191 (WebKit::WebPlatformStrategies::getPluginInfo): 30192 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 30193 30194 2010-09-21 Steve Falkenburg <sfalken (a] apple.com> 30195 30196 Rubber stamped by Simon Fraser. 30197 30198 Add DirectX SDK include path. 30199 30200 * win/WebKit2DirectX.vsprops: 30201 30202 2010-09-21 Anders Carlsson <andersca (a] apple.com> 30203 30204 Reviewed by Dan Bernstein. 30205 30206 Forward window focus changes to the plug-in 30207 https://bugs.webkit.org/show_bug.cgi?id=46227 30208 30209 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 30210 (WebKit::NetscapePlugin::windowFocusChanged): 30211 Send the NPCocoaEventWindowFocusChanged event. 30212 30213 (WebKit::NetscapePlugin::windowFrameChanged): 30214 (WebKit::NetscapePlugin::windowVisibilityChanged): 30215 Add stubs. 30216 30217 * WebProcess/Plugins/Plugin.h: 30218 Add windowFocusChanged, windowFrameChanged and windowVisibilityChanged. 30219 30220 * WebProcess/Plugins/PluginView.cpp: 30221 (WebKit::PluginView::webPage): 30222 Make webPage a member function instead. 30223 30224 (WebKit::PluginView::setWindowIsFocused): 30225 Call the plug-in member function. 30226 30227 (WebKit::PluginView::initializePlugin): 30228 When the plug-in has been initialized, update its window frame, window visibility 30229 and window focus states. 30230 30231 (WebKit::PluginView::setParent): 30232 Move viewGeometryDidChange to initializePlugin. 30233 30234 * WebProcess/Plugins/PluginView.h: 30235 * WebProcess/WebPage/WebPage.cpp: 30236 (WebKit::WebPage::setActive): 30237 Tell all plug-in views about the new window focus state. 30238 30239 (WebKit::WebPage::windowIsFocused): 30240 Return whether the window is focused or not. 30241 30242 * WebProcess/WebPage/WebPage.h: 30243 (WebKit::WebPage::windowIsVisible): 30244 (WebKit::WebPage::windowFrame): 30245 Add getters. 30246 30247 2010-09-21 Anders Carlsson <andersca (a] apple.com> 30248 30249 Reviewed by John Sullivan. 30250 30251 Handle booleans in injected bundle messages 30252 https://bugs.webkit.org/show_bug.cgi?id=46213 30253 30254 * Shared/UserMessageCoders.h: 30255 (WebKit::UserMessageEncoder::baseEncode): 30256 (WebKit::UserMessageDecoder::baseDecode): 30257 30258 2010-09-21 Brian Weinstein <bweinstein (a] apple.com> 30259 30260 Reviewed by Adam Roben. 30261 30262 WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll 30263 https://bugs.webkit.org/show_bug.cgi?id=46209 30264 <rdar://problem/8445639> 30265 30266 Find WebKit2WebProcess.exe by getting the full path to WebKit.dll, and then 30267 removing the last path component and replacing it with WebKit2WebProcess.exe. 30268 30269 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 30270 (WebKit::ProcessLauncher::launchProcess): 30271 30272 2010-09-21 Anders Carlsson <andersca (a] apple.com> 30273 30274 Reviewed by Adam Roben. 30275 30276 Send window visibility and window frame change sizes to the plug-in 30277 https://bugs.webkit.org/show_bug.cgi?id=46202 30278 30279 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 30280 * UIProcess/API/mac/WKView.mm: 30281 (-[WKView _updateWindowVisibility]): 30282 Call WebPageProxy::setWindowIsVisible. 30283 30284 (-[WKView addWindowObserversForWindow:]): 30285 Add additional observers. 30286 30287 (-[WKView removeWindowObservers]): 30288 Remove observers. 30289 30290 (-[WKView _updateWindowFrame]): 30291 Call WebPageProxy::setWindowFrame. 30292 30293 (-[WKView viewDidMoveToWindow]): 30294 Update the window visibility and the web frame. 30295 30296 (-[WKView _windowDidMiniaturize:]): 30297 (-[WKView _windowDidDeminiaturize:]): 30298 Update the window visibility. 30299 30300 (-[WKView _windowFrameDidChange:]): 30301 Update the window frame. 30302 30303 * UIProcess/WebPageProxy.cpp: 30304 (WebKit::WebPageProxy::setWindowIsVisible): 30305 (WebKit::WebPageProxy::setWindowFrame): 30306 Send messages along to the web process. 30307 30308 * WebProcess/Plugins/PluginView.cpp: 30309 (WebKit::PluginView::PluginView): 30310 Register the plug-in view. 30311 30312 (WebKit::PluginView::~PluginView): 30313 Unregister the plug-in view. 30314 30315 (WebKit::PluginView::setWindowIsVisible): 30316 (WebKit::PluginView::setWindowFrame): 30317 Add empty stubs. 30318 30319 * WebProcess/WebPage/WebPage.cpp: 30320 (WebKit::WebPage::WebPage): 30321 Initialize m_windowIsVisible. 30322 30323 (WebKit::WebPage::~WebPage): 30324 Assert that all plug-in views have been removed. 30325 30326 (WebKit::WebPage::setWindowIsVisible): 30327 Notify all plug-ins about the window visibility change. 30328 30329 (WebKit::WebPage::setWindowFrame): 30330 Notify all plug-ins about the window frame change. 30331 30332 (WebKit::WebPage::didReceiveMessage): 30333 Handle setWindowIsVisible and setWindowFrame. 30334 30335 2010-09-21 Anders Carlsson <andersca (a] apple.com> 30336 30337 Reviewed by Mark Rowe. 30338 30339 * Configurations/WebKit2.xcconfig: 30340 Add a note about keeping the path in MainMac.cpp in sync with the install path. 30341 30342 * mac/MainMac.cpp: 30343 (main): 30344 Use the correct framework path. 30345 30346 2010-09-21 Anders Carlsson <andersca (a] apple.com> 30347 30348 Fix build. 30349 30350 * mac/MainMac.cpp: 30351 (closeUnusedFileDescriptors): 30352 Move this out into a separate function. 30353 30354 (main): 30355 Don't use the soft linking macros, they were bringing in WTFReportAssertionFailure. 30356 30357 2010-09-20 Anders Carlsson <andersca (a] apple.com> 30358 30359 Reviewed by Dan Bernstein. 30360 30361 Zombie WebProcesses are left around 30362 https://bugs.webkit.org/show_bug.cgi?id=46148 30363 <rdar://problem/8455898> 30364 30365 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 30366 (WebKit::setupTerminationNotificationHandler): 30367 Register a dispatch handler that calls waitpid when the child process exits. This prevents zombies from 30368 staying around after the child process has quit. 30369 30370 (WebKit::ProcessLauncher::launchProcess): 30371 Pass POSIX_SPAWN_START_SUSPENDED to posix_spawn to avoid race conditions when setting up the termination 30372 notification handler. When the handler is set up we send the SIGCONT signal to the child process. 30373 30374 * mac/MainMac.cpp: 30375 (main): 30376 Loop through all file descriptors except for stdin, stdout and stderr and close them. 30377 30378 * WebKit2.xcodeproj/project.pbxproj: 30379 Soft-link the Web process with WebKit2. We do this so we can ensure that we won't accidentally close any 30380 file descriptors opened by initialization code that would have been called before main(). 30381 30382 2010-09-21 Andras Becsi <abecsi (a] inf.u-szeged.hu> 30383 30384 Reviewed by Csaba Osztrogonc. 30385 30386 [Qt] QtWebProcess should clean up shared memory map files on close 30387 https://bugs.webkit.org/show_bug.cgi?id=45984 30388 30389 Relocate MappedMemory struct code to it's own header and implement 30390 a singleton pool class (MappedMemoryPool) which tracks shared memory 30391 to be able to clean up map files from disk if RunLoop stops. 30392 30393 * Shared/qt/MappedMemory.h: Added. 30394 (WebKit::MappedMemory::markUsed): 30395 (WebKit::MappedMemory::markFree): 30396 (WebKit::MappedMemory::isFree): 30397 * Shared/qt/MappedMemoryPool.cpp: Added. 30398 (WebKit::MappedMemoryPool::MappedMemoryPool): 30399 (WebKit::MappedMemoryPool::instance): 30400 (WebKit::MappedMemoryPool::size): 30401 (WebKit::MappedMemoryPool::at): 30402 (WebKit::MappedMemoryPool::append): 30403 (WebKit::MappedMemoryPool::cleanUp): 30404 * Shared/qt/UpdateChunk.cpp: 30405 (WebKit::mapMemory): 30406 (WebKit::mapFile): 30407 * Shared/qt/UpdateChunk.h: 30408 * WebKit2.pro: 30409 30410 2010-09-20 Philippe Normand <pnormand (a] igalia.com> 30411 30412 Reviewed by Eric Carlson. 30413 30414 [GTK] enhanced context menu for media elements 30415 https://bugs.webkit.org/show_bug.cgi?id=45021 30416 30417 New localized strings for the media element context-menu. 30418 30419 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 30420 (WebKit::WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow): 30421 (WebKit::WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow): 30422 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard): 30423 (WebKit::WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard): 30424 (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaControls): 30425 (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaLoop): 30426 (WebKit::WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen): 30427 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPlay): 30428 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPause): 30429 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaMute): 30430 (WebKit::WebPlatformStrategies::contextMenuItemTagMediaUnMute): 30431 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 30432 30433 2010-09-20 Anders Carlsson <andersca (a] apple.com> 30434 30435 Reviewed by Adam Roben. 30436 30437 Add a way to delay sending replies to sync requests 30438 https://bugs.webkit.org/show_bug.cgi?id=46117 30439 30440 Change the didReceiveSyncMessage client message to return a SyncReplyMode. If the SyncReplyMode is 30441 AutomaticReply, the reply will be sent when the didReceiveSyncMessage function returns. However, if it is 30442 ManualReply, then the client is handed ownership of the reply ArgumentEncoder and can choose to send it 30443 at a later time using Connection::sendSyncReply. 30444 30445 * Platform/CoreIPC/Connection.cpp: 30446 (CoreIPC::Connection::sendSyncReply): 30447 Send the message as a sync reply. 30448 30449 (CoreIPC::Connection::dispatchMessages): 30450 Check the return value of didReceiveSyncMessage. If it is AutomaticReply, immediately send the reply. 30451 30452 * Platform/CoreIPC/Connection.h: 30453 (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage): 30454 Change return type. 30455 30456 * UIProcess/WebProcessProxy.cpp: 30457 (WebKit::WebProcessProxy::didReceiveSyncMessage): 30458 * UIProcess/WebProcessProxy.h: 30459 Update for changed return type. 30460 30461 2010-09-20 Anders Carlsson <andersca (a] apple.com> 30462 30463 Reviewed by Adam Roben. 30464 30465 Don't use bufferIsLargeEnoughToContain for Vectors with variable sized elements 30466 https://bugs.webkit.org/show_bug.cgi?id=46109 30467 30468 Add a new VectorArgumentCoder class template, with specializations based on whether the 30469 element is fixed size or not. Then update the ArgumentEncoder<Vector<T>> specialization to choose the 30470 right VectorArgumentCoder specialization. To determine this, we use the "IsArithmetic" type trait, 30471 which holds true for all integer types and all floating point types. 30472 30473 * Platform/CoreIPC/ArgumentCoders.h: 30474 30475 2010-09-20 Enrica Casucci <enrica (a] apple.com> 30476 30477 Reviewed by Sam Weinig. 30478 30479 Pasteboard doesn't work in WebKit2. 30480 https://bugs.webkit.org/show_bug.cgi?id=42317 30481 <rdar://problem/7660537> 30482 30483 Adding support for RTF, RTFD and NSUrl formats on the Mac. 30484 Still missing the selective enabling of the menu entries. 30485 30486 * WebKit2.xcodeproj/project.pbxproj: Added WebEditorClientMac.mm. 30487 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed Mac only methods 30488 that are now in WebEditorClientMac.mm 30489 * WebProcess/WebCoreSupport/WebEditorClient.h: Fixed style and changed parameter 30490 type in documentFragmentFromAttributedString to be a Vector of RefPtr. 30491 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added. 30492 All the following methods have been moved from WebEditorClient.cpp. 30493 (WebKit::WebEditorClient::userVisibleString): Added implementation. 30494 (WebKit::createExcludedElementsForAttributedStringConversion): Added. 30495 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added implementation. 30496 (WebKit::WebEditorClient::setInsertionPasteboard): 30497 (WebKit::WebEditorClient::pasteboardTypesForSelection): 30498 (WebKit::WebEditorClient::uppercaseWord): 30499 (WebKit::WebEditorClient::lowercaseWord): 30500 (WebKit::WebEditorClient::capitalizeWord): 30501 (WebKit::WebEditorClient::showSubstitutionsPanel): 30502 (WebKit::WebEditorClient::substitutionsPanelIsShowing): 30503 (WebKit::WebEditorClient::toggleSmartInsertDelete): 30504 (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled): 30505 (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): 30506 (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled): 30507 (WebKit::WebEditorClient::toggleAutomaticLinkDetection): 30508 (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled): 30509 (WebKit::WebEditorClient::toggleAutomaticDashSubstitution): 30510 (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled): 30511 (WebKit::WebEditorClient::toggleAutomaticTextReplacement): 30512 (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled): 30513 (WebKit::WebEditorClient::toggleAutomaticSpellingCorrection): 30514 (WebKit::WebEditorClient::checkTextOfParagraph): 30515 (WebKit::WebEditorClient::showCorrectionPanel): 30516 (WebKit::WebEditorClient::dismissCorrectionPanel): 30517 (WebKit::WebEditorClient::isShowingCorrectionPanel): 30518 30519 2010-09-20 Andy Estes <aestes (a] apple.com> 30520 30521 Reviewed by Darin Adler. 30522 30523 Fix a style issue and add a FIXME to make the AppleConnect plug-in 30524 workaround dependent on site-specific quirks being enabled, which 30525 WebKit2 does not yet support in its WebPreferences implementation. 30526 https://bugs.webkit.org/show_bug.cgi?id=45960 30527 30528 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30529 (WebKit::WebFrameLoaderClient::createPlugin): 30530 30531 2010-09-20 Sam Weinig <sam (a] webkit.org> 30532 30533 Reviewed by Adam Roben. 30534 30535 Add WebKit2 API to load a string as plain text 30536 https://bugs.webkit.org/show_bug.cgi?id=46091 30537 30538 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 30539 * UIProcess/API/C/WKPage.cpp: 30540 (WKPageLoadPlainTextString): 30541 * UIProcess/API/C/WKPage.h: 30542 * UIProcess/WebPageProxy.cpp: 30543 (WebKit::WebPageProxy::loadPlainTextString): 30544 * UIProcess/WebPageProxy.h: 30545 * WebProcess/WebPage/WebPage.cpp: 30546 (WebKit::WebPage::loadData): 30547 (WebKit::WebPage::loadHTMLString): 30548 (WebKit::WebPage::loadPlainTextString): 30549 (WebKit::WebPage::didReceiveMessage): 30550 * WebProcess/WebPage/WebPage.h: 30551 30552 2010-09-19 Sam Weinig <sam (a] webkit.org> 30553 30554 Fix windows build. 30555 30556 * UIProcess/API/C/WKPage.h: 30557 30558 2010-09-19 Sam Weinig <sam (a] webkit.org> 30559 30560 Attempt to fix Qt build. 30561 30562 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 30563 (WebKit::WebEditorClient::doTextFieldCommandFromEvent): 30564 30565 2010-09-19 Sam Weinig <sam (a] webkit.org> 30566 30567 Reviewed by Anders Carlsson. 30568 30569 Add WebKit2 equivalent of the WebFormDelegate's doCommandBySelector 30570 <rdar://problem/8377088> 30571 https://bugs.webkit.org/show_bug.cgi?id=46073 30572 30573 Add bundle client to match the behavior of: 30574 - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame; 30575 30576 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 30577 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 30578 (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField): 30579 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 30580 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 30581 (WebKit::getActionTypeForKeyEvent): 30582 (WebKit::WebEditorClient::doTextFieldCommandFromEvent): 30583 (WebKit::WebEditorClient::textWillBeDeletedInTextField): 30584 30585 2010-09-19 Sam Weinig <sam (a] webkit.org> 30586 30587 Reviewed by Anders Carlsson. 30588 30589 WebKit2 decidePolicyForNavigationAction should include mouse button information 30590 <rdar://problem/8413165> 30591 https://bugs.webkit.org/show_bug.cgi?id=46060 30592 30593 * UIProcess/API/C/WKAPICast.h: 30594 (WebKit::toRef): 30595 * UIProcess/API/C/WKPage.h: 30596 * UIProcess/WebPageProxy.cpp: 30597 (WebKit::WebPageProxy::didReceiveMessage): 30598 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 30599 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 30600 * UIProcess/WebPageProxy.h: 30601 * UIProcess/WebPolicyClient.cpp: 30602 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 30603 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 30604 * UIProcess/WebPolicyClient.h: 30605 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30606 (WebKit::findMouseEvent): 30607 (WebKit::mouseButtonForNavigationAction): 30608 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 30609 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 30610 30611 2010-09-19 Csaba Osztrogonc <ossy (a] webkit.org> 30612 30613 [Qt] Unreviewed buildfix after r67813. 30614 30615 Replace WKBundleRangeRef with WKBundleRangeHandleRef. 30616 https://bugs.webkit.org/show_bug.cgi?id=46054 30617 30618 * DerivedSources.pro: Add WebCore/generated/JSRange.h to WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2 30619 30620 2010-09-19 Csaba Osztrogonc <ossy (a] webkit.org> 30621 30622 [Qt] Unreviewed buildfix after r67802. 30623 30624 WebKit2: Improve/unify the PageLoadClient interfaces. 30625 https://bugs.webkit.org/show_bug.cgi?id=46043 30626 30627 * UIProcess/API/qt/ClientImpl.h: 30628 30629 2010-09-19 Sam Weinig <sam (a] webkit.org> 30630 30631 Reviewed by Anders Carlsson. 30632 30633 Replace WKBundleRangeRef with WKBundleRangeHandleRef. 30634 https://bugs.webkit.org/show_bug.cgi?id=46054 30635 30636 The new one acts like WKBundleNodeHandleRef and allows for getting a 30637 wrapper in a specific world for the handle. 30638 30639 * Shared/APIObject.h: 30640 * WebKit2.pro: 30641 * WebKit2.xcodeproj/project.pbxproj: 30642 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 30643 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 30644 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 30645 (WKBundleFrameGetJavaScriptWrapperForRangeForWorld): 30646 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 30647 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 30648 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Removed. 30649 * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Removed. 30650 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: Added. 30651 (WKBundleRangeHandleGetTypeID): 30652 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: Added. 30653 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 30654 (WebKit::InjectedBundleNodeHandle::getOrCreate): 30655 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 30656 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added. 30657 (WebKit::domHandleCache): 30658 (WebKit::InjectedBundleRangeHandle::getOrCreate): 30659 (WebKit::InjectedBundleRangeHandle::create): 30660 (WebKit::InjectedBundleRangeHandle::InjectedBundleRangeHandle): 30661 (WebKit::InjectedBundleRangeHandle::~InjectedBundleRangeHandle): 30662 (WebKit::InjectedBundleRangeHandle::coreRange): 30663 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Added. 30664 (WebKit::InjectedBundleRangeHandle::type): 30665 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 30666 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing): 30667 (WebKit::InjectedBundlePageEditorClient::shouldEndEditing): 30668 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode): 30669 (WebKit::InjectedBundlePageEditorClient::shouldInsertText): 30670 (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange): 30671 (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange): 30672 (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle): 30673 * WebProcess/WebPage/WebFrame.cpp: 30674 (WebKit::WebFrame::jsWrapperForWorld): 30675 * WebProcess/WebPage/WebFrame.h: 30676 * win/WebKit2.vcproj: 30677 * win/WebKit2Generated.make: 30678 30679 2010-09-18 Sam Weinig <sam (a] webkit.org> 30680 30681 Reviewed by Dan Bernstein. 30682 30683 Improve/unify the PageLoadClient interfaces. 30684 https://bugs.webkit.org/show_bug.cgi?id=46043 30685 30686 - Ensure that all the PageLoadClient functions (that are load related) 30687 have bundle API equivalents (this meant adding didFirstLayoutForFrame 30688 and didFirstVisuallyNonEmptyLayoutForFrame to the BundlePageLoadClient). 30689 - Add a userData out parameters to all the now paired BundlePageLoadClient 30690 functions, and a matching userData parameter to the PageLoadClient ones. 30691 30692 * UIProcess/API/C/WKPage.h: 30693 * UIProcess/API/qt/ClientImpl.cpp: 30694 (qt_wk_didStartProvisionalLoadForFrame): 30695 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame): 30696 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 30697 (qt_wk_didCommitLoadForFrame): 30698 (qt_wk_didFinishDocumentLoadForFrame): 30699 (qt_wk_didFinishLoadForFrame): 30700 (qt_wk_didFailLoadWithErrorForFrame): 30701 (qt_wk_didReceiveTitleForFrame): 30702 (qt_wk_didFirstLayoutForFrame): 30703 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame): 30704 * UIProcess/WebLoaderClient.cpp: 30705 (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame): 30706 (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 30707 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame): 30708 (WebKit::WebLoaderClient::didCommitLoadForFrame): 30709 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): 30710 (WebKit::WebLoaderClient::didFinishLoadForFrame): 30711 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame): 30712 (WebKit::WebLoaderClient::didReceiveTitleForFrame): 30713 (WebKit::WebLoaderClient::didFirstLayoutForFrame): 30714 (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 30715 (WebKit::WebLoaderClient::didStartProgress): 30716 (WebKit::WebLoaderClient::didChangeProgress): 30717 (WebKit::WebLoaderClient::didFinishProgress): 30718 (WebKit::WebLoaderClient::didBecomeUnresponsive): 30719 (WebKit::WebLoaderClient::didBecomeResponsive): 30720 (WebKit::WebLoaderClient::processDidExit): 30721 (WebKit::WebLoaderClient::didChangeBackForwardList): 30722 * UIProcess/WebLoaderClient.h: 30723 * UIProcess/WebPageProxy.cpp: 30724 (WebKit::WebPageProxy::didReceiveMessage): 30725 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 30726 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 30727 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 30728 (WebKit::WebPageProxy::didCommitLoadForFrame): 30729 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 30730 (WebKit::WebPageProxy::didFinishLoadForFrame): 30731 (WebKit::WebPageProxy::didFailLoadForFrame): 30732 (WebKit::WebPageProxy::didReceiveTitleForFrame): 30733 (WebKit::WebPageProxy::didFirstLayoutForFrame): 30734 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 30735 * UIProcess/WebPageProxy.h: 30736 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 30737 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 30738 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame): 30739 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 30740 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): 30741 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame): 30742 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): 30743 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame): 30744 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): 30745 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame): 30746 (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame): 30747 (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 30748 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 30749 (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame): 30750 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): 30751 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame): 30752 (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame): 30753 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 30754 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 30755 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 30756 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30757 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 30758 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 30759 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 30760 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 30761 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 30762 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 30763 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 30764 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 30765 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): 30766 (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): 30767 30768 2010-09-18 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 30769 30770 Reviewed by Kenneth Rohde Christiansen. 30771 30772 Enable Platform Strategies on Qt 30773 30774 [Qt] Turn on PLATFORM_STRATEGIES 30775 https://bugs.webkit.org/show_bug.cgi?id=45831 30776 30777 * WebKit2.pro: Added Added WebPlatformStrategies.{cpp,h} 30778 30779 2010-09-17 Sam Weinig <sam (a] webkit.org> 30780 30781 Reviewed by Jon Honeycutt. 30782 30783 Need a way to load data (as plain text) in a WKPage 30784 <rdar://problem/8424239> 30785 30786 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 30787 * UIProcess/API/C/WKPage.cpp: 30788 (WKPageLoadHTMLString): 30789 * UIProcess/API/C/WKPage.h: 30790 * UIProcess/WebPageProxy.cpp: 30791 (WebKit::WebPageProxy::loadHTMLString): 30792 * UIProcess/WebPageProxy.h: 30793 * WebProcess/WebPage/WebPage.cpp: 30794 (WebKit::WebPage::loadHTMLString): 30795 (WebKit::WebPage::didReceiveMessage): 30796 * WebProcess/WebPage/WebPage.h: 30797 30798 2010-09-17 Sam Weinig <sam (a] webkit.org> 30799 30800 Rubber-stamped by Anders Carlsson. 30801 30802 Replace all uses of WTF::String and WTF::AtomicString with 30803 String and AtomicString. 30804 30805 * Platform/Module.h: 30806 * Shared/CommandLine.h: 30807 (WebKit::CommandLine::operator[]): 30808 * Shared/WebCoreArgumentCoders.h: 30809 * Shared/WebEvent.h: 30810 (WebKit::WebKeyboardEvent::WebKeyboardEvent): 30811 (WebKit::WebKeyboardEvent::text): 30812 (WebKit::WebKeyboardEvent::unmodifiedText): 30813 (WebKit::WebKeyboardEvent::keyIdentifier): 30814 (WebKit::WebKeyboardEvent::decode): 30815 * Shared/WebNavigationDataStore.h: 30816 * Shared/WebPreferencesStore.h: 30817 * Shared/WebString.h: 30818 (WebKit::WebString::create): 30819 (WebKit::WebString::string): 30820 (WebKit::WebString::WebString): 30821 * Shared/WebURL.h: 30822 (WebKit::WebURL::create): 30823 (WebKit::WebURL::string): 30824 (WebKit::WebURL::WebURL): 30825 * UIProcess/API/C/WKAPICast.h: 30826 (WebKit::toRef): 30827 (WebKit::toURLRef): 30828 (WebKit::toCopiedRef): 30829 (WebKit::toCopiedURLRef): 30830 (WebKit::toWTFString): 30831 * UIProcess/API/C/WKContext.cpp: 30832 (WKContextCreate): 30833 * UIProcess/API/mac/PageClientImpl.h: 30834 * UIProcess/API/mac/PageClientImpl.mm: 30835 (WebKit::nsStringFromWebCoreString): 30836 * UIProcess/PageClient.h: 30837 * UIProcess/Plugins/PluginInfoStore.cpp: 30838 (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): 30839 * UIProcess/Plugins/PluginInfoStore.h: 30840 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 30841 (WebKit::PluginInfoStore::getPluginInfo): 30842 (WebKit::PluginInfoStore::getMIMETypeForExtension): 30843 * UIProcess/WebBackForwardListItem.h: 30844 (WebKit::WebBackForwardListItem::create): 30845 (WebKit::WebBackForwardListItem::setOriginalURL): 30846 (WebKit::WebBackForwardListItem::originalURL): 30847 (WebKit::WebBackForwardListItem::setURL): 30848 (WebKit::WebBackForwardListItem::url): 30849 (WebKit::WebBackForwardListItem::setTitle): 30850 (WebKit::WebBackForwardListItem::title): 30851 * UIProcess/WebContext.cpp: 30852 (WebKit::WebContext::WebContext): 30853 (WebKit::WebContext::setAdditionalPluginsDirectory): 30854 * UIProcess/WebContext.h: 30855 (WebKit::WebContext::injectedBundlePath): 30856 * UIProcess/WebContextInjectedBundleClient.h: 30857 * UIProcess/WebFrameProxy.cpp: 30858 (WebKit::WebFrameProxy::didReceiveTitle): 30859 * UIProcess/WebFrameProxy.h: 30860 (WebKit::WebFrameProxy::url): 30861 (WebKit::WebFrameProxy::provisionalURL): 30862 * UIProcess/WebHistoryClient.h: 30863 * UIProcess/WebLoaderClient.cpp: 30864 (WebKit::WebLoaderClient::didReceiveTitleForFrame): 30865 * UIProcess/WebLoaderClient.h: 30866 * UIProcess/WebNavigationData.h: 30867 (WebKit::WebNavigationData::title): 30868 (WebKit::WebNavigationData::url): 30869 * UIProcess/WebPageProxy.h: 30870 (WebKit::WebPageProxy::pageTitle): 30871 (WebKit::WebPageProxy::toolTip): 30872 (WebKit::WebPageProxy::urlAtProcessExit): 30873 * UIProcess/WebPolicyClient.h: 30874 * UIProcess/WebProcessProxy.cpp: 30875 (WebKit::WebProcessProxy::getPluginHostConnection): 30876 * UIProcess/WebProcessProxy.h: 30877 * UIProcess/WebUIClient.h: 30878 * WebProcess/InjectedBundle/InjectedBundle.h: 30879 (WebKit::InjectedBundle::create): 30880 (WebKit::InjectedBundle::setSandboxToken): 30881 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 30882 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 30883 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): 30884 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 30885 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 30886 * WebProcess/Plugins/NPRuntimeObjectMap.h: 30887 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 30888 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: 30889 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 30890 (WebKit::NetscapePluginStream::start): 30891 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 30892 * WebProcess/Plugins/Plugin.h: 30893 * WebProcess/Plugins/PluginController.h: 30894 * WebProcess/Plugins/PluginView.h: 30895 * WebProcess/WebCoreSupport/WebChromeClient.h: 30896 * WebProcess/WebCoreSupport/WebContextMenuClient.h: 30897 * WebProcess/WebCoreSupport/WebDragClient.h: 30898 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 30899 (WebKit::WebEditorClient::showCorrectionPanel): 30900 * WebProcess/WebCoreSupport/WebEditorClient.h: 30901 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 30902 * WebProcess/WebCoreSupport/WebInspectorClient.h: 30903 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 30904 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 30905 (WebKit::WebSearchPopupMenu::saveRecentSearches): 30906 (WebKit::WebSearchPopupMenu::loadRecentSearches): 30907 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: 30908 * WebProcess/WebPage/WebFrame.h: 30909 * WebProcess/WebPage/WebPage.cpp: 30910 (WebKit::WebPage::runJavaScriptInMainFrame): 30911 * WebProcess/WebPage/WebPage.h: 30912 * WebProcess/WebProcess.cpp: 30913 (WebKit::WebProcess::registerURLSchemeAsEmptyDocument): 30914 * WebProcess/WebProcess.h: 30915 30916 2010-09-17 Sam Weinig <sam (a] webkit.org> 30917 30918 Fix Windows and Qt builds. 30919 30920 * Shared/qt/PlatformCertificateInfo.h: 30921 (WebKit::PlatformCertificateInfo::decode): 30922 * Shared/win/PlatformCertificateInfo.h: 30923 (WebKit::PlatformCertificateInfo::decode): 30924 30925 2010-09-17 Darin Adler <darin (a] apple.com> 30926 30927 Reviewed by Sam Weinig. 30928 30929 REGRESSION (r60104): Zoom level is unexpectedly reset on page reload 30930 https://bugs.webkit.org/show_bug.cgi?id=42863 30931 30932 * WebProcess/WebPage/WebPage.cpp: 30933 (WebKit::WebPage::textZoomFactor): 30934 (WebKit::WebPage::setTextZoomFactor): 30935 (WebKit::WebPage::pageZoomFactor): 30936 (WebKit::WebPage::setPageZoomFactor): 30937 (WebKit::WebPage::setPageAndTextZoomFactors): 30938 Call functions on Frame instead of FrameView. 30939 30940 2010-09-17 Sam Weinig <sam (a] webkit.org> 30941 30942 Reviewed by Anders Carlsson. 30943 30944 Resize corner jiggles when resizing slowly in WebKit2 30945 <rdar://problem/7897425> 30946 https://bugs.webkit.org/show_bug.cgi?id=45601 30947 30948 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 30949 (WebKit::WebChromeClient::windowResizerRect): 30950 * WebProcess/WebPage/WebPage.cpp: 30951 (WebKit::WebPage::windowResizerRect): 30952 * WebProcess/WebPage/WebPage.h: 30953 Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages 30954 stored size, which doesn't get updated at the right time. This is in line with all other 30955 scrollbar metrics which are in terms of the FrameView's size. 30956 30957 2010-09-17 Sam Weinig <sam (a] webkit.org> 30958 30959 Reviewed by Anders Carlsson. 30960 30961 Make certificate data available to the WKFrameRef after it is committed 30962 Part of <rdar://problem/8350189> 30963 https://bugs.webkit.org/show_bug.cgi?id=45998 30964 30965 * Shared/APIObject.h: 30966 Add new type. 30967 30968 * Shared/WebCertificateInfo.h: Added. 30969 (WebKit::WebCertificateInfo::create): 30970 (WebKit::WebCertificateInfo::platformCertificateInfo): 30971 (WebKit::WebCertificateInfo::WebCertificateInfo): 30972 (WebKit::WebCertificateInfo::type): 30973 Add API type for vending. 30974 30975 * Shared/mac/PlatformCertificateInfo.h: Added. 30976 (WebKit::PlatformCertificateInfo::peerCertificates): 30977 * Shared/mac/PlatformCertificateInfo.mm: Added. 30978 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30979 (WebKit::PlatformCertificateInfo::encode): 30980 (WebKit::PlatformCertificateInfo::decode): 30981 (WebKit::PlatformCertificateInfo::dump): 30982 * Shared/qt/PlatformCertificateInfo.h: Added. 30983 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30984 (WebKit::PlatformCertificateInfo::encode): 30985 (WebKit::PlatformCertificateInfo::decode): 30986 * Shared/win/PlatformCertificateInfo.h: Added. 30987 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30988 (WebKit::PlatformCertificateInfo::encode): 30989 (WebKit::PlatformCertificateInfo::decode): 30990 Add platform specific holder for certificate data and encode/decode functions 30991 to send it over the wire. Right now, this only implemented for the mac. 30992 30993 * UIProcess/API/C/WKAPICast.h: 30994 * UIProcess/API/C/WKBase.h: 30995 * UIProcess/API/C/WKCertificateInfo.cpp: Added. 30996 (WKCertificateInfoGetTypeID): 30997 * UIProcess/API/C/WKCertificateInfo.h: Added. 30998 Add wrapper for WebCertificateInfo. 30999 31000 * UIProcess/API/C/WKFrame.cpp: 31001 (WKFrameGetCertificateInfo): 31002 * UIProcess/API/C/WKFrame.h: 31003 Add getter for a WKCertificateInfo. 31004 31005 * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added. 31006 * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added. 31007 (WKCertificateInfoGetPeerCertificates): 31008 Add mac specific getters for the platform specific certificate 31009 data. 31010 31011 * UIProcess/WebFrameProxy.cpp: 31012 (WebKit::WebFrameProxy::setCertificateInfo): 31013 * UIProcess/WebFrameProxy.h: 31014 (WebKit::WebFrameProxy::certificateInfo): 31015 * UIProcess/WebPageProxy.cpp: 31016 (WebKit::WebPageProxy::didReceiveMessage): 31017 (WebKit::WebPageProxy::didCommitLoadForFrame): 31018 * UIProcess/WebPageProxy.h: 31019 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31020 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 31021 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 31022 Pipe the certificate info through to the WebFrameProxy on 31023 commit. 31024 31025 * WebKit2.pro: 31026 * WebKit2.xcodeproj/project.pbxproj: 31027 * win/WebKit2.vcproj: 31028 * win/WebKit2Generated.make: 31029 Add new files. 31030 31031 2010-09-17 Matthew Delaney <mdelaney (a] apple.com> 31032 31033 Reviewed by Simon Fraser. 31034 31035 Reduce minimum DOMTimer interval 31036 https://bugs.webkit.org/show_bug.cgi?id=45362 31037 31038 * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms. 31039 31040 2010-09-17 Anders Carlsson <andersca (a] apple.com> 31041 31042 Reviewed by Sam Weinig. 31043 31044 CoreIPC argument coder improvements 31045 https://bugs.webkit.org/show_bug.cgi?id=45999 31046 31047 * Platform/CoreIPC/ArgumentCoders.h: 31048 Add explicit specialization for a vector of bytes. 31049 31050 * Platform/CoreIPC/Arguments.h: 31051 (CoreIPC::Arguments1::decode): 31052 (CoreIPC::Arguments2::decode): 31053 (CoreIPC::Arguments3::decode): 31054 (CoreIPC::Arguments4::decode): 31055 (CoreIPC::Arguments5::decode): 31056 (CoreIPC::Arguments6::decode): 31057 Use the injected class name for less typing. 31058 31059 (CoreIPC::Arguments7::Arguments7): 31060 (CoreIPC::Arguments7::encode): 31061 (CoreIPC::Arguments7::decode): 31062 (CoreIPC::In): 31063 (CoreIPC::Out): 31064 Add Arguments7 class. 31065 31066 2010-09-17 Andy Estes <aestes (a] apple.com> 31067 31068 Reviewed by Darin Adler. 31069 31070 <rdar://problem/8440903> WK2: REGRESSION (r66156): Web sites using 31071 AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame" 31072 https://bugs.webkit.org/show_bug.cgi?id=45960 31073 31074 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31075 (WebKit::WebFrameLoaderClient::createPlugin): 31076 31077 2010-09-17 Sam Weinig <sam (a] webkit.org> 31078 31079 Reviewed by Anders Carlsson. 31080 31081 Make WebNumbers immutable matching CF. 31082 31083 * Shared/WebNumber.h: 31084 (WebKit::WebNumber::value): 31085 (WebKit::WebNumber::WebNumber): 31086 * UIProcess/API/C/WKNumber.cpp: 31087 (WKUInt64GetValue): 31088 * UIProcess/API/C/WKNumber.h: 31089 31090 2010-09-17 Sam Weinig <sam (a] webkit.org> 31091 31092 Reviewed by John Sullivan. 31093 31094 Add bool wrapper for WebKit2 API 31095 https://bugs.webkit.org/show_bug.cgi?id=45985 31096 31097 * Shared/APIObject.h: 31098 * Shared/WebNumber.h: 31099 * UIProcess/API/C/WKAPICast.h: 31100 * UIProcess/API/C/WKBase.h: 31101 * UIProcess/API/C/WKNumber.cpp: 31102 (WKBooleanGetTypeID): 31103 (WKBooleanCreate): 31104 (WKBooleanGetValue): 31105 (WKBooleanSetValue): 31106 * UIProcess/API/C/WKNumber.h: 31107 31108 2010-09-16 Sam Weinig <sam (a] webkit.org> 31109 31110 Reviewed by Anders Carlsson. 31111 31112 Add support for sending synchronous messages from the InjectedBundle to the WKContext 31113 <rdar://problem/8365320> 31114 https://bugs.webkit.org/show_bug.cgi?id=44785 31115 31116 * Shared/CoreIPCSupport/WebContextMessageKinds.h: 31117 * UIProcess/API/C/WKContext.h: 31118 * UIProcess/WebContext.cpp: 31119 (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle): 31120 (WebKit::WebContext::didReceiveMessage): 31121 (WebKit::WebContext::didReceiveSyncMessage): 31122 * UIProcess/WebContext.h: 31123 * UIProcess/WebContextInjectedBundleClient.cpp: 31124 (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle): 31125 * UIProcess/WebContextInjectedBundleClient.h: 31126 * UIProcess/WebProcessProxy.cpp: 31127 (WebKit::WebProcessProxy::didReceiveSyncMessage): 31128 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 31129 (WKBundlePostSynchronousMessage): 31130 * WebProcess/InjectedBundle/API/c/WKBundle.h: 31131 * WebProcess/InjectedBundle/InjectedBundle.cpp: 31132 (WebKit::InjectedBundle::postSynchronousMessage): 31133 * WebProcess/InjectedBundle/InjectedBundle.h: 31134 31135 2010-09-16 Balazs Kelemen <kbalazs (a] webkit.org> 31136 31137 Unreviewed trivial typo fix. 31138 31139 Remove old debug helper code inside |#if 0| from ConnectionQt.cpp 31140 31141 * Platform/CoreIPC/qt/ConnectionQt.cpp: 31142 (CoreIPC::Connection::readyReadHandler): 31143 31144 2010-09-15 Enrica Casucci <enrica (a] apple.com> 31145 31146 Reviewed by Sam Weinig. 31147 31148 Pasteboard doesn't work in WebKit2. 31149 https://bugs.webkit.org/show_bug.cgi?id=42317 31150 <rdar://problem/7660537> 31151 31152 Initial work to support cut, copy, paste and selectAll in WebKit2. 31153 It still does not support RTF and RTFD format for Mac and the selective 31154 enabling of the editing menu entries. 31155 31156 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added messages to support the 31157 new editing commands. 31158 * UIProcess/API/mac/WKView.mm: 31159 (-[WKView validateUserInterfaceItem:]): Added. 31160 (-[WKView copy:]): Added. 31161 (-[WKView cut:]): Added. 31162 (-[WKView paste:]): Addded. 31163 (-[WKView selectAll:]): Added. 31164 * UIProcess/WebPageProxy.cpp: Added all the proxy methods. 31165 (WebKit::WebPageProxy::selectAll): 31166 (WebKit::WebPageProxy::copy): 31167 (WebKit::WebPageProxy::cut): 31168 (WebKit::WebPageProxy::paste): 31169 * UIProcess/WebPageProxy.h: 31170 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 31171 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added but not 31172 implemented. This is needed to support RTF and RTFD. 31173 (WebKit::WebEditorClient::setInsertionPasteboard): Added but not implemented. 31174 This is needed only to support Mail on the Mac. 31175 * WebProcess/WebPage/WebPage.cpp: Added all the stub methods. 31176 (WebKit::WebPage::selectAll): 31177 (WebKit::WebPage::copy): 31178 (WebKit::WebPage::cut): 31179 (WebKit::WebPage::paste): 31180 (WebKit::WebPage::didReceiveMessage): Modified to handle the new messages from 31181 the UI process. 31182 * WebProcess/WebPage/WebPage.h: 31183 31184 2010-09-16 Eric Uhrhane <ericu (a] chromium.org> 31185 31186 Reviewed by Jian Li. 31187 31188 Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM. 31189 https://bugs.webkit.org/show_bug.cgi?id=45798 31190 31191 * Configurations/FeatureDefines.xcconfig: 31192 31193 2010-09-15 Jessie Berlin <jberlin (a] apple.com> 31194 31195 Reviewed by Sam Weinig. 31196 31197 WebKit2 should be able to encode and decode objects of type APIObject::TypeURL. 31198 https://bugs.webkit.org/show_bug.cgi?id=45819 31199 31200 * Shared/UserMessageCoders.h: 31201 Add the ability to encode and decode the URL type. 31202 (WebKit::UserMessageEncoder::baseEncode): 31203 (WebKit::UserMessageDecoder::baseDecode): 31204 31205 2010-09-15 Sam Weinig <sam (a] webkit.org> 31206 31207 Reviewed by Jon Honeycutt. 31208 31209 Add user message coding for WebUInt64 type. 31210 31211 * Shared/UserMessageCoders.h: 31212 (WebKit::UserMessageEncoder::baseEncode): 31213 (WebKit::UserMessageDecoder::baseDecode): 31214 31215 2010-09-15 Jessie Berlin <jberlin (a] apple.com> 31216 31217 Reviewed by Jon Honeycutt. 31218 31219 We should save messages that can't be sent when postMessageToInjectedBundle is called and 31220 send them in ensureWebProcess. 31221 https://bugs.webkit.org/show_bug.cgi?id=45822 31222 31223 * UIProcess/WebContext.cpp: 31224 (WebKit::WebContext::ensureWebProcess): 31225 Post any messages to the Injected Bundle that couldn't be sent earlier because the 31226 WebProcess hadn't been initialized yet. 31227 (WebKit::WebContext::postMessageToInjectedBundle): 31228 * UIProcess/WebContext.h: 31229 31230 2010-09-15 Simon Fraser <simon.fraser (a] apple.com> 31231 31232 Reviewed by Sam Weinig. 31233 31234 <rdar://problem/8214099> Mousewheel scrolling in WebKit2 is wonky 31235 31236 Use floats so that fractional scrollwheel deltas don't get lost. 31237 31238 * Shared/mac/WebEventFactory.mm: 31239 (WebKit::WebEventFactory::createWebWheelEvent): 31240 31241 2010-09-15 Sam Weinig <sam (a] webkit.org> 31242 31243 Reviewed by Jon Honeycutt. 31244 31245 Add WKUInt64Ref wrapper for sending uint64_ts. 31246 31247 * Shared/APIObject.h: 31248 * Shared/WebNumber.h: 31249 * UIProcess/API/C/WKAPICast.h: 31250 * UIProcess/API/C/WKBase.h: 31251 * UIProcess/API/C/WKNumber.cpp: 31252 (WKUInt64GetTypeID): 31253 (WKUInt64Create): 31254 (WKUInt64GetValue): 31255 (WKUInt64SetValue): 31256 * UIProcess/API/C/WKNumber.h: 31257 31258 2010-09-15 Simon Fraser <simon.fraser (a] apple.com> 31259 31260 Reviewed by Adam Roben. 31261 31262 https://bugs.webkit.org/show_bug.cgi?id=44715 31263 maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac 31264 31265 Move geometry flipping to platform-specific code. 31266 31267 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 31268 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 31269 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 31270 (WebKit::LayerBackedDrawingArea::platformInit): 31271 31272 2010-09-14 Jia Pu <jpu (a] apple.com> 31273 31274 Reviewed by Dan Bernstein. 31275 31276 Only intercept ESC key press when autocorrection UI is visible. 31277 https://bugs.webkit.org/show_bug.cgi?id=45071 31278 31279 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 31280 (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation. 31281 31282 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class. 31283 31284 2010-09-14 Sam Weinig <sam (a] webkit.org> 31285 31286 Fix windows build. 31287 31288 * win/WebKit2Generated.make: 31289 31290 2010-09-14 Sam Weinig <sam (a] webkit.org> 31291 31292 Reviewed by Anders Carlsson. 31293 31294 Remove WKBundleNodeRef, replacing uses with WKBundleNodeHandleRef. 31295 https://bugs.webkit.org/show_bug.cgi?id=45785 31296 31297 * WebKit2.xcodeproj/project.pbxproj: 31298 * win/WebKit2.vcproj: 31299 Remove files. 31300 31301 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 31302 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 31303 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Removed. 31304 * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Removed. 31305 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 31306 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: 31307 (WKBundleRangeCopyStartContainer): 31308 (WKBundleRangeCopyEndContainer): 31309 * WebProcess/InjectedBundle/API/c/WKBundleRange.h: 31310 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 31311 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode): 31312 Change to be in terms of WKBundleNodeHandleRef. 31313 31314 2010-09-14 Jessie Berlin <jberlin (a] apple.com> 31315 31316 Reviewed by Adam Roben. 31317 31318 Exceptions are getting ignored on 64-bit Windows in the Web Process 31319 https://bugs.webkit.org/show_bug.cgi?id=45779 31320 31321 * WebProcess/WebKitMain.cpp: 31322 (disableProcessCallbackFilterForExceptions): 31323 Clear the PROCESS_CALLBACK_FILTER_ENABLED flag so that exceptions thrown in callback routines 31324 are not ignored, as described in http://support.microsoft.com/kb/976038 and 31325 http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/. 31326 (WebKitMain): 31327 31328 2010-09-14 Brent Fulgham <bfulgham (a] webkit.org> 31329 31330 Build correction, no review. 31331 31332 * win/WebKit2.vcproj: Disable build for Cairo targets of 31333 the WebURLRequestWin.cpp and WebURLResponseWin.cpp files. 31334 31335 2010-09-14 Eric Seidel <eric (a] webkit.org> 31336 31337 Unreviewed, reverting changes r67451 and r67451. 31338 Broke lots of builders. 31339 31340 Only intercept ESC key press when autocorrection UI is visible. 31341 https://bugs.webkit.org/show_bug.cgi?id=45071 31342 31343 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 31344 (WebKit::WebEditorClient::dismissCorrectionPanel): 31345 * WebProcess/WebCoreSupport/WebEditorClient.h: 31346 31347 2010-09-14 Jia Pu <jpu (a] apple.com> 31348 31349 Reviewed by Dan Bernstein. 31350 31351 Only intercept ESC key press when autocorrection UI is visible. 31352 https://bugs.webkit.org/show_bug.cgi?id=45071 31353 31354 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 31355 (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation. 31356 31357 * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class. 31358 31359 2010-09-13 Sam Weinig <sam (a] webkit.org> 31360 31361 Reviewed by Jon Honeycutt. 31362 31363 URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2 31364 <rdar://problem/8272775> 31365 https://bugs.webkit.org/show_bug.cgi?id=45729 31366 31367 Pass an updated provisional url while notifying the UIProcess of 31368 didReceiveServerRedirectForProvisionalLoadForFrame. 31369 31370 * UIProcess/WebFrameProxy.cpp: 31371 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): 31372 * UIProcess/WebFrameProxy.h: 31373 * UIProcess/WebPageProxy.cpp: 31374 (WebKit::WebPageProxy::didReceiveMessage): 31375 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 31376 * UIProcess/WebPageProxy.h: 31377 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31378 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 31379 31380 2010-09-13 Sam Weinig <sam (a] webkit.org> 31381 31382 Fix windows build. 31383 31384 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 31385 31386 2010-09-13 Sam Weinig <sam (a] webkit.org> 31387 31388 Reviewed by Jon Honeycutt. 31389 31390 Threaded mode should work in WebKit2 MiniBrowser 31391 https://bugs.webkit.org/show_bug.cgi?id=45727 31392 31393 - Make starting the web thread more like starting a new 31394 process (encapsulate it in a thread launcher class). 31395 - Make the call to didFinishLaunching asynchronous so that 31396 WebProcess is fully constructed before it is called. 31397 31398 * Platform/WorkItem.h: 31399 (MemberFunctionWorkItem1::MemberFunctionWorkItem1): 31400 (MemberFunctionWorkItem1::~MemberFunctionWorkItem1): 31401 (MemberFunctionWorkItem1::execute): 31402 (WorkItem::create): 31403 * UIProcess/Launcher/ProcessLauncher.h: 31404 * UIProcess/Launcher/ThreadLauncher.cpp: Added. 31405 (WebKit::ThreadLauncher::ThreadLauncher): 31406 (WebKit::ThreadLauncher::launchThread): 31407 (WebKit::ThreadLauncher::didFinishLaunchingThread): 31408 (WebKit::ThreadLauncher::invalidate): 31409 * UIProcess/Launcher/ThreadLauncher.h: Added. 31410 (WebKit::ThreadLauncher::Client::~Client): 31411 (WebKit::ThreadLauncher::create): 31412 (WebKit::ThreadLauncher::isLaunching): 31413 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 31414 (WebKit::ProcessLauncher::terminateProcess): 31415 * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Added. 31416 (WebKit::webThreadBody): 31417 (WebKit::ThreadLauncher::createWebThread): 31418 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 31419 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Added. 31420 (WebKit::webThreadBody): 31421 (WebKit::ProcessLauncher::createWebThread): 31422 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 31423 * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Added. 31424 (WebKit::webThreadBody): 31425 (WebKit::ProcessLauncher::createWebThread): 31426 * UIProcess/WebProcessProxy.cpp: 31427 (WebKit::WebProcessProxy::~WebProcessProxy): 31428 (WebKit::WebProcessProxy::connect): 31429 (WebKit::WebProcessProxy::isLaunching): 31430 (WebKit::WebProcessProxy::didFinishLaunching): 31431 * UIProcess/WebProcessProxy.h: 31432 * WebKit2.pro: 31433 * WebKit2.xcodeproj/project.pbxproj: 31434 * win/WebKit2.vcproj: 31435 31436 2010-09-13 Sam Weinig <sam (a] webkit.org> 31437 31438 Reviewed by Anders Carlsson. 31439 31440 didFinishDocumentLoadForFrame() is not being sent by WebKit2 31441 <rdar://problem/8424171> 31442 31443 Finish wiring up didFinishDocumentLoad to the UIProcess. 31444 31445 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31446 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 31447 31448 2010-09-13 Enrica Casucci <enrica (a] apple.com> 31449 31450 Reviewed by Sam Weinig. 31451 31452 Paste should be implemented in WebCore like Copy and Cut for Mac also. 31453 https://bugs.webkit.org/show_bug.cgi?id=45494 31454 <rdar://problem/7660537> 31455 31456 On the Mac platform, the implementation of the paste operation is all done 31457 at the WebKit level. In order to support it on WebKit2 it is necessary to 31458 refactor the code and move this functionality at the level of WebCore like 31459 we already have on Windows. 31460 The original code relies on some in AppKit functions that call back into 31461 WebKit causing problems in WebKit2. All this functionality has been moved 31462 at the level of the editor client where it can be dealt with appropriately. 31463 31464 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 31465 (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added. 31466 (WebKit::WebEditorClient::setInsertionPasteboard): Added. 31467 * WebProcess/WebCoreSupport/WebEditorClient.h: 31468 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31469 (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): Added. 31470 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 31471 31472 2010-09-11 Daniel Bates <dbates (a] rim.com> 31473 31474 Attempt to fix the Qt Linux Release build after changeset 67312 <http://trac.webkit.org/changeset/67312>. 31475 31476 * UIProcess/API/qt/qwkpage.cpp: 31477 (QWKPage::QWKPage): Add missing ',' in WKPageUIClient initialization list. 31478 31479 2010-09-11 Adam Barth <abarth (a] webkit.org> 31480 31481 Reviewed by Sam Weinig. 31482 31483 Make SecurityOrigin::canDisplay an instance function 31484 https://bugs.webkit.org/show_bug.cgi?id=45219 31485 31486 * WebProcess/Plugins/PluginView.cpp: 31487 (WebKit::PluginView::performFrameLoadURLRequest): 31488 31489 2010-09-11 Sam Weinig <sam (a] webkit.org> 31490 31491 Reviewed by Dan Bernstein. 31492 31493 Implement WebKit2 callback equivalent to - [WebUIDelegate webView:setStatusText:] 31494 <rdar://problem/8359252> 31495 https://bugs.webkit.org/show_bug.cgi?id=45605 31496 31497 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 31498 * UIProcess/API/C/WKPage.h: 31499 * UIProcess/API/qt/qwkpage.cpp: 31500 (QWKPage::QWKPage): 31501 * UIProcess/WebPageProxy.cpp: 31502 (WebKit::WebPageProxy::didReceiveMessage): 31503 (WebKit::WebPageProxy::setStatusText): 31504 * UIProcess/WebPageProxy.h: 31505 * UIProcess/WebUIClient.cpp: 31506 (WebKit::WebUIClient::setStatusText): 31507 * UIProcess/WebUIClient.h: 31508 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 31509 (WebKit::WebChromeClient::setStatusbarText): 31510 31511 2010-09-11 Sam Weinig <sam (a] webkit.org> 31512 31513 Reviewed by Dan Bernstein. 31514 31515 Add callback mechanism for the getting the source of a frame 31516 <rdar://problem/8364681> 31517 https://bugs.webkit.org/show_bug.cgi?id=45604 31518 31519 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 31520 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 31521 * UIProcess/API/C/WKPage.cpp: 31522 (WKPageGetSourceForFrame): 31523 (callGetSourceForFrameBlockBlockAndDispose): 31524 (WKPageGetSourceForFrame_b): 31525 * UIProcess/API/C/WKPage.h: 31526 * UIProcess/WebPageProxy.cpp: 31527 (WebKit::WebPageProxy::close): 31528 (WebKit::WebPageProxy::getSourceForFrame): 31529 (WebKit::WebPageProxy::didReceiveMessage): 31530 (WebKit::WebPageProxy::didGetSourceForFrame): 31531 (WebKit::WebPageProxy::processDidExit): 31532 * UIProcess/WebPageProxy.h: 31533 * WebProcess/WebPage/WebFrame.cpp: 31534 (WebKit::WebFrame::source): 31535 * WebProcess/WebPage/WebFrame.h: 31536 * WebProcess/WebPage/WebPage.cpp: 31537 (WebKit::WebPage::getSourceForFrame): 31538 (WebKit::WebPage::didReceiveMessage): 31539 * WebProcess/WebPage/WebPage.h: 31540 31541 2010-09-10 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 31542 31543 Reviewed by Darin Adler. 31544 31545 Add NetworkingContext to avoid layer violations 31546 https://bugs.webkit.org/show_bug.cgi?id=42292 31547 31548 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: 31549 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: 31550 (WebFrameNetworkingContext::create): 31551 31552 2010-09-10 Sam Weinig <sam (a] webkit.org> 31553 31554 Reviewed by Dan Bernstein. 31555 31556 Add zoom support to WebKit2 API 31557 <rdar://problem/7660657> 31558 https://bugs.webkit.org/show_bug.cgi?id=45585 31559 31560 - Add UIProcess API for setting zoom factors. 31561 - Change bundle zoom API to be in terms of doubles 31562 for consistency. 31563 31564 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 31565 * UIProcess/API/C/WKPage.cpp: 31566 (WKPageGetTextZoomFactor): 31567 (WKPageSetTextZoomFactor): 31568 (WKPageGetPageZoomFactor): 31569 (WKPageSetPageZoomFactor): 31570 (WKPageSetPageAndTextZoomFactors): 31571 * UIProcess/API/C/WKPage.h: 31572 * UIProcess/WebPageProxy.cpp: 31573 (WebKit::WebPageProxy::WebPageProxy): 31574 (WebKit::WebPageProxy::setTextZoomFactor): 31575 (WebKit::WebPageProxy::setPageZoomFactor): 31576 (WebKit::WebPageProxy::setPageAndTextZoomFactors): 31577 * UIProcess/WebPageProxy.h: 31578 (WebKit::WebPageProxy::textZoomFactor): 31579 (WebKit::WebPageProxy::pageZoomFactor): 31580 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 31581 (WKBundlePageGetTextZoomFactor): 31582 (WKBundlePageSetTextZoomFactor): 31583 (WKBundlePageGetPageZoomFactor): 31584 (WKBundlePageSetPageZoomFactor): 31585 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 31586 * WebProcess/WebPage/WebPage.cpp: 31587 (WebKit::WebPage::textZoomFactor): 31588 (WebKit::WebPage::setTextZoomFactor): 31589 (WebKit::WebPage::pageZoomFactor): 31590 (WebKit::WebPage::setPageZoomFactor): 31591 (WebKit::WebPage::setPageAndTextZoomFactors): 31592 (WebKit::WebPage::didReceiveMessage): 31593 * WebProcess/WebPage/WebPage.h: 31594 31595 2010-09-10 Balazs Kelemen <kb (a] inf.u-szeged.hu> 31596 31597 Reviewed by Andreas Kling. 31598 31599 Application cache directory should be checked before sending to the web process 31600 https://bugs.webkit.org/show_bug.cgi?id=45462 31601 31602 * UIProcess/WebProcessProxy.cpp: 31603 (WebKit::WebProcessProxy::WebProcessProxy): Check the return value of 31604 m_context->applicationCacheDirectoy() to avoid sending a null string 31605 to the web process what makes it asserting. 31606 31607 2010-09-10 Sam Weinig <sam (a] webkit.org> 31608 31609 Reviewed by Darin Adler. 31610 31611 Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom. 31612 Precursor to <rdar://problem/7660657> 31613 https://bugs.webkit.org/show_bug.cgi?id=45522 31614 31615 Now that WebCore doesn't require a mode, change the bundle API for zoom to not 31616 require one either. 31617 31618 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 31619 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 31620 (WKBundlePageStopLoading): 31621 (WKBundlePageGetTextZoomFactor): 31622 (WKBundlePageSetTextZoomFactor): 31623 (WKBundlePageGetPageZoomFactor): 31624 (WKBundlePageSetPageZoomFactor): 31625 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 31626 * WebProcess/WebPage/WebPage.cpp: 31627 (WebKit::WebPage::WebPage): 31628 (WebKit::WebPage::textZoomFactor): 31629 (WebKit::WebPage::setTextZoomFactor): 31630 (WebKit::WebPage::pageZoomFactor): 31631 (WebKit::WebPage::setPageZoomFactor): 31632 * WebProcess/WebPage/WebPage.h: 31633 31634 2010-09-10 Balazs Kelemen <kb (a] inf.u-szeged.hu> 31635 31636 Reviewed by Andreas Kling. 31637 31638 [Qt] Implement port specific part of WebKit::InjectedBundle 31639 https://bugs.webkit.org/show_bug.cgi?id=45541 31640 31641 * WebProcess/InjectedBundle/InjectedBundle.h: Typedef PlatformBundle as QLibrary for qt. 31642 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 31643 (WebKit::InjectedBundle::load): Implemented. 31644 31645 2010-09-10 Balazs Kelemen <kb (a] inf.u-szeged.hu> 31646 31647 Reviewed by Andreas Kling. 31648 31649 [Qt] MiniBrowser crashes with multiply windows when closing one of them 31650 https://bugs.webkit.org/show_bug.cgi?id=45536 31651 31652 * UIProcess/API/qt/qwkpage.cpp: 31653 (QWKPage::~QWKPage): Do not call WKPageTerminate since this is designed 31654 to terminate the web process. We are correctly detaching the page without 31655 this call anyway. 31656 31657 2010-09-10 Adam Barth <abarth (a] webkit.org> 31658 31659 Reviewed by Darin Fisher. 31660 31661 Move code from WebKit-layer to DocumentLoader 31662 https://bugs.webkit.org/show_bug.cgi?id=45569 31663 31664 This code looks copy/pasted from Mac. It's unclear whether whether all 31665 the complexity is needed here, but I don't have a good way to find out. 31666 31667 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31668 (WebKit::WebFrameLoaderClient::committedLoad): 31669 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 31670 31671 2010-09-10 Anders Carlsson <andersca (a] apple.com> 31672 31673 Reviewed by Mark Rowe and Darin Adler. 31674 31675 Set the visible name for the web process 31676 https://bugs.webkit.org/show_bug.cgi?id=45564 31677 <rdar://problem/8416970> 31678 31679 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 31680 (WebKit::processName): 31681 Add a thread safe implementation of -[NSProcessInfo processName]. 31682 31683 (WebKit::ProcessLauncher::launchProcess): 31684 Pass the process name to the child process. 31685 31686 * WebProcess/mac/WebProcessMainMac.mm: 31687 (WebKit::WebProcessMain): 31688 Set the visible name. 31689 31690 2010-09-10 Adam Barth <abarth (a] webkit.org> 31691 31692 Reviewed by Eric Seidel. 31693 31694 Main resource bytes shouldn't bounce through FrameLoader 31695 https://bugs.webkit.org/show_bug.cgi?id=45496 31696 31697 Now return the bytes to the DocumentLoader. 31698 31699 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 31700 (WebKit::WebFrameLoaderClient::receivedData): 31701 31702 2010-09-10 Adam Roben <aroben (a] apple.com> 31703 31704 Don't crash when a frame is destroyed after the UI process has 31705 disconnected 31706 31707 Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in 31708 WebProcess::removeWebFrame on exit with WebKit2 (Release builds only) 31709 31710 Reviewed by Darin Adler. 31711 31712 * WebProcess/WebProcess.cpp: 31713 (WebKit::WebProcess::removeWebFrame): Null-check m_connection before 31714 dereferencing it. 31715 31716 2010-09-09 Simon Fraser <simon.fraser (a] apple.com> 31717 31718 Reviewed by Adam Roben. 31719 31720 Scrollbars fail to render in composited iframes. 31721 https://bugs.webkit.org/show_bug.cgi?id=45335 31722 31723 Use LocalWindowsContext when painting the plugin. 31724 31725 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 31726 (WebKit::NetscapePlugin::platformPaint): 31727 31728 2010-09-09 Sam Weinig <sam (a] webkit.org> 31729 31730 Reviewed by Anders Carlsson. 31731 31732 Allow passing WebDoubles via postMessage. 31733 31734 * Shared/UserMessageCoders.h: 31735 (WebKit::UserMessageEncoder::baseEncode): 31736 (WebKit::UserMessageDecoder::baseDecode): 31737 31738 2010-09-08 Sam Weinig <sam (a] webkit.org> 31739 31740 Reviewed by Dan Bernstein. 31741 31742 WebKit2 needs a way to box numbers (for Array, Dictionary, etc.) 31743 <rdar://problem/8408844> 31744 https://bugs.webkit.org/show_bug.cgi?id=45429 31745 31746 This adds a generic WebNumber class that can be used for any scalar 31747 numeric type. Right now, we are only exposing a double version, but it 31748 is designed to allow more. 31749 31750 * Shared/APIObject.h: 31751 * Shared/WebNumber.h: Added. 31752 (WebKit::WebNumber::create): 31753 (WebKit::WebNumber::value): 31754 (WebKit::WebNumber::setValue): 31755 (WebKit::WebNumber::WebNumber): 31756 (WebKit::WebNumber::type): 31757 * UIProcess/API/C/WKAPICast.h: 31758 * UIProcess/API/C/WKBase.h: 31759 * UIProcess/API/C/WKNumber.cpp: Added. 31760 (WKDoubleGetTypeID): 31761 (WKDoubleCreate): 31762 (WKDoubleGetValue): 31763 (WKDoubleSetValue): 31764 * UIProcess/API/C/WKNumber.h: Added. 31765 * UIProcess/API/C/WebKit2.h: 31766 * WebKit2.pro: 31767 * WebKit2.xcodeproj/project.pbxproj: 31768 * win/WebKit2.vcproj: 31769 * win/WebKit2Generated.make: 31770 31771 2010-09-08 Anders Carlsson <andersca (a] apple.com> 31772 31773 Don't include the std namespace in a header. This hopefully fixes the Windows build. 31774 31775 * Shared/WebCoreArgumentCoders.h: 31776 31777 2010-09-08 Anders Carlsson <andersca (a] apple.com> 31778 31779 Suggested and reviewed by Darin Adler. 31780 31781 Fix an overflow bug in bufferIsLargeEnoughToContain. 31782 31783 * Platform/CoreIPC/ArgumentDecoder.h: 31784 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): 31785 31786 2010-09-08 Anders Carlsson <andersca (a] apple.com> 31787 31788 Reviewed by Darin Adler. 31789 31790 Improve CoreIPC encoding of strings 31791 https://bugs.webkit.org/show_bug.cgi?id=45418 31792 31793 Encode and decode null Strings. Check that the string length isn't bogus. 31794 31795 * Platform/CoreIPC/ArgumentCoders.h: 31796 * Platform/CoreIPC/ArgumentDecoder.cpp: 31797 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): 31798 * Platform/CoreIPC/ArgumentDecoder.h: 31799 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): 31800 * Shared/WebCoreArgumentCoders.h: 31801 31802 2010-09-08 Adam Roben <aroben (a] apple.com> 31803 31804 Add a way to cause the web process to crash at a random time 31805 31806 Setting the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable 31807 will cause the web process to crash at a random point up to 3 minutes 31808 after launching. 31809 31810 Fixes <http://webkit.org/b/43058> <rdar://problem/8240150> 31811 31812 Reviewed by Darin Adler. 31813 31814 * WebProcess/WebProcess.cpp: 31815 (WebKit::sleep): Added an implementation of this function for Windows. 31816 It just calls through to ::Sleep. 31817 (WebKit::randomCrashThread): Added. Sleeps for a random amount of time 31818 up to 3 minutes, then crashes. 31819 (WebKit::startRandomCrashThreadIfRequested): Added. Starts the crash 31820 thread if the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable 31821 is set. 31822 (WebKit::WebProcess::initialize): Added a call to 31823 startRandomCrashThreadIfRequested. 31824 31825 2010-09-08 Adam Roben <aroben (a] apple.com> 31826 31827 Fix potential ref-counting issues with WorkItemWin 31828 31829 Reviewed by Anders Carlsson. 31830 31831 * Platform/WorkQueue.h: Changed WorkItemWin to inherit from 31832 ThreadSafeShared instead of RefCounted so that its ref-count will stay 31833 consistent when used on multiple threads. 31834 31835 2010-09-08 Adam Roben <aroben (a] apple.com> 31836 31837 Teach WorkQueue how to stop waiting on objects on Windows 31838 31839 WorkQueue now uses a subclass of WorkItemWin, HandleWorkItem, to hold 31840 the waited-upon HANDLE and its corresponding wait handle. When a 31841 HANDLE is unregistered, we use the HandleWorkItem to cancel the wait 31842 and destroy the HANDLE. 31843 31844 Fixes <http://webkit.org/b/42826> <rdar://problem/8222253> Crash in 31845 thread pool because WorkQueue keeps waiting on closed HANDLEs 31846 31847 Reviewed by Anders Carlsson. 31848 31849 * Platform/CoreIPC/win/ConnectionWin.cpp: 31850 (CoreIPC::Connection::platformInvalidate): Changed to call 31851 WorkQueue::unregisterAndCloseHandle instead of closing our handles 31852 manually. 31853 31854 (CoreIPC::Connection::readEventHandler): 31855 (CoreIPC::Connection::writeEventHandler): 31856 Handle cases where the pipe has already closed by just bailing out. 31857 This can happen if a WorkItem to call one of these functions has 31858 already been scheduled before platformInvalidate is called. 31859 31860 * Platform/WorkQueue.h: Gave WorkItemWin a virtual destructor, added 31861 HandleWorkItem, changed m_handles to hold HandleWorkItems, and added 31862 functions for unregistering waits. 31863 31864 * Platform/win/WorkQueueWin.cpp: 31865 (WorkQueue::WorkItemWin::~WorkItemWin): Added. This virtual destructor 31866 ensures that HandleWorkItem's destructor gets called. 31867 31868 (WorkQueue::HandleWorkItem::HandleWorkItem): 31869 (WorkQueue::HandleWorkItem::createByAdoptingHandle): 31870 Added simple constructor/creator. 31871 31872 (WorkQueue::HandleWorkItem::~HandleWorkItem): Closes the handle we 31873 adopted. 31874 (WorkQueue::registerHandle): Changed to create a HandleWorkItemWin and 31875 to store the wait handle in it. 31876 (WorkQueue::unregisterAndCloseHandle): Added. Removes the 31877 HandleWorkItem for this HANDLE from m_handles and then schedules its 31878 wait to be unregistered and the item to be destroyed. 31879 (WorkQueue::platformInvalidate): Added an assertion and removed an 31880 obsolete FIXME. 31881 (WorkQueue::unregisterWaitAndDestroyItemSoon): Added. Calls 31882 unregisterWaitAndDestroyItemCallback on a worker thread, passing it 31883 ownership of the HandleWorkItem. 31884 (WorkQueue::unregisterWaitAndDestroyItemCallback): Added. Adopts the 31885 passed-in HandleWorkItem, then unregisters the handle's wait, then 31886 destroys the HandleWorkItem when the RefPtr holding it goes out of 31887 scope. Destroying the HandleWorkItem closes the handle. 31888 31889 2010-09-08 Adam Roben <aroben (a] apple.com> 31890 31891 Remove WKSerializedScriptValue.cpp/h from the Copy Files build phase 31892 31893 * WebKit2.xcodeproj/project.pbxproj: 31894 31895 2010-09-08 Adam Roben <aroben (a] apple.com> 31896 31897 Get rid of WorkQueue::m_performWorkEvent 31898 31899 We were signaling m_performWorkEvent to spawn a worker thread. We can 31900 use ::QueueUserWorkItem to spawn the thread instead. 31901 31902 Fixes <http://webkit.org/b/45407> WorkQueue::m_performWorkEvent is 31903 unnecessary 31904 31905 Reviewed by Anders Carlsson. 31906 31907 * Platform/WorkQueue.h: Removed m_performWorkEvent. 31908 31909 * Platform/win/WorkQueueWin.cpp: 31910 (WorkQueue::workThreadCallback): Replaced eventCallback with this 31911 function. Its functionality is unchanged. 31912 31913 (WorkQueue::platformInitialize): 31914 (WorkQueue::platformInvalidate): 31915 Removed code to set up and clean up m_performWorkEvent. 31916 31917 (WorkQueue::scheduleWork): Use ::QueueUserWorkItem instead of 31918 signaling m_performWorkEvent to spawn a worker thread. 31919 31920 2010-09-08 Adam Roben <aroben (a] apple.com> 31921 31922 Fix WebKit2Common.vsprops line-endings 31923 31924 * win/WebKit2Common.vsprops: Made all line-endings be CRLF, as this is 31925 the format Visual Studio wants. 31926 31927 2010-09-07 Oliver Hunt <oliver (a] apple.com> 31928 31929 Reviewed by Anders Carlsson. 31930 31931 Support SerializedScriptValue in WebKit2 31932 https://bugs.webkit.org/show_bug.cgi?id=45340 31933 31934 Add wrappers and IPC serialization for SerializedScriptValue 31935 31936 * Shared/APIObject.h: 31937 * Shared/UserMessageCoders.h: 31938 (WebKit::UserMessageEncoder::baseEncode): 31939 (WebKit::UserMessageDecoder::baseDecode): 31940 * Shared/WebSerializedScriptValue.h: Added. 31941 (WebKit::WebSerializedScriptValue::create): 31942 (WebKit::WebSerializedScriptValue::adopt): 31943 (WebKit::WebSerializedScriptValue::deserialize): 31944 (WebKit::WebSerializedScriptValue::data): 31945 (WebKit::WebSerializedScriptValue::WebSerializedScriptValue): 31946 (WebKit::WebSerializedScriptValue::type): 31947 * UIProcess/API/C/WKAPICast.h: 31948 * UIProcess/API/C/WKBase.h: 31949 * UIProcess/API/C/WKSerializedScriptValue.cpp: Added. 31950 (WKSerializedScriptValueGetTypeID): 31951 (WKSerializedScriptValueCreate): 31952 (WKSerializedScriptValueDeserialize): 31953 * UIProcess/API/C/WKSerializedScriptValue.h: Added. 31954 * WebKit2.xcodeproj/project.pbxproj: 31955 31956 2010-09-08 Sam Weinig <sam (a] webkit.org> 31957 31958 Reviewed by Jon Honeycutt. 31959 31960 Would like WKBundleFrameRef to turn into WKFrameRef across postMessage boundary, a la PageRef 31961 <rdar://problem/8402804> 31962 https://bugs.webkit.org/show_bug.cgi?id=45370 31963 31964 * UIProcess/WebContextUserMessageCoders.h: 31965 (WebKit::WebContextUserMessageEncoder::encode): 31966 (WebKit::WebContextUserMessageDecoder::decode): 31967 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 31968 (WebKit::InjectedBundleUserMessageEncoder::encode): 31969 (WebKit::InjectedBundleUserMessageDecoder::decode): 31970 31971 2010-09-07 Kinuko Yasuda <kinuko (a] chromium.org> 31972 31973 Unreviewed, another Qt release build fix attempt. 31974 31975 * UIProcess/API/cpp/qt/WKURLQt.cpp: 31976 31977 2010-09-07 Kinuko Yasuda <kinuko (a] chromium.org> 31978 31979 Unreviewed, attempt to fix Qt release build. 31980 31981 * UIProcess/API/cpp/qt/WKStringQt.cpp: 31982 31983 2010-09-07 Brent Fulgham <bfulgham (a] webkit.org> 31984 31985 Build correction, no review. 31986 31987 * win/WebKit2.vcproj: Disable two unused files for 31988 the WinCairo target. 31989 31990 2010-09-07 Anders Carlsson <andersca (a] apple.com> 31991 31992 Reviewed by Sam Weinig. 31993 31994 Fix clang++ build. 31995 31996 * UIProcess/API/C/WKAPICast.h: 31997 Move all functions into the WebKit namespace. 31998 31999 * UIProcess/API/C/cf/WKStringCF.cpp: 32000 Add using namespace WebKit. 32001 32002 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 32003 Move all functions into the WebKit namespace. 32004 32005 2010-09-07 Anders Carlsson <andersca (a] apple.com> 32006 32007 Reviewed by Darin Adler. 32008 32009 <rdar://problem/8381749> -Wcast-align warning emitted when building with clang 32010 32011 Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc. 32012 32013 * Configurations/Base.xcconfig: 32014 32015 2010-09-07 Sam Weinig <sam (a] webkit.org> 32016 32017 Another windows fix. 32018 32019 * UIProcess/win/WebView.cpp: 32020 32021 2010-09-07 Sam Weinig <sam (a] webkit.org> 32022 32023 Try and fix windows. 32024 32025 * UIProcess/WebEditCommandProxy.h: 32026 32027 2010-09-07 Sam Weinig <sam (a] webkit.org> 32028 32029 Reviewed by Darin Adler. 32030 32031 Fix incorrect parameter name. 32032 32033 * UIProcess/API/mac/PageClientImpl.mm: 32034 32035 2010-09-07 Sam Weinig <sam (a] webkit.org> 32036 32037 Reviewed by Darin Adler. 32038 32039 Add support for Undo/Redo 32040 <rdar://problem/7660519> 32041 https://bugs.webkit.org/show_bug.cgi?id=42781 32042 32043 Adds platform independent parts of Undo/Redo support and the mac 32044 platform support. 32045 32046 To work around the common assumption made by platforms, that a redo 32047 item will be added synchronously while an undo is in progress, we 32048 ignore the calls from WebCore to add redo items, and instead add add 32049 them after telling WebCore to unapply the EditCommand. We similarly 32050 need to ignore undos, that take place during a redo, and force the 32051 addition ourselves. 32052 32053 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 32054 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 32055 Add new messages. 32056 32057 * UIProcess/API/mac/PageClientImpl.h: 32058 * UIProcess/API/mac/PageClientImpl.mm: 32059 (-[WebEditCommandObjC initWithWebEditCommandProxy:WebKit::]): 32060 (-[WebEditCommandObjC WebKit::]): 32061 (-[WebEditorUndoTargetObjC undoEditing:]): 32062 (-[WebEditorUndoTargetObjC redoEditing:]): 32063 (WebKit::PageClientImpl::PageClientImpl): 32064 (WebKit::nameForEditAction): 32065 (WebKit::PageClientImpl::registerEditCommand): 32066 (WebKit::PageClientImpl::clearAllEditCommands): 32067 * UIProcess/API/qt/qwkpage.cpp: 32068 (QWKPagePrivate::registerEditCommand): 32069 (QWKPagePrivate::clearAllEditCommands): 32070 * UIProcess/API/qt/qwkpage_p.h: 32071 * UIProcess/PageClient.h: 32072 * UIProcess/win/WebView.cpp: 32073 (WebKit::WebView::registerEditCommand): 32074 (WebKit::WebView::clearAllEditCommands): 32075 * UIProcess/win/WebView.h: 32076 Add platform specific hooks for undo/redo. 32077 32078 * UIProcess/WebEditCommandProxy.cpp: Added. 32079 (WebKit::WebEditCommandProxy::WebEditCommandProxy): 32080 (WebKit::WebEditCommandProxy::~WebEditCommandProxy): 32081 (WebKit::WebEditCommandProxy::unapply): 32082 (WebKit::WebEditCommandProxy::reapply): 32083 * UIProcess/WebEditCommandProxy.h: Added. 32084 (WebKit::WebEditCommandProxy::create): 32085 (WebKit::WebEditCommandProxy::commandID): 32086 (WebKit::WebEditCommandProxy::editAction): 32087 (WebKit::WebEditCommandProxy::invalidate): 32088 A proxy for the WebEditCommands in the WebProcess. These are owned 32089 by the platform back/forward list, with a weak reference back to the 32090 WebPageProxy (which holds a weakset of live WebEditCommandProxys). 32091 32092 * UIProcess/WebPageProxy.cpp: 32093 (WebKit::WebPageProxy::close): 32094 (WebKit::WebPageProxy::didReceiveMessage): 32095 (WebKit::WebPageProxy::registerEditCommandForUndo): 32096 (WebKit::WebPageProxy::clearAllEditCommands): 32097 (WebKit::WebPageProxy::registerEditCommandForRedo): 32098 (WebKit::WebPageProxy::addEditCommand): 32099 (WebKit::WebPageProxy::removeEditCommand): 32100 (WebKit::WebPageProxy::processDidExit): 32101 * UIProcess/WebPageProxy.h: 32102 Forward messages. 32103 32104 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 32105 (WebKit::WebEditorClient::registerCommandForUndo): 32106 (WebKit::WebEditorClient::registerCommandForRedo): 32107 (WebKit::WebEditorClient::clearUndoRedoOperations): 32108 Send undo/redo registration and clearing to the UIProcess. 32109 32110 * WebProcess/WebPage/WebEditCommand.cpp: Added. 32111 (WebKit::generateCommandID): 32112 (WebKit::WebEditCommand::WebEditCommand): 32113 * WebProcess/WebPage/WebEditCommand.h: Added. 32114 (WebKit::WebEditCommand::create): 32115 (WebKit::WebEditCommand::command): 32116 (WebKit::WebEditCommand::commandID): 32117 Wrapper for WebCore::EditCommand, with an added unique ID. 32118 32119 * WebProcess/WebPage/WebPage.cpp: 32120 (WebKit::WebPage::WebPage): 32121 (WebKit::WebPage::webEditCommand): 32122 (WebKit::WebPage::addWebEditCommand): 32123 (WebKit::WebPage::removeWebEditCommand): 32124 (WebKit::WebPage::unapplyEditCommand): 32125 (WebKit::WebPage::reapplyEditCommand): 32126 (WebKit::WebPage::didRemoveEditCommand): 32127 (WebKit::WebPage::didReceiveMessage): 32128 * WebProcess/WebPage/WebPage.h: 32129 (WebKit::WebPage::isInRedo): 32130 Forward messages. 32131 32132 * WebKit2.pro: 32133 * WebKit2.xcodeproj/project.pbxproj: 32134 * win/WebKit2.vcproj: 32135 Add new files. 32136 32137 2010-09-07 Jessie Berlin <jberlin (a] apple.com> 32138 32139 Reviewed by Darin Adler. 32140 32141 Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for 32142 https://bugs.webkit.org/show_bug.cgi?id=45217 32143 32144 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 32145 32146 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 32147 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 32148 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 32149 32150 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 32151 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 32152 32153 2010-09-06 Adam Barth <abarth (a] webkit.org> 32154 32155 Reviewed by Darin Adler. 32156 32157 Rename SecurityOrigin::canLoad to canDisplay 32158 https://bugs.webkit.org/show_bug.cgi?id=45214 32159 32160 Propagate name change. 32161 32162 * WebProcess/Plugins/PluginView.cpp: 32163 (WebKit::PluginView::performFrameLoadURLRequest): 32164 32165 2010-09-04 Sam Weinig <sam (a] webkit.org> 32166 32167 Reviewed by Anders Carlsson. 32168 32169 Allow passing null to postMessage API functions 32170 https://bugs.webkit.org/show_bug.cgi?id=45234 32171 32172 * Shared/APIObject.h: Add TypeNull to enum. This is only used 32173 for serialization purposes, and does not represent a concrete subclass 32174 of APIObject. 32175 32176 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Remove WillSubmitFormWithUserData 32177 now that it is not needed. 32178 32179 * Shared/UserMessageCoders.h: 32180 (WebKit::UserMessageEncoder::baseEncode): 32181 (WebKit::UserMessageDecoder::baseDecode): 32182 Add explicit encoding/decoding of null for user messages. 32183 32184 * UIProcess/WebContextUserMessageCoders.h: 32185 (WebKit::WebContextUserMessageEncoder::encode): 32186 (WebKit::WebContextUserMessageDecoder::decode): 32187 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 32188 (WebKit::InjectedBundleUserMessageEncoder::encode): 32189 (WebKit::InjectedBundleUserMessageDecoder::decode): 32190 Update UserMessageCoders subclasses to call the base class in the correct 32191 way to work with null messages. This means moving the encoding/decoding 32192 of the type down to the base class, which is a nice cleanup. 32193 32194 * UIProcess/WebPageProxy.cpp: 32195 (WebKit::WebPageProxy::didReceiveMessage): 32196 Remove now redundant WillSubmitFormWithUserData implementation. 32197 32198 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 32199 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 32200 Ditto. 32201 32202 2010-09-03 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 32203 32204 Reviewed by Darin Adler. 32205 32206 Add NetworkingContext to avoid layer violations 32207 https://bugs.webkit.org/show_bug.cgi?id=42292 32208 32209 Add FrameNetworkingContext implementation. 32210 32211 * WebKit2.pro: 32212 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 32213 (WebKit::WebFrameLoaderClient::createNetworkingContext): 32214 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 32215 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 32216 (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): 32217 (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled): 32218 (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs): 32219 (WebKit::WebFrameNetworkingContext::blockedError): 32220 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added. 32221 (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext): 32222 (WebCore::WebFrameNetworkingContext::create): 32223 (WebCore::WebFrameNetworkingContext::originatingObject): 32224 (WebCore::WebFrameNetworkingContext::networkAccessManager): 32225 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added. 32226 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added. 32227 * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added. 32228 (WebFrameNetworkingContext::create): 32229 (WebFrameNetworkingContext::WebFrameNetworkingContext): 32230 * win/WebKit2.vcproj: 32231 * win/WebKit2Common.vsprops: 32232 32233 2010-09-03 Sam Weinig <sam (a] webkit.org> 32234 32235 Reviewed by Dan Bernstein. 32236 32237 Add ability to send UserData to willSubmitForm 32238 https://bugs.webkit.org/show_bug.cgi?id=45222 32239 32240 - Adds a willSubmitForm callback to the BundlePageFormClient with an out 32241 parameter WKTypeRef* parameter. 32242 - That out parameter gets serialized and then passed to the PageFormClient's 32243 willSubmitForm, which now has WKTypeRef parameter. 32244 32245 - Temporarily adds a new WillSubmitFormWithUserData message kind. This will 32246 be replaced by the ability to explicitly serialize null as a UserMessage. 32247 32248 * Platform/CoreIPC/Arguments.h: 32249 (CoreIPC::Arguments6::Arguments6): 32250 (CoreIPC::Arguments6::encode): 32251 (CoreIPC::Arguments6::decode): 32252 (CoreIPC::In): 32253 (CoreIPC::Out): 32254 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 32255 * UIProcess/API/C/WKPage.h: 32256 * UIProcess/WebFormClient.cpp: 32257 (WebKit::WebFormClient::willSubmitForm): 32258 * UIProcess/WebFormClient.h: 32259 * UIProcess/WebPageProxy.cpp: 32260 (WebKit::WebPageProxy::didReceiveMessage): 32261 (WebKit::WebPageProxy::willSubmitForm): 32262 * UIProcess/WebPageProxy.h: 32263 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 32264 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 32265 (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing): 32266 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing): 32267 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField): 32268 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea): 32269 (WebKit::InjectedBundlePageFormClient::willSubmitForm): 32270 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 32271 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 32272 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 32273 32274 2010-09-03 Sam Weinig <sam (a] webkit.org> 32275 32276 Reviewed by Gavin Barraclough. 32277 32278 Change WKDictionaryIsMutable to take a WKDictionaryRef instead of a WKMutableDictionaryRef. 32279 If the type is already states it is mutable, there would be no reason for the check. 32280 32281 * UIProcess/API/C/WKMutableDictionary.cpp: 32282 (WKDictionaryIsMutable): 32283 * UIProcess/API/C/WKMutableDictionary.h: 32284 32285 2010-09-02 Sam Weinig <sam (a] webkit.org> 32286 32287 Reviewed by Anders Carlsson. 32288 32289 Add ability to send WKDictionaryRefs via post message. 32290 https://bugs.webkit.org/show_bug.cgi?id=45151 32291 32292 * Shared/ImmutableDictionary.cpp: 32293 (WebKit::ImmutableDictionary::ImmutableDictionary): 32294 * Shared/ImmutableDictionary.h: 32295 (WebKit::ImmutableDictionary::adopt): Remove tag, it wasn't doing anything. 32296 (WebKit::ImmutableDictionary::isMutable): 32297 (WebKit::ImmutableDictionary::map): Add accessor of internal 32298 map for encoder. 32299 32300 * Shared/UserMessageCoders.h: 32301 (WebKit::UserMessageEncoder::baseEncode): 32302 (WebKit::UserMessageDecoder::baseDecode): 32303 Add encoder/decoder. 32304 32305 2010-09-02 Sam Weinig <sam (a] webkit.org> 32306 32307 Reviewed by Anders Carlsson. 32308 32309 Share the common parts of UserMessage coding between both processes. 32310 https://bugs.webkit.org/show_bug.cgi?id=45139 32311 32312 Add base classes UserMessageEncoder and UserMessageDecoder which implement 32313 encoding/decoding of ImmutableArray and String (soon to be others as well, such 32314 as ImmutableDictionary, Data, etc.) and add derived classes which implement the 32315 process specific bits such as Page -> BundlePage conversion. 32316 32317 * Shared/UserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp. 32318 (WebKit::UserMessageEncoder::baseEncode): 32319 (WebKit::UserMessageEncoder::UserMessageEncoder): 32320 (WebKit::UserMessageDecoder::baseDecode): 32321 (WebKit::UserMessageDecoder::UserMessageDecoder): 32322 * UIProcess/WebContext.cpp: 32323 (WebKit::WebContext::postMessageToInjectedBundle): 32324 (WebKit::WebContext::didReceiveMessage): 32325 * UIProcess/WebContextUserMessageCoders.h: Copied from UIProcess/WebContext.cpp. 32326 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder): 32327 (WebKit::WebContextUserMessageEncoder::encode): 32328 (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder): 32329 (WebKit::WebContextUserMessageDecoder::decode): 32330 * WebKit2.pro: 32331 * WebKit2.xcodeproj/project.pbxproj: 32332 * WebProcess/InjectedBundle/InjectedBundle.cpp: 32333 (WebKit::InjectedBundle::postMessage): 32334 (WebKit::InjectedBundle::didReceiveMessage): 32335 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp. 32336 (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder): 32337 (WebKit::InjectedBundleUserMessageEncoder::encode): 32338 (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder): 32339 (WebKit::InjectedBundleUserMessageDecoder::decode): 32340 * win/WebKit2.vcproj: 32341 32342 2010-09-02 Sam Weinig <sam (a] webkit.org> 32343 32344 Reviewed by Anders Carlsson. 32345 32346 Simplify ownership semantics of some WebKit2 types 32347 https://bugs.webkit.org/show_bug.cgi?id=45120 32348 32349 - Make ImmutableArray and MutableArray use a Vector<RefPtr<APIObject> > and 32350 therefore ref any items it takes in. 32351 - Make the PostMessageDecoder operate on a RefPtr<APIObject>& to avoid the odd 32352 leaking semantics. 32353 32354 * Shared/ImmutableArray.cpp: 32355 (WebKit::ImmutableArray::ImmutableArray): This constructor now uses a for-loop 32356 instead of memcpy to ref each item. 32357 (WebKit::ImmutableArray::~ImmutableArray): No longer necessary to manually deref. 32358 * Shared/ImmutableArray.h: 32359 (WebKit::ImmutableArray::adopt): 32360 (WebKit::ImmutableArray::at): 32361 Changes to accommodate entries being changed to a Vector<RefPtr<APIObject> >. 32362 32363 * Shared/ImmutableDictionary.cpp: 32364 (WebKit::ImmutableDictionary::keys): 32365 Build a Vector<RefPtr<APIObject> >. 32366 32367 * UIProcess/WebBackForwardList.cpp: 32368 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 32369 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 32370 Ditto. 32371 32372 * UIProcess/WebContext.cpp: 32373 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder): 32374 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 32375 (WebKit::WebContext::didReceiveMessage): 32376 APIObject>& to avoid the odd leaking semantics. 32377 32378 * WebProcess/InjectedBundle/InjectedBundle.cpp: 32379 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder): 32380 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 32381 (WebKit::InjectedBundle::didReceiveMessage): 32382 Ditto. 32383 32384 * WebProcess/WebPage/WebFrame.cpp: 32385 (WebKit::WebFrame::childFrames): 32386 Build a Vector<RefPtr<APIObject> >. 32387 32388 2010-09-02 Sam Weinig <sam (a] webkit.org> 32389 32390 Reviewed by Anders Carlsson. 32391 32392 Add WKMutableDictionary API for WebKit2 32393 https://bugs.webkit.org/show_bug.cgi?id=45117 32394 32395 Add WKMutableDictionary API that inherits from WKDictionaryRef 32396 the same way WKMutableArrayRef inherits from WKArrayRef. 32397 32398 * Shared/ImmutableDictionary.h: 32399 (WebKit::ImmutableDictionary::get): 32400 (WebKit::ImmutableDictionary::isMutable): 32401 * Shared/MutableDictionary.cpp: Added. 32402 (WebKit::MutableDictionary::MutableDictionary): 32403 (WebKit::MutableDictionary::~MutableDictionary): 32404 (WebKit::MutableDictionary::add): 32405 (WebKit::MutableDictionary::set): 32406 * Shared/MutableDictionary.h: Added. 32407 (WebKit::MutableDictionary::create): 32408 (WebKit::MutableDictionary::isMutable): 32409 * UIProcess/API/C/WKAPICast.h: 32410 (toWK): 32411 * UIProcess/API/C/WKBase.h: 32412 * UIProcess/API/C/WKMutableDictionary.cpp: Added. 32413 (WKMutableDictionaryCreate): 32414 (WKDictionaryIsMutable): 32415 (WKDictionaryAddItem): 32416 (WKDictionarySetItem): 32417 * UIProcess/API/C/WKMutableDictionary.h: Added. 32418 * UIProcess/API/C/WebKit2.h: 32419 * WebKit2.pro: 32420 * WebKit2.xcodeproj/project.pbxproj: 32421 * win/WebKit2.vcproj: 32422 * win/WebKit2Generated.make: 32423 32424 2010-09-02 Jessie Berlin <jberlin (a] apple.com> 32425 32426 Windows build fix. Unreviewed. 32427 32428 * UIProcess/API/win/WKAPICastWin.h: 32429 (toWK): 32430 * UIProcess/API/win/WKBaseWin.h: 32431 32432 2010-09-01 Jia Pu <jpu (a] apple.com> 32433 32434 Reviewed by Dan Bernstein. 32435 32436 Add support for autocorrection UI on Mac OS X. 32437 https://bugs.webkit.org/show_bug.cgi?id=44958 32438 <rdar://problem/7326847> 32439 32440 See detailed high level description in WebCore/ChangeLog. 32441 32442 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 32443 (WebKit::WebEditorClient::showCorrectionPanel): Dummy implementation. 32444 (WebKit::WebEditorClient::dismissCorrectionPanel): Ditto 32445 32446 * WebProcess/WebCoreSupport/WebEditorClient.h: Added new methods declared in base class. 32447 32448 2010-09-01 Sam Weinig <sam (a] webkit.org> 32449 32450 Fix the build. 32451 32452 As with CF, const struct OpaqueType* should be the default type 32453 so that const_casts are not necessary in user code. 32454 32455 * UIProcess/API/C/WKArray.cpp: 32456 (WKArrayCreate): 32457 * UIProcess/API/C/WKBase.h: 32458 * UIProcess/API/C/WKType.cpp: 32459 (WKGetTypeID): 32460 (WKRetain): 32461 (WKRelease): 32462 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 32463 (toWK): 32464 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 32465 32466 2010-09-01 Sam Weinig <sam (a] webkit.org> 32467 32468 Reviewed by Adam Roben. 32469 32470 Add mutable array API to WebKit2 32471 https://bugs.webkit.org/show_bug.cgi?id=45082 32472 32473 Add a mutable API to WebKit2 called WKMutableArrayRef. Make it "inherit" from 32474 WKArrayRef in the same way JSObjectRef can inherit from JSValueRef in the JSC 32475 API, by abusing the c type system (WKArrayRef is defined as a const version of 32476 WKMutableArrayRef). Add very basic mutable API to go along with it. 32477 32478 * Shared/ImmutableArray.h: 32479 (WebKit::ImmutableArray::isMutable): 32480 Add ability to ask it an array is mutable. 32481 32482 * Shared/MutableArray.cpp: Added. 32483 (WebKit::MutableArray::MutableArray): 32484 (WebKit::MutableArray::~MutableArray): 32485 (WebKit::MutableArray::append): 32486 * Shared/MutableArray.h: Added. 32487 (WebKit::MutableArray::create): 32488 (WebKit::MutableArray::isMutable): 32489 Sketch out the mutable array interface. 32490 32491 * UIProcess/API/C/WKAPICast.h: 32492 (toWK): 32493 Now that the opaque types can be const, use template magic to const_cast 32494 it away. 32495 32496 * UIProcess/API/C/WKBase.h: 32497 Add new type and re-type WKArrayRef as const. 32498 32499 * UIProcess/API/C/WKMutableArray.cpp: Added. 32500 (WKMutableArrayCreate): 32501 (WKArrayIsMutable): 32502 (WKArrayAppendItem): 32503 * UIProcess/API/C/WKMutableArray.h: Added. 32504 Fill in basic API. 32505 32506 * WebKit2.pro: 32507 * WebKit2.xcodeproj/project.pbxproj: 32508 * win/WebKit2.vcproj: 32509 * win/WebKit2Generated.make: 32510 Add files. 32511 32512 2010-09-01 Balazs Kelemen <kb (a] inf.u-szeged.hu> 32513 32514 Reviewed by Kenneth Rohde Christiansen. 32515 32516 [Qt] Implement PluginInfoStore for UNIX 32517 https://bugs.webkit.org/show_bug.cgi?id=45038 32518 32519 This implementation is generally just reusing the logic in WebCore since 32520 there is no way to get informations from a UNIX plugin without loading it 32521 - in contrast to mac bundles and windows dll-s. 32522 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 32523 (WebKit::PluginInfoStore::pluginsDirectories): 32524 (WebKit::PluginInfoStore::pluginPathsInDirectory): 32525 (WebKit::PluginInfoStore::getPluginInfo): 32526 (WebKit::PluginInfoStore::shouldUsePlugin): 32527 32528 2010-09-01 Mark Rowe <mrowe (a] apple.com> 32529 32530 Reviewed by Sam Weinig. 32531 32532 Allow the web process to load frameworks other than WebKit2.framework from the build directory 32533 when running engineering builds. 32534 32535 * WebProcess/mac/WebProcessMainMac.mm: 32536 (WebKit::WebProcessMain): Pass the path containing WebKit2.framework to the sandbox rather than 32537 the path of the WebKit2.framework itself. 32538 32539 2010-09-01 Sam Weinig <sam (a] webkit.org> 32540 32541 Reviewed by John Sullivan. 32542 32543 Change ImmutableArray to be backed by a Vector 32544 https://bugs.webkit.org/show_bug.cgi?id=45064 32545 32546 Change ImmutableArray to be backed by a Vector to work toward having 32547 a mutable subclass and to improve the API when working with it in WebKit2 32548 itself. 32549 32550 - Also remove WKArrayCreateAdoptingValues which was confusing and unused. 32551 32552 * Shared/ImmutableArray.cpp: 32553 (WebKit::ImmutableArray::ImmutableArray): 32554 (WebKit::ImmutableArray::~ImmutableArray): 32555 * Shared/ImmutableArray.h: 32556 (WebKit::ImmutableArray::adopt): 32557 (WebKit::ImmutableArray::at): 32558 (WebKit::ImmutableArray::size): 32559 * Shared/ImmutableDictionary.cpp: 32560 (WebKit::ImmutableDictionary::keys): 32561 * UIProcess/API/C/WKArray.cpp: 32562 * UIProcess/API/C/WKArray.h: 32563 * UIProcess/WebBackForwardList.cpp: 32564 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 32565 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 32566 * UIProcess/WebContext.cpp: 32567 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 32568 * WebProcess/InjectedBundle/InjectedBundle.cpp: 32569 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 32570 * WebProcess/WebPage/WebFrame.cpp: 32571 (WebKit::WebFrame::childFrames): 32572 32573 2010-09-01 Sam Weinig <sam (a] webkit.org> 32574 32575 Reviewed by Anders Carlsson. 32576 32577 Add URLResponse API for WebKit2 32578 https://bugs.webkit.org/show_bug.cgi?id=45062 32579 32580 Add WebURLResponse class and WKURLResponseRef C API to go with it. Right now, 32581 instance of WKURLResponseRef are manipulated via platform types just like 32582 WKURLRequestRef. 32583 32584 This just adds the type and conversion functions, no uses yet. 32585 32586 * Shared/APIObject.h: 32587 * Shared/WebCoreArgumentCoders.h: 32588 * Shared/WebURLResponse.cpp: Added. 32589 (WebKit::WebURLResponse::WebURLResponse): 32590 * Shared/WebURLResponse.h: Added. 32591 (WebKit::WebURLResponse::create): 32592 (WebKit::WebURLResponse::resourceResponse): 32593 (WebKit::WebURLResponse::type): 32594 * Shared/mac/WebCoreArgumentCodersMac.mm: 32595 (CoreIPC::encodeWithNSKeyedArchiver): 32596 (CoreIPC::decodeWithNSKeyedArchiver): 32597 (CoreIPC::encodeResourceRequest): 32598 (CoreIPC::decodeResourceRequest): 32599 * Shared/mac/WebURLResponseMac.mm: Added. 32600 (WebKit::WebURLResponse::WebURLResponse): 32601 (WebKit::WebURLResponse::platformResponse): 32602 * Shared/qt/WebURLResponseQt.cpp: Added. 32603 (WebKit::WebURLResponse::WebURLResponse): 32604 (WebKit::WebURLResponse::platformResponse): 32605 * Shared/win/WebURLResponseWin.cpp: Added. 32606 (WebKit::WebURLResponse::WebURLResponse): 32607 (WebKit::WebURLResponse::platformResponse): 32608 * UIProcess/API/C/WKURLResponse.cpp: Added. 32609 (WKURLResponseGetTypeID): 32610 * UIProcess/API/C/WKURLResponse.h: Added. 32611 * UIProcess/API/C/cf/WKURLResponseCF.cpp: Added. 32612 (WKURLResponseCreateWithCFURLResponse): 32613 (WKURLResponseCopyCFURLResponse): 32614 * UIProcess/API/C/cf/WKURLResponseCF.h: Added. 32615 * UIProcess/API/C/mac/WKURLResponseNS.h: Added. 32616 * UIProcess/API/C/mac/WKURLResponseNS.mm: Added. 32617 (WKURLResponseCreateWithNSURLResponse): 32618 (WKURLResponseCopyNSURLResponse): 32619 * WebKit2.pro: 32620 * WebKit2.xcodeproj/project.pbxproj: 32621 * win/WebKit2.vcproj: 32622 * win/WebKit2Generated.make: 32623 32624 2010-09-01 Andras Becsi <abecsi (a] webkit.org> 32625 32626 Reviewed by Antti Koivisto. 32627 32628 [Qt] Auto-generate WebKit2 forwarding headers 32629 https://bugs.webkit.org/show_bug.cgi?id=44692 32630 32631 * DerivedSources.pro: let the generate-forwarding-headers.pl 32632 script generate forwarding headers. 32633 * generate-forwarding-headers.pl: Added. 32634 32635 2010-08-31 Dave Hyatt <hyatt (a] apple.com> 32636 32637 Reviewed by Sam Weinig. 32638 32639 https://bugs.webkit.org/show_bug.cgi?id=44863 32640 32641 * WebProcess/WebPage/WebPage.cpp: 32642 (WebKit::WebPage::layoutIfNeeded): 32643 32644 2010-08-31 Jon Honeycutt <jhoneycutt (a] apple.com> 32645 32646 Fix some copy/paste errors. 32647 32648 Reviewed by Steve Falkenburg. 32649 32650 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 32651 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing): 32652 Null check the correct callback. 32653 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField): 32654 Ditto. 32655 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea): 32656 Ditto. 32657 32658 2010-08-31 Jon Honeycutt <jhoneycutt (a] apple.com> 32659 32660 Crash when closing a page with a form field when using WebKit2. 32661 32662 Reviewed by Anders Carlsson. 32663 32664 The crash came from accessing a BundlePageFormClient that had been 32665 destroyed. The client was intended to be cleared by a call to 32666 WKBundlePageSetFormClient, but a null check there caused it not to be 32667 cleared. 32668 32669 I fixed this and all of the other WK "set client" functions. 32670 32671 * UIProcess/API/C/WKContext.cpp: 32672 (WKContextSetInjectedBundleClient): 32673 Return early if the caller passed a client with a version not equal to 32674 0. 32675 (WKContextSetHistoryClient): 32676 Ditto. 32677 32678 * UIProcess/API/C/WKPage.cpp: 32679 (WKPageSetPageLoaderClient): 32680 Ditto. 32681 (WKPageSetPagePolicyClient): 32682 Ditto. 32683 (WKPageSetPageFormClient): 32684 Ditto. 32685 (WKPageSetPageUIClient): 32686 Ditto. 32687 32688 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 32689 (WKBundleSetClient): 32690 Ditto. 32691 32692 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 32693 (WKBundlePageSetEditorClient): 32694 Ditto. 32695 (WKBundlePageSetFormClient): 32696 Ditto. 32697 (WKBundlePageSetLoaderClient): 32698 Ditto. 32699 (WKBundlePageSetUIClient): 32700 Ditto. 32701 32702 2010-08-31 Alexey Proskuryakov <ap (a] apple.com> 32703 32704 Build fix. 32705 32706 * Shared/WebPreferencesStore.h: Actually remove encode(), which has been moved to WebPreferencesStore.cpp. 32707 32708 2010-08-31 Alexey Proskuryakov <ap (a] apple.com> 32709 32710 Reviewed by Sam Weinig. 32711 32712 https://bugs.webkit.org/show_bug.cgi?id=42195 32713 <rdar://problem/8186761> WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled 32714 32715 * Shared/WebPreferencesStore.cpp: 32716 (WebKit::WebPreferencesStore::WebPreferencesStore): Initialize xssAuditorEnabled. 32717 (WebKit::WebPreferencesStore::decode): Moved from header, added xssAuditorEnabled. 32718 (WebKit::WebPreferencesStore::encode): Ditto. 32719 (WebKit::WebPreferencesStore::overrideXSSAuditorEnabledForTestRunner): Set an override, so 32720 that decoding a WebPreferencesStore in the process will give the override result. WebProcess 32721 doesn't hold to WebPreferencesStore, so there are no existing ones to patch. 32722 (WebKit::WebPreferencesStore::removeTestRunnerOverrides): Remove the override. 32723 32724 * Shared/WebPreferencesStore.h: Added xssAuditorEnabled. 32725 32726 * UIProcess/API/C/WKPreferences.cpp: 32727 (WKPreferencesSetXSSAuditorEnabled): 32728 (WKPreferencesGetXSSAuditorEnabled): 32729 * UIProcess/API/C/WKPreferences.h: 32730 Added an API method to change xssAuditorEnabled preference. 32731 32732 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Added a comment 32733 explaining how making this method smarter could affect WebKitTestRunner. 32734 32735 * UIProcess/WebPreferences.cpp: 32736 (WebKit::WebPreferences::setXSSAuditorEnabled): 32737 (WebKit::WebPreferences::xssAuditorEnabled): 32738 * UIProcess/WebPreferences.h: 32739 Implemented xssAuditorEnabled preference accessors. 32740 32741 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideXSSAuditorEnabledForTestRunner): 32742 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 32743 Added a private methods to temporarily change xssAuditor setting from an injected bundle, 32744 not notifying UIProcess about the change. 32745 32746 * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner): 32747 * WebProcess/InjectedBundle/InjectedBundle.h: 32748 Change the setting in existing pages, and override it for future ones. 32749 32750 * WebProcess/WebPage/WebPage.cpp: 32751 (WebKit::WebPage::WebPage): Take xssAuditorEnabled from preferences store. 32752 (WebKit::WebPage::preferencesDidChange): If preferences change, forget our override. This only 32753 happens in WKRT when the next test begins. 32754 32755 2010-08-31 Sam Weinig <sam (a] webkit.org> 32756 32757 Reviewed by Gavin Barraclough. 32758 32759 WebKitTestRunner needs layoutTestController.addUserStyleSheet 32760 https://bugs.webkit.org/show_bug.cgi?id=42680 32761 32762 WebKitTestRunner needs layoutTestController.addUserScript 32763 https://bugs.webkit.org/show_bug.cgi?id=42681 32764 32765 Improve UserContent APIs to allow passing null in the same places 32766 the WebKit1 API allowed. Add convenience function toWTFString to do 32767 WKStringRef conversion with correct null string behavior. 32768 32769 * UIProcess/API/C/WKAPICast.h: 32770 (toWTFString): 32771 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 32772 (WKBundleAddUserScript): 32773 (WKBundleAddUserStyleSheet): 32774 (WKBundleRemoveUserScript): 32775 (WKBundleRemoveUserStyleSheet): 32776 * WebProcess/InjectedBundle/InjectedBundle.cpp: 32777 (WebKit::toStringVector): 32778 32779 2010-08-31 Steve Falkenburg <sfalken (a] apple.com> 32780 32781 Rubber stamped by Sam Weinig. 32782 32783 Remove library directive from def file to fix Debug_All build. 32784 32785 * win/WebKit2.def: 32786 32787 2010-08-31 Adam Roben <aroben (a] apple.com> 32788 32789 Handle WM_PRINTCLIENT in WebKit2 on Windows 32790 32791 Reviewed by Sam Weinig. 32792 32793 * UIProcess/win/WebView.cpp: 32794 (WebKit::WebView::wndProc): Call through to onPrintClientEvent when we 32795 get a WM_PRINTCLIENT message. 32796 (WebKit::WebView::onPrintClientEvent): Added. Paints the entire view 32797 into the HDC provided by Windows. 32798 32799 * UIProcess/win/WebView.h: Added onPrintClientEvent. 32800 32801 2010-08-27 Adam Roben <aroben (a] apple.com> 32802 32803 Don't send messages to the injected bundle if the web process has 32804 exited 32805 32806 Fixes <http://webkit.org/b/43046> <rdar://problem/8239455> Crash in 32807 WKContextPostMessageToInjectedBundle if the web process has exited 32808 32809 Reviewed by Sam Weinig. 32810 32811 * UIProcess/WebContext.cpp: 32812 (WebKit::WebContext::postMessageToInjectedBundle): Only send messages 32813 when we have a valid web process. 32814 32815 2010-08-27 Adam Roben <aroben (a] apple.com> 32816 32817 Use the Windows thread pool instead of a dedicated thread for 32818 WorkQueue on Windows 32819 32820 WorkQueue now uses ::RegisterWaitForSingleObject to find out when work 32821 items need to be executed. This causes Windows to wait on the objects 32822 on a thread pool wait thread, and then to spawn a thread pool worker 32823 thread when an object is signaled. This is more efficient than using 32824 our own dedicated thread to perform the wait and the work because 32825 multiple WorkQueues (and even other parts of WebKit or other modules) 32826 can all share the same wait thread and worker thread pool. 32827 32828 Each time WorkQueue::m_performWorkEvent or any handle in 32829 WorkQueue::m_handles is signaled, a worker thread will be spawned. 32830 To maintain WorkQueue's serial nature, only one worker thread is 32831 allowed to perform work items at a time. (The worker thread that is 32832 actually performing work items is called the queue's "work thread".) 32833 To accomplish this, worker threads must register as the queue's work 32834 thread before performing work items. 32835 WorkQueue::m_isWorkThreadRegistered is used as an atomic guard to make 32836 sure that only one worker thread is registered at a time. 32837 32838 Fixes <http://webkit.org/b/43150> <rdar://problem/8247280>. 32839 32840 Reviewed by Anders Carlsson. 32841 32842 * Platform/WorkQueue.h: 32843 - Added the WorkItemWin class, which is used to wrap WorkItems for 32844 WorkQueue's Windows implementation 32845 - Changed m_workItemQueue and m_handles to hold 32846 RefPtr<WorkItemWin>s 32847 - Replaced "work queue thread"-related members with new members that 32848 handle our thread pool code 32849 32850 * Platform/win/WorkQueueWin.cpp: 32851 (WorkQueue::WorkItemWin::WorkItemWin): 32852 (WorkQueue::WorkItemWin::create): 32853 Added simple constructor/creator. 32854 32855 (WorkQueue::handleCallback): Added. This function is called whenever a 32856 handle in WorkQueue::m_handles is signaled. We add the WorkItemWin 32857 that corresponds to the handle (passed via the context parameter) to 32858 the work item queue, then try to register as the work thread and 32859 perform any queued work. If another thread is already registered as 32860 the work thread, we just exit and let that thread handle the work we 32861 queued. 32862 (WorkQueue::registerHandle): Changed to wrap the WorkItem in a 32863 WorkItemWin, and to use ::RegisterWaitForSingleObject to wait on the 32864 handle. 32865 (WorkQueue::eventCallback): Added. This function is called whenever 32866 m_performWorkEvent is signaled. We try to register as the work thread 32867 and perfom any queued work. If another thread is already registered as 32868 the work thread, we just exit and let that thread handle the work. 32869 (WorkQueue::performWorkOnRegisteredWorkThread): Added. Performs any 32870 queued work in a loop until either the queue becomes invalid or no 32871 work is left to perform. Unregisters as the work thread before exiting 32872 so that other threads can perform work in the future. 32873 (WorkQueue::platformInitialize): Added initialization of 32874 m_isWorkThreadRegistered. Replaced code to spawn the old work queue 32875 thread with a call to ::RegisterWaitForSingleObject so that a worker 32876 thread from the thread pool will be spawned when m_performWorkEvent is 32877 signaled. 32878 (WorkQueue::tryRegisterAsWorkThread): Added. Attempts an atomic 32879 compare-and-swap to change m_isWorkThreadRegistered from 0 to 1. If 32880 sucessful, we return true to indicate that this thread is now 32881 registered as the work thread. 32882 (WorkQueue::unregisterAsWorkThread): Added. Uses an atomic 32883 compare-and-swap to change m_isWorkThreadRegistered back from 1 to 0. 32884 (WorkQueue::scheduleWork): Changed to wrap the WorkItem in a 32885 WorkItemWin. Also added an optimization to avoid signaling 32886 m_performWorkEvent when a work thread is already performing work, as 32887 it will pick up the item we just queued without us having to do 32888 anything. 32889 32890 2010-08-31 Csaba Osztrogonc <ossy (a] webkit.org> 32891 32892 Reviewed by Antonio Gomes. 32893 32894 [Qt] Fix warnings in WebKit2 directory 32895 https://bugs.webkit.org/show_bug.cgi?id=44593 32896 32897 * Platform/CoreIPC/qt/ConnectionQt.cpp: Mark unused variables for compiler. 32898 (CoreIPC::Connection::readyReadHandler): 32899 (CoreIPC::Connection::sendOutgoingMessage): 32900 * Shared/qt/WebEventFactoryQt.cpp: 32901 (WebKit::WebEventFactory::createWebTouchEvent): Initialize state variable. Default case added. 32902 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: 32903 (WebKit::toNP): Return initialized NPEvent. 32904 32905 2010-08-31 Andras Becsi <abecsi (a] webkit.org> 32906 32907 Reviewed by Antonio Gomes. 32908 32909 [Qt] Determine application path of MiniBrowser at runtime and use that path 32910 for QtWebProcess if the executable exists in that path. 32911 32912 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 32913 (WebKit::ProcessLauncherHelper::launch): 32914 32915 2010-08-31 Zoltan Horvath <zoltan (a] webkit.org> 32916 32917 Build fix after r66448 on WebKit2. 32918 32919 [Qt] qt_wk_didFinishDocumentLoadForFrame needs to be implemented 32920 https://bugs.webkit.org/show_bug.cgi?id=44934 32921 32922 * UIProcess/API/qt/ClientImpl.cpp: 32923 (qt_wk_didFinishDocumentLoadForFrame): 32924 * UIProcess/API/qt/ClientImpl.h: 32925 32926 2010-08-30 Alice Liu <alice.liu (a] apple.com> 32927 32928 Reviewed by Darin Adler. 32929 32930 Add missing parts of didFinishDocumentLoadForFrame 32931 https://bugs.webkit.org/show_bug.cgi?id=44913 32932 32933 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added new kind 32934 * UIProcess/API/C/WKPage.h: 32935 * UIProcess/API/qt/qwkpage.cpp: 32936 (QWKPage::QWKPage): Updated struct 32937 * UIProcess/WebLoaderClient.cpp: 32938 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): Added 32939 * UIProcess/WebLoaderClient.h: 32940 * UIProcess/WebPageProxy.cpp: 32941 (WebKit::WebPageProxy::didReceiveMessage): Added case for WebPageProxyMessage::DidFinishDocumentLoadForFrame 32942 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Added 32943 * UIProcess/WebPageProxy.h: 32944 32945 Just rearranging existing code in these: 32946 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 32947 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 32948 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): 32949 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 32950 32951 2010-08-30 Sam Weinig <sam (a] webkit.org> 32952 32953 Try and fix the WebKit2 buildbot. 32954 32955 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 32956 (InitWebCoreSystemInterface): Add missing initialization of QTMovieDisableComponent. 32957 32958 2010-08-30 Sam Weinig <sam (a] webkit.org> 32959 32960 Reviewed by Anders Carlsson. 32961 32962 Add URLRequest API for WebKit2 32963 https://bugs.webkit.org/show_bug.cgi?id=44910 32964 32965 Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now, 32966 instance of WKURLRequestRef are manipulated via platform types, a la the 32967 WKStringRef and WKURLRef types. 32968 32969 - Pipes WKPageLoadURLRequest through to the WebProcess. 32970 32971 * Shared/APIObject.h: 32972 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 32973 * Shared/WebCoreArgumentCoders.h: 32974 * Shared/WebURLRequest.cpp: Added. 32975 (WebKit::WebURLRequest::WebURLRequest): 32976 * Shared/WebURLRequest.h: Added. 32977 (WebKit::WebURLRequest::create): 32978 (WebKit::WebURLRequest::resourceRequest): 32979 (WebKit::WebURLRequest::type): 32980 * Shared/mac/WebCoreArgumentCodersMac.mm: Added. 32981 (CoreIPC::encodeResourceRequest): 32982 (CoreIPC::decodeResourceRequest): 32983 * Shared/mac/WebURLRequestMac.mm: Added. 32984 (WebKit::WebURLRequest::WebURLRequest): 32985 (WebKit::WebURLRequest::platformRequest): 32986 * Shared/qt/WebCoreArgumentCodersQt.cpp: Added. 32987 (CoreIPC::encodeResourceRequest): 32988 (CoreIPC::decodeResourceRequest): 32989 * Shared/qt/WebURLRequestQt.cpp: Added. 32990 (WebKit::WebURLRequest::WebURLRequest): 32991 (WebKit::WebURLRequest::platformRequest): 32992 * Shared/win/WebCoreArgumentCodersWin.cpp: Added. 32993 (CoreIPC::encodeResourceRequest): 32994 (CoreIPC::decodeResourceRequest): 32995 * Shared/win/WebURLRequestWin.cpp: Added. 32996 (WebKit::WebURLRequest::WebURLRequest): 32997 (WebKit::WebURLRequest::platformRequest): 32998 * UIProcess/API/C/WKAPICast.h: 32999 * UIProcess/API/C/WKBase.h: 33000 * UIProcess/API/C/WKPage.cpp: 33001 (WKPageLoadURLRequest): 33002 * UIProcess/API/C/WKPage.h: 33003 * UIProcess/API/C/WKURLRequest.cpp: Added. 33004 (WKURLRequestGetTypeID): 33005 * UIProcess/API/C/WKURLRequest.h: Added. 33006 * UIProcess/API/C/WebKit2.h: 33007 * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added. 33008 (WKURLRequestCreateWithCFURLRequest): 33009 (WKURLRequestCopyCFURLRequest): 33010 * UIProcess/API/C/cf/WKURLRequestCF.h: Added. 33011 * UIProcess/API/C/mac: Added. 33012 * UIProcess/API/C/mac/WKURLRequestNS.h: Added. 33013 * UIProcess/API/C/mac/WKURLRequestNS.mm: Added. 33014 (WKURLRequestCreateWithNSURLRequest): 33015 (WKURLRequestCopyNSURLRequest): 33016 * UIProcess/WebPageProxy.cpp: 33017 (WebKit::WebPageProxy::loadURL): 33018 (WebKit::WebPageProxy::loadURLRequest): 33019 * UIProcess/WebPageProxy.h: 33020 * WebKit2.pro: 33021 * WebKit2.xcodeproj/project.pbxproj: 33022 * WebProcess/WebPage/WebPage.cpp: 33023 (WebKit::WebPage::loadURL): 33024 (WebKit::WebPage::loadURLRequest): 33025 (WebKit::WebPage::didReceiveMessage): 33026 * WebProcess/WebPage/WebPage.h: 33027 * win/WebKit2.vcproj: 33028 * win/WebKit2Generated.make: 33029 33030 2010-08-30 Anders Carlsson <andersca (a] apple.com> 33031 33032 Reviewed by Sam Weinig. 33033 33034 WorkQueue leaks its dispatch queue 33035 <rdar://problem/8358509> 33036 https://bugs.webkit.org/show_bug.cgi?id=44689 33037 33038 * Platform/mac/WorkQueueMac.cpp: 33039 (WorkQueue::platformInvalidate): 33040 33041 2010-08-27 Sam Weinig <sam (a] webkit.org> 33042 33043 Reviewed by Dan Bernstein. 33044 33045 Add UserContent API to WebKit2 InjectedBundle 33046 <rdar://problem/8367587> 33047 https://bugs.webkit.org/show_bug.cgi?id=44810 33048 33049 The new API differs from the version in WebKit1 in that the function do not take 33050 a group name since we currently do not expose a way to make multiple PageGroups in 33051 the API. 33052 33053 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 33054 (toUserScriptInjectionTime): 33055 (toUserContentInjectedFrames): 33056 Add conversion functions for enums. 33057 33058 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 33059 (WKBundleAddUserScript): 33060 (WKBundleAddUserStyleSheet): 33061 (WKBundleRemoveUserScript): 33062 (WKBundleRemoveUserStyleSheet): 33063 (WKBundleRemoveUserScripts): 33064 (WKBundleRemoveUserStyleSheets): 33065 (WKBundleRemoveAllUserContent): 33066 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 33067 * WebProcess/InjectedBundle/InjectedBundle.cpp: 33068 (WebKit::toStringVector): 33069 (WebKit::InjectedBundle::addUserScript): 33070 (WebKit::InjectedBundle::addUserStyleSheet): 33071 (WebKit::InjectedBundle::removeUserScript): 33072 (WebKit::InjectedBundle::removeUserStyleSheet): 33073 (WebKit::InjectedBundle::removeUserScripts): 33074 (WebKit::InjectedBundle::removeUserStyleSheets): 33075 (WebKit::InjectedBundle::removeAllUserContent): 33076 * WebProcess/InjectedBundle/InjectedBundle.h: 33077 Forward API to PageGroup. 33078 33079 * WebProcess/WebProcess.cpp: 33080 (WebKit::WebProcess::sharedPageGroup): 33081 (WebKit::WebProcess::visitedLinkStateChanged): 33082 (WebKit::WebProcess::allVisitedLinkStateChanged): 33083 * WebProcess/WebProcess.h: Ad accessor for global PageGroup. 33084 33085 2010-08-27 Sam Weinig <sam (a] webkit.org> 33086 33087 Reviewed by Gavin Barraclough. 33088 33089 Move WKBundle didCreatePage callback to outside the WebPage 33090 constructor to avoid adoptRef errors. 33091 33092 * WebProcess/WebPage/WebPage.cpp: 33093 (WebKit::WebPage::create): 33094 (WebKit::WebPage::WebPage): 33095 33096 2010-08-27 Brady Eidson <beidson (a] apple.com> 33097 33098 Reviewed by Sam Weinig. 33099 33100 <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate 33101 33102 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 33103 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously, 33104 without consulting the policy delegate. 33105 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto. 33106 33107 2010-08-27 Adam Roben <aroben (a] apple.com> 33108 33109 Handle ERROR_IO_INCOMPLETE more correctly in Connection 33110 33111 We still don't know exactly why we're getting this error, but at least 33112 we can do something sensible when we do. 33113 33114 Fixes <http://webkit.org/b/44776> Occasional crash in 33115 Connection::readEventHandler or assertion failure in 33116 Connection::writeEventHandler due to ERROR_IO_INCOMPLETE 33117 33118 Reviewed by Sam Weinig. 33119 33120 * Platform/CoreIPC/win/ConnectionWin.cpp: 33121 (CoreIPC::Connection::readEventHandler): Bail out of this function 33122 entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later 33123 when the read completes. Continuing in the function at this point 33124 would cause us to treat an incomplete read as a complete one, leading 33125 to a crash. Added an assertion to make the crash more understandable 33126 in the future. 33127 (CoreIPC::Connection::writeEventHandler): Bail out when we get 33128 ERROR_IO_INCOMPLETE. We'll get called back later when the write 33129 completes. 33130 33131 2010-08-27 Adam Roben <aroben (a] apple.com> 33132 33133 Make the web process pause on launch when the 33134 WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set 33135 33136 This is a bit easier to use than holding Ctrl-Alt-Shift during launch, 33137 since the process can sometimes take a long time to launch under the 33138 debugger. Ctrl-Alt-Shift still works, however. 33139 33140 Fixes <http://webkit.org/b/44774> Would like an easier way to pause 33141 the web process on launch 33142 33143 Reviewed by Sam Weinig. 33144 33145 * WebProcess/WebKitMain.cpp: 33146 (WebKitMain): 33147 33148 2010-08-27 Sam Weinig <sam (a] webkit.org> 33149 33150 Rubber-stamped by Adam Roben. 33151 33152 * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public. 33153 33154 2010-08-26 Daniel Bates <dbates (a] rim.com> 33155 33156 Attempt to fix the Qt WebKit2 build. 33157 33158 * WebProcess/WebPage/qt/WebPageQt.cpp: 33159 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll() 33160 instead of m_page since it expects a raw pointer. 33161 33162 2010-08-26 Gavin Barraclough <barraclough (a] apple.com> 33163 33164 Speculative windows build fix. 33165 33166 * UIProcess/win/WebView.cpp: 33167 (WebKit::WebView::WebView): 33168 33169 2010-08-26 Sam Weinig <sam (a] webkit.org> 33170 33171 Reviewed by Darin Adler. 33172 33173 Adopt more uses OwnPtr/OwnArray in WebKit2. 33174 https://bugs.webkit.org/show_bug.cgi?id=44728 33175 33176 Also clears up weird create vs. adoption semantics. Now both create 33177 and adopt both don't ref their pointers, adoption is just about the 33178 buffer. 33179 33180 * Shared/ImmutableArray.cpp: 33181 (WebKit::ImmutableArray::ImmutableArray): 33182 (WebKit::ImmutableArray::~ImmutableArray): 33183 * Shared/ImmutableArray.h: 33184 (WebKit::ImmutableArray::adopt): 33185 * Shared/ImmutableDictionary.cpp: 33186 (WebKit::ImmutableDictionary::keys): 33187 * Shared/WebData.h: 33188 * UIProcess/API/mac/PageClientImpl.h: 33189 * UIProcess/API/mac/PageClientImpl.mm: 33190 (WebKit::PageClientImpl::create): 33191 * UIProcess/API/mac/WKView.mm: 33192 (-[WKView initWithFrame:pageNamespaceRef:]): 33193 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]): 33194 * UIProcess/API/qt/qgraphicswkview.cpp: 33195 (QGraphicsWKView::QGraphicsWKView): 33196 * UIProcess/API/qt/qwkpage.cpp: 33197 (QWKPagePrivate::init): 33198 * UIProcess/API/qt/qwkpage_p.h: 33199 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 33200 (WebKit::ChunkedUpdateDrawingAreaProxy::create): 33201 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 33202 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 33203 (WebKit::LayerBackedDrawingAreaProxy::create): 33204 * UIProcess/LayerBackedDrawingAreaProxy.h: 33205 * UIProcess/WebBackForwardList.cpp: 33206 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 33207 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 33208 * UIProcess/WebContext.cpp: 33209 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 33210 * WebProcess/InjectedBundle/InjectedBundle.cpp: 33211 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 33212 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 33213 (WebKit::WebChromeClient::createPopupMenu): 33214 (WebKit::WebChromeClient::createSearchPopupMenu): 33215 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 33216 (WebKit::WebPopupMenu::create): 33217 * WebProcess/WebCoreSupport/WebPopupMenu.h: 33218 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 33219 (WebKit::WebSearchPopupMenu::create): 33220 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): 33221 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: 33222 * WebProcess/WebPage/WebFrame.cpp: 33223 (WebKit::WebFrame::childFrames): 33224 * WebProcess/WebPage/WebPage.cpp: 33225 (WebKit::WebPage::WebPage): 33226 (WebKit::WebPage::close): 33227 * WebProcess/WebPage/WebPage.h: 33228 (WebKit::WebPage::corePage): 33229 * WebProcess/WebPage/mac/WebPageMac.mm: 33230 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 33231 * WebProcess/WebPage/win/WebPageWin.cpp: 33232 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 33233 33234 2010-08-26 Alexey Proskuryakov <ap (a] apple.com> 33235 33236 Reviewed by Sam Weinig. 33237 33238 https://bugs.webkit.org/show_bug.cgi?id=44726 33239 <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed 33240 33241 Since frames can be moved across documents, they are not really a Page level concept. 33242 Moved frame tracking to WebProcess/WebProcessProxy. 33243 33244 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 33245 (WebProcessProxyMessage::): 33246 * UIProcess/WebPageProxy.cpp: 33247 (WebKit::WebPageProxy::close): 33248 (WebKit::WebPageProxy::getStatistics): 33249 (WebKit::WebPageProxy::didReceiveMessage): 33250 (WebKit::WebPageProxy::didReceiveSyncMessage): 33251 (WebKit::WebPageProxy::didCreateMainFrame): 33252 (WebKit::WebPageProxy::didCreateSubFrame): 33253 (WebKit::WebPageProxy::processDidExit): 33254 * UIProcess/WebPageProxy.h: 33255 * UIProcess/WebProcessProxy.cpp: 33256 (WebKit::WebProcessProxy::didReceiveMessage): 33257 (WebKit::WebProcessProxy::didReceiveSyncMessage): 33258 (WebKit::WebProcessProxy::didClose): 33259 (WebKit::WebProcessProxy::webFrame): 33260 (WebKit::WebProcessProxy::frameCreated): 33261 (WebKit::WebProcessProxy::frameDestroyed): 33262 (WebKit::WebProcessProxy::disconnectFramesFromPage): 33263 (WebKit::WebProcessProxy::frameCountInPage): 33264 * UIProcess/WebProcessProxy.h: 33265 * WebProcess/WebPage/WebFrame.cpp: 33266 (WebKit::WebFrame::WebFrame): 33267 (WebKit::WebFrame::invalidate): 33268 * WebProcess/WebPage/WebPage.cpp: 33269 (WebKit::WebPage::didReceiveMessage): 33270 * WebProcess/WebPage/WebPage.h: 33271 * WebProcess/WebProcess.cpp: 33272 (WebKit::WebProcess::webFrame): 33273 (WebKit::WebProcess::addWebFrame): 33274 (WebKit::WebProcess::removeWebFrame): 33275 * WebProcess/WebProcess.h: 33276 33277 2010-08-26 Sam Weinig <sam (a] webkit.org> 33278 33279 Reviewed by Darin Adler. 33280 33281 Add PassOwnArrayPtr 33282 https://bugs.webkit.org/show_bug.cgi?id=44627 33283 33284 * UIProcess/WebContext.cpp: 33285 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 33286 * WebProcess/InjectedBundle/InjectedBundle.cpp: 33287 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 33288 33289 2010-08-26 Peter Kasting <pkasting (a] google.com> 33290 33291 Reviewed by Dimitri Glazkov. 33292 33293 Misc. cleanup split off from bug 32356. 33294 https://bugs.webkit.org/show_bug.cgi?id=44696 33295 33296 * WebProcess/WebPage/qt/WebPageQt.cpp: 33297 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 33298 33299 2010-08-25 Brent Fulgham <bfulgham (a] webkit.org> 33300 33301 Build fix, no review. 33302 33303 Add conditional guards around Safari-specific 33304 include files. 33305 33306 * WebProcess/WebPage/win/WebPageWin.cpp: 33307 33308 2010-08-25 Adam Roben <aroben (a] apple.com> 33309 33310 Clean up Connection::open on Windows 33311 33312 Fixes <http://webkit.org/b/44185>. 33313 33314 Reviewed by Steve Falkenburg. 33315 33316 * Platform/CoreIPC/win/ConnectionWin.cpp: 33317 (CoreIPC::Connection::platformInitialize): Set m_isConnected to true 33318 since the pipe got connected before it was even given to us. 33319 (CoreIPC::Connection::readEventHandler): Removed code that will never 33320 run now that m_isConnected is always true when this function is 33321 called. Since no outgoing messages will have been queued before 33322 m_isConnected is set to true, there's no need to send them explicitly 33323 here; they'll get sent as they're queued. 33324 (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe, 33325 since the pipe is already connected by this point. Changed to schedule 33326 a read in the server and client the same way (rather than using 33327 ::SetEvent in the server). 33328 33329 2010-08-19 Adam Roben <aroben (a] apple.com> 33330 33331 Call NP_GetEntryPoints before NP_Initialize on Windows 33332 33333 Doing otherwise will cause Flash and QuickTime to crash inside 33334 NP_Initialize. 33335 33336 Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in 33337 NP_Initialize when loading QuickTime when running 33338 plugins/embed-attributes-setting.html in WebKit2 on Windows 33339 33340 Reviewed by John Sullivan. 33341 33342 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 33343 (WebKit::NetscapePluginModule::tryLoad): On Windows, first call 33344 NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to 33345 prevent Silverlight (e.g.) from crashing (see r38858). 33346 33347 2010-08-25 Balazs Kelemen <kb (a] inf.u-szeged.hu> 33348 33349 Reviewed by Kenneth Rohde Christiansen. 33350 33351 [Qt] Implement WebKit::Module for qt 33352 https://bugs.webkit.org/show_bug.cgi?id=44527 33353 33354 * Platform/Module.h: 33355 * Platform/qt/ModuleQt.cpp: 33356 (WebKit::Module::load): 33357 (WebKit::Module::unload): 33358 (WebKit::Module::platformFunctionPointer): 33359 33360 2010-08-24 Sam Weinig <sam (a] webkit.org> 33361 33362 Reviewed by Mark Rowe. 33363 33364 WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode 33365 <rdar://problem/8348100> 33366 https://bugs.webkit.org/show_bug.cgi?id=44537 33367 33368 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 33369 (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np 33370 to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess 33371 is running in 32-bit mode. 33372 33373 2010-08-24 Mark Rowe <mrowe (a] apple.com> 33374 33375 Rubber-stamped by Sam Weinig. 33376 33377 Set the install path of WebKit2.framework to the build directory for debug and release builds 33378 to match our other frameworks. 33379 33380 * WebKit2.xcodeproj/project.pbxproj: 33381 33382 2010-08-24 Sam Weinig <sam (a] webkit.org> 33383 33384 Reviewed by John Sullivan. 33385 33386 Update profile. 33387 33388 * WebProcess/com.apple.WebProcess.sb: 33389 33390 2010-08-23 Darin Adler <darin (a] apple.com> 33391 33392 Reviewed by Geoff Garen. 33393 33394 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: 33395 (WKBundleNodeGetParent): Update since parent now returns a 33396 ContainerNode*. The toRef function is a bit too picky to convert 33397 it without a bit of help. 33398 33399 2010-08-23 Sheriff Bot <webkit.review.bot (a] gmail.com> 33400 33401 Unreviewed, rolling out r65703. 33402 http://trac.webkit.org/changeset/65703 33403 https://bugs.webkit.org/show_bug.cgi?id=44460 33404 33405 "Causing lots of crashes on Snow Leopard when running the 33406 layout tests" (Requested by eseidel2 on #webkit). 33407 33408 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 33409 (WebKit::NetscapePluginModule::tryLoad): 33410 33411 2010-08-23 Jon Honeycutt <jhoneycutt (a] apple.com> 33412 33413 Layout tests do not run when using WebKitTestRunner in a Debug build. 33414 https://bugs.webkit.org/show_bug.cgi?id=44409 33415 33416 Reviewed by Dan Bernstein. 33417 33418 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 33419 (WebKit::ProcessLauncher::launchProcess): 33420 Use WebKit2WebProcess_debug.exe when building Debug. 33421 33422 2010-08-23 Daniel Bates <dbates (a] rim.com> 33423 33424 Rubber-stamped by Adam Roben. 33425 33426 Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when 33427 extracting the JavaScript code portion of a JavaScript URL so as to make 33428 it clearer that the 11 represents the length of the scheme portion of 33429 a JavaScript URL. 33430 33431 * WebProcess/Plugins/PluginView.cpp: 33432 (WebKit::PluginView::performJavaScriptURLRequest): 33433 33434 2010-08-23 Balazs Kelemen <kb (a] inf.u-szeged.hu> 33435 33436 Reviewed by Ariya Hidayat. 33437 33438 [Qt] Find needed forwarding headers for WebKit2 automatically 33439 https://bugs.webkit.org/show_bug.cgi?id=44336 33440 33441 * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating 33442 the list of forwarding headers we want to create. 33443 33444 2010-08-23 Zoltan Horvath <zoltan (a] webkit.org> 33445 33446 [Qt] Build fix. 33447 33448 * DerivedSources.pro: 33449 * WebKit2.pro: 33450 * WebProcess/Plugins/Netscape/qt: Added. 33451 * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added. 33452 (WebKit::NetscapePlugin::platformPostInitialize): 33453 (WebKit::NetscapePlugin::platformPaint): 33454 (WebKit::toNP): 33455 (WebKit::NetscapePlugin::platformHandleMouseEvent): 33456 (WebKit::NetscapePlugin::platformHandleWheelEvent): 33457 (WebKit::NetscapePlugin::platformSetFocus): 33458 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 33459 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 33460 33461 2010-08-22 Juha Savolainen <juha.savolainen (a] weego.fi> 33462 33463 Reviewed by Kenneth Rohde Christiansen. 33464 33465 [Qt] Add QTouchEvents support for WebKit2 33466 https://bugs.webkit.org/show_bug.cgi?id=44330 33467 33468 This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class 33469 is created for touchevents, WebTouchEvent. Also touchpoints needed a new 33470 class, WebPlatformTouchPoint. This is similar solution like in other 33471 events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h 33472 Also there was a need to create an empty constructor to PlatformTouchPoint-class. 33473 33474 * DerivedSources.pro: 33475 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 33476 (WebPageMessage::): 33477 * Shared/WebEvent.h: 33478 (WebKit::WebEvent::): 33479 (WebKit::WebTouchPoint::): 33480 (WebKit::WebTouchPoint::WebTouchPoint): 33481 (WebKit::WebTouchPoint::id): 33482 (WebKit::WebTouchPoint::state): 33483 (WebKit::WebTouchPoint::screenPosX): 33484 (WebKit::WebTouchPoint::screenPosY): 33485 (WebKit::WebTouchPoint::posX): 33486 (WebKit::WebTouchPoint::posY): 33487 (WebKit::WebTouchPoint::setState): 33488 (WebKit::WebTouchPoint::encode): 33489 (WebKit::WebTouchPoint::decode): 33490 (WebKit::WebTouchEvent::WebTouchEvent): 33491 (WebKit::WebTouchEvent::type): 33492 (WebKit::WebTouchEvent::touchPoints): 33493 (WebKit::WebTouchEvent::encode): 33494 (WebKit::WebTouchEvent::decode): 33495 (WebKit::WebTouchEvent::isTouchEventType): 33496 * Shared/WebEventConversion.cpp: 33497 (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint): 33498 (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): 33499 (WebKit::platform): 33500 * Shared/WebEventConversion.h: 33501 * Shared/qt/WebEventFactoryQt.cpp: 33502 (WebKit::webEventTypeForEvent): 33503 (WebKit::WebEventFactory::createWebTouchEvent): 33504 * Shared/qt/WebEventFactoryQt.h: 33505 * UIProcess/API/qt/qgraphicswkview.cpp: 33506 (QGraphicsWKView::event): 33507 (QGraphicsWKView::touchEvent): 33508 * UIProcess/API/qt/qgraphicswkview.h: 33509 * UIProcess/API/qt/qwkpage.cpp: 33510 (QWKPagePrivate::touchEvent): 33511 * UIProcess/API/qt/qwkpage_p.h: 33512 * UIProcess/WebPageProxy.cpp: 33513 (WebKit::WebPageProxy::touchEvent): 33514 * UIProcess/WebPageProxy.h: 33515 * WebProcess/WebPage/WebPage.cpp: 33516 (WebKit::WebPage::touchEvent): 33517 (WebKit::WebPage::didReceiveMessage): 33518 * WebProcess/WebPage/WebPage.h: 33519 33520 2010-08-21 Sam Weinig <sam (a] webkit.org> 33521 33522 Reviewed by Dan Bernstein. 33523 33524 Remove specialized retain/release functions in favor of a single one for WKTypeRefs 33525 https://bugs.webkit.org/show_bug.cgi?id=44386 33526 33527 * UIProcess/API/C/WKArray.cpp: 33528 (WKArrayGetSize): 33529 * UIProcess/API/C/WKArray.h: 33530 * UIProcess/API/C/WKBackForwardList.cpp: 33531 (WKBackForwardListCopyForwardListWithLimit): 33532 * UIProcess/API/C/WKBackForwardList.h: 33533 * UIProcess/API/C/WKBackForwardListItem.cpp: 33534 (WKBackForwardListItemCopyTitle): 33535 * UIProcess/API/C/WKBackForwardListItem.h: 33536 * UIProcess/API/C/WKBase.h: 33537 * UIProcess/API/C/WKContext.cpp: 33538 * UIProcess/API/C/WKContext.h: 33539 * UIProcess/API/C/WKData.cpp: 33540 (WKDataGetSize): 33541 * UIProcess/API/C/WKData.h: 33542 * UIProcess/API/C/WKDictionary.cpp: 33543 (WKDictionaryCopyKeys): 33544 * UIProcess/API/C/WKDictionary.h: 33545 * UIProcess/API/C/WKError.h: 33546 * UIProcess/API/C/WKFormSubmissionListener.cpp: 33547 (WKFormSubmissionListenerContinue): 33548 * UIProcess/API/C/WKFormSubmissionListener.h: 33549 * UIProcess/API/C/WKFrame.cpp: 33550 (WKFrameGetPage): 33551 * UIProcess/API/C/WKFrame.h: 33552 * UIProcess/API/C/WKFramePolicyListener.cpp: 33553 (WKFramePolicyListenerIgnore): 33554 * UIProcess/API/C/WKFramePolicyListener.h: 33555 * UIProcess/API/C/WKNavigationData.cpp: 33556 (WKNavigationDataCopyURL): 33557 * UIProcess/API/C/WKNavigationData.h: 33558 * UIProcess/API/C/WKPage.cpp: 33559 * UIProcess/API/C/WKPage.h: 33560 * UIProcess/API/C/WKPageNamespace.cpp: 33561 (WKPageNamespaceGetContext): 33562 * UIProcess/API/C/WKPageNamespace.h: 33563 * UIProcess/API/C/WKPreferences.cpp: 33564 (WKPreferencesCreate): 33565 (WKPreferencesGetLocalStorageEnabled): 33566 * UIProcess/API/C/WKPreferences.h: 33567 * UIProcess/API/C/WKString.cpp: 33568 * UIProcess/API/C/WKString.h: 33569 * UIProcess/API/C/WKType.cpp: 33570 (WKRetain): 33571 (WKRelease): 33572 * UIProcess/API/C/WKType.h: 33573 * UIProcess/API/C/WKURL.cpp: 33574 (WKURLGetTypeID): 33575 * UIProcess/API/C/WKURL.h: 33576 * UIProcess/API/cpp/WKRetainPtr.h: 33577 * UIProcess/API/win/WKView.cpp: 33578 * UIProcess/API/win/WKView.h: 33579 * UIProcess/WebPreferences.cpp: 33580 (WebKit::WebPreferences::shared): 33581 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: 33582 (WKBundleNodeHandleGetTypeID): 33583 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: 33584 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: 33585 (WKBundleScriptWorldNormalWorld): 33586 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: 33587 33588 2010-08-20 Balazs Kelemen <kb (a] inf.u-szeged.hu> 33589 33590 Reviewed by Antonio Gomes. 33591 33592 [Qt] Implement cursor change in WebKit2 33593 https://bugs.webkit.org/show_bug.cgi?id=44263 33594 33595 Implemented PageClient::setCursor. 33596 * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal. 33597 (QGraphicsWKView::QGraphicsWKView): 33598 (QGraphicsWKView::updateCursor): Sets the cursor of the widget. 33599 * UIProcess/API/qt/qgraphicswkview.h: 33600 * UIProcess/API/qt/qwkpage.cpp: 33601 (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage. 33602 * UIProcess/API/qt/qwkpage.h: Added setCursor signal. 33603 * UIProcess/API/qt/qwkpage_p.h: 33604 33605 2010-08-19 David Kilzer <ddkilzer (a] apple.com> 33606 33607 BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins 33608 33609 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 33610 (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to 33611 m_frameRect. 33612 33613 2010-08-19 Adam Roben <aroben (a] apple.com> 33614 33615 Send mouse events to windowless plugins on Windows 33616 33617 This seems to have been the last issue blocking us from playing videos 33618 on vimeo.com. 33619 33620 Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click 33621 play button in vimeo.com Flash video player in WebKit2 on Windows 33622 33623 Reviewed by Sam Weinig. 33624 33625 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 33626 (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code 33627 was adapted from WebCore's PluginViewWin.cpp. 33628 33629 (WebKit::NetscapePlugin::platformHandleMouseEvent): 33630 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 33631 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 33632 Convert the WebMouseEvent to an NPEvent and send it to the plugin. 33633 33634 2010-08-19 Adam Roben <aroben (a] apple.com> 33635 33636 Add support for painting windowless plugins on Windows 33637 33638 This gets the video on the front page of vimeo.com painting (though 33639 you can't make it play because we don't support mouse events yet). 33640 33641 Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless 33642 plugins don't paint in WebKit2 on Windows 33643 33644 Reviewed by Sam Weinig. 33645 33646 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 33647 (WebKit::NPN_GetValue): Tell the plugin that we support windowless 33648 mode on Windows. 33649 (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool 33650 by calling through to NetscapePlugin::setIsWindowed. 33651 33652 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 33653 (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of 33654 m_isWindowed. It defaults to false on Mac and true on other platforms, 33655 matching WebCore's PluginView. 33656 33657 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed. 33658 (WebKit::NetscapePlugin::setIsWindowed): Added standard setter. 33659 33660 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 33661 (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context 33662 translation code here from PluginView::paint. 33663 33664 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: 33665 (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported 33666 from WebCore's PluginViewWin.cpp. 33667 33668 * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint 33669 to explain the coordinate system of the context. 33670 33671 * WebProcess/Plugins/PluginView.cpp: 33672 (WebKit::PluginView::paint): Changed to translate the context from 33673 document to window coordinates. We were previously trying to translate 33674 to plugin-local coordinates, but this only worked for documents whose 33675 origin was the same as the window's origin (i.e., the main frame). The 33676 plugin takes care of any further translations needed. (Mac translates 33677 the context into plugin-local coordinates, and Windows leaves it in 33678 window coordinates.) 33679 33680 2010-08-19 Adam Roben <aroben (a] apple.com> 33681 33682 Implement PluginInfoStore::pluginsDirectories 33683 33684 This makes WebKit2 able to find and load Flash on Windows. 33685 33686 Note that we aren't yet respecting the MozillaPlugins registry key. 33687 That's covered by <http://webkit.org/b/44271>. 33688 33689 Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2 33690 should load plugins from the same directories as old-WebKit 33691 33692 Reviewed by Jon Honeycutt and Ada Chan. 33693 33694 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 33695 (WebKit::parseVersionString): 33696 (WebKit::compareVersions): 33697 (WebKit::safariPluginsDirectory): 33698 (WebKit::addMozillaPluginDirectories): 33699 (WebKit::addWindowsMediaPlayerPluginDirectory): 33700 (WebKit::addQuickTimePluginDirectory): 33701 (WebKit::addAdobeAcrobatPluginDirectory): 33702 (WebKit::addMacromediaPluginDirectories): 33703 (WebKit::PluginInfoStore::pluginsDirectories): 33704 Ported (and ever-so-slightly cleaned up) code from WebCore's 33705 PluginDatabaseWin.cpp. 33706 33707 2010-08-19 Adam Roben <aroben (a] apple.com> 33708 33709 Call NP_GetEntryPoints before NP_Initialize on Windows 33710 33711 Doing otherwise will cause Flash and QuickTime to crash inside 33712 NP_Initialize. 33713 33714 Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in 33715 NP_Initialize when loading QuickTime when running 33716 plugins/embed-attributes-setting.html in WebKit2 on Windows 33717 33718 Reviewed by Sam Weinig. 33719 33720 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 33721 (WebKit::NetscapePluginModule::tryLoad): On Windows, first call 33722 NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to 33723 prevent Silverlight (e.g.) from crashing (see r38858). 33724 33725 2010-08-19 Adam Roben <aroben (a] apple.com> 33726 33727 Add NetscapePluginWin.cpp 33728 33729 Fixes <http://webkit.org/b/44269> <rdar://problem/8330391> 33730 NetscapePlugin.h contains functions that should be in 33731 NetscapePluginWin.cpp 33732 33733 Reviewed by Sam Weinig. 33734 33735 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from 33736 here... 33737 * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here. 33738 33739 * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder 33740 the file list. 33741 33742 2010-08-19 Sam Weinig <sam (a] webkit.org> 33743 33744 Reviewed by Adam Roben. 33745 33746 Add modifier key info to policy client functions in WebKit2 33747 <rdar://problem/8185298> 33748 https://bugs.webkit.org/show_bug.cgi?id=44280 33749 33750 * UIProcess/API/C/WKAPICast.h: 33751 Add conversion function for modifiers and rename an incorrectly named 33752 toWK to toRef. 33753 33754 * UIProcess/API/C/WKPage.h: 33755 Add WKEventModifiers enum. 33756 33757 * UIProcess/WebPageProxy.cpp: 33758 (WebKit::WebPageProxy::didReceiveMessage): 33759 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 33760 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 33761 * UIProcess/WebPageProxy.h: 33762 * UIProcess/WebPolicyClient.cpp: 33763 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 33764 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 33765 * UIProcess/WebPolicyClient.h: 33766 Pipe through modifier info. 33767 33768 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 33769 (WebKit::modifiersForNavigationAction): 33770 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 33771 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 33772 Get modifier info out of the NavigationInfo class in the same manner as 33773 WebKit1. 33774 33775 2010-08-18 Sam Weinig <sam (a] webkit.org> 33776 33777 Reviewed by Adam Roben. 33778 33779 Add ability to get all the keys from a WKDictionaryRef 33780 https://bugs.webkit.org/show_bug.cgi?id=44221 33781 33782 * Shared/ImmutableDictionary.cpp: 33783 (WebKit::ImmutableDictionary::keys): 33784 * Shared/ImmutableDictionary.h: 33785 Add keys function. 33786 33787 * UIProcess/API/C/WKDictionary.cpp: 33788 (WKDictionaryCopyKeys): 33789 * UIProcess/API/C/WKDictionary.h: 33790 Wrap keys function. 33791 33792 2010-08-18 Sam Weinig <sam (a] webkit.org> 33793 33794 Reviewed by Jon Honeycutt. 33795 33796 Add ability to set custom userAgent for WebKit2 33797 https://bugs.webkit.org/show_bug.cgi?id=44215 33798 33799 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 33800 (WebPageMessage::): 33801 * UIProcess/API/C/WKPage.cpp: 33802 (WKPageSetCustomUserAgent): 33803 * UIProcess/API/C/WKPage.h: 33804 * UIProcess/WebPageProxy.cpp: 33805 (WebKit::WebPageProxy::setCustomUserAgent): 33806 * UIProcess/WebPageProxy.h: 33807 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 33808 (WebKit::WebFrameLoaderClient::userAgent): 33809 * WebProcess/WebPage/WebPage.cpp: 33810 (WebKit::WebPage::setCustomUserAgent): 33811 (WebKit::WebPage::userAgent): 33812 (WebKit::WebPage::didReceiveMessage): 33813 * WebProcess/WebPage/WebPage.h: 33814 33815 2010-08-18 Sam Weinig <sam (a] webkit.org> 33816 33817 Rubber-stamped by John Sullivan. 33818 33819 Make WKBundleNodeHandleRef usable from WKRetainPtr. 33820 33821 * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public. 33822 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads. 33823 33824 2010-08-18 Zoltan Horvath <zoltan (a] webkit.org> 33825 33826 Reviewed by Kenneth Rohde Christiansen. 33827 33828 [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process 33829 https://bugs.webkit.org/show_bug.cgi?id=44159 33830 33831 For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process. 33832 33833 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 33834 (WebKit::ProcessLauncherHelper::launch): 33835 33836 2010-08-17 Jesus Sanchez-Palencia <jesus.palencia (a] openbossa.org> 33837 33838 Reviewed by Darin Adler. 33839 33840 Add NetworkingContext to avoid layer violations 33841 https://bugs.webkit.org/show_bug.cgi?id=42292 33842 33843 Preparation: Just add the files to the build system. 33844 33845 * WebKit2.xcodeproj/project.pbxproj: Added new files. 33846 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added. 33847 Placeholder with tentative code that might be changed when landing 33848 the rest of it. 33849 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added. 33850 Empty placeholder for now. 33851 33852 2010-08-16 Jon Honeycutt <jhoneycutt (a] apple.com> 33853 33854 Allow some tests to pass in WebKitTestRunner before SharedMemory and 33855 PluginInfoStore are implemented on Windows. 33856 33857 Reviewed by Sam Weinig. 33858 33859 * Platform/win/SharedMemoryWin.cpp: 33860 Disable not implemented warnings. 33861 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 33862 Ditto. 33863 33864 2010-08-16 Gavin Barraclough <barraclough (a] apple.com> 33865 33866 Rubber stamped by Sam Weinig 33867 33868 Remove unnecessary includes from UString.h, add new includes as necessary. 33869 33870 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 33871 33872 2010-08-16 Sam Weinig <sam (a] webkit.org> 33873 33874 Fix windows build. 33875 33876 * Shared/win/CommandLineWin.cpp: 33877 33878 2010-08-16 Sam Weinig <sam (a] webkit.org> 33879 33880 Reviewed by Gavin Barraclough. 33881 33882 Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h> 33883 33884 * Platform/Module.cpp: 33885 * Platform/Module.h: 33886 * Shared/CommandLine.h: 33887 * Shared/WebCoreArgumentCoders.h: 33888 * Shared/WebEvent.h: 33889 * Shared/WebNavigationDataStore.h: 33890 * Shared/WebPreferencesStore.h: 33891 * Shared/WebString.h: 33892 * Shared/WebURL.h: 33893 * Shared/mac/CommandLineMac.cpp: 33894 * Shared/qt/UpdateChunk.cpp: 33895 * UIProcess/API/C/WKContext.cpp: 33896 * UIProcess/API/C/cf/WKStringCF.cpp: 33897 * UIProcess/API/C/cf/WKURLCF.cpp: 33898 * UIProcess/API/cpp/qt/WKStringQt.cpp: 33899 * UIProcess/API/cpp/qt/WKURLQt.cpp: 33900 * UIProcess/API/mac/PageClientImpl.mm: 33901 * UIProcess/API/qt/qgraphicswkview.cpp: 33902 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 33903 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 33904 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 33905 * UIProcess/WebBackForwardListItem.cpp: 33906 * UIProcess/WebBackForwardListItem.h: 33907 * UIProcess/WebContext.h: 33908 * UIProcess/WebContextInjectedBundleClient.cpp: 33909 * UIProcess/WebFrameProxy.cpp: 33910 * UIProcess/WebFrameProxy.h: 33911 * UIProcess/WebPageProxy.h: 33912 * UIProcess/WebPolicyClient.cpp: 33913 * UIProcess/WebProcessProxy.cpp: 33914 * UIProcess/WebUIClient.cpp: 33915 * UIProcess/win/WebView.cpp: 33916 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 33917 * WebProcess/InjectedBundle/InjectedBundle.h: 33918 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 33919 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 33920 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 33921 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 33922 * WebProcess/Plugins/JSNPObject.cpp: 33923 * WebProcess/Plugins/NPJSObject.cpp: 33924 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 33925 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: 33926 * WebProcess/WebCoreSupport/WebChromeClient.h: 33927 * WebProcess/WebKitMain.cpp: 33928 * WebProcess/win/WebProcessMainWin.cpp: 33929 33930 2010-08-16 Sam Weinig <sam (a] webkit.org> 33931 33932 Reviewed by Gavin Barraclough. 33933 33934 Null CFURLRef returned from provisionalURL after searching on zillow.com 33935 <rdar://problem/8261812> 33936 https://bugs.webkit.org/show_bug.cgi?id=44072 33937 33938 Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters 33939 such as '{'. 33940 33941 * UIProcess/API/C/cf/WKURLCF.cpp: 33942 (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion. 33943 33944 2010-08-16 Sam Weinig <sam (a] webkit.org> 33945 33946 Reviewed by Gavin Barraclough. 33947 33948 Remove unnecessary copy constructor, assignment operator and swap function. 33949 The defaults (for all except swap) should do just fine. 33950 33951 * Shared/WebPreferencesStore.cpp: 33952 * Shared/WebPreferencesStore.h: 33953 33954 2010-08-16 Balazs Kelemen <kb (a] inf.u-szeged.hu> 33955 33956 Reviewed by Kenneth Rohde Christiansen. 33957 33958 Handle content size change in WebKit2 33959 Re-landing after fix. 33960 33961 https://bugs.webkit.org/show_bug.cgi?id=43198 33962 33963 Based on the work of Antti Koivisto. 33964 Send message to the UI client when the contents size has changed through the WebChromeClient 33965 and propagate it to the WKPageUIClient. 33966 33967 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 33968 (WebPageProxyMessage::): Added ContentsSizeChanged message kind. 33969 * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient. 33970 * UIProcess/API/qt/qwkpage.cpp: 33971 (QWKPage::QWKPage): Initialize the new callback to 0. 33972 * UIProcess/WebPageProxy.cpp: 33973 (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged. 33974 (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client. 33975 * UIProcess/WebPageProxy.h: 33976 * UIProcess/WebUIClient.cpp: 33977 (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient. 33978 * UIProcess/WebUIClient.h: 33979 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 33980 (WebKit::WebChromeClient::contentsSizeChanged): Implemented. 33981 33982 2010-08-16 Sheriff Bot <webkit.review.bot (a] gmail.com> 33983 33984 Unreviewed, rolling out r65419. 33985 http://trac.webkit.org/changeset/65419 33986 https://bugs.webkit.org/show_bug.cgi?id=44053 33987 33988 Broke the Windows build (Requested by bbandix on #webkit). 33989 33990 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 33991 (WebPageProxyMessage::): 33992 * UIProcess/API/C/WKPage.h: 33993 * UIProcess/API/qt/qwkpage.cpp: 33994 (QWKPage::QWKPage): 33995 * UIProcess/WebPageProxy.cpp: 33996 (WebKit::WebPageProxy::didReceiveMessage): 33997 * UIProcess/WebPageProxy.h: 33998 * UIProcess/WebUIClient.cpp: 33999 * UIProcess/WebUIClient.h: 34000 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 34001 (WebKit::WebChromeClient::contentsSizeChanged): 34002 34003 2010-08-16 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34004 34005 Reviewed by Kenneth Rohde Christiansen. 34006 34007 Handle content size change in WebKit2 34008 34009 https://bugs.webkit.org/show_bug.cgi?id=43198 34010 34011 Based on the work of Antti Koivisto. 34012 Send message to the UI client when the contents size has changed through the WebChromeClient 34013 and propagate it to the WKPageUIClient. 34014 34015 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 34016 (WebPageProxyMessage::): Added ContentsSizeChanged message kind. 34017 * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient. 34018 * UIProcess/API/qt/qwkpage.cpp: 34019 (QWKPage::QWKPage): Initialize the new callback to 0. 34020 * UIProcess/WebPageProxy.cpp: 34021 (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged. 34022 (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client. 34023 * UIProcess/WebPageProxy.h: 34024 * UIProcess/WebUIClient.cpp: 34025 (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient. 34026 * UIProcess/WebUIClient.h: 34027 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 34028 (WebKit::WebChromeClient::contentsSizeChanged): Implemented. 34029 34030 2010-08-16 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34031 34032 Unreviewed Qt WebKit2 build fix. 34033 34034 * UIProcess/qt/WebContextQt.cpp: 34035 (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation. 34036 * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set. 34037 34038 2010-08-15 Dan Bernstein <mitz (a] apple.com> 34039 34040 Revised build fix from r65363 based on suggestion from Darin Adler. 34041 34042 * UIProcess/API/C/WKArray.h: Include stddef.h. 34043 * UIProcess/API/C/WKBase.h: Uninclude ctype.h. 34044 * UIProcess/API/C/WKData.h: Include stddef.h. 34045 * UIProcess/API/C/WKDictionary.h: Ditto. 34046 34047 2010-08-14 Dan Bernstein <mitz (a] apple.com> 34048 34049 Reviewed by Anders Carlsson in Sweden. 34050 34051 Clean build of WebKitTestRunner fails with 'size_t' has not been declared in WKArray.h 34052 https://bugs.webkit.org/show_bug.cgi?id=44005 34053 34054 * UIProcess/API/C/WKBase.h: Include ctype.h. 34055 34056 2010-08-13 Sam Weinig <sam (a] webkit.org> 34057 34058 Fix build. 34059 34060 * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public. 34061 34062 2010-08-13 Sam Weinig <sam (a] webkit.org> 34063 34064 Reviewed by Brady Eidson. 34065 34066 Pass values map to willSubmitForm in WebKit2 API 34067 Part of <rdar://problem/8255932> 34068 https://bugs.webkit.org/show_bug.cgi?id=43995 34069 34070 * Platform/CoreIPC/ArgumentCoders.h: 34071 (CoreIPC::): 34072 Add overload for std::pair. 34073 34074 * Shared/ImmutableDictionary.h: 34075 (WebKit::ImmutableDictionary::adopt): 34076 Fix function signature by removing size parameter. 34077 34078 * UIProcess/API/C/WKPage.h: 34079 Add dictionary parameter to callback. 34080 34081 * UIProcess/WebFormClient.cpp: 34082 (WebKit::WebFormClient::willSubmitForm): 34083 Create an ImmutableDictionary from the vector of string pairs. 34084 34085 * UIProcess/WebFormClient.h: 34086 * UIProcess/WebPageProxy.cpp: 34087 (WebKit::WebPageProxy::didReceiveMessage): 34088 (WebKit::WebPageProxy::willSubmitForm): 34089 * UIProcess/WebPageProxy.h: 34090 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34091 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 34092 Plumb through the values vector. 34093 34094 2010-08-13 Sam Weinig <sam (a] webkit.org> 34095 34096 Reviewed by Brady Eidson. 34097 34098 Add dictionary API type 34099 https://bugs.webkit.org/show_bug.cgi?id=43990 34100 34101 Add an immutable dictionary type (WKStringRef -> WKTypeRef). 34102 34103 * Shared/APIObject.h: 34104 (WebKit::APIObject::): 34105 Add new APIType. 34106 34107 * Shared/ImmutableDictionary.cpp: Added. 34108 (WebKit::ImmutableDictionary::ImmutableDictionary): 34109 (WebKit::ImmutableDictionary::~ImmutableDictionary): 34110 * Shared/ImmutableDictionary.h: Added. 34111 (WebKit::ImmutableDictionary::create): 34112 (WebKit::ImmutableDictionary::adopt): 34113 (WebKit::ImmutableDictionary::get): 34114 (WebKit::ImmutableDictionary::size): 34115 (WebKit::ImmutableDictionary::): 34116 (WebKit::ImmutableDictionary::type): 34117 Add basic implementation 34118 34119 * UIProcess/API/C/WKAPICast.h: 34120 (WebKit::): 34121 Add new mappings. 34122 34123 * UIProcess/API/C/WKBase.h: 34124 Add new opaque type. 34125 34126 * UIProcess/API/C/WKDictionary.cpp: Added. 34127 (WKDictionaryGetTypeID): 34128 (WKDictionaryGetItemForKey): 34129 (WKDictionaryGetSize): 34130 (WKDictionaryRetain): 34131 (WKDictionaryRelease): 34132 * UIProcess/API/C/WKDictionary.h: Added. 34133 Add API wrappings. 34134 34135 * UIProcess/API/C/WebKit2.h: 34136 Add missing public headers. 34137 34138 * WebKit2.xcodeproj/project.pbxproj: 34139 * win/WebKit2.vcproj: 34140 * win/WebKit2Generated.make: 34141 Add new files. 34142 34143 2010-08-13 Sam Weinig <sam (a] webkit.org> 34144 34145 Reviewed by Jon Honeycutt. 34146 34147 Add form submission listener to WebKit2 34148 Part of <rdar://problem/8255932> 34149 https://bugs.webkit.org/show_bug.cgi?id=43947 34150 34151 * Shared/APIObject.h: 34152 Add TypeFormSubmissionListener APIType. 34153 34154 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 34155 Add WillSubmitForm message kind. 34156 34157 * UIProcess/API/C/WKAPICast.h: 34158 Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener 34159 34160 * UIProcess/API/C/WKBase.h: 34161 Add OpaqueWKFormSubmissionListener and rename the other opaque types to match. 34162 34163 * UIProcess/API/C/WKFormSubmissionListener.cpp: Added. 34164 (WKFormSubmissionListenerGetTypeID): 34165 (WKFormSubmissionListenerContinue): 34166 (WKFormSubmissionListenerRetain): 34167 (WKFormSubmissionListenerRelease): 34168 * UIProcess/API/C/WKFormSubmissionListener.h: Added. 34169 Add C wrapper for WebFormSubmissionListener. 34170 34171 * UIProcess/API/C/WKPage.cpp: 34172 (WKPageSetPageFormClient): 34173 * UIProcess/API/C/WKPage.h: 34174 Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as 34175 needed. 34176 34177 * UIProcess/API/C/WebKit2.h: 34178 Add include for WKFormSubmissionListener.h 34179 34180 * UIProcess/WebFormClient.cpp: Added. 34181 (WebKit::WebFormClient::WebFormClient): 34182 (WebKit::WebFormClient::initialize): 34183 (WebKit::WebFormClient::willSubmitForm): 34184 * UIProcess/WebFormClient.h: Added. 34185 Add client for form related delagations. 34186 34187 * UIProcess/WebFormSubmissionListenerProxy.cpp: Added. 34188 (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy): 34189 (WebKit::WebFormSubmissionListenerProxy::continueSubmission): 34190 * UIProcess/WebFormSubmissionListenerProxy.h: Added. 34191 (WebKit::WebFormSubmissionListenerProxy::create): 34192 (WebKit::WebFormSubmissionListenerProxy::type): 34193 * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp. 34194 Add new type of listener for form submissions. It inherits from the new base class 34195 for listeners, WebFrameListenerProxy. 34196 34197 (WebKit::WebFrameListenerProxy::WebFrameListenerProxy): 34198 (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy): 34199 (WebKit::WebFrameListenerProxy::invalidate): 34200 (WebKit::WebFrameListenerProxy::receivedPolicyDecision): 34201 * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h. 34202 Move logic that would have to be shared between WebFramePolicyListenerProxy and 34203 WebFormSubmissionListenerProxy into shared base class. 34204 34205 * UIProcess/WebFramePolicyListenerProxy.cpp: 34206 (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy): 34207 * UIProcess/WebFramePolicyListenerProxy.h: 34208 (WebKit::WebFramePolicyListenerProxy::create): 34209 (WebKit::WebFramePolicyListenerProxy::type): 34210 Move to inheriting from WebFrameListenerProxy. 34211 34212 * UIProcess/WebFrameProxy.cpp: 34213 (WebKit::WebFrameProxy::disconnect): 34214 (WebKit::WebFrameProxy::receivedPolicyDecision): 34215 (WebKit::WebFrameProxy::setUpPolicyListenerProxy): 34216 (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy): 34217 * UIProcess/WebFrameProxy.h: 34218 Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy. 34219 34220 * UIProcess/WebPageProxy.cpp: 34221 (WebKit::WebPageProxy::initializeFormClient): 34222 (WebKit::WebPageProxy::didReceiveMessage): 34223 (WebKit::WebPageProxy::willSubmitForm): 34224 * UIProcess/WebPageProxy.h: 34225 Plumb through willSubmitForm call as we do with the other listeners. 34226 34227 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34228 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 34229 Ditto. 34230 34231 * WebKit2.xcodeproj/project.pbxproj: Add new files. 34232 * win/WebKit2.vcproj: Add new files. 34233 * win/WebKit2Generated.make: Ditto. 34234 34235 2010-08-13 Gavin Barraclough <barraclough (a] apple.com> 34236 34237 Reviewed by Sam Weinig 34238 34239 Unify UString::UTF8String() & String::utf8() methods, 34240 remove UString::cost() & make atArrayIndex a free function. 34241 34242 * WebProcess/Plugins/JSNPObject.cpp: 34243 (WebKit::npIdentifierFromIdentifier): 34244 * WebProcess/Plugins/NPJSObject.cpp: 34245 (WebKit::NPJSObject::enumerate): 34246 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 34247 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 34248 34249 2010-08-12 Sheriff Bot <webkit.review.bot (a] gmail.com> 34250 34251 Unreviewed, rolling out r65295. 34252 http://trac.webkit.org/changeset/65295 34253 https://bugs.webkit.org/show_bug.cgi?id=43950 34254 34255 It broke 4 sputnik tests (Requested by Ossy on #webkit). 34256 34257 * WebProcess/Plugins/JSNPObject.cpp: 34258 (WebKit::npIdentifierFromIdentifier): 34259 * WebProcess/Plugins/NPJSObject.cpp: 34260 (WebKit::NPJSObject::enumerate): 34261 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 34262 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 34263 34264 2010-08-12 Gavin Barraclough <barraclough (a] apple.com> 34265 34266 Reviewed by Sam Weinig 34267 34268 Unify UString::UTF8String() & String::utf8() methods, 34269 remove UString::cost() & make atArrayIndex a free function. 34270 34271 * WebProcess/Plugins/JSNPObject.cpp: 34272 (WebKit::npIdentifierFromIdentifier): 34273 * WebProcess/Plugins/NPJSObject.cpp: 34274 (WebKit::NPJSObject::enumerate): 34275 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 34276 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 34277 34278 2010-08-12 Maciej Stachowiak <mjs (a] apple.com> 34279 34280 Reviewed by Sam Weinig. 34281 34282 WebKit2 crashes when WebFrame outlives WebPage 34283 https://bugs.webkit.org/show_bug.cgi?id=43939 34284 34285 * WebProcess/WebCoreSupport/WebChromeClient.h: 34286 (WebKit::WebChromeClient::page): Add this method, to allow 34287 WebFrame to retrieve its WebPage following WebCore pointers. 34288 * WebProcess/WebPage/WebFrame.cpp: 34289 (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone). 34290 (WebKit::WebFrame::page): Don't use the data member, get it from 34291 WebCore. 34292 (WebKit::WebFrame::invalidate): Use method to get page() and null check. 34293 (WebKit::WebFrame::isMainFrame): ditto 34294 * WebProcess/WebPage/WebFrame.h: 34295 34296 2010-08-12 Jon Honeycutt <jhoneycutt (a] apple.com> 34297 34298 WebKit2 needs to initialize SafariTheme 34299 https://bugs.webkit.org/show_bug.cgi?id=43901 34300 34301 Reviewed by Sam Weinig. 34302 34303 * WebProcess/win/WebProcessMainWin.cpp: 34304 (WebKit::initializeSafariTheme): 34305 Copied from old WebKit. 34306 (WebKit::WebProcessMain): 34307 If we're using SafariTheme, initialize it. 34308 34309 2010-08-12 Jon Honeycutt <jhoneycutt (a] apple.com> 34310 34311 WebKitTestRunner needs to run tests without using native controls 34312 https://bugs.webkit.org/show_bug.cgi?id=43772 34313 34314 Reviewed by Sam Weinig. 34315 34316 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 34317 (WebProcessMessage::): 34318 Add a new message. 34319 34320 * UIProcess/API/C/win/WKContextPrivateWin.h: Added. 34321 Declare WKContextSetShouldPaintNativeControls(). 34322 34323 * UIProcess/API/C/win/WKContextWin.cpp: Added. 34324 (WKContextSetShouldPaintNativeControls): 34325 Call the WebContext's setShouldPaintNativeControls(). 34326 34327 * UIProcess/WebContext.cpp: 34328 (WebKit::WebContext::WebContext): 34329 Initialize m_shouldPaintNativeControls. 34330 (WebKit::WebContext::ensureWebProcess): 34331 If we created a web process, call platformSetUpWebProcess(). 34332 34333 * UIProcess/WebContext.h: 34334 Declare new functions and a member to store whether we should paint 34335 native controls. 34336 34337 * UIProcess/mac/WebContextMac.mm: 34338 (WebKit::WebContext::platformSetUpWebProcess): 34339 Stubbed. 34340 34341 * UIProcess/win/WebContextWin.cpp: 34342 (WebKit::WebContext::setShouldPaintNativeControls): 34343 Set m_shouldPaintNativeControls. If we have a valid web process, send a 34344 SetShouldPaintNativeControls message. 34345 (WebKit::WebContext::platformSetUpWebProcess): 34346 Send a SetShouldPaintNativeControls message. 34347 34348 * WebProcess/WebProcess.cpp: 34349 (WebKit::WebProcess::didReceiveMessage): 34350 If this is a SetShouldPaintNativeControls message, decode the argument, 34351 and call Settings::setShouldPaintNativeControls(). 34352 34353 * win/WebKit2.vcproj: 34354 Add WKContextPrivateWin.h and WKContextWin.cpp to project. 34355 34356 * win/WebKit2Generated.make: 34357 Copy WKContextPrivateWin.h. 34358 34359 2010-08-11 Sam Weinig <sam (a] webkit.org> 34360 34361 Reviewed by Gavin Barraclough. 34362 34363 Add SPI to stop loading from the InjectedBundle. 34364 34365 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 34366 (WKBundlePageStopLoading): 34367 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 34368 * WebProcess/WebPage/WebPage.h: 34369 34370 2010-08-11 Sam Weinig <sam (a] webkit.org> 34371 34372 Reviewed by Gavin Barraclough. 34373 34374 WKPageStopLoading always asserts 34375 34376 * WebProcess/WebPage/WebPage.cpp: 34377 (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us 34378 hit the ASSERT_NOT_REACHED at the end of the function. 34379 34380 2010-08-11 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34381 34382 Unreviewed build fix. 34383 34384 [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory. 34385 34386 * DerivedSources.pro: 34387 * Platform/qt/SharedMemoryQt.cpp: Added. 34388 (WebKit::SharedMemory::Handle::Handle): 34389 (WebKit::SharedMemory::Handle::~Handle): 34390 (WebKit::SharedMemory::Handle::encode): 34391 (WebKit::SharedMemory::Handle::decode): 34392 (WebKit::SharedMemory::create): 34393 (WebKit::SharedMemory::~SharedMemory): 34394 (WebKit::SharedMemory::createHandle): 34395 (WebKit::SharedMemory::systemPageSize): 34396 * WebKit2.pro: 34397 * WebKit2Prefix.h: 34398 34399 2010-08-11 Mark Rowe <mrowe (a] apple.com> 34400 34401 Build fix. Update references to StringHash.h. 34402 34403 * Shared/CommandLine.h: 34404 * UIProcess/WebContext.h: 34405 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 34406 * WebProcess/win/WebProcessMainWin.cpp: 34407 34408 2010-08-10 Darin Adler <darin (a] apple.com> 34409 34410 Reviewed by Sam Weinig. 34411 34412 Add leakRef and clear to all RefPtr variants 34413 https://bugs.webkit.org/show_bug.cgi?id=42389 34414 34415 * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to 34416 "template<...>". Defined many of the inlined functions outside the class 34417 definition, to avoid style checker warnings about multiple statements on 34418 a single line and for slightly better clarity of the class definition itself. 34419 Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we 34420 don't have to rename all callers at once. Added a clear function. 34421 34422 2010-08-10 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34423 34424 Reviewed by Antonio Gomes. 34425 34426 [Qt] Build WebKit2 into a static lib 34427 34428 https://bugs.webkit.org/show_bug.cgi?id=43621 34429 34430 * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib. 34431 * WebKit2.pro: Build specification for the WebKit2 framework. 34432 * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary. 34433 34434 2010-08-09 Sam Weinig <sam (a] webkit.org> 34435 34436 Reviewed by Geoffrey Garen. 34437 34438 Add zoom support for injected bundle 34439 https://bugs.webkit.org/show_bug.cgi?id=43759 34440 34441 Add SPI to change the zoom factor for a page. 34442 34443 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 34444 (toZoomMode): 34445 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 34446 (WKBundlePageGetZoomFactor): 34447 (WKBundlePageSetZoomFactor): 34448 (WKBundlePageSetZoomMode): 34449 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 34450 * WebProcess/WebPage/WebPage.cpp: 34451 (WebKit::WebPage::zoomFactor): 34452 (WebKit::WebPage::setZoomFactor): 34453 (WebKit::WebPage::setZoomMode): 34454 * WebProcess/WebPage/WebPage.h: 34455 34456 2010-08-06 Gavin Barraclough <barraclough (a] apple.com> 34457 34458 Rubber stamped by Sam Weinig 34459 34460 Bug 43594 - Add string forwards to Forward.h 34461 This allows us to remove forward declarations for these classes from 34462 WebCore/WebKit (a step in moving these class from WebCore:: to WTF::). 34463 34464 * UIProcess/PageClient.h: 34465 * UIProcess/VisitedLinkProvider.h: 34466 * UIProcess/WebContextInjectedBundleClient.h: 34467 * UIProcess/WebFrameProxy.h: 34468 * UIProcess/WebHistoryClient.h: 34469 * UIProcess/WebLoaderClient.h: 34470 * UIProcess/WebPolicyClient.h: 34471 * UIProcess/WebProcessProxy.h: 34472 * UIProcess/WebUIClient.h: 34473 * UIProcess/win/WebView.h: 34474 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 34475 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 34476 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 34477 * WebProcess/Plugins/NPRuntimeObjectMap.h: 34478 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 34479 * WebProcess/Plugins/PluginController.h: 34480 * WebProcess/WebPage/WebFrame.h: 34481 * WebProcess/WebPage/WebPage.h: 34482 * WebProcess/WebProcess.h: 34483 34484 2010-08-09 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34485 34486 Reviewed by Kenneth Rohde Christiansen. 34487 34488 [Qt] No need for PageClientImpl 34489 34490 https://bugs.webkit.org/show_bug.cgi?id=43728 34491 34492 Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate. 34493 34494 * UIProcess/API/qt/qwkpage.cpp: 34495 (QWKPagePrivate::QWKPagePrivate): 34496 (QWKPagePrivate::toolTipChanged): 34497 * UIProcess/API/qt/qwkpage_p.h: 34498 (QWKPagePrivate::pageDidEnterAcceleratedCompositing): 34499 (QWKPagePrivate::pageDidLeaveAcceleratedCompositing): 34500 (QWKPagePrivate::processDidExit): 34501 (QWKPagePrivate::processDidRevive): 34502 (QWKPagePrivate::setCursor): 34503 (QWKPagePrivate::takeFocus): 34504 34505 2010-08-07 Sam Weinig <sam (a] webkit.org> 34506 34507 Reviewed by Anders Carlsson. 34508 34509 WebKitTestRunner needs to print onunload handler information 34510 <rdar://problem/8213831> 34511 https://bugs.webkit.org/show_bug.cgi?id=42703 34512 34513 Add SPI to get the number of pending unload events. 34514 34515 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 34516 (WKBundleFrameGetPendingUnloadCount): 34517 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 34518 * WebProcess/WebPage/WebFrame.cpp: 34519 (WebKit::WebFrame::pendingUnloadCount): 34520 * WebProcess/WebPage/WebFrame.h: 34521 34522 2010-08-07 Sam Weinig <sam (a] webkit.org> 34523 34524 Reviewed by Anders Carlsson. 34525 34526 Add additional loader client functions need to complete WebKitTestRunner 34527 https://bugs.webkit.org/show_bug.cgi?id=43684 34528 34529 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 34530 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 34531 (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame): 34532 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): 34533 (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame): 34534 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): 34535 (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame): 34536 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 34537 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 34538 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 34539 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 34540 (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents): 34541 (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): 34542 (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect): 34543 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 34544 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 34545 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): 34546 (WebKit::WebFrameLoaderClient::didRunInsecureContent): 34547 34548 2010-08-07 Sam Weinig <sam (a] webkit.org> 34549 34550 Another fix for the windows build. 34551 34552 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 34553 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled): 34554 34555 2010-08-07 Sam Weinig <sam (a] webkit.org> 34556 34557 Fix windows build. 34558 34559 * WebProcess/Plugins/PluginView.cpp: 34560 (WebKit::PluginView::platformLayer): 34561 * WebProcess/Plugins/PluginView.h: 34562 34563 2010-08-07 Sam Weinig <sam (a] webkit.org> 34564 34565 Reviewed by Anders Carlsson. 34566 34567 WebKitTestRunner needs GCController 34568 <rdar://problem/8213834> 34569 https://bugs.webkit.org/show_bug.cgi?id=42701 34570 34571 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 34572 (WKBundleGarbageCollectJavaScriptObjects): 34573 (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging): 34574 (WKBundleGetJavaScriptObjectsCount): 34575 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 34576 * WebProcess/InjectedBundle/InjectedBundle.cpp: 34577 (WebKit::InjectedBundle::garbageCollectJavaScriptObjects): 34578 (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging): 34579 (WebKit::InjectedBundle::javaScriptObjectsCount): 34580 * WebProcess/InjectedBundle/InjectedBundle.h: 34581 34582 2010-08-07 Anders Carlsson <andersca (a] apple.com> 34583 34584 Reviewed by Sam Weinig. 34585 34586 CA drawing model support for Mac Plugins 34587 https://bugs.webkit.org/show_bug.cgi?id=43678 34588 <rdar://problem/7929701> 34589 34590 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 34591 (WebKit::NPN_GetValue): 34592 Handle WKNVSupportsCompositingCoreAnimationPluginsBool and 34593 NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled. 34594 34595 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 34596 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled): 34597 Call PluginController::isAcceleratedCompositingEnabled. 34598 34599 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 34600 (WebKit::NetscapePlugin::platformPostInitialize): 34601 If the plug-in uses the Core Animation drawing model, ask it for its layer. 34602 34603 (WebKit::NetscapePlugin::platformPaint): 34604 Don't send draw events if the Core Animation drawing model is used. 34605 34606 (WebKit::NetscapePlugin::pluginLayer): 34607 Return the plug-in layer. 34608 34609 * WebProcess/Plugins/Plugin.h: 34610 Add a pluginLayer pure virtual member function. 34611 34612 * WebProcess/Plugins/PluginController.h: 34613 Add an isAcceleratedCompositingEnabled pure virtual member function. 34614 34615 * WebProcess/Plugins/PluginView.cpp: 34616 (WebKit::PluginView::initializePlugin): 34617 If the plug-in has a layer, enter compositing mode. 34618 34619 (WebKit::PluginView::platformLayer): 34620 Ask the plug-in for its layer. 34621 34622 (WebKit::PluginView::isAcceleratedCompositingEnabled): 34623 Call Settings::acceleratedCompositingEnabled. 34624 34625 * WebProcess/Plugins/PluginView.h: 34626 34627 2010-08-06 Sam Weinig <sam (a] webkit.org> 34628 34629 Reviewed by Anders Carlsson. 34630 34631 Delete key doesn't go Back in WebKit2 34632 <rdar://problem/8272978> 34633 https://bugs.webkit.org/show_bug.cgi?id=43665 34634 34635 - Adds support for delete key going back (mac only for now) 34636 - Adds support for command-left/command right going back/forward 34637 - Flesh out scrolling due to arrow keys on the mac to match old webkit. 34638 - Made performDefaultBehaviorForKeyEvent platform specific and added 34639 a boolean return value which will be used later to inform the UI process 34640 about what events have been processed. 34641 34642 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 34643 (WebPageProxyMessage::): 34644 * UIProcess/API/mac/WKView.mm: 34645 (-[WKView _wantsKeyDownForEvent:]): 34646 * UIProcess/WebPageProxy.cpp: 34647 (WebKit::WebPageProxy::didReceiveSyncMessage): 34648 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 34649 (WebKit::WebBackForwardListProxy::backItem): 34650 (WebKit::WebBackForwardListProxy::forwardItem): 34651 * WebProcess/WebPage/WebPage.cpp: 34652 (WebKit::WebPage::keyEvent): 34653 * WebProcess/WebPage/WebPage.h: 34654 * WebProcess/WebPage/mac/WebPageMac.mm: 34655 (WebKit::scroll): 34656 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 34657 * WebProcess/WebPage/qt/WebPageQt.cpp: 34658 (WebKit::scroll): 34659 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 34660 * WebProcess/WebPage/win/WebPageWin.cpp: 34661 (WebKit::scroll): 34662 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 34663 34664 2010-08-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 34665 34666 Unreviewed, rolling out r64904. 34667 http://trac.webkit.org/changeset/64904 34668 https://bugs.webkit.org/show_bug.cgi?id=43671 34669 34670 Broke the Qt Windows builders. (Requested by bbandix on 34671 #webkit). 34672 34673 * WebKit2.pri: Removed. 34674 * WebKit2.pro: 34675 * WebProcess.pro: Removed. 34676 34677 2010-08-07 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34678 34679 Reviewed by Eric Seidel. 34680 34681 NPAPI headers should be included through npruntime_internal.h 34682 34683 https://bugs.webkit.org/show_bug.cgi?id=43620 34684 34685 * DerivedSources.pro: 34686 * WebProcess/Plugins/NPJSObject.h: 34687 * WebProcess/Plugins/NPRuntimeUtilities.h: 34688 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 34689 34690 2010-08-07 Balazs Kelemen <kb (a] inf.u-szeged.hu> 34691 34692 Reviewed by Eric Seidel. 34693 34694 [Qt] Build WebKit2 into a static lib 34695 34696 https://bugs.webkit.org/show_bug.cgi?id=43621 34697 34698 * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib. 34699 * WebKit2.pro: Build specification for the WebKit2 framework. 34700 * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary. 34701 34702 2010-08-05 Jon Honeycutt <jhoneycutt (a] apple.com> 34703 34704 WebKitTestRunner needs to be able to set the font smoothing type 34705 https://bugs.webkit.org/show_bug.cgi?id=43406 34706 34707 Reviewed by Adam Roben. 34708 34709 * Shared/FontSmoothingLevel.h: Added. 34710 (WebKit::): 34711 34712 * Shared/WebPreferencesStore.cpp: 34713 (WebKit::WebPreferencesStore::WebPreferencesStore): 34714 Initialize fontSmoothingLevel. 34715 (WebKit::WebPreferencesStore::swap): 34716 Copy fontSmoothingLevel. 34717 34718 * Shared/WebPreferencesStore.h: 34719 (WebKit::WebPreferencesStore::encode): 34720 Encode fontSmoothingLevel. 34721 (WebKit::WebPreferencesStore::decode): 34722 Decode it. 34723 34724 * UIProcess/API/C/WKPreferencesPrivate.cpp: Added. 34725 (WKPreferencesSetFontSmoothingLevel): 34726 Get the font smoothing level from the WKFontSmoothingLevel, and call 34727 WebPreferences::setFontSmoothingLevel(). 34728 (WKPreferencesGetFontSmoothingLevel): 34729 Get the font smoothing level from WebPreferences, and translate it to a 34730 WKFontSmoothingLevel. 34731 34732 * UIProcess/API/C/WKPreferencesPrivate.h: Added. 34733 Declare the font smoothing levels, and declare functions to get and set 34734 the level. 34735 34736 * UIProcess/WebPreferences.cpp: 34737 (WebKit::WebPreferences::setFontSmoothingLevel): 34738 Set fontSmoothingLevel and call update(). 34739 (WebKit::WebPreferences::fontSmoothingLevel): 34740 Return the level. 34741 34742 * UIProcess/WebPreferences.h: 34743 Declare getter and setter for fontSmoothingLevel. 34744 34745 * WebKit2.xcodeproj/project.pbxproj: 34746 Add new files to project. 34747 34748 * WebProcess/WebPage/WebPage.cpp: 34749 (WebKit::WebPage::preferencesDidChange): 34750 Call platformPreferencesDidChange(). 34751 34752 * WebProcess/WebPage/WebPage.h: 34753 Declare platformPreferencesDidChange(). 34754 34755 * WebProcess/WebPage/mac/WebPageMac.mm: 34756 (WebKit::WebPage::platformPreferencesDidChange): 34757 Stubbed. 34758 34759 * WebProcess/WebPage/qt/WebPageQt.cpp: 34760 (WebKit::WebPage::platformPreferencesDidChange): 34761 Stubbed. 34762 34763 * WebProcess/WebPage/win/WebPageWin.cpp: 34764 (WebKit::WebPage::platformPreferencesDidChange): 34765 On CG platforms, call wkSetFontSmoothingLevel(). This matches the code 34766 in old WebKit's WebPreferences. Set the font rendering mode to either 34767 normal (CG) or alternative (GDI) based on the font smoothing level. This 34768 matches what was done in old WebKit's WebView. 34769 34770 * win/WebKit2.vcproj: 34771 Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project. 34772 34773 * win/WebKit2Generated.make: 34774 Copy WKPreferencesPrivate.h. 34775 34776 2010-08-06 Anders Carlsson <andersca (a] apple.com> 34777 34778 Build fixes. 34779 34780 * Platform/win/SharedMemoryWin.cpp: 34781 (WebKit::SharedMemory::Handle::encode): 34782 (WebKit::SharedMemory::Handle::decode): 34783 * Shared/qt/UpdateChunk.cpp: 34784 (WebKit::UpdateChunk::encode): 34785 (WebKit::UpdateChunk::decode): 34786 * Shared/qt/UpdateChunk.h: 34787 * Shared/win/UpdateChunk.cpp: 34788 (WebKit::UpdateChunk::encode): 34789 (WebKit::UpdateChunk::decode): 34790 * Shared/win/UpdateChunk.h: 34791 34792 2010-08-06 Anders Carlsson <andersca (a] apple.com> 34793 34794 Reviewed by Sam Weinig. 34795 34796 Change all ArgumentEncoder and ArgumentDecoder references to pointers 34797 https://bugs.webkit.org/show_bug.cgi?id=43651 34798 34799 * Platform/CoreIPC/ArgumentCoder.h: 34800 * Platform/CoreIPC/ArgumentDecoder.h: 34801 * Platform/CoreIPC/Arguments.h: 34802 * Platform/CoreIPC/Attachment.cpp: 34803 * Platform/CoreIPC/Attachment.h: 34804 * Platform/CoreIPC/mac/MachPort.h: 34805 * Platform/SharedMemory.h: 34806 * Platform/mac/SharedMemoryMac.cpp: 34807 * Shared/DrawingAreaBase.cpp: 34808 * Shared/DrawingAreaBase.h: 34809 * Shared/WebEvent.h: 34810 * Shared/WebNavigationDataStore.h: 34811 * Shared/WebPreferencesStore.h: 34812 * Shared/mac/UpdateChunk.cpp: 34813 * Shared/mac/UpdateChunk.h: 34814 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 34815 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 34816 * UIProcess/DrawingAreaProxy.h: 34817 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 34818 * UIProcess/LayerBackedDrawingAreaProxy.h: 34819 * UIProcess/WebContext.cpp: 34820 * UIProcess/WebContext.h: 34821 * UIProcess/WebPageProxy.cpp: 34822 * UIProcess/WebPageProxy.h: 34823 * UIProcess/WebProcessProxy.cpp: 34824 * WebProcess/InjectedBundle/InjectedBundle.cpp: 34825 * WebProcess/InjectedBundle/InjectedBundle.h: 34826 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 34827 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 34828 * WebProcess/WebPage/DrawingArea.h: 34829 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 34830 * WebProcess/WebPage/LayerBackedDrawingArea.h: 34831 * WebProcess/WebPage/WebPage.cpp: 34832 * WebProcess/WebPage/WebPage.h: 34833 * WebProcess/WebProcess.cpp: 34834 34835 2010-08-06 Anders Carlsson <andersca (a] apple.com> 34836 34837 Reviewed by Sam Weinig. 34838 34839 Don't try to allocate a vector unless we know the buffer can contain it 34840 https://bugs.webkit.org/show_bug.cgi?id=43647 34841 34842 * Platform/CoreIPC/ArgumentCoders.h: 34843 (CoreIPC::): 34844 Check that the argument decoder buffer actually can hold all the vector elements. 34845 34846 * Platform/CoreIPC/ArgumentDecoder.cpp: 34847 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain): 34848 Align the current position to the given alignment, add the size and check if the position is 34849 past the end of the buffer. 34850 34851 * Platform/CoreIPC/ArgumentDecoder.h: 34852 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain): 34853 Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload. 34854 34855 2010-08-06 Anders Carlsson <andersca (a] apple.com> 34856 34857 Reviewed by Adam Roben. 34858 34859 Detect invalid CoreIPC messages and call didReceiveInvalidMessage 34860 https://bugs.webkit.org/show_bug.cgi?id=43643 34861 <rdar://problem/7891069> 34862 34863 * Platform/CoreIPC/ArgumentDecoder.cpp: 34864 (CoreIPC::ArgumentDecoder::alignBufferPosition): 34865 If we can't correctly align the buffer position, mark the decoder as invalid. 34866 34867 * Platform/CoreIPC/ArgumentDecoder.h: 34868 (CoreIPC::ArgumentDecoder::isInvalid): 34869 Check if the argument decoder is valid. 34870 34871 (CoreIPC::ArgumentDecoder::markInvalid): 34872 Mark the argument decoder as invalid, by setting its buffer position past its end position. 34873 34874 * Platform/CoreIPC/Connection.cpp: 34875 (CoreIPC::Connection::dispatchMessages): 34876 Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call 34877 Connection::Client::didReceiveInvalidMessage. 34878 34879 * Platform/CoreIPC/Connection.h: 34880 (CoreIPC::Connection::Message::releaseArguments): 34881 Rename destroy to releaseArguments and make it return a PassOwnPtr. 34882 34883 * UIProcess/WebProcessProxy.cpp: 34884 (WebKit::WebProcessProxy::~WebProcessProxy): 34885 Call releaseArguments instead of destroy. 34886 34887 (WebKit::WebProcessProxy::didReceiveInvalidMessage): 34888 Kill the web process and invalidate its connection. 34889 34890 * WebProcess/WebProcess.cpp: 34891 (WebKit::WebProcess::didReceiveInvalidMessage): 34892 Don't do anything, if the UI process is sending invalid messages there's not much we can do. 34893 34894 * WebProcess/WebProcess.h: 34895 34896 2010-08-06 Anders Carlsson <andersca (a] apple.com> 34897 34898 Reviewed by Adam Roben. 34899 34900 Add CoreIPC::MessageReceiver class 34901 https://bugs.webkit.org/show_bug.cgi?id=43637 34902 34903 * Platform/CoreIPC/Connection.h: 34904 (CoreIPC::Connection::MessageReceiver::~MessageReceiver): 34905 Add MessageReceiver class and make Client inherit from it. 34906 34907 (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage): 34908 Change didReceiveSyncMessage from being a pure virtual member function and make it 34909 assert by default instead. 34910 34911 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 34912 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 34913 Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage. 34914 34915 * Shared/DrawingAreaBase.h: 34916 Include "Connection.h" instead. 34917 34918 * UIProcess/DrawingAreaProxy.h: 34919 (WebKit::DrawingAreaProxy::didReceiveSyncMessage): 34920 Change didReceiveSyncMessage from being a pure virtual member function and make it 34921 assert by default instead. 34922 34923 * WebProcess/WebProcess.cpp: 34924 * WebProcess/WebProcess.h: 34925 Remove didReceiveSyncMessage. 34926 34927 2010-08-06 Jessie Berlin <jberlin (a] apple.com> 34928 34929 Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build. 34930 Unreviewed. 34931 34932 * UIProcess/PageClient.h: 34933 * UIProcess/VisitedLinkProvider.h: 34934 * UIProcess/WebContextInjectedBundleClient.h: 34935 * UIProcess/WebFrameProxy.h: 34936 * UIProcess/WebHistoryClient.h: 34937 * UIProcess/WebLoaderClient.h: 34938 * UIProcess/WebPolicyClient.h: 34939 * UIProcess/WebProcessProxy.h: 34940 * UIProcess/WebUIClient.h: 34941 * UIProcess/win/WebView.h: 34942 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 34943 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 34944 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 34945 * WebProcess/Plugins/NPRuntimeObjectMap.h: 34946 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 34947 * WebProcess/Plugins/PluginController.h: 34948 * WebProcess/WebPage/WebFrame.h: 34949 * WebProcess/WebPage/WebPage.h: 34950 * WebProcess/WebProcess.h: 34951 34952 2010-08-05 Sam Weinig <sam (a] webkit.org> 34953 34954 Reviewed by Anders Carlsson. 34955 34956 Add form client for injected bundle code 34957 https://bugs.webkit.org/show_bug.cgi?id=43603 34958 34959 * WebKit2.xcodeproj/project.pbxproj: 34960 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 34961 (WKBundlePageSetFormClient): 34962 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 34963 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added. 34964 (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient): 34965 (WebKit::InjectedBundlePageFormClient::initialize): 34966 (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing): 34967 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing): 34968 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField): 34969 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea): 34970 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added. 34971 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 34972 (WebKit::WebEditorClient::textFieldDidBeginEditing): 34973 (WebKit::WebEditorClient::textFieldDidEndEditing): 34974 (WebKit::WebEditorClient::textDidChangeInTextField): 34975 (WebKit::WebEditorClient::textDidChangeInTextArea): 34976 * WebProcess/WebPage/WebPage.cpp: 34977 (WebKit::WebPage::initializeInjectedBundleFormClient): 34978 * WebProcess/WebPage/WebPage.h: 34979 (WebKit::WebPage::injectedBundleFormClient): 34980 * win/WebKit2.vcproj: 34981 34982 2010-08-05 Sam Weinig <sam (a] webkit.org> 34983 34984 Reviewed by Anders Carlsson. 34985 34986 Add ability to get a JSValueRef for a node handle and a world 34987 https://bugs.webkit.org/show_bug.cgi?id=43591 34988 34989 - Add API to get a JSValueRef for a world, node and frame (the 34990 frame is currently necessary to pick the right globalObject for 34991 the node wrapper). 34992 - Add API to a JSGlobalContextRef for a world and a frame. 34993 34994 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 34995 (WKBundleFrameGetJavaScriptContextForWorld): 34996 (WKBundleFrameGetJavaScriptWrapperForNodeForWorld): 34997 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 34998 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: 34999 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 35000 (WebKit::InjectedBundleNodeHandle::coreNode): 35001 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 35002 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: 35003 (WebKit::InjectedBundleScriptWorld::coreWorld): 35004 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 35005 * WebProcess/WebPage/WebFrame.cpp: 35006 (WebKit::WebFrame::jsContext): 35007 (WebKit::WebFrame::jsContextForWorld): 35008 (WebKit::WebFrame::jsWrapperForWorld): 35009 * WebProcess/WebPage/WebFrame.h: 35010 35011 2010-08-05 Gavin Barraclough <barraclough (a] apple.com> 35012 35013 Rubber stamped by Sam Weinig 35014 35015 Bug 43594 - Add string forwards to Forward.h 35016 This allows us to remove forward declarations for these classes from 35017 WebCore/WebKit (a step in moving these class from WebCore:: to WTF::). 35018 35019 * UIProcess/PageClient.h: 35020 * UIProcess/VisitedLinkProvider.h: 35021 * UIProcess/WebContextInjectedBundleClient.h: 35022 * UIProcess/WebFrameProxy.h: 35023 * UIProcess/WebHistoryClient.h: 35024 * UIProcess/WebLoaderClient.h: 35025 * UIProcess/WebPolicyClient.h: 35026 * UIProcess/WebProcessProxy.h: 35027 * UIProcess/WebUIClient.h: 35028 * UIProcess/win/WebView.h: 35029 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 35030 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 35031 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 35032 * WebProcess/Plugins/NPRuntimeObjectMap.h: 35033 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 35034 * WebProcess/Plugins/PluginController.h: 35035 * WebProcess/WebPage/WebFrame.h: 35036 * WebProcess/WebPage/WebPage.h: 35037 * WebProcess/WebProcess.h: 35038 35039 2010-08-05 Anders Carlsson <andersca (a] apple.com> 35040 35041 Reviewed by Sam Weinig. 35042 35043 Use the visited link provider for visited links 35044 https://bugs.webkit.org/show_bug.cgi?id=43583 35045 35046 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 35047 (WebProcessMessage::): 35048 Remove AddVisitedLink. 35049 35050 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 35051 (WebProcessProxyMessage::): 35052 Remove PopulateVisitedLinks and add AddVisitedLink. 35053 35054 * UIProcess/WebContext.cpp: 35055 (WebKit::WebContext::sharedProcessContext): 35056 Initialize the main run loop before creating the context. 35057 35058 (WebKit::WebContext::sharedThreadContext): 35059 Ditto. 35060 35061 (WebKit::WebContext::create): 35062 Ditto. 35063 35064 (WebKit::WebContext::WebContext): 35065 Initialize the visited link provider. 35066 35067 (WebKit::WebContext::processDidFinishLaunching): 35068 Ask the visited link provider to populate visited links. 35069 35070 (WebKit::WebContext::addVisitedLink): 35071 Ask the visited link provider to add the visited link. 35072 35073 * UIProcess/WebProcessProxy.cpp: 35074 (WebKit::WebProcessProxy::addVisitedLink): 35075 Call WebContext::addVisitedLink. 35076 35077 (WebKit::WebProcessProxy::didReceiveMessage): 35078 Handle AddVisitedLink. 35079 35080 (WebKit::WebProcessProxy::didFinishLaunching): 35081 Call WebContext::processdidFinishLaunching. 35082 35083 * UIProcess/WebProcessProxy.h: 35084 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 35085 (WebKit::WebChromeClient::populateVisitedLinks): 35086 Don't send the WebProcessProxyMessage::PopulateVisitedLinks message. 35087 35088 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 35089 (WebKit::WebPlatformStrategies::isLinkVisited): 35090 Call WebProcess::isLinkVisited. 35091 35092 (WebKit::WebPlatformStrategies::addVisitedLink): 35093 Call WebProcess::addVisitedLink. 35094 35095 * WebProcess/WebProcess.cpp: 35096 (WebKit::WebProcess::setVisitedLinkTable): 35097 Create a shared memory object and tell the visited link table about it. 35098 35099 (WebKit::WebProcess::visitedLinkStateChanged): 35100 Go through the link hashes and call Page::visitedStateChanged. 35101 35102 (WebKit::WebProcess::allVisitedLinkStateChanged): 35103 Call Page::allVisitedStateChanged. 35104 35105 (WebKit::WebProcess::isLinkVisited): 35106 Call VisitedLinkTable::isLinkVisited. 35107 35108 (WebKit::WebProcess::addVisitedLink): 35109 Inform the UI process about the added link. 35110 35111 (WebKit::WebProcess::didReceiveMessage): 35112 Handle new messages. 35113 35114 2010-08-05 Steve Falkenburg <sfalken (a] apple.com> 35115 35116 Windows build fix. 35117 Add missing include path. 35118 35119 * win/WebKit2Common.vsprops: 35120 35121 2010-08-05 Brady Eidson <beidson (a] apple.com> 35122 35123 Rubberstamped by Sam Weinig. 35124 35125 Export WKError.h 35126 35127 * WebKit2.xcodeproj/project.pbxproj: 35128 35129 2010-08-05 Steve Falkenburg <sfalken (a] apple.com> 35130 35131 Windows build fix. 35132 Correct vcproj nesting. 35133 35134 * win/WebKit2.vcproj: 35135 35136 2010-08-05 Sam Weinig <sam (a] webkit.org> 35137 35138 Reviewed by Gavin Barraclough. 35139 35140 Add script world API for injected bundles 35141 https://bugs.webkit.org/show_bug.cgi?id=43577 35142 35143 * Shared/APIObject.h: 35144 (WebKit::APIObject::): 35145 * WebKit2.xcodeproj/project.pbxproj: 35146 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 35147 (WebKit::): 35148 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 35149 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added. 35150 (WKBundleScriptWorldGetTypeID): 35151 (WKBundleScriptWorldCreateWorld): 35152 (WKBundleScriptWorldNormalWorld): 35153 (WKBundleScriptWorldRetain): 35154 (WKBundleScriptWorldRelease): 35155 * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added. 35156 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 35157 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added. 35158 (WebKit::allWorlds): 35159 (WebKit::InjectedBundleScriptWorld::create): 35160 (WebKit::InjectedBundleScriptWorld::getOrCreate): 35161 (WebKit::InjectedBundleScriptWorld::normalWorld): 35162 (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld): 35163 (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld): 35164 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added. 35165 (WebKit::InjectedBundleScriptWorld::type): 35166 * win/WebKit2.vcproj: 35167 * win/WebKit2Generated.make: 35168 35169 2010-08-05 Sam Weinig <sam (a] webkit.org> 35170 35171 Reviewed Anders Carlsson. 35172 35173 Add DOM Node wrapper class for injected bundle 35174 https://bugs.webkit.org/show_bug.cgi?id=43524 35175 35176 - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS 35177 wrapper for the node in a specific world. 35178 35179 * Shared/APIObject.h: 35180 (WebKit::APIObject::): 35181 * WebKit2.xcodeproj/project.pbxproj: 35182 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 35183 (WebKit::): 35184 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 35185 * WebProcess/InjectedBundle/API/c/WKBundleNode.h: 35186 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added. 35187 (WKBundleNodeHandleGetTypeID): 35188 (WKBundleNodeHandleRetain): 35189 (WKBundleNodeHandleRelease): 35190 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added. 35191 * WebProcess/InjectedBundle/DOM: Added. 35192 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added. 35193 (WebKit::domHandleCache): 35194 (WebKit::getDOMHandle): 35195 (WebKit::setDOMHandle): 35196 (WebKit::removeDOMHandle): 35197 (WebKit::InjectedBundleNodeHandle::getOrCreate): 35198 (WebKit::InjectedBundleNodeHandle::create): 35199 (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle): 35200 (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle): 35201 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added. 35202 (WebKit::InjectedBundleNodeHandle::type): 35203 * win/WebKit2.vcproj: 35204 * win/WebKit2Generated.make: 35205 35206 2010-08-05 Anders Carlsson <andersca (a] apple.com> 35207 35208 Build fix. 35209 35210 * Platform/mac/SharedMemoryMac.cpp: 35211 35212 2010-08-05 Anders Carlsson <andersca (a] apple.com> 35213 35214 Reviewed by Sam Weinig. 35215 35216 Add VisitedLinkProvider class 35217 https://bugs.webkit.org/show_bug.cgi?id=43570 35218 35219 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 35220 (WebProcessMessage::): 35221 Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged. 35222 35223 * UIProcess/VisitedLinkProvider.cpp: Added. 35224 (WebKit::VisitedLinkProvider::VisitedLinkProvider): 35225 Initialize table. 35226 35227 (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded): 35228 Ask the context to populate visited links. 35229 35230 (WebKit::VisitedLinkProvider::addVisitedLink): 35231 Add the link hash to the set of pending visited links and start the timer. 35232 35233 (WebKit::nextPowerOf2): 35234 Add helper function. 35235 35236 (WebKit::tableSizeForKeyCount): 35237 Given a key count, returns a table size. The table size is always a power of two, and 35238 is chosen so that the table is always at least half empty. 35239 35240 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): 35241 First, check if we need to resize the hash table and allocate new shared memory for it if that is the case. 35242 Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web 35243 process about visited links whose state have changed. 35244 35245 * WebProcess/WebProcess.cpp: 35246 (WebKit::WebProcess::didReceiveMessage): 35247 Add case statements. 35248 35249 * win/WebKit2.vcproj: 35250 * WebKit2.xcodeproj/project.pbxproj: 35251 Add VisitedLinkProvider.cpp and VisitedLinkProvider.h. 35252 35253 2010-08-05 Anders Carlsson <andersca (a] apple.com> 35254 35255 Reviewed by Sam Weinig. 35256 35257 Add VisitedLinkTable class 35258 https://bugs.webkit.org/show_bug.cgi?id=43566 35259 35260 * Shared/VisitedLinkTable.cpp: Added. 35261 (WebKit::VisitedLinkTable::VisitedLinkTable): 35262 (WebKit::VisitedLinkTable::~VisitedLinkTable): 35263 Add out of line constructors so we won't have to include SharedMemory.h in the 35264 VisitedLinkTable.h header. 35265 35266 (WebKit::isPowerOf2): 35267 Add helper function. 35268 35269 (WebKit::VisitedLinkTable::setSharedMemory): 35270 Set the new shared memory and update the table size and hash. 35271 35272 (WebKit::doubleHash): 35273 Add helper function from the WTF HashTable. 35274 35275 (WebKit::VisitedLinkTable::addLinkHash): 35276 Add a link hash to the table. 35277 35278 (WebKit::VisitedLinkTable::isLinkVisited): 35279 See if there is an entry for the given link hash. 35280 35281 * Shared/VisitedLinkTable.h: Added. 35282 (WebKit::VisitedLinkTable::sharedMemory): 35283 * WebKit2.xcodeproj/project.pbxproj: 35284 * win/WebKit2.vcproj: 35285 Add VisitedLinkTable.cpp and VisitedLinkTable.h 35286 35287 2010-08-04 Anders Carlsson <andersca (a] apple.com> 35288 35289 Reviewed by Adam Roben. 35290 35291 Add shared memory abstraction 35292 https://bugs.webkit.org/show_bug.cgi?id=43535 35293 <rdar://problem/8275295> 35294 35295 * Platform/SharedMemory.h: Added. 35296 (WebKit::SharedMemory::): 35297 (WebKit::SharedMemory::size): 35298 Return the size, in bytes, of the shared memory object. 35299 35300 (WebKit::SharedMemory::data): 35301 Return a pointer to the shared memory object. 35302 35303 * Platform/mac/SharedMemoryMac.cpp: Added. 35304 (WebKit::SharedMemory::Handle): 35305 A shared memory handle, which can be passed in a CoreIPC Connection. 35306 35307 (WebKit::SharedMemory::create): 35308 Allocate the shared memory. 35309 35310 (WebKit::SharedMemory::~SharedMemory): 35311 Deallocate the shared memory. 35312 35313 (WebKit::SharedMemory::createHandle): 35314 Create a mach port and pass it to the handle. 35315 35316 (WebKit::SharedMemory::systemPageSize): 35317 Return the system page size, in bytes. 35318 35319 * Platform/win/SharedMemoryWin.cpp: Added. 35320 Add stubbed out version. 35321 35322 * WebKit2.xcodeproj/project.pbxproj: 35323 * win/WebKit2.vcproj: 35324 Add files. 35325 35326 2010-08-05 Jian Li <jianli (a] chromium.org> 35327 35328 Reviewed by David Levin. 35329 35330 Unify blob related feature defines to ENABLE(BLOB). 35331 https://bugs.webkit.org/show_bug.cgi?id=43081 35332 35333 * Configurations/FeatureDefines.xcconfig: 35334 35335 2010-08-05 Balazs Kelemen <kb (a] inf.u-szeged.hu> 35336 35337 Rubber-stamped by Kenneth Rohde Christiansen. 35338 35339 [Qt] Remove redundant include paths from WebKit2.pro. 35340 35341 * WebKit2.pro: 35342 35343 2010-08-04 Adam Roben <aroben (a] apple.com> 35344 35345 Teach WebKit2 how to load the TestNetscapePlugin 35346 35347 Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to 35348 load TestNetscapePlugin 35349 35350 Reviewed by Jon Honeycutt. 35351 35352 * Platform/Module.cpp: 35353 (WebKit::Module::Module): Initialize m_module on Windows. 35354 35355 * Platform/Module.h: Added m_module on Windows. 35356 35357 * Platform/win/ModuleWin.cpp: 35358 (WebKit::Module::load): Implemented using ::LoadLibraryExW. 35359 (WebKit::Module::unload): Implemented using ::FreeLibrary. 35360 (WebKit::Module::platformFunctionPointer): Implemented using 35361 ::GetProcAddress. 35362 35363 * Platform/win/RunLoopWin.cpp: 35364 (RunLoop::TimerBase::timerFired): Kill the native timer before calling 35365 the fired callback. This makes all our timers non-repeating, but 35366 that's all we need currently. 35367 (RunLoop::TimerBase::start): Added an assertion to help us figure out 35368 when we need to implement repeating timers. Also fixed a typo. 35369 35370 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 35371 (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME. 35372 35373 (WebKit::PathWalker::PathWalker): 35374 (WebKit::PathWalker::~PathWalker): 35375 (WebKit::PathWalker::isValid): 35376 (WebKit::PathWalker::data): 35377 (WebKit::PathWalker::step): 35378 Added. This class wraps the ::FindFirstFile/::FindNextFile APIs. 35379 35380 (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by 35381 porting logic from 35382 WebCore::PluginDatabase::getPluginPathsInDirectories. 35383 (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp. 35384 (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic 35385 from WebCore::PluginPackage::fetchInfo. 35386 (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return 35387 true for now. Added a FIXME about implementing this for real. 35388 35389 * UIProcess/WebProcessProxy.cpp: 35390 (WebKit::WebProcessProxy::didReceiveSyncMessage): 35391 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 35392 (WebKit::WebFrameLoaderClient::createPlugin): 35393 Removed PLATFORM(MAC) guards around plugin code. 35394 35395 * win/WebKit2.vcproj: Let VS sort the file. 35396 35397 2010-08-05 Antti Koivisto <koivisto (a] iki.fi> 35398 35399 Reviewed by Kenneth Rohde Christiansen. 35400 35401 Use toCopiedRef for making WK objects 35402 https://bugs.webkit.org/show_bug.cgi?id=43552 35403 35404 * UIProcess/API/cpp/qt/WKStringQt.cpp: 35405 (WKStringCreateWithQString): 35406 * UIProcess/API/cpp/qt/WKURLQt.cpp: 35407 (WKURLCreateWithQUrl): 35408 35409 2010-08-04 Brady Eidson <beidson (a] apple.com> 35410 35411 Reviewed by Sam Weinig. 35412 35413 Change callback APIs to include an Error object in one callback, instead of having a second callback for failure. 35414 https://bugs.webkit.org/show_bug.cgi?id=43522 35415 35416 This includes adding a WKErrorRef object which - for now - either exists or doesn't. 35417 In the future, it may contain useful information about the error. 35418 35419 * WebKit2.xcodeproj/project.pbxproj: 35420 * win/WebKit2.vcproj: 35421 * win/WebKit2Generated.make: 35422 35423 * Shared/APIObject.h: 35424 (WebKit::APIObject::): 35425 * UIProcess/API/C/WKAPICast.h: 35426 * UIProcess/API/C/WKBase.h: 35427 35428 * Shared/WebError.h: Added. 35429 (WebKit::WebError::create): 35430 (WebKit::WebError::WebError): 35431 (WebKit::WebError::type): 35432 35433 * UIProcess/API/C/WKError.cpp: Added. 35434 (WKErrorGetTypeID): 35435 * UIProcess/API/C/WKError.h: Added. 35436 35437 * UIProcess/API/C/WKPage.cpp: 35438 (WKPageRunJavaScriptInMainFrame): 35439 (callRunJavaScriptBlockAndRelease): 35440 (WKPageRunJavaScriptInMainFrame_b): 35441 (WKPageRenderTreeExternalRepresentation): 35442 (callRenderTreeExternalRepresentationBlockAndDispose): 35443 (WKPageRenderTreeExternalRepresentation_b): 35444 * UIProcess/API/C/WKPage.h: 35445 * UIProcess/API/C/WKPagePrivate.h: 35446 35447 * UIProcess/GenericCallback.h: 35448 (WebKit::GenericCallback::create): 35449 (WebKit::GenericCallback::performCallbackWithReturnValue): 35450 (WebKit::GenericCallback::invalidate): 35451 (WebKit::GenericCallback::GenericCallback): 35452 35453 2010-08-04 Ada Chan <adachan (a] apple.com> 35454 35455 Windows build fix 35456 35457 * win/WebKit2Generated.make: 35458 35459 2010-08-04 John Sullivan <sullivan (a] apple.com> 35460 35461 Build fix, rubber-stamped by Brady Eidson. 35462 35463 * WebKit2.xcodeproj/project.pbxproj: 35464 Made WKData.h a public header. 35465 35466 2010-08-04 Adam Roben <aroben (a] apple.com> 35467 35468 Windows build fix 35469 35470 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 35471 (WebKit::NPN_SetValue): Removed unreachable code. 35472 35473 2010-08-04 Adam Roben <aroben (a] apple.com> 35474 35475 Windows build fix 35476 35477 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 35478 (WebKit::NPN_SetValue): Added some case statements that are compiled 35479 on Windows to avoid a warning about having default but not cases. 35480 35481 2010-08-04 Adam Roben <aroben (a] apple.com> 35482 35483 Windows build fix 35484 35485 * win/WebKit2.vcproj: Added NetscapeBrowserFuncs. 35486 35487 2010-08-04 Adam Roben <aroben (a] apple.com> 35488 35489 Windows build fix 35490 35491 The functions in NetscapePluginModuleWin.cpp have been moved to 35492 NetscapePluginModule.cpp. 35493 35494 * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed. 35495 * win/WebKit2.vcproj: Removed NetscapePluginModuleWin. 35496 35497 2010-08-04 Adam Roben <aroben (a] apple.com> 35498 35499 Move bundle-loading code from NetscapePluginModule to a new Module 35500 class 35501 35502 This allows more NetscapePluginModule code to be cross-platform. 35503 35504 Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload 35505 should be cross-platform 35506 35507 Reviewed by Anders Carlsson. 35508 35509 * Platform/Module.cpp: Added. 35510 (WebKit::Module::Module): Store our path. 35511 (WebKit::Module::~Module): Unload our native module. 35512 35513 * Platform/Module.h: Added. 35514 (WebKit::Module::leakBundle): Does what it says. 35515 (WebKit::Module::functionPointer): Returns a pointer to the named 35516 function, with the right type. 35517 35518 * Platform/mac/ModuleMac.mm: Added. 35519 (WebKit::Module::load): Code was moved here from 35520 NetscapePluginModule::tryLoad. 35521 (WebKit::Module::unload): Just clears our bundle. 35522 (WebKit::Module::platformFunctionPointer): Code was moved here from 35523 NetscapePluginModuleMac.cpp. 35524 35525 * Platform/qt/ModuleQt.cpp: Added. 35526 (WebKit::Module::load): 35527 (WebKit::Module::unload): 35528 (WebKit::Module::platformFunctionPointer): 35529 * Platform/win/ModuleWin.cpp: Added. 35530 (WebKit::Module::load): 35531 (WebKit::Module::unload): 35532 (WebKit::Module::platformFunctionPointer): 35533 Just stubbed out these functions. 35534 35535 * WebKit2.xcodeproj/project.pbxproj: Added Module. 35536 35537 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 35538 (WebKit::NetscapePluginModule::tryLoad): 35539 (WebKit::NetscapePluginModule::unload): 35540 Moved here from NetscapePluginModuleMac.cpp. Now uses the 35541 cross-platform m_module member. 35542 35543 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced 35544 m_bundle with m_module. 35545 35546 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed. 35547 35548 * win/WebKit2.vcproj: Added Module. 35549 35550 2010-08-04 Brady Eidson <beidson (a] apple.com> 35551 35552 Reviewed by Sam Weinig. 35553 35554 Lay the groundwork for saving/restoring page session state to WK2 35555 https://bugs.webkit.org/show_bug.cgi?id=43495 35556 35557 * WebKit2.xcodeproj/project.pbxproj: 35558 * win/WebKit2.vcproj: 35559 35560 * Shared/APIObject.h: 35561 (WebKit::APIObject::): 35562 * UIProcess/API/C/WKAPICast.h: 35563 * UIProcess/API/C/WKBase.h: 35564 35565 Arbitrary byte buffer: 35566 * Shared/WebData.h: Added. 35567 (WebKit::WebData::create): 35568 (WebKit::WebData::bytes): 35569 (WebKit::WebData::size): 35570 (WebKit::WebData::WebData): 35571 (WebKit::WebData::type): 35572 35573 API facing object to act as a byte buffer: 35574 * UIProcess/API/C/WKData.cpp: Added. 35575 (WKDataGetTypeID): 35576 (WKDataCreate): 35577 (WKDataGetBytes): 35578 (WKDataGetSize): 35579 (WKDataRetain): 35580 (WKDataRelease): 35581 * UIProcess/API/C/WKData.h: Added. 35582 35583 API for saving/restoring state: 35584 * UIProcess/API/C/WKPage.cpp: 35585 (WKPageCopySessionState): 35586 (WKPageRestoreFromSessionState): 35587 * UIProcess/API/C/WKPage.h: 35588 35589 These will be filled in later: 35590 * UIProcess/WebPageProxy.cpp: 35591 (WebKit::WebPageProxy::sessionState): 35592 (WebKit::WebPageProxy::restoreFromSessionState): 35593 * UIProcess/WebPageProxy.h: 35594 35595 35596 2010-08-04 Sam Weinig <sam (a] webkit.org> 35597 35598 Reviewed by Anders Carlsson. 35599 35600 Set correct default minimumFontSize. 35601 35602 * Shared/WebPreferencesStore.cpp: 35603 (WebKit::WebPreferencesStore::WebPreferencesStore): 35604 35605 2010-08-03 Adam Roben <aroben (a] apple.com> 35606 35607 Turn on PLATFORM_STRATEGIES on Windows 35608 35609 Fixes <http://webkit.org/b/43431>. 35610 35611 Reviewed by Anders Carlsson. 35612 35613 * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder 35614 this file as it saw fit. 35615 35616 2010-08-03 Balazs Kelemen <kb (a] inf.u-szeged.hu> 35617 35618 Reviewed by Kenneth Rohde Christiansen. 35619 35620 [Qt] Close the WebProcess 35621 35622 https://bugs.webkit.org/show_bug.cgi?id=41690 35623 35624 * Platform/CoreIPC/qt/ConnectionQt.cpp: 35625 (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected. 35626 * Platform/qt/RunLoopQt.cpp: 35627 (RunLoop::stop): Implemented by calling QCoreApplication::exit. 35628 35629 2010-08-03 Jon Honeycutt <jhoneycutt (a] apple.com> 35630 35631 WebKitTestRunner needs to activate the Mac font ascent hack 35632 https://bugs.webkit.org/show_bug.cgi?id=43404 35633 35634 Reviewed by Darin Adler. 35635 35636 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 35637 (WKBundleActivateMacFontAscentHack): 35638 Get the InjectedBundle, and calls its activateMacFontAscentHack(). 35639 35640 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 35641 Declare WKBundleActivateMacFontAscentHack(). 35642 35643 * WebProcess/InjectedBundle/InjectedBundle.h: 35644 Declare activateMacFontAscentHack(). 35645 35646 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 35647 (WebKit::InjectedBundle::activateMacFontAscentHack): 35648 Stubbed. 35649 35650 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: 35651 (WebKit::InjectedBundle::activateMacFontAscentHack): 35652 Stubbed. 35653 35654 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: 35655 (WebKit::InjectedBundle::activateMacFontAscentHack): 35656 Activate the ascent hack. 35657 35658 2010-08-03 Simon Fraser <simon.fraser (a] apple.com> 35659 35660 Fix typo in typo fix. 35661 35662 * Shared/DrawingAreaBase.h: 35663 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo): 35664 (WebKit::DrawingAreaBase::DrawingAreaBase): 35665 35666 2010-08-03 Simon Fraser <simon.fraser (a] apple.com> 35667 35668 Fix typo in previous commit. 35669 35670 * Shared/DrawingAreaBase.h: 35671 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo): 35672 (WebKit::DrawingAreaBase::DrawingAreaBase): 35673 35674 2010-08-03 Simon Fraser <simon.fraser (a] apple.com> 35675 35676 Reviewed by Anders Carlsson. 35677 35678 Compositing iframe layout test crashes in WebKit2 35679 https://bugs.webkit.org/show_bug.cgi?id=42860 35680 35681 Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea 35682 that it has replaced. 35683 35684 This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing 35685 this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message 35686 also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored. 35687 35688 Refactored some common code and data into a DrawingAreaBase class which is shared, and adding 35689 encode/decode of DrawingAreaInfo. 35690 35691 * Shared/DrawingAreaBase.cpp: Added. 35692 (WebKit::DrawingAreaBase::encode): 35693 (WebKit::DrawingAreaBase::decode): 35694 * Shared/DrawingAreaBase.h: Added. 35695 (WebKit::DrawingAreaBase::): 35696 (WebKit::DrawingAreaBase::~DrawingAreaBase): 35697 (WebKit::DrawingAreaBase::type): 35698 (WebKit::DrawingAreaBase::id): 35699 (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo): 35700 (WebKit::DrawingAreaBase::DrawingAreaBase): 35701 (CoreIPC::): 35702 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 35703 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize): 35704 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 35705 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 35706 * UIProcess/DrawingAreaProxy.cpp: 35707 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 35708 (WebKit::DrawingAreaProxy::nextDrawingAreaID): 35709 * UIProcess/DrawingAreaProxy.h: 35710 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 35711 (WebKit::LayerBackedDrawingAreaProxy::setSize): 35712 (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible): 35713 (WebKit::LayerBackedDrawingAreaProxy::update): 35714 * UIProcess/LayerBackedDrawingAreaProxy.h: 35715 * UIProcess/WebPageProxy.cpp: 35716 (WebKit::WebPageProxy::didReceiveSyncMessage): 35717 * WebKit2.xcodeproj/project.pbxproj: 35718 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 35719 (WebKit::WebChromeClient::createWindow): 35720 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 35721 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 35722 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 35723 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 35724 * WebProcess/WebPage/DrawingArea.cpp: 35725 (WebKit::DrawingArea::create): 35726 (WebKit::DrawingArea::DrawingArea): 35727 * WebProcess/WebPage/DrawingArea.h: 35728 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 35729 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 35730 (WebKit::LayerBackedDrawingArea::didReceiveMessage): 35731 * WebProcess/WebPage/LayerBackedDrawingArea.h: 35732 * WebProcess/WebPage/WebPage.cpp: 35733 (WebKit::WebPage::create): 35734 (WebKit::WebPage::WebPage): 35735 (WebKit::WebPage::changeAcceleratedCompositingMode): 35736 * WebProcess/WebPage/WebPage.h: 35737 * WebProcess/WebProcess.cpp: 35738 (WebKit::WebProcess::createWebPage): 35739 (WebKit::WebProcess::didReceiveMessage): 35740 * WebProcess/WebProcess.h: 35741 * win/WebKit2.vcproj: 35742 35743 2010-08-03 Alex Milowski <alex (a] milowski.com> 35744 35745 Reviewed by Beth Dakin. 35746 35747 Changed the ENABLE_MATHML value to enable MathML by default. 35748 35749 * Configurations/FeatureDefines.xcconfig: 35750 35751 2010-08-03 Simon Fraser <simon.fraser (a] apple.com> 35752 35753 Reviewed by Sam Weinig. 35754 35755 Compositing iframe layout test crashes in WebKit2 35756 https://bugs.webkit.org/show_bug.cgi?id=42860 35757 35758 Part one of the fix: make DrawingArea ref-counted, so that the object 35759 can survide a swap in drawing areas inside the run loop observer callback. 35760 35761 * WebProcess/WebPage/DrawingArea.cpp: 35762 (WebKit::DrawingArea::create): 35763 * WebProcess/WebPage/DrawingArea.h: 35764 * WebProcess/WebPage/WebPage.h: 35765 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 35766 (WebKit::LayerBackedDrawingArea::platformClear): 35767 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback): 35768 (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired): 35769 35770 2010-08-03 Anders Carlsson <andersca (a] apple.com> 35771 35772 Reviewed by Adam Roben. 35773 35774 Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests 35775 https://bugs.webkit.org/show_bug.cgi?id=42926 35776 <rdar://problem/8237329> 35777 35778 Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before 35779 waitForReply was called on the client thread, but that case is already covered. 35780 35781 * Platform/CoreIPC/Connection.cpp: 35782 (CoreIPC::Connection::processIncomingMessage): 35783 35784 2010-08-03 Adam Roben <aroben (a] apple.com> 35785 35786 Compile out two Mac-only localized strings on non-Mac platforms 35787 35788 Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and 35789 AXARIAContentGroupText should only be compiled on Mac 35790 35791 Reviewed by Anders Carlsson. 35792 35793 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 35794 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 35795 Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in 35796 PLATFORM(MAC). 35797 35798 2010-08-03 Balazs Kelemen <kb (a] inf.u-szeged.hu> 35799 35800 [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file. 35801 35802 Use QMAKE_MKDIR as the command for directory creation. 35803 35804 * DerivedSources.pro: 35805 35806 2010-08-02 Brady Eidson <beidson (a] apple.com> 35807 35808 Reviewed by Anders Carlsson. 35809 35810 Add VisitedLinkStrategy for each platform to implement 35811 https://bugs.webkit.org/show_bug.cgi?id=43393 35812 35813 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 35814 (WebKit::WebPlatformStrategies::createVisitedLinkStrategy): 35815 (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now. 35816 (WebKit::WebPlatformStrategies::addVisitedLink): Ditto. 35817 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 35818 35819 2010-07-27 Luiz Agostini <luiz.agostini (a] openbossa.org> 35820 35821 Reviewed by Darin Fisher. 35822 35823 PopupMenu refactoring in preparation to WebKit2 35824 https://bugs.webkit.org/show_bug.cgi?id=42592 35825 35826 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and 35827 SearchPopupMenu respectively. At this point they are just empty implementations. 35828 35829 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added. 35830 (WebKit::WebPopupMenu::WebPopupMenu): 35831 (WebKit::WebPopupMenu::~WebPopupMenu): 35832 (WebKit::WebPopupMenu::disconnectClient): 35833 (WebKit::WebPopupMenu::show): 35834 (WebKit::WebPopupMenu::hide): 35835 (WebKit::WebPopupMenu::updateFromElement): 35836 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added. 35837 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added. 35838 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): 35839 (WebKit::WebSearchPopupMenu::popupMenu): 35840 (WebKit::WebSearchPopupMenu::saveRecentSearches): 35841 (WebKit::WebSearchPopupMenu::loadRecentSearches): 35842 (WebKit::WebSearchPopupMenu::enabled): 35843 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added. 35844 35845 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu 35846 instances, concrete classes that inherit from ChromeClient needed to be changed to 35847 implement the new methods. 35848 35849 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 35850 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): 35851 (WebKit::WebChromeClient::createPopupMenu): 35852 (WebKit::WebChromeClient::createSearchPopupMenu): 35853 * WebProcess/WebCoreSupport/WebChromeClient.h: 35854 35855 build issues: 35856 35857 * WebKit2.xcodeproj/project.pbxproj: 35858 * win/WebKit2.vcproj: 35859 35860 2010-08-02 Anders Carlsson <andersca (a] apple.com> 35861 35862 Reviewed by Sam Weinig. 35863 35864 Fix plug-in test failures and remove tests from the Skipped list 35865 https://bugs.webkit.org/show_bug.cgi?id=43389 35866 35867 * WebProcess/Plugins/JSNPMethod.cpp: 35868 JSNPMethod::s_info should specify InternalFunction::info as its parent. 35869 35870 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 35871 (WebKit::NetscapePlugin::cancelStreamLoad): 35872 Special-case the manual stream and call PluginController::cancelManualStreamLoad. 35873 35874 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 35875 (WebKit::NetscapePluginStream::stop): 35876 It's OK to call stop on a stream that hasn't been started. Remove assertion and return early. 35877 35878 * WebProcess/Plugins/PluginController.h: 35879 Add cancelManualStreamLoad. 35880 35881 * WebProcess/Plugins/PluginView.cpp: 35882 (WebKit::PluginView::cancelManualStreamLoad): 35883 Tell the document loader to cancel the main resource load. 35884 35885 * WebProcess/WebPage/WebFrame.cpp: 35886 (WebKit::WebFrame::innerText): 35887 Check for a null document element. 35888 35889 2010-08-02 Anders Carlsson <andersca (a] apple.com> 35890 35891 Reviewed by Sam Weinig. 35892 35893 Add support for loading manual streams 35894 https://bugs.webkit.org/show_bug.cgi?id=43380 35895 35896 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 35897 (WebKit::NetscapePlugin::NetscapePlugin): 35898 Initialize m_loadManually to false. 35899 35900 (WebKit::NetscapePlugin::removePluginStream): 35901 Special case the manual stream. 35902 35903 (WebKit::NetscapePlugin::initialize): 35904 Don't request the stream if we're already loading. 35905 35906 (WebKit::NetscapePlugin::manualStreamDidReceiveResponse): 35907 Create the manual stream and pass the response to it. 35908 35909 (WebKit::NetscapePlugin::manualStreamDidReceiveData): 35910 Pass the data to the manual stream. 35911 35912 (WebKit::NetscapePlugin::manualStreamDidFinishLoading): 35913 Call the manual stream. 35914 35915 (WebKit::NetscapePlugin::manualStreamDidFail): 35916 Ditto. 35917 35918 * WebProcess/Plugins/Plugin.h: 35919 Add pure virtual member functions for manual stream loading. 35920 35921 * WebProcess/Plugins/PluginView.cpp: 35922 (WebKit::buildHTTPHeaders): 35923 Put code in a function so both PluginView::Stream::didReceiveResponse and 35924 manualLoadDidReceiveResponse can call it. 35925 35926 (WebKit::PluginView::Stream::didReceiveResponse): 35927 Call buildHTTPHeaders. 35928 35929 (WebKit::PluginView::Stream::didFinishLoading): 35930 Protect the plug-in when calling destroyStream. 35931 35932 (WebKit::PluginView::manualLoadDidReceiveResponse): 35933 Call Plugin::manualStreamDidReceiveResponse. 35934 35935 (WebKit::PluginView::manualLoadDidReceiveData): 35936 Call Plugin::manualStreamDidReceiveData. 35937 35938 (WebKit::PluginView::manualLoadDidFinishLoading): 35939 Call Plugin::manualStreamDidFinishLoading. 35940 35941 (WebKit::PluginView::manualLoadDidFail): 35942 Call Plugin::manualStreamDidFail. 35943 35944 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 35945 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 35946 Initialize m_hasSentResponseToPluginView to false. 35947 35948 (WebKit::WebFrameLoaderClient::setMainDocumentError): 35949 Call PluginView::manualLoadDidFail. 35950 35951 (WebKit::WebFrameLoaderClient::committedLoad): 35952 Call PluginView::manualLoadDidReceiveResponse. 35953 35954 (WebKit::WebFrameLoaderClient::finishedLoading): 35955 Call PluginView::manualLoadDidFinishLoading. 35956 35957 (WebKit::WebFrameLoaderClient::redirectDataToPlugin): 35958 Keep track of the plug-in view. 35959 35960 2010-08-02 Brady Eidson <beidson (a] apple.com> 35961 35962 Reviewed by Anders Carlsson. 35963 35964 Basic WK2 visited link coloring 35965 https://bugs.webkit.org/show_bug.cgi?id=43377 35966 35967 Add simple API that allows the WK2 app to add 1 visited link at a time. 35968 For now, this just pipes each individual LinkHash down to WebCore. 35969 35970 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 35971 (WebProcessMessage::): 35972 35973 * UIProcess/API/C/WKContext.cpp: 35974 (WKContextAddVisitedLink): 35975 * UIProcess/API/C/WKContext.h: 35976 35977 * UIProcess/WebContext.cpp: 35978 (WebKit::WebContext::addVisitedLink): 35979 * UIProcess/WebContext.h: 35980 35981 * WebProcess/WebProcess.cpp: 35982 (WebKit::WebProcess::addVisitedLinkHash): 35983 (WebKit::WebProcess::didReceiveMessage): 35984 * WebProcess/WebProcess.h: 35985 35986 2010-08-02 Darin Adler <darin (a] apple.com> 35987 35988 Reviewed by Sam Weinig. 35989 35990 WebKitTestRunner needs layoutTestController.setCanOpenWindows 35991 https://bugs.webkit.org/show_bug.cgi?id=42321 35992 35993 WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete 35994 https://bugs.webkit.org/show_bug.cgi?id=42779 35995 35996 Implemented window.close, added a function that does a similar operation on behalf 35997 of injected bundle code named WKBundlePageClose, and fixed the reference counting of 35998 the result of the createNewPage client function. 35999 36000 * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed 36001 releaseRef to leakRef. 36002 36003 * UIProcess/API/mac/WKView.mm: 36004 (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This 36005 came up in WebKitTestRunner and other functions handle drawing area of 0. 36006 36007 * UIProcess/WebPageProxy.cpp: 36008 (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage 36009 returns a PassRefPtr. 36010 (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr. 36011 * UIProcess/WebPageProxy.h: Ditto. 36012 36013 * UIProcess/WebUIClient.cpp: 36014 (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt 36015 the WKPageRef passed from the client. This follows the "create rule". 36016 * UIProcess/WebUIClient.h: Ditto. 36017 36018 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 36019 (WKBundlePageClose): Added. 36020 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose 36021 and re-sorted the other functions in this file. 36022 36023 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36024 (WebKit::WebChromeClient::closeWindowSoon): Implemented this. 36025 36026 * WebProcess/WebPage/WebPage.cpp: 36027 (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true). 36028 I suppose we will need to revisit this later when we implement pop-up blocking. 36029 (WebKit::WebPage::tryClose): Factored out the part of this that sends a message 36030 to the other process. 36031 (WebKit::WebPage::sendClose): This is where the part that sends a message went. 36032 * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon 36033 and WKBundlePageClose. 36034 36035 2010-08-02 John Sullivan <sullivan (a] apple.com> 36036 36037 https://bugs.webkit.org/show_bug.cgi?id=43369 36038 WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array 36039 36040 Reviewed by Ada Chan. 36041 36042 * UIProcess/WebBackForwardList.cpp: 36043 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 36044 Use a simpler and correct expression to determine "last". 36045 36046 2010-08-02 Anders Carlsson <andersca (a] apple.com> 36047 36048 Reviewed by Sam Weinig. 36049 36050 Protect the plug-in from being destroyed while in plug-in code 36051 https://bugs.webkit.org/show_bug.cgi?id=43370 36052 36053 Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject. 36054 36055 * WebProcess/Plugins/JSNPObject.cpp: 36056 (WebKit::JSNPObject::callMethod): 36057 (WebKit::JSNPObject::callObject): 36058 (WebKit::JSNPObject::callConstructor): 36059 (WebKit::JSNPObject::put): 36060 (WebKit::JSNPObject::getOwnPropertyNames): 36061 (WebKit::JSNPObject::propertyGetter): 36062 Add PluginProtector declarations. 36063 36064 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36065 (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector): 36066 Ref the plug-in view (unless it's being destroyed). 36067 36068 (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector): 36069 * WebProcess/Plugins/NPRuntimeObjectMap.h: 36070 36071 * WebProcess/Plugins/PluginView.cpp: 36072 (WebKit::PluginView::PluginView): 36073 Initialize m_isBeingDestroyed. 36074 36075 (WebKit::PluginView::~PluginView): 36076 Set m_isBeingDestroyed to true. 36077 36078 (WebKit::PluginView::scriptObject): 36079 Don't crash if the plug-in failed to initialize. 36080 36081 (WebKit::PluginView::evaluate): 36082 Remove comment. 36083 36084 * WebProcess/Plugins/PluginView.h: 36085 (WebKit::PluginView::isBeingDestroyed): 36086 36087 2010-08-02 Anders Carlsson <andersca (a] apple.com> 36088 36089 Reviewed by Sam Weinig. 36090 36091 Cache JSNPObjects and fix bugs in the object map 36092 https://bugs.webkit.org/show_bug.cgi?id=43368 36093 36094 * WebProcess/Plugins/JSNPObject.cpp: 36095 (WebKit::JSNPObject::JSNPObject): 36096 Assert that we're not trying to wrap an NPJSObject. 36097 36098 (WebKit::JSNPObject::~JSNPObject): 36099 Tell the object map that we're gone. 36100 36101 (WebKit::JSNPObject::invalidate): 36102 Release the NPObject and null out the pointer. 36103 36104 * WebProcess/Plugins/NPJSObject.cpp: 36105 (WebKit::NPJSObject::create): 36106 Assert that we're not trying to wrap a JSNPObject. 36107 36108 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36109 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 36110 If we're passed a JSNPObject, just extract its NPObject. 36111 36112 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 36113 If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have 36114 a JSObject for this NPObject and return it. 36115 36116 (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed): 36117 Remove the object from the map. 36118 36119 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): 36120 getOrCreateJSObject now checks for wrapped objects. 36121 36122 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 36123 getOrCreateNPObject now checks for wrapped objects. 36124 36125 (WebKit::NPRuntimeObjectMap::invalidate): 36126 Invalidate JSNPObjects as well. 36127 36128 2010-08-02 Jeremy Orlow <jorlow (a] chromium.org> 36129 36130 Speculative revert of 64425 due to Chromium instability 36131 https://bugs.webkit.org/show_bug.cgi?id=43347 36132 36133 * WebKit2.xcodeproj/project.pbxproj: 36134 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36135 * WebProcess/WebCoreSupport/WebChromeClient.h: 36136 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed. 36137 * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed. 36138 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed. 36139 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed. 36140 * win/WebKit2.vcproj: 36141 36142 2010-08-02 Balazs Kelemen <kb (a] inf.u-szeged.hu> 36143 36144 Reviewed by Simon Hausmann. 36145 36146 [Qt] Generate forwarding headers for WebKit2 36147 36148 https://bugs.webkit.org/show_bug.cgi?id=43336 36149 36150 * DerivedSources.pro: Added. 36151 36152 2010-08-01 Anders Carlsson <andersca (a] apple.com> 36153 36154 Reviewed by Sam Weinig. 36155 36156 Implement NPN_SetException 36157 https://bugs.webkit.org/show_bug.cgi?id=43320 36158 36159 * WebProcess/Plugins/JSNPObject.cpp: 36160 (WebKit::JSNPObject::callConstructor): 36161 (WebKit::JSNPObject::put): 36162 (WebKit::JSNPObject::getOwnPropertyNames): 36163 (WebKit::JSNPObject::propertyGetter): 36164 Call NPRuntimeObjectMap::moveGlobalExceptionToExecState. 36165 36166 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36167 (WebKit::globalExceptionString): 36168 Add static global. 36169 36170 (WebKit::NPRuntimeObjectMap::setGlobalException): 36171 Set the global exception string. 36172 36173 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 36174 Create an error from the exception string. 36175 36176 * WebProcess/Plugins/NPRuntimeObjectMap.h: 36177 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36178 (WebKit::NPN_SetException): 36179 Call NetscapePlugin::setException. 36180 36181 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 36182 (WebKit::NetscapePlugin::setException): 36183 Call NPRuntimeObjectMap::setGlobalException. 36184 36185 2010-08-01 Sam Weinig <sam (a] webkit.org> 36186 36187 Roll r64446 out. It broke the test runner. 36188 36189 * UIProcess/WebContext.cpp: 36190 (WebKit::WebContext::postMessageToInjectedBundle): 36191 36192 2010-08-01 Sam Weinig <sam (a] webkit.org> 36193 36194 Reviewed by Anders Carlsson. 36195 36196 Don't send user messages to the injected bundle if the process is not active 36197 https://bugs.webkit.org/show_bug.cgi?id=43317 36198 36199 * UIProcess/WebContext.cpp: 36200 (WebKit::WebContext::postMessageToInjectedBundle): 36201 36202 2010-08-01 Sam Weinig <sam (a] webkit.org> 36203 36204 Reviewed by Anders Carlsson. 36205 36206 Add ability to reset frame names for WebKitTestRunner 36207 https://bugs.webkit.org/show_bug.cgi?id=43316 36208 36209 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 36210 (WKBundlePageClearMainFrameName): 36211 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 36212 * WebProcess/WebPage/WebPage.cpp: 36213 (WebKit::WebPage::clearMainFrameName): 36214 * WebProcess/WebPage/WebPage.h: 36215 36216 2010-08-01 Anders Carlsson <andersca (a] apple.com> 36217 36218 Reviewed by Sam Weinig. 36219 36220 Minor NPRuntime fixes 36221 https://bugs.webkit.org/show_bug.cgi?id=43318 36222 36223 * WebProcess/Plugins/JSNPObject.h: 36224 (WebKit::JSNPObject::npObject): 36225 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36226 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 36227 If we see an JSNPObject, extract the NPObject. 36228 36229 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36230 (WebKit::NPN_GetProperty): 36231 Don't check for whether the property exists before getting it. 36232 36233 2010-08-01 Anders Carlsson <andersca (a] apple.com> 36234 36235 Reviewed by Sam Weinig. 36236 36237 Implement NPN_RemoveProperty 36238 https://bugs.webkit.org/show_bug.cgi?id=43315 36239 36240 * WebProcess/Plugins/NPJSObject.cpp: 36241 (WebKit::NPJSObject::removeProperty): 36242 Try to remove the property. 36243 36244 (WebKit::NPJSObject::npClass): 36245 Add NP_RemoveProperty. 36246 36247 (WebKit::NPJSObject::NP_RemoveProperty): 36248 Call NPJSObject::removeProperty. 36249 36250 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36251 (WebKit::NPN_RemoveProperty): 36252 Call the NPClass::removeProperty function. 36253 36254 2010-07-31 Sam Weinig <sam (a] webkit.org> 36255 36256 Reviewed by Darin Adler. 36257 36258 Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code 36259 https://bugs.webkit.org/show_bug.cgi?id=43306 36260 <rdar://problem/8259687> 36261 36262 * UIProcess/Plugins/PluginInfoStore.cpp: 36263 (WebKit::PluginInfoStore::getMIMETypeForExtension): 36264 (WebKit::PluginInfoStore::findPlugin): 36265 * UIProcess/Plugins/PluginInfoStore.h: 36266 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 36267 (WebKit::safeCreateCFString): 36268 (WebKit::PluginInfoStore::getMIMETypeForExtension): 36269 Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings 36270 to CFStringRefs. 36271 36272 2010-07-31 Sam Weinig <sam (a] webkit.org> 36273 36274 Reviewed by Dan Bernstein. 36275 36276 Patch for https://bugs.webkit.org/show_bug.cgi?id=43305 36277 Add back WKBundleFrameCopyInnerText to fix ~50 test failures 36278 due to SVGElements not having the innerText function. 36279 36280 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 36281 (WKBundleFrameCopyInnerText): 36282 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 36283 * WebProcess/WebPage/WebFrame.cpp: 36284 (WebKit::WebFrame::innerText): 36285 * WebProcess/WebPage/WebFrame.h: 36286 36287 2010-07-27 Luiz Agostini <luiz.agostini (a] openbossa.org> 36288 36289 Reviewed by Darin Fisher. 36290 36291 PopupMenu refactoring in preparation to WebKit2 36292 https://bugs.webkit.org/show_bug.cgi?id=42592 36293 36294 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and 36295 SearchPopupMenu respectively. At this point they are just empty implementations. 36296 36297 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added. 36298 (WebKit::WebPopupMenu::WebPopupMenu): 36299 (WebKit::WebPopupMenu::~WebPopupMenu): 36300 (WebKit::WebPopupMenu::disconnectClient): 36301 (WebKit::WebPopupMenu::show): 36302 (WebKit::WebPopupMenu::hide): 36303 (WebKit::WebPopupMenu::updateFromElement): 36304 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added. 36305 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added. 36306 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): 36307 (WebKit::WebSearchPopupMenu::popupMenu): 36308 (WebKit::WebSearchPopupMenu::saveRecentSearches): 36309 (WebKit::WebSearchPopupMenu::loadRecentSearches): 36310 (WebKit::WebSearchPopupMenu::enabled): 36311 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added. 36312 36313 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu 36314 instances, concrete classes that inherit from ChromeClient needed to be changed to 36315 implement the new methods. 36316 36317 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36318 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): 36319 (WebKit::WebChromeClient::createPopupMenu): 36320 (WebKit::WebChromeClient::createSearchPopupMenu): 36321 * WebProcess/WebCoreSupport/WebChromeClient.h: 36322 36323 build issues: 36324 36325 * WebKit2.xcodeproj/project.pbxproj: 36326 * win/WebKit2.vcproj: 36327 36328 2010-07-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 36329 36330 Unreviewed, rolling out r64422. 36331 http://trac.webkit.org/changeset/64422 36332 https://bugs.webkit.org/show_bug.cgi?id=43304 36333 36334 Build fixes are needed for Snow Leopard and Windows. 36335 (Requested by lca on #webkit). 36336 36337 * WebKit2.xcodeproj/project.pbxproj: 36338 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36339 * WebProcess/WebCoreSupport/WebChromeClient.h: 36340 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed. 36341 * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed. 36342 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed. 36343 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed. 36344 * win/WebKit2.vcproj: 36345 36346 2010-07-27 Luiz Agostini <luiz.agostini (a] openbossa.org> 36347 36348 Reviewed by Darin Fisher. 36349 36350 PopupMenu refactoring in preparation to WebKit2 36351 https://bugs.webkit.org/show_bug.cgi?id=42592 36352 36353 Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and 36354 SearchPopupMenu respectively. At this point they are just empty implementations. 36355 36356 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added. 36357 (WebKit::WebPopupMenu::WebPopupMenu): 36358 (WebKit::WebPopupMenu::~WebPopupMenu): 36359 (WebKit::WebPopupMenu::disconnectClient): 36360 (WebKit::WebPopupMenu::show): 36361 (WebKit::WebPopupMenu::hide): 36362 (WebKit::WebPopupMenu::updateFromElement): 36363 * WebProcess/WebCoreSupport/WebPopupMenu.h: Added. 36364 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added. 36365 (WebKit::WebSearchPopupMenu::WebSearchPopupMenu): 36366 (WebKit::WebSearchPopupMenu::popupMenu): 36367 (WebKit::WebSearchPopupMenu::saveRecentSearches): 36368 (WebKit::WebSearchPopupMenu::loadRecentSearches): 36369 (WebKit::WebSearchPopupMenu::enabled): 36370 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added. 36371 36372 As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu 36373 instances, concrete classes that inherit from ChromeClient needed to be changed to 36374 implement the new methods. 36375 36376 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36377 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): 36378 (WebKit::WebChromeClient::createPopupMenu): 36379 (WebKit::WebChromeClient::createSearchPopupMenu): 36380 * WebProcess/WebCoreSupport/WebChromeClient.h: 36381 36382 build issues: 36383 36384 * WebKit2.xcodeproj/project.pbxproj: 36385 * win/WebKit2.vcproj: 36386 36387 2010-07-30 Darin Fisher <darin (a] chromium.org> 36388 36389 Reviewed by Darin Adler. 36390 36391 Eliminate BackForwardList::pushStateItem 36392 https://bugs.webkit.org/show_bug.cgi?id=43282 36393 36394 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 36395 * WebProcess/WebPage/WebBackForwardListProxy.h: 36396 36397 2010-07-30 Joseph Pecoraro <joepeck (a] webkit.org> 36398 36399 Reviewed by David Kilzer. 36400 36401 Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas) 36402 https://bugs.webkit.org/show_bug.cgi?id=40627 36403 36404 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 36405 (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): 36406 * WebProcess/WebCoreSupport/WebChromeClient.h: 36407 36408 2010-07-30 Sam Weinig <sam (a] webkit.org> 36409 36410 Reviewed by Maciej Stachowiak. 36411 36412 Patch for https://bugs.webkit.org/show_bug.cgi?id=43290 36413 Add structured message passing from the injected bundle to UIProcess 36414 36415 * Platform/CoreIPC/MessageID.h: 36416 * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added. 36417 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 36418 (WebProcessProxyMessage::): 36419 * UIProcess/API/C/WKContext.h: 36420 * UIProcess/WebContext.cpp: 36421 (WebKit::): 36422 (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder): 36423 (WebKit::PostMessageEncoder::PostMessageDecoder::decode): 36424 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): 36425 (WebKit::WebContext::didReceiveMessage): 36426 * UIProcess/WebContext.h: 36427 * UIProcess/WebContextInjectedBundleClient.cpp: 36428 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): 36429 * UIProcess/WebContextInjectedBundleClient.h: 36430 * UIProcess/WebProcessProxy.cpp: 36431 (WebKit::WebProcessProxy::didReceiveMessage): 36432 (WebKit::WebProcessProxy::didReceiveSyncMessage): 36433 * UIProcess/WebProcessProxy.h: 36434 * WebKit2.xcodeproj/project.pbxproj: 36435 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 36436 (WKBundlePostMessage): 36437 * WebProcess/InjectedBundle/API/c/WKBundle.h: 36438 * WebProcess/InjectedBundle/InjectedBundle.cpp: 36439 (WebKit::): 36440 (WebKit::InjectedBundle::InjectedBundle): 36441 (WebKit::InjectedBundle::~InjectedBundle): 36442 (WebKit::InjectedBundle::initializeClient): 36443 (WebKit::InjectedBundle::postMessage): 36444 (WebKit::InjectedBundle::setShouldTrackVisitedLinks): 36445 (WebKit::InjectedBundle::removeAllVisitedLinks): 36446 (WebKit::InjectedBundle::didCreatePage): 36447 (WebKit::InjectedBundle::willDestroyPage): 36448 (WebKit::InjectedBundle::didReceiveMessage): 36449 * WebProcess/InjectedBundle/InjectedBundle.h: 36450 36451 2010-07-30 Andy Estes <aestes (a] apple.com> 36452 36453 Reviewed by David Kilzer. 36454 36455 Add support to Xcode for compiling WebKit against iOS SDKs. 36456 https://bugs.webkit.org/show_bug.cgi?id=42796 36457 36458 * Configurations/FeatureDefines.xcconfig: 36459 36460 2010-07-30 Brady Eidson <beidson (a] apple.com> 36461 36462 Reviewed by Sam Weinig. 36463 36464 Cast the return value for the templated ImmutableArray::at(). 36465 36466 * Shared/ImmutableArray.h: 36467 (WebKit::ImmutableArray::at): 36468 36469 2010-07-30 Sam Weinig <sam (a] webkit.org> 36470 36471 Reviewed by Anders Carlsson. 36472 36473 Patch for https://bugs.webkit.org/show_bug.cgi?id=43283 36474 Add APIObject template introspection support. 36475 36476 Add a way to get the type the APIObject::Type from the APIObject subclass typenames 36477 for template fun. Use this to make a type checking version of ImmutableArray::at. 36478 36479 * Shared/ImmutableArray.h: 36480 (WebKit::ImmutableArray::at): 36481 (WebKit::ImmutableArray::type): 36482 * Shared/WebString.h: 36483 (WebKit::WebString::type): 36484 * Shared/WebURL.h: 36485 (WebKit::WebURL::type): 36486 * UIProcess/API/C/WKArray.cpp: 36487 (WKArrayGetTypeID): 36488 * UIProcess/API/C/WKBackForwardList.cpp: 36489 (WKBackForwardListGetTypeID): 36490 * UIProcess/API/C/WKBackForwardListItem.cpp: 36491 (WKBackForwardListItemGetTypeID): 36492 * UIProcess/API/C/WKContext.cpp: 36493 (WKContextGetTypeID): 36494 * UIProcess/API/C/WKFrame.cpp: 36495 (WKFrameGetTypeID): 36496 * UIProcess/API/C/WKFramePolicyListener.cpp: 36497 (WKFramePolicyListenerGetTypeID): 36498 * UIProcess/API/C/WKNavigationData.cpp: 36499 (WKNavigationDataGetTypeID): 36500 * UIProcess/API/C/WKPage.cpp: 36501 (WKPageGetTypeID): 36502 * UIProcess/API/C/WKPageNamespace.cpp: 36503 (WKPageNamespaceGetTypeID): 36504 * UIProcess/API/C/WKPreferences.cpp: 36505 (WKPreferencesGetTypeID): 36506 * UIProcess/API/C/WKString.cpp: 36507 (WKStringGetTypeID): 36508 * UIProcess/API/C/WKURL.cpp: 36509 (WKURLGetTypeID): 36510 * UIProcess/WebBackForwardList.h: 36511 (WebKit::WebBackForwardList::type): 36512 * UIProcess/WebBackForwardListItem.h: 36513 (WebKit::WebBackForwardListItem::type): 36514 * UIProcess/WebContext.h: 36515 (WebKit::WebContext::type): 36516 * UIProcess/WebFramePolicyListenerProxy.h: 36517 (WebKit::WebFramePolicyListenerProxy::type): 36518 * UIProcess/WebFrameProxy.h: 36519 (WebKit::WebFrameProxy::type): 36520 * UIProcess/WebNavigationData.h: 36521 (WebKit::WebNavigationData::type): 36522 * UIProcess/WebPageNamespace.h: 36523 (WebKit::WebPageNamespace::type): 36524 * UIProcess/WebPageProxy.h: 36525 (WebKit::WebPageProxy::type): 36526 * UIProcess/WebPreferences.h: 36527 (WebKit::WebPreferences::type): 36528 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 36529 (WKBundleGetTypeID): 36530 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 36531 (WKBundleFrameGetTypeID): 36532 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 36533 (WKBundlePageGetTypeID): 36534 * WebProcess/InjectedBundle/InjectedBundle.h: 36535 (WebKit::InjectedBundle::type): 36536 * WebProcess/WebPage/WebFrame.h: 36537 (WebKit::WebFrame::type): 36538 * WebProcess/WebPage/WebPage.h: 36539 (WebKit::WebPage::type): 36540 36541 2010-07-30 Sam Weinig <sam (a] webkit.org> 36542 36543 Reviewed by Anders Carlsson. 36544 36545 Patch for https://bugs.webkit.org/show_bug.cgi?id=43275 36546 Make WKArrayRef more usable. 36547 36548 - Add Create functions. 36549 - Make WKArrayGetItemAtIndex return a WKTypeRef. 36550 36551 * UIProcess/API/C/WKArray.cpp: 36552 (WKArrayCreate): 36553 (WKArrayCreateAdoptingValues): 36554 (WKArrayGetItemAtIndex): 36555 * UIProcess/API/C/WKArray.h: 36556 36557 2010-07-30 Ada Chan <adachan (a] apple.com> 36558 36559 Reviewed by John Sullivan. 36560 36561 Fix issue with populating the back list when limit is a huge number. 36562 https://bugs.webkit.org/show_bug.cgi?id=43270 36563 36564 * UIProcess/WebBackForwardList.cpp: 36565 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 36566 36567 2010-07-29 Sam Weinig <sam (a] webkit.org> 36568 36569 Reviewed by Anders Carlsson. 36570 36571 Patch for https://bugs.webkit.org/show_bug.cgi?id=43274 36572 Add first pass of structured message passing. 36573 36574 - Only supports passing messages from the UIProcess -> InjectedBundle 36575 - Only supports passing Strings, Arrays, and WebPage references (NOTE: There 36576 currently isn't a way to make an array). 36577 - Changed ImmutableArray to operate on APIObjects instead of void*'s and 36578 removed the retain/release abstraction. 36579 36580 * Platform/CoreIPC/MessageID.h: 36581 (CoreIPC::): 36582 * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added. 36583 (InjectedBundleMessage::): 36584 (CoreIPC::): 36585 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 36586 (WebProcessMessage::): 36587 * Shared/ImmutableArray.cpp: 36588 (WebKit::ImmutableArray::ImmutableArray): 36589 (WebKit::ImmutableArray::~ImmutableArray): 36590 * Shared/ImmutableArray.h: 36591 (WebKit::ImmutableArray::create): 36592 (WebKit::ImmutableArray::adopt): 36593 (WebKit::ImmutableArray::at): 36594 * UIProcess/API/C/WKBase.h: 36595 * UIProcess/API/C/WKContext.cpp: 36596 (WKContextPostMessageToInjectedBundle): 36597 * UIProcess/API/C/WKContext.h: 36598 * UIProcess/API/C/WKType.cpp: 36599 (WKGetTypeID): 36600 * UIProcess/API/C/WebKit2.h: 36601 * UIProcess/WebBackForwardList.cpp: 36602 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 36603 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 36604 * UIProcess/WebContext.cpp: 36605 (WebKit::WebContext::postMessageToInjectedBundle): 36606 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): 36607 * UIProcess/WebContext.h: 36608 * WebKit2.xcodeproj/project.pbxproj: 36609 * WebProcess/InjectedBundle/API/c/WKBundle.h: 36610 * WebProcess/InjectedBundle/InjectedBundle.cpp: 36611 (WebKit::InjectedBundle::didReceiveMessage): 36612 * WebProcess/InjectedBundle/InjectedBundle.h: 36613 * WebProcess/WebPage/WebFrame.cpp: 36614 (WebKit::WebFrame::childFrames): 36615 * WebProcess/WebProcess.cpp: 36616 (WebKit::WebProcess::didReceiveMessage): 36617 * WebProcess/WebProcess.h: 36618 * win/WebKit2.vcproj: 36619 36620 2010-07-30 Anders Carlsson <andersca (a] apple.com> 36621 36622 Reviewed by Sam Weinig. 36623 36624 Implement NPN_Evaluate 36625 https://bugs.webkit.org/show_bug.cgi?id=43268 36626 36627 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36628 (WebKit::NPRuntimeObjectMap::evaluate): 36629 Evaluate the passed in string. 36630 36631 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36632 (WebKit::NPN_Evaluate): 36633 Call NetscapePlugin::evaluate. 36634 36635 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 36636 (WebKit::NetscapePlugin::evaluate): 36637 Call PluginController::evaluate. 36638 36639 * WebProcess/Plugins/PluginController.h: 36640 Add evaluate pure virtual member function. 36641 36642 * WebProcess/Plugins/PluginView.cpp: 36643 (WebKit::PluginView::evaluate): 36644 Update the popup window state and call NPRuntimeObjectMap::evaluate. 36645 36646 2010-07-30 Anders Carlsson <andersca (a] apple.com> 36647 36648 Reviewed by Sam Weinig. 36649 36650 Implement NPN_InvokeDefault 36651 https://bugs.webkit.org/show_bug.cgi?id=43266 36652 36653 * WebProcess/Plugins/JSNPObject.cpp: 36654 (WebKit::JSNPObject::JSNPObject): 36655 Remove ExecState parameter. 36656 36657 (WebKit::JSNPObject::callObject): 36658 Call the NPClass::invokeDefault function. 36659 36660 (WebKit::callNPJSObject): 36661 Call JSNPObject::callObject. 36662 36663 (WebKit::JSNPObject::getCallData): 36664 Check if the NPClass has an invokeDefault function. 36665 36666 * WebProcess/Plugins/JSNPObject.h: 36667 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 36668 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 36669 Remove ExecState parameter. 36670 36671 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): 36672 Remove ExecState parameter. 36673 36674 * WebProcess/Plugins/PluginView.cpp: 36675 (WebKit::PluginView::scriptObject): 36676 Remove ExecState parameter. 36677 36678 2010-07-30 Adam Roben <aroben (a] apple.com> 36679 36680 Roll our r64361 and r64363 36681 36682 We can't make these changes until QuartzCore.lib is included in 36683 WebKitSupportLibrary. 36684 36685 2010-07-30 Adam Roben <aroben (a] apple.com> 36686 36687 Windows build fix 36688 36689 * win/WebKit2Apple.vsprops: Always link against QuartzCore, since 36690 WebKitSystemInterface requires it. 36691 36692 2010-07-30 Balazs Kelemen <kb (a] inf.u-szeged.hu> 36693 36694 Unreviewed build fix. 36695 36696 [Qt] Build fix for recent API changes in WebKit2. 36697 36698 * UIProcess/API/cpp/qt/WKStringQt.cpp: 36699 (WKStringCopyQString): 36700 * UIProcess/API/cpp/qt/WKURLQt.cpp: 36701 (WKURLCopyQUrl): 36702 * UIProcess/API/qt/qwkpage.cpp: 36703 (QWKPage::QWKPage): 36704 36705 2010-07-29 Brady Eidson <beidson (a] apple.com> 36706 36707 Reviewed by Sam Weinig. 36708 36709 Setting empty document schemes on the WKContext shouldn't start the WebProcess 36710 <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222 36711 36712 * UIProcess/WebContext.cpp: 36713 (WebKit::WebContext::ensureWebProcess): 36714 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 36715 * UIProcess/WebContext.h: 36716 36717 2010-07-29 Brady Eidson <beidson (a] apple.com> 36718 36719 Reviewed by Sam Weinig. 36720 36721 Make all public facing client setters take const pointers 36722 https://bugs.webkit.org/show_bug.cgi?id=43219 36723 36724 * UIProcess/API/C/WKContext.cpp: 36725 (WKContextSetInjectedBundleClient): 36726 (WKContextSetHistoryClient): 36727 * UIProcess/API/C/WKContext.h: 36728 36729 * UIProcess/API/C/WKPage.cpp: 36730 (WKPageSetPageLoaderClient): 36731 (WKPageSetPagePolicyClient): 36732 (WKPageSetPageUIClient): 36733 * UIProcess/API/C/WKPage.h: 36734 36735 * UIProcess/WebContext.cpp: 36736 (WebKit::WebContext::initializeInjectedBundleClient): 36737 (WebKit::WebContext::initializeHistoryClient): 36738 * UIProcess/WebContext.h: 36739 36740 * UIProcess/WebContextInjectedBundleClient.cpp: 36741 (WebKit::WebContextInjectedBundleClient::initialize): 36742 * UIProcess/WebContextInjectedBundleClient.h: 36743 36744 * UIProcess/WebHistoryClient.cpp: 36745 (WebKit::WebHistoryClient::initialize): 36746 * UIProcess/WebHistoryClient.h: 36747 36748 * UIProcess/WebLoaderClient.cpp: 36749 (WebKit::WebLoaderClient::initialize): 36750 * UIProcess/WebLoaderClient.h: 36751 36752 * UIProcess/WebPageProxy.cpp: 36753 (WebKit::WebPageProxy::initializeLoaderClient): 36754 (WebKit::WebPageProxy::initializePolicyClient): 36755 (WebKit::WebPageProxy::initializeUIClient): 36756 * UIProcess/WebPageProxy.h: 36757 36758 * UIProcess/WebPolicyClient.cpp: 36759 (WebKit::WebPolicyClient::initialize): 36760 * UIProcess/WebPolicyClient.h: 36761 36762 * UIProcess/WebUIClient.cpp: 36763 (WebKit::WebUIClient::initialize): 36764 * UIProcess/WebUIClient.h: 36765 36766 2010-07-29 Anders Carlsson <andersca (a] apple.com> 36767 36768 Reviewed by Sam Weinig. 36769 36770 Implement NPN_SetProperty 36771 https://bugs.webkit.org/show_bug.cgi?id=43217 36772 36773 * WebProcess/Plugins/NPJSObject.cpp: 36774 (WebKit::NPJSObject::setProperty): 36775 Convert the NPVariant to a JSValue and set it on the underlying JSObject. 36776 36777 (WebKit::NPJSObject::NP_SetProperty): 36778 Call NPJSObject::setProperty. 36779 36780 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36781 (WebKit::NPN_GetProperty): 36782 Remove unused parameter name. 36783 36784 (WebKit::NPN_SetProperty): 36785 Call the NPClass::setProperty function. 36786 36787 2010-07-29 Anders Carlsson <andersca (a] apple.com> 36788 36789 Reviewed by Sam Weinig. 36790 36791 Implement NPN_Enumerate 36792 https://bugs.webkit.org/show_bug.cgi?id=43215 36793 36794 * WebProcess/Plugins/JSNPObject.cpp: 36795 (WebKit::npIdentifierFromIdentifier): 36796 Get the UTF-8 string representation instead of the lossy ASCII representation. 36797 36798 (WebKit::JSNPObject::getOwnPropertyNames): 36799 Implement by calling the NPClass::enumerate function. 36800 36801 * WebProcess/Plugins/JSNPObject.h: 36802 * WebProcess/Plugins/NPJSObject.cpp: 36803 (WebKit::NPJSObject::enumerate): 36804 Implement by calling JSObject::getPropertyNames. 36805 36806 (WebKit::NPJSObject::npClass): 36807 (WebKit::NPJSObject::NP_Enumerate): 36808 Call NPJSObject::enumerate. 36809 36810 * WebProcess/Plugins/NPJSObject.h: 36811 * WebProcess/Plugins/NPRuntimeUtilities.cpp: 36812 (WebKit::createNPObject): 36813 Fix a comment. 36814 36815 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36816 (WebKit::NPN_Enumerate): 36817 Call the NPClass::enumerate function. 36818 36819 2010-07-29 John Sullivan <sullivan (a] apple.com> 36820 36821 <https://bugs.webkit.org/show_bug.cgi?id=43203> 36822 WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int 36823 36824 Reviewed by Sam Weinig. 36825 36826 * UIProcess/WebBackForwardList.cpp: 36827 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 36828 Fixed casting so that a large unsigned won't become a negative int. 36829 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 36830 Ditto. 36831 36832 2010-07-29 Anders Carlsson <andersca (a] apple.com> 36833 36834 Reviewed by Sam Weinig. 36835 36836 Implement NPN_Status 36837 https://bugs.webkit.org/show_bug.cgi?id=43205 36838 36839 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 36840 (WebKit::NPN_Status): 36841 Convert the message char* to a String and call NetscapePlugin::setStatusbarText. 36842 36843 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 36844 (WebKit::NetscapePlugin::setStatusbarText): 36845 Call PluginController::setStatusbarText. 36846 36847 * WebProcess/Plugins/PluginController.h: 36848 Add setStatusbarText. 36849 36850 * WebProcess/Plugins/PluginView.cpp: 36851 (WebKit::PluginView::setStatusbarText): 36852 Call the Chrome member function. 36853 36854 2010-07-29 Adam Roben <aroben (a] apple.com> 36855 36856 Always say "plugins directory" when referring to a directory 36857 containing one or more plugins 36858 36859 Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin 36860 directory" when it means "plugins directory" 36861 36862 Reviewed by John Sullivan. 36863 36864 * UIProcess/API/C/WKContext.cpp: 36865 (_WKContextSetAdditionalPluginsDirectory): 36866 * UIProcess/API/C/WKContextPrivate.h: 36867 Renamed from _WKContextSetAdditionalPluginDirectory. 36868 36869 * UIProcess/Plugins/PluginInfoStore.cpp: 36870 (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed 36871 from setAdditionalPluginDirectories. 36872 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename. 36873 36874 * UIProcess/Plugins/PluginInfoStore.h: Renamed 36875 m_additionalPluginDirectories to m_additionalPluginsDirectories. 36876 36877 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 36878 (WebKit::PluginInfoStore::pluginsDirectories): 36879 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 36880 (WebKit::PluginInfoStore::pluginsDirectories): 36881 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 36882 (WebKit::PluginInfoStore::pluginsDirectories): 36883 Renamed from pluginDirectories. 36884 36885 * UIProcess/WebContext.cpp: 36886 (WebKit::WebContext::setAdditionalPluginsDirectory): 36887 * UIProcess/WebContext.h: 36888 Renamed from setAdditionalPluginDirectory. 36889 36890 2010-07-29 Adam Roben <aroben (a] apple.com> 36891 36892 Always say "directory" when referring to a plugin directory 36893 36894 Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path" 36895 when it means "plugin directory" 36896 36897 Reviewed by John Sullivan. 36898 36899 * UIProcess/API/C/WKContext.cpp: 36900 (_WKContextSetAdditionalPluginDirectory): 36901 * UIProcess/API/C/WKContextPrivate.h: 36902 Renamed from _WKContextSetAdditionalPluginPath. 36903 36904 * UIProcess/Plugins/PluginInfoStore.cpp: 36905 (WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed 36906 from setAdditionalPluginPaths. 36907 (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename. 36908 36909 * UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths 36910 to m_additionalPluginDirectories. 36911 36912 * UIProcess/WebContext.cpp: 36913 (WebKit::WebContext::setAdditionalPluginDirectory): 36914 * UIProcess/WebContext.h: 36915 Renamed from setAdditionalPluginPath, and updated for PluginInfoStore 36916 rename. 36917 36918 2010-07-29 Adam Roben <aroben (a] apple.com> 36919 36920 Remove PluginInfoStore::mimeTypeFromExtension 36921 36922 WebCore::MIMETypeRegistry already provides a cross-platform interface 36923 for this. 36924 36925 Fixes <http://webkit.org/b/43188> 36926 PluginInfoStore::mimeTypeFromExtension is unnecessary 36927 36928 Reviewed by Nikolas Zimmermann. 36929 36930 * UIProcess/Plugins/PluginInfoStore.cpp: 36931 (WebKit::PluginInfoStore::findPlugin): Changed to use 36932 MIMETypeRegistry. 36933 36934 * UIProcess/Plugins/PluginInfoStore.h: 36935 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 36936 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 36937 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 36938 Removed mimeTypeFromExtension. 36939 36940 2010-07-28 Sam Weinig <sam (a] webkit.org> 36941 36942 Another Windows build fix. 36943 36944 * UIProcess/API/C/WKBase.h: 36945 * win/WebKit2Generated.make: 36946 36947 2010-07-28 Sam Weinig <sam (a] webkit.org> 36948 36949 Fix builds. 36950 36951 * UIProcess/API/C/WKAPICast.h: 36952 (WebKit::ProxyingRefPtr::operator APIType): 36953 (toURLRef): 36954 (toCopiedRef): 36955 (toCopiedURLRef): 36956 * UIProcess/win/WebView.h: 36957 (WebKit::WebView::type): 36958 36959 2010-07-28 Sam Weinig <sam (a] webkit.org> 36960 36961 Reviewed by Darin Adler. 36962 36963 Patch for https://bugs.webkit.org/show_bug.cgi?id=43163 36964 Add a CF-style base type (WKTypeRef) as a base for polymorphic functions. 36965 36966 - Add first polymorphic function, WKGetTypeID. 36967 - Add functions to each WK type to get their respective TypeIDs. 36968 - Adds WebURL to complement WebString. 36969 36970 * Shared/APIObject.h: 36971 (WebKit::APIObject::): 36972 (WebKit::APIObject::~APIObject): 36973 * Shared/ImmutableArray.h: 36974 (WebKit::ImmutableArray::type): 36975 * Shared/WebString.h: 36976 (WebKit::WebString::type): 36977 * Shared/WebURL.h: Added. 36978 (WebKit::WebURL::create): 36979 (WebKit::WebURL::type): 36980 (WebKit::WebURL::isNull): 36981 (WebKit::WebURL::isEmpty): 36982 (WebKit::WebURL::string): 36983 (WebKit::WebURL::WebURL): 36984 * UIProcess/API/C/WKAPICast.h: 36985 (WebKit::ProxyingRefPtr::ProxyingRefPtr): 36986 (WebKit::ProxyingRefPtr::operator APIType): 36987 (toRef): 36988 (toURLRef): 36989 (toCopiedURLRef): 36990 * UIProcess/API/C/WKArray.cpp: 36991 (WKArrayGetTypeID): 36992 * UIProcess/API/C/WKArray.h: 36993 * UIProcess/API/C/WKBackForwardList.cpp: 36994 (WKBackForwardListGetTypeID): 36995 * UIProcess/API/C/WKBackForwardList.h: 36996 * UIProcess/API/C/WKBackForwardListItem.cpp: 36997 (WKBackForwardListItemGetTypeID): 36998 * UIProcess/API/C/WKBackForwardListItem.h: 36999 * UIProcess/API/C/WKBase.h: 37000 * UIProcess/API/C/WKContext.cpp: 37001 (WKContextGetTypeID): 37002 * UIProcess/API/C/WKContext.h: 37003 * UIProcess/API/C/WKFrame.cpp: 37004 (WKFrameGetTypeID): 37005 * UIProcess/API/C/WKFrame.h: 37006 * UIProcess/API/C/WKFramePolicyListener.cpp: 37007 (WKFramePolicyListenerGetTypeID): 37008 * UIProcess/API/C/WKFramePolicyListener.h: 37009 * UIProcess/API/C/WKNavigationData.cpp: 37010 (WKNavigationDataGetTypeID): 37011 * UIProcess/API/C/WKNavigationData.h: 37012 * UIProcess/API/C/WKPage.cpp: 37013 (WKPageGetTypeID): 37014 * UIProcess/API/C/WKPage.h: 37015 * UIProcess/API/C/WKPageNamespace.cpp: 37016 (WKPageNamespaceGetTypeID): 37017 * UIProcess/API/C/WKPageNamespace.h: 37018 * UIProcess/API/C/WKPreferences.cpp: 37019 (WKPreferencesGetTypeID): 37020 * UIProcess/API/C/WKPreferences.h: 37021 * UIProcess/API/C/WKString.cpp: 37022 (WKStringGetTypeID): 37023 * UIProcess/API/C/WKString.h: 37024 * UIProcess/API/C/WKType.cpp: Added. 37025 (WKGetTypeID): 37026 * UIProcess/API/C/WKType.h: Added. 37027 * UIProcess/API/C/WKURL.cpp: 37028 (WKURLGetTypeID): 37029 * UIProcess/API/C/WKURL.h: 37030 * UIProcess/API/win/WKView.cpp: 37031 (WKViewGetTypeID): 37032 * UIProcess/API/win/WKView.h: 37033 * UIProcess/WebBackForwardList.h: 37034 (WebKit::WebBackForwardList::type): 37035 * UIProcess/WebBackForwardListItem.h: 37036 (WebKit::WebBackForwardListItem::type): 37037 * UIProcess/WebContext.h: 37038 (WebKit::WebContext::type): 37039 * UIProcess/WebFramePolicyListenerProxy.h: 37040 (WebKit::WebFramePolicyListenerProxy::type): 37041 * UIProcess/WebFrameProxy.h: 37042 (WebKit::WebFrameProxy::type): 37043 * UIProcess/WebNavigationData.h: 37044 (WebKit::WebNavigationData::type): 37045 * UIProcess/WebPageNamespace.h: 37046 (WebKit::WebPageNamespace::type): 37047 * UIProcess/WebPageProxy.h: 37048 (WebKit::WebPageProxy::type): 37049 * UIProcess/WebPreferences.h: 37050 (WebKit::WebPreferences::type): 37051 * WebKit2.xcodeproj/project.pbxproj: 37052 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 37053 (WKBundleGetTypeID): 37054 * WebProcess/InjectedBundle/API/c/WKBundle.h: 37055 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 37056 (WKBundleFrameGetTypeID): 37057 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 37058 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 37059 (WKBundlePageGetTypeID): 37060 (WKBundlePageSetEditorClient): 37061 (WKBundlePageSetLoaderClient): 37062 (WKBundlePageSetUIClient): 37063 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 37064 * WebProcess/WebPage/WebFrame.h: 37065 (WebKit::WebFrame::type): 37066 * WebProcess/WebPage/WebPage.h: 37067 (WebKit::WebPage::type): 37068 * win/WebKit2.vcproj: 37069 37070 2010-07-28 Darin Adler <darin (a] apple.com> 37071 37072 Reviewed by Sam Weinig. 37073 37074 WebKitTestRunner needs to support layoutTestController.execCommand 37075 <https://bugs.webkit.org/show_bug.cgi?id=42538> 37076 37077 WebKitTestRunner needs layoutTestController.isCommandEnabled 37078 <https://bugs.webkit.org/show_bug.cgi?id=42671> 37079 37080 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 37081 (WKBundlePageExecuteEditingCommand): Added. 37082 (WKBundlePageIsEditingCommandEnabled): Added. 37083 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto. 37084 37085 * WebProcess/WebPage/WebPage.cpp: 37086 (WebKit::WebPage::executeEditingCommand): Added. 37087 (WebKit::WebPage::isEditingCommandEnabled): Added. 37088 * WebProcess/WebPage/WebPage.h: Ditto. 37089 37090 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37091 37092 Fix 64-bit build. 37093 37094 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 37095 (WebKit::NPN_GetValue): 37096 37097 2010-07-28 Brady Eidson <beidson (a] apple.com> 37098 37099 Reviewed by Darin Adler. 37100 37101 First pass at visited link support for WK2 37102 https://bugs.webkit.org/show_bug.cgi?id=43157 37103 37104 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 37105 (WebPageProxyMessage::): 37106 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 37107 (WebProcessMessage::): 37108 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 37109 (WebProcessProxyMessage::): 37110 37111 Move HistoryClient support from the page...: 37112 * UIProcess/API/C/WKPage.cpp: 37113 * UIProcess/API/C/WKPage.h: 37114 37115 ...to the Context 37116 * UIProcess/API/C/WKContext.cpp: 37117 (WKContextSetHistoryClient): 37118 * UIProcess/API/C/WKContext.h: 37119 37120 * UIProcess/WebContext.cpp: 37121 (WebKit::WebContext::initializeHistoryClient): 37122 (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode. 37123 (WebKit::WebContext::didNavigateWithNavigationData): 37124 (WebKit::WebContext::didPerformClientRedirect): 37125 (WebKit::WebContext::didPerformServerRedirect): 37126 (WebKit::WebContext::didUpdateHistoryTitle): 37127 (WebKit::WebContext::populateVisitedLinks): 37128 * UIProcess/WebContext.h: 37129 (WebKit::WebContext::hasValidProcess): 37130 37131 * UIProcess/WebHistoryClient.cpp: 37132 (WebKit::WebHistoryClient::initialize): 37133 (WebKit::WebHistoryClient::didNavigateWithNavigationData): 37134 (WebKit::WebHistoryClient::didPerformClientRedirect): 37135 (WebKit::WebHistoryClient::didPerformServerRedirect): 37136 (WebKit::WebHistoryClient::didUpdateHistoryTitle): 37137 (WebKit::WebHistoryClient::populateVisitedLinks): 37138 * UIProcess/WebHistoryClient.h: 37139 (WebKit::WebHistoryClient::shouldTrackVisitedLinks): 37140 37141 * UIProcess/WebPageProxy.cpp: 37142 (WebKit::WebPageProxy::didReceiveMessage): 37143 * UIProcess/WebPageProxy.h: 37144 37145 * UIProcess/WebProcessProxy.cpp: 37146 (WebKit::WebProcessProxy::didReceiveMessage): 37147 (WebKit::WebProcessProxy::didReceiveSyncMessage): 37148 37149 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 37150 (WebKit::WebChromeClient::populateVisitedLinks): 37151 37152 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 37153 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 37154 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 37155 (WebKit::WebFrameLoaderClient::setTitle): 37156 37157 * WebProcess/WebProcess.cpp: 37158 (WebKit::WebProcess::didReceiveMessage): 37159 37160 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37161 37162 Reviewed by Sam Weinig. 37163 37164 Add JSNPObject::getConstructData 37165 https://bugs.webkit.org/show_bug.cgi?id=43165 37166 37167 * WebProcess/Plugins/JSNPObject.cpp: 37168 (WebKit::JSNPObject::callMethod): 37169 Add a null check for m_npObject. 37170 37171 (WebKit::JSNPObject::callConstructor): 37172 Call NPClass::construct. 37173 37174 (WebKit::JSNPObject::getConstructData): 37175 Set up the construct data. 37176 37177 (WebKit::JSNPObject::propertyGetter): 37178 convertNPVariantToJSValue now takes a JSGlobalObject as well. 37179 37180 * WebProcess/Plugins/NPJSObject.cpp: 37181 (WebKit::NPJSObject::invoke): 37182 (WebKit::NPJSObject::invokeDefault): 37183 (WebKit::NPJSObject::construct): 37184 convertNPVariantToJSValue now takes a JSGlobalObject as well. 37185 37186 * WebProcess/Plugins/NPJSObject.h: 37187 Make isNPJSObject and toNPJSObject public. 37188 37189 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 37190 (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): 37191 Convert NPObjects correctly. 37192 37193 (WebKit::NPRuntimeObjectMap::globalObject): 37194 Get the globalObject from the frame. 37195 37196 (WebKit::NPRuntimeObjectMap::globalExec): 37197 Call globalObject. 37198 37199 * WebProcess/Plugins/NPRuntimeObjectMap.h: 37200 37201 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37202 37203 Reviewed by Sam Weinig. 37204 37205 Implement NPN_InvokeDefault and NPN_Construct 37206 https://bugs.webkit.org/show_bug.cgi?id=43160 37207 37208 * WebProcess/Plugins/NPJSObject.cpp: 37209 (WebKit::NPJSObject::invoke): 37210 Just call invoke directly. 37211 37212 (WebKit::NPJSObject::invokeDefault): 37213 Call invoke. 37214 37215 (WebKit::NPJSObject::construct): 37216 Implement this. 37217 37218 (WebKit::NPJSObject::invoke): 37219 Add new invoke overload that takes the function as a JSValue. 37220 37221 (WebKit::NPJSObject::npClass): 37222 Add NP_Construct. 37223 37224 (WebKit::NPJSObject::NP_InvokeDefault): 37225 Call NPJSObject::invokeDefault. 37226 37227 (WebKit::NPJSObject::NP_Construct): 37228 Call NPJSObject::construct. 37229 37230 * WebProcess/Plugins/NPJSObject.h: 37231 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 37232 (WebKit::NPN_GetValue): 37233 Handle the Core Animation drawing model and the Carbon event model. 37234 37235 (WebKit::NPN_InvokeDefault): 37236 Call the NPClass::invokeDefault function. 37237 37238 (WebKit::NPN_Construct): 37239 Call the NPClass::construct function. 37240 37241 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37242 37243 Reviewed by Sam Weinig. 37244 37245 Implement NPN_Invoke 37246 https://bugs.webkit.org/show_bug.cgi?id=43158 37247 37248 * WebProcess/Plugins/NPJSObject.cpp: 37249 (WebKit::NPJSObject::hasMethod): 37250 Use the free getCallData function. 37251 37252 (WebKit::NPJSObject::invoke): 37253 Get the JavaScript function and call it. 37254 37255 (WebKit::NPJSObject::NP_Invoke): 37256 Call NPJSObject::invoke. 37257 37258 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 37259 (WebKit::NPN_Invoke): 37260 Call the NPClass::invoke function. 37261 37262 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37263 37264 Reviewed by Sam Weinig. 37265 37266 Implement NPN_HasMethod 37267 https://bugs.webkit.org/show_bug.cgi?id=43155 37268 37269 * WebProcess/Plugins/NPJSObject.cpp: 37270 (WebKit::NPJSObject::hasMethod): 37271 Check if the JSObject has a property with the given name. If it does, check that the value is a function. 37272 37273 (WebKit::NPJSObject::hasProperty): 37274 Add a JSLock. 37275 37276 (WebKit::NPJSObject::npClass): 37277 Add some stubbed out functions. 37278 37279 (WebKit::NPJSObject::NP_HasMethod): 37280 Call NPJSObject::hasMethod. 37281 37282 (WebKit::NPJSObject::NP_Invoke): 37283 (WebKit::NPJSObject::NP_InvokeDefault): 37284 (WebKit::NPJSObject::NP_SetProperty): 37285 Stub out functions. 37286 37287 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 37288 (WebKit::NPN_HasMethod): 37289 Call the NPClass::hasMethod function. 37290 37291 2010-07-28 Brady Eidson <beidson (a] apple.com> 37292 37293 Rubberstamped by Sam Weinig. 37294 37295 Make sure new pages are always added to the same PageGroup (for now). 37296 37297 * WebProcess/WebPage/WebPage.cpp: 37298 (WebKit::WebPage::WebPage): 37299 37300 2010-07-28 Sam Weinig <sam (a] webkit.org> 37301 37302 Reviewed by Anders Carlsson. 37303 37304 Patch for https://bugs.webkit.org/show_bug.cgi?id=43097 37305 Make all objects in the WebKit2 API inherit from a single base class 37306 37307 - Adds an APIObject base class for all objects which one can get through 37308 the C API to inherit from. 37309 - Adds a WebString class which wraps WebCore::String for now. I am not too fond of 37310 this solution, so we should continue to iterate on it. 37311 - This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API. 37312 37313 * Shared/APIObject.h: Added. 37314 (WebKit::APIObject::APIObject): 37315 Base class for API objects. 37316 37317 * Shared/ImmutableArray.h: 37318 Make inherit from APIObject. 37319 37320 * Shared/WebString.h: Added. 37321 (WebKit::WebString::create): 37322 (WebKit::WebString::isNull): 37323 (WebKit::WebString::isEmpty): 37324 (WebKit::WebString::string): 37325 (WebKit::WebString::WebString): 37326 Wraps a WebCore::String so that it can be passed out to the API 37327 and still inherit from APIObject. 37328 37329 * UIProcess/API/C/WKAPICast.h: 37330 (WebKit::WebStringAdaptor::WebStringAdaptor): 37331 (WebKit::WebStringAdaptor::operator WKStringRef): 37332 (WebKit::WebStringAdaptor::operator WKURLRef): 37333 Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor 37334 to ease passing strings to client functions. 37335 37336 * UIProcess/API/C/WKContext.cpp: 37337 (WKContextCreateWithInjectedBundlePath): 37338 (WKContextPostMessageToInjectedBundle): 37339 (_WKContextSetAdditionalPluginPath): 37340 (_WKContextRegisterURLSchemeAsEmptyDocument): 37341 Get the WebCore::String from the WebString. 37342 37343 * UIProcess/API/C/WKPage.cpp: 37344 (WKPageLoadURL): 37345 Ditto. 37346 37347 * UIProcess/API/C/WKString.cpp: 37348 (WKStringIsEmpty): 37349 Implement in terms of WebString. 37350 37351 * UIProcess/API/C/WKURL.cpp: 37352 * UIProcess/API/C/cf/WKStringCF.cpp: 37353 (WKStringCreateWithCFString): 37354 (WKStringCopyCFString): 37355 Ditto. 37356 37357 * UIProcess/API/C/cf/WKURLCF.cpp: 37358 (WKURLCreateWithCFURL): 37359 (WKURLCopyCFURL): 37360 Ditto. 37361 37362 * UIProcess/WebBackForwardList.h: 37363 Make inherit from APIObject. 37364 37365 * UIProcess/WebBackForwardListItem.h: 37366 Ditto. 37367 37368 * UIProcess/WebContext.cpp: 37369 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): 37370 (WebKit::WebContext::postMessageToInjectedBundle): 37371 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 37372 Use String instead of StringImpl to be consistent. 37373 37374 * UIProcess/WebContext.h: 37375 Make inherit from APIObject. 37376 37377 * UIProcess/WebFramePolicyListenerProxy.h: 37378 Ditto. 37379 37380 * UIProcess/WebFrameProxy.h: 37381 Ditto. 37382 37383 * UIProcess/WebNavigationData.h: 37384 Ditto. 37385 37386 * UIProcess/WebPageNamespace.h: 37387 Ditto. 37388 37389 * UIProcess/WebPageProxy.h: 37390 Ditto. 37391 37392 * UIProcess/WebPreferences.h: 37393 Ditto. 37394 37395 * UIProcess/WebUIClient.cpp: 37396 (WebKit::WebUIClient::runJavaScriptPrompt): 37397 Implement in terms of WebString. 37398 37399 * UIProcess/win/WebView.h: 37400 Make inherit from APIObject. 37401 37402 * WebKit2.xcodeproj/project.pbxproj: 37403 Add new files. 37404 37405 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 37406 (WKBundlePostMessage): 37407 Get the WebCore::String from the WebString. 37408 37409 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 37410 (WKBundleFramePauseAnimationOnElementWithId): 37411 Ditto. 37412 37413 * WebProcess/InjectedBundle/InjectedBundle.cpp: 37414 (WebKit::InjectedBundle::postMessage): 37415 * WebProcess/InjectedBundle/InjectedBundle.h: 37416 Use String instead of StringImpl to be consistent. 37417 37418 * WebProcess/WebPage/WebFrame.h: 37419 Make inherit from APIObject. 37420 37421 * WebProcess/WebPage/WebPage.h: 37422 Make inherit from APIObject. 37423 37424 * win/WebKit2.vcproj: 37425 Add new files. 37426 37427 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37428 37429 Reviewed by Sam Weinig. 37430 37431 Implement JSNPObject::put 37432 https://bugs.webkit.org/show_bug.cgi?id=43149 37433 37434 * WebProcess/Plugins/JSNPObject.cpp: 37435 (WebKit::JSNPObject::getOwnPropertySlot): 37436 Fix a typo. 37437 37438 (WebKit::JSNPObject::getOwnPropertyDescriptor): 37439 Implement this in the same way as it's implemented in RuntimeObject. 37440 37441 (WebKit::JSNPObject::put): 37442 Implement this, call NPClass::setProperty. 37443 37444 * WebProcess/Plugins/JSNPObject.h: 37445 37446 2010-07-28 Anders Carlsson <andersca (a] apple.com> 37447 37448 Reviewed by Sam Weinig. 37449 37450 Add support for calling NPObject methods 37451 https://bugs.webkit.org/show_bug.cgi?id=43145 37452 37453 * WebKit2.xcodeproj/project.pbxproj: 37454 Add JSNPMethod.cpp and JSNPMethod.h 37455 37456 * WebProcess/Plugins/JSNPMethod.cpp: Added. 37457 * WebProcess/Plugins/JSNPMethod.h: Added. 37458 * WebProcess/Plugins/JSNPObject.cpp: 37459 (WebKit::): 37460 Add a ClassInfo static variable for JSNPObject. 37461 37462 (WebKit::JSNPObject::callMethod): 37463 Convert the passed in arguments, call the method and convert the result back. 37464 37465 (WebKit::JSNPObject::getOwnPropertySlot): 37466 Check if the NPObject has a method. 37467 37468 (WebKit::JSNPObject::methodGetter): 37469 Return a new JSNPMethod. 37470 37471 * WebProcess/Plugins/JSNPObject.h: 37472 (WebKit::JSNPObject::classInfo): 37473 Return the s_info. 37474 37475 * WebProcess/Plugins/NPJSObject.cpp: 37476 (WebKit::NPJSObject::getProperty): 37477 Get the property from the JSObject. 37478 37479 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 37480 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): 37481 Convert the given JSValue to an NPVariant. 37482 37483 * win/WebKit2.vcproj: 37484 Add JSNPMethod.cpp and JSNPMethod.h 37485 37486 2010-07-28 Adam Roben <aroben (a] apple.com> 37487 37488 Teach CoreIPC how to handle with a pipe closing during a write 37489 37490 Fixes <http://webkit.org/b/43131> Assertion failure in 37491 Connection::sendOutgoingMessage if the other process exits at just the 37492 wrong time 37493 37494 Reviewed by Darin Adler. 37495 37496 * Platform/CoreIPC/win/ConnectionWin.cpp: 37497 (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with 37498 ERROR_NO_DATA, the pipe (and thus the connection) has closed. 37499 37500 2010-07-28 Adam Roben <aroben (a] apple.com> 37501 37502 Teach CoreIPC the right way to send large messages on Windows 37503 37504 r63776 added support for ::WriteFile failing with ERROR_IO_PENDING, 37505 but it had a major flaw: we didn't ensure that the data being sent 37506 (which is owned by the ArgumentEncoder) stayed around until the write 37507 finished. We'd destroy the data immediately, leading to ::WriteFile 37508 accessing that freed memory later. This seemed to always manifest 37509 itself as a crash in ::WaitForMultipleObjects. 37510 37511 The correct solution (as hinted above) is to make sure that the data 37512 being written is not destroyed until the write completes. When 37513 ::WriteFile fails with ERROR_IO_PENDING, we store the data being sent 37514 in Connection::m_pendingWriteArguments, and don't send any more 37515 messages until that write completes. We use an event in the OVERLAPPED 37516 structure passed to ::WriteFile to detect when the write has completed 37517 (similar to what we do for reads). 37518 37519 Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in 37520 WebKit2WebProcess in WaitForMultipleObjects beneath 37521 WorkQueue::workQueueThreadBody when running tests that produce a lot 37522 of output 37523 37524 Reviewed by Anders Carlsson. 37525 37526 * Platform/CoreIPC/Connection.cpp: 37527 (CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out 37528 to a platform-specific function to allow each platform to have its own 37529 policy for when messages can and can't be sent. 37530 (CoreIPC::Connection::sendOutgoingMessages): Use the new 37531 canSendOutgoingMessages to determine whether we can send any messages 37532 right now. We now remove one message at a time from m_outgoingMessages 37533 and send it. We stop sending messages when sendOutgoingMessage returns 37534 false. 37535 37536 * Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and 37537 m_writeState on Windows. 37538 (CoreIPC::Connection::Message::Message): Added this default 37539 constructor. 37540 37541 * Platform/CoreIPC/MessageID.h: 37542 (CoreIPC::MessageID::MessageID): Made the default constructor public 37543 for Message's benefit. 37544 37545 * Platform/CoreIPC/mac/ConnectionMac.cpp: 37546 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always 37547 returns true. 37548 (CoreIPC::Connection::sendOutgoingMessage): Changed to return a 37549 boolean indicating whether more messages can be sent at this time. 37550 37551 * Platform/CoreIPC/qt/ConnectionQt.cpp: 37552 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns 37553 true if we have a socket. 37554 (CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of 37555 m_socket to an assertion since it should be checked for null in 37556 platformCanSendOutgoingMessages. Changed to return a boolean 37557 indicating whether more messages can be sent at this time. 37558 37559 * Platform/CoreIPC/win/ConnectionWin.cpp: 37560 (CoreIPC::Connection::platformInitialize): Added initialization of 37561 m_writeState. 37562 (CoreIPC::Connection::platformInvalidate): Close m_writeState's event 37563 handle. 37564 (CoreIPC::Connection::writeEventHandler): Added. Checks if the pending 37565 write has completed, cleans up our pending write state, and sends any 37566 remaining messages. 37567 (CoreIPC::Connection::open): Register our write event with the 37568 WorkQueue so that writeEventHandler will be called when the event is 37569 signaled. 37570 (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can 37571 only send messages if there isn't a write pending. 37572 (CoreIPC::Connection::sendOutgoingMessage): Changed to return a 37573 boolean indicating whether more messages can be sent at this time. We 37574 now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED 37575 struct so that our write event will be signaled when the write 37576 completes. We also no longer pass a pointer to receive how many bytes 37577 were written, as recommended by MSDN. If ::WriteFile fails with 37578 ERROR_IO_PENDING, we save the ArgumentEncoder for this message and 37579 return false to indicate that no more messages can be sent at this 37580 time. 37581 37582 2010-07-28 Adam Roben <aroben (a] apple.com> 37583 37584 Stop leaking Connection::m_readState.hEvent on Windows 37585 37586 Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read 37587 event on Windows 37588 37589 Reviewed by Darin Adler. 37590 37591 * Platform/CoreIPC/win/ConnectionWin.cpp: 37592 (CoreIPC::Connection::platformInvalidate): Close the event handle. 37593 37594 2010-07-26 Steve Block <steveblock (a] google.com> 37595 37596 Reviewed by Jeremy Orlow. 37597 37598 Page clients should be passed to Page constructor via structure of pointers 37599 https://bugs.webkit.org/show_bug.cgi?id=42834 37600 37601 * WebKit2/WebProcess/WebPage/WebPage.cpp: 37602 (WebPage::WebPage): 37603 37604 2010-07-28 Andras Becsi <abecsi (a] webkit.org> 37605 37606 Unreviewed trivial build fix. 37607 37608 [Qt] Follow the API changes after r64172. 37609 37610 * UIProcess/API/qt/qwkpage.cpp: 37611 (QWKPage::url): 37612 (QWKPage::title): 37613 37614 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37615 37616 Fix Windows build. 37617 37618 * WebProcess/Plugins/JSNPObject.cpp: 37619 (WebKit::JSNPObject::propertyGetter): 37620 Remove unreachable code. 37621 37622 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37623 37624 Reviewed by Sam Weinig. 37625 37626 Implement JSNPObject::propertyGetter 37627 https://bugs.webkit.org/show_bug.cgi?id=43091 37628 37629 * WebProcess/Plugins/JSNPObject.cpp: 37630 (WebKit::JSNPObject::propertyGetter): 37631 Ask the NPObject for its property. 37632 37633 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 37634 (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed): 37635 Add a stub. 37636 37637 (WebKit::NPRuntimeObjectMap::convertNPVariantToValue): 37638 Implement this for everything except objects. 37639 37640 2010-07-27 Sam Weinig <sam (a] webkit.org> 37641 37642 Reviewed by Anders Carlsson. 37643 37644 Patch for https://bugs.webkit.org/show_bug.cgi?id=43087 37645 Clean up handling of strings at the WebKit2 API layer. 37646 37647 - Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs. 37648 - Never return a null WKStringRef or WKURLRef. 37649 37650 * UIProcess/API/C/WKAPICast.h: 37651 (toRef): 37652 (toURLRef): 37653 (toCopiedRef): 37654 (toCopiedURLRef): 37655 * UIProcess/API/C/WKBackForwardListItem.cpp: 37656 (WKBackForwardListItemCopyOriginalURL): 37657 (WKBackForwardListItemCopyURL): 37658 (WKBackForwardListItemCopyTitle): 37659 * UIProcess/API/C/WKBackForwardListItem.h: 37660 * UIProcess/API/C/WKFrame.cpp: 37661 (WKFrameIsMainFrame): 37662 (WKFrameCopyProvisionalURL): 37663 (WKFrameCopyURL): 37664 (WKFrameGetPage): 37665 (WKFrameRetain): 37666 (WKFrameRelease): 37667 * UIProcess/API/C/WKFrame.h: 37668 * UIProcess/API/C/WKNavigationData.cpp: 37669 (WKNavigationDataCopyTitle): 37670 (WKNavigationDataCopyURL): 37671 * UIProcess/API/C/WKNavigationData.h: 37672 * UIProcess/API/C/WKPage.cpp: 37673 (WKPageCopyTitle): 37674 * UIProcess/API/C/WKPage.h: 37675 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 37676 (WKBundleFrameCopyURL): 37677 (WKBundleFrameCopyName): 37678 (WKBundleFrameCopyCounterValue): 37679 (WKBundleFrameCopyMarkerText): 37680 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 37681 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: 37682 (WKBundleNodeCopyNodeName): 37683 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 37684 (WKBundlePageCopyRenderTreeExternalRepresentation): 37685 37686 2010-07-27 Adam Roben <aroben (a] apple.com> 37687 37688 Fix PageClient ownership in WebPageProxy 37689 37690 WKView now owns the PageClient, similar to how things work on Windows 37691 (where the WebView is the PageClient). 37692 37693 Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak 37694 reference to the PageClient 37695 37696 Reviewed by Anders Carlsson. 37697 37698 * UIProcess/API/mac/WKView.mm: 37699 (-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl 37700 on our WKViewData object and pass it to the WebPageProxy. 37701 37702 * UIProcess/WebPageProxy.cpp: 37703 (WebKit::WebPageProxy::setPageClient): 37704 * UIProcess/WebPageProxy.h: 37705 Removed Mac-specific code that put the PageClient in an OwnPtr. We now 37706 store it in a bare pointer just like on Windows. 37707 37708 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37709 37710 Reviewed by Sam Weinig. 37711 37712 Add JSNPObject, a JSObject that wraps an NPObject 37713 https://bugs.webkit.org/show_bug.cgi?id=43079 37714 37715 * WebKit2.xcodeproj/project.pbxproj: 37716 Add JSNPObject.cpp and JSNPObject.h 37717 37718 * WebProcess/Plugins/JSNPObject.cpp: Added. 37719 (WebKit::npIdentifierFromIdentifier): 37720 (WebKit::JSNPObject::JSNPObject): 37721 (WebKit::JSNPObject::~JSNPObject): 37722 (WebKit::JSNPObject::getOwnPropertySlot): 37723 Check if the NPObject has the given property. 37724 37725 (WebKit::JSNPObject::propertyGetter): 37726 (WebKit::JSNPObject::throwInvalidAccessError): 37727 * WebProcess/Plugins/JSNPObject.h: Added. 37728 (WebKit::JSNPObject::createStructure): 37729 * WebProcess/Plugins/NPJSObject.h: 37730 37731 * win/WebKit2.vcproj: 37732 Add JSNPObject.cpp and JSNPObject.h 37733 37734 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37735 37736 Reviewed by Sam Weinig. 37737 37738 Expose interface for returning the plug-in script JSObject 37739 https://bugs.webkit.org/show_bug.cgi?id=43074 37740 37741 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 37742 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 37743 Add empty stub. 37744 37745 * WebProcess/Plugins/NPRuntimeObjectMap.h: 37746 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 37747 (WebKit::NetscapePlugin::pluginScriptableNPObject): 37748 Ask the plug-in for it's scriptable NPObject. 37749 37750 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 37751 * WebProcess/Plugins/Plugin.h: 37752 Add pluginScritableNPObject. 37753 37754 * WebProcess/Plugins/PluginView.cpp: 37755 (WebKit::PluginView::PluginView): 37756 Call PluginViewBase constructor. 37757 37758 (WebKit::PluginView::scriptObject): 37759 Ask the plug-in for its scriptable object and wrap it. 37760 37761 * WebProcess/Plugins/PluginView.h: 37762 PluginView now inherits from PluginViewBase. 37763 37764 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37765 37766 Reviewed by Adam Roben. 37767 37768 Move NPJSObject out into separate files 37769 https://bugs.webkit.org/show_bug.cgi?id=43068 37770 37771 * WebKit2.xcodeproj/project.pbxproj: 37772 * WebProcess/Plugins/NPJSObject.cpp: Added. 37773 (WebKit::NPJSObject::create): 37774 (WebKit::NPJSObject::NPJSObject): 37775 (WebKit::NPJSObject::~NPJSObject): 37776 (WebKit::NPJSObject::isNPJSObject): 37777 (WebKit::NPJSObject::initialize): 37778 (WebKit::identifierFromIdentifierRep): 37779 (WebKit::NPJSObject::hasProperty): 37780 (WebKit::NPJSObject::getProperty): 37781 (WebKit::NPJSObject::npClass): 37782 (WebKit::NPJSObject::NP_Allocate): 37783 (WebKit::NPJSObject::NP_Deallocate): 37784 (WebKit::NPJSObject::NP_HasProperty): 37785 (WebKit::NPJSObject::NP_GetProperty): 37786 * WebProcess/Plugins/NPJSObject.h: Added. 37787 (WebKit::NPJSObject::jsObject): 37788 (WebKit::NPJSObject::toNPJSObject): 37789 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: 37790 (WebKit::NPRuntimeObjectMap::npJSObjectDestroyed): 37791 (WebKit::NPRuntimeObjectMap::globalExec): 37792 * WebProcess/Plugins/NPRuntimeObjectMap.h: 37793 * win/WebKit2.vcproj: 37794 37795 2010-07-27 Anders Carlsson <andersca (a] apple.com> 37796 37797 Reviewed by Adam Roben. 37798 37799 Rename NPJSObjectMap to NPRuntimeObjectMap 37800 https://bugs.webkit.org/show_bug.cgi?id=43066 37801 37802 * WebKit2.xcodeproj/project.pbxproj: 37803 * WebProcess/Plugins/NPJSObjectMap.cpp: Removed. 37804 * WebProcess/Plugins/NPJSObjectMap.h: Removed. 37805 * WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added. 37806 (WebKit::NPJSObject::NPJSObject): 37807 (WebKit::NPJSObject::~NPJSObject): 37808 (WebKit::NPJSObject::toNPJSObject): 37809 (WebKit::NPJSObject::create): 37810 (WebKit::NPJSObject::isNPJSObject): 37811 (WebKit::NPJSObject::initialize): 37812 (WebKit::identifierFromIdentifierRep): 37813 (WebKit::NPJSObject::hasProperty): 37814 (WebKit::NPJSObject::getProperty): 37815 (WebKit::NPJSObject::npClass): 37816 (WebKit::NPJSObject::NP_Allocate): 37817 (WebKit::NPJSObject::NP_Deallocate): 37818 (WebKit::NPJSObject::NP_HasProperty): 37819 (WebKit::NPJSObject::NP_GetProperty): 37820 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap): 37821 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 37822 (WebKit::NPRuntimeObjectMap::invalidate): 37823 * WebProcess/Plugins/NPRuntimeObjectMap.h: Added. 37824 * WebProcess/Plugins/PluginView.cpp: 37825 (WebKit::PluginView::PluginView): 37826 (WebKit::PluginView::~PluginView): 37827 (WebKit::PluginView::windowScriptNPObject): 37828 (WebKit::PluginView::pluginElementNPObject): 37829 * WebProcess/Plugins/PluginView.h: 37830 * win/WebKit2.vcproj: 37831 37832 2010-07-27 Adam Roben <aroben (a] apple.com> 37833 37834 Make preferences APIs robust against web process crashes 37835 37836 Fixes <http://webkit.org/b/43049> Crash in 37837 WebPageNamespace::preferencesDidChange if preferences are changed 37838 after the web process crashes 37839 37840 Reviewed by Anders Carlsson. 37841 37842 * UIProcess/WebContext.cpp: 37843 (WebKit::WebContext::preferencesDidChange): Bail out if we don't have 37844 a web process. The new preference values will get propogated to the 37845 web process if and when it launches. 37846 37847 2010-07-27 Adam Roben <aroben (a] apple.com> 37848 37849 Add a ProcessDidExit callback to the WKPageLoaderClient 37850 37851 Fixes <http://webkit.org/b/43048> UI process needs a way to find out 37852 when the web process crashes 37853 37854 Reviewed by Anders Carlsson. 37855 37856 * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a 37857 processDidExit member of that type to WKPageLoaderClient. 37858 37859 * UIProcess/WebLoaderClient.cpp: 37860 (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the 37861 WKPageLoaderClient. 37862 37863 * UIProcess/WebLoaderClient.h: Added processDidExit. 37864 37865 * UIProcess/WebPageProxy.cpp: 37866 (WebKit::WebPageProxy::processDidExit): Tell the loader client the 37867 process exited. 37868 37869 2010-07-27 Andras Becsi <abecsi (a] webkit.org> 37870 37871 Reviewed by Kenneth Rohde Christiansen. 37872 37873 [Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes 37874 https://bugs.webkit.org/show_bug.cgi?id=43042 37875 37876 * Shared/qt/WebEventFactoryQt.cpp: 37877 (WebKit::WebEventFactory::createWebMouseEvent): 37878 Set deltaX, deltaY and deltaZ arguments. 37879 37880 2010-07-27 Balazs Kelemen <kb (a] inf.u-szeged.hu> 37881 37882 Reviewed by Kenneth Rohde Christiansen. 37883 37884 [Qt] WebKit::PageClient implementation needs a dedicated class 37885 37886 https://bugs.webkit.org/show_bug.cgi?id=42974 37887 37888 * UIProcess/API/qt/qwkpage.cpp: 37889 (PageClientImpl::PageClientImpl): Added. 37890 (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate. 37891 (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto. 37892 (PageClientImpl::processDidExit): Ditto. 37893 (PageClientImpl::processDidRevive): Ditto. 37894 (PageClientImpl::setCursor): Ditto. 37895 (PageClientImpl::takeFocus): Ditto. 37896 (PageClientImpl::toolTipChanged): Ditto. 37897 (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'. 37898 * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate. 37899 37900 2010-07-26 Darin Adler <darin (a] apple.com> 37901 37902 Reviewed by Sam Weinig. 37903 37904 WebKitTestRunner needs to support layoutTestController.counterValueForElementById 37905 https://bugs.webkit.org/show_bug.cgi?id=42537 37906 37907 WebKitTestRunner needs layoutTestController.markerTextForListItem 37908 https://bugs.webkit.org/show_bug.cgi?id=42549 37909 37910 * UIProcess/API/C/WKString.cpp: 37911 (WKStringIsEmpty): Added. 37912 * UIProcess/API/C/WKString.h: Added WKStringIsEmpty. 37913 37914 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 37915 (copiedString): Added. Helper for functions that return a 37916 WKStringRef that follows the copy rule. 37917 (WKBundleFrameCopyName): Use copiedString. 37918 (WKBundleFrameCopyCounterValue): Added. Calls counterValue. 37919 (WKBundleFrameCopyMarkerText): Added. Calls markerText. 37920 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: 37921 Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText. 37922 37923 * WebProcess/WebPage/WebFrame.cpp: 37924 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): 37925 Renamed argument to streamline function a bit. 37926 (WebKit::WebFrame::counterValue): Added. 37927 (WebKit::WebFrame::markerText): Added. 37928 * WebProcess/WebPage/WebFrame.h: Added counterValue and markerText. 37929 37930 2010-07-26 Sam Weinig <sam (a] webkit.org> 37931 37932 Reviewed by Anders Carlsson. 37933 37934 Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013 37935 <rdar://problem/8152434> 37936 Add support for scrolling using the keyboard in WebKit2 37937 37938 Add support for scrolling with the space bar and ensure that we don't scroll 37939 if WebCore is handling the event in another way. 37940 37941 * WebProcess/WebPage/WebPage.cpp: 37942 (WebKit::WebPage::keyEvent): 37943 (WebKit::getScrollMapping): 37944 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 37945 * WebProcess/WebPage/WebPage.h: 37946 37947 2010-07-26 Sam Weinig <sam (a] webkit.org> 37948 37949 Reviewed by Anders Carlsson. 37950 37951 Patch for https://bugs.webkit.org/show_bug.cgi?id=43013 37952 Part of <rdar://problem/8152434> 37953 Add support for scrolling using the keyboard in WebKit2 37954 37955 * WebProcess/WebPage/WebPage.cpp: 37956 (WebKit::getScrollMapping): 37957 (WebKit::WebPage::keyEvent): 37958 Scroll the page in response to keyDown. 37959 * WebProcess/WebPage/WebPage.h: 37960 * WebProcess/WebPage/mac/WebPageMac.mm: 37961 Use WindowsKeyboardCodes.h instead of redefining the constants. 37962 37963 2010-07-26 Ada Chan <adachan (a] apple.com> 37964 37965 Fix Windows build. 37966 37967 * win/WebKit2Generated.make: 37968 37969 2010-07-26 Anders Carlsson <andersca (a] apple.com> 37970 37971 Fix Windows build. 37972 37973 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 37974 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 37975 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 37976 37977 2010-07-26 Anders Carlsson <andersca (a] apple.com> 37978 37979 Reviewed by Sam Weinig. 37980 37981 Handle mouseenter/mouseleave + focus events 37982 https://bugs.webkit.org/show_bug.cgi?id=42997 37983 37984 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 37985 (WebKit::NetscapePlugin::handleMouseEnterEvent): 37986 Call platformHandleMouseEnterEvent. 37987 37988 (WebKit::NetscapePlugin::handleMouseLeaveEvent): 37989 Call platformHandleMouseExitEvent. 37990 37991 (WebKit::NetscapePlugin::setFocus): 37992 Call platformSetFocus. 37993 37994 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 37995 (WebKit::fillInCocoaEventFromMouseEvent): 37996 Factor out code that fills in an NPCocoaEvent from a WebMouseEvent. 37997 37998 (WebKit::initializeMouseEvent): 37999 Call fillInCocoaEventFromMouseEvent. 38000 38001 (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): 38002 Send an NPCocoaEventMouseEntered event. 38003 38004 (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 38005 Send an NPCocoaEventMouseExited event. 38006 38007 (WebKit::NetscapePlugin::platformSetFocus): 38008 Send an NPCocoaEventFocusChanged. 38009 38010 * WebProcess/Plugins/Plugin.h: 38011 * WebProcess/Plugins/PluginView.cpp: 38012 (WebKit::PluginView::handleEvent): 38013 Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown. 38014 38015 (WebKit::PluginView::focusPluginElement): 38016 Focus the plug-in's containing frame and its element. 38017 38018 (WebKit::PluginView::setFocus): 38019 Call Plugin::setFocus. 38020 38021 2010-07-26 Brady Eidson <beidson (a] apple.com> 38022 38023 Reviewed by Sam Weinig. 38024 38025 Add ability for WK2 to register a scheme to always be displayed as an empty document 38026 https://bugs.webkit.org/show_bug.cgi?id=42995 38027 38028 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 38029 (WebProcessMessage::): 38030 38031 * UIProcess/API/C/WKContext.cpp: 38032 (_WKContextRegisterURLSchemeAsEmptyDocument): 38033 * UIProcess/API/C/WKContextPrivate.h: 38034 38035 * UIProcess/WebContext.cpp: 38036 (WebKit::WebContext::registerURLSchemeAsEmptyDocument): 38037 * UIProcess/WebContext.h: 38038 38039 * WebProcess/WebProcess.cpp: 38040 (WebKit::WebProcess::registerURLSchemeAsEmptyDocument): 38041 (WebKit::WebProcess::didReceiveMessage): 38042 * WebProcess/WebProcess.h: 38043 38044 2010-07-26 Anders Carlsson <andersca (a] apple.com> 38045 38046 Reviewed by Adam Roben. 38047 38048 Get rid of the dummy plug-in. 38049 38050 * WebKit2.xcodeproj/project.pbxproj: 38051 * WebProcess/Plugins/DummyPlugin.cpp: Removed. 38052 * WebProcess/Plugins/DummyPlugin.h: Removed. 38053 * win/WebKit2.vcproj: 38054 38055 2010-07-26 Sam Weinig <sam (a] webkit.org> 38056 38057 Reviewed by Anders Carlsson. 38058 38059 Move some non-APIish functions into private headers. 38060 38061 * WebKit2.xcodeproj/project.pbxproj: 38062 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 38063 * WebProcess/InjectedBundle/API/c/WKBundle.h: 38064 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 38065 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 38066 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h. 38067 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h. 38068 * win/WebKit2.vcproj: 38069 38070 2010-07-26 Sam Weinig <sam (a] webkit.org> 38071 38072 Reviewed by Anders Carlsson. 38073 38074 Fix for https://bugs.webkit.org/show_bug.cgi?id=42986 38075 Add prompt and confirm client functions to WebKit2 38076 38077 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 38078 (WebPageProxyMessage::): 38079 * UIProcess/API/C/WKPage.h: 38080 * UIProcess/WebPageProxy.cpp: 38081 (WebKit::WebPageProxy::didReceiveSyncMessage): 38082 (WebKit::WebPageProxy::runJavaScriptAlert): 38083 (WebKit::WebPageProxy::runJavaScriptConfirm): 38084 (WebKit::WebPageProxy::runJavaScriptPrompt): 38085 * UIProcess/WebPageProxy.h: 38086 * UIProcess/WebUIClient.cpp: 38087 (WebKit::WebUIClient::runJavaScriptAlert): 38088 (WebKit::WebUIClient::runJavaScriptConfirm): 38089 (WebKit::WebUIClient::runJavaScriptPrompt): 38090 * UIProcess/WebUIClient.h: 38091 * WebKit2.xcodeproj/project.pbxproj: 38092 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38093 (WebKit::WebChromeClient::runJavaScriptConfirm): 38094 (WebKit::WebChromeClient::runJavaScriptPrompt): 38095 38096 2010-07-26 Adam Roben <aroben (a] apple.com> 38097 38098 Windows build fix 38099 38100 * win/WebKit2.vcproj: 38101 * win/WebKit2WebProcess.vcproj: 38102 Removed empty attributes so the values will be picked up from the 38103 vsprops files. (Also removed a couple of attributes that accidentally 38104 duplicated values from the vsprops files.) 38105 38106 2010-07-26 Simon Fraser <simon.fraser (a] apple.com> 38107 38108 Reviewed by Anders Carlsson. 38109 38110 Composited layers don't scroll in WebKit2 38111 https://bugs.webkit.org/show_bug.cgi?id=42771 38112 38113 In WebKit2, do the compositing layer geometry flipping on the drawing area's main 38114 backing layer. This both avoids us having to flip the layer contents, and also avoids issues 38115 with the positioning of the root platform layer, which we want top-left. Doing the flipping 38116 lower down would require that the root platform layer know where the scrollbar is. 38117 38118 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 38119 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 38120 38121 2010-07-26 Anders Carlsson <andersca (a] apple.com> 38122 38123 Reviewed by Sam Weinig. 38124 38125 Deliver mouse and wheel events to plug-ins 38126 https://bugs.webkit.org/show_bug.cgi?id=42988 38127 38128 * Shared/WebEvent.h: 38129 (WebKit::WebMouseEvent::WebMouseEvent): 38130 (WebKit::WebMouseEvent::deltaX): 38131 (WebKit::WebMouseEvent::deltaY): 38132 (WebKit::WebMouseEvent::deltaZ): 38133 * Shared/mac/WebEventFactory.mm: 38134 (WebKit::WebEventFactory::createWebMouseEvent): 38135 Add deltaX, deltaY and deltaZ member variables to WebMosueEvent. 38136 38137 * WebKit2.xcodeproj/project.pbxproj: 38138 Rename NetscapePluginMac.cpp to NetscapePluginMac.mm. 38139 38140 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 38141 (WebKit::NetscapePlugin::NPP_HandleEvent): 38142 Add NPP_ wrapper. 38143 38144 (WebKit::NetscapePlugin::handleMouseEvent): 38145 (WebKit::NetscapePlugin::handleWheelEvent): 38146 Call the platform variants. 38147 38148 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added. 38149 (WebKit::modifierFlags): 38150 (WebKit::buttonNumber): 38151 (WebKit::initializeMouseEvent): 38152 (WebKit::NetscapePlugin::platformHandleMouseEvent): 38153 Create an NPCocoaEvent and send it to the plug-in. 38154 38155 (WebKit::NetscapePlugin::platformHandleWheelEvent): 38156 Ditto. 38157 38158 * WebProcess/Plugins/PluginView.cpp: 38159 (WebKit::PluginView::handleEvent): 38160 Get the current WebEvent and send it to the plug-in if necessary. 38161 38162 * WebProcess/WebPage/WebPage.cpp: 38163 (WebKit::WebPage::currentEvent): 38164 (WebKit::CurrentEvent::CurrentEvent): 38165 (WebKit::CurrentEvent::~CurrentEvent): 38166 (WebKit::WebPage::mouseEvent): 38167 (WebKit::WebPage::wheelEvent): 38168 (WebKit::WebPage::keyEvent): 38169 * WebProcess/WebPage/WebPage.h: 38170 Add RAII object for keeping track of the current event. 38171 38172 2010-07-26 Anders Carlsson <andersca (a] apple.com> 38173 38174 Reviewed by Sam Weinig. 38175 38176 Clean up event handling functions 38177 https://bugs.webkit.org/show_bug.cgi?id=42977 38178 38179 * WebProcess/WebPage/WebPage.cpp: 38180 (WebKit::WebPage::mouseEvent): 38181 (WebKit::WebPage::wheelEvent): 38182 (WebKit::WebPage::keyEvent): 38183 (WebKit::WebPage::didReceiveMessage): 38184 * WebProcess/WebPage/WebPage.h: 38185 38186 2010-07-25 Darin Adler <darin (a] apple.com> 38187 38188 Reviewed by Maciej Stachowiak. 38189 38190 WebKitTestRunner needs to support layoutTestController.keepWebHistory 38191 https://bugs.webkit.org/show_bug.cgi?id=42323 38192 38193 Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks, 38194 and WKBundleFrameGetComputedStyleIncludingVisitedInfo. 38195 38196 Also fixed misspellings of the word "receive". 38197 38198 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 38199 (WKBundleSetShouldTrackVisitedLinks): Added. 38200 (WKBundleRemoveAllVisitedLinks): Added. 38201 * WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and 38202 fixed mispellings of receive. 38203 38204 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 38205 (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame, 38206 to be consistent with the rest of the functions in this file. 38207 (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added. 38208 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added 38209 WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the 38210 file to be more logically ordered and grouped. 38211 38212 * WebProcess/InjectedBundle/InjectedBundle.cpp: 38213 (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added. 38214 (WebKit::InjectedBundle::removeAllVisitedLinks): Added. 38215 (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive. 38216 * WebProcess/InjectedBundle/InjectedBundle.h: Ditto. 38217 38218 * WebProcess/WebPage/WebFrame.cpp: 38219 (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in 38220 WKBundleFrameGetJavaScriptContext. 38221 (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added. 38222 * WebProcess/WebPage/WebFrame.h: Ditto. 38223 38224 * UIProcess/API/C/WKContext.h: Fixed misspellings of receive. 38225 * UIProcess/WebContext.cpp: 38226 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto. 38227 * UIProcess/WebContext.h: Ditto. 38228 * UIProcess/WebContextInjectedBundleClient.cpp: 38229 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto. 38230 * UIProcess/WebContextInjectedBundleClient.h: Ditto. 38231 * UIProcess/WebProcessProxy.cpp: 38232 (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto. 38233 * WebProcess/WebProcess.cpp: 38234 (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto. 38235 38236 2010-07-25 Alexey Proskuryakov <ap (a] apple.com> 38237 38238 Reviewed by Sam Weinig. 38239 38240 https://bugs.webkit.org/show_bug.cgi?id=42193 38241 Support layoutTestController.dumpEditingDelegates in WebKitTestRunner 38242 38243 Step 2 - add the rest of editing delegates. 38244 38245 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 38246 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 38247 Added enums for EditorInsertAction and EAffinity. Also added a dummy type for 38248 CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that. 38249 38250 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 38251 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 38252 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing): 38253 (WebKit::InjectedBundlePageEditorClient::shouldEndEditing): 38254 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode): 38255 (WebKit::InjectedBundlePageEditorClient::shouldInsertText): 38256 (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange): 38257 (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange): 38258 (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle): 38259 (WebKit::InjectedBundlePageEditorClient::didBeginEditing): 38260 (WebKit::InjectedBundlePageEditorClient::didEndEditing): 38261 (WebKit::InjectedBundlePageEditorClient::didChange): 38262 (WebKit::InjectedBundlePageEditorClient::didChangeSelection): 38263 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 38264 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 38265 (WebKit::WebEditorClient::shouldDeleteRange): 38266 (WebKit::WebEditorClient::shouldEndEditing): 38267 (WebKit::WebEditorClient::shouldInsertNode): 38268 (WebKit::WebEditorClient::shouldInsertText): 38269 (WebKit::WebEditorClient::shouldChangeSelectedRange): 38270 (WebKit::WebEditorClient::shouldApplyStyle): 38271 (WebKit::WebEditorClient::didBeginEditing): 38272 (WebKit::WebEditorClient::respondToChangedContents): 38273 (WebKit::WebEditorClient::respondToChangedSelection): 38274 (WebKit::WebEditorClient::didEndEditing): 38275 Added remaining delagates that are needed for WebKitTestRunner. 38276 38277 2010-07-19 Balazs Kelemen <kb (a] inf.u-szeged.hu> 38278 38279 Reviewed by Kenneth Rohde Christiansen. 38280 38281 [Qt] Setup the QtWebProcess 38282 38283 https://bugs.webkit.org/show_bug.cgi?id=42623 38284 38285 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 38286 Remove the framework entry point from here to WebProcess/qt/WebProcessMainQt.cpp to match with with the mac and the win port. 38287 * WebKit2.pro: Added. 38288 * WebProcess/qt/WebProcessMainQt.cpp: Added. 38289 (WebKit::WebProcessMainQt): Framework entry point for Qt. 38290 * qt/MainQt.cpp: Added. 38291 (main): 38292 38293 2010-07-22 Darin Adler <darin (a] apple.com> 38294 38295 Reviewed by Sam Weinig. 38296 38297 Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2 38298 https://bugs.webkit.org/show_bug.cgi?id=42847 38299 38300 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Removed WKBundleFrameCopyInnerText. 38301 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto. 38302 * WebProcess/WebPage/WebFrame.cpp: Removed innerText. 38303 * WebProcess/WebPage/WebFrame.h: Ditto. 38304 38305 2010-07-22 Alexey Proskuryakov <ap (a] apple.com> 38306 38307 More Windows build fixing. 38308 38309 * win/WebKit2Generated.make: Copy the new public headers to $(WEBKITOUTPUTDIR)\include\WebKit2. 38310 38311 2010-07-22 Alexey Proskuryakov <ap (a] apple.com> 38312 38313 Windows build fix. 38314 38315 * win/WebKit2.vcproj: Added new files. 38316 38317 2010-07-22 Alexey Proskuryakov <ap (a] apple.com> 38318 38319 Reviewed by Sam Weinig and Darin Adler. 38320 38321 https://bugs.webkit.org/show_bug.cgi?id=42193 38322 Support layoutTestController.dumpEditingDelegates in WebKitTestRunner 38323 38324 Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests 38325 fixed, but this makes difference one line smaller on many editing tests. 38326 38327 * WebKit2.xcodeproj/project.pbxproj: 38328 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 38329 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 38330 * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Added. 38331 (WKBundleNodeCopyNodeName): 38332 (WKBundleNodeGetParent): 38333 * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Added. 38334 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 38335 (WKBundlePageSetEditorClient): 38336 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 38337 * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Added. 38338 (WKBundleRangeGetStartOffset): 38339 (WKBundleRangeGetStartContainer): 38340 (WKBundleRangeGetEndOffset): 38341 (WKBundleRangeGetEndContainer): 38342 * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Added. 38343 Added WKBundleRangeRef and WKBundleNodeRef types for injected bundles. These are just pointers 38344 to respective WebCore objects, without any WebKit2 wrappers. 38345 38346 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: Added. 38347 (WebKit::InjectedBundlePageEditorClient::InjectedBundlePageEditorClient): 38348 (WebKit::InjectedBundlePageEditorClient::initialize): 38349 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing): 38350 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: Added. 38351 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 38352 (WebKit::WebEditorClient::shouldBeginEditing): 38353 * WebProcess/WebPage/WebPage.cpp: 38354 (WebKit::WebPage::initializeInjectedBundleEditorClient): 38355 * WebProcess/WebPage/WebPage.h: 38356 (WebKit::WebPage::injectedBundleEditorClient): 38357 Added the plumbing for invoking injected bundle code for editor client. There is no real API 38358 for editor client yet. 38359 38360 2010-07-22 Ivan Krsti <ike (a] apple.com> 38361 38362 Reviewed by Anders Carlsson. 38363 38364 Adapt sandbox for new WebProcess bootstrap service naming scheme. 38365 <rdar://problem/8225000> 38366 38367 * WebProcess/com.apple.WebProcess.sb: 38368 38369 2010-07-22 Anders Carlsson <andersca (a] apple.com> 38370 38371 Reviewed by Adam Roben. 38372 38373 It should be possible to attach to the WebProcess in gdb during startup 38374 https://bugs.webkit.org/show_bug.cgi?id=42853 38375 38376 Create an unique bootstrap service name and pass it to the web process, instead of registering a per process 38377 name (which was incorrect anyway). This lets us get rid of the requirement that the UI process always should be 38378 the parent process of the web process, something which is false when running under the debugger. 38379 38380 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 38381 (WebKit::ProcessLauncher::launchProcess): 38382 * WebProcess/mac/WebProcessMainMac.mm: 38383 (WebKit::WebProcessMain): 38384 38385 2010-07-22 Anders Carlsson <andersca (a] apple.com> 38386 38387 Reviewed by Sam Weinig. 38388 38389 Don't assert when Connection::invalidate is called before Connection::dispatchConnectionDidClose 38390 https://bugs.webkit.org/show_bug.cgi?id=42851 38391 38392 * Platform/CoreIPC/Connection.cpp: 38393 (CoreIPC::Connection::dispatchConnectionDidClose): 38394 Just return early if m_client is 0. 38395 38396 2010-07-22 Adam Roben <aroben (a] apple.com> 38397 38398 Use ::MessageBox instead of ::DebugBreak to make the web process wait 38399 for a debugger 38400 38401 While ::DebugBreak can make it easier to attach a debugger (because it 38402 brings up the Just-in-Time debugger window), using ::MessageBox has 38403 two advantages: 38404 1) It explains to the user what's going on, so it's harder to 38405 mistake this debugging aid for a bug. 38406 2) It allows you to debug the UI process and the web process using 38407 the same debugger, if desired. 38408 38409 Special thanks to John Sullivan for help with the text that's shown in 38410 the alert. 38411 38412 Fixes <http://webkit.org/b/42848> WebKit2's wait-for-debugger 38413 debugging aid should explain to the user what's happening 38414 38415 Reviewed by John Sullivan and Anders Carlsson. 38416 38417 * WebProcess/WebKitMain.cpp: 38418 (WebKitMain): Use a ::MessageBox instead of a ::DebugBreak to wait for 38419 the debugger. The alert explains to the user what's going on. 38420 38421 2010-07-22 Adam Roben <aroben (a] apple.com> 38422 38423 Make WorkQueue aware of potential errors with ::WaitForMultipleObjects 38424 38425 Fixes <http://webkit.org/b/42846> WorkQueue should detect 38426 ::WaitForMultipleObject failures 38427 38428 Reviewed by Anders Carlsson. 38429 38430 * Platform/win/WorkQueueWin.cpp: 38431 (WorkQueue::workQueueThreadBody): Added some assertions about the 38432 various things that can fail with ::WaitForMultipleObjects, 38433 specifically: 38434 - Passing too many objects 38435 - Timeouts (which shouldn't happen since we pass a timeout interval 38436 of INFINITE) 38437 - Abandoned mutexes (which shouldn't happen since we don't wait on 38438 any mutexes currently) 38439 - Miscellaneous failures 38440 38441 2010-07-22 Sam Weinig <sam (a] webkit.org> 38442 38443 Reviewed by Anders Carlsson. 38444 38445 Patch for https://bugs.webkit.org/show_bug.cgi?id=42836 38446 Add localized strings stubs for WebKit2. 38447 38448 Gets us below 200 tests failing in WebKitTestRunner. 38449 38450 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 38451 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 38452 38453 2010-07-22 Andras Becsi <abecsi (a] webkit.org> 38454 38455 Unreviewed trivial build fix. 38456 38457 [Qt] Mend remaining issues to fix the WebKit2 build. 38458 38459 * Shared/qt/UpdateChunk.h: add missing function 38460 (WebKit::UpdateChunk::isEmpty): 38461 * UIProcess/API/qt/qwkpage_p.h: Add stub implementation 38462 (QWKPagePrivate::pageDidEnterAcceleratedCompositing): 38463 (QWKPagePrivate::pageDidLeaveAcceleratedCompositing): 38464 38465 2010-07-22 Andras Becsi <abecsi (a] webkit.org> 38466 38467 Reviewed by Antonio Gomes. 38468 38469 [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2. 38470 https://bugs.webkit.org/show_bug.cgi?id=42830 38471 38472 * UIProcess/qt/WebContextQt.cpp: Added. 38473 (WebKit::WebContext::applicationCacheDirectory): 38474 38475 2010-07-22 Balazs Kelemen <kb (a] inf.u-szeged.hu> 38476 38477 Unreviewed build fix. 38478 38479 [Qt] Fix WebKit2 build 38480 38481 https://bugs.webkit.org/show_bug.cgi?id=42638 38482 38483 * UIProcess/API/qt/qwkpage_p.h: 38484 (QWKPagePrivate::setCursor): Added empty implementation. 38485 38486 2010-07-22 Balazs Kelemen <kb (a] inf.u-szeged.hu> 38487 38488 Reviewed by Antonio Gomes. 38489 38490 Lazy cursor creation should be guarded by #if USE(LAZY_NATIVE_CURSOR) in WebKit2 38491 38492 https://bugs.webkit.org/show_bug.cgi?id=42622 38493 38494 * Shared/WebCoreArgumentCoders.h: 38495 * UIProcess/WebPageProxy.cpp: 38496 (WebKit::WebPageProxy::didReceiveMessage): 38497 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38498 (WebKit::WebChromeClient::setCursor): 38499 38500 2010-07-22 Jon Honeycutt <jhoneycutt (a] apple.com> 38501 38502 Build fix. Unreviewed. 38503 38504 * win/WebKit2WebProcess.vcproj: 38505 Remove the pre- and post-build events, so that they will use the value 38506 inherited from the vsprops. 38507 38508 2010-07-21 Darin Adler <darin (a] apple.com> 38509 38510 Reviewed by Sam Weinig. 38511 38512 WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions 38513 https://bugs.webkit.org/show_bug.cgi?id=42548 38514 38515 Added WKBundleFrameCopyName. 38516 38517 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 38518 (WKBundleFrameCopyName): Added. 38519 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto. 38520 38521 * WebProcess/WebPage/WebFrame.cpp: 38522 (WebKit::WebFrame::name): Added. 38523 * WebProcess/WebPage/WebFrame.h: Ditto. 38524 38525 2010-07-21 Darin Adler <darin (a] apple.com> 38526 38527 Reviewed by Sam Weinig. 38528 38529 WebKitTestRunner needs to support dumping of scroll position 38530 https://bugs.webkit.org/show_bug.cgi?id=42514 38531 38532 Added WKBundleFrameGetJavaScriptContext function. 38533 38534 * WebKit2.xcodeproj: Added property svn:ignore. 38535 38536 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 38537 (WKBundleFrameGetJavaScriptContext): Added. 38538 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto. 38539 38540 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 38541 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 38542 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 38543 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 38544 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 38545 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 38546 Use JSGlobalContextRef instead of JSContextRef and context instead of ct. 38547 38548 2010-07-21 Adam Roben <aroben (a] apple.com> 38549 38550 Handle broken pipes in more places in CoreIPC 38551 38552 Fixes <http://webkit.org/b/42784> Assertion failure in 38553 Connection::readEventHandler when WebKitTestRunner exits 38554 38555 Reviewed by Anders Carlsson. 38556 38557 * Platform/CoreIPC/win/ConnectionWin.cpp: 38558 (CoreIPC::Connection::readEventHandler): Check for a broken pipe 38559 whenever we call ::PeekNamedPipe. 38560 38561 2010-07-21 Adam Roben <aroben (a] apple.com> 38562 38563 Teach CoreIPC how to handle messages that are larger than the pipe's 38564 buffer 38565 38566 ::GetOverlappedResult and ::ReadFile can fail with ERROR_MORE_DATA 38567 when there is more data available on the pipe than was requested in 38568 the read operation. In those cases, the appropriate response is to 38569 perform another read operation to read the extra data. We now do this. 38570 38571 Also, MSDN says that, because we are doing asynchronous read 38572 operations, we should not pass a pointer to ::ReadFile to find out how 38573 many bytes were read. Instead we should always call 38574 ::GetOverlappedResult to find this out. I've changed 38575 Connection::readEventHandler to have a single loop that calls 38576 ::GetOverlappedResult and ::ReadFile in alternation, rather than 38577 sometimes calling ::ReadFile multiple times in a row, to satisfy this 38578 requirement. 38579 38580 In order to simplify the logic in this function, I've made us request 38581 only a single byte from the pipe when there are no messages already in 38582 the pipe. (Previously we were requesting 4096 bytes in this case.) 38583 This allows us not to have to consider the case where the received 38584 message is smaller than our read buffer. If we decide that this has a 38585 negative impact on performance, we can of course change it. I've 38586 mitigated this somewhat by using ::PeekNamedMessage to find out the 38587 size of the next message in the pipe (if any), so that we can read it 38588 all in one read operation. 38589 38590 Fixes <http://webkit.org/b/42710> <rdar://problem/8197571> Assertion 38591 in Connection::readEventHandler when launching WebKitTestRunner 38592 38593 Reviewed by Anders Carlsson. 38594 38595 * Platform/CoreIPC/win/ConnectionWin.cpp: 38596 (CoreIPC::Connection::readEventHandler): Put the call to 38597 ::GetOverlappedResult in the same loop as ::ReadFile so that we will 38598 call them alternately. If ::GetOverlappedResult fails with 38599 ERROR_MORE_DATA, use ::PeekNamedPipe to determine the size of the rest 38600 of the message, then read it from the pipe. After dispatching the 38601 message, use ::PeekNamedPipe to find out the size of the next message 38602 in the pipe so we can read it all in one operation. If there's no 38603 message in the pipe, we'll request just a single byte of the next 38604 message that becomes available, and Windows will tell us when the rest 38605 of the message is ready. If ::ReadFile fails with ERROR_MORE_DATA it 38606 means there is data available now even though we didn't think there 38607 was any. We go back to the top of the loop in this case and call 38608 ::GetOverlappedResult again to retrieve the available data. 38609 38610 2010-07-21 Sam Weinig <sam (a] webkit.org> 38611 38612 Reviewed by Anders Carlsson. 38613 38614 Patch for https://bugs.webkit.org/show_bug.cgi?id=42539 38615 WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages 38616 38617 - Convert injected bundle UIClient functions to will-style, at least until we establish 38618 more concrete use cases for them past the TestRunner. 38619 38620 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 38621 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 38622 (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole): 38623 (WebKit::InjectedBundlePageUIClient::willSetStatusbarText): 38624 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert): 38625 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm): 38626 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt): 38627 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 38628 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38629 (WebKit::WebChromeClient::addMessageToConsole): 38630 (WebKit::WebChromeClient::runJavaScriptAlert): 38631 (WebKit::WebChromeClient::runJavaScriptConfirm): 38632 (WebKit::WebChromeClient::runJavaScriptPrompt): 38633 (WebKit::WebChromeClient::setStatusbarText): 38634 38635 2010-07-21 Simon Fraser <simon.fraser (a] apple.com> 38636 38637 Windows build fix. 38638 38639 Need to supply implementations of PageClient::pageDidEnterAcceleratedCompositing() 38640 and pageDidLeaveAcceleratedCompositing() for WebView on Windows. 38641 38642 * UIProcess/win/WebView.cpp: 38643 (WebKit::WebView::pageDidEnterAcceleratedCompositing): 38644 (WebKit::WebView::pageDidLeaveAcceleratedCompositing): 38645 * UIProcess/win/WebView.h: 38646 38647 2010-07-21 Anders Carlsson <andersca (a] apple.com> 38648 38649 Reviewed by Sam Weinig. 38650 38651 Don't assert when clicking on a plug-in in WebKit2 38652 https://bugs.webkit.org/show_bug.cgi?id=42762 38653 38654 Add stub for PluginView::handleEvent. 38655 38656 * WebProcess/Plugins/PluginView.cpp: 38657 (WebKit::PluginView::handleEvent): 38658 * WebProcess/Plugins/PluginView.h: 38659 38660 2010-07-21 Simon Fraser <simon.fraser (a] apple.com> 38661 38662 Reviewed by Anders Carlsson. 38663 38664 Get accelerated compositing working with webkit2 38665 https://bugs.webkit.org/show_bug.cgi?id=41084 38666 38667 Hook up dynamic DrawingArea switching, so that when the WebProcess hits a page 38668 that requires accelerated compositing, we switch to the LayerBackedDrawingArea. 38669 38670 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 38671 (DrawingAreaProxyMessage::): 38672 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 38673 (WebPageProxyMessage::): 38674 * UIProcess/API/mac/PageClientImpl.h: 38675 * UIProcess/API/mac/PageClientImpl.mm: 38676 (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing): 38677 (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing): 38678 * UIProcess/API/mac/WKView.mm: 38679 (-[WKView _startAcceleratedCompositing:]): 38680 (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]): 38681 (-[WKView _pageDidEnterAcceleratedCompositing]): 38682 (-[WKView _pageDidLeaveAcceleratedCompositing]): 38683 * UIProcess/API/mac/WKViewInternal.h: 38684 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 38685 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage): 38686 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 38687 * UIProcess/DrawingAreaProxy.h: 38688 (WebKit::DrawingAreaProxy::): 38689 (WebKit::DrawingAreaProxy::type): 38690 * UIProcess/LayerBackedDrawingAreaProxy.cpp: 38691 (WebKit::LayerBackedDrawingAreaProxy::didSetSize): 38692 (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage): 38693 (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage): 38694 * UIProcess/LayerBackedDrawingAreaProxy.h: 38695 * UIProcess/PageClient.h: 38696 * UIProcess/WebPageProxy.cpp: 38697 (WebKit::WebPageProxy::setDrawingArea): 38698 (WebKit::WebPageProxy::didReceiveSyncMessage): 38699 (WebKit::WebPageProxy::didEnterAcceleratedCompositing): 38700 (WebKit::WebPageProxy::didLeaveAcceleratedCompositing): 38701 * UIProcess/WebPageProxy.h: 38702 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 38703 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext): 38704 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 38705 (WebKit::WebChromeClient::attachRootGraphicsLayer): 38706 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: 38707 (WebKit::ChunkedUpdateDrawingArea::attachCompositingContext): 38708 (WebKit::ChunkedUpdateDrawingArea::setRootCompositingLayer): 38709 * WebProcess/WebPage/DrawingArea.cpp: 38710 (WebKit::DrawingArea::create): 38711 * WebProcess/WebPage/DrawingArea.h: 38712 (WebKit::DrawingArea::): 38713 (WebKit::DrawingArea::type): 38714 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 38715 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 38716 (WebKit::LayerBackedDrawingArea::setNeedsDisplay): 38717 (WebKit::LayerBackedDrawingArea::setSize): 38718 (WebKit::LayerBackedDrawingArea::didUpdate): 38719 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer): 38720 * WebProcess/WebPage/LayerBackedDrawingArea.h: 38721 * WebProcess/WebPage/WebPage.cpp: 38722 (WebKit::WebPage::changeAcceleratedCompositingMode): 38723 (WebKit::WebPage::enterAcceleratedCompositingMode): 38724 (WebKit::WebPage::exitAcceleratedCompositingMode): 38725 * WebProcess/WebPage/WebPage.h: 38726 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 38727 (WebKit::LayerBackedDrawingArea::platformInit): 38728 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 38729 (WebKit::LayerBackedDrawingArea::detachCompositingContext): 38730 (WebKit::LayerBackedDrawingArea::setRootCompositingLayer): 38731 38732 2010-07-20 Steve Falkenburg <sfalken (a] apple.com> 38733 38734 Reviewed by Adam Roben. 38735 38736 WebKit on Windows should build optionally with an unversioned ICU DLL 38737 https://bugs.webkit.org/show_bug.cgi?id=42722 38738 <rdar://problem/8211767> WebKit needs to link against unversioned ICU 38739 38740 To get the proper value for U_DISABLE_RENAMING into all source files, we force 38741 the include of ICUVersion.h (our generated header) via the compiler options. 38742 38743 Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib) 38744 we copy the ICU lib to an intermediate location under obj with a common name. This 38745 allows us to link properly with either without adding a new build configuration. 38746 38747 * win/WebKit2Common.vsprops: 38748 Copy ICU libs into a common location with a common name. 38749 Add additional library search path to pick up icu lib. 38750 Change ICU library filename specified to linker. 38751 Add forced include of ICUVersion.h. 38752 38753 2010-07-21 Adam Roben <aroben (a] apple.com> 38754 38755 Windows build fix 38756 38757 * Shared/win/UpdateChunk.h: 38758 (WebKit::UpdateChunk::isEmpty): Added to match the Mac definition. 38759 38760 2010-07-21 Anders Carlsson <andersca (a] apple.com> 38761 38762 Land file I forgot to add. 38763 38764 * WebProcess/com.apple.WebProcess.sb: Added. 38765 38766 2010-07-21 Adam Roben <aroben (a] apple.com> 38767 38768 Move WebKit2WebProcess's settings to a vsprops file 38769 38770 Fixes <http://webkit.org/b/42751> WebKit2WebProcess should use vsprops 38771 files 38772 38773 Reviewed by Darin Adler. 38774 38775 * win/WebKit2WebProcess.vcproj: Moved settings from here... 38776 * win/WebKit2WebProcessCommon.vsprops: ...to here. 38777 38778 2010-07-20 Ivan Krsti <ike (a] apple.com> 38779 38780 Reviewed and tweaked by Anders Carlsson and Sam Weinig. 38781 38782 Put WebProcess in a sandbox. All of the following changes are 38783 Mac-only. 38784 <rdar://problem/7865269> 38785 38786 * UIProcess/WebProcessProxy.cpp: 38787 (WebKit::WebProcessProxy::WebProcessProxy): 38788 Send Sandbox extension for injected bundle to WebProcess. 38789 38790 * WebKit2.xcodeproj/project.pbxproj: 38791 Add Sandbox profile to Resources for WebProcess. 38792 38793 * WebProcess/InjectedBundle/InjectedBundle.h: 38794 New function InjectedBundle::setSandboxToken. 38795 38796 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 38797 (WebKit::InjectedBundle::load): 38798 Consume Sandbox token for the bundle if present. 38799 38800 (WebKit::InjectedBundle::setSandboxToken): 38801 Set Sandbox token for the bundle. 38802 38803 * WebProcess/WebProcess.cpp: 38804 (WebKit::WebProcess::loadInjectedBundle): 38805 Extra function parameter for Sandbox token. 38806 38807 (WebKit::WebProcess::didReceiveMessage): 38808 Pass Sandbox token to loadInjectedBundle(). 38809 38810 * WebProcess/WebProcess.h: 38811 Extra function parameter for Sandbox token in loadInjectedBundle(). 38812 38813 * WebProcess/com.apple.WebProcess.sb: Added. 38814 Sandbox profile for WebProcess. 38815 38816 * WebProcess/mac/WebProcessMainMac.mm: 38817 (WebKit::WebProcessMain): 38818 Initialize Sandbox, exit on failure. 38819 38820 2010-07-20 Sam Weinig <sam (a] webkit.org> 38821 38822 Reviewed by Brady Eidson. 38823 38824 Patch for https://bugs.webkit.org/show_bug.cgi?id=42719 38825 Make Acid2 pass in WebKit2 38826 38827 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 38828 (WebKit::WebFrameLoaderClient::objectContentType): Check for supported image mimetypes 38829 before falling back to plugins. 38830 38831 2010-07-20 Adam Roben <aroben (a] apple.com> 38832 38833 Remove WebKit2.sln 38834 38835 WebKit.sln builds all the same projects. 38836 38837 Rubber-stamped in advance by Steve Falkenburg. 38838 38839 * WebKit2.sln: Removed. 38840 38841 2010-07-20 Adam Roben <aroben (a] apple.com> 38842 38843 Make the web process break into the debugger when Ctrl-Alt-Shift is 38844 held during launch 38845 38846 Fixes <http://webkit.org/b/42670> Would like a way to break into the 38847 debugger when the web process launches 38848 38849 Reviewed by Anders Carlsson. 38850 38851 * WebProcess/WebKitMain.cpp: 38852 (WebKitMain): If the Control, Alt, and Shift keys are held down in a 38853 Debug build, call DebugBreak() so that we will break into the 38854 debugger. 38855 38856 2010-07-20 Adam Roben <aroben (a] apple.com> 38857 38858 Teach Connection how to handle a slow receiver 38859 38860 Fixes <http://webkit.org/b/42667> Assertion in 38861 Connection::sendOutgoingMessage when browser or web process is paused 38862 38863 Reviewed by Anders Carlsson. 38864 38865 * Platform/CoreIPC/win/ConnectionWin.cpp: 38866 (CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE 38867 and the last error is ERROR_IO_PENDING, Windows will write the data as 38868 soon as the current write operation is completed. We don't need to do 38869 anything special in this case, so there's no need to assert about it. 38870 38871 2010-07-20 Anders Carlsson <andersca (a] apple.com> 38872 38873 Reviewed by Dan Bernstein. 38874 38875 Handle WKView visibility changes 38876 <rdar://problem/7891077> 38877 38878 * Shared/mac/UpdateChunk.h: 38879 (WebKit::UpdateChunk::isEmpty): 38880 Add convenience getter. 38881 38882 * UIProcess/API/mac/WKView.mm: 38883 (-[WKView viewDidMoveToWindow]): 38884 Reorder the calls to _updateActiveState and _updateVisibility based on whether the view is moved to 38885 a window or away from a window. 38886 38887 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 38888 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 38889 Initialize m_forceRepaintWhenResumingPainting to false. 38890 38891 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 38892 Pass the m_forceRepaintWhenResumingPainting along to the DrawingAreaMessage::ResumePainting message. 38893 38894 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize): 38895 Don't try to paint empty update chunks. 38896 38897 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 38898 Don't paint the update chunk if we're not visible. Instead, make sure that the entire page is being redrawn 38899 when its shown again. 38900 38901 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 38902 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 38903 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 38904 (WebKit::ChunkedUpdateDrawingArea::display): 38905 (WebKit::ChunkedUpdateDrawingArea::suspendPainting): 38906 Rename m_shouldPaint to m_isPaintingSuspended and invert its logic. 38907 38908 (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay): 38909 Don't schedule a display timer if the dirty rect is empty. 38910 38911 (WebKit::ChunkedUpdateDrawingArea::setSize): 38912 If painting is suspended, just send back an empty update chunk in the DidSetSize message. 38913 38914 (WebKit::ChunkedUpdateDrawingArea::resumePainting): 38915 If forceRepaint is true, repaint the entire drawing area. 38916 38917 2010-07-20 Anders Carlsson <andersca (a] apple.com> 38918 38919 Reviewed by Dan Bernstein. 38920 38921 Implement NPN_GetURL and NPN_PostURL 38922 https://bugs.webkit.org/show_bug.cgi?id=42650 38923 38924 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 38925 (WebKit::parsePostBuffer): 38926 Add a FIXME about deleting the file. 38927 38928 (WebKit::makeURLString): 38929 Move this static method before NPN_GetURL. 38930 38931 (WebKit::NPN_GetURL): 38932 Call NetscapePLugin::LoadURL. 38933 38934 (WebKit::NPN_PostURL): 38935 Ditto. 38936 38937 (WebKit::NPN_PostURLNotify): 38938 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 38939 Remove unreached code. 38940 38941 (WebKit::NetscapePluginStream::deliverDataToPlugin): 38942 Stop the stream if the plug-in returns -1 from NPP_Write. 38943 38944 2010-07-19 Anders Carlsson <andersca (a] apple.com> 38945 38946 Reviewed by Sam Weinig. 38947 38948 WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage 38949 https://bugs.webkit.org/show_bug.cgi?id=42356 38950 38951 Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to 38952 make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track 38953 doing this on Mac and Windows. 38954 38955 * Platform/CoreIPC/mac/ConnectionMac.cpp: 38956 (CoreIPC::Connection::open): 38957 Call setMachPortQueueLength. 38958 38959 * Platform/mac/MachUtilities.cpp: Added. 38960 (setMachPortQueueLength): 38961 Given a mach port receive right, sets the port queue length. 38962 38963 * Platform/mac/MachUtilities.h: Added. 38964 38965 * WebKit2.xcodeproj/project.pbxproj: 38966 Add MachUtilities.cpp and MachUtilities.h 38967 38968 2010-07-19 Anders Carlsson <andersca (a] apple.com> 38969 38970 Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig. 38971 38972 Handle NP_ASFILE and NP_ASFILEONLY transfer modes 38973 https://bugs.webkit.org/show_bug.cgi?id=42587 38974 38975 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 38976 (WebKit::NetscapePlugin::NPP_StreamAsFile): 38977 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 38978 Add NPP_ wrapper. 38979 38980 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 38981 (WebKit::NetscapePluginStream::NetscapePluginStream): 38982 Initialize m_fileHandle. 38983 38984 (WebKit::isSupportedTransferMode): 38985 NP_ASFILE and NP_ASFILEONLY is now supported. 38986 38987 (WebKit::NetscapePluginStream::deliverData): 38988 Call deliverDataToFile if necessary. 38989 38990 (WebKit::NetscapePluginStream::deliverDataToFile): 38991 Create a temporary file and write the data into it. 38992 38993 (WebKit::NetscapePluginStream::stop): 38994 If the transfer mode is either NP_ASFILE or NP_ASFILEONLY, make sure to 38995 call NPP_StreamAsFile and close the file and delete it. 38996 38997 * WebProcess/Plugins/PluginView.cpp: 38998 (WebKit::PluginView::cancelStreamLoad): 38999 Keep a reference to the Stream since cancelling it will remove it from the map. 39000 39001 2010-07-19 Anders Carlsson <andersca (a] apple.com> 39002 39003 Reviewed by Sam Weinig. 39004 39005 Implement NPN_PostURLNotify 39006 https://bugs.webkit.org/show_bug.cgi?id=42602 39007 39008 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39009 (WebKit::parsePostBuffer): 39010 Read the buffer from a file if necessary and parse it. 39011 39012 (WebKit::NPN_GetURLNotify): 39013 Add extra arguments. 39014 39015 (WebKit::NPN_PostURLNotify): 39016 Parse the post buffer, then call NetscapePlugin::loadURL. 39017 39018 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39019 (WebKit::NetscapePlugin::loadURL): 39020 Pass the method, the header fields and form data along. 39021 39022 (WebKit::NetscapePlugin::allowPopups): 39023 Just return false for now. 39024 39025 (WebKit::NetscapePlugin::initialize): 39026 Pass extra arguments to loadURL. 39027 39028 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39029 * WebProcess/Plugins/PluginController.h: 39030 Add method, header fields and form data. 39031 39032 * WebProcess/Plugins/PluginView.cpp: 39033 (WebKit::PluginView::loadURL): 39034 Set the method, add the header fields and set the body. 39035 39036 2010-07-19 Sam Weinig <sam (a] webkit.org> 39037 39038 Reviewed by Darin Adler. 39039 39040 Add local storage support for WebKit2 39041 https://bugs.webkit.org/show_bug.cgi?id=42584 39042 39043 * Shared/WebPreferencesStore.cpp: 39044 (WebKit::WebPreferencesStore::WebPreferencesStore): 39045 (WebKit::WebPreferencesStore::swap): 39046 * Shared/WebPreferencesStore.h: 39047 (WebKit::WebPreferencesStore::encode): 39048 (WebKit::WebPreferencesStore::decode): 39049 * UIProcess/API/C/WKPreferences.cpp: 39050 (WKPreferencesSetLocalStorageEnabled): 39051 (WKPreferencesGetLocalStorageEnabled): 39052 * UIProcess/API/C/WKPreferences.h: 39053 * UIProcess/WebPreferences.cpp: 39054 (WebKit::WebPreferences::setLocalStorageEnabled): 39055 (WebKit::WebPreferences::localStorageEnabled): 39056 * UIProcess/WebPreferences.h: 39057 * WebProcess/WebPage/WebPage.cpp: 39058 (WebKit::WebPage::WebPage): 39059 (WebKit::WebPage::preferencesDidChange): 39060 39061 2010-07-19 Simon Fraser <simon.fraser (a] apple.com> 39062 39063 Reviewed by Anders Carlsson. 39064 39065 Uae an OwnPtr for the drawing area in WebPage (fixes a leak!). 39066 39067 * WebProcess/WebPage/WebPage.h: 39068 (WebKit::WebPage::drawingArea): 39069 39070 2010-07-19 Anders carlsson <andersca (a] apple.com> 39071 39072 Reviewed by Adam Roben. 39073 39074 WebKit2 does not have application cache 39075 https://bugs.webkit.org/show_bug.cgi?id=42552 39076 39077 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 39078 (WebProcessMessage::): 39079 Add SetApplicationCacheDirectory. 39080 39081 * Shared/WebPreferencesStore.h: 39082 (WebKit::WebPreferencesStore::encode): 39083 (WebKit::WebPreferencesStore::decode): 39084 add offlineWebApplicationCacheEnabled. 39085 39086 * UIProcess/API/C/WKPreferences.cpp: 39087 (WKPreferencesSetOfflineWebApplicationCacheEnabled): 39088 (WKPreferencesGetOfflineWebApplicationCacheEnabled): 39089 * UIProcess/API/C/WKPreferences.h: 39090 Add getters/setters for whether the application cache is enabled. 39091 39092 * UIProcess/WebContext.h: 39093 * UIProcess/WebPreferences.cpp: 39094 (WebKit::WebPreferences::setOfflineWebApplicationCacheEnabled): 39095 Update the store and call update(). 39096 39097 * UIProcess/WebPreferences.h: 39098 * UIProcess/WebProcessProxy.cpp: 39099 (WebKit::WebProcessProxy::WebProcessProxy): 39100 Ask the web process to set the application cache directory. 39101 39102 * UIProcess/mac/WebContextMac.mm: Added. 39103 (WebKit::WebContext::applicationCacheDirectory): 39104 Return the application cache directory. 39105 39106 * UIProcess/win/WebContextWin.cpp: Added. 39107 (WebKit::WebContext::applicationCacheDirectory): 39108 Ditto. 39109 39110 * WebKit2.xcodeproj/project.pbxproj: 39111 Add WebContextMac.mm 39112 39113 * WebProcess/WebPage/WebPage.cpp: 39114 (WebKit::WebPage::preferencesDidChange): 39115 39116 (WebKit::WebPage::didReceiveMessage): 39117 Handle PreferencesDidChange. Get rid of the default: case statement so we'll 39118 get warnings if we have unhandled message kinds. 39119 39120 * WebProcess/WebProcess.cpp: 39121 (WebKit::WebProcess::setApplicationCacheDirectory): 39122 Set the application cache directory. 39123 39124 (WebKit::WebProcess::didReceiveMessage): 39125 Handle SetApplicationCacheDirectory. 39126 39127 win/WebKit2.vcproj: 39128 Add WebContextWin.cpp 39129 39130 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39131 39132 Another attempt at fixing the Windows build. 39133 39134 * WebProcess/Plugins/NPJSObjectMap.h: 39135 39136 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39137 39138 Try to fix Windows build. 39139 39140 * win/WebKit2.vcproj: 39141 39142 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39143 39144 Reviewed by Sam Weinig. 39145 39146 More NPRuntime work 39147 https://bugs.webkit.org/show_bug.cgi?id=42526 39148 39149 * WebProcess/Plugins/NPJSObjectMap.cpp: 39150 (WebKit::identifierFromIdentifierRep): 39151 (WebKit::NPJSObject::hasProperty): 39152 Check if the JSObject has the given property. 39153 39154 (WebKit::NPJSObject::getProperty): 39155 Add stubbed out function. 39156 39157 (WebKit::NPJSObject::npClass): 39158 Add NP_HasProperty and NP_GetProperty. 39159 39160 (WebKit::NPJSObject::NP_HasProperty): 39161 Call NPJSObject::hasProperty. 39162 39163 (WebKit::NPJSObject::NP_GetProperty): 39164 Call NPJSObject::getProperty. 39165 39166 * WebProcess/Plugins/NPRuntimeUtilities.cpp: 39167 (WebKit::releaseNPVariantValue): 39168 Release the given NPVariant. 39169 39170 * WebProcess/Plugins/NPRuntimeUtilities.h: 39171 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39172 (WebKit::NPN_GetProperty): 39173 Call the NPClass GetProperty function. 39174 39175 (WebKit::NPN_HasProperty): 39176 Call the NPClass HasProperty function. 39177 39178 (WebKit::NPN_ReleaseVariantValue): 39179 Call releaseNPVariantValue. 39180 39181 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39182 39183 Reviewed by Sam Weinig. 39184 39185 Add NPJSObjectMap class 39186 https://bugs.webkit.org/show_bug.cgi?id=42524 39187 39188 * WebKit2.xcodeproj/project.pbxproj: 39189 Add files. 39190 39191 * WebProcess/Plugins/NPJSObjectMap.cpp: Added. 39192 * WebProcess/Plugins/NPJSObjectMap.h: Added. 39193 Add NPJSObjectMap, a map which contains NPObjects that wrap JavaScript objects. 39194 39195 * WebProcess/Plugins/PluginView.cpp: 39196 (WebKit::PluginView::PluginView): 39197 Initialize the map. 39198 39199 (WebKit::PluginView::~PluginView): 39200 Invalidate the map. 39201 39202 (WebKit::PluginView::frame): 39203 Add frame getter. 39204 39205 (WebKit::PluginView::windowScriptNPObject): 39206 Wrap the window object. 39207 39208 (WebKit::PluginView::pluginElementNPObject): 39209 Wrap the plug-in element object. 39210 39211 * WebProcess/Plugins/PluginView.h: 39212 39213 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39214 39215 Reviewed by Sam Weinig. 39216 39217 Implement more NPRuntime related NPN_ functions 39218 https://bugs.webkit.org/show_bug.cgi?id=42520 39219 39220 * WebKit2.xcodeproj/project.pbxproj: 39221 * WebProcess/Plugins/NPRuntimeUtilities.cpp: Added. 39222 * WebProcess/Plugins/NPRuntimeUtilities.h: Added. 39223 Add new file with NPRuntime related utility functions. 39224 39225 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39226 (WebKit::NPN_CreateObject): 39227 (WebKit::NPN_RetainObject): 39228 (WebKit::NPN_ReleaseObject): 39229 Call the corresponding NPRuntimeUtilities functions. 39230 39231 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39232 39233 Reviewed by Dan Bernstein. 39234 39235 Begin work on NPRuntime support 39236 https://bugs.webkit.org/show_bug.cgi?id=42519 39237 39238 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39239 (WebKit::NPN_GetValue): 39240 Handle NPNVWindowNPObject and NPNVPluginElementNPObject. 39241 39242 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39243 (WebKit::NetscapePlugin::windowScriptNPObject): 39244 (WebKit::NetscapePlugin::pluginElementNPObject): 39245 Call the plug-in controller. 39246 39247 * WebProcess/Plugins/PluginController.h: 39248 Add new windowScriptNPObject and pluginElementNPObject functions. 39249 39250 * WebProcess/Plugins/PluginView.cpp: 39251 (WebKit::PluginView::windowScriptNPObject): 39252 (WebKit::PluginView::pluginElementNPObject): 39253 Add stubbed out functions. 39254 39255 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39256 39257 Reviewed by Dan Bernstein. 39258 39259 Implement some NPRuntime related NPN_ functions 39260 https://bugs.webkit.org/show_bug.cgi?id=42518 39261 39262 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39263 (WebKit::NPN_GetStringIdentifier): 39264 (WebKit::NPN_GetStringIdentifiers): 39265 (WebKit::NPN_GetIntIdentifier): 39266 (WebKit::NPN_IdentifierIsString): 39267 (WebKit::NPN_UTF8FromIdentifier): 39268 (WebKit::NPN_IntFromIdentifier): 39269 (WebKit::NPN_CreateObject): 39270 39271 2010-07-18 Anders Carlsson <andersca (a] apple.com> 39272 39273 Reviewed by Dan Bernstein. 39274 39275 Add dumping of statusbar text to WebKitTestRunner 39276 https://bugs.webkit.org/show_bug.cgi?id=42516 39277 39278 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 39279 Add setStatusbarText callback to WKBundlePageUIClient. 39280 39281 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 39282 (WebKit::InjectedBundlePageUIClient::setStatusbarText): 39283 Call setStatusbarText. 39284 39285 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 39286 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39287 (WebKit::WebChromeClient::setStatusbarText): 39288 Call the bundle page UI client. 39289 39290 2010-07-17 Anders Carlsson <andersca (a] apple.com> 39291 39292 Reviewed by Maciej Stachowiak. 39293 39294 WebKitTestRunner should load the test plug-in 39295 https://bugs.webkit.org/show_bug.cgi?id=42509 39296 39297 * UIProcess/API/C/WKContext.cpp: 39298 (_WKContextSetAdditionalPluginPath): 39299 Add a private function for setting a single additional plug-in path. the WebKit1 SPI that does the 39300 same thing takes an array of paths, but this is good enough for now. 39301 39302 * UIProcess/Plugins/PluginInfoStore.cpp: 39303 (WebKit::PluginInfoStore::setAdditionalPluginPaths): 39304 Set the additional plug-in paths vector and refresh the database. 39305 39306 (WebKit::PluginInfoStore::loadPluginsIfNecessary): 39307 First try to load plug-ins in the additional plug-in paths. 39308 39309 * UIProcess/WebContext.cpp: 39310 (WebKit::WebContext::setAdditionalPluginPath): 39311 Call PluginInfoStore::setAdditionalPluginPaths. 39312 39313 * UIProcess/WebContext.h: 39314 (WebKit::WebContext::pluginInfoStore): 39315 Make the plug-in info store per context instead of having a single shared info store. 39316 39317 * UIProcess/WebProcessProxy.cpp: 39318 (WebKit::WebProcessProxy::getPlugins): 39319 (WebKit::WebProcessProxy::getPluginHostConnection): 39320 * UIProcess/WebProcessProxy.h: 39321 Get the plug-in info store from the context. 39322 39323 2010-07-17 Anders Carlsson <andersca (a] apple.com> 39324 39325 Reviewed by Dan Bernstein. 39326 39327 Stop all NPStreams before destroying a plug-in 39328 https://bugs.webkit.org/show_bug.cgi?id=42504 39329 39330 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39331 (WebKit::NetscapePlugin::stopAllStreams): 39332 Go through all streams and stop them. 39333 39334 (WebKit::NetscapePlugin::destroy): 39335 Call stopAllStreams. 39336 39337 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39338 Add stopAllStreams. 39339 39340 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 39341 Make stop public. 39342 39343 2010-07-17 Anders Carlsson <andersca (a] apple.com> 39344 39345 Reviewed by Dan Bernstein. 39346 39347 Open streams should not keep a plug-in view alive 39348 https://bugs.webkit.org/show_bug.cgi?id=42503 39349 39350 PluginView::Stream now has a weak reference to its PluginView. 39351 39352 * WebProcess/Plugins/PluginView.cpp: 39353 (WebKit::PluginView::Stream::~Stream): 39354 Assert that the plug-in view is null. 39355 39356 (WebKit::PluginView::Stream::didFail): 39357 After calling removeStream, set the plug-in view member variable to 0. This is OK to do 39358 since we keep a reference to the Stream, so we're sure that the call to removeStream does not 39359 destroy the stream. 39360 39361 (WebKit::PluginView::Stream::didFinishLoading): 39362 Ditto . 39363 39364 (WebKit::PluginView::~PluginView): 39365 Cancel all streams. 39366 39367 (WebKit::PluginView::cancelAllStreams): 39368 Cancel all streams. 39369 39370 2010-07-16 Zhe Su <suzhe (a] chromium.org> 39371 39372 Reviewed by Darin Adler. 39373 39374 REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms 39375 https://bugs.webkit.org/show_bug.cgi?id=42253 39376 39377 Dummy implementation of EditorClient::willSetInputMethodState. 39378 39379 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 39380 (WebKit::WebEditorClient::willSetInputMethodState): 39381 * WebProcess/WebCoreSupport/WebEditorClient.h: 39382 39383 2010-07-16 Alice Liu <alice.liu (a] apple.com> 39384 39385 Build fix, not reviewed. 39386 39387 Reverted http://trac.webkit.org/changeset/63585 because getopt isn't 39388 available in the OpenSource support libraries 39389 39390 * WebKit2.sln: 39391 39392 2010-07-16 Sam Weinig <sam (a] webkit.org> 39393 39394 Reviewed by Anders Carlsson. 39395 39396 Fix for https://bugs.webkit.org/show_bug.cgi?id=42482 39397 <rdar://problem/8197701> 39398 Add notification of when the BackForwardList changes 39399 to aid invalidation of Back/Forward related UI elements. 39400 39401 * UIProcess/API/C/WKPage.h: 39402 Add didChangeBackForwardList to the WKPageLoaderClient. This 39403 fires whenever an item is added or removed from the back forward 39404 list or when the cursor changes position. 39405 39406 * UIProcess/WebBackForwardList.cpp: 39407 (WebKit::WebBackForwardList::addItem): 39408 (WebKit::WebBackForwardList::goToItem): 39409 * UIProcess/WebLoaderClient.cpp: 39410 (WebKit::WebLoaderClient::didChangeBackForwardList): 39411 * UIProcess/WebLoaderClient.h: 39412 * UIProcess/WebPageProxy.cpp: 39413 (WebKit::WebPageProxy::didChangeBackForwardList): 39414 * UIProcess/WebPageProxy.h: 39415 Pipe changes to the WebBackForwardList up to the page load client. 39416 39417 2010-07-16 Alice Liu <alice.liu (a] apple.com> 39418 39419 Reviewed by Sam Weinig. 39420 39421 Add WebKitTestRunner to the WebKit2 solution 39422 39423 * WebKit2.sln: Add InjectedBundle and WebKitTestRunner projects. Also change the build dependency order from 39424 DumpRunderTree --> WebKitAPITest to 39425 DumpRenderTree --> InjectedBundle --> WebKitTestRunner --> WebKitAPITest 39426 39427 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39428 39429 Reviewed by Dan Bernstein. 39430 39431 Set notifyData to the stream's notification data 39432 https://bugs.webkit.org/show_bug.cgi?id=42429 39433 39434 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39435 (WebKit::NetscapePluginStream::start): 39436 39437 2010-07-15 Brent Fulgham <bfulgham (a] webkit.org> 39438 39439 Build fix. Don't include CoreGraphics.h on non-CG builds. 39440 39441 * WebKit2Prefix.h: Conditionalize include of CoreGraphics.h 39442 to avoid build break on WinCairo. 39443 39444 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39445 39446 Reviewed by Sam Weinig. 39447 39448 If needed, NPN_GetURL the src URL 39449 https://bugs.webkit.org/show_bug.cgi?id=42424 39450 39451 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39452 (WebKit::NetscapePlugin::NPP_GetValue): 39453 Add NPP_GetValue wrapper. 39454 39455 (WebKit::NetscapePlugin::shouldLoadSrcURL): 39456 Check whether the src url should be cancelled. 39457 39458 (WebKit::NetscapePlugin::initialize): 39459 If the src URL should be loaded, then load it. 39460 39461 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39462 39463 Reviewed by Sam Weinig. 39464 39465 Stop the plug-in stream when it's finished loading 39466 https://bugs.webkit.org/show_bug.cgi?id=42423 39467 39468 * WebProcess/Plugins/DummyPlugin.cpp: 39469 (WebKit::DummyPlugin::streamDidFinishLoading): 39470 * WebProcess/Plugins/DummyPlugin.h: 39471 Add empty stub. 39472 39473 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39474 (WebKit::NetscapePlugin::streamDidFinishLoading): 39475 Call NetscapePluginStream::didFinishLoading. 39476 39477 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39478 (WebKit::NetscapePluginStream::didFinishLoading): 39479 Stop the stream with NPRES_DONE. 39480 39481 * WebProcess/Plugins/Plugin.h: 39482 Add streamDidFinishLoading. 39483 39484 * WebProcess/Plugins/PluginView.cpp: 39485 (WebKit::PluginView::Stream::didFinishLoading): 39486 Call Plugin::streamDidFinishLoading. 39487 39488 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39489 39490 Reviewed by Sam Weinig. 39491 39492 Pass URL stream data to the plug-in 39493 https://bugs.webkit.org/show_bug.cgi?id=42420 39494 39495 * WebProcess/Plugins/DummyPlugin.cpp: 39496 (WebKit::DummyPlugin::streamDidReceiveData): 39497 * WebProcess/Plugins/DummyPlugin.h: 39498 Add empty stub. 39499 39500 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39501 (WebKit::NetscapePlugin::streamDidReceiveData): 39502 Call NetscapePluginStream::didReceiveData. 39503 39504 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39505 (WebKit::NetscapePluginStream::didReceiveData): 39506 Deliver the data to the plug-in. 39507 39508 * WebProcess/Plugins/Plugin.h: 39509 Add pure virtual streamDidReceiveData member function. 39510 39511 * WebProcess/Plugins/PluginView.cpp: 39512 (WebKit::PluginView::Stream::didReceiveData): 39513 Call Plugin::streamDidReceiveData. 39514 39515 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39516 39517 Reviewed by Sam Weinig. 39518 39519 Handle failed loads correctly 39520 https://bugs.webkit.org/show_bug.cgi?id=42418 39521 39522 * WebProcess/Plugins/DummyPlugin.cpp: 39523 (WebKit::DummyPlugin::streamDidFail): 39524 * WebProcess/Plugins/DummyPlugin.h: 39525 Add empty stub. 39526 39527 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39528 (WebKit::NetscapePlugin::streamDidFail): 39529 Call NetscapePluginStream::didFail. 39530 39531 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39532 (WebKit::NetscapePluginStream::didReceiveResponse): 39533 Take a reference to the plug-in stream in case starting it causes it to be destroyed. 39534 39535 (WebKit::NetscapePluginStream::didFail): 39536 Take a reference to the plug-in stream in case stopping it causes it to be destroyed. 39537 39538 (WebKit::NetscapePluginStream::destroy): 39539 Cancel the stream. 39540 39541 (WebKit::NetscapePluginStream::start): 39542 If we fail to start the stream, cancel the load. 39543 39544 (WebKit::NetscapePluginStream::cancel): 39545 Call NetscapePlugin::cancelStreamLoad. 39546 39547 (WebKit::NetscapePluginStream::notifyAndDestroyStream): 39548 Don't call cancel here. notifyAndDestroyStream can be called when we don't want to cancel the 39549 load, such as when it's already failed to load. 39550 39551 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 39552 Add didFail. 39553 39554 * WebProcess/Plugins/Plugin.h: 39555 Add pure virtual streamDidFail member function. 39556 39557 * WebProcess/Plugins/PluginView.cpp: 39558 (WebKit::PluginView::Stream::Stream): 39559 Initialize m_streamWasCancelled to false. 39560 39561 (WebKit::PluginView::Stream::cancel): 39562 Set m_streamWasCancelled to true. 39563 39564 (WebKit::PluginView::Stream::didFail): 39565 Call Plugin::streamDidFail. 39566 39567 2010-07-15 Sam Weinig <sam (a] webkit.org> 39568 39569 Reviewed by Anders Carlsson. 39570 39571 Fix for https://bugs.webkit.org/show_bug.cgi?id=42358 39572 <rdar://problem/8194512> 39573 Hyphenation tests crash the Web process 39574 39575 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 39576 (InitWebCoreSystemInterface): Add missing initializer. 39577 39578 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39579 39580 Attempt to fix the Windows build. 39581 39582 * WebProcess/Plugins/PluginView.cpp: 39583 (WebKit::PluginView::Stream::didReceiveResponse): 39584 expectedContentLength should be a signed long long. 39585 39586 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39587 39588 Reviewed by Sam Weinig. 39589 39590 Cancel stream loads when destroying NetscapePluginStreams 39591 https://bugs.webkit.org/show_bug.cgi?id=42413 39592 39593 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39594 (WebKit::NetscapePlugin::cancelStreamLoad): 39595 Call PluginController::cancelStreamLoad. 39596 39597 (WebKit::NetscapePlugin::streamDidReceiveResponse): 39598 Call NetscapePluginStream::didReceiveResponse. 39599 39600 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39601 (WebKit::NetscapePluginStream::didReceiveResponse): 39602 Try to start the stream. 39603 39604 (WebKit::NetscapePluginStream::sendJavaScriptStream): 39605 Don't stop the stream if it can't be started. start handles that now. 39606 39607 (WebKit::isSupportedTransferMode): 39608 Return whether the given transfer mode is supported. 39609 39610 (WebKit::NetscapePluginStream::start): 39611 If the stream fails to start, call notifyAndDestroyStream. If it starts successfully but has 39612 an unsupported transfer mode, call stop. 39613 39614 (WebKit::NetscapePluginStream::notifyAndDestroyStream): 39615 Cancel the stream load unless it's being destroyed because it has finished loading. 39616 39617 * WebProcess/Plugins/PluginController.h: 39618 Add cancelStreamLoad pure virtual member function. 39619 39620 * WebProcess/Plugins/PluginView.cpp: 39621 (WebKit::PluginView::Stream::cancel): 39622 Tell the stream loader to cancel and null it out. 39623 39624 (WebKit::PluginView::cancelStreamLoad): 39625 Get the stream and cancel it. 39626 39627 * WebProcess/Plugins/PluginView.h: 39628 39629 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39630 39631 Reviewed by Sam Weinig. 39632 39633 Start loading plug-in streams 39634 https://bugs.webkit.org/show_bug.cgi?id=42407 39635 39636 * WebProcess/Plugins/DummyPlugin.cpp: 39637 (WebKit::DummyPlugin::streamDidReceiveResponse): 39638 * WebProcess/Plugins/DummyPlugin.h: 39639 Add empty stub. 39640 39641 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39642 (WebKit::NetscapePlugin::streamDidReceiveResponse): 39643 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39644 Add empty stub. 39645 39646 * WebProcess/Plugins/Plugin.h: 39647 Add streamDidReceiveResponse pure virtual member function. 39648 39649 * WebProcess/Plugins/PluginView.cpp: 39650 Make PluginView::Stream a NetscapePlugInStreamLoaderClient. 39651 39652 (WebKit::PluginView::Stream::start): 39653 Create a plug-in loader and start loading. 39654 39655 (WebKit::PluginView::Stream::didReceiveResponse): 39656 Get the necessary data out of the resource response and call streamDidReceiveResponse. 39657 39658 (WebKit::PluginView::Stream::didReceiveData): 39659 (WebKit::PluginView::Stream::didFail): 39660 (WebKit::PluginView::Stream::didFinishLoading): 39661 Add empty stubs. 39662 39663 2010-07-15 Sam Weinig <sam (a] webkit.org> 39664 39665 Reviewed by Anders Carlsson. 39666 39667 Patch for https://bugs.webkit.org/show_bug.cgi?id=42396 39668 Give the navigation type in the policy client callbacks meaning. 39669 39670 - Use the new WKFrameNavigationType instead of just uint32_t. 39671 39672 * UIProcess/API/C/WKAPICast.h: 39673 (toWK): 39674 Add conversion method from WebCore::NavigationType to WKFrameNavigationType. 39675 * UIProcess/API/C/WKPage.h: 39676 * UIProcess/WebPageProxy.cpp: 39677 (WebKit::WebPageProxy::didReceiveMessage): 39678 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 39679 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 39680 * UIProcess/WebPageProxy.h: 39681 * UIProcess/WebPolicyClient.cpp: 39682 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 39683 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 39684 * UIProcess/WebPolicyClient.h: 39685 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 39686 39687 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39688 39689 Reviewed by Sam Weinig. 39690 39691 Add a PluginView::Stream class 39692 https://bugs.webkit.org/show_bug.cgi?id=42398 39693 39694 * WebProcess/Plugins/PluginView.cpp: 39695 Add the Stream class. 39696 39697 (WebKit::PluginView::performURLRequest): 39698 Create the stream and start it. 39699 39700 (WebKit::PluginView::addStream): 39701 Add the stream to the map. 39702 39703 (WebKit::PluginView::removeStream): 39704 Remove the stream from the map. 39705 39706 * WebProcess/Plugins/PluginView.h: 39707 Add Stream forward declaration and the m_streams map. 39708 39709 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39710 39711 Reviewed by Sam Weinig. 39712 39713 Don't allow multiple calls to NetscapePluginStream::stop 39714 https://bugs.webkit.org/show_bug.cgi?id=42395 39715 39716 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39717 (WebKit::NetscapePluginStream::NetscapePluginStream): 39718 Initialize m_urlNotifyHasBeenCalled. 39719 39720 (WebKit::NetscapePluginStream::~NetscapePluginStream): 39721 Assert that the stream didn't need a URL notification or that one was sent. 39722 39723 (WebKit::NetscapePluginStream::sendJavaScriptStream): 39724 Don't call stop in the JS failure case because the stream won't be started. 39725 39726 (WebKit::NetscapePluginStream::stop): 39727 Remove m_isStarted check and add an assertion instead. Move code that calls NPP_URLNotify and 39728 destroys the stream out to a separate function. 39729 39730 (WebKit::NetscapePluginStream::notifyAndDestroyStream): 39731 Call NPP_URLNotify if necessary and destroy the stream. 39732 39733 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 39734 39735 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39736 39737 Reviewed by Sam Weinig. 39738 39739 Implement NPN_DestroyStream 39740 https://bugs.webkit.org/show_bug.cgi?id=42393 39741 39742 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 39743 (WebKit::NPN_DestroyStream): 39744 Call NetscapePlugin::destroyStream. 39745 39746 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39747 (WebKit::NetscapePlugin::destroyStream): 39748 Check if the stream is valid, and if it is call NetscapePluginStream::destroy. 39749 39750 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39751 (WebKit::NetscapePluginStream::sendJavaScriptStream): 39752 Keep a reference to the stream in case it's destroyed by an NPP_ call. 39753 39754 (WebKit::NetscapePluginStream::destroy): 39755 Verify that the stream can be destroyed and stop it. 39756 39757 (WebKit::NetscapePluginStream::deliverDataToPlugin): 39758 Add m_isStarted checks after any calls to NPP_ functions. 39759 39760 (WebKit::NetscapePluginStream::stop): 39761 Set m_isStarted to false before calling NPP_DestroyStream. 39762 39763 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 39764 (WebKit::NetscapePluginStream::npStream): 39765 Add NPStream getter. 39766 39767 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39768 39769 Reviewed by Darin Adler. 39770 39771 WebKitTestRunner goes off the deep end, spinning in a dispatch queue thread 39772 https://bugs.webkit.org/show_bug.cgi?id=42355 39773 39774 Sometimes, when receiving a message whose size is very close to the inlineMessageMaxSize, 39775 mach_msg would return with MACH_RCV_TOO_LARGE. In debug builds we would assert, but in release 39776 builds we would just bail and the receiveSourceEventHandler would be run again shortly since we didn't 39777 actually pull the message off the mach message queue. 39778 39779 Fix this by setting the receive source buffer size to include the maximum message trailer size, which 39780 mach_msg requires. Also, handle mach_msg returning MACH_RCV_TOO_LARGE (even though in theory it would never happen 39781 now that the receivedBufferSize always includes the maximum message trailer size. 39782 39783 * Platform/CoreIPC/mac/ConnectionMac.cpp: 39784 (CoreIPC::Connection::receiveSourceEventHandler): 39785 Use a Vector with inline data instead of a char array. This way we can resize the Vector if the message received 39786 is too big. 39787 39788 2010-07-15 Anders Carlsson <andersca (a] apple.com> 39789 39790 Reviewed by Darin Adler. 39791 39792 Send JavaScript stream data to plug-ins 39793 https://bugs.webkit.org/show_bug.cgi?id=42384 39794 39795 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39796 (WebKit::NetscapePlugin::NPP_WriteReady): 39797 (WebKit::NetscapePlugin::NPP_Write): 39798 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 39799 Add NPP_ wrappers. 39800 39801 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39802 (WebKit::NetscapePluginStream::NetscapePluginStream): 39803 Initialize m_deliveryDataTimer and m_stopstreamWhenDoneDelivering. 39804 39805 (WebKit::NetscapePluginStream::sendJavaScriptStream): 39806 Call deliverData and stop. 39807 39808 (WebKit::NetscapePluginStream::deliverData): 39809 Add the data to m_deliveryData and call deliverDataToPlugin. 39810 39811 (WebKit::NetscapePluginStream::deliverDataToPlugin): 39812 Deliver the data in m_deliveryData to the plug-in. Call NPP_WriteReady to see how much 39813 data the plug-in can handle right now. If the plug-in returns zero or a negative value, delay the 39814 delivery using the delivery data timer. Otherwise, call NPP_Write in chunks until all the data has been 39815 delivered, then stop the stream if needed. 39816 39817 (WebKit::NetscapePluginStream::stop): 39818 If the reason for stopping the stream is that it's finished and the plug-in hasn't processed all the data, 39819 don't close the stream now. Instead, set m_stopStreamWhenDoneDelivering to true which will cause the stream to be 39820 closed once all data has been delivered. 39821 39822 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 39823 Add member functions and member variables. 39824 39825 2010-07-14 Brent Fulgham <bfulgham (a] webkit.org> 39826 39827 Reviewed by Steve Falkenburg. 39828 39829 Patch for https://bugs.webkit.org/show_bug.cgi?id=42299 39830 Correct WinCairo build for new WebKit2 project structure. 39831 39832 * win/WebKit2Apple.vsprops: Put WebKit2.def here. 39833 * win/WebKit2CFLite.def: Added CFLite version of def file. 39834 * win/WebKit2CFLite.vsprops: Add new WebKit2CFLite.def here. 39835 * win/WebKit2Common.vsprops: Remove WebKit2.def definition as 39836 WinCairo and Apple need different versions of this. 39837 * win/WebKit2WebProcess.vcproj: Add a new Debug_Cairo target 39838 for the WebKit2WebProcess project. 39839 39840 2010-07-15 Mark Rowe <mrowe (a] apple.com> 39841 39842 Update the sorting in the Xcode project files. 39843 39844 * WebKit2.xcodeproj/project.pbxproj: 39845 39846 2010-07-14 Sam Weinig <sam (a] webkit.org> 39847 39848 Reviewed by Dan Bernstein. 39849 39850 Patch for https://bugs.webkit.org/show_bug.cgi?id=42315 39851 <rdar://problem/8185281> 39852 All text in WebKit2 draws with no subpixel antialiasing 39853 39854 - Change CGBitmapInfo passed to CGBitmapContextCreate and CGImageCreate 39855 from kCGImageAlphaPremultipliedLast to kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host. 39856 39857 * Shared/mac/UpdateChunk.cpp: 39858 (WebKit::UpdateChunk::createImage): 39859 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: 39860 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 39861 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: 39862 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 39863 39864 2010-07-14 Maciej Stachowiak <mjs (a] apple.com> 39865 39866 Reviewed by Mark Rowe. 39867 39868 - Fix WebKitTestRunner build 39869 39870 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add stdint.h include. 39871 39872 2010-07-14 Anders Carlsson <andersca (a] apple.com> 39873 39874 Try to fix Windows build. 39875 39876 * win/WebKit2.vcproj: 39877 39878 2010-07-14 Anders Carlsson <andersca (a] apple.com> 39879 39880 Reviewed by Sam Weinig. 39881 39882 More work on plug-in streams 39883 https://bugs.webkit.org/show_bug.cgi?id=42308 39884 39885 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 39886 (WebKit::NetscapePlugin::loadURL): 39887 If the target is null, create a NetscapePluginStream and add it to the m_streams map. 39888 39889 (WebKit::NetscapePlugin::removePluginStream): 39890 Remove the given NetscapePluginStream from the m_streams map. 39891 39892 (WebKit::NetscapePlugin::NPP_NewStream): 39893 (WebKit::NetscapePlugin::NPP_DestroyStream): 39894 Add NPP_ wrappers. 39895 39896 (WebKit::NetscapePlugin::streamFromID): 39897 Return the plug-in stream given a stream ID. 39898 39899 (WebKit::NetscapePlugin::didEvaluateJavaScript): 39900 Find the plug-in stream and call sendJavaScriptStream. 39901 39902 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 39903 (WebKit::NetscapePluginStream::NetscapePluginStream): 39904 Initialize member variables. 39905 39906 (WebKit::NetscapePluginStream::~NetscapePluginStream): 39907 Assert that we aren't started. 39908 39909 (WebKit::NetscapePluginStream::sendJavaScriptStream): 39910 If the JavaScript request was successful, start the stream. Otherwise call stop() which just 39911 ends up calling NPP_URLNotify when the stream isn't started. 39912 39913 (WebKit::NetscapePluginStream::start): 39914 Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if 39915 the requested stream type is one that we don't yet support. 39916 39917 (WebKit::NetscapePluginStream::stop): 39918 Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary. 39919 39920 * WebProcess/Plugins/PluginView.cpp: 39921 (WebKit::PluginView::performJavaScriptURLRequest): 39922 Remove unneeded comment. 39923 39924 2010-07-14 Sam Weinig <sam (a] webkit.org> 39925 39926 Reviewed by John Sullivan. 39927 39928 Make Back/Forward work. 39929 39930 * UIProcess/WebPageProxy.cpp: 39931 (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip. 39932 (WebKit::WebPageProxy::goBack): Ditto. 39933 (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem. 39934 * WebProcess/WebPage/WebPage.cpp: 39935 (WebKit::WebPage::WebPage): 39936 (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut. 39937 (WebKit::WebPage::goBack): Ditto. 39938 (WebKit::WebPage::didReceiveMessage): 39939 * WebProcess/WebPage/WebPage.h: 39940 Remove unused m_canGoBack and m_canGoForward. 39941 39942 2010-07-14 Anders Carlsson <andersca (a] apple.com> 39943 39944 Reviewed by Darin Adler. 39945 39946 Add NetscapePluginStream class 39947 https://bugs.webkit.org/show_bug.cgi?id=42296 39948 39949 * WebKit2.xcodeproj/project.pbxproj: 39950 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added. 39951 (WebKit::NetscapePluginStream::NetscapePluginStream): 39952 (WebKit::NetscapePluginStream::~NetscapePluginStream): 39953 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added. 39954 (WebKit::NetscapePluginStream::create): 39955 39956 2010-07-14 Sam Weinig <sam (a] webkit.org> 39957 39958 Reviewed by Darin Adler. 39959 39960 Patch for https://bugs.webkit.org/show_bug.cgi?id=42297 39961 <rdar://problem/8187355> 39962 Make titles in WebBackForwardListItems work. 39963 39964 - Make WebBackForwardListItemMap per WebProcessProxy to allow updating 39965 them separate from a page. They are conceptually per process anyway. 39966 - Add a message to add or update a WebBackForwardListItemMap triggered 39967 by the WebCore::notifyHistoryItemChanged mechanism. 39968 39969 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 39970 (WebProcessProxyMessage::): 39971 Add AddOrUpdateBackForwardItem message. 39972 39973 * UIProcess/WebBackForwardListItem.h: 39974 (WebKit::WebBackForwardListItem::setOriginalURL): 39975 (WebKit::WebBackForwardListItem::setURL): 39976 (WebKit::WebBackForwardListItem::setTitle): 39977 Add setters. 39978 39979 * UIProcess/WebPageProxy.cpp: 39980 (WebKit::WebPageProxy::didReceiveMessage): 39981 BackForwardAddItem now assumes the item has already been created, so 39982 now just forwards the add message onto the WebBackForwardList. 39983 39984 (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID. 39985 (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto. 39986 * UIProcess/WebPageProxy.h: Ditto. 39987 39988 * UIProcess/WebProcessProxy.cpp: 39989 (WebKit::WebProcessProxy::webBackForwardItem): 39990 (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem): 39991 (WebKit::WebProcessProxy::didReceiveMessage): 39992 (WebKit::WebProcessProxy::didReceiveSyncMessage): 39993 * UIProcess/WebProcessProxy.h: 39994 Have the WebProcessProxy manage the WebBackForwardListItems. 39995 39996 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 39997 (WebKit::updateBackForwardItem): 39998 (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess 39999 of HistoryItem changes (such as the title being added). 40000 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy): 40001 Register the notifyHistoryItemChanged function. 40002 (WebKit::WebBackForwardListProxy::addItem): 40003 Just send the ID as the updateBackForwardItem is already going to have 40004 been called by this time. 40005 40006 2010-07-14 Anders Carlsson <andersca (a] apple.com> 40007 40008 Reviewed by Sam Weinig. 40009 40010 Call NPN_URLNotify for frame loads initiated by plug-ins 40011 https://bugs.webkit.org/show_bug.cgi?id=42291 40012 40013 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40014 (WebKit::NetscapePlugin::loadURL): 40015 If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point. 40016 40017 (WebKit::NetscapePlugin::frameDidFinishLoading): 40018 Get the notification data and the URL from the map and call NPP_URLNotify. 40019 40020 (WebKit::NetscapePlugin::frameDidFail): 40021 Get the notification data and the URL from the map and call NPP_URLNotify. 40022 40023 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40024 40025 2010-07-14 Anders Carlsson <andersca (a] apple.com> 40026 40027 Reviewed by Sam Weinig. 40028 40029 Add NetscapePlugin::NPP_ member functions for calling into the plug-in 40030 https://bugs.webkit.org/show_bug.cgi?id=42287 40031 40032 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40033 (WebKit::NetscapePlugin::NPP_New): 40034 (WebKit::NetscapePlugin::NPP_Destroy): 40035 (WebKit::NetscapePlugin::NPP_SetWindow): 40036 (WebKit::NetscapePlugin::NPP_URLNotify): 40037 (WebKit::NetscapePlugin::callSetWindow): 40038 (WebKit::NetscapePlugin::initialize): 40039 (WebKit::NetscapePlugin::destroy): 40040 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40041 40042 2010-07-14 Anders Carlsson <andersca (a] apple.com> 40043 40044 Reviewed by Sam Weinig. 40045 40046 Send JavaScript url request results back to the plug-in 40047 https://bugs.webkit.org/show_bug.cgi?id=42277 40048 40049 * WebProcess/Plugins/DummyPlugin.cpp: 40050 (WebKit::DummyPlugin::didEvaluateJavaScript): 40051 * WebProcess/Plugins/DummyPlugin.h: 40052 Add empty stub. 40053 40054 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40055 (WebKit::NetscapePlugin::didEvaluateJavaScript): 40056 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40057 Add Empty stub. 40058 40059 * WebProcess/Plugins/Plugin.h: 40060 Add didEvaluateJavaScript pure virtual member function. 40061 40062 * WebProcess/Plugins/PluginView.cpp: 40063 (WebKit::PluginView::performJavaScriptURLRequest): 40064 If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading. 40065 If target is null, call didEvaluateJavaScript with the result string. 40066 40067 2010-07-14 Sam Weinig <sam (a] webkit.org> 40068 40069 Reviewed by Darin Adler. 40070 40071 Patch for https://bugs.webkit.org/show_bug.cgi?id=42232 40072 Make changing Cursors work in WebKit2. 40073 40074 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 40075 Add SetCursor message. 40076 40077 * Shared/WebCoreArgumentCoders.h: 40078 Add encoding/decoding of Cursors. For now we don't support Custom 40079 cursors. 40080 40081 * UIProcess/API/mac/PageClientImpl.h: 40082 * UIProcess/API/mac/PageClientImpl.mm: 40083 (WebKit::PageClientImpl::setCursor): 40084 * UIProcess/PageClient.h: 40085 Add pass through functions to get the cursor from the WebPageProxy 40086 to the WKView. 40087 40088 * UIProcess/API/mac/WKView.mm: 40089 (-[WKView _setCursor:]): 40090 * UIProcess/API/mac/WKViewInternal.h: 40091 Implement changing the cursor. 40092 40093 * UIProcess/WebPageProxy.cpp: 40094 (WebKit::WebPageProxy::didReceiveMessage): 40095 (WebKit::WebPageProxy::setCursor): 40096 * UIProcess/WebPageProxy.h: 40097 Decode the cursor. 40098 40099 * UIProcess/win/WebView.cpp: 40100 (WebKit::WebView::wndProc): 40101 (WebKit::WebView::WebView): 40102 (WebKit::WebView::onSetCursor): 40103 (WebKit::WebView::setCursor): 40104 * UIProcess/win/WebView.h: 40105 Implement changing the cursor. 40106 40107 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 40108 (WebKit::WebChromeClient::setCursor): 40109 (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor): 40110 * WebProcess/WebCoreSupport/WebChromeClient.h: 40111 Encode the cursor when setCursor is called. 40112 40113 2010-07-13 Anders Carlsson <andersca (a] apple.com> 40114 40115 Reviewed by Sam Weinig. 40116 40117 Add support for loading javascript: URLs 40118 https://bugs.webkit.org/show_bug.cgi?id=42221 40119 40120 * WebProcess/Plugins/DummyPlugin.cpp: 40121 (WebKit::DummyPlugin::controller): 40122 * WebProcess/Plugins/DummyPlugin.h: 40123 Add stub function. 40124 40125 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40126 (WebKit::NetscapePlugin::destroy): 40127 Set the plug-in controller to 0. 40128 40129 (WebKit::NetscapePlugin::controller): 40130 Return the plug-in controller. 40131 40132 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40133 Add controller() member function. 40134 40135 * WebProcess/Plugins/Plugin.h: 40136 Add controller() pure virtual member function. 40137 40138 * WebProcess/Plugins/PluginView.cpp: 40139 (WebKit::PluginView::performURLRequest): 40140 If the given URL request has a javascript: protocol, call 40141 performJavaScriptURLRequest. 40142 40143 (WebKit::PluginView::performFrameLoadURLRequest): 40144 Add a security origin check. 40145 40146 (WebKit::PluginView::performJavaScriptURLRequest): 40147 Evaluate the JavaScript code, Get the resulting string. 40148 40149 * WebProcess/Plugins/PluginView.h: 40150 Add performJavaScriptURLRequest. 40151 40152 2010-07-13 Anders Carlsson <andersca (a] apple.com> 40153 40154 Reviewed by Sam Weinig. 40155 40156 Add support for URL frame loading using NPN_GetURLNotify 40157 https://bugs.webkit.org/show_bug.cgi?id=42192 40158 40159 * WebProcess/Plugins/DummyPlugin.cpp: 40160 (WebKit::DummyPlugin::frameDidFinishLoading): 40161 (WebKit::DummyPlugin::frameDidFail): 40162 * WebProcess/Plugins/DummyPlugin.h: 40163 Add empty stubs. 40164 40165 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 40166 Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL. 40167 40168 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40169 (WebKit::NetscapePlugin::NetscapePlugin): 40170 Initialize m_nextRequestID to 0. 40171 40172 (WebKit::NetscapePlugin::loadURL): 40173 Ask the plug-in controller to load the URL. 40174 40175 (WebKit::NetscapePlugin::frameDidFinishLoading): 40176 (WebKit::NetscapePlugin::frameDidFail): 40177 Add empty stubs for now. 40178 40179 * WebProcess/Plugins/Plugin.h: 40180 Add new member functions for frame load notifications. 40181 40182 * WebProcess/Plugins/PluginController.h: 40183 Add loadURL. 40184 40185 * WebProcess/Plugins/PluginView.cpp: 40186 (WebKit::PluginView::URLRequest::URLRequest): 40187 Add class that represents an URL request. 40188 40189 (WebKit::PluginView::PluginView): 40190 Initialize m_pendingURLRequestsTimer. 40191 40192 (WebKit::PluginView::~PluginView): 40193 Unset all active load listeners. 40194 40195 (WebKit::PluginView::pendingURLRequestsTimerFired): 40196 Take the first request in the queue and process it. 40197 40198 (WebKit::PluginView::performURLRequest): 40199 Call performFrameLoadURLRequest if necessary. 40200 40201 (WebKit::PluginView::performFrameLoadURLRequest): 40202 Find a frame to load the request in. If a frame doesn't exist try to create a new frame. 40203 40204 (WebKit::PluginView::loadURL): 40205 Create a URLRequest and add it to the queue. 40206 40207 (WebKit::PluginView::didFinishLoad): 40208 Get the pending frame load request and call Plugin::frameDidFinishLoading. 40209 40210 (WebKit::PluginView::didFailLoad): 40211 Get the pending frame load request and call Plugin::frameDidFail. 40212 40213 * WebProcess/Plugins/PluginView.h: 40214 Inherit from WebFrame::LoadListener. 40215 40216 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 40217 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 40218 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 40219 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 40220 (WebKit::WebFrameLoaderClient::didFinishLoad): 40221 Call the WebFrame's load listener if needed. 40222 40223 * WebProcess/WebPage/WebFrame.cpp: 40224 (WebKit::WebFrame::WebFrame): 40225 Initialize m_loadListener to 0. 40226 40227 * WebProcess/WebPage/WebFrame.h: 40228 Add a LoadListener class that the plug-in view can use to track frame loads. 40229 40230 (WebKit::WebFrame::LoadListener::~LoadListener): 40231 (WebKit::WebFrame::setLoadListener): 40232 (WebKit::WebFrame::loadListener): 40233 40234 2010-07-13 Diego Gonzalez <diegohcg (a] webkit.org> 40235 40236 Reviewed by Kenneth Rohde Christiansen. 40237 40238 [Qt] [WebKit2] Hook up navigation actions 40239 https://bugs.webkit.org/show_bug.cgi?id=42183 40240 40241 Make Back, Forward, Stop and Reload being enable/disabled according 40242 page loading. 40243 40244 * UIProcess/API/qt/ClientImpl.cpp: 40245 (qt_wk_didStartProvisionalLoadForFrame): 40246 (qt_wk_didCommitLoadForFrame): 40247 (qt_wk_didFinishLoadForFrame): 40248 (qt_wk_didFailLoadWithErrorForFrame): 40249 * UIProcess/API/qt/qwkpage.cpp: 40250 (QWKPagePrivate::updateAction): 40251 40252 2010-07-13 John Sullivan <sullivan (a] apple.com> 40253 40254 Written by Simon Fraser, reviewed by me. 40255 40256 Cleaner fix for previous check-in. 40257 40258 * UIProcess/WebBackForwardList.cpp: 40259 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 40260 Use std::max<int> for int-casting brevity. 40261 40262 2010-07-13 John Sullivan <sullivan (a] apple.com> 40263 40264 Reviewed by Sam Weinig. 40265 40266 Fixed signed/unsigned problem that led to bogus contents in the array 40267 returned by WKBackForwardListCopyBackListWithLimit(). 40268 40269 * UIProcess/WebBackForwardList.cpp: 40270 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 40271 Cast m_current and limit to signed values in std::max call. 40272 40273 2010-07-13 Steve Falkenburg <sfalken (a] apple.com> 40274 40275 Reviewed by Ada Chan. 40276 40277 Fix missing resources causing layout test failures 40278 https://bugs.webkit.org/show_bug.cgi?id=42179 40279 40280 Quick fix to get the layout tests going again. 40281 I'll work on getting resource.h from WebKit into a cross-project 40282 propagated header after this lands. 40283 40284 * win/WebKit2.rc: 40285 * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h. 40286 40287 2010-07-13 Anders Carlsson <andersca (a] apple.com> 40288 40289 Reviewed by Adam Roben. 40290 40291 Make all NPN_ functions static. 40292 40293 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 40294 40295 2010-07-13 Anders Carlsson <andersca (a] apple.com> 40296 40297 Reviewed by Adam Roben. 40298 40299 Document the member functions of the abstract Plugin and PluginController classes. 40300 40301 * WebProcess/Plugins/Plugin.h: 40302 * WebProcess/Plugins/PluginController.h: 40303 40304 2010-07-13 Simon Hausmann <simon.hausmann (a] nokia.com> 40305 40306 [Qt] Trivial build fix. 40307 40308 Provide a stub for mimeTypeFromExtension() that uses notImplemented(). 40309 40310 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: 40311 (WebKit::PluginInfoStore::mimeTypeFromExtension): 40312 40313 2010-07-13 Simon Hausmann <simon.hausmann (a] nokia.com> 40314 40315 Reviewed by Kenneth Rohde Christiansen. 40316 40317 [Qt] Tweaks needed to compile WebKit2 with Qt 40318 https://bugs.webkit.org/show_bug.cgi?id=41604 40319 40320 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 40321 (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes. 40322 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h, 40323 as it unconditionally includes JSStringRefCF. Instead include JavaScript.h. 40324 40325 2010-07-12 Steve Falkenburg <sfalken (a] apple.com> 40326 40327 Windows build fix. 40328 Don't build MiniBrowser except for Debug_Internal. 40329 40330 * WebKit2.sln: 40331 40332 2010-07-12 Steve Falkenburg <sfalken (a] apple.com> 40333 40334 Reviewed by Maciej Stachowiak. 40335 40336 Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots) 40337 https://bugs.webkit.org/show_bug.cgi?id=40922 40338 40339 Add additional dependent projects. Necessary since our WebKit build on 40340 Windows is packaged into a DLL with WebKit2. 40341 40342 * WebKit2.sln: 40343 40344 2010-07-12 Mark Rowe <mrowe (a] apple.com> 40345 40346 Rubber-stamped by Maciej Stachowiak. 40347 40348 Fix WebKit2 to use the same compiler-selection logic as the other projects. 40349 40350 * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2. 40351 40352 2010-07-12 Maciej Stachowiak <mjs (a] apple.com> 40353 40354 Reviewed by Anders Carlsson. 40355 40356 WKView should override setFrameSize: instead of setFrame: 40357 https://bugs.webkit.org/show_bug.cgi?id=42127 40358 40359 * UIProcess/API/mac/WKView.mm: 40360 (-[WKView setFrameSize:]): Override this method instead of setFrame:, 40361 since that is the right way to do it. 40362 40363 2010-07-12 Steve Falkenburg <sfalken (a] apple.com> 40364 40365 Reviewed by Alice Liu. 40366 40367 <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL 40368 https://bugs.webkit.org/show_bug.cgi?id=40921 40369 40370 Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib. 40371 WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code. 40372 40373 This is a first step. We'll likely want to migrate the remainder of 40374 the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2. 40375 40376 * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name. 40377 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name. 40378 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed. 40379 * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib. 40380 * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib. 40381 * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib. 40382 * win/WebKit2.def: Added. Copied from WebKit project. 40383 * win/WebKit2.rc: Added resources previously in WebKit. 40384 * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll. 40385 Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain). 40386 * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name. 40387 Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll. 40388 * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming. 40389 * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png. 40390 * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png. 40391 * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png. 40392 * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png. 40393 * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png. 40394 * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png. 40395 * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png. 40396 * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png. 40397 * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png. 40398 * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png. 40399 * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png. 40400 * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png. 40401 * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png. 40402 * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png. 40403 * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png. 40404 * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png. 40405 * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png. 40406 * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png. 40407 * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png. 40408 * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png. 40409 * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png. 40410 * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png. 40411 * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png. 40412 * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png. 40413 * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png. 40414 * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png. 40415 40416 2010-07-12 Maciej Stachowiak <mjs (a] apple.com> 40417 40418 Reviewed by Anders Carlsson. 40419 40420 Get rid of auto_ptr use in WebKit2 40421 https://bugs.webkit.org/show_bug.cgi?id=42119 40422 40423 Replace all use of auto_ptr with OwnPtr/PassOwnPtr. 40424 40425 * Platform/CoreIPC/Connection.cpp: 40426 (CoreIPC::Connection::sendMessage): 40427 (CoreIPC::Connection::waitForMessage): 40428 (CoreIPC::Connection::sendSyncMessage): 40429 (CoreIPC::Connection::processIncomingMessage): 40430 (CoreIPC::Connection::sendOutgoingMessages): 40431 (CoreIPC::Connection::dispatchMessages): 40432 * Platform/CoreIPC/Connection.h: 40433 (CoreIPC::Connection::Message::Message): 40434 (CoreIPC::Connection::send): 40435 (CoreIPC::Connection::sendSync): 40436 (CoreIPC::Connection::waitFor): 40437 * Platform/CoreIPC/mac/ConnectionMac.cpp: 40438 (CoreIPC::Connection::sendOutgoingMessage): 40439 (CoreIPC::createArgumentDecoder): 40440 (CoreIPC::Connection::receiveSourceEventHandler): 40441 * Platform/CoreIPC/qt/ConnectionQt.cpp: 40442 (CoreIPC::Connection::readyReadHandler): 40443 (CoreIPC::Connection::sendOutgoingMessage): 40444 * Platform/CoreIPC/win/ConnectionWin.cpp: 40445 (CoreIPC::Connection::readEventHandler): 40446 (CoreIPC::Connection::sendOutgoingMessage): 40447 * Platform/RunLoop.cpp: 40448 (RunLoop::performWork): 40449 (RunLoop::scheduleWork): 40450 * Platform/RunLoop.h: 40451 * Platform/WorkItem.h: 40452 (WorkItem::create): 40453 * Platform/WorkQueue.h: 40454 * Platform/mac/WorkQueueMac.cpp: 40455 (WorkQueue::executeWorkItem): 40456 (WorkQueue::scheduleWork): 40457 (WorkQueue::EventSource::EventSource): 40458 (WorkQueue::registerMachPortEventHandler): 40459 * Platform/qt/WorkQueueQt.cpp: 40460 (WorkQueue::connectSignal): 40461 (WorkQueue::scheduleWork): 40462 * Platform/win/WorkQueueWin.cpp: 40463 (WorkQueue::registerHandle): 40464 (WorkQueue::scheduleWork): 40465 (WorkQueue::performWork): 40466 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 40467 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 40468 * UIProcess/WebProcessProxy.cpp: 40469 (WebKit::WebProcessProxy::sendMessage): 40470 (WebKit::WebProcessProxy::didFinishLaunching): 40471 * UIProcess/WebProcessProxy.h: 40472 (WebKit::WebProcessProxy::send): 40473 40474 2010-07-12 Ada Chan <adachan (a] apple.com> 40475 40476 Build fix. Copy WKArray.h to the include directory. 40477 40478 * win/WebKit2Generated.make: 40479 40480 2010-07-12 Mark Rowe <mrowe (a] apple.com> 40481 40482 Re-do an Xcode project change that Xcode decided not to save. 40483 40484 * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project. 40485 For some reason it was being copied in to the framework wrapper. 40486 40487 2010-07-12 Mark Rowe <mrowe (a] apple.com> 40488 40489 Reviewed by Sam Weinig. 40490 40491 Remove the exports file from WebKit2. 40492 40493 * Configurations/Base.xcconfig: Have symbols default to hidden visibility. 40494 * Configurations/WebKit2.xcconfig: Remove the export file. 40495 * UIProcess/API/mac/WKView.h: Export the WKView class. 40496 * WebProcess/WebKitMain.cpp: Export the WebKitMain function. 40497 * mac/WebKit2.exp: Removed. 40498 40499 2010-07-12 Adam Roben <aroben (a] apple.com> 40500 40501 Move WebKit2.vcproj's settings into .vsprops files 40502 40503 This makes it easier to make changes that affect all configurations. 40504 40505 Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files 40506 40507 Reviewed by Steve Falkenburg. 40508 40509 * win/WebKit2.vcproj: Moved settings from here to the files below. 40510 * win/WebKit2Apple.vsprops: Added. Links against Apple-specific 40511 libraries. 40512 * win/WebKit2CFLite.vsprops: Added. Links against CFLite. 40513 * win/WebKit2Common.vsprops: Added. Contains settings shared by all 40514 configurations. 40515 * win/WebKit2DirectX.vsprops: Added. Contains settings to help with 40516 linking against DirectX. 40517 40518 2010-07-12 Adam Roben <aroben (a] apple.com> 40519 40520 Stop generating stripped symbols for Release builds 40521 40522 It turns out we can strip the symbols after-the-fact using PDBCopy. 40523 40524 Fixes <http://webkit.org/b/42085>. 40525 40526 Reviewed by Steve Falkenburg. 40527 40528 * win/WebKit2.vcproj: Removed the no-longer-needed Release override of 40529 the StripPrivateSymbols attribute. (This attribute is no longer set in 40530 release.vsprops, so doesn't need to be overridden.) 40531 40532 2010-07-12 Brian Weinstein <bweinstein (a] apple.com> 40533 40534 WebKit2 build fix for Windows. 40535 40536 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions. 40537 * win/WebKit2.vcproj: Add PluginController.h to the vcproj. 40538 40539 2010-07-12 Anders Carlsson <andersca (a] apple.com> 40540 40541 Reviewed by Adam Roben. 40542 40543 Add a PluginController class, use it for invalidation and getting the user agent 40544 https://bugs.webkit.org/show_bug.cgi?id=42084 40545 40546 * WebKit2.xcodeproj/project.pbxproj: 40547 Add PluginController.h 40548 40549 * WebProcess/Plugins/DummyPlugin.cpp: 40550 (WebKit::DummyPlugin::initialize): 40551 * WebProcess/Plugins/DummyPlugin.h: 40552 Pass the PluginController to initialize. 40553 40554 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 40555 Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion. 40556 40557 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40558 (WebKit::NetscapePlugin::NetscapePlugin): 40559 Initialize m_pluginController to null. 40560 40561 (WebKit::NetscapePlugin::invalidate): 40562 Ask the plug-in controller to invalidate. 40563 40564 (WebKit::NetscapePlugin::userAgent): 40565 Ask the plug-in controller for the user agent. 40566 40567 (WebKit::NetscapePlugin::initialize): 40568 Set the m_pluginController member variable. 40569 40570 * WebProcess/Plugins/Plugin.h: 40571 Make initialize take a PluginController. 40572 40573 * WebProcess/Plugins/PluginController.h: Added. 40574 40575 * WebProcess/Plugins/PluginView.cpp: 40576 (WebKit::PluginView::initializePlugin): 40577 Pass the PluginController to initialize. 40578 40579 (WebKit::PluginView::invalidateRect): 40580 Tell the host window to invalidate the given rect. 40581 40582 (WebKit::PluginView::invalidate): 40583 Call invalidateRect. 40584 40585 (WebKit::PluginView::userAgent): 40586 Ask the frame loader client for the user agent. 40587 40588 * WebProcess/Plugins/PluginView.h: 40589 40590 2010-07-12 Adam Roben <aroben (a] apple.com> 40591 40592 Windows build fix 40593 40594 * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added. 40595 (WebKit::NetscapePluginModule::tryLoad): 40596 (WebKit::NetscapePluginModule::unload): 40597 Stubbed these out. 40598 40599 * win/WebKit2.vcproj: Added a Netscape filter beneath 40600 WebProcess/Plugins, and moved NetscapePlugin into it. Added 40601 NetscapePluginModule to the new Netscape filter. Added 40602 WebProcess/Plugins to the include path for all configurations (it was 40603 only added to Release and Debug_Internal previously) and added 40604 WebProcess/Plugins/Netscape to the include path for all 40605 configurations. 40606 40607 2010-07-11 Maciej Stachowiak <mjs (a] apple.com> 40608 40609 Reviewed by Dan Bernstein. 40610 40611 Implement animation-related methods for WebKitTestRunner 40612 https://bugs.webkit.org/show_bug.cgi?id=42053 40613 40614 Implemented some helpers for WebKitTestRunner; 40615 40616 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 40617 (WKBundleFrameGetNumberOfActiveAnimations): 40618 (WKBundleFramePauseAnimationOnElementWithId): 40619 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 40620 * WebProcess/WebPage/WebFrame.cpp: 40621 (WebKit::WebFrame::numberOfActiveAnimations): 40622 (WebKit::WebFrame::pauseAnimationOnElementWithId): 40623 * WebProcess/WebPage/WebFrame.h: 40624 * mac/WebKit2.exp: 40625 40626 2010-07-10 Anders Carlsson <andersca (a] apple.com> 40627 40628 Reviewed by Sam Weinig. 40629 40630 Don't initialize plug-ins until allowed by the page 40631 https://bugs.webkit.org/show_bug.cgi?id=42033 40632 40633 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40634 (WebKit::NetscapePlugin::paint): 40635 (WebKit::NetscapePlugin::geometryDidChange): 40636 Assert that the plug-in is started. 40637 40638 * WebProcess/Plugins/PluginView.cpp: 40639 (WebKit::PluginView::PluginView): 40640 Initialize m_isWaitingUntilMediaCanStart. 40641 40642 (WebKit::PluginView::~PluginView): 40643 If necessary, remove the plug-in view as a MediaCanStartListener. 40644 40645 (WebKit::PluginView::initializePlugin): 40646 If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener. 40647 40648 (WebKit::PluginView::paint): 40649 Check that the plug-in is initialized. 40650 40651 (WebKit::PluginView::viewGeometryDidChange): 40652 Ditto. 40653 40654 (WebKit::PluginView::mediaCanStart): 40655 Initialize the plug-in. 40656 40657 * WebProcess/Plugins/PluginView.h: 40658 40659 2010-07-10 Anders Carlsson <andersca (a] apple.com> 40660 40661 Reviewed by Dan Bernstein. 40662 40663 Have the plug-in view initialize the plug-in 40664 https://bugs.webkit.org/show_bug.cgi?id=42030 40665 40666 * WebProcess/Plugins/DummyPlugin.cpp: 40667 (WebKit::DummyPlugin::initialize): 40668 * WebProcess/Plugins/DummyPlugin.h: 40669 Plugin::initialize now takes a struct. 40670 40671 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40672 (WebKit::NetscapePlugin::initialize): 40673 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40674 Plugin::initialize now takes a struct. 40675 40676 * WebProcess/Plugins/Plugin.h: 40677 Add Parameters struct. 40678 40679 * WebProcess/Plugins/PluginView.cpp: 40680 (WebKit::PluginView::PluginView): 40681 Add Parameters parameter. 40682 40683 (WebKit::PluginView::~PluginView): 40684 Add m_plugin null check. 40685 40686 (WebKit::PluginView::initializePlugin): 40687 Try to initialize the plug-in and zero out the plug-in if initialization fails. 40688 40689 (WebKit::PluginView::paint): 40690 Add m_plugin null check. 40691 40692 (WebKit::PluginView::setParent): 40693 Initialize the plug-in. 40694 40695 * WebProcess/Plugins/PluginView.h: 40696 (WebKit::PluginView::create): 40697 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 40698 (WebKit::WebFrameLoaderClient::createPlugin): 40699 Don't initialize the plug-in here. 40700 40701 2010-07-10 Anders Carlsson <andersca (a] apple.com> 40702 40703 Reviewed by Oliver Hunt. 40704 40705 Call Page::canStartMedia when the WKView is added to/removed from a window 40706 https://bugs.webkit.org/show_bug.cgi?id=42029 40707 40708 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 40709 (WebPageMessage::): 40710 Add SetIsInWindow. 40711 40712 * UIProcess/API/mac/WKView.mm: 40713 (-[WKView initWithFrame:pageNamespaceRef:]): 40714 Call setIsInWindow. 40715 40716 (-[WKView _updateVisibility]): 40717 Call setIsInWindow. 40718 40719 * UIProcess/WebPageProxy.cpp: 40720 (WebKit::WebPageProxy::WebPageProxy): 40721 Initialize m_isInWindow. 40722 40723 (WebKit::WebPageProxy::setIsInWindow): 40724 Send WebPageMessage::SetIsInWindow. 40725 40726 * UIProcess/WebPageProxy.h: 40727 * WebProcess/WebPage/WebPage.cpp: 40728 (WebKit::WebPage::setIsInWindow): 40729 Call Page::canStartMedia. 40730 40731 (WebKit::WebPage::didReceiveMessage): 40732 Handle the SetIsInWindow message. 40733 40734 * WebProcess/WebPage/WebPage.h: 40735 40736 2010-07-10 Anders Carlsson <andersca (a] apple.com> 40737 40738 Reviewed by Dan Bernstein. 40739 40740 Reuse initialized NetscapePluginModules, pass parameters to NPP_New 40741 https://bugs.webkit.org/show_bug.cgi?id=42028 40742 40743 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40744 (WebKit::NetscapePlugin::NetscapePlugin): 40745 Let the plug-in module know that a plug-in has been created. 40746 40747 (WebKit::NetscapePlugin::~NetscapePlugin): 40748 Let the plug-in module know that a plug-in has been destroyed. 40749 40750 (WebKit::NetscapePlugin::initialize): 40751 Pass the MIME type and parameters to the plug-in. 40752 40753 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 40754 (WebKit::initializedNetscapePluginModules): 40755 Add list of initialized plug-in modules. 40756 40757 (WebKit::NetscapePluginModule::NetscapePluginModule): 40758 Initialize m_pluginCount to 0. 40759 40760 (WebKit::NetscapePluginModule::~NetscapePluginModule): 40761 Assert that we're not in the list of initialized plug-ins. 40762 40763 (WebKit::NetscapePluginModule::pluginCreated): 40764 Increment the plug-in count. 40765 40766 (WebKit::NetscapePluginModule::pluginDestroyed): 40767 Decrement the plug-in count and call shutdown if it's 0. 40768 40769 (WebKit::NetscapePluginModule::shutdown): 40770 Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins. 40771 40772 (WebKit::NetscapePluginModule::getOrCreate): 40773 Look for an already initialized plug-in module before creating one. 40774 40775 (WebKit::NetscapePluginModule::load): 40776 Set m_isInitialized to true. 40777 40778 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: 40779 (WebKit::NetscapePluginModule::unload): 40780 Leak the CFBundleRef to avoid possible crashes. 40781 40782 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 40783 (WebKit::WebFrameLoaderClient::createPlugin): 40784 Call getOrCreate instead of create. 40785 40786 2010-07-09 Leon Clarke <leonclarke (a] google.com> 40787 40788 Reviewed by Adam Barth. 40789 40790 add support for link prefetching 40791 https://bugs.webkit.org/show_bug.cgi?id=3652 40792 40793 * Configurations/FeatureDefines.xcconfig: 40794 40795 2010-07-09 Anders Carlsson <andersca (a] apple.com> 40796 40797 Reviewed by Sam Weinig and Dan Bernstein. 40798 40799 Handle setting of drawing and event models 40800 https://bugs.webkit.org/show_bug.cgi?id=41994 40801 40802 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 40803 Handle NPPVpluginDrawingModel and NPPVpluginEventModel. 40804 40805 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40806 (WebKit::NetscapePlugin::NetscapePlugin): 40807 Initialize m_inNPPNew. 40808 40809 (WebKit::NetscapePlugin::~NetscapePlugin): 40810 Assert that we aren't still running. 40811 40812 (WebKit::NetscapePlugin::fromNPP): 40813 New function that returns a NetscapePlugin object given a NPP pointer. 40814 40815 (WebKit::NetscapePlugin::initialize): 40816 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: 40817 (WebKit::NetscapePlugin::setDrawingModel): 40818 Set the drawing model. 40819 40820 (WebKit::NetscapePlugin::setEventModel): 40821 Set the event model. 40822 40823 (WebKit::initializeEvent): 40824 (WebKit::NetscapePlugin::platformPaint): 40825 Only send the Cocoa event when using the Cocoa event model. 40826 40827 2010-07-09 Sam Weinig <sam (a] webkit.org> 40828 40829 Reviewed by Anders Carlsson. 40830 40831 Patch for https://bugs.webkit.org/show_bug.cgi?id=41971 40832 Add really basic BackForwardList support. 40833 40834 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 40835 (WebPageMessage::): 40836 Add new message kind. 40837 40838 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 40839 (WebPageProxyMessage::): 40840 Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward. 40841 40842 * UIProcess/API/C/WKPage.cpp: 40843 (WKPageGoToBackForwardListItem): 40844 * UIProcess/API/C/WKPage.h: 40845 Add function to initiate a navigation to a BackForward item. The 40846 BackForward list will be updated to use this as the current item 40847 asynchronously. 40848 40849 * UIProcess/WebBackForwardList.cpp: 40850 (WebKit::WebBackForwardList::WebBackForwardList): 40851 (WebKit::WebBackForwardList::addItem): Added. 40852 (WebKit::WebBackForwardList::goToItem): Added. 40853 (WebKit::WebBackForwardList::itemAtIndex): Added. 40854 (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore. 40855 (WebKit::WebBackForwardList::forwardListCount): Ditto. 40856 (WebKit::WebBackForwardList::backListWithLimit): Add cast to int. 40857 (WebKit::WebBackForwardList::forwardListWithLimit): Ditto. 40858 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto. 40859 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto. 40860 * UIProcess/WebBackForwardList.h: 40861 40862 * UIProcess/WebBackForwardListItem.cpp: 40863 (WebKit::WebBackForwardListItem::WebBackForwardListItem): 40864 * UIProcess/WebBackForwardListItem.h: 40865 (WebKit::WebBackForwardListItem::create): 40866 (WebKit::WebBackForwardListItem::itemID): 40867 Added itemID. 40868 40869 * UIProcess/WebPageProxy.cpp: 40870 (WebKit::WebPageProxy::WebPageProxy): 40871 (WebKit::WebPageProxy::close): 40872 (WebKit::WebPageProxy::canGoForward): 40873 (WebKit::WebPageProxy::canGoBack): 40874 (WebKit::WebPageProxy::goToBackForwardItem): 40875 (WebKit::WebPageProxy::didReceiveMessage): 40876 (WebKit::WebPageProxy::didReceiveSyncMessage): 40877 (WebKit::WebPageProxy::addItemToBackForwardList): 40878 (WebKit::WebPageProxy::goToItemInBackForwardList): 40879 (WebKit::WebPageProxy::processDidExit): 40880 * UIProcess/WebPageProxy.h: 40881 - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList. 40882 - Forward goToBackForwardItem to the WebProcess. 40883 - Respond to messages from the WebBackForwardListProxy in the WebProcess, 40884 forwarding to the WebBackForwardList. 40885 40886 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: 40887 (WebKit::WebBackForwardControllerClient::createBackForwardList): 40888 Start using a WebBackForwardListProxy instead of a BackForwardListImpl. 40889 40890 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 40891 (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem): 40892 (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): 40893 (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): 40894 Remove calls backForwardListDidChange() now that we communicate much more 40895 information than just this state. 40896 40897 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 40898 (WebKit::idToHistoryItemMap): 40899 (WebKit::historyItemToIDMap): 40900 (WebKit::generateHistoryItemID): 40901 (WebKit::getIDForHistoryItem): 40902 (WebKit::WebBackForwardListProxy::itemForID): 40903 Add leaking cached maps of HistoryItems to IDs, the life time of these 40904 objects will be improved in a subsequent patch. 40905 40906 (WebKit::WebBackForwardListProxy::WebBackForwardListProxy): 40907 (WebKit::WebBackForwardListProxy::addItem): 40908 (WebKit::WebBackForwardListProxy::goBack): 40909 (WebKit::WebBackForwardListProxy::goForward): 40910 (WebKit::WebBackForwardListProxy::goToItem): 40911 (WebKit::WebBackForwardListProxy::backItem): 40912 (WebKit::WebBackForwardListProxy::currentItem): 40913 (WebKit::WebBackForwardListProxy::forwardItem): 40914 (WebKit::WebBackForwardListProxy::itemAtIndex): 40915 (WebKit::WebBackForwardListProxy::backListWithLimit): 40916 (WebKit::WebBackForwardListProxy::forwardListWithLimit): 40917 (WebKit::WebBackForwardListProxy::capacity): 40918 (WebKit::WebBackForwardListProxy::setCapacity): 40919 (WebKit::WebBackForwardListProxy::enabled): 40920 (WebKit::WebBackForwardListProxy::setEnabled): 40921 (WebKit::WebBackForwardListProxy::backListCount): 40922 (WebKit::WebBackForwardListProxy::forwardListCount): 40923 (WebKit::WebBackForwardListProxy::containsItem): 40924 (WebKit::WebBackForwardListProxy::close): 40925 (WebKit::WebBackForwardListProxy::closed): 40926 (WebKit::WebBackForwardListProxy::removeItem): 40927 (WebKit::WebBackForwardListProxy::entries): 40928 (WebKit::WebBackForwardListProxy::pushStateItem): 40929 * WebProcess/WebPage/WebBackForwardListProxy.h: 40930 Forward functions to the UIProcess. 40931 40932 * WebProcess/WebPage/WebPage.cpp: 40933 (WebKit::WebPage::goToBackForwardItem): 40934 (WebKit::WebPage::didReceiveMessage): 40935 * WebProcess/WebPage/WebPage.h: 40936 Respond to GoToBackForwardItem message. 40937 40938 * mac/WebKit2.exp: Add new API function. 40939 40940 2010-07-09 Anders Carlsson <andersca (a] apple.com> 40941 40942 Reviewed by Sam Weinig. 40943 40944 Verify drawing coordinates, add crude painting support 40945 https://bugs.webkit.org/show_bug.cgi?id=41984 40946 40947 * WebKit2.xcodeproj/project.pbxproj: 40948 Add NetscapePluginMac.cpp. 40949 40950 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40951 (WebKit::NetscapePlugin::NetscapePlugin): 40952 Initialize drawing and event models. 40953 40954 (WebKit::NetscapePlugin::initialize): 40955 Call platformPostInitialize. 40956 40957 (WebKit::NetscapePlugin::destroy): 40958 Call NPP_Destroy. 40959 40960 (WebKit::NetscapePlugin::paint): 40961 Call platformPaint. 40962 40963 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 40964 Add member functions. 40965 40966 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added. 40967 (WebKit::NetscapePlugin::platformPostInitialize): 40968 Set default event and drawing models and verify that they are compatible. 40969 40970 (WebKit::NetscapePlugin::platformPaint): 40971 Send a paint event (assuming the Cocoa event model currently). 40972 40973 * WebProcess/Plugins/PluginView.cpp: 40974 (WebKit::PluginView::paint): 40975 Change the paint rect to be in window coordinates. 40976 40977 (WebKit::PluginView::viewGeometryDidChange): 40978 (WebKit::PluginView::clipRectInWindowCoordinates): 40979 * WebProcess/Plugins/PluginView.h: 40980 40981 2010-07-09 Anders Carlsson <andersca (a] apple.com> 40982 40983 Reviewed by Sam Weinig. 40984 40985 Pass a clip rect to the plugin and call NPP_SetWindow 40986 https://bugs.webkit.org/show_bug.cgi?id=41969 40987 40988 * WebProcess/Plugins/DummyPlugin.cpp: 40989 (WebKit::DummyPlugin::geometryDidChange): 40990 * WebProcess/Plugins/DummyPlugin.h: 40991 Add clip rect parameter. 40992 40993 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 40994 (WebKit::NetscapePlugin::NetscapePlugin): 40995 Initialize m_npWindow. 40996 40997 (WebKit::NetscapePlugin::callSetWindow): 40998 Call NPP_SetWindow. 40999 41000 (WebKit::NetscapePlugin::initialize): 41001 Set the window type to NPWindowTypeDrawable for now. 41002 41003 (WebKit::NetscapePlugin::geometryDidChange): 41004 Update the frame and clip rects and call NPP_SetWindow. 41005 41006 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 41007 Add an NPWindow member variable. 41008 41009 * WebProcess/Plugins/Plugin.h: 41010 Add a clipRect parameter to geometryDidChange. 41011 41012 * WebProcess/Plugins/PluginView.cpp: 41013 (WebKit::PluginView::PluginView): 41014 Add the plug-in element to the constructor. 41015 41016 (WebKit::PluginView::viewGeometryDidChange): 41017 Compute the clip rect and pass it to the plug-in. 41018 41019 * WebProcess/Plugins/PluginView.h: 41020 (WebKit::PluginView::create): 41021 Pass the plug-in element to the constructor. 41022 41023 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41024 (WebKit::WebFrameLoaderClient::createPlugin): 41025 Pass the plug-in element to PluginView::create. 41026 41027 2010-07-09 Anders Carlsson <andersca (a] apple.com> 41028 41029 Reviewed by Simon Fraser. 41030 41031 Instantiate Netscape plug-ins, pass geometry information to Plugin 41032 https://bugs.webkit.org/show_bug.cgi?id=41960 41033 41034 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 41035 Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool. 41036 41037 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 41038 (WebKit::NetscapePlugin::NetscapePlugin): 41039 Set npp.ndata. 41040 41041 (WebKit::NetscapePlugin::initialize): 41042 Try to instantiate the plug-in by calling NPP_New. 41043 41044 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 41045 Store the NetscapePluginModule and the NPP struct. 41046 41047 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: 41048 Add a getter for the NPPluginFuncs vtable. 41049 41050 * WebProcess/Plugins/PluginView.cpp: 41051 (WebKit::PluginView::frameRectsChanged): 41052 Make sure to call viewGeometryDidChange. 41053 41054 (WebKit::PluginView::setParent): 41055 Ditto. 41056 41057 (WebKit::PluginView::viewGeometryDidChange): 41058 Convert the frame rect to window coordinates and pass it to the plug-in. 41059 41060 * WebProcess/Plugins/PluginView.h: 41061 Add function declarations. 41062 41063 2010-07-08 Diego Gonzalez <diegohcg (a] webkit.org> 41064 41065 Reviewed by Kenneth Rohde Christiansen. 41066 41067 [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot 41068 https://bugs.webkit.org/show_bug.cgi?id=41880 41069 41070 * UIProcess/API/qt/qwkpage.cpp: 41071 * UIProcess/API/qt/qwkpage.h: 41072 41073 2010-07-09 Antti Koivisto <koivisto (a] iki.fi> 41074 41075 Not reviewed. 41076 41077 Build fix. 41078 41079 * UIProcess/API/qt/qwkpage.h: 41080 41081 2010-07-08 Brian Weinstein <bweinstein (a] apple.com> 41082 41083 WebKit2 build fix for Windows. 41084 41085 * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin 41086 to an include. 41087 * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and 41088 add some files to the vcproj that were added on Mac. 41089 41090 2010-07-08 Sam Weinig <sam (a] webkit.org> 41091 41092 Attempt to fix the windows build. 41093 41094 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41095 (WebKit::WebFrameLoaderClient::createPlugin): 41096 41097 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41098 41099 Reviewed by Sam Weinig. 41100 41101 Add NetscapePlugin class 41102 https://bugs.webkit.org/show_bug.cgi?id=41919 41103 41104 * WebKit2.xcodeproj/project.pbxproj: 41105 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added. 41106 (WebKit::NetscapePlugin::NetscapePlugin): 41107 (WebKit::NetscapePlugin::~NetscapePlugin): 41108 (WebKit::NetscapePlugin::initialize): 41109 (WebKit::NetscapePlugin::destroy): 41110 (WebKit::NetscapePlugin::paint): 41111 (WebKit::NetscapePlugin::geometryDidChange): 41112 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added. 41113 (WebKit::NetscapePlugin::create): 41114 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41115 (WebKit::WebFrameLoaderClient::createPlugin): 41116 41117 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41118 41119 Reviewed by Sam Weinig. 41120 41121 Enable notImplemented messages by default and have the various clients explicitly disable them. 41122 41123 * Shared/NotImplemented.h: 41124 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 41125 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 41126 * WebProcess/WebCoreSupport/WebDragClient.cpp: 41127 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 41128 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41129 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 41130 41131 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41132 41133 Reviewed by Sam Weinig. 41134 41135 Add stubbed out NPN functions 41136 https://bugs.webkit.org/show_bug.cgi?id=41917 41137 41138 * WebKit2.xcodeproj/project.pbxproj: 41139 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added. 41140 (WebKit::initializeBrowserFuncs): 41141 (WebKit::netscapeBrowserFuncs): 41142 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added. 41143 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: 41144 (WebKit::NetscapePluginModule::tryLoad): 41145 41146 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41147 41148 Fix Windows build. 41149 41150 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41151 41152 2010-07-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 41153 41154 Reviewed by Kenneth Rohde Christiansen. 41155 41156 [Qt] Spelling and style correction 41157 https://bugs.webkit.org/show_bug.cgi?id=41891 41158 41159 Correcting a spelling and a style mistakes. 41160 41161 * UIProcess/Launcher/ProcessLauncher.h: 41162 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 41163 41164 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41165 41166 Reviewed by Sam Weinig. 41167 41168 Implement more of NetscapePluginModule 41169 https://bugs.webkit.org/show_bug.cgi?id=41910 41170 41171 * WebKit2.xcodeproj/project.pbxproj: 41172 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: 41173 (WebKit::NetscapePluginModule::create): 41174 (WebKit::NetscapePluginModule::load): 41175 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: 41176 * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added. 41177 (WebKit::NetscapePluginModule::unload): 41178 (WebKit::pointerToFunction): 41179 (WebKit::NetscapePluginModule::tryLoad): 41180 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41181 (WebKit::WebFrameLoaderClient::createPlugin): 41182 41183 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41184 41185 Reviewed by Sam Weinig. 41186 41187 Add stubbed out NetscapePluginModule class 41188 https://bugs.webkit.org/show_bug.cgi?id=41901 41189 41190 * WebKit2.xcodeproj/project.pbxproj: 41191 * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added. 41192 (WebKit::NetscapePluginModule::NetscapePluginModule): 41193 * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added. 41194 (WebKit::NetscapePluginModule::create): 41195 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41196 (WebKit::WebFrameLoaderClient::createPlugin): 41197 41198 2010-07-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 41199 41200 Reviewed by Kenneth Rohde Christiansen. 41201 41202 [Qt] Move socket objects to connection's thread 41203 https://bugs.webkit.org/show_bug.cgi?id=41897 41204 41205 To receive network related notifications in the WorkQueue thread, the 41206 QLocalSocket instances must be moved to that thread. 41207 41208 * Platform/CoreIPC/qt/ConnectionQt.cpp: 41209 (CoreIPC::Connection::open): 41210 * Platform/WorkQueue.h: 41211 * Platform/qt/WorkQueueQt.cpp: 41212 (WorkQueue::moveSocketToWorkThread): 41213 41214 2010-07-08 Alice Liu <alice.liu (a] apple.com> 41215 41216 Reviewed by Sam Weinig. 41217 41218 https://bugs.webkit.org/show_bug.cgi?id=41653 41219 Add new WebKitTestRunner project for Windows 41220 41221 * win/WebKit2Generated.make: Add files needed for WebKitTestRunner 41222 41223 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41224 41225 Reviewed by Sam Weinig. 41226 41227 Add a GetPluginHostConnection WebProcessProxy message 41228 https://bugs.webkit.org/show_bug.cgi?id=41893 41229 41230 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 41231 (WebProcessProxyMessage::): 41232 * UIProcess/WebProcessProxy.cpp: 41233 (WebKit::WebProcessProxy::getPluginHostConnection): 41234 (WebKit::WebProcessProxy::didReceiveMessage): 41235 (WebKit::WebProcessProxy::didReceiveSyncMessage): 41236 * UIProcess/WebProcessProxy.h: 41237 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41238 (WebKit::WebFrameLoaderClient::createPlugin): 41239 41240 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41241 41242 Reviewed by Sam Weinig. 41243 41244 Add more parameters to Plugin::initialize 41245 https://bugs.webkit.org/show_bug.cgi?id=41890 41246 41247 * WebProcess/Plugins/DummyPlugin.cpp: 41248 (WebKit::DummyPlugin::initialize): 41249 * WebProcess/Plugins/DummyPlugin.h: 41250 * WebProcess/Plugins/Plugin.h: 41251 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41252 (WebKit::WebFrameLoaderClient::createPlugin): 41253 41254 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41255 41256 Fix build. 41257 41258 * WebProcess/Plugins/DummyPlugin.h: 41259 41260 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41261 41262 Reviewed by Sam Weinig. 41263 41264 Add a Plugin abstract base class and a DummyPlugin that implements it 41265 https://bugs.webkit.org/show_bug.cgi?id=41885 41266 41267 * WebKit2.xcodeproj/project.pbxproj: 41268 Add files. 41269 41270 * WebProcess/Plugins/DummyPlugin.cpp: Added. 41271 (WebKit::DummyPlugin::paint): 41272 Paint a red rectangle. 41273 41274 * WebProcess/Plugins/Plugin.cpp: Added. 41275 * WebProcess/Plugins/Plugin.h: Added. 41276 Add Plugin, an abstract baseclass. 41277 41278 * WebProcess/Plugins/PluginView.cpp: 41279 (WebKit::PluginView::PluginView): 41280 (WebKit::PluginView::~PluginView): 41281 (WebKit::PluginView::paint): 41282 (WebKit::PluginView::viewGeometryDidChange): 41283 * WebProcess/Plugins/PluginView.h: 41284 (WebKit::PluginView::create): 41285 Add a Plugin member function and forward PluginView calls to it. 41286 41287 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41288 (WebKit::WebFrameLoaderClient::createPlugin): 41289 Make a DummyPlugin and pass it to the PluginView. 41290 41291 * win/WebKit2.vcproj: 41292 Add files. 41293 41294 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41295 41296 Reviewed by Sam Weinig. 41297 41298 Add stubbed out PluginView class 41299 https://bugs.webkit.org/show_bug.cgi?id=41879 41300 41301 * WebKit2.xcodeproj/project.pbxproj: 41302 Add PluginView.cpp and PluginView.h 41303 41304 * WebProcess/Plugins/PluginView.cpp: Added. 41305 (WebKit::PluginView::PluginView): 41306 (WebKit::PluginView::~PluginView): 41307 (WebKit::PluginView::setFrameRect): 41308 (WebKit::PluginView::paint): 41309 (WebKit::PluginView::viewGeometryDidChange): 41310 (WebKit::PluginView::invalidateRect): 41311 Stub out these functions. 41312 41313 * WebProcess/Plugins/PluginView.h: Added. 41314 (WebKit::PluginView::create): 41315 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41316 (WebKit::WebFrameLoaderClient::createPlugin): 41317 Create a plug-in view. 41318 41319 * win/WebKit2.vcproj: 41320 Add PluginView.cpp and PluginView.h. 41321 41322 2010-07-08 Steve Falkenburg <sfalken (a] apple.com> 41323 41324 Reviewed by Adam Roben. 41325 41326 WebKit2 on Windows needs a version resource 41327 https://bugs.webkit.org/show_bug.cgi?id=41870 41328 <rdar://problem/8170501> 41329 41330 * win/WebKit2.rc: Added. 41331 * win/WebKit2.vcproj: 41332 * win/WebKit2WebProcess.rc: Added. 41333 * win/WebKit2WebProcess.vcproj: 41334 41335 2010-07-08 Sam Weinig <sam (a] webkit.org> 41336 41337 Reviewed by Anders Carlsson. 41338 41339 Patch for https://bugs.webkit.org/show_bug.cgi?id=41874 41340 Add stubbed out WebBackForwardListProxy 41341 41342 - No behavior change. 41343 - Rename the old WebBackForwardListProxy to WebBackForwardList since it 41344 will be the implementation, not the proxy. 41345 41346 * UIProcess/API/C/WKAPICast.h: 41347 * UIProcess/API/C/WKBackForwardList.cpp: 41348 * UIProcess/API/C/WKPage.cpp: 41349 * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp. 41350 * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h. 41351 (WebKit::WebBackForwardList::create): 41352 * UIProcess/WebBackForwardListProxy.cpp: Removed. 41353 * UIProcess/WebBackForwardListProxy.h: Removed. 41354 * UIProcess/WebPageProxy.cpp: 41355 (WebKit::WebPageProxy::WebPageProxy): 41356 * UIProcess/WebPageProxy.h: 41357 (WebKit::WebPageProxy::backForwardList): 41358 * WebKit2.xcodeproj/project.pbxproj: 41359 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added. 41360 * WebProcess/WebPage/WebBackForwardListProxy.h: Added. 41361 (WebKit::WebBackForwardListProxy::create): 41362 * win/WebKit2.vcproj: 41363 41364 2010-07-08 Sam Weinig <sam (a] webkit.org> 41365 41366 Reviewed by Anders Carlsson. 41367 41368 Pass Page to BackForwardControllerClient::createBackForwardList since it 41369 may be called before implementations of BackForwardControllerClient have 41370 access to a Page. 41371 41372 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: 41373 (WebKit::WebBackForwardControllerClient::createBackForwardList): 41374 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: 41375 41376 2010-07-08 Anders Carlsson <andersca (a] apple.com> 41377 41378 Reviewed by Sam Weinig. 41379 41380 Fix fallout from Darin's adoptRef assertion changes. 41381 41382 * UIProcess/WebContext.cpp: 41383 (WebKit::WebContext::sharedProcessContext): 41384 (WebKit::WebContext::sharedThreadContext): 41385 * WebProcess/WebPage/WebFrame.cpp: 41386 (WebKit::WebFrame::createMainFrame): 41387 (WebKit::WebFrame::createSubframe): 41388 (WebKit::WebFrame::create): 41389 (WebKit::WebFrame::WebFrame): 41390 * WebProcess/WebPage/WebFrame.h: 41391 41392 2010-07-08 Steve Falkenburg <sfalken (a] apple.com> 41393 41394 Reviewed by Mark Rowe. 41395 41396 WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT 41397 https://bugs.webkit.org/show_bug.cgi?id=41837 41398 <rdar://problem/8170505> 41399 41400 * win/WebKit2WebProcess.vcproj: 41401 41402 2010-07-08 Sam Weinig <sam (a] webkit.org> 41403 41404 Reviewed by Anders Carlsson. 41405 41406 Patch for https://bugs.webkit.org/show_bug.cgi?id=41826 41407 Convert BackForwardList to an abstract base class and add BackForwardListImpl 41408 as the concrete implementation of it. 41409 41410 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: 41411 (WebKit::WebBackForwardControllerClient::createBackForwardList): 41412 41413 2010-07-08 Luiz Agostini <luiz (a] webkit.org>, Kenneth Rohde Christiansen <kenneth (a] webkit.org> 41414 41415 Reviewed by Antti Koivisto. 41416 41417 [Qt] Improve QtWebkit2 secondary process launching procedure 41418 https://bugs.webkit.org/show_bug.cgi?id=41853 41419 41420 Changing secondary process launching procedure to make sure that the method 41421 ProcessLauncher::didFinishLaunchingProcess will only be called after secondary 41422 process has been launched and the connection has been stablished between the 41423 UIProcess and WebProcess. 41424 41425 This solves the timing issues ocasionaly observed when launching MiniBrowser. 41426 41427 QLocalServer object and related code has been removed from the class Connection. 41428 Server instances of the Connection class now get the QLocalSocket via ProcessLauncher. 41429 41430 * Platform/CoreIPC/Connection.h: 41431 * Platform/CoreIPC/qt/ConnectionQt.cpp: 41432 (CoreIPC::Connection::platformInitialize): 41433 (CoreIPC::Connection::platformInvalidate): 41434 (CoreIPC::Connection::open): 41435 41436 Using QProcess* as PlatformProcessIdentifier. 41437 41438 * Platform/PlatformProcessIdentifier.h: 41439 41440 A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer 41441 object used to receive connections. This class launches the process and waits for it to connect 41442 before calling ProcessLauncher::didFinishLaunchingProcess. 41443 41444 * UIProcess/Launcher/ProcessLauncher.h: 41445 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 41446 (WebKit::ProcessLauncherHelper::launch): 41447 (WebKit::ProcessLauncherHelper::takePendingConnection): 41448 (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): 41449 (WebKit::ProcessLauncherHelper::instance): 41450 (WebKit::ProcessLauncherHelper::newConnection): 41451 (WebKit::ProcessLauncher::launchProcess): 41452 (WebKit::ProcessLauncher::terminateProcess): 41453 (_qt_takePendingConnection): 41454 41455 2010-07-08 Antti Koivisto <koivisto (a] iki.fi> 41456 41457 Reviewed by Kenneth Rohde Christiansen. 41458 41459 [Qt] Initial WebKit2 implementation 41460 https://bugs.webkit.org/show_bug.cgi?id=40233 41461 41462 Random build fixes. 41463 41464 * Shared/qt/WebEventFactoryQt.cpp: 41465 * UIProcess/API/qt/ClientImpl.cpp: 41466 * UIProcess/API/qt/qwkpage.cpp: 41467 * UIProcess/API/qt/qwkpage.h: 41468 * UIProcess/DrawingAreaProxy.h: 41469 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: 41470 * WebProcess/WebProcess.cpp: 41471 41472 2010-07-07 Zoltan Horvath <zoltan (a] webkit.org> 41473 41474 Reviewed by Kenneth Rohde Christiansen. 41475 41476 [Qt] Terminate QtWebProcess on exit 41477 https://bugs.webkit.org/show_bug.cgi?id=41766 41478 41479 Call WKPageTerminate to terminate QtWebProcess on exit. 41480 41481 * UIProcess/API/qt/qwkpage.cpp: 41482 (QWKPage::~QWKPage): 41483 41484 2010-07-07 Steve Falkenburg <sfalken (a] apple.com> 41485 41486 Windows release build fix. 41487 Don't generate public symbols since this is exceeding address space on our builders. 41488 41489 * win/WebKit2.vcproj: 41490 41491 2010-07-07 Sam Weinig <sam (a] webkit.org> 41492 41493 Reviewed by Anders Carlsson. 41494 41495 Patch for https://bugs.webkit.org/show_bug.cgi?id=41772 41496 Add basic piping for BackForwardControllerClient. 41497 41498 - Add very basic WebBackForwardControllerClient. 41499 41500 * WebKit2.xcodeproj/project.pbxproj: 41501 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added. 41502 (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed): 41503 (WebKit::WebBackForwardControllerClient::createBackForwardList): 41504 * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added. 41505 (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient): 41506 * WebProcess/WebPage/WebPage.cpp: 41507 (WebKit::WebPage::WebPage): 41508 * win/WebKit2.vcproj: 41509 41510 2010-07-07 Antti Koivisto <koivisto (a] iki.fi> 41511 41512 Reviewed by Kenneth Rohde Christiansen. 41513 41514 [Qt] Initial WebKit2 implementation 41515 https://bugs.webkit.org/show_bug.cgi?id=40233 41516 41517 Add Qt section to the prefix header. 41518 41519 * WebKit2Prefix.h: 41520 41521 2010-07-07 Antti Koivisto <koivisto (a] iki.fi> 41522 41523 Not reviewed. 41524 41525 Fix build, remove some left over debugging code. 41526 41527 * Platform/CoreIPC/qt/ConnectionQt.cpp: 41528 (CoreIPC::Connection::readyReadHandler): 41529 (CoreIPC::Connection::sendOutgoingMessage): 41530 41531 2010-07-07 Antti Koivisto <koivisto (a] iki.fi> 41532 41533 Reviewed by Kenneth Rohde Christiansen. 41534 41535 [Qt] Initial WebKit2 implementation 41536 https://bugs.webkit.org/show_bug.cgi?id=40233 41537 41538 Implement WebPage for Qt. 41539 41540 * WebProcess/WebPage/qt/WebPageQt.cpp: Added. 41541 (WebKit::WebPage::platformInitialize): 41542 (WebKit::): 41543 (WebKit::WebPage::interpretKeyEvent): 41544 41545 41546 2010-07-06 Anders Carlsson <andersca (a] apple.com> 41547 41548 Fix Windows WebKit2 build. 41549 41550 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: 41551 (WebKit::PluginInfoStore::mimeTypeFromExtension): 41552 41553 2010-07-06 Anders Carlsson <andersca (a] apple.com> 41554 41555 Reviewed by Sam Weinig. 41556 41557 Add PluginInfoStore::findPlugin 41558 https://bugs.webkit.org/show_bug.cgi?id=41719 41559 41560 * UIProcess/Plugins/PluginInfoStore.cpp: 41561 (WebKit::PluginInfoStore::getPlugins): 41562 (WebKit::PluginInfoStore::findPluginForMIMEType): 41563 (WebKit::PluginInfoStore::findPluginForExtension): 41564 (WebKit::pathExtension): 41565 (WebKit::PluginInfoStore::findPlugin): 41566 * UIProcess/Plugins/PluginInfoStore.h: 41567 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 41568 (WebKit::PluginInfoStore::mimeTypeFromExtension): 41569 41570 2010-07-06 Sam Weinig <sam (a] webkit.org> 41571 41572 Reviewed by Anders Carlsson. 41573 41574 Add injected bundle API for exposing console messages. 41575 41576 - Split WKBundlePageClient into multiple clients matching WKPage. 41577 (For now we only have a loader client and a UI client) 41578 41579 * WebKit2.xcodeproj/project.pbxproj: 41580 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 41581 (WKBundlePageSetLoaderClient): 41582 (WKBundlePageSetUIClient): 41583 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 41584 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed. 41585 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed. 41586 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp. 41587 (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient): 41588 (WebKit::InjectedBundlePageLoaderClient::initialize): 41589 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame): 41590 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 41591 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): 41592 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame): 41593 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame): 41594 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): 41595 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame): 41596 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 41597 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h. 41598 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added. 41599 (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient): 41600 (WebKit::InjectedBundlePageUIClient::initialize): 41601 (WebKit::InjectedBundlePageUIClient::addMessageToConsole): 41602 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added. 41603 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 41604 (WebKit::WebChromeClient::addMessageToConsole): 41605 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 41606 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 41607 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 41608 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 41609 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 41610 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 41611 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 41612 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 41613 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 41614 * WebProcess/WebPage/WebPage.cpp: 41615 (WebKit::WebPage::initializeInjectedBundleLoaderClient): 41616 (WebKit::WebPage::initializeInjectedBundleUIClient): 41617 * WebProcess/WebPage/WebPage.h: 41618 (WebKit::WebPage::injectedBundleLoaderClient): 41619 (WebKit::WebPage::injectedBundleUIClient): 41620 * mac/WebKit2.exp: 41621 * win/WebKit2.vcproj: 41622 41623 2010-07-06 Sam Weinig <sam (a] webkit.org> 41624 41625 Reviewed by Anders Carlsson. 41626 41627 Patch for https://bugs.webkit.org/show_bug.cgi?id=41707 41628 Add ability to dump frame inner text for the test runner 41629 41630 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 41631 (WKBundleFrameCopyInnerText): 41632 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 41633 * WebProcess/WebPage/WebFrame.cpp: 41634 (WebKit::WebFrame::innerText): 41635 * WebProcess/WebPage/WebFrame.h: 41636 * mac/WebKit2.exp: 41637 41638 2010-07-06 Anders Carlsson <andersca (a] apple.com> 41639 41640 Reviewed by Sam Weinig. 41641 41642 Only export a single WebKitMain function for the Web Process to call 41643 https://bugs.webkit.org/show_bug.cgi?id=41702 41644 41645 * Shared/CommandLine.h: 41646 Add windows CommandLine::parse overload. 41647 41648 * Shared/win/CommandLineWin.cpp: Added. 41649 (WebKit::CommandLine::parse): 41650 Move parse overload from WebProcess/win/WebProcessMain.cpp. 41651 41652 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: 41653 (WebKit::ProcessLauncher::launchProcess): 41654 Pass the right mode to. 41655 41656 * WebKit2.xcodeproj/project.pbxproj: 41657 Update for moves. 41658 41659 * WebProcess/Launching/mac/WebProcessMain.mm: Removed. 41660 * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed. 41661 * WebProcess/WebKitMain.cpp: Added. 41662 (WebKitMain): 41663 (enableTerminationOnHeapCorruption): 41664 Add WebKitMain functions for Mac and Windows. 41665 41666 * WebProcess/WebProcessMain.h: Added. 41667 * WebProcess/mac/WebProcessMainMac.mm: Added. 41668 (WebKit::WebProcessMain): 41669 Add Mac version of WebProcessMain. 41670 41671 * WebProcess/win/WebProcessMain.cpp: Removed. 41672 * WebProcess/win/WebProcessMain.h: Removed. 41673 * WebProcess/win/WebProcessMainWin.cpp: Added. 41674 (WebKit::WebProcessMain): 41675 Add Windows version of WebProcessMain. 41676 41677 * mac/MainMac.cpp: Added. 41678 (main): 41679 Add Mac WebProcess main function. 41680 41681 * mac/WebKit2.exp: 41682 Remove functions that we don't need to export. 41683 41684 * win/MainWin.cpp: Added. 41685 (wWinMain): 41686 Add Windows WebProcess main function. 41687 41688 * win/WebKit2.vcproj: 41689 * win/WebKit2WebProcess.vcproj: 41690 Update for moves. 41691 41692 2010-07-05 Luiz Agostini <luiz.agostini (a] openbossa.org> 41693 41694 Reviewed by Kenneth Rohde Christiansen. 41695 41696 [Qt] WebKit2 triple click 41697 https://bugs.webkit.org/show_bug.cgi?id=41629 41698 41699 QtWebkit2 triple click implementation. 41700 41701 * UIProcess/API/qt/qwkpage.cpp: 41702 (QWKPagePrivate::mousePressEvent): 41703 (QWKPagePrivate::mouseDoubleClickEvent): 41704 (QWKPage::timerEvent): 41705 * UIProcess/API/qt/qwkpage.h: 41706 * UIProcess/API/qt/qwkpage_p.h: 41707 41708 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 41709 41710 Reviewed by Antti Koivisto. 41711 41712 [Qt] Initial WebKit2 implementation 41713 https://bugs.webkit.org/show_bug.cgi?id=40233 41714 41715 Add stubs 41716 41717 * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp. 41718 (WebKit::PluginInfoStore::pluginDirectories): 41719 (WebKit::PluginInfoStore::pluginPathsInDirectory): 41720 (WebKit::PluginInfoStore::getPluginInfo): 41721 (WebKit::PluginInfoStore::shouldUsePlugin): 41722 * WebProcess/InjectedBundle/InjectedBundle.h: 41723 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added. 41724 (WebKit::InjectedBundle::load): 41725 41726 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 41727 41728 Reviewed by Antti Koivisto. 41729 41730 [Qt] Initial WebKit2 implementation 41731 https://bugs.webkit.org/show_bug.cgi?id=40233 41732 41733 Add WebErrorsQt 41734 41735 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added. 41736 (WebKit::): 41737 (WebKit::cancelledError): 41738 (WebKit::blockedError): 41739 (WebKit::cannotShowURLError): 41740 (WebKit::interruptForPolicyChangeError): 41741 (WebKit::cannotShowMIMETypeError): 41742 (WebKit::fileDoesNotExistError): 41743 41744 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 41745 41746 Reviewed by Antti Koivisto. 41747 41748 [Qt] Initial WebKit2 implementation 41749 https://bugs.webkit.org/show_bug.cgi?id=40233 41750 41751 Add Qt C API integration. 41752 41753 * UIProcess/API/cpp/qt/WKStringQt.cpp: Added. 41754 (WKStringCreateWithQString): 41755 (WKStringCopyQString): 41756 * UIProcess/API/cpp/qt/WKStringQt.h: Added. 41757 * UIProcess/API/cpp/qt/WKURLQt.cpp: Added. 41758 (WKURLCreateWithQUrl): 41759 (WKURLCopyQUrl): 41760 * UIProcess/API/cpp/qt/WKURLQt.h: Added. 41761 41762 2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 41763 41764 Reviewed by Antti Koivisto. 41765 41766 [Qt] Initial WebKit2 implementation 41767 https://bugs.webkit.org/show_bug.cgi?id=40233 41768 41769 Add the Qt process launcher. 41770 41771 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added. 41772 (WebKit::ProcessLauncher::launchProcess): 41773 (WebKit::ProcessLauncher::terminateProcess): 41774 (WebKit::webThreadBody): 41775 (WebKit::ProcessLauncher::createWebThread): 41776 (webProcessMain): 41777 41778 2010-07-05 Antti Koivisto <koivisto (a] iki.fi> 41779 41780 Reviewed by Kenneth Rohde Christiansen. 41781 41782 [Qt] Initial WebKit2 implementation 41783 https://bugs.webkit.org/show_bug.cgi?id=40233 41784 41785 Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet. 41786 41787 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 41788 * UIProcess/qt: Added. 41789 * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added. 41790 (WebKit::ChunkedUpdateDrawingAreaProxy::page): 41791 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 41792 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore): 41793 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 41794 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 41795 * WebProcess/WebPage/qt: Added. 41796 * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added. 41797 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 41798 41799 2010-07-04 Anders Carlsson <andersca (a] apple.com> 41800 41801 Reviewed by Dan Bernstein. 41802 41803 Add simple command line parser and pass mode argument to the web process 41804 https://bugs.webkit.org/show_bug.cgi?id=41586 41805 41806 * Shared/CommandLine.h: 41807 (WebKit::CommandLine::operator[]): 41808 Add CommandLine class. 41809 41810 * Shared/mac/CommandLineMac.cpp: 41811 (WebKit::CommandLine::parse): 41812 Implement Mac version of CommandLine::parse. 41813 41814 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 41815 (WebKit::ProcessLauncher::launchProcess): 41816 Add "legacywebprocess" mode to the posix_spawn call. 41817 41818 * WebKit2.xcodeproj/project.pbxproj: 41819 Add CommandLine to the xcode project. 41820 41821 * WebProcess/Launching/mac/WebProcessMain.mm: 41822 (webProcessMain): 41823 (main): 41824 Parse the command line and check the mode. 41825 41826 2010-07-04 Maciej Stachowiak <mjs (a] apple.com> 41827 41828 Reviewed by Mark Rowe. 41829 41830 WebProcess crashes in release for simple layout tests 41831 https://bugs.webkit.org/show_bug.cgi?id=41575 41832 41833 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 41834 (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl* 41835 before taking it out of its parent String, to avoid returning freed memory. 41836 41837 2010-07-03 Maciej Stachowiak <mjs (a] apple.com> 41838 41839 Rubber stamped by Anders Carlsson. 41840 41841 Add stdint.h include to fix WebKitTestRunner build. 41842 41843 * UIProcess/API/C/WKPage.h: 41844 41845 2010-07-02 Luiz Agostini <luiz.agostini (a] openbossa.org> 41846 41847 Reviewed by Kenneth Rohde Christiansen. 41848 41849 [Qt] Wrong method name in file Connection.h 41850 https://bugs.webkit.org/show_bug.cgi?id=41536 41851 41852 Method openConnectionHandler was spelled as openConnection in class Connection. 41853 41854 * Platform/CoreIPC/Connection.h: 41855 41856 2010-07-02 Luiz Agostini <luiz.agostini (a] openbossa.org> 41857 41858 Reviewed by Sam Weinig. 41859 41860 Adding notification and touch events methods to WebChromeClient 41861 https://bugs.webkit.org/show_bug.cgi?id=41527 41862 41863 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 41864 (WebKit::WebChromeClient::notificationPresenter): 41865 (WebKit::WebChromeClient::needTouchEvents): 41866 * WebProcess/WebCoreSupport/WebChromeClient.h: 41867 41868 2010-07-02 Luiz Agostini <luiz.agostini (a] openbossa.org> 41869 41870 Reviewed by Sam Weinig. 41871 41872 Removing CoreFoundation.h include from WKFrame.h 41873 https://bugs.webkit.org/show_bug.cgi?id=41528 41874 41875 * UIProcess/API/C/WKFrame.h: 41876 41877 2010-07-02 Sam Weinig <sam (a] webkit.org> 41878 41879 Reviewed by Oliver Hunt. 41880 41881 Patch for https://bugs.webkit.org/show_bug.cgi?id=41540 41882 WebKit2: Add InjectedCode API to get a list of subframes 41883 41884 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 41885 (WKBundleFrameCopyChildFrames): 41886 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: 41887 * WebProcess/WebPage/WebFrame.cpp: 41888 (WebKit::childFrameRef): 41889 (WebKit::childFrameDeref): 41890 (WebKit::WebFrame::childFrames): 41891 * WebProcess/WebPage/WebFrame.h: 41892 * mac/WebKit2.exp: 41893 41894 2010-07-02 Sam Weinig <sam (a] webkit.org> 41895 41896 Reviewed by Anders Carlsson. 41897 41898 Turn off the Objective-C garbage collection for the WebProcess. 41899 41900 * Configurations/WebProcess.xcconfig: 41901 * WebProcess/Launching/mac/WebProcessMain.mm: 41902 (main): Assert that GC is off. 41903 41904 2010-07-02 Sam Weinig <sam (a] webkit.org> 41905 41906 Reviewed by Anders Carlsson. 41907 41908 There is no longer a reason to check that the process is valid when posting 41909 a message to the bundle, the process code will take care of that for us. 41910 41911 * UIProcess/WebContext.cpp: 41912 (WebKit::WebContext::postMessageToInjectedBundle): 41913 41914 2010-07-02 Sam Weinig <sam (a] webkit.org> 41915 41916 Reviewed by Anders Carlsson. 41917 41918 Use send instead of connection()->send(), now that connections() are created 41919 asynchronously it can be null at this point and the message needs to be queued. 41920 41921 * UIProcess/mac/WebProcessProxyMac.mm: 41922 (WebKit::WebProcessProxy::setUpAcceleratedCompositing): 41923 41924 2010-07-01 Steve Falkenburg <sfalken (a] apple.com> 41925 41926 Even more Windows build fixing. 41927 Removed bogus post-build event commands. 41928 Removed unnecessary link libraries. 41929 41930 * win/WebKit2.vcproj: 41931 41932 2010-07-01 Steve Falkenburg <sfalken (a] apple.com> 41933 41934 Fix Windows while not breaking Qt (didn't realize this was building for Qt). 41935 41936 * WebProcess/WebProcess.cpp: 41937 41938 2010-07-01 Steve Falkenburg <sfalken (a] apple.com> 41939 41940 Windows build fix. 41941 41942 * win/WebKit2Generated.make: 41943 41944 2010-07-01 Steve Falkenburg <sfalken (a] apple.com> 41945 41946 Windows build fix. 41947 41948 * WebProcess/WebProcess.cpp: 41949 41950 2010-07-01 Sam Weinig <sam (a] webkit.org> 41951 41952 Reviewed by Jon Honeycutt. 41953 41954 Make WebKit2 compile (though not work) on Leopard. 41955 41956 * Platform/WorkQueue.h: 41957 * Platform/mac/WorkQueueMac.cpp: 41958 (WorkQueue::EventSource::EventSource): 41959 (WorkQueue::scheduleWork): 41960 (WorkQueue::registerMachPortEventHandler): 41961 (WorkQueue::unregisterMachPortEventHandler): 41962 (WorkQueue::platformInitialize): 41963 (WorkQueue::platformInvalidate): 41964 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 41965 (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext): 41966 * UIProcess/mac/WebProcessProxyMac.mm: 41967 (WebKit::WebProcessProxy::setUpAcceleratedCompositing): 41968 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: 41969 (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): 41970 (WebKit::LayerBackedDrawingArea::setNeedsDisplay): 41971 * WebProcess/WebPage/LayerBackedDrawingArea.h: 41972 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 41973 (WebKit::LayerBackedDrawingArea::platformClear): 41974 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 41975 41976 2010-07-01 Sam Weinig <sam (a] webkit.org> 41977 41978 Reviewed by Anders Carlsson. 41979 41980 https://bugs.webkit.org/show_bug.cgi?id=41491 41981 Add first stab at back/forward list API. 41982 41983 * UIProcess/API/C/WKAPICast.h: 41984 * UIProcess/API/C/WKBackForwardList.cpp: Added. 41985 * UIProcess/API/C/WKBackForwardList.h: Added. 41986 * UIProcess/API/C/WKBackForwardListItem.cpp: Added. 41987 * UIProcess/API/C/WKBackForwardListItem.h: Added. 41988 * UIProcess/API/C/WKBase.h: 41989 * UIProcess/API/C/WKPage.cpp: 41990 * UIProcess/API/C/WKPage.h: 41991 * UIProcess/API/C/WebKit2.h: 41992 * UIProcess/WebBackForwardListItem.cpp: Added. 41993 * UIProcess/WebBackForwardListItem.h: Added. 41994 * UIProcess/WebBackForwardListProxy.cpp: Added. 41995 * UIProcess/WebBackForwardListProxy.h: Added. 41996 * UIProcess/WebPageProxy.cpp: 41997 * UIProcess/WebPageProxy.h: 41998 * WebKit2.xcodeproj/project.pbxproj: 41999 * win/WebKit2.vcproj: 42000 42001 2010-07-01 Anders Carlsson <andersca (a] apple.com> 42002 42003 Reviewed by Sam Weinig. 42004 42005 Make process launching asynchronous 42006 https://bugs.webkit.org/show_bug.cgi?id=41489 42007 42008 * Platform/CoreIPC/Connection.h: 42009 Make OutgoingMessage public. 42010 42011 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 42012 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 42013 Don't wait for a paint reply when the process is starting up. 42014 42015 * UIProcess/Launcher/ProcessLauncher.cpp: Added. 42016 Add new ProcessLauncher class. 42017 42018 (WebKit::processLauncherWorkQueue): 42019 Returns the work queue where process launching will happen. 42020 42021 (WebKit::ProcessLauncher::ProcessLauncher): 42022 Schedule launching the process. 42023 42024 (WebKit::ProcessLauncher::didFinishLaunchingProcess): 42025 Call the client method. 42026 42027 (WebKit::ProcessLauncher::invalidate): 42028 Set the client to 0. 42029 42030 * UIProcess/Launcher/ProcessLauncher.h: Added. 42031 * UIProcess/Launcher/WebProcessLauncher.h: Removed. 42032 Rename WebProcessLauncher.h -> ProcessLauncher.h 42033 42034 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added. 42035 * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed. 42036 Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes. 42037 42038 * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added. 42039 * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed. 42040 Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes. 42041 42042 * UIProcess/WebProcessProxy.cpp: 42043 (WebKit::WebProcessProxy::~WebProcessProxy): 42044 Delete any unsent messages. 42045 42046 (WebKit::WebProcessProxy::connect): 42047 Use the new ProcessLauncher. 42048 42049 (WebKit::WebProcessProxy::sendMessage): 42050 If we're waiting for the process to launch, the messages need to be enqueued. 42051 42052 (WebKit::WebProcessProxy::didFinishLaunching): 42053 Send the outgoing messages. 42054 42055 * WebKit2.xcodeproj/project.pbxproj: 42056 * win/WebKit2.vcproj: 42057 Update for renames. 42058 42059 2010-07-01 Simon Fraser <simon.fraser (a] apple.com> 42060 42061 Reviewed by Anders Carlsson. 42062 42063 Get accelerated compositing working with webkit2 42064 https://bugs.webkit.org/show_bug.cgi?id=41084 42065 42066 Start up the CA render server in the UI process (currently, at launch time), and 42067 pass the server port over to the web process for use by the layer-backed drawing area. 42068 42069 Fix some style issues pointed out by Dan Bernstein. 42070 42071 Implement the WebChromeClient methods that pass the attach/detach calls through 42072 to the drawing area. 42073 42074 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 42075 * UIProcess/API/mac/WKView.mm: 42076 (-[WKView _startAcceleratedCompositing:]): 42077 * UIProcess/API/mac/WKViewInternal.h: 42078 * UIProcess/WebProcessProxy.cpp: 42079 (WebKit::WebProcessProxy::WebProcessProxy): 42080 (WebKit::WebProcessProxy::setUpAcceleratedCompositing): 42081 * UIProcess/WebProcessProxy.h: 42082 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: 42083 * UIProcess/mac/WebProcessProxyMac.mm: Added. 42084 (WebKit::WebProcessProxy::setUpAcceleratedCompositing): 42085 * WebKit2.xcodeproj/project.pbxproj: 42086 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 42087 (WebKit::WebChromeClient::attachRootGraphicsLayer): 42088 (WebKit::WebChromeClient::scheduleCompositingLayerSync): 42089 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: 42090 (WebKit::LayerBackedDrawingArea::attachCompositingContext): 42091 * WebProcess/WebProcess.cpp: 42092 (WebKit::WebProcess::WebProcess): 42093 (WebKit::WebProcess::didReceiveMessage): 42094 * WebProcess/WebProcess.h: 42095 (WebKit::WebProcess::compositingRenderServerPort): 42096 42097 2010-07-01 Simon Fraser <simon.fraser (a] apple.com> 42098 42099 Reviewed by Anders Carlsson. 42100 42101 Get accelerated compositing working with webkit2 42102 https://bugs.webkit.org/show_bug.cgi?id=41084 42103 42104 Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used 42105 when the page goes into accelerated compositing mode. It is not wired up yet. 42106 42107 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages 42108 related to accelerated compositing. 42109 42110 * UIProcess/API/mac/WKView.mm: 42111 (-[WKView _startAcceleratedCompositing:]): 42112 (-[WKView _stopAcceleratedCompositing]): 42113 * UIProcess/API/mac/WKViewInternal.h: 42114 Add a subview of the WKView which has layer-backing enabled, and put the drawing area's 42115 layer inside of that. 42116 42117 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: 42118 (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext): 42119 (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called 42120 on the ChunkedUpdateDrawingArea. Stub them out. 42121 42122 * UIProcess/DrawingAreaProxy.h: 42123 Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area 42124 type to the enum. 42125 42126 * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added. 42127 * UIProcess/LayerBackedDrawingAreaProxy.h: Added. 42128 * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added. 42129 42130 * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files. 42131 42132 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs. 42133 42134 * WebProcess/WebPage/DrawingArea.cpp: 42135 (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked. 42136 * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual 42137 methods related to accelerated compositing. 42138 42139 * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added. 42140 * WebProcess/WebPage/LayerBackedDrawingArea.h: Added. 42141 * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added. 42142 42143 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 42144 42145 Rubberstamped by Sam Weinig. 42146 42147 Export symbols on Linux with GCC, like JSC does. 42148 42149 * UIProcess/API/C/WKBase.h: 42150 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 42151 42152 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 42153 42154 Reviewed by Antti Koivisto. 42155 42156 [Qt] Initial WebKit2 implementation 42157 https://bugs.webkit.org/show_bug.cgi?id=40233 42158 42159 Add implementation of the UI and loader client for Qt. 42160 42161 * UIProcess/API/qt/qwkpage.cpp: 42162 * UIProcess/API/qt/ClientImpl.cpp: Added. 42163 (toQWKPage): 42164 (qt_wk_didStartProvisionalLoadForFrame): 42165 (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame): 42166 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 42167 (qt_wk_didCommitLoadForFrame): 42168 (qt_wk_didFinishLoadForFrame): 42169 (qt_wk_didFailLoadWithErrorForFrame): 42170 (qt_wk_didReceiveTitleForFrame): 42171 (qt_wk_didFirstLayoutForFrame): 42172 (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame): 42173 (qt_wk_didStartProgress): 42174 (qt_wk_didChangeProgress): 42175 (qt_wk_didFinishProgress): 42176 (qt_wk_didBecomeUnresponsive): 42177 (qt_wk_didBecomeResponsive): 42178 (qt_wk_createNewPage): 42179 (qt_wk_showPage): 42180 (qt_wk_close): 42181 (qt_wk_runJavaScriptAlert): 42182 * UIProcess/API/qt/ClientImpl.h: Added. 42183 42184 2010-07-01 Anders Carlsson <andersca (a] apple.com> 42185 42186 Reviewed by Dan Bernstein. 42187 42188 Change the CoreIPC connection identifier to be a HANDLE on Windows 42189 https://bugs.webkit.org/show_bug.cgi?id=41479 42190 42191 * Platform/CoreIPC/Connection.h: 42192 * Platform/CoreIPC/win/ConnectionWin.cpp: 42193 (CoreIPC::Connection::createServerAndClientIdentifiers): 42194 New function that creates a server and client HANDLE. 42195 42196 (CoreIPC::Connection::platformInitialize): 42197 Don't open the connections here. 42198 42199 (CoreIPC::Connection::readEventHandler): 42200 (CoreIPC::Connection::open): 42201 42202 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 42203 (WebKit::webThreadBody): 42204 Get the handle from the thread. 42205 42206 (WebKit::launchWebProcess): 42207 Mark the client identifier as inheritable and pass it along to the web process. 42208 42209 * WebProcess/win/WebProcessMain.cpp: 42210 (WebKit::CommandLine::CommandLine): 42211 (WebKit::CommandLine::parse): 42212 (WebKit::CommandLine::operator[]): 42213 Add simple command line parser. 42214 42215 (WebKit::WebProcessMain): 42216 Get the handle identifier from the command line. 42217 42218 * WebProcess/win/WebProcessMain.h: 42219 42220 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 42221 42222 Reviewed by Antti Koivisto. 42223 42224 [Qt] Initial WebKit2 implementation 42225 https://bugs.webkit.org/show_bug.cgi?id=40233 42226 42227 Add initial Qt API for WebKit2 42228 42229 * UIProcess/API/qt/WKView.h: Added. 42230 * UIProcess/API/qt/qgraphicswkview.cpp: Added. 42231 (QGraphicsWKViewPrivate::pageRef): 42232 (QGraphicsWKView::QGraphicsWKView): 42233 (QGraphicsWKView::~QGraphicsWKView): 42234 (QGraphicsWKView::page): 42235 (QGraphicsWKView::paint): 42236 (QGraphicsWKView::setGeometry): 42237 (QGraphicsWKView::load): 42238 (QGraphicsWKView::setUrl): 42239 (QGraphicsWKView::url): 42240 (QGraphicsWKView::title): 42241 (QGraphicsWKView::triggerPageAction): 42242 (QGraphicsWKView::back): 42243 (QGraphicsWKView::forward): 42244 (QGraphicsWKView::reload): 42245 (QGraphicsWKView::stop): 42246 (QGraphicsWKView::itemChange): 42247 (QGraphicsWKView::event): 42248 (QGraphicsWKView::sizeHint): 42249 (QGraphicsWKView::inputMethodQuery): 42250 (QGraphicsWKView::keyPressEvent): 42251 (QGraphicsWKView::keyReleaseEvent): 42252 (QGraphicsWKView::hoverMoveEvent): 42253 (QGraphicsWKView::mouseMoveEvent): 42254 (QGraphicsWKView::mousePressEvent): 42255 (QGraphicsWKView::mouseReleaseEvent): 42256 (QGraphicsWKView::mouseDoubleClickEvent): 42257 (QGraphicsWKView::wheelEvent): 42258 (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate): 42259 (QGraphicsWKView::visibleRect): 42260 * UIProcess/API/qt/qgraphicswkview.h: Added. 42261 * UIProcess/API/qt/qwkpage.cpp: Added. 42262 (QWKPagePrivate::QWKPagePrivate): 42263 (QWKPagePrivate::~QWKPagePrivate): 42264 (QWKPagePrivate::init): 42265 (QWKPagePrivate::toolTipChanged): 42266 (QWKPagePrivate::paint): 42267 (QWKPagePrivate::keyPressEvent): 42268 (QWKPagePrivate::keyReleaseEvent): 42269 (QWKPagePrivate::mouseMoveEvent): 42270 (QWKPagePrivate::mousePressEvent): 42271 (QWKPagePrivate::mouseReleaseEvent): 42272 (QWKPagePrivate::mouseDoubleClickEvent): 42273 (QWKPagePrivate::wheelEvent): 42274 (QWKPagePrivate::updateAction): 42275 (QWKPagePrivate::updateNavigationActions): 42276 (QWKPagePrivate::_q_webActionTriggered): 42277 (QWKPage::QWKPage): 42278 (QWKPage::~QWKPage): 42279 (QWKPage::pageRef): 42280 (QWKPage::setCreateNewPageFunction): 42281 (QWKPage::load): 42282 (QWKPage::setUrl): 42283 (QWKPage::url): 42284 (QWKPage::title): 42285 (QWKPage::setViewportSize): 42286 (QWKPage::requestZoomRect): 42287 (QWKPage::triggerAction): 42288 (QWKPage::action): 42289 * UIProcess/API/qt/qwkpage.h: Added. 42290 * UIProcess/API/qt/qwkpage_p.h: Added. 42291 (QWKPagePrivate::get): 42292 (QWKPagePrivate::processDidExit): 42293 (QWKPagePrivate::processDidRevive): 42294 (QWKPagePrivate::takeFocus): 42295 42296 2010-07-01 John Sullivan <sullivan (a] apple.com> 42297 42298 Rubber-stamped by Anders Carlsson. 42299 42300 * mac/WebKit2.exp: 42301 Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore. 42302 42303 2010-07-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 42304 42305 Unreviewed, rolling out r62267. 42306 http://trac.webkit.org/changeset/62267 42307 https://bugs.webkit.org/show_bug.cgi?id=41468 42308 42309 broke stuff (Requested by weinig on #webkit). 42310 42311 * UIProcess/API/C/WKBase.h: 42312 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: 42313 42314 2010-07-01 John Sullivan <sullivan (a] apple.com> 42315 42316 Rubber-stamped by Sam Weinig. 42317 42318 * mac/WebKit2.exp: 42319 Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain. 42320 42321 2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 42322 42323 Reviewed by Antti Koivisto. 42324 42325 [Qt] Initial WebKit2 implementation 42326 https://bugs.webkit.org/show_bug.cgi?id=40233 42327 42328 Add our event factory for converting Qt events to something WebKit2 42329 understands. 42330 42331 * Shared/qt/WebEventFactoryQt.cpp: Added. 42332 (WebKit::mouseButtonForEvent): 42333 (WebKit::webEventTypeForEvent): 42334 (WebKit::modifiersForEvent): 42335 (WebKit::WebEventFactory::createWebMouseEvent): 42336 (WebKit::WebEventFactory::createWebWheelEvent): 42337 (WebKit::WebEventFactory::createWebKeyboardEvent): 42338 * Shared/qt/WebEventFactoryQt.h: Added. 42339 42340 2010-07-01 Antti Koivisto <koivisto (a] iki.fi> 42341 42342 Reviewed by Kenneth Rohde Christiansen. 42343 42344 [Qt] Initial WebKit2 implementation 42345 https://bugs.webkit.org/show_bug.cgi?id=40233 42346 42347 Add UpdateChunk. This one is mmap based, using Qt abstractions. 42348 42349 * Shared/qt: Added. 42350 * Shared/qt/UpdateChunk.cpp: Added. 42351 (WebKit::MappedMemory::markUsed): 42352 (WebKit::MappedMemory::markFree): 42353 (WebKit::MappedMemory::isFree): 42354 (WebKit::mapMemory): 42355 (WebKit::mapFile): 42356 (WebKit::UpdateChunk::UpdateChunk): 42357 (WebKit::UpdateChunk::~UpdateChunk): 42358 (WebKit::UpdateChunk::data): 42359 (WebKit::UpdateChunk::encode): 42360 (WebKit::UpdateChunk::decode): 42361 (WebKit::UpdateChunk::createImage): 42362 * Shared/qt/UpdateChunk.h: Added. 42363 (WebKit::UpdateChunk::rect): 42364 (WebKit::UpdateChunk::size): 42365 42366 2010-07-01 Antti Koivisto <koivisto (a] iki.fi> 42367 42368 Reviewed by Kenneth Rohde Christiansen. 42369 42370 [Qt] Initial WebKit2 implementation 42371 https://bugs.webkit.org/show_bug.cgi?id=40233 42372 42373 Include some stdlib headers to fix linux build. 42374 42375 * Platform/CoreIPC/ArgumentDecoder.cpp: 42376 * Platform/CoreIPC/ArgumentEncoder.cpp: 42377 * UIProcess/WebLoaderClient.cpp: 42378 * UIProcess/WebPageProxy.cpp: 42379 * UIProcess/WebUIClient.cpp: 42380 42381 2010-07-01 Antti Koivisto <koivisto (a] iki.fi> 42382 42383 Reviewed by Kenneth Rohde Christiansen. 42384 42385 [Qt] Initial WebKit2 implementation 42386 https://bugs.webkit.org/show_bug.cgi?id=40233 42387 42388 Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet. 42389 42390 * Platform/CoreIPC/Connection.h: 42391 * Platform/CoreIPC/qt: Added. 42392 * Platform/CoreIPC/qt/ConnectionQt.cpp: Added. 42393 (CoreIPC::Connection::platformInitialize): 42394 (CoreIPC::Connection::platformInvalidate): 42395 (CoreIPC::Connection::newConnectionHandler): 42396 (CoreIPC::Connection::readyReadHandler): 42397 (CoreIPC::Connection::openConnection): 42398 (CoreIPC::Connection::open): 42399 (CoreIPC::Connection::sendOutgoingMessage): 42400 * Platform/PlatformProcessIdentifier.h: 42401 42402 2010-07-01 Antti Koivisto <koivisto (a] iki.fi> 42403 42404 Reviewed by Kenneth Rohde Christiansen. 42405 42406 [Qt] Initial WebKit2 implementation 42407 https://bugs.webkit.org/show_bug.cgi?id=40233 42408 42409 Implement WorkQueue for Qt. Not built yet. 42410 42411 * Platform/WorkQueue.h: 42412 * Platform/qt/WorkQueueQt.cpp: Added. 42413 (WorkQueue::WorkItemQt::WorkItemQt): 42414 (WorkQueue::WorkItemQt::~WorkItemQt): 42415 (WorkQueue::WorkItemQt::execute): 42416 (WorkQueue::WorkItemQt::timerEvent): 42417 (WorkQueue::connectSignal): 42418 (WorkQueue::disconnectSignal): 42419 (WorkQueue::platformInitialize): 42420 (WorkQueue::platformInvalidate): 42421 (WorkQueue::scheduleWork): 42422 42423 2010-07-01 Antti Koivisto <koivisto (a] iki.fi> 42424 42425 Reviewed by Kenneth Rohde Christiansen. 42426 42427 [Qt] Initial WebKit2 implementation 42428 https://bugs.webkit.org/show_bug.cgi?id=40233 42429 42430 Implement RunLoop for Qt. Not built yet. 42431 42432 * Platform/RunLoop.h: 42433 * Platform/qt: Added. 42434 * Platform/qt/RunLoopQt.cpp: Added. 42435 (RunLoop::TimerObject::TimerObject): 42436 (RunLoop::TimerObject::performWork): 42437 (RunLoop::TimerObject::wakeUp): 42438 (RunLoop::TimerObject::timerEvent): 42439 (RunLoop::run): 42440 (RunLoop::stop): 42441 (RunLoop::RunLoop): 42442 (RunLoop::~RunLoop): 42443 (RunLoop::wakeUp): 42444 (RunLoop::TimerBase::timerFired): 42445 (RunLoop::TimerBase::TimerBase): 42446 (RunLoop::TimerBase::~TimerBase): 42447 (RunLoop::TimerBase::start): 42448 (RunLoop::TimerBase::stop): 42449 (RunLoop::TimerBase::isActive): 42450 42451 2010-06-30 Sam Weinig <sam (a] webkit.org> 42452 42453 Reviewed by Darin Adler. 42454 42455 Patch for https://bugs.webkit.org/show_bug.cgi?id=41426 42456 Add ImmutableArray class and WKArrayRef API to go with it. This will be used 42457 in a few follow up patches. 42458 42459 * Shared/ImmutableArray.cpp: Added. 42460 (WebKit::ImmutableArray::ImmutableArray): 42461 (WebKit::ImmutableArray::~ImmutableArray): 42462 * Shared/ImmutableArray.h: Added. 42463 * UIProcess/API/C/WKAPICast.h: 42464 * UIProcess/API/C/WKArray.cpp: Added. 42465 * UIProcess/API/C/WKArray.h: Added. 42466 * UIProcess/API/C/WKBase.h: 42467 * WebKit2.xcodeproj/project.pbxproj: 42468 * mac/WebKit2.exp: 42469 * win/WebKit2.vcproj: 42470 42471 2010-06-30 Anders Carlsson <andersca (a] apple.com> 42472 42473 Reviewed by Adam Roben. 42474 42475 Add WebProcessProxy::send 42476 https://bugs.webkit.org/show_bug.cgi?id=41416 42477 42478 * Platform/CoreIPC/Connection.h: 42479 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 42480 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize): 42481 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 42482 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 42483 * UIProcess/WebContext.cpp: 42484 (WebKit::WebContext::postMessageToInjectedBundle): 42485 * UIProcess/WebPageProxy.cpp: 42486 (WebKit::WebPageProxy::initializeWebPage): 42487 (WebKit::WebPageProxy::reinitializeWebPage): 42488 (WebKit::WebPageProxy::close): 42489 (WebKit::WebPageProxy::tryClose): 42490 (WebKit::WebPageProxy::loadURL): 42491 (WebKit::WebPageProxy::stopLoading): 42492 (WebKit::WebPageProxy::reload): 42493 (WebKit::WebPageProxy::goForward): 42494 (WebKit::WebPageProxy::goBack): 42495 (WebKit::WebPageProxy::setFocused): 42496 (WebKit::WebPageProxy::setActive): 42497 (WebKit::WebPageProxy::mouseEvent): 42498 (WebKit::WebPageProxy::wheelEvent): 42499 (WebKit::WebPageProxy::keyEvent): 42500 (WebKit::WebPageProxy::receivedPolicyDecision): 42501 (WebKit::WebPageProxy::runJavaScriptInMainFrame): 42502 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): 42503 (WebKit::WebPageProxy::preferencesDidChange): 42504 * UIProcess/WebProcessProxy.cpp: 42505 (WebKit::WebProcessProxy::WebProcessProxy): 42506 (WebKit::WebProcessProxy::sendMessage): 42507 * UIProcess/WebProcessProxy.h: 42508 (WebKit::WebProcessProxy::connection): 42509 (WebKit::WebProcessProxy::send): 42510 42511 2010-06-29 Anders Carlsson <andersca (a] apple.com> 42512 42513 Reviewed by Sam Weinig. 42514 42515 Add a private Message class template 42516 https://bugs.webkit.org/show_bug.cgi?id=41370 42517 42518 * Platform/CoreIPC/Connection.h: 42519 (CoreIPC::Connection::Message::Message): 42520 (CoreIPC::Connection::Message::arguments): 42521 42522 2010-06-28 John Gregg <johnnyg (a] google.com> 42523 42524 Unreviewed, build fix (removing merge conflict from previous). 42525 42526 * Configurations/FeatureDefines.xcconfig: 42527 42528 2010-06-23 John Gregg <johnnyg (a] google.com> 42529 42530 Reviewed by Kent Tamura. 42531 42532 add ENABLE_DIRECTORY_UPLOAD build support 42533 https://bugs.webkit.org/show_bug.cgi?id=41100 42534 42535 * Configurations/FeatureDefines.xcconfig: 42536 42537 2010-06-28 Sam Weinig <sam (a] webkit.org> 42538 42539 Rubber-stamped Geoffrey Garen. 42540 42541 Add WKBundleFrameIsMainFrame to exports file. 42542 42543 * mac/WebKit2.exp: 42544 42545 2010-06-28 Sam Weinig <sam (a] webkit.org> 42546 42547 Reviewed by Anders Carlsson. 42548 42549 Patch for https://bugs.webkit.org/show_bug.cgi?id=41288 42550 WebKit2: Add frame API for InjectedBundle code 42551 42552 * WebKit2.xcodeproj/project.pbxproj: 42553 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added. 42554 (WKBundleFrameIsMainFrame): 42555 (WKBundleFrameGetURL): 42556 * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added. 42557 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 42558 (WKBundlePageGetMainFrame): 42559 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 42560 * WebProcess/WebPage/WebFrame.cpp: 42561 (WebKit::WebFrame::isMainFrame): 42562 (WebKit::WebFrame::url): 42563 * WebProcess/WebPage/WebFrame.h: 42564 * WebProcess/WebPage/WebPage.cpp: 42565 * WebProcess/WebPage/WebPage.h: 42566 (WebKit::WebPage::mainFrame): 42567 * mac/WebKit2.exp: 42568 * win/WebKit2.vcproj: 42569 42570 2010-06-27 Mark Rowe <mrowe (a] apple.com> 42571 42572 Rubber-stamped by Maciej Stachowiak. 42573 42574 Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value. 42575 This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__ 42576 is not defined. 42577 42578 * UIProcess/API/C/WKPage.cpp: 42579 * UIProcess/API/C/WKPage.h: 42580 * UIProcess/API/C/WKPagePrivate.h: 42581 42582 2010-06-26 Tony Gentilcore <tonyg (a] chromium.org> 42583 42584 Reviewed by Dimitri Glazkov. 42585 42586 Add an ENABLE_WEB_TIMING option for enabling Web Timing support. 42587 https://bugs.webkit.org/show_bug.cgi?id=38924 42588 42589 * Configurations/FeatureDefines.xcconfig: 42590 42591 2010-06-25 Steve Falkenburg <sfalken (a] apple.com> 42592 42593 Windows build fix. 42594 42595 * win/WebKit2.vcproj: 42596 42597 2010-06-25 Ada Chan <adachan (a] apple.com> 42598 42599 Rubber-stamped by Mark Rowe. 42600 42601 Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build. 42602 42603 * win/WebKit2.vcproj: 42604 42605 2010-06-25 Sam Weinig <sam (a] webkit.org> 42606 42607 Reviewed by Anders Carlsson. 42608 42609 WKBundlePageRenderTreeExternalRepresentation really needs to be 42610 WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling 42611 pointers and adhere to naming conventions. 42612 42613 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 42614 (WKBundlePageCopyRenderTreeExternalRepresentation): 42615 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 42616 * mac/WebKit2.exp: 42617 42618 2010-06-24 Steve Falkenburg <sfalken (a] apple.com> 42619 42620 Windows build fix. 42621 42622 * win/WebKit2.make: Added. 42623 * win/WebKit2.submit.sln: Added. 42624 42625 2010-06-24 Steve Falkenburg <sfalken (a] apple.com> 42626 42627 Windows build fix. 42628 42629 * win/WebKit2WebProcess.vcproj: 42630 42631 2010-06-24 Sam Weinig <sam (a] webkit.org> 42632 42633 Reviewed by Brady Eidson. 42634 42635 Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner. 42636 42637 * WebKit2.xcodeproj/project.pbxproj: 42638 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 42639 (WKBundlePageRenderTreeExternalRepresentation): 42640 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added. 42641 * WebProcess/WebPage/WebPage.cpp: 42642 (WebKit::WebPage::renderTreeExternalRepresentation): 42643 (WebKit::WebPage::getRenderTreeExternalRepresentation): 42644 * WebProcess/WebPage/WebPage.h: 42645 * mac/WebKit2.exp: 42646 * win/WebKit2.vcproj: 42647 42648 2010-06-24 John Sullivan <sullivan (a] apple.com> 42649 42650 Rubber-stamped by Ada Chan. 42651 42652 * mac/WebKit2.exp: 42653 Added _WKNavigationDataRelease and _WKNavigationDataRetain. 42654 42655 2010-06-24 John Sullivan <sullivan (a] apple.com> 42656 42657 Rubber-stamped by Anders Carlsson. 42658 42659 * mac/WebKit2.exp: 42660 Added _WKPageReloadFromOrigin. 42661 42662 2010-06-24 Sam Weinig <sam (a] webkit.org> 42663 42664 Reviewed by Anders Carlsson. 42665 42666 Fix for https://bugs.webkit.org/show_bug.cgi?id=41168 42667 <rdar://problem/8124605> 42668 Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality 42669 42670 * UIProcess/API/C/WKPage.cpp: 42671 (WKPageReload): 42672 (WKPageReloadFromOrigin): 42673 * UIProcess/API/C/WKPage.h: 42674 * UIProcess/WebPageProxy.cpp: 42675 (WebKit::WebPageProxy::reload): 42676 * UIProcess/WebPageProxy.h: 42677 * WebProcess/WebPage/WebPage.cpp: 42678 (WebKit::WebPage::reload): 42679 (WebKit::WebPage::didReceiveMessage): 42680 * WebProcess/WebPage/WebPage.h: 42681 42682 2010-06-24 Adam Roben <aroben (a] apple.com> 42683 42684 Windows build fix 42685 42686 Fixes <http://webkit.org/b/41158>. 42687 42688 Reviewed by Anders Carlsson. 42689 42690 * Shared/win/UpdateChunk.cpp: Updated header name. 42691 42692 * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added. 42693 (WebKit::PluginInfoStore::pluginDirectories): 42694 (WebKit::PluginInfoStore::pluginPathsInDirectory): 42695 (WebKit::PluginInfoStore::getPluginInfo): 42696 (WebKit::PluginInfoStore::shouldUsePlugin): 42697 Stubbed these out. 42698 42699 * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for 42700 all configurations. Added UIProcess/Plugins files to the project. 42701 42702 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42703 42704 Reviewed by Sam Weinig. 42705 42706 Have the UI process compute the plug-in data 42707 https://bugs.webkit.org/show_bug.cgi?id=41118 42708 42709 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: 42710 (WebProcessProxyMessage::): 42711 Add GetPlugin message kind. 42712 42713 * Shared/WebCoreArgumentCoders.h: 42714 Add argument coders for PluginInfo and MimeClassInfo. 42715 42716 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 42717 (WebKit::safeCreateCFString): 42718 (WebKit::PluginInfoStore::pluginPathsInDirectory): 42719 (WebKit::PluginInfoStore::getPluginInfo): 42720 Use safeCreateCFString. 42721 42722 * UIProcess/WebProcessProxy.cpp: 42723 (WebKit::WebProcessProxy::getPlugins): 42724 Ask the plug-in info store for the plug-in list. 42725 42726 (WebKit::WebProcessProxy::didReceiveSyncMessage): 42727 Handle GetPlugins. 42728 42729 * UIProcess/WebProcessProxy.h: 42730 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42731 (WebKit::WebFrameLoaderClient::objectContentType): 42732 Implement. 42733 42734 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 42735 (WebKit::WebPlatformStrategies::populatePluginCache): 42736 Send a sync GetPlugins message. 42737 42738 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42739 42740 Reviewed by Dan Bernstein. 42741 42742 Add ArgumentCoder for vectors. 42743 42744 * Platform/CoreIPC/ArgumentCoders.h: 42745 (CoreIPC::): 42746 42747 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42748 42749 Reviewed by Dan Bernstein. 42750 42751 Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h 42752 42753 * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h. 42754 * Shared/WebCoreTypeArgumentMarshalling.h: Removed. 42755 * Shared/WebEvent.h: 42756 * Shared/WebNavigationDataStore.h: 42757 * Shared/WebPreferencesStore.h: 42758 * Shared/mac/UpdateChunk.cpp: 42759 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: 42760 * UIProcess/WebContext.cpp: 42761 * UIProcess/WebPageProxy.cpp: 42762 * WebKit2.xcodeproj/project.pbxproj: 42763 * WebProcess/InjectedBundle/InjectedBundle.cpp: 42764 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 42765 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42766 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: 42767 * WebProcess/WebPage/WebPage.cpp: 42768 * WebProcess/WebProcess.cpp: 42769 42770 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42771 42772 Reviewed by Dan Bernstein. 42773 42774 MessageIDs should always have the most significant bit zeroed out 42775 https://bugs.webkit.org/show_bug.cgi?id=41112 42776 42777 The most significant bit is used by the Mac implementation of CoreIPC, and 42778 should always be zero in MessageID objects. 42779 42780 * Platform/CoreIPC/Connection.cpp: 42781 (CoreIPC::Connection::waitForMessage): 42782 * Platform/CoreIPC/MessageID.h: 42783 (CoreIPC::MessageID::): 42784 (CoreIPC::MessageID::MessageID): 42785 (CoreIPC::MessageID::operator==): 42786 (CoreIPC::MessageID::fromInt): 42787 (CoreIPC::MessageID::isSync): 42788 (CoreIPC::MessageID::stripMostSignificantBit): 42789 * Platform/CoreIPC/mac/ConnectionMac.cpp: 42790 (CoreIPC::Connection::sendOutgoingMessage): 42791 (CoreIPC::createArgumentDecoder): 42792 42793 2010-06-23 John Sullivan <sullivan (a] apple.com> 42794 42795 Rubber-stamped by Anders Carlsson. 42796 42797 * mac/WebKit2.exp: 42798 Added yet another symbol needed by Mac clients. 42799 42800 2010-06-23 John Sullivan <sullivan (a] apple.com> 42801 42802 Rubber-stamped by Anders Carlsson. 42803 42804 * mac/WebKit2.exp: 42805 Added another symbol needed by Mac clients. 42806 42807 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42808 42809 Reviewed by Sam Weinig. 42810 42811 Rename SimpleArgumentCoder.h to ArgumentCoders.h 42812 42813 * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h. 42814 * Platform/CoreIPC/SimpleArgumentCoder.h: Removed. 42815 * Shared/WebCoreTypeArgumentMarshalling.h: 42816 * WebKit2.xcodeproj/project.pbxproj: 42817 42818 2010-06-23 Anders Carlsson <andersca (a] apple.com> 42819 42820 Reviewed by Sam Weinig. 42821 42822 Add a plug-in info cache to WebPlatformStrategies 42823 https://bugs.webkit.org/show_bug.cgi?id=41087 42824 42825 This is in preparation for proxying the getPlugins call over to the UI process. 42826 42827 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 42828 (WebKit::WebPlatformStrategies::WebPlatformStrategies): 42829 (WebKit::WebPlatformStrategies::populatePluginCache): 42830 (WebKit::WebPlatformStrategies::refreshPlugins): 42831 (WebKit::WebPlatformStrategies::getPluginInfo): 42832 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 42833 42834 2010-06-23 Sam Weinig <sam (a] webkit.org> 42835 42836 Reviewed by John Sullivan. 42837 42838 Stop silently ignoring crashes. 42839 42840 * WebProcess/Launching/mac/WebProcessMain.mm: 42841 42842 2010-06-23 Sam Weinig <sam (a] webkit.org> 42843 42844 Reviewed by Anders Carlsson. 42845 42846 Add missing include to WKRetainPtr. 42847 42848 * UIProcess/API/cpp/WKRetainPtr.h: 42849 42850 2010-06-23 Sam Weinig <sam (a] webkit.org> 42851 42852 Reviewed by Anders Carlsson. 42853 42854 Fix for https://bugs.webkit.org/show_bug.cgi?id=41073 42855 WebKit2: Flesh out more of the InjectedBundle client API 42856 42857 * WebProcess/InjectedBundle/API/c/WKBundle.h: 42858 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 42859 * WebProcess/InjectedBundle/InjectedBundle.cpp: 42860 (WebKit::InjectedBundle::willDestroyPage): 42861 * WebProcess/InjectedBundle/InjectedBundle.h: 42862 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: 42863 (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame): 42864 (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame): 42865 (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame): 42866 (WebKit::InjectedBundlePageClient::didCommitLoadForFrame): 42867 (WebKit::InjectedBundlePageClient::didFinishLoadForFrame): 42868 (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame): 42869 (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame): 42870 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: 42871 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: 42872 (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle. 42873 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 42874 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 42875 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 42876 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 42877 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 42878 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 42879 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 42880 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 42881 * WebProcess/WebPage/WebPage.cpp: 42882 (WebKit::WebPage::close): 42883 * mac/WebKit2.exp: 42884 42885 2010-06-22 Anders Carlsson <andersca (a] apple.com> 42886 42887 Reviewed by Sam Weinig. 42888 42889 Add a SimpleArgumentCoder class template that works on POD types 42890 https://bugs.webkit.org/show_bug.cgi?id=41023 42891 42892 * Platform/CoreIPC/SimpleArgumentCoder.h: Added. 42893 (CoreIPC::SimpleArgumentCoder::encode): 42894 (CoreIPC::SimpleArgumentCoder::decode): 42895 * Shared/WebCoreTypeArgumentMarshalling.h: 42896 (CoreIPC::): 42897 * WebKit2.xcodeproj/project.pbxproj: 42898 42899 2010-06-22 Anders Carlsson <andersca (a] apple.com> 42900 42901 Reviewed by Sam Weinig. 42902 42903 Use the ArgumentCoder class template for decoding 42904 https://bugs.webkit.org/show_bug.cgi?id=41021 42905 42906 * Platform/CoreIPC/ArgumentCoder.h: 42907 (CoreIPC::ArgumentCoder::decode): 42908 * Platform/CoreIPC/ArgumentDecoder.h: 42909 (CoreIPC::ArgumentDecoder::decode): 42910 * Shared/WebCoreTypeArgumentMarshalling.h: 42911 (CoreIPC::): 42912 42913 2010-06-22 Anders Carlsson <andersca (a] apple.com> 42914 42915 Reviewed by Dan Bernstein. 42916 42917 Change the encode functions to be specializations of a class template 42918 https://bugs.webkit.org/show_bug.cgi?id=41015 42919 42920 * Platform/CoreIPC/ArgumentCoder.h: Added. 42921 (CoreIPC::ArgumentCoder::encode): 42922 * Platform/CoreIPC/ArgumentEncoder.h: 42923 (CoreIPC::ArgumentEncoder::encode): 42924 * Shared/WebCoreTypeArgumentMarshalling.h: 42925 (CoreIPC::): 42926 * WebKit2.xcodeproj/project.pbxproj: 42927 42928 2010-06-22 Anders Carlsson <andersca (a] apple.com> 42929 42930 Reviewed by Sam Weinig. 42931 42932 Implement PluginInfoStore::shouldUsePlugin. 42933 42934 * UIProcess/Plugins/PluginInfoStore.h: 42935 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 42936 (WebKit::PluginInfoStore::getPluginInfo): 42937 (WebKit::PluginInfoStore::shouldUsePlugin): 42938 * WebKit2.xcodeproj/project.pbxproj: 42939 42940 2010-06-21 Anders Carlsson <andersca (a] apple.com> 42941 42942 Reviewed by Sam Weinig. 42943 42944 Support reading plug-in info from Carbon resources 42945 https://bugs.webkit.org/show_bug.cgi?id=40959 42946 42947 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 42948 (WebKit::ResourceMap::ResourceMap): 42949 (WebKit::ResourceMap::~ResourceMap): 42950 (WebKit::ResourceMap::isValid): 42951 (WebKit::getStringListResource): 42952 (WebKit::getPluginInfoFromCarbonResources): 42953 (WebKit::PluginInfoStore::getPluginInfo): 42954 42955 2010-06-21 Anders Carlsson <andersca (a] apple.com> 42956 42957 Build fix. 42958 42959 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 42960 (WebKit::PluginInfoStore::getPluginInfo): 42961 42962 2010-06-21 Anders Carlsson <andersca (a] apple.com> 42963 42964 Reviewed by Sam Weinig. 42965 42966 Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list 42967 https://bugs.webkit.org/show_bug.cgi?id=40957 42968 42969 * UIProcess/Plugins/PluginInfoStore.cpp: 42970 (WebKit::PluginInfoStore::loadPluginsIfNecessary): 42971 (WebKit::PluginInfoStore::loadPluginsInDirectory): 42972 (WebKit::PluginInfoStore::loadPlugin): 42973 (WebKit::PluginInfoStore::getPlugins): 42974 * UIProcess/Plugins/PluginInfoStore.h: 42975 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added. 42976 (WebKit::PluginInfoStore::pluginDirectories): 42977 (WebKit::PluginInfoStore::pluginPathsInDirectory): 42978 (WebKit::getPluginArchitecture): 42979 (WebKit::getPluginInfoFromPropertyLists): 42980 (WebKit::PluginInfoStore::getPluginInfo): 42981 (WebKit::PluginInfoStore::shouldUsePlugin): 42982 * WebKit2.xcodeproj/project.pbxproj: 42983 42984 2010-06-21 Anders Carlsson <andersca (a] apple.com> 42985 42986 Reviewed by Sam Weinig. 42987 42988 Add PluginInfoStore class 42989 https://bugs.webkit.org/show_bug.cgi?id=40949 42990 42991 * Shared/WebPreferencesStore.cpp: 42992 (WebKit::WebPreferencesStore::WebPreferencesStore): 42993 * Shared/WebPreferencesStore.h: 42994 (WebKit::WebPreferencesStore::encode): 42995 (WebKit::WebPreferencesStore::decode): 42996 Add plugInsEnabled to the preferences store. 42997 42998 * UIProcess/Plugins: Added. 42999 * UIProcess/Plugins/PluginInfoStore.cpp: Added. 43000 (WebKit::PluginInfoStore::shared): 43001 (WebKit::PluginInfoStore::PluginInfoStore): 43002 (WebKit::PluginInfoStore::refresh): 43003 (WebKit::PluginInfoStore::getPlugins): 43004 * UIProcess/Plugins/PluginInfoStore.h: Added. 43005 * UIProcess/Plugins/mac: Added. 43006 * WebKit2.xcodeproj/project.pbxproj: 43007 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 43008 (WebKit::WebPlatformStrategies::refreshPlugins): 43009 (WebKit::WebPlatformStrategies::getPluginInfo): 43010 * WebProcess/WebPage/WebPage.cpp: 43011 (WebKit::WebPage::WebPage): 43012 43013 2010-06-21 Simon Fraser <simon.fraser (a] apple.com> 43014 43015 Reviewed by Anders Carlsson. 43016 43017 Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea 43018 https://bugs.webkit.org/show_bug.cgi?id=40948 43019 43020 Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy, 43021 and rename the Mac/Win versions of the various DrawingArea files too. 43022 43023 Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType. 43024 43025 * UIProcess/API/mac/WKView.mm: 43026 (-[WKView initWithFrame:pageNamespaceRef:]): 43027 * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed. 43028 * UIProcess/ChunkedUpdateDrawingArea.h: Removed. 43029 * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added. 43030 (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy): 43031 (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy): 43032 (WebKit::ChunkedUpdateDrawingAreaProxy::paint): 43033 (WebKit::ChunkedUpdateDrawingAreaProxy::setSize): 43034 (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible): 43035 (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize): 43036 (WebKit::ChunkedUpdateDrawingAreaProxy::update): 43037 (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage): 43038 * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added. 43039 (WebKit::ChunkedUpdateDrawingAreaProxy::encode): 43040 * UIProcess/DrawingAreaProxy.h: 43041 (WebKit::DrawingAreaProxy::): 43042 * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added. 43043 (WebKit::ChunkedUpdateDrawingAreaProxy::page): 43044 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 43045 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore): 43046 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 43047 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 43048 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed. 43049 * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added. 43050 (WebKit::ChunkedUpdateDrawingAreaProxy::page): 43051 (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore): 43052 (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore): 43053 (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): 43054 (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): 43055 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed. 43056 * UIProcess/win/WebView.cpp: 43057 (WebKit::WebView::WebView): 43058 * WebKit2.xcodeproj/project.pbxproj: 43059 * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added. 43060 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 43061 (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea): 43062 (WebKit::ChunkedUpdateDrawingArea::invalidateWindow): 43063 (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow): 43064 (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll): 43065 (WebKit::ChunkedUpdateDrawingArea::scroll): 43066 (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay): 43067 (WebKit::ChunkedUpdateDrawingArea::display): 43068 (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay): 43069 (WebKit::ChunkedUpdateDrawingArea::setSize): 43070 (WebKit::ChunkedUpdateDrawingArea::suspendPainting): 43071 (WebKit::ChunkedUpdateDrawingArea::resumePainting): 43072 (WebKit::ChunkedUpdateDrawingArea::didUpdate): 43073 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 43074 * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added. 43075 * WebProcess/WebPage/DrawingArea.cpp: 43076 (WebKit::DrawingArea::create): 43077 * WebProcess/WebPage/DrawingArea.h: 43078 (WebKit::DrawingArea::): 43079 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed. 43080 * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed. 43081 * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added. 43082 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 43083 * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed. 43084 * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added. 43085 (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk): 43086 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed. 43087 * win/WebKit2.vcproj: 43088 43089 2010-06-21 Simon Fraser <simon.fraser (a] apple.com> 43090 43091 Reviewed by Anders Carlsson. 43092 43093 Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea 43094 https://bugs.webkit.org/show_bug.cgi?id=40948 43095 43096 Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea. 43097 43098 * UIProcess/API/mac/WKView.mm: 43099 (-[WKView initWithFrame:pageNamespaceRef:]): 43100 * UIProcess/ChunkedUpdateDrawingArea.cpp: Added. 43101 (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea): 43102 (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea): 43103 (WebKit::ChunkedUpdateDrawingArea::paint): 43104 (WebKit::ChunkedUpdateDrawingArea::setSize): 43105 (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible): 43106 (WebKit::ChunkedUpdateDrawingArea::didSetSize): 43107 (WebKit::ChunkedUpdateDrawingArea::update): 43108 (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage): 43109 * UIProcess/ChunkedUpdateDrawingArea.h: Added. 43110 (WebKit::ChunkedUpdateDrawingArea::encode): 43111 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed. 43112 * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed. 43113 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: 43114 (WebKit::ChunkedUpdateDrawingArea::page): 43115 (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore): 43116 (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore): 43117 (WebKit::ChunkedUpdateDrawingArea::platformPaint): 43118 (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore): 43119 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: 43120 (WebKit::ChunkedUpdateDrawingArea::page): 43121 (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore): 43122 (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore): 43123 (WebKit::ChunkedUpdateDrawingArea::platformPaint): 43124 (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore): 43125 * UIProcess/win/WebView.cpp: 43126 (WebKit::WebView::WebView): 43127 * WebKit2.xcodeproj/project.pbxproj: 43128 * win/WebKit2.vcproj: 43129 43130 2010-06-21 Sam Weinig <sam (a] webkit.org> 43131 43132 Reviewed by Anders Carlsson. 43133 43134 Patch for https://bugs.webkit.org/show_bug.cgi?id=40940 43135 Add message passing support to the WebKit2 API. 43136 43137 Adds message passing for both InjectedBundle -> WebContext 43138 and WebContext -> InjectedBundle. 43139 43140 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 43141 (WebProcessMessage::): 43142 * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added. 43143 (WebProcessProxyMessage::): 43144 (CoreIPC::): 43145 * UIProcess/API/C/WKContext.cpp: 43146 (WKContextSetInjectedBundleClient): 43147 (WKContextPostMessageToInjectedBundle): 43148 * UIProcess/API/C/WKContext.h: 43149 * UIProcess/WebContext.cpp: 43150 (WebKit::WebContext::initializeInjectedBundleClient): 43151 (WebKit::WebContext::forwardMessageToWebContext): 43152 (WebKit::WebContext::postMessageToInjectedBundle): 43153 * UIProcess/WebContext.h: 43154 * UIProcess/WebContextInjectedBundleClient.cpp: Added. 43155 (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient): 43156 (WebKit::WebContextInjectedBundleClient::initialize): 43157 (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle): 43158 * UIProcess/WebContextInjectedBundleClient.h: Added. 43159 * UIProcess/WebProcessManager.cpp: 43160 (WebKit::WebProcessManager::processDidClose): 43161 * UIProcess/WebProcessProxy.cpp: 43162 (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage): 43163 (WebKit::WebProcessProxy::didReceiveMessage): 43164 * UIProcess/WebProcessProxy.h: 43165 * WebKit2.xcodeproj/project.pbxproj: 43166 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 43167 (WKBundlePostMessage): 43168 * WebProcess/InjectedBundle/API/c/WKBundle.h: 43169 * WebProcess/InjectedBundle/InjectedBundle.cpp: 43170 (WebKit::InjectedBundle::postMessage): 43171 (WebKit::InjectedBundle::didCreatePage): 43172 (WebKit::InjectedBundle::didRecieveMessage): 43173 * WebProcess/InjectedBundle/InjectedBundle.h: 43174 * WebProcess/WebProcess.cpp: 43175 (WebKit::WebProcess::loadInjectedBundle): 43176 (WebKit::WebProcess::forwardMessageToInjectedBundle): 43177 (WebKit::WebProcess::didReceiveMessage): 43178 * WebProcess/WebProcess.h: 43179 * mac/WebKit2.exp: 43180 * win/WebKit2.vcproj: 43181 43182 2010-06-21 Anders Carlsson <andersca (a] apple.com> 43183 43184 Reviewed by Sam Weinig. 43185 43186 Make WebKit2 build with clang++ 43187 43188 * Platform/CoreIPC/Connection.h: 43189 * UIProcess/API/mac/WKView.mm: 43190 (-[WKView keyUp:]): 43191 (-[WKView keyDown:]): 43192 * UIProcess/WebHistoryClient.h: 43193 * UIProcess/WebPageProxy.h: 43194 * WebProcess/WebPage/WebPage.h: 43195 * WebProcess/WebProcess.h: 43196 43197 2010-06-21 Satish Sampath <satish (a] chromium.org> 43198 43199 Reviewed by Steve Block. 43200 43201 Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. 43202 43203 Speech Input Patch 0: Added compilation argument to conditionally compile pending patches. 43204 https://bugs.webkit.org/show_bug.cgi?id=40878 43205 43206 * Configurations/FeatureDefines.xcconfig: 43207 43208 2010-06-20 Jessie Berlin <jberlin (a] apple.com> 43209 43210 Reviewed by Dan Bernstein. 43211 43212 Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used. 43213 43214 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 43215 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 43216 * WebProcess/WebProcess.cpp: 43217 (WebKit::WebProcess::WebProcess): 43218 Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used. 43219 43220 2010-06-19 Sam Weinig <sam (a] webkit.org> 43221 43222 Reviewed by Anders Carlsson. 43223 43224 Fix for https://bugs.webkit.org/show_bug.cgi?id=40882 43225 Add ability to have a WebProcess per WebContext. 43226 43227 - Move to a one-to-one correspondence of WebContexts to WebProcessProxies. 43228 - Add explicit shared contexts for general use. 43229 - Only non-shared contexts can use injected bundles. 43230 43231 * UIProcess/API/C/WKContext.cpp: 43232 (WKContextCreate): 43233 (WKContextCreateWithInjectedBundlePath): 43234 (WKContextGetSharedProcessContext): 43235 (WKContextGetSharedThreadContext): 43236 * UIProcess/API/C/WKContext.h: 43237 * UIProcess/API/C/WKContextPrivate.h: 43238 Change API for WKContext to no longer take a WKProcessModel type and instead 43239 have explicit Create/Get functions for the different kind of contexts. Added 43240 two shared contexts, one threaded, one process, and made the threaded on private 43241 for now. 43242 43243 * UIProcess/API/mac/WKView.mm: 43244 (-[WKView initWithFrame:]): 43245 Make WKViews that don't have an explicit context use the shared process 43246 context by default. 43247 43248 * UIProcess/Launcher/WebProcessLauncher.h: 43249 * UIProcess/Launcher/mac/WebProcessLauncher.mm: 43250 (WebKit::launchWebProcess): 43251 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 43252 (WebKit::launchWebProcess): 43253 Use a boolean argument to note whether we are using a thread or a process 43254 instead of using the process model enum. 43255 43256 * UIProcess/ProcessModel.h: 43257 (WebKit::): 43258 Convert to using explicit Shared modifier for shared contexts. 43259 43260 * UIProcess/WebContext.cpp: 43261 (WebKit::WebContext::sharedProcessContext): 43262 (WebKit::WebContext::sharedThreadContext): 43263 (WebKit::WebContext::ensureWebProcess): 43264 (WebKit::WebContext::createWebPage): 43265 (WebKit::WebContext::reviveIfNecessary): 43266 * UIProcess/WebContext.h: 43267 (WebKit::WebContext::create): 43268 (WebKit::WebContext::process): 43269 * UIProcess/WebPageNamespace.cpp: 43270 (WebKit::WebPageNamespace::createWebPage): 43271 (WebKit::WebPageNamespace::preferencesDidChange): 43272 (WebKit::WebPageNamespace::getStatistics): 43273 * UIProcess/WebPageNamespace.h: 43274 (WebKit::WebPageNamespace::process): 43275 (WebKit::WebPageNamespace::reviveIfNecessary): 43276 Move WebProcessProxy creation logic up into WebContext. 43277 43278 * UIProcess/WebProcessManager.cpp: 43279 (WebKit::WebProcessManager::getWebProcess): 43280 (WebKit::WebProcessManager::processDidClose): 43281 * UIProcess/WebProcessManager.h: 43282 Keep a map of WebContexts to WebProcessProxies in addition to the two 43283 shared processes. 43284 43285 * UIProcess/WebProcessProxy.cpp: 43286 (WebKit::WebProcessProxy::create): 43287 (WebKit::WebProcessProxy::WebProcessProxy): 43288 (WebKit::WebProcessProxy::connect): 43289 (WebKit::WebProcessProxy::didClose): 43290 * UIProcess/WebProcessProxy.h: 43291 Store a WebContext instead of the process model. 43292 43293 * mac/WebKit2.exp: 43294 Add new functions. 43295 43296 2010-06-18 Anders Carlsson <andersca (a] apple.com> 43297 43298 Reviewed by Sam Weinig. 43299 43300 Make WebCoreSystemInterface.h a C++ only header 43301 https://bugs.webkit.org/show_bug.cgi?id=40867 43302 43303 * WebKit2.xcodeproj/project.pbxproj: 43304 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: 43305 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed. 43306 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m. 43307 * mac/WebKit2.exp: 43308 43309 2010-06-18 Anders Carlsson <andersca (a] apple.com> 43310 43311 Reviewed by Sam Weinig. 43312 43313 Add platform strategies for WebKit2. 43314 https://bugs.webkit.org/show_bug.cgi?id=40863 43315 43316 * WebKit2.xcodeproj/project.pbxproj: 43317 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added. 43318 (WebKit::WebPlatformStrategies::initialize): 43319 (WebKit::WebPlatformStrategies::WebPlatformStrategies): 43320 (WebKit::WebPlatformStrategies::createPluginStrategy): 43321 (WebKit::WebPlatformStrategies::refreshPlugins): 43322 (WebKit::WebPlatformStrategies::getPluginInfo): 43323 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added. 43324 * WebProcess/WebProcess.cpp: 43325 (WebKit::WebProcess::WebProcess): 43326 43327 2010-06-18 Sam Weinig <weinig (a] apple.com> 43328 43329 Rolling http://trac.webkit.org/changeset/61297 back in. 43330 43331 * WebKit2.xcodeproj/project.pbxproj: 43332 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added. 43333 (WKBundlePageSetClient): 43334 (WKBundlePageGetMainFrameURL): 43335 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added. 43336 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added. 43337 (WebKit::InjectedBundlePageClient::InjectedBundlePageClient): 43338 (WebKit::InjectedBundlePageClient::initialize): 43339 (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame): 43340 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added. 43341 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 43342 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 43343 * WebProcess/WebPage/WebPage.cpp: 43344 (WebKit::WebPage::initializeInjectedBundleClient): 43345 (WebKit::WebPage::mainFrameURL): 43346 * WebProcess/WebPage/WebPage.h: 43347 (WebKit::WebPage::injectedBundleClient): 43348 * mac/WebKit2.exp: 43349 * win/WebKit2.vcproj: 43350 43351 2010-06-17 Anders Carlsson <andersca (a] apple.com> 43352 43353 Reviewed by Sam Weinig. 43354 43355 Fix a race condition during startup where we would never send the InitializeConnection message to the server. 43356 43357 * Platform/CoreIPC/mac/ConnectionMac.cpp: 43358 (CoreIPC::Connection::open): 43359 43360 2010-06-17 Ada Chan <adachan (a] apple.com> 43361 43362 Rolling out http://trac.webkit.org/changeset/61297 due to build errors. 43363 43364 * WebKit2.xcodeproj/project.pbxproj: 43365 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed. 43366 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed. 43367 * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed. 43368 * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed. 43369 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 43370 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 43371 * WebProcess/WebPage/WebPage.cpp: 43372 * WebProcess/WebPage/WebPage.h: 43373 * mac/WebKit2.exp: 43374 * win/WebKit2.vcproj: 43375 43376 2010-06-15 Sam Weinig <sam (a] webkit.org> 43377 43378 Reviewed by Anders Carlsson. 43379 43380 Fix for <rdar://problem/8010805> 43381 Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser 43382 43383 Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses 43384 StringImpl::createCFString() which expects to be called from WebCore's main thread. 43385 43386 * UIProcess/API/mac/PageClientImpl.h: 43387 * UIProcess/API/mac/PageClientImpl.mm: 43388 (WebKit::nsStringFromWebCoreString): 43389 (WebKit::PageClientImpl::toolTipChanged): 43390 * UIProcess/API/mac/WKView.mm: 43391 (-[WKView view:stringForToolTip:point:userData:]): 43392 43393 2010-06-15 Sam Weinig <sam (a] webkit.org> 43394 43395 Reviewed by Anders Carlsson. 43396 43397 Fix for https://bugs.webkit.org/show_bug.cgi?id=40630 43398 WebKit2: Add mechanism to inject code into the WebProcess on startup 43399 43400 Add initial InjectedBundle support. 43401 43402 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: 43403 (WebProcessMessage::): 43404 Add new LoadInjectedBundle message kind. 43405 43406 * UIProcess/API/C/WKContext.cpp: 43407 (toWK): 43408 (WKContextCreate): 43409 (WKContextCreateWithInjectedBundlePath): 43410 * UIProcess/API/C/WKContext.h: 43411 Rename WKContextCreateWithProcessModel to WKContextCreate and add 43412 WKContextCreateWithInjectedBundlePath for creating a context with 43413 a bundle. 43414 43415 * UIProcess/WebContext.cpp: 43416 (WebKit::WebContext::WebContext): 43417 * UIProcess/WebContext.h: 43418 (WebKit::WebContext::create): 43419 (WebKit::WebContext::processModel): 43420 (WebKit::WebContext::bundlePath): 43421 * UIProcess/WebPageNamespace.cpp: 43422 (WebKit::WebPageNamespace::ensureWebProcess): 43423 (WebKit::WebPageNamespace::reviveIfNecessary): 43424 * UIProcess/WebProcessManager.cpp: 43425 (WebKit::WebProcessManager::getWebProcess): 43426 * UIProcess/WebProcessManager.h: 43427 * UIProcess/WebProcessProxy.cpp: 43428 (WebKit::WebProcessProxy::create): 43429 (WebKit::WebProcessProxy::WebProcessProxy): 43430 * UIProcess/WebProcessProxy.h: 43431 Thread the bundle path through process creation. 43432 43433 * WebProcess/InjectedBundle: Added. 43434 * WebProcess/InjectedBundle/API: Added. 43435 * WebProcess/InjectedBundle/API/c: Added. 43436 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added. 43437 (WKBundleSetClient): 43438 * WebProcess/InjectedBundle/API/c/WKBundle.h: Added. 43439 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added. 43440 (WebKit::): 43441 (toWK): 43442 (toRef): 43443 * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added. 43444 * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added. 43445 * WebProcess/InjectedBundle/InjectedBundle.cpp: Added. 43446 (WebKit::InjectedBundle::InjectedBundle): 43447 (WebKit::InjectedBundle::~InjectedBundle): 43448 (WebKit::InjectedBundle::initializeClient): 43449 (WebKit::InjectedBundle::didCreatePage): 43450 * WebProcess/InjectedBundle/InjectedBundle.h: Added. 43451 (WebKit::InjectedBundle::create): 43452 Add bundle boilerplate. 43453 43454 * WebProcess/InjectedBundle/mac: Added. 43455 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added. 43456 (WebKit::InjectedBundle::load): 43457 Load the InjectedBundle using CFBundle. 43458 43459 * WebProcess/InjectedBundle/win: Added. 43460 * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added. 43461 (WebKit::pathGetFileName): 43462 (WebKit::directoryName): 43463 (WebKit::InjectedBundle::load): 43464 Load the InjectedBundle using HMODULE. 43465 43466 * WebProcess/WebPage/WebPage.cpp: 43467 (WebKit::WebPage::WebPage): 43468 Add initial bundle callback for page creation. More to come. 43469 43470 * WebProcess/WebProcess.cpp: 43471 (WebKit::WebProcess::loadInjectedBundle): 43472 (WebKit::WebProcess::didReceiveMessage): 43473 * WebProcess/WebProcess.h: 43474 (WebKit::WebProcess::injectedBundle): 43475 Load the InjectedBundle on LoadInjectedBundle message. 43476 43477 * WebKit2.xcodeproj/project.pbxproj: 43478 * mac/WebKit2.exp: 43479 * win/WebKit2.vcproj: 43480 * win/WebKit2Generated.make: 43481 Add the new files. 43482 43483 2010-06-15 Darin Adler <darin (a] apple.com> 43484 43485 Reviewed by Adam Barth. 43486 43487 Move functions out of Frame class that were marked "move to Chrome" 43488 https://bugs.webkit.org/show_bug.cgi?id=39636 43489 43490 * WebProcess/WebPage/WebPage.cpp: 43491 (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of 43492 going through Frame. 43493 43494 2010-06-14 Steve Falkenburg <sfalken (a] apple.com> 43495 43496 Windows build fix. 43497 Reorder build event to fix cygwin path issue. 43498 43499 * win/WebKit2Generated.vcproj: 43500 43501 2010-06-14 Steve Falkenburg <sfalken (a] apple.com> 43502 43503 Windows build fix. 43504 Add build failure stopping code. 43505 43506 * win/WebKit2WebProcess.vcproj: 43507 43508 2010-06-14 Steve Falkenburg <sfalken (a] apple.com> 43509 43510 Windows build fix. 43511 Add build failure stopping code. 43512 43513 * win/WebKit2Generated.vcproj: 43514 43515 2010-06-14 Ada Chan <adachan (a] apple.com> 43516 43517 Rubber-stamped by Steve Falkenburg. 43518 43519 - Fix the release configuration to use release.vsprops. 43520 - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project. 43521 - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable. 43522 43523 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 43524 (WebKit::launchWebProcess): 43525 * win/WebKit2WebProcess.vcproj: 43526 43527 2010-06-12 Ada Chan <adachan (a] apple.com> 43528 43529 Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build. 43530 43531 * WebProcess/win/WebLocalizableStrings.cpp: 43532 (findCachedString): 43533 43534 2010-06-11 Sam Weinig <sam (a] webkit.org> 43535 43536 Reviewed by Mark Rowe. 43537 43538 Use -Os for optimized builds instead of -02. -02 wasn't giving the 43539 right trade off at this time. 43540 43541 * Configurations/Base.xcconfig: 43542 43543 2010-06-11 Sam Weinig <sam (a] webkit.org> 43544 43545 Reviewed by Anders Carlsson. 43546 43547 Move WKRetain and WKRelease overloaded functions out of WKRetainPtr 43548 and into the files of the type they overload (eg, WKRetain(WKFrameRef 43549 moves to WKFrame.h)). 43550 43551 * UIProcess/API/C/WKBase.h: 43552 * UIProcess/API/C/WKContext.h: 43553 * UIProcess/API/C/WKFrame.h: 43554 * UIProcess/API/C/WKFramePolicyListener.h: 43555 * UIProcess/API/C/WKNavigationData.h: 43556 * UIProcess/API/C/WKPage.h: 43557 * UIProcess/API/C/WKPageNamespace.h: 43558 * UIProcess/API/C/WKPreferences.h: 43559 * UIProcess/API/C/WKString.h: 43560 * UIProcess/API/C/WKURL.h: 43561 * UIProcess/API/cpp/WKRetainPtr.h: 43562 * UIProcess/API/win/WKView.h: 43563 43564 2010-06-10 John Sullivan <sullivan (a] apple.com> 43565 43566 Reviewed by Dan Bernstein. 43567 43568 * mac/WebKit2.exp: 43569 Added another symbol needed by Mac clients. 43570 43571 2010-06-09 Ilya Tikhonovsky <loislo (a] chromium.org> 43572 43573 Unreviewed build fix. 43574 43575 * WebProcess/WebCoreSupport/WebInspectorClient.h: 43576 43577 2010-06-09 Ilya Tikhonovsky <loislo (a] chromium.org> 43578 43579 Unreviewed build fix. 43580 43581 WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc 43582 data from inspected page to WebInspector as JSON string via http. The native 43583 serialization to JSON string is supported by InspectorValue's classes. This patch 43584 has the implementation of sendMessageToFrontend function. WebKit version of it still 43585 uses ScriptFunctionCall and will be switched to another transport a little bit later. 43586 https://bugs.webkit.org/show_bug.cgi?id=40134 43587 43588 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 43589 (WebKit::WebInspectorClient::sendMessageToFrontend): 43590 * WebProcess/WebCoreSupport/WebInspectorClient.h: 43591 43592 2010-06-08 Anders Carlsson <andersca (a] apple.com> 43593 43594 Reviewed by John Sullivan. 43595 43596 <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements 43597 43598 Create a CFString from our WebCore string and then create the CFURL from the CFString. 43599 43600 * UIProcess/API/C/cf/WKURLCF.cpp: 43601 (WKURLCopyCFURL): 43602 43603 2010-06-08 John Sullivan <sullivan (a] apple.com> 43604 43605 Rubber-stamped by Anders Carlsson. 43606 43607 * mac/WebKit2.exp: 43608 Added _WKPageGetEstimatedProgress and _WKFrameGetPage 43609 43610 2010-06-08 Anders Carlsson <andersca (a] apple.com> 43611 43612 Reviewed by John Sullivan. 43613 43614 Would like a way to query WKPageRef for the current progress value 43615 https://bugs.webkit.org/show_bug.cgi?id=40310 43616 <rdar://problem/8071299> 43617 43618 Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress 43619 loader client callback function. 43620 43621 * UIProcess/API/C/WKPage.cpp: 43622 (WKPageGetEstimatedProgress): 43623 * UIProcess/API/C/WKPage.h: 43624 * UIProcess/WebLoaderClient.cpp: 43625 (WebKit::WebLoaderClient::didChangeProgress): 43626 * UIProcess/WebLoaderClient.h: 43627 * UIProcess/WebPageProxy.cpp: 43628 (WebKit::WebPageProxy::WebPageProxy): 43629 (WebKit::WebPageProxy::close): 43630 (WebKit::WebPageProxy::didStartProgress): 43631 (WebKit::WebPageProxy::didChangeProgress): 43632 (WebKit::WebPageProxy::didFinishProgress): 43633 (WebKit::WebPageProxy::processDidExit): 43634 * UIProcess/WebPageProxy.h: 43635 (WebKit::WebPageProxy::estimatedProgress): 43636 43637 2010-06-08 Anders Carlsson <andersca (a] apple.com> 43638 43639 Reviewed by John Sullivan. 43640 43641 Would like a way to tell which WKPageRef a WKFrameRef is part of 43642 https://bugs.webkit.org/show_bug.cgi?id=40308 43643 <rdar://problem/8071251> 43644 43645 Add and implement WKFrameGetPage. 43646 43647 * UIProcess/API/C/WKFrame.cpp: 43648 (WKFrameGetPage): 43649 * UIProcess/API/C/WKFrame.h: 43650 * UIProcess/WebFrameProxy.h: 43651 (WebKit::WebFrameProxy::page): 43652 43653 2010-06-08 John Sullivan <sullivan (a] apple.com> 43654 43655 Rubber-stamped by Mark Rowe. 43656 43657 * mac/WebKit2.exp: 43658 Added a few more symbols needed by Mac clients. 43659 43660 2010-06-08 MORITA Hajime <morrita (a] google.com> 43661 43662 Unreviewed. An attempt to fix test break. 43663 43664 * Configurations/FeatureDefines.xcconfig: 43665 43666 2010-06-06 MORITA Hajime <morrita (a] google.com> 43667 43668 Unreviewd, follow up to r60820 43669 43670 https://bugs.webkit.org/show_bug.cgi?id=40219 43671 [Mac] ENABLE_METER_TAG should be enabled 43672 43673 * Configurations/FeatureDefines.xcconfig: 43674 43675 2010-06-05 Mark Rowe <mrowe (a] apple.com> 43676 43677 Rubber-stamped by Dan Bernstein. 43678 43679 <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory 43680 43681 * Configurations/WebProcess.xcconfig: 43682 43683 2010-06-04 John Sullivan <sullivan (a] apple.com> 43684 43685 Rubber-stamped by Ada Chan. 43686 43687 Added a couple of symbols needed to start using WKFrameRefs in Mac clients. 43688 43689 * mac/WebKit2.exp: 43690 Added _WKFrameRelease and _WKFrameRetain. 43691 43692 2010-06-04 Ada Chan <adachan (a] apple.com> 43693 43694 Reviewed by Anders Carlsson. 43695 43696 http://bugs.webkit.org/show_bug.cgi?id=40186 43697 43698 Need to close WebPageProxy when the WebView is destroyed. 43699 Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows. 43700 43701 * UIProcess/WebPageProxy.cpp: 43702 (WebKit::WebPageProxy::WebPageProxy): 43703 (WebKit::WebPageProxy::setPageClient): 43704 * UIProcess/WebPageProxy.h: 43705 * UIProcess/win/WebView.cpp: 43706 (WebKit::WebView::close): 43707 43708 2010-06-03 Ada Chan <adachan (a] apple.com> 43709 43710 Reviewed by Adam Roben. 43711 43712 https://bugs.webkit.org/show_bug.cgi?id=40152 43713 43714 Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed. 43715 43716 * UIProcess/API/win/WKView.cpp: 43717 (WKViewSetHostWindow): Expose API to change the host window of a WKView. 43718 (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed. 43719 * UIProcess/API/win/WKView.h: 43720 * UIProcess/win/WebView.cpp: 43721 (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed. setHostWindow() will call 43722 windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list. 43723 (WebKit::WebView::WebView): Initialize m_isBeingDestroyed. 43724 (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange(). 43725 (WebKit::WebView::close): Set the host window to 0. 43726 * UIProcess/win/WebView.h: 43727 43728 2010-06-04 Tony Gentilcore <tonyg (a] chromium.org> 43729 43730 Reviewed by Adam Barth. 43731 43732 Utilize new takeFirst() method where appropriate. 43733 https://bugs.webkit.org/show_bug.cgi?id=40089 43734 43735 * Platform/CoreIPC/ArgumentDecoder.cpp: 43736 (CoreIPC::ArgumentDecoder::removeAttachment): 43737 43738 2010-06-03 Ada Chan <adachan (a] apple.com> 43739 43740 Reviewed by Anders Carlsson. 43741 43742 Add UIProcess\API\cpp to the list of additional include directories. 43743 Allow WKViewRef to work with WKRetainPtr on Windows. 43744 43745 * UIProcess/API/cpp/WKRetainPtr.h: 43746 * win/WebKit2.vcproj: 43747 43748 2010-06-01 Alice Liu <alice.liu (a] apple.com> 43749 43750 Build fix. Not reviewed 43751 43752 * win/WebKit2Generated.make: Added WKRetainPtr.h 43753 43754 2010-06-01 John Sullivan <sullivan (a] apple.com> 43755 43756 Rubber-stamped by Anders Carlsson. 43757 43758 Added _WKRetainPtr to .exp file, and added .exp file to Xcode project. 43759 43760 * WebKit2.xcodeproj/project.pbxproj: 43761 Added mac/WebKit2.exp. 43762 43763 * mac/WebKit2.exp: 43764 Added _WKRetainPtr. 43765 43766 2010-06-01 John Sullivan <sullivan (a] apple.com> 43767 43768 Rubber-stamped by Anders Carlsson. 43769 43770 Fixed typo/wordo that prevented a certain flavor of constructor from compiling. 43771 43772 * UIProcess/API/cpp/WKRetainPtr.h: 43773 (WebKit::WKRetainPtr::WKRetainPtr): 43774 Changed the mysterious "retainWKPtr" to "WKRetain". 43775 43776 2010-05-28 John Sullivan <sullivan (a] apple.com> 43777 43778 Rubber-stamped by Dan Bernstein. 43779 43780 Add a using declaration for AdoptWK to match the one just added for WKRetainPtr. 43781 43782 * UIProcess/API/cpp/WKRetainPtr.h: 43783 43784 2010-05-28 Sam Weinig <sam (a] webkit.org> 43785 43786 Reviewed by Anders Carlsson. 43787 43788 Add a using declaration for WKRetainPtr matching what we do for our 43789 other smart pointers and fix the destructor. 43790 43791 * UIProcess/API/cpp/WKRetainPtr.h: 43792 (WebKit::WKRetainPtr::~WKRetainPtr): 43793 43794 2010-05-25 Ada Chan <adachan (a] apple.com> 43795 43796 Reviewed by Darin Adler. 43797 43798 https://bugs.webkit.org/show_bug.cgi?id=39686 43799 43800 Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit. 43801 43802 * WebKit2.sln: 43803 * win/WebKit2.vcproj: 43804 43805 2010-05-24 Ada Chan <adachan (a] apple.com> 43806 43807 Rubber-stamped by Mark Rowe. 43808 43809 Build fix for 32bit systems. 43810 43811 * mac/WebKit2.exp: 43812 43813 2010-05-21 Mark Rowe <mrowe (a] apple.com> 43814 43815 Reviewed by Oliver Hunt. 43816 43817 Teach WebKit2 to build in the Production configuration. 43818 43819 * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file. 43820 * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory. 43821 This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework 43822 rather than WebKit2.framework. 43823 * Configurations/WebKit2.xcconfig: Update the install path. Add an exports file. 43824 * Configurations/WebProcess.xcconfig: Update the install path. 43825 * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration. 43826 * mac/WebKit2.exp: Added. 43827 43828 2010-05-21 Steve Block <steveblock (a] google.com> 43829 43830 Unreviewed build fix for WebKit2 43831 43832 Pass 0 to Page constructor for DeviceOrientationClient. 43833 See http://trac.webkit.org/changeset/59935 43834 43835 * WebProcess/WebPage/WebPage.cpp: 43836 (WebKit::WebPage::WebPage): 43837 43838 2010-05-11 Mark Rowe <mrowe (a] apple.com> 43839 43840 Fix the world. 43841 43842 In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER. 43843 The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking 43844 that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept 43845 in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable 43846 and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong 43847 function in WebCore being called. 43848 43849 We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and 43850 other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change 43851 has been reverted. 43852 43853 * Configurations/FeatureDefines.xcconfig: 43854 43855 2010-05-04 Anders Carlsson <andersca (a] apple.com> 43856 43857 Reviewed by Dan Bernstein. 43858 43859 [WebKit2] The web process doesn't need to paint when the web view is hidden. 43860 https://bugs.webkit.org/show_bug.cgi?id=38549 43861 43862 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 43863 (DrawingAreaMessage::): 43864 Add SuspendPainting/ResumePainting messages. 43865 43866 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: 43867 (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible): 43868 Suspend and resume painting accordingly. 43869 43870 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: 43871 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk): 43872 Initialize m_shouldPaint to true. 43873 43874 (WebKit::DrawingAreaUpdateChunk::display): 43875 Return if m_shouldPaint is false. 43876 43877 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay): 43878 Ditto. 43879 43880 (WebKit::DrawingAreaUpdateChunk::setSize): 43881 Assert that we should paint here. 43882 43883 (WebKit::DrawingAreaUpdateChunk::suspendPainting): 43884 Set m_shouldPaint to false and stop the timer. 43885 43886 (WebKit::DrawingAreaUpdateChunk::resumePainting): 43887 Set m_shouldPaint to true and paint if needed. 43888 43889 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage): 43890 handle SuspendPainting/ResumePainting messages. 43891 43892 * WebProcess/WebPage/DrawingAreaUpdateChunk.h: 43893 43894 2010-05-03 Anders Carlsson <andersca (a] apple.com> 43895 43896 Reviewed by Jon Honeycutt. 43897 43898 [WebKit2] WKView should respond to WM_SHOWWINDOW messages 43899 https://bugs.webkit.org/show_bug.cgi?id=38496 43900 43901 * UIProcess/win/WebView.cpp: 43902 (WebKit::WebView::wndProc): 43903 Add case for WM_SHOWWINDOW. 43904 43905 (WebKit::WebView::onShowWindowEvent): 43906 Update the page visibility accordingly. 43907 43908 * UIProcess/win/WebView.h: 43909 43910 2010-05-03 Anders Carlsson <andersca (a] apple.com> 43911 43912 Reviewed by Dan Bernstein. 43913 43914 Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible 43915 https://bugs.webkit.org/show_bug.cgi?id=38493 43916 43917 * UIProcess/API/mac/PageClientImpl.h: 43918 * UIProcess/API/mac/PageClientImpl.mm: 43919 Remove isPageVisible. 43920 43921 * UIProcess/API/mac/WKView.mm: 43922 (isViewVisible): 43923 New function (moved here from PageClientImpl). 43924 43925 (-[WKView _updateVisibility]): 43926 Call didChangeVisibility. 43927 43928 (-[WKView viewDidMoveToWindow]): 43929 (-[WKView viewDidHide]): 43930 (-[WKView viewDidUnhide]): 43931 Call _updateVisibility. 43932 43933 * UIProcess/DrawingAreaProxy.h: 43934 Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter. 43935 43936 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: 43937 (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible): 43938 Don't call WebPageProxy::isVisible. 43939 43940 * UIProcess/DrawingAreaProxyUpdateChunk.h: 43941 43942 * UIProcess/PageClient.h: 43943 Remove isPageVisible. 43944 43945 * UIProcess/WebPageProxy.cpp: 43946 * UIProcess/WebPageProxy.h: 43947 Remove isVisible. 43948 43949 2010-05-03 Anders Carlsson <andersca (a] apple.com> 43950 43951 Reviewed by Adam Roben. 43952 43953 Implement PageClient::isPageVisible on Windows. 43954 https://bugs.webkit.org/show_bug.cgi?id=38483 43955 43956 * UIProcess/PageClient.h: 43957 * UIProcess/win/WebView.cpp: 43958 (WebKit::WebView::isPageVisible): 43959 * UIProcess/win/WebView.h: 43960 43961 2010-05-03 Anders Carlsson <andersca (a] apple.com> 43962 43963 Fix Windows build. 43964 43965 * Platform/CoreIPC/win/ConnectionWin.cpp: 43966 (CoreIPC::Connection::sendOutgoingMessage): 43967 * Shared/win/UpdateChunk.cpp: 43968 (WebKit::UpdateChunk::UpdateChunk): 43969 (WebKit::UpdateChunk::encode): 43970 (WebKit::UpdateChunk::decode): 43971 * Shared/win/UpdateChunk.h: 43972 (WebKit::UpdateChunk::rect): 43973 * UIProcess/DrawingAreaProxy.h: 43974 * UIProcess/DrawingAreaProxyUpdateChunk.h: 43975 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: 43976 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore): 43977 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: 43978 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk): 43979 * WebProcess/win/WebProcessMain.cpp: 43980 43981 2010-04-30 Anders Carlsson <andersca (a] apple.com> 43982 43983 Reviewed by Sam Weinig. 43984 43985 https://bugs.webkit.org/show_bug.cgi?id=38415 43986 Have the WKView notify the DrawingAreaProxy when its visibility changes. 43987 43988 * UIProcess/API/mac/PageClientImpl.h: 43989 * UIProcess/API/mac/PageClientImpl.mm: 43990 (WebKit::PageClientImpl::isPageVisible): 43991 * UIProcess/API/mac/WKView.mm: 43992 (-[WKView viewDidMoveToWindow]): 43993 (-[WKView viewDidHide]): 43994 (-[WKView viewDidUnhide]): 43995 * UIProcess/DrawingAreaProxy.h: 43996 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: 43997 (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk): 43998 (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility): 43999 * UIProcess/DrawingAreaProxyUpdateChunk.h: 44000 * UIProcess/PageClient.h: 44001 * UIProcess/WebPageProxy.cpp: 44002 (WebKit::WebPageProxy::isVisible): 44003 * UIProcess/WebPageProxy.h: 44004 44005 2010-05-03 Jens Alfke <snej (a] chromium.org> 44006 44007 Reviewed by Darin Fisher. 44008 44009 [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient 44010 https://bugs.webkit.org/show_bug.cgi?id=38397 44011 44012 No tests (functionality is exposed only through native WebKit API.) 44013 44014 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 44015 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent): 44016 44017 2010-05-01 Sam Weinig <sam (a] webkit.org> 44018 44019 Reviewed by Anders Carlsson. 44020 44021 Fix for https://bugs.webkit.org/show_bug.cgi?id=38471 44022 Add generic callback mechanism 44023 44024 Added GenericCallback class replacing RenderTreeExternalRepresentationCallback 44025 and ScriptReturnValueCallback. 44026 44027 Also, 44028 - Standardize C API callbacks to take the context last. 44029 - Standardize C API callbacks to not have the _f suffix (now the block 44030 variants have a _b suffix). 44031 - Re-write toWK and toRef methods as a set of template functions using 44032 the generic API->implementation mapping information. 44033 44034 * UIProcess/API/C/WKAPICast.h: 44035 * UIProcess/API/C/WKPage.cpp: 44036 (WKPageRunJavaScriptInMainFrame): 44037 (callRunJavaScriptBlockAndRelease): 44038 (disposeRunJavaScriptBlock): 44039 (WKPageRunJavaScriptInMainFrame_b): 44040 (WKPageRenderTreeExternalRepresentation): 44041 (WKPageRenderTreeExternalRepresentation_b): 44042 * UIProcess/API/C/WKPage.h: 44043 * UIProcess/API/C/WKPagePrivate.h: 44044 * UIProcess/GenericCallback.h: Added. 44045 (WebKit::GenericCallback::create): 44046 (WebKit::GenericCallback::~GenericCallback): 44047 (WebKit::GenericCallback::performCallbackWithReturnValue): 44048 (WebKit::GenericCallback::invalidate): 44049 (WebKit::GenericCallback::callbackID): 44050 (WebKit::GenericCallback::generateCallbackID): 44051 (WebKit::GenericCallback::GenericCallback): 44052 * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed. 44053 * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed. 44054 * UIProcess/ScriptReturnValueCallback.cpp: Removed. 44055 * UIProcess/ScriptReturnValueCallback.h: Removed. 44056 * UIProcess/WebPageProxy.cpp: 44057 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): 44058 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): 44059 * UIProcess/WebPageProxy.h: 44060 * WebKit2.xcodeproj/project.pbxproj: 44061 * win/WebKit2.vcproj: 44062 44063 2010-04-30 Sam Weinig <sam (a] webkit.org> 44064 44065 Fix the build. 44066 44067 * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include. 44068 44069 2010-04-30 Sam Weinig <sam (a] webkit.org> 44070 44071 Reviewed by Anders Carlsson. 44072 44073 https://bugs.webkit.org/show_bug.cgi?id=38413 44074 Add callback based API to get the textual representation of the RenderTree. 44075 44076 - Also ensures that any pending callbacks are invalidated if the WebPage 44077 closes (expectedly or unexpectedly). 44078 - A follow up patch will unify the callback mechanism with a common base 44079 class. 44080 44081 * Shared/CoreIPCSupport/WebPageMessageKinds.h: 44082 (WebPageMessage::): 44083 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 44084 (WebPageProxyMessage::): 44085 * UIProcess/API/C/WKPage.cpp: 44086 (WKPageRunJavaScriptInMainFrame_f): 44087 (WKPageRenderTreeExternalRepresentation_f): 44088 (callRenderTreeExternalRepresentationBlockAndDispose): 44089 (disposeRenderTreeExternalRepresentationBlock): 44090 (WKPageRenderTreeExternalRepresentation): 44091 * UIProcess/API/C/WKPagePrivate.h: Added. 44092 * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added. 44093 (WebKit::generateCallbackID): 44094 (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback): 44095 (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback): 44096 (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue): 44097 (WebKit::RenderTreeExternalRepresentationCallback::invalidate): 44098 * UIProcess/RenderTreeExternalRepresentationCallback.h: Added. 44099 (WebKit::RenderTreeExternalRepresentationCallback::create): 44100 (WebKit::RenderTreeExternalRepresentationCallback::callbackID): 44101 * UIProcess/ScriptReturnValueCallback.cpp: 44102 (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback): 44103 (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue): 44104 (WebKit::ScriptReturnValueCallback::invalidate): 44105 * UIProcess/ScriptReturnValueCallback.h: 44106 * UIProcess/WebPageProxy.cpp: 44107 (WebKit::WebPageProxy::close): 44108 (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): 44109 (WebKit::WebPageProxy::didReceiveMessage): 44110 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): 44111 (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): 44112 (WebKit::WebPageProxy::processDidExit): 44113 * UIProcess/WebPageProxy.h: 44114 * WebKit2.xcodeproj/project.pbxproj: 44115 * WebProcess/WebPage/WebPage.cpp: 44116 (WebKit::WebPage::getRenderTreeExternalRepresentation): 44117 (WebKit::WebPage::didReceiveMessage): 44118 * WebProcess/WebPage/WebPage.h: 44119 * win/WebKit2.vcproj: 44120 44121 2010-04-30 Sam Weinig <sam (a] webkit.org> 44122 44123 Reviewed by Anders Carlsson. 44124 44125 Fix for https://bugs.webkit.org/show_bug.cgi?id=38406 44126 Add support for sending messages with a size greater than 4096 bytes 44127 44128 Adds support by putting message bodies that are larger than 4096 bytes 44129 in OOL memory. 44130 44131 * Platform/CoreIPC/Connection.cpp: 44132 (CoreIPC::Connection::sendMessage): 44133 (CoreIPC::Connection::waitForMessage): 44134 (CoreIPC::Connection::sendSyncMessage): 44135 (CoreIPC::Connection::dispatchMessages): 44136 * Platform/CoreIPC/Connection.h: 44137 (CoreIPC::Connection::OutgoingMessage::OutgoingMessage): 44138 (CoreIPC::Connection::OutgoingMessage::messageID): 44139 (CoreIPC::Connection::send): 44140 (CoreIPC::Connection::sendSync): 44141 * Platform/CoreIPC/MessageID.h: 44142 (CoreIPC::MessageID::): 44143 (CoreIPC::MessageID::MessageID): 44144 (CoreIPC::MessageID::equalIgnoringFlags): 44145 (CoreIPC::MessageID::copyAddingFlags): 44146 (CoreIPC::MessageID::fromInt): 44147 (CoreIPC::MessageID::toInt): 44148 (CoreIPC::MessageID::isMessageBodyOOL): 44149 * Platform/CoreIPC/mac/ConnectionMac.cpp: 44150 (CoreIPC::Connection::sendOutgoingMessage): 44151 (CoreIPC::createArgumentDecoder): 44152 44153 2010-04-28 Mike Thole <mthole (a] apple.com> 44154 44155 Build fix, not reviewed. 44156 44157 Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(). 44158 44159 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44160 (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace): 44161 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 44162 44163 2010-04-28 Sam Weinig <sam (a] webkit.org> 44164 44165 Reviewed by Mark Rowe. 44166 44167 Only build on SnowLeopard and later when using the Makefile. 44168 44169 * Makefile: 44170 44171 2010-04-27 Sam Weinig <sam (a] webkit.org> 44172 44173 Reviewed by Maciej Stachowiak. 44174 44175 Fix for https://bugs.webkit.org/show_bug.cgi?id=38238 44176 Allow both WebKit and WebKit2 to link to the same WebCore.framework 44177 44178 * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't 44179 need to set WebCore as a sub_umbrella of WebKit2, since we are not 44180 reexporting any of its symbols. 44181 44182 2010-04-27 Sam Weinig <sam (a] webkit.org> 44183 44184 Reviewed by Geoffrey Garen. 44185 44186 Add comment about not using StringImpl::createCFString in WKStringCopyCFString. 44187 44188 * UIProcess/API/C/cf/WKStringCF.cpp: 44189 (WKStringCopyCFString): 44190 44191 2010-04-27 Sam Weinig <sam (a] webkit.org> 44192 44193 Reviewed by Geoffrey Garen. 44194 44195 Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters 44196 directly. StringImpl::createCFString only an optimization when called 44197 from the thread that WebCore is running on, which is never the case for 44198 WKStringCopyCFString. We should revisit this later, perhaps adding a 44199 threadspecific allocator. We also now honor the passed in allocator. 44200 44201 * UIProcess/API/C/cf/WKStringCF.cpp: 44202 (WKStringCopyCFString): 44203 44204 2010-04-25 Sam Weinig <sam (a] webkit.org> 44205 44206 Reviewed by Maciej Stachowiak. 44207 44208 Fix for https://bugs.webkit.org/show_bug.cgi?id=38097 44209 Disentangle initializing the main thread from initializing threading 44210 44211 * UIProcess/Launcher/mac/WebProcessLauncher.mm: 44212 (WebKit::webThreadBody): Add call to initializeMainThread. 44213 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 44214 (WebKit::webThreadBody): Ditto. 44215 * WebProcess/Launching/mac/WebProcessMain.mm: 44216 (main): Ditto. 44217 * WebProcess/win/WebProcessMain.cpp: 44218 (WebKit::WebProcessMain): Ditto. 44219 44220 2010-04-23 Sam Weinig <sam (a] webkit.org> 44221 44222 Reviewed by Anders Carlsson. 44223 44224 https://bugs.webkit.org/show_bug.cgi?id=38065 44225 Merge mac and win DrawingAreaProxyUpdateChunk implementations. 44226 44227 * UIProcess/API/mac/WKView.mm: 44228 (-[WKView drawRect:]): 44229 * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm. 44230 * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h. 44231 * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm. 44232 (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk): 44233 (WebKit::DrawingAreaProxyUpdateChunk::paint): 44234 (WebKit::DrawingAreaProxyUpdateChunk::setSize): 44235 (WebKit::DrawingAreaProxyUpdateChunk::didSetSize): 44236 (WebKit::DrawingAreaProxyUpdateChunk::update): 44237 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage): 44238 * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h. 44239 * UIProcess/mac/DrawingAreaProxy.h: Removed. 44240 * UIProcess/mac/DrawingAreaProxy.mm: Removed. 44241 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed. 44242 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed. 44243 * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm. 44244 (WebKit::DrawingAreaProxyUpdateChunk::page): 44245 (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore): 44246 (WebKit::DrawingAreaProxyUpdateChunk::platformPaint): 44247 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore): 44248 * UIProcess/win/DrawingAreaProxy.cpp: Removed. 44249 * UIProcess/win/DrawingAreaProxy.h: Removed. 44250 * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp. 44251 (WebKit::DrawingAreaProxyUpdateChunk::page): 44252 (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore): 44253 (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore): 44254 (WebKit::DrawingAreaProxyUpdateChunk::platformPaint): 44255 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore): 44256 * UIProcess/win/WebView.cpp: 44257 (WebKit::WebView::WebView): 44258 (WebKit::WebView::onPaintEvent): 44259 * WebKit2.xcodeproj/project.pbxproj: 44260 * win/WebKit2.vcproj: 44261 44262 2010-04-23 Sam Weinig <sam (a] webkit.org> 44263 44264 Reviewed by Anders Carlsson. 44265 44266 Fix for https://bugs.webkit.org/show_bug.cgi?id=38059 44267 Merge mac and win DrawingAreaUpdateChunk implementations. 44268 44269 * UIProcess/win/DrawingAreaProxy.cpp: 44270 (WebKit::DrawingAreaProxy::didSetSize): 44271 (WebKit::DrawingAreaProxy::didReceiveMessage): 44272 * UIProcess/win/DrawingAreaProxy.h: 44273 * WebKit2.xcodeproj/project.pbxproj: 44274 * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp. 44275 (WebKit::DrawingAreaUpdateChunk::setSize): 44276 * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h. 44277 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed. 44278 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed. 44279 * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp. 44280 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed. 44281 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed. 44282 * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp. 44283 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk): 44284 * win/WebKit2.vcproj: 44285 44286 2010-04-23 Anders Carlsson <andersca (a] apple.com> 44287 44288 Reviewed by Sam Weinig. 44289 44290 Remove an assert. (It's not valid when resizing). 44291 44292 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: 44293 (WebKit::DrawingAreaUpdateChunk::didUpdate): 44294 44295 2010-04-23 Anders Carlsson <andersca (a] apple.com> 44296 44297 Fix build. 44298 44299 * UIProcess/win/DrawingAreaProxy.cpp: 44300 (WebKit::DrawingAreaProxy::paint): 44301 (WebKit::DrawingAreaProxy::setSize): 44302 (WebKit::DrawingAreaProxy::didReceiveMessage): 44303 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: 44304 (WebKit::DrawingAreaUpdateChunk::setSize): 44305 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage): 44306 44307 2010-04-22 Anders Carlsson <andersca (a] apple.com> 44308 44309 Reviewed by Sam Weinig. 44310 44311 Remove an assert. (It's not valid when resizing). 44312 44313 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44314 (WebKit::DrawingAreaUpdateChunk::didUpdate): 44315 44316 2010-04-22 Sam Weinig <sam (a] webkit.org> 44317 44318 Reviewed by Anders Carlsson. 44319 44320 Merge the prefix headers. 44321 44322 * Configurations/BaseTarget.xcconfig: 44323 * WebKit2.xcodeproj/project.pbxproj: 44324 * WebKit2Prefix.h: 44325 * WebKit2_Prefix.pch: Removed. 44326 44327 2010-04-22 Anders Carlsson <andersca (a] apple.com> 44328 44329 Reviewed by Sam Weinig. 44330 44331 Don't pass the new size when calling didSetSize, it's possible to get 44332 the size from the update chunk. 44333 44334 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: 44335 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: 44336 (WebKit::DrawingAreaProxyUpdateChunk::didSetSize): 44337 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage): 44338 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44339 (WebKit::DrawingAreaUpdateChunk::setSize): 44340 44341 2010-04-22 Anders Carlsson <andersca (a] apple.com> 44342 44343 Reviewed by Sam Weinig. 44344 44345 Rename SetFrame and DidSetFrame to SetSize and DidSetSize. 44346 44347 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 44348 (DrawingAreaMessage::): 44349 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: 44350 (DrawingAreaProxyMessage::): 44351 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: 44352 (WebKit::DrawingAreaProxyUpdateChunk::drawRectIntoContext): 44353 (WebKit::DrawingAreaProxyUpdateChunk::setSize): 44354 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage): 44355 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44356 (WebKit::DrawingAreaUpdateChunk::setSize): 44357 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage): 44358 44359 2010-04-22 Sam Weinig <sam (a] webkit.org> 44360 44361 Reviewed by Anders Carlsson. 44362 44363 Fix for https://bugs.webkit.org/show_bug.cgi?id=38002 44364 Add rudimentary statistics gathering for WebKit2 44365 44366 * UIProcess/API/C/WKContext.cpp: 44367 (WKContextGetStatistics): 44368 * UIProcess/API/C/WKContextPrivate.h: Copied from WebKit2/UIProcess/API/C/WKContext.h. 44369 * UIProcess/API/C/WKPageNamespace.cpp: 44370 (WKPageNamespaceGetContext): 44371 * UIProcess/API/C/WKPageNamespace.h: 44372 * UIProcess/WebContext.cpp: 44373 (WebKit::WebContext::getStatistics): 44374 * UIProcess/WebContext.h: 44375 * UIProcess/WebPageNamespace.cpp: 44376 (WebKit::WebPageNamespace::getStatistics): 44377 * UIProcess/WebPageNamespace.h: 44378 * UIProcess/WebPageProxy.cpp: 44379 (WebKit::WebPageProxy::getStatistics): 44380 * UIProcess/WebPageProxy.h: 44381 * UIProcess/WebProcessProxy.cpp: 44382 (WebKit::WebProcessProxy::numberOfPages): 44383 * UIProcess/WebProcessProxy.h: 44384 * WebKit2.xcodeproj/project.pbxproj: 44385 * win/WebKit2.vcproj: 44386 44387 2010-04-20 Anders Carlsson <andersca (a] apple.com> 44388 44389 Reviewed by Sam Weinig. 44390 44391 Don't paint the web page before we've blit the last update chunk to the backing store. 44392 44393 * UIProcess/win/DrawingAreaProxy.cpp: 44394 (WebKit::DrawingAreaProxy::update): 44395 (WebKit::DrawingAreaProxy::didReceiveMessage): 44396 * UIProcess/win/DrawingAreaProxy.h: 44397 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: 44398 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk): 44399 (WebKit::DrawingAreaUpdateChunk::display): 44400 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay): 44401 (WebKit::DrawingAreaUpdateChunk::setSize): 44402 (WebKit::DrawingAreaUpdateChunk::didUpdate): 44403 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage): 44404 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: 44405 44406 2010-04-20 Anders Carlsson <andersca (a] apple.com> 44407 44408 Fix build. 44409 44410 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44411 (WebKit::WebFrameLoaderClient::receivedData): 44412 44413 2010-04-20 Anders Carlsson <andersca (a] apple.com> 44414 44415 Reviewed by Sam Weinig. 44416 44417 Don't paint the web page before we've blit the last update chunk to the backing store 44418 https://bugs.webkit.org/show_bug.cgi?id=37896 44419 44420 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: 44421 (DrawingAreaMessage::): 44422 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: 44423 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: 44424 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore): 44425 (WebKit::DrawingAreaProxyUpdateChunk::update): 44426 (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage): 44427 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44428 (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk): 44429 (WebKit::DrawingAreaUpdateChunk::display): 44430 (WebKit::DrawingAreaUpdateChunk::scheduleDisplay): 44431 (WebKit::DrawingAreaUpdateChunk::setSize): 44432 (WebKit::DrawingAreaUpdateChunk::didUpdate): 44433 (WebKit::DrawingAreaUpdateChunk::didReceiveMessage): 44434 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: 44435 44436 2010-04-20 Anders Carlsson <andersca (a] apple.com> 44437 44438 Fix build. 44439 44440 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 44441 (WebKit::WebChromeClient::chooseIconForFiles): 44442 * WebProcess/WebCoreSupport/WebChromeClient.h: 44443 44444 2010-04-19 Anders Carlsson <andersca (a] apple.com> 44445 44446 Fix build. 44447 44448 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44449 (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons): 44450 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 44451 44452 2010-04-17 Sam Weinig <weinig (a] apple.com> 44453 44454 Reviewed by Jon "The Belly" Honeycutt. 44455 44456 Remove the need for a .defs file! Define WK_EXPORT. 44457 44458 * UIProcess/API/C/WKBase.h: 44459 * WebProcess/win/WebProcessMain.h: 44460 * win/WebKit2.def: Removed. 44461 * win/WebKit2.vcproj: 44462 44463 2010-04-17 Sam Weinig <weinig (a] apple.com> 44464 44465 Reviewed by Adam Roben. 44466 44467 Teach windows MiniBrowser how to work with window.open() 44468 and targeted links. 44469 44470 Export WKPageSetPageUIClient. 44471 44472 * win/WebKit2.def: 44473 44474 2010-04-16 Sam Weinig <sam (a] webkit.org> 44475 44476 Reviewed by Anders Carlsson. 44477 44478 Fix window.open() and targeted links. 44479 44480 * UIProcess/WebPageProxy.cpp: 44481 (WebKit::WebPageProxy::didReceiveSyncMessage): Pass in the new pageID 44482 instead of 0. 44483 44484 * WebProcess/WebProcess.cpp: 44485 (WebKit::WebProcess::createWebPage): Allow for the page to have already 44486 been created, as is the case with programmatic window opening from within 44487 WebCore (e.g. window.open() or <a target="_blank">). 44488 44489 2010-04-16 Sam Weinig <sam (a] webkit.org> 44490 44491 Reviewed by Mark Rowe. 44492 44493 Don't optimize debug builds. 44494 44495 * WebKit2.xcodeproj/project.pbxproj: Define GCC_OPTIMIZATION_LEVEL correctly. 44496 44497 2010-04-16 Anders Carlsson <andersca (a] apple.com> 44498 44499 Fix build. 44500 44501 * WebProcess/WebPage/WebPage.cpp: 44502 (WebKit::WebPage::runJavaScriptInMainFrame): 44503 44504 2010-04-16 Anders Carlsson <andersca (a] apple.com> 44505 44506 Reviewed by Sam Weinig. 44507 44508 Fix windows build. 44509 44510 * Platform/win/RunLoopWin.cpp: 44511 (RunLoop::run): 44512 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 44513 (WebKit::webThreadBody): 44514 (WebKit::launchWebProcess): 44515 * WebProcess/win/WebProcessMain.cpp: 44516 (WebKit::WebProcessMain): 44517 44518 2010-04-16 Sam Weinig <weinig (a] apple.com> 44519 44520 Reviewed by Anders Carlsson. 44521 44522 Make resizing responsive on Windows. 44523 44524 - Use the same waitFor logic as do for the Mac resizing 44525 DrawingAreaUpdateChunk code. 44526 44527 * Shared/win/UpdateChunk.cpp: 44528 (WebKit::UpdateChunk::UpdateChunk): 44529 * Shared/win/UpdateChunk.h: 44530 Add a constructor that only takes an IntRect and allocates 44531 the shared memory mapping for you. 44532 * UIProcess/win/DrawingAreaProxy.cpp: 44533 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 44534 (WebKit::DrawingAreaProxy::ensureBackingStore): 44535 (WebKit::DrawingAreaProxy::paint): 44536 (WebKit::DrawingAreaProxy::drawUpdateChunkIntoBackingStore): 44537 (WebKit::DrawingAreaProxy::setSize): 44538 (WebKit::DrawingAreaProxy::didSetSize): 44539 (WebKit::DrawingAreaProxy::didReceiveMessage): 44540 * UIProcess/win/DrawingAreaProxy.h: 44541 Perform wait in paint as we do on the mac. 44542 44543 * UIProcess/win/WebView.cpp: 44544 (WebKit::WebView::onSizeEvent): 44545 Change to use an IntSize. 44546 44547 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: 44548 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk): 44549 (WebKit::DrawingAreaUpdateChunk::display): 44550 (WebKit::DrawingAreaUpdateChunk::setSize): 44551 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: 44552 Specialize setSize() drawing and factor out painting 44553 into a helper function. 44554 44555 2010-04-16 Anders Carlsson <andersca (a] apple.com> 44556 44557 Reviewed by David Hyatt. 44558 44559 Make run loops be allocated as thread specific data. 44560 https://bugs.webkit.org/show_bug.cgi?id=37723 44561 44562 * Platform/RunLoop.cpp: 44563 (RunLoop::initializeMainRunLoop): 44564 (RunLoop::current): 44565 (RunLoop::main): 44566 * Platform/RunLoop.h: 44567 * Platform/mac/RunLoopMac.mm: 44568 (RunLoop::run): 44569 (RunLoop::stop): 44570 * UIProcess/Launcher/mac/WebProcessLauncher.mm: 44571 (WebKit::webThreadBody): 44572 (WebKit::launchWebProcess): 44573 * UIProcess/ResponsivenessTimer.cpp: 44574 (WebKit::ResponsivenessTimer::ResponsivenessTimer): 44575 * WebProcess/Launching/mac/WebProcessMain.mm: 44576 (main): 44577 * WebProcess/WebProcess.cpp: 44578 (WebKit::WebProcess::isSeparateProcess): 44579 44580 2010-04-16 Sam Weinig <weinig (a] apple.com> 44581 44582 Reviewed by Adam Roben. 44583 44584 Use GDI text rendering on Windows by default. 44585 44586 * WebProcess/WebPage/win/WebPageWin.cpp: 44587 (WebKit::WebPage::platformInitialize): Use the AlternateRenderingMode 44588 setting. 44589 44590 2010-04-16 Sam Weinig <weinig (a] apple.com> 44591 44592 Reviewed by Adam Roben. 44593 44594 Fix crash when trying to load an invalid URL. 44595 44596 * WebProcess/WebPage/WebPage.cpp: 44597 (WebKit::WebPage::loadURL): Use constructor for ResourceRequest 44598 that takes a KURL instead of the one that takes a String. The one 44599 that takes a string expects a valid URL. 44600 44601 2010-04-16 Sam Weinig <weinig (a] apple.com> 44602 44603 Reviewed by Adam Roben. 44604 44605 Make tooltips work. Thanks Adam! 44606 44607 * UIProcess/win/WebView.cpp: 44608 (WebKit::WebView::toolTipChanged): Pass the WebView's HWND, not the tooltip's. 44609 44610 2010-04-15 Anders Carlsson <andersca (a] apple.com> 44611 44612 Reviewed by Adam Roben. 44613 44614 Fix build dependencies. 44615 44616 * WebKit2.sln: 44617 44618 2010-04-15 Adam Roben <aroben (a] apple.com> 44619 44620 Fix Windows WebKit2 build. 44621 44622 * UIProcess/WebPageProxy.cpp: 44623 (WebKit::WebPageProxy::processDidExit): 44624 * win/WebKit2Generated.make: 44625 44626 2010-04-15 Sam Weinig <sam (a] webkit.org> 44627 44628 Reviewed by Anders Carlsson. 44629 44630 Add WebHistoryClient support. 44631 https://bugs.webkit.org/show_bug.cgi?id=37671 44632 44633 Adds the following callbacks: 44634 didNavigateWithNavigationData 44635 didPerformClientRedirect 44636 didPerformServerRedirect 44637 didUpdateHistoryTitle 44638 44639 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: 44640 (WebPageProxyMessage::): 44641 * Shared/WebNavigationDataStore.h: Added. 44642 * UIProcess/API/C/WKAPICast.h: 44643 * UIProcess/API/C/WKBase.h: 44644 * UIProcess/API/C/WKNavigationData.cpp: Added. 44645 * UIProcess/API/C/WKNavigationData.h: Added. 44646 * UIProcess/API/C/WKPage.cpp: 44647 * UIProcess/API/C/WKPage.h: 44648 * UIProcess/API/C/WebKit2.h: 44649 * UIProcess/WebHistoryClient.cpp: Copied from UIProcess/WebUIClient.cpp. 44650 * UIProcess/WebHistoryClient.h: Copied from UIProcess/WebUIClient.h. 44651 * UIProcess/WebNavigationData.cpp: Added. 44652 * UIProcess/WebNavigationData.h: Added. 44653 * UIProcess/WebPageProxy.cpp: 44654 * UIProcess/WebPageProxy.h: 44655 * WebKit2.xcodeproj/project.pbxproj: 44656 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44657 * win/WebKit2.vcproj: 44658 44659 2010-04-15 Sam Weinig <sam (a] webkit.org> 44660 44661 Reviewed by Adam Roben. 44662 44663 Remove empty file configurations. 44664 44665 * win/WebKit2.vcproj: 44666 44667 2010-04-15 Sam Weinig <sam (a] webkit.org> 44668 44669 Reviewed by Anders Carlsson. 44670 44671 Fix WebKit2s build. Don't return temporaries. 44672 44673 * UIProcess/API/C/cf/WKStringCF.cpp: 44674 (WKStringCreateWithCFString): 44675 * UIProcess/API/C/cf/WKURLCF.cpp: 44676 (WKURLCreateWithCFURL): 44677 (WKURLCopyCFURL): 44678 44679 2010-04-12 Geoffrey Garen <ggaren (a] apple.com> 44680 44681 Reviewed by Anders Carlsson. 44682 44683 Fixed complexity and performance FIXME created by using KURL in the UI 44684 process -- it turned out that everywhere we were using KURL, we could 44685 have just used String instead. (That's how Windows WebKit works, too.) 44686 44687 I kept WKURLRef and WKStringRef distinct opaque types in the API for now, 44688 though, since there may be profit in changing their backing stores in the 44689 future, and it's nice for the API to encode a difference between generic 44690 strings and strings that are valid, canonical URLs. 44691 44692 * Shared/KURLWrapper.h: Removed. Yay! 44693 44694 * Shared/WebCoreTypeArgumentMarshalling.h: Nixed KURL marshalling functions. 44695 Old callers marshal Strings now, instead. (This is what KURL was doing 44696 under the covers, anyway.) 44697 44698 * UIProcess/API/C/WKAPICast.h: 44699 (toWK): Backed by StringImpl* now. 44700 (toURLRef): Added a disambiguating function for specifying that you want 44701 a WKURLRef, since StringImpl* converts to WKStringRef by default. 44702 44703 * UIProcess/API/C/WKFrame.cpp: 44704 (WKFrameGetProvisionalURL): 44705 (WKFrameGetURL): 44706 * UIProcess/API/C/WKPage.cpp: 44707 (WKPageLoadURL): 44708 * UIProcess/API/C/WKURL.cpp: 44709 * UIProcess/API/C/cf/WKURLCF.cpp: 44710 (WKURLCreateWithCFURL): 44711 (WKURLCopyCFURL): 44712 * UIProcess/WebFrameProxy.cpp: 44713 (WebKit::WebFrameProxy::didStartProvisionalLoad): 44714 (WebKit::WebFrameProxy::didCommitLoad): 44715 * UIProcess/WebFrameProxy.h: 44716 (WebKit::WebFrameProxy::url): 44717 (WebKit::WebFrameProxy::provisionalURL): 44718 * UIProcess/WebPageProxy.cpp: 44719 (WebKit::WebPageProxy::loadURL): 44720 (WebKit::WebPageProxy::didReceiveMessage): 44721 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 44722 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 44723 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 44724 (WebKit::WebPageProxy::decidePolicyForMIMEType): 44725 (WebKit::WebPageProxy::processDidExit): 44726 * UIProcess/WebPageProxy.h: 44727 (WebKit::WebPageProxy::urlAtProcessExit): 44728 * UIProcess/WebPolicyClient.cpp: 44729 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 44730 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 44731 (WebKit::WebPolicyClient::decidePolicyForMIMEType): 44732 * UIProcess/WebPolicyClient.h: 44733 * WebKit2.xcodeproj/project.pbxproj: 44734 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 44735 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 44736 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): 44737 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 44738 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 44739 * WebProcess/WebPage/WebPage.cpp: 44740 (WebKit::WebPage::loadURL): 44741 (WebKit::WebPage::didReceiveMessage): 44742 * WebProcess/WebPage/WebPage.h: Replaced KURL / KURLWrapper with String. 44743 44744 2010-04-14 Anders Carlsson <andersca (a] apple.com> 44745 44746 Reviewed by Sam Weinig. 44747 44748 Fix horizontal scrollbar repainting 44749 https://bugs.webkit.org/show_bug.cgi?id=37626 44750 44751 Make sure that the update chunk is flipped because that's what WebCore expects. 44752 44753 * Shared/mac/UpdateChunk.cpp: 44754 (WebKit::UpdateChunk::createImage): 44755 * Shared/mac/UpdateChunk.h: 44756 Add new createImage member function that creates a CGImageRef from the update chunk. 44757 44758 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: 44759 (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore): 44760 Pass the right rectangle here; CoreGraphics wants it in non-flipped coordinates. 44761 44762 (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore): 44763 Create a flipped backing store. 44764 44765 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44766 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk): 44767 Flip the update chunk. 44768 44769 2010-04-14 Sam Weinig <sam (a] webkit.org> 44770 44771 Reviewed by Anders Carlsson. 44772 44773 Add WKRetainPtr helper class as private header 44774 https://bugs.webkit.org/show_bug.cgi?id=37603 44775 44776 WKRetainPtr is just like RetainPtr, but works for WK types instead of 44777 CF/NS types. 44778 44779 * UIProcess/API/cpp: Added. 44780 * UIProcess/API/cpp/WKRetainPtr.h: Added. 44781 * WebKit2.xcodeproj/project.pbxproj: Add new file. 44782 * win/WebKit2.vcproj: Ditto. 44783 44784 2010-04-14 Sam Weinig <sam (a] webkit.org> 44785 44786 Reviewed by Anders Carlsson. 44787 44788 Make the WebProcess a LSUIElement to suppress its icon from the Dock. 44789 44790 * WebKit2.xcodeproj/project.pbxproj: 44791 * WebProcess/Info.plist: 44792 44793 2010-04-14 Anders Carlsson <andersca (a] apple.com> 44794 44795 Reviewed by Sam Weinig. 44796 44797 Factor code to paint into an update chunk out into a separate function. 44798 https://bugs.webkit.org/show_bug.cgi?id=37594 44799 44800 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 44801 (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk): 44802 (WebKit::DrawingAreaUpdateChunk::display): 44803 (WebKit::DrawingAreaUpdateChunk::setSize): 44804 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: 44805 44806 2010-04-13 Sam Weinig <sam (a] webkit.org> 44807 44808 Reviewed by Anders Carlsson. 44809 44810 Fix reported leaks when quitting MiniBrowser with open pages. 44811 44812 * WebProcess/WebPage/WebPage.h: Make close() public. 44813 * WebProcess/WebProcess.cpp: 44814 (WebKit::WebProcess::WebProcess): 44815 (WebKit::WebProcess::removeWebPage): 44816 (WebKit::WebProcess::didClose): If the UIProcess disappears, close 44817 the live pages in an effort to not leak. 44818 * WebProcess/WebProcess.h: 44819 44820 2010-04-13 Sam Weinig <sam (a] webkit.org> 44821 44822 Reviewed by Anders Carlsson. 44823 44824 Do a JS collection and clear the memory cache to improve leaks output 44825 when exiting. Only do this in debug builds as it is slow. 44826 44827 * UIProcess/API/mac/WKView.h: 44828 * UIProcess/WebProcessProxy.cpp: 44829 * WebProcess/WebPage/WebPage.cpp: 44830 * WebProcess/WebProcess.cpp: 44831 (WebKit::WebProcess::shutdown): 44832 (WebKit::WebProcess::didClose): 44833 44834 2010-04-13 Sam Weinig <sam (a] webkit.org> 44835 44836 Reviewed by Adele Peterson. 44837 44838 Post a null event after calling [NSApp stop] to flush the run loop 44839 and finish teardown. 44840 44841 * Platform/mac/RunLoopMac.mm: 44842 (RunLoop::stop): 44843 44844 2010-04-12 Sam Weinig <sam (a] webkit.org> 44845 44846 Reviewed by Anders Carlsson. 44847 44848 Add #ifdef so that WKView is not included on the mac if not 44849 compiling objective-c. 44850 44851 * UIProcess/API/C/WebKit2.h: 44852 44853 2010-04-12 Anders Carlsson <andersca (a] apple.com> 44854 44855 Reviewed by Adam Roben. 44856 44857 Add WebKit2 solution file. 44858 44859 * WebKit2.sln: Added. 44860 44861 2010-04-11 Sam Weinig <sam (a] webkit.org> 44862 44863 Reviewed by Darin Adler. 44864 44865 Fix for https://bugs.webkit.org/show_bug.cgi?id=37417 44866 Move duplicated internal CoreIPC message kinds to a 44867 header. 44868 44869 * Platform/CoreIPC/Connection.cpp: 44870 (CoreIPC::Connection::processIncomingMessage): 44871 * Platform/CoreIPC/CoreIPCMessageKinds.h: Added. 44872 (CoreIPC::CoreIPCMessage::): 44873 (CoreIPC::): 44874 * Platform/CoreIPC/mac/ConnectionMac.cpp: 44875 * WebKit2.xcodeproj/project.pbxproj: 44876 * win/WebKit2.vcproj: 44877 44878 2010-04-11 Sam Weinig <sam (a] webkit.org> 44879 44880 Rubber-stamped by Anders Carlsson. 44881 44882 Disable not-implemented warnings by default for now. 44883 44884 * Shared/NotImplemented.h: 44885 44886 2010-04-10 Sam Weinig <sam (a] webkit.org> 44887 44888 Reviewed by Anders Carlsson. 44889 44890 Fix for https://bugs.webkit.org/show_bug.cgi?id=37399 44891 Remove use of STL data structures from CoreIPC code 44892 44893 * Platform/CoreIPC/ArgumentDecoder.cpp: 44894 (CoreIPC::ArgumentDecoder::ArgumentDecoder): 44895 (CoreIPC::ArgumentDecoder::decodeBytes): 44896 (CoreIPC::ArgumentDecoder::removeAttachment): 44897 * Platform/CoreIPC/ArgumentDecoder.h: 44898 Use WTF::Deque instead of std::queue and WTF::Vector 44899 instead of std::vector. Replace use of malloc/free with 44900 fastMalloc/fastFree. 44901 44902 * Platform/CoreIPC/ArgumentEncoder.cpp: 44903 (CoreIPC::ArgumentEncoder::addAttachment): 44904 (CoreIPC::ArgumentEncoder::releaseAttachments): 44905 * Platform/CoreIPC/ArgumentEncoder.h: 44906 Use WTF::Vector instead of std::list. Replace use of malloc/free 44907 with fastMalloc/fastFree. 44908 44909 * Platform/CoreIPC/Connection.cpp: 44910 (CoreIPC::Connection::sendMessage): 44911 (CoreIPC::Connection::waitForMessage): 44912 (CoreIPC::Connection::processIncomingMessage): 44913 (CoreIPC::Connection::sendOutgoingMessages): 44914 (CoreIPC::Connection::dispatchMessages): 44915 * Platform/CoreIPC/Connection.h: 44916 * Platform/CoreIPC/mac/ConnectionMac.cpp: 44917 (CoreIPC::Connection::sendOutgoingMessage): 44918 (CoreIPC::createArgumentDecoder): 44919 Use WTF::Vector instead of std::queue. 44920 44921 * Platform/RunLoop.cpp: 44922 (RunLoop::performWork): 44923 (RunLoop::scheduleWork): 44924 * Platform/RunLoop.h: 44925 Ditto. 44926 44927 * Platform/WorkQueue.h: 44928 * Platform/win/WorkQueueWin.cpp: 44929 (WorkQueue::scheduleWork): 44930 (WorkQueue::performWork): 44931 Ditto. 44932 44933 2010-04-10 Mark Rowe <mrowe (a] apple.com> 44934 44935 Fix an obviously incorrect part of the Xcode configuration cleanup that resulted in debug builds 44936 asserting shortly after launch. 44937 44938 * WebKit2.xcodeproj/project.pbxproj: Fix the setting of DEBUG_DEFINES for the Debug configuration. 44939 44940 2010-04-09 Mark Rowe <mrowe (a] apple.com> 44941 44942 Reviewed by Sam Weinig. 44943 44944 Bring the WebKit2 Xcode configuration in to sync with recent changes to the WebKit Xcode configuration files. 44945 44946 In particular, this updates the FEATURE_DEFINES to match those used in the other projects, and brings in 44947 the changes to support building WebKit for older Mac OS X versions from the current Mac OS X version. 44948 44949 * Configurations/Base.xcconfig: 44950 * Configurations/DebugRelease.xcconfig: 44951 * Configurations/FeatureDefines.xcconfig: 44952 * Configurations/Version.xcconfig: 44953 44954 2010-04-09 Mark Rowe <mrowe (a] apple.com> 44955 44956 Reviewed by Sam Weinig. 44957 44958 Clean up the Xcode project configuration. 44959 44960 Common target settings are pulled out in to BaseTarget.xcconfig. The majority of setting overrides are 44961 removed from the Xcode project itself. Info.plist files are updated to match those used in other frameworks. 44962 44963 * Configurations/BaseTarget.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig. 44964 * Configurations/WebKit2.xcconfig: 44965 * Configurations/WebProcess.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig. 44966 * Info.plist: 44967 * WebKit2.xcodeproj/project.pbxproj: 44968 * WebProcess-Info.plist: Removed. 44969 * WebProcess/Info.plist: Moved from WebProcess-Info.plist. 44970 44971 2010-04-09 Mark Rowe <mrowe (a] apple.com> 44972 44973 Build fix. 44974 44975 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: 44976 (InitWebCoreSystemInterface): Update for recent WKSI changes. 44977 44978 2010-04-09 Sam Weinig <sam (a] webkit.org> 44979 44980 Reviewed by Darin Adler. 44981 44982 Fix for https://bugs.webkit.org/show_bug.cgi?id=37351 44983 Cannot build with build-webkit --webkit2 44984 44985 Add some headers that it seems others are not getting 44986 already. 44987 44988 * Platform/mac/WorkQueueMac.cpp: #inlude <mach/mach_port.h> 44989 * Shared/mac/UpdateChunk.cpp: #inlude <mach/vm_map.h> 44990 44991 2010-04-09 Anders Carlsson <andersca (a] apple.com> 44992 44993 More build fixes. 44994 44995 * WebProcess/win/WebProcessMain.h: 44996 Include windows.h here. 44997 44998 * win/WebKit2.def: 44999 Add new exports. 45000 45001 * win/WebKit2.vcproj: 45002 Add new files. 45003 45004 2010-04-09 Sam Weinig <sam (a] webkit.org> 45005 45006 Reviewed by Anders Carlsson. 45007 45008 Add new WKString.h and WKURL.h headers to top 45009 level include. 45010 45011 * UIProcess/API/C/WebKit2.h: 45012 45013 2010-04-09 Anders Carlsson <andersca (a] apple.com> 45014 45015 More Windows build fixes. 45016 45017 * Shared/NotImplemented.h: 45018 * UIProcess/API/C/cf/WKURLCF.cpp: 45019 Fix typo. 45020 45021 (WKURLCreateWithCFURL): 45022 * UIProcess/API/C/cf/WKURLCF.h: 45023 Ditto. 45024 45025 * win/WebKit2Generated.make: 45026 Copy the new CF headers. 45027 45028 2010-04-09 Sam Weinig <sam (a] webkit.org> 45029 45030 Reviewed by Anders Carlsson. 45031 45032 Two more #include sorting issues. 45033 45034 * Shared/NotImplemented.h: 45035 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: 45036 45037 2010-04-09 Sam Weinig <sam (a] webkit.org> 45038 45039 Reviewed by Anders Carlsson. 45040 45041 Fix minor style nits found by the style-script. 45042 45043 * Platform/CoreIPC/ArgumentDecoder.h: 45044 * Platform/CoreIPC/ArgumentEncoder.cpp: 45045 * Platform/CoreIPC/Attachment.cpp: 45046 * Platform/CoreIPC/Connection.cpp: 45047 * Platform/CoreIPC/Connection.h: 45048 * Platform/CoreIPC/mac/ConnectionMac.cpp: 45049 * Platform/CoreIPC/win/ConnectionWin.cpp: 45050 * Platform/WorkQueue.h: 45051 * Platform/mac/WorkQueueMac.cpp: 45052 * Platform/win/RunLoopWin.cpp: 45053 * Shared/KURLWrapper.h: 45054 * Shared/WebCoreTypeArgumentMarshalling.h: 45055 * Shared/mac/UpdateChunk.cpp: 45056 * UIProcess/API/C/WKPage.cpp: 45057 * UIProcess/API/C/WKURL.cpp: 45058 * UIProcess/Launcher/win/WebProcessLauncher.cpp: 45059 * UIProcess/ResponsivenessTimer.cpp: 45060 * UIProcess/WebLoaderClient.cpp: 45061 * UIProcess/WebPageProxy.h: 45062 * UIProcess/WebPolicyClient.cpp: 45063 * UIProcess/WebUIClient.cpp: 45064 * UIProcess/win/DrawingAreaProxy.cpp: 45065 * UIProcess/win/WebView.cpp: 45066 * WebProcess/Launching/win/WebProcessWinMain.cpp: 45067 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 45068 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 45069 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: 45070 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: 45071 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: 45072 * WebProcess/WebPage/WebFrame.h: 45073 * WebProcess/WebPage/WebPage.cpp: 45074 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: 45075 * WebProcess/WebProcess.h: 45076 * WebProcess/win/WebLocalizableStrings.cpp: 45077 * WebProcess/win/WebLocalizableStrings.h: 45078 * WebProcess/win/WebProcessMain.cpp: 45079 45080 2010-04-09 Anders Carlsson <andersca (a] apple.com> 45081 45082 Fix Windows build. 45083 45084 * Shared/NotImplemented.h: 45085 Include stdio.h. 45086 45087 2010-04-09 Sam Weinig <sam (a] webkit.org> 45088 45089 Reviewed by Anders Carlsson. 45090 45091 Fix for https://bugs.webkit.org/show_bug.cgi?id=37347 45092 Don't use CF types in the new C API 45093 45094 Replace all uses of CF types in the C API. 45095 - Replace CFStringRef with WKStringRef. 45096 - Replace CFURLRef with WKURLRef. 45097 45098 * WebKit2.xcodeproj/project.pbxproj: Add new files. 45099 45100 * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL. 45101 * UIProcess/API/C/WKAPICast.h: Add new conversions. 45102 * UIProcess/API/C/WKBase.h: Add new types. 45103 * UIProcess/API/C/WKFrame.cpp: 45104 * UIProcess/API/C/WKFrame.h: 45105 * UIProcess/API/C/WKPage.cpp: 45106 * UIProcess/API/C/WKPage.h: 45107 Replace uses of CF types with WK equivalents. 45108 45109 * UIProcess/API/C/WKString.cpp: Added. 45110 * UIProcess/API/C/WKString.h: Added. 45111 Represents a WebCore::StringImpl*. 45112 45113 * UIProcess/API/C/WKURL.cpp: Added. 45114 * UIProcess/API/C/WKURL.h: Added. 45115 Represents a WebKit::KURLWrapper*. 45116 45117 * UIProcess/API/C/cf: Added. 45118 * UIProcess/API/C/cf/WKStringCF.cpp: Added. 45119 * UIProcess/API/C/cf/WKStringCF.h: Added. 45120 * UIProcess/API/C/cf/WKURLCF.cpp: Added. 45121 * UIProcess/API/C/cf/WKURLCF.h: Added. 45122 CoreFoundation conversion files. Allows converting 45123 WKStringRef <-> CFStringRef 45124 WKURLRef <-> CFURLRef 45125 45126 * UIProcess/ScriptReturnValueCallback.cpp: 45127 (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue): 45128 * UIProcess/ScriptReturnValueCallback.h: 45129 * UIProcess/WebFrameProxy.cpp: 45130 (WebKit::WebFrameProxy::didStartProvisionalLoad): 45131 (WebKit::WebFrameProxy::didCommitLoad): 45132 * UIProcess/WebFrameProxy.h: 45133 (WebKit::WebFrameProxy::url): 45134 (WebKit::WebFrameProxy::provisionalURL): 45135 * UIProcess/WebLoaderClient.cpp: 45136 (WebKit::WebLoaderClient::didReceiveTitleForFrame): 45137 * UIProcess/WebLoaderClient.h: 45138 * UIProcess/WebPageProxy.cpp: 45139 (WebKit::WebPageProxy::close): 45140 (WebKit::WebPageProxy::didReceiveTitleForFrame): 45141 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 45142 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 45143 (WebKit::WebPageProxy::decidePolicyForMIMEType): 45144 (WebKit::WebPageProxy::runJavaScriptAlert): 45145 (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): 45146 (WebKit::WebPageProxy::processDidExit): 45147 * UIProcess/WebPageProxy.h: 45148 (WebKit::WebPageProxy::pageTitle): 45149 (WebKit::WebPageProxy::urlAtProcessExit): 45150 * UIProcess/WebPolicyClient.cpp: 45151 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 45152 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 45153 (WebKit::WebPolicyClient::decidePolicyForMIMEType): 45154 * UIProcess/WebPolicyClient.h: 45155 * UIProcess/WebUIClient.cpp: 45156 (WebKit::WebUIClient::runJavaScriptAlert): 45157 * UIProcess/WebUIClient.h: 45158 Don't use CF types internally at all. 45159 45160 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 45161 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): 45162 Fix typo. 45163 45164 2010-04-08 Sam Weinig <sam (a] webkit.org> 45165 45166 Reviewed by Anders Carlsson. 45167 45168 Add build support for WebKit2. 45169 45170 * Configurations: Added. 45171 * Configurations/Base.xcconfig: Added. 45172 * Configurations/DebugRelease.xcconfig: Added. 45173 * Configurations/FeatureDefines.xcconfig: Added. 45174 * Configurations/Version.xcconfig: Added. 45175 * Configurations/WebKit2.xcconfig: Added. 45176 * English.lproj: Added. 45177 * English.lproj/InfoPlist.strings: Added. 45178 * Info.plist: Added. 45179 * Makefile: Added. 45180 * WebKit2.xcodeproj: Added. 45181 * WebKit2.xcodeproj/project.pbxproj: Added. 45182 * WebKit2Prefix.cpp: Added. 45183 * WebKit2Prefix.h: Added. 45184 * WebKit2_Prefix.pch: Added. 45185 * WebProcess-Info.plist: Added. 45186 * version.plist: Added. 45187 * win: Added. 45188 * win/WebKit2.def: Added. 45189 * win/WebKit2.vcproj: Added. 45190 * win/WebKit2Generated.make: Added. 45191 * win/WebKit2Generated.vcproj: Added. 45192 * win/WebKit2WebProcess.vcproj: Added. 45193 45194 2010-04-08 Anders Carlsson <andersca (a] apple.com> 45195 45196 Reviewed by Sam Weinig. 45197 45198 https://bugs.webkit.org/show_bug.cgi?id=37301 45199 Add WebKit2/UIProcess directory. 45200 45201 * UIProcess: Added. 45202 * UIProcess/API: Added. 45203 * UIProcess/API/C: Added. 45204 * UIProcess/API/C/WKAPICast.h: Added. 45205 * UIProcess/API/C/WKBase.h: Added. 45206 * UIProcess/API/C/WKContext.cpp: Added. 45207 * UIProcess/API/C/WKContext.h: Added. 45208 * UIProcess/API/C/WKFrame.cpp: Added. 45209 * UIProcess/API/C/WKFrame.h: Added. 45210 * UIProcess/API/C/WKFramePolicyListener.cpp: Added. 45211 * UIProcess/API/C/WKFramePolicyListener.h: Added. 45212 * UIProcess/API/C/WKPage.cpp: Added. 45213 * UIProcess/API/C/WKPage.h: Added. 45214 * UIProcess/API/C/WKPageNamespace.cpp: Added. 45215 * UIProcess/API/C/WKPageNamespace.h: Added. 45216 * UIProcess/API/C/WKPreferences.cpp: Added. 45217 * UIProcess/API/C/WKPreferences.h: Added. 45218 * UIProcess/API/C/WebKit2.h: Added. 45219 * UIProcess/API/mac: Added. 45220 * UIProcess/API/mac/PageClientImpl.h: Added. 45221 * UIProcess/API/mac/PageClientImpl.mm: Added. 45222 * UIProcess/API/mac/WKView.h: Added. 45223 * UIProcess/API/mac/WKView.mm: Added. 45224 * UIProcess/API/mac/WKViewInternal.h: Added. 45225 * UIProcess/API/win: Added. 45226 * UIProcess/API/win/WKAPICastWin.h: Added. 45227 * UIProcess/API/win/WKBaseWin.h: Added. 45228 * UIProcess/API/win/WKView.cpp: Added. 45229 * UIProcess/API/win/WKView.h: Added. 45230 * UIProcess/Launcher: Added. 45231 * UIProcess/Launcher/WebProcessLauncher.h: Added. 45232 * UIProcess/Launcher/mac: Added. 45233 * UIProcess/Launcher/mac/WebProcessLauncher.mm: Added. 45234 * UIProcess/Launcher/win: Added. 45235 * UIProcess/Launcher/win/WebProcessLauncher.cpp: Added. 45236 * UIProcess/PageClient.h: Added. 45237 * UIProcess/ProcessModel.h: Added. 45238 * UIProcess/ResponsivenessTimer.cpp: Added. 45239 * UIProcess/ResponsivenessTimer.h: Added. 45240 * UIProcess/ScriptReturnValueCallback.cpp: Added. 45241 * UIProcess/ScriptReturnValueCallback.h: Added. 45242 * UIProcess/WebContext.cpp: Added. 45243 * UIProcess/WebContext.h: Added. 45244 * UIProcess/WebFramePolicyListenerProxy.cpp: Added. 45245 * UIProcess/WebFramePolicyListenerProxy.h: Added. 45246 * UIProcess/WebFrameProxy.cpp: Added. 45247 * UIProcess/WebFrameProxy.h: Added. 45248 * UIProcess/WebLoaderClient.cpp: Added. 45249 * UIProcess/WebLoaderClient.h: Added. 45250 * UIProcess/WebPageNamespace.cpp: Added. 45251 * UIProcess/WebPageNamespace.h: Added. 45252 * UIProcess/WebPageProxy.cpp: Added. 45253 * UIProcess/WebPageProxy.h: Added. 45254 * UIProcess/WebPolicyClient.cpp: Added. 45255 * UIProcess/WebPolicyClient.h: Added. 45256 * UIProcess/WebPreferences.cpp: Added. 45257 * UIProcess/WebPreferences.h: Added. 45258 * UIProcess/WebProcessManager.cpp: Added. 45259 * UIProcess/WebProcessManager.h: Added. 45260 * UIProcess/WebProcessProxy.cpp: Added. 45261 * UIProcess/WebProcessProxy.h: Added. 45262 * UIProcess/WebUIClient.cpp: Added. 45263 * UIProcess/WebUIClient.h: Added. 45264 * UIProcess/mac: Added. 45265 * UIProcess/mac/DrawingAreaProxy.h: Added. 45266 * UIProcess/mac/DrawingAreaProxy.mm: Added. 45267 * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Added. 45268 * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Added. 45269 * UIProcess/win: Added. 45270 * UIProcess/win/DrawingAreaProxy.cpp: Added. 45271 * UIProcess/win/DrawingAreaProxy.h: Added. 45272 * UIProcess/win/WebView.cpp: Added. 45273 * UIProcess/win/WebView.h: Added. 45274 45275 2010-04-08 Anders Carlsson <andersca (a] apple.com> 45276 45277 Reviewed by Sam Weinig and Oliver Hunt. 45278 45279 https://bugs.webkit.org/show_bug.cgi?id=37300 45280 Add WebKit2/WebProcess directory. 45281 45282 * WebProcess: Added. 45283 * WebProcess/Launching: Added. 45284 * WebProcess/Launching/mac: Added. 45285 * WebProcess/Launching/mac/WebProcessMain.mm: Added. 45286 * WebProcess/Launching/win: Added. 45287 * WebProcess/Launching/win/WebProcessWinMain.cpp: Added. 45288 * WebProcess/WebCoreSupport: Added. 45289 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added. 45290 * WebProcess/WebCoreSupport/WebChromeClient.h: Added. 45291 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added. 45292 * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added. 45293 * WebProcess/WebCoreSupport/WebDragClient.cpp: Added. 45294 * WebProcess/WebCoreSupport/WebDragClient.h: Added. 45295 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added. 45296 * WebProcess/WebCoreSupport/WebEditorClient.h: Added. 45297 * WebProcess/WebCoreSupport/WebErrors.h: Added. 45298 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added. 45299 * WebProcess/WebCoreSupport/WebInspectorClient.h: Added. 45300 * WebProcess/WebCoreSupport/mac: Added. 45301 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added. 45302 * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added. 45303 * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added. 45304 * WebProcess/WebCoreSupport/win: Added. 45305 * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added. 45306 * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added. 45307 * WebProcess/WebPage: Added. 45308 * WebProcess/WebPage/DrawingArea.cpp: Added. 45309 * WebProcess/WebPage/DrawingArea.h: Added. 45310 * WebProcess/WebPage/WebFrame.cpp: Added. 45311 * WebProcess/WebPage/WebFrame.h: Added. 45312 * WebProcess/WebPage/WebPage.cpp: Added. 45313 * WebProcess/WebPage/WebPage.h: Added. 45314 * WebProcess/WebPage/mac: Added. 45315 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added. 45316 * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added. 45317 * WebProcess/WebPage/mac/WebPageMac.mm: Added. 45318 * WebProcess/WebPage/win: Added. 45319 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added. 45320 * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added. 45321 * WebProcess/WebPage/win/WebPageWin.cpp: Added. 45322 * WebProcess/WebProcess.cpp: Added. 45323 * WebProcess/WebProcess.h: Added. 45324 * WebProcess/win: Added. 45325 * WebProcess/win/DllMain.cpp: Added. 45326 * WebProcess/win/WebLocalizableStrings.cpp: Added. 45327 * WebProcess/win/WebLocalizableStrings.h: Added. 45328 * WebProcess/win/WebProcessMain.cpp: Added. 45329 * WebProcess/win/WebProcessMain.h: Added. 45330 45331 2010-04-08 Sam Weinig <sam (a] webkit.org> 45332 45333 Reviewed by Anders Carlsson. 45334 45335 https://bugs.webkit.org/show_bug.cgi?id=37295 45336 Add WebKit2/Shared directory. 45337 45338 * Shared: Added. 45339 * Shared/CoreIPCSupport: Added. 45340 * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Added. 45341 * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Added. 45342 * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added. 45343 * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added. 45344 * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Added. 45345 * Shared/NotImplemented.h: Added. 45346 * Shared/WebCoreTypeArgumentMarshalling.h: Added. 45347 * Shared/WebEvent.h: Added. 45348 * Shared/WebEventConversion.cpp: Added. 45349 * Shared/WebEventConversion.h: Added. 45350 * Shared/WebPreferencesStore.cpp: Added. 45351 * Shared/WebPreferencesStore.h: Added. 45352 * Shared/mac: Added. 45353 * Shared/mac/UpdateChunk.cpp: Added. 45354 * Shared/mac/UpdateChunk.h: Added. 45355 * Shared/mac/WebEventFactory.h: Added. 45356 * Shared/mac/WebEventFactory.mm: Added. 45357 * Shared/win: Added. 45358 * Shared/win/UpdateChunk.cpp: Added. 45359 * Shared/win/UpdateChunk.h: Added. 45360 * Shared/win/WebEventFactory.cpp: Added. 45361 * Shared/win/WebEventFactory.h: Added. 45362 45363 2010-04-08 Sam Weinig <sam (a] webkit.org> 45364 45365 Reviewed by Anders Carlsson. 45366 45367 https://bugs.webkit.org/show_bug.cgi?id=37293 45368 Add WebKit2/Platform directory. 45369 45370 * Platform: Added. 45371 * Platform/CoreIPC: Added. 45372 * Platform/CoreIPC/ArgumentDecoder.cpp: Added. 45373 * Platform/CoreIPC/ArgumentDecoder.h: Added. 45374 * Platform/CoreIPC/ArgumentEncoder.cpp: Added. 45375 * Platform/CoreIPC/ArgumentEncoder.h: Added. 45376 * Platform/CoreIPC/Arguments.h: Added. 45377 * Platform/CoreIPC/Attachment.cpp: Added. 45378 * Platform/CoreIPC/Attachment.h: Added. 45379 * Platform/CoreIPC/Connection.cpp: Added. 45380 * Platform/CoreIPC/Connection.h: Added. 45381 * Platform/CoreIPC/MessageID.h: Added. 45382 * Platform/CoreIPC/mac: Added. 45383 * Platform/CoreIPC/mac/ConnectionMac.cpp: Added. 45384 * Platform/CoreIPC/mac/MachPort.h: Added. 45385 * Platform/CoreIPC/win: Added. 45386 * Platform/CoreIPC/win/ConnectionWin.cpp: Added. 45387 * Platform/PlatformProcessIdentifier.h: Added. 45388 * Platform/RunLoop.cpp: Added. 45389 * Platform/RunLoop.h: Added. 45390 * Platform/WorkItem.h: Added. 45391 * Platform/WorkQueue.cpp: Added. 45392 * Platform/WorkQueue.h: Added. 45393 * Platform/mac: Added. 45394 * Platform/mac/RunLoopMac.mm: Added. 45395 * Platform/mac/WorkQueueMac.cpp: Added. 45396 * Platform/win: Added. 45397 * Platform/win/RunLoopWin.cpp: Added. 45398 45399 2010-04-08 Sam Weinig <sam (a] webkit.org> 45400 45401 Rubber-stamped by Mark Rowe. 45402 45403 Add WebKit2 directory. 45404