12013-10-12 Alexey Proskuryakov <ap@apple.com> 2 3 Add a feature define for SubtleCrypto 4 https://bugs.webkit.org/show_bug.cgi?id=122683 5 6 Reviewed by Anders Carlsson. 7 8 * Configurations/FeatureDefines.xcconfig: 9 102013-09-27 Jessica Pease <jessica_n_pease@apple.com> 11 12 Replace static cast ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION 13 https://bugs.webkit.org/show_bug.cgi?id=120803 14 15 Reviewed by Andreas Kling. 16 17 No new tests because we're just changing assertions. 18 19 * Shared/Plugins/NPObjectProxy.h: 20 (WebKit::NPObjectProxy::toNPObjectProxy): 21 * WebProcess/Plugins/Netscape/NPJSObject.h: 22 (WebKit::NPJSObject::toNPJSObject): 23 242013-09-06 Jessica Pease <jessica_n_pease@apple.com> 25 26 Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION 27 https://bugs.webkit.org/show_bug.cgi?id=120893 28 29 Reviewed by Darin Adler. 30 31 * Shared/Plugins/PluginQuirks.h: 32 (WebKit::PluginQuirks::add): 33 342013-10-12 Darin Adler <darin@apple.com> 35 36 Use unique_ptr instead of delete in a few places 37 https://bugs.webkit.org/show_bug.cgi?id=122639 38 39 Reviewed by Anders Carlsson. 40 41 * NetworkProcess/mac/RemoteNetworkingContext.mm: 42 (WebKit::privateBrowsingStorageSession): Use NeverDestroyed and unique_ptr. 43 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Use std::move. 44 45 * Shared/Downloads/DownloadManager.cpp: 46 (WebKit::DownloadManager::startDownload): Use std::move. Also add instead of set. 47 (WebKit::DownloadManager::convertHandleToDownload): Ditto. 48 (WebKit::DownloadManager::downloadFinished): Don't delete. 49 50 * Shared/Downloads/DownloadManager.h: Changed m_downloads to hold unique_ptr instead 51 of raw pointers. 52 53 * Shared/SandboxExtension.h: Use std::unique_ptr for m_data. 54 55 * Shared/mac/SandboxExtensionMac.mm: 56 (WebKit::SandboxExtension::HandleArray::HandleArray): Don't initialize m_data to 0. 57 (WebKit::SandboxExtension::HandleArray::~HandleArray): Don't delete m_data. 58 (WebKit::SandboxExtension::HandleArray::allocate): Use make_unique to allocate m_data. 59 60 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 61 (WebKit::privateSession): Use NeverDestroyed and unique_ptr. 62 (WebKit::identifierBase): Use NeverDestroyed. 63 (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 64 Updated to use the above. 65 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto. 66 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): Ditto. 67 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Ditto. 68 (WebKit::WebFrameNetworkingContext::storageSession): Ditto. 69 70 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 71 (WebKit::privateSession): 72 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 73 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): 74 (WebKit::WebFrameNetworkingContext::storageSession): 75 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient): 76 More of the same. 77 782013-10-11 Timothy Hatcher <timothy@apple.com> 79 80 Remove preference support for picking the old Web Inspector. 81 https://bugs.webkit.org/show_bug.cgi?id=122655 82 83 Reviewed by Alexey Proskuryakov. 84 85 * Shared/WebPreferencesStore.h: 86 * UIProcess/API/C/WKPreferences.cpp: 87 * UIProcess/API/C/WKPreferencesPrivate.h: 88 * UIProcess/mac/WebInspectorProxyMac.mm: 89 (WebKit::WebInspectorProxy::inspectorPageURL): 90 (WebKit::WebInspectorProxy::inspectorBaseURL): 91 * WebProcess/WebPage/WebInspector.cpp: 92 (WebKit::WebInspector::WebInspector): 93 * WebProcess/WebPage/WebInspector.h: 94 * WebProcess/WebPage/mac/WebInspectorMac.mm: 95 (WebKit::WebInspector::localizedStringsURL): 96 * WebProcess/WebPage/mac/WebPageMac.mm: 97 (WebKit::WebPage::platformPreferencesDidChange): 98 992013-10-11 Brady Eidson <beidson@apple.com> 100 101 Lay the groundwork for a multi-process aware Indexed DB implementation in WebKit2. 102 https://bugs.webkit.org/show_bug.cgi?id=122675 103 104 Reviewed by Alexey Proskuryakov. 105 106 * CMakeLists.txt: 107 * GNUmakefile.am: 108 * GNUmakefile.list.am: 109 * WebKit2.xcodeproj/project.pbxproj: 110 111 * WebProcess/IndexedDB/WebIDBFactoryBackend.cpp: Added. 112 (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend): 113 (WebKit::WebIDBFactoryBackend::~WebIDBFactoryBackend): 114 (WebKit::WebIDBFactoryBackend::getDatabaseNames): 115 (WebKit::WebIDBFactoryBackend::open): 116 (WebKit::WebIDBFactoryBackend::deleteDatabase): 117 * WebProcess/IndexedDB/WebIDBFactoryBackend.h: Added. 118 (WebKit::WebIDBFactoryBackend::create): 119 120 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 121 (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Return a WebIDBFactoryBackend. 122 1232013-10-11 Anders Carlsson <andersca@apple.com> 124 125 Remove ENABLE(GESTURE_EVENTS) from WebKit2 126 https://bugs.webkit.org/show_bug.cgi?id=122673 127 128 Reviewed by Ryosuke Niwa. 129 130 * Shared/WebEvent.h: 131 * Shared/WebEventConversion.cpp: 132 * Shared/WebEventConversion.h: 133 * Shared/WebGestureEvent.cpp: Removed. 134 * Shared/mac/WebEventFactory.h: 135 * Shared/mac/WebEventFactory.mm: 136 * UIProcess/API/mac/PageClientImpl.h: 137 * UIProcess/API/mac/PageClientImpl.mm: 138 * UIProcess/API/mac/WKView.mm: 139 (-[WKView viewDidMoveToWindow]): 140 * UIProcess/PageClient.h: 141 * UIProcess/WebPageProxy.cpp: 142 (WebKit::WebPageProxy::didReceiveEvent): 143 (WebKit::WebPageProxy::resetStateAfterProcessExited): 144 * UIProcess/WebPageProxy.h: 145 * WebKit2.xcodeproj/project.pbxproj: 146 * WebProcess/WebPage/EventDispatcher.cpp: 147 * WebProcess/WebPage/EventDispatcher.h: 148 * WebProcess/WebPage/EventDispatcher.messages.in: 149 * WebProcess/WebPage/WebPage.cpp: 150 * WebProcess/WebPage/WebPage.h: 151 1522013-10-11 Adam Roben <aroben@webkit.org> 153 154 Confusing CGImageRef memory management in ImageBuffer::copyImage 155 https://bugs.webkit.org/show_bug.cgi?id=122605 156 157 Reviewed by Simon Fraser. 158 159 * Shared/cg/ShareableBitmapCG.cpp: 160 (WebKit::ShareableBitmap::createImage): BitmapImage::create now 161 retains the passed-in CGImage, so we don't need to dance around it 162 anymore. Also changed to use nullptr instead of 0 while I was in here. 163 1642013-10-10 Byungwoo Lee <bw80.lee@samsung.com> 165 166 [EFL][WK2] Separate dispatch context from WorkQueue. 167 https://bugs.webkit.org/show_bug.cgi?id=115332 168 169 Reviewed by Anders Carlsson. 170 171 Refactor WorkQueue to prevent dangling workqueue access. 172 173 Previously, the WorkQueue class had all context about dispatch. 174 WorkQueue had dispatch item queue and socket event handler, 175 and those were accessed on the work queue thread through WorkQueue 176 instance. 177 178 With reference countable WorkQueue concept, this implementation 179 complicates handling workqueue ref-counting and causes dangling 180 workqueue access problem. 181 182 To make it easy to handle WorkQueue reference count and to prevent 183 dangling access problem, DispatchQueue class is added to handle 184 dispatch tasks, and the WorkQueue instance and DispatchQueue thread 185 will have the reference count of the DispatchQueue instance to prevent 186 dangling access. 187 188 * Platform/WorkQueue.h: 189 * Platform/efl/DispatchQueueEfl.cpp: Added. 190 (DispatchQueue::ThreadContext::start): 191 (DispatchQueue::ThreadContext::ThreadContext): 192 (DispatchQueue::ThreadContext::function): 193 (DispatchQueue::create): 194 (DispatchQueue::DispatchQueue): 195 (DispatchQueue::~DispatchQueue): 196 (DispatchQueue::dispatch): 197 (DispatchQueue::stopThread): 198 (DispatchQueue::setSocketEventHandler): 199 (DispatchQueue::clearSocketEventHandler): 200 (DispatchQueue::performWork): 201 (DispatchQueue::performTimerWork): 202 (DispatchQueue::performFileDescriptorWork): 203 (DispatchQueue::insertTimerWorkItem): 204 (DispatchQueue::dispatchQueueThread): 205 (DispatchQueue::wakeUpThread): 206 (DispatchQueue::getNextTimeOut): 207 * Platform/efl/DispatchQueueEfl.h: Added. 208 * Platform/efl/DispatchQueueWorkItemEfl.h: Added. 209 (WorkItem::create): 210 (WorkItem::dispatch): 211 (WorkItem::WorkItem): 212 (TimerWorkItem::create): 213 (TimerWorkItem::expirationTimeSeconds): 214 (TimerWorkItem::hasExpired): 215 (TimerWorkItem::TimerWorkItem): 216 * Platform/efl/WorkQueueEfl.cpp: 217 (WorkQueue::platformInitialize): 218 (WorkQueue::platformInvalidate): 219 (WorkQueue::registerSocketEventHandler): 220 (WorkQueue::unregisterSocketEventHandler): 221 (WorkQueue::dispatch): 222 (WorkQueue::dispatchAfterDelay): 223 * PlatformEfl.cmake: 224 2252013-10-10 Csaba Osztrogonác <ossy@webkit.org> 226 227 [WK2][Soup] Add platform specific stubs for NetworkProcess 228 https://bugs.webkit.org/show_bug.cgi?id=110115 229 230 Reviewed by Carlos Garcia Campos. 231 232 Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo <skyul@company100.net>. 233 234 * CMakeLists.txt: 235 * GNUmakefile.am: 236 * GNUmakefile.list.am: 237 * NetworkProcess/gtk/NetworkProcessSoup.cpp: Added. 238 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 239 (WebKit::NetworkProcess::platformSetCacheModel): 240 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 241 Stubs. 242 (WebKit::NetworkProcess::clearCacheForAllOrigins): 243 (WebKit::NetworkProcess::platformTerminate): 244 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Added. 245 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): 246 Added platform default based on the comment in ResourceRequestSoup.cpp. 247 * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: Added. 248 (WebKit::NetworkProcessProxy::platformGetLaunchOptions): 249 Stub. 250 * UIProcess/soup/WebContextSoup.cpp: Added. 251 (WebKit::WebContext::platformInitializeNetworkProcess): 252 Stub. 253 2542013-10-10 Beth Dakin <bdakin@apple.com> 255 256 Scrollbars are updated on the main thread rather than the scrolling thread 257 (causing scroll bars not to appear/update quickly in some cases) 258 https://bugs.webkit.org/show_bug.cgi?id=122585 259 -and corresponding- 260 <rdar://problem/10710775> 261 262 Reviewed by Simon Fraser. 263 264 New pure virtual function. 265 * WebProcess/Plugins/PDF/PDFPlugin.h: 266 2672013-10-10 Csaba Osztrogonác <ossy@webkit.org> 268 269 [WK2] Port RemoteNetworkingContext for Soup 270 https://bugs.webkit.org/show_bug.cgi?id=110097 271 272 Reviewed by Darin Adler. 273 274 Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo <skyul@company100.net>. 275 276 This should be a cross-platform interface so I lifted the header from 277 the mac directory. Removed mac specific arguments from constructor, 278 added setters instead. Moved platform things behind ifdefs and added 279 Soup specific bits. 280 281 The following things were fixed by Csaba Osztrogonác: 282 - solved conflicts in project.pbxproj 283 - removed the change in the non-existent SyncNetworkResourceLoader.cpp 284 - marked RemoteNetworkingContext class as FINAL 285 - reordered the members for platform specific initialization 286 - added initializers to m_needsSiteSpecificQuirks and m_localFileContentSniffingEnabled members on PLATFORM(MAC) 287 288 * NetworkProcess/NetworkResourceLoader.cpp: 289 (WebKit::NetworkResourceLoader::start): 290 * NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h. 291 (WebKit::RemoteNetworkingContext::create): 292 (WebKit::RemoteNetworkingContext::RemoteNetworkingContext): 293 (WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks): 294 (WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled): 295 * NetworkProcess/mac/RemoteNetworkingContext.mm: 296 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Added. 297 (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): 298 (WebKit::RemoteNetworkingContext::isValid): 299 (WebKit::RemoteNetworkingContext::initiatingPageID): 300 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 301 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 302 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession): 303 (WebKit::RemoteNetworkingContext::storageSession): 304 (WebKit::RemoteNetworkingContext::privateBrowsingSession): 305 * WebKit2.xcodeproj/project.pbxproj: 306 3072013-10-10 Sergio Correia <sergio.correia@openbossa.org> 308 309 Convert some OwnPtr/PassOwnPtr in CoordinatedGraphics code to std::unique_ptr's 310 https://bugs.webkit.org/show_bug.cgi?id=122614 311 312 Reviewed by Anders Carlsson. 313 314 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 315 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 316 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 317 3182013-10-10 Csaba Osztrogonác <ossy@webkit.org> 319 320 generate-message-receiver.py can't handle nested #ifs 321 https://bugs.webkit.org/show_bug.cgi?id=121877 322 323 Reviewed by Alexey Proskuryakov. 324 325 * Scripts/webkit2/parser.py: 326 (parse): Exit early until proper fix instead of generating buggy output. 327 3282013-10-10 Mark Rowe <mrowe@apple.com> 329 330 <rdar://problem/13341666> WebKit should always build against an SDK. 331 332 Have all projects default to building against the OS X Internal SDK for the Production 333 configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig 334 to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK. 335 336 Reviewed by Dan Bernstein. 337 338 * Configurations/Base.xcconfig: 339 * Configurations/DebugRelease.xcconfig: 340 3412013-10-10 Ralph Thomas <ralpht@gmail.com> 342 343 [CoordinatedGraphics][CSS Shaders] marshal color and matrix custom filter parameters 344 https://bugs.webkit.org/show_bug.cgi?id=117904 345 346 Correctly encode and decode the "matrix" and "color" custom filter parameter types. 347 No port currently enables this code, however with this change the relevant layout tests now pass when enabled in EFL. 348 Reviewed by Noam Rosenthal. 349 350 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 351 (CoreIPC::::encode): 352 (CoreIPC::::decode): 353 3542013-10-10 Mark Rowe <mrowe@apple.com> 355 356 <rdar://problem/13871522> WebKit2 fails to build with C++ 98 conformance changes 357 358 Reviewed by Andreas Kling. 359 360 * Shared/mac/SandboxExtensionMac.mm: 361 (WebKit::resolveSymlinksInPath): strrchr returns a const char* when passed one. 362 Update the type of the local variable to accommodate that. 363 3642013-10-10 Csaba Osztrogonác <ossy@webkit.org> 365 366 Buildfix for non Mac platforms with enabled NetworkProcess 367 https://bugs.webkit.org/show_bug.cgi?id=121793 368 369 Reviewed by Anders Carlsson. 370 371 * Shared/ShareableResource.cpp: 372 * Shared/ShareableResource.h: 373 * Shared/WebResourceBuffer.cpp: 374 * Shared/WebResourceBuffer.h: 375 * WebKit2Prefix.h: 376 * WebProcess/Network/NetworkProcessConnection.cpp: 377 * WebProcess/Network/NetworkProcessConnection.h: 378 * WebProcess/Network/NetworkProcessConnection.messages.in: 379 * WebProcess/Network/WebResourceLoader.cpp: 380 * WebProcess/Network/WebResourceLoader.h: 381 * WebProcess/Network/WebResourceLoader.messages.in: 382 3832013-10-09 Sergio Correia <sergio.correia@openbossa.org> 384 385 Set view to active in ViewClientEfl after WebProcess has relaunched 386 https://bugs.webkit.org/show_bug.cgi?id=118650 387 388 Reviewed by Noam Rosenthal. 389 390 Once WebProcess relaunches, the underlying scene from the view is recreated 391 and is not active by default, which means it will be in `background'. In 392 practice, from that point on we are going to get a blank screen, unless we 393 set it to active. 394 395 In the normal flow, the view is set to active during its initialization; this 396 patch sets it to active also in ViewClientEfl, in the webProcessDidRelaunch 397 callback. 398 399 * UIProcess/efl/ViewClientEfl.cpp: 400 (WebKit::ViewClientEfl::webProcessDidRelaunch): Added WKViewSetIsActive call. 401 4022013-10-09 Commit Queue <commit-queue@webkit.org> 403 404 Unreviewed, rolling out r157157. 405 http://trac.webkit.org/changeset/157157 406 https://bugs.webkit.org/show_bug.cgi?id=122547 407 408 Caused crashes on several bots including gtk, mac-wk2 lion and 409 mountain lion (Requested by kov on #webkit). 410 411 * Shared/Plugins/NPRemoteObjectMap.cpp: 412 (WebKit::NPRemoteObjectMap::registerNPObject): 413 (WebKit::NPRemoteObjectMap::pluginDestroyed): 414 * Shared/Plugins/NPRemoteObjectMap.h: 415 4162013-10-08 Darin Adler <darin@apple.com> 417 418 Remove use of deleteAllValues in NPRemoteObjectMap::pluginDestroyed 419 https://bugs.webkit.org/show_bug.cgi?id=122496 420 421 Reviewed by Andreas Kling. 422 423 * Shared/Plugins/NPRemoteObjectMap.cpp: 424 (WebKit::NPRemoteObjectMap::registerNPObject): Don't call release when puttin objects 425 into the map. 426 (WebKit::NPRemoteObjectMap::pluginDestroyed): Instead of making an array of receivers 427 and deleting them all, remove all of the receivers from the map, which will take care 428 of deleting them. Also change the other loop to use a similar coding style. 429 430 * Shared/Plugins/NPRemoteObjectMap.h: Change the value type of m_registeredNPObjects 431 to be unique_ptr instead of a raw pointer. 432 4332013-10-08 Anders Carlsson <andersca@apple.com> 434 435 WebProcess crash on SAP WebCycle web app 436 https://bugs.webkit.org/show_bug.cgi?id=122520 437 <rdar://problem/15030605> 438 439 Reviewed by Darin Adler. 440 441 Stop trying to use RunLoop to manage the top-level run loop and just have the child process and their 442 delegate subclasses start and stop the run loops. This fixes a bug with showModalDialog where we would 443 unintentionally call -[NSApp stop] when closing a modal dialog. 444 445 This also lets us move all knowledge of NSApplication from RunLoop. (Both the web process and plug-in process 446 need to use -[NSApp run] and -[NSApp stop:]). 447 448 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: 449 (WebKit::PluginProcessMainDelegate::doPreInitializationWork): 450 Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop. Add a startRunLoop override that calls 451 -[NSApp run]. 452 453 * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: 454 (PluginServiceInitializer): 455 Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop. 456 457 * PluginProcess/PluginProcess.h: 458 Add stopRunLoop() override on Mac. 459 460 * PluginProcess/mac/PluginProcessMac.mm: 461 (WebKit::PluginProcess::stopRunLoop): 462 Call -[NSApp stop:] and tickle the event system. 463 464 * Shared/ChildProcess.cpp: 465 (WebKit::ChildProcess::stopRunLoop): 466 Add default implementation that just calls RunLoop::main()->stop(). 467 468 (WebKit::ChildProcess::terminate): 469 Call stopRunLoop(). 470 471 * Shared/ChildProcess.h: 472 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 473 Add startRunLoop member function and call it instead of RunLoop::run(). 474 475 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 476 (WebKit::ChildProcessMainDelegate::startRunLoop): 477 Call RunLoop::run(). 478 479 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 480 (WebKit::WebContentProcessMainDelegate::doPreInitializationWork): 481 Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop. 482 Add startRunLoop override that calls -[NSApp run]. 483 484 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 485 (WebContentServiceInitializer): 486 Remove call to RunLoop::setUseApplicationRunLoopOnMainRunLoop. 487 488 * WebProcess/WebProcess.cpp: 489 (WebKit::WebProcess::didClose): 490 Call stopRunLoop(). 491 492 * WebProcess/WebProcess.h: 493 Add stopRunLoop override. 494 495 * WebProcess/mac/WebProcessMac.mm: 496 (WebKit::WebProcess::stopRunLoop): 497 Call -[NSApp stop:] and tickle the event system. 498 4992013-10-08 Commit Queue <commit-queue@webkit.org> 500 501 Unreviewed, rolling out r157090. 502 http://trac.webkit.org/changeset/157090 503 https://bugs.webkit.org/show_bug.cgi?id=122504 504 505 Caused crashes in many plug-in tests (Requested by ap on 506 #webkit). 507 508 * Shared/Plugins/NPRemoteObjectMap.cpp: 509 (WebKit::NPRemoteObjectMap::registerNPObject): 510 (WebKit::NPRemoteObjectMap::pluginDestroyed): 511 * Shared/Plugins/NPRemoteObjectMap.h: 512 5132013-10-08 Darin Adler <darin@apple.com> 514 515 Remove use of deleteAllValues in NPRemoteObjectMap::pluginDestroyed 516 https://bugs.webkit.org/show_bug.cgi?id=122496 517 518 Reviewed by Andreas Kling. 519 520 * Shared/Plugins/NPRemoteObjectMap.cpp: 521 (WebKit::NPRemoteObjectMap::registerNPObject): Don't call release when putting objects 522 into the map. 523 (WebKit::NPRemoteObjectMap::pluginDestroyed): Instead of making an array of receivers 524 and deleting them all, remove all of the receivers from the map, which will take care 525 of deleting them. Also change the other loop to use a similar coding style. 526 527 * Shared/Plugins/NPRemoteObjectMap.h: Change the value type of m_registeredNPObjects 528 to be unique_ptr instead of a raw pointer. 529 5302013-10-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 531 532 Reduce duplicated code in WebPageProxy 533 https://bugs.webkit.org/show_bug.cgi?id=122230 534 535 Reviewed by Darin Adler. 536 537 * UIProcess/WebPageProxy.cpp: 538 (WebKit::WebPageProxy::close): move duplicate code to resetState and call it. 539 (WebKit::WebPageProxy::resetState): new private method for code that is shared between 540 close and resetStateAfterProcessExited. 541 (WebKit::WebPageProxy::resetStateAfterProcessExited): move duplicate code to resetState 542 and call it. 543 * UIProcess/WebPageProxy.h: 544 5452013-10-07 Sam Weinig <sam@webkit.org> 546 547 CTTE: Use references in and around DragController 548 https://bugs.webkit.org/show_bug.cgi?id=122427 549 550 Reviewed by Andreas Kling. 551 552 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 553 (webkitWebViewBaseDragDataReceived): 554 (webkitWebViewBaseDragMotion): 555 (dragExitedCallback): 556 (webkitWebViewBaseDragDrop): 557 * UIProcess/API/mac/WKView.mm: 558 (-[WKView draggingEntered:]): 559 (-[WKView draggingUpdated:]): 560 (-[WKView draggingExited:]): 561 (-[WKView performDragOperation:]): 562 * UIProcess/WebPageProxy.cpp: 563 (WebKit::WebPageProxy::dragEntered): 564 (WebKit::WebPageProxy::dragUpdated): 565 (WebKit::WebPageProxy::dragExited): 566 (WebKit::WebPageProxy::performDrag): 567 (WebKit::WebPageProxy::performDragControllerAction): 568 * UIProcess/WebPageProxy.h: 569 * WebProcess/WebCoreSupport/WebDragClient.cpp: 570 (WebKit::WebDragClient::willPerformDragDestinationAction): 571 (WebKit::WebDragClient::willPerformDragSourceAction): 572 (WebKit::WebDragClient::actionMaskForDrag): 573 (WebKit::WebDragClient::dragSourceActionMaskForPoint): 574 (WebKit::WebDragClient::startDrag): 575 * WebProcess/WebCoreSupport/WebDragClient.h: 576 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: 577 (WebKit::WebDragClient::startDrag): 578 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 579 (WebKit::WebDragClient::startDrag): 580 (WebKit::cachedImage): 581 (WebKit::WebDragClient::declareAndWriteDragImage): 582 * WebProcess/WebPage/WebPage.cpp: 583 (WebKit::WebPage::performDragControllerAction): 584 5852013-10-07 Tim Horton <timothy_horton@apple.com> 586 587 Animated images are not restarted when page visibility changes 588 https://bugs.webkit.org/show_bug.cgi?id=122464 589 <rdar://problem/14293474> 590 591 Reviewed by Simon Fraser. 592 593 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 594 (WebKit::TiledCoreAnimationDrawingArea::resumePainting): 595 This is on Page now. 596 5972013-10-05 Anders Carlsson <andersca@apple.com> 598 599 Try to fix the GTK+ build. 600 601 * UIProcess/gtk/WebPageProxyGtk.cpp: 602 (WebKit::WebPageProxy::platformInitialize): 603 6042013-10-05 Anders Carlsson <andersca@apple.com> 605 606 Remove createOwned 607 https://bugs.webkit.org/show_bug.cgi?id=122388 608 609 Reviewed by Darin Adler. 610 611 * UIProcess/API/mac/WKView.mm: 612 (-[WKView _setFindIndicator:fadeOut:animate:]): 613 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 614 (WKBundlePageOverlayCreate): 615 6162013-10-05 Darin Adler <darin@apple.com> 617 618 Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now 619 https://bugs.webkit.org/show_bug.cgi?id=122387 620 621 Reviewed by Anders Carlsson. 622 623 * UIProcess/API/cpp/WKRetainPtr.h: Take out conditionals. 624 6252013-10-05 Darin Adler <darin@apple.com> 626 627 Cut down on use of String::number 628 https://bugs.webkit.org/show_bug.cgi?id=122382 629 630 Reviewed by Anders Carlsson. 631 632 * Shared/mac/RemoteLayerTreeTransaction.mm: 633 (WebKit::dumpChangedLayers): Use StringBuilder::appendNumber. 634 6352013-10-05 Anders Carlsson <andersca@apple.com> 636 637 Fix cut and paste errors. 638 639 * Configurations/WebKit2.xcconfig: 640 6412013-10-05 Anders Carlsson <andersca@apple.com> 642 643 Add the rest of the std::function weak symbols in an attempt to fix the Lion build. 644 645 * Configurations/WebKit2.xcconfig: 646 6472013-10-05 Anders Carlsson <andersca@apple.com> 648 649 Another attempt at fixing the Lion build. 650 651 * Configurations/WebKit2.xcconfig: 652 6532013-10-05 Anders Carlsson <andersca@apple.com> 654 655 Attempt to fix the Lion build. 656 657 * Configurations/WebKit2.xcconfig: 658 Try unexporting one of the weak symbols for now. If this succeeds, I'll add the rest. 659 6602013-10-04 Anders Carlsson <andersca@apple.com> 661 662 FramePolicyFunction should be an std::function 663 https://bugs.webkit.org/show_bug.cgi?id=122362 664 665 Reviewed by Darin Adler. 666 667 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 668 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 669 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 670 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 671 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 672 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 673 * WebProcess/WebPage/WebFrame.cpp: 674 (WebKit::WebFrame::didReceivePolicyDecision): 675 6762013-10-04 Ryuan Choi <ryuan.choi@samsung.com> 677 678 Unreviewed EFL build fix after r156924 679 680 * UIProcess/efl/WebPageProxyEfl.cpp: 681 (WebKit::WebPageProxy::platformInitialize): 682 6832013-10-04 Sam Weinig <sam@webkit.org> 684 685 Unify rubber-band control 686 https://bugs.webkit.org/show_bug.cgi?id=122341 687 688 Reviewed by Tim Horton. 689 690 - Consolidates the two ways we were passing state about whether 691 to rubber-band on a particular edge down to one. 692 - Adds SPI to control whether you can rubber band on the left 693 or right edge. 694 - Add a linked-on-or-after check to control whether we use the 695 legacy implicit rubber band control based on back/forward. 696 697 * UIProcess/API/C/WKPage.cpp: 698 (WKPageRubberBandsAtLeft): 699 (WKPageSetRubberBandsAtLeft): 700 (WKPageRubberBandsAtRight): 701 (WKPageSetRubberBandsAtRight): 702 (WKPageRubberBandsAtBottom): 703 (WKPageSetRubberBandsAtBottom): 704 * UIProcess/API/C/WKPage.h: 705 * UIProcess/WebPageProxy.cpp: 706 (WebKit::WebPageProxy::WebPageProxy): 707 (WebKit::WebPageProxy::sendWheelEvent): 708 (WebKit::WebPageProxy::rubberBandsAtLeft): 709 (WebKit::WebPageProxy::setRubberBandsAtLeft): 710 (WebKit::WebPageProxy::rubberBandsAtRight): 711 (WebKit::WebPageProxy::setRubberBandsAtRight): 712 (WebKit::WebPageProxy::rubberBandsAtTop): 713 (WebKit::WebPageProxy::setRubberBandsAtTop): 714 (WebKit::WebPageProxy::rubberBandsAtBottom): 715 (WebKit::WebPageProxy::setRubberBandsAtBottom): 716 * UIProcess/WebPageProxy.h: 717 * UIProcess/mac/WebPageProxyMac.mm: 718 (WebKit::shouldUseLegacyImplicitRubberBandControl): 719 (WebKit::WebPageProxy::platformInitialize): 720 * WebProcess/WebPage/EventDispatcher.cpp: 721 (WebKit::EventDispatcher::wheelEvent): 722 * WebProcess/WebPage/EventDispatcher.h: 723 * WebProcess/WebPage/EventDispatcher.messages.in: 724 * WebProcess/WebPage/WebPage.cpp: 725 * WebProcess/WebPage/WebPage.h: 726 * WebProcess/WebPage/WebPage.messages.in: 727 7282013-10-04 Lorenzo Tilve <ltilve@igalia.com> 729 730 [GTK] Enable text edition UndoOperations support in WebKit2 731 https://bugs.webkit.org/show_bug.cgi?id=122305 732 733 Reviewed by Carlos Garcia Campos. 734 735 Replaced the notImplemented() function calls for 736 the corresponding implementation of the edit operations 737 provided by the DefaultUndoController class. 738 739 * GNUmakefile.list.am: 740 * UIProcess/API/gtk/PageClientImpl.cpp: 741 (WebKit::PageClientImpl::registerEditCommand): 742 (WebKit::PageClientImpl::clearAllEditCommands): 743 (WebKit::PageClientImpl::canUndoRedo): 744 (WebKit::PageClientImpl::executeUndoRedo): 745 * UIProcess/API/gtk/PageClientImpl.h: 746 7472013-10-04 Sergio Correia <sergio.correia@openbossa.org> 748 749 Remove Qt leftovers from WebKit2 750 https://bugs.webkit.org/show_bug.cgi?id=122317 751 752 Reviewed by Anders Carlsson. 753 754 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 755 (CoreIPC::Connection::platformInitialize): 756 (CoreIPC::Connection::platformInvalidate): 757 (CoreIPC::Connection::readyReadHandler): 758 (CoreIPC::Connection::open): 759 (CoreIPC::Connection::sendOutgoingMessage): 760 * Shared/API/c/WKBase.h: 761 * Shared/NativeWebTouchEvent.h: 762 * UIProcess/API/C/WebKit2_C.h: 763 * UIProcess/BackingStore.h: 764 * UIProcess/InspectorServer/WebInspectorServer.cpp: 765 (WebKit::WebInspectorServer::inspectorUrlForPageID): 766 * UIProcess/InspectorServer/WebInspectorServer.h: 767 * UIProcess/InspectorServer/WebSocketServer.cpp: 768 * UIProcess/InspectorServer/WebSocketServer.h: 769 * UIProcess/WebPageProxy.cpp: 770 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 771 (WebKit::getPluginDisplay): 772 (WebKit::x11Screen): 773 (WebKit::displayDepth): 774 (WebKit::rootWindowID): 775 (WebKit::NetscapePlugin::x11HostDisplay): 776 (WebKit::NetscapePlugin::platformPostInitializeWindowless): 777 (WebKit::NetscapePlugin::platformPaint): 778 7792013-10-03 Mark Rowe <mrowe@apple.com> 780 781 REGRESSION (r155787): WebKitTestRunner rebuilds from scratch when doing an incremental build 782 783 Reviewed by Dan Bernstein. 784 785 * WebKit2.xcodeproj/project.pbxproj: Have unifdef generate its output to a temporary file. If its exit status 786 indicates that the content did not change, remove the temporary file. If the content changed, moved the temporary file 787 over the destination. This avoids updating the modification date of the file when it has not changed. 788 7892013-10-03 Sam Weinig <sam@webkit.org> 790 791 Remove shouldRubberBandInDirection from the WKBundlePageUIClient 792 https://bugs.webkit.org/show_bug.cgi?id=122309 793 794 Reviewed by Andreas Kling. 795 796 WKBundlePageUIClient's shouldRubberBandInDirection has never worked with 797 threaded scrolling, so remove it. 798 799 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 800 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 801 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 802 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 803 * WebProcess/WebCoreSupport/WebChromeClient.h: 804 8052013-10-03 Sergio Correia <sergio.correia@openbossa.org> 806 807 Create CoordinatedDrawingArea / CoordinatedDrawingAreaProxy 808 https://bugs.webkit.org/show_bug.cgi?id=122207 809 810 Reviewed by Anders Carlsson. 811 812 Since Apple are moving away from DrawingAreaImpl, Coordinated Graphics 813 should have its own drawing area. 814 815 * CMakeLists.txt: Use CoordinatedDrawingArea and 816 CoordinatedDrawingAreaProxy instead of the DrawingAreaImpl / 817 DrawingAreaProxyImpl. 818 * Shared/DrawingAreaInfo.h: Add DrawingAreaTypeCoordinated. 819 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 820 Added, copied from DrawingAreaProxyImpl.cpp. 821 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Added, 822 copied from DrawingAreaProxyImpl.h. 823 * UIProcess/CoordinatedGraphics/WebView.cpp: 824 (WebKit::WebView::createDrawingAreaProxy): Use CoordinatedDrawingAreaProxy. 825 * UIProcess/DrawingAreaProxyImpl.cpp: Remove Coordinated Graphics 826 bits. 827 * UIProcess/DrawingAreaProxyImpl.h: Ditto. 828 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: 829 Added, copied from DrawingAreaImpl.cpp. 830 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 831 Added, copied from DrawingAreaImpl.h. 832 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 833 (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): Use 834 CoordinatedDrawingArea. 835 * WebProcess/WebPage/DrawingArea.cpp: 836 (WebKit::DrawingArea::create): Handle the DrawingAreaTypeCoordinated 837 in the DrawingArea creation code. 838 * WebProcess/WebPage/DrawingAreaImpl.cpp: Remove Coordinated Graphics 839 bits. 840 * WebProcess/WebPage/DrawingAreaImpl.h: Ditto. 841 8422013-10-03 Anders Carlsson <andersca@apple.com> 843 844 Ignore deprecation warnings 845 https://bugs.webkit.org/show_bug.cgi?id=122302 846 847 Reviewed by Mark Rowe. 848 849 * Shared/mac/WebEventFactory.mm: 850 (WebKit::globalPoint): 851 * UIProcess/API/mac/FindIndicatorWindow.mm: 852 (WebKit::FindIndicatorWindow::setFindIndicator): 853 * UIProcess/API/mac/PageClientImpl.mm: 854 (WebKit::PageClientImpl::screenToWindow): 855 (WebKit::PageClientImpl::windowToScreen): 856 * UIProcess/API/mac/WKTextInputWindowController.mm: 857 (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): 858 (-[WKTextInputPanel _hasMarkedText]): 859 * UIProcess/API/mac/WKView.mm: 860 (-[WKView characterIndexForPoint:]): 861 (-[WKView firstRectForCharacterRange:actualRange:]): 862 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): 863 (-[WKView _setDragImage:at:linkDrag:]): 864 (-[WKView performDictionaryLookupAtCurrentMouseLocation]): 865 * UIProcess/mac/WKFullScreenWindowController.mm: 866 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): 867 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): 868 * UIProcess/mac/WebContextMenuProxyMac.mm: 869 (WebKit::WebContextMenuProxyMac::showContextMenu): 870 * UIProcess/mac/WebPopupMenuProxyMac.mm: 871 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 872 8732013-10-03 Anders Carlsson <andersca@apple.com> 874 875 Remove the last remnants of Qt from WebKit2 876 https://bugs.webkit.org/show_bug.cgi?id=122290 877 878 Reviewed by Andreas Kling. 879 880 * Platform/PlatformProcessIdentifier.h: 881 * Shared/API/c/WKSharedAPICast.h: 882 (WebKit::toAPI): 883 (WebKit::toImpl): 884 * Shared/Downloads/Download.cpp: 885 (WebKit::Download::Download): 886 * Shared/Downloads/Download.h: 887 * Shared/Downloads/DownloadManager.cpp: 888 * Shared/Downloads/DownloadManager.h: 889 * Shared/EditorState.cpp: 890 (WebKit::EditorState::encode): 891 (WebKit::EditorState::decode): 892 * Shared/EditorState.h: 893 (WebKit::EditorState::EditorState): 894 * Shared/LayerTreeContext.h: 895 * Shared/NativeWebKeyboardEvent.h: 896 * Shared/NativeWebMouseEvent.h: 897 * Shared/NativeWebWheelEvent.h: 898 * Shared/PlatformPopupMenuData.cpp: 899 (WebKit::PlatformPopupMenuData::encode): 900 (WebKit::PlatformPopupMenuData::decode): 901 * Shared/PlatformPopupMenuData.h: 902 * Shared/ShareableBitmap.h: 903 * Shared/WebPreferencesStore.h: 904 * UIProcess/Downloads/DownloadProxy.cpp: 905 * UIProcess/Downloads/DownloadProxy.h: 906 * UIProcess/PageClient.h: 907 * UIProcess/Plugins/PluginProcessProxy.cpp: 908 (WebKit::PluginProcessProxy::didFinishLaunching): 909 * UIProcess/WebContext.cpp: 910 (WebKit::WebContext::download): 911 * UIProcess/WebFullScreenManagerProxy.h: 912 * UIProcess/WebPageProxy.cpp: 913 (WebKit::WebPageProxy::performDragControllerAction): 914 (WebKit::WebPageProxy::receivedPolicyDecision): 915 (WebKit::WebPageProxy::editorStateChanged): 916 (WebKit::WebPageProxy::showPopupMenu): 917 * UIProcess/WebPageProxy.h: 918 * UIProcess/WebPageProxy.messages.in: 919 * UIProcess/WebPopupMenuProxy.h: 920 * WebProcess/InjectedBundle/InjectedBundle.h: 921 * WebProcess/WebCoreSupport/WebDragClient.cpp: 922 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 923 (WebKit::WebEditorClient::respondToChangedSelection): 924 (WebKit::WebEditorClient::willSetInputMethodState): 925 (WebKit::WebEditorClient::supportsGlobalSelection): 926 * WebProcess/WebCoreSupport/WebEditorClient.h: 927 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 928 (WebKit::WebFrameLoaderClient::shouldFallBack): 929 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 930 (WebKit::WebPopupMenu::didChangeSelectedIndex): 931 * WebProcess/WebCoreSupport/WebPopupMenu.h: 932 * WebProcess/WebPage/WebPage.cpp: 933 (WebKit::WebPage::WebPage): 934 (WebKit::WebPage::editorState): 935 (WebKit::WebPage::performDragControllerAction): 936 * WebProcess/WebPage/WebPage.h: 937 * WebProcess/WebPage/WebPage.messages.in: 938 * WebProcess/WebProcess.cpp: 939 (WebKit::WebProcess::WebProcess): 940 * WebProcess/WebProcess.h: 941 * WebProcess/WebProcess.messages.in: 942 * config.h: 943 9442013-10-03 Anders Carlsson <andersca@apple.com> 945 946 Remove Qt files from WebKit2. 947 948 Rubber-stomped by Andreas Kling. 949 950 * DerivedSources.pri: Removed. 951 * PluginProcess.pro: Removed. 952 * PluginProcess/qt/PluginControllerProxyQt.cpp: Removed. 953 * PluginProcess/qt/PluginProcessMainQt.cpp: Removed. 954 * PluginProcess/qt/PluginProcessQt.cpp: Removed. 955 * SandboxProcess.pro: Removed. 956 * Shared/API/c/qt/WKImageQt.cpp: Removed. 957 * Shared/API/c/qt/WKImageQt.h: Removed. 958 * Shared/Downloads/qt/DownloadQt.cpp: Removed. 959 * Shared/Downloads/qt/QtFileDownloader.cpp: Removed. 960 * Shared/Downloads/qt/QtFileDownloader.h: Removed. 961 * Shared/qt/ArgumentCodersQt.cpp: Removed. 962 * Shared/qt/ArgumentCodersQt.h: Removed. 963 * Shared/qt/LayerTreeContextQt.cpp: Removed. 964 * Shared/qt/NativeWebKeyboardEventQt.cpp: Removed. 965 * Shared/qt/NativeWebMouseEventQt.cpp: Removed. 966 * Shared/qt/NativeWebTouchEventQt.cpp: Removed. 967 * Shared/qt/NativeWebWheelEventQt.cpp: Removed. 968 * Shared/qt/PlatformCertificateInfo.h: Removed. 969 * Shared/qt/ProcessExecutablePathQt.cpp: Removed. 970 * Shared/qt/QtNetworkReplyData.cpp: Removed. 971 * Shared/qt/QtNetworkReplyData.h: Removed. 972 * Shared/qt/QtNetworkRequestData.cpp: Removed. 973 * Shared/qt/QtNetworkRequestData.h: Removed. 974 * Shared/qt/ShareableBitmapQt.cpp: Removed. 975 * Shared/qt/WebCoreArgumentCodersQt.cpp: Removed. 976 * Shared/qt/WebEventFactoryQt.cpp: Removed. 977 * Shared/qt/WebEventFactoryQt.h: Removed. 978 * Shared/qt/WebURLRequestQt.cpp: Removed. 979 * Shared/qt/WebURLResponseQt.cpp: Removed. 980 * Target.pri: Removed. 981 * UIProcess/API/C/qt/WKIconDatabaseQt.cpp: Removed. 982 * UIProcess/API/C/qt/WKIconDatabaseQt.h: Removed. 983 * UIProcess/API/C/qt/WKNativeEvent.h: Removed. 984 * UIProcess/API/cpp/qt/WKStringQt.cpp: Removed. 985 * UIProcess/API/cpp/qt/WKStringQt.h: Removed. 986 * UIProcess/API/cpp/qt/WKURLQt.cpp: Removed. 987 * UIProcess/API/cpp/qt/WKURLQt.h: Removed. 988 * UIProcess/API/qt/qquicknetworkreply.cpp: Removed. 989 * UIProcess/API/qt/qquicknetworkreply_p.h: Removed. 990 * UIProcess/API/qt/qquicknetworkrequest.cpp: Removed. 991 * UIProcess/API/qt/qquicknetworkrequest_p.h: Removed. 992 * UIProcess/API/qt/qquickurlschemedelegate.cpp: Removed. 993 * UIProcess/API/qt/qquickurlschemedelegate_p.h: Removed. 994 * UIProcess/API/qt/qquickwebpage.cpp: Removed. 995 * UIProcess/API/qt/qquickwebpage_p.h: Removed. 996 * UIProcess/API/qt/qquickwebpage_p_p.h: Removed. 997 * UIProcess/API/qt/qquickwebview.cpp: Removed. 998 * UIProcess/API/qt/qquickwebview_p.h: Removed. 999 * UIProcess/API/qt/qquickwebview_p_p.h: Removed. 1000 * UIProcess/API/qt/qtwebsecurityorigin.cpp: Removed. 1001 * UIProcess/API/qt/qtwebsecurityorigin_p.h: Removed. 1002 * UIProcess/API/qt/qwebdownloaditem.cpp: Removed. 1003 * UIProcess/API/qt/qwebdownloaditem_p.h: Removed. 1004 * UIProcess/API/qt/qwebdownloaditem_p_p.h: Removed. 1005 * UIProcess/API/qt/qwebiconimageprovider.cpp: Removed. 1006 * UIProcess/API/qt/qwebiconimageprovider_p.h: Removed. 1007 * UIProcess/API/qt/qwebkittest.cpp: Removed. 1008 * UIProcess/API/qt/qwebkittest_p.h: Removed. 1009 * UIProcess/API/qt/qwebloadrequest.cpp: Removed. 1010 * UIProcess/API/qt/qwebloadrequest_p.h: Removed. 1011 * UIProcess/API/qt/qwebnavigationhistory.cpp: Removed. 1012 * UIProcess/API/qt/qwebnavigationhistory_p.h: Removed. 1013 * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Removed. 1014 * UIProcess/API/qt/qwebnavigationrequest.cpp: Removed. 1015 * UIProcess/API/qt/qwebnavigationrequest_p.h: Removed. 1016 * UIProcess/API/qt/qwebpermissionrequest.cpp: Removed. 1017 * UIProcess/API/qt/qwebpermissionrequest_p.h: Removed. 1018 * UIProcess/API/qt/qwebpreferences.cpp: Removed. 1019 * UIProcess/API/qt/qwebpreferences_p.h: Removed. 1020 * UIProcess/API/qt/qwebpreferences_p_p.h: Removed. 1021 * UIProcess/API/qt/raw/qrawwebview.cpp: Removed. 1022 * UIProcess/API/qt/raw/qrawwebview_p.h: Removed. 1023 * UIProcess/API/qt/raw/qrawwebview_p_p.h: Removed. 1024 * UIProcess/API/qt/tests/bytearraytestdata.cpp: Removed. 1025 * UIProcess/API/qt/tests/bytearraytestdata.h: Removed. 1026 * UIProcess/API/qt/tests/html/basic_page.html: Removed. 1027 * UIProcess/API/qt/tests/html/basic_page2.html: Removed. 1028 * UIProcess/API/qt/tests/html/bluesquare.html: Removed. 1029 * UIProcess/API/qt/tests/html/direct-image-compositing.html: Removed. 1030 * UIProcess/API/qt/tests/html/inputmethod.html: Removed. 1031 * UIProcess/API/qt/tests/html/redsquare.html: Removed. 1032 * UIProcess/API/qt/tests/html/resources/qwkview_noBackground1.png: Removed. 1033 * UIProcess/API/qt/tests/html/resources/qwkview_noBackground3.png: Removed. 1034 * UIProcess/API/qt/tests/html/resources/qwkview_paint.png: Removed. 1035 * UIProcess/API/qt/tests/html/resources/simple_image.png: Removed. 1036 * UIProcess/API/qt/tests/html/scroll.html: Removed. 1037 * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Removed. 1038 * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Removed. 1039 * UIProcess/API/qt/tests/publicapi/publicapi.pro: Removed. 1040 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Removed. 1041 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Removed. 1042 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Removed. 1043 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Removed. 1044 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Removed. 1045 * UIProcess/API/qt/tests/qmltests/WebView.pro: Removed. 1046 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Removed. 1047 * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Removed. 1048 * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Removed. 1049 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Removed. 1050 * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Removed. 1051 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Removed. 1052 * UIProcess/API/qt/tests/qmltests/WebView/tst_findText.qml: Removed. 1053 * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Removed. 1054 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Removed. 1055 * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Removed. 1056 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Removed. 1057 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Removed. 1058 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Removed. 1059 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Removed. 1060 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Removed. 1061 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Removed. 1062 * UIProcess/API/qt/tests/qmltests/WebView/tst_messaging.qml: Removed. 1063 * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml: Removed. 1064 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Removed. 1065 * UIProcess/API/qt/tests/qmltests/WebView/tst_notification.qml: Removed. 1066 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Removed. 1067 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Removed. 1068 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Removed. 1069 * UIProcess/API/qt/tests/qmltests/WebView/tst_resize.qml: Removed. 1070 * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml: Removed. 1071 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Removed. 1072 * UIProcess/API/qt/tests/qmltests/WebView/tst_userScripts.qml: Removed. 1073 * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml: Removed. 1074 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Removed. 1075 * UIProcess/API/qt/tests/qmltests/common/alert.html: Removed. 1076 * UIProcess/API/qt/tests/qmltests/common/append-document-title.js: Removed. 1077 * UIProcess/API/qt/tests/qmltests/common/big-user-script.js: Removed. 1078 * UIProcess/API/qt/tests/qmltests/common/change-document-title.js: Removed. 1079 * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Removed. 1080 * UIProcess/API/qt/tests/qmltests/common/confirm.html: Removed. 1081 * UIProcess/API/qt/tests/qmltests/common/download.zip: Removed. 1082 * UIProcess/API/qt/tests/qmltests/common/evaluatejavascript.html: Removed. 1083 * UIProcess/API/qt/tests/qmltests/common/favicon.html: Removed. 1084 * UIProcess/API/qt/tests/qmltests/common/favicon.png: Removed. 1085 * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Removed. 1086 * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Removed. 1087 * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Removed. 1088 * UIProcess/API/qt/tests/qmltests/common/javascript.html: Removed. 1089 * UIProcess/API/qt/tests/qmltests/common/link.html: Removed. 1090 * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Removed. 1091 * UIProcess/API/qt/tests/qmltests/common/messaging.html: Removed. 1092 * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Removed. 1093 * UIProcess/API/qt/tests/qmltests/common/notification.html: Removed. 1094 * UIProcess/API/qt/tests/qmltests/common/prompt.html: Removed. 1095 * UIProcess/API/qt/tests/qmltests/common/qrctest.html: Removed. 1096 * UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed. 1097 * UIProcess/API/qt/tests/qmltests/common/select.html: Removed. 1098 * UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Removed. 1099 * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Removed. 1100 * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Removed. 1101 * UIProcess/API/qt/tests/qmltests/common/test1.html: Removed. 1102 * UIProcess/API/qt/tests/qmltests/common/test2.html: Removed. 1103 * UIProcess/API/qt/tests/qmltests/common/test3.html: Removed. 1104 * UIProcess/API/qt/tests/qmltests/common/test4.html: Removed. 1105 * UIProcess/API/qt/tests/qmltests/common/test5.html: Removed. 1106 * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Removed. 1107 * UIProcess/API/qt/tests/qmltests/qmltests.pro: Removed. 1108 * UIProcess/API/qt/tests/qmltests/resources.qrc: Removed. 1109 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Removed. 1110 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Removed. 1111 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Removed. 1112 * UIProcess/API/qt/tests/qrawwebview/qrawwebview.pro: Removed. 1113 * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp: Removed. 1114 * UIProcess/API/qt/tests/tests.pri: Removed. 1115 * UIProcess/API/qt/tests/testwindow.h: Removed. 1116 * UIProcess/API/qt/tests/util.cpp: Removed. 1117 * UIProcess/API/qt/tests/util.h: Removed. 1118 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Removed. 1119 * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Removed. 1120 * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Removed. 1121 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Removed. 1122 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Removed. 1123 * UIProcess/qt/BackingStoreQt.cpp: Removed. 1124 * UIProcess/qt/PageViewportControllerClientQt.cpp: Removed. 1125 * UIProcess/qt/PageViewportControllerClientQt.h: Removed. 1126 * UIProcess/qt/QtDialogRunner.cpp: Removed. 1127 * UIProcess/qt/QtDialogRunner.h: Removed. 1128 * UIProcess/qt/QtDownloadManager.cpp: Removed. 1129 * UIProcess/qt/QtDownloadManager.h: Removed. 1130 * UIProcess/qt/QtGestureRecognizer.cpp: Removed. 1131 * UIProcess/qt/QtGestureRecognizer.h: Removed. 1132 * UIProcess/qt/QtPageClient.cpp: Removed. 1133 * UIProcess/qt/QtPageClient.h: Removed. 1134 * UIProcess/qt/QtPanGestureRecognizer.cpp: Removed. 1135 * UIProcess/qt/QtPanGestureRecognizer.h: Removed. 1136 * UIProcess/qt/QtPinchGestureRecognizer.cpp: Removed. 1137 * UIProcess/qt/QtPinchGestureRecognizer.h: Removed. 1138 * UIProcess/qt/QtTapGestureRecognizer.cpp: Removed. 1139 * UIProcess/qt/QtTapGestureRecognizer.h: Removed. 1140 * UIProcess/qt/QtWebContext.cpp: Removed. 1141 * UIProcess/qt/QtWebContext.h: Removed. 1142 * UIProcess/qt/QtWebError.cpp: Removed. 1143 * UIProcess/qt/QtWebError.h: Removed. 1144 * UIProcess/qt/QtWebIconDatabaseClient.cpp: Removed. 1145 * UIProcess/qt/QtWebIconDatabaseClient.h: Removed. 1146 * UIProcess/qt/QtWebPageEventHandler.cpp: Removed. 1147 * UIProcess/qt/QtWebPageEventHandler.h: Removed. 1148 * UIProcess/qt/QtWebPagePolicyClient.cpp: Removed. 1149 * UIProcess/qt/QtWebPagePolicyClient.h: Removed. 1150 * UIProcess/qt/QtWebPageSGNode.cpp: Removed. 1151 * UIProcess/qt/QtWebPageSGNode.h: Removed. 1152 * UIProcess/qt/QtWebPageUIClient.cpp: Removed. 1153 * UIProcess/qt/QtWebPageUIClient.h: Removed. 1154 * UIProcess/qt/TextCheckerQt.cpp: Removed. 1155 * UIProcess/qt/WebColorPickerQt.cpp: Removed. 1156 * UIProcess/qt/WebColorPickerQt.h: Removed. 1157 * UIProcess/qt/WebContextMenuProxyQt.cpp: Removed. 1158 * UIProcess/qt/WebContextMenuProxyQt.h: Removed. 1159 * UIProcess/qt/WebContextQt.cpp: Removed. 1160 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Removed. 1161 * UIProcess/qt/WebGeolocationProviderQt.cpp: Removed. 1162 * UIProcess/qt/WebGeolocationProviderQt.h: Removed. 1163 * UIProcess/qt/WebInspectorProxyQt.cpp: Removed. 1164 * UIProcess/qt/WebPageProxyQt.cpp: Removed. 1165 * UIProcess/qt/WebPopupMenuProxyQt.cpp: Removed. 1166 * UIProcess/qt/WebPopupMenuProxyQt.h: Removed. 1167 * UIProcess/qt/WebPreferencesQt.cpp: Removed. 1168 * UIProcess/qt/WebProcessProxyQt.cpp: Removed. 1169 * WebKit2.pri: Removed. 1170 * WebKit2.pro: Removed. 1171 * WebProcess.pro: Removed. 1172 * WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Removed. 1173 * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed. 1174 * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Removed. 1175 * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Removed. 1176 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Removed. 1177 * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Removed. 1178 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Removed. 1179 * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Removed. 1180 * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Removed. 1181 * WebProcess/WebPage/qt/WebInspectorQt.cpp: Removed. 1182 * WebProcess/WebPage/qt/WebPageQt.cpp: Removed. 1183 * WebProcess/qt/QtBuiltinBundle.cpp: Removed. 1184 * WebProcess/qt/QtBuiltinBundle.h: Removed. 1185 * WebProcess/qt/QtBuiltinBundlePage.cpp: Removed. 1186 * WebProcess/qt/QtBuiltinBundlePage.h: Removed. 1187 * WebProcess/qt/QtNetworkAccessManager.cpp: Removed. 1188 * WebProcess/qt/QtNetworkAccessManager.h: Removed. 1189 * WebProcess/qt/QtNetworkReply.cpp: Removed. 1190 * WebProcess/qt/QtNetworkReply.h: Removed. 1191 * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Removed. 1192 * WebProcess/qt/SeccompFiltersWebProcessQt.h: Removed. 1193 * WebProcess/qt/WebProcessMainQt.cpp: Removed. 1194 * WebProcess/qt/WebProcessQt.cpp: Removed. 1195 * qt/MainQt.cpp: Removed. 1196 * qt/PluginMainQt.cpp: Removed. 1197 11982013-10-03 Brady Eidson <beidson@apple.com> 1199 1200 Move IDBFactoryBackend creation to DatabaseStrategy. 1201 https://bugs.webkit.org/show_bug.cgi?id=122284 1202 1203 Reviewed by Alexey Proskuryakov. 1204 1205 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 1206 (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Fallback to the default for now. 1207 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 1208 12092013-10-03 Zan Dobersek <zdobersek@igalia.com> 1210 1211 Unreviewed fix of DrawingArea creation on non-Mac platforms after r156793. 1212 std::make_unique<DrawingAreaImpl>() should be used, as before that revision. 1213 1214 * WebProcess/WebPage/DrawingArea.cpp: 1215 (WebKit::DrawingArea::create): 1216 12172013-10-02 Anders Carlsson <andersca@apple.com> 1218 1219 Remove Qt code from Platform/ 1220 https://bugs.webkit.org/show_bug.cgi?id=122240 1221 1222 Reviewed by Andreas Kling. 1223 1224 * Platform/CoreIPC/Connection.h: 1225 * Platform/Logging.cpp: 1226 * Platform/Logging.h: 1227 * Platform/Module.h: 1228 * Platform/PlatformProcessIdentifier.h: 1229 * Platform/SharedMemory.h: 1230 * Platform/WorkQueue.h: 1231 * Platform/qt/LoggingQt.cpp: Removed. 1232 * Platform/qt/ModuleQt.cpp: Removed. 1233 * Platform/qt/WorkQueueQt.cpp: Removed. 1234 12352013-10-02 Tim Horton <timothy_horton@apple.com> 1236 1237 [mac] Stop using DrawingAreaImpl on PLATFORM(MAC) 1238 https://bugs.webkit.org/show_bug.cgi?id=121859 1239 <rdar://problem/15069359> 1240 1241 Reviewed by Anders Carlsson. 1242 1243 The Mac port will now use tiled drawing for all WebKit2 views. 1244 1245 * Shared/DrawingAreaInfo.h: 1246 Don't include DrawingAreaTypeImpl as a valid DrawingAreaType on Mac. 1247 1248 * UIProcess/API/mac/WKView.mm: 1249 (-[WKView drawRect:]): 1250 Remove our implementation of drawRect that paints from DrawingAreaImpl's backing store. 1251 1252 (-[WKView _shouldUseTiledDrawingArea]): 1253 Removed. Always treated as if it were true, now. 1254 1255 (-[WKView _createDrawingAreaProxy]): 1256 Always create a TiledCoreAnimationDrawingAreaProxy now. 1257 1258 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 1259 (-[WKView wantsUpdateLayer]): 1260 WKView always wants a layer, etc. 1261 1262 * UIProcess/BackingStore.h: 1263 Remove Mac-specific BackingStore code, only used for DrawingAreaImpl on Mac. 1264 1265 * UIProcess/DrawingAreaProxy.h: 1266 Remove an unneeded include. 1267 1268 * UIProcess/mac/BackingStoreMac.mm: Removed. 1269 * WebKit2.xcodeproj/project.pbxproj: 1270 Remove a bunch of files we don't need to build anymore. 1271 1272 * WebProcess/WebPage/DrawingArea.cpp: 1273 (WebKit::DrawingArea::create): 1274 Never create a DrawingAreaImpl on Mac. 1275 1276 * WebProcess/WebPage/DrawingAreaImpl.cpp: 1277 (WebKit::DrawingAreaImpl::updatePreferences): 1278 (WebKit::DrawingAreaImpl::resumePainting): 1279 * WebProcess/WebPage/DrawingAreaImpl.h: 1280 Remove Mac-specific DrawingAreaImpl code. 1281 1282 * WebProcess/WebPage/LayerTreeHost.cpp: 1283 (WebKit::LayerTreeHost::create): 1284 * WebProcess/WebPage/mac/LayerTreeHostMac.h: Removed. 1285 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Removed. 1286 12872013-10-02 Daniel Bates <dabates@apple.com> 1288 1289 Fix the Mac WebKit2 build following <http://trac.webkit.org/changeset/139241> 1290 (https://bugs.webkit.org/show_bug.cgi?id=104197) 1291 1292 WebContextMac.mm fails to compile when building with network process disabled. 1293 1294 The constants WebKit2HTTPProxyDefaultsKey and WebKit2HTTPSProxyDefaultsKey, 1295 defined in WebContextMac.mm, should only be defined when building with the 1296 network process enabled as these constants are only referenced from 1297 ENABLE(NETWORK_PROCESS)-guard code. 1298 1299 * UIProcess/mac/WebContextMac.mm: 1300 13012013-10-01 Sam Weinig <sam@webkit.org> 1302 1303 CTTE: DOMWrapperWorlds should be passed around by reference 1304 https://bugs.webkit.org/show_bug.cgi?id=122206 1305 1306 Reviewed by Andreas Kling. 1307 1308 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 1309 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 1310 (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): 1311 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 1312 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: 1313 (WebKit::InjectedBundleScriptWorld::getOrCreate): 1314 (WebKit::InjectedBundleScriptWorld::normalWorld): 1315 (WebKit::InjectedBundleScriptWorld::coreWorld): 1316 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 1317 * WebProcess/Plugins/PluginView.cpp: 1318 (WebKit::PluginView::windowScriptNPObject): 1319 (WebKit::PluginView::pluginElementNPObject): 1320 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1321 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): 1322 (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): 1323 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 1324 13252013-10-01 Mark Rowe <mrowe@apple.com> 1326 1327 <http://webkit.org/b/122190> WebKit2 APIs returning CF and NS types should explicitly declare whether they return retained objects. 1328 1329 This make the APIs easier to use under ARC and can help out the static analyzer. 1330 1331 Reviewed by Anders Carlsson. 1332 1333 * Shared/API/c/cf/WKErrorCF.h: 1334 * Shared/API/c/cf/WKStringCF.h: 1335 * Shared/API/c/cf/WKURLCF.h: 1336 * Shared/API/c/cg/WKImageCG.h: 1337 * Shared/API/c/mac/WKURLRequestNS.h: 1338 * Shared/API/c/mac/WKURLResponseNS.h: 1339 * UIProcess/API/C/cg/WKIconDatabaseCG.h: 1340 13412013-10-01 Gabor Abraham <abrhm@inf.u-szeged.hu> 1342 1343 [Qt][WK2] Fix build after r156688. 1344 https://bugs.webkit.org/show_bug.cgi?id=122153 1345 1346 Reviewed by Allan Sandfeld Jensen. 1347 1348 * Shared/qt/ShareableBitmapQt.cpp: 1349 (WebKit::ShareableBitmap::createGraphicsContext): 1350 * UIProcess/API/qt/qquickwebview.cpp: 1351 (QQuickWebViewPrivate::createDrawingAreaProxy): 1352 * UIProcess/API/qt/qquickwebview_p_p.h: 1353 * UIProcess/API/qt/raw/qrawwebview.cpp: 1354 (QRawWebViewPrivate::createDrawingAreaProxy): 1355 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 1356 * UIProcess/qt/QtPageClient.cpp: 1357 (WebKit::QtPageClient::createDrawingAreaProxy): 1358 * UIProcess/qt/QtPageClient.h: 1359 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: 1360 (WebKit::convertQPixmapToShareableBitmap): 1361 13622013-09-30 Ryuan Choi <ryuan.choi@samsung.com> 1363 1364 Build fix for EFL, Qt, Gtk port after r156688 1365 https://bugs.webkit.org/show_bug.cgi?id=122139 1366 1367 Reviewed by Anders Carlsson. 1368 1369 Get rid of more uses of OwnPtr and PassOwnPtr. 1370 1371 * Shared/API/c/cairo/WKImageCairo.cpp: 1372 (WKImageCreateFromCairoSurface): 1373 * Shared/API/c/qt/WKImageQt.cpp: 1374 (WKImageCreateFromQImage): 1375 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: 1376 (WebKit::WebCoordinatedSurface::createGraphicsContext): 1377 (WebKit::WebCoordinatedSurface::paintToSurface): 1378 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: 1379 * Shared/cairo/ShareableBitmapCairo.cpp: 1380 (WebKit::ShareableBitmap::createGraphicsContext): 1381 * Shared/gtk/ArgumentCodersGtk.cpp: 1382 (CoreIPC::encodeImage): 1383 * UIProcess/API/gtk/PageClientImpl.cpp: 1384 (WebKit::PageClientImpl::createDrawingAreaProxy): 1385 * UIProcess/API/gtk/PageClientImpl.h: 1386 * UIProcess/CoordinatedGraphics/WebView.cpp: 1387 (WebKit::WebView::createDrawingAreaProxy): 1388 * UIProcess/CoordinatedGraphics/WebView.h: 1389 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: 1390 (WebKit::convertCairoSurfaceToShareableBitmap): 1391 13922013-09-30 Sam Weinig <sam@webkit.org> 1393 1394 Remove support for DOMFileSystem 1395 https://bugs.webkit.org/show_bug.cgi?id=122137 1396 1397 Reviewed by Anders Carlsson. 1398 1399 * Configurations/FeatureDefines.xcconfig: 1400 14012013-09-30 Anders Carlsson <andersca@apple.com> 1402 1403 Fix build. 1404 1405 * NetworkProcess/mac/RemoteNetworkingContext.mm: 1406 14072013-09-30 Anders Carlsson <andersca@apple.com> 1408 1409 Get rid of more uses of OwnPtr and PassOwnPtr 1410 https://bugs.webkit.org/show_bug.cgi?id=122136 1411 1412 Reviewed by Antti Koivisto. 1413 1414 * NetworkProcess/AsynchronousNetworkLoaderClient.h: 1415 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 1416 (WebKit::NetworkBlobRegistry::registerBlobURL): 1417 * NetworkProcess/FileAPI/NetworkBlobRegistry.h: 1418 * NetworkProcess/NetworkResourceLoader.cpp: 1419 (WebKit::NetworkResourceLoader::NetworkResourceLoader): 1420 * NetworkProcess/NetworkResourceLoader.h: 1421 * NetworkProcess/SynchronousNetworkLoaderClient.h: 1422 * NetworkProcess/mac/RemoteNetworkingContext.mm: 1423 * Platform/CoreIPC/ArgumentDecoder.h: 1424 * Platform/CoreIPC/ArgumentEncoder.h: 1425 * Platform/CoreIPC/MessageDecoder.cpp: 1426 (CoreIPC::MessageDecoder::setImportanceAssertion): 1427 * Platform/CoreIPC/MessageDecoder.h: 1428 * Platform/CoreIPC/mac/ConnectionMac.cpp: 1429 (CoreIPC::Connection::receiveSourceEventHandler): 1430 * Platform/CoreIPC/mac/ImportanceAssertion.h: 1431 (CoreIPC::ImportanceAssertion::ImportanceAssertion): 1432 * Platform/mac/LayerHostingContext.h: 1433 * Platform/mac/LayerHostingContext.mm: 1434 (WebKit::LayerHostingContext::createForPort): 1435 (WebKit::LayerHostingContext::createForWindowServer): 1436 * PluginProcess/PluginControllerProxy.cpp: 1437 (WebKit::PluginControllerProxy::paint): 1438 * PluginProcess/PluginControllerProxy.h: 1439 * PluginProcess/WebProcessConnection.cpp: 1440 (WebKit::WebProcessConnection::addPluginControllerProxy): 1441 (WebKit::WebProcessConnection::removePluginControllerProxy): 1442 (WebKit::WebProcessConnection::createPluginInternal): 1443 * PluginProcess/WebProcessConnection.h: 1444 * Shared/API/c/cg/WKImageCG.cpp: 1445 (WKImageCreateFromCGImage): 1446 * Shared/BlockingResponseMap.h: 1447 (BlockingResponseMap::waitForResponse): 1448 (BlockingResponseMap::didReceiveResponse): 1449 * Shared/Downloads/Download.cpp: 1450 * Shared/Downloads/Download.h: 1451 * Shared/Downloads/DownloadManager.cpp: 1452 (WebKit::DownloadManager::startDownload): 1453 (WebKit::DownloadManager::convertHandleToDownload): 1454 * Shared/FileAPI/BlobRegistrationData.cpp: 1455 (WebKit::BlobRegistrationData::BlobRegistrationData): 1456 (WebKit::BlobRegistrationData::releaseData): 1457 (WebKit::BlobRegistrationData::decode): 1458 * Shared/FileAPI/BlobRegistrationData.h: 1459 * Shared/Plugins/NPObjectMessageReceiver.cpp: 1460 * Shared/Plugins/NPObjectMessageReceiver.h: 1461 * Shared/Plugins/NPRemoteObjectMap.cpp: 1462 (WebKit::NPRemoteObjectMap::registerNPObject): 1463 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 1464 (WebKit::NetscapePluginModule::tryLoad): 1465 * Shared/Plugins/Netscape/NetscapePluginModule.h: 1466 * Shared/ShareableBitmap.h: 1467 * Shared/WebURL.h: 1468 (WebKit::WebURL::create): 1469 (WebKit::WebURL::WebURL): 1470 (WebKit::WebURL::parseURLIfNecessary): 1471 * Shared/cg/ShareableBitmapCG.cpp: 1472 (WebKit::ShareableBitmap::createGraphicsContext): 1473 (WebKit::ShareableBitmap::makeCGImageCopy): 1474 * Shared/mac/SecItemShim.cpp: 1475 (WebKit::sendSecItemRequest): 1476 (WebKit::webSecItemCopyMatching): 1477 (WebKit::webSecItemAdd): 1478 (WebKit::webSecItemUpdate): 1479 (WebKit::webSecItemDelete): 1480 (WebKit::SecItemShim::secItemResponse): 1481 * UIProcess/API/mac/FindIndicatorWindow.h: 1482 * UIProcess/API/mac/PageClientImpl.h: 1483 * UIProcess/API/mac/PageClientImpl.mm: 1484 (WebKit::PageClientImpl::createDrawingAreaProxy): 1485 * UIProcess/API/mac/WKView.mm: 1486 (-[WKView std::WebKit::]): 1487 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 1488 * UIProcess/API/mac/WKViewInternal.h: 1489 * UIProcess/BackingStore.cpp: 1490 * UIProcess/BackingStore.h: 1491 * UIProcess/DrawingAreaProxyImpl.cpp: 1492 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): 1493 * UIProcess/DrawingAreaProxyImpl.h: 1494 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: 1495 * UIProcess/PageClient.h: 1496 * UIProcess/WebPageProxy.h: 1497 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 1498 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 1499 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 1500 * WebProcess/FileAPI/BlobRegistryProxy.cpp: 1501 (WebKit::BlobRegistryProxy::registerBlobURL): 1502 * WebProcess/FileAPI/BlobRegistryProxy.h: 1503 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 1504 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: 1505 (WKBundlePageBannerCreateBannerWithCALayer): 1506 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 1507 (WebKit::imageForRect): 1508 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 1509 (WebKit::NetscapePlugin::scheduleTimer): 1510 (WebKit::NetscapePlugin::unscheduleTimer): 1511 (WebKit::NetscapePlugin::snapshot): 1512 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 1513 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 1514 * WebProcess/Plugins/PDF/PDFPlugin.mm: 1515 (WebKit::PDFPlugin::snapshot): 1516 * WebProcess/Plugins/PluginProxy.cpp: 1517 (WebKit::PluginProxy::paint): 1518 (WebKit::PluginProxy::update): 1519 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 1520 (WebKit::convertImageToBitmap): 1521 * WebProcess/WebPage/DrawingArea.cpp: 1522 (WebKit::DrawingArea::create): 1523 * WebProcess/WebPage/DrawingArea.h: 1524 * WebProcess/WebPage/DrawingAreaImpl.cpp: 1525 (WebKit::DrawingAreaImpl::display): 1526 * WebProcess/WebPage/DrawingAreaImpl.h: 1527 * WebProcess/WebPage/FindController.cpp: 1528 (WebKit::FindController::getFindIndicatorBitmapAndRect): 1529 * WebProcess/WebPage/WebFrame.cpp: 1530 (WebKit::WebFrame::createWithCoreMainFrame): 1531 (WebKit::WebFrame::createSubframe): 1532 (WebKit::WebFrame::create): 1533 (WebKit::WebFrame::WebFrame): 1534 * WebProcess/WebPage/WebFrame.h: 1535 * WebProcess/WebPage/WebPage.cpp: 1536 (WebKit::WebPage::scaledSnapshotWithOptions): 1537 (WebKit::WebPage::drawRectToImage): 1538 * WebProcess/WebPage/WebPage.h: 1539 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 1540 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 1541 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 1542 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 1543 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 1544 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 1545 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 1546 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 1547 15482013-09-27 Anders Carlsson <andersca@apple.com> 1549 1550 Message sending functions should only accept rvalues 1551 https://bugs.webkit.org/show_bug.cgi?id=122041 1552 1553 Reviewed by Andreas Kling. 1554 1555 In order to safely encode move-only types, make all send variants accept rvalues only, except 1556 for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying 1557 to send a move-only type in a message will fail to compile. 1558 1559 * NetworkProcess/NetworkResourceLoader.h: 1560 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): 1561 * Platform/CoreIPC/Connection.h: 1562 (CoreIPC::Connection::send): 1563 (CoreIPC::Connection::sendSync): 1564 * Platform/CoreIPC/MessageSender.h: 1565 (CoreIPC::MessageSender::sendSync): 1566 * Shared/ChildProcessProxy.h: 1567 (WebKit::ChildProcessProxy::send): 1568 (WebKit::ChildProcessProxy::sendSync): 1569 * UIProcess/WebContext.h: 1570 (WebKit::WebContext::sendToNetworkingProcess): 1571 (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): 1572 (WebKit::WebContext::sendToAllProcesses): 1573 (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary): 1574 (WebKit::WebContext::sendToOneProcess): 1575 * UIProcess/WebPageGroup.h: 1576 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 1577 15782013-09-30 Benjamin Poulain <benjamin@webkit.org> 1579 1580 Remove the code guarded by STYLE_SCOPED 1581 https://bugs.webkit.org/show_bug.cgi?id=122123 1582 1583 Reviewed by Anders Carlsson. 1584 1585 * Configurations/FeatureDefines.xcconfig: 1586 15872013-09-30 Csaba Osztrogonác <ossy@webkit.org> 1588 1589 NetworkResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded 1590 https://bugs.webkit.org/show_bug.cgi?id=122110 1591 1592 Reviewed by Darin Adler. 1593 1594 * NetworkProcess/NetworkResourceLoader.messages.in: 1595 15962013-09-30 Mark Rowe <mrowe@apple.com> 1597 1598 Fix the build when building against an SDK. 1599 1600 Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating 1601 the compiler command lines. It can't know to do this for the system framework search paths 1602 we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself. 1603 1604 * Configurations/BaseTarget.xcconfig: 1605 16062013-09-30 Allan Sandfeld Jensen <allan.jensen@digia.com> 1607 1608 [Qt] Fix force_static_libs_as_shared in WebKit2 1609 https://bugs.webkit.org/show_bug.cgi?id=121961 1610 1611 Reviewed by Csaba Osztrogonác. 1612 1613 Get rid of the unused WebKit2QML library 1614 1615 * Target.pri: 1616 * WebKit2.pro: 1617 * WebKit2QML.pri: Removed. 1618 16192013-09-29 Mark Rowe <mrowe@apple.com> 1620 1621 Fix the Lion build. 1622 1623 Ensure that C++ and Objective-C++ files build with the right compiler flags. 1624 1625 * Configurations/BaseTarget.xcconfig: 1626 16272013-09-29 Sam Weinig <sam@webkit.org> 1628 1629 Fix the build. 1630 1631 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 1632 (WebKit::NPRuntimeObjectMap::evaluate): 1633 16342013-09-28 Mark Rowe <mrowe@apple.com> 1635 1636 Fix some failures with newer versions of clang. 1637 1638 Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would 1639 usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated 1640 as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler 1641 flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level 1642 in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig. 1643 1644 Reviewed by Dan Bernstein. 1645 1646 * Configurations/BaseTarget.xcconfig: 1647 * Configurations/DebugRelease.xcconfig: 1648 16492013-09-28 Mark Rowe <mrowe@apple.com> 1650 1651 Take Xcode's advice and enable some extra warnings. 1652 1653 Reviewed by Sam Weinig. 1654 1655 * Configurations/Base.xcconfig: 1656 * WebKit2.xcodeproj/project.pbxproj: 1657 16582013-09-28 Darin Adler <darin@apple.com> 1659 1660 Add Frame::mainFrame and Frame::isMainFrame 1661 https://bugs.webkit.org/show_bug.cgi?id=122064 1662 1663 Reviewed by Andreas Kling. 1664 1665 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 1666 (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView): 1667 Call isMainFrame. 1668 16692013-09-27 Anders Carlsson <andersca@apple.com> 1670 1671 Message sending functions should only accept rvalues 1672 https://bugs.webkit.org/show_bug.cgi?id=122041 1673 1674 Reviewed by Andreas Kling. 1675 1676 In order to safely encode move-only types, make all send variants accept rvalues only, except 1677 for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying 1678 to send a move-only type in a message will fail to compile. 1679 1680 * NetworkProcess/NetworkResourceLoader.h: 1681 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): 1682 * Platform/CoreIPC/Connection.h: 1683 (CoreIPC::Connection::send): 1684 (CoreIPC::Connection::sendSync): 1685 * Platform/CoreIPC/MessageSender.h: 1686 (CoreIPC::MessageSender::sendSync): 1687 * Shared/ChildProcessProxy.h: 1688 (WebKit::ChildProcessProxy::send): 1689 (WebKit::ChildProcessProxy::sendSync): 1690 * UIProcess/WebContext.h: 1691 (WebKit::WebContext::sendToNetworkingProcess): 1692 (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): 1693 (WebKit::WebContext::sendToAllProcesses): 1694 (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary): 1695 (WebKit::WebContext::sendToOneProcess): 1696 * UIProcess/WebPageGroup.h: 1697 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 1698 16992013-09-28 Philippe Normand <pnormand@igalia.com> 1700 1701 Unreviewed GTK build fix after r156560. 1702 1703 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 1704 (WebKit::LayerTreeHostGtk::paintContents): 1705 (WebKit::LayerTreeHostGtk::createPageOverlayLayer): 1706 (WebKit::LayerTreeHostGtk::destroyPageOverlayLayer): 1707 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 1708 17092013-09-28 Mark Rowe <mrowe@apple.com> 1710 1711 WebKit2 fails to build with newer versions of clang. 1712 1713 Reviewed by Anders Carlsson. 1714 1715 * Shared/VisitedLinkTable.cpp: #if a function that's only used inside an ASSERT. 1716 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Remove an unused constant. 1717 * UIProcess/mac/WKFullScreenWindowController.mm: Ditto. 1718 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Ditto. 1719 * WebProcess/WebPage/FindController.cpp: Ditto. 1720 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Remove two unused constants. 1721 17222013-09-27 Csaba Osztrogonác <ossy@webkit.org> 1723 1724 CookieStorageShim should be PLATFORM(MAC) guarded 1725 https://bugs.webkit.org/show_bug.cgi?id=121423 1726 1727 Reviewed by Darin Adler. 1728 1729 Original patch by Kwang Yul Seo <skyul@company100.com>. 1730 1731 * WebProcess/WebProcess.cpp: 1732 (WebKit::WebProcess::initializeWebProcess): 1733 17342013-09-27 Enrica Casucci <enrica@apple.com> 1735 1736 Upstream changes to Pasteboard implementation for iOS. 1737 https://bugs.webkit.org/show_bug.cgi?id=121818 1738 1739 Reviewed by Benjamin Poulain. 1740 1741 * Shared/WebCoreArgumentCoders.cpp: 1742 (CoreIPC::decodeSharedBuffer): 1743 * Shared/WebCoreArgumentCoders.h: 1744 * UIProcess/WebContext.h: 1745 * UIProcess/WebContext.messages.in: 1746 * UIProcess/mac/WebContextMac.mm: 1747 (WebKit::WebContext::writeWebContentToPasteboard): 1748 (WebKit::WebContext::writeImageToPasteboard): 1749 (WebKit::WebContext::writeStringToPasteboard): 1750 (WebKit::WebContext::readStringFromPasteboard): 1751 (WebKit::WebContext::readURLFromPasteboard): 1752 (WebKit::WebContext::readBufferFromPasteboard): 1753 (WebKit::WebContext::getPasteboardItemsCount): 1754 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 1755 (WebKit::WebPlatformStrategies::writeToPasteboard): 1756 (WebKit::WebPlatformStrategies::getPasteboardItemsCount): 1757 (WebKit::WebPlatformStrategies::readBufferFromPasteboard): 1758 (WebKit::WebPlatformStrategies::readURLFromPasteboard): 1759 (WebKit::WebPlatformStrategies::readStringFromPasteboard): 1760 (WebKit::WebPlatformStrategies::changeCount): 1761 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 1762 17632013-09-27 Ralph Thomas <ralpht@gmail.com> 1764 1765 [WK2][CoordinatedGraphics] fix build after r156560 1766 https://bugs.webkit.org/show_bug.cgi?id=122028 1767 1768 Fixing build. 1769 1770 Reviewed by Anders Carlsson. 1771 1772 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 1773 (WebKit::CoordinatedLayerTreeHost::paintLayerContents): 1774 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 1775 17762013-09-27 Anders Carlsson <andersca@apple.com> 1777 1778 Use std::unique_ptr for GraphicsLayer creation 1779 https://bugs.webkit.org/show_bug.cgi?id=122020 1780 1781 Reviewed by Antti Koivisto. 1782 1783 * UIProcess/mac/RemoteLayerTreeHost.h: 1784 * UIProcess/mac/RemoteLayerTreeHost.mm: 1785 (WebKit::RemoteLayerTreeHost::getOrCreateLayer): 1786 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 1787 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 1788 (WebKit::LayerTreeHostMac::paintContents): 1789 (WebKit::LayerTreeHostMac::createPageOverlayLayer): 1790 (WebKit::LayerTreeHostMac::destroyPageOverlayLayer): 1791 * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: 1792 * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: 1793 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 1794 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 1795 (WebKit::RemoteLayerTreeContext::createGraphicsLayer): 1796 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 1797 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 1798 (WebKit::TiledCoreAnimationDrawingArea::paintContents): 1799 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 1800 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer): 1801 18022013-09-27 Beth Dakin <bdakin@apple.com> 1803 1804 ScrollbarPainterController should adopt the api to lock overlay scrollbar state 1805 https://bugs.webkit.org/show_bug.cgi?id=121928 1806 1807 Reviewed by Sam Weinig. 1808 1809 This function no longer needs to be implemented by ScrollablArea subclasses. 1810 * WebProcess/Plugins/PDF/PDFPlugin.h: 1811 * WebProcess/Plugins/PDF/PDFPlugin.mm: 1812 18132013-09-27 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> 1814 1815 Web Inspector: Make WebKitGTK+ port work with Eclipse chromedevtools plugin 1816 https://bugs.webkit.org/show_bug.cgi?id=121121 1817 1818 Reviewed by Gustavo Noronha Silva. 1819 1820 The chromedevtools plugin (http://code.google.com/p/chromedevtools/) requires a specific 1821 json format to connect to the webkit inspector. 1822 1823 The current format is missing some required fields that make the connection with the plugin 1824 fail. 1825 1826 The format expected by the plugin is as follows: 1827 { 1828 "title": "Foo", 1829 "url": "http://foo", 1830 "devtoolsFrontendUrl": "/Main.html?ws=localhost:9222/devtools/page/1", 1831 "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/1" 1832 } 1833 1834 The current format is missing the entries for "devtoolsFrontendUrl" and 1835 "webSocketDebuggerUrl". 1836 1837 The plugin also sends an HTTP GET request to http://host:port/json instead of 1838 http://host:port/pagelist.json when retrieving the pages list. 1839 1840 This patch fixes the issues by adding support for the missing fields and accepting requests 1841 for "/json" alongside "/pagelist.json". 1842 1843 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 1844 (WebKit::WebInspectorServer::platformResourceForPath): 1845 Also accept requests for "/json" alongside "pagelist.json". 1846 (WebKit::WebInspectorServer::buildPageList): 1847 Add fields required by chromedevtools plugin. 1848 18492013-09-26 Darin Adler <darin@apple.com> 1850 1851 rename KURL to URL 1852 https://bugs.webkit.org/show_bug.cgi?id=16214 1853 1854 Reviewed by Andreas Kling. 1855 1856 * many files: Renamed, using script. 1857 18582013-09-27 Peter Gal <galpeter@inf.u-szeged.hu> 1859 1860 Remove unused method parameters from TupleCoder. 1861 https://bugs.webkit.org/show_bug.cgi?id=122009 1862 1863 Reviewed by Anders Carlsson. 1864 1865 In case of TupleCoder<0, Elements...> the parameter 1866 names for encoder, decoder and tuple are not used. 1867 By removing the paramter names the unusued paramter 1868 warning will disappear. 1869 1870 * Platform/CoreIPC/Arguments.h: 1871 18722013-09-06 Jer Noble <jer.noble@apple.com> 1873 1874 [Mac] Implement the media controls in JavaScript. 1875 https://bugs.webkit.org/show_bug.cgi?id=120895 1876 1877 Reviewed by Dean Jackson. 1878 1879 Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT. 1880 1881 * Configurations/FeatureDefines.xcconfig: 1882 18832013-09-27 Darin Adler <darin@apple.com> 1884 1885 Add empty MainFrame class 1886 https://bugs.webkit.org/show_bug.cgi?id=121770 1887 1888 Reviewed by Andreas Kling. 1889 1890 * WebProcess/FullScreen/WebFullScreenManager.cpp: 1891 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 1892 * WebProcess/InjectedBundle/InjectedBundle.cpp: 1893 * WebProcess/Plugins/PluginView.cpp: 1894 * WebProcess/Storage/StorageAreaMap.cpp: 1895 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 1896 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 1897 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 1898 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 1899 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 1900 * WebProcess/WebPage/FindController.cpp: 1901 * WebProcess/WebPage/PageOverlay.cpp: 1902 * WebProcess/WebPage/WebInspector.cpp: 1903 * WebProcess/WebPage/WebPage.cpp: 1904 * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: 1905 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 1906 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 1907 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 1908 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 1909 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 1910 * WebProcess/WebPage/mac/WebPageMac.mm: 1911 Include MainFrame.h instead of Frame.h as needed. 1912 19132013-09-27 Allan Sandfeld Jensen <allan.jensen@digia.com> 1914 1915 [Qt] Fix force_static_libs_as_shared in WebKit2 1916 https://bugs.webkit.org/show_bug.cgi?id=121961 1917 1918 Reviewed by Csaba Osztrogonác. 1919 1920 Do not add strict ordering for webkit2qml. It is not needed and causes 1921 Target.pri to be built out of order. 1922 1923 * WebKit2.pro: 1924 19252013-09-26 Anders Carlsson <andersca@apple.com> 1926 1927 Remove Windows code 1928 https://bugs.webkit.org/show_bug.cgi?id=121988 1929 1930 Reviewed by Antti Koivisto. 1931 1932 * Platform/CoreIPC/Connection.h: 1933 * Platform/CoreIPC/win/ConnectionWin.cpp: Removed. 1934 * Platform/SharedMemory.h: 1935 * Platform/WorkQueue.h: 1936 * Platform/win/SharedMemoryWin.cpp: Removed. 1937 * Platform/win/WorkQueueWin.cpp: Removed. 1938 * Shared/ChildProcess.cpp: 1939 * Shared/ChildProcessProxy.cpp: 1940 (WebKit::ChildProcessProxy::didFinishLaunching): 1941 * UIProcess/Plugins/PluginInfoStore.cpp: 1942 (WebKit::PluginInfoStore::loadPluginsIfNecessary): 1943 * WebProcess/WebProcess.cpp: 1944 19452013-09-26 Anders Carlsson <andersca@apple.com> 1946 1947 Stop using PassWeak 1948 https://bugs.webkit.org/show_bug.cgi?id=121968 1949 1950 Reviewed by Sam Weinig. 1951 1952 Update for JavaScriptCore changes. 1953 1954 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 1955 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): 1956 19572013-09-25 Jer Noble <jer.noble@apple.com> 1958 1959 [WK2] Crash at at com.apple.WebKit2: WebKit::VoidCallback::invalidate + 46 1960 https://bugs.webkit.org/show_bug.cgi?id=121910 1961 1962 Reviewed by Darin Adler. 1963 1964 Store a copy of the VoidCallback passed to WKPage, and invalidate the callback 1965 during dealloc. The VoidCallback class assumes that it will only ever be 1966 invalidated or invoked once, so change the ASSERTs into an early return. 1967 1968 * UIProcess/GenericCallback.h: 1969 (WebKit::VoidCallback::performCallback): Exit early if previously invalidated. 1970 (WebKit::VoidCallback::invalidate): Ditto. 1971 * UIProcess/mac/WKFullScreenWindowController.h: 1972 * UIProcess/mac/WKFullScreenWindowController.mm: 1973 (-[WKFullScreenWindowController dealloc]): Invalidate the repaint callback if present. 1974 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto & create a new callback. 1975 (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Clear the callback. 1976 19772013-09-26 Tim Horton <timothy_horton@apple.com> 1978 1979 Tiled drawing should not imply threaded scrolling 1980 https://bugs.webkit.org/show_bug.cgi?id=121874 1981 <rdar://problem/15071494> 1982 1983 Reviewed by Sam Weinig. 1984 1985 * Shared/DrawingAreaInfo.h: 1986 We can have DrawingAreaTypeTiledCoreAnimation without threaded scrolling. 1987 1988 * Shared/WebPreferencesStore.h: 1989 * UIProcess/API/C/WKPreferences.cpp: 1990 (WKPreferencesSetThreadedScrollingEnabled): 1991 (WKPreferencesGetThreadedScrollingEnabled): 1992 * UIProcess/API/C/WKPreferencesPrivate.h: 1993 Add a preference for threaded scrolling. 1994 1995 * UIProcess/API/mac/WKView.mm: 1996 (-[WKView WebKit::]): 1997 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 1998 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 1999 * WebProcess/WebPage/DrawingArea.cpp: 2000 (WebKit::DrawingArea::create): 2001 * WebProcess/WebPage/DrawingArea.h: 2002 Make it so we can use TiledCoreAnimationDrawingArea without ENABLE(THREADED_SCROLLING). 2003 2004 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2005 (WebKit::WebChromeClient::shouldUseTiledBackingForFrame): 2006 * WebProcess/WebCoreSupport/WebChromeClient.h: 2007 Override shouldUseTiledBackingForFrame; ask the drawing area if we want a tiled backing for the given frame. 2008 2009 * WebProcess/WebPage/WebPage.cpp: 2010 (WebKit::WebPage::WebPage): 2011 (WebKit::WebPage::~WebPage): 2012 * WebProcess/WebPage/WebPage.h: 2013 Move attaching and detaching the scrolling tree into WebPage. 2014 Store whether or not this page is going to use threaded scrolling once, as this 2015 cannot change through the life of a page. 2016 2017 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 2018 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 2019 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 2020 (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea): 2021 Move attaching and detaching the scrolling tree into WebPage. 2022 2023 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 2024 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 2025 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 2026 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 2027 Only do scrolling coordinator work if we have a scrolling coordinator. 2028 2029 (WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrame): 2030 TiledCoreAnimationDrawingArea always wants a tiled backing for the main frame. 2031 20322013-09-25 Minju Kim <pmuarteo@gmail.com> 2033 2034 8 bytes memory leaks in WebProcessMainQt.cpp when proxy is initialized 2035 https://bugs.webkit.org/show_bug.cgi?id=118515 2036 2037 Reviewed by Christophe Dumez. 2038 2039 * WebProcess/qt/WebProcessMainQt.cpp: 2040 (WebKit::initializeProxy): Handled EnvHttpProxyFactory by using OwnPtr 2041 to avoid memory leak when it isn't handled by NetworkProxyFactory 2042 20432013-09-25 Brady Eidson <beidson@apple.com> 2044 2045 Enable the IndexedDB build on Mac, but leave the feature non-functional 2046 https://bugs.webkit.org/show_bug.cgi?id=121918 2047 2048 Reviewed by Alexey Proskuryakov. 2049 2050 * Configurations/FeatureDefines.xcconfig: 2051 20522013-09-25 Commit Queue <commit-queue@webkit.org> 2053 2054 Unreviewed, rolling out r156432. 2055 http://trac.webkit.org/changeset/156432 2056 https://bugs.webkit.org/show_bug.cgi?id=121932 2057 2058 some integer conversion things that need brady to fix 2059 (Requested by thorton on #webkit). 2060 2061 * Configurations/FeatureDefines.xcconfig: 2062 20632013-09-25 Brady Eidson <beidson@apple.com> 2064 2065 Enable the IndexedDB build on Mac, but leave the feature non-functional 2066 https://bugs.webkit.org/show_bug.cgi?id=121918 2067 2068 Reviewed by Alexey Proskuryakov. 2069 2070 * Configurations/FeatureDefines.xcconfig: 2071 20722013-09-25 Brent Fulgham <bfulgham@apple.com> 2073 2074 Refactor RuntimeEnabledFeatures as a Singleton. 2075 https://bugs.webkit.org/show_bug.cgi?id=121883. 2076 2077 Reviewed by Jer Noble. 2078 2079 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2080 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Use 2081 Singleton accessor. 2082 (WebKit::InjectedBundle::setShadowDOMEnabled): 2083 (WebKit::InjectedBundle::setCSSRegionsEnabled): 2084 (WebKit::InjectedBundle::setCSSCompositingEnabled): 2085 (WebKit::InjectedBundle::setSeamlessIFramesEnabled): 2086 * WebProcess/WebPage/WebPage.cpp: 2087 (WebKit::WebPage::updatePreferences): Ditto. 2088 * WebProcess/qt/WebProcessQt.cpp: 2089 (WebKit::WebProcess::platformInitializeWebProcess): Ditto. 2090 20912013-09-25 Brady Eidson <beidson@apple.com> 2092 2093 FeatureDefine.xcconfig cleanup (They should all be identical). 2094 https://bugs.webkit.org/show_bug.cgi?id=121921 2095 2096 Reviewed by Mark Rowe. 2097 2098 * Configurations/FeatureDefines.xcconfig: 2099 21002013-09-25 Anders Carlsson <andersca@apple.com> 2101 2102 Use tuples for encoding IPC messages 2103 https://bugs.webkit.org/show_bug.cgi?id=121924 2104 2105 Reviewed by Andreas Kling. 2106 2107 Yet another step towards getting rid of the Arguments hierarchy. 2108 2109 * Platform/CoreIPC/Connection.h: 2110 (CoreIPC::Connection::send): 2111 (CoreIPC::Connection::sendSync): 2112 * Platform/CoreIPC/HandleMessage.h: 2113 (CoreIPC::handleMessage): 2114 (CoreIPC::handleMessageVariadic): 2115 (CoreIPC::handleMessageDelayed): 2116 * Platform/CoreIPC/MessageSender.h: 2117 (CoreIPC::MessageSender::send): 2118 * Scripts/webkit2/messages.py: 2119 (arguments_type_old): 2120 (arguments_type): 2121 (reply_type): 2122 (decode_type): 2123 (delayed_reply_type): 2124 (message_to_struct_declaration): 2125 * Scripts/webkit2/messages_unittest.py: 2126 (LoadURL): 2127 (std): 2128 (TouchEvent): 2129 (DidReceivePolicyDecision): 2130 (Close): 2131 (PreferencesDidChange): 2132 (SendDoubleAndFloat): 2133 (SendInts): 2134 (CreatePlugin): 2135 (RunJavaScriptAlert): 2136 (GetPlugins): 2137 (GetPluginProcessConnection): 2138 (TestMultipleAttributes): 2139 (TestParameterAttributes): 2140 (TemplateTest): 2141 (DidCreateWebProcessConnection): 2142 (InterpretKeyEvent): 2143 (DeprecatedOperation): 2144 (ExperimentalOperation): 2145 * Shared/ChildProcessProxy.h: 2146 (WebKit::ChildProcessProxy::send): 2147 21482013-09-25 Allan Sandfeld Jensen <allan.jensen@digia.com> 2149 2150 [Qt] Fix build with Qt 5.2 QtPosition module 2151 https://bugs.webkit.org/show_bug.cgi?id=121089 2152 2153 Reviewed by Simon Hausmann. 2154 2155 QtLocation -> QtPositioning 2156 2157 * Target.pri: 2158 * UIProcess/qt/WebGeolocationProviderQt.cpp: 2159 * WebKit2.pri: 2160 21612013-09-24 Sam Weinig <sam@webkit.org> 2162 2163 Remove erroneous reference to libWTF.a in the WebKit2 Xcode project file. 2164 2165 Rubber-stamped by Alexey Proskuryakov. 2166 2167 * WebKit2.xcodeproj/project.pbxproj: 2168 21692013-09-24 Sam Weinig <sam@webkit.org> 2170 2171 Remove the Windows-specific rules from WebKit2's DerivedSources.make, Windows is not supported anymore 2172 https://bugs.webkit.org/show_bug.cgi?id=121895 2173 2174 Reviewed by Alexey Proskuryakov. 2175 2176 * DerivedSources.make: 2177 Remove Windows-specific rules, and, now that only the Mac is using this file, remove the 2178 Mac checks. 2179 21802013-09-24 Anders Carlsson <andersca@apple.com> 2181 2182 Only allow rvalues to be passed as synchronous message replies 2183 https://bugs.webkit.org/show_bug.cgi?id=121870 2184 2185 Reviewed by Andreas Kling. 2186 2187 This lets us get rid of a nasty const cast and is more logical. 2188 2189 * Platform/CoreIPC/Connection.h: 2190 (CoreIPC::Connection::sendSync): 2191 * Platform/CoreIPC/MessageSender.h: 2192 (CoreIPC::MessageSender::send): 2193 (CoreIPC::MessageSender::sendSync): 2194 * Shared/ChildProcessProxy.h: 2195 (WebKit::ChildProcessProxy::sendSync): 2196 21972013-09-24 Csaba Osztrogonác <ossy@webkit.org> 2198 2199 Unreviewed buildfix. 2200 2201 * UIProcess/WebNetworkInfoManagerProxy.h: 2202 22032013-09-24 Alexey Proskuryakov <ap@apple.com> 2204 2205 Fix Mac build now. 2206 2207 * UIProcess/WebContext.messages.in: 2208 22092013-09-24 Csaba Osztrogonác <ossy@webkit.org> 2210 2211 Unreviewed buildfix after r156350. 2212 2213 It seems that nested ifdefs don't work in messages.in files, so don't use them. 2214 2215 * UIProcess/WebContext.messages.in: 2216 22172013-09-24 Csaba Osztrogonác <ossy@webkit.org> 2218 2219 Unreviewed buildfix after r156354 and r156360. 2220 2221 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2222 (CoreIPC::Connection::processMessage): 2223 (CoreIPC::Connection::sendOutgoingMessage): 2224 22252013-09-24 Csaba Osztrogonác <ossy@webkit.org> 2226 2227 Unreviewed buildfix after r156349. 2228 2229 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2230 (CoreIPC::Connection::processMessage): 2231 22322013-09-24 Anders Carlsson <andersca@apple.com> 2233 2234 Use std::unique_ptr for decoders as well 2235 https://bugs.webkit.org/show_bug.cgi?id=121868 2236 2237 Reviewed by Andreas Kling. 2238 2239 * Platform/CoreIPC/Connection.cpp: 2240 (CoreIPC::Connection::SyncMessageState::processIncomingMessage): 2241 (CoreIPC::Connection::SyncMessageState::dispatchMessages): 2242 (CoreIPC::Connection::waitForMessage): 2243 (CoreIPC::Connection::sendSyncMessage): 2244 (CoreIPC::Connection::sendSyncMessageFromSecondaryThread): 2245 (CoreIPC::Connection::waitForSyncReply): 2246 (CoreIPC::Connection::processIncomingSyncReply): 2247 (CoreIPC::Connection::processIncomingMessage): 2248 (CoreIPC::Connection::enqueueIncomingMessage): 2249 (CoreIPC::Connection::dispatchMessage): 2250 (CoreIPC::Connection::dispatchOneMessage): 2251 * Platform/CoreIPC/Connection.h: 2252 (CoreIPC::Connection::sendSync): 2253 (CoreIPC::Connection::waitForAndDispatchImmediately): 2254 * Platform/CoreIPC/mac/ConnectionMac.cpp: 2255 (CoreIPC::createMessageDecoder): 2256 (CoreIPC::Connection::receiveSourceEventHandler): 2257 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2258 (WebKit::InjectedBundle::postSynchronousMessage): 2259 22602013-09-24 Anders Carlsson <andersca@apple.com> 2261 2262 Move MessageEncoder and ArgumentEncoder to std::unique_ptr 2263 https://bugs.webkit.org/show_bug.cgi?id=121861 2264 2265 Reviewed by Andreas Kling. 2266 2267 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 2268 (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage): 2269 * NetworkProcess/NetworkConnectionToWebProcess.h: 2270 * NetworkProcess/NetworkProcess.cpp: 2271 (WebKit::NetworkProcess::didReceiveSyncMessage): 2272 * NetworkProcess/NetworkProcess.h: 2273 * Platform/CoreIPC/Connection.cpp: 2274 (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage): 2275 (CoreIPC::Connection::createSyncMessageEncoder): 2276 (CoreIPC::Connection::sendMessage): 2277 (CoreIPC::Connection::sendSyncReply): 2278 (CoreIPC::Connection::sendSyncMessage): 2279 (CoreIPC::Connection::sendSyncMessageFromSecondaryThread): 2280 (CoreIPC::Connection::sendOutgoingMessages): 2281 (CoreIPC::Connection::dispatchSyncMessage): 2282 * Platform/CoreIPC/Connection.h: 2283 (CoreIPC::Connection::send): 2284 (CoreIPC::Connection::sendSync): 2285 * Platform/CoreIPC/HandleMessage.h: 2286 (CoreIPC::handleMessageDelayed): 2287 * Platform/CoreIPC/MessageReceiver.h: 2288 (CoreIPC::MessageReceiver::didReceiveSyncMessage): 2289 * Platform/CoreIPC/MessageReceiverMap.cpp: 2290 (CoreIPC::MessageReceiverMap::dispatchSyncMessage): 2291 * Platform/CoreIPC/MessageReceiverMap.h: 2292 * Platform/CoreIPC/MessageSender.cpp: 2293 (CoreIPC::MessageSender::sendMessage): 2294 * Platform/CoreIPC/MessageSender.h: 2295 (CoreIPC::MessageSender::send): 2296 * Platform/CoreIPC/mac/ConnectionMac.cpp: 2297 (CoreIPC::Connection::open): 2298 (CoreIPC::Connection::sendOutgoingMessage): 2299 * PluginProcess/PluginControllerProxy.h: 2300 * PluginProcess/WebProcessConnection.cpp: 2301 (WebKit::WebProcessConnection::didReceiveSyncMessage): 2302 * PluginProcess/WebProcessConnection.h: 2303 * Scripts/webkit2/messages.py: 2304 (message_to_struct_declaration): 2305 (generate_message_handler): 2306 * Scripts/webkit2/messages_unittest.py: 2307 * Shared/ChildProcessProxy.cpp: 2308 (WebKit::ChildProcessProxy::sendMessage): 2309 (WebKit::ChildProcessProxy::dispatchSyncMessage): 2310 (WebKit::ChildProcessProxy::didFinishLaunching): 2311 * Shared/ChildProcessProxy.h: 2312 (WebKit::ChildProcessProxy::send): 2313 * Shared/Plugins/NPObjectMessageReceiver.h: 2314 * Shared/Plugins/NPRemoteObjectMap.cpp: 2315 (WebKit::NPRemoteObjectMap::didReceiveSyncMessage): 2316 * Shared/Plugins/NPRemoteObjectMap.h: 2317 * Shared/WebConnection.cpp: 2318 (WebKit::WebConnection::postMessage): 2319 * UIProcess/Downloads/DownloadProxy.h: 2320 * UIProcess/Network/NetworkProcessProxy.cpp: 2321 (WebKit::NetworkProcessProxy::didReceiveSyncMessage): 2322 * UIProcess/Network/NetworkProcessProxy.h: 2323 * UIProcess/Plugins/PluginProcessProxy.h: 2324 * UIProcess/Storage/StorageManager.h: 2325 * UIProcess/WebContext.cpp: 2326 (WebKit::WebContext::dispatchSyncMessage): 2327 (WebKit::WebContext::didReceiveSyncMessage): 2328 * UIProcess/WebContext.h: 2329 * UIProcess/WebFullScreenManagerProxy.h: 2330 * UIProcess/WebIconDatabase.h: 2331 * UIProcess/WebInspectorProxy.h: 2332 * UIProcess/WebPageProxy.h: 2333 * UIProcess/WebProcessProxy.cpp: 2334 (WebKit::WebProcessProxy::didReceiveSyncMessage): 2335 * UIProcess/WebProcessProxy.h: 2336 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2337 (WebKit::InjectedBundle::postMessage): 2338 (WebKit::InjectedBundle::postSynchronousMessage): 2339 * WebProcess/Network/NetworkProcessConnection.cpp: 2340 (WebKit::NetworkProcessConnection::didReceiveSyncMessage): 2341 * WebProcess/Network/NetworkProcessConnection.h: 2342 * WebProcess/Plugins/PluginProcessConnection.cpp: 2343 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 2344 * WebProcess/Plugins/PluginProcessConnection.h: 2345 * WebProcess/Plugins/PluginProxy.h: 2346 * WebProcess/WebPage/WebPage.cpp: 2347 (WebKit::WebPage::didReceiveSyncMessage): 2348 * WebProcess/WebPage/WebPage.h: 2349 * WebProcess/WebProcess.cpp: 2350 (WebKit::WebProcess::didReceiveSyncMessage): 2351 * WebProcess/WebProcess.h: 2352 23532013-09-24 Anders Carlsson <andersca@apple.com> 2354 2355 Remove encoder create functions 2356 https://bugs.webkit.org/show_bug.cgi?id=121853 2357 2358 Reviewed by Sam Weinig. 2359 2360 * Platform/CoreIPC/ArgumentEncoder.cpp: 2361 * Platform/CoreIPC/ArgumentEncoder.h: 2362 * Platform/CoreIPC/Connection.cpp: 2363 (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage): 2364 (CoreIPC::Connection::createSyncMessageEncoder): 2365 (CoreIPC::Connection::dispatchSyncMessage): 2366 * Platform/CoreIPC/Connection.h: 2367 (CoreIPC::Connection::send): 2368 * Platform/CoreIPC/MessageEncoder.cpp: 2369 (CoreIPC::MessageEncoder::setIsSyncMessage): 2370 * Platform/CoreIPC/MessageEncoder.h: 2371 * Platform/CoreIPC/MessageSender.h: 2372 (CoreIPC::MessageSender::send): 2373 * Platform/CoreIPC/mac/ConnectionMac.cpp: 2374 (CoreIPC::Connection::open): 2375 * Shared/ChildProcessProxy.h: 2376 (WebKit::ChildProcessProxy::send): 2377 * Shared/WebConnection.cpp: 2378 (WebKit::WebConnection::postMessage): 2379 * UIProcess/WebContext.cpp: 2380 (WebKit::WebContext::createNewWebProcess): 2381 (WebKit::WebContext::postMessageToInjectedBundle): 2382 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2383 (WebKit::InjectedBundle::postMessage): 2384 * WebProcess/WebPage/EncoderAdapter.cpp: 2385 (WebKit::EncoderAdapter::EncoderAdapter): 2386 (WebKit::EncoderAdapter::dataReference): 2387 (WebKit::EncoderAdapter::encodeBytes): 2388 (WebKit::EncoderAdapter::encodeBool): 2389 (WebKit::EncoderAdapter::encodeUInt16): 2390 (WebKit::EncoderAdapter::encodeUInt32): 2391 (WebKit::EncoderAdapter::encodeUInt64): 2392 (WebKit::EncoderAdapter::encodeInt32): 2393 (WebKit::EncoderAdapter::encodeInt64): 2394 (WebKit::EncoderAdapter::encodeFloat): 2395 (WebKit::EncoderAdapter::encodeDouble): 2396 (WebKit::EncoderAdapter::encodeString): 2397 * WebProcess/WebPage/EncoderAdapter.h: 2398 23992013-09-24 Enrica Casucci <enrica@apple.com> 2400 2401 Upstream changes to Pasteboard implementation for iOS. 2402 https://bugs.webkit.org/show_bug.cgi?id=121818 2403 2404 Reviewed by Darin Adler. 2405 2406 * Scripts/webkit2/messages.py: 2407 (struct_or_class): 2408 (headers_for_type): 2409 * Shared/WebCoreArgumentCoders.cpp: 2410 (CoreIPC::encodeSharedBuffer): 2411 (CoreIPC::decodeSharedBuffer): 2412 (CoreIPC::::encode): 2413 (CoreIPC::::decode): 2414 * Shared/WebCoreArgumentCoders.h: 2415 * UIProcess/WebContext.h: 2416 * UIProcess/WebContext.messages.in: 2417 * UIProcess/mac/WebContextMac.mm: 2418 (WebKit::WebContext::writeWebContentToPasteboard): 2419 (WebKit::WebContext::writeImageToPasteboard): 2420 (WebKit::WebContext::writeStringToPasteboard): 2421 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 2422 (WebKit::WebPlatformStrategies::writeToPasteboard): 2423 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 2424 24252013-09-24 Anders Carlsson <andersca@apple.com> 2426 2427 Remove create functions from MessageDecoder and ArgumentDecoder 2428 https://bugs.webkit.org/show_bug.cgi?id=121850 2429 2430 Reviewed by Antti Koivisto. 2431 2432 * Platform/CoreIPC/ArgumentDecoder.cpp: 2433 (CoreIPC::ArgumentDecoder::ArgumentDecoder): 2434 * Platform/CoreIPC/ArgumentDecoder.h: 2435 * Platform/CoreIPC/MessageDecoder.cpp: 2436 (CoreIPC::MessageDecoder::MessageDecoder): 2437 * Platform/CoreIPC/MessageDecoder.h: 2438 * Platform/CoreIPC/mac/ConnectionMac.cpp: 2439 (CoreIPC::createMessageDecoder): 2440 * WebProcess/WebPage/DecoderAdapter.cpp: 2441 (WebKit::DecoderAdapter::DecoderAdapter): 2442 (WebKit::DecoderAdapter::decodeBytes): 2443 (WebKit::DecoderAdapter::decodeBool): 2444 (WebKit::DecoderAdapter::decodeUInt16): 2445 (WebKit::DecoderAdapter::decodeUInt32): 2446 (WebKit::DecoderAdapter::decodeUInt64): 2447 (WebKit::DecoderAdapter::decodeInt32): 2448 (WebKit::DecoderAdapter::decodeInt64): 2449 (WebKit::DecoderAdapter::decodeFloat): 2450 (WebKit::DecoderAdapter::decodeDouble): 2451 (WebKit::DecoderAdapter::decodeString): 2452 * WebProcess/WebPage/DecoderAdapter.h: 2453 * WebProcess/WebProcess.cpp: 2454 (WebKit::WebProcess::postInjectedBundleMessage): 2455 24562013-09-24 Mark Rowe <mrowe@apple.com> 2457 2458 <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8 2459 2460 Reviewed by Dan Bernstein. 2461 2462 * Configurations/Base.xcconfig: 2463 24642013-09-24 Lorenzo Tilve <ltilve@igalia.com> 2465 2466 [GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE 2467 https://bugs.webkit.org/show_bug.cgi?id=121782 2468 2469 Reviewed by Martin Robinson. 2470 2471 Disabled drag functions. 2472 2473 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 2474 (webkit_web_view_base_class_init): 2475 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: 2476 24772013-09-24 Anders Carlsson <andersca@apple.com> 2478 2479 Begin adopting std::tuple for IPC decoding 2480 https://bugs.webkit.org/show_bug.cgi?id=121848 2481 2482 Reviewed by Sam Weinig. 2483 2484 This is the first step towards getting rid of the horrible Arguments class hierarchy. 2485 2486 * Platform/CoreIPC/Arguments.h: 2487 (CoreIPC::TupleCoder::encode): 2488 (CoreIPC::TupleCoder::decode): 2489 * Platform/CoreIPC/HandleMessage.h: 2490 (CoreIPC::callMemberFunction): 2491 (CoreIPC::handleMessage): 2492 (CoreIPC::handleMessageVariadic): 2493 (CoreIPC::handleMessageDelayed): 2494 24952013-09-24 ChangSeok Oh <changseok.oh@collabora.com> 2496 2497 [EFL] Build failed at ProcessLauncherEfl.cpp 2498 https://bugs.webkit.org/show_bug.cgi?id=121826 2499 2500 Reviewed by Gyuyoung Kim. 2501 2502 Fixed a build failure with adding socket.h. 2503 2504 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 2505 25062013-09-23 Patrick Gansterer <paroga@webkit.org> 2507 2508 use NOMINMAX instead of #define min min 2509 https://bugs.webkit.org/show_bug.cgi?id=73563 2510 2511 Reviewed by Brent Fulgham. 2512 2513 Use NOMINMAX instead of #define min/max as a cleaner 2514 way of ensuring that Windows system header files don't 2515 define min/max as macro in the first place. 2516 2517 * config.h: 2518 25192013-09-23 ChangSeok Oh <changseok.oh@collabora.com> 2520 2521 [GTK][WK2] A plugin dirtyRect within iframe remains after moving to a different page. 2522 https://bugs.webkit.org/show_bug.cgi?id=121600 2523 2524 Reviewed by Gustavo Noronha Silva. 2525 2526 Nowhere to destroy NetscapePlugin::m_platformPluginWidget even after destroying 2527 an instance of NetscapePlugin. So the created GtkWidget remains visible. 2528 2529 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 2530 (WebKit::NetscapePlugin::platformDestroy): 2531 25322013-09-23 Sam Weinig <sam@webkit.org> 2533 2534 Add back the SharedWorkerStrategy to prevent crashing. 2535 2536 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 2537 (WebKit::WebPlatformStrategies::createSharedWorkerStrategy): 2538 (WebKit::WebPlatformStrategies::isAvailable): 2539 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 2540 25412013-09-23 Sam Weinig <sam@webkit.org> 2542 2543 SharedWorkerProcess code is dead 2544 https://bugs.webkit.org/show_bug.cgi?id=121563 2545 2546 Reviewed by Alexey Proskuryakov. 2547 2548 Remove SharedWorkerProcess code. 2549 25502013-09-23 Patrick Gansterer <paroga@webkit.org> 2551 2552 Cleanup CMake files in WebKit2 2553 https://bugs.webkit.org/show_bug.cgi?id=121767 2554 2555 Reviewed by Gyuyoung Kim. 2556 2557 Sort files and unify style. 2558 2559 * CMakeLists.txt: 2560 * PlatformEfl.cmake: 2561 * PlatformGTK.cmake: 2562 25632013-09-21 Darin Adler <darin@apple.com> 2564 2565 Add ExecState::uncheckedArgument and use where possible to shrink a bit 2566 https://bugs.webkit.org/show_bug.cgi?id=121750 2567 2568 Reviewed by Andreas Kling. 2569 2570 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 2571 (WebKit::JSNPObject::callMethod): In a loop. 2572 (WebKit::JSNPObject::callObject): Ditto. 2573 (WebKit::JSNPObject::callConstructor): Ditto. 2574 25752013-09-18 Anders Carlsson <andersca@apple.com> 2576 2577 Remove the ENABLE_PLUGIN_PROCESS #define 2578 https://bugs.webkit.org/show_bug.cgi?id=121569 2579 2580 Reviewed by Andreas Kling. 2581 2582 Fold the ENABLE_PLUGIN_PROCESS #define into the NETSCAPE_PLUGIN_API #define since 2583 building plug-ins without the plug-in process is not supported. 2584 2585 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: 2586 * PluginProcess/PluginControllerProxy.cpp: 2587 * PluginProcess/PluginControllerProxy.h: 2588 * PluginProcess/PluginControllerProxy.messages.in: 2589 * PluginProcess/PluginCreationParameters.cpp: 2590 * PluginProcess/PluginCreationParameters.h: 2591 * PluginProcess/PluginProcess.cpp: 2592 * PluginProcess/PluginProcess.h: 2593 * PluginProcess/PluginProcess.messages.in: 2594 * PluginProcess/WebProcessConnection.cpp: 2595 * PluginProcess/WebProcessConnection.h: 2596 * PluginProcess/WebProcessConnection.messages.in: 2597 * PluginProcess/mac/PluginControllerProxyMac.mm: 2598 * PluginProcess/mac/PluginProcessMac.mm: 2599 * Shared/Plugins/NPIdentifierData.cpp: 2600 * Shared/Plugins/NPIdentifierData.h: 2601 * Shared/Plugins/NPObjectMessageReceiver.cpp: 2602 * Shared/Plugins/NPObjectMessageReceiver.h: 2603 * Shared/Plugins/NPObjectMessageReceiver.messages.in: 2604 * Shared/Plugins/NPObjectProxy.cpp: 2605 * Shared/Plugins/NPObjectProxy.h: 2606 * Shared/Plugins/NPRemoteObjectMap.cpp: 2607 * Shared/Plugins/NPRemoteObjectMap.h: 2608 * Shared/Plugins/NPVariantData.cpp: 2609 * Shared/Plugins/NPVariantData.h: 2610 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 2611 (WebKit::getMIMETypesFromPluginBundle): 2612 * Shared/Plugins/PluginProcessCreationParameters.cpp: 2613 * Shared/Plugins/PluginProcessCreationParameters.h: 2614 * UIProcess/Launcher/ProcessLauncher.cpp: 2615 (WebKit::ProcessLauncher::processTypeAsString): 2616 (WebKit::ProcessLauncher::getProcessTypeFromString): 2617 * UIProcess/Launcher/ProcessLauncher.h: 2618 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 2619 (WebKit::addDYLDEnvironmentAdditions): 2620 (WebKit::serviceName): 2621 (WebKit::createProcess): 2622 * UIProcess/Plugins/PluginProcessManager.cpp: 2623 * UIProcess/Plugins/PluginProcessManager.h: 2624 * UIProcess/Plugins/PluginProcessProxy.cpp: 2625 * UIProcess/Plugins/PluginProcessProxy.h: 2626 * UIProcess/Plugins/PluginProcessProxy.messages.in: 2627 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 2628 (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager): 2629 (WebKit::WebPluginSiteDataManager::invalidate): 2630 (WebKit::WebPluginSiteDataManager::getSitesWithData): 2631 (WebKit::WebPluginSiteDataManager::clearSiteData): 2632 * UIProcess/Plugins/WebPluginSiteDataManager.h: 2633 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: 2634 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 2635 * UIProcess/WebContext.cpp: 2636 (WebKit::WebContext::setProcessModel): 2637 (WebKit::WebContext::shouldTerminate): 2638 (WebKit::WebContext::disconnectProcess): 2639 * UIProcess/WebProcessProxy.cpp: 2640 (WebKit::WebProcessProxy::getPluginProcessConnection): 2641 * UIProcess/WebProcessProxy.h: 2642 * UIProcess/WebProcessProxy.messages.in: 2643 * UIProcess/mac/WebContextMac.mm: 2644 (WebKit::updateProcessSuppressionStateOfGlobalChildProcesses): 2645 * WebKit2Prefix.h: 2646 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 2647 * WebProcess/Plugins/PluginProcessConnection.cpp: 2648 * WebProcess/Plugins/PluginProcessConnection.h: 2649 * WebProcess/Plugins/PluginProcessConnection.messages.in: 2650 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 2651 * WebProcess/Plugins/PluginProcessConnectionManager.h: 2652 * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: 2653 * WebProcess/Plugins/PluginProxy.cpp: 2654 * WebProcess/Plugins/PluginProxy.h: 2655 * WebProcess/Plugins/PluginProxy.messages.in: 2656 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 2657 * WebProcess/WebPage/WebPage.cpp: 2658 * WebProcess/WebProcess.cpp: 2659 (WebKit::WebProcess::WebProcess): 2660 (WebKit::WebProcess::initializeConnection): 2661 * WebProcess/WebProcess.h: 2662 * WebProcess/WebProcess.messages.in: 2663 26642013-09-18 Sam Weinig <sam@webkit.org> 2665 2666 Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebKit and WebKit2 2667 https://bugs.webkit.org/show_bug.cgi?id=121568 2668 2669 Reviewed by Andreas Kling. 2670 2671 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2672 (CoreIPC::Connection::processMessage): 2673 (CoreIPC::readBytesFromSocket): 2674 (CoreIPC::Connection::sendOutgoingMessage): 2675 * UIProcess/API/efl/EwkView.cpp: 2676 (EwkView::feedTouchEvent): 2677 (EwkView::feedTouchEvents): 2678 * UIProcess/API/efl/SnapshotImageGL.h: 2679 * UIProcess/API/efl/ewk_file_chooser_request.cpp: 2680 (ewk_file_chooser_request_files_choose): 2681 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 2682 (WebKit::createArgsArray): 2683 (WebKit::ProcessLauncher::launchProcess): 2684 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2685 (WKBundlePageCopyContextMenuItems): 2686 * WebProcess/InjectedBundle/InjectedBundle.cpp: 2687 26882013-09-18 Anders Carlsson <andersca@apple.com> 2689 2690 RefPtrHashMap should work with move only types 2691 https://bugs.webkit.org/show_bug.cgi?id=121564 2692 2693 Reviewed by Andreas Kling. 2694 2695 * UIProcess/Storage/StorageManager.cpp: 2696 (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea): 2697 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea): 2698 * WebProcess/Storage/StorageNamespaceImpl.cpp: 2699 (WebKit::StorageNamespaceImpl::storageArea): 2700 27012013-09-18 Carlos Garcia Campos <cgarcia@igalia.com> 2702 2703 [GTK] WebKitScriptWorld not in API documentation 2704 https://bugs.webkit.org/show_bug.cgi?id=121539 2705 2706 Reviewed by Philippe Normand. 2707 2708 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitScriptWorld. 2709 27102013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2711 2712 Buildfix for !ENABLE(CUSTOM_PROTOCOLS) platforms 2713 https://bugs.webkit.org/show_bug.cgi?id=121417 2714 2715 Reviewed by Alexey Proskuryakov. 2716 2717 Original patch by Balazs Kelemen <kbalazs@webkit.org>. 2718 2719 * CMakeLists.txt: Add CustomProtocolManagerProxy.messages.in. 2720 * DerivedSources.pri: Add CustomProtocolManagerProxy.messages.in. 2721 * GNUmakefile.am: Add CustomProtocolManagerProxy.messages.in. 2722 * GNUmakefile.list.am: Add CustomProtocolManagerProxyMessages.h and CustomProtocolManagerProxyMessageReceiver.cpp. 2723 * NetworkProcess/NetworkProcess.cpp: Add the missing ENABLE(CUSTOM_PROTOCOLS) guard. 2724 (WebKit::NetworkProcess::NetworkProcess): 2725 * UIProcess/WebProcessProxy.cpp: Remove the unnecessary conditional include. 2726 27272013-09-17 Gustavo Noronha Silva <gns@gnome.org> 2728 2729 [GTK] Test /webkit2/WebKitWebInspectorServer/test-open-debugging-session times out after r155714 2730 https://bugs.webkit.org/show_bug.cgi?id=121383 2731 2732 Reviewed by Carlos Garcia Campos. 2733 2734 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 2735 (openRemoteDebuggingSession): use the page contents' to check the remote debugging of the page 2736 has been successfuly opened, as the title is no longer the same after the switch to the new 2737 frontend. 2738 27392013-09-16 Enrica Casucci <enrica@apple.com> 2740 2741 Remove unused function didSetSelectionTypesForPasteboard from EditorClient. 2742 https://bugs.webkit.org/show_bug.cgi?id=121464 2743 2744 Reviewed by Darin Adler. 2745 2746 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 2747 * WebProcess/WebCoreSupport/WebEditorClient.h: 2748 27492013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2750 2751 Buildfix for !(ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)) platforms 2752 https://bugs.webkit.org/show_bug.cgi?id=121491 2753 2754 Reviewed by Darin Adler. 2755 2756 * WebProcess/Network/WebResourceLoadScheduler.cpp: 2757 (WebKit::WebResourceLoadScheduler::scheduleLoad): 2758 27592013-09-17 Alberto Garcia <berto@igalia.com> 2760 2761 [GTK] Unreviewed make distcheck fix. 2762 2763 * GNUmakefile.am: include WebProcess/Network/*.in in the tarball, 2764 it's needed for generating WebResourceLoaderMessage*.{cpp,h}. 2765 27662013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2767 2768 [GTK][EFL] Add ResourceError::internalError() after r138387 2769 https://bugs.webkit.org/show_bug.cgi?id=121433 2770 2771 Reviewed by Christophe Dumez. 2772 2773 Original patch by Balazs Kelemen <kbalazs@webkit.org> 2774 and Kwang Yul Seo <skyul@company100.net> 2775 2776 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 2777 (WebKit::internalError): 2778 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: 2779 (WebKit::internalError): 2780 27812013-09-17 Gabor Abraham <abrhm@inf.u-szeged.hu> 2782 2783 Fix Qt WK2 build after r155888 2784 https://bugs.webkit.org/show_bug.cgi?id=121471 2785 2786 Reviewed by Csaba Osztrogonác. 2787 2788 * UIProcess/API/qt/qquickwebview.cpp: 2789 (QQuickWebViewPrivate::createDrawingAreaProxy): 2790 * UIProcess/API/qt/qquickwebview_p_p.h: 2791 * UIProcess/API/qt/raw/qrawwebview.cpp: 2792 (QRawWebViewPrivate::createDrawingAreaProxy): 2793 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 2794 * UIProcess/qt/QtPageClient.cpp: 2795 (WebKit::QtPageClient::createDrawingAreaProxy): 2796 * UIProcess/qt/QtPageClient.h: 2797 27982013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2799 2800 [GTK][EFL] Add NetworkProcess support for ProcessLauncher 2801 https://bugs.webkit.org/show_bug.cgi?id=121434 2802 2803 Reviewed by Sam Weinig. 2804 2805 Original patch by Balazs Kelemen <kbalazs@webkit.org> 2806 and Kwang Yul Seo <skyul@company100.net> 2807 2808 * Shared/ProcessExecutablePath.h: 2809 * Shared/efl/ProcessExecutablePathEfl.cpp: 2810 (WebKit::executablePathOfNetworkProcess): 2811 * Shared/gtk/ProcessExecutablePathGtk.cpp: 2812 (WebKit::executablePathOfNetworkProcess): 2813 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 2814 (WebKit::ProcessLauncher::launchProcess): 2815 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 2816 (WebKit::ProcessLauncher::launchProcess): 2817 28182013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2819 2820 Buildfix for !USE(PROTECTION_SPACE_AUTH_CALLBACK) platforms 2821 https://bugs.webkit.org/show_bug.cgi?id=121431 2822 2823 Reviewed by Alexey Proskuryakov. 2824 2825 Mising guards added. 2826 2827 Original patch by Balazs Kelemen <kbalazs@webkit.org> 2828 and Kwang Yul Seo <skyul@company100.net> 2829 2830 * NetworkProcess/NetworkResourceLoader.messages.in: 2831 * WebProcess/Network/WebResourceLoader.cpp: 2832 * WebProcess/Network/WebResourceLoader.h: 2833 * WebProcess/Network/WebResourceLoader.messages.in: 2834 28352013-09-17 Csaba Osztrogonác <ossy@webkit.org> 2836 2837 WebResourceLoader.messages.in should be ENABLE(NETWORK_PROCESS) guarded 2838 https://bugs.webkit.org/show_bug.cgi?id=121424 2839 2840 Reviewed by Alexey Proskuryakov. 2841 2842 Original patch by Balazs Kelemen <kbalazs@webkit.org>. 2843 2844 * CMakeLists.txt: 2845 * DerivedSources.pri: 2846 * GNUmakefile.am: 2847 * GNUmakefile.list.am: 2848 * WebProcess/Network/WebResourceLoader.messages.in: ENABLE(NETWORK_PROCESS) guard added. 2849 28502013-09-16 Manuel Rego Casasnovas <rego@igalia.com> 2851 2852 Unreviewed, fixing the GTK WK2 debug build after r155911. 2853 2854 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: Add missing using 2855 namespace WebCore. 2856 28572013-09-16 Sergio Correia <sergio.correia@openbossa.org> 2858 2859 Fix EFL build after r155888 2860 https://bugs.webkit.org/show_bug.cgi?id=121465 2861 2862 Reviewed by Gyuyoung Kim. 2863 2864 Update WebView to follow the changes in PageClient in r155888. 2865 2866 * UIProcess/CoordinatedGraphics/WebView.cpp: 2867 (WebKit::WebView::createDrawingAreaProxy): Use createOwned (addded in 2868 r155407) to return the DrawingAreaProxy from DrawingAreaProxyImpl. 2869 * UIProcess/CoordinatedGraphics/WebView.h: Update createDrawingAreaProxy() 2870 signature to match PageClient.h. 2871 28722013-09-16 Gustavo Noronha Silva <gns@gnome.org> 2873 2874 [GTK] Make symbol export filter more strict, and disable for dev/test builds 2875 https://bugs.webkit.org/show_bug.cgi?id=120586 2876 2877 Reviewed by Martin Robinson. 2878 2879 * GNUmakefile.am: only use the version script if developer mode is disabled. 2880 28812013-09-16 Gustavo Noronha Silva <gns@gnome.org> 2882 2883 Unreviewed build fix after 155905. 2884 2885 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 2886 (CoreIPC::Connection::sendOutgoingMessage): use OwnPtr instead of PassOwnPtr. 2887 28882013-09-16 Joseph Pecoraro <pecoraro@apple.com> 2889 2890 Add RunLoop::isMain and use it in WebKit2 2891 https://bugs.webkit.org/show_bug.cgi?id=121459 2892 2893 Reviewed by Anders Carlsson. 2894 2895 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 2896 (getIconSurfaceSynchronously): 2897 (iconDataReadyForPageURLCallback): 2898 (webkit_favicon_database_get_favicon_uri): 2899 * UIProcess/API/mac/WKPrintingView.mm: 2900 (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): 2901 (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): 2902 (pageDidDrawToImage): 2903 (pageDidDrawToPDF): 2904 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): 2905 (pageDidComputePageRects): 2906 (-[WKPrintingView _askPageToComputePageRects]): 2907 (prepareDataForPrintingOnSecondaryThread): 2908 (-[WKPrintingView knowsPageRange:]): 2909 (-[WKPrintingView _drawPreview:]): 2910 (-[WKPrintingView drawRect:]): 2911 (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): 2912 (-[WKPrintingView drawPageBorderWithSize:]): 2913 * UIProcess/WebProcessProxy.cpp: 2914 (WebKit::globalPageMap): 2915 29162013-09-16 Anders Carlsson <andersca@apple.com> 2917 2918 Replace more uses of PassOwnPtr with OwnPtr in WebKit2 2919 https://bugs.webkit.org/show_bug.cgi?id=121453 2920 2921 Reviewed by Sam Weinig. 2922 2923 * Platform/CoreIPC/Connection.cpp: 2924 (CoreIPC::Connection::SecondaryThreadPendingSyncReply::SecondaryThreadPendingSyncReply): 2925 (CoreIPC::Connection::createSyncMessageEncoder): 2926 (CoreIPC::Connection::sendMessage): 2927 (CoreIPC::Connection::sendSyncReply): 2928 (CoreIPC::Connection::waitForMessage): 2929 (CoreIPC::Connection::sendSyncMessage): 2930 (CoreIPC::Connection::sendSyncMessageFromSecondaryThread): 2931 (CoreIPC::Connection::waitForSyncReply): 2932 (CoreIPC::Connection::processIncomingSyncReply): 2933 (CoreIPC::Connection::processIncomingMessage): 2934 (CoreIPC::Connection::enqueueIncomingMessage): 2935 (CoreIPC::Connection::dispatchMessage): 2936 * Platform/CoreIPC/Connection.h: 2937 (CoreIPC::Connection::PendingSyncReply::PendingSyncReply): 2938 * Platform/CoreIPC/mac/ConnectionMac.cpp: 2939 (CoreIPC::Connection::sendOutgoingMessage): 2940 29412013-09-16 Zan Dobersek <zdobersek@igalia.com> 2942 2943 Unreviewed, fixing the GTK WK2 build after r155888. 2944 2945 * UIProcess/API/gtk/PageClientImpl.cpp: 2946 (WebKit::PageClientImpl::createDrawingAreaProxy): 2947 * UIProcess/API/gtk/PageClientImpl.h: 2948 29492013-09-16 Anders Carlsson <andersca@apple.com> 2950 2951 Remove some uses of PassOwnPtr in WebKit2 2952 https://bugs.webkit.org/show_bug.cgi?id=121443 2953 2954 Reviewed by Andreas Kling. 2955 2956 * Scripts/webkit2/messages.py: 2957 (message_to_struct_declaration): 2958 (generate_message_handler): 2959 * Scripts/webkit2/messages_unittest.py: 2960 * UIProcess/API/mac/FindIndicatorWindow.h: 2961 * UIProcess/API/mac/FindIndicatorWindow.mm: 2962 * UIProcess/API/mac/PageClientImpl.h: 2963 * UIProcess/API/mac/PageClientImpl.mm: 2964 (WebKit::PageClientImpl::createDrawingAreaProxy): 2965 * UIProcess/API/mac/WKView.mm: 2966 (-[WKView WebKit::]): 2967 (-[WKView _setFindIndicator:fadeOut:animate:]): 2968 * UIProcess/API/mac/WKViewInternal.h: 2969 * UIProcess/DrawingAreaProxyImpl.cpp: 2970 * UIProcess/DrawingAreaProxyImpl.h: 2971 * UIProcess/PageClient.h: 2972 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 2973 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 2974 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 2975 (PageOverlayClientImpl::PageOverlayClientImpl): 2976 (WKBundlePageOverlayCreate): 2977 * WebProcess/Plugins/PluginView.cpp: 2978 (WebKit::PluginView::createWebEvent): 2979 * WebProcess/Plugins/PluginView.h: 2980 29812013-09-16 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> 2982 2983 Web Inspector: Do not try to parse incomplete HTTP requests 2984 https://bugs.webkit.org/show_bug.cgi?id=121123 2985 2986 Reviewed by Carlos Garcia Campos. 2987 2988 Update to incorporate additional review suggestions. 2989 2990 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 2991 (sendIncompleteRequest): 2992 Fix memory leaks, change test timeout from 2 seconds to 1 second, 2993 use "0" instead of "NULL" and use g_assert_no_error when checking 2994 for GError. 2995 29962013-09-16 Eunmi Lee <eunmi15.lee@samsung.com> 2997 2998 [EFL][WK2] Implement pan and flick gesture. 2999 https://bugs.webkit.org/show_bug.cgi?id=107101 3000 3001 Reviewed by Gyuyoung Kim. 3002 3003 Implement pan gesture to scroll page by movement of point and stop 3004 scrolling smoothly using ease-in-out-quad algorithm after touched 3005 point is removed from the screen. 3006 3007 Use Ecore_Animator in order to process movement once per each framing 3008 time slot instead of processing all movement. 3009 3010 * PlatformEfl.cmake: 3011 * UIProcess/API/efl/EwkView.cpp: 3012 (EwkView::scrollBy): 3013 * UIProcess/API/efl/EwkView.h: 3014 * UIProcess/API/efl/GestureRecognizer.cpp: 3015 (WebKit::GestureHandler::view): 3016 (WebKit::GestureHandler::GestureHandler): 3017 (WebKit::GestureHandler::~GestureHandler): 3018 (WebKit::GestureHandler::reset): 3019 (WebKit::GestureHandler::panAnimatorCallback): 3020 (WebKit::GestureHandler::handlePanStarted): 3021 (WebKit::GestureHandler::handlePan): 3022 (WebKit::GestureHandler::handlePanFinished): 3023 (WebKit::GestureHandler::flickAnimatorCallback): 3024 (WebKit::GestureHandler::handleFlick): 3025 (WebKit::GestureRecognizer::noGesture): 3026 (WebKit::GestureRecognizer::reset): 3027 * UIProcess/efl/EasingCurves.cpp: Added. 3028 (WebKit::easeInOutQuad): 3029 * UIProcess/efl/EasingCurves.h: Added. 3030 30312013-09-16 Wojciech Bielawski <w.bielawski@samsung.com> 3032 3033 [WKTR] WebKitTestRunner's eventSender.contextClick() returns objects without implemented click() method. 3034 https://bugs.webkit.org/show_bug.cgi?id=98410 3035 3036 Reviewed by Darin Adler. 3037 3038 Add API required to implement click() method for context menu entry, used by WebkitTestRunner::EventSender. 3039 3040 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 3041 (WKBundlePageClickMenuItem): 3042 (WKBundlePageCopyContextMenuItemTitle): 3043 (WKBundlePageGetContextMenuItems): 3044 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 3045 30462013-09-15 Gustavo Noronha Silva <gns@gnome.org> 3047 3048 Unreviewed make distcheck fix. 3049 3050 * GNUmakefile.list.am: 3051 30522013-09-15 Carlos Garcia Campos <cgarcia@igalia.com> 3053 3054 [GTK] The web inspector is not rendered when docked in WebKit2 when AC is used 3055 https://bugs.webkit.org/show_bug.cgi?id=121381 3056 3057 Reviewed by Martin Robinson. 3058 3059 When accelerated compositing results are rendered we return early 3060 from webkitWebViewBaseDraw and other WebView children are not 3061 drawn. We need to chain up the draw signal handler, so that the 3062 GtkContainer propagates the draw to all its children. 3063 3064 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3065 (webkitWebViewBaseDraw): 3066 30672013-09-14 Dan Bernstein <mitz@apple.com> 3068 3069 Remove non-Apple cruft from the installed WKBase.h 3070 https://bugs.webkit.org/show_bug.cgi?id=121370 3071 3072 Reviewed by Darin Adler. 3073 3074 * Configurations/WebKit2.xcconfig: Set INSTALLHDRS_SCRIPT_PHASE to YES. 3075 * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that runs unifdef on 3076 the installed WKBase.h with __APPLE__ defined and various BUILDING_* and WTF_USE_* symbols 3077 undefined. 3078 30792013-09-14 Dan Bernstein <mitz@apple.com> 3080 3081 Build fix after r155770. 3082 3083 * UIProcess/API/mac/WKViewPrivate.h: Added WKBase.h import. 3084 30852013-09-14 Dan Bernstein <mitz@apple.com> 3086 3087 [mac] Public header WKBase.h imports a private header, WKBaseMac.h 3088 https://bugs.webkit.org/show_bug.cgi?id=121216 3089 3090 Reviewed by Darin Adler. 3091 3092 * Shared/API/c/WKBase.h: Moved definitions of enums and WK_EXPORT and WK_INLINE macros 3093 out of this files. 3094 * Shared/API/c/WKDeclarationSpecifiers.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h. 3095 Contains definitions of WK_EXPORT and WK_INLINE. 3096 * Shared/API/c/WKSharedAPICast.h: Added #includes. 3097 * Shared/API/c/WKUserContentInjectedFrames.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h. 3098 Contains enum definition. 3099 * Shared/API/c/WKUserScriptInjectionTime.h: Copied from Source/WebKit2/Shared/API/c/WKBase.h. 3100 Contains enum definition. 3101 * UIProcess/API/C/WKPageGroup.h: Added #includes. 3102 * UIProcess/API/mac/WKBrowsingContextController.h: Removed WKBase.h import from this public 3103 header, replacing it with WKDeclarationSpecifiers.h import. 3104 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added WKBase.h import. 3105 * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed WKBase.h import from this public 3106 header, added necessary public imports. 3107 * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WKBase.h import. 3108 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed WKBase.h import from public 3109 header. 3110 * UIProcess/API/mac/WKConnection.h: Ditto. Added WKDeclarationSpecifiers.h import. 3111 * UIProcess/API/mac/WKConnectionInternal.h: Added WKBase.h import. 3112 * UIProcess/API/mac/WKProcessGroup.h: Removed WKBase.h import from public header, added 3113 WKDeclarationSpecifiers.h import. 3114 * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WKBase.h import. 3115 * UIProcess/API/mac/WKView.h: Removed WKBase.h import from public header, added 3116 WKDeclarationSpecifiers.h import. 3117 * WebKit2.xcodeproj/project.pbxproj: Added new public header files, made WKBase.h private. 3118 * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Removed WKBase.h import from public header, 3119 added WKDeclarationSpecifiers.h import. 3120 * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added WKBase.h import. 3121 * WebProcess/InjectedBundle/API/mac/WKDOMRange.h: Removed WKBase.h import from public 3122 header, added WKDeclarationSpecifiers.h import. 3123 * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added WKBase.h import. 3124 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Removed WKBase.h import from public 3125 header, added WKDeclarationSpecifiers.h import. 3126 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Ditto. 3127 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: 3128 Added WKBase.h import. 3129 31302013-09-14 Alberto Garcia <berto@igalia.com> 3131 3132 [GTK] WebKitGTK+ is linking against libxslt in too many places 3133 https://bugs.webkit.org/show_bug.cgi?id=121356 3134 3135 Reviewed by Martin Robinson. 3136 3137 Don't use LIBXSLT_CFLAGS when compiling libWebCoreGtk2, no source 3138 files use libxslt there. 3139 3140 * GNUmakefile.am: 3141 31422013-09-13 Ryuan Choi <ryuan.choi@samsung.com> 3143 3144 Unreviewed build fix attempt for WK2 build. 3145 3146 * WebProcess/Plugins/PluginView.cpp: Changed ScriptState to ExecState. 3147 (WebKit::PluginView::performJavaScriptURLRequest): 3148 31492013-09-13 Anders Carlsson <andersca@apple.com> 3150 3151 Use nullptr instead of 0 in calls to HashMap::add 3152 https://bugs.webkit.org/show_bug.cgi?id=121322 3153 3154 Reviewed by Sam Weinig. 3155 3156 * Platform/CoreIPC/Connection.cpp: 3157 (CoreIPC::Connection::SyncMessageState::getOrCreate): 3158 * UIProcess/Storage/StorageManager.cpp: 3159 (WebKit::StorageManager::createLocalStorageMap): 3160 (WebKit::StorageManager::createSessionStorageMap): 3161 (WebKit::StorageManager::getOrCreateLocalStorageNamespace): 3162 * UIProcess/WebProcessProxy.cpp: 3163 (WebKit::WebProcessProxy::addBackForwardItem): 3164 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 3165 (WebKit::InjectedBundleNodeHandle::getOrCreate): 3166 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 3167 (WebKit::InjectedBundleRangeHandle::getOrCreate): 3168 * WebProcess/Storage/StorageNamespaceImpl.cpp: 3169 (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): 3170 * WebProcess/WebProcess.cpp: 3171 (WebKit::WebProcess::createWebPage): 3172 (WebKit::WebProcess::webPageGroup): 3173 31742013-09-13 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 3175 3176 [GTK] Move to the new web inspector 3177 https://bugs.webkit.org/show_bug.cgi?id=120647 3178 3179 Reviewed by Carlos Garcia Campos. 3180 3181 * GNUmakefile.am: bundle the remote inspector page list HTML into libwebkit2gtk as a GResource. 3182 * UIProcess/API/gtk/tests/GNUmakefile.am: no need to set WEBKIT_INSPECTOR_PATH anymore. 3183 * UIProcess/API/gtk/tests/InspectorTestServer.cpp: 3184 (main): ditto. 3185 * UIProcess/API/gtk/tests/TestInspector.cpp: 3186 (beforeAll): ditto. 3187 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 3188 (testInspectorServerPageList): update paths to the internal resource ones. 3189 * UIProcess/InspectorServer/WebInspectorServer.h: 3190 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 3191 (WebKit::WebInspectorServer::platformResourceForPath): ditto. 3192 (WebKit::WebInspectorServer::buildPageList): ditto. 3193 * UIProcess/WebInspectorProxy.cpp: 3194 (WebKit::isMainInspectorPage): factor out checking for the inspector main resource, to make 3195 the code more readable. 3196 (WebKit::decidePolicyForNavigationAction): use SchemeRegistry to figure out whether the 3197 request is for a local resource instead of KURL::isLocalFile() to allow using schemes 3198 other than file:// for the inspector resources. 3199 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 3200 (WebKit::WebInspectorProxy::inspectorPageURL): use the new internal resource URL; since it's now 3201 static we no longer need to generate and store the string. 3202 (WebKit::WebInspectorProxy::inspectorBaseURL): ditto. 3203 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 3204 (WebKit::WebInspector::localizedStringsURL): use the new internal resource URL. 3205 * UIProcess/gtk/WebContextGtk.cpp: 3206 (WebKit::WebContext::platformInitializeWebProcess): register resource as a local scheme. 3207 32082013-09-13 Allan Sandfeld Jensen <allan.jensen@digia.com> 3209 3210 Fix build with namespaced Qt. 3211 3212 Unreviewed build fix. 3213 3214 One forward declaration of QUrl was missing proper namespace macros. 3215 3216 * UIProcess/API/qt/qquickurlschemedelegate_p.h: 3217 32182013-09-12 Simon Fraser <simon.fraser@apple.com> 3219 3220 Avoid extra scrollbar-related layouts for overlay scrollbars 3221 https://bugs.webkit.org/show_bug.cgi?id=121267 3222 3223 Reviewed by Beth Dakin. 3224 3225 view->resize() will call setNeedsLayout() if necessary, and may already have 3226 done layout, so the extra setNeedsLayout() here was bad. 3227 3228 * WebProcess/WebPage/WebPage.cpp: 3229 (WebKit::WebPage::setSize): 3230 32312013-09-12 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk> 3232 3233 Web Inspector: Do not try to parse incomplete HTTP requests 3234 https://bugs.webkit.org/show_bug.cgi?id=121123 3235 3236 Reviewed by Darin Adler. 3237 3238 When working on a patch for bug #121121 I found an issue with the InspectorServer where it would try 3239 to parse an HTTP message before receiving the full message and thus fail connecting with the 3240 chromedevtools plugin. 3241 3242 What happens is that the WebSocketServerConnection receives buffers on 3243 WebSocketServerConnection::didReceiveSocketStreamData and calls 3244 WebSocketServerConnection::readHTTPMessage which then checks if we have a valid request by calling 3245 HTTPRequest::parseHTTPRequestFromBuffer. If the request is valid it tries to parse the message and 3246 clears the buffer, otherwise it continues adding data to the internal buffer until we have a valid 3247 request. 3248 3249 The problem is that currently HTTPRequest::parseHTTPRequestFromBuffer considers the request as valid 3250 before receiving the full message. To solve this we should make the method check if the request 3251 headers end with a blank line otherwise we consider the request as invalid (see also 3252 http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html). 3253 3254 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 3255 (sendIncompleteRequest): 3256 (beforeAll): 3257 Add GTK specific test to check if the inspector server replies to incomplete requests. 3258 * UIProcess/InspectorServer/HTTPRequest.cpp: 3259 (WebKit::HTTPRequest::parseHeaders): 3260 Do not consider request valid if headers didn't end with a blank line. 3261 32622013-09-12 Anders Carlsson <andersca@apple.com> 3263 3264 SharedBuffer::createNSData should return a RetainPtr<NSData> 3265 https://bugs.webkit.org/show_bug.cgi?id=121237 3266 3267 Reviewed by Darin Adler. 3268 3269 Update for WebCore changes. 3270 3271 * UIProcess/API/mac/WKView.mm: 3272 (-[WKView writeSelectionToPasteboard:types:]): 3273 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]): 3274 (-[WKView namesOfPromisedFilesDroppedAtDestination:]): 3275 32762013-09-12 Anders Carlsson <andersca@apple.com> 3277 3278 SharedBuffer::createCFData should return RetainPtr<CFDataRef> 3279 https://bugs.webkit.org/show_bug.cgi?id=121230 3280 3281 Reviewed by Darin Adler. 3282 3283 * NetworkProcess/mac/NetworkResourceLoaderMac.mm: 3284 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): 3285 * Shared/WebArchiveResource.cpp: 3286 (WebKit::WebArchiveResource::data): 3287 32882013-09-12 Zalan Bujtas <zalan@apple.com> 3289 3290 REGRESSION: Inline PDF that are cached fail to appear in iframe. 3291 https://bugs.webkit.org/show_bug.cgi?id=75449 3292 3293 Reviewed by Darin Adler. 3294 3295 Make sure 'frame is from page cache' flag is set for subframes too. 3296 3297 WebFrameLoaderClient::m_frameCameFromPageCache == true forces plugins 3298 to be loaded manually. It ensures that the plugin raw data is fetched again 3299 while the containing frame is being restored from the page cache. 3300 (Plugins get destroyed when the frame goes to page cache.) 3301 3302 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 3303 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 3304 This gets called only on the frame where the actual history navigation happens. 3305 (WebKit::WebFrameLoaderClient::didRestoreFromPageCache): 3306 This gets called for all the restored frames. 3307 33082013-09-11 Simon Fraser <simon.fraser@apple.com> 3309 3310 Make sure that layout is up-to-date when moving a WKView into a window, to avoid !needsLayout() assertions in RenderView::paint() 3311 https://bugs.webkit.org/show_bug.cgi?id=121196 3312 3313 Reviewed by Tim Horton. 3314 3315 When a WKView was moved into a window, it was possible for us to paint 3316 without ensuring that layout is up-to-date. Fix this by having 3317 WebPage::setIsInWindow() update layout if we are moving to a window. 3318 3319 * WebProcess/WebPage/WebPage.cpp: 3320 (WebKit::WebPage::setIsInWindow): 3321 33222013-09-11 Mario Sanchez Prada <mario.prada@samsung.com> 3323 3324 [GTK] Remove Gail dependency from build system for GTK3 3325 https://bugs.webkit.org/show_bug.cgi?id=119673 3326 3327 Reviewed by Gustavo Noronha Silva. 3328 3329 * GNUmakefile.am: Removed GAIL_LIBS. 3330 33312013-09-11 Alberto Garcia <berto@igalia.com> 3332 3333 [WK2] [GTK] LayerTreeHostGtk: don't set m_isValid to false if glContext() returns null 3334 https://bugs.webkit.org/show_bug.cgi?id=120892 3335 3336 Reviewed by Martin Robinson. 3337 3338 If the GL context cannot be created then m_isValid is set to false 3339 during the initialization of LayerTreeHostGtk. 3340 3341 This is not really necessary since the rest of the code already 3342 deals with that situation, so it doesn't have any effect other 3343 than breaking the assertion in invalidate(). 3344 3345 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 3346 (WebKit::LayerTreeHostGtk::initialize): 3347 33482013-09-11 Commit Queue <commit-queue@webkit.org> 3349 3350 Unreviewed, rolling out r154899. 3351 http://trac.webkit.org/changeset/154899 3352 https://bugs.webkit.org/show_bug.cgi?id=121162 3353 3354 It didn't fix the problem and broke other unit tests 3355 (Requested by KaL on #webkit). 3356 3357 * UIProcess/API/gtk/tests/WebViewTest.cpp: 3358 (WebViewTest::resizeView): 3359 33602013-09-11 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 3361 3362 WTF::OwnPtr should behave similarly with the rest of WTF smart pointers 3363 https://bugs.webkit.org/show_bug.cgi?id=120773 3364 3365 Reviewed by Anders Carlsson. 3366 3367 Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad 3368 for the following reasons: 3369 - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client). 3370 - It was potential error-prone as it actually modified the type given by the Client in opaque way. 3371 3372 * UIProcess/API/efl/ewk_database_manager.cpp: 3373 (getDatabaseOriginsCallback): 3374 * UIProcess/API/efl/ewk_storage_manager.cpp: 3375 (getStorageOriginsCallback): 3376 33772013-09-11 ChangSeok Oh <changseok.oh@collabora.com> 3378 3379 Unreviewed build fix. 3380 3381 * GNUmakefile.list.am: Duplicated NetscapePluginModuleNone.cpp & NetscapePluginNone.cpp. 3382 They cause build breaks of multiple definitions when targeting wayland build. 3383 33842013-09-11 Gyuyoung Kim <gyuyoung.kim@samsung.com> 3385 3386 Generate more HTML type checks and casting 3387 https://bugs.webkit.org/show_bug.cgi?id=121080 3388 3389 Reviewed by Andreas Kling. 3390 3391 Clean-up remained functions of HTML elements using auto-generated isFooElement(), 3392 and replace toFooElement() with ELEMENT_TYPE_CASTS() macro. 3393 3394 Besides this patch clean-up unnecessary checks which are being supported by 3395 auto-generated isFooElement(). 3396 3397 * WebProcess/WebPage/WebFrame.cpp: 3398 (WebKit::WebFrame::containsAnyFormControls): 3399 34002013-09-10 Marcelo Morais <m.morais@samsung.com> 3401 3402 [EFL] WebInspector: Move to new webinspector 3403 https://bugs.webkit.org/show_bug.cgi?id=119559 3404 3405 Reviewed by Gyuyoung Kim. 3406 3407 Loading the new Web Inspector page instead of the old inspector. 3408 Co-Author: Andre Loureiro <andre.vl@samsung.com> 3409 3410 * UIProcess/efl/WebInspectorProxyEfl.cpp: 3411 (WebKit::WebInspectorProxy::inspectorPageURL): 3412 34132013-09-10 Sergio Villar Senin <svillar@igalia.com> 3414 3415 [WK2][GTK] Frequent crashes when showing context menus in Debug builds 3416 https://bugs.webkit.org/show_bug.cgi?id=121099 3417 3418 Reviewed by Carlos Garcia Campos. 3419 3420 Disconnect signal handlers when destroying the context menu proxy 3421 object. This avoids use-after-free crashes when opening several 3422 context menus in a row. 3423 3424 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 3425 (WebKit::WebContextMenuProxyGtk::append): 3426 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): 3427 * UIProcess/gtk/WebContextMenuProxyGtk.h: 3428 34292013-09-10 Allan Sandfeld Jensen <allan.jensen@digia.com> 3430 3431 [Qt] make use of qtHaveModule() 3432 https://bugs.webkit.org/show_bug.cgi?id=121090 3433 3434 Reviewed by Jocelyn Turcotte. 3435 Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com> 3436 3437 Use qtHaveModule instead of our own haveQtModule. 3438 3439 * WebProcess.pro: 3440 34412013-09-10 Carlos Garcia Campos <cgarcia@igalia.com> 3442 3443 [GTK] /webkit2/WebKitWebView/default-menu fails when GtkSettings:gtk-show-input-method-menu is disabled 3444 https://bugs.webkit.org/show_bug.cgi?id=121088 3445 3446 Reviewed by Xan Lopez. 3447 3448 * UIProcess/API/gtk/tests/TestContextMenu.cpp: Always check 3449 Unicode submenu is present in default context menu for editable 3450 content. 3451 34522013-09-09 Dean Jackson <dino@apple.com> 3453 3454 [WebGL] Allow multithreaded OpenGL contexts 3455 https://bugs.webkit.org/show_bug.cgi?id=121062 3456 3457 Reviewed by Simon Fraser. 3458 3459 Expose a new preference "multithreadedWebGLEnabled". 3460 3461 * Shared/WebPreferencesStore.h: 3462 * UIProcess/API/C/WKPreferences.cpp: 3463 (WKPreferencesSetMultithreadedWebGLEnabled): 3464 (WKPreferencesGetMultithreadedWebGLEnabled): 3465 * UIProcess/API/C/WKPreferencesPrivate.h: 3466 * WebProcess/WebPage/WebPage.cpp: 3467 (WebKit::WebPage::updatePreferences): 3468 * mac/WebKit2.order: 3469 34702013-09-09 Dean Jackson <dino@apple.com> 3471 3472 Enable WebGL for OS X nightlies 3473 https://bugs.webkit.org/show_bug.cgi?id=121040 3474 3475 Reviewed by Beth Dakin. 3476 3477 * Shared/WebPreferencesStore.h: Set initial value to true. 3478 34792013-09-08 Anders Carlsson <andersca@apple.com> 3480 3481 Begin moving off of TypeTraits.h 3482 https://bugs.webkit.org/show_bug.cgi?id=121006 3483 3484 Reviewed by Darin Adler. 3485 3486 Convert uses of WTF type traits to STL type traits. 3487 3488 * Platform/CoreIPC/ArgumentCoder.h: 3489 * Platform/CoreIPC/ArgumentCoders.h: 3490 * Platform/CoreIPC/ArgumentDecoder.h: 3491 * Platform/CoreIPC/ArgumentEncoder.h: 3492 * Platform/CoreIPC/Arguments.h: 3493 * Shared/API/c/WKSharedAPICast.h: 3494 (WebKit::toImpl): 3495 34962013-09-09 Gustavo Noronha Silva <gns@gnome.org> 3497 3498 Unreviewed build fix. 3499 3500 * GNUmakefile.list.am: Typo - left-over \ from a copy/paste, most likely. 3501 35022013-09-09 Anton Obzhirov <a.obzhirov@samsung.com> 3503 3504 [GTK] Cancel the current active WebKitAuthenticationRequest on load failed 3505 https://bugs.webkit.org/show_bug.cgi?id=120350 3506 3507 Reviewed by Carlos Garcia Campos. 3508 3509 The default dialog does not get closed and the authentication is not cancelled 3510 if loading fails or is stopped on a page which requires HTTP authentication. 3511 3512 This patch cancels the authentication request on load failed 3513 and adds new authentication cancelled signal in WebKitAuthenticationRequest 3514 to allow the application handling of authentication UI. 3515 3516 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: 3517 (authenticationCancelled): 3518 (webkitAuthenticationDialogInitialize): 3519 (webkitAuthenticationDialogDispose): 3520 (webkitAuthenticationDialogNew): 3521 * UIProcess/API/gtk/WebKitAuthenticationDialog.h: 3522 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: 3523 (webkit_authentication_request_class_init): 3524 (webkit_authentication_request_cancel): 3525 * UIProcess/API/gtk/WebKitWebView.cpp: 3526 (webkitWebViewAuthenticate): 3527 (webkitWebViewLoadFailed): 3528 (webkitWebViewHandleAuthenticationChallenge): 3529 (webkitWebViewCancelAuthenticationRequest): 3530 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 3531 (testWebViewAuthenticationLoadCancelled): 3532 (beforeAll): 3533 35342013-09-09 Brian Holt <brian.holt@samsung.com> 3535 3536 [GTK][WK2] Update ContextMenu Download API 3537 https://bugs.webkit.org/show_bug.cgi?id=120763 3538 3539 Reviewed by Carlos Garcia Campos. 3540 3541 Mark the new Download items in the Context Menu with the Since 3542 tag, and include a unit test for Context Menu audio. 3543 3544 * UIProcess/API/gtk/WebKitContextMenuActions.h: 3545 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 3546 (testContextMenuDefaultMenu): 3547 35482013-09-08 Christophe Dumez <ch.dumez@sisa.samsung.com> 3549 3550 [wk2] REGRESSION (r154673): PDF scrolling moves very slowly 3551 https://bugs.webkit.org/show_bug.cgi?id=120542 3552 3553 Reviewed by Tim Horton. 3554 3555 Handle 'wheel' events in addition to 'mousewheel'. This fixes 3556 PDF scrolling. 3557 3558 * WebProcess/Plugins/PluginView.cpp: 3559 (WebKit::PluginView::handleEvent): 3560 35612013-09-08 Anders Carlsson <andersca@apple.com> 3562 3563 Move WTF::notFound to Vector.h and delete NotFound.h 3564 https://bugs.webkit.org/show_bug.cgi?id=120990 3565 3566 Reviewed by Sam Weinig. 3567 3568 * Shared/EditorState.h: 3569 35702013-09-07 Anders Carlsson <andersca@apple.com> 3571 3572 Get rid of PassOwnArrayPtr 3573 https://bugs.webkit.org/show_bug.cgi?id=120964 3574 3575 Reviewed by Andreas Kling. 3576 3577 Remove unneeded includes. 3578 3579 * Shared/ImmutableArray.h: 3580 * WebProcess/InjectedBundle/InjectedBundle.cpp: 3581 35822013-09-06 Ryosuke Niwa <rniwa@webkit.org> 3583 3584 Range::ownerDocument should return Document& 3585 https://bugs.webkit.org/show_bug.cgi?id=120908 3586 3587 Reviewed by Andreas Kling. 3588 3589 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: 3590 (-[WKDOMRange textRects]): 3591 35922013-09-05 Ryuan Choi <ryuan.choi@samsung.com> 3593 3594 [CMAKE] Add c++0x into CXX_FLAGS as a default 3595 https://bugs.webkit.org/show_bug.cgi?id=120812 3596 3597 Unreviewed build fix for EFL ports. 3598 3599 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Added constexpr for in-class initialization. 3600 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Added space between strings. 3601 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTestPageUrl): 3602 (EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme): 3603 (EWK2UnitTest::EWK2UnitTestEnvironment::urlForResource): 3604 36052013-09-05 Alexey Proskuryakov <ap@apple.com> 3606 3607 WKFullScreenWindowController extends lifetime of WKView, deleting it at a wrong time 3608 https://bugs.webkit.org/show_bug.cgi?id=120792 3609 <rdar://problem/14884666> 3610 3611 Reviewed by Jer Noble. 3612 3613 * UIProcess/API/mac/WKView.mm: (-[WKView fullScreenWindowController]): 3614 Use a newly minted initializer for the controller. 3615 3616 * UIProcess/mac/WKFullScreenWindowController.h: Removed unused web view accessors. 3617 Changed the class to take web view at initialization time. 3618 3619 * UIProcess/mac/WKFullScreenWindowController.mm: 3620 (-[WKFullScreenWindowController initWithWindow:webView:]): Initialize the controller 3621 inone step. 3622 (-[WKFullScreenWindowController dealloc]): WebView is now a raw pointer, no need 3623 to zero it. 3624 (-[WKFullScreenWindowController close]): Make sure to not leave a dangling WKView 3625 pointer (this method is indirectly but inevitably called when WKView is deallocated). 3626 36272013-09-05 Anders Carlsson <andersca@apple.com> 3628 3629 Replace uses of CLANG_PRAGMA with #pragma 3630 3631 Rubber-stamped by Andreas Kling. 3632 3633 This file is only compiled by clang anyway. 3634 3635 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 3636 (WebKit::InjectedBundle::load): 3637 36382013-09-05 Anders Carlsson <andersca@apple.com> 3639 3640 GCAssertions.h should use STL type traits and static_assert 3641 https://bugs.webkit.org/show_bug.cgi?id=120785 3642 3643 Reviewed by Andreas Kling. 3644 3645 Update for JavaScriptCore changes. 3646 3647 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 3648 36492013-09-05 Alberto Garcia <berto@igalia.com> 3650 3651 [WK2] [GTK] Remove the test to disable AC under Wayland from WebKitWebViewGroup 3652 https://bugs.webkit.org/show_bug.cgi?id=120762 3653 3654 Reviewed by Gustavo Noronha Silva. 3655 3656 The code to disable AC under Wayland is not run if we're using 3657 WebKitTestRunner, so it would be better to move it to 3658 WebKitWebViewBase. 3659 3660 However it's not really necessary to do that, instead it's much 3661 simpler to disable accelerated compositing in all cases unless we 3662 know we can support it. 3663 3664 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3665 (webkitWebViewBaseUpdatePreferences): 3666 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 3667 (webkitWebViewGroupAttachSettingsToPageGroup): 3668 36692013-09-04 Alberto Garcia <berto@igalia.com> 3670 3671 [WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate 3672 https://bugs.webkit.org/show_bug.cgi?id=117733 3673 3674 Reviewed by Martin Robinson. 3675 3676 If the GL context cannot be created then an invalid 3677 LayerTreeHostGtk object will be returned. 3678 3679 This patch disables accelerated compositing if the system doesn't 3680 support it. 3681 3682 * UIProcess/API/gtk/WebKitWebView.cpp: 3683 (webkitWebViewUpdateSettings): 3684 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3685 (webkitWebViewBaseUpdatePreferences): 3686 (webkitWebViewBaseCreateWebPage): 3687 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 3688 36892013-09-04 Commit Queue <commit-queue@webkit.org> 3690 3691 Unreviewed, rolling out r154989. 3692 http://trac.webkit.org/changeset/154989 3693 https://bugs.webkit.org/show_bug.cgi?id=120678 3694 3695 This patch might broke apps using webkitgtk not from the main 3696 thread (Requested by msanchez on #webkit). 3697 3698 * UIProcess/API/gtk/WebKitWebView.cpp: 3699 (webkitWebViewRunAsModal): 3700 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 3701 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 3702 37032013-09-04 Zan Dobersek <zdobersek@igalia.com> 3704 3705 [GTK] Add support for the Wayland build target 3706 https://bugs.webkit.org/show_bug.cgi?id=120627 3707 3708 Reviewed by Gustavo Noronha Silva. 3709 3710 * GNUmakefile.list.am: Build X11-specific NetscapePluginModule and NetscapePlugin classes if building the X11 target, 3711 fall back to the generic, empty classes otherwise. 3712 * PluginProcess/unix/PluginProcessMainUnix.cpp: 3713 (WebKit::PluginProcessMainUnix): Guard the NetscapePluginModule::scanPlugin() invocation with PLUGIN_ARCHITECTURE(X11), 3714 it's at the moment specific to the X11 implementation of the Netscape plugins. 3715 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: Guard PluginProcessProxy::scanPlugin() with PLUGIN_ARCHITECTURE(X11), 3716 just like it's guarded in the PluginProcessProxy class declaration. 3717 * UIProcess/cairo/BackingStoreCairo.cpp: Additionally guard <gdk/gdkx.h> and WidgetBackingStoreGtkX11 inclusion and use 3718 with PLATFORM(X11), this code should only be built when building the X11 target. 3719 (WebKit::createBackingStoreForGTK): 3720 * UIProcess/gtk/WebPageProxyGtk.cpp: Guard the createPluginContainer() and windowedPluginGeometryDidChange() methods and their 3721 helper functions and objects with PLUGIN_ARCHITECTURE(X11), just like they're guarded in the WebPageProxy class declaration. 3722 * config.h: Only define PLUGIN_ARCHITECTURE_X11 to 1 if we're actually building the X11 target. 3723 37242013-09-03 Darin Adler <darin@apple.com> 3725 3726 REGRESSION (r154967) window resize is very choppy 3727 https://bugs.webkit.org/show_bug.cgi?id=120653 3728 3729 Reviewed by Andreas Kling. 3730 3731 Andreas Kling spotted the bad change. 3732 3733 * Platform/CoreIPC/Connection.cpp: 3734 (CoreIPC::Connection::waitForMessage): Roll out this incorrect change. 3735 The code here is not the same as a call to take. 3736 37372013-09-03 Anton Obzhirov <a.obzhirov@samsung.com> 3738 3739 [GTK] gdk threads deprecated functions calls should be refactored 3740 https://bugs.webkit.org/show_bug.cgi?id=120070 3741 3742 Reviewed by Mario Sanchez Prada. 3743 3744 Removed deprecated functions gdk_threads_leave()/gdk_threads_enter() functions since 3745 there is no more checks for threads lock in GTK 3.6. 3746 3747 * UIProcess/API/gtk/WebKitWebView.cpp: 3748 (webkitWebViewRunAsModal): 3749 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 3750 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 3751 37522013-09-03 Brian Holt <brian.holt@samsung.com> 3753 3754 [GTK] [WK2] TestContextMenu default-menu fails 3755 https://bugs.webkit.org/show_bug.cgi?id=120459 3756 3757 Reviewed by Gustavo Noronha Silva. 3758 3759 Add context menu items for downloading media elements. 3760 3761 * UIProcess/API/gtk/WebKitContextMenuActions.cpp: 3762 (webkitContextMenuActionGetActionTag): 3763 (webkitContextMenuActionGetForContextMenuItem): 3764 (webkitContextMenuActionGetLabel): 3765 * UIProcess/API/gtk/WebKitContextMenuActions.h: 3766 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 3767 37682013-09-02 Darin Adler <darin@apple.com> 3769 3770 Cut down on double hashing and code needlessly using hash table iterators 3771 https://bugs.webkit.org/show_bug.cgi?id=120611 3772 3773 Reviewed by Andreas Kling. 3774 3775 * Platform/CoreIPC/Connection.cpp: 3776 (CoreIPC::Connection::waitForMessage): Use take instead of find/remove. 3777 3778 * UIProcess/WebPreferences.cpp: 3779 (WebKit::WebPreferences::removePageGroup): Use the return value from remove 3780 instead of find/remove. 3781 3782 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 3783 (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): 3784 (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision): 3785 Use take instead of find/remove. 3786 3787 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 3788 (WebKit::NetscapePlugin::frameDidFinishLoading): Use take instead of find/remove. 3789 (WebKit::NetscapePlugin::frameDidFail): Use take instead of find/remove. 3790 3791 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 3792 (WebKit::WebBackForwardListProxy::removeItem): Use take instead of find/remove. 3793 3794 * WebProcess/WebPage/WebPage.cpp: 3795 (WebKit::WebPage::didFinishCheckingText): Use take instead of get/remove so we 3796 hash only once. 3797 (WebKit::WebPage::didCancelCheckingText): Ditto. 3798 (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression): Use the return 3799 value from remove instead of contains/remove so we hash only once. 3800 38012013-09-02 Darin Adler <darin@apple.com> 3802 3803 [Mac] No need for HardAutorelease, which is same as CFBridgingRelease 3804 https://bugs.webkit.org/show_bug.cgi?id=120569 3805 3806 Reviewed by Andy Estes. 3807 3808 * Platform/mac/StringUtilities.mm: 3809 (WebKit::nsStringFromWebCoreString): Use CFBridgingRelease. Also 3810 changed condition to be a little cleaner and use a constant string for empty 3811 strings as well as null strings. 3812 3813 * UIProcess/API/mac/WKBrowsingContextController.mm: 3814 (autoreleased): Switched from autorelease to CFBridgingRelease for strings, 3815 which eliminates a type cast and makes this work under GC, although I don't 3816 think we should compile WebKit2 for GC. 3817 3818 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 3819 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 3820 Use CFBridgingRelease. 3821 38222013-09-02 Csaba Osztrogonác <ossy@webkit.org> 3823 3824 REGRESSION(r154909): caused many crashes on Qt WK2, EFL WK2 3825 https://bugs.webkit.org/show_bug.cgi?id=120600 3826 3827 Reviewed by Andreas Kling. 3828 3829 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 3830 (CoreIPC::::decode): keyTime should be double here too. 3831 38322013-09-01 Alexey Proskuryakov <ap@apple.com> 3833 3834 [WK2][Mac] Drag and drop tests interfere with user's UI 3835 https://bugs.webkit.org/show_bug.cgi?id=120538 3836 3837 Reviewed by Dan Bernstein. 3838 3839 * UIProcess/API/mac/WKView.mm: (-[WKView _setDragImage:at:linkDrag:]): Make it possible 3840 to override drag initiation in subclasses. It is a bit unfortunate that this exposes 3841 a deprecated API that we call, but probably not unfortunate enough to invent a new 3842 scary looking name for the same function, and conditionally call that if implemented 3843 by subclass. 3844 38452013-08-31 Santosh Mahto <santosh.ma@samsung.com> 3846 3847 warning: unused parameter point and area in EwkView.cpp:1390 3848 https://bugs.webkit.org/show_bug.cgi?id=120545 3849 3850 Reviewed by Darin Adler. 3851 3852 * UIProcess/API/efl/EwkView.cpp: 3853 (EwkView::didFindZoomableArea): Added UNUSED_PARAM. 3854 38552013-08-31 Jae Hyun Park <jae.park@company100.net> 3856 3857 Remove unused variable in LayerTreeHost 3858 https://bugs.webkit.org/show_bug.cgi?id=118950 3859 3860 Reviewed by Anders Carlsson. 3861 3862 m_waitingForUIProcess has been renamed to m_isWaitingForRenderer as of 3863 r152183, and it is a private variable in CoordinatedLayerTreeHost. Thus, 3864 we don't need m_waitingForUIProcess in LayerTreeHost. 3865 3866 * WebProcess/WebPage/LayerTreeHost.h: 3867 38682013-08-30 Brian Holt <brian.holt@samsung.com> 3869 3870 [GTK] [WK2] TestWebKitWebView snapshot fails 3871 https://bugs.webkit.org/show_bug.cgi?id=120404 3872 3873 Reviewed by Darin Adler. 3874 3875 Fixed the snapshot test failure caused by GTK no longer allowing 3876 widgets to resize. Instead, resize the WebView by resizing the 3877 window and waiting for the event to complete asynchronously. 3878 3879 * UIProcess/API/gtk/tests/WebViewTest.cpp: 3880 (WebViewTest::resizeView): 3881 38822013-08-30 Csaba Osztrogonác <ossy@webkit.org> 3883 3884 Add USE(PROTECTION_SPACE_AUTH_CALLBACK) guards to canAuthenticateAgainstProtectionSpace() 3885 https://bugs.webkit.org/show_bug.cgi?id=120351 3886 3887 Reviewed by Darin Adler. 3888 3889 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 3890 * NetworkProcess/AsynchronousNetworkLoaderClient.h: 3891 * NetworkProcess/NetworkLoaderClient.h: 3892 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: 3893 * NetworkProcess/SynchronousNetworkLoaderClient.h: 3894 38952013-08-30 Gabor Abraham <abrhm@inf.u-szeged.hu> 3896 3897 Fix, remove unused parameter in UIProcess/WebColorPicker.cpp. 3898 https://bugs.webkit.org/show_bug.cgi?id=120525 3899 3900 Reviewed by Darin Adler. 3901 3902 * UIProcess/WebColorPicker.cpp: 3903 (WebKit::WebColorPicker::showColorPicker): 3904 39052013-08-30 Tamas Czene <tczene@inf.u-szeged.hu> 3906 3907 Resolve unused parameter warning in WebPlatformStrategies.cpp 3908 https://bugs.webkit.org/show_bug.cgi?id=120515 3909 3910 Reviewed by Darin Adler. 3911 3912 * WebProcess/WebPage/TapHighlightController.cpp: 3913 (WebKit::TapHighlightController::drawRect): 3914 39152013-08-30 Tamas Czene <tczene@inf.u-szeged.hu> 3916 3917 Resolve unused parameter warning in FindController.cpp 3918 https://bugs.webkit.org/show_bug.cgi?id=120516 3919 3920 Reviewed by Darin Adler. 3921 3922 * WebProcess/WebPage/FindController.cpp: 3923 (WebKit::FindController::drawRect): 3924 39252013-08-30 Tamas Czene <tczene@inf.u-szeged.hu> 3926 3927 Resolve unused parameter warning in WKBundlePageOverlay.cpp 3928 https://bugs.webkit.org/show_bug.cgi?id=120521 3929 3930 Reviewed by Andreas Kling. 3931 3932 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 3933 (WKBundlePageOverlayFractionFadedIn): 3934 39352013-08-30 Antti Koivisto <antti@apple.com> 3936 3937 Remove code behind ENABLE(DIALOG_ELEMENT) 3938 https://bugs.webkit.org/show_bug.cgi?id=120467 3939 3940 Reviewed by Darin Adler. 3941 3942 * Configurations/FeatureDefines.xcconfig: 3943 39442013-08-29 Sam Weinig <sam@webkit.org> 3945 3946 Add ENABLE gaurds for Promises 3947 https://bugs.webkit.org/show_bug.cgi?id=120488 3948 3949 Reviewed by Andreas Kling. 3950 3951 * Configurations/FeatureDefines.xcconfig: 3952 39532013-08-29 Zan Dobersek <zdobersek@igalia.com> 3954 3955 [Automake] libWebCoreDOM.la could use a better name 3956 https://bugs.webkit.org/show_bug.cgi?id=120232 3957 3958 Reviewed by Martin Robinson. 3959 3960 * GNUmakefile.am: libWebCoreDOM has a new name - libGObjectDOMBindings. 3961 39622013-08-29 Joseph Pecoraro <pecoraro@apple.com> 3963 3964 Web Inspector: Download Web Archive of Inspected Page 3965 https://bugs.webkit.org/show_bug.cgi?id=119774 3966 3967 Reviewed by Timothy Hatcher. 3968 3969 Update to support InspectorFrontendHost.save's new base64Encoded 3970 parameter. It means the incoming content is binary data, not a string. 3971 3972 * UIProcess/WebInspectorProxy.cpp: 3973 (WebKit::WebInspectorProxy::save): 3974 * UIProcess/WebInspectorProxy.h: 3975 * UIProcess/WebInspectorProxy.messages.in: 3976 * UIProcess/efl/WebInspectorProxyEfl.cpp: 3977 (WebKit::WebInspectorProxy::platformSave): 3978 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 3979 (WebKit::WebInspectorProxy::platformSave): 3980 * UIProcess/mac/WebInspectorProxyMac.mm: 3981 (WebKit::WebInspectorProxy::platformSave): 3982 * UIProcess/qt/WebInspectorProxyQt.cpp: 3983 (WebKit::WebInspectorProxy::platformSave): 3984 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 3985 (WebKit::WebInspectorFrontendClient::save): 3986 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 3987 * WebProcess/WebPage/WebInspector.cpp: 3988 (WebKit::WebInspector::save): 3989 * WebProcess/WebPage/WebInspector.h: 3990 39912013-08-29 Brian Holt <brian.holt@samsung.com> 3992 3993 [GTK] [WK2] TestWebKitWebView page-visibility fails 3994 https://bugs.webkit.org/show_bug.cgi?id=120406 3995 3996 Reviewed by Gustavo Noronha Silva. 3997 3998 Removed the webkit prefix for document visibility properties. 3999 4000 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 4001 (testWebViewPageVisibility): 4002 40032013-08-28 Chris Curtis <chris_curtis@apple.com> 4004 4005 https://bugs.webkit.org/show_bug.cgi?id=119548 4006 Refactoring Exception throws. 4007 4008 Reviewed by Geoffrey Garen. 4009 4010 Moved setting an exception into the vm, These functions changed to use the new functionality. 4011 4012 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 4013 (WebKit::JSNPObject::callMethod): 4014 (WebKit::JSNPObject::callObject): 4015 (WebKit::JSNPObject::callConstructor): 4016 (WebKit::JSNPObject::throwInvalidAccessError): 4017 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 4018 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): 4019 40202013-08-28 Anders Carlsson <andersca@apple.com> 4021 4022 Allow the Flash plug-in to open its preference pane 4023 https://bugs.webkit.org/show_bug.cgi?id=120431 4024 <rdar://problem/14857039> 4025 4026 Reviewed by Andreas Kling. 4027 4028 Forward the -[NSWorkspace openFile:] call to the UI process and allow opening 4029 the Flash preference pane (if Flash asks for it). 4030 4031 * PluginProcess/PluginProcess.h: 4032 * PluginProcess/mac/PluginProcessMac.mm: 4033 (WebKit::replacedNSWorkspace_openFile): 4034 (WebKit::initializeCocoaOverrides): 4035 (WebKit::PluginProcess::openFile): 4036 * UIProcess/Plugins/PluginProcessProxy.h: 4037 * UIProcess/Plugins/PluginProcessProxy.messages.in: 4038 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 4039 (WebKit::PluginProcessProxy::openURL): 4040 (WebKit::shouldOpenFile): 4041 (WebKit::PluginProcessProxy::openFile): 4042 40432013-08-28 Tamas Czene <tczene@inf.u-szeged.hu> 4044 4045 [wk2] Resolve unused parameters in WebPlatformStrategies.cpp 4046 https://bugs.webkit.org/show_bug.cgi?id=120410 4047 4048 Reviewed by Darin Adler. 4049 4050 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 4051 (WebKit::WebPlatformStrategies::getPluginInfo): 4052 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace): 4053 40542013-08-28 Tamas Czene <tczene@inf.u-szeged.hu> 4055 4056 [wk2] Resolve unused parameter warnings in the WebProcess.cpp 4057 https://bugs.webkit.org/show_bug.cgi?id=120412 4058 4059 Reviewed by Darin Adler. 4060 4061 * WebProcess/WebProcess.cpp: 4062 (WebKit::WebProcess::startMemorySampler): 4063 40642013-08-28 Darin Adler <darin@apple.com> 4065 4066 Eliminate Pasteboard::generalPasteboard 4067 https://bugs.webkit.org/show_bug.cgi?id=120392 4068 4069 Reviewed by Anders Carlsson. 4070 4071 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 4072 (WebKit::WebEditorClient::updateGlobalSelection): 4073 Use createForGlobalSelection instead of generalPasteboard and setSelectionMode. 4074 40752013-08-28 Ábrahám Gábor <abrhm@inf.u-szeged.hu> 4076 4077 Fix unused variable warning. 4078 https://bugs.webkit.org/show_bug.cgi?id=120396 4079 4080 Reviewed by Allan Sandfeld Jensen. 4081 4082 Fix unused variable compiler warning in PageOverlay.h 4083 4084 * WebProcess/WebPage/PageOverlay.h: 4085 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue): 4086 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames): 4087 4088 40892013-08-28 Zan Dobersek <zdobersek@igalia.com> 4090 4091 [GTK][WK2] Only set up a RedirectedXCompositeWindow if running under an X11 display 4092 https://bugs.webkit.org/show_bug.cgi?id=120321 4093 4094 Reviewed by Gustavo Noronha Silva. 4095 4096 Only set up the RedirectedXCompositeWindow member of the WebKitWebViewBasePrivate struct 4097 if we're running under an X11 display. This is now done in the webkitWebViewBaseConstructed 4098 function rather than the constructor, which is removed. 4099 4100 This allows for the UIProcess to run in a Wayland environment even when built with accelerated 4101 compositing enabled. Of course, at the moment there's no support yet for accelerated compositing 4102 under Wayland, so we fall back to rendering the backing store. No changes are introduced to 4103 the behavior under X11 - accelerated compositing will be used where possible, if supported. 4104 4105 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 4106 (webkitWebViewBaseConstructed): 4107 41082013-08-28 Zan Dobersek <zdobersek@igalia.com> 4109 4110 [GTK][WK2] Disable accelerated compositing under Wayland 4111 https://bugs.webkit.org/show_bug.cgi?id=120347 4112 4113 Reviewed by Martin Robinson. 4114 4115 Accelerated compositing is not yet supported under the Wayland display protocol, 4116 so it should be disabled. Since it is enabled by default and the GTK WK2 API does 4117 not provide any way to change that, it's enough to disable it when attaching the 4118 WebKitSettings object to the WebPageGroup if running under Wayland. 4119 4120 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 4121 (webkitWebViewGroupAttachSettingsToPageGroup): 4122 41232013-08-28 Alexandre Abreu <alexandre.abreu@canonical.com> 4124 4125 Add a 'isMainFrame' parameter to QWebNavigationRequest. 4126 https://bugs.webkit.org/show_bug.cgi?id=118860 4127 4128 Reviewed by Simon Hausmann. 4129 4130 * UIProcess/API/qt/qwebnavigationrequest.cpp: 4131 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate): 4132 (QWebNavigationRequest::QWebNavigationRequest): 4133 (QWebNavigationRequest::navigationType): 4134 (QWebNavigationRequest::isMainFrame): 4135 * UIProcess/API/qt/qwebnavigationrequest_p.h: 4136 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: 4137 * UIProcess/qt/QtWebPagePolicyClient.cpp: 4138 (WebKit::QtWebPagePolicyClient::decidePolicyForNavigationAction): 4139 * UIProcess/qt/QtWebPagePolicyClient.h: 4140 41412013-08-27 Luciano Wolf <luciano.wolf@openbossa.org> 4142 4143 100% cpu usage for "transition: opacity" animation 4144 https://bugs.webkit.org/show_bug.cgi?id=120012 4145 4146 Reviewed by Noam Rosenthal. 4147 4148 Schedule animation timer after scheduling a layer flush. This way it 4149 won't overwrite animation timer with "0", thus avoiding 100% cpu usage. 4150 4151 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 4152 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): 4153 41542013-08-27 Csaba Osztrogonác <ossy@webkit.org> 4155 4156 [WK2][Soup] Add WebFrameNetworkingContext::webFrameLoaderClient() after r154490 4157 https://bugs.webkit.org/show_bug.cgi?id=120353 4158 4159 Reviewed by Alexey Proskuryakov. 4160 4161 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 4162 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 4163 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient): 4164 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 4165 41662013-08-26 Santosh Mahto <santosh.ma@samsung.com> 4167 4168 Fixing compilation warning "unused parameter" in WebPageProxy.cpp 4169 https://bugs.webkit.org/show_bug.cgi?id=120205 4170 4171 Reviewed by Anders Carlsson. 4172 4173 * UIProcess/WebPageProxy.cpp: 4174 (WebKit::WebPageProxy::findPlugin): 4175 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 4176 Added UNUSED_PARAM to avoid warning. 4177 41782013-08-23 Andy Estes <aestes@apple.com> 4179 4180 Fix issues found by the Clang Static Analyzer 4181 https://bugs.webkit.org/show_bug.cgi?id=120230 4182 4183 Reviewed by Darin Adler. 4184 4185 * UIProcess/API/mac/WKBrowsingContextController.mm: 4186 (autoreleased): Don't leak CFURLs when in Objective-C GC. 4187 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 4188 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 4189 Don't leak CFStrings when in Objective-C GC. 4190 41912013-08-26 Csaba Osztrogonác <ossy@webkit.org> 4192 4193 [WK2] Buildfix for non Mac platforms 4194 https://bugs.webkit.org/show_bug.cgi?id=120294 4195 4196 Reviewed by Darin Adler. 4197 4198 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 4199 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer): 4200 * NetworkProcess/NetworkResourceLoader.h: 4201 42022013-08-26 Alexey Proskuryakov <ap@apple.com> 4203 4204 [Mac] can-read-in-dragstart-event.html and can-read-in-copy-and-cut-events.html fail 4205 https://bugs.webkit.org/show_bug.cgi?id=113094 4206 4207 Reviewed by Darin Adler. 4208 4209 Return new pasteboard change count from all functions that change it. 4210 4211 * UIProcess/WebContext.h: 4212 * UIProcess/WebContext.messages.in: 4213 * UIProcess/mac/WebContextMac.mm: 4214 (WebKit::WebContext::pasteboardCopy): 4215 (WebKit::WebContext::addPasteboardTypes): 4216 (WebKit::WebContext::setPasteboardTypes): 4217 (WebKit::WebContext::setPasteboardPathnamesForType): 4218 (WebKit::WebContext::setPasteboardStringForType): 4219 (WebKit::WebContext::setPasteboardBufferForType): 4220 * WebProcess/Plugins/PDF/PDFPlugin.mm: 4221 (WebKit::PDFPlugin::writeItemsToPasteboard): 4222 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 4223 (WebKit::WebPlatformStrategies::copy): 4224 (WebKit::WebPlatformStrategies::changeCount): 4225 (WebKit::WebPlatformStrategies::addTypes): 4226 (WebKit::WebPlatformStrategies::setTypes): 4227 (WebKit::WebPlatformStrategies::setBufferForType): 4228 (WebKit::WebPlatformStrategies::setPathnamesForType): 4229 (WebKit::WebPlatformStrategies::setStringForType): 4230 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 4231 42322013-08-26 Andreas Kling <akling@apple.com> 4233 4234 Unreviewed build fix. 4235 4236 * WebProcess/WebPage/WebFrame.cpp: 4237 (WebKit::WebFrame::createWithCoreMainFrame): 4238 (WebKit::WebFrame::createSubframe): 4239 42402013-08-26 Pratik Solanki <psolanki@apple.com> 4241 4242 PageGroup::groupSettings() should return a reference 4243 https://bugs.webkit.org/show_bug.cgi?id=120319 4244 4245 Reviewed by Andreas Kling. 4246 4247 PageGroup::m_groupSettings is never NULL so we can just return a reference from groupSettings(). 4248 4249 * WebProcess/Storage/StorageNamespaceImpl.cpp: 4250 (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): 4251 42522013-08-26 Andreas Kling <akling@apple.com> 4253 4254 WebCore: Let Page create the main Frame. 4255 <https://webkit.org/b/119964> 4256 4257 Reviewed by Anders Carlsson. 4258 4259 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 4260 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4261 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 4262 4263 This starts out with a null WebFrame* pointer now. 4264 4265 (WebKit::WebFrameLoaderClient::setWebFrame): 4266 4267 WebFrame hooks itself up through this as soon as it's constructed. 4268 4269 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): 4270 4271 Tweak an out-of-date comment. The ref() we're balancing out comes from 4272 WebFrame::create(). 4273 4274 * WebProcess/WebPage/WebFrame.cpp: 4275 (WebKit::WebFrame::createWithCoreMainFrame): 4276 4277 Rewrote createMainFrame() as createWithCoreMainFrame(). The new method wraps 4278 an existing WebCore::Frame instead of creating a new one. 4279 4280 (WebKit::WebFrame::createSubframe): 4281 4282 Merged WebFrame::init() into here since the logic isn't shared with main 4283 Frame creation anymore. 4284 4285 (WebKit::WebFrame::create): 4286 (WebKit::WebFrame::WebFrame): 4287 4288 Call WebFrameLoaderClient::setWebFrame(this). 4289 4290 * WebProcess/WebPage/WebFrame.h: 4291 4292 WebFrame::m_frameLoaderClient is now an OwnPtr rather than an inline member. 4293 This way it can be created before the WebFrame. 4294 4295 * WebProcess/WebPage/WebPage.cpp: 4296 (WebKit::WebPage::WebPage): 4297 4298 Set up a WebFrameLoaderClient and pass it to the Page constructor along with 4299 the other PageClients. 4300 43012013-08-24 Carlos Garcia Campos <cgarcia@igalia.com> 4302 4303 [GTK] Add WebKit2 API for isolated worlds 4304 https://bugs.webkit.org/show_bug.cgi?id=103377 4305 4306 Reviewed by Anders Carlsson. 4307 4308 * GNUmakefile.list.am: Add new files to compilation. 4309 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 4310 * UIProcess/API/gtk/tests/TestWebExtensions.cpp: 4311 (testWebExtensionWindowObjectCleared): 4312 (scriptDialogCallback): 4313 (runJavaScriptInIsolatedWorldFinishedCallback): 4314 (testWebExtensionIsolatedWorld): 4315 (beforeAll): 4316 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: 4317 (echoCallback): 4318 (windowObjectCleared): 4319 (getWebPage): 4320 (methodCallCallback): 4321 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: 4322 (webkit_frame_get_javascript_context_for_script_world): New public 4323 method to tget the JavaScript execution context for a given script 4324 world. 4325 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: 4326 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added. 4327 (scriptWorlds): Global WebKitScriptWorld map. 4328 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate): 4329 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the 4330 given injected bundle script world. 4331 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected 4332 bundle script world wrapped by the given WebKitScriptWorld. 4333 (webkitScriptWorldWindowObjectCleared): Emit 4334 WebKitScriptWorld::window-object-cleared signal. 4335 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping 4336 the given injected bundle script world. 4337 (createDefaultScriptWorld): Create the default WebKitScriptWorld 4338 wrapping the normal world. 4339 (webkit_script_world_get_default): Return the default WebKitScriptWorld. 4340 (webkit_script_world_new): Create a new isolated WebKitScriptWorld. 4341 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added. 4342 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added. 4343 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 4344 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared(). 4345 (webkitWebPageCreate): Add implementation for callback 4346 didClearWindowObjectForFrame in injected bundle loader client. 4347 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: 4348 Include WebKitScriptWorld.h. 4349 43502013-08-26 Carlos Garcia Campos <cgarcia@igalia.com> 4351 4352 [WebKit2] Offsets for WKBundlePageLoaderClient in APIClientTraits are wrong 4353 https://bugs.webkit.org/show_bug.cgi?id=120268 4354 4355 Reviewed by Anders Carlsson. 4356 4357 * Shared/APIClientTraits.cpp: Use always the first member of every 4358 version as the offset of the version. 4359 43602013-08-26 Carlos Garcia Campos <cgarcia@igalia.com> 4361 4362 [GTK] Add missing initializer for pluginLoadPolicy in WKPageLoaderClient 4363 https://bugs.webkit.org/show_bug.cgi?id=120289 4364 4365 Reviewed by Philippe Normand. 4366 4367 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 4368 (attachLoaderClientToView): Add initializer for pluginLoadPolicy 4369 and rename the comment of the previous one as 4370 pluginLoadPolicy_deprecatedForUseWithV2. 4371 43722013-08-26 Carlos Garcia Campos <cgarcia@igalia.com> 4373 4374 [GTK] webkitCredentialGetCredential returns a temporary in g_return_val_if_fail 4375 https://bugs.webkit.org/show_bug.cgi?id=120287 4376 4377 Reviewed by Philippe Normand. 4378 4379 * UIProcess/API/gtk/WebKitCredential.cpp: 4380 (webkitCredentialGetCredential): Use ASSERT() instead of 4381 g_return_val_if_fail() since this is a private function. 4382 43832013-08-25 Zan Dobersek <zdobersek@igalia.com> 4384 4385 Unreviewed GTK build fix after r154565. 4386 4387 * UIProcess/API/gtk/tests/TestInspector.cpp: Include the Vector header. 4388 * UIProcess/API/gtk/tests/TestResources.cpp: Ditto. 4389 43902013-08-24 Darin Adler <darin@apple.com> 4391 4392 Frame::tree should return a reference instead of a pointer 4393 https://bugs.webkit.org/show_bug.cgi?id=120259 4394 4395 Reviewed by Andreas Kling. 4396 4397 * WebProcess/Plugins/PluginView.cpp: 4398 (WebKit::PluginView::performJavaScriptURLRequest): 4399 * WebProcess/Storage/StorageAreaMap.cpp: 4400 (WebKit::StorageAreaMap::dispatchSessionStorageEvent): 4401 (WebKit::StorageAreaMap::dispatchLocalStorageEvent): 4402 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4403 (WebKit::WebFrameLoaderClient::createFrame): 4404 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 4405 (WebKit::WebContextMenuClient::searchWithSpotlight): 4406 * WebProcess/WebPage/FindController.cpp: 4407 (WebKit::frameWithSelection): 4408 (WebKit::FindController::rectsForTextMatches): 4409 * WebProcess/WebPage/WebFrame.cpp: 4410 (WebKit::WebFrame::init): 4411 (WebKit::WebFrame::contentsAsString): 4412 (WebKit::WebFrame::name): 4413 (WebKit::WebFrame::childFrames): 4414 * WebProcess/WebPage/WebPage.cpp: 4415 (WebKit::WebPage::clearMainFrameName): 4416 (WebKit::WebPage::setDrawsBackground): 4417 (WebKit::WebPage::setDrawsTransparentBackground): 4418 (WebKit::WebPage::setWindowResizerSize): 4419 (WebKit::frameWithSelection): 4420 (WebKit::WebPage::unmarkAllMisspellings): 4421 (WebKit::WebPage::unmarkAllBadGrammar): 4422 (WebKit::pageContainsAnyHorizontalScrollbars): 4423 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 4424 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint): 4425 Use tree(). instead of tree()->. 4426 44272013-08-24 Commit Queue <commit-queue@webkit.org> 4428 4429 Unreviewed, rolling out r154545. 4430 http://trac.webkit.org/changeset/154545 4431 https://bugs.webkit.org/show_bug.cgi?id=120252 4432 4433 Broke WebKit2 API tests (Requested by andersca on #webkit). 4434 4435 * GNUmakefile.list.am: 4436 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 4437 * UIProcess/API/gtk/tests/TestWebExtensions.cpp: 4438 (beforeAll): 4439 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: 4440 (methodCallCallback): 4441 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: 4442 (webkit_frame_get_javascript_global_context): 4443 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: 4444 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Removed. 4445 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Removed. 4446 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Removed. 4447 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 4448 (webkitWebPageCreate): 4449 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: 4450 44512013-08-24 Carlos Garcia Campos <cgarcia@igalia.com> 4452 4453 [GTK] Add WebKit2 API for isolated worlds 4454 https://bugs.webkit.org/show_bug.cgi?id=103377 4455 4456 Reviewed by Anders Carlsson. 4457 4458 * GNUmakefile.list.am: Add new files to compilation. 4459 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 4460 * UIProcess/API/gtk/tests/TestWebExtensions.cpp: 4461 (testWebExtensionWindowObjectCleared): 4462 (scriptDialogCallback): 4463 (runJavaScriptInIsolatedWorldFinishedCallback): 4464 (testWebExtensionIsolatedWorld): 4465 (beforeAll): 4466 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: 4467 (echoCallback): 4468 (windowObjectCleared): 4469 (getWebPage): 4470 (methodCallCallback): 4471 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: 4472 (webkit_frame_get_javascript_context_for_script_world): New public 4473 method to tget the JavaScript execution context for a given script 4474 world. 4475 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: 4476 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: Added. 4477 (scriptWorlds): Global WebKitScriptWorld map. 4478 (_WebKitScriptWorldPrivate::~_WebKitScriptWorldPrivate): 4479 (webkitScriptWorldGet): Get the WebKitScriptWorld wrapping the 4480 given injected bundle script world. 4481 (webkitScriptWorldGetInjectedBundleScriptWorld): Get the injected 4482 bundle script world wrapped by the given WebKitScriptWorld. 4483 (webkitScriptWorldWindowObjectCleared): Emit 4484 WebKitScriptWorld::window-object-cleared signal. 4485 (webkitScriptWorldCreate): Create a new WebKitScriptWorld wrapping 4486 the given injected bundle script world. 4487 (createDefaultScriptWorld): Create the default WebKitScriptWorld 4488 wrapping the normal world. 4489 (webkit_script_world_get_default): Return the default WebKitScriptWorld. 4490 (webkit_script_world_new): Create a new isolated WebKitScriptWorld. 4491 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h: Added. 4492 * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorldPrivate.h: Added. 4493 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 4494 (didClearWindowObjectForFrame): Call webkitScriptWorldWindowObjectCleared(). 4495 (webkitWebPageCreate): Add implementation for callback 4496 didClearWindowObjectForFrame in injected bundle loader client. 4497 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: 4498 Include WebKitScriptWorld.h. 4499 45002013-08-24 Carlos Garcia Campos <cgarcia@igalia.com> 4501 4502 [GTK] Expose WebKitFrame in WebKit2GTK+ web extensions API 4503 https://bugs.webkit.org/show_bug.cgi?id=119743 4504 4505 Reviewed by Anders Carlsson. 4506 4507 * GNUmakefile.list.am: Add new files to compilation. 4508 * Shared/APIClientTraits.cpp: Update for new interface version. 4509 * Shared/APIClientTraits.h: Ditto. 4510 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add WebKitFrame 4511 section. 4512 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new public 4513 symbols. 4514 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 4515 webkit_frame_get_type. 4516 * UIProcess/API/gtk/tests/FrameTest.cpp: Added. 4517 (WebKitFrameTest::create): 4518 (WebKitFrameTest::webPageFromArgs): 4519 (WebKitFrameTest::testMainFrame): 4520 (WebKitFrameTest::testURI): 4521 (WebKitFrameTest::testJavaScriptContext): 4522 (WebKitFrameTest::runTest): 4523 (registerTests): 4524 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test files. 4525 * UIProcess/API/gtk/tests/TestFrame.cpp: Added. 4526 (webkitFrameTestRun): 4527 (testWebKitFrameMainFrame): 4528 (testWebKitFrameURI): 4529 (testWebKitFrameJavaScriptContext): 4530 (beforeAll): 4531 (afterAll): 4532 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add 4533 willDestroyFrame callback to the injected bundle loader client, to 4534 notify the client when a frame is about to be destroyed. 4535 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp: Added. 4536 (webkit_frame_class_init): 4537 (webkitFrameCreate): 4538 (webkit_frame_is_main_frame): 4539 (webkit_frame_get_uri): 4540 (webkit_frame_get_javascript_global_context): 4541 * WebProcess/InjectedBundle/API/gtk/WebKitFrame.h: Added. 4542 * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h: Added. 4543 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 4544 (webkitFrameGetOrCreate): Helper function to create a WebKitFrame 4545 wrapping the given WebFrame or returning the wrapper if it already 4546 exists. 4547 (willDestroyFrame): Remove the WebKitFrame wrapping the given 4548 WebFrame if it exists. 4549 (webkitWebPageCreate): Add willDestroyFrame implementation to 4550 injected bundle loader client. 4551 (webkit_web_page_get_main_frame): Return the main frame of the 4552 page. 4553 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: 4554 * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h: 4555 Include WebKitFrame.h. 4556 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 4557 (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): New 4558 callback to be called when a frame is about to be destroyed. 4559 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 4560 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4561 (WebKit::WebFrameLoaderClient::frameLoaderDestroyed): Call 4562 willDestroyFrame callback of injected bundle loader client. 4563 * WebProcess/qt/QtBuiltinBundlePage.cpp: 4564 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): Add 4565 willDestroyFrame callback. 4566 45672013-08-24 Antti Koivisto <antti@apple.com> 4568 4569 Revert accidental change. 4570 4571 Not reviewed. 4572 4573 * WebProcess/com.apple.WebProcess.sb.in: 4574 45752013-08-23 Beth Dakin <bdakin@apple.com> 4576 4577 REGRESSION (r132545): Some PDFs generated by WebKit are blank when viewed in 4578 Adobe Reader 4579 https://bugs.webkit.org/show_bug.cgi?id=120240 4580 -and corresponding- 4581 <rdar://problem/14634453> 4582 4583 Reviewed by Anders Carlsson. 4584 4585 Hook up new WebSystemInterface API to find out if the current context is the PDF 4586 context. 4587 4588 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 4589 (InitWebCoreSystemInterface): 4590 45912013-08-23 Alexey Proskuryakov <ap@apple.com> 4592 4593 [WK2] Assertion failures when loading XSL stylesheets with NetworkProcess 4594 https://bugs.webkit.org/show_bug.cgi?id=120186 4595 <rdar://problem/14080273> 4596 4597 Reviewed by Brady Eidson. 4598 4599 Covered by many existing tests. 4600 4601 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 4602 (WebKit::WebPlatformStrategies::loadResourceSynchronously): Pass frame ID and page ID. 4603 They are mostly needed for authentication, which is not supported with sync requests, 4604 but it will be supported some day. 4605 4606 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 4607 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 4608 (WebKit::WebFrameNetworkingContext::webFrameLoaderClient): 4609 Added a way to get frame loader client from WebKit NetworkingContext subclass. 4610 46112013-08-22 Carlos Garcia Campos <cgarcia@igalia.com> 4612 4613 [GTK] Wrong interface version used in WebKitWebPage for loader client 4614 https://bugs.webkit.org/show_bug.cgi?id=120199 4615 4616 Reviewed by Gustavo Noronha Silva. 4617 4618 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 4619 (webkitWebPageCreate): Use kWKBundlePageLoaderClientCurrentVersion 4620 instead of kWKBundlePageResourceLoadClientCurrentVersion in loader 4621 client initialization. 4622 46232013-08-22 Simon Cooper <scooper@apple.com> 4624 4625 Need to disable FakeSYSVSHM when sandboxing is not enabled 4626 https://bugs.webkit.org/show_bug.cgi?id=120182 4627 <rdar://problem/14814461> 4628 4629 Reviewed by Alexey Proskuryakov. 4630 4631 When not in a sandbox do not enable the FakeSYSVSHIM. This 4632 allows LocalConnection to work when Flash Player is run in 4633 "Unsafe Mode". 4634 4635 * PluginProcess/mac/PluginProcessShim.mm: 4636 (WebKit::shim_disabled): 4637 46382013-08-22 Andy Estes <aestes@apple.com> 4639 4640 <https://webkit.org/b/120180> Fix issues with OTHER_LDFLAGS in various .xcconfig files 4641 4642 Reviewed by David Kilzer. 4643 4644 Adding ld flags for ASAN overwrote the unexported symbol flags we were 4645 previously specifying. Since the unexported symbol ld flags are only 4646 needed for the framework target, move them to WebKit2.xcconfig where we 4647 can add them to OTHER_LDFLAGS along with the ASAN values inherited from 4648 DebugRelease.xcconfig (and other values). 4649 4650 * Configurations/Base.xcconfig: Removed the unexported symbol ld flags. 4651 * Configurations/WebKit2.xcconfig: ... and moved them here. 4652 46532013-08-21 Tim Horton <timothy_horton@apple.com> 4654 4655 Another null-deref under WebDragClient::startDrag 4656 https://bugs.webkit.org/show_bug.cgi?id=120145 4657 <rdar://problem/14650652> 4658 4659 Reviewed by Simon Fraser. 4660 4661 convertImageToBitmap can legitimately return null, so don't dereference it. 4662 4663 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 4664 (WebKit::WebDragClient::startDrag): 4665 46662013-08-21 Beth Dakin <bdakin@apple.com> 4667 4668 <https://webkit.org/b/120140> Clients expect didFirstLayout-related calls to 4669 happen before didLayout 4670 4671 Reviewed by Anders Carlsson. 4672 4673 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 4674 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 4675 46762013-08-21 Alexey Proskuryakov <ap@apple.com> 4677 4678 REGRESSION (r145458?): WebProcess doesn't respect UI process localization 4679 https://bugs.webkit.org/show_bug.cgi?id=120096 4680 4681 Reviewed by Darin Adler. 4682 4683 We used to get into a situation where CFBundle thought that we had no good localization, 4684 and used one passed as default. This is never the case with mixed localizations, 4685 so default is just ignored now. 4686 4687 I think that the previous behavior was a bit of a hack. As WebProcess is not localized, 4688 it's more honest to say that we want mixed localizations, and force the language 4689 to match UI process localization. 4690 4691 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 4692 (WebKit::ChildProcessMain): Don't set default localization, it's not taken into 4693 consideration unless all other attempts to compute bundle localization fail. 4694 4695 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::createProcess): Pass 4696 UI process localization as -AppleLanguages argument, so that Core Foundation uses 4697 that instead of actual user languages. We want to match UI process localization. 4698 46992013-08-20 Gavin Barraclough <barraclough@apple.com> 4700 4701 https://bugs.webkit.org/show_bug.cgi?id=120093 4702 Remove getOwnPropertyDescriptor trap 4703 4704 Reviewed by Geoff Garen. 4705 4706 All implementations of this method are now called via the method table, and equivalent in behaviour. 4707 Remove all duplicate implementations (and the method table trap), and add a single member function implementation on JSObject. 4708 4709 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 4710 * WebProcess/Plugins/Netscape/JSNPObject.h: 4711 - remove getOwnPropertyDescriptor 4712 47132013-08-20 Pratik Solanki <psolanki@apple.com> 4714 4715 <https://webkit.org/b/120029> Document::markers() should return a reference 4716 4717 Reviewed by Andreas Kling. 4718 4719 Document::m_markers is never NULL so return a reference from Document::markers(). Also mark 4720 m_markers as const and initialize it in member initialization. 4721 4722 * WebProcess/WebPage/FindController.cpp: 4723 (WebKit::FindController::rectsForTextMatches): 4724 * WebProcess/WebPage/WebPage.cpp: 4725 (WebKit::WebPage::unmarkAllMisspellings): 4726 (WebKit::WebPage::unmarkAllBadGrammar): 4727 47282013-08-20 Gavin Barraclough <barraclough@apple.com> 4729 4730 https://bugs.webkit.org/show_bug.cgi?id=120053 4731 Remove custom getOwnPropertyDescriptor for JSNPObject 4732 4733 Reviewed by Oliver Hunt. 4734 4735 Think this is the last one! 4736 4737 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 4738 - Remove custom getOwnPropertyDescriptor implementation. 4739 47402013-08-20 Anton Obzhirov <a.obzhirov@samsung.com> 4741 4742 <https://webkit.org/b/119487> [Gtk] Cancel authentication on load failed 4743 4744 Reviewed by Martin Robinson. 4745 4746 Added callback to handle load-failed event in default authentication dialog. 4747 Authentication request gets cancelled and the dialog widget gets destroyed. 4748 4749 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: 4750 (pageLoadFailed): 4751 (webkitAuthenticationDialogInitialize): 4752 (webkitAuthenticationDialogDispose): 4753 (webkit_authentication_dialog_class_init): 4754 (webkitAuthenticationDialogNew): 4755 * UIProcess/API/gtk/WebKitAuthenticationDialog.h: 4756 * UIProcess/API/gtk/WebKitWebView.cpp: 4757 (webkitWebViewAuthenticate): 4758 47592013-08-20 Allan Sandfeld Jensen <allan.jensen@digia.com> 4760 4761 [Qt][WK2] Doesn't build without Plugin-process 4762 https://bugs.webkit.org/show_bug.cgi?id=120060 4763 4764 Reviewed by Jocelyn Turcotte. 4765 4766 Disable netscape plugin api in WebKit2 when the plugin architecture is unsupported for WebKit2. 4767 4768 * Target.pri: 4769 47702013-08-19 Ryosuke Niwa <rniwa@webkit.org> 4771 4772 <https://webkit.org/b/120049> Delete code for Snow Leopard 4773 4774 Reviewed by Benjamin Poulain. 4775 4776 * NetworkProcess/mac/NetworkProcessMac.mm: 4777 (WebKit::overrideSystemProxies): 4778 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 4779 * WebKit2Prefix.h: 4780 47812013-08-19 Beth Dakin <bdakin@apple.com> 4782 4783 <https://webkit.org/b/120027> AXObjectCache's 4784 accessibilityEnhancedUserInterfaceEnabled should be initialized on process 4785 creation 4786 4787 Reviewed by Sam Weinig. 4788 4789 Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends 4790 us a notification indicating that the value has changed. We should not have to 4791 rely on that to properly initialize this value. It should be done with the 4792 WebProcessCreationParamters. 4793 4794 * Shared/WebProcessCreationParameters.cpp: 4795 (WebKit::WebProcessCreationParameters::encode): 4796 (WebKit::WebProcessCreationParameters::decode): 4797 * Shared/WebProcessCreationParameters.h: 4798 * UIProcess/mac/WebContextMac.mm: 4799 (WebKit::WebContext::platformInitializeWebProcess): 4800 * WebProcess/mac/WebProcessMac.mm: 4801 (WebKit::WebProcess::platformInitializeWebProcess): 4802 48032013-08-19 Pratik Solanki <psolanki@apple.com> 4804 4805 <https://webkit.org/b/119918> Frame::selection() should return a reference 4806 4807 Reviewed by Darin Adler. 4808 4809 m_selection is never NULL so return a reference from Frame::selection(). Also removed some 4810 unnecessary null checks and assert diff ts exposed as a result. 4811 4812 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 4813 (WebKit::WebEditorClient::updateGlobalSelection): 4814 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 4815 (WebKit::collapseSelection): 4816 (WebKit::WebEditorClient::updateGlobalSelection): 4817 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 4818 (WebKit::WebContextMenuClient::lookUpInDictionary): 4819 (WebKit::WebContextMenuClient::searchWithSpotlight): 4820 * WebProcess/WebPage/FindController.cpp: 4821 (WebKit::frameWithSelection): 4822 (WebKit::FindController::updateFindUIAfterPageScroll): 4823 (WebKit::FindController::getFindIndicatorBitmapAndRect): 4824 (WebKit::FindController::getImageForFindMatch): 4825 (WebKit::FindController::selectFindMatch): 4826 (WebKit::FindController::updateFindIndicator): 4827 (WebKit::FindController::drawRect): 4828 * WebProcess/WebPage/WebPage.cpp: 4829 (WebKit::WebPage::editorState): 4830 (WebKit::WebPage::scaledSnapshotWithOptions): 4831 (WebKit::WebPage::centerSelectionInVisibleArea): 4832 (WebKit::frameWithSelection): 4833 (WebKit::WebPage::clearSelection): 4834 (WebKit::WebPage::confirmComposition): 4835 (WebKit::WebPage::setComposition): 4836 (WebKit::WebPage::currentSelectionAsRange): 4837 * WebProcess/WebPage/mac/WebPageMac.mm: 4838 (WebKit::WebPage::setComposition): 4839 (WebKit::WebPage::insertText): 4840 (WebKit::WebPage::insertDictatedText): 4841 (WebKit::WebPage::getMarkedRange): 4842 (WebKit::WebPage::getSelectedRange): 4843 (WebKit::WebPage::getAttributedSubstringFromRange): 4844 (WebKit::WebPage::characterIndexForPoint): 4845 (WebKit::convertToRange): 4846 (WebKit::WebPage::performDictionaryLookupAtLocation): 4847 (WebKit::WebPage::readSelectionFromPasteboard): 4848 (WebKit::WebPage::getStringSelectionForPasteboard): 4849 (WebKit::WebPage::getDataSelectionForPasteboard): 4850 48512013-08-18 Darin Adler <darin@apple.com> 4852 4853 <https://webkit.org/b/119989> Make use of Node::ownerDocument a compile time error 4854 4855 Reviewed by Sam Weinig. 4856 4857 * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: 4858 (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): Use document instead of 4859 ownerDocument. 4860 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: 4861 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Ditto. 4862 48632013-08-18 Dan Bernstein <mitz@apple.com> 4864 4865 Fix clean engineering builds after r154251. 4866 4867 * WebKit2.xcodeproj/project.pbxproj: Removed references to the OfflineStorage XPC services 4868 from the “Copy XPC services for engineering builds” build phase. 4869 48702013-08-18 Gavin Barraclough <barraclough@apple.com> 4871 4872 https://bugs.webkit.org/show_bug.cgi?id=119972 4873 Add attributes field to PropertySlot 4874 4875 Reviewed by Geoff Garen. 4876 4877 For all JSC types, this makes getOwnPropertyDescriptor redundant. 4878 There will be a bit more hacking required in WebCore to remove GOPD whilst maintaining current behaviour. 4879 (Current behaviour is in many ways broken, particularly in that GOPD & GOPS are inconsistent, but we should fix incrementally). 4880 4881 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 4882 (WebKit::JSNPObject::getOwnPropertySlot): 4883 (WebKit::JSNPObject::getOwnPropertyDescriptor): 4884 - Pass attributes to PropertySlot::set* methods. 4885 48862013-08-16 Sam Weinig <sam@webkit.org> 4887 4888 <https://webkit.org/b/119911> Remove the unused OfflineStorageProcess 4889 4890 Reviewed by Darin Adler. 4891 4892 * Configurations/OfflineStorageProcess.xcconfig: Removed. 4893 * Configurations/OfflineStorageService.Development.xcconfig: Removed. 4894 * Configurations/OfflineStorageService.xcconfig: Removed. 4895 * DerivedSources.make: 4896 * OfflineStorageProcess: Removed. 4897 * OfflineStorageProcess/EntryPoint: Removed. 4898 * OfflineStorageProcess/EntryPoint/mac: Removed. 4899 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Removed. 4900 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Removed. 4901 * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Removed. 4902 * OfflineStorageProcess/EntryPoint/mac/XPCService: Removed. 4903 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Removed. 4904 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Removed. 4905 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Removed. 4906 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Removed. 4907 * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Removed. 4908 * OfflineStorageProcess/OfflineStorageProcess.cpp: Removed. 4909 * OfflineStorageProcess/OfflineStorageProcess.h: Removed. 4910 * OfflineStorageProcess/OfflineStorageProcess.messages.in: Removed. 4911 * OfflineStorageProcess/mac: Removed. 4912 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Removed. 4913 * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Removed. 4914 * Scripts/webkit2/messages.py: 4915 * Shared/OfflineStorage: Removed. 4916 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Removed. 4917 * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Removed. 4918 * WebKit2.xcodeproj/project.pbxproj: 4919 Remove. 4920 49212013-08-17 Darin Adler <darin@apple.com> 4922 4923 <https://webkit.org/b/119941> Make Page::dragController return a reference 4924 4925 Reviewed by Andreas Kling. 4926 4927 * WebProcess/WebPage/WebPage.cpp: 4928 (WebKit::WebPage::performDragControllerAction): 4929 (WebKit::WebPage::dragEnded): 4930 Updated call sites. 4931 49322013-08-17 David Kilzer <ddkilzer@apple.com> 4933 4934 WebKit2 fails to build with trunk clang: error: 'WebPluginSiteDataManagerh' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard] 4935 <http://webkit.org/b/119935> 4936 <rdar://problem/14764131> 4937 4938 Reviewed by Darin Adler. 4939 4940 * UIProcess/Plugins/WebPluginSiteDataManager.h: Fix typo 4941 introduced in r78647. 4942 49432013-08-16 Pratik Solanki <psolanki@apple.com> 4944 4945 <https://webkit.org/b/119852> Frame::scriptController() should return a reference 4946 4947 Reviewed by Andreas Kling. 4948 4949 m_script is never NULL so we can just return a reference. Also remove some pointless null 4950 checks as a result of doing this. 4951 4952 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 4953 (WebKit::NPRuntimeObjectMap::globalObject): 4954 * WebProcess/Plugins/PluginView.cpp: 4955 (WebKit::PluginView::performJavaScriptURLRequest): 4956 (WebKit::PluginView::windowScriptNPObject): 4957 (WebKit::PluginView::pluginElementNPObject): 4958 * WebProcess/WebPage/WebFrame.cpp: 4959 (WebKit::WebFrame::jsContext): 4960 (WebKit::WebFrame::jsContextForWorld): 4961 (WebKit::WebFrame::jsWrapperForWorld): 4962 * WebProcess/WebPage/WebInspector.cpp: 4963 (WebKit::WebInspector::didSave): 4964 (WebKit::WebInspector::didAppend): 4965 * WebProcess/WebPage/WebPage.cpp: 4966 (WebKit::WebPage::runJavaScriptInMainFrame): 4967 49682013-08-16 Brady Eidson <beidson@apple.com> 4969 4970 (NetworkProcess) Sync XHRs should load using async ResourceHandles, not ResourceHandle::loadResourceSynchronously 4971 https://bugs.webkit.org/show_bug.cgi?id=119493 4972 4973 Reviewed by Alexey Proskuryakov. 4974 4975 This patch does the following: 4976 - Consolidates SchedulableLoader and NetworkResourceLoader into one class. 4977 - Removes SyncNetworkResourceLoader. 4978 - Adds a NetworkLoaderClient interface that customizes certain behaviors of the NetworkResourceLoader. 4979 - Implements a SynchronousNetworkLoaderClient and AsynchronousNetworkLoaderClient for the two different types of loads. 4980 4981 The AsynchronousNetworkLoaderClient results in messaging back progress to the WebProcess as the load progresses. 4982 The SynchronousNetworkLoaderClient accumulates the response, data, and error to be communicated back to the WebProcess 4983 only when the load is complete. 4984 4985 Update small swaths of code to reflect that NetworkResourceLoader is the One True Loader (tm): 4986 * NetworkProcess/HostRecord.cpp: 4987 (WebKit::HostRecord::scheduleResourceLoader): 4988 (WebKit::HostRecord::addLoaderInProgress): 4989 (WebKit::removeLoaderFromQueue): 4990 (WebKit::HostRecord::removeLoader): 4991 (WebKit::HostRecord::servePendingRequestsForQueue): 4992 (WebKit::HostRecord::limitsRequests): 4993 * NetworkProcess/HostRecord.h: 4994 4995 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 4996 (WebKit::NetworkConnectionToWebProcess::didClose): 4997 (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad): 4998 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): 4999 * NetworkProcess/NetworkConnectionToWebProcess.h: 5000 5001 * NetworkProcess/NetworkProcess.cpp: 5002 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 5003 (WebKit::NetworkResourceLoadScheduler::scheduleLoader): 5004 (WebKit::NetworkResourceLoadScheduler::removeLoader): 5005 (WebKit::NetworkResourceLoadScheduler::receivedRedirect): 5006 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): 5007 (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): 5008 * NetworkProcess/NetworkResourceLoadScheduler.h: 5009 5010 Combine ScheduleableLoader and NetworkResourceLoader into NetworkResourceLoader: 5011 * NetworkProcess/NetworkResourceLoader.cpp: 5012 (WebKit::NetworkResourceLoader::NetworkResourceLoader): 5013 (WebKit::NetworkResourceLoader::~NetworkResourceLoader): 5014 (WebKit::NetworkResourceLoader::isSynchronous): 5015 (WebKit::NetworkResourceLoader::start): 5016 (WebKit::NetworkResourceLoader::didReceiveResponseAsync): 5017 (WebKit::NetworkResourceLoader::didReceiveBuffer): 5018 (WebKit::NetworkResourceLoader::didFinishLoading): 5019 (WebKit::NetworkResourceLoader::didFail): 5020 (WebKit::NetworkResourceLoader::willSendRequestAsync): 5021 (WebKit::NetworkResourceLoader::continueWillSendRequest): 5022 (WebKit::NetworkResourceLoader::didSendData): 5023 (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): 5024 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): 5025 (WebKit::NetworkResourceLoader::consumeSandboxExtensions): 5026 (WebKit::NetworkResourceLoader::invalidateSandboxExtensions): 5027 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): 5028 * NetworkProcess/NetworkResourceLoader.h: 5029 (WebKit::NetworkResourceLoader::create): 5030 (WebKit::NetworkResourceLoader::connectionToWebProcess): 5031 (WebKit::NetworkResourceLoader::priority): 5032 (WebKit::NetworkResourceLoader::request): 5033 (WebKit::NetworkResourceLoader::isLoadingMainResource): 5034 (WebKit::NetworkResourceLoader::setHostRecord): 5035 (WebKit::NetworkResourceLoader::hostRecord): 5036 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): 5037 5038 Add an abstract NetworkLoaderClient to adapt a load to be either synchronous or asynchronous: 5039 * NetworkProcess/NetworkLoaderClient.h: 5040 (WebKit::NetworkLoaderClient::~NetworkLoaderClient): 5041 (WebKit::NetworkLoaderClient::isSynchronous): 5042 (WebKit::NetworkLoaderClient::NetworkLoaderClient): 5043 5044 The asynchronous loader client, primarily to message progress back to the WebProcess as it happens: 5045 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Added. 5046 (WebKit::AsynchronousNetworkLoaderClient::AsynchronousNetworkLoaderClient): 5047 (WebKit::AsynchronousNetworkLoaderClient::willSendRequest): 5048 (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace): 5049 (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse): 5050 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer): 5051 (WebKit::AsynchronousNetworkLoaderClient::didSendData): 5052 (WebKit::AsynchronousNetworkLoaderClient::didFinishLoading): 5053 (WebKit::AsynchronousNetworkLoaderClient::didFail): 5054 * NetworkProcess/AsynchronousNetworkLoaderClient.h: 5055 (WebKit::AsynchronousNetworkLoaderClient::create): 5056 5057 The synchronous loader client, primarily to accumulate results of the load to send back to the WebProcess all at once: 5058 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Added. 5059 (WebKit::SynchronousNetworkLoaderClient::SynchronousNetworkLoaderClient): 5060 (WebKit::SynchronousNetworkLoaderClient::~SynchronousNetworkLoaderClient): 5061 (WebKit::SynchronousNetworkLoaderClient::willSendRequest): 5062 (WebKit::SynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace): 5063 (WebKit::SynchronousNetworkLoaderClient::didReceiveResponse): 5064 (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer): 5065 (WebKit::SynchronousNetworkLoaderClient::didFinishLoading): 5066 (WebKit::SynchronousNetworkLoaderClient::didFail): 5067 (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply): 5068 * NetworkProcess/SynchronousNetworkLoaderClient.h: Added. 5069 (WebKit::SynchronousNetworkLoaderClient::create): 5070 5071 * NetworkProcess/SchedulableLoader.cpp: Removed. 5072 * NetworkProcess/SchedulableLoader.h: Removed. 5073 * NetworkProcess/SyncNetworkResourceLoader.cpp: Removed. 5074 * NetworkProcess/SyncNetworkResourceLoader.h: Removed. 5075 5076 * WebKit2.xcodeproj/project.pbxproj: 5077 50782013-08-16 Gabor Rapcsanyi <rgabor@webkit.org> 5079 5080 [Qt][ARM] Unreviewed buildfix after 154127. 5081 5082 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Add missing header. 5083 50842013-08-15 Ryuan Choi <ryuan.choi@samsung.com> 5085 5086 [EFL] Unreviewed build fix after r154142 and r154144. 5087 5088 * UIProcess/WebContext.cpp: 5089 (WebKit::WebContext::useTestingNetworkSession): 5090 Fixed build break when NETWORK_PROCESS is disabled after r154144. 5091 50922013-08-15 Chris Fleizach <cfleizach@apple.com> 5093 5094 <https://webkit.org/b/119858> AX: Crash: com.apple.WebKit.WebContent at com.apple.WebKit2: WebKit::WebPage::accessibilityObjectForMainFramePlugin + 8 5095 5096 Reviewed by Tim Horton. 5097 5098 Ensure that the page is available before accessing it. 5099 5100 * WebProcess/WebPage/mac/WebPageMac.mm: 5101 (WebKit::WebPage::accessibilityObjectForMainFramePlugin): 5102 51032013-08-15 Alexey Proskuryakov <ap@apple.com> 5104 5105 [WK2] NetworkProcess should use a temporary storage session for test 5106 https://bugs.webkit.org/show_bug.cgi?id=119855 5107 5108 Reviewed by Darin Adler. 5109 5110 We used to have a bundle API for WebKitTestRunner to do this in injected bundle, but 5111 NetworkProcess has no injected bundle. 5112 5113 Added a WKContext API, sending the information to NetworkProcess with initialization 5114 parameters. Reworked WebProcess path to do the same for consistency - bundle API 5115 is better per se, but not when we also need to have another one. 5116 5117 * NetworkProcess/NetworkProcess.cpp: 5118 (WebKit::NetworkProcess::initializeNetworkProcess): 5119 * Shared/Network/NetworkProcessCreationParameters.cpp: 5120 (WebKit::NetworkProcessCreationParameters::encode): 5121 (WebKit::NetworkProcessCreationParameters::decode): 5122 * Shared/Network/NetworkProcessCreationParameters.h: 5123 * Shared/WebProcessCreationParameters.cpp: 5124 (WebKit::WebProcessCreationParameters::encode): 5125 (WebKit::WebProcessCreationParameters::decode): 5126 * Shared/WebProcessCreationParameters.h: 5127 * UIProcess/API/C/WKContext.cpp: 5128 (WKContextUseTestingNetworkSession): 5129 * UIProcess/API/C/WKContextPrivate.h: 5130 * UIProcess/WebContext.cpp: 5131 (WebKit::WebContext::WebContext): 5132 (WebKit::WebContext::ensureNetworkProcess): 5133 (WebKit::WebContext::createNewWebProcess): 5134 (WebKit::WebContext::useTestingNetworkSession): 5135 * UIProcess/WebContext.h: 5136 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 5137 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 5138 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5139 * WebProcess/InjectedBundle/InjectedBundle.h: 5140 * WebProcess/WebProcess.cpp: 5141 (WebKit::WebProcess::initializeWebProcess): 5142 51432013-08-15 Anders Carlsson <andersca@apple.com> 5144 5145 <https://webkit.org/b/119859> Frame::loader() should return a reference 5146 5147 Reviewed by Andreas Kling. 5148 5149 * Shared/WebRenderLayer.cpp: 5150 (WebKit::WebRenderLayer::create): 5151 * Shared/WebRenderObject.cpp: 5152 (WebKit::WebRenderObject::create): 5153 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 5154 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation): 5155 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 5156 (WKBundleFrameGetFrameLoadState): 5157 (WKBundleFrameClearOpener): 5158 (WKBundleFrameCallShouldCloseOnWebView): 5159 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 5160 (WebKit::InjectedBundleNodeHandle::documentFrame): 5161 (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame): 5162 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame): 5163 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5164 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 5165 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: 5166 (WebKit::InjectedBundleDOMWindowExtension::frame): 5167 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 5168 (WebKit::InjectedBundleHitTestResult::frame): 5169 (WebKit::InjectedBundleHitTestResult::targetFrame): 5170 * WebProcess/Plugins/PDF/PDFPlugin.mm: 5171 (WebKit::PDFPlugin::clickedLink): 5172 * WebProcess/Plugins/PluginView.cpp: 5173 (WebKit::webPage): 5174 (WebKit::PluginView::didFailToInitializePlugin): 5175 (WebKit::PluginView::performFrameLoadURLRequest): 5176 (WebKit::PluginView::userAgent): 5177 (WebKit::PluginView::loadURL): 5178 (WebKit::PluginView::cancelManualStreamLoad): 5179 (WebKit::PluginView::proxiesForURL): 5180 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 5181 (WebKit::WebChromeClient::focusedElementChanged): 5182 (WebKit::WebChromeClient::focusedFrameChanged): 5183 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): 5184 (WebKit::WebChromeClient::closeWindowSoon): 5185 (WebKit::WebChromeClient::runJavaScriptAlert): 5186 (WebKit::WebChromeClient::runJavaScriptConfirm): 5187 (WebKit::WebChromeClient::runJavaScriptPrompt): 5188 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 5189 (WebKit::WebChromeClient::print): 5190 (WebKit::WebChromeClient::exceededDatabaseQuota): 5191 (WebKit::WebChromeClient::runOpenPanel): 5192 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 5193 (WebKit::WebContextMenuClient::searchWithGoogle): 5194 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 5195 (WebKit::WebEditorClient::textFieldDidBeginEditing): 5196 (WebKit::WebEditorClient::textFieldDidEndEditing): 5197 (WebKit::WebEditorClient::textDidChangeInTextField): 5198 (WebKit::WebEditorClient::textDidChangeInTextArea): 5199 (WebKit::WebEditorClient::doTextFieldCommandFromEvent): 5200 (WebKit::WebEditorClient::textWillBeDeletedInTextField): 5201 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5202 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 5203 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 5204 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 5205 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 5206 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 5207 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 5208 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent): 5209 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 5210 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 5211 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 5212 (WebKit::WebFrameLoaderClient::restoreViewState): 5213 (WebKit::WebFrameLoaderClient::createFrame): 5214 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): 5215 (WebKit::WebFrameLoaderClient::objectContentType): 5216 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5217 (WebKit::WebPlatformStrategies::getPluginInfo): 5218 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 5219 (WebKit::WebFrameNetworkingContext::blockedError): 5220 * WebProcess/WebPage/WebFrame.cpp: 5221 (WebKit::WebFrame::didReceivePolicyDecision): 5222 (WebKit::WebFrame::startDownload): 5223 (WebKit::WebFrame::source): 5224 (WebKit::WebFrame::contentsAsString): 5225 (WebKit::WebFrame::url): 5226 (WebKit::WebFrame::parentFrame): 5227 (WebKit::WebFrame::childFrames): 5228 (WebKit::WebFrame::stopLoading): 5229 (WebKit::WebFrame::frameForContext): 5230 (WebKit::WebFrame::provisionalURL): 5231 (WebKit::WebFrame::suggestedFilenameForResourceWithURL): 5232 (WebKit::WebFrame::mimeTypeForResourceWithURL): 5233 (WebKit::WebFrameFilter::shouldIncludeSubframe): 5234 * WebProcess/WebPage/WebPage.cpp: 5235 (WebKit::WebPage::createPlugin): 5236 (WebKit::WebPage::close): 5237 (WebKit::WebPage::tryClose): 5238 (WebKit::WebPage::loadURLRequest): 5239 (WebKit::WebPage::loadDataImpl): 5240 (WebKit::WebPage::linkClicked): 5241 (WebKit::WebPage::stopLoadingFrame): 5242 (WebKit::WebPage::stopLoading): 5243 (WebKit::WebPage::reload): 5244 (WebKit::WebPage::tryRestoreScrollPosition): 5245 (WebKit::WebPage::getMainResourceDataOfFrame): 5246 (WebKit::resourceDataForFrame): 5247 (WebKit::shouldReuseCommittedSandboxExtension): 5248 (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad): 5249 (WebKit::WebPage::hasLocalDataForURL): 5250 (WebKit::WebPage::setCustomTextEncodingName): 5251 (WebKit::WebPage::canPluginHandleResponse): 5252 (WebKit::WebPage::canShowMIMEType): 5253 (WebKit::WebPage::didCommitLoad): 5254 * WebProcess/WebPage/mac/WebPageMac.mm: 5255 (WebKit::WebPage::platformHasLocalDataForURL): 5256 (WebKit::cachedResponseForURL): 5257 * WebProcess/WebProcess.cpp: 5258 (WebKit::WebProcess::downloadRequest): 5259 52602013-08-14 Filip Pizlo <fpizlo@apple.com> 5261 5262 Typed arrays should be rewritten 5263 https://bugs.webkit.org/show_bug.cgi?id=119064 5264 5265 Reviewed by Oliver Hunt. 5266 5267 You don't need to include JSUint8Array anymore if you just want to 5268 unwrap one; JSDOMBinding gives you all of the things you need. 5269 5270 * WebProcess/InjectedBundle/InjectedBundle.cpp: 5271 52722013-08-15 Eric Carlson <eric.carlson@apple.com> 5273 5274 [Mac] Remove "legacy" media UI 5275 https://bugs.webkit.org/show_bug.cgi?id=119752 5276 5277 Reviewed by Jer Noble. 5278 5279 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 5280 (InitWebCoreSystemInterface): Remove MediaControllerThemeAvailable. 5281 52822013-08-14 Dean Jackson <dino@apple.com> 5283 5284 <https://webkit.org/b/119827> Allow primary plug-in detection to run more than once if necessary 5285 5286 Reviewed by Tim Horton. 5287 5288 We occasionally see cases where the primary plug-in detection runs before the plugins have been added 5289 to the page, especially if they do so in response to a load event. Tweak the algorithm so that it can 5290 run an arbitrary number of times if it fails. 5291 5292 While here, also have the detection run if there has ever been a plugin in the page as opposed to any 5293 current views. We may have snapshotted a plugin by now and deleted its view. 5294 5295 * WebProcess/WebPage/WebPage.cpp: 5296 (WebKit::WebPage::WebPage): initialise new members. 5297 (WebKit::WebPage::addPluginView): Mark that we've seen a plugin. 5298 (WebKit::WebPage::resetPrimarySnapshottedPlugIn): Reset new members. 5299 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): Exit early if we've never 5300 seen a plugin, rather than if we don't have any active views. Also, if we didn't find anything set 5301 a timer to run again (maximum of two attempts at the moment). 5302 * WebProcess/WebPage/WebPage.h: New members - m_numberOfPrimarySnapshotDetectionAttempts 5303 and m_hasSeenPlugin. 5304 53052013-08-14 Dean Jackson <dino@apple.com> 5306 5307 <https://webkit.org/b/119820> Add pluginView-related logging to WebPage 5308 5309 Reviewed by Tim Horton. 5310 5311 Add some more diagnostic output to help track down bugs. 5312 5313 * WebProcess/WebPage/WebPage.cpp: 5314 (WebKit::WebPage::addPluginView): More logging. 5315 (WebKit::WebPage::removePluginView): Ditto. 5316 53172013-08-14 Alexey Proskuryakov <ap@apple.com> 5318 5319 [WK2] Sync messages with with non-default timeout sent from secondary threads always time out 5320 https://bugs.webkit.org/show_bug.cgi?id=119767 5321 5322 Fix by Justin Bur. 5323 Reviewed by Darin Adler. 5324 5325 * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread): 5326 The argument to wait() is absolute time, not a delta. This calculation matches one 5327 in Connection::waitForMessage(). 5328 53292013-08-14 Tim Horton <timothy_horton@apple.com> 5330 5331 REGRESSION (r153877): Plugin scanning slows creation of WebViews 5332 https://bugs.webkit.org/show_bug.cgi?id=119665 5333 <rdar://problem/14716549> 5334 5335 Reviewed by Darin Adler. 5336 5337 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5338 (WebKit::WebPlatformStrategies::refreshPlugins): 5339 Don't repopulate the plugin cache in refreshPlugins, just invalidate it. 5340 It will be repopulated the next time something tries to use it. 5341 53422013-08-12 Dan Bernstein <mitz@apple.com> 5343 5344 Fixed an off-by-(sizeof(char*) - 1) bug. 5345 5346 Reviewed by Sam Weinig. 5347 5348 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: 5349 (WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer. 5350 53512013-08-12 Beth Dakin <bdakin@apple.com> 5352 5353 Remove didNewFirstVisuallyNonEmptyLayout from WebKit2 5354 https://bugs.webkit.org/show_bug.cgi?id=119658 5355 5356 Reviewed by Darin Adler. 5357 5358 Removing this function entirely will change some functionality in the Nightlies, 5359 but we think that is an acceptable difference for the Nightlies. If is does cause 5360 a problem though, we can roll out this patch and deprecate the function instead. 5361 5362 * UIProcess/API/C/WKPage.h: 5363 * UIProcess/WebLoaderClient.cpp: 5364 * UIProcess/WebLoaderClient.h: 5365 * UIProcess/WebPageProxy.cpp: 5366 (WebKit::WebPageProxy::initializeLoaderClient): 5367 * UIProcess/WebPageProxy.h: 5368 * UIProcess/WebPageProxy.messages.in: 5369 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 5370 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 5371 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 5372 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5373 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 5374 * WebProcess/WebPage/WebPage.cpp: 5375 (WebKit::WebPage::initializeInjectedBundleLoaderClient): 5376 53772013-08-12 Arunprasad Rajkumar <arurajku@cisco.com> 5378 5379 [Qt] [WebKit2] Remove duplicate RAM Size calculation and reuse WTF::ramSize() 5380 https://bugs.webkit.org/show_bug.cgi?id=119663 5381 5382 Reviewed by Sam Weinig. 5383 5384 * WebProcess/qt/WebProcessQt.cpp: 5385 (WebKit::WebProcess::platformSetCacheModel): 5386 53872013-08-12 Anton Obzhirov <a.obzhirov@samsung.com> 5388 5389 [GTK] Don't load GAIL when using GTK 3.2 or greater 5390 https://bugs.webkit.org/show_bug.cgi?id=72735 5391 5392 Reviewed by Carlos Garcia Campos. 5393 5394 * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: 5395 (main): 5396 53972013-08-09 Beth Dakin <bdakin@apple.com> 5398 5399 AX: Not able to use arrow keys to read text in a WK2 app 5400 https://bugs.webkit.org/show_bug.cgi?id=119605 5401 -and corresponding- 5402 <rdar://problem/14281275> 5403 5404 Reviewed by Darin Adler. 5405 5406 Make all of these scrolling functions actually return the WebCore bools that 5407 indicate whether or not scrolling happened. 5408 * WebProcess/WebPage/WebPage.cpp: 5409 (WebKit::WebPage::scroll): 5410 (WebKit::WebPage::logicalScroll): 5411 (WebKit::WebPage::scrollBy): 5412 * WebProcess/WebPage/WebPage.h: 5413 * WebProcess/WebPage/mac/WebPageMac.mm: 5414 (WebKit::WebPage::executeKeypressCommandsInternal): 5415 5416 This function now gives accessibility a chance to handle the event too. And it 5417 also actually tracks whether or not the event was handled by scrolling instead of 5418 assuming that it was and universally returning true. 5419 (WebKit::WebPage::performNonEditingBehaviorForSelector): 5420 54212013-08-09 Brian Holt <brian.holt@samsung.com> 5422 5423 [GTK] [WebKit2] Add an 'authenticate' signal to WebKitWebView 5424 https://bugs.webkit.org/show_bug.cgi?id=99352 5425 5426 Reviewed by Carlos Garcia Campos. 5427 5428 Add a new public class to the API, WebKitAuthenticationRequest, to be 5429 emitted along with a new WebKitWebView::authenticate signal to 5430 let client applications to provide their own authentication 5431 when the user is challenged with HTTP authentication. The 5432 credential is exposed through a new class WebKitCredential. 5433 5434 * GNUmakefile.list.am: 5435 * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: 5436 (okButtonClicked): Use new API for authentication. 5437 (cancelButtonClicked): Ditto. 5438 (webkitAuthenticationDialogInitialize):Get 5439 authenticationChallenge from request object. 5440 (webkitAuthenticationDialogNew): Ditto. 5441 * UIProcess/API/gtk/WebKitAuthenticationDialog.h: 5442 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Added new 5443 class representing a HTTP authentication request. 5444 (webkitAuthenticationRequestDispose): 5445 (webkit_authentication_request_class_init): 5446 (webkitAuthenticationRequestCreate): 5447 (webkitAuthenticationRequestGetAuthenticationChallenge): 5448 (webkit_authentication_request_can_save_credentials): 5449 (webkit_authentication_request_get_proposed_credential): 5450 (webkit_authentication_request_get_host): 5451 (webkit_authentication_request_get_port): 5452 (webkit_authentication_request_get_realm): 5453 (webkit_authentication_request_get_scheme): 5454 (webkit_authentication_request_is_for_proxy): 5455 (webkit_authentication_request_is_retry): 5456 (webkit_authentication_request_authenticate): 5457 (webkit_authentication_request_cancel): 5458 * UIProcess/API/gtk/WebKitAuthenticationRequest.h: Added. 5459 * UIProcess/API/gtk/WebKitAuthenticationRequestPrivate.h: Added. 5460 * UIProcess/API/gtk/WebKitCredential.cpp: Added new class to 5461 support credentials for HTTP authentication. 5462 (_WebKitCredential::_WebKitCredential): 5463 (webkitCredentialCreate): 5464 (webkitCredentialGetCredential): 5465 (webkit_credential_new): 5466 (webkit_credential_copy): 5467 (webkit_credential_free): 5468 (webkit_credential_get_username): 5469 (webkit_credential_get_password): 5470 (webkit_credential_has_password): 5471 (webkit_credential_get_persistence): 5472 * UIProcess/API/gtk/WebKitCredential.h: Added. 5473 * UIProcess/API/gtk/WebKitCredentialPrivate.h: Added. 5474 * UIProcess/API/gtk/WebKitWebView.cpp: Added authenticate signal. 5475 (webkitWebViewAuthenticate): Default signal handler for authenticate. 5476 (webkit_web_view_class_init): Ditto. 5477 (webkitWebViewHandleAuthenticationChallenge): Create an 5478 authentication request and emit it with authenticate signal. 5479 * UIProcess/API/gtk/WebKitWebView.h: Replaced reserved function 5480 pointer slot with for WebViewClass with function pointer to 5481 authenticate signal handler. 5482 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section for 5483 the authentication request. 5484 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto. 5485 * UIProcess/API/gtk/docs/webkit2gtk.types: Added authentication 5486 request and credential types. 5487 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Created a new 5488 unit test for HTTP authentication. A libsoup server callback 5489 handler is installed that creates soup messages with appropriate 5490 headers and body to test HTTP authentication. 5491 (testWebViewAuthenticationRequest): Test the authentication 5492 request and credential API. 5493 (testWebViewAuthenticationCancel): Test cancelled authentication. 5494 (testWebViewAuthenticationFailure): Test repeated authentication failures. 5495 (testWebViewAuthenticationNoCredential): Test continue without 5496 credentials. 5497 (testWebViewAuthenticationStorage): Test credential storage. 5498 (testWebViewAuthenticationSuccess): Test successful authentication. 5499 (beforeAll): Added tests. 5500 * UIProcess/API/gtk/webkit2.h: Added WebKitAuthenticationRequest and 5501 WebKitCredential headers. 5502 55032013-08-09 Tim Horton <timothy_horton@apple.com> 5504 5505 PDFPlugin is disabled by default in nightlies on Mac accidentally 5506 https://bugs.webkit.org/show_bug.cgi?id=119615 5507 5508 Rubber-stamped by Andreas Kling. 5509 5510 Enable PDFPlugin by default on Mac at the WebKit2 level. 5511 5512 * Shared/WebPreferencesStore.h: 5513 * UIProcess/API/C/WKPreferencesPrivate.h: 5514 55152013-08-08 Tim Horton <timothy_horton@apple.com> 5516 5517 navigator.plugins has plugins in it when plugins are disabled 5518 https://bugs.webkit.org/show_bug.cgi?id=119607 5519 <rdar://problem/14678030> 5520 5521 Reviewed by Anders Carlsson. 5522 5523 * UIProcess/WebProcessProxy.cpp: 5524 (WebKit::WebProcessProxy::getPlugins): 5525 Return a list of all plugins, and a list of only application plugins. 5526 5527 * UIProcess/WebProcessProxy.h: 5528 * UIProcess/WebProcessProxy.messages.in: 5529 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 5530 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5531 (WebKit::WebPlatformStrategies::getPluginInfo): 5532 Add applicationPlugin parameter to getPlugins, and storage for the returned list. 5533 5534 (WebKit::WebPlatformStrategies::populatePluginCache): 5535 If plugins are disabled for the given page, give WebCore the list that 5536 only includes application plugins. Otherwise, give it the whole list 5537 as we are doing currently. 5538 55392013-08-08 Gavin Barraclough <barraclough@apple.com> 5540 5541 Disable suppression of plugin process for Java 5542 https://bugs.webkit.org/show_bug.cgi?id=119604 5543 5544 Reviewed by Sam Weinig. 5545 5546 Workaround, the Java plugin doesn't like this. 5547 5548 * PluginProcess/mac/PluginProcessMac.mm: 5549 (WebKit::PluginProcess::platformInitializeProcess): 5550 - +1 active task count on the java plugin, to inhibit supression. 5551 55522013-08-08 Dean Jackson <dino@apple.com> 5553 5554 Add logging to the primary plugin detection 5555 https://bugs.webkit.org/show_bug.cgi?id=119594 5556 5557 Reviewed by Tim Horton. 5558 5559 Add some simple logging to our primary plug-in detection. 5560 5561 * WebProcess/WebPage/WebPage.cpp: 5562 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): 5563 55642013-08-08 Alexey Proskuryakov <ap@apple.com> 5565 5566 WKBundleFrameCopyProvisionalURL crashes when there is no provisional loader 5567 https://bugs.webkit.org/show_bug.cgi?id=119587 5568 5569 Reviewed by Darin Adler. 5570 5571 * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::provisionalURL): Added a null 5572 check, like we already have in WebFrame::url(). 5573 55742013-08-07 Antti Koivisto <antti@apple.com> 5575 5576 Try to fix EFL build. 5577 5578 Not reviewed. 5579 5580 * CMakeLists.txt: 5581 55822013-08-06 Jer Noble <jer.noble@apple.com> 5583 5584 Crash when entering fullscreen video playback from a WebView using WebKit2 5585 https://bugs.webkit.org/show_bug.cgi?id=119531 5586 5587 Reviewed by Tim Horton. 5588 5589 Initialize wkWindowSetScaledFrame and wkWindowSetAlpha when initializing WebCoreSystemInterface. 5590 5591 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 5592 (InitWebCoreSystemInterface): 5593 55942013-08-06 Stephanie Lewis <slewis@apple.com> 5595 5596 Update Order Files for Safari 5597 <rdar://problem/14517392> 5598 5599 Unreviewed. 5600 5601 * mac/WebKit2.order: 5602 56032013-08-04 Sam Weinig <sam@webkit.org> 5604 5605 Remove support for HTML5 MicroData 5606 https://bugs.webkit.org/show_bug.cgi?id=119480 5607 5608 Reviewed by Anders Carlsson. 5609 5610 * Configurations/FeatureDefines.xcconfig: 5611 56122013-08-06 Eunmi Lee <eunmi15.lee@samsung.com> 5613 5614 [EFL][WK2] Implement gesture recognizer. 5615 https://bugs.webkit.org/show_bug.cgi?id=102643 5616 5617 Reviewed by Gyuyoung Kim. 5618 5619 Recognize tap, pan and pinch gestures using touch events. 5620 The tap gesture is separated into single tap, double tap and 5621 'tap and hold'. 5622 5623 This patch references the webkit NIX port. 5624 https://github.com/WebKitNix/webkitnix 5625 5626 * PlatformEfl.cmake: 5627 * UIProcess/API/efl/EwkView.cpp: 5628 (EwkView::EwkView): 5629 (EwkView::doneWithTouchEvent): 5630 * UIProcess/API/efl/EwkView.h: 5631 * UIProcess/API/efl/GestureRecognizer.cpp: Added. 5632 (WebKit::GestureHandler::create): 5633 (WebKit::GestureHandler::GestureHandler): 5634 (WebKit::GestureHandler::handleSingleTap): 5635 (WebKit::GestureHandler::handleDoubleTap): 5636 (WebKit::GestureHandler::handleTapAndHold): 5637 (WebKit::GestureHandler::handlePanStarted): 5638 (WebKit::GestureHandler::handlePan): 5639 (WebKit::GestureHandler::handlePanFinished): 5640 (WebKit::GestureHandler::handlePinchStarted): 5641 (WebKit::GestureHandler::handlePinch): 5642 (WebKit::GestureHandler::handlePinchFinished): 5643 (WebKit::GestureRecognizer::GestureRecognizer): 5644 (WebKit::GestureRecognizer::~GestureRecognizer): 5645 (WebKit::GestureRecognizer::processTouchEvent): 5646 (WebKit::GestureRecognizer::doubleTapTimerCallback): 5647 (WebKit::GestureRecognizer::tapAndHoldTimerCallback): 5648 (WebKit::GestureRecognizer::exceedsPanThreshold): 5649 (WebKit::GestureRecognizer::exceedsDoubleTapThreshold): 5650 (WebKit::getPointAtIndex): 5651 (WebKit::createVectorWithWKArray): 5652 (WebKit::GestureRecognizer::noGesture): 5653 (WebKit::GestureRecognizer::singleTapGesture): 5654 (WebKit::GestureRecognizer::doubleTapGesture): 5655 (WebKit::GestureRecognizer::panGesture): 5656 (WebKit::GestureRecognizer::pinchGesture): 5657 (WebKit::GestureRecognizer::reset): 5658 (WebKit::GestureRecognizer::stopTapTimers): 5659 * UIProcess/API/efl/GestureRecognizer.h: Added. 5660 (WebKit::GestureRecognizer::create): 5661 56622013-07-23 David Farler <dfarler@apple.com> 5663 5664 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN 5665 https://bugs.webkit.org/show_bug.cgi?id=117762 5666 5667 Reviewed by Mark Rowe. 5668 5669 * Configurations/DebugRelease.xcconfig: 5670 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS. 5671 * Configurations/WebContentProcess.xcconfig: 5672 Add ASAN_OTHER_LDFLAGS. 5673 * Configurations/WebKit2.xcconfig: 5674 Add ASAN_OTHER_LDFLAGS. 5675 56762013-08-06 Andreas Kling <akling@apple.com> 5677 5678 REGRESSION(r151403): Resizing is extremely laggy on many sites when plugins are disallowed. 5679 <http://webkit.org/b/119516> 5680 <rdar://problem/14648086> 5681 5682 Reviewed by Simon Fraser. 5683 5684 The web process relies on the WindowAndViewFramesChanged mechanism for caching a copy 5685 of the window rect for fast access from DOMWindow APIs. 5686 5687 We retain part of the optimization introduced in r151403, namely not computing the 5688 viewFrameInWindowCoordinates and accessibilityPosition unless the web process needs them. 5689 5690 * UIProcess/API/mac/WKView.mm: 5691 (-[WKView _updateWindowAndViewFrames]): 5692 56932013-07-26 Mark Rowe <mrowe@apple.com> 5694 5695 Logging should be configurable using human-readable channel names rather than crazy bitmasks 5696 <http://webkit.org/b/119031> 5697 5698 Implement shared logic for initializing logging channels based on human-readable channel names in WTF, 5699 and rework the WebCore, WebKit and WebKit2 logging initialization on top of it. 5700 5701 Logging channels may now be enabled by providing a comma-separated list of channel names, with the special 5702 "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel 5703 being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except 5704 for history and loading being enabled. 5705 5706 For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow 5707 the old user defaults to remain set for those people that need to switch between version of WebKit before and 5708 after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel, 5709 the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging. 5710 5711 For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for 5712 consistency with the other platforms and to enable more code sharing. 5713 5714 While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when 5715 adding a new logging channel. Now only the header in the relevant project needs to be updated. 5716 5717 Reviewed by Sam Weinig. 5718 5719 * NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h. 5720 * Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels. 5721 (WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function 5722 that handles the initialization. 5723 (WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function 5724 to find a log channel rather than repeating the names of the log channels a further two times each. 5725 (WebKit::logLevelString): Provide a no-op implementation. 5726 * Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro 5727 across the set of all logging channels. Use this macro to declare the logging channels. 5728 * Platform/efl/LoggingEfl.cpp: 5729 (WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable. 5730 * Platform/gtk/LoggingGtk.cpp: 5731 (WebKit::logLevelString): Ditto. 5732 * Platform/mac/Logging.mac.mm: 5733 (WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key. 5734 * Platform/qt/LoggingQt.cpp: 5735 (WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable. 5736 * Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h. 5737 * UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h. 5738 57392013-08-05 Anders Carlsson <andersca@apple.com> 5740 5741 Ignore the Apple Java placeholder plug-in 5742 https://bugs.webkit.org/show_bug.cgi?id=119494 5743 <rdar://problem/14610818> 5744 5745 Reviewed by Beth Dakin. 5746 5747 Never attempt to load the Java placeholder plug-in. 5748 5749 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 5750 (WebKit::PluginInfoStore::shouldUsePlugin): 5751 57522013-08-03 Tim Horton <timothy_horton@apple.com> 5753 5754 Unreviewed, build and style fix for r153693. 5755 5756 * UIProcess/WebProcessProxy.cpp: 5757 * WebProcess/Plugins/PDF/PDFPlugin.h: 5758 * WebProcess/WebPage/WebPage.cpp: 5759 57602013-08-03 Tim Horton <timothy_horton@apple.com> 5761 5762 Remove SimplePDFPlugin 5763 https://bugs.webkit.org/show_bug.cgi?id=119437 5764 5765 Reviewed by Alexey Proskuryakov. 5766 5767 * UIProcess/WebProcessProxy.cpp: 5768 (WebKit::WebProcessProxy::getPlugins): 5769 * WebProcess/WebPage/WebPage.cpp: 5770 (WebKit::WebPage::createPlugin): 5771 Don't add SimplePDFPlugin, nor try to instantiate it. 5772 5773 * WebProcess/Plugins/PDF/PDFPlugin.h: 5774 * WebProcess/Plugins/PDF/PDFPlugin.mm: 5775 Merge previously inherited behavior in from SimplePDFPlugin. 5776 5777 * WebKit2.xcodeproj/project.pbxproj: 5778 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed. 5779 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed. 5780 Remove SimplePDFPlugin. 5781 57822013-08-03 Tim Horton <timothy_horton@apple.com> 5783 5784 Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port 5785 https://bugs.webkit.org/show_bug.cgi?id=119411 5786 5787 Reviewed by Simon Fraser. 5788 5789 Mac is the only holdout that performs non-composited fades of page 5790 overlays. We should adopt that mechanism (as a precursor to doing a 5791 CA-accelerated fade) and remove the now-unnecessary property. 5792 5793 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 5794 (WKBundlePageOverlayFractionFadedIn): 5795 Always return 1 (fully-faded-in) so that clients who attempt to use this 5796 to bake the fade opacity into their painting will paint at full opacity, 5797 allowing us to do the composited fade separately. 5798 5799 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 5800 * WebProcess/WebPage/DrawingArea.h: 5801 * WebProcess/WebPage/DrawingAreaImpl.cpp: 5802 * WebProcess/WebPage/DrawingAreaImpl.h: 5803 * WebProcess/WebPage/LayerTreeHost.h: 5804 * WebProcess/WebPage/PageOverlay.cpp: 5805 (WebKit::PageOverlay::PageOverlay): 5806 (WebKit::PageOverlay::setPage): 5807 (WebKit::PageOverlay::setNeedsDisplay): 5808 (WebKit::PageOverlay::fadeAnimationTimerFired): 5809 * WebProcess/WebPage/PageOverlay.h: 5810 Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn(). 5811 5812 * WebProcess/WebPage/FindController.cpp: 5813 (WebKit::FindController::drawRect): 5814 Draw the find overlay without taking the PageOverlay's fade into account. 5815 5816 * WebProcess/WebPage/TapHighlightController.cpp: 5817 (WebKit::TapHighlightController::drawRect): 5818 Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always 5819 "false" for all ports now, take the second path here. 5820 5821 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 5822 * WebProcess/WebPage/mac/LayerTreeHostMac.mm: 5823 (WebKit::LayerTreeHostMac::setPageOverlayOpacity): 5824 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 5825 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 5826 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity): 5827 Implement setPageOverlayOpacity for DrawingAreaImpl 5828 and TiledCoreAnimationDrawingArea. 5829 58302013-08-02 Gavin Barraclough <barraclough@apple.com> 5831 5832 Remove no-arguments constructor to PropertySlot 5833 https://bugs.webkit.org/show_bug.cgi?id=119460 5834 5835 Reviewed by Geoff Garen. 5836 5837 This constructor was unsafe if getValue is subsequently called, 5838 and the property is a getter. Simplest to just remove it. 5839 5840 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 5841 (WebKit::JSNPObject::getOwnPropertyDescriptor): 5842 58432013-08-02 Ruth Fong <ruth_fong@apple.com> 5844 5845 [Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable 5846 <rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419 5847 5848 Reviewed by Tim Horton. 5849 5850 * UIProcess/mac/WebColorPickerMac.mm: 5851 (WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable 5852 is not null, then properly destroy it first before destroying WebColorPickerMac object. 5853 58542013-08-02 Ruth Fong <ruth_fong@apple.com> 5855 5856 [Forms: color] The positioning of the popover color well is inverted 5857 <rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455 5858 5859 Reviewed by Tim Horton. 5860 5861 This patch converts the coordinates of the <input type='color'> element to 5862 the window's base coordinate system. 5863 5864 * UIProcess/mac/WebColorPickerMac.mm: 5865 (-[WKColorPopoverMac initWithFrame:inView:]): 5866 58672013-08-01 Ruth Fong <ruth_fong@apple.com> 5868 5869 [Forms: color] <input type='color'> popover color well implementation 5870 <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356 5871 5872 Reviewed by Benjamin Poulain. 5873 5874 This patch adds an popover implementation of <input type='color'>. 5875 5876 * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER. 5877 5878 * UIProcess/API/mac/PageClientImpl.mm: 5879 (WebKit::PageClientImpl::createColorPicker): Updated to pass the 5880 coordinates of the <input type='color'> element and the WKView 5881 object for the window. 5882 5883 * UIProcess/WebPageProxy.cpp: 5884 (WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color 5885 picker when the view is resized. 5886 (WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color 5887 picker when the view is no longer in the window. 5888 (WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel 5889 or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled. 5890 5891 * UIProcess/mac/WebColorPickerMac.h: 5892 * UIProcess/mac/WebColorPickerMac.mm: 5893 (WebKit::WebColorPickerMac::create): 5894 (WebKit::WebColorPickerMac::~WebColorPickerMac): 5895 (WebKit::WebColorPickerMac::WebColorPickerMac): 5896 (WebKit::WebColorPickerMac::endPicker): 5897 (WebKit::WebColorPickerMac::setSelectedColor): 5898 (WebKit::WebColorPickerMac::showColorPicker): 5899 Methods updated to handle both the color panel implementation and 5900 the popover implementation; also renamed m_panel to m_colorPickerUI. 5901 5902 (-[WKColorPopoverMac initWithFrame:WebCore::inView:]): 5903 (-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]): 5904 (-[WKColorPopoverMac dealloc]): 5905 (-[WKColorPopoverMac invalidate]): 5906 (-[WKColorPopoverMac windowWillClose:]): 5907 (-[WKColorPopoverMac didChooseColor:]): 5908 (-[WKColorPopoverMac setColor:]): 5909 WKColorPopoverMac provides the popover implementation of <input type='color'>. 5910 5911 (-[WKColorPanelMac didChooseColor:]): Updated to match the interface of 5912 WKColorPickerMac::didChooseColor. 5913 59142013-08-01 Anders Carlsson <andersca@apple.com> 5915 5916 Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins() 5917 https://bugs.webkit.org/show_bug.cgi?id=119412 5918 5919 Reviewed by Simon Fraser. 5920 5921 For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function 5922 expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that 5923 we don't leak the array if there is no WKContextClient. 5924 5925 * UIProcess/WebContext.cpp: 5926 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 5927 * UIProcess/WebContextClient.cpp: 5928 (WebKit::WebContextClient::plugInInformationBecameAvailable): 5929 59302013-08-01 Kwang Yul Seo <skyul@company100.net> 5931 5932 Remove return statement in void function 5933 https://bugs.webkit.org/show_bug.cgi?id=119379 5934 5935 Reviewed by Darin Adler. 5936 5937 It does not make sense to return a value in void function. 5938 5939 * WebProcess/WebProcess.cpp: 5940 (WebKit::addCaseFoldedCharacters): 5941 59422013-08-01 Kwang Yul Seo <skyul@company100.net> 5943 5944 [WK2] Add USE(SOUP) guard in WebProcess::destroyPrivateBrowsingSession 5945 https://bugs.webkit.org/show_bug.cgi?id=119381 5946 5947 Reviewed by Darin Adler. 5948 5949 The is a followup to r153355. I missed to add USE(SOUP) guard in 5950 WebProcess::destroyPrivateBrowsingSession. 5951 5952 * WebProcess/WebProcess.cpp: 5953 (WebKit::WebProcess::destroyPrivateBrowsingSession): 5954 59552013-08-01 Milian Wolff <milian.wolff@kdab.com> 5956 5957 [Qt] Enable QML handling of crashed/unresponsive QtWebProcess 5958 https://bugs.webkit.org/show_bug.cgi?id=108474 5959 5960 Forward the processDidCrash, didRelaunchProcess, processDidBecomeUnresponsive 5961 and processDidBecomeResponsive signals to QML's WebView.experimental. 5962 5963 Reviewed by Jocelyn Turcotte. 5964 5965 * UIProcess/API/qt/qquickwebview.cpp: 5966 (QQuickWebViewPrivate::processDidCrash): 5967 (QQuickWebViewPrivate::didRelaunchProcess): 5968 (QQuickWebViewPrivate::processDidBecomeUnresponsive): 5969 (QQuickWebViewPrivate::processDidBecomeResponsive): 5970 * UIProcess/API/qt/qquickwebview_p.h: 5971 * UIProcess/API/qt/qquickwebview_p_p.h: 5972 (QQuickWebViewPrivate): 5973 59742013-07-31 Kwang Yul Seo <skyul@company100.net> 5975 5976 Use emptyString instead of String("") 5977 https://bugs.webkit.org/show_bug.cgi?id=119335 5978 5979 Reviewed by Darin Adler. 5980 5981 Use emptyString() instead of String("") because it is better style and 5982 faster. This is a followup to r116908, removing all occurrences of 5983 String("") from WebKit. 5984 5985 * Shared/mac/WebEventFactory.mm: 5986 (WebKit::textFromEvent): 5987 (WebKit::unmodifiedTextFromEvent): 5988 59892013-07-31 Ruth Fong <ruth_fong@apple.com> 5990 5991 <input type=color> Mac UI behaviour 5992 <rdar://problem/10269922> and https://bugs.webkit.org/show_bug.cgi?id=61276 5993 5994 Implemented <input type='color'> on Mac using the native color picker. 5995 5996 Reviewed by Brady Eidson. 5997 5998 Code for WebColorPickerMac is derived from Chromium's color_chooser_mac.mm: 5999 https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/color_chooser_mac.mm 6000 6001 * Configurations/FeatureDefines.xcconfig: Enabled INPUT_TYPE_COLOR. 6002 6003 * UIProcess/API/mac/PageClientImpl.mm: 6004 (WebKit::PageClientImpl::createColorPicker): Replaced stub implementation 6005 and return a WebColorPickerMac object. 6006 6007 * UIProcess/WebColorPicker.cpp: 6008 (WebKit::WebColorPicker::invalidate): Updated to call endChooser(). 6009 (WebKit::WebColorPicker::showColorPicker): Added stub implementation. 6010 * UIProcess/WebColorPicker.h: 6011 6012 * UIProcess/WebPageProxy.cpp: 6013 (WebKit::WebPageProxy::close): Removed invalidation of removed color picker objects. 6014 (WebKit::WebPageProxy::showColorPicker): Updated so that it works for 6015 multiple <input type='color'> elements on a page. 6016 (WebKit::WebPageProxy::didEndColorPicker): Removed cleanup of removed color picker objects. 6017 (WebKit::WebPageProxy::resetStateAfterProcessExited): Removed cleanup of removed color picker objects. 6018 6019 * UIProcess/mac/WebColorPickerMac.h: Added. 6020 * UIProcess/mac/WebColorPickerMac.mm: Added. 6021 (WebKit::WebColorPickerMac::create): 6022 (WebKit::WebColorPickerMac::~WebColorPickerMac): 6023 (WebKit::WebColorPickerMac::WebColorPickerMac): 6024 (WebKit::WebColorPickerMac::endPicker): 6025 (WebKit::WebColorPickerMac::setSelectedColor): 6026 (WebKit::WebColorPickerMac::didChooseColor): 6027 (WebKit::WebColorPickerMac::showColorPicker): 6028 WebColorPickerMac contains a reference to a WKColorPanelMac object 6029 and is responsible for maintaining the color picker UI. 6030 6031 (-[WKColorPanelMac setAndShowPicker:withColor:]): 6032 (-[WKColorPanelMac invalidate]): 6033 (-[WKColorPanelMac windowWillClose:]): 6034 (-[WKColorPanelMac didChooseColor:]): 6035 (-[WKColorPanelMac setColor:]): 6036 WKColorPanelMac is a wrapper for a NSColorPanel object and 6037 is responsible for the color picker UI. 6038 6039 * WebKit2.xcodeproj/project.pbxproj: 6040 6041 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6042 (WebKit::WebChromeClient::createColorChooser): Updated to always create a 6043 WebColorChooser object. 6044 6045 * WebProcess/WebCoreSupport/WebColorChooser.cpp: 6046 (WebKit::WebColorChooser::reattachColorChooser): Sets the page's 6047 active color chooser to the current object and pings the UIProcess 6048 to show the color picker. 6049 (WebKit::WebColorChooser::setSelectedColor): Only sets the color in the 6050 color picker if the WebColorChooser object is the active color element. 6051 * WebProcess/WebCoreSupport/WebColorChooser.h: 6052 60532013-07-30 Gavin Barraclough <barraclough@apple.com> 6054 6055 Some cleanup in JSValue::get 6056 https://bugs.webkit.org/show_bug.cgi?id=119343 6057 6058 Reviewed by Geoff Garen. 6059 6060 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 6061 (WebKit::JSNPObject::getOwnPropertySlot): 6062 * WebProcess/Plugins/Netscape/JSNPObject.h: 6063 - getOwnPropertySlot, JSCell -> JSObject 6064 60652013-07-31 Allan Sandfeld Jensen <allan.jensen@digia.com> 6066 6067 [Qt] Build WebKit with C++11 6068 https://bugs.webkit.org/show_bug.cgi?id=119337 6069 6070 Reviewed by Csaba Osztrogonác. 6071 6072 We no longer need to enable C++11 specifically for WebKit2. 6073 6074 * WebKit2.pri: 6075 60762013-07-30 Tim Horton <timothy_horton@apple.com> 6077 6078 DHTML drag can result in a null-deref under WebDragClient::startDrag 6079 https://bugs.webkit.org/show_bug.cgi?id=119297 6080 <rdar://problem/14213012> 6081 6082 Reviewed by Simon Fraser. 6083 6084 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 6085 (WebKit::convertImageToBitmap): 6086 ShareableBitmap::createShareable can return null, but shouldn't dereference that. 6087 60882013-07-30 Ruth Fong <ruth_fong@apple.com> 6089 6090 Rename <input type='color'> functions in WebPageProxy, WebColorPicker 6091 <rdar://problem/14549771> and https://bugs.webkit.org/show_bug.cgi?id=119097 6092 6093 Reviewed by Tim Horton. 6094 6095 In bug 119025, WebColorChooserProxy was renamed WebColorPicker. This patch makes the UIProcess consistent 6096 by renaming UIProcess INPUT_TYPE_COLOR functions from ...colorChooser to ...colorPicker. 6097 6098 * UIProcess/WebColorPicker.cpp: 6099 (WebKit::WebColorPicker::endPicker): 6100 * UIProcess/WebColorPicker.h: 6101 * UIProcess/WebColorPickerResultListenerProxy.cpp: 6102 (WebKit::WebColorPickerResultListenerProxy::setColor): 6103 * UIProcess/WebPageProxy.cpp: 6104 (WebKit::WebPageProxy::showColorPicker): 6105 (WebKit::WebPageProxy::setColorPickerColor): 6106 (WebKit::WebPageProxy::endColorPicker): 6107 (WebKit::WebPageProxy::didEndColorPicker): 6108 * UIProcess/WebPageProxy.h: 6109 * UIProcess/WebPageProxy.messages.in: 6110 * UIProcess/qt/WebColorPickerQt.cpp: 6111 (WebKit::WebColorPickerQt::createItem): 6112 (WebKit::WebColorPickerQt::notifyColorSelected): 6113 (WebKit::WebColorPickerQt::endPicker): 6114 * UIProcess/qt/WebColorPickerQt.h: 6115 * WebProcess/WebCoreSupport/WebColorChooser.cpp: 6116 (WebKit::WebColorChooser::WebColorChooser): 6117 (WebKit::WebColorChooser::setSelectedColor): 6118 (WebKit::WebColorChooser::endChooser): 6119 * WebProcess/WebPage/WebPage.cpp: 6120 (WebKit::WebPage::didEndColorPicker): 6121 * WebProcess/WebPage/WebPage.h: 6122 * WebProcess/WebPage/WebPage.messages.in: 6123 61242013-07-30 Anders Carlsson <andersca@apple.com> 6125 6126 Speculative fix for crash due to string access on multiple threads 6127 https://bugs.webkit.org/show_bug.cgi?id=119279 6128 <rdar://problem/14267833> 6129 6130 Reviewed by Darin Adler. 6131 6132 We can't use String::isolatedCopy for passing the local storage directory to the storage thread since 6133 that returns a String that's copied and then destroyed after the call to bind returns, leaving a small window 6134 where the refcount can be accessed simultaneously from two threads. 6135 6136 Work around this by passing a PassRefPtr<StringImpl> to bind instead; the act of copying the PassRefPtr will 6137 clear out the original and so when the original is destroyed the underlying StringImpl pointer will be null. 6138 6139 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 6140 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory): 6141 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): 6142 * UIProcess/Storage/LocalStorageDatabaseTracker.h: 6143 61442013-07-30 Tim Horton <timothy_horton@apple.com> 6145 6146 Fix typo in enum name ("SelectionInSnaphot" -> "SelectionInSnapshot") 6147 https://bugs.webkit.org/show_bug.cgi?id=119275 6148 6149 Reviewed by Simon Fraser. 6150 6151 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 6152 (WebKit::imageForRect): 6153 * WebProcess/WebPage/WebPage.cpp: 6154 (WebKit::WebPage::scaledSnapshotWithOptions): 6155 Fix typo. 6156 61572013-07-30 Anders Carlsson <andersca@apple.com> 6158 6159 Plug-in process crashes if plug-in is destroyed as a result of sending NPObjectMessageReceiver::Deallocate 6160 https://bugs.webkit.org/show_bug.cgi?id=119270 6161 <rdar://problem/13368226> 6162 6163 Reviewed by Darin Adler. 6164 6165 Normally we use the PluginDestructionProtector RAII object to prevent plug-ins from being destroyed while 6166 they're executing code. However, in the case of the NPObjectMessageReceiver::Deallocate message, we can't do this 6167 since we don't know the plug-in or connection. 6168 6169 Instead, add a counter to Connection that keeps track of whether sendSync is currently called and defer plug-in 6170 destruction if it is. (This approach is actually more robust and we should investigate getting rid of the destruction protector). 6171 6172 * Platform/CoreIPC/Connection.cpp: 6173 (CoreIPC::Connection::Connection): 6174 (CoreIPC::Connection::sendSyncMessage): 6175 * Platform/CoreIPC/Connection.h: 6176 (CoreIPC::Connection::inSendSync): 6177 * PluginProcess/PluginControllerProxy.cpp: 6178 (WebKit::PluginControllerProxy::destroy): 6179 61802013-07-30 Tim Horton <timothy_horton@apple.com> 6181 6182 Null deref under WebPage::scaledSnapshotWithOptions 6183 https://bugs.webkit.org/show_bug.cgi?id=119243 6184 <rdar://problem/14502050> 6185 6186 Reviewed by Darin Adler. 6187 6188 * WebProcess/WebPage/WebPage.cpp: 6189 (WebKit::WebPage::scaledSnapshotWithOptions): 6190 WebFrame::coreFrame() can be null (if the Frame is already torn down), 6191 so we should check it. 6192 61932013-07-30 Tim Horton <timothy_horton@apple.com> 6194 6195 Null deref under PluginView::handlesPageScaleFactor() 6196 https://bugs.webkit.org/show_bug.cgi?id=119231 6197 <rdar://problem/14440207> 6198 6199 Reviewed by Darin Adler. 6200 6201 Null-check the PluginView in the caller as well. 6202 6203 * WebProcess/WebPage/WebFrame.cpp: 6204 (WebKit::WebFrame::handlesPageScaleGesture): 6205 62062013-07-30 Patrick Gansterer <paroga@webkit.org> 6207 6208 Remove unused Download*.cpp files 6209 https://bugs.webkit.org/show_bug.cgi?id=119248 6210 6211 Reviewed by Anders Carlsson. 6212 6213 * Shared/Downloads/cfnet/DownloadCFNet.cpp: Removed. 6214 * Shared/Downloads/curl/DownloadCurl.cpp: Removed. 6215 62162013-07-30 Jeff Miller <jeffm@apple.com> 6217 6218 Page for WKPageLoaderClient processDidCrash callback always reports a process identifier of 0 6219 https://bugs.webkit.org/show_bug.cgi?id=119269 6220 <rdar://problem/14582393> 6221 6222 Reviewed by Anders Carlsson. 6223 6224 * UIProcess/WebPageProxy.cpp: 6225 (WebKit::WebPageProxy::processIdentifier): 6226 Return 0 if the page is closed instead of requiring isValid(). 6227 62282013-07-30 Kwang Yul Seo <skyul@company100.net> 6229 6230 [WK2] Move the implementation of WebEditorClient::checkTextOfParagraph to WebEditorClient.cpp 6231 https://bugs.webkit.org/show_bug.cgi?id=119034 6232 6233 Reviewed by Anders Carlsson. 6234 6235 The Mac and EFL ports use the same implementation of 6236 WebEditorClient::checkTextOfParagraph and GTK will use the same 6237 implementation too. So rather than duplicating the same code in 6238 platform specific files, move the implementation to platform agnostic 6239 WebProcess/WebCoreSupport/WebEditorClient.cpp. 6240 6241 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 6242 (WebKit::WebEditorClient::checkTextOfParagraph): 6243 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: 6244 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 6245 62462013-07-30 Brian Holt <brian.holt@samsung.com> 6247 6248 [WebKit2] [Gtk] WebKitResponsePolicyDecision URI response property incorrect 6249 https://bugs.webkit.org/show_bug.cgi?id=119258 6250 6251 Reviewed by Martin Robinson. 6252 6253 Corrected the installed URI response property from PROP_REQUEST to 6254 PROP_RESPONSE and type from WEBKIT_TYPE_URI_REQUEST to 6255 WEBKIT_TYPE_URI_RESPONSE. 6256 6257 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: 6258 (webkit_response_policy_decision_class_init): 6259 62602013-07-29 Carlos Garcia Campos <cgarcia@igalia.com> 6261 6262 Unreviewed. Fix make distcheck. 6263 6264 * GNUmakefile.list.am: Add missing header file to compilation. 6265 62662013-07-29 Tim Horton <timothy_horton@apple.com> 6267 6268 [wk2] Flush the WebProcess’ implicit transaction when using endDeferringViewInWindowChangesSync 6269 https://bugs.webkit.org/show_bug.cgi?id=119225 6270 <rdar://problem/14568841> 6271 6272 Reviewed by Simon Fraser. 6273 6274 Tell CoreAnimation to flush the implicit transaction before replying 6275 when using endDeferringViewInWindowChangesSync, as that method's contract 6276 is that the WebProcess is totally ready to be in-window when it returns. 6277 6278 * UIProcess/API/mac/WKView.mm: 6279 (-[WKView endDeferringViewInWindowChanges]): 6280 Adopt viewInWindowStateDidChange. 6281 6282 (-[WKView endDeferringViewInWindowChangesSync]): 6283 Adopt viewInWindowStateDidChange, asking it to send a reply only if we're going to wait for one. 6284 6285 * UIProcess/WebPageProxy.cpp: 6286 (WebKit::WebPageProxy::viewInWindowStateDidChange): 6287 (WebKit::WebPageProxy::viewStateDidChange): 6288 Pull viewInWindowStateDidChange out of viewStateDidChange. 6289 Request a reply from SetIsInWindow if we're told to. 6290 6291 * UIProcess/WebPageProxy.h: Add WantsReplyOrNot and viewInWindowStateDidChange. 6292 * WebProcess/WebPage/WebPage.cpp: 6293 (WebKit::WebPage::didUpdateInWindowStateTimerFired): 6294 Don't build this version on Mac, we'll have a WebPageMac version. 6295 6296 (WebKit::WebPage::setIsInWindow): 6297 Only start the timer to send the didUpdateInWindowState reply if we're asked to. 6298 6299 * WebProcess/WebPage/WebPage.h: 6300 * WebProcess/WebPage/WebPage.messages.in: 6301 Add an argument to the SetIsInWindow message for whether the WebProcess 6302 should inform the UIProcess when SetIsInWindow completes or not. 6303 6304 * WebProcess/WebPage/mac/WebPageMac.mm: 6305 (WebKit::WebPage::didUpdateInWindowStateTimerFired): 6306 Tell CA to flush the implicit transaction before telling the UIProcess that 6307 we're finished moving in-window. 6308 63092013-07-29 Tim Horton <timothy_horton@apple.com> 6310 6311 Null deref under PluginView::handlesPageScaleFactor() 6312 https://bugs.webkit.org/show_bug.cgi?id=119231 6313 <rdar://problem/14440207> 6314 6315 Reviewed by Simon Fraser. 6316 6317 * WebProcess/Plugins/PluginView.cpp: 6318 (WebKit::PluginView::handlesPageScaleFactor): 6319 * WebProcess/Plugins/PluginView.h: 6320 Null-check m_plugin and check m_isInitialized. 6321 Make pageScaleFactor() and handlesPageScaleFactor const. 6322 63232013-07-29 Anders Carlsson <andersca@apple.com> 6324 6325 Remove setUnderlayPage() and associated code 6326 https://bugs.webkit.org/show_bug.cgi?id=119220 6327 <rdar://problem/14392426> 6328 6329 Reviewed by Jessie Berlin. 6330 6331 This is dead code, get rid of it. 6332 6333 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 6334 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 6335 * WebProcess/WebPage/WebPage.cpp: 6336 (WebKit::WebPage::close): 6337 (WebKit::WebPage::layoutIfNeeded): 6338 (WebKit::WebPage::drawRect): 6339 * WebProcess/WebPage/WebPage.h: 6340 63412013-07-29 Sergio Correia <sergio.correia@openbossa.org> 6342 6343 CoordinatedGraphics: Add API to get and set the active state of a WebView 6344 https://bugs.webkit.org/show_bug.cgi?id=119067 6345 6346 Reviewed by Noam Rosenthal. 6347 6348 A view being in the "active" state generally means that it is not in the 6349 "background", although this definition can vary depending on the platform 6350 under consideration. 6351 6352 This patch adds the following APIs to WKView: 6353 - bool WKViewIsActive(WKViewRef) 6354 This API accepts a WKViewRef as parameter and returns a boolean indicating 6355 whether the given view is active. 6356 6357 - void WKViewSetIsActive(WKViewRef, bool) 6358 This API accepts a WKViewRef and a boolean as parameteres, and it sets the 6359 active state of the given view to the given boolean argument. 6360 6361 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 6362 (WKViewIsActive): API added. 6363 (WKViewSetIsActive): Ditto. 6364 * UIProcess/API/C/CoordinatedGraphics/WKView.h: Export aforementioned API. 6365 * UIProcess/CoordinatedGraphics/WebView.cpp: 6366 (WebKit::WebView::initialize): Use new setActive method. 6367 (WebKit::WebView::setActive): Added method to set the active state of the 6368 view. 6369 (WebKit::WebView::isActive): Added method to return the active state of 6370 view. 6371 (WebKit::WebView::enterAcceleratedCompositingMode): Use new setActive 6372 method. 6373 (WebKit::WebView::exitAcceleratedCompositingMode): Ditto. 6374 * UIProcess/CoordinatedGraphics/WebView.h: Added declarations of isActive 6375 and setActive. 6376 63772013-07-29 Jae Hyun Park <jae.park@company100.net> 6378 6379 Remove duplicated LayerTreeHost::supportsAcceleratedCompositing 6380 https://bugs.webkit.org/show_bug.cgi?id=118949 6381 6382 Reviewed by Noam Rosenthal. 6383 6384 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 6385 * WebProcess/WebPage/LayerTreeHost.h: 6386 (WebKit::LayerTreeHost::supportsAcceleratedCompositing): 6387 63882013-07-29 Zan Dobersek <zdobersek@igalia.com> 6389 6390 [Automake] Remove references to non-existent *_CFLAGS and *_LIBS variables 6391 https://bugs.webkit.org/show_bug.cgi?id=119212 6392 6393 Reviewed by Carlos Garcia Campos. 6394 6395 * GNUmakefile.am: Remove references to GLOBALDEPS_(CFLAGS|LIBS) and CLUTTER_(CFLAGS|LIBS) 6396 variables that are not defined during the configuration process. 6397 63982013-07-28 Grzegorz Czajkowski <g.czajkowski@samsung.com> 6399 6400 [EFL][WK2] Simplify context_menu_spelling_items_availability unit test 6401 https://bugs.webkit.org/show_bug.cgi?id=119085 6402 6403 Reviewed by Gyuyoung Kim. 6404 6405 Use findContextMenuItem method to check whether the item 6406 appears in context menu. 6407 6408 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 6409 (EWK2TextCheckerTest::findContextMenuItem): 6410 Do not report failure inside the method. 6411 It doesn't allow to test the negative test cases. 6412 6413 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems): 6414 Use findContextMenuItem method. 6415 6416 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping): 6417 (EWK2TextCheckerTest::selectLearnSpelling): 6418 (EWK2TextCheckerTest::selectIgnoreSpelling): 6419 Verify the return value of findContextMenuItem. 6420 6421 (TEST_F): 6422 Reset wasContextMenuShown variable, it's needed after r152153. 6423 Use waitUntilTrue method. 6424 64252013-07-27 Jacky Jiang <zhajiang@blackberry.com> 6426 6427 Replace all uses of GraphicsLayer::create function with the one that takes a GraphicsLayerFactory 6428 https://bugs.webkit.org/show_bug.cgi?id=119186 6429 6430 Reviewed by Anders Carlsson. 6431 6432 * UIProcess/mac/RemoteLayerTreeHost.mm: 6433 (WebKit::RemoteLayerTreeHost::getOrCreateLayer): 6434 64352013-07-27 Chris Fleizach <cfleizach@apple.com> 6436 6437 AX: VoiceOver not working with data detection page overlays 6438 https://bugs.webkit.org/show_bug.cgi?id=118680 6439 6440 Reviewed by Sam Weinig. 6441 6442 Expose API in BundlePageOverlay so that accessibility attributes can be retrieved through the overlay. 6443 This requires two methods in a new callback struct. One to copy the attribute names, and the other to 6444 copy the attribute values. I've folded both parameterized and non-parameterized attribute names into one method 6445 with a boolean to determine which one should be used. The non-parameterized attributes are not used or passed to the 6446 overlay at this time as there are no clients with such a need. 6447 6448 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 6449 (PageOverlayClientImpl::setAccessibilityClient): 6450 (PageOverlayClientImpl::PageOverlayClientImpl): 6451 (PageOverlayClientImpl::copyAccessibilityAttributeValue): 6452 (PageOverlayClientImpl::copyAccessibilityAttributeNames): 6453 (WKBundlePageOverlaySetAccessibilityClient): 6454 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 6455 * WebProcess/WebPage/PageOverlay.cpp: 6456 (WebKit::PageOverlay::copyAccessibilityAttributeValue): 6457 (WebKit::PageOverlay::copyAccessibilityAttributeNames): 6458 * WebProcess/WebPage/PageOverlay.h: 6459 (WebKit::PageOverlay::Client::copyAccessibilityAttributeValue): 6460 (WebKit::PageOverlay::Client::copyAccessibilityAttributeNames): 6461 (WebKit::PageOverlay::client): 6462 * WebProcess/WebPage/WebPage.cpp: 6463 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributeValue): 6464 (WebKit::WebPage::pageOverlayCopyAccessibilityAttributesNames): 6465 * WebProcess/WebPage/WebPage.h: 6466 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 6467 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]): 6468 (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]): 6469 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 6470 64712013-07-27 Simon Fraser <simon.fraser@apple.com> 6472 6473 If entering fullscreen for a window fails, don't leave things in a bad state 6474 https://bugs.webkit.org/show_bug.cgi?id=119179 6475 6476 Reviewed by Sam Weinig. 6477 6478 On Lion, attempting to take a video fullscreen when the Safari window is already 6479 fullscreen can sometimes fail, and AppKit informs us via windowDidFailToEnterFullScreen: 6480 6481 When this happens we have to undo the work done when entering fullscreen, to 6482 avoid leaving things in a bad state. 6483 6484 * UIProcess/mac/WKFullScreenWindowController.mm: 6485 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): 6486 64872013-07-26 Tim Horton <timothy_horton@apple.com> 6488 6489 Add a mode where autosizing fixes the FrameView height to at least the WKView height 6490 https://bugs.webkit.org/show_bug.cgi?id=119104 6491 <rdar://problem/14549021> 6492 6493 Reviewed by Anders Carlsson. 6494 6495 * Shared/WebPageCreationParameters.cpp: 6496 (WebKit::WebPageCreationParameters::encode): 6497 (WebKit::WebPageCreationParameters::decode): 6498 * Shared/WebPageCreationParameters.h: 6499 Add autoSizingShouldExpandToViewHeight parameter. 6500 6501 * UIProcess/API/mac/WKView.mm: 6502 (-[WKView minimumWidthForAutoLayout]): 6503 (-[WKView setMinimumWidthForAutoLayout:]): 6504 Un-deprecate these as they're still useful if not sending a height. 6505 6506 (-[WKView shouldExpandToViewHeightForAutoLayout]): 6507 (-[WKView setShouldExpandToViewHeightForAutoLayout:]): 6508 * UIProcess/API/mac/WKViewPrivate.h: 6509 New property, forward to WebPageProxy. 6510 6511 * UIProcess/WebPageProxy.cpp: 6512 (WebKit::WebPageProxy::WebPageProxy): 6513 (WebKit::WebPageProxy::creationParameters): 6514 (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight): 6515 * UIProcess/WebPageProxy.h: 6516 (WebKit::WebPageProxy::autoSizingShouldExpandToViewHeight): 6517 New property, forward to WebPage. 6518 6519 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6520 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 6521 If enabled, update the FrameView's autoSizeFixedMinimumHeight. 6522 6523 * WebProcess/WebPage/WebPage.cpp: 6524 (WebKit::WebPage::WebPage): 6525 (WebKit::WebPage::setAutoSizingShouldExpandToViewHeight): 6526 * WebProcess/WebPage/WebPage.h: 6527 (WebKit::WebPage::autoSizingShouldExpandToViewHeight): 6528 New property; if enabled, set FrameView's autoSizeFixedMinimumHeight, 6529 otherwise reset it to 0. 6530 6531 * WebProcess/WebPage/WebPage.messages.in: 6532 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 6533 (WebKit::TiledCoreAnimationDrawingArea::updateIntrinsicContentSizeTimerFired): 6534 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 6535 Retrieve intrinsic content size explicitly from the FrameView, as 6536 it may not have used it as its final contentsSize if 6537 autoSizeFixedMinimumHeight is set. 6538 6539 Set the WebPage's size in case the load is committed so that the 6540 WebFrameLoaderClient doesn't reset us to the wrong size. 6541 6542 Update autoSizeFixedMinimumHeight if enabled when the view size changes. 6543 65442013-07-25 Andreas Kling <akling@apple.com> 6545 6546 ChromeClient::focusedNodeChanged() should be focusedElementChanged(). 6547 <http://webkit.org/b/119110> 6548 6549 Reviewed by Anders Carlsson. 6550 6551 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6552 (WebKit::WebChromeClient::focusedElementChanged): 6553 * WebProcess/WebCoreSupport/WebChromeClient.h: 6554 65552013-07-25 Kwang Yul Seo <skyul@company100.net> 6556 6557 [WK2][Soup] Add private browsing support 6558 https://bugs.webkit.org/show_bug.cgi?id=118657 6559 6560 Reviewed by Gustavo Noronha Silva. 6561 6562 Support private browsing in WK2 by implementing private browsing 6563 related methods in WebFrameNetworkingContext. 6564 6565 * WebProcess/InjectedBundle/InjectedBundle.cpp: 6566 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 6567 Add USE(SOUP) guard. 6568 6569 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 6570 Add private browsing support methods. Copied from the Mac port. 6571 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 6572 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): 6573 (WebKit::WebFrameNetworkingContext::storageSession): 6574 Check if the frame enables private browsing and return the private 6575 browsing session. 6576 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 6577 6578 * WebProcess/WebProcess.cpp: 6579 (WebKit::WebProcess::ensurePrivateBrowsingSession): 6580 Add USE(SOUP) guard. 6581 65822013-07-25 Kwang Yul Seo <skyul@company100.net> 6583 6584 Build fix: use of long long in CoreIPC::ArgumentEncoder and CoreIPC::ArgumentDecoder 6585 https://bugs.webkit.org/show_bug.cgi?id=118228 6586 6587 Reviewed by Anders Carlsson. 6588 6589 Build fails on some platforms where int64_t and long long are different types. 6590 6591 * Shared/FileAPI/BlobRegistrationData.cpp: 6592 (WebKit::BlobRegistrationData::encode): 6593 Add explicit casts to int64_t. 6594 (WebKit::BlobRegistrationData::decode): 6595 Use int64_t instead of long long. 6596 65972013-07-25 Anders Carlsson <andersca@apple.com> 6598 6599 Remove lastModifiedDate from ResourceResponse 6600 https://bugs.webkit.org/show_bug.cgi?id=119092 6601 6602 Reviewed by Andreas Kling. 6603 6604 Update for WebCore changes. 6605 6606 * WebProcess/Plugins/PluginView.cpp: 6607 (WebKit::lastModifiedDate): 6608 Use ResourceResponse::lastModified() to get the last modified date. 6609 6610 (WebKit::PluginView::Stream::didReceiveResponse): 6611 Call the static lastModified function. 6612 6613 (WebKit::PluginView::manualLoadDidReceiveResponse): 6614 Ditto. 6615 66162013-07-25 Carlos Garcia Campos <cgarcia@igalia.com> 6617 6618 [GTK] Add support for running unit tests in the web process 6619 https://bugs.webkit.org/show_bug.cgi?id=118427 6620 6621 Reviewed by Gustavo Noronha Silva. 6622 6623 Some tests, like GObject DOM bindings API tests, run entirely in 6624 the WebProcess, so we just need to start the test from the UI 6625 process and wait until the test finishes running in the 6626 WebProcess. Tests are split in two files, one containing the 6627 actual test that runs in the WebProcess and another one to add the 6628 tests to the glib test system that works as a 6629 proxy. WebProcessTestRunner class starts a private DBus session 6630 bus and starts the tests sending a message to the WebExtension 6631 waiting until it finishes or fails. WebProcess tests are created 6632 by defining a class derived from WebProcessTest class and 6633 implementing the static create method and the virtual runTest 6634 method. The macro REGISTER_TEST is used by the web process tests 6635 to register their test cases. This patch includes the migration 6636 of the WebKitDOMNode test, all other GObject DOM bindings tests 6637 will be migrated in the same way in follow up patches. 6638 6639 * UIProcess/API/gtk/tests/DOMNodeTest.cpp: Added. 6640 (WebKitDOMNodeTest::create): Create a new WebKitDOMNodeTest. 6641 (WebKitDOMNodeTest::webPageFromArgs): Get the pageID parameter 6642 from the arguments dictionary. 6643 (WebKitDOMNodeTest::testHierarchyNavigation): 6644 (WebKitDOMNodeTest::testInsertion): 6645 (WebKitDOMNodeTest::runTest): Run the given test. 6646 (registerTests): Register test cases. 6647 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to 6648 compilation. 6649 * UIProcess/API/gtk/tests/TestDOMNode.cpp: Added. 6650 (testWebKitDOMNodeHierarchyNavigation): 6651 (testWebKitDOMNodeInsertion): 6652 (beforeAll): 6653 (afterAll): 6654 * UIProcess/API/gtk/tests/TestMain.cpp: 6655 (main): Unset DBUS_SESSION_BUS_ADDRESS environment variable to 6656 make sure that the GLib bus singleton is initialized by the 6657 private DBus session bus created by the tests. 6658 * UIProcess/API/gtk/tests/WebProcessTest.cpp: Added. 6659 (testsMap): Initialize and get the global map of tests. 6660 (WebProcessTest::add): Add a new test to the map, keeping a 6661 function to create the test. 6662 (WebProcessTest::create): Create a test for the given name. 6663 (methodCallCallback): Handle RunTest DBus method. It creates and 6664 runs the given test. 6665 (webkit_web_extension_initialize):Register the DBus service for 6666 this WebExtension. 6667 * UIProcess/API/gtk/tests/WebProcessTest.h: Added. 6668 * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: Added. 6669 (WebProcessTestRunner::WebProcessTestRunner): Start a private DBus 6670 session bus and get a connection to it. 6671 (WebProcessTestRunner::~WebProcessTestRunner): Stop the private 6672 DBus session bus. 6673 (WebProcessTestRunner::proxyCreatedCallback): 6674 (WebProcessTestRunner::proxy): Create a new proxy to send messages 6675 to the WebExtension if it doesn't exists. 6676 (WebProcessTestRunner::onNameAppeared): Called when the DBus 6677 service has been registered in the WebExtension and it's safe to 6678 create a proxy. 6679 (WebProcessTestRunner::onNameVanished): Called when the DBus 6680 service is unregistered. This happens when the web process crash, 6681 so we just exit here, because the g_asserts in the web process 6682 have already registered the error message. 6683 (WebProcessTestRunner::testFinishedCallback): Called when the 6684 WebProcess tests has finished. 6685 (WebProcessTestRunner::runTest): Send a message to the 6686 WebExtension to start the given test and monitor the service. 6687 (WebProcessTestRunner::finishTest): Save the test result and 6688 finish the main loop. 6689 * UIProcess/API/gtk/tests/WebProcessTestRunner.h: Added. 6690 66912013-05-05 Geoffrey Garen <ggaren@apple.com> 6692 6693 Rolled back in r149527 with crash fixed. 6694 6695 Reviewed by Oliver Hunt. 6696 6697 Rationalized 'this' value conversion 6698 https://bugs.webkit.org/show_bug.cgi?id=115542 6699 67002013-07-24 Ruth Fong <ruth_fong@apple.com> 6701 6702 Rename WebColorChooserProxy 6703 <rdar://problem/14528039> and https://bugs.webkit.org/show_bug.cgi?id=119025 6704 6705 Reviewed by Brady Eidson. 6706 6707 Renamed WebColorChooserProxy to WebColorPicker since the name WebColorChoooserProxy 6708 implies that it represents the same object as WebColorChooser, which is not true. 6709 Also, renamed createColorChooserProxy to createColorPicker in WebPageProxy and 6710 platform-equivalent versions of it. 6711 6712 * CMakeLists.txt: 6713 * GNUmakefile.list.am: 6714 * Target.pri: 6715 * UIProcess/API/gtk/PageClientImpl.cpp: 6716 (WebKit::PageClientImpl::createColorPicker): 6717 * UIProcess/API/gtk/PageClientImpl.h: 6718 * UIProcess/API/mac/PageClientImpl.h: 6719 * UIProcess/API/mac/PageClientImpl.mm: 6720 (WebKit::PageClientImpl::createColorPicker): 6721 * UIProcess/API/qt/raw/qrawwebview.cpp: 6722 (QRawWebViewPrivate::createColorPicker): 6723 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 6724 * UIProcess/CoordinatedGraphics/WebView.cpp: 6725 (WebKit::WebView::createColorPicker): 6726 * UIProcess/CoordinatedGraphics/WebView.h: 6727 * UIProcess/PageClient.h: 6728 * UIProcess/WebColorChooserProxy.cpp: Removed. 6729 * UIProcess/WebColorChooserProxy.h: Removed. 6730 * UIProcess/WebColorPicker.cpp: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.cpp. 6731 (WebKit::WebColorPicker::WebColorPicker): 6732 (WebKit::WebColorPicker::~WebColorPicker): 6733 (WebKit::WebColorPicker::endChooser): 6734 (WebKit::WebColorPicker::setSelectedColor): 6735 * UIProcess/WebColorPicker.h: Copied from Source/WebKit2/UIProcess/WebColorChooserProxy.h. 6736 (WebKit::WebColorPicker::create): 6737 * UIProcess/WebPageProxy.cpp: 6738 (WebKit::WebPageProxy::close): 6739 (WebKit::WebPageProxy::showColorChooser): 6740 (WebKit::WebPageProxy::setColorChooserColor): 6741 (WebKit::WebPageProxy::endColorChooser): 6742 (WebKit::WebPageProxy::didEndColorChooser): 6743 (WebKit::WebPageProxy::resetStateAfterProcessExited): 6744 * UIProcess/WebPageProxy.h: Renamed m_colorChooser to m_colorPicker. 6745 * UIProcess/qt/QtPageClient.cpp: 6746 (WebKit::QtPageClient::createColorPicker): 6747 * UIProcess/qt/QtPageClient.h: 6748 * UIProcess/qt/WebColorChooserProxyQt.cpp: Removed. 6749 * UIProcess/qt/WebColorChooserProxyQt.h: Removed. 6750 * UIProcess/qt/WebColorPickerQt.cpp: Added. 6751 (WebKit::ColorChooserContextObject::ColorChooserContextObject): 6752 (WebKit::ColorChooserContextObject::currentColor): 6753 (WebKit::ColorChooserContextObject::elementRect): 6754 (WebKit::ColorChooserContextObject::accept): 6755 (WebKit::ColorChooserContextObject::reject): 6756 (WebKit::WebColorPickerQt::WebColorPickerQt): 6757 (WebKit::WebColorPickerQt::~WebColorPickerQt): 6758 (WebKit::WebColorPickerQt::createItem): 6759 (WebKit::WebColorPickerQt::createContext): 6760 (WebKit::WebColorPickerQt::setSelectedColor): 6761 (WebKit::WebColorPickerQt::notifyColorSelected): 6762 (WebKit::WebColorPickerQt::endChooser): 6763 * UIProcess/qt/WebColorPickerQt.h: Added. 6764 (WebKit::WebColorPickerQt::create): 6765 * WebKit2.xcodeproj/project.pbxproj: 6766 67672013-07-24 Anders Carlsson <andersca@apple.com> 6768 6769 Crash when calling WKPageGetProcessIdentifier after aborted process launch 6770 https://bugs.webkit.org/show_bug.cgi?id=119069 6771 <rdar://problem/14494064> 6772 6773 Reviewed by Andreas Kling. 6774 6775 * UIProcess/WebPageProxy.cpp: 6776 (WebKit::WebPageProxy::processIdentifier): 6777 Check if the page is closed instead of checking whether we have a process - We'll always have a process. 6778 6779 (WebKit::WebPageProxy::isValid): 6780 Make this const. 6781 6782 * UIProcess/WebPageProxy.h: 6783 67842013-07-24 Kwang Yul Seo <skyul@company100.net> 6785 6786 [WK2][Soup] Add entry point for network process 6787 https://bugs.webkit.org/show_bug.cgi?id=110136 6788 6789 Reviewed by Gustavo Noronha Silva. 6790 6791 Original patch by Balazs Kelemen <kbalazs@webkit.org>. 6792 6793 Added a common entry point for non-Mac Unix ports. 6794 6795 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Added. 6796 (WebKit::NetworkProcessMain): 6797 * NetworkProcess/unix/NetworkProcessMainUnix.h: Added. 6798 * unix/NetworkMainUnix.cpp: Added. 6799 (main): 6800 68012013-07-24 Jessie Berlin <jberlin@apple.com> 6802 6803 Remove WKPageGetPlugInInformation - it is not used anymore 6804 https://bugs.webkit.org/show_bug.cgi?id=119047 6805 6806 Reviewed by Alexey Proskuryakov. 6807 6808 Revert r151172, which fixed a crash introduced in r151043, r151054, which fixed some naming 6809 and ref-churn issues introduced in r151043, and r151043, which added 6810 WKPageGetPlugInInformation. 6811 6812 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 6813 (WKPageIsURLKnownHSTSHost): 6814 * UIProcess/API/C/mac/WKPagePrivateMac.h: 6815 * UIProcess/Plugins/PluginProcessManager.h: 6816 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: 6817 * UIProcess/WebPageProxy.cpp: 6818 (WebKit::WebPageProxy::close): 6819 * UIProcess/WebPageProxy.h: 6820 * UIProcess/WebPageProxy.messages.in: 6821 * UIProcess/mac/WebPageProxyMac.mm: 6822 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 6823 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: 6824 * WebProcess/Plugins/Plugin.h: 6825 * WebProcess/Plugins/PluginProxy.h: 6826 * WebProcess/Plugins/PluginView.h: 6827 * WebProcess/WebPage/WebPage.h: 6828 * WebProcess/WebPage/WebPage.messages.in: 6829 * WebProcess/WebPage/mac/WebPageMac.mm: 6830 68312013-07-24 Jessie Berlin <jberlin@apple.com> 6832 6833 Remove WKPageGetPlugInInformation - it is not used anymore 6834 https://bugs.webkit.org/show_bug.cgi?id=119047 6835 6836 Rubber-stamped by Alexey Proskuryakov. 6837 6838 Revert r152328, which added a key used only in the callback info for 6839 WKPageGetPlugInInformation. 6840 6841 * Shared/API/c/WKPluginInformation.cpp: 6842 * Shared/API/c/WKPluginInformation.h: 6843 * Shared/Plugins/Netscape/PluginInformation.cpp: 6844 * Shared/Plugins/Netscape/PluginInformation.h: 6845 * UIProcess/WebPageProxy.h: 6846 * UIProcess/WebPageProxy.messages.in: 6847 * UIProcess/mac/WebPageProxyMac.mm: 6848 (WebKit::WebPageProxy::containsPlugInCallback): 6849 * WebProcess/WebPage/mac/WebPageMac.mm: 6850 (WebKit::WebPage::containsPluginViewsWithPluginProcessToken): 6851 68522013-07-24 Anton Obzhirov <a.obzhirov@samsung.com> 6853 6854 [GTK] TestInspectorServer unit test is timing out 6855 https://bugs.webkit.org/show_bug.cgi?id=105866 6856 6857 Reviewed by Gustavo Noronha Silva. 6858 6859 The test failed because it couldn't find inspector resources in default folder 6860 (make install step was missing). It uses now resources available in 6861 WebKitBuild folder. WebInspectorServerGtk was refactored as well to make 6862 easier to use WEBKIT_INSPECTOR_SERVER_PATH variable. 6863 6864 * UIProcess/API/gtk/tests/GNUmakefile.am: 6865 * UIProcess/API/gtk/tests/InspectorTestServer.cpp: 6866 (main): 6867 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 6868 (testInspectorServerPageList): 6869 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 6870 (WebKit::WebInspectorServer::platformResourceForPath): 6871 (WebKit::WebInspectorServer::buildPageList): 6872 (WebKit::WebInspectorServer::inspectorServerFilesPath): 6873 68742013-07-23 Simon Cooper <scooper@apple.com> 6875 6876 10.7: Java applets do not work due to sandbox violation/exception 6877 https://bugs.webkit.org/show_bug.cgi?id=118920 6878 <rdar://problem/14471541&12910934&14223830&14260729&14267679> 6879 6880 Reviewed by Alexey Proskuryakov. 6881 6882 Introduce versioning into the common profile and use it to fix 6883 a number of issues with Java on 10.7 and 10.8. Allow writing the 6884 com.apple.java.util.prefs preference file. This change also 6885 introduces a "/Library/Application Support/Java/PublicFiles" 6886 area which Java can read without any restrictions. Files written 6887 to this location will need to be created and written to by 6888 a privileged process. 6889 6890 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 6891 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb: 6892 68932013-07-23 Eunmi Lee <eunmi15.lee@samsung.com> 6894 6895 [EFL][WK2] Add doneWithTouchEvent callback to the WKViewClient. 6896 https://bugs.webkit.org/show_bug.cgi?id=110085 6897 6898 Reviewed by Kenneth Rohde Christiansen. 6899 6900 Add doneWithTouchEvent callback to the WKViewClient in order to get the 6901 result of touch events in the EwkView. The result will be used to 6902 recognize gestures in the Bug 102643. 6903 6904 APIs to get values from WKTouchEventRef and WKTouchPointRef are added 6905 because WKTypeRef is opaque to the applications. 6906 6907 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 6908 * UIProcess/API/C/efl/WKAPICastEfl.h: 6909 (WebKit::toAPI): 6910 * UIProcess/API/C/efl/WKEventEfl.cpp: 6911 (WKTouchEventGetType): 6912 (WKTouchEventGetTouchPoints): 6913 (WKTouchEventGetModifiers): 6914 (WKTouchEventGetTimestamp): 6915 (WKTouchPointGetID): 6916 (WKTouchPointGetState): 6917 (WKTouchPointGetScreenPosition): 6918 (WKTouchPointGetPosition): 6919 (WKTouchPointGetRadius): 6920 (WKTouchPointGetRotationAngle): 6921 (WKTouchPointGetForceFactor): 6922 * UIProcess/API/C/efl/WKEventEfl.h: 6923 * UIProcess/API/efl/EwkView.cpp: 6924 (EwkView::doneWithTouchEvent): 6925 * UIProcess/API/efl/EwkView.h: 6926 * UIProcess/CoordinatedGraphics/WebView.cpp: 6927 (WebKit::WebView::doneWithTouchEvent): 6928 * UIProcess/CoordinatedGraphics/WebViewClient.cpp: 6929 (WebKit::WebViewClient::doneWithTouchEvent): 6930 * UIProcess/CoordinatedGraphics/WebViewClient.h: 6931 * UIProcess/efl/ViewClientEfl.cpp: 6932 (WebKit::ViewClientEfl::doneWithTouchEvent): 6933 (WebKit::ViewClientEfl::ViewClientEfl): 6934 * UIProcess/efl/ViewClientEfl.h: 6935 69362013-07-22 Alexey Proskuryakov <ap@apple.com> 6937 6938 Frequent MESSAGE_CHECK failures in WebPageProxy::didReceiveEvent 6939 https://bugs.webkit.org/show_bug.cgi?id=118976 6940 <rdar://problem/14155030> 6941 6942 Reviewed by Sam Weinig. 6943 6944 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::resetStateAfterProcessExited): 6945 Clear m_gestureEventQueue, just like we clear all other event queues here. 6946 69472013-07-21 Anders Carlsson <andersca@apple.com> 6948 6949 Java Updater not launched on Lion and Mountain Lion 6950 https://bugs.webkit.org/show_bug.cgi?id=118953 6951 <rdar://problem/14496721> 6952 6953 Reviewed by Sam Weinig. 6954 6955 On Lion and Mountain Lion, -[NSURL isEqual:] will return NO for two file URLs if one of 6956 them has "localhost" specified, even if the paths are otherwise equal. Work around this by 6957 comparing the paths directly. 6958 6959 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 6960 (WebKit::isJavaUpdaterURL): 6961 69622013-07-19 Morten Stenshorne <mstensho@opera.com> 6963 6964 [GTK] Need a way to enable region based columns from the command line 6965 https://bugs.webkit.org/show_bug.cgi?id=116611 6966 6967 Reviewed by Martin Robinson. 6968 6969 Add an environment variable to enable experimental features. 6970 6971 This provides a means to enable experimental features without polluting 6972 the public API. 6973 6974 Environment variable name: WEBKITGTK_EXPERIMENTAL_FEATURES 6975 6976 Format: WEBKITGTK_EXPERIMENTAL_FEATURES="<feature1>=1,<feature2>=1,..." 6977 Or, to enable all experimental features: WEBKITGTK_EXPERIMENTAL_FEATURES=all 6978 6979 So far the only feature is region based columns (implement multicol using 6980 the CSS regions implementation rather than ColumnInfo & co) - REGION_BASED_COLUMNS. 6981 6982 Example: WEBKITGTK_EXPERIMENTAL_FEATURES="REGION_BASED_COLUMNS=1" 6983 6984 * GNUmakefile.list.am: 6985 * PlatformGTK.cmake: 6986 * UIProcess/API/gtk/WebKitSettings.cpp: 6987 (webKitSettingsConstructed): 6988 (webkit_settings_class_init): 6989 * UIProcess/gtk/ExperimentalFeatures.cpp: Added. 6990 (WebKit): 6991 (Setting): 6992 (WebKit::ExperimentalFeatures::ExperimentalFeatures): 6993 (WebKit::ExperimentalFeatures::isEnabled): 6994 (WebKit::ExperimentalFeatures::setEnableByName): 6995 (WebKit::ExperimentalFeatures::parseEnvironment): 6996 * UIProcess/gtk/ExperimentalFeatures.h: Added. 6997 (WebKit): 6998 (ExperimentalFeatures): 6999 70002013-07-18 Eunmi Lee <eunmi15.lee@samsung.com> 7001 7002 [WK2] Share Qt port's codes to find zoomable area with CoordinatedGraphics. 7003 https://bugs.webkit.org/show_bug.cgi?id=118585 7004 7005 Reviewed by Anders Carlsson. 7006 7007 The function to find zoomable area is needed in order to implement the 7008 feature to scale for double-tap gesture. The WK2 EFL and NIX port want 7009 to use that function, so extract the code from the Qt port, make it 7010 usable in the CoordinatedGraphics and add API and callback. 7011 7012 * CMakeLists.txt: 7013 * Target.pri: 7014 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 7015 (WKViewFindZoomableAreaForRect): 7016 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 7017 * UIProcess/API/efl/EwkView.cpp: 7018 (EwkView::didFindZoomableArea): 7019 * UIProcess/API/efl/EwkView.h: 7020 * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Added. 7021 (WebKit::WebPageProxy::findZoomableAreaForPoint): 7022 (WebKit::WebPageProxy::didFindZoomableArea): 7023 * UIProcess/CoordinatedGraphics/WebView.cpp: 7024 (WebKit::WebView::didFindZoomableArea): 7025 (WebKit::WebView::findZoomableAreaForPoint): 7026 * UIProcess/CoordinatedGraphics/WebView.h: 7027 * UIProcess/CoordinatedGraphics/WebViewClient.cpp: 7028 (WebKit::WebViewClient::didFindZoomableArea): 7029 * UIProcess/CoordinatedGraphics/WebViewClient.h: 7030 * UIProcess/PageClient.h: 7031 * UIProcess/WebPageProxy.h: 7032 * UIProcess/WebPageProxy.messages.in: 7033 * UIProcess/efl/ViewClientEfl.cpp: 7034 (WebKit::ViewClientEfl::didFindZoomableArea): 7035 (WebKit::ViewClientEfl::ViewClientEfl): 7036 * UIProcess/efl/ViewClientEfl.h: 7037 * UIProcess/qt/WebPageProxyQt.cpp: 7038 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Added. 7039 (WebKit::WebPage::findZoomableAreaForPoint): 7040 * WebProcess/WebPage/WebPage.cpp: 7041 * WebProcess/WebPage/WebPage.h: 7042 * WebProcess/WebPage/WebPage.messages.in: 7043 70442013-07-18 Simon Cooper <scooper@apple.com> 7045 7046 Flash Player: deny file-read-data /Library/Application Support/Macromedia/FlashAuthor.cfg 7047 https://bugs.webkit.org/show_bug.cgi?id=118874 7048 <rdar://problem/14271327> 7049 7050 Reviewed by Alexey Proskuryakov. 7051 7052 Silently deny access to FlashAuthor.cfg. This location contains 7053 files containing lists of paths that Flash Player will 7054 "allow" access to (without asking the user). Since the plugin 7055 sandbox won't permit the access to the listed paths it is better 7056 to silently block attempts to read this "whitelist". 7057 7058 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 7059 70602013-07-18 Tim Horton <timothy_horton@apple.com> 7061 7062 [wk2] Ensure that the plugin layer is removed completely when the PluginProcess crashes 7063 https://bugs.webkit.org/show_bug.cgi?id=118862 7064 7065 Reviewed by Anders Carlsson. 7066 7067 * WebProcess/Plugins/PluginView.cpp: 7068 (WebKit::PluginView::PluginView): 7069 Add m_pluginProcessHasCrashed. 7070 7071 (WebKit::PluginView::platformLayer): 7072 Don't return the plugin's layer if it has crashed. 7073 7074 (WebKit::PluginView::pluginProcessCrashed): 7075 Set m_pluginProcessHasCrashed. 7076 Cause a style recalc so that we rebuild the layer tree; our layer won't be included. 7077 7078 * WebProcess/Plugins/PluginView.h: 7079 Add m_pluginProcessHasCrashed. 7080 70812013-07-18 Alexey Proskuryakov <ap@apple.com> 7082 7083 <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader 7084 <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension 7085 https://bugs.webkit.org/show_bug.cgi?id=118855 7086 7087 Reviewed by Brady Eidson. 7088 7089 * NetworkProcess/NetworkResourceLoader.cpp: 7090 (WebKit::NetworkResourceLoader::cleanup): 7091 (WebKit::NetworkResourceLoader::didFinishLoading): 7092 (WebKit::NetworkResourceLoader::didFail): 7093 Moved sandbox extension invalidation to cleanup() meaning that we won't fail to 7094 do this when aborting a loader that currently loading from network. 7095 7096 * NetworkProcess/SchedulableLoader.cpp: 7097 (WebKit::SchedulableLoader::SchedulableLoader): 7098 (WebKit::SchedulableLoader::consumeSandboxExtensions): 7099 (WebKit::SchedulableLoader::invalidateSandboxExtensions): 7100 * NetworkProcess/SchedulableLoader.h: 7101 Keep track of whether sandbox extensions are consumed, we don't want to revoke 7102 extensions that were never consumed (as used to be the case with sync loaders, 7103 and would be with async ones after the above fix). Also, get rid of extensions 7104 immediately when invalidating, we won't need them again. 7105 71062013-07-18 Tim Horton <timothy_horton@apple.com> 7107 7108 Remove PDFViewController and WKView "custom representations" 7109 https://bugs.webkit.org/show_bug.cgi?id=118720 7110 7111 Reviewed by Alexey Proskuryakov. 7112 7113 PDFViewController was the only implementation of 7114 a "custom representation" for a WKView. As it has 7115 been superceded by PDFPlugin, we can remove both 7116 PDFViewController and the notion of a WKView custom 7117 representation. 7118 7119 * UIProcess/API/gtk/PageClientImpl.cpp: 7120 * UIProcess/API/gtk/PageClientImpl.h: 7121 * UIProcess/API/mac/PDFViewController.h: Removed. 7122 * UIProcess/API/mac/PDFViewController.mm: Removed. 7123 * UIProcess/API/mac/PageClientImpl.h: 7124 * UIProcess/API/mac/PageClientImpl.mm: 7125 * UIProcess/API/mac/WKView.mm: 7126 (-[WKView accessibilityFocusedUIElement]): 7127 (-[WKView accessibilityHitTest:]): 7128 (-[WKView accessibilityAttributeValue:]): 7129 (-[WKView printOperationWithPrintInfo:forFrame:]): 7130 * UIProcess/API/mac/WKViewInternal.h: 7131 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 7132 * UIProcess/CoordinatedGraphics/WebView.cpp: 7133 * UIProcess/CoordinatedGraphics/WebView.h: 7134 * UIProcess/DrawingAreaProxy.h: 7135 * UIProcess/DrawingAreaProxyImpl.cpp: 7136 * UIProcess/DrawingAreaProxyImpl.h: 7137 * UIProcess/PageClient.h: 7138 * UIProcess/WebPageProxy.cpp: 7139 (WebKit::WebPageProxy::WebPageProxy): 7140 (WebKit::WebPageProxy::supportsTextEncoding): 7141 (WebKit::WebPageProxy::supportsTextZoom): 7142 (WebKit::WebPageProxy::setTextZoomFactor): 7143 (WebKit::WebPageProxy::setPageZoomFactor): 7144 (WebKit::WebPageProxy::setPageAndTextZoomFactors): 7145 (WebKit::WebPageProxy::findString): 7146 (WebKit::WebPageProxy::countStringMatches): 7147 (WebKit::WebPageProxy::didCommitLoadForFrame): 7148 * UIProcess/WebPageProxy.h: 7149 (WebKit::WebPageProxy::textZoomFactor): 7150 (WebKit::WebPageProxy::pageZoomFactor): 7151 * UIProcess/WebPageProxy.messages.in: 7152 * UIProcess/qt/QtPageClient.h: 7153 * WebKit2.xcodeproj/project.pbxproj: 7154 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7155 (WebKit::WebFrameLoaderClient::WebFrameLoaderClient): 7156 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 7157 (WebKit::WebFrameLoaderClient::committedLoad): 7158 (WebKit::WebFrameLoaderClient::finishedLoading): 7159 (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): 7160 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 7161 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 7162 * WebProcess/WebPage/DrawingArea.h: 7163 * WebProcess/WebPage/DrawingArea.messages.in: 7164 * WebProcess/WebPage/DrawingAreaImpl.cpp: 7165 (WebKit::DrawingAreaImpl::setNeedsDisplayInRect): 7166 (WebKit::DrawingAreaImpl::scroll): 7167 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 7168 (WebKit::DrawingAreaImpl::display): 7169 * WebProcess/WebPage/DrawingAreaImpl.h: 7170 * WebProcess/WebPage/WebPage.cpp: 7171 * WebProcess/WebPage/WebPage.h: 7172 * WebProcess/WebPage/mac/WebPageMac.mm: 7173 (WebKit::WebPage::platformPreferencesDidChange): 7174 * mac/WebKit2.order: 7175 71762013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com> 7177 7178 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp 7179 https://bugs.webkit.org/show_bug.cgi?id=118797 7180 7181 Reviewed by Christophe Dumez. 7182 7183 Some mouseClick methods are used in test_ewk2_color_picker.cpp. 7184 But it is difficult to understand what they mean. 7185 So i would like to replace those with more meaningful method for readability. 7186 7187 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: 7188 (EWK2ColorPickerTest::clickButton): 7189 (TEST_F): 7190 71912013-07-18 Eunmi Lee <eunmi15.lee@samsung.com> 7192 7193 [WK2] Replace getRect() to pixelSnappedBoundingBox(). 7194 https://bugs.webkit.org/show_bug.cgi?id=118588 7195 7196 Reviewed by Noam Rosenthal. 7197 7198 The Node::getRect() function was removed in the 7199 http://trac.webkit.org/changeset/128006, so use 7200 pixelSnappedBoundingBox() instead. 7201 7202 * WebProcess/WebPage/WebPage.cpp: 7203 (WebKit::WebPage::findZoomableAreaForPoint): 7204 72052013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com> 7206 7207 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp 7208 https://bugs.webkit.org/show_bug.cgi?id=118796 7209 7210 Reviewed by Christophe Dumez. 7211 7212 Some mouseClick methods are used in test_ewk2_context_menu.cpp. 7213 But it is difficult to understand what they mean. 7214 So i would like to replace those with more meaningful method for readability. 7215 7216 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: 7217 (EWK2ContextMenuTest::testContextMenu): 7218 (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend): 7219 (EWK2ContextMenuTest::testContextMenuForSubmenu): 7220 (EWK2ContextMenuTest::finishTest): 7221 (EWK2ContextMenuTest::showContextMenu): 7222 (TEST_F): 7223 72242013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com> 7225 7226 [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp 7227 https://bugs.webkit.org/show_bug.cgi?id=118792 7228 7229 Reviewed by Christophe Dumez. 7230 7231 Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp. 7232 But it is difficult to understand what they mean. 7233 So i would like to replace those with more meaningful method for readability. 7234 7235 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: 7236 (EWK2FileChooserRequestTest::clickFileInput): 7237 (TEST_F): 7238 72392013-07-18 Dong-Gwan Kim <donggwan.kim@samsung.com> 7240 7241 [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp 7242 https://bugs.webkit.org/show_bug.cgi?id=118790 7243 7244 Reviewed by Christophe Dumez. 7245 7246 All the static methods should be moved to EWK2TextCheckerTest. 7247 7248 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 7249 (EWK2TextCheckerTest::resetCallbacksExecutionStats): 7250 (EWK2TextCheckerTest::onTimeout): 7251 (EWK2TextCheckerTest::onSettingChange): 7252 (EWK2TextCheckerTest::onSpellDocumentTag): 7253 (EWK2TextCheckerTest::onSpellDocumentTagClose): 7254 (EWK2TextCheckerTest::onSpellingCheck): 7255 (EWK2TextCheckerTest::onSpellingForKnownWord): 7256 (EWK2TextCheckerTest::onWordGuesses): 7257 (EWK2TextCheckerTest::onWordLearn): 7258 (EWK2TextCheckerTest::onWordIgnore): 7259 (EWK2TextCheckerTest::findContextMenuItem): 7260 (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems): 7261 (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping): 7262 (EWK2TextCheckerTest::checkClientSuggestionsForWord): 7263 (EWK2TextCheckerTest::selectLearnSpelling): 7264 (EWK2TextCheckerTest::selectIgnoreSpelling): 7265 (EWK2TextCheckerTest::countContextMenuItems): 7266 (EWK2TextCheckerTest::clickButton): 7267 (EWK2TextCheckerTest::showContextMenu): 7268 (EWK2TextCheckerTest::selectFirstWord): 7269 72702013-07-17 Tim Horton <timothy_horton@apple.com> 7271 7272 Update blocked/missing plug-in UI 7273 https://bugs.webkit.org/show_bug.cgi?id=118347 7274 <rdar://problem/14209318> 7275 7276 Reviewed by Sam Weinig. 7277 7278 * Platform/CoreIPC/HandleMessage.h: 7279 (CoreIPC::callMemberFunction): 7280 Add a 6 argument -> 4 reply message handler. 7281 (It seems that FindPlugin is getting a little out of hand.) 7282 7283 * Shared/APIClientTraits.cpp: 7284 * Shared/APIClientTraits.h: 7285 * UIProcess/API/C/WKPage.h: 7286 * UIProcess/WebLoaderClient.cpp: 7287 (WebKit::WebLoaderClient::pluginLoadPolicy): 7288 * UIProcess/WebLoaderClient.h: 7289 Add an unavailability description out-argument to a new version of 7290 pluginLoadPolicy, so clients can override the text of the unavailable 7291 plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits. 7292 7293 * UIProcess/WebPageProxy.cpp: 7294 (WebKit::WebPageProxy::findPlugin): 7295 * UIProcess/WebPageProxy.h: 7296 * UIProcess/WebPageProxy.messages.in: 7297 Plumb the unavailability description through to the WebProcess via 7298 the FindPlugin message. 7299 7300 * WebProcess/WebPage/WebPage.cpp: 7301 (WebKit::WebPage::createPlugin): 7302 Acquire the unavailability description from the client 7303 (via FindPlugin) and hand it to the RenderEmbeddedObject. 7304 73052013-07-17 Commit Queue <commit-queue@webkit.org> 7306 7307 Unreviewed, rolling out r152701, r152703, r152739, r152754, 7308 and r152756. 7309 http://trac.webkit.org/changeset/152701 7310 http://trac.webkit.org/changeset/152703 7311 http://trac.webkit.org/changeset/152739 7312 http://trac.webkit.org/changeset/152754 7313 http://trac.webkit.org/changeset/152756 7314 https://bugs.webkit.org/show_bug.cgi?id=118821 7315 7316 this was a buggy fix and we're going to try something 7317 different (Requested by thorton on #webkit). 7318 7319 * Platform/CoreIPC/HandleMessage.h: 7320 * Shared/APIClientTraits.cpp: 7321 * Shared/APIClientTraits.h: 7322 * UIProcess/API/C/WKPage.h: 7323 * UIProcess/WebLoaderClient.cpp: 7324 (WebKit::WebLoaderClient::pluginLoadPolicy): 7325 * UIProcess/WebLoaderClient.h: 7326 * UIProcess/WebPageProxy.cpp: 7327 (WebKit::WebPageProxy::findPlugin): 7328 * UIProcess/WebPageProxy.h: 7329 * UIProcess/WebPageProxy.messages.in: 7330 * WebProcess/Plugins/PluginProcessConnection.cpp: 7331 (WebKit::PluginProcessConnection::didClose): 7332 * WebProcess/Plugins/PluginView.cpp: 7333 (WebKit::PluginView::pluginProcessCrashed): 7334 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 7335 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton): 7336 * WebProcess/WebCoreSupport/WebChromeClient.h: 7337 * WebProcess/WebPage/WebPage.cpp: 7338 (WebKit::WebPage::createPlugin): 7339 (WebKit::WebPage::canPluginHandleResponse): 7340 73412013-07-17 Alexey Proskuryakov <ap@apple.com> 7342 7343 [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages() 7344 https://bugs.webkit.org/show_bug.cgi?id=118814 7345 <rdar://problem/14173389> 7346 7347 Reviewed by Brady Eidson. 7348 7349 Speculative fix. It's unclear how we end up with an invalid URL when committing 7350 a load. 7351 7352 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages): 7353 Added a null check. 7354 73552013-07-17 Commit Queue <commit-queue@webkit.org> 7356 7357 Unreviewed, rolling out r152786 and r152789. 7358 http://trac.webkit.org/changeset/152786 7359 http://trac.webkit.org/changeset/152789 7360 https://bugs.webkit.org/show_bug.cgi?id=118807 7361 7362 overly platform specific and dirty API (and Sam says no) 7363 (Requested by thorton on #webkit). 7364 7365 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 7366 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 7367 * WebProcess/WebPage/PageOverlay.cpp: 7368 * WebProcess/WebPage/PageOverlay.h: 7369 * WebProcess/WebPage/WebPage.cpp: 7370 * WebProcess/WebPage/WebPage.h: 7371 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 7372 73732013-07-17 Tim Horton <timothy_horton@apple.com> 7374 7375 AX: VoiceOver not working with data detection page overlays 7376 https://bugs.webkit.org/show_bug.cgi?id=118680 7377 7378 Reviewed by Anders Carlsson. 7379 7380 Bump the API version after r152786. 7381 7382 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 7383 73842013-07-17 Simon Cooper <scooper@apple.com> 7385 7386 YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera 7387 https://bugs.webkit.org/show_bug.cgi?id=118787 7388 <rdar://problem/14418799> 7389 7390 Reviewed by Alexey Proskuryakov. 7391 7392 Add support for built-in cameras, including the original iSight. 7393 7394 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 7395 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 7396 73972013-07-17 Chris Fleizach <cfleizach@apple.com> 7398 7399 AX: VoiceOver not working with data detection page overlays 7400 https://bugs.webkit.org/show_bug.cgi?id=118680 7401 7402 Reviewed by Tim Horton. 7403 7404 Expose API methods so that a client implementing data detectors is able to respond 7405 to the needs of accessibility clients like VoiceOver. 7406 7407 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 7408 (PageOverlayClientImpl::supportsDataDetection): 7409 (PageOverlayClientImpl::dataDetectorExistsAtPoint): 7410 (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint): 7411 (PageOverlayClientImpl::showDataDetectorMenuAtPoint): 7412 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 7413 * WebProcess/WebPage/PageOverlay.cpp: 7414 (WebKit::PageOverlay::supportsDataDetection): 7415 (WebKit::PageOverlay::dataDetectorExistsAtPoint): 7416 (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint): 7417 (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint): 7418 * WebProcess/WebPage/PageOverlay.h: 7419 (WebKit::PageOverlay::Client::supportsDataDetection): 7420 (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint): 7421 (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint): 7422 (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint): 7423 * WebProcess/WebPage/WebPage.cpp: 7424 (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint): 7425 (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint): 7426 (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint): 7427 (WebKit::WebPage::pageOverlaySupportsDataDetection): 7428 * WebProcess/WebPage/WebPage.h: 7429 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 7430 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]): 7431 (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]): 7432 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 7433 74342013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7435 7436 [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase. 7437 https://bugs.webkit.org/show_bug.cgi?id=118721 7438 7439 Reviewed by Christophe Dumez. 7440 7441 It should be defined as relevant test class specific to each test file for more readability. 7442 It could be helpful to remove unnecessary static methods. 7443 7444 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 7445 (compareHostNames): 7446 (onCookiesChanged): 7447 (EWK2CookieManagerTest::getAcceptPolicy): 7448 (EWK2CookieManagerTest::getHostnamesWithCookies): 7449 (EWK2CookieManagerTest::freeHostNames): 7450 (EWK2CookieManagerTest::countHostnamesWithCookies): 7451 (TEST_F): 7452 74532013-07-16 Balazs Kelemen <kbalazs@webkit.org> 7454 7455 [CMake] Undefined references should be detected at build time 7456 https://bugs.webkit.org/show_bug.cgi?id=110236 7457 7458 Reviewed by Christophe Dumez. 7459 7460 Add library dependencies that were not defined explicitly before. 7461 7462 * CMakeLists.txt: 7463 * PlatformEfl.cmake: 7464 74652013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7466 7467 [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase. 7468 https://bugs.webkit.org/show_bug.cgi?id=118780 7469 7470 Reviewed by Christophe Dumez. 7471 7472 It should be defined as relevant test class specific to each test file for more readability. 7473 It could be helpful to remove unnecessary static methods. 7474 7475 * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: 7476 (EWK2WindowFeaturesTest::createDefaultWindow): 7477 (EWK2WindowFeaturesTest::createWindow): 7478 (TEST_F): 7479 74802013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7481 7482 [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase. 7483 https://bugs.webkit.org/show_bug.cgi?id=118779 7484 7485 Reviewed by Christophe Dumez. 7486 7487 It should be defined as relevant test class specific to each test file for more readability. 7488 It could be helpful to remove unnecessary static methods. 7489 7490 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 7491 (EWK2ViewTest::onLoadFinishedForRedirection): 7492 (EWK2ViewTest::serverCallbackNavigation): 7493 (EWK2ViewTest::onFormAboutToBeSubmitted): 7494 (EWK2ViewTest::fullScreenCallback): 7495 (EWK2ViewTest::fullScreenExitCallback): 7496 (EWK2ViewTest::checkAlert): 7497 (EWK2ViewTest::checkConfirm): 7498 (EWK2ViewTest::checkPrompt): 7499 (EWK2ViewTest::onTextFound): 7500 (EWK2ViewTest::onVibrate): 7501 (EWK2ViewTest::onCancelVibration): 7502 (EWK2ViewTest::loadVibrationHTMLString): 7503 (EWK2ViewTest::onContentsSizeChangedPortrait): 7504 (EWK2ViewTest::onContentsSizeChangedLandscape): 7505 (EWK2ViewTest::PageContentsAsMHTMLCallback): 7506 (EWK2ViewTest::PageContentsAsStringCallback): 7507 (TEST_F): 7508 75092013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7510 7511 [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase. 7512 https://bugs.webkit.org/show_bug.cgi?id=118777 7513 7514 Reviewed by Christophe Dumez. 7515 7516 It should be defined as relevant test class specific to each test file for more readability. 7517 It could be helpful to remove unnecessary static methods. 7518 7519 * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: 7520 (EWK2StorageManagerTest::OriginData::OriginData): 7521 (EWK2StorageManagerTest::getStorageOriginsCallback): 7522 (EWK2StorageManagerTest::timerCallback): 7523 (EWK2StorageManagerTest::checkOrigin): 7524 (TEST_F): 7525 75262013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7527 7528 [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase. 7529 https://bugs.webkit.org/show_bug.cgi?id=118775 7530 7531 Reviewed by Christophe Dumez. 7532 7533 It should be defined as relevant test class specific to each test file for more readability. 7534 It could be helpful to remove unnecessary static methods. 7535 7536 * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: 7537 (EWK2PopupMenuTest::checkBasicPopupMenuItem): 7538 (EWK2PopupMenuTest::selectItemAfterDelayed): 7539 (EWK2PopupMenuTest::showPopupMenu): 7540 (TEST_F): 7541 75422013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7543 7544 [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase. 7545 https://bugs.webkit.org/show_bug.cgi?id=118773 7546 7547 Reviewed by Christophe Dumez. 7548 7549 It should be defined as relevant test class specific to each test file for more readability. 7550 It could be helpful to remove unnecessary static methods. 7551 7552 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: 7553 (EWK2FileChooserRequestTest::onFileChooserRequest): 7554 (EWK2FileChooserRequestTest::compareStrings): 7555 (EWK2FileChooserRequestTest::freeStringList): 7556 (TEST_F): 7557 75582013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7559 7560 [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase. 7561 https://bugs.webkit.org/show_bug.cgi?id=118772 7562 7563 Reviewed by Christophe Dumez. 7564 7565 It should be defined as relevant test class specific to each test file for more readability. 7566 It could be helpful to remove unnecessary static methods. 7567 7568 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: 7569 (EWK2FaviconDatabaseTest::serverCallback): 7570 (EWK2FaviconDatabaseTest::requestFaviconData): 7571 (TEST_F): 7572 75732013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7574 7575 [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase. 7576 https://bugs.webkit.org/show_bug.cgi?id=118771 7577 7578 Reviewed by Christophe Dumez. 7579 7580 It should be defined as relevant test class specific to each test file for more readability. 7581 It could be helpful to remove unnecessary static methods. 7582 7583 * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: 7584 (EWK2EinaSharedStringTest::checkString): 7585 (TEST_F): 7586 75872013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7588 7589 [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase. 7590 https://bugs.webkit.org/show_bug.cgi?id=118769 7591 7592 Reviewed by Christophe Dumez. 7593 7594 It should be defined as relevant test class specific to each test file for more readability. 7595 It could be helpful to remove unnecessary static methods. 7596 7597 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: 7598 (EWK2DownloadJobTest::fileExists): 7599 (EWK2DownloadJobTest::serverCallback): 7600 (EWK2DownloadJobTest::on_download_requested): 7601 (EWK2DownloadJobTest::on_download_cancelled): 7602 (EWK2DownloadJobTest::on_download_failed): 7603 (EWK2DownloadJobTest::on_download_finished): 7604 (TEST_F): 7605 76062013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7607 7608 [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase. 7609 https://bugs.webkit.org/show_bug.cgi?id=118766 7610 7611 Reviewed by Christophe Dumez. 7612 7613 It should be defined as relevant test class specific to each test file for more readability. 7614 It could be helpful to remove unnecessary static methods. 7615 7616 * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: 7617 (EWK2AuthRequestTest::serverCallback): 7618 (EWK2AuthRequestTest::onAuthenticationRequest): 7619 (EWK2AuthRequestTest::onLoadFinished): 7620 (TEST_F): 7621 76222013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7623 7624 [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase. 7625 https://bugs.webkit.org/show_bug.cgi?id=118767 7626 7627 Reviewed by Christophe Dumez. 7628 7629 It should be defined as relevant test class specific to each test file for more readability. 7630 It could be helpful to remove unnecessary static methods. 7631 7632 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: 7633 (EWK2ContextMenuTest::checkBasicContextMenuItem): 7634 (EWK2ContextMenuTest::customItemSelected): 7635 (EWK2ContextMenuTest::showContextMenu): 7636 (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend): 7637 (EWK2ContextMenuTest::showContextMenuForSubmenu): 7638 (EWK2ContextMenuTest::hideContextMenu): 7639 (TEST_F): 7640 76412013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7642 7643 [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase. 7644 https://bugs.webkit.org/show_bug.cgi?id=118763 7645 7646 Reviewed by Christophe Dumez. 7647 7648 It should be defined as relevant test class specific to each test file for more readability. 7649 It could be helpful to remove unnecessary static methods. 7650 7651 * UIProcess/API/efl/tests/test_ewk2_context.cpp: 7652 (EWK2ContextTest::schemeRequestCallback): 7653 (TEST_F): 7654 76552013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7656 7657 [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase 7658 https://bugs.webkit.org/show_bug.cgi?id=118726 7659 7660 Reviewed by Christophe Dumez. 7661 7662 It should be defined as relevant test class specific to each test file for more readability. 7663 It could be helpful to remove unnecessary static methods. 7664 7665 * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: 7666 (EWK2DatabaseManagerTest::OriginData::OriginData): 7667 (EWK2DatabaseManagerTest::databaseOriginsCallback): 7668 (EWK2DatabaseManagerTest::timerCallback): 7669 (TEST_F): 7670 76712013-07-17 Dong-Gwan Kim <donggwan.kim@samsung.com> 7672 7673 [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase. 7674 https://bugs.webkit.org/show_bug.cgi?id=118762 7675 7676 Reviewed by Christophe Dumez. 7677 7678 It should be defined as relevant test class specific to each test file for more readability. 7679 It could be helpful to remove unnecessary static methods. 7680 7681 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: 7682 (EWK2ColorPickerTest::onColorPickerDone): 7683 (EWK2ColorPickerTest::setColorPickerColor): 7684 (EWK2ColorPickerTest::showColorPicker): 7685 (EWK2ColorPickerTest::hideColorPicker): 7686 (EWK2ColorPickerTest::hideColorPickerByRemovingElement): 7687 (TEST_F): 7688 76892013-07-16 Gordon Sheridan <gordon_sheridan@apple.com> 7690 7691 setPluginUnavailabilityReason can destroy renderObject before obscurity check 7692 https://bugs.webkit.org/show_bug.cgi?id=118770 7693 <rdar://problem/14462331> 7694 7695 Reviewed by Tim Horton. 7696 7697 * WebProcess/WebPage/WebPage.cpp: 7698 (WebKit::WebPage::createPlugin): 7699 Moved obscurity check to before renderObject is potentially destroyed. 7700 77012013-07-16 Alexey Proskuryakov <ap@apple.com> 7702 7703 REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com 7704 https://bugs.webkit.org/show_bug.cgi?id=118739 7705 <rdar://problem/14300350> 7706 7707 Reviewed by Daniel Bates. 7708 7709 EditorState tracking on UI side is very fragile. This is a targeted fix just for 7710 this specific scenario. 7711 7712 The issue was that we had a stale m_temporarilyClosedComposition flag, which was 7713 making UI process believe that a composition was closed from WebProcess side, 7714 and notify input method about that. It shouldn't have been a problem, because there 7715 is no composition at this point indeed, but this extra call is a problem for 7716 predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>). 7717 7718 * UIProcess/mac/WebPageProxyMac.mm: 7719 (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when 7720 getting new EditorState in response to performing this action. There is certainly 7721 no composition after insertText, and all interested parties are on the same page 7722 already. 7723 77242013-07-16 Jessie Berlin <jberlin@apple.com> 7725 7726 Fix some NSDictionary misuse pointed out by the clang static analyzer 7727 https://bugs.webkit.org/show_bug.cgi?id=118736 7728 7729 Reviewed by Anders Carlsson. 7730 7731 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 7732 (WebKit::WebEditorClient::documentFragmentFromAttributedString): 7733 Do not put a key with a nil value pair into the NSDictionary. 7734 77352013-07-16 Michael Brüning <michael.bruning@digia.com> 7736 7737 [Qt] Replace Nokia with Qt Project in service name. 7738 https://bugs.webkit.org/show_bug.cgi?id=118729 7739 7740 Reviewed by Simon Hausmann. 7741 7742 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 7743 (WebKit::ProcessLauncher::launchProcess): 7744 77452013-07-16 Dong-Gwan Kim <donggwan.kim@samsung.com> 7746 7747 EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase. 7748 https://bugs.webkit.org/show_bug.cgi?id=118717 7749 7750 Reviewed by Christophe Dumez. 7751 7752 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: 7753 (EWK2BackForwardListTest::checkItem): 7754 (EWK2BackForwardListTest::urlFromTitle): 7755 (EWK2BackForwardListTest::freeEinaList): 7756 (TEST_F): 7757 77582013-07-16 Kangil Han <kangil.han@samsung.com> 7759 7760 Use toHTMLSelectElement and dismiss isHTMLSelectElement 7761 https://bugs.webkit.org/show_bug.cgi?id=118714 7762 7763 Reviewed by Ryosuke Niwa. 7764 7765 To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup. 7766 Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names. 7767 7768 * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: 7769 (WebKit::PDFPluginChoiceAnnotation::commit): 7770 77712013-07-16 Dong-Gwan Kim <donggwan.kim@samsung.com> 7772 7773 Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp 7774 https://bugs.webkit.org/show_bug.cgi?id=118699 7775 7776 Reviewed by Christophe Dumez. 7777 7778 Many mouseClick methods are used in test_ewk2_text_checker.cpp. 7779 But it is difficult to understand what they mean. 7780 So i would like to replace those with more meaningful method for readability. 7781 7782 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 7783 (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton): 7784 (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton): 7785 (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton): 7786 (EWK2TextCheckerTest::showContextMenuWithFirstLineText): 7787 (EWK2TextCheckerTest::showContextMenuWithSecondLineText): 7788 (EWK2TextCheckerTest::selectFirstWordInFirstLineText): 7789 (EWK2TextCheckerTest::selectFirstWordInSecondLineText): 7790 (TEST_F): 7791 77922013-07-15 Kangil Han <kangil.han@samsung.com> 7793 7794 Introduce toHTMLIFrameElement 7795 https://bugs.webkit.org/show_bug.cgi?id=118672 7796 7797 Reviewed by Ryosuke Niwa. 7798 7799 To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup. 7800 7801 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 7802 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame): 7803 78042013-07-15 Tim Horton <timothy_horton@apple.com> 7805 7806 Update blocked/missing plug-in UI 7807 https://bugs.webkit.org/show_bug.cgi?id=118347 7808 <rdar://problem/14209318> 7809 7810 Reviewed by Sam Weinig. 7811 Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself. 7812 7813 * Platform/CoreIPC/HandleMessage.h: 7814 (CoreIPC::callMemberFunction): 7815 Add a 6 argument -> 4 reply message handler. 7816 (It seems that FindPlugin is getting a little out of hand.) 7817 7818 * Shared/APIClientTraits.cpp: 7819 * Shared/APIClientTraits.h: 7820 * UIProcess/API/C/WKPage.h: 7821 * UIProcess/WebLoaderClient.cpp: 7822 (WebKit::WebLoaderClient::pluginLoadPolicy): 7823 * UIProcess/WebLoaderClient.h: 7824 Add an unavailability description out-argument to a new version of 7825 pluginLoadPolicy, so clients can override the text of the unavailable 7826 plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits. 7827 7828 * UIProcess/WebPageProxy.cpp: 7829 (WebKit::WebPageProxy::findPlugin): 7830 * UIProcess/WebPageProxy.h: 7831 * UIProcess/WebPageProxy.messages.in: 7832 Plumb the unavailability description through to the WebProcess via 7833 the FindPlugin message. 7834 7835 * WebProcess/Plugins/PluginProcessConnection.cpp: 7836 (WebKit::PluginProcessConnection::didClose): 7837 Make a strongly referencing copy of the list of PluginProxies, so we can 7838 throw them away without the HashMap being mutated underneath us (see the comment). 7839 7840 * WebProcess/Plugins/PluginView.cpp: 7841 (WebKit::PluginView::pluginProcessCrashed): 7842 Invalidate the plug-in's widget before setting the plugin unavailability reason, 7843 because doing so would cause the plug-in's renderer to be torn down, making 7844 invalidate() crash. 7845 7846 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 7847 (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton): 7848 * WebProcess/WebCoreSupport/WebChromeClient.h: 7849 Rename from shouldUnavailablePluginMessageBeButton to 7850 shouldUnavailablePluginMessageIncludeButton for accuracy. 7851 7852 * WebProcess/WebPage/WebPage.cpp: 7853 (WebKit::WebPage::createPlugin): 7854 Acquire the unavailability description from the client 7855 (via FindPlugin) and hand it to the RenderEmbeddedObject. 7856 (WebKit::WebPage::canPluginHandleResponse): 7857 Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it. 7858 78592013-07-15 Simon Cooper <scooper@apple.com> 7860 7861 PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust 7862 https://bugs.webkit.org/show_bug.cgi?id=118690 7863 <rdar://problem/14255963> 7864 7865 Reviewed by Dean Jackson. 7866 7867 Silently deny access to FlashPlayerTrust. This location contains 7868 files containing lists of paths that Flash Player will 7869 "allow" access to (without asking the user). Since the plugin 7870 sandbox won't permit the access to the listed paths it is better 7871 to silently block attempts to read these "whitelists". The 7872 "whitelists" are created by other Adobe "installer" like 7873 applications. 7874 7875 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 7876 78772013-07-14 Jon Lee <jonlee@apple.com> 7878 7879 Calling Notification.requestPermission() without a callback crashes 7880 https://bugs.webkit.org/show_bug.cgi?id=118654 7881 <rdar://problem/14293352> 7882 7883 Reviewed by Alexey Proskuryakov. 7884 7885 When requestPermission() is called, we short-circuit if we know the permission was already set. 7886 The callback handler gets invoked. But now that callbacks are optional, we need to check to make 7887 sure a callback was provided. 7888 7889 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 7890 (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback. 7891 78922013-07-15 Anton Obzhirov <a.obzhirov@samsung.com> 7893 7894 [GTK] Remote inspector server should send an error page if resources not found 7895 https://bugs.webkit.org/show_bug.cgi?id=117137 7896 7897 Reviewed by Gustavo Noronha Silva. 7898 7899 Sometimes it is difficult to understand why remote inspector fails to deliver the content. 7900 This patch gives an option to show error page with some basic explanation. 7901 7902 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 7903 (WebKit::WebInspectorServer::platformResourceForPath): 7904 79052013-07-15 Simon Pena <simon.pena@samsung.com> 7906 7907 [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent 7908 https://bugs.webkit.org/show_bug.cgi?id=118530 7909 7910 Reviewed by Carlos Garcia Campos. 7911 7912 When a key event is started in the WebProcess (e.g. in the inspector) 7913 it doesn't have an associated GdkEvent queued. Adding a check in 7914 WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued 7915 key event to process. 7916 7917 In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once 7918 this fix is in place. 7919 7920 * UIProcess/gtk/WebPageProxyGtk.cpp: 7921 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is 7922 not empty. 7923 79242013-07-15 Alberto Garcia <berto@igalia.com> 7925 7926 [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate 7927 https://bugs.webkit.org/show_bug.cgi?id=118052 7928 7929 Reviewed by Carlos Garcia Campos. 7930 7931 We don't need to check whether the drawing area is empty or not in 7932 order to set needsResizeOnMap. 7933 7934 It can also happen that the drawing area pointer is null (if 7935 e.g. the web process crashes), which is the reason for this 7936 SIGSEGV. 7937 7938 A test to prevent this was added in r88646 but was later moved to 7939 resizeWebKitWebViewBaseFromAllocation(). 7940 7941 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 7942 (webkitWebViewBaseSizeAllocate): 7943 79442013-07-10 Roger Fong <roger_fong@apple.com> 7945 7946 Plugins that don't support snapshotting should not all autostart. 7947 https://bugs.webkit.org/show_bug.cgi?id=118572 7948 <rdar://problem/14324391>. 7949 7950 Reviewed by Dean Jackson. 7951 7952 * WebProcess/Plugins/PluginView.cpp: 7953 (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree. 7954 It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting. 7955 (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 7956 to the the DisplayingSnapshot state. 7957 * WebProcess/Plugins/PluginView.h: 7958 79592013-07-11 Jessie Berlin <jberlin@apple.com> 7960 7961 WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the 7962 clang static analyzer) 7963 https://bugs.webkit.org/show_bug.cgi?id=118533 7964 7965 Reviewed by Anders Carlsson. 7966 7967 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: 7968 (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback): 7969 79702013-07-11 Sergio Correia <sergio.correia@openbossa.org> 7971 7972 Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable 7973 https://bugs.webkit.org/show_bug.cgi?id=118568 7974 7975 Reviewed by Martin Robinson. 7976 7977 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: 7978 (WebKit::PluginProcessProxy::scanPlugin): 7979 79802013-07-11 Timothy Hatcher <timothy@apple.com> 7981 7982 Revert r152267 and soft link WebInspectorUI.framework again. 7983 7984 https://bugs.webkit.org/show_bug.cgi?id=118544 7985 7986 Reviewed by David Kilzer. 7987 7988 * Configurations/WebKit2.xcconfig: 7989 * UIProcess/mac/WebInspectorProxyMac.mm: 7990 (WebKit::inspectorReallyUsesWebKitUserInterface): 7991 * WebKit2.xcodeproj/project.pbxproj: 7992 * WebProcess/WebPage/mac/WebInspectorMac.mm: 7993 (WebKit::inspectorReallyUsesWebKitUserInterface): 7994 79952013-07-11 Jae Hyun Park <jae.park@company100.net> 7996 7997 [Coordinated Graphics] Parameter of commitSceneState should be const 7998 https://bugs.webkit.org/show_bug.cgi?id=118564 7999 8000 Reviewed by Noam Rosenthal. 8001 8002 Parameter of commitSceneState should be const as there should not be any 8003 modifications to the passed CoordinatedGraphicsState. 8004 8005 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 8006 (WebKit::CoordinatedLayerTreeHost::commitSceneState): 8007 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 8008 80092013-07-10 Mark Rowe <mrowe@apple.com> 8010 8011 <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework. 8012 8013 Reviewed by Alexey Proskuryakov. 8014 8015 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 8016 (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables 8017 specified in dynamic linker load commands are passed to the subprocess that we spawn to create 8018 the MIME type property list. 8019 80202013-07-10 Brady Eidson <beidson@apple.com> 8021 8022 Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy. 8023 <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535 8024 8025 Reviewed by Alexey Proskuryakov. 8026 8027 * Shared/Plugins/NPObjectProxy.cpp: 8028 (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread. 8029 (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread. 8030 80312013-07-10 Sergio Correia <sergio.correia@openbossa.org> 8032 8033 Remove the meshType from CoordinatedCustomFilterOperation 8034 https://bugs.webkit.org/show_bug.cgi?id=118529 8035 8036 Reviewed by Noam Rosenthal. 8037 8038 Following the removal of the meshType from CustomFilterOperation in r149153, 8039 remove also the meshType from CoordinatedCustomFilterOperation. 8040 8041 No new tests, no new functionality. 8042 8043 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 8044 (CoreIPC::::encode): Remove dead comment. 8045 (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation 8046 call. 8047 80482013-07-09 Byungwoo Lee <bw80.lee@samsung.com> 8049 8050 [EFL] tooltip callback doesn't work. 8051 https://bugs.webkit.org/show_bug.cgi?id=118522 8052 8053 Reviewed by Christophe Dumez. 8054 8055 Add missing code to connect didChangeTooltip callback. 8056 8057 * UIProcess/efl/ViewClientEfl.cpp: 8058 (WebKit::ViewClientEfl::ViewClientEfl): 8059 80602013-07-09 Jer Noble <jer.noble@apple.com> 8061 8062 Reviewed by Simon Fraser. 8063 8064 Remember the scroll position and restore after exiting full-screen mode. 8065 https://bugs.webkit.org/show_bug.cgi?id=61956 8066 <rdar://problem/9544461> 8067 8068 Call into the main FrameView to save the scroll position before swapping the 8069 WebView into the full-screen window, and restore the scroll position after 8070 swapping the WebView back into the browser window. 8071 8072 * UIProcess/mac/WKFullScreenWindowController.mm: 8073 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): 8074 (-[WKFullScreenWindowController beganExitFullScreenAnimation]): 8075 8076 In WebKit2, this requires some communication between the WebProcess and the 8077 UIProcess, so add two new messages to WebFullScreenManager to be called by 8078 its proxy. 8079 8080 * UIProcess/WebFullScreenManagerProxy.h: 8081 * UIProcess/WebFullScreenManagerProxy.cpp: 8082 (WebKit::WebFullScreenManagerProxy::saveScrollPosition): 8083 (WebKit::WebFullScreenManagerProxy::restoreScrollPosition): 8084 * WebProcess/FullScreen/WebFullScreenManager.h: 8085 * WebProcess/FullScreen/WebFullScreenManager.messages.in: 8086 * WebProcess/FullScreen/WebFullScreenManager.cpp: 8087 (WebKit::WebFullScreenManager::saveScrollPosition): 8088 (WebKit::WebFullScreenManager::restoreScrollPosition): 8089 80902013-07-07 Carlos Garcia Campos <cgarcia@igalia.com> 8091 8092 [GTK] Runtime critical warning when unloading a module that failed to load 8093 https://bugs.webkit.org/show_bug.cgi?id=118425 8094 8095 Reviewed by Martin Robinson. 8096 8097 * Platform/gtk/ModuleGtk.cpp: 8098 (WebKit::Module::load): Show an error message when the module 8099 fails to load. 8100 (WebKit::Module::unload): Check module pointer before calling 8101 unload method. 8102 81032013-07-05 Tim Horton <timothy_horton@apple.com> 8104 8105 [wk2] Add API to lock the scroll position at the top or bottom of the page 8106 https://bugs.webkit.org/show_bug.cgi?id=118429 8107 <rdar://problem/14120323> 8108 8109 Reviewed by Anders Carlsson. 8110 8111 * Shared/WebPageCreationParameters.cpp: 8112 (WebKit::WebPageCreationParameters::encode): 8113 (WebKit::WebPageCreationParameters::decode): 8114 * Shared/WebPageCreationParameters.h: 8115 Pass the current ScrollPinningBehavior across to the WebPage upon creation. 8116 8117 * UIProcess/API/C/WKPage.cpp: 8118 (WKPageGetScrollPinningBehavior): 8119 (WKPageSetScrollPinningBehavior): 8120 * UIProcess/API/C/WKPagePrivate.h: 8121 SPI to get/set the WebPageProxy's current ScrollPinningBehavior. 8122 Convert between WK API type and WebCore enum. 8123 8124 * UIProcess/WebPageProxy.cpp: 8125 (WebKit::WebPageProxy::WebPageProxy): 8126 (WebKit::WebPageProxy::creationParameters): 8127 Send ScrollPinningBehavior when creating a WebPage. 8128 8129 (WebKit::WebPageProxy::setScrollPinningBehavior): 8130 Pass ScrollPinningBehavior changes across to the WebProcess (and save it 8131 in WebPageProxy so it can be sent back across if the WebProcess crashes). 8132 8133 * UIProcess/WebPageProxy.h: 8134 (WebKit::WebPageProxy::scrollPinningBehavior): 8135 Getter/setter and storage for m_scrollPinningBehavior. 8136 8137 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 8138 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 8139 Inform new FrameViews of the current ScrollPinningBehavior. 8140 8141 * WebProcess/WebPage/WebPage.cpp: 8142 (WebKit::WebPage::WebPage): 8143 Set our ScrollPinningBehavior based on our creation parameters. 8144 8145 (WebKit::WebPage::setScrollPinningBehavior): 8146 Inform the FrameView of ScrollPinningBehavior changes. 8147 8148 * WebProcess/WebPage/WebPage.h: 8149 (WebKit::WebPage::scrollPinningBehavior): Added. 8150 (WebKit::WebPage::setScrollPinningBehavior): Added. 8151 Add storage for m_scrollPinningBehavior. 8152 8153 * WebProcess/WebPage/WebPage.messages.in: 8154 Add SetScrollPinningBehavior message. 8155 81562013-07-05 Krzysztof Wolanski <k.wolanski@samsung.com> 8157 8158 [EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore. 8159 https://bugs.webkit.org/show_bug.cgi?id=118392 8160 8161 Reviewed by Christophe Dumez. 8162 8163 Simulate behavior of Learn and Ignore Word in the text field. 8164 8165 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 8166 (EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick): 8167 Select the entire word in the text field. 8168 8169 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 8170 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 8171 (onSpellingForKnownWord): 8172 (onWordLearn): 8173 (onWordIgnore): 8174 (selectLearnSpelling): 8175 (selectIgnoreSpelling): 8176 81772013-07-05 Xabier Rodriguez Calvar <calvaris@igalia.com> 8178 8179 [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib 8180 https://bugs.webkit.org/show_bug.cgi?id=111434 8181 8182 Reviewed by Carlos Garcia Campos. 8183 8184 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: 8185 (testNotInitialized): 8186 (testSetDirectory): 8187 (testClearDatabase): 8188 (testGetFavicon): 8189 (testGetFaviconURI): Removed gconstpointer parameter. 8190 (testWebViewFavicon): Fixed to make it work together with the 8191 other tests and removed gconstpointer parameter. 8192 (testFaviconDatabase): Created to call all tests in the proper 8193 order. 8194 (beforeAll): Changed to call only testFaviconDatabase instead of 8195 the separate tests. 8196 81972013-07-05 Xabier Rodriguez Calvar <calvaris@igalia.com> 8198 8199 TestWebKitFaviconDatabase/clear-database is not testing things properly 8200 https://bugs.webkit.org/show_bug.cgi?id=118404 8201 8202 Reviewed by Carlos Garcia Campos. 8203 8204 * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp: 8205 (testClearDatabase): Check for an existing icon that can make the 8206 test fail if clear database is not working. 8207 82082013-07-04 Anders Carlsson <andersca@apple.com> 8209 8210 Paint the page background if we haven't received our first update 8211 https://bugs.webkit.org/show_bug.cgi?id=118402 8212 <rdar://problem/13893308> 8213 8214 Reviewed by Simon Fraser. 8215 8216 Make sure that we always paint something when we haven't received our first update from the web process. 8217 8218 * UIProcess/API/mac/WKView.mm: 8219 (-[WKView drawRect:]): 8220 * UIProcess/DrawingAreaProxyImpl.h: 8221 (WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate): 8222 82232013-07-04 Anders Carlsson <andersca@apple.com> 8224 8225 Crash when createPluginInternal ends up destroying the plug-in 8226 https://bugs.webkit.org/show_bug.cgi?id=118397 8227 <rdar://problem/14155051> 8228 8229 Reviewed by Simon Fraser. 8230 8231 Keep the WebProcessConnection object alive while calling createPluginInternal and handle 8232 the IPC connection going away. 8233 8234 * PluginProcess/WebProcessConnection.cpp: 8235 (WebKit::WebProcessConnection::createPluginAsynchronously): 8236 82372013-07-03 Gordon Sheridan <gordon_sheridan@apple.com> 8238 8239 Implement mechanism to detect (partially) hidden blocked plugins. 8240 https://bugs.webkit.org/show_bug.cgi?id=117998 8241 8242 Reviewed by Dean Jackson. 8243 8244 * Shared/Plugins/Netscape/PluginInformation.h: 8245 * Shared/Plugins/Netscape/PluginInformation.cpp: 8246 (WebKit::plugInInformationReplacementObscuredKey): 8247 Add key for plugInInformation dictionaries. 8248 8249 (WebKit::createPluginInformationDictionary): 8250 Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary. 8251 8252 * Shared/API/c/WKPluginInformation.h: 8253 * Shared/API/c/WKPluginInformation.cpp: 8254 (WKPluginInformationReplacementObscuredKey): 8255 Provide the C API for the plugInInformationReplacementObscuredKey(). 8256 8257 * UIProcess/WebPageProxy.h: 8258 * UIProcess/WebPageProxy.cpp: 8259 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 8260 Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary(). 8261 8262 * UIProcess/WebPageProxy.messages.in: 8263 Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message. 8264 8265 * WebProcess/WebPage/WebPage.cpp: 8266 (WebKit::WebPage::createPlugin): 8267 Invoke isReplacementObscured() method for blocked plugins. 8268 82692013-07-03 Alexey Proskuryakov <ap@apple.com> 8270 8271 <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130 8272 <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites 8273 8274 Reviewed by Sam Weinig. 8275 8276 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 8277 semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now). 8278 82792013-07-03 Simon Pena <simon.pena@samsung.com> 8280 8281 WebTextCheckerClient doesn't initialize output arguments. 8282 https://bugs.webkit.org/show_bug.cgi?id=83683 8283 8284 Reviewed by Martin Robinson. 8285 8286 Callers of checkSpellingOfString and checkGrammarOfString expect 8287 certain default values when no misspelled (or bad grammar) string 8288 is found. They try to do that by initialising the reply arguments 8289 that go into the IPC calls, but these values are ultimately ignored (see 8290 HandleMessage.h, where the replyArguments are declared). 8291 8292 In the past, this seems to have led to various issues, (see 8293 TextCheckingHelper::findFirstMisspelling in TextCheckingHelper.cpp), 8294 where these return values are asserted and checked to be in the right range. 8295 8296 This patch initialises the values, so even if no available client 8297 implements the methods (or if the implementation forgets to do it) the callers 8298 will have their expected output. 8299 8300 However, and for a general case, we probably need a way to tell the caller 8301 that any existing value in the output arguments will be ignored. 8302 8303 * UIProcess/WebTextCheckerClient.cpp: 8304 (WebKit::WebTextCheckerClient::checkSpellingOfString): 8305 (WebKit::WebTextCheckerClient::checkGrammarOfString): 8306 8307 83082013-07-03 Sergio Villar Senin <svillar@igalia.com> 8309 8310 [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected 8311 https://bugs.webkit.org/show_bug.cgi?id=116867 8312 8313 Reviewed by Anders Carlsson. 8314 8315 We did not reset the clients on WebPageProxy::close(), so right 8316 clicking on a link after starting the navigation to some other 8317 page was causing crashes because code was trying to access an 8318 already freed m_contextMenuClient. 8319 8320 There were some other clients that could potentially trigger the 8321 same issues. Reset them all to null to prevent this situation. 8322 8323 * UIProcess/WebPageProxy.cpp: 8324 (WebKit::WebPageProxy::close): 8325 83262013-07-03 Simon Pena <simon.pena@samsung.com> 8327 8328 Output arguments used in IPC calls should be returned initialised 8329 https://bugs.webkit.org/show_bug.cgi?id=118354 8330 8331 Reviewed by Anders Carlsson. 8332 8333 When Download::shouldDecodeSourceDataOfMIMEType and Download::retrieveDestinationWithSuggestedFilename 8334 call DownloadProxy::shouldDecodeSourceDataOfMIMEType and DownloadProxy::decideDestinationWithSuggestedFilename 8335 through IPC, they assume the output arguments result and allowOverwrite have 8336 been initialised. 8337 8338 This patch initialises these arguments also in the unlikely event that a 8339 m_webContext is not available. 8340 8341 * UIProcess/Downloads/DownloadProxy.cpp: 8342 (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): 8343 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): 8344 83452013-07-03 Sergio Villar Senin <svillar@igalia.com> 8346 8347 [WK2][GTK] Invalid ASSERTs in WebResources loading code 8348 https://bugs.webkit.org/show_bug.cgi?id=118352 8349 8350 Reviewed by Carlos Garcia Campos. 8351 8352 The WebKitWebView keeps track of the resources being loaded in a 8353 map. A couple of ASSERTs verify that every loaded resource is 8354 stored in that map. 8355 8356 The map that is cleared each time a new load starts so there is a 8357 small chance that we get notifications for resources that 8358 correspond to previous page loads 8359 (and thus are not stored in the map). We should remove the ASSERT 8360 which is not valid anymore. 8361 8362 * UIProcess/API/gtk/WebKitWebView.cpp: 8363 (webkitWebViewGetLoadingWebResource): 8364 83652013-07-03 Carlos Garcia Campos <cgarcia@igalia.com> 8366 8367 [GTK] Migrate WebKitWebContext to GTask 8368 https://bugs.webkit.org/show_bug.cgi?id=117153 8369 8370 Reviewed by Gustavo Noronha Silva. 8371 8372 * UIProcess/API/gtk/WebKitWebContext.cpp: 8373 (webkitWebContextGetPluginThread): 8374 (webkit_web_context_get_plugins): 8375 (webkit_web_context_get_plugins_finish): 8376 83772013-07-02 Zan Dobersek <zdobersek@igalia.com> 8378 8379 [WK2] Invalidate FontCache before purging MemoryCache upon WebProcess termination/closure 8380 https://bugs.webkit.org/show_bug.cgi?id=118280 8381 8382 Reviewed by Darin Adler. 8383 8384 Invalidate the FontCache before disabling and purging the MemoryCache in WebProcess::didClose 8385 and WebProcess::terminate. This frees up additional references to objects that were held 8386 by the FontCache, reducing the amount of 'LEAK: *' output when exiting MiniBrowser or 8387 WebKitTestRunner in debug builds. 8388 8389 * WebProcess/WebProcess.cpp: 8390 (WebKit::WebProcess::terminate): 8391 (WebKit::WebProcess::didClose): 8392 83932013-07-02 Jessie Berlin <jberlin@apple.com> 8394 8395 The callback for WKPageGetPlugInInformation needs info about whether or not there are any 8396 non-playing instances of the plug-in on the page 8397 https://bugs.webkit.org/show_bug.cgi?id=118330 8398 8399 Reviewed by Anders Carlsson. 8400 8401 Add another key value pair to the dictionary passed to the callback. 8402 8403 * Shared/API/c/WKPluginInformation.cpp: 8404 (WKPlugInInformationPageContainsNonPlayingInstanceOfPlugInKey): 8405 * Shared/API/c/WKPluginInformation.h: 8406 8407 * Shared/Plugins/Netscape/PluginInformation.cpp: 8408 (WebKit::plugInInformationPageContainsNonPlayingInstanceOfPlugInKey): 8409 (WebKit::createPlugInInformationDictionary): 8410 Add the information about whether or not the page contains a non-playing instance of that 8411 plug-in to the plug-in information dictionary. 8412 * Shared/Plugins/Netscape/PluginInformation.h: 8413 8414 * UIProcess/WebPageProxy.h: 8415 * UIProcess/WebPageProxy.messages.in: 8416 * UIProcess/mac/WebPageProxyMac.mm: 8417 (WebKit::WebPageProxy::containsPlugInCallback): 8418 Check if any of the MIME types of the plug-in instances that are present on the page but are 8419 not playing match the instance of plug-in being searched for. 8420 * WebProcess/WebPage/mac/WebPageMac.mm: 8421 (WebKit::addPlugInMimeTypesFromNodeListForNonPlayingPlugIns): 8422 Based roughly off of addPlugInsFromNodeListMatchingPlugInOrigin in 8423 HTMLPlugInImageElement.cpp. 8424 (WebKit::WebPage::containsPluginViewsWithPluginProcessToken): 8425 Based roughly off of HTMLPlugInImageElement::restartSimilarPlugIns. 8426 84272013-07-02 Alexey Proskuryakov <ap@apple.com> 8428 8429 security/block-test.html fails when NetworkProcess is enabled 8430 https://bugs.webkit.org/show_bug.cgi?id=118320 8431 <rdar://problem/14309423> 8432 8433 Reviewed by Geoff Garen. 8434 8435 * NetworkProcess/NetworkResourceLoader.cpp: 8436 (WebKit::NetworkResourceLoader::wasBlocked): 8437 (WebKit::NetworkResourceLoader::cannotShowURL): 8438 Implemented missing ResourceHandleClient functions. 8439 84402013-07-02 Ada Chan <adachan@apple.com> 8441 8442 Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage(). 8443 https://bugs.webkit.org/show_bug.cgi?id=118268 8444 8445 Reviewed by Beth Dakin. 8446 8447 * WebProcess/WebPage/mac/PageBannerMac.mm: 8448 (WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage() 8449 can be null if this method is called after the web page is closed. 8450 84512013-07-02 Jae Hyun Park <jae.park@company100.net> 8452 8453 Implement CoordinatedSurface for Threaded Coordinated Graphics 8454 https://bugs.webkit.org/show_bug.cgi?id=109661 8455 8456 Reviewed by Noam Rosenthal. 8457 8458 This is a preparation patch for Threaded Coordianted Graphics. 8459 8460 This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a 8461 backend. Also, this patch moves common implementation to CoordinatedSurface to 8462 prevent duplication of code. 8463 8464 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: 8465 (WebKit::WebCoordinatedSurface::WebCoordinatedSurface): 8466 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: 8467 84682013-07-01 Alexey Proskuryakov <ap@apple.com> 8469 8470 Clean up private browsing session tracking 8471 https://bugs.webkit.org/show_bug.cgi?id=118266 8472 <rdar://problem/13078036> 8473 8474 Reviewed by Brady Eidson. 8475 8476 Instead of counting API calls, we now watch actual WebPreferences objects. 8477 8478 * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled): 8479 Removed code that used to notify WebContext. It's now done by WebPreferences. 8480 8481 * UIProcess/WebContext.h: 8482 * UIProcess/WebContext.cpp: 8483 (WebKit::WebContext::ensureNetworkProcess): Instead of counting the number of times 8484 API was called, rely on WebPreferences tracking. 8485 (WebKit::WebContext::willStartUsingPrivateBrowsing): Ditto. This function is 8486 now only called when we detect a change in private browsing state. 8487 (WebKit::WebContext::willStopUsingPrivateBrowsing): Ditto. 8488 (WebKit::WebContext::createNewWebProcess): Tell the new process to create a private 8489 browsing session if needed. 8490 8491 * UIProcess/WebPreferences.h: 8492 * UIProcess/WebPreferences.cpp: 8493 (WebKit::WebPreferences::addPageGroup): Count how many page groups use private 8494 browsing, and notify WebContext when a session is needed. Note that we don't notify 8495 WebContext about WebPreferences without any page groups, because it's likely 8496 that preferences will be updated by the client before groups are associated. 8497 (WebKit::WebPreferences::removePageGroup): Ditto. 8498 (WebKit::WebPreferences::updateBoolValueForKey): Perform special handling for 8499 private browsing mode changes. 8500 (WebKit::WebPreferences::updatePrivateBrowsingValue): Notify WebContext when 8501 it's time to create or destroy a private browsing session. 8502 (WebKit::WebPreferences::anyPageGroupsAreUsingPrivateBrowsing): A getter for 8503 WebContext to know when any page groups are in private browsing mode. 8504 8505 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): 8506 Don't create a private browsing session implicitly, UI process takes care of it. 8507 85082013-07-01 Timothy Hatcher <timothy@apple.com> 8509 8510 Link to WebInspectorUI.framework at build time instead of soft linking. 8511 8512 https://bugs.webkit.org/show_bug.cgi?id=118261 8513 8514 Reviewed by Joseph Pecoraro. 8515 8516 * Configurations/WebKit2.xcconfig: 8517 * UIProcess/mac/WebInspectorProxyMac.mm: 8518 (WebKit::inspectorReallyUsesWebKitUserInterface): 8519 * WebKit2.xcodeproj/project.pbxproj: 8520 * WebProcess/WebPage/mac/WebInspectorMac.mm: 8521 (WebKit::inspectorReallyUsesWebKitUserInterface): 8522 85232013-07-01 Tim Horton <timothy_horton@apple.com> 8524 8525 [wk2] TiledCoreAnimationDrawingArea should support scrolling its exposed rect 8526 https://bugs.webkit.org/show_bug.cgi?id=118173 8527 <rdar://problem/14301166> 8528 8529 Reviewed by Anders Carlsson. 8530 8531 Offset the exposed rect passed from the WKView by the main frame's current scroll position 8532 before sending it to our TiledBackings, so that it is in the same coordinate space as their 8533 ordinary visibleRects. 8534 8535 This has the side effect of making clips-to-exposed-rect testable (though useless) in Safari. 8536 8537 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 8538 Add updateScrolledExposedRect() and m_scrolledExposedRect. 8539 8540 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 8541 (WebKit::TiledCoreAnimationDrawingArea::scroll): 8542 Call updateScrolledExposedRect when the main frame scrolls. 8543 8544 (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): 8545 Remove a FIXME about this change. 8546 Call updateScrolledExposedRect instead of passing down the unscrolled rect. 8547 8548 (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect): 8549 Call updateScrolledExposedRect, because that method will short-circuit if 8550 setClipsToExposedRect is false, so we need to update here for correctness 8551 if we get a setExposedRect(), setClipsToExposedRect(true) pair. 8552 8553 (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): 8554 Update m_scrolledExposedRect and propagate it to our TiledBackings. 8555 8556 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 8557 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 8558 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 8559 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 8560 Use the scrolled exposed rect. 8561 85622013-07-01 Ada Chan <adachan@apple.com> 8563 8564 Properly hide the header and footer banners if they are set to null. 8565 https://bugs.webkit.org/show_bug.cgi?id=118219 8566 8567 Reviewed by Beth Dakin. 8568 8569 Call Page::addFooterWithHeight(0) to remove the parent layer that hosts the banner when 8570 the footer banner is detached. Similarly for the header banner. 8571 8572 * WebProcess/WebPage/mac/PageBannerMac.mm: 8573 (WebKit::PageBanner::detachFromPage): 8574 85752013-07-01 Jochen Eisinger <jochen@chromium.org> 8576 8577 Remove support for consumable user gestures 8578 https://bugs.webkit.org/show_bug.cgi?id=118247 8579 8580 Reviewed by Geoffrey Garen. 8581 8582 * WebProcess/Notifications/WebNotificationManager.cpp: 8583 (WebKit::WebNotificationManager::didClickNotification): 8584 * WebProcess/Plugins/PluginView.cpp: 8585 (WebKit::PluginView::performFrameLoadURLRequest): 8586 (WebKit::PluginView::evaluate): 8587 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 8588 (WebKit::WebContextMenuClient::searchWithGoogle): 8589 85902013-06-27 Jer Noble <jer.noble@apple.com> 8591 8592 Audio in apps which embed WebViews is corrupted. 8593 https://bugs.webkit.org/show_bug.cgi?id=118163 8594 8595 Reviewed by Maciej Stachowiak. 8596 8597 Expose the WebCore lowPowerVideoAudioBufferSizeEnabled setting to WebKit2 clients. 8598 8599 * Shared/WebPreferencesStore.h: 8600 * WebProcess/WebPage/WebPage.cpp: 8601 (WebKit::WebPage::updatePreferences): 8602 86032013-07-01 Sam Weinig <sam@webkit.org> 8604 8605 WKPageLoadDataWithUserData neglects to set the base URL that is passed in 8606 <rdar://problem/14306784> 8607 https://bugs.webkit.org/show_bug.cgi?id=118256 8608 8609 Reviewed by Anders Carlsson. 8610 8611 * WebProcess/WebPage/WebPage.cpp: 8612 (WebKit::WebPage::loadData): 8613 Pass the baseURL, not blankURL(), and remove an unnecessary multiplication by sizeof(uint8_t) which is always 1. 8614 86152013-07-01 Kangil Han <kangil.han@samsung.com> 8616 8617 Adopt toHTMLTextAreaElement for code cleanup 8618 https://bugs.webkit.org/show_bug.cgi?id=118226 8619 8620 Reviewed by Andreas Kling. 8621 8622 To enhance readability, this patch adopts toHTMLTextAreaElement. 8623 This also helps out to reduce duplicated use of static_cast. 8624 8625 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 8626 (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit): 8627 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: 8628 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): 8629 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 8630 (WebKit::WebEditorClient::textDidChangeInTextArea): 8631 * WebProcess/WebPage/WebFrame.cpp: 8632 (WebKit::WebFrame::containsAnyFormControls): 8633 86342013-06-28 Andreas Kling <akling@apple.com> 8635 8636 Fix Windows builds after deprecatedCharactersWithNullTermination() removal. 8637 8638 * Platform/CoreIPC/win/ConnectionWin.cpp: 8639 (CoreIPC::Connection::createServerAndClientIdentifiers): 8640 86412013-06-28 Tim Horton <timothy_horton@apple.com> 8642 8643 [wk2] WKView shouldn't force scrolling off if shouldClipToVisibleRect is set 8644 https://bugs.webkit.org/show_bug.cgi?id=118174 8645 <rdar://problem/14301175> 8646 8647 Reviewed by Anders Carlsson. 8648 8649 * UIProcess/API/mac/WKView.mm: 8650 (-[WKView _updateViewExposedRect]): 8651 Pass whether or not clips-to-visibleRect is enabled down to the WebPageProxy. 8652 8653 (-[WKView setMinimumSizeForAutoLayout:]): 8654 Disable scrolling when using autolayout instead of when using clips-to-visibleRect. 8655 8656 (-[WKView setShouldClipToVisibleRect:]): 8657 Clipping to the WKView's visibleRect does not strictly require scrolling to be disabled, 8658 and in fact there are cases (RTL/TB pagination) where we *must* scroll, even when the view 8659 is big enough to fit the content (the case clip-to-visibleRect was added for). 8660 8661 * UIProcess/WebPageProxy.cpp: 8662 (WebKit::WebPageProxy::WebPageProxy): 8663 * UIProcess/WebPageProxy.h: 8664 * UIProcess/mac/WebPageProxyMac.mm: 8665 (WebKit::WebPageProxy::viewExposedRectChanged): 8666 (WebKit::WebPageProxy::exposedRectChangedTimerFired): 8667 Keep track of and forward to the drawing area whether or not clips-to-visibleRect is enabled. 8668 8669 * WebProcess/WebPage/DrawingArea.h: 8670 (WebKit::DrawingArea::setClipsToExposedRect): Added. 8671 (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame): Added a missing space. 8672 8673 * WebProcess/WebPage/WebPage.cpp: 8674 (WebKit::WebPage::viewExposedRectChanged): 8675 * WebProcess/WebPage/WebPage.h: 8676 * WebProcess/WebPage/WebPage.messages.in: 8677 Forward clips-to-visibleRect enabled state to the drawing area. 8678 8679 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 8680 Add storage for m_clipsToExposedRect. 8681 8682 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 8683 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 8684 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 8685 (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect): 8686 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect): 8687 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 8688 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 8689 Check m_clipsToExposedRect instead of the main-frame's isScrollable() to determine 8690 whether we should tell our TiledBackings to clip to the exposed rect we provide. 8691 8692 We don't need to listen to mainFrameScrollabilityChanged anymore. 8693 86942013-06-28 Gavin Barraclough <barraclough@apple.com> 8695 8696 Stale occlusion state after moving page back into window 8697 https://bugs.webkit.org/show_bug.cgi?id=118202 8698 8699 Reviewed by Anders Carlsson. 8700 8701 We need to update the occlusion state when the page goes back into the window. 8702 8703 * UIProcess/API/mac/WKView.mm: 8704 (-[WKView viewDidMoveToWindow]): 8705 - update occlusion state. 8706 87072013-06-28 Gwang Yoon Hwang <ryumiel@company100.net> 8708 8709 Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator 8710 https://bugs.webkit.org/show_bug.cgi?id=104360 8711 8712 Reviewed by Noam Rosenthal. 8713 8714 The CoordinatedLayerTreeHost has too many responsibilities. It 8715 implements LayerTreeHost, GraphicsLayerClient, 8716 CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client, 8717 UpdateAtlas::Client, GraphicsLayerFactory and 8718 WebCustomFilterProgramProxyClient. 8719 8720 This refactoring reduces the responsibilities of CoordinatedLayerTreeHost. 8721 8722 This patch introduces a new class called CompositingCoordinator, which 8723 takes the responsibility of managing compositing resources in 8724 WebProcess. 8725 8726 CoordinatedLayerTreeHost is responsible only for the scheduling and 8727 IPC-specific stuff, which are relevant only for WebKit2. 8728 8729 No new tests, covered by existing tests. 8730 8731 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 8732 (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost): 8733 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 8734 (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): 8735 (WebKit::CoordinatedLayerTreeHost::invalidate): 8736 (WebKit::CoordinatedLayerTreeHost::forceRepaint): 8737 (WebKit::CoordinatedLayerTreeHost::sizeDidChange): 8738 (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect): 8739 (WebKit::CoordinatedLayerTreeHost::renderNextFrame): 8740 (WebKit::CoordinatedLayerTreeHost::purgeBackingStores): 8741 (WebKit::CoordinatedLayerTreeHost::willSyncLayerState): 8742 (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations): 8743 (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies): 8744 (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy): 8745 (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer): 8746 (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): 8747 (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer): 8748 (WebKit::CoordinatedLayerTreeHost::paintLayerContents): 8749 (WebKit::CoordinatedLayerTreeHost::commitSceneState): 8750 (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): 8751 (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory): 8752 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): 8753 (WebKit::CoordinatedLayerTreeHost::commitScrollOffset): 8754 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 8755 * WebProcess/WebPage/LayerTreeHost.h: 8756 87572013-06-28 Anders Carlsson <andersca@apple.com> 8758 8759 Make the UI process run the Java Updater 8760 https://bugs.webkit.org/show_bug.cgi?id=118197 8761 <rdar://problem/14255677> 8762 8763 Reviewed by Sam Weinig. 8764 8765 Patch the relevant NSWorkspace method and pipe through the request to launch the Java updater to the UI process. 8766 8767 * PluginProcess/PluginProcess.h: 8768 * PluginProcess/mac/PluginProcessMac.mm: 8769 (WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error): 8770 (WebKit::initializeCocoaOverrides): 8771 (WebKit::PluginProcess::launchApplicationAtURL): 8772 * UIProcess/Plugins/PluginProcessProxy.h: 8773 * UIProcess/Plugins/PluginProcessProxy.messages.in: 8774 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 8775 (WebKit::isJavaUpdaterURL): 8776 (WebKit::shouldLaunchApplicationAtURL): 8777 (WebKit::PluginProcessProxy::launchApplicationAtURL): 8778 87792013-06-28 Tim Horton <timothy_horton@apple.com> 8780 8781 WARN_UNUSED_RESULT can't be used in API headers, but WKBundlePageExtendIncrementalRenderingSuppression tries to 8782 https://bugs.webkit.org/show_bug.cgi?id=118196 8783 <rdar://problem/14303613> 8784 8785 Reviewed by Anders Carlsson. 8786 8787 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 8788 87892013-06-28 Andreas Kling <akling@apple.com> 8790 8791 Don't fire process-became-responsive callback when disconnecting it. 8792 <http://webkit.org/b/118166> 8793 8794 Reviewed by Anders Carlsson. 8795 8796 When disconnecting from a web process, call ResponsivenessTimer::invalidate() instead of 8797 stop() to avoid firing the didBecomeResponsive() callback. 8798 8799 This lets the UI process react faster to actually unresponsive processes. 8800 8801 * UIProcess/WebProcessProxy.cpp: 8802 (WebKit::WebProcessProxy::disconnect): 8803 88042013-06-28 Sergio Villar Senin <svillar@igalia.com> 8805 8806 [WK2][GTK] 100% CPU usage rendering a page with animations 8807 https://bugs.webkit.org/show_bug.cgi?id=117703 8808 8809 Reviewed by Martin Robinson. 8810 8811 Unconditionally update the value of m_lastFlushTime in 8812 ::flushAndRenderLayers. By doing that we avoid a neverending 8813 sequence of layer flushes that happened when m_lastFlushTime==0 8814 and flushPendingLayerChanges() was false. In that situation the 8815 value m_lastFlushTime was never updated so a new flush was always 8816 rescheduled. 8817 8818 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 8819 (WebKit::LayerTreeHostGtk::flushAndRenderLayers): 8820 88212013-06-28 Andres Gomez <agomez@igalia.com> 8822 8823 [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings 8824 https://bugs.webkit.org/show_bug.cgi?id=117538 8825 8826 Reviewed by Carlos Garcia Campos. 8827 8828 If the XDG specification is not working for the "Downloads" 8829 directory, let's use HOME as fallback. 8830 8831 * UIProcess/API/gtk/WebKitDownload.cpp: 8832 (webkitDownloadDecideDestination): 8833 88342013-06-28 Dariusz Frankiewicz <d.frankiewic@samsung.com> 8835 8836 [EFL][WK2] Add spellcheck API tests in unit tests. 8837 https://bugs.webkit.org/show_bug.cgi?id=118123 8838 8839 Reviewed by Christophe Dumez. 8840 8841 According to discussion in bug https://bugs.webkit.org/show_bug.cgi?id=113742 8842 we're moving spelling tests from layout tests to unit tests. 8843 8844 * UIProcess/API/efl/tests/resources/spelling_selection_tests.html: Added. 8845 New file is needed to make tests, with and without spellcheck attribute. 8846 File contains basic site with content editable fields and buttons which select 8847 different parts of misspelled words. 8848 8849 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 8850 (countContextMenuItems): 8851 Added method used to count number of items in context menu. 8852 88532013-06-27 Kangil Han <kangil.han@samsung.com> 8854 8855 Adopt is/toHTMLInputElement for code cleanup 8856 https://bugs.webkit.org/show_bug.cgi?id=118130 8857 8858 Reviewed by Antti Koivisto. 8859 8860 To enhance readability, this patch adopts is/toHTMLInputElement. 8861 This also helps out to reduce duplicated use of static_cast. 8862 8863 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 8864 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser): 8865 (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled): 8866 (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled): 8867 (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit): 8868 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: 8869 (WebKit::PDFPluginTextAnnotation::createAnnotationElement): 8870 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 8871 (WebKit::WebChromeClient::focusedNodeChanged): 8872 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 8873 (WebKit::WebEditorClient::textFieldDidBeginEditing): 8874 (WebKit::WebEditorClient::textFieldDidEndEditing): 8875 (WebKit::WebEditorClient::textDidChangeInTextField): 8876 (WebKit::WebEditorClient::doTextFieldCommandFromEvent): 8877 (WebKit::WebEditorClient::textWillBeDeletedInTextField): 8878 * WebProcess/WebPage/WebFrame.cpp: 8879 (WebKit::WebFrame::containsAnyFormControls): 8880 * WebProcess/WebPage/WebPage.cpp: 8881 (WebKit::WebPage::editorState): 8882 88832013-06-27 Eunmi Lee <eunmi15.lee@samsung.com> 8884 8885 [EFL][WK2] Add WK2 C API to handle touch events. 8886 https://bugs.webkit.org/show_bug.cgi?id=108915 8887 8888 Reviewed by Gyuyoung Kim. 8889 8890 Touch events for our target platforms differ (XInput2, Wayland, Tizen) so 8891 for the EFL port we want to be able to feed events manually. 8892 8893 To keep our current API for desktop EFL/Enlightenment working, we convert 8894 our currently limited EFL events to the new EFL specific C EwkTouchPoint 8895 and EwkTouchEvent type. 8896 8897 EwkTouchPoint and EwkTouchEvent are exposed as WKTouchPointRef and 8898 WKTouchEventRef, so they are opaque in the applications. 8899 8900 The WKViewSendTouchEvent can be used for any use-case (platform/product) 8901 not involving the EFL events. 8902 8903 At the same time we make sure to avoid using WK2 internals in our EFL API 8904 implementation. 8905 8906 * PlatformEfl.cmake: 8907 * Shared/API/c/efl/WKBaseEfl.h: 8908 * Shared/APIObject.h: 8909 * Shared/NativeWebTouchEvent.h: 8910 (WebKit::NativeWebTouchEvent::nativeEvent): 8911 * Shared/efl/NativeWebTouchEventEfl.cpp: 8912 (WebKit::NativeWebTouchEvent::NativeWebTouchEvent): 8913 * Shared/efl/WebEventFactory.cpp: 8914 (WebKit::toWebPlatformTouchPointState): 8915 (WebKit::toWebEventType): 8916 (WebKit::toWebEventModifiers): 8917 (WebKit::WebEventFactory::createWebTouchEvent): 8918 * Shared/efl/WebEventFactory.h: 8919 * UIProcess/API/C/efl/WKAPICastEfl.h: 8920 * UIProcess/API/C/efl/WKEventEfl.cpp: Added. 8921 (WKTouchPointCreate): 8922 (WKTouchEventCreate): 8923 * UIProcess/API/C/efl/WKEventEfl.h: Added. 8924 * UIProcess/API/C/efl/WKViewEfl.cpp: 8925 (WKViewSendTouchEvent): 8926 * UIProcess/API/C/efl/WKViewEfl.h: 8927 * UIProcess/API/efl/EwkView.cpp: 8928 (toWKTouchPointState): 8929 (toWKEventModifiers): 8930 (EwkView::feedTouchEvent): 8931 (EwkView::feedTouchEvents): 8932 * UIProcess/efl/EwkTouchEvent.cpp: Added. 8933 (WebKit::EwkTouchEvent::EwkTouchEvent): 8934 * UIProcess/efl/EwkTouchEvent.h: Added. 8935 (WebKit::EwkTouchEvent::create): 8936 (WebKit::EwkTouchEvent::eventType): 8937 (WebKit::EwkTouchEvent::touchPoints): 8938 (WebKit::EwkTouchEvent::modifiers): 8939 (WebKit::EwkTouchEvent::timestamp): 8940 (WebKit::EwkTouchEvent::type): 8941 * UIProcess/efl/EwkTouchPoint.cpp: Added. 8942 (WebKit::EwkTouchPoint::EwkTouchPoint): 8943 * UIProcess/efl/EwkTouchPoint.h: Added. 8944 (WebKit::EwkTouchPoint::create): 8945 (WebKit::EwkTouchPoint::id): 8946 (WebKit::EwkTouchPoint::state): 8947 (WebKit::EwkTouchPoint::screenPosition): 8948 (WebKit::EwkTouchPoint::position): 8949 (WebKit::EwkTouchPoint::radius): 8950 (WebKit::EwkTouchPoint::rotationAngle): 8951 (WebKit::EwkTouchPoint::forceFactor): 8952 (WebKit::EwkTouchPoint::type): 8953 * UIProcess/efl/WebViewEfl.cpp: 8954 (WebKit::WebViewEfl::sendTouchEvent): 8955 * UIProcess/efl/WebViewEfl.h: 8956 89572013-06-27 Csaba Osztrogonác <ossy@webkit.org> 8958 8959 Fix cast-align warnings in WebKit2/Platform/CoreIPC 8960 https://bugs.webkit.org/show_bug.cgi?id=117987 8961 8962 Reviewed by Rob Buis, WK2 signed-off by Anders Carlsson. 8963 8964 * Platform/CoreIPC/ArgumentDecoder.cpp: 8965 (CoreIPC::ArgumentDecoder::decode): 8966 * Platform/CoreIPC/ArgumentEncoder.cpp: 8967 (CoreIPC::ArgumentEncoder::encode): 8968 89692013-06-27 Commit Queue <commit-queue@webkit.org> 8970 8971 Unreviewed, rolling out r152074. 8972 http://trac.webkit.org/changeset/152074 8973 https://bugs.webkit.org/show_bug.cgi?id=118137 8974 8975 It caused lots of layout and API test crash on Qt Wk2. 8976 (Requested by kadam on #webkit). 8977 8978 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 8979 (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost): 8980 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 8981 (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): 8982 (WebKit::CoordinatedLayerTreeHost::invalidate): 8983 (WebKit::CoordinatedLayerTreeHost::forceRepaint): 8984 (WebKit::CoordinatedLayerTreeHost::sizeDidChange): 8985 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges): 8986 (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges): 8987 (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded): 8988 (WebKit::CoordinatedLayerTreeHost::syncLayerState): 8989 (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded): 8990 (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies): 8991 (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy): 8992 (WebKit::CoordinatedLayerTreeHost::detachLayer): 8993 (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): 8994 (WebKit::CoordinatedLayerTreeHost::syncDisplayState): 8995 (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush): 8996 (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer): 8997 (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded): 8998 (WebKit::CoordinatedLayerTreeHost::createImageBacking): 8999 (WebKit::CoordinatedLayerTreeHost::updateImageBacking): 9000 (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents): 9001 (WebKit::CoordinatedLayerTreeHost::removeImageBacking): 9002 (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges): 9003 (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted): 9004 (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired): 9005 (WebKit::CoordinatedLayerTreeHost::paintContents): 9006 (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer): 9007 (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor): 9008 (WebKit::CoordinatedLayerTreeHost::pageScaleFactor): 9009 (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas): 9010 (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas): 9011 (WebKit::CoordinatedLayerTreeHost::visibleContentsRect): 9012 (WebKit::CoordinatedLayerTreeHost::mainContentsLayer): 9013 (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect): 9014 (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): 9015 (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory): 9016 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): 9017 (WebKit::CoordinatedLayerTreeHost::renderNextFrame): 9018 (WebKit::CoordinatedLayerTreeHost::purgeBackingStores): 9019 (WebKit::CoordinatedLayerTreeHost::paintToSurface): 9020 (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases): 9021 (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired): 9022 (WebKit::CoordinatedLayerTreeHost::commitScrollOffset): 9023 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 9024 * WebProcess/WebPage/LayerTreeHost.h: 9025 (WebKit::LayerTreeHost::setVisibleContentsRect): 9026 (WebKit::LayerTreeHost::renderNextFrame): 9027 (WebKit::LayerTreeHost::purgeBackingStores): 9028 90292013-06-27 Xabier Rodriguez Calvar <calvaris@igalia.com> 9030 9031 Fixing some compiler warnings 9032 https://bugs.webkit.org/show_bug.cgi?id=117791 9033 9034 Reviewed by Martin Robinson. 9035 9036 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Properly 9037 initialized GDBusInterfaceVTable. 9038 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 9039 (webkitWebPageCreate): Added missing fields to the 9040 WKBundlePageLoaderClient. 9041 90422013-06-27 Iago Toral Quiroga <itoral@igalia.com> 9043 9044 Use consistent file names for WidgetBackingStoreGtkX11 class 9045 https://bugs.webkit.org/show_bug.cgi?id=118124 9046 9047 Reviewed by Carlos Garcia Campos. 9048 9049 * UIProcess/cairo/BackingStoreCairo.cpp: 9050 90512013-06-27 Alberto Garcia <agarcia@igalia.com> 9052 9053 [GTK] [WK2] Check value of WEBKIT_INJECTED_BUNDLE_PATH 9054 https://bugs.webkit.org/show_bug.cgi?id=118055 9055 9056 Reviewed by Carlos Garcia Campos. 9057 9058 If the directory pointed at by WEBKIT_INJECTED_BUNDLE_PATH does 9059 not exist, fall back to the system directory. 9060 9061 This makes MiniBrowser work outside the build tree. 9062 9063 * UIProcess/API/gtk/WebKitWebContext.cpp: 9064 (injectedBundleDirectory): 9065 90662013-06-26 Simon Cooper <scooper@apple.com> 9067 9068 Sometimes the Flash Player plugin cannot make outgoing connections 9069 https://bugs.webkit.org/show_bug.cgi?id=118110 9070 <rdar://problem/14270933> 9071 9072 Reviewed by Alexey Proskuryakov. 9073 9074 Allow outgoing and incoming UDP data. Tidy up the QuickTime 9075 profile as it gets the UDP ability from the common profile. 9076 9077 * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb: 9078 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9079 90802013-06-26 Simon Cooper <scooper@apple.com> 9081 9082 Flash Player: deny ipc-posix-sem 59918130 9083 https://bugs.webkit.org/show_bug.cgi?id=118107 9084 <rdar://problem/14271105> 9085 9086 Reviewed by Alexey Proskuryakov. 9087 9088 Allow same-sandbox scoped semaphores on Mavericks. Permit the 9089 named semaphore for older releases. 9090 9091 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 9092 90932013-06-26 Gwang Yoon Hwang <ryumiel@company100.net> 9094 9095 Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator 9096 https://bugs.webkit.org/show_bug.cgi?id=104360 9097 9098 Reviewed by Noam Rosenthal. 9099 9100 The CoordinatedLayerTreeHost has too many responsibilities. It 9101 implements LayerTreeHost, GraphicsLayerClient, 9102 CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client, 9103 UpdateAtlas::Client, GraphicsLayerFactory and 9104 WebCustomFilterProgramProxyClient. 9105 9106 This refactoring reduces the responsibilities of CoordinatedLayerTreeHost. 9107 9108 This patch introduces a new class called CompositingCoordinator, which 9109 takes the responsibility of managing compositing resources in 9110 WebProcess. 9111 9112 CoordinatedLayerTreeHost is responsible only for the scheduling and 9113 IPC-specific stuff, which are relevant only for WebKit2. 9114 9115 No new tests, covered by existing tests. 9116 9117 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 9118 (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost): 9119 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 9120 (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): 9121 (WebKit::CoordinatedLayerTreeHost::invalidate): 9122 (WebKit::CoordinatedLayerTreeHost::forceRepaint): 9123 (WebKit::CoordinatedLayerTreeHost::sizeDidChange): 9124 (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect): 9125 (WebKit::CoordinatedLayerTreeHost::renderNextFrame): 9126 (WebKit::CoordinatedLayerTreeHost::purgeBackingStores): 9127 (WebKit::CoordinatedLayerTreeHost::willSyncLayerState): 9128 (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations): 9129 (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies): 9130 (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy): 9131 (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer): 9132 (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush): 9133 (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer): 9134 (WebKit::CoordinatedLayerTreeHost::paintLayerContents): 9135 (WebKit::CoordinatedLayerTreeHost::commitSceneState): 9136 (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): 9137 (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory): 9138 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): 9139 (WebKit::CoordinatedLayerTreeHost::commitScrollOffset): 9140 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 9141 * WebProcess/WebPage/LayerTreeHost.h: 9142 91432013-06-26 Simon Cooper <scooper@apple.com> 9144 9145 Silverlight deny ipc-posix-sem LC_Mutex playing Amazon Prime videos 9146 https://bugs.webkit.org/show_bug.cgi?id=118102 9147 <rdar://problem/14194077> 9148 9149 Reviewed by Alexey Proskuryakov. 9150 9151 Allow same-sandbox scoped semaphores on Mavericks. Permit the 9152 named semaphore for older releases. 9153 9154 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb: 9155 91562013-06-26 Simon Cooper <scooper@apple.com> 9157 9158 Update ColorSync shared memory names in plug-in sandbox profile 9159 https://bugs.webkit.org/show_bug.cgi?id=118099 9160 9161 Reviewed by Alexey Proskuryakov. 9162 9163 Update the common profile to use the names used in Mavericks 9164 9165 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9166 91672013-06-26 Anders Carlsson <andersca@apple.com> 9168 9169 Deprecate StringImpl::charactersWithNullTermination 9170 https://bugs.webkit.org/show_bug.cgi?id=118108 9171 9172 Reviewed by Beth Dakin. 9173 9174 Rename calls to charactersWithNullTermination to deprecatedCharactersWithNullTermination. 9175 9176 * Platform/CoreIPC/win/ConnectionWin.cpp: 9177 (CoreIPC::Connection::createServerAndClientIdentifiers): 9178 91792013-06-26 Simon Cooper <scooper@apple.com> 9180 9181 QuickTime plug-in cannot update com.apple.quicktime.plugin.preferences.plist file 9182 https://bugs.webkit.org/show_bug.cgi?id=118098 9183 <rdar://problem/13888138> 9184 9185 Reviewed by Alexey Proskuryakov. 9186 9187 Allow the preference file to be written 9188 9189 * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb: 9190 91912013-06-24 Simon Cooper <scooper@apple.com> 9192 9193 Silverlight triggers sandbox violations: deny network-bind 0.0.0.0:0 9194 https://bugs.webkit.org/show_bug.cgi?id=117966 9195 <rdar://problem/13927918> 9196 9197 Reviewed by Sam Weinig. 9198 9199 Allow assigning (via bind) an ephemeral port before connecting 9200 9201 * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb: 9202 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 9203 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb: 9204 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb: 9205 92062013-06-24 Simon Cooper <scooper@apple.com> 9207 9208 PluginProcess deny file-read-data /Network/Library under addVolumeTracker 9209 https://bugs.webkit.org/show_bug.cgi?id=117965 9210 <rdar://problem/14121247> 9211 9212 Reviewed by Alexey Proskuryakov. 9213 9214 Silently deny reading /Network/Applications and 9215 /Network/Library. 9216 9217 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9218 92192013-06-24 Kangil Han <kangil.han@samsung.com> 9220 9221 Adopt is/toHTMLFormElement for code cleanup 9222 https://bugs.webkit.org/show_bug.cgi?id=117937 9223 9224 Reviewed by Andreas Kling. 9225 9226 This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859 9227 9228 To enhance readibility, this patch adopts is/toHTMLFormElement. 9229 This also helps out to reduce duplicated use of static_cast. 9230 9231 * WebProcess/WebPage/WebFrame.cpp: 9232 (WebKit::WebFrame::containsAnyFormElements): 9233 92342013-06-24 Simon Cooper <scooper@apple.com> 9235 9236 deny file-read-data /Library/CoreMediaIO/Plug-Ins/DAL 9237 https://bugs.webkit.org/show_bug.cgi?id=117964 9238 <rdar://problem/14036864> 9239 9240 Reviewed by Alexey Proskuryakov. 9241 9242 Permit reading of the /Library/CoreMediaIO/Plug-Ins/DAL 9243 subdirectory. 9244 9245 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9246 92472013-06-24 Simon Cooper <scooper@apple.com> 9248 9249 Repeating sandbox violations when playing Amazon Prime videos with Flash 9250 https://bugs.webkit.org/show_bug.cgi?id=117953 9251 <rdar://problem/14193693> 9252 9253 Reviewed by Alexey Proskuryakov. 9254 9255 Add some missing "standard" files for network service lookups 9256 9257 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9258 92592013-06-24 Simon Cooper <scooper@apple.com> 9260 9261 Plug-in sandbox violations attempting to access com.apple.CoreGraphics.plist 9262 https://bugs.webkit.org/show_bug.cgi?id=117963 9263 <rdar://problem/14084234> 9264 9265 Reviewed by Alexey Proskuryakov. 9266 9267 Permit the reading of the com.apple.CoreGraphics preference file 9268 9269 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9270 92712013-06-24 Simon Cooper <scooper@apple.com> 9272 9273 com.oracle.javadeployment.plist is not correctly specified in the JavaApplet plugin profile 9274 https://bugs.webkit.org/show_bug.cgi?id=117961 9275 <rdar://problem/14223823> 9276 9277 Reviewed by Alexey Proskuryakov. 9278 9279 Remove the trailing extraneous .plist from the preference file rule 9280 9281 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb: 9282 92832013-06-24 Simon Cooper <scooper@apple.com> 9284 9285 PluginProcess sandbox violations on com.apple.networkConnect.plist when resetting Safari 9286 https://bugs.webkit.org/show_bug.cgi?id=117958 9287 <rdar://problem/13938149> 9288 9289 Reviewed by Alexey Proskuryakov. 9290 9291 Allow reading the com.apple.networkConnect plist. 9292 9293 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb: 9294 92952013-06-24 Simon Cooper <scooper@apple.com> 9296 9297 Java sandbox violation ipc-posix-shm-read-data /tmp/com.apple.csseed.67 9298 https://bugs.webkit.org/show_bug.cgi?id=117954 9299 <rdar://problem/14166577> 9300 9301 Reviewed by Alexey Proskuryakov. 9302 9303 Permit read access to this shared memory segment 9304 9305 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9306 93072013-06-24 Simon Cooper <scooper@apple.com> 9308 9309 Plugin Sandbox violation in /Library/Audio/Sounds/Banks 9310 https://bugs.webkit.org/show_bug.cgi?id=117957 9311 <rdar://problem/14163582> 9312 9313 Reviewed by Alexey Proskuryakov. 9314 9315 Permit read access to subdirectories under /Library/Audio/Sounds 9316 9317 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 9318 93192013-06-24 Nick Diego Yamane <nick.yamane@openbossa.org> 9320 9321 Make sure m_iconDatabaseImpl is not null before closing it 9322 https://bugs.webkit.org/show_bug.cgi?id=117943 9323 9324 Reviewed by Simon Fraser. 9325 9326 Since r150474 WebIconDatabase is closed unconditionally in 9327 TestController destructor, in that case WebKitTestRunner crashes 9328 when no icon database path is set. This misbehavior was observed in 9329 ports such as efl and nix. 9330 In this patch, WebIconDatabase::close() calls m_iconDatabaseImpl->close() 9331 only if m_iconDatabaseImpl is not null, as it's already being done in other 9332 WebIconDatabase's methods, such as isOpen(). 9333 9334 * UIProcess/WebIconDatabase.cpp: 9335 (WebKit::WebIconDatabase::close): 9336 93372013-06-24 Ruth Fong <ruth_fong@apple.com> 9338 9339 Expose the mediaHasAudio() function in WK2 9340 https://bugs.webkit.org/show_bug.cgi?id=117946 9341 <rdar://problem/14250527> 9342 9343 Reviewed by Beth Dakin. 9344 9345 Exposes the WebCore::HTMLMediaElement::mediaHasAudio() function 9346 in WK2. 9347 9348 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 9349 (WKBundleHitTestResultMediaHasAudio): Added. 9350 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 9351 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 9352 (WebKit::InjectedBundleHitTestResult::mediaHasAudio): Added. 9353 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 9354 93552013-06-24 Anders Carlsson <andersca@apple.com> 9356 9357 REGRESSION (r147591): can't type in Adobe Connect 9358 https://bugs.webkit.org/show_bug.cgi?id=117947 9359 <rdar://problem/14223539> 9360 9361 Reviewed by Andreas Kling. 9362 9363 With the change in r147591, it is now possible for a plug-in element to be focused before the plug-in 9364 starts. Handle this by focusing the plug-in right after it's started if necessary. 9365 9366 * WebProcess/Plugins/PluginView.cpp: 9367 (WebKit::PluginView::didInitializePlugin): 9368 93692013-06-24 Simon Fraser <simon.fraser@apple.com> 9370 9371 Move displayID stuff from Widget to Chrome 9372 https://bugs.webkit.org/show_bug.cgi?id=117944 9373 9374 Reviewed by Anders Carlsson. 9375 9376 In r151877 I polluted Widget with displayID-related stuff. This would 9377 be better on HostWindow, so move it there. This is a net code reduction, 9378 and eliminates PlatformScreenMac.h, and the NSScreen category. 9379 9380 * WebProcess/WebPage/WebPage.cpp: 9381 (WebKit::WebPage::windowScreenDidChange): Go via chrome(). 9382 93832013-06-24 Krzysztof Wolanski <k.wolanski@samsung.com> 9384 9385 [EFL][WK2] Implement unit test callback: onWordGuesses. 9386 https://bugs.webkit.org/show_bug.cgi?id=117794 9387 9388 Reviewed by Christophe Dumez. 9389 9390 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 9391 (onWordGuesses): 9392 Add client suggestions for the word. 9393 9394 (checkClientSuggestionsForWord): 9395 Verify the suggestions that were given by the client. 9396 93972013-06-17 Darin Adler <darin@apple.com> 9398 9399 Sort all the Xcode project files 9400 https://bugs.webkit.org/show_bug.cgi?id=117696 9401 9402 Reviewed by Anders Carlsson. 9403 9404 * WebKit2.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script. 9405 94062013-06-22 Dean Jackson <dino@apple.com> 9407 9408 Slightly reduce width threshold on detection of primary snapshotted Plug-In 9409 https://bugs.webkit.org/show_bug.cgi?id=117914 9410 <rdar://problem/14136687> 9411 9412 Reviewed by Simon Fraser. 9413 9414 We've noticed some content that should be detected as the primary snapshotted plug-in, 9415 but is just a bit smaller than our 450x300 minimum threshold. Reduce the width to 400. 9416 9417 * WebProcess/WebPage/WebPage.cpp: Change primarySnapshottedPlugInMinimumWidth from 450 to 400. 9418 94192013-06-22 Simon Fraser <simon.fraser@apple.com> 9420 9421 screen.availWidth always returns width of primary display 9422 https://bugs.webkit.org/show_bug.cgi?id=117863 9423 9424 Reviewed by Geoffrey Garen. 9425 9426 In WebKit2, Widgets have no platformWidget, so trying to get to the 9427 NSScreen via the platform widget's window never succeeded, and we always 9428 fell back on getting info for the main display. 9429 9430 However, we were already pushing the WKView's displayID down to the 9431 WebProcess for the requestAnimationFrame infrastructure, so use that. 9432 9433 The WebProcess would not receive a displayID for a WKView until the window 9434 was activated; fix by calling -doWindowDidChangeScreen when the view 9435 moves to a window, rather than doing it from -_windowDidBecomeKey:. 9436 9437 * UIProcess/API/mac/WKView.mm: 9438 (-[WKView viewDidMoveToWindow]): 9439 (-[WKView _windowDidBecomeKey:]): 9440 94412013-06-21 Carlos Garcia Campos <cgarcia@igalia.com> 9442 9443 [GTK] Do not try to load videos in unit tests 9444 https://bugs.webkit.org/show_bug.cgi?id=117866 9445 9446 Reviewed by Philippe Normand. 9447 9448 It makes the tests slower, and generates and error because we use 9449 a fake src. 9450 9451 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 9452 (testContextMenuDefaultMenu): Use preload='none' in video tag. 9453 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 9454 (testWebViewMouseTarget): Ditto. 9455 94562013-06-21 Christophe Dumez <ch.dumez@sisa.samsung.com> 9457 9458 REGRESSION (r150663): Using webkitAudioContext in Inspector makes it undefined everywhere 9459 https://bugs.webkit.org/show_bug.cgi?id=117825 9460 9461 Reviewed by Kentaro Hara. 9462 9463 Use Settings to enable Web Audio instead of RuntimeEnabledFeatures. 9464 9465 * WebProcess/InjectedBundle/InjectedBundle.cpp: 9466 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 9467 * WebProcess/WebPage/WebPage.cpp: 9468 (WebKit::WebPage::updatePreferences): 9469 94702013-06-21 Sergio Correia <sergio.correia@openbossa.org> 9471 9472 [WK2][EFL]: Invalidate the ProcessLauncher when the process is terminated before it has finished launching 9473 https://bugs.webkit.org/show_bug.cgi?id=117865 9474 9475 Reviewed by Christophe Dumez. 9476 9477 Original patch from Carlos Garcia Campos for the Gtk port. 9478 9479 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 9480 (WebKit::ProcessLauncher::terminateProcess): If process is still 9481 launching, just invalidate the launcher. Reset the process 9482 identifier after killing the process. 9483 94842013-06-20 Carlos Garcia Campos <cgarcia@igalia.com> 9485 9486 [GTK] Migrate WebKitWebResource to GTask 9487 https://bugs.webkit.org/show_bug.cgi?id=117152 9488 9489 Reviewed by Gustavo Noronha Silva. 9490 9491 * UIProcess/API/gtk/WebKitWebResource.cpp: 9492 (resourceDataCallback): 9493 (webkit_web_resource_get_data): 9494 (webkit_web_resource_get_data_finish): 9495 94962013-06-20 Sergio Correia <sergio.correia@openbossa.org> 9497 9498 [WK2] Looping for EINTR on close() is incorrect for Linux, at least 9499 https://bugs.webkit.org/show_bug.cgi?id=117266 9500 9501 Reviewed by Darin Adler. 9502 9503 Call closeWithRetry() to work around a difference in how the retry needs to 9504 be done on Linux. 9505 9506 * Platform/CoreIPC/unix/AttachmentUnix.cpp: 9507 (CoreIPC::Attachment::dispose): 9508 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 9509 (CoreIPC::Connection::platformInvalidate): 9510 * Platform/unix/SharedMemoryUnix.cpp: 9511 (WebKit::SharedMemory::Handle::~Handle): 9512 (WebKit::SharedMemory::create): 9513 (WebKit::SharedMemory::~SharedMemory): 9514 (WebKit::SharedMemory::createHandle): 9515 * PluginProcess/PluginProcess.cpp: 9516 (WebKit::PluginProcess::createWebProcessConnection): 9517 * SharedWorkerProcess/SharedWorkerProcess.cpp: 9518 (WebKit::SharedWorkerProcess::createWebProcessConnection): 9519 * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: 9520 (WebKit::ProcessLauncher::launchProcess): All these places had 9521 ``close-followed-by-EINTR-handling'' replaced with the new closeWithRetry() 9522 function added in this commit. 9523 95242013-06-20 Brady Eidson <beidson@apple.com> 9525 9526 WebProcess hangs loading eff.org (Waiting forever on a sync XHR, NetworkProcess unable to service it). 9527 <rdar://problem/14112329> and https://bugs.webkit.org/show_bug.cgi?id=117842 9528 9529 Reviewed by Alexey Proskuryakov. 9530 9531 * NetworkProcess/HostRecord.cpp: 9532 (WebKit::removeLoaderFromQueue): Utility to clear a Loader out of a LoaderQueue. 9533 (WebKit::HostRecord::removeLoader): Use removeLoaderFromQueue, and also try to clear the loader from m_syncLoadersPending. 9534 (WebKit::HostRecord::servePendingRequestsForQueue): Small refactoring/cleanup. 9535 (WebKit::HostRecord::limitsRequests): Change so that if the number of loaders in flight is exactly equal to the limit, then 9536 allow serving a synchronous loader to go exactly one beyond the limit. 9537 * NetworkProcess/HostRecord.h: 9538 9539 Make the static maxRequestsInFlightPerHost a member of the NetworkResourceLoadScheduler, instead: 9540 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 9541 (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler): 9542 (WebKit::NetworkResourceLoadScheduler::hostForURL): 9543 * NetworkProcess/NetworkResourceLoadScheduler.h: 9544 9545 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: 9546 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Tell CFNetwork to allow 9547 7 connections per host instead of 6, but tell the scheduler that 6 is still the normal limit. 9548 95492013-06-20 Grzegorz Czajkowski <g.czajkowski@samsung.com> 9550 9551 [EFL][WK2] Update text checker documentation. 9552 https://bugs.webkit.org/show_bug.cgi?id=117828 9553 9554 Reviewed by Christophe Dumez. 9555 9556 * UIProcess/API/efl/ewk_text_checker.h: 9557 The client is not responsible for destroying the memory. 9558 95592013-06-19 Sam Weinig <sam@webkit.org> 9560 9561 Expose plug-ins CFBundleShortVersionString in the WKPluginInformation dictionary 9562 https://bugs.webkit.org/show_bug.cgi?id=117816 9563 9564 Reviewed by Geoffrey Garen. 9565 9566 - Adds a new key for the WKPluginInformation dictionary: WKPluginInformationBundleShortVersionKey(). 9567 9568 * Shared/API/c/WKPluginInformation.cpp: 9569 (WKPluginInformationBundleShortVersionKey): 9570 * Shared/API/c/WKPluginInformation.h: 9571 * Shared/Plugins/Netscape/PluginInformation.cpp: 9572 (WebKit::pluginInformationBundleShortVersionKey): 9573 * Shared/Plugins/Netscape/PluginInformation.h: 9574 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 9575 (WebKit::NetscapePluginModule::getPluginInfo): 9576 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: 9577 (WebKit::getPlatformPluginModuleInformation): 9578 * Shared/Plugins/PluginModuleInfo.h: 9579 95802013-06-19 Ruth Fong <ruth_fong@apple.com> 9581 9582 <rdar://problem/14197983> Rename functions from Bug 117667 and add safeguards for !ENABLE(VIDEO) platforms (117765) 9583 https://bugs.webkit.org/show_bug.cgi?id=117765 9584 9585 Patch by Ruth Fong <ruth_fong@apple.com>. 9586 Reviewed by Brady Eidson. 9587 9588 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 9589 (WKBundleHitTestResultGetMediaType): Updated to use mediaType(). 9590 9591 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 9592 (WebKit::InjectedBundleHitTestResult::mediaType): Updated. 9593 Renamed getMediaType() to mediaType() and now handles !ENABLE(VIDEO) platforms. 9594 9595 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 9596 95972013-06-19 Benjamin Poulain <bpoulain@apple.com> 9598 9599 Use the PlatformEvent timestamp when creating a DOM Event 9600 https://bugs.webkit.org/show_bug.cgi?id=117179 9601 9602 Reviewed by Darin Adler. 9603 9604 * Shared/mac/WebEventFactory.mm: 9605 (WebKit::WebEventFactory::createWebMouseEvent): 9606 (WebKit::WebEventFactory::createWebWheelEvent): 9607 (WebKit::WebEventFactory::createWebKeyboardEvent): 9608 (WebKit::WebEventFactory::createWebGestureEvent): 9609 96102013-06-19 Anders Carlsson <andersca@apple.com> 9611 9612 REGRESSION: Cannot open Silverlight preferences via context menu 9613 https://bugs.webkit.org/show_bug.cgi?id=117806 9614 <rdar://problem/14166644> 9615 9616 Reviewed by Beth Dakin. 9617 9618 Hook the LSOpenCFURLRef function and make the UI process open the URL if it's the URL for the 9619 Silverlight Preferences application. This is what we do for the Flash updater. 9620 9621 * PluginProcess/PluginProcess.h: 9622 * PluginProcess/mac/PluginProcessMac.mm: 9623 (WebKit::openCFURLRef): 9624 (WebKit::initializeShim): 9625 (WebKit::PluginProcess::openURL): 9626 * PluginProcess/mac/PluginProcessShim.h: 9627 * PluginProcess/mac/PluginProcessShim.mm: 9628 (WebKit::shimLSOpenCFURLRef): 9629 * UIProcess/Plugins/PluginProcessProxy.h: 9630 * UIProcess/Plugins/PluginProcessProxy.messages.in: 9631 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 9632 (WebKit::isSilverlightPreferencesURL): 9633 (WebKit::shouldOpenURL): 9634 (WebKit::PluginProcessProxy::openURL): 9635 96362013-06-19 Krzysztof Wolanski <k.wolanski@samsung.com> 9637 9638 [EFL][WK2] Implement unit test callback: onSettingChange. 9639 https://bugs.webkit.org/show_bug.cgi?id=117728 9640 9641 Reviewed by Christophe Dumez. 9642 9643 It is finally possible to implement missing unit tests as WebKit2-EFL 9644 has delivered sub menu (r150254). 9645 Add two unit tests for checking onSettingChange callback behaviour, 9646 when toggling "Check Spelling While Typing" in context menu. 9647 9648 Changed types inside callbacksExecutionStats struct from bit field to bool, 9649 because casting from bit field to &bool is invalid (in using waitUntilTrue method). 9650 9651 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 9652 (resetCallbacksExecutionStats): 9653 (onSettingChange): 9654 (findContextMenuItem): 9655 Get determined option from context menu. 9656 9657 (checkCorrectnessOfSpellingItems): 9658 Changed the name of onContextMenuShow method to be consistent with new methods. 9659 9660 (toogleCheckSpellingWhileTyping): 9661 Select "Check Spelling While Typing" in context menu to test whether 9662 onSettingChange is called. 9663 96642013-06-19 Carlos Garcia Campos <cgarcia@igalia.com> 9665 9666 [GTK][SOUP] Migrate SoupRequestManager to GTask 9667 https://bugs.webkit.org/show_bug.cgi?id=117157 9668 9669 Reviewed by Gustavo Noronha Silva. 9670 9671 GSimpleAsyncResult has been deprecated in favour of GTask. 9672 9673 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: 9674 (webkitSoupRequestGenericSendAsync): 9675 (webkitSoupRequestGenericSendFinish): 9676 * WebProcess/soup/WebSoupRequestManager.cpp: 9677 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): 9678 (WebKit::WebSoupRequestAsyncData::releaseTask): 9679 (WebKit::WebSoupRequestManager::didHandleURIRequest): 9680 (WebKit::WebSoupRequestManager::didFailURIRequest): 9681 (WebKit::WebSoupRequestManager::send): 9682 (WebKit::WebSoupRequestManager::finish): 9683 * WebProcess/soup/WebSoupRequestManager.h: 9684 96852013-06-19 Carlos Garcia Campos <cgarcia@igalia.com> 9686 9687 [GTK] Migrate WebKitFaviconDatabase to GTask 9688 https://bugs.webkit.org/show_bug.cgi?id=117156 9689 9690 Reviewed by Gustavo Noronha Silva. 9691 9692 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 9693 (processPendingIconsForPageURL): 9694 (webkit_favicon_database_get_favicon): 9695 (webkit_favicon_database_get_favicon_finish): 9696 96972013-06-19 Carlos Garcia Campos <cgarcia@igalia.com> 9698 9699 [GTK] Migrate WebKitWebView to GTask 9700 https://bugs.webkit.org/show_bug.cgi?id=117154 9701 9702 Reviewed by Gustavo Noronha Silva. 9703 9704 * UIProcess/API/gtk/WebKitWebView.cpp: 9705 (didValidateCommand): 9706 (webkit_web_view_can_execute_editing_command): 9707 (webkit_web_view_can_execute_editing_command_finish): 9708 (webkitWebViewRunJavaScriptCallback): 9709 (webkit_web_view_run_javascript): 9710 (webkit_web_view_run_javascript_finish): 9711 (resourcesStreamReadCallback): 9712 (webkit_web_view_run_javascript_from_gresource): 9713 (webkit_web_view_run_javascript_from_gresource_finish): 9714 (fileReplaceContentsCallback): 9715 (getContentsAsMHTMLDataCallback): 9716 (webkit_web_view_save): 9717 (webkit_web_view_save_finish): 9718 (webkit_web_view_save_to_file): 9719 (webkit_web_view_save_to_file_finish): 9720 (webKitWebViewDidReceiveSnapshot): 9721 (webkit_web_view_get_snapshot): 9722 (webkit_web_view_get_snapshot_finish): 9723 97242013-06-18 Carlos Garcia Campos <cgarcia@igalia.com> 9725 9726 [GTK] Migrate WebKitCookieManager to GTask 9727 https://bugs.webkit.org/show_bug.cgi?id=117150 9728 9729 Reviewed by Gustavo Noronha Silva. 9730 9731 Don't use helper structs for async data since the cancellable is 9732 now accessible from the GTask. 9733 9734 * UIProcess/API/gtk/WebKitCookieManager.cpp: 9735 (webkitCookieManagerGetAcceptPolicyCallback): 9736 (webkit_cookie_manager_get_accept_policy): 9737 (webkit_cookie_manager_get_accept_policy_finish): 9738 (webkitCookieManagerGetDomainsWithCookiesCallback): 9739 (webkit_cookie_manager_get_domains_with_cookies): 9740 (webkit_cookie_manager_get_domains_with_cookies_finish): 9741 97422013-06-18 Roger Fong <roger_fong@apple.com> 9743 9744 Unreviewed. Fix a typo that may be causing some test failures. 9745 9746 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 9747 (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs): 9748 97492013-06-18 Anders Carlsson <andersca@apple.com> 9750 9751 Make it possible to set a minimum height for auto-layout 9752 https://bugs.webkit.org/show_bug.cgi?id=117758 9753 <rdar://problem/12849080> 9754 9755 Reviewed by Tim Horton. 9756 9757 Change a bunch of minimumLayoutWidth declarations to minimumLayoutSize and add a new minimumLayoutSize property. 9758 If minimumLayoutSize.height is greater than zero, use it to set the minimum layout size on the frame view. 9759 9760 * Shared/WebPageCreationParameters.cpp: 9761 (WebKit::WebPageCreationParameters::encode): 9762 (WebKit::WebPageCreationParameters::decode): 9763 * Shared/WebPageCreationParameters.h: 9764 * UIProcess/API/mac/WKView.mm: 9765 (-[WKView _setIntrinsicContentSize:]): 9766 (-[WKView minimumLayoutWidth]): 9767 (-[WKView setMinimumLayoutWidth:]): 9768 (-[WKView minimumWidthForAutoLayout]): 9769 (-[WKView setMinimumWidthForAutoLayout:]): 9770 (-[WKView minimumSizeForAutoLayout]): 9771 (-[WKView setMinimumSizeForAutoLayout:]): 9772 * UIProcess/API/mac/WKViewPrivate.h: 9773 * UIProcess/DrawingAreaProxy.h: 9774 (WebKit::DrawingAreaProxy::minimumLayoutSizeDidChange): 9775 * UIProcess/WebPageProxy.cpp: 9776 (WebKit::WebPageProxy::WebPageProxy): 9777 (WebKit::WebPageProxy::creationParameters): 9778 (WebKit::WebPageProxy::setMinimumLayoutSize): 9779 * UIProcess/WebPageProxy.h: 9780 (WebKit::WebPageProxy::minimumLayoutSize): 9781 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 9782 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 9783 (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy): 9784 (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange): 9785 (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry): 9786 (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange): 9787 (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): 9788 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9789 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 9790 * WebProcess/WebPage/WebPage.cpp: 9791 (WebKit::WebPage::WebPage): 9792 (WebKit::WebPage::setMinimumLayoutSize): 9793 * WebProcess/WebPage/WebPage.h: 9794 (WebKit::WebPage::minimumLayoutSize): 9795 * WebProcess/WebPage/WebPage.messages.in: 9796 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 9797 (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged): 9798 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 9799 98002013-06-18 Simon Cooper <scooper@apple.com> 9801 9802 sandbox violation when Flash runs for the first time 9803 https://bugs.webkit.org/show_bug.cgi?id=117753 9804 <rdar://problem/14165466> 9805 9806 Reviewed by Alexey Proskuryakov. 9807 9808 Allow flash to try and change the ownership of directories it has just created. 9809 9810 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 9811 98122013-06-18 Ruth Fong <ruth_fong@apple.com> 9813 9814 Expose a getMediaType method in WebKit 9815 https://bugs.webkit.org/show_bug.cgi?id=117667 9816 9817 Reviewed by Brady Eidson. 9818 9819 * GNUmakefile.list.am: 9820 * Target.pri: 9821 Updated to include the added header file InjectedBundleHitTestResultMediaType.h 9822 9823 * UIProcess/API/C/WKAPICast.h: 9824 (WebKit::toBundleHitTestResultMediaType): 9825 (WebKit::toAPI): 9826 Added methods to convert between BundleHitTestResultMediaType 9827 and WKBundleHitTestResultMediaType. 9828 9829 * WebKit2.xcodeproj/project.pbxproj: Updated to include 9830 InjectedBundleHitTestResultMediaType.h in the WebKit2 project. 9831 9832 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 9833 (WKBundleHitTestResultGetMediaType): Exposes the method getMediaType and 9834 hooks into InjectedBundleHitTestResult::getMediaType. 9835 9836 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 9837 9838 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 9839 (WebKit::InjectedBundleHitTestResult::getMediaType): Added to return 9840 what type, if any, a media element is. 9841 9842 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 9843 9844 * WebProcess/InjectedBundle/InjectedBundleHitTestResultMediaType.h: Added 9845 to contain new BundleHitTestResultMediaType enums. 9846 98472013-06-18 Roger Fong <roger_fong@apple.com> 9848 9849 Re-implement WebFrameNetworkingContext. 9850 <rdar://problem/13174821>. 9851 9852 Reviewed by Alexey Proskuryakov. 9853 9854 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added. 9855 (WebKit::WebFrameNetworkingContext::create): 9856 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): 9857 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added. 9858 (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 9859 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 9860 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): 9861 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): 9862 (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): 9863 (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled): 9864 (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs): 9865 (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData): 9866 (WebKit::WebFrameNetworkingContext::blockedError): 9867 (WebKit::WebFrameNetworkingContext::storageSession): 9868 98692013-06-18 Alexey Proskuryakov <ap@apple.com> 9870 9871 <rdar://problem/13174821> Remove files with an incorrect license. 9872 9873 Rubber-stamped by Maciej Stachowiak. 9874 9875 This will break the build, stay tuned for a fix coming soon. 9876 9877 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Removed. 9878 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Removed. 9879 98802013-06-17 Santosh Mahto <santosh.ma@samsung.com> 9881 9882 Extra whitespace in blank line in PlatformPopupMenuData.cpp 9883 https://bugs.webkit.org/show_bug.cgi?id=117627 9884 9885 Reviewed by Brent Fulgham. 9886 9887 * Shared/PlatformPopupMenuData.cpp: 9888 (WebKit::PlatformPopupMenuData::decode): 9889 Removing extra space 9890 98912013-06-17 Beth Dakin <bdakin@apple.com> 9892 9893 PageBanners appear over HTML5 video when media element is in full screen mode 9894 https://bugs.webkit.org/show_bug.cgi?id=117721 9895 -and corresponding- 9896 <rdar://problem/13686998> 9897 9898 Reviewed by Sam Weinig. 9899 9900 When an element enters fullscreen, hide the banners. Show them again when the 9901 element exits fullscreen. 9902 * WebProcess/FullScreen/WebFullScreenManager.cpp: 9903 (WebKit::WebFullScreenManager::willEnterFullScreen): 9904 (WebKit::WebFullScreenManager::willExitFullScreen): 9905 9906 Handle hiding and showing by removing or re-creating a parent layer for m_layer. 9907 * WebProcess/WebPage/PageBanner.cpp: 9908 (WebKit::PageBanner::hide): 9909 (WebKit::PageBanner::showIfHidden): 9910 * WebProcess/WebPage/PageBanner.h: 9911 * WebProcess/WebPage/mac/PageBannerMac.mm: 9912 (WebKit::PageBanner::PageBanner): 9913 (WebKit::PageBanner::hide): 9914 (WebKit::PageBanner::showIfHidden): 9915 (WebKit::PageBanner::mouseEvent): 9916 * WebProcess/WebPage/WebPage.cpp: 9917 (WebKit::WebPage::hidePageBanners): 9918 (WebKit::WebPage::showPageBanners): 9919 * WebProcess/WebPage/WebPage.h: 9920 99212013-06-17 Ruth Fong <ruth_fong@apple.com> 9922 9923 REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime 9924 https://bugs.webkit.org/show_bug.cgi?id=20599 9925 9926 Add a "Download Video"/"Download Audio" context menu item to download media 9927 elements. 9928 9929 Reviewed by Beth Dakin. 9930 9931 * Shared/API/c/WKContextMenuItemTypes.h: Updated to include 9932 an enum type for the "Download Video/Audio" context menu item. 9933 9934 * Shared/API/c/WKSharedAPICast.h: Updated to associate 9935 the enums in WebKit and WebCore that handle the "Download Video/Audio" 9936 context menu item. 9937 9938 * UIProcess/API/efl/ewk_context_menu.cpp: 9939 * UIProcess/API/efl/ewk_context_menu_item.cpp: 9940 * UIProcess/API/efl/ewk_context_menu_item.h: 9941 Updated to include new EWK enum type for "Download Video/Audio" context menu item. 9942 9943 * UIProcess/WebPageProxy.cpp: Updated to 9944 handle the "Download Video/Audio" context menu item mouse click 9945 and download the media item in the UI process. 9946 99472013-06-17 Ralph Thomas <ralpht@gmail.com> 9948 9949 [CoordinatedGraphics][CSS Shaders] Use forwarding header for TextureMapperPlatformCompiledProgram.h 9950 https://bugs.webkit.org/show_bug.cgi?id=117712 9951 9952 Reviewed by Noam Rosenthal. 9953 9954 * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: 9955 99562013-06-17 Mark Rowe <mrowe@apple.com> 9957 9958 <rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts 9959 9960 Transmitting the importance boost from the UI process to the web process is particularly 9961 important when disabling process suppression on a web process, as it will minimize the 9962 delays that can occur before the message instructing process suppression to be disabled 9963 is processed by the web process. 9964 9965 We keep the importance boost alive for the duration of the CoreIPC message handler. We 9966 achieve this by having an ImportanceAssertion object that owns the assertion, and whose 9967 lifetime is tied to that of the MessageDecoder. 9968 9969 Reviewed by Anders Carlsson. 9970 9971 * Platform/CoreIPC/MessageDecoder.cpp: 9972 (CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion 9973 with this message. 9974 * Platform/CoreIPC/MessageDecoder.h: 9975 * Platform/CoreIPC/mac/ConnectionMac.cpp: 9976 (CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received. 9977 (CoreIPC::Connection::receiveSourceEventHandler): 9978 * Platform/CoreIPC/mac/ImportanceAssertion.h: 9979 (CoreIPC::ImportanceAssertion::create): 9980 (CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion. 9981 (CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in 9982 the Mach message. 9983 99842013-06-17 Mark Rowe <mrowe@apple.com> 9985 9986 <rdar://problem/14051357> Web processes sometimes remain in a suppressed 9987 state after their window is unoccluded. 9988 9989 The code in WKView that responds to occlusion notifications was incorrectly 9990 treating the window's occlusion state as being an enum rather than the set of 9991 flags that it is. 9992 9993 Reviewed by Oliver Hunt. 9994 9995 * UIProcess/API/mac/WKView.mm: 9996 (-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state. 9997 (-[WKView setWindowOcclusionDetectionEnabled:]): Ditto. 9998 99992013-06-17 Michael Brüning <michael.bruning@digia.com> 10000 10001 [Qt] Remove Qt specific QTKIT flagged code. 10002 https://bugs.webkit.org/show_bug.cgi?id=117635 10003 10004 Reviewed by Simon Hausmann. 10005 10006 Due to disabling QTKIT for Qt in r151546, the 10007 code the flags that are not taken into account 10008 anymore and the code that has been rendered 10009 unreachable by this are removed. 10010 10011 * Target.pri: 10012 * UIProcess/qt/WebContextQt.cpp: 10013 (WebKit::WebContext::platformInitializeWebProcess): 10014 * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Removed. 10015 * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Removed. 10016 * WebProcess/WebPage/WebPage.cpp: 10017 (WebKit::WebPage::updatePreferences): 10018 * WebProcess/qt/WebProcessMainQt.cpp: 10019 (WebKit::WebProcessMainQt): 10020 100212013-06-17 Grzegorz Czajkowski <g.czajkowski@samsung.com> 10022 10023 Unreviewed, rolling out r151632. 10024 http://trac.webkit.org/changeset/151632 10025 https://bugs.webkit.org/show_bug.cgi?id=117585 10026 10027 Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC 10028 platforms 10029 10030 * Shared/API/c/WKSharedAPICast.h: 10031 (WebKit::toAPI): 10032 (WebKit::toImpl): 10033 * UIProcess/API/efl/ewk_context_menu_item.cpp: 10034 (getEwkActionFromWKTag): 10035 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 10036 (onContextMenuShow): 10037 (TEST_F): 10038 * UIProcess/API/gtk/WebKitContextMenuActions.cpp: 10039 (webkitContextMenuActionGetActionTag): 10040 (webkitContextMenuActionGetForContextMenuItem): 10041 (webkitContextMenuActionGetLabel): 10042 * UIProcess/WebPageProxy.cpp: 10043 (WebKit::WebPageProxy::contextMenuItemSelected): 10044 100452013-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com> 10046 10047 Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off 10048 https://bugs.webkit.org/show_bug.cgi?id=117585 10049 10050 Reviewed by Anders Carlsson. 10051 10052 Add GRAMMAR_CHECKING guard to the context menu grammar items. 10053 10054 * Shared/API/c/WKSharedAPICast.h: 10055 (WebKit::toAPI): 10056 (WebKit::toImpl): 10057 * UIProcess/API/efl/ewk_context_menu_item.cpp: 10058 (getEwkActionFromWKTag): 10059 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 10060 (checkSpellingItemsAvailability): 10061 Change callback name, to be consistent with a newly added. 10062 10063 (checkSpellingAndGrammarSubmenuAvailability): 10064 (checkGrammarWithSpellingItemAvailability): 10065 Add two unit tests for EFL to check whether context menu grammar items are 10066 available only when GRAMMAR_CHECKING macro is enabled. 10067 10068 * UIProcess/API/gtk/WebKitContextMenuActions.cpp: 10069 (webkitContextMenuActionGetActionTag): 10070 (webkitContextMenuActionGetForContextMenuItem): 10071 (webkitContextMenuActionGetLabel): 10072 * UIProcess/WebPageProxy.cpp: 10073 (WebKit::WebPageProxy::contextMenuItemSelected): 10074 100752013-06-14 Dean Jackson <dino@apple.com> 10076 10077 Crash in supportsSnapshotting 10078 https://bugs.webkit.org/show_bug.cgi?id=117670 10079 <rdar://problem/14059711> 10080 10081 Reviewed by Darin Adler. 10082 10083 Speculative fix for deferencing a null RefPtr in supportsSnapshotting. 10084 It seems like it was possible to get in a state where the plugin machinery 10085 would fire up and attempt to get a screenshot before there was an active 10086 connection to the plugin process (usually under periods of high load, such 10087 as opening a lot of tabs at once). In this case we're now returning false 10088 from supportsSnapshotting, which will trigger the plugin to restart, but 10089 that's better than requesting a snapshot on something that doesn't yet exist. 10090 10091 * WebProcess/Plugins/PluginProxy.cpp: 10092 (WebKit::PluginProxy::supportsSnapshotting): Guard for an empty connection object. 10093 100942013-06-14 Enrica Casucci <enrica@apple.com> 10095 10096 WKPageFindStringMatches ignores the kWKFindOptionsBackwards option. 10097 https://bugs.webkit.org/show_bug.cgi?id=117647 10098 <rdar://problem/13881024> 10099 10100 Reviewed by Darin Adler. 10101 10102 The API returns the matched ranges in the DOM order regardless of the 10103 find direction, but the index of the first match after the user selection 10104 should take the find direction into account. 10105 10106 Extended existing test in TestWebKitAPI. 10107 10108 * Shared/API/c/WKFindOptions.h: Added enum for the case where there are 10109 no matches after the user selection in the direction of the find. 10110 101112013-06-14 Andres Gomez <agomez@igalia.com> 10112 10113 [GTK] Compilation problems - hb.h not found 10114 https://bugs.webkit.org/show_bug.cgi?id=117636 10115 10116 Unreviewed GTK+ build fix. 10117 10118 * GNUmakefile.am: Added freetype cflags for WebKit2 GTK+ Platform 10119 library. 10120 101212013-06-13 Michał Pakuła vel Rutka <m.pakula@samsung.com> 10122 10123 [EFL][WK2] Wrong context menu and popup menu positions when scroll is applied 10124 https://bugs.webkit.org/show_bug.cgi?id=116610 10125 10126 Reviewed by Noam Rosenthal. 10127 10128 WebKit2 EFL uses fixed layout - because of this ScrollView::contentsToWindow, does 10129 not take scroll into account, as it is meant to be handled by UI application. 10130 When popup and context menu are created, after calling contentsToWindow their position 10131 are not adjusted to page scroll. 10132 Added two functions to EwkView and WKView, converting contents position to user viewport 10133 coordinates, to adjust popup and context menu positions. 10134 10135 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 10136 (WKViewContentsToUserViewport): 10137 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 10138 * UIProcess/API/efl/EwkView.cpp: 10139 (EwkView::showContextMenu): 10140 (EwkView::requestPopupMenu): 10141 * UIProcess/CoordinatedGraphics/WebView.cpp: 10142 (WebKit::WebView::contentsToUserViewport): 10143 * UIProcess/CoordinatedGraphics/WebView.h: 10144 101452013-06-12 Anders Carlsson <andersca@apple.com> 10146 10147 Remove the notion of inactive plug-ins 10148 https://bugs.webkit.org/show_bug.cgi?id=117570 10149 <rdar://problem/13484213> 10150 10151 Reviewed by Tim Horton. 10152 10153 Remove code that deals with inactive plug-ins. We still keep around the kWKPluginLoadPolicyInactive API enum for now. 10154 10155 * Shared/Plugins/PluginModuleInfo.h: 10156 * UIProcess/API/C/WKAPICast.h: 10157 (WebKit::toWKPluginLoadPolicy): 10158 (WebKit::toPluginModuleLoadPolicy): 10159 * UIProcess/Plugins/PluginInfoStore.cpp: 10160 * UIProcess/Plugins/PluginInfoStore.h: 10161 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 10162 (WebKit::PluginInfoStore::shouldUsePlugin): 10163 (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin): 10164 * UIProcess/WebPageProxy.cpp: 10165 (WebKit::WebPageProxy::findPlugin): 10166 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 10167 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 10168 (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton): 10169 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 10170 * WebProcess/WebPage/WebPage.cpp: 10171 (WebKit::WebPage::createPlugin): 10172 101732013-06-12 Hugo Parente Lima <hugo.lima@openbossa.org> 10174 10175 [GTK] Explicit include glib.h to avoid compilation errors if libsoup isn't used. 10176 https://bugs.webkit.org/show_bug.cgi?id=117564 10177 10178 Reviewed by Martin Robinson. 10179 10180 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 10181 101822013-06-12 Zan Dobersek <zdobersek@igalia.com> 10183 10184 [GTK] Move more build targets for source code that's free of layer violations into libPlatform 10185 https://bugs.webkit.org/show_bug.cgi?id=115936 10186 10187 Reviewed by Martin Robinson. 10188 10189 * GNUmakefile.am: Add GStreamer dependency's CFLAGS to the list of libPlatformGtk2 CPPFLAGS. 10190 101912013-06-12 Ruth Fong <ruth_fong@apple.com> 10192 10193 "Open Video in New Window" doesn't make sense in fullscreen 10194 https://bugs.webkit.org/show_bug.cgi?id=117556 10195 10196 Reviewed by Beth Dakin. 10197 10198 Adds method mediaIsInFullscreen() that checks if a media element is in 10199 fullscreen mode, which is needed to decide when to display the 10200 "Open Video in New Window" context menu item. 10201 10202 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: 10203 (WKBundleHitTestResultMediaIsInFullscreen): Added. 10204 Hooks into new InjectedBundleHitTestResult::mediaIsInFullscreen() method. 10205 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: 10206 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 10207 (WebKit::InjectedBundleHitTestResult::mediaIsInFullscreen): Added. 10208 Checks if media element is in fullscreen. 10209 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 10210 102112013-06-12 Ruth Fong <ruth_fong@apple.com> 10212 10213 Allow for toggling fullscreen on <video> elements 10214 https://bugs.webkit.org/show_bug.cgi?id=117220 10215 10216 Reviewed by Dean Jackson. 10217 10218 * Shared/API/c/WKContextMenuItemTypes.h: 10219 * Shared/API/c/WKSharedAPICast.h: 10220 Added variables to support the toggle-ability of the fullscreen 10221 video context menu item. 10222 102232013-06-12 Carlos Garcia Campos <cgarcia@igalia.com> 10224 10225 [GTK] Invalidate the ProcessLauncher when the process is terminated before it has finished launching 10226 https://bugs.webkit.org/show_bug.cgi?id=117412 10227 10228 Reviewed by Anders Carlsson. 10229 10230 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 10231 (WebKit::ProcessLauncher::terminateProcess): If process is still 10232 launching just invalidate the launcher. Reset the process 10233 identifier after killing the process. 10234 102352013-06-12 Jae Hyun Park <jae.park@company100.net> 10236 10237 [Coordinated Graphics] Remove unused headers in CoordinatedLayerTreeHostProxy 10238 https://bugs.webkit.org/show_bug.cgi?id=117539 10239 10240 Reviewed by Noam Rosenthal. 10241 10242 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 10243 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 10244 102452013-06-12 Zan Dobersek <zdobersek@igalia.com> 10246 10247 [GTK] Remove the WebCoreLayer(Gtk2).a archives before regenerating them 10248 https://bugs.webkit.org/show_bug.cgi?id=116723 10249 10250 Reviewed by Carlos Garcia Campos. 10251 10252 * GNUmakefile.am: When generating the WebCoreLayerGtk2.a archive from all the dependency archives, remove the 10253 current archive (if any). Updating an existent archive in an incremental build is not bulletproof and can lead 10254 to corrupt archives and subsequent build failures. On the other hand, the archive generation is not expensive 10255 and produces a working archive without problems even on incremental builds. 10256 102572013-06-12 Zan Dobersek <zdobersek@igalia.com> 10258 10259 Unreviewed GTK build fix. 10260 10261 * GNUmakefile.list.am: Adding missing build targets to the plugin process after r151480. 10262 102632013-06-11 Gavin Barraclough <barraclough@apple.com> 10264 10265 Add NSSupportsAppNap keys to WebProcess, PluginProcess 10266 https://bugs.webkit.org/show_bug.cgi?id=117528 10267 10268 Reviewed by Mark Rowe. 10269 10270 * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: 10271 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: 10272 * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: 10273 * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: 10274 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist: 10275 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: 10276 - add NSSupportsAppNap key. 10277 102782013-06-11 Oliver Hunt <oliver@apple.com> 10279 10280 Make sure we aren't throttling plugin timers during initialisation and destruction 10281 https://bugs.webkit.org/show_bug.cgi?id=117522 10282 10283 Reviewed by Darin Adler. 10284 10285 Add a new ActivityAssertion RAII class to handle allowing/disallowing 10286 timer throttling. Then make use of it during plugin initialisation 10287 and destruction, as well as any synchronous messages (on the basis 10288 that if another process is waiting for the plugin we shouldn't be 10289 throttling timers). 10290 10291 * CMakeLists.txt: 10292 * GNUmakefile.list.am: 10293 * PluginProcess/WebProcessConnection.cpp: 10294 (WebKit::WebProcessConnection::didReceiveSyncMessage): 10295 (WebKit::WebProcessConnection::destroyPlugin): 10296 (WebKit::WebProcessConnection::createPlugin): 10297 * Shared/ActivityAssertion.cpp: Added. 10298 (WebKit::ActivityAssertion::ActivityAssertion): 10299 (WebKit::ActivityAssertion::~ActivityAssertion): 10300 * Shared/ActivityAssertion.h: Added. 10301 * Target.pri: 10302 * WebKit2.xcodeproj/project.pbxproj: 10303 103042013-06-06 Timothy Hatcher <timothy@apple.com> 10305 10306 Update the framework bundle identifier for the Web Inspector. 10307 10308 Reviewed by Mark Rowe. 10309 10310 * UIProcess/mac/WebInspectorProxyMac.mm: 10311 (WebKit::inspectorReallyUsesWebKitUserInterface): 10312 (WebKit::WebInspectorProxy::inspectorPageURL): 10313 (WebKit::WebInspectorProxy::inspectorBaseURL): 10314 * WebProcess/WebPage/mac/WebInspectorMac.mm: 10315 (WebKit::inspectorReallyUsesWebKitUserInterface): 10316 (WebKit::WebInspector::localizedStringsURL): 10317 103182013-06-11 Jer Noble <jer.noble@apple.com> 10319 10320 Do not filter cookies requested through the CookieStorageShim. 10321 https://bugs.webkit.org/show_bug.cgi?id=117511 10322 <rdar://problem/13603433> 10323 10324 Reviewed by Beth Dakin. 10325 10326 Since the shim function is called when the underlying media engine is 10327 creating an HTTPRequest, use CookieRequestHeaderFieldValue (which does 10328 not filter out HTTP-only cookies) rather than CookiesForDOM (which does). 10329 10330 * Shared/mac/CookieStorageShim.cpp: 10331 (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): 10332 103332013-06-11 Seokju Kwon <seokju.kwon@gmail.com> 10334 10335 Remove leftover wxWebkit code 10336 https://bugs.webkit.org/show_bug.cgi?id=117471 10337 10338 Reviewed by Andreas Kling. 10339 10340 * Scripts/generate-forwarding-headers.pl: 10341 103422013-06-11 Changhyup Jwa <ch.jwa@samsung.com> 10343 10344 [EFL][WK2] Add fallback for EWK2UnitTestBase if opengl is not available. 10345 https://bugs.webkit.org/show_bug.cgi?id=117504 10346 10347 Reviewed by Christophe Dumez. 10348 10349 There're many fails on efl webkit2 unit test if opengl is not available. 10350 So, add fallback to non-opengl evas engine. 10351 10352 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 10353 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 10354 103552013-06-11 Csaba Osztrogonác <ossy@webkit.org> 10356 10357 Make WTR use its own temporary directory for application cache 10358 https://bugs.webkit.org/show_bug.cgi?id=117143 10359 10360 Reviewed by Alexey Proskuryakov. 10361 10362 * UIProcess/API/C/WKContext.cpp: 10363 (WKContextSetApplicationCacheDirectory): 10364 * UIProcess/API/C/WKContextPrivate.h: 10365 * UIProcess/WebContext.cpp: 10366 (WebKit::WebContext::applicationCacheDirectory): 10367 * UIProcess/WebContext.h: 10368 (WebKit::WebContext::setApplicationCacheDirectory): 10369 * UIProcess/efl/WebContextEfl.cpp: 10370 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 10371 * UIProcess/gtk/WebContextGtk.cpp: 10372 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 10373 * UIProcess/mac/WebContextMac.mm: 10374 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 10375 * UIProcess/qt/WebContextQt.cpp: 10376 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 10377 103782013-06-11 Michał Pakuła vel Rutka <m.pakula@samsung.com> 10379 10380 [EFL][WK2] Fix test_ewk2_context_menu 10381 https://bugs.webkit.org/show_bug.cgi?id=116601 10382 10383 Reviewed by Gyuyoung Kim. 10384 10385 test_ewk2_context_menu is always passing, it does not test any context menu feature 10386 as it ends before context menu is called. 10387 One single test was divided into two tests: testing WebKit2 created context menu and 10388 testing menus and items created by application. 10389 10390 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 10391 (EWK2UnitTest::EWK2UnitTestBase::waitUntilTrue): added function introducing internal loop until boolean value is changed to true 10392 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 10393 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: 10394 (customItemSelected): 10395 (showContextMenu): 10396 (showContextMenuForRemoveAndAppend): 10397 (showContextMenuForSubmenu): 10398 (hideContextMenu): 10399 (TEST_F): 10400 104012013-06-11 Ryuan Choi <ryuan.choi@samsung.com> 10402 10403 [EFL][WK2] Add ewk_view_navigate API 10404 https://bugs.webkit.org/show_bug.cgi?id=117467 10405 10406 Reviewed by Christophe Dumez. 10407 10408 The applications will use this API to navigate history more than one step. 10409 10410 * UIProcess/API/efl/ewk_back_forward_list_item_private.h: 10411 (EwkBackForwardListItem::wkItem): Return WKBackForwardListItemRef for page to navigate. 10412 * UIProcess/API/efl/ewk_view.cpp: 10413 (ewk_view_navigate_to): Added new API. 10414 * UIProcess/API/efl/ewk_view.h: 10415 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 10416 (TEST_F): Added more test case for navigation. 10417 104182013-06-10 Jae Hyun Park <jae.park@company100.net> 10419 10420 [CoordinatedGraphics] Typos in custom shader support 10421 https://bugs.webkit.org/show_bug.cgi?id=117413 10422 10423 Reviewed by Noam Rosenthal. 10424 10425 Wrong keyframe is passed when assigning filterValue. 10426 10427 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 10428 (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded): 10429 104302013-06-10 Seokju Kwon <seokju.kwon@gmail.com> 10431 10432 [Qt][GTK] Build fix after r151403 10433 https://bugs.webkit.org/show_bug.cgi?id=117452 10434 10435 Reviewed by Csaba Osztrogonác. 10436 10437 * UIProcess/API/gtk/PageClientImpl.cpp: 10438 (WebKit::PageClientImpl::preferencesDidChange): 10439 * UIProcess/API/gtk/PageClientImpl.h: 10440 * UIProcess/API/qt/raw/qrawwebview_p_p.h: 10441 (QRawWebViewPrivate::preferencesDidChange): 10442 * UIProcess/qt/QtPageClient.h: 10443 (WebKit::QtPageClient::preferencesDidChange): 10444 104452013-06-10 Commit Queue <commit-queue@webkit.org> 10446 10447 Unreviewed, rolling out r151411. 10448 http://trac.webkit.org/changeset/151411 10449 https://bugs.webkit.org/show_bug.cgi?id=117453 10450 10451 because it is duplicated with Bug 117441 (Requested by 10452 gyuyoung_ on #webkit). 10453 10454 * UIProcess/efl/WebViewEfl.cpp: 10455 * UIProcess/efl/WebViewEfl.h: 10456 104572013-06-10 Jaehun Lim <ljaehun.lim@samsung.com> 10458 10459 Fix build error and warning 10460 https://bugs.webkit.org/show_bug.cgi?id=117441 10461 10462 Reviewed by Anders Carlsson. 10463 10464 * UIProcess/CoordinatedGraphics/WebView.cpp: 10465 (WebKit::WebView::preferencesDidChange): Added. 10466 (WebKit::WebView::createPopupMenuProxy): Remove 'page'. 10467 * UIProcess/CoordinatedGraphics/WebView.h: 10468 104692013-06-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> 10470 10471 Unreviewed, EFL Build fix after r151403. 10472 10473 Added preferencesDidChange to WebViewEfl. 10474 10475 * UIProcess/efl/WebViewEfl.cpp: 10476 (WebKit::WebViewEfl::preferencesDidChange): 10477 * UIProcess/efl/WebViewEfl.h: 10478 104792013-06-10 Anders Carlsson <andersca@apple.com> 10480 10481 Crash in StorageAreaMap::applyChange when clearing local storage in another web process 10482 https://bugs.webkit.org/show_bug.cgi?id=117440 10483 <rdar://problem/13961548> 10484 10485 Reviewed by Tim Horton. 10486 10487 Add an early return so we won't try to look up a null key in the m_pendingValueChanges map. 10488 Also, fix an assertion - it's fine for m_storageMap to be null in applyChange. 10489 10490 * WebProcess/Storage/StorageAreaMap.cpp: 10491 (WebKit::StorageAreaMap::applyChange): 10492 104932013-06-10 Sergio Correia <sergio.correia@openbossa.org> 10494 10495 [WK2][CoordinatedGraphics] Add default case to switches to fix strict build 10496 https://bugs.webkit.org/show_bug.cgi?id=117416 10497 10498 Reviewed by Noam Rosenthal. 10499 10500 This patch fixes a strict build by asserting on the default case of two 10501 switch statements where gcc was previously complaining of unhandled cases. 10502 10503 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 10504 (CoreIPC::::encode): 10505 (CoreIPC::::decode): 10506 105072013-06-10 Anders Carlsson <andersca@apple.com> 10508 10509 -[WKView _updateWindowAndViewFrames] should avoid updating the view frame in window coordinates if we don't have plugins 10510 https://bugs.webkit.org/show_bug.cgi?id=117420 10511 <rdar://problem/14073034> 10512 10513 Reviewed by Tim Horton. 10514 10515 If plug-ins are disabled there's no need for the web process to know about the view frame in window coordinates so only 10516 send it when plug-ins are enabled. In addition, if accessibility is disabled we don't need to send a message at all. 10517 10518 * UIProcess/API/mac/PageClientImpl.h: 10519 * UIProcess/API/mac/PageClientImpl.mm: 10520 (WebKit::PageClientImpl::preferencesDidChange): 10521 Call through to -[WKView _preferencesDidChange]. 10522 10523 * UIProcess/API/mac/WKView.mm: 10524 (-[WKView _updateWindowAndViewFrames]): 10525 Don't compute viewFrameInWindowCoordinates or accessibilityPosition unless they're required. If neither are required, 10526 don't even send a message to the web process. 10527 10528 (-[WKView _preferencesDidChange]): 10529 Update _needsViewFrameInWindowCoordinates and call -[WKView _updateWindowAndViewFrames] if needed. 10530 10531 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 10532 Set _needsViewFrameInWindowCoordinates based on whether plug-ins are enabled or not. 10533 10534 * UIProcess/WebPageProxy.cpp: 10535 (WebKit::WebPageProxy::preferencesDidChange): 10536 Call the page client. 10537 105382013-06-10 Bear Travis <betravis@adobe.com> 10539 10540 [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code 10541 https://bugs.webkit.org/show_bug.cgi?id=117162 10542 10543 Reviewed by Alexandru Chiculita. 10544 10545 Adding the WebCore/rendering/shapes directory to the include list. 10546 10547 * CMakeLists.txt: 10548 105492013-06-10 Iago Toral Quiroga <itoral@igalia.com> 10550 10551 Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland 10552 https://bugs.webkit.org/show_bug.cgi?id=116717 10553 10554 Reviewed by Martin Robinson. 10555 10556 Decide which implementation of WidgetBackingStore to use (X11 or Cairo) 10557 depending on whether we are running on X11 or not. Select Cairo 10558 implementation when not running in X11. 10559 10560 * UIProcess/cairo/BackingStoreCairo.cpp: 10561 (WebKit): 10562 (WebKit::createBackingStoreForGTK): 10563 (WebKit::BackingStore::incorporateUpdate): 10564 105652013-06-09 Jae Hyun Park <jae.park@company100.net> 10566 10567 [CoordinatedGraphics] Typo in argument decoder for CoordinatedGraphicsState 10568 https://bugs.webkit.org/show_bug.cgi?id=117384 10569 10570 Reviewed by Noam Rosenthal. 10571 10572 For CSS Shaders, it must decode state.customFiltersToRemove instead of 10573 state.updateAtlasesToRemove. 10574 10575 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 10576 (CoreIPC::::decode): 10577 105782013-06-08 Jae Hyun Park <jae.park@company100.net> 10579 10580 [Coordinated Graphics] Pass the ownership of GraphicsSurface explicitly 10581 https://bugs.webkit.org/show_bug.cgi?id=117379 10582 10583 Reviewed by Noam Rosenthal. 10584 10585 When creating WebCoordinatedSurface with GraphicsSurface, it is clearer 10586 to pass the ownership of the created GraphicsSurface explicitly. 10587 10588 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: 10589 (WebKit::WebCoordinatedSurface::create): 10590 105912013-06-07 Anders Carlsson <andersca@apple.com> 10592 10593 Coalesce multiple calls to WebPageProxy::windowAndViewFramesChanged 10594 https://bugs.webkit.org/show_bug.cgi?id=117364 10595 <rdar://problem/14042099> 10596 10597 Reviewed by Geoffrey Garen. 10598 10599 -[WKView _updateWindowAndViewFrames] can be called many times per run loop iteration so coalesce calls 10600 to WebPageProxy::windowAndViewFrames using dispatch_async. 10601 10602 * UIProcess/API/mac/WKView.mm: 10603 (-[WKView _updateWindowAndViewFrames]): 10604 106052013-06-07 Thomas Deniau <deniau@apple.com> 10606 10607 Reproducible crash with triple-finger-tap "define word" gesture on a Netflix video 10608 https://bugs.webkit.org/show_bug.cgi?id=117020 10609 10610 Reviewed by Ryosuke Niwa. 10611 10612 * WebProcess/WebPage/mac/WebPageMac.mm: 10613 (WebKit::WebPage::performDictionaryLookupAtLocation): 10614 Don't invoke the Dictionary lookup when we failed to extract the range of the token 10615 surrounding the tapped position. 10616 106172013-06-07 Enrique Ocana Gonzalez <eocanha@igalia.com> 10618 10619 [GTK] Weird behaviour and no clues to the user when the shared memory file can't be opened 10620 https://bugs.webkit.org/show_bug.cgi?id=117063 10621 10622 Reviewed by Anders Carlsson. 10623 10624 Log error message when the shared memory file can't be opened in 10625 Unix platform using a release build 10626 10627 * Platform/unix/SharedMemoryUnix.cpp: 10628 (WebKit::SharedMemory::create): 10629 106302013-06-07 Grzegorz Czajkowski <g.czajkowski@samsung.com> 10631 10632 [EFL][WK2] Context menu spellchecking items are not available when "Check Spelling While Typing" is off 10633 https://bugs.webkit.org/show_bug.cgi?id=117190 10634 10635 Reviewed by Christophe Dumez. 10636 10637 Context menu items (suggestions, learn and ignore word) are not available 10638 due to missing dictionary. To get the suggestions for the misspelled word, 10639 the dictionary has to be loaded first. 10640 10641 WebKit loads the default dictionary when check spelling while typing is being enabled. 10642 However, context menu spellchecking items should be present even if this setting is off. 10643 10644 * UIProcess/API/efl/ewk_context.cpp: 10645 (EwkContext::EwkContext): 10646 Load the user's default dictionary to ensure context menu spellchecking items. 10647 The dictionary is loaded asynchronously so it shouldn't delay application. 10648 10649 * UIProcess/API/efl/ewk_text_checker.h: 10650 Update doc. Spelling suggestions, learn and ignore word should be available 10651 independently of checking spelling while typing setting. 10652 10653 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 10654 (onContextMenuShow): 10655 (TEST_F): 10656 Add two unit tests to check whether the default dictionary is loaded and 10657 whether the context menu spelling items are available. 10658 10659 * UIProcess/efl/TextCheckerEfl.cpp: 10660 (WebKit::TextChecker::setContinuousSpellCheckingEnabled): 10661 (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged): 10662 Not set the default dictionary while enabling the setting, it's already loaded. 10663 106642013-06-07 Michał Pakuła vel Rutka <m.pakula@samsung.com> 10665 10666 [EFL][WK2] Implement customContextMenuItemSelected 10667 https://bugs.webkit.org/show_bug.cgi?id=117298 10668 10669 Reviewed by Christophe Dumez. 10670 10671 When custom context menu item is selected using ewk API, the feedback is not 10672 sent back to application, as customContextMenuItemSelected was unimplemented in 10673 contextMenuClientEfl. 10674 10675 * UIProcess/API/efl/EwkView.cpp: 10676 (EwkView::customContextMenuItemSelected): 10677 * UIProcess/API/efl/EwkView.h: 10678 * UIProcess/API/efl/ewk_view.h: added custom_item_selected callback. 10679 * UIProcess/efl/ContextMenuClientEfl.cpp: 10680 (customContextMenuItemSelected): 10681 (ContextMenuClientEfl::ContextMenuClientEfl): 10682 106832013-06-06 Oliver Hunt <oliver@apple.com> 10684 10685 Completely initialize ChildProcess state on launch 10686 https://bugs.webkit.org/show_bug.cgi?id=117328 10687 10688 Reviewed by Sam Weinig. 10689 10690 Use setProcessSuppressionEnabledInternal to avoid setProcessSuppressionEnabled 10691 "optimizing" our initialization away. 10692 10693 * Shared/mac/ChildProcessMac.mm: 10694 (WebKit::ChildProcess::platformInitialize): 10695 106962013-06-06 Rafael Brandao <rafael.lobo@openbossa.org> 10697 10698 [Gtk] Connection is leaking when WebProcess is terminated 10699 https://bugs.webkit.org/show_bug.cgi?id=117293 10700 10701 Reviewed by Martin Robinson. 10702 10703 Connection is leaking because WorkQueue::SocketEventSource inherits from 10704 WorkQueue::EventSource but when it is destroyed, the actual destructor running 10705 is the one from base class; however, subclass contains a function binded from 10706 Connection (m_closeFunction) and we need to do this extra cleanup, otherwise 10707 WorkQueue will keep Connection alive. A better explanation of this fix is provided 10708 on http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors 10709 10710 A quick way to see the leak is to change WK2 test "ReloadPageAfterCrash" to terminate 10711 WebProcess N times and add a printf on Connection destructor. 10712 10713 * Platform/gtk/WorkQueueGtk.cpp: 10714 (WorkQueue::EventSource::~EventSource): Adds a virtual destructor to enable 10715 the subclass to do its own cleanup. 10716 107172013-06-06 Jae Hyun Park <jae.park@company100.net> 10718 10719 Coordinated Graphics : Refactor CoordinatedSurface to manage the lifecycle of GraphicsContext 10720 https://bugs.webkit.org/show_bug.cgi?id=108899 10721 10722 Reviewed by Noam Rosenthal. 10723 10724 This is a preparation patch for Threaded Coordinated Graphics. 10725 10726 This patch changes CoordinatedSurface to be responsible for the 10727 lifecycle of GraphicsContext used in Coordinated Graphics System. 10728 CoordinatedImageBacking and UpdateAtlas do not ask for the ownership 10729 of GraphicsContext anymore. Instead, those classes use client pattern to 10730 ask the CoordiantedSurface to paint to the GraphicsContext. 10731 10732 This refactoring is needed to implement CoordinatedSurface for Threaded 10733 Coordinated Graphics. 10734 10735 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: 10736 (WebKit::WebCoordinatedSurface::paintToSurface): 10737 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: 10738 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 10739 (WebKit::CoordinatedLayerTreeHost::paintToSurface): 10740 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 10741 107422013-06-05 Kangil Han <kangil.han@samsung.com> 10743 10744 [EFL][WK2] Fix test_ewk2_view unit test timed out issue 10745 https://bugs.webkit.org/show_bug.cgi?id=117251 10746 10747 Reviewed by Christophe Dumez. 10748 10749 'ewk_view_contents_size_changed' unit test case has been timed out since r150802 because 10750 same size is filtered by WebView class. So create one different test html string that has 10751 different size to continue unit tests. 10752 10753 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 10754 (onContentsSizeChangedPortrait): 10755 (onContentsSizeChangedLandscape): 10756 (TEST_F): 10757 107582013-06-05 Bear Travis <betravis@adobe.com> 10759 10760 [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags 10761 https://bugs.webkit.org/show_bug.cgi?id=117172 10762 10763 Reviewed by Alexandru Chiculita. 10764 10765 Adding the CSS_SHAPES compile flag. 10766 10767 * Configurations/FeatureDefines.xcconfig: 10768 107692013-06-05 Anders Carlsson <andersca@apple.com> 10770 10771 Crash if an IPC connection is invalidated before it's completely set up 10772 https://bugs.webkit.org/show_bug.cgi?id=117274 10773 <rdar://problem/13319035> 10774 10775 Reviewed by Andreas Kling. 10776 10777 Resume our dispatch sources on the connection queue so we won't get invalidation callbacks before 10778 all sources have been set up. 10779 10780 * Platform/CoreIPC/mac/ConnectionMac.cpp: 10781 (CoreIPC::Connection::open): 10782 (CoreIPC::Connection::sendOutgoingMessage): 10783 (CoreIPC::Connection::initializeDeadNameSource): 10784 (CoreIPC::Connection::receiveSourceEventHandler): 10785 107862013-06-05 Tim Horton <timothy_horton@apple.com> 10787 10788 [wk2] WebProcess' page-in-window count can be wrong 10789 https://bugs.webkit.org/show_bug.cgi?id=117106 10790 <rdar://problem/14040991> 10791 10792 Reviewed by Anders Carlsson. 10793 10794 If we're using a single WebProcess and a window is closed, we were 10795 not decrementing the page-in-window count (because we apparently don't 10796 setIsInWindow(false) a WebPage in a closing window before tearing it down). 10797 10798 Turn the page-in-window count into a HashSet of pageIDs instead. 10799 10800 * WebProcess/WebPage/WebPage.cpp: 10801 (WebKit::WebPage::WebPage): 10802 (WebKit::WebPage::setIsInWindow): 10803 Send the pageID instead (this change is just so that I don't need to 10804 fetch the WebPage in WebProcess::removeWebPage). 10805 10806 * WebProcess/WebProcess.cpp: 10807 (WebKit::WebProcess::WebProcess): 10808 Remove m_inWindowPageCount. 10809 10810 (WebKit::WebProcess::removeWebPage): 10811 Ensure that WebPages being torn-down are removed from the in-window WebPage set. 10812 10813 (WebKit::WebProcess::pageDidEnterWindow): 10814 (WebKit::WebProcess::pageWillLeaveWindow): 10815 Use our new HashSet instead of a count. 10816 10817 (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): 10818 Make sure that we don't have any visible pages before doing cleanup. 10819 10820 * WebProcess/WebProcess.h: 10821 Remove m_inWindowPageCount. 10822 Add m_inWindowPageSet. 10823 Make pageDidEnterWindow/pageWillLeaveWindow take pageID instead of WebPage. 10824 108252013-06-05 Tim Horton <timothy_horton@apple.com> 10826 10827 REGRESSION (r148713): Crash under waitForDidUpdateInWindowState 10828 https://bugs.webkit.org/show_bug.cgi?id=117268 10829 <rdar://problem/13822353> 10830 10831 Reviewed by Anders Carlsson. 10832 10833 Check if the WebProcess is valid before waiting for a message from it. 10834 Reset the bool that tells us that we have an outstanding didUpdateInWindowState message if the WebProcess quits. 10835 10836 * UIProcess/WebPageProxy.cpp: 10837 (WebKit::WebPageProxy::waitForDidUpdateInWindowState): 10838 (WebKit::WebPageProxy::resetStateAfterProcessExited): 10839 108402013-06-05 Gwang Yoon Hwang <ryumiel@company100.net> 10841 10842 [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer 10843 https://bugs.webkit.org/show_bug.cgi?id=117222 10844 10845 Reviewed by Noam Rosenthal. 10846 10847 CoordinatedGraphicsLayer::flushCompositingState() will cross frame 10848 boundaries if the GraphicsLayers are connected. In this case, 10849 updateContentBuffers will invoke a painting of a sub-frame that causes 10850 flushCompositingState recursively. 10851 10852 To prevent this behavior this patch extracts updateContentBuffers from 10853 flushCompositingState, and places it in 10854 updateContentBuffersIncludeSublayers, which traverses the tree 10855 separately from flushing the state for painting. 10856 10857 No new tests, covered by existing tests. 10858 10859 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 10860 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges): 10861 108622013-06-05 Gwang Yoon Hwang <ryumiel@company100.net> 10863 10864 [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas. 10865 https://bugs.webkit.org/show_bug.cgi?id=111948 10866 10867 Reviewed by Noam Rosenthal. 10868 10869 This patch renames CoordinatedImageBacking::Coordinator to 10870 CoordinatedImageBacking::Client, and UpdateAtlasClient to 10871 UpdateAtlas::Client for naming consistency and clarification. 10872 10873 No new tests, covered by existing tests. 10874 10875 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 10876 108772013-06-05 Gwang Yoon Hwang <ryumiel@company100.net> 10878 10879 [Coordinated Graphics] Unify messages related object's lifecycles into CoordinatedGraphicsState. 10880 https://bugs.webkit.org/show_bug.cgi?id=111919 10881 10882 Reviewed by Noam Rosenthal. 10883 10884 CoordinatedLayerTreeHostProxy has several methods, which simply passes 10885 these calls to CoordinatedGraphicsScene. 10886 10887 This patch removes methods in CoordinatedLayerTreeHostProxy just for 10888 message chaining. Instead of that, messages for creation/deletion of objects 10889 (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into 10890 CommitCoordinatedGraphicsState. 10891 10892 And this patch also removes codes for WebCoordinatedSurface in 10893 CoordinatedLayerTreeHost, except for a factory method. 10894 CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself 10895 using WebCoordinatedSurface. 10896 10897 No new tests, covered by existing tests. 10898 10899 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 10900 (CoreIPC::encodeCoordinatedSurface): 10901 (CoreIPC::decodeCoordinatedSurface): 10902 (CoreIPC::::encode): 10903 (CoreIPC::::decode): 10904 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 10905 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 10906 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: 10907 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 10908 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges): 10909 (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges): 10910 (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies): 10911 (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy): 10912 (WebKit::CoordinatedLayerTreeHost::detachLayer): 10913 (WebKit::CoordinatedLayerTreeHost::createImageBacking): 10914 (WebKit::CoordinatedLayerTreeHost::updateImageBacking): 10915 (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents): 10916 (WebKit::CoordinatedLayerTreeHost::removeImageBacking): 10917 (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer): 10918 (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas): 10919 (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas): 10920 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 10921 109222013-06-04 Simon Cooper <scooper@apple.com> 10923 10924 Tighten plugin sandbox profiles against symlink attacks 10925 https://bugs.webkit.org/show_bug.cgi?id=117219 10926 <rdar://problem/13044569> 10927 10928 Reviewed by Sam Weinig. 10929 10930 This inserts deny rules for creating symbolic links. The rules are 10931 inserted at the end of sandbox profile compilation by overriding the 10932 finalizer. The initial value of %finalize must be the last function 10933 called. 10934 10935 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 10936 109372013-06-04 Chris Fleizach <cfleizach@apple.com> 10938 10939 AX: WK2: accessibility position is calculated every time window frame is updated 10940 https://bugs.webkit.org/show_bug.cgi?id=117201 10941 10942 Reviewed by Tim Horton. 10943 10944 Only calculate the AX position if AX has already been enabled when updating the 10945 WKView's window and frame. 10946 10947 * UIProcess/API/mac/WKView.mm: 10948 (-[WKView _updateWindowAndViewFrames]): 10949 (-[WKView _accessibilityRegisterUIProcessTokens]): 10950 Don't call accessibilityAttributeValue: here because it could enable accessibility prematurely. 10951 (-[WKView enableAccessibilityIfNecessary]): 10952 After enabling AX for the first time, also update the frame so that the AX position is correct. 10953 (-[WKView accessibilityFocusedUIElement]): 10954 (-[WKView accessibilityHitTest:]): 10955 (-[WKView accessibilityAttributeValue:]): 10956 Tell the AXObjectCache that AX is now enabled. 10957 109582013-06-04 Mark Rowe <mrowe@apple.com> 10959 10960 REGRESSION (r151043): Frequent crashes inside WebPageProxy::getPlugInInformation 10961 <http://webkit.org/b/117180> 10962 10963 Reviewed by Brady Eidson. 10964 10965 * UIProcess/mac/WebPageProxyMac.mm: 10966 (WebKit::WebPageProxy::getPlugInInformation): Return early when plugInProcessProxy is null 10967 since there's nothing we can do. 10968 109692013-06-04 Michał Pakuła vel Rutka <m.pakula@samsung.com> 10970 10971 [EFl][WK2] Sub menu items should be of EWK_SUBMENU_TYPE and not checkable 10972 https://bugs.webkit.org/show_bug.cgi?id=116959 10973 10974 Reviewed by Gyuyoung Kim. 10975 10976 Currently using ewk API it is possible to create a sub menu item which is not an EWK_SUBMENU_TYPE 10977 or set checkable flag for it, while it is not possible for items created by WebKit. 10978 This patch changes ewk context menu API to match WebKit2 behaviour, by creating sub menus with 10979 proper type and checkable flags. 10980 10981 * UIProcess/API/efl/ewk_context_menu_item.cpp: 10982 (ewk_context_menu_item_new_with_submenu): 10983 * UIProcess/API/efl/ewk_context_menu_item.h: 10984 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: 10985 (showContextMenu): 10986 109872013-06-04 Michał Pakuła vel Rutka <m.pakula@samsung.com> 10988 10989 [EFL][WK2] Custom context menu items cannot be selected 10990 https://bugs.webkit.org/show_bug.cgi?id=116830 10991 10992 Reviewed by Gyuyoung Kim. 10993 10994 Custom item added using ewk_context_menu_item_append had no 10995 pointer to parent menu, and custom submenu added using with the 10996 the same function had no pointer to EwkView. Both issues 10997 prevented items to be selected. 10998 10999 * UIProcess/API/efl/ewk_context_menu.cpp: 11000 (EwkContextMenu::appendItem): 11001 (EwkContextMenu::contextMenuItemSelected): 11002 (ewk_context_menu_item_append): 11003 (ewk_context_menu_item_select): 11004 * UIProcess/API/efl/ewk_context_menu_private.h: 11005 (EwkContextMenu): 11006 (EwkContextMenu::setEwkView): 11007 110082013-06-03 Simon Cooper <scooper@apple.com> 11009 11010 Unable to play videos in Safari using QuickTime plug-in until I've played those videos in Chrome first 11011 https://bugs.webkit.org/show_bug.cgi?id=117174 11012 <rdar://problem/13711687> 11013 11014 Reviewed by Alexey Proskuryakov. 11015 11016 Pull in fixes that allow https connections within the plugin 11017 environment. 11018 11019 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 11020 110212013-06-03 Marcelo Lira <marcelo.lira@openbossa.org> 11022 11023 [WK2] REGRESSION(r150798): scrolling coordinator is not being enabled when WebPage is set to use fixed layout 11024 https://bugs.webkit.org/show_bug.cgi?id=117163 11025 11026 Reviewed by Darin Adler. 11027 11028 Moved call to WebPage::settings()->setScrollingCoordinatorEnabled() 11029 from CoordinatedLayerTreeHost constructor to WebPage::setUseFixedLayout(). 11030 The scrolling coordinator must be enabled or disabled following the 11031 WebPage's use of fixed layout. 11032 11033 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 11034 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 11035 * WebProcess/WebPage/WebPage.cpp: 11036 (WebKit::WebPage::setUseFixedLayout): 11037 110382013-06-03 Anders Carlsson <andersca@apple.com> 11039 11040 Send mouse events to the banner for as long as the mouse button is down 11041 https://bugs.webkit.org/show_bug.cgi?id=117161 11042 <rdar://problem/13821220> 11043 11044 Reviewed by Beth Dakin. 11045 11046 Keep track of whether the mouse was pressed in a banner and keep sending mouse events to it, 11047 even if they are outside the banner's bounds for as long as the mouse is down. 11048 11049 * WebProcess/WebPage/PageBanner.h: 11050 * WebProcess/WebPage/mac/PageBannerMac.mm: 11051 (WebKit::PageBanner::PageBanner): 11052 (WebKit::PageBanner::mouseEvent): 11053 110542013-06-03 Sergio Correia <sergio.correia@openbossa.org> 11055 11056 [EFL][WK2] Process launcher uses system() for wrapping the WebProcess when using WEB_PROCESS_CMD_PREFIX 11057 https://bugs.webkit.org/show_bug.cgi?id=105156 11058 11059 Reviewed by Christophe Dumez. 11060 11061 When using WEB_PROCESS_CMD_PREFIX - which allows us for instance to analyze 11062 WebProcess under tools like valgrind or gdb -, the ProcessLauncher would 11063 spawn the new process using system(), which would, among other things, keep 11064 an extra UIProcess waiting and executing the shell. 11065 11066 This patch handles the normal case and the case where we have something to 11067 prefix WebProcess (i.e., by using WEB_PROCESS_CMD_PREFIX in a debug build) 11068 the same way, through a call to execvp(). 11069 11070 To achieve this a function was introduced to create an array with the given 11071 arguments to the full command to be executed, to be used by execvp(). We use 11072 a Vector<OwnArrayPtr<char>>, so that we can take advantage of the destructor 11073 of OwnArrayPtr to handle the memory deallocation when it goes out of scope. 11074 11075 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 11076 (WebKit::createArgsArray): This function creates the array to be used by 11077 execvp(), out of the Strings given as arguments. 11078 (WebKit::ProcessLauncher::launchProcess): Rework the logic to accomodate 11079 both the cases with and without WEB_PROCESS_CMD_PREFIX. The execl() call 11080 was replaced with an execvp() call, since now we should deal with having 11081 a variable number of arguments (WEB_PROCESS_CMD_PREFIX) as well. 11082 110832013-06-02 Arunprasad Rajkumar <arurajku@cisco.com> 11084 11085 [Qt] Move Qt port off legacy clipboard 11086 https://bugs.webkit.org/show_bug.cgi?id=116416 11087 11088 Reviewed by Darin Adler. 11089 11090 * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: 11091 (WebKit::WebDragClient::startDrag): 11092 110932013-06-02 Sergio Correia <sergio.correia@openbossa.org> 11094 11095 [WK2][CoordinatedGraphics]: Use a properly initialized WebPage when creating a PageClient 11096 https://bugs.webkit.org/show_bug.cgi?id=117116 11097 11098 Reviewed by Tim Horton. 11099 11100 Valgrind reported a "conditional jump or move depends on uninitialised value" 11101 at WebPageProxy constructor, when checking the m_isVisible variable inside 11102 the ENABLE(PAGE_VISIBILITY_API) guard. 11103 11104 The issue was tracked down to the WebView constructor, which was creating a 11105 WebKit::PageClient* making use of `this' before having initialized all of its 11106 attributes. 11107 11108 The solution was to move the initialization of the `page' member to inside the 11109 constructor itself - out of the initialization list -, where we can guarantee 11110 all the relevant stuff has already been properly initialized. 11111 11112 Here's the relevant valgrind trace for reference: 11113 11114 Conditional jump or move depends on uninitialised value(s) 11115 at 0x65A35A4: WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient*, 11116 WTF::PassRefPtr<WebKit::WebProcessProxy>, 11117 WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:322) 11118 by 0x65A2BA2: WebKit::WebPageProxy::create(WebKit::PageClient*, 11119 WTF::PassRefPtr<WebKit::WebProcessProxy>, 11120 WebKit::WebPageGroup*, unsigned long) (WebPageProxy.cpp:233) 11121 by 0x65E94BB: WebKit::WebProcessProxy::createWebPage(WebKit::PageClient*, 11122 WebKit::WebContext*, WebKit::WebPageGroup*) 11123 (WebProcessProxy.cpp:172) 11124 by 0x6570957: WebKit::WebContext::createWebPage(WebKit::PageClient*, 11125 WebKit::WebPageGroup*, WebKit::WebPageProxy*) 11126 (WebContext.cpp:735) 11127 by 0x67673E3: WebKit::WebView::WebView(WebKit::WebContext*, 11128 WebKit::WebPageGroup*) (WebView.cpp:52) 11129 by 0x6775F18: WebKit::WebViewEfl::WebViewEfl(WebKit::WebContext*, 11130 WebKit::WebPageGroup*) (WebViewEfl.cpp:54) 11131 by 0x6775EB4: WebKit::WebView::create(WebKit::WebContext*, 11132 WebKit::WebPageGroup*) (WebViewEfl.cpp:49) 11133 by 0x673E13D: WKViewCreate (WKView.cpp:33) 11134 by 0x6763ECE: EWKViewCreate (ewk_view.cpp:92) 11135 11136 * UIProcess/CoordinatedGraphics/WebView.cpp: 11137 (WebKit::WebView::WebView): 11138 111392013-05-31 Gyuyoung Kim <gyuyoung.kim@samsung.com> 11140 11141 [EFL][WK2] Add a null checking condition to in hide() of EwkContextMenu 11142 https://bugs.webkit.org/show_bug.cgi?id=117014 11143 11144 Reviewed by Christophe Dumez. 11145 11146 m_viewImpl is able to be null. So, we need to protect this function against such case. 11147 11148 * UIProcess/API/efl/ewk_context_menu.cpp: 11149 (EwkContextMenu::hide): 11150 (ewk_context_menu_hide): 11151 * UIProcess/API/efl/ewk_context_menu_private.h: 11152 (EwkContextMenu): 11153 111542013-05-31 Oliver Hunt <oliver@apple.com> 11155 11156 Fix bug in active page tracking that lead to plugins hanging during destruction 11157 https://bugs.webkit.org/show_bug.cgi?id=117099 11158 11159 Reviewed by Anders Carlsson. 11160 11161 NPRuntimeObjectMap no longer keeps its own reference to the 11162 throttler, and no longer reports activity during destruction. 11163 11164 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 11165 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap): 11166 (WebKit::NPRuntimeObjectMap::evaluate): 11167 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 11168 * WebProcess/Plugins/PluginView.cpp: 11169 (WebKit::PluginView::PluginView): 11170 111712013-05-31 Tim Horton <timothy_horton@apple.com> 11172 11173 [wk2] All intrinsic content size changes should go through the 0-delay timer 11174 https://bugs.webkit.org/show_bug.cgi?id=117058 11175 <rdar://problem/13935042> 11176 11177 Reviewed by Anders Carlsson. 11178 11179 In r146913, I added a 0-delay timer so that we'd coalesce intrinsic 11180 content size changes. However, didUpdateGeometry was still immediately 11181 invalidating the intrinsic content size without coalescing. 11182 11183 Move that update to the WebProcess to share the timer. 11184 11185 * UIProcess/DrawingAreaProxy.h: 11186 (WebKit::DrawingAreaProxy::didUpdateGeometry): 11187 * UIProcess/DrawingAreaProxy.messages.in: 11188 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 11189 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 11190 (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry): 11191 Remove the newIntrinsicContentSize argument, and don't invalidate intrinsic 11192 content size inside didUpdateGeometry. 11193 11194 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 11195 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 11196 Start the intrinsic content size update timer when we finish updateGeometry. 11197 111982013-05-31 Alexey Proskuryakov <ap@apple.com> 11199 11200 Sandbox violations when trying to access fonts in non-standard locations 11201 https://bugs.webkit.org/show_bug.cgi?id=117097 11202 <rdar://problem/9264746> 11203 11204 Reviewed by Anders Carlsson. 11205 11206 The issue was that lack of a main xib was resulting in font machinery being 11207 initialized too early, before we entered sandbox. 11208 11209 * Resources/WebContentProcess.xib: Added. 11210 * WebKit2.xcodeproj/project.pbxproj: 11211 * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: 11212 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist: 11213 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: 11214 112152013-05-31 Alexey Proskuryakov <ap@apple.com> 11216 11217 <rdar://problem/14036464> Sandbox violation when using Web SpeechSynthesis 11218 11219 Reviewed by Anders Carlsson 11220 11221 * WebProcess/com.apple.WebProcess.sb.in: Allow com.apple.speech.synthesis.console. 11222 112232013-05-31 Jessie Berlin <jberlin@apple.com> 11224 11225 Need the ability to get the information for a plug-in with a particular process id that may 11226 be running on a page 11227 https://bugs.webkit.org/show_bug.cgi?id=117090 11228 11229 Rubber-stamped by Anders Carlsson. 11230 11231 Follow-up to r151043 incorprating some feedback I got from Darin after I had already 11232 committed the patch. 11233 11234 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 11235 (callGetPlugInInformationBlockAndDispose): 11236 Renamed to be less wordy. 11237 (WKPageGetPlugInInformation): 11238 Ditto. 11239 * UIProcess/API/C/mac/WKPagePrivateMac.h: 11240 Ditto. 11241 11242 * UIProcess/Plugins/PluginProcessManager.h: 11243 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: 11244 (WebKit::PluginProcessManager::findPlugInProcessByID): 11245 Renamed to not use "Cocoa method style" in non-Cocoa functions. 11246 (WebKit::PluginProcessManager::findPlugInProcessByToken): 11247 Ditto. 11248 11249 * UIProcess/WebPageProxy.h: 11250 * UIProcess/mac/WebPageProxyMac.mm: 11251 (WebKit::WebPageProxy::getPlugInInformation): 11252 Reduce ref count churn and fix a variable name. 11253 Updated for the change to findPlugInProcessByID. 11254 (WebKit::WebPageProxy::containsPlugInCallback): 11255 Updated for the change to findPlugInProcessByToken. 11256 11257 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: 11258 Move the override of a virtual function to the private section. 11259 112602013-05-31 Jessie Berlin <jberlin@apple.com> 11261 11262 Need the ability to get the information for a plug-in with a particular process id that may 11263 be running on a page 11264 https://bugs.webkit.org/show_bug.cgi?id=117090 11265 11266 Reviewed by Anders Carlsson. 11267 11268 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 11269 (callGetInformationForPlugInWithProcessIDBlockAndDispose): 11270 Get the block from the context, invoke it with the result, and dispose of it. 11271 (WKPageGetInformationForPlugInWithProcessID): 11272 Ask the WebPageProxy and provide it with a dictionary callback that uses the 11273 above function to invoke the passed in block. 11274 * UIProcess/API/C/mac/WKPagePrivateMac.h: 11275 Add WKPageGetInformationForPlugInWithProcessID and a typedef for the callback block. 11276 11277 * UIProcess/Plugins/PluginProcessManager.h: 11278 Add ways to get the PluginProcessProxy associated with a process id or process token. 11279 * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: 11280 (WebKit::PluginProcessManager::plugInProcessWithProcessID): 11281 Return the first PluginProcessProxy with the passed in process ID. 11282 (WebKit::PluginProcessManager::plugInProcessWithToken): 11283 Return the first PluginProcessProxy with the passed in process token. 11284 11285 * UIProcess/WebPageProxy.cpp: 11286 (WebKit::WebPageProxy::close): 11287 Invalidate any outstanding requests for plug-in information. 11288 * UIProcess/WebPageProxy.h: 11289 Keep track of the callbacks for the requests for plug-in information. 11290 * UIProcess/WebPageProxy.messages.in: 11291 * UIProcess/mac/WebPageProxyMac.mm: 11292 (WebKit::WebPageProxy::getInformationForPlugInWithProcessID): 11293 If there are no known plug-ins with the provided process ID, invoke the callback with a null 11294 dictionary of plug-in information. 11295 Otherwise, keep track of the callback and send a message to the web process asking for the 11296 information. 11297 (WebKit::WebPageProxy::containsPlugInCallback): 11298 If the page did not contain the plug-in, invoke the callback with a null dictionary of 11299 plug-in information. 11300 Invoke the callback with a dictionary containing the PlugInModuleInfo. 11301 11302 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 11303 Return 0 for the plugInProcessToken. 11304 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: 11305 Ditto. 11306 * WebProcess/Plugins/Plugin.h: 11307 Add a pure virtual method for plugInProcessToken so it can be accessed from from the Plugin 11308 on the PluginView. 11309 * WebProcess/Plugins/PluginProxy.h: 11310 Return the actual plug-in process token. 11311 11312 * WebProcess/Plugins/PluginView.h: 11313 (WebKit::PluginView::plugIn): 11314 Make it possible to get at the plug-in process token through the Plugin. 11315 11316 * WebProcess/WebPage/WebPageMac.mm: 11317 (WebKit::WebPage::containsPluginViewsWithPluginProcessToken): 11318 If there is an instance of the plug-in with that token, send a confirmation to the ui 11319 process. 11320 * WebProcess/WebPage/WebPage.h: 11321 * WebProcess/WebPage/WebPage.messages.in: 11322 113232013-05-31 Alexey Proskuryakov <ap@apple.com> 11324 11325 REGRESSION (r141445): MPEG-4 videos do not play on certain hardware configurations 11326 https://bugs.webkit.org/show_bug.cgi?id=117089 11327 <rdar://problem/13839717> 11328 11329 Reviewed by Mark Rowe. 11330 11331 * Configurations/WebContentProcess.xcconfig: Statically link to a framework that 11332 uses an XPC service to work around a libxpc limitation on Lion. 11333 113342013-05-31 Dean Jackson <dino@apple.com> 11335 11336 Don't create an accelerated compositing layer unless we have to for snapshotting plug-ins 11337 https://bugs.webkit.org/show_bug.cgi?id=117076 11338 <rdar://problem/14030364> 11339 11340 Reviewed by Beth Dakin and Anders Carlsson. 11341 11342 If a plug-in can support software snapshotting, then don't create an 11343 accelerated compositing layer for it while in snapshot mode. This is a 11344 better user experience -- otherwise the page/plug-in looks like it broke. 11345 11346 * WebProcess/Plugins/PluginView.cpp: 11347 (WebKit::PluginView::isAcceleratedCompositingEnabled): If we are in snapshotting mode 11348 and we are a Flash plugin (the only one that supports software snapshots at the moment) 11349 then do not create an accelerated compositing layer. 11350 113512013-05-30 Tim Horton <timothy_horton@apple.com> 11352 11353 It's easy to hit ASSERT_NOT_REACHED in WKDOMNodeClass 11354 https://bugs.webkit.org/show_bug.cgi?id=117051 11355 11356 Reviewed by Anders Carlsson. 11357 11358 Re-add the ASSERT_NOT_REACHED, and return [WKDOMNode class] in the case 11359 where we don't have a specific subclass. 11360 11361 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: 11362 (WebKit::WKDOMNodeClass): 11363 113642013-05-31 Stephanie Lewis <slewis@apple.com> 11365 11366 Update low memory handler to use new memory pressure notifications on new OS versions. 11367 <rdar://problem/14027095> 11368 11369 Reviewed by Mark Rowe. 11370 11371 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 11372 (InitWebCoreSystemInterface): 11373 113742013-05-30 Tim Horton <timothy_horton@apple.com> 11375 11376 Remove ASSERT_NOT_REACHED from WKDOMNodeClass 11377 https://bugs.webkit.org/show_bug.cgi?id=117051 11378 11379 Reviewed by Anders Carlsson. 11380 11381 It's easy to fail this assertion in seemingly-legitimate cases. 11382 11383 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: 11384 (WebKit::WKDOMNodeClass): 11385 113862013-05-29 Jeffrey Pfau <jpfau@apple.com> 11387 11388 [Mac] Enable cache partitioning and the public suffix list on 10.8 11389 <rdar://problem/13679019> 11390 11391 Rubber-stamped by David Kilzer. 11392 11393 * Configurations/FeatureDefines.xcconfig: 11394 113952013-05-30 Andreas Kling <akling@apple.com> 11396 11397 Fix double hash lookup in WebPage::determinePrimarySnapshottedPlugIn() loop. 11398 <http://webkit.org/b/117032> 11399 11400 Reviewed by Anders Carlsson. 11401 11402 * WebProcess/WebPage/WebPage.cpp: 11403 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): 11404 114052013-05-29 Tim Horton <timothy_horton@apple.com> 11406 11407 Expose incrementalRenderingSuppressionTimeout via WK2 11408 https://bugs.webkit.org/show_bug.cgi?id=117015 11409 <rdar://problem/13992853> 11410 11411 Reviewed by Darin Adler. 11412 11413 * Shared/WebPreferencesStore.h: 11414 * UIProcess/API/C/WKPreferencesPrivate.h: 11415 Add IncrementalRenderingSuppressionTimeout preference. 11416 11417 * UIProcess/API/C/WKPreferences.cpp: 11418 (WKPreferencesSetIncrementalRenderingSuppressionTimeout): Added. 11419 (WKPreferencesGetIncrementalRenderingSuppressionTimeout): Added. 11420 11421 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11422 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11423 (WebKit::WebFrameLoaderClient::forcePageTransitionIfNeeded): Added. 11424 Call didCompletePageTransition, which un-freezes the layer tree. 11425 11426 * WebProcess/WebPage/WebPage.cpp: 11427 (WebKit::WebPage::didCompletePageTransition): 11428 Fix some indentation. 11429 11430 (WebKit::WebPage::updatePreferences): 11431 Forward the timeout value through to WebCore. 11432 114332013-05-29 Simon Fraser <simon.fraser@apple.com> 11434 11435 Fix paint-related milestones to not fire when the layer tree is frozen 11436 https://bugs.webkit.org/show_bug.cgi?id=117012 11437 11438 Reviewed by Tim Horton. 11439 11440 Implement ChromeClient::layerTreeStateIsFrozen() to return 11441 the frozen state of the drawing area. 11442 11443 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11444 (WebKit::WebChromeClient::layerTreeStateIsFrozen): 11445 * WebProcess/WebCoreSupport/WebChromeClient.h: 11446 (WebChromeClient): 11447 114482013-05-29 Anders Carlsson <andersca@apple.com> 11449 11450 WebKit should expose HSTS APIs to determine whether a host is in the HSTS cache and to reset HSTS policies 11451 https://bugs.webkit.org/show_bug.cgi?id=117010 11452 <rdar://problem/13689666> 11453 11454 Reviewed by Tim Horton. 11455 11456 * UIProcess/API/C/mac/WKContextPrivateMac.h: 11457 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 11458 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 11459 * UIProcess/API/C/mac/WKPagePrivateMac.h: 11460 * UIProcess/WebContext.h: 11461 (WebContext): 11462 * UIProcess/mac/WebContextMac.mm: 11463 (WebKit): 11464 (WebKit::privateBrowsingSession): 11465 (WebKit::WebContext::isURLKnownHSTSHost): 11466 (WebKit::WebContext::resetHSTSHosts): 11467 114682013-05-29 Tim Horton <timothy_horton@apple.com> 11469 11470 WKViews using shouldClipToVisibleRect=YES should respect prepareContentInRect: if called 11471 https://bugs.webkit.org/show_bug.cgi?id=116989 11472 <rdar://problem/14007440> 11473 11474 Reviewed by Anders Carlsson. 11475 11476 * UIProcess/API/mac/WKView.mm: 11477 (-[WKView prepareContentInRect:]): 11478 If prepareContentInRect: is called, save the rect and set a flag so we know we should use it. 11479 11480 (-[WKView _updateViewExposedRect]): 11481 Give the WebPage (and later the DrawingArea) the union of the rect handed to prepareContentInRect: 11482 and the WKView's visibleRect, if we're in that mode, so that applications that do their own scrolling 11483 can cause tiles to be created in currently offscreen views (for overdraw). 11484 11485 (-[WKView setFrameSize:]): 11486 (-[WKView _updateWindowAndViewFrames]): 11487 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 11488 (-[WKView enableFrameSizeUpdates]): 11489 (-[WKView setShouldClipToVisibleRect:]): 11490 (-[WKView forceAsyncDrawingAreaSizeUpdate:]): 11491 Use [_updateViewExposedRect]. 11492 114932013-05-28 Oliver Hunt <oliver@apple.com> 11494 11495 Add more accurate activity state tracking 11496 https://bugs.webkit.org/show_bug.cgi?id=116893 11497 11498 Reviewed by Gavin Barraclough. 11499 11500 This extends the logic in WebCore from a Page to Process 11501 granularity, so we will avoid lowering the child process 11502 priority if there is active content. This also plumbs in 11503 the logic to allow plugins to report that they have done 11504 something "interesting". Currently this is somewhat conservative 11505 but even this is sufficient to fix some stuttering issues 11506 that we've seen. 11507 11508 * Shared/ChildProcess.cpp: 11509 (WebKit::ChildProcess::ChildProcess): 11510 * Shared/ChildProcess.h: 11511 (ChildProcess): 11512 (WebKit::ChildProcess::processSuppressionEnabled): 11513 (WebKit::ChildProcess::incrementActiveTaskCount): 11514 (WebKit::ChildProcess::decrementActiveTaskCount): 11515 * Shared/mac/ChildProcessMac.mm: 11516 (WebKit): 11517 (WebKit::ChildProcess::setProcessSuppressionEnabledInternal): 11518 (WebKit::ChildProcess::setProcessSuppressionEnabled): 11519 (WebKit::ChildProcess::incrementActiveTaskCount): 11520 (WebKit::ChildProcess::decrementActiveTaskCount): 11521 (WebKit::ChildProcess::suspensionHysteresisTimerFired): 11522 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 11523 (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap): 11524 (WebKit::NPRuntimeObjectMap::evaluate): 11525 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 11526 (WebCore): 11527 (NPRuntimeObjectMap): 11528 * WebProcess/Plugins/PluginView.cpp: 11529 (WebKit::PluginView::PluginView): 11530 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11531 (WebKit::WebChromeClient::incrementActivePageCount): 11532 (WebKit): 11533 (WebKit::WebChromeClient::decrementActivePageCount): 11534 * WebProcess/WebCoreSupport/WebChromeClient.h: 11535 (WebChromeClient): 11536 115372013-05-29 Anders Carlsson <andersca@apple.com> 11538 11539 Return earlier if there's no session storage namespace 11540 https://bugs.webkit.org/show_bug.cgi?id=116984 11541 <rdar://problem/13976781> 11542 11543 Reviewed by Tim Horton. 11544 11545 If we can't find a session storage namespace, return before creating an entry in the m_storageAreasByConnection 11546 hash map since then we'll crash trying to remove it later. 11547 11548 * UIProcess/Storage/StorageManager.cpp: 11549 (WebKit::StorageManager::createSessionStorageMap): 11550 115512013-05-29 Martin Robinson <mrobinson@igalia.com> 11552 11553 Fix more CMake GTK+ build issues after r150336 11554 11555 * CMakeLists.txt: We need to allow for setting the WebProcess output name, since 11556 WebKitGTK+ expects it to be called WebKitWebProcess. 11557 * PlatformGTK.cmake: No longer set WebProcess_EXECUTABLE_NAME as it's been replaced 11558 by WebKit2_WebProcess_OUTPUT_NAME. 11559 115602013-05-29 Marcelo Lira <marcelo.lira@openbossa.org> 11561 11562 [WK2][CoordinatedGraphics][EFL] WKViewUserViewportToContents() function doesn't do what it says 11563 https://bugs.webkit.org/show_bug.cgi?id=116683 11564 11565 Reviewed by Noam Rosenthal. 11566 11567 WKViewUserViewportToContents now converts WebView coordinates to 11568 page contents coordinates, taking into account factors as content 11569 scale and scroll, and also device scale. 11570 11571 The function WKViewUserViewportToScene was added to convert WebView 11572 coordinates to the coordinates of the canvas/scene where the view 11573 is drawn, and EwkView was fixed to use it, instead of 11574 WKViewUserViewportToContents. 11575 11576 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 11577 (WKViewUserViewportToScene): 11578 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 11579 * UIProcess/API/efl/EwkView.cpp: 11580 (EwkView::createGLSurface): 11581 * UIProcess/CoordinatedGraphics/WebView.cpp: 11582 (WebKit::WebView::userViewportToContents): 11583 (WebKit): 11584 (WebKit::WebView::userViewportToScene): 11585 (WebKit::WebView::transformToScene): 11586 * UIProcess/CoordinatedGraphics/WebView.h: 11587 (WebView): 11588 115892013-05-29 Carlos Garcia Campos <cgarcia@igalia.com> 11590 11591 Unreviewed. Fix make distcheck. 11592 11593 * GNUmakefile.am: Add WebCoreLayerGtk2.a to DISTCLEANFILES. 11594 115952013-05-29 Seokju Kwon <seokju.kwon@gmail.com> 11596 11597 [GTK] Clean up WebKit2 GNUmakefile.am 11598 https://bugs.webkit.org/show_bug.cgi?id=116907 11599 11600 Reviewed by Martin Robinson. 11601 11602 Removed WebNotificationManagerProxy.messages.in after r150785. 11603 11604 * GNUmakefile.am: 11605 116062013-05-28 Alexey Proskuryakov <ap@apple.com> 11607 11608 Freeze when loading a particular page on washingtonpost.com with NetworkProcess enabled 11609 https://bugs.webkit.org/show_bug.cgi?id=116887 11610 <rdar://problem/12965959> 11611 11612 Reviewed by Darin Adler. 11613 11614 * Shared/cf/ArgumentCodersCF.cpp: 11615 (CoreIPC::encode): 11616 (CoreIPC::decode): 11617 Fix for the bug: use good shared WebCore code to manipulate CFURLs. Also, added 11618 a FIXME about empty URLs. 11619 11620 * Shared/API/c/cf/WKURLCF.cpp: (WKURLCreateWithCFURL): Fixed to not use 11621 CFURLGetString, as that could prevent loading certain resources, like ones with 11622 curly braces in resource specifiers. We want KURL normalization, not CFURL one. 11623 116242013-05-28 Tim Horton <timothy_horton@apple.com> 11625 11626 Rendering suppression extension tokens shouldn't be 0, should handle overflow 11627 https://bugs.webkit.org/show_bug.cgi?id=116886 11628 <rdar://problem/14004474> 11629 11630 Reviewed by Darin Adler. 11631 11632 Don't use invalid HashSet values as tokens, and ensure that 11633 we're not already using a token before returning it. 11634 11635 * WebProcess/WebPage/WebPage.cpp: 11636 (WebKit::WebPage::extendIncrementalRenderingSuppression): 11637 116382013-05-28 Lauro Neto <lauro.neto@openbossa.org> 11639 11640 [GTK] Connection issues in repeated WebProcess crash/reloads. 11641 https://bugs.webkit.org/show_bug.cgi?id=115880 11642 11643 Reviewed by Anders Carlsson. 11644 11645 When stressing the WebProcess creation/destruction, WebKitGTK can 11646 often run into socket issues like bad file descriptor errors or 11647 polling a socket indefinitely. 11648 11649 Currently WebKitGTK has three places where a socket can be 11650 closed. 11651 11652 - childFinishedFunction (in ProcessLauncherGtk.cpp) 11653 - Connection::platformInvalidate (in ConnectionUnix.cpp) 11654 - WorkQueue EventSource destruction (in WorkQueueGtk.cpp) 11655 11656 To avoid these race conditions, socket closing will be handled 11657 by the event source callback in WorkQueueGtk.cpp. 11658 11659 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 11660 (CoreIPC::Connection::platformInvalidate): Do not close the socket 11661 when the connection is invalidated, the socket event source is 11662 unregistered in this method and the socket is closed when the 11663 GSocket associated to the event source is destroyed. 11664 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 11665 (WebKit::ProcessLauncher::launchProcess): Do not monitor child 11666 process to close the connection on termination. This was needed in 11667 the past when we used DGRAM sockets, we currently use always 11668 connection oriented sockets, so that when the other end closes 11669 the connection we are notified and the connection is invalidated. 11670 116712013-05-28 Martin Robinson <mrobinson@igalia.com> 11672 11673 Fix GTK+ CMake build 11674 11675 * PlatformGTK.cmake: After r150336, the name of the WebKit2 11676 library target is simply "WebKit2." 11677 116782013-05-28 Marcelo Lira <marcelo.lira@openbossa.org> 11679 11680 [WK2][CoordinatedGraphics] DrawingArea's visible content area must be updated when contents size changes 11681 https://bugs.webkit.org/show_bug.cgi?id=116845 11682 11683 Reviewed by Noam Rosenthal. 11684 11685 * UIProcess/CoordinatedGraphics/WebView.cpp: 11686 (WebKit::WebView::didChangeContentsSize): 11687 116882013-05-28 Noam Rosenthal <noam@webkit.org> 11689 11690 [Qt] REGRESSION(r149292): broke scrolling in Qt WK2 desktop mode 11691 https://bugs.webkit.org/show_bug.cgi?id=116597 11692 11693 ScrollingCoordinatorCoordinatedGraphics is tailored specifically for 11694 fixedLayout mode. When fixedLayout is not set, it should be turned off. 11695 11696 Reviewed by Allan Sandfeld Jensen. 11697 11698 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 11699 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 11700 117012013-05-28 Andreas Kling <akling@apple.com> 11702 11703 Document::setFocusedNode() should be setFocusedElement(). 11704 <http://webkit.org/b/116857> 11705 11706 Reviewed by Antti Koivisto. 11707 11708 * WebProcess/Plugins/PluginView.cpp: 11709 (WebKit::PluginView::focusPluginElement): 11710 * WebProcess/WebPage/WebPage.cpp: 11711 (WebKit::WebPage::focusedPluginViewForFrame): 11712 (WebKit::WebPage::setInitialFocus): 11713 117142013-05-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> 11715 11716 [EFL][WK2] Clean up duplicated include files. 11717 https://bugs.webkit.org/show_bug.cgi?id=116851 11718 11719 Reviewed by Christophe Dumez. 11720 11721 Remove some of duplicated include file in ewk files. 11722 11723 * UIProcess/API/efl/EwkView.h: 11724 * UIProcess/API/efl/ewk_color_picker.cpp: 11725 * UIProcess/API/efl/ewk_context_menu.cpp: 11726 * UIProcess/API/efl/ewk_security_origin_private.h: 11727 117282013-05-28 Ryuan Choi <ryuan.choi@samsung.com> 11729 11730 [EFL] pc files should have harfbuzz dependency. 11731 https://bugs.webkit.org/show_bug.cgi?id=116852 11732 11733 Reviewed by Gyuyoung Kim. 11734 11735 * efl/ewebkit2.pc.in: Added harfbuzz as Required package. 11736 117372013-05-27 Gyuyoung Kim <gyuyoung.kim@samsung.com> 11738 11739 [EFL][WK2] Remove unneeded WebCore namespace use in ewk 11740 https://bugs.webkit.org/show_bug.cgi?id=116707 11741 11742 Reviewed by Christophe Dumez. 11743 11744 * UIProcess/API/efl/ewk_security_origin.cpp: Remove "using namespace WebCore". 11745 * UIProcess/API/efl/ewk_text_checker.cpp: ditto. 11746 117472013-05-26 Jon Lee <jonlee@apple.com> 11748 11749 [WK2] Notifications clobber each other with multiple processes 11750 https://bugs.webkit.org/show_bug.cgi?id=116428 11751 <rdar://problem/13935191> 11752 11753 Reviewed by Darin Adler. 11754 11755 With multiple processes, the notification IDs, when passed up to the UI process, can clobber 11756 each other. To fix this, we need to maintain a global map of notification IDs. This map is 11757 keyed by its own unique notification ID, and maps to a pair containing the web page ID and that 11758 web page's ID for the notification. 11759 11760 Now that we maintain groups of notifications based on the web page, we no longer send IPC messages 11761 from WebNotificationManager to WebNotificationManagerProxy; instead we send messages to the 11762 WebPageProxy. This removes the need for WebNotificationManagerProxy to be a message receiver. 11763 11764 When a page closes, all of the web notifications are cleared out. However, by the time the 11765 WebPage::close() is called, the connection between WebPage and WebPageProxy is destroyed. Since 11766 the WebPage is told to close from the UI process anyway, we clear out the notifications separately, 11767 instead of waiting for a message from the WebPage. 11768 11769 * UIProcess/Notifications/WebNotificationManagerProxy.h: Update to take into account the 11770 notification's web page. Remove inheritance of CoreIPC::MessageReceiver. Expose the original message 11771 handlers as public functions, since they will be called from WebPageProxy. Add a new map that 11772 associates a global ID with a notification ID that came from a web page. 11773 There are now two flavors of clearNotifications(). One clears out all notifications associated 11774 with a web page. This is called when the page is closed. The other clears out a subset of 11775 notifications associated with a web page. This is called when notifications associated with a sub-frame 11776 is closed. 11777 * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Removed. All messages from 11778 the web process go to WebPageProxy now. 11779 11780 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Update to take into account the 11781 notification's web page. 11782 11783 (WebKit::generateGlobalNotificationID): The manager proxy now maintains its own global notification 11784 ID generator. 11785 (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy): The proxy is no longer a 11786 message receiver. Remove code that registers it as such. 11787 11788 (WebKit::WebNotificationManagerProxy::show): Refactor to differentiate between the notification ID 11789 that came from the web process, and the global notification ID the proxy maintains. Add the mapping 11790 from the global ID to the (web page ID, notification ID) pair. 11791 (WebKit::WebNotificationManagerProxy::cancel): Refactor to take into consideration the web page. 11792 (WebKit::WebNotificationManagerProxy::didDestroyNotification): Refactor to take into consideration 11793 the web page. Fixes a leak where we did not remove the item from the maps. This function is called 11794 from the web process, when the ScriptExecutionContext is destroyed, so we remove it from our maps 11795 before we pass the message along to the provider. 11796 11797 Helper functions that evaluate when a given notification in the map matches the desired parameters. 11798 (WebKit::pageIDsMatch): The notification is associated with the provided page. 11799 (WebKit::pageAndNotificationIDsMatch): The notification is associated with the provided page and is 11800 contained within the list of provided notifications. 11801 11802 (WebKit::WebNotificationManagerProxy::clearNotifications): Changed to only remove notifications 11803 associated with the provided web page, and could include a specific list of notifications. This latter 11804 situation occurs if notifications were associated with an iframe, and that iframe was removed. 11805 There is an O(n) walk that could be make more efficient using another hash map, but that's overhead 11806 for a map that should be small in size anyway. 11807 11808 (WebKit::WebNotificationManagerProxy::providerDidShowNotification): Refactor to take into 11809 consideration the web page. 11810 (WebKit::WebNotificationManagerProxy::providerDidClickNotification): Refactor to take into 11811 consideration the web page. 11812 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Now we need to comb through 11813 the list of global IDs and put them in buckets based on the notification's web pages. After that 11814 is done we can send the DidCloseNotifications() to those pages' processes. There is a possible 11815 extra optimization here where we group based on the page's process instead, to reduce the number 11816 of messages sent to processes. 11817 11818 * UIProcess/WebPageProxy.cpp: 11819 (WebKit::WebPageProxy::close): When a web page is closed, we clear the notifications associated 11820 with the page. 11821 (WebKit::WebPageProxy::cancelNotification): Forward call to WebNotificationManagerProxy. 11822 (WebKit::WebPageProxy::clearNotifications): Ditto. 11823 (WebKit::WebPageProxy::didDestroyNotification): Ditto. 11824 * UIProcess/WebPageProxy.h: 11825 * UIProcess/WebPageProxy.messages.in: 11826 11827 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: 11828 * WebProcess/Notifications/WebNotificationManager.cpp: 11829 (WebKit::WebNotificationManager::cancel): 11830 (WebKit::WebNotificationManager::clearNotifications): 11831 (WebKit::WebNotificationManager::didDestroyNotification): 11832 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Remove extraneous include. 11833 11834 * CMakeLists.txt: Remove WebNotificationManagerProxy.messages.in and related files. 11835 * DerivedSources.pri: Ditto. 11836 * DerivedSources.make: Ditto. 11837 * GNUmakefile.list.am: Ditto. 11838 * WebKit2.xcodeproj/project.pbxproj: Ditto. 11839 118402013-05-27 Tim Horton <timothy_horton@apple.com> 11841 11842 Unreviewed build fix take 2. 11843 11844 * WebProcess/Plugins/PDF/PDFPlugin.mm: 11845 118462013-05-27 Tim Horton <timothy_horton@apple.com> 11847 11848 Unreviewed build fix. 11849 11850 * WebProcess/Plugins/PDF/PDFPlugin.mm: 11851 118522013-05-27 Tim Horton <timothy_horton@apple.com> 11853 11854 PDFPlugin: Main-frame PDFPlugin Accessibility 11855 https://bugs.webkit.org/show_bug.cgi?id=116563 11856 <rdar://problem/13458534> 11857 11858 Reviewed by Sam Weinig. 11859 11860 * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: 11861 Forward-declare a variety of accessibility methods. 11862 11863 * WebProcess/Plugins/PDF/PDFPlugin.h: 11864 Add convertFromPDFViewToScreen, boundsOnScreen, accessibilityObject, and 11865 storage for our accessibility wrapper. 11866 * WebProcess/Plugins/PDF/PDFPlugin.mm: 11867 Add WKPDFPluginAccessibilityObject. 11868 11869 (-[WKPDFPluginAccessibilityObject accessibilityIsIgnored]): 11870 We want to be included in the accessibility tree. 11871 11872 (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]): 11873 (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]): 11874 Grab values for accessibility attributes from the relevant sources 11875 (mostly from PDFLayerController). 11876 11877 (-[WKPDFPluginAccessibilityObject readingModel]): Ditto. 11878 (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]): 11879 (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]): 11880 (-[WKPDFPluginAccessibilityObject accessibilityActionNames]): 11881 Return the set of accessibility attributes, actions, and parameterized 11882 attributes that we support. 11883 11884 (-[WKPDFPluginAccessibilityObject accessibilityIsAttributeSettable:]): 11885 (-[WKPDFPluginAccessibilityObject accessibilitySetValue:forAttribute:]): 11886 Forward some other accessibility methods to PDFLayerController. 11887 11888 (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): 11889 (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): 11890 We have no children, so if a hit test makes it to us, it's ours. 11891 11892 (WebKit::PDFPlugin::PDFPlugin): 11893 Make a WKPDFPluginAccessibilityObject and hook it up. 11894 [FIXME: this could use some de-crapifying] 11895 11896 (WebKit::PDFPlugin::convertFromPluginToPDFView): 11897 Transform a point from plugin space to PDFLayerController space. 11898 11899 (WebKit::PDFPlugin::convertFromPDFViewToRootView): 11900 (WebKit::PDFPlugin::convertFromPDFViewToScreen): Added. 11901 (WebKit::PDFPlugin::boundsOnScreen): 11902 Return the PDFPlugin's frame in screen coordinates. 11903 11904 (WebKit::PDFPlugin::accessibilityObject): 11905 Return our accessibility wrapper. 11906 11907 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: 11908 * WebProcess/Plugins/Plugin.h: 11909 (WebKit::Plugin::accessibilityObject): 11910 * WebProcess/Plugins/PluginView.cpp: 11911 (WebKit::PluginView::accessibilityObject): 11912 * WebProcess/Plugins/PluginView.h: 11913 Add accessibilityObject(), to acquire accessibility wrappers from plugins. 11914 11915 * WebProcess/WebPage/WebPage.h: 11916 (WebPage): Add accessibilityObjectForMainFramePlugin(); 11917 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 11918 (-[WKAccessibilityWebPageObject accessibilityRootObjectWrapper]): 11919 If the main frame has a PluginDocument that has an accessibilityObject, 11920 use that one instead of the WebPage's. 11921 11922 * WebProcess/WebPage/mac/WebPageMac.mm: 11923 (WebKit::WebPage::accessibilityObjectForMainFramePlugin): 11924 Return the accessibilityObject from the main-frame PluginDocument, if 11925 there is one. 11926 119272013-05-27 Marcelo Lira <marcelo.lira@openbossa.org> 11928 11929 [WK2][CoordinatedGraphics] Misuse of DrawingAreaProxy::setVisibleContentsRect() in WebView::updateViewportSize() 11930 https://bugs.webkit.org/show_bug.cgi?id=116688 11931 11932 Reviewed by Noam Rosenthal. 11933 11934 Visible contents area passed to DrawingAreaProxy::setVisibleContentsRect() 11935 must be calculated including the page scale factor and avoid crossing the 11936 boundaries of the page contents size. In other words the DrawingArea 11937 must know the actual dimensions of what it being drawn. If the 11938 DrawingArea thinks the visible rectangle is bigger than it is, the 11939 contents will be drawn pixelated and blurry. 11940 11941 * UIProcess/CoordinatedGraphics/WebView.cpp: 11942 (WebKit::WebView::didChangeContentsSize): 11943 (WebKit::WebView::updateViewportSize): 11944 (WebKit::WebView::visibleContentsSize): 11945 (WebKit): 11946 * UIProcess/CoordinatedGraphics/WebView.h: 11947 (WebKit::WebView::contentsSize): 11948 (WebView): 11949 119502013-05-27 Carlos Garcia Campos <cgarcia@igalia.com> 11951 11952 [GTK] WebKitWebView child widgets are not rendered with recent GTK+ 11953 https://bugs.webkit.org/show_bug.cgi?id=116794 11954 11955 Reviewed by Xan Lopez. 11956 11957 Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose 11958 events are not propagated to child GdkWindows anymore, and child 11959 widgets are rendered via gtk_container_propagate_draw(). Since all 11960 our children have its own GdkWindow (auth widget, inspector view 11961 and windowed plugins) we don't propagate the draw signal making 11962 them invisible with current GTK+. 11963 11964 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 11965 (webkitWebViewBaseDraw): Chain up to the parent draw(), so it's 11966 propagated to the children. This shouldn't have any effect in 11967 previous versions of GTK+ because gtk_container_propagate_draw() 11968 returned early when the child widget had its own GdkWindow. 11969 119702013-05-27 Xan Lopez <xlopez@igalia.com> 11971 11972 Reset all clients on WebPage close 11973 https://bugs.webkit.org/show_bug.cgi?id=112334 11974 11975 Reviewed by Anders Carlsson. 11976 11977 We do not reset the clients on WebPage::close(), so there's a 11978 small chance that someone will try to access them after that. This 11979 won't work and will generally cause runtime warnings, crashes or 11980 other issues. Reset them all to null to prevent this situation. 11981 11982 * WebProcess/WebPage/WebPage.cpp: 11983 (WebKit::WebPage::close): 11984 119852013-05-27 Manuel Rego Casasnovas <rego@igalia.com> 11986 11987 [GTK] Notify WebProcess in WebKitURISchemeRequest when we fail to read the user InputStream 11988 https://bugs.webkit.org/show_bug.cgi?id=114347 11989 11990 Reviewed by Carlos Garcia Campos. 11991 11992 While processing a WebKitURISchemeRequest if there is any error reading 11993 the InputStream provided by the user (for example the stream is already 11994 closed) we have to notify the WebProcess that the request has failed. 11995 11996 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 11997 (webkitURISchemeRequestReadCallback): Get the error from 11998 g_input_stream_read_finish() and use it to call 11999 webkit_uri_scheme_request_finish_error() in order to finish the failing 12000 WebKitURISchemeRequest properly. 12001 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 12002 (testWebContextURIScheme): Modify test to check the new situation using 12003 an already closed InputStream. 12004 120052013-05-27 Carlos Garcia Campos <cgarcia@igalia.com> 12006 12007 Unreviewed. Fix make distcheck. 12008 12009 * GNUmakefile.list.am: Add missing header file. 12010 120112013-05-26 Changhun Kang <temoochin@company100.net> 12012 12013 The public WK header file should not include WKAPICast.h 12014 https://bugs.webkit.org/show_bug.cgi?id=115230 12015 12016 Reviewed by Darin Adler. 12017 12018 Otherwise, WebKit internal headers are exposed. 12019 No new tests. No change in behavior. 12020 * UIProcess/API/C/soup/WKSoupRequestManager.h: 12021 * UIProcess/soup/WebSoupRequestManagerClient.h: 12022 120232013-05-26 Andreas Kling <akling@apple.com> 12024 12025 FocusController::setFocusedNode() should be setFocusedElement(). 12026 <http://webkit.org/b/116780> 12027 12028 Reviewed by Antti Koivisto. 12029 12030 * WebProcess/Plugins/PluginView.cpp: 12031 (WebKit::PluginView::focusPluginElement): 12032 120332013-05-25 Andreas Kling <akling@apple.com> 12034 12035 PluginDocument::pluginNode() should be pluginElement() instead. 12036 <http://webkit.org/b/116774> 12037 12038 Reviewed by Anders Carlsson. 12039 12040 * WebProcess/WebPage/WebPage.cpp: 12041 (WebKit::WebPage::focusedPluginViewForFrame): 12042 120432013-05-25 Simon Fraser <simon.fraser@apple.com> 12044 12045 Unprefix Page Visibility API 12046 https://bugs.webkit.org/show_bug.cgi?id=102340 12047 12048 Reviewed by Tim Horton. 12049 12050 Renaming of the "preview" state to "unloaded". 12051 12052 * Shared/API/c/WKPageVisibilityTypes.h: 12053 * Shared/API/c/WKSharedAPICast.h: 12054 (WebKit::toPageVisibilityState): 12055 120562013-05-25 Andreas Kling <akling@apple.com> 12057 12058 Move Node::isMouseFocusable() to Element. 12059 <http://webkit.org/b/116762> 12060 12061 Reviewed by Anders Carlsson. 12062 12063 * WebProcess/WebPage/WebPage.cpp: 12064 (WebKit::WebPage::highlightPotentialActivation): 12065 12066 Check that the potentially activated Node is an Element before asking if it's mouse-focusable. 12067 120682013-05-25 Andreas Kling <akling@apple.com> 12069 12070 REGRESSION: WebProcess is terminated when all Safari windows are closed. 12071 <rdar://problem/13990901> 12072 <http://webkit.org/b/116766> 12073 12074 Reviewed by Alexey Proskuryakov. 12075 12076 When closing the last page, only disconnect the web process if we're using a network process. 12077 Otherwise there might be session state in the web process getting lost. 12078 12079 * UIProcess/WebProcessProxy.cpp: 12080 (WebKit::WebProcessProxy::removeWebPage): 12081 120822013-05-25 Santosh Mahto <santosh.ma@samsung.com> 12083 12084 WebFrameProxy::didFailLoad clears frame title for no apparent reason 12085 https://bugs.webkit.org/show_bug.cgi?id=116655 12086 12087 Reviewed by Alexey Proskuryakov. 12088 12089 * UIProcess/WebFrameProxy.cpp: 12090 (WebKit::WebFrameProxy::didFailLoad): 12091 120922013-05-24 Seokju Kwon <seokju.kwon@gmail.com> 12093 12094 [Qt][GTK] Build fix after r150669 12095 https://bugs.webkit.org/show_bug.cgi?id=116751 12096 12097 Reviewed by Christophe Dumez. 12098 12099 * GNUmakefile.list.am: 12100 * Target.pri: 12101 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 12102 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): 12103 121042013-05-24 Seokju Kwon <seokju.kwon@gmail.com> 12105 12106 [EFL] Build fix after r150669 12107 https://bugs.webkit.org/show_bug.cgi?id=116750 12108 12109 Reviewed by Anders Carlsson. 12110 12111 * CMakeLists.txt: 12112 * WebProcess/Battery/WebBatteryManager.cpp: 12113 (WebKit::WebBatteryManager::registerWebPage): 12114 (WebKit::WebBatteryManager::unregisterWebPage): 12115 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: 12116 (WebKit::WebNetworkInfoManager::registerWebPage): 12117 (WebKit::WebNetworkInfoManager::unregisterWebPage): 12118 (WebKit::WebNetworkInfoManager::bandwidth): 12119 (WebKit::WebNetworkInfoManager::metered): 12120 * WebProcess/WebCoreSupport/WebVibrationClient.cpp: 12121 (WebKit::WebVibrationClient::vibrate): 12122 (WebKit::WebVibrationClient::cancelVibration): 12123 * WebProcess/soup/WebSoupRequestManager.cpp: 12124 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): 12125 (WebKit::WebSoupRequestManager::send): 12126 121272013-05-24 Anders Carlsson <andersca@apple.com> 12128 12129 MessageSender shouldn't be a class template 12130 https://bugs.webkit.org/show_bug.cgi?id=116743 12131 12132 Reviewed by Andreas Kling. 12133 12134 Change MessageSender to be a proper abstract base class. Subclasses of MessageSender must 12135 implement messageSenderConnection() as well as messageSenderDestinationID(). 12136 12137 This reduces code size and will allow us to be more flexible with MessageSender in the future. 12138 12139 * NetworkProcess/NetworkResourceLoader.cpp: 12140 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): 12141 (WebKit::NetworkResourceLoader::messageSenderConnection): 12142 (WebKit): 12143 (WebKit::NetworkResourceLoader::messageSenderDestinationID): 12144 * NetworkProcess/NetworkResourceLoader.h: 12145 (NetworkResourceLoader): 12146 * NetworkProcess/mac/DiskCacheMonitor.h: 12147 (DiskCacheMonitor): 12148 * NetworkProcess/mac/DiskCacheMonitor.mm: 12149 (WebKit::DiskCacheMonitor::messageSenderConnection): 12150 (WebKit::DiskCacheMonitor::messageSenderDestinationID): 12151 (WebKit): 12152 * Platform/CoreIPC/MessageSender.h: 12153 (CoreIPC): 12154 (MessageSender): 12155 (CoreIPC::MessageSender::send): 12156 (CoreIPC::MessageSender::sendSync): 12157 * Shared/ChildProcess.cpp: 12158 (WebKit::ChildProcess::messageSenderConnection): 12159 (WebKit): 12160 (WebKit::ChildProcess::messageSenderDestinationID): 12161 * Shared/ChildProcess.h: 12162 (ChildProcess): 12163 * Shared/Downloads/Download.cpp: 12164 (WebKit::Download::messageSenderConnection): 12165 (WebKit): 12166 (WebKit::Download::messageSenderDestinationID): 12167 * Shared/Downloads/Download.h: 12168 (Download): 12169 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 12170 (WebKit::CustomProtocolManager::initialize): 12171 * Shared/WebConnection.h: 12172 (WebConnection): 12173 * Shared/mac/SecItemShim.cpp: 12174 (WebKit::sendSecItemRequest): 12175 * UIProcess/WebConnectionToWebProcess.cpp: 12176 (WebKit::WebConnectionToWebProcess::hasValidConnection): 12177 (WebKit::WebConnectionToWebProcess::messageSenderConnection): 12178 (WebKit::WebConnectionToWebProcess::messageSenderDestinationID): 12179 * UIProcess/WebConnectionToWebProcess.h: 12180 (WebConnectionToWebProcess): 12181 * WebKit2.xcodeproj/project.pbxproj: 12182 * WebProcess/Geolocation/WebGeolocationManager.cpp: 12183 (WebKit::WebGeolocationManager::registerWebPage): 12184 (WebKit::WebGeolocationManager::unregisterWebPage): 12185 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 12186 (WebKit::WebIconDatabaseProxy::retainIconForPageURL): 12187 (WebKit::WebIconDatabaseProxy::releaseIconForPageURL): 12188 (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL): 12189 (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): 12190 (WebKit::WebIconDatabaseProxy::setIconURLForPageURL): 12191 (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): 12192 * WebProcess/InjectedBundle/InjectedBundle.cpp: 12193 (WebKit::InjectedBundle::postMessage): 12194 (WebKit::InjectedBundle::postSynchronousMessage): 12195 * WebProcess/Network/WebResourceLoader.cpp: 12196 (WebKit::WebResourceLoader::messageSenderConnection): 12197 (WebKit::WebResourceLoader::messageSenderDestinationID): 12198 * WebProcess/Network/WebResourceLoader.h: 12199 (WebResourceLoader): 12200 * WebProcess/Notifications/WebNotificationManager.cpp: 12201 (WebKit::WebNotificationManager::show): 12202 (WebKit::WebNotificationManager::cancel): 12203 (WebKit::WebNotificationManager::clearNotifications): 12204 (WebKit::WebNotificationManager::didDestroyNotification): 12205 * WebProcess/Plugins/PDF/PDFPlugin.mm: 12206 (WebKit::PDFPlugin::writeItemsToPasteboard): 12207 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 12208 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 12209 * WebProcess/Storage/StorageAreaMap.cpp: 12210 (WebKit::StorageAreaMap::StorageAreaMap): 12211 (WebKit::StorageAreaMap::~StorageAreaMap): 12212 (WebKit::StorageAreaMap::setItem): 12213 (WebKit::StorageAreaMap::removeItem): 12214 (WebKit::StorageAreaMap::clear): 12215 (WebKit::StorageAreaMap::loadValuesIfNeeded): 12216 * WebProcess/WebConnectionToUIProcess.cpp: 12217 (WebKit::WebConnectionToUIProcess::hasValidConnection): 12218 (WebKit::WebConnectionToUIProcess::messageSenderConnection): 12219 (WebKit::WebConnectionToUIProcess::messageSenderDestinationID): 12220 * WebProcess/WebConnectionToUIProcess.h: 12221 (WebConnectionToUIProcess): 12222 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12223 (WebKit::WebChromeClient::windowRect): 12224 (WebKit::WebChromeClient::focusedFrameChanged): 12225 (WebKit::WebChromeClient::createWindow): 12226 (WebKit::WebChromeClient::toolbarsVisible): 12227 (WebKit::WebChromeClient::statusbarVisible): 12228 (WebKit::WebChromeClient::menubarVisible): 12229 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): 12230 (WebKit::WebChromeClient::runJavaScriptAlert): 12231 (WebKit::WebChromeClient::runJavaScriptConfirm): 12232 (WebKit::WebChromeClient::runJavaScriptPrompt): 12233 (WebKit::WebChromeClient::shouldInterruptJavaScript): 12234 (WebKit::WebChromeClient::exceededDatabaseQuota): 12235 * WebProcess/WebCoreSupport/WebColorChooser.cpp: 12236 (WebKit::WebColorChooser::WebColorChooser): 12237 (WebKit::WebColorChooser::setSelectedColor): 12238 (WebKit::WebColorChooser::endChooser): 12239 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12240 (WebKit::WebFrameLoaderClient::dispatchDidReceiveIcon): 12241 (WebKit::WebFrameLoaderClient::updateGlobalHistory): 12242 (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): 12243 (WebKit::WebFrameLoaderClient::setTitle): 12244 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 12245 (WebKit::WebPlatformStrategies::populatePluginCache): 12246 (WebKit::WebPlatformStrategies::getTypes): 12247 (WebKit::WebPlatformStrategies::bufferForType): 12248 (WebKit::WebPlatformStrategies::getPathnamesForType): 12249 (WebKit::WebPlatformStrategies::stringForType): 12250 (WebKit::WebPlatformStrategies::copy): 12251 (WebKit::WebPlatformStrategies::changeCount): 12252 (WebKit::WebPlatformStrategies::uniqueName): 12253 (WebKit::WebPlatformStrategies::color): 12254 (WebKit::WebPlatformStrategies::url): 12255 (WebKit::WebPlatformStrategies::addTypes): 12256 (WebKit::WebPlatformStrategies::setTypes): 12257 (WebKit::WebPlatformStrategies::setBufferForType): 12258 (WebKit::WebPlatformStrategies::setPathnamesForType): 12259 (WebKit::WebPlatformStrategies::setStringForType): 12260 * WebProcess/WebCoreSupport/WebPopupMenu.cpp: 12261 (WebKit::WebPopupMenu::show): 12262 (WebKit::WebPopupMenu::hide): 12263 * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: 12264 (WebKit::WebSearchPopupMenu::saveRecentSearches): 12265 (WebKit::WebSearchPopupMenu::loadRecentSearches): 12266 * WebProcess/WebPage/EventDispatcher.cpp: 12267 (WebKit::EventDispatcher::sendDidReceiveEvent): 12268 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 12269 (WebKit::updateBackForwardItem): 12270 (WebKit::WebBackForwardListProxy::itemAtIndex): 12271 (WebKit::WebBackForwardListProxy::backListCount): 12272 (WebKit::WebBackForwardListProxy::forwardListCount): 12273 * WebProcess/WebPage/WebInspector.cpp: 12274 (WebKit::WebInspector::createInspectorPage): 12275 (WebKit::WebInspector::didClose): 12276 (WebKit::WebInspector::bringToFront): 12277 (WebKit::WebInspector::inspectedURLChanged): 12278 (WebKit::WebInspector::save): 12279 (WebKit::WebInspector::append): 12280 (WebKit::WebInspector::attachBottom): 12281 (WebKit::WebInspector::attachRight): 12282 (WebKit::WebInspector::detach): 12283 (WebKit::WebInspector::setAttachedWindowHeight): 12284 (WebKit::WebInspector::setAttachedWindowWidth): 12285 (WebKit::WebInspector::setToolbarHeight): 12286 (WebKit::WebInspector::updateDockingAvailability): 12287 (WebKit::WebInspector::sendMessageToRemoteFrontend): 12288 * WebProcess/WebPage/WebPage.cpp: 12289 (WebKit::WebPage::messageSenderConnection): 12290 (WebKit): 12291 (WebKit::WebPage::messageSenderDestinationID): 12292 * WebProcess/WebPage/WebPage.h: 12293 (WebPage): 12294 * WebProcess/WebPage/mac/WebPageMac.mm: 12295 (WebKit::WebPage::executeKeypressCommandsInternal): 12296 (WebKit::WebPage::handleEditingKeyboardEvent): 12297 * WebProcess/WebProcess.cpp: 12298 (WebKit::WebProcess::ensureNetworkProcessConnection): 12299 (WebKit::WebProcess::shouldTerminate): 12300 123012013-05-24 Tim Horton <timothy_horton@apple.com> 12302 12303 Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting 12304 https://bugs.webkit.org/show_bug.cgi?id=116744 12305 <rdar://problem/13973514> 12306 12307 Reviewed by Simon Fraser. 12308 12309 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 12310 (WebKit::TiledCoreAnimationDrawingArea::resumePainting): 12311 Force WebCore to repaint animated images when painting is resumed. 12312 123132013-05-24 Christophe Dumez <ch.dumez@sisa.samsung.com> 12314 12315 Remove custom code for webkitAudioContext global constructor getter 12316 https://bugs.webkit.org/show_bug.cgi?id=116530 12317 12318 Reviewed by Geoffrey Garen. 12319 12320 Use RuntimeEnabledFeatures instead of WebCore Settings to toggle Web Audio support. 12321 12322 * WebProcess/InjectedBundle/InjectedBundle.cpp: 12323 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 12324 * WebProcess/WebPage/WebPage.cpp: 12325 (WebKit::WebPage::updatePreferences): 12326 123272013-05-24 Thomas Deniau <deniau@apple.com> 12328 12329 Add more lines to the context during Dictionary lookups 12330 https://bugs.webkit.org/show_bug.cgi?id=115256 12331 12332 Reviewed by Ryosuke Niwa. 12333 12334 * WebProcess/WebPage/mac/WebPageMac.mm: 12335 (WebKit::WebPage::performDictionaryLookupAtLocation): 12336 Instead of using the current paragraph as the context (which stops at 12337 line breaks), get a few lines before and after the point, so that the 12338 context contains at least four lines in each direction. 12339 This way the Dictionary will be able to look up things that extend past 12340 the current line. 12341 123422013-05-24 Anders Carlsson <andersca@apple.com> 12343 12344 Intermittent crash when typing in Address Bar 12345 https://bugs.webkit.org/show_bug.cgi?id=116728 12346 <rdar://problem/13976781> 12347 12348 Reviewed by Sam Weinig. 12349 12350 If a web process connection has been removed from the storage manager because we disconnected it 12351 since there were no more active pages associated with the web process, we'll fail to find it here 12352 so just return early instead of crashing. 12353 12354 * UIProcess/Storage/StorageManager.cpp: 12355 (WebKit::StorageManager::destroyStorageMap): 12356 123572013-05-24 Andreas Kling <akling@apple.com> 12358 12359 Typing in Safari's unified field causes unnecessary web content repaints. 12360 <http://webkit.org/b/116703> 12361 12362 Reviewed by Andy Estes. 12363 12364 * WebProcess/WebPage/FindController.cpp: 12365 (WebKit::FindController::countStringMatches): 12366 12367 Call WebCore::Page::countMatchesForText() instead of markAllMatchesForText(). If the search string 12368 is found inside the page content, the renderer containing that text will no longer be repainted. 12369 123702013-05-23 Ryuan Choi <ryuan.choi@samsung.com> 12371 12372 [WK2][EFL][QT] Build break after r150610 12373 https://bugs.webkit.org/show_bug.cgi?id=116699 12374 12375 Reviewed by Csaba Osztrogonác. 12376 12377 * UIProcess/WebPageProxy.cpp: 12378 (WebKit::WebPageProxy::findPlugin): Initialized pluginProcessSandboxPolicy. 12379 123802013-05-23 Anders Carlsson <andersca@apple.com> 12381 12382 Shim Flash plug-in to allow its updater to run 12383 https://bugs.webkit.org/show_bug.cgi?id=116692 12384 <rdar://problem/13938510> 12385 12386 Reviewed by Sam Weinig. 12387 12388 * PluginProcess/PluginProcess.h: 12389 * PluginProcess/mac/PluginProcessMac.mm: 12390 (WebKit::replacedNSConcreteTask_launch): 12391 (WebKit::initializeCocoaOverrides): 12392 Patch -[NSConcreteTask launch] to call PluginProcess::launchProcess. 12393 12394 (WebKit::PluginProcess::launchProcess): 12395 Send a LaunchProcess message to the UI process. 12396 12397 * UIProcess/Plugins/PluginProcessProxy.cpp: 12398 * UIProcess/Plugins/PluginProcessProxy.h: 12399 Remove PluginProcessProxy::didReceiveMessage. 12400 12401 (PluginProcessProxy): 12402 * UIProcess/Plugins/PluginProcessProxy.messages.in: 12403 Add LaunchProcess message and remove LegacyReceiver attribute. 12404 12405 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 12406 (WebKit::isFlashUpdater): 12407 Helper function to determine whether the process is the flash updater. 12408 12409 (WebKit::shouldLaunchProcess): 12410 Return whether we should launch this process. 12411 12412 (WebKit::PluginProcessProxy::launchProcess): 12413 Determine if we should launch this process and then do so. 12414 124152013-05-23 Anders Carlsson <andersca@apple.com> 12416 12417 Don't run all plug-ins unsandboxed 12418 https://bugs.webkit.org/show_bug.cgi?id=116690 12419 <rdar://problem/13975569> 12420 12421 Reviewed by Jessie Berlin. 12422 12423 Remove debugging code. 12424 12425 * UIProcess/WebPageProxy.cpp: 12426 (WebKit::WebPageProxy::findPlugin): 12427 124282013-05-23 Anders Carlsson <andersca@apple.com> 12429 12430 Crash in convertMainResourceLoadToDownload when downloading file by option-return 12431 https://bugs.webkit.org/show_bug.cgi?id=116451 12432 12433 Reviewed by Andreas Kling. 12434 12435 If the main resource loader is null, create a new download instead since there's no existing loader to convert. 12436 12437 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 12438 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): 12439 * WebProcess/WebPage/WebFrame.cpp: 12440 (WebKit::WebFrame::convertMainResourceLoadToDownload): 12441 124422013-05-22 Alexey Proskuryakov <ap@apple.com> 12443 12444 <rdar://problem/13849260> Sandbox violations reading .CFUserTextEncoding 12445 12446 Reviewed by Dan Bernstein. 12447 12448 * WebProcess/com.apple.WebProcess.sb.in: Allow this. 12449 124502013-05-23 Gavin Barraclough <barraclough@apple.com> 12451 12452 Move posix_spawn onto a zero delay timer 12453 https://bugs.webkit.org/show_bug.cgi?id=116682 12454 12455 Reviewed by Anders Carlson. 12456 12457 <rdar://problem/13973468> 12458 12459 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: 12460 (ReexecInfo): 12461 - struct to hold info from the XPC message. 12462 (WebKit::reexec): 12463 - moved call to posix_spawn out to this helper. 12464 (WebKit::reexecCallBack): 12465 - calls reexec. 12466 (WebKit::XPCServiceEventHandler): 12467 - removed call to posix_spawn; schedule a call to reexecCallBack. 12468 124692013-05-23 Csaba Osztrogonác <ossy@webkit.org> 12470 12471 [cmake] Fix generating-forwarding-headers rule after r150460 12472 https://bugs.webkit.org/show_bug.cgi?id=116659 12473 12474 Reviewed by Christophe Dumez. 12475 12476 * CMakeLists.txt: Typo fix. 12477 124782013-05-23 Anton Obzhirov <a.obzhirov@samsung.com> 12479 12480 [GTK] Remote Web Inspector sometimes won't serve any content 12481 https://bugs.webkit.org/show_bug.cgi?id=116225 12482 12483 Reviewed by Gustavo Noronha Silva. 12484 12485 Added an option to use environment variable to set up path to 12486 inspector server files. Implementation is similar to InspectorClientGtk 12487 implementation. 12488 12489 * UIProcess/InspectorServer/WebInspectorServer.h: 12490 (WebInspectorServer): 12491 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 12492 (WebKit::WebInspectorServer::platformResourceForPath): 12493 (WebKit::WebInspectorServer::inspectorServerFilesPath): 12494 (WebKit): 12495 124962013-05-23 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12497 12498 [EFL][WK2] Use WK2 C API in ewk_view_pagination_mode_set|get 12499 https://bugs.webkit.org/show_bug.cgi?id=116657 12500 12501 Reviewed by Christophe Dumez. 12502 12503 WKPageGet|SetPaginationMode APIs is present in WK2 C APIs. So, we need to use them for 12504 ewk_view_pagination_mode_set|get. 12505 12506 Besides we don't need to use WebCore namespace anymore. 12507 12508 * UIProcess/API/efl/ewk_view.cpp: 12509 (ewk_view_pagination_mode_set): 12510 (ewk_view_pagination_mode_get): 12511 125122013-05-23 Roland Takacs <rtakacs@inf.u-szeged.hu> 12513 12514 Support frame instrumentation for coordinated graphics 12515 https://bugs.webkit.org/show_bug.cgi?id=115260 12516 12517 Reviewed by Andreas Kling. 12518 12519 Enabled supportsFrameInstrumentation on ports that use coordinated graphics 12520 by calling didBeginFrame(). 12521 12522 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 12523 (WebKit::WebInspectorClient::supportsFrameInstrumentation): 12524 (WebKit): 12525 * WebProcess/WebCoreSupport/WebInspectorClient.h: 12526 (WebInspectorClient): 12527 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 12528 (WebKit::CoordinatedLayerTreeHost::syncDisplayState): 12529 125302013-05-22 Dean Jackson <dino@apple.com> 12531 12532 Don't snapshot plugins that can't be snapshotted 12533 https://bugs.webkit.org/show_bug.cgi?id=116490 12534 12535 Reviewed by Tim Horton. 12536 12537 Some plugins, such as QuickTime, don't support snapshotting. We're 12538 planning on another way to capture snapshots, but in the meantime make 12539 sure that they don't fail to initialise because they were told to 12540 not use accelerated rendering. 12541 12542 Expose a new message on the plugins so that they can tell the PluginView 12543 if they support snapshotting or not. 12544 12545 * PluginProcess/PluginControllerProxy.cpp: 12546 (WebKit::PluginControllerProxy::supportsSnapshotting): New method. 12547 * PluginProcess/PluginControllerProxy.h: Ditto. 12548 * PluginProcess/PluginControllerProxy.messages.in: Message signature. 12549 12550 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add supportsSnapshotting. 12551 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Ditto. 12552 * WebProcess/Plugins/Plugin.h: Ditto - pure virtual here. 12553 12554 * WebProcess/Plugins/PluginProxy.cpp: 12555 (WebKit::PluginProxy::supportsSnapshotting): Send the message to the plugin process and return the results. 12556 * WebProcess/Plugins/PluginProxy.h: 12557 12558 * WebProcess/Plugins/PluginView.cpp: 12559 (WebKit::PluginView::didInitializePlugin): If the snapshotting plugin has a layer, make 12560 sure to add it to the tree. 12561 (WebKit::PluginView::isAcceleratedCompositingEnabled): Snapshotting plugins can use 12562 accelerated compositing, just like normal plugins. 12563 (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin doesn't allow snapshotting, 12564 immediately restart it. 12565 125662013-05-22 Anders Carlsson <andersca@apple.com> 12567 12568 Fix crash when closing a page that's trying to access session storage 12569 https://bugs.webkit.org/show_bug.cgi?id=116634 12570 <rdar://problem/13904054> 12571 12572 Reviewed by Geoffrey Garen. 12573 12574 It is possible for the StorageManager to get messages from a web page that has already been closed by the UI process. 12575 If that happens, just ignore the messages. 12576 12577 * UIProcess/Storage/StorageManager.cpp: 12578 (WebKit::StorageManager::createSessionStorageMap): 12579 (WebKit::StorageManager::getValues): 12580 (WebKit::StorageManager::setItem): 12581 (WebKit::StorageManager::removeItem): 12582 (WebKit::StorageManager::clear): 12583 (WebKit::StorageManager::destroySessionStorageNamespaceInternal): 12584 125852013-05-22 Alexey Proskuryakov <ap@apple.com> 12586 12587 Crashes in NetworkProcess due to incorrect private browsing session tracking 12588 https://bugs.webkit.org/show_bug.cgi?id=116628 12589 12590 Reviewed by Brady Eidson. 12591 12592 The current API for private browsing makes it extremely difficult to track sessions. 12593 Private browsing is enabled via WKPreferences, but the session is shared, so it 12594 has to be maintained while there is any chance that any page group anywhere still 12595 needs it. 12596 12597 This patch fixes some of the issues, but ultimately, I think that we'll just need 12598 to deprecate and replace the API. 12599 12600 * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::storageSession): 12601 There are valid scenarios where privateBrowsingEnabled is true, but there is no 12602 private browsing session. Handle that without crashing, although this unfortunately 12603 means that it will be harder to spot logic errors when using a wrong session. 12604 (WebKit::NetworkConnectionToWebProcess::registerBlobURL): Removed an obsolete FIXME. 12605 12606 * NetworkProcess/mac/RemoteNetworkingContext.h: Changed privateBrowsingSession() 12607 to return a pointer, as no caller could know when it was safe to call it. 12608 12609 * NetworkProcess/mac/RemoteNetworkingContext.mm: 12610 (WebKit::RemoteNetworkingContext::storageSession): Handle the case where private 12611 browsing session is unexpectedly missing without crashing. 12612 (WebKit::RemoteNetworkingContext::privateBrowsingSession): Changed to return a pointer. 12613 12614 * UIProcess/WebContext.cpp: (WebKit::WebContext::ensureNetworkProcess): 12615 Actually initialize privateBrowsingEnabled creation parameter. It would be very 12616 difficult to figure out 100% reliably whether NetworkProcess needs a private browsing 12617 session with the current API, but for existing clients, looking at 12618 m_privateBrowsingEnterCount is good enough. Certainly better than not initializing. 12619 12620 * WebProcess/InjectedBundle/InjectedBundle.cpp: 12621 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Added a FIXME. 12622 126232013-05-22 Tim Horton <timothy_horton@apple.com> 12624 12625 [wk2] Should be able to make tiled WKViews clip to the view's exposed rect without using autolayout 12626 https://bugs.webkit.org/show_bug.cgi?id=116625 12627 <rdar://problem/13962816> 12628 12629 Reviewed by Anders Carlsson. 12630 12631 The two modes are not dependent; it should be possible to enable 12632 clips-to-exposed-rect without using autolayout. This enables apps to 12633 make very large tiled WKViews that don't create tiles for the whole 12634 area of the view (and also disables scrolling, since that is currently 12635 incompatible with clipping to the exposed rect). 12636 12637 * UIProcess/API/mac/WKView.mm: 12638 (-[WKView setFrameSize:]): 12639 (-[WKView _updateWindowAndViewFrames]): 12640 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 12641 (-[WKView enableFrameSizeUpdates]): 12642 (-[WKView forceAsyncDrawingAreaSizeUpdate:]): 12643 Rename _expandsToFitContentViaAutoLayout to _clipsToVisibleRect for accuracy. 12644 12645 (-[WKView setMinimumWidthForAutoLayout:]): 12646 Factor clips-to-sisible-rect toggle out into setShouldClipToVisibleRect. 12647 12648 (-[WKView shouldClipToVisibleRect]): 12649 (-[WKView setShouldClipToVisibleRect:]): 12650 Allow setting clips-to-visible-rect without autolayout. 12651 12652 * UIProcess/API/mac/WKViewPrivate.h: 12653 Add shouldClipToVisibleRect property. 12654 126552013-05-22 Alexey Proskuryakov <ap@apple.com> 12656 12657 Remove unused private browsing override support 12658 <rdar://problem/11969491> 12659 12660 Rubber-stamped by Sam Weinig. 12661 12662 Private browsing override is unused, and it complicates tracking of private 12663 browsing sessions in UI process (in fact, it doesn't plug into this tracking at all, 12664 so we would just assert if we used the API). 12665 12666 * Shared/WebPageCreationParameters.cpp: 12667 (WebKit::WebPageCreationParameters::encode): 12668 (WebKit::WebPageCreationParameters::decode): 12669 * Shared/WebPageCreationParameters.h: 12670 * UIProcess/API/C/WKPage.cpp: 12671 * UIProcess/API/C/WKPagePrivate.h: 12672 * UIProcess/WebPageProxy.cpp: 12673 (WebKit::WebPageProxy::WebPageProxy): 12674 (WebKit::WebPageProxy::creationParameters): 12675 * UIProcess/WebPageProxy.h: 12676 * WebProcess/WebPage/WebPage.cpp: 12677 (WebKit::WebPage::WebPage): 12678 (WebKit::WebPage::updatePreferences): 12679 * WebProcess/WebPage/WebPage.h: 12680 * WebProcess/WebPage/WebPage.messages.in: 12681 126822013-05-22 Michał Pakuła vel Rutka <m.pakula@samsung.com> 12683 12684 [EFL][WK2] Change Ewk_Context_Menu_Item's parent menu to raw pointer 12685 https://bugs.webkit.org/show_bug.cgi?id=116549 12686 12687 Reviewed by Christophe Dumez. 12688 12689 A context menu item should have only a pointer to parent menu instead 12690 of owning parent menu. 12691 12692 * UIProcess/API/efl/ewk_context_menu_item.cpp: 12693 (EwkContextMenuItem::EwkContextMenuItem): 12694 * UIProcess/API/efl/ewk_context_menu_item_private.h: 12695 (EwkContextMenuItem::create): 12696 (EwkContextMenuItem::parentMenu): 12697 (EwkContextMenuItem): 12698 126992013-05-22 Csaba Osztrogonác <ossy@webkit.org> 12700 12701 [Qt][WK2] Unreviewed buildfix after r150484. 12702 12703 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: 12704 (WebKit::PluginProcessProxy::platformGetLaunchOptions): 12705 127062013-05-21 Andreas Kling <akling@apple.com> 12707 12708 REGRESSION(r150491): WebKit2.CloseThenTerminate asserting below WebContext::disconnectProcess(). 12709 <http://webkit.org/b/116588> 12710 12711 Reviewed by Sam Weinig. 12712 12713 Do an early return from WebProcessProxy::requestTermination() if there is no child process 12714 connection to terminate. 12715 12716 * UIProcess/WebProcessProxy.cpp: 12717 (WebKit::WebProcessProxy::requestTermination): 12718 127192013-05-21 Mark Rowe <mrowe@apple.com> 12720 12721 <rdar://problem/13915556> Sluggish scrolling in web content 12722 12723 Reviewed by Gavin Barraclough. 12724 12725 * Shared/mac/ChildProcessMac.mm: 12726 (WebKit::ChildProcess::setProcessSuppressionEnabled): When process suppression is disabled, low latency is important. 12727 127282013-05-21 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12729 12730 Fix build break after r150484 12731 12732 Unreviewed, fix build break on EFL, GTK. 12733 12734 * UIProcess/Plugins/PluginInfoStore.cpp: 12735 (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin): 12736 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: 12737 (WebKit::PluginProcessProxy::platformGetLaunchOptions): 12738 127392013-05-21 Andreas Kling <akling@apple.com> 12740 12741 PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess. 12742 <http://webkit.org/b/116464> 12743 <rdar://problem/10103795> 12744 12745 Reviewed by Anders Carlsson. 12746 12747 Simplify the web process sacrifice ritual. Instead of murderizing the process when its last tab closes, 12748 just shut down the CoreIPC connection from the UI process. The web process, upon noticing this, 12749 will start a 10 second watchdog timer, and if it hasn't shut down by the time it fires, well, it'll shut down. 12750 12751 (WebKit::WebProcessProxy::removeWebPage): 12752 12753 When the last page is removed from a WebProcessProxy, disconnect the process so that it'll die off 12754 eventually, even if the WebPage::Close message never gets properly handled. 12755 12756 * Shared/ChildProcessProxy.h: 12757 * Shared/ChildProcessProxy.cpp: 12758 (WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded): 12759 12760 Added a helper to abort any in-progress launch of a new web process. Otherwise we'll have a race 12761 where the exiting web process may get re-used for a new tab. 12762 12763 * UIProcess/WebProcessProxy.h: 12764 * UIProcess/WebProcessProxy.cpp: 12765 (WebKit::WebProcessProxy::WebProcessProxy): 12766 (WebKit::WebProcessProxy::enableSuddenTermination): 12767 (WebKit::WebProcessProxy::disableSuddenTermination): 12768 12769 Remove WebProcessProxy's sudden termination counter. The web process will do what it needs in 12770 response to the WebPage::Close message. We still forward these calls to NSProcessInfo on Mac though. 12771 127722013-05-21 Anders Carlsson <andersca@apple.com> 12773 12774 Fix build. 12775 12776 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 12777 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 12778 Stop using lambdas :( 12779 127802013-05-21 Anders Carlsson <andersca@apple.com> 12781 12782 Provide an API to run sandboxed plug-ins outside of their sandbox 12783 https://bugs.webkit.org/show_bug.cgi?id=116578 12784 12785 Reviewed by Andreas Kling. 12786 12787 * Platform/CoreIPC/HandleMessage.h: 12788 (CoreIPC::callMemberFunction): 12789 Add new overload. 12790 12791 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: 12792 (WebKit::PluginProcessMainDelegate::getExtraInitializationData): 12793 Handle "disable-sandbox". 12794 12795 * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: 12796 (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData): 12797 Handle "disable-sandbox". 12798 12799 * PluginProcess/PluginProcess.h: 12800 Move Type to PluginProcessAttributes and remove hash traits for type. 12801 12802 * PluginProcess/mac/PluginProcessMac.mm: 12803 (WebKit::PluginProcess::platformInitializePluginProcess): 12804 Update for new type name. 12805 12806 (WebKit::PluginProcess::initializeSandbox): 12807 Return early if the sandbox is disabled. 12808 12809 * Shared/Plugins/Netscape/PluginInformation.cpp: 12810 (WebKit::getPluginModuleInformation): 12811 PluginInfoStore::policyForPlugin has been renamed to PluginInfoStore::defaultLoadPolicyForPlugin. 12812 12813 * Shared/Plugins/PluginModuleInfo.h: 12814 Add PluginModuleLoadUnsandboxed. 12815 12816 * Shared/Plugins/PluginProcessAttributes.h: Added. 12817 Add new header with various plug-in process attributes. 12818 12819 * Shared/Plugins/PluginProcessCreationParameters.h: 12820 Change type enum. 12821 12822 * UIProcess/API/C/WKAPICast.h: 12823 (WebKit::toWKPluginLoadPolicy): 12824 (WebKit::toPluginModuleLoadPolicy): 12825 Handle the unsandboxed enum. 12826 12827 * UIProcess/API/C/WKPage.h: 12828 Add kWKPluginLoadPolicyLoadUnsandboxed. 12829 12830 * UIProcess/Plugins/PluginInfoStore.h: 12831 Rename policyForPlugin to defaultLoadPolicyForPlugin. 12832 12833 * UIProcess/Plugins/PluginProcessManager.cpp: 12834 (WebKit::PluginProcessManager::pluginProcessToken): 12835 Add new helper function for getting a token given plug-in attributes. 12836 12837 (WebKit::PluginProcessManager::getPluginProcessConnection): 12838 This now takes a pluginProcessToken. 12839 12840 (WebKit::PluginProcessManager::getSitesWithData): 12841 Make sure to call pluginProcessToken. 12842 12843 (WebKit::PluginProcessManager::clearSiteData): 12844 Ditto. 12845 12846 (WebKit::PluginProcessManager::getOrCreatePluginProcess): 12847 This now takes a token. 12848 12849 * UIProcess/Plugins/PluginProcessProxy.cpp: 12850 (WebKit::PluginProcessProxy::create): 12851 (WebKit::PluginProcessProxy::PluginProcessProxy): 12852 Pass the PluginProcessAttributes as well as the plug-in process token. 12853 12854 (WebKit::PluginProcessProxy::getLaunchOptions): 12855 Pass the plug-in process attributes to platformGetLaunchOptions. 12856 12857 (WebKit::PluginProcessProxy::didClose): 12858 Pass the token to PluginProcessCrashed. 12859 12860 (WebKit::PluginProcessProxy::didFinishLaunching): 12861 Update for type change. 12862 12863 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 12864 (WebKit::shouldBlockPlugin): 12865 (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin): 12866 Rename policyForPlugin to defaultLoadPolicyForPlugin. 12867 12868 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 12869 (WebKit::PluginProcessProxy::platformGetLaunchOptions): 12870 Set the "disable-sandbox" data if needed. 12871 12872 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 12873 (WebKit::PluginProcessProxy::openPluginPreferencePane): 12874 Get the module info from m_pluginProcessAttributes. 12875 12876 * UIProcess/WebPageProxy.cpp: 12877 (WebKit::WebPageProxy::findPlugin): 12878 This now returns a token. 12879 12880 * UIProcess/WebPageProxy.messages.in: 12881 FindPlugin now returns a token instead of the path. 12882 12883 * UIProcess/WebProcessProxy.cpp: 12884 (WebKit::WebProcessProxy::getPluginProcessConnection): 12885 Pass the token to the plug-in process manager. 12886 12887 * UIProcess/WebProcessProxy.messages.in: 12888 This now takes a token. 12889 12890 * WebKit2.xcodeproj/project.pbxproj: 12891 Add new files. 12892 12893 * WebProcess/Plugins/PluginProcessConnection.cpp: 12894 (WebKit::PluginProcessConnection::PluginProcessConnection): 12895 This now takes a token. 12896 12897 * WebProcess/Plugins/PluginProcessConnection.h: 12898 (WebKit::PluginProcessConnection::create): 12899 (WebKit::PluginProcessConnection::pluginProcessToken): 12900 Create this with a token instead of a path and process type. 12901 12902 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 12903 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 12904 This now takes a token. 12905 12906 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): 12907 Ditto. 12908 12909 * WebProcess/Plugins/PluginProcessConnectionManager.messages.in: 12910 PluginProcessCrashed now takes a token. 12911 12912 * WebProcess/Plugins/PluginProxy.cpp: 12913 (WebKit::PluginProxy::create): 12914 (WebKit::PluginProxy::PluginProxy): 12915 These now take tokens. 12916 12917 (WebKit::PluginProxy::initialize): 12918 Pass the token when getting the connection. 12919 12920 * WebProcess/WebPage/WebPage.cpp: 12921 (WebKit::WebPage::createPlugin): 12922 Get the token from the UI process and pass it to the PluginProxy. 12923 12924 (WebKit::WebPage::canPluginHandleResponse): 12925 Update now that FindPlugin returns a token. 12926 129272013-05-21 Martin Robinson <mrobinson@igalia.com> 12928 12929 [GTK] [CMake] Add support for building WebKit2 12930 https://bugs.webkit.org/show_bug.cgi?id=116372 12931 12932 Reviewed by Gustavo Noronha Silva. 12933 12934 * CMakeLists.txt: Add common directories to the common include list and remove UIProcess/PageViewportController.cpp 12935 from the source list since it should only be compiled for WebKitEFL. Instead of taking explicit forwarding-header 12936 dependencies accept a list of "tacked-on" dependencies for WebKit2. This allows GTK+ to specify its extra fake 12937 installed header step. 12938 * PlatformEfl.cmake: Remove common include directories and add UIProcess/PageViewportController.cpp to the source 12939 list. Fix up forwarding header dependencies now. 12940 * PlatformGTK.cmake: Added. 12941 * config.h: First check whether this is a CMake build and then fall back to the autotools header. 12942 129432013-05-21 Zan Dobersek <zdobersek@igalia.com> 12944 12945 [GTK] Compile everything in C++11 mode 12946 https://bugs.webkit.org/show_bug.cgi?id=116452 12947 12948 Reviewed by Anders Carlsson. 12949 12950 * GNUmakefile.am: Remove the -std=c++11 flags from the various CPPFLAGS lists, the mode is now specified 12951 by default for all the C++ source code in SetupCompilerFlags.m4. 12952 129532013-05-21 Jessie Berlin <jberlin@apple.com> 12954 12955 Expose a way to know when forms are added to a page or when form controls are added to a form 12956 in the injected bundle 12957 https://bugs.webkit.org/show_bug.cgi?id=116334 12958 12959 Reviewed by Alexey Proskuryakov. 12960 12961 Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient. 12962 12963 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 12964 Add the new callbacks as part of version 2 of the WKBundlePageFormClient. 12965 12966 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 12967 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 12968 Pass the message along to the client if the client has a handler. 12969 (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges): 12970 Ditto. 12971 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 12972 12973 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12974 (WebKit::WebChromeClient::didAssociateFormControls): 12975 Tell the injected bundle form client for the page. 12976 (WebKit::WebChromeClient::shouldNotifyOnFormChanges): 12977 Ditto. 12978 * WebProcess/WebCoreSupport/WebChromeClient.h: 12979 129802013-05-21 Michael Brüning <michael.bruning@digia.com> 12981 12982 [Qt][WK2] Fix Mountain Lion builds after r150277. 12983 https://bugs.webkit.org/show_bug.cgi?id=116467 12984 12985 Reviewed by Jocelyn Turcotte. 12986 12987 * Shared/API/c/WKBase.h: 12988 129892013-05-20 Lucas Forschler <lforschler@apple.com> 12990 12991 Rollout r150398. 12992 129932013-05-20 Zan Dobersek <zdobersek@igalia.com> 12994 12995 [GTK] Fix concatenations of string literals that are not C++11-compliant 12996 https://bugs.webkit.org/show_bug.cgi?id=116449 12997 12998 Reviewed by Martin Robinson. 12999 13000 Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This 13001 is simply a matter of separating the string and the string literal that are being concatenated with a space. 13002 13003 * UIProcess/API/gtk/tests/TestPrinting.cpp: 13004 (testPrintOperationPrint): 13005 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: 13006 (methodCallCallback): 13007 130082013-05-20 Commit Queue <commit-queue@webkit.org> 13009 13010 Unreviewed, rolling out r150384. 13011 http://trac.webkit.org/changeset/150384 13012 https://bugs.webkit.org/show_bug.cgi?id=116513 13013 13014 Not ready for primetime. (Requested by kling on #webkit). 13015 13016 * UIProcess/WebProcessProxy.cpp: 13017 (WebKit::WebProcessProxy::WebProcessProxy): 13018 (WebKit::WebProcessProxy::removeWebPage): 13019 * UIProcess/WebProcessProxy.h: 13020 (WebProcessProxy): 13021 130222013-05-20 Martin Robinson <mrobinson@igalia.com> 13023 13024 Remove SharedMemoryGtk.cpp 13025 https://bugs.webkit.org/show_bug.cgi?id=116457 13026 13027 Reviewed by Andreas Kling. 13028 13029 * Platform/gtk/SharedMemoryGtk.cpp: Removed. 13030 130312013-05-20 Jessie Berlin <jberlin@apple.com> 13032 13033 Expose a way to know when forms are added to a page or when form controls are added to a form 13034 in the injected bundle 13035 https://bugs.webkit.org/show_bug.cgi?id=116334 13036 13037 Reviewed by Alexey Proskuryakov. 13038 13039 Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient. 13040 13041 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 13042 Add the new callbacks as part of version 2 of the WKBundlePageFormClient. 13043 13044 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 13045 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 13046 Pass the message along to the client if the client has a handler. 13047 (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges): 13048 Ditto. 13049 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 13050 13051 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13052 (WebKit::WebChromeClient::didAssociateFormControls): 13053 Tell the injected bundle form client for the page. 13054 (WebKit::WebChromeClient::shouldNotifyOnFormChanges): 13055 Ditto. 13056 * WebProcess/WebCoreSupport/WebChromeClient.h: 13057 130582013-05-20 Tim Horton <timothy_horton@apple.com> 13059 13060 Clients should have a way to extend rendering suppression 13061 https://bugs.webkit.org/show_bug.cgi?id=116463 13062 <rdar://problem/13738496> 13063 13064 Reviewed by Andy Estes. 13065 13066 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 13067 (WKBundlePageExtendIncrementalRenderingSuppression): Added. 13068 (WKBundlePageStopExtendingIncrementalRenderingSuppression): Added. 13069 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 13070 These only have any effect if SuppressesIncrementalRendering is also enabled. 13071 13072 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13073 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 13074 Inform the FrameView if there are any outstanding rendering suppression tokens. 13075 13076 * WebProcess/WebPage/WebPage.cpp: 13077 (WebKit::WebPage::WebPage): 13078 (WebKit::WebPage::extendIncrementalRenderingSuppression): 13079 Return the next available rendering suppression token. 13080 Add it to the list of active tokens. 13081 Inform the FrameView that we want to suppress rendering. 13082 13083 (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression): 13084 Remove the given token from the list of active tokens. 13085 Un-suppress rendering if appropriate. 13086 13087 * WebProcess/WebPage/WebPage.h: 13088 (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression): 13089 Return if there are any active rendering suppression tokens. 13090 130912013-05-20 Andreas Kling <akling@apple.com> 13092 13093 PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess. 13094 <http://webkit.org/b/116464> 13095 <rdar://problem/10103795> 13096 13097 Reviewed by Anders Carlsson. 13098 13099 Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it. 13100 This code only runs if there was something on the page (e.g an unload/beforeunload event handler) 13101 preventing the UI process from killing it right away. 13102 13103 * UIProcess/WebProcessProxy.cpp: 13104 (WebKit::WebProcessProxy::WebProcessProxy): 13105 (WebKit::WebProcessProxy::removeWebPage): 13106 (WebKit::WebProcessProxy::forcefulTerminationTimerFired): 13107 * UIProcess/WebProcessProxy.h: 13108 (WebProcessProxy): 13109 131102013-05-20 Anders Carlsson <andersca@apple.com> 13111 13112 Add helper function for converting a KeyedCodingValue to a CFTypeRef 13113 https://bugs.webkit.org/show_bug.cgi?id=116461 13114 13115 Reviewed by Tim Horton. 13116 13117 * Shared/cf/KeyedCodingValueCF.cpp: Added. 13118 * Shared/cf/KeyedCodingValueCF.h: Added. 13119 13120 * WebKit2.xcodeproj/project.pbxproj: 13121 131222013-05-20 Anders Carlsson <andersca@apple.com> 13123 13124 Begin stubbing out a new KeyedEncoder class 13125 https://bugs.webkit.org/show_bug.cgi?id=116456 13126 13127 Reviewed by Sam Weinig. 13128 13129 This class (and it's coming counterpart, KeyedDecoder) will be used for serializing 13130 object graphs to a tree-like structure of dictionaries. It is up to individual ports to 13131 serialize them further (for example, on Mac they could be serialized to CFPropertyList objects). 13132 13133 This will be used for serializing session storage state but I hope that it can be used for serializing 13134 back forward state in the future as our current implementation of back forward state serialization 13135 is fragile and depends on our IPC layer's binary encoding(!). 13136 13137 * Shared/KeyedCodingValue.h: Added. 13138 * Shared/KeyedEncoder.cpp: Added. 13139 * Shared/KeyedEncoder.h: Added. 13140 13141 * WebKit2.xcodeproj/project.pbxproj: 13142 131432013-05-19 Sam Weinig <sam@webkit.org> 13144 13145 Bump WKBundlePageLoaderClient version number so as not to break some clients 13146 https://bugs.webkit.org/show_bug.cgi?id=116426 13147 13148 Reviewed by Anders Carlsson. 13149 13150 * Shared/APIClientTraits.cpp: 13151 (WebKit): 13152 * Shared/APIClientTraits.h: 13153 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 13154 131552013-05-19 Anders Carlsson <andersca@apple.com> 13156 13157 Remove link prerendering code 13158 https://bugs.webkit.org/show_bug.cgi?id=116415 13159 13160 Reviewed by Darin Adler. 13161 13162 This code was only used by Chromium and is dead now. 13163 13164 * Configurations/FeatureDefines.xcconfig: 13165 131662013-05-18 Anders Carlsson <andersca@apple.com> 13167 13168 Simplify the StorageArea setter functions 13169 https://bugs.webkit.org/show_bug.cgi?id=116402 13170 13171 Reviewed by Sam Weinig. 13172 13173 Remove security checking code that lives in Storage now. 13174 13175 * WebProcess/Storage/StorageAreaImpl.cpp: 13176 (WebKit::StorageAreaImpl::setItem): 13177 (WebKit::StorageAreaImpl::removeItem): 13178 (WebKit::StorageAreaImpl::clear): 13179 * WebProcess/Storage/StorageAreaImpl.h: 13180 131812013-05-18 Sam Weinig <sam@webkit.org> 13182 13183 Fix some builds. 13184 13185 * UIProcess/API/mac/WKTypeRefWrapper.mm: 13186 131872013-05-18 Carlos Garcia Campos <cgarcia@igalia.com> 13188 13189 REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled 13190 https://bugs.webkit.org/show_bug.cgi?id=116389 13191 13192 Reviewed by Martin Robinson. 13193 13194 There's no longer WebKeyValueStorageManager in the web process 13195 after r150305. 13196 13197 * WebProcess/WebPage/WebPageGroupProxy.cpp: 13198 (WebKit::WebPageGroupProxy::WebPageGroupProxy): 13199 132002013-05-17 Sam Weinig <sam@webkit.org> 13201 13202 Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages 13203 https://bugs.webkit.org/show_bug.cgi?id=116345 13204 13205 Reviewed by Anders Carlsson. 13206 13207 In order to efficiently send a WKImageRef to another process when using the 13208 Objective-C WKConnection (or other user data messages), we need a way to encode 13209 WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper. 13210 13211 * Shared/mac/ObjCObjectGraphCoders.mm: 13212 (WebKit::typeFromObject): 13213 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): 13214 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 13215 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): 13216 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): 13217 * UIProcess/API/mac/WKTypeRefWrapper.h: Added. 13218 * UIProcess/API/mac/WKTypeRefWrapper.mm: Added. 13219 (-[WKTypeRefWrapper initWithObject:]): 13220 (-[WKTypeRefWrapper object]): 13221 * WebKit2.xcodeproj/project.pbxproj: 13222 132232013-05-18 Anders Carlsson <andersca@apple.com> 13224 13225 Simplify StorageArea getter functions 13226 https://bugs.webkit.org/show_bug.cgi?id=116399 13227 13228 Reviewed by Sam Weinig. 13229 13230 Remove security and private browsing checks. 13231 13232 * WebProcess/Storage/StorageAreaImpl.cpp: 13233 (WebKit::StorageAreaImpl::key): 13234 (WebKit::StorageAreaImpl::item): 13235 (WebKit::StorageAreaImpl::contains): 13236 * WebProcess/Storage/StorageAreaImpl.h: 13237 132382013-05-18 Patrick Gansterer <paroga@webkit.org> 13239 13240 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME 13241 https://bugs.webkit.org/show_bug.cgi?id=114554 13242 13243 Reviewed by Gyuyoung Kim. 13244 13245 Using variables as target names is very uncommon in CMake. 13246 The usual way to specify the name of the resulting binary 13247 is to set the OUTPUT_NAME target property. 13248 13249 * CMakeLists.txt: 13250 * PlatformEfl.cmake: 13251 * efl/ewebkit2.pc.in: 13252 132532013-05-18 Carlos Garcia Campos <cgarcia@igalia.com> 13254 13255 [GTK] Move GTK port off legacy clipboard 13256 https://bugs.webkit.org/show_bug.cgi?id=116221 13257 13258 Reviewed by Martin Robinson. 13259 13260 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h 13261 include. 13262 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: 13263 (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the 13264 Pasteboard associated to the given Clipboard. 13265 132662013-05-18 Jinwoo Song <jinwoo7.song@samsung.com> 13267 13268 [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API 13269 https://bugs.webkit.org/show_bug.cgi?id=116386 13270 13271 Reviewed by Christophe Dumez. 13272 13273 Refactor the API to handle 'const char*' parameter in right way and 13274 enable the unit test which was disabled in r136230 as there is no assertion now. 13275 13276 * UIProcess/API/efl/EwkView.cpp: 13277 (EwkView::setCustomTextEncodingName): 13278 * UIProcess/API/efl/EwkView.h: 13279 (EwkView::customTextEncodingName): 13280 (EwkView): 13281 * UIProcess/API/efl/ewk_view.cpp: 13282 (ewk_view_custom_encoding_set): 13283 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 13284 (TEST_F): 13285 132862013-05-18 Csaba Osztrogonác <ossy@webkit.org> 13287 13288 [CMake] Unreviewed speculative build fix after r150305 and r150306. 13289 13290 * CMakeLists.txt: 13291 132922013-05-18 Csaba Osztrogonác <ossy@webkit.org> 13293 13294 [Qt][WK2] Unreviewed build fix after r150305 and r150306. 13295 13296 * DerivedSources.pri: 13297 * Target.pri: 13298 132992013-05-18 Zan Dobersek <zdobersek@igalia.com> 13300 13301 Unreviewed build fix for the GTK port after r150305 and r150306. 13302 13303 * GNUmakefile.list.am: 13304 133052013-05-17 Alexey Proskuryakov <ap@apple.com> 13306 13307 <rdar://problem/13819878> Disable SharedWorker when in multiple web process model 13308 https://bugs.webkit.org/show_bug.cgi?id=116359 13309 13310 The condition was accidentally negated, fixing. 13311 13312 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 13313 (WebKit::WebPlatformStrategies::isAvailable): 13314 133152013-05-17 Gavin Barraclough <barraclough@apple.com> 13316 13317 Only allow 1 WebProcess to hold a PageCache 13318 https://bugs.webkit.org/show_bug.cgi?id=116368 13319 <rdar://problem/13392600> 13320 13321 Reviewed by Geoff Garen & Anders Carlson. 13322 13323 * UIProcess/WebContext.cpp: 13324 (WebKit::WebContext::WebContext): 13325 (WebKit::WebContext::processDidSaveToPageCache): 13326 (WebKit): 13327 (WebKit::WebContext::disconnectProcess): 13328 * UIProcess/WebContext.h: 13329 - Added m_processWithPageCache, only allow one process to keep a PageCache. 13330 (WebContext): 13331 * UIProcess/WebPageProxy.cpp: 13332 (WebKit::WebPageProxy::didSaveToPageCache): 13333 (WebKit): 13334 * UIProcess/WebPageProxy.h: 13335 (WebPageProxy): 13336 * UIProcess/WebPageProxy.messages.in: 13337 - Forward didSaveToPageCache to the WebProcessProxy. 13338 * UIProcess/WebProcessProxy.cpp: 13339 (WebKit::WebProcessProxy::addBackForwardItem): 13340 (WebKit::WebProcessProxy::didSaveToPageCache): 13341 (WebKit): 13342 (WebKit::WebProcessProxy::releasePageCache): 13343 - Forward releasePageCache to the WebProcess. 13344 - Forward didSaveToPageCache to the WebContext. 13345 * UIProcess/WebProcessProxy.h: 13346 (WebProcessProxy): 13347 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13348 (WebKit::WebFrameLoaderClient::didSaveToPageCache): 13349 - Forward didSaveToPageCache to the WebPageProxy. 13350 * WebProcess/WebProcess.cpp: 13351 (WebKit::WebProcess::releasePageCache): 13352 (WebKit): 13353 * WebProcess/WebProcess.h: 13354 (WebProcess): 13355 * WebProcess/WebProcess.messages.in: 13356 - Added 'ReleasePageCache' to instruct a web process to drop any cached pages. 13357 133582013-05-17 Anders Carlsson <andersca@apple.com> 13359 13360 Share code between WebKit1 and WebKit2 StorageArea subclasses 13361 https://bugs.webkit.org/show_bug.cgi?id=116367 13362 13363 Reviewed by Andreas Kling. 13364 13365 * WebProcess/Storage/StorageAreaImpl.cpp: 13366 (WebKit::StorageAreaImpl::length): 13367 Remove code that's now in Storage::length. 13368 13369 (WebKit::StorageAreaImpl::storageType): 13370 Make this a virtual member function. 13371 13372 * WebProcess/Storage/StorageAreaImpl.h: 13373 133742013-05-17 Alexey Proskuryakov <ap@apple.com> 13375 13376 <rdar://problem/13819878> Disable SharedWorker when in multiple web process model 13377 https://bugs.webkit.org/show_bug.cgi?id=116359 13378 13379 Reviewed by Anders Carlsson. 13380 13381 Implement SharedWorkerStrategy::isAvailable. 13382 13383 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 13384 (WebKit::WebPlatformStrategies::isAvailable): 13385 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 13386 133872013-05-17 Beth Dakin <bdakin@apple.com> 13388 13389 Headers and footers will sometimes disappear and re-appear during page loads 13390 https://bugs.webkit.org/show_bug.cgi?id=116336 13391 -and corresponding- 13392 <rdar://problem/13886753> 13393 13394 Reviewed by Simon Fraser. 13395 13396 This patch changes the WebCore-level API that WebKit uses to create a banner. 13397 Specifically this patch removes FrameView::setWantsLayerForHeader(), which created 13398 and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the 13399 layer has been created, it will call back into WK2 via ChromeClient. This will 13400 allow WebCore to re-create the header/footer layers as needed whenever the 13401 FrameView/RenderLayerCompositor have been destroyed and recreated. 13402 13403 Send the layers over to PageBanner. 13404 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13405 (WebKit::WebChromeClient::didAddHeaderLayer): 13406 (WebKit::WebChromeClient::didAddFooterLayer): 13407 * WebProcess/WebCoreSupport/WebChromeClient.h: 13408 (WebChromeClient): 13409 13410 PageBanner::addToPage() now does much less work since it can’t get the parent 13411 layer right away. The work that is used to do once it had the parent layer is now 13412 performed in didAddParentLayer() 13413 * WebProcess/WebPage/PageBanner.cpp: 13414 (WebKit::PageBanner::didAddParentLayer): 13415 * WebProcess/WebPage/PageBanner.h: 13416 * WebProcess/WebPage/mac/PageBannerMac.mm: 13417 (WebKit::PageBanner::addToPage): 13418 (WebKit::PageBanner::didAddParentLayer): 13419 134202013-05-17 Anders Carlsson <andersca@apple.com> 13421 13422 Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager 13423 https://bugs.webkit.org/show_bug.cgi?id=116361 13424 13425 Reviewed by Andreas Kling. 13426 13427 There's nothing proxy about this class anymore! 13428 13429 * UIProcess/API/C/WKAPICast.h: 13430 * UIProcess/API/C/WKContext.cpp: 13431 * UIProcess/API/C/WKKeyValueStorageManager.cpp: 13432 * UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp. 13433 * UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h. 13434 * WebKit2.xcodeproj/project.pbxproj: 13435 134362013-05-17 Anders Carlsson <andersca@apple.com> 13437 13438 Remove dead local storage code 13439 https://bugs.webkit.org/show_bug.cgi?id=116360 13440 13441 Reviewed by Beth Dakin. 13442 13443 Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process. 13444 13445 * DerivedSources.make: 13446 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 13447 (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy): 13448 (WebKit): 13449 (WebKit::didGetKeyValueStorageOrigins): 13450 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 13451 * UIProcess/WebKeyValueStorageManagerProxy.h: 13452 (WebKeyValueStorageManagerProxy): 13453 * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed. 13454 * WebKit2.xcodeproj/project.pbxproj: 13455 * WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed. 13456 * WebProcess/Storage/WebKeyValueStorageManager.h: Removed. 13457 * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed. 13458 * WebProcess/WebPage/WebPage.cpp: 13459 (WebKit::WebPage::updatePreferences): 13460 * WebProcess/WebProcess.cpp: 13461 (WebKit::WebProcess::WebProcess): 13462 134632013-05-17 Anders Carlsson <andersca@apple.com> 13464 13465 Use the UI process storage manager for deleting local storage data 13466 https://bugs.webkit.org/show_bug.cgi?id=116358 13467 <rdar://problem/13852829> 13468 13469 Reviewed by Andreas Kling. 13470 13471 * Shared/WebSecurityOrigin.h: 13472 (WebKit::WebSecurityOrigin::protocol): 13473 (WebKit::WebSecurityOrigin::host): 13474 (WebKit::WebSecurityOrigin::databaseIdentifier): 13475 (WebKit::WebSecurityOrigin::toString): 13476 Remove unneeded consts. 13477 13478 (WebKit::WebSecurityOrigin::securityOrigin): 13479 Add getter. 13480 13481 * UIProcess/Storage/LocalStorageDatabase.cpp: 13482 (WebKit::LocalStorageDatabase::close): 13483 deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin. 13484 13485 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 13486 (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin): 13487 Rename since this is no longer used only for empty databases. 13488 13489 (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases): 13490 Loop over the tracker database and delete all database files. 13491 13492 * UIProcess/Storage/StorageManager.cpp: 13493 (WebKit::StorageManager::StorageArea::clear): 13494 Clear the map, close the database and tell all event listeners to reset their caches. 13495 13496 (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin): 13497 Loop over all storage areas and call clear on those matching the security origin. 13498 13499 (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas): 13500 Loop over all storage areas and call clear on them. 13501 13502 (WebKit::StorageManager::deleteEntriesForOrigin): 13503 Dispatch deleteEntriesForOriginInternal on the work queue. 13504 13505 (WebKit::StorageManager::deleteAllEntries): 13506 Dispatch deleteAllEntriesInternal on the work queue. 13507 13508 (WebKit::StorageManager::deleteEntriesForOriginInternal): 13509 Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database. 13510 13511 (WebKit::StorageManager::deleteAllEntriesInternal): 13512 Call clearAllStorageAreas on all local storage namespaces and then delete all databases. 13513 13514 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 13515 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 13516 Call out to the storage manager. 13517 13518 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 13519 Ditto. 13520 13521 * WebProcess/Storage/StorageAreaMap.cpp: 13522 (WebKit::StorageAreaMap::clearCache): 13523 Call resetValues which will null out the storage map. 13524 13525 * WebProcess/Storage/StorageAreaMap.messages.in: 13526 Add ClearCache message. 13527 135282013-05-17 Anders Carlsson <andersca@apple.com> 13529 13530 Only import local storage items from the database once 13531 https://bugs.webkit.org/show_bug.cgi?id=116354 13532 13533 Reviewed by Andreas Kling. 13534 13535 We import items from the database over and over, when we only want to do it once. Use a 13536 boolean flag to guard against doing it more than once. 13537 13538 Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now 13539 also opens the database (even if it doesn't need to import anything). This is preparation for an 13540 upcoming patch where the database will be closed when it's cleared. 13541 13542 * UIProcess/Storage/StorageManager.cpp: 13543 (StorageManager::StorageArea): 13544 (WebKit::StorageManager::StorageArea::StorageArea): 13545 (WebKit::StorageManager::StorageArea::setItem): 13546 (WebKit::StorageManager::StorageArea::removeItem): 13547 (WebKit::StorageManager::StorageArea::clear): 13548 (WebKit::StorageManager::StorageArea::items): 13549 (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded): 13550 135512013-05-17 Alexey Proskuryakov <ap@apple.com> 13552 13553 <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID. 13554 13555 Reviewed by Anders Carlsson. 13556 13557 * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories. 13558 135592013-05-17 Anders Carlsson <andersca@apple.com> 13560 13561 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process 13562 https://bugs.webkit.org/show_bug.cgi?id=116346 13563 <rdar://problem/13852829> 13564 13565 Reviewed by Andreas Kling. 13566 13567 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 13568 (WebKit::LocalStorageDatabaseTracker::origins): 13569 New helper function to return all the tracked origins. 13570 13571 * UIProcess/Storage/StorageManager.cpp: 13572 (WebKit::StorageManager::StorageManager): 13573 Initialize the UTF-8 encoding. 13574 13575 (WebKit::StorageManager::getOrigins): 13576 Call getOriginsInternal on our queue. 13577 13578 (WebKit::callCallbackFunction): 13579 Helper function for calling the callback function. 13580 13581 (WebKit::StorageManager::getOriginsInternal): 13582 Get the origins and make sure we call the callback with the given function dispatcher. 13583 13584 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 13585 (WebKit::didGetKeyValueStorageOriginsCallback): 13586 Construct the array of WebSecurityOrigin objects and call the callback. 13587 13588 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 13589 Call StorageManager::getOrigins. 13590 135912013-05-16 Alexey Proskuryakov <ap@apple.com> 13592 13593 Text input is largely broken when there are subframes loading 13594 http://bugs.webkit.org/show_bug.cgi?id=59121 13595 <rdar://problem/9320468> 13596 13597 Reviewed by Darin Adler. 13598 13599 * UIProcess/PageClient.h: 13600 * UIProcess/API/mac/PageClientImpl.h: 13601 * UIProcess/API/mac/PageClientImpl.mm: 13602 (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state 13603 updating into a separate function. Removed updateTextInputState, we don't need 13604 to go through PageClient to implement its behavior at all. 13605 (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME. 13606 13607 * UIProcess/API/mac/WKView.mm: 13608 * UIProcess/API/mac/WKViewInternal.h: 13609 Removed _updateTextInputStateIncludingSecureInputState. 13610 13611 * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps 13612 to figure out that WebCore decided to close a composition. The issue is that WebCore 13613 would first send an EditorState with hasComposition set to false, and with 13614 shouldIgnoreCompositionSelectionChange set to true, at which time we forget the 13615 previous m_editorState, but can't make any decisions based on this transient state. 13616 We should find a way to simplify this (maybe not send these updates with 13617 shouldIgnoreCompositionSelectionChange at all?) 13618 13619 * UIProcess/WebPageProxy.cpp: 13620 (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition. 13621 (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition 13622 when any frame commits a load, which made no sense (along with surrounding code, 13623 which will unfortunately survive longer). 13624 (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here, 13625 we don't need to go to WKView.mm to implement this logic. Figure out when WebCore 13626 discards a composition, and notify input methods about this. 13627 (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition. 13628 Added some FIXMEs. 13629 136302013-05-17 Manuel Rego Casasnovas <rego@igalia.com> 13631 13632 [WK2] Add support for selectTrailingWhitespaceEnabled setting 13633 https://bugs.webkit.org/show_bug.cgi?id=112426 13634 13635 Reviewed by Ryosuke Niwa. 13636 13637 * Shared/WebPreferencesStore.h: 13638 (WebKit): Add macro for selectTrailingWhitespaceEnabled. 13639 * UIProcess/API/C/WKPreferences.cpp: 13640 (WKPreferencesSetSelectTrailingWhitespaceEnabled): 13641 (WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods 13642 using the new setting. 13643 * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers. 13644 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13645 (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement 13646 method delegating in WebPage. 13647 * WebProcess/WebPage/WebPage.cpp: 13648 (WebKit::WebPage::updatePreferences): Set 13649 selectTrailingWhitespaceEnabled setting. 13650 (WebKit::WebPage::setSmartInsertDeleteEnabled): Set 13651 selectTrailingWhitespaceEnabled as they are mutually exclusive. 13652 (WebKit): 13653 (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method 13654 using settings. 13655 (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method 13656 using settings and set smartInsertDeleteEnabled as they are mutually 13657 exclusive. 13658 * WebProcess/WebPage/WebPage.h: 13659 (WebPage): Add new methods headers. 13660 136612013-05-17 Brady Eidson <beidson@apple.com> 13662 13663 Fix crash introduced by http://trac.webkit.org/changeset/150282 13664 Followup to https://bugs.webkit.org/show_bug.cgi?id=116253 13665 13666 Reviewed by Andreas Kling. 13667 13668 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13669 (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null. 13670 136712013-05-17 Brady Eidson <beidson@apple.com> 13672 13673 Replace WebFrameLoaderClient static_casts with a function that might return null. 13674 https://bugs.webkit.org/show_bug.cgi?id=116253 13675 13676 The general approach here is: 13677 1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null. 13678 2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*> 13679 3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0. 13680 4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT. 13681 13682 Reviewed by Alexey Proskuryakov. 13683 13684 Add the utility function to cast: 13685 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 13686 (WebKit::toWebFrameLoaderClient): 13687 13688 Adopt it everywhere: 13689 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: 13690 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation): 13691 13692 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 13693 (WebKit::InjectedBundleNodeHandle::documentFrame): 13694 (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame): 13695 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame): 13696 13697 * WebProcess/InjectedBundle/InjectedBundle.cpp: 13698 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 13699 13700 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: 13701 (WebKit::InjectedBundleDOMWindowExtension::frame): 13702 13703 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: 13704 (WebKit::InjectedBundleHitTestResult::frame): 13705 (WebKit::InjectedBundleHitTestResult::targetFrame): 13706 13707 * WebProcess/Network/WebResourceLoadScheduler.cpp: 13708 (WebKit::WebResourceLoadScheduler::scheduleLoad): 13709 13710 * WebProcess/Plugins/PluginView.cpp: 13711 (WebKit::webPage): 13712 (WebKit::PluginView::performFrameLoadURLRequest): 13713 13714 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13715 (WebKit::WebChromeClient::focusedNodeChanged): 13716 (WebKit::WebChromeClient::focusedFrameChanged): 13717 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): 13718 (WebKit::WebChromeClient::runJavaScriptAlert): 13719 (WebKit::WebChromeClient::runJavaScriptConfirm): 13720 (WebKit::WebChromeClient::runJavaScriptPrompt): 13721 (WebKit::WebChromeClient::print): 13722 (WebKit::WebChromeClient::exceededDatabaseQuota): 13723 (WebKit::WebChromeClient::runOpenPanel): 13724 13725 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 13726 (WebKit::WebEditorClient::textFieldDidBeginEditing): 13727 (WebKit::WebEditorClient::textFieldDidEndEditing): 13728 (WebKit::WebEditorClient::textDidChangeInTextField): 13729 (WebKit::WebEditorClient::textDidChangeInTextArea): 13730 (WebKit::WebEditorClient::doTextFieldCommandFromEvent): 13731 (WebKit::WebEditorClient::textWillBeDeletedInTextField): 13732 13733 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13734 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent): 13735 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 13736 13737 * WebProcess/WebPage/WebFrame.cpp: 13738 (WebKit::WebFrame::contentsAsString): 13739 (WebKit::WebFrame::parentFrame): 13740 (WebKit::WebFrame::childFrames): 13741 (WebKit::WebFrame::frameForContext): 13742 (WebKit::WebFrameFilter::shouldIncludeSubframe): 13743 13744 * WebProcess/WebPage/WebPage.cpp: 13745 (WebKit::WebPage::mainFrameHasCustomRepresentation): 13746 137472013-05-17 Sam Weinig <sam@webkit.org> 13748 13749 Expose new load-with-userData API to Objective-C 13750 https://bugs.webkit.org/show_bug.cgi?id=116335 13751 13752 Reviewed by Anders Carlsson. 13753 13754 - Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData: 13755 loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData. 13756 - Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped 13757 in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks. 13758 13759 * Shared/API/c/WKBase.h: 13760 * Shared/API/c/WKSharedAPICast.h: 13761 * Shared/API/c/mac/WKBaseMac.h: Added. 13762 * Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added. 13763 * Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added. 13764 (WKObjCTypeWrapperGetTypeID): 13765 (WKObjCTypeWrapperCreate): 13766 (WKObjCTypeWrapperGetObject): 13767 * UIProcess/API/mac/WKBrowsingContextController.h: 13768 * UIProcess/API/mac/WKBrowsingContextController.mm: 13769 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): 13770 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): 13771 (-[WKBrowsingContextController loadRequest:]): 13772 (-[WKBrowsingContextController loadRequest:userData:]): 13773 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]): 13774 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): 13775 (-[WKBrowsingContextController loadHTMLString:baseURL:]): 13776 (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): 13777 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]): 13778 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): 13779 * WebKit2.xcodeproj/project.pbxproj: 13780 137812013-05-17 Sam Weinig <sam@webkit.org> 13782 13783 Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs 13784 https://bugs.webkit.org/show_bug.cgi?id=116325 13785 13786 Reviewed by Simon Fraser. 13787 13788 * UIProcess/API/C/WKPage.cpp: 13789 (WKPageLoadData): 13790 (WKPageLoadDataWithUserData): 13791 Add new SPI. 13792 13793 * UIProcess/API/C/WKPage.h: 13794 * UIProcess/WebPageProxy.cpp: 13795 (WebKit::WebPageProxy::loadData): 13796 * UIProcess/WebPageProxy.h: 13797 Pipe through to the WebProcess. 13798 13799 * WebProcess/WebPage/WebPage.h: 13800 * WebProcess/WebPage/WebPage.messages.in: 13801 * WebProcess/WebPage/WebPage.cpp: 13802 (WebKit::WebPage::loadDataImpl): 13803 (WebKit::WebPage::loadData): 13804 (WebKit::WebPage::loadHTMLString): 13805 (WebKit::WebPage::loadAlternateHTMLString): 13806 (WebKit::WebPage::loadPlainTextString): 13807 (WebKit::WebPage::loadWebArchiveData): 13808 Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict 13809 from IPC magic. 13810 13811 138122013-05-17 Michał Pakuła vel Rutka <m.pakula@samsung.com> 13813 13814 [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item 13815 https://bugs.webkit.org/show_bug.cgi?id=116321 13816 13817 Reviewed by Christophe Dumez. 13818 13819 During sub menu creation, after initializing m_parentMenu, parentMenu 13820 pointer became null which may cause segfaults. This patch fixes it by 13821 using m_parentMenu. 13822 13823 * UIProcess/API/efl/ewk_context_menu_item.cpp: 13824 (EwkContextMenuItem::EwkContextMenuItem): 13825 138262013-05-17 Michał Pakuła vel Rutka <m.pakula@samsung.com> 13827 13828 [EFL][WK2] Support sub menu in ewk context menus 13829 https://bugs.webkit.org/show_bug.cgi?id=114729 13830 13831 Reviewed by Christophe Dumez. 13832 13833 Added submenu support in EwkContextMenu and an API function to receive 13834 Ewk_Context_Menu from submenu context menu item. A test case was added 13835 for new API function. 13836 EwkContextMenu is now an EwkObject allowing multiple instances of submenu 13837 to be used in different submenu type context menu items. 13838 13839 * UIProcess/API/efl/ewk_context_menu_item.cpp: 13840 (EwkContextMenuItem::EwkContextMenuItem): 13841 (ewk_context_menu_item_new): 13842 (ewk_context_menu_item_parent_menu_get): 13843 (ewk_context_menu_item_submenu_get): 13844 * UIProcess/API/efl/ewk_context_menu_item.h: 13845 * UIProcess/API/efl/ewk_context_menu_item_private.h: 13846 (EwkContextMenuItem::create): 13847 (EwkContextMenuItem::parentMenu): 13848 (EwkContextMenuItem::subMenu): 13849 (EwkContextMenuItem): 13850 * UIProcess/API/efl/ewk_context_menu_private.h: 13851 (EwkContextMenu::ewkView): 13852 (EwkContextMenu): 13853 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: 13854 (showContextMenu): 13855 138562013-05-17 Zoltan Arvai <zarvai@inf.u-szeged.hu>, Ádám Kallai <kadam@inf.u-szeged.hu> 13857 13858 [Qt] Unreviewed build fix. 13859 13860 Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest. 13861 13862 * WebProcess/qt/QtBuiltinBundlePage.cpp: 13863 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage): 13864 138652013-05-16 Beth Dakin <bdakin@apple.com> 13866 13867 Remove WKBundlePageGetHeaderLayer/Footer SPI 13868 https://bugs.webkit.org/show_bug.cgi?id=116254 13869 13870 Reviewed by Benjamin Poulain. 13871 13872 We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only 13873 recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer. 13874 13875 * WebKit2.xcodeproj/project.pbxproj: 13876 * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed. 13877 * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed. 13878 * WebProcess/WebPage/WebPage.h: 13879 (WebPage): 13880 * WebProcess/WebPage/mac/WebPageMac.mm: 13881 (WebKit): 13882 (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange): 13883 138842013-05-14 Sam Weinig <sam@webkit.org> 13885 13886 Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them 13887 https://bugs.webkit.org/show_bug.cgi?id=116132 13888 13889 Reviewed by Anders Carlsson. 13890 13891 Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions, 13892 willLoadURLRequest and willLoadDataRequest to let the bundle access them. 13893 13894 Adds WebKit2WillLoadTest.* API tests. 13895 13896 * UIProcess/API/C/WKPage.cpp: 13897 (WKPageLoadURLWithUserData): 13898 (WKPageLoadURLRequestWithUserData): 13899 (WKPageLoadFile): 13900 (WKPageLoadFileWithUserData): 13901 (WKPageLoadHTMLStringWithUserData): 13902 (WKPageLoadAlternateHTMLStringWithUserData): 13903 (WKPageLoadPlainTextStringWithUserData): 13904 (WKPageLoadWebArchiveDataWithUserData): 13905 * UIProcess/API/C/WKPage.h: 13906 * UIProcess/WebPageProxy.cpp: 13907 * UIProcess/WebPageProxy.h: 13908 (WebPageProxy): 13909 * WebKit2.xcodeproj/project.pbxproj: 13910 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 13911 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 13912 (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest): 13913 (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest): 13914 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 13915 (WebCore): 13916 (InjectedBundlePageLoaderClient): 13917 * WebProcess/WebPage/WebPage.cpp: 13918 * WebProcess/WebPage/WebPage.h: 13919 * WebProcess/WebPage/WebPage.messages.in: 13920 139212013-05-16 Manuel Rego Casasnovas <rego@igalia.com> 13922 13923 [GTK] Fix memory leak in WebKitBackForwardList 13924 https://bugs.webkit.org/show_bug.cgi?id=116222 13925 13926 Reviewed by Carlos Garcia Campos. 13927 13928 Due to the use of leakRef() the ImmutableArray is not being released 13929 automatically. Adding a local variable in the methods to make sure that 13930 the ImmutableArray is freed. 13931 13932 * UIProcess/API/gtk/WebKitBackForwardList.cpp: 13933 (webkit_back_forward_list_get_back_list_with_limit): Add local variable 13934 RefPtr and pass the ImmutableArray to 13935 WebKitBackForwardList::webkitBackForwardListCreateList() using 13936 RefPtr::get(). 13937 (webkit_back_forward_list_get_forward_list_with_limit): Ditto. 13938 139392013-05-16 Commit Queue <commit-queue@webkit.org> 13940 13941 Unreviewed, rolling out r150034. 13942 http://trac.webkit.org/changeset/150034 13943 https://bugs.webkit.org/show_bug.cgi?id=116257 13944 13945 This work around doesn't work due to another bug NSUndoManager 13946 has (Requested by rniwa on #webkit). 13947 13948 * UIProcess/API/mac/PageClientImpl.mm: 13949 (WebKit::PageClientImpl::registerEditCommand): 13950 139512013-05-16 Tim Horton <timothy_horton@apple.com> 13952 13953 PDFPlugins don't load when plugins are disabled, but they should 13954 https://bugs.webkit.org/show_bug.cgi?id=75790 13955 <rdar://problem/11650197> 13956 13957 Reviewed by Anders Carlsson. 13958 13959 Support loading "application" plug-ins even if plug-ins are explicitly disabled. 13960 13961 Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can 13962 be loaded even if plug-ins are disabled. 13963 13964 * Platform/CoreIPC/HandleMessage.h: 13965 (CoreIPC::callMemberFunction): 13966 Add a 5-argument, 3-reply version of callMemberFunction. 13967 13968 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 13969 (WebKit::NetscapePluginModule::getPluginInfo): 13970 NPAPI plug-ins are not application plug-ins. 13971 13972 * Shared/WebCoreArgumentCoders.cpp: 13973 (CoreIPC::::encode): 13974 (CoreIPC::::decode): 13975 Encode/decode the new isApplicationPlugin field on PluginInfo. 13976 13977 * UIProcess/Plugins/PluginInfoStore.cpp: 13978 (WebKit::PluginInfoStore::findPluginForMIMEType): 13979 (WebKit::PluginInfoStore::findPluginForExtension): 13980 (WebKit::PluginInfoStore::findPlugin): 13981 * UIProcess/Plugins/PluginInfoStore.h: 13982 (PluginInfoStore): 13983 Give PluginInfoStore's findPlugin method and its private helper 13984 methods an argument allowing them to only match application plug-ins. 13985 13986 (WebKit::WebPageProxy::findPlugin): 13987 * UIProcess/WebPageProxy.h: 13988 (WebPageProxy): 13989 * UIProcess/WebPageProxy.messages.in: 13990 Add an argument allowing findPlugin to restrict its search to only application plug-ins. 13991 13992 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13993 (WebKit::WebFrameLoaderClient::objectContentType): 13994 Previously, this caller depended on pluginData() returning null if 13995 plug-ins were disabled. Since that is no longer the case, we have to 13996 check if we can use plug-ins, and otherwise ignore non-application-plug-ins. 13997 13998 * WebProcess/WebPage/WebPage.cpp: 13999 (WebKit::WebPage::createPlugin): 14000 When going to search for a plug-in, ask subframeLoader whether or not 14001 it's OK to use ordinary non-application plug-ins, and pass that information 14002 on to the UIProcess when performing the search. 14003 14004 (WebKit::WebPage::canPluginHandleResponse): Ditto. 14005 (WebKit::WebPage::canShowMIMEType): 14006 Ensure that canShowMIMEType returns true if we have an application plug-in 14007 that can display a particular MIME type, even if we're not allowed to load plug-ins. 14008 140092013-05-16 Michał Pakuła vel Rutka <m.pakula@samsung.com> 14010 14011 [EFL][WK2] Make Ewk_Context_Menu Ewk_Object 14012 https://bugs.webkit.org/show_bug.cgi?id=116097 14013 14014 Reviewed by Gyuyoung Kim. 14015 14016 Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu 14017 object can be shared between different modules. 14018 14019 * UIProcess/API/efl/EwkView.cpp: 14020 (EwkView::showContextMenu): 14021 * UIProcess/API/efl/EwkView.h: 14022 (EwkView): 14023 * UIProcess/API/efl/ewk_context_menu.cpp: 14024 (EwkContextMenu::appendItem): 14025 (EwkContextMenu::removeItem): 14026 (ewk_context_menu_new): 14027 (ewk_context_menu_new_with_items): 14028 (ewk_context_menu_item_append): 14029 (ewk_context_menu_item_remove): 14030 (ewk_context_menu_hide): 14031 (ewk_context_menu_items_get): 14032 (ewk_context_menu_item_select): 14033 * UIProcess/API/efl/ewk_context_menu_item.cpp: 14034 (EwkContextMenuItem::EwkContextMenuItem): 14035 (ewk_context_menu_item_new_with_submenu): 14036 * UIProcess/API/efl/ewk_context_menu_item_private.h: 14037 (EwkContextMenuItem): 14038 * UIProcess/API/efl/ewk_context_menu_private.h: 14039 (EwkContextMenu): 14040 (EwkContextMenu::create): 14041 * UIProcess/API/efl/ewk_defines.h: 14042 140432013-05-16 Andreas Kling <akling@apple.com> 14044 14045 Page::chrome() should return a reference. 14046 <http://webkit.org/b/116185> 14047 14048 Reviewed by Anders Carlsson. 14049 140502013-05-16 Brady Eidson <beidson@apple.com> 14051 14052 svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled. 14053 <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917 14054 14055 Reviewed by Sam Weinig. 14056 14057 * NetworkProcess/SchedulableLoader.cpp: 14058 (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or 14059 that the client cannot be asked for credentials. 14060 14061 * WebProcess/Network/WebResourceLoadScheduler.cpp: 14062 (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage 14063 if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are 14064 available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both 14065 a frame and page ID or that the client won’t be asked for credentials. 14066 140672013-05-16 Timothy Hatcher <timothy@apple.com> 14068 14069 Make the Find Banner in Safari work again with the docked Web Inspector. 14070 14071 https://webkit.org/b/116182 14072 rdar://problem/13857423 14073 14074 Reviewed by Benjamin Poulain. 14075 14076 * UIProcess/mac/WebInspectorProxyMac.mm: 14077 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): 14078 (WebKit::WebInspectorProxy::platformDetach): 14079 Preserve the top position of the inspected view so banners in Safari still work. 14080 140812013-05-16 Tim Horton <timothy_horton@apple.com> 14082 14083 [wk2] didGetImageForFindMatch can return a null image 14084 https://bugs.webkit.org/show_bug.cgi?id=116251 14085 <rdar://problem/13277246> 14086 14087 Reviewed by Simon Fraser. 14088 14089 Don't send didGetImageForFindMatch if we didn't get an image for 14090 the find match, which can happen if the selection is not visible. 14091 14092 * WebProcess/WebPage/FindController.cpp: 14093 (WebKit::FindController::getImageForFindMatch): 14094 140952013-05-16 Tim Horton <timothy_horton@apple.com> 14096 14097 [wk2] Minimum layout width is lost if the WebProcess crashes 14098 https://bugs.webkit.org/show_bug.cgi?id=116202 14099 <rdar://problem/13202320> 14100 14101 Reviewed by Darin Adler. 14102 14103 Send the minimum layout width to the WebProcess upon initialization, 14104 so that crashed-and-restarted WebProcesses have the correct width. 14105 14106 * Shared/WebPageCreationParameters.cpp: 14107 (WebKit::WebPageCreationParameters::encode): 14108 (WebKit::WebPageCreationParameters::decode): 14109 * Shared/WebPageCreationParameters.h: 14110 (WebPageCreationParameters): 14111 Add minimumLayoutWidth WebPage creation parameter. 14112 14113 * UIProcess/WebPageProxy.cpp: 14114 (WebKit::WebPageProxy::creationParameters): 14115 Send the current minimumLayoutWidth to the WebPage when it's created. 14116 14117 (WebKit::WebPageProxy::setMinimumLayoutWidth): 14118 Store minimumLayoutWidth changes that come in while the WebProcess is 14119 not valid, so that the correct width is sent once it is restarted. 14120 14121 * WebProcess/WebPage/WebPage.cpp: 14122 (WebKit::WebPage::WebPage): 14123 Set minimumLayoutWidth to the value provided by our creation parameters. 14124 141252013-05-16 Zoltan Arvai <zarvai@inf.u-szeged.hu> 14126 14127 [Win] Unreviewed buildfix after r150161. 14128 14129 'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC, 14130 because it is also defined in MS SDK 7.1 winioctl.h. 14131 14132 * UIProcess/InspectorServer/HTTPRequest.cpp: 14133 (WebKit::HTTPRequest::HTTPRequest): 14134 141352013-05-16 Andras Becsi <andras.becsi@digia.com> 14136 14137 [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard 14138 https://bugs.webkit.org/show_bug.cgi?id=116018 14139 14140 Rubber-stamped by Jocelyn Turcotte. 14141 14142 * Shared/Plugins/Netscape/PluginInformation.cpp: 14143 (WebKit::getPluginModuleInformation): 14144 141452013-05-15 Simon Cooper <scooper@apple.com> 14146 14147 Enable printing in plugins 14148 https://bugs.webkit.org/show_bug.cgi?id=116201 14149 <rdar://problem/12347902> 14150 14151 Reviewed by Alexey Proskuryakov. 14152 14153 Add the printing entitlement so that legacy printing drivers can 14154 customize the print panel. Update the printing rules and enable them 14155 for the plugins. 14156 14157 * Configurations/PluginService.entitlements: 14158 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 14159 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 14160 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb: 14161 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb: 14162 141632013-05-15 Anders Carlsson <andersca@apple.com> 14164 14165 Move HTTPRequest class to WebKit2 14166 https://bugs.webkit.org/show_bug.cgi?id=116192 14167 14168 Reviewed by Darin Adler. 14169 14170 Move HTTPRequest to WebKit2 and put it in the WebKit namespace. 14171 14172 * CMakeLists.txt: 14173 * GNUmakefile.list.am: 14174 * Target.pri: 14175 * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp. 14176 * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h. 14177 * UIProcess/InspectorServer/WebInspectorServer.cpp: 14178 * UIProcess/InspectorServer/WebInspectorServer.h: 14179 (WebInspectorServer): 14180 * UIProcess/InspectorServer/WebSocketServerClient.h: 14181 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest): 14182 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest): 14183 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection): 14184 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 14185 * UIProcess/InspectorServer/WebSocketServerConnection.h: 14186 (WebKit): 14187 (WebSocketServerConnection): 14188 141892013-05-15 Arnaud Renevier <a.renevier@sisa.samsung.com> 14190 14191 [GTK] [WebKit2] enable displaying console.log messages to system console 14192 https://bugs.webkit.org/show_bug.cgi?id=115578 14193 14194 Reviewed by Martin Robinson. 14195 14196 Add a setting to enable/disable displaying of page messages to system 14197 console. Property is called enable-write-console-messages-to-stdout. 14198 Getter API function is 14199 webkit_settings_get_enable_write_console_messages_to_stdout 14200 Setter API function is 14201 webkit_settings_set_enable_write_console_messages_to_stdout 14202 14203 * UIProcess/API/gtk/WebKitSettings.cpp: 14204 (webKitSettingsSetProperty): 14205 (webKitSettingsGetProperty): 14206 (webkit_settings_class_init): 14207 (webkit_settings_get_enable_write_console_messages_to_stdout): 14208 (webkit_settings_set_enable_write_console_messages_to_stdout): 14209 * UIProcess/API/gtk/WebKitSettings.h: 14210 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 14211 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 14212 (testWebKitSettings): 14213 142142013-05-08 Gavin Barraclough <barraclough@apple.com> 14215 14216 Process suppression should throttle scripted animations 14217 https://bugs.webkit.org/show_bug.cgi?id=115812 14218 14219 Reviewed by Simon Fraser. 14220 14221 <rdar://problem/13799726> 14222 14223 * WebProcess/WebPage/WebPage.cpp: 14224 (WebKit::WebPage::setThrottled): 14225 (WebKit): 14226 * WebProcess/WebPage/WebPage.h: 14227 (WebPage): 14228 - Added setThrottled, forwards to WebCore::Page. 14229 * WebProcess/WebProcess.cpp: 14230 (WebKit): 14231 (WebKit::WebProcess::setProcessSuppressionEnabled): 14232 * WebProcess/WebProcess.h: 14233 (WebProcess): 14234 - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled. 14235 142362013-05-15 Anders Carlsson <andersca@apple.com> 14237 14238 WKPageGetPluginInformationDisplayNameKey doesn't return the right key 14239 https://bugs.webkit.org/show_bug.cgi?id=116188 14240 14241 Reviewed by Andreas Kling. 14242 14243 * UIProcess/API/C/WKPage.cpp: 14244 (WKPageGetPluginInformationDisplayNameKey): 14245 142462013-05-15 Alexey Proskuryakov <ap@apple.com> 14247 14248 More fixing after WebProcessShim renaming in r149074. 14249 14250 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 14251 (WebContentServiceInitializer): Updated a comment to mention the shim by its new name. 14252 142532013-05-15 Alexey Proskuryakov <ap@apple.com> 14254 14255 <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when 14256 launching Safari 14257 14258 Reviewed by Anders Carlsson. 14259 14260 * WebProcess/com.apple.WebProcess.sb.in: Silence the violation. 14261 142622013-05-13 Anders Carlsson <andersca@apple.com> 14263 14264 Frame::editor() should return a reference 14265 https://bugs.webkit.org/show_bug.cgi?id=116037 14266 14267 Reviewed by Darin Adler. 14268 14269 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: 14270 (WebKit::WebContextMenuClient::searchWithGoogle): 14271 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 14272 (WebKit::WebEditorClient::updateGlobalSelection): 14273 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: 14274 (WebKit::WebEditorClient::handleInputMethodKeydown): 14275 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 14276 (WebKit::WebEditorClient::executePendingEditorCommands): 14277 (WebKit::WebEditorClient::handleKeyboardEvent): 14278 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 14279 (WebKit::WebContextMenuClient::searchWithGoogle): 14280 (WebKit::WebContextMenuClient::searchWithSpotlight): 14281 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 14282 (WebKit::changeWordCase): 14283 * WebProcess/WebPage/WebFrame.cpp: 14284 (WebKit::WebFrame::selectionAsString): 14285 (WebKit::WebFrame::setTextDirection): 14286 * WebProcess/WebPage/WebPage.cpp: 14287 (WebKit::WebPage::editorState): 14288 (WebKit::WebPage::executeEditingCommand): 14289 (WebKit::WebPage::isEditingCommandEnabled): 14290 (WebKit::WebPage::validateCommand): 14291 (WebKit::WebPage::handleEditingKeyboardEvent): 14292 (WebKit::WebPage::advanceToNextMisspelling): 14293 (WebKit::WebPage::uppercaseWord): 14294 (WebKit::WebPage::lowercaseWord): 14295 (WebKit::WebPage::capitalizeWord): 14296 (WebKit::WebPage::replaceSelectionWithText): 14297 (WebKit::WebPage::handleAlternativeTextUIResult): 14298 (WebKit::WebPage::setCompositionForTesting): 14299 (WebKit::WebPage::hasCompositionForTesting): 14300 (WebKit::WebPage::confirmCompositionForTesting): 14301 (WebKit::WebPage::setComposition): 14302 (WebKit::WebPage::cancelComposition): 14303 * WebProcess/WebPage/efl/WebPageEfl.cpp: 14304 (WebKit::WebPage::confirmComposition): 14305 (WebKit::WebPage::setComposition): 14306 (WebKit::WebPage::cancelComposition): 14307 * WebProcess/WebPage/mac/WebPageMac.mm: 14308 (WebKit::WebPage::executeKeypressCommandsInternal): 14309 (WebKit::WebPage::handleEditingKeyboardEvent): 14310 (WebKit::WebPage::setComposition): 14311 (WebKit::WebPage::confirmComposition): 14312 (WebKit::WebPage::cancelComposition): 14313 (WebKit::WebPage::insertText): 14314 (WebKit::WebPage::insertDictatedText): 14315 (WebKit::WebPage::getMarkedRange): 14316 (WebKit::WebPage::firstRectForCharacterRange): 14317 (WebKit::WebPage::readSelectionFromPasteboard): 14318 (WebKit::WebPage::getStringSelectionForPasteboard): 14319 (WebKit::WebPage::getDataSelectionForPasteboard): 14320 143212013-05-15 Anders Carlsson <andersca@apple.com> 14322 14323 Need a way for NPAPI plug-ins to open preference panes 14324 https://bugs.webkit.org/show_bug.cgi?id=116173 14325 <rdar://problem/13503848> 14326 14327 Reviewed by Sam Weinig. 14328 14329 * PluginProcess/PluginControllerProxy.h: 14330 Add openPluginPreferencePane(). 14331 14332 * PluginProcess/mac/PluginControllerProxyMac.mm: 14333 (WebKit::PluginControllerProxy::openPluginPreferencePane): 14334 Send OpenPluginPreferencePane to the UI process. 14335 14336 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 14337 (WebKit::NetscapePluginModule::getPluginInfo): 14338 Get the preference pane path. 14339 14340 * Shared/Plugins/PluginModuleInfo.h: 14341 Add preferencePanePath member variable. 14342 14343 * UIProcess/Plugins/PluginProcessProxy.h: 14344 Add openPluginPreferencePane message handler. 14345 14346 * UIProcess/Plugins/PluginProcessProxy.messages.in: 14347 ADd OpenPluginPreferencePane message. 14348 14349 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 14350 (WebKit::PluginProcessProxy::openPluginPreferencePane): 14351 Get the path to the preference pane and use LS to open it. 14352 14353 * WebKit2.xcodeproj/project.pbxproj: 14354 Add new files. 14355 14356 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 14357 (WebKit::NPN_GetValue): 14358 Handle WKNVPlugInContainer. 14359 14360 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 14361 Add WKNVPlugInContainer member variable. 14362 14363 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 14364 (WebKit::NetscapePlugin::openPluginPreferencePane): 14365 Call through to the plug-in controller. 14366 14367 (WebKit::NetscapePlugin::plugInContainer): 14368 Create a WKNPAPIPlugInContainer object if necessary. 14369 14370 (WebKit::NetscapePlugin::platformDestroy): 14371 Invalidate the WKNPAPIPlugInContainer object. 14372 14373 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h: 14374 New file with the protocol definition. 14375 14376 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm: 14377 (-[WKNPAPIPlugInContainer dealloc]): 14378 Assert that the plug-in is null (that we've been invalidated). 14379 14380 (-[WKNPAPIPlugInContainer _invalidate]): 14381 Set the plug-in to null. 14382 14383 (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): 14384 Call through to the plug-in. 14385 14386 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h: 14387 New file with the interface declaration for the object that implements the protocol. 14388 14389 * WebProcess/Plugins/PluginController.h: 14390 Add openPluginPreferencePane member function. 14391 14392 * WebProcess/Plugins/PluginView.cpp: 14393 (WebKit::PluginView::openPluginPreferencePane): 14394 Add stub; this should never be called since we always go through the UI process. 14395 143962013-05-15 Alexey Proskuryakov <ap@apple.com> 14397 14398 [WK2][Mac] Split resetTextInputState into two functions 14399 https://bugs.webkit.org/show_bug.cgi?id=116174 14400 14401 Reviewed by Anders Carlsson. 14402 14403 Splitting resetTextInputState into resetSecureInputState and 14404 notifyInputContextAboutDiscardedComposition, paving the way for a fix where these 14405 won't be happening simultaneously. 14406 14407 * UIProcess/API/mac/PageClientImpl.h: 14408 * UIProcess/API/mac/PageClientImpl.mm: 14409 (WebKit::PageClientImpl::resetSecureInputState): 14410 (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition): 14411 * UIProcess/API/mac/WKView.mm: 14412 (-[WKView resignFirstResponder]): 14413 (-[WKView _resetSecureInputState]): 14414 (-[WKView _notifyInputContextAboutDiscardedComposition]): 14415 * UIProcess/API/mac/WKViewInternal.h: 14416 * UIProcess/PageClient.h: 14417 * UIProcess/WebPageProxy.cpp: 14418 (WebKit::WebPageProxy::didCommitLoadForFrame): 14419 144202013-05-15 Carlos Garcia Campos <cgarcia@igalia.com> 14421 14422 [GTK] Add padding to all public class structs for future expansion without breaking ABI 14423 https://bugs.webkit.org/show_bug.cgi?id=112565 14424 14425 Reviewed by Anders Carlsson. 14426 14427 Use 4 pointers for most of the classes that are unlikely to grow 14428 and 8 for WebKitWebView and WebKitWebContext. 14429 14430 * UIProcess/API/gtk/WebKitBackForwardList.h: 14431 (_WebKitBackForwardListClass): 14432 * UIProcess/API/gtk/WebKitBackForwardListItem.h: 14433 (_WebKitBackForwardListItemClass): 14434 * UIProcess/API/gtk/WebKitContextMenu.h: 14435 (_WebKitContextMenuClass): 14436 * UIProcess/API/gtk/WebKitContextMenuItem.h: 14437 (_WebKitContextMenuItemClass): 14438 * UIProcess/API/gtk/WebKitCookieManager.h: 14439 (_WebKitCookieManagerClass): 14440 * UIProcess/API/gtk/WebKitDownload.h: 14441 (_WebKitDownloadClass): 14442 * UIProcess/API/gtk/WebKitFaviconDatabase.h: 14443 (_WebKitFaviconDatabaseClass): 14444 * UIProcess/API/gtk/WebKitFileChooserRequest.h: 14445 (_WebKitFileChooserRequestClass): 14446 * UIProcess/API/gtk/WebKitFindController.h: 14447 (_WebKitFindControllerClass): 14448 * UIProcess/API/gtk/WebKitFormSubmissionRequest.h: 14449 (_WebKitFormSubmissionRequestClass): 14450 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h: 14451 (_WebKitGeolocationPermissionRequestClass): 14452 * UIProcess/API/gtk/WebKitHitTestResult.h: 14453 (_WebKitHitTestResultClass): 14454 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: 14455 (_WebKitNavigationPolicyDecisionClass): 14456 * UIProcess/API/gtk/WebKitPlugin.h: 14457 (_WebKitPluginClass): 14458 * UIProcess/API/gtk/WebKitPolicyDecision.h: 14459 (_WebKitPolicyDecisionClass): 14460 * UIProcess/API/gtk/WebKitPrintOperation.h: 14461 (_WebKitPrintOperationClass): 14462 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: 14463 (_WebKitResponsePolicyDecisionClass): 14464 * UIProcess/API/gtk/WebKitSecurityManager.h: 14465 (_WebKitSecurityManagerClass): 14466 * UIProcess/API/gtk/WebKitSettings.h: 14467 (_WebKitSettingsClass): 14468 * UIProcess/API/gtk/WebKitURIRequest.h: 14469 (_WebKitURIRequestClass): 14470 * UIProcess/API/gtk/WebKitURIResponse.h: 14471 (_WebKitURIResponseClass): 14472 * UIProcess/API/gtk/WebKitURISchemeRequest.h: 14473 (_WebKitURISchemeRequestClass): 14474 * UIProcess/API/gtk/WebKitWebContext.h: 14475 (_WebKitWebContextClass): 14476 * UIProcess/API/gtk/WebKitWebInspector.h: 14477 (_WebKitWebInspectorClass): 14478 * UIProcess/API/gtk/WebKitWebResource.h: 14479 (_WebKitWebResourceClass): 14480 * UIProcess/API/gtk/WebKitWebView.h: 14481 (_WebKitWebViewClass): 14482 * UIProcess/API/gtk/WebKitWebViewBase.h: 14483 (_WebKitWebViewBaseClass): 14484 * UIProcess/API/gtk/WebKitWebViewGroup.h: 14485 (_WebKitWebViewGroupClass): 14486 * UIProcess/API/gtk/WebKitWindowProperties.h: 14487 (_WebKitWindowPropertiesClass): 14488 144892013-05-14 Carlos Garcia Campos <cgarcia@igalia.com> 14490 14491 Remove WTF_USE_PLATFORM_STRATEGIES 14492 https://bugs.webkit.org/show_bug.cgi?id=114431 14493 14494 Reviewed by Darin Adler. 14495 14496 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 14497 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 14498 * WebProcess/WebProcess.cpp: 14499 (WebKit::WebProcess::WebProcess): 14500 145012013-05-14 Simon Cooper <scooper@apple.com> 14502 14503 Add a preference that can disable the fake SYSV SHM shim 14504 https://bugs.webkit.org/show_bug.cgi?id=116127 14505 <rdar://problem/13810524> 14506 14507 Reviewed by Alexey Proskuryakov. 14508 14509 * PluginProcess/mac/PluginProcessShim.mm: 14510 (WebKit::shim_disabled): 14511 (WebKit::shim_shmdt): 14512 (WebKit::shim_shmat): 14513 (WebKit::shim_shmget): 14514 (WebKit::shim_shmctl): 14515 145162013-05-14 Tim Horton <timothy_horton@apple.com> 14517 14518 [wk2] Not updating tiled backing coverage when main frame scrollability changes 14519 https://bugs.webkit.org/show_bug.cgi?id=116123 14520 <rdar://problem/13836559> 14521 14522 Reviewed by Simon Fraser. 14523 14524 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 14525 (TiledCoreAnimationDrawingArea): 14526 Add updateMainFrameClipsToExposedRect. 14527 14528 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 14529 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 14530 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 14531 Remove m_clipsToExposedRect. We don't actually need it. 14532 14533 (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged): 14534 Call updateMainFrameClipsToExposedRect so that we can always update 14535 tiled backing coverage and can factor out our calls to setClipsToExposedRect. 14536 14537 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect): 14538 Factor out setClipsToExposedRect calls to here, and also call 14539 FrameView::adjustTiledBackingCoverage so that the FrameView's tiled 14540 backing is informed to allow overdraw in the UI-process-scrolling case. 14541 14542 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 14543 Use updateMainFrameClipsToExposedRect. 14544 145452013-05-14 Alexey Proskuryakov <ap@apple.com> 14546 14547 [Mac] Add a testing shim for secure event input functions 14548 https://bugs.webkit.org/show_bug.cgi?id=116122 14549 14550 Reviewed by Mark Rowe. 14551 14552 Moved DyldInterpose.h to WebCore, as we now use it there too. 14553 14554 * PluginProcess/mac/PluginProcessShim.mm: 14555 * Shared/mac/CookieStorageShimLibrary.cpp: 14556 * Shared/mac/DyldInterpose.h: Removed. 14557 * WebKit2.xcodeproj/project.pbxproj: 14558 * WebProcess/mac/SecItemShimLibrary.mm: 14559 145602013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 14561 14562 [Win] REGRESSION(r149944): mmap is not available on Windows 14563 https://bugs.webkit.org/show_bug.cgi?id=116015 14564 14565 Reviewed by Anders Carlsson. 14566 14567 Use fastAlloc/fastFree for platforms other than OS(DARWIN) where 14568 using mmap is not necessary and maybe not available. 14569 14570 * Platform/CoreIPC/ArgumentEncoder.cpp: 14571 (CoreIPC::allocBuffer): 14572 (CoreIPC::freeBuffer): 14573 (CoreIPC::ArgumentEncoder::~ArgumentEncoder): 14574 (CoreIPC::ArgumentEncoder::grow): 14575 145762013-05-14 Zan Dobersek <zdobersek@igalia.com> 14577 14578 [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform 14579 https://bugs.webkit.org/show_bug.cgi?id=115921 14580 14581 Reviewed by Gustavo Noronha Silva. 14582 14583 * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS. 14584 145852013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com> 14586 14587 [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...) 14588 https://bugs.webkit.org/show_bug.cgi?id=116039 14589 14590 Reviewed by Benjamin Poulain. 14591 14592 According to the documentation, DeleteTimerQueueTimer can be expected to return 14593 false with an ERROR_IO_PENDING error when called from the timer's callback. 14594 14595 * Platform/win/WorkQueueWin.cpp: 14596 (WorkQueue::timerCallback): 14597 145982013-05-14 Alexey Proskuryakov <ap@apple.com> 14599 14600 Remove unused "type" field from DictionaryPopupInfo 14601 https://bugs.webkit.org/show_bug.cgi?id=116011 14602 14603 Reviewed by Darin Adler. 14604 14605 It is unused, and furthermore, PDFPlugin sets it incorrectly anyway. 14606 14607 * Shared/DictionaryPopupInfo.cpp: 14608 (WebKit::DictionaryPopupInfo::encode): 14609 (WebKit::DictionaryPopupInfo::decode): 14610 * Shared/DictionaryPopupInfo.h: 14611 * WebProcess/Plugins/PDF/PDFPlugin.mm: 14612 (WebKit::PDFPlugin::showDefinitionForAttributedString): 14613 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: 14614 (WebKit::WebContextMenuClient::lookUpInDictionary): 14615 * WebProcess/WebPage/WebPage.h: 14616 * WebProcess/WebPage/mac/WebPageMac.mm: 14617 (WebKit::WebPage::performDictionaryLookupAtLocation): 14618 (WebKit::WebPage::performDictionaryLookupForSelection): 14619 (WebKit::WebPage::performDictionaryLookupForRange): 14620 146212013-05-14 Michael Brüning <michael.bruning@digia.com> 14622 14623 [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters(). 14624 https://bugs.webkit.org/show_bug.cgi?id=110218 14625 14626 Reviewed by Darin Adler. 14627 14628 Make the WebPageProxy::creationParameters use the accessor 14629 deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor 14630 directly. This will restore the custom device scale factor when 14631 reattaching to the WebProcess after a crash. 14632 14633 Moreover, it will enable the Qt and ELF ports to use the 14634 existing C API for overriding the device scale factor instead 14635 of using the WebPageProxy directly or adding new C API to set 14636 the intrinsic device scale factor. 14637 14638 * UIProcess/API/efl/EwkView.cpp: 14639 (EwkView::setDeviceScaleFactor): 14640 * UIProcess/API/qt/qquickwebpage.cpp: 14641 (QQuickWebPage::updatePaintNode): 14642 * UIProcess/WebPageProxy.cpp: 14643 (WebKit::WebPageProxy::creationParameters): 14644 146452013-05-13 Alex Christensen <achristensen@apple.com> 14646 14647 Added testRunner.setPrinting. 14648 https://bugs.webkit.org/show_bug.cgi?id=42693 14649 rdar://problem/8213845 14650 14651 Reviewed by Darin Adler. 14652 14653 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 14654 (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added. 14655 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: 14656 Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration. 14657 * WebProcess/WebPage/WebPage.cpp: 14658 (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added. 14659 * WebProcess/WebPage/WebPage.h: 14660 Added renderTreeExternalRepresentationForPrinting declaration. 14661 146622013-05-13 Timothy Hatcher <timothy@apple.com> 14663 14664 Add support for updating the Web Inspector toolbar height. 14665 14666 https://bugs.webkit.org/show_bug.cgi?id=115996 14667 14668 Reviewed by Joseph Pecoraro and Benjamin Poulain. 14669 14670 * UIProcess/WebInspectorProxy.h: 14671 (WebKit::WebInspectorProxy::setToolbarHeight): 14672 (WebInspectorProxy): 14673 * UIProcess/WebInspectorProxy.messages.in: 14674 * UIProcess/efl/WebInspectorProxyEfl.cpp: 14675 (WebKit::WebInspectorProxy::platformSetToolbarHeight): 14676 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 14677 (WebKit::WebInspectorProxy::platformSetToolbarHeight): 14678 (WebKit): 14679 * UIProcess/mac/WebInspectorProxyMac.mm: 14680 (WebKit::WebInspectorProxy::platformSetToolbarHeight): 14681 * UIProcess/qt/WebInspectorProxyQt.cpp: 14682 (WebKit::WebInspectorProxy::platformSetToolbarHeight): 14683 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 14684 (WebKit::WebInspectorFrontendClient::setToolbarHeight): 14685 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 14686 (WebInspectorFrontendClient): 14687 * WebProcess/WebPage/WebInspector.cpp: 14688 (WebKit::WebInspector::setToolbarHeight): 14689 * WebProcess/WebPage/WebInspector.h: 14690 146912013-05-13 Ryosuke Niwa <rniwa@webkit.org> 14692 14693 Sometimes NSUndoManager can get into an inconsistent state 14694 https://bugs.webkit.org/show_bug.cgi?id=116050 14695 14696 Reviewed by Enrica Casucci. 14697 14698 Always group undo items to work around a bug in NSUndoManager that manifests 14699 when we call removeAllActionsWithTarget. 14700 14701 * UIProcess/API/mac/PageClientImpl.mm: 14702 (WebKit::PageClientImpl::registerEditCommand): 14703 147042013-05-13 Anders Carlsson <andersca@apple.com> 14705 14706 [WK2] Crash in WebKit::StorageAreaMap::didSetItem() 14707 https://bugs.webkit.org/show_bug.cgi?id=116026 14708 14709 Reviewed by Andreas Kling. 14710 14711 Make sure that we ignore any leftover messages from the UI process after we've reset 14712 the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented 14713 everytime the map is reset. Associate every storage area change with the seed and ignore any incoming 14714 notification messages from the UI process if the seeds are different. 14715 14716 * Platform/CoreIPC/HandleMessage.h: 14717 (CoreIPC): 14718 (CoreIPC::callMemberFunction): 14719 * UIProcess/Storage/StorageManager.cpp: 14720 (WebKit::StorageManager::getValues): 14721 (WebKit::StorageManager::setItem): 14722 (WebKit::StorageManager::removeItem): 14723 (WebKit::StorageManager::clear): 14724 * UIProcess/Storage/StorageManager.h: 14725 (StorageManager): 14726 * UIProcess/Storage/StorageManager.messages.in: 14727 * WebProcess/Storage/StorageAreaMap.cpp: 14728 (WebKit::StorageAreaMap::StorageAreaMap): 14729 (WebKit::StorageAreaMap::setItem): 14730 (WebKit::StorageAreaMap::removeItem): 14731 (WebKit::StorageAreaMap::clear): 14732 (WebKit::StorageAreaMap::resetValues): 14733 (WebKit::StorageAreaMap::loadValuesIfNeeded): 14734 (WebKit::StorageAreaMap::didGetValues): 14735 (WebKit::StorageAreaMap::didSetItem): 14736 (WebKit::StorageAreaMap::didRemoveItem): 14737 (WebKit::StorageAreaMap::didClear): 14738 (WebKit::StorageAreaMap::applyChange): 14739 * WebProcess/Storage/StorageAreaMap.h: 14740 (StorageAreaMap): 14741 * WebProcess/Storage/StorageAreaMap.messages.in: 14742 147432013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 14744 14745 [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize() 14746 https://bugs.webkit.org/show_bug.cgi?id=116045 14747 14748 Reviewed by Darin Adler. 14749 14750 * UIProcess/CoordinatedGraphics/WebView.cpp: 14751 (WebKit::WebView::setSize): 14752 147532013-05-13 Jon Lee <jonlee@apple.com> 14754 14755 [WK2] Notification manager removal should not be tied to termination of web processes 14756 https://bugs.webkit.org/show_bug.cgi?id=116038 14757 <rdar://problem/10968680> 14758 14759 Reviewed by Ryosuke Niwa. 14760 14761 WebNotificationManagerProxy incorrectly removes the manager when web processes close. 14762 Since it is a supplemental on the web context, the manager should only be removed 14763 when the context is destroyed. 14764 14765 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 14766 * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of 14767 processDidClose(). 14768 147692013-05-13 Martin Robinson <mrobinson@igalia.com> 14770 14771 [GTK] [WebKit2] Use a template file for generated GObject enum files 14772 https://bugs.webkit.org/show_bug.cgi?id=115867 14773 14774 Reviewed by Carlos Garcia Campos. 14775 14776 * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line. 14777 * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added. 14778 * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added. 14779 * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h. 14780 147812013-05-13 Noam Rosenthal <noam@webkit.org> 14782 14783 [CoordGfx] requestAnimationFrame performance issues 14784 https://bugs.webkit.org/show_bug.cgi?id=112345 14785 14786 Reviewed by Jocelyn Turcotte. 14787 14788 Changed the logic of requestAnimationFrame in Coordinated Graphics. 14789 We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things: 14790 - If there is already a frame pending in the UI process, do nothing, as the animations would 14791 be serviced when the frame is returned to the web process. 14792 - If there is no frame pending, we schedule a flush, making sure that that flush occurs at 14793 least 1/60 seconds after the last animation service, so that we don't get an infinite loop 14794 of flushes. 14795 14796 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 14797 (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame): 14798 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 14799 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 14800 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 14801 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges): 14802 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): 14803 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 14804 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: 14805 148062013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 14807 14808 [WK2][CoordinatedGraphics] WKView needs API for handling opacity 14809 https://bugs.webkit.org/show_bug.cgi?id=116032 14810 14811 Reviewed by Kenneth Rohde Christiansen. 14812 14813 Add WKViewSetOpacity and WKViewOpacity APIs and use them in 14814 WebView.cpp. 14815 14816 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 14817 (WKViewSetOpacity): 14818 (WKViewOpacity): 14819 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 14820 * UIProcess/CoordinatedGraphics/WebView.cpp: 14821 (WebKit::WebView::WebView): 14822 (WebKit::WebView::paintToCurrentGLContext): 14823 * UIProcess/CoordinatedGraphics/WebView.h: 14824 (WebKit::WebView::setOpacity): 14825 (WebKit::WebView::opacity): 14826 (WebView): 14827 148282013-05-13 Zan Dobersek <zdobersek@igalia.com> 14829 14830 [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess 14831 https://bugs.webkit.org/show_bug.cgi?id=115918 14832 14833 Reviewed by Gustavo Noronha Silva. 14834 14835 Due to layer violations and circular dependencies the WebKitPluginProcess requires for the 14836 libraries containing the built code of the intertwining Platform and WebCore layers to be 14837 specified multiple times when linking. This can be avoided by packing the two layers' archives 14838 into one big archive, named after the WebCore layer due to no clear boundary between it and the 14839 Platform layer. The big archive can then be specified only once when linking, simplifying the code 14840 and suppressing all the layering violations so they do not cause build problems. 14841 14842 First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on 14843 are specified. These are then used as dependencies for the archive creation rule as well as the list 14844 from which the archive file paths are constructed and then used to dump the member files from these archives. 14845 The member files are then added to the big archive. The latter is added to the list of libraries the 14846 WebKitPluginProcess requires to successfully link. 14847 14848 * GNUmakefile.am: 14849 148502013-05-13 Zalan Bujtas <zalan@apple.com> 14851 14852 WebProcess consuming very high CPU on linkedin.com 14853 https://bugs.webkit.org/show_bug.cgi?id=115601 14854 14855 Reviewed by Andreas Kling. 14856 14857 Disable WEB_TIMING_MINIMAL. 14858 Turn off window.performance and performance.now(). Some JS frameworks expect 14859 additional Web Timing APIs, when performance.now() is available. 14860 14861 * Configurations/FeatureDefines.xcconfig: 14862 148632013-05-12 Anders Carlsson <andersca@apple.com> 14864 14865 Stop including UnusedParam.h 14866 https://bugs.webkit.org/show_bug.cgi?id=116003 14867 14868 Reviewed by Sam Weinig. 14869 14870 UnusedParam.h is empty now so there's no need to include it anymore. 14871 14872 * UIProcess/API/C/WKContext.cpp: 14873 * UIProcess/API/C/WKInspector.cpp: 14874 * UIProcess/API/C/WKPage.cpp: 14875 * UIProcess/API/efl/ewk_text_checker.cpp: 14876 * UIProcess/API/efl/ewk_view.cpp: 14877 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 14878 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 14879 * UIProcess/mac/WKFullScreenWindowController.mm: 14880 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 14881 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 14882 148832013-05-12 Andreas Kling <akling@apple.com> 14884 14885 Unload event listeners should prevent Safari from insta-killing the web process on last tab close. 14886 <http://webkit.org/b/115988> 14887 <rdar://problem/13870943> 14888 14889 Reviewed by Anders Carlsson. 14890 14891 Let WebCore control the UI process's suppression of the sudden termination mechanism. 14892 This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages 14893 over to the UI process where the appropriate NSProcessInfo calls are made. 14894 14895 We also use this information when deciding whether to insta-kill a web process when its last 14896 page is closed. This mechanism is re-usable in WebCore to protect against sudden termination 14897 by the UI process. 14898 14899 * UIProcess/WebProcessProxy.cpp: 14900 (WebKit::WebProcessProxy::WebProcessProxy): 14901 (WebKit::WebProcessProxy::removeWebPage): 14902 (WebKit::WebProcessProxy::enableSuddenTermination): 14903 (WebKit::WebProcessProxy::disableSuddenTermination): 14904 * UIProcess/WebProcessProxy.h: 14905 (WebProcessProxy): 14906 * UIProcess/WebProcessProxy.messages.in: 14907 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14908 (WebKit::WebChromeClient::enableSuddenTermination): 14909 (WebKit::WebChromeClient::disableSuddenTermination): 14910 * WebProcess/WebCoreSupport/WebChromeClient.h: 14911 (WebChromeClient): 14912 149132013-05-12 Alexey Proskuryakov <ap@apple.com> 14914 14915 <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion. 14916 14917 Reviewed by Dan Bernstein. 14918 14919 * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only). 14920 149212013-05-12 Carlos Garcia Campos <cgarcia@igalia.com> 14922 14923 [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs 14924 https://bugs.webkit.org/show_bug.cgi?id=115914 14925 14926 Reviewed by Martin Robinson. 14927 14928 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 14929 (webkitWebViewBaseRealize): 14930 149312013-05-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 14932 14933 Unreviewed build fix after r149944. 14934 14935 * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2). 14936 149372013-05-11 Anders Carlsson <andersca@apple.com> 14938 14939 Don't pass malloced pointers as out-of-line data when sending Mach messages 14940 https://bugs.webkit.org/show_bug.cgi?id=115970 14941 <rdar://problem/13144680> 14942 14943 Reviewed by Sam Weinig. 14944 14945 Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data 14946 since that gives us fresh zero-filled memory that we can safely share. 14947 14948 * Platform/CoreIPC/ArgumentEncoder.cpp: 14949 (CoreIPC::ArgumentEncoder::ArgumentEncoder): 14950 Set up the buffer pointers to point to the inline buffer. 14951 14952 (CoreIPC::ArgumentEncoder::~ArgumentEncoder): 14953 Unmap the buffer if necessary. 14954 14955 (CoreIPC::ArgumentEncoder::grow): 14956 Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the 14957 current strategy, but most messages are either tiny in which case they will fit inside the inline buffer, 14958 or big in which case we'll end up doing less allocations + memory copying. 14959 14960 * Platform/CoreIPC/ArgumentEncoder.h: 14961 (ArgumentEncoder): 14962 149632013-05-11 Zan Dobersek <zdobersek@igalia.com> 14964 14965 Unreviewed GTK build fix after r149904. 14966 14967 * GNUmakefile.list.am: Adding missing build targets. 14968 149692013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com> 14970 14971 Unreviewed, Fix WK2 EFL build after r149904. 14972 14973 Add new PluginInformation.cpp file to CMake. 14974 14975 * CMakeLists.txt: 14976 149772013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com> 14978 14979 Unreviewed, fix WK2 EFL build after r149904. 14980 14981 Add new WKPluginInformation.cpp file to CMake. 14982 14983 * CMakeLists.txt: 14984 149852013-05-11 Andreas Kling <akling@apple.com> 14986 14987 When possible, terminate web processes immediately when closing their last page. 14988 <http://webkit.org/b/115964> 14989 <rdar://problem/13869266> 14990 14991 Reviewed by Geoffrey Garen. 14992 14993 When we're using a network process, there's no need for the UI process to wait for web processes 14994 to clear resource caches and terminate nicely. 14995 14996 We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed. 14997 14998 * UIProcess/WebProcessProxy.cpp: 14999 (WebKit::WebProcessProxy::removeWebPage): 15000 15001 Terminate the child process immediately if possible. 15002 15003 * UIProcess/WebProcessProxy.h: 15004 (WebKit::WebProcessProxy::canTerminateChildProcess): 15005 (WebKit::WebProcessProxy::shouldTerminate): 15006 15007 Broke out the logic from the shouldTerminate() IPC message handler into a separate function 15008 so we can call it from removeWebPage(). 15009 150102013-05-11 Anders Carlsson <andersca@apple.com> 15011 15012 Crash when terminating a process that has not been fully launched 15013 https://bugs.webkit.org/show_bug.cgi?id=115962 15014 <rdar://problem/13660916> 15015 15016 Reviewed by Andreas Kling. 15017 15018 Handle terminating a process that has not been fully launched. 15019 15020 * UIProcess/Launcher/ProcessLauncher.cpp: 15021 (WebKit::ProcessLauncher::didFinishLaunchingProcess): 15022 If we have been invalidated, dispose the connection identifier. 15023 15024 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 15025 (WebKit::ProcessLauncher::terminateProcess): 15026 If we're still launching the process, invalidate so the client won't get an unexpected 15027 didFinishLaunching callback. 15028 15029 * UIProcess/WebProcessProxy.cpp: 15030 (WebKit::WebProcessProxy::requestTermination): 15031 Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched). 15032 150332013-05-10 Brian J. Burg <burg@cs.washington.edu> 15034 15035 Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save 15036 https://bugs.webkit.org/show_bug.cgi?id=115564 15037 15038 Reviewed by Benjamin Poulain. 15039 15040 Implement InspectorFrontendHost's save() and append() methods for 15041 Mac WebKit2. Add canSave() for all ports. 15042 15043 * UIProcess/WebInspectorProxy.cpp: 15044 (WebKit::WebInspectorProxy::save): 15045 (WebKit): 15046 (WebKit::WebInspectorProxy::append): 15047 * UIProcess/WebInspectorProxy.h: 15048 (WebInspectorProxy): 15049 * UIProcess/WebInspectorProxy.messages.in: 15050 * UIProcess/efl/WebInspectorProxyEfl.cpp: 15051 (WebKit::WebInspectorProxy::platformSave): 15052 (WebKit): 15053 (WebKit::WebInspectorProxy::platformAppend): 15054 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 15055 (WebKit::WebInspectorProxy::platformSave): 15056 (WebKit): 15057 (WebKit::WebInspectorProxy::platformAppend): 15058 * UIProcess/mac/WebInspectorProxyMac.mm: 15059 (WebKit::WebInspectorProxy::platformSave): 15060 (WebKit): 15061 (WebKit::WebInspectorProxy::platformAppend): 15062 * UIProcess/qt/WebInspectorProxyQt.cpp: 15063 (WebKit::WebInspectorProxy::platformSave): 15064 (WebKit): 15065 (WebKit::WebInspectorProxy::platformAppend): 15066 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 15067 (WebKit::WebInspectorFrontendClient::canSave): 15068 (WebKit): 15069 (WebKit::WebInspectorFrontendClient::save): 15070 (WebKit::WebInspectorFrontendClient::append): 15071 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 15072 (WebInspectorFrontendClient): 15073 * WebProcess/WebPage/WebInspector.cpp: 15074 (WebKit::WebInspector::save): 15075 (WebKit): 15076 (WebKit::WebInspector::append): 15077 (WebKit::WebInspector::didSave): 15078 (WebKit::WebInspector::didAppend): 15079 * WebProcess/WebPage/WebInspector.h: 15080 (WebInspector): 15081 * WebProcess/WebPage/WebInspector.messages.in: 15082 * WebProcess/WebPage/efl/WebInspectorEfl.cpp: 15083 (WebKit::WebInspector::canSave): 15084 (WebKit): 15085 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 15086 (WebKit::WebInspector::canSave): 15087 (WebKit): 15088 * WebProcess/WebPage/mac/WebInspectorMac.mm: 15089 (WebKit::WebInspector::canSave): 15090 (WebKit): 15091 * WebProcess/WebPage/qt/WebInspectorQt.cpp: 15092 (WebKit::WebInspector::canSave): 15093 (WebKit): 15094 150952013-05-10 Remy Demarest <rdemarest@apple.com> 15096 15097 Copy WKPluginInformation.h header to the WebKit2 Framework private headers. 15098 https://bugs.webkit.org/show_bug.cgi?id=115940 15099 15100 Reviewed by Darin Adler. 15101 15102 * WebKit2.xcodeproj/project.pbxproj: 15103 Move WKPluginInformation.h file from the framework's Project Headers to 15104 Private Headers. 15105 151062013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu> 15107 15108 [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912. 15109 15110 * Target.pri: 15111 151122013-05-10 Simon Cooper <scooper@apple.com> 15113 15114 Fix AppleConnect issues for WiFi interfaces 15115 <rdar://problem/13776227&13776240&13776281> 15116 https://bugs.webkit.org/show_bug.cgi?id=115932 15117 15118 Reviewed by Alexey Proskuryakov. 15119 15120 Add support for WiFi interfaces for the AppleConnect plugin. 15121 Remove the FIXME. 15122 15123 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb: 15124 151252013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu> 15126 15127 [Qt][Mac] Unreviewed speculative build fix after r149904. 15128 15129 * Target.pri: 15130 151312013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu> 15132 15133 [Qt] Unreviewed buildfix after r149904. 15134 15135 * Target.pri: 15136 151372013-05-09 Sam Weinig <sam@webkit.org> 15138 15139 Unify plug-in information dictionaries 15140 <rdar://problem/13852080> 15141 https://bugs.webkit.org/show_bug.cgi?id=115891 15142 15143 Reviewed by Anders Carlsson. 15144 15145 This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier 15146 and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient. 15147 15148 All the old keys will continue to work, but have been deprecated in favor of new keys defined in 15149 WKPluginInformation.h 15150 15151 * Shared/API/c/WKPluginInformation.cpp: Added. 15152 * Shared/API/c/WKPluginInformation.h: Added. 15153 Export new keys as SPI. 15154 15155 * Shared/Plugins/Netscape/PluginInformation.h: Added. 15156 * Shared/Plugins/Netscape/PluginInformation.cpp: Added. 15157 (WebKit::pluginInformationBundleIdentifierKey): 15158 (WebKit::pluginInformationBundleVersionKey): 15159 (WebKit::pluginInformationPathKey): 15160 (WebKit::pluginInformationDisplayNameKey): 15161 (WebKit::pluginInformationDefaultLoadPolicyKey): 15162 (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): 15163 (WebKit::pluginInformationHasSandboxProfileKey): 15164 (WebKit::pluginInformationFrameURLKey): 15165 (WebKit::pluginInformationMIMETypeKey): 15166 (WebKit::pluginInformationPageURLKey): 15167 (WebKit::pluginInformationPluginspageAttributeURLKey): 15168 (WebKit::pluginInformationPluginURLKey): 15169 Add new keys. 15170 15171 (WebKit::pluginModuleInformation): 15172 (WebKit::createPluginInformationDictionary): 15173 Add creation functions to simplify multiple sites. 15174 15175 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added. 15176 (WebKit::platformPluginModuleInformation): 15177 Add platform specific data to the dictionary. 15178 15179 * UIProcess/API/C/WKPage.cpp: 15180 (WKPageGetPluginInformationBundleIdentifierKey): 15181 (WKPageGetPluginInformationBundleVersionKey): 15182 (WKPageGetPluginInformationDisplayNameKey): 15183 (WKPageGetPluginInformationFrameURLKey): 15184 (WKPageGetPluginInformationMIMETypeKey): 15185 (WKPageGetPluginInformationPageURLKey): 15186 (WKPageGetPluginInformationPluginspageAttributeURLKey): 15187 (WKPageGetPluginInformationPluginURLKey): 15188 * UIProcess/API/C/WKPage.h: 15189 Deprecate the old keys. 15190 15191 * UIProcess/API/C/mac/WKContextPrivateMac.h: 15192 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 15193 (WKContextCopyPlugInInfoForBundleIdentifier): 15194 (WKContextGetInfoForInstalledPlugIns): 15195 Simplify by using the new createPluginInformationDictionary functions. 15196 15197 (WKPlugInInfoPathKey): 15198 (WKPlugInInfoBundleIdentifierKey): 15199 (WKPlugInInfoVersionKey): 15200 (WKPlugInInfoLoadPolicyKey): 15201 (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey): 15202 (WKPlugInInfoIsSandboxedKey): 15203 Deprecate the old keys. 15204 15205 * UIProcess/WebLoaderClient.cpp: 15206 (WebKit::WebLoaderClient::didFailToInitializePlugin): 15207 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): 15208 (WebKit::WebLoaderClient::pluginLoadPolicy): 15209 * UIProcess/WebLoaderClient.h: 15210 * UIProcess/WebUIClient.cpp: 15211 (WebKit::WebUIClient::unavailablePluginButtonClicked): 15212 * UIProcess/WebUIClient.h: 15213 Optimize for the most recent callback type which takes a dictionary, 15214 and pull out the necessary bits from it for deprecated callbacks as necessary. 15215 15216 * UIProcess/WebPageProxy.h: 15217 * UIProcess/WebPageProxy.cpp: 15218 (WebKit::WebPageProxy::findPlugin): 15219 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 15220 (WebKit::WebPageProxy::didFailToInitializePlugin): 15221 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 15222 Use createPluginInformationDictionary() consistently, to get consistent results for callbacks. 15223 15224 * WebKit2.xcodeproj/project.pbxproj: 15225 Add new files. 15226 152272013-05-10 Brian J. Burg <burg@cs.washington.edu> 15228 15229 Web Inspector: implement runOpenPanel callback for WebKit2 inspector 15230 https://bugs.webkit.org/show_bug.cgi?id=115865 15231 15232 Reviewed by Sam Weinig. 15233 15234 * UIProcess/WebInspectorProxy.h: 15235 (WebKit::WebInspectorProxy::inspectorWindow): 15236 Add an accessor for m_inspectorWindow. 15237 15238 * UIProcess/mac/WebInspectorProxyMac.mm: 15239 (WebKit::runOpenPanel): 15240 Show the open panel dialog when requested. 15241 15242 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 15243 Register the callback when the inspector page is created. 15244 152452013-05-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 15246 15247 [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific 15248 https://bugs.webkit.org/show_bug.cgi?id=115928 15249 15250 Reviewed by Kenneth Rohde Christiansen. 15251 15252 WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific. 15253 15254 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 15255 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 15256 * UIProcess/API/C/efl/WKViewEfl.cpp: 15257 (WKViewSetThemePath): 15258 * UIProcess/API/C/efl/WKViewEfl.h: 15259 * UIProcess/CoordinatedGraphics/WebView.cpp: 15260 * UIProcess/CoordinatedGraphics/WebView.h: 15261 (WebView): 15262 * UIProcess/efl/ViewClientEfl.cpp: 15263 * UIProcess/efl/WebInspectorProxyEfl.cpp: 15264 * UIProcess/efl/WebViewEfl.cpp: 15265 (WebKit::WebViewEfl::setThemePath): 15266 * UIProcess/efl/WebViewEfl.h: 15267 (WebViewEfl): 15268 152692013-05-10 Jer Noble <jer.noble@apple.com> 15270 15271 REGRESSION (r149439): Video turns blank upon entering full screen for the first time 15272 https://bugs.webkit.org/show_bug.cgi?id=115617 15273 15274 Reviewed by Eric Carlson. 15275 15276 Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these 15277 platforms, create a window with a NSZeroSize initial frame, which fixes the "blank" 15278 first-full screen behavior. 15279 15280 * UIProcess/API/mac/WKView.mm: 15281 (-[WKView createFullScreenWindow]): 15282 152832013-05-10 Zan Dobersek <zdobersek@igalia.com> 15284 15285 [WK2] Make the WebSoupRequestManager a supplement to the WebProcess 15286 https://bugs.webkit.org/show_bug.cgi?id=115717 15287 15288 Reviewed by Andreas Kling. 15289 15290 WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such 15291 by the WebProcess. This removes the need for the m_soupRequestManager member variable in 15292 the WebProcess class and brings the WebSoupRequestManager in line with other manager classes 15293 of which instances are controlled by the WebProcess class. 15294 15295 * WebProcess/WebProcess.cpp: 15296 (WebKit::WebProcess::WebProcess): Add the WebSoupRequestManager as a supplement. 15297 * WebProcess/WebProcess.h: 15298 (WebProcess): Remove the m_soupRequestManager member variable and its getter method. 15299 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: 15300 (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement. 15301 (webkitSoupRequestGenericSendFinish): Ditto. 15302 * WebProcess/soup/WebProcessSoup.cpp: 15303 (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement. 15304 * WebProcess/soup/WebSoupRequestManager.cpp: 15305 (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name. 15306 * WebProcess/soup/WebSoupRequestManager.h: 15307 (WebSoupRequestManager): Inherit from the WebProcessSupplement interface. 15308 153092013-05-10 Carlos Garcia Campos <cgarcia@igalia.com> 15310 15311 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs 15312 https://bugs.webkit.org/show_bug.cgi?id=115904 15313 15314 Reviewed by Martin Robinson. 15315 15316 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 15317 (startTestServerMonitor): 15318 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: 15319 (startTestServerMonitor): 15320 153212013-05-09 Anders Carlsson <andersca@apple.com> 15322 15323 Fix build. 15324 15325 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 15326 153272013-05-09 Anders Carlsson <andersca@apple.com> 15328 15329 Enable UI process storage 15330 https://bugs.webkit.org/show_bug.cgi?id=115879 15331 <rdar://problem/12239765> 15332 15333 Reviewed by Beth Dakin. 15334 15335 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 15336 Flip the switch. 15337 153382013-05-09 Anders Carlsson <andersca@apple.com> 15339 15340 Remove extra spaces between right angle brackets in template declarations 15341 https://bugs.webkit.org/show_bug.cgi?id=115877 15342 15343 Reviewed by Beth Dakin. 15344 15345 C++11 doesn't require spaces between right angle brackets so remove all of them. 15346 15347 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 15348 (WebKit::NetworkBlobRegistry::registerBlobURL): 15349 (WebKit::NetworkBlobRegistry::sandboxExtensions): 15350 * NetworkProcess/FileAPI/NetworkBlobRegistry.h: 15351 (NetworkBlobRegistry): 15352 * NetworkProcess/HostRecord.h: 15353 (HostRecord): 15354 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 15355 (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): 15356 (WebKit::NetworkConnectionToWebProcess::didClose): 15357 (WebKit::NetworkConnectionToWebProcess::registerBlobURL): 15358 * NetworkProcess/NetworkConnectionToWebProcess.h: 15359 (NetworkConnectionToWebProcess): 15360 * NetworkProcess/NetworkProcess.h: 15361 (NetworkProcess): 15362 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 15363 (WebKit::NetworkResourceLoadScheduler::servePendingRequests): 15364 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): 15365 * NetworkProcess/NetworkResourceLoadScheduler.h: 15366 * NetworkProcess/SchedulableLoader.cpp: 15367 (WebKit::SchedulableLoader::SchedulableLoader): 15368 * NetworkProcess/SchedulableLoader.h: 15369 (SchedulableLoader): 15370 * Platform/CoreIPC/ArgumentCoders.h: 15371 * Platform/CoreIPC/Connection.cpp: 15372 (Connection::SyncMessageState): 15373 (CoreIPC::Connection::waitForMessage): 15374 (CoreIPC::Connection::processIncomingMessage): 15375 * Platform/CoreIPC/Connection.h: 15376 (Connection): 15377 * Platform/WorkQueue.h: 15378 (WorkQueue): 15379 * PluginProcess/PluginProcess.h: 15380 (PluginProcess): 15381 * Scripts/webkit2/messages_unittest.py: 15382 (CoreIPC): 15383 * Shared/BlockingResponseMap.h: 15384 (BlockingResponseMap): 15385 * Shared/ChildProcessProxy.h: 15386 (ChildProcessProxy): 15387 * Shared/ImmutableArray.cpp: 15388 (WebKit::ImmutableArray::ImmutableArray): 15389 * Shared/ImmutableArray.h: 15390 (WebKit::ImmutableArray::adopt): 15391 (ImmutableArray): 15392 * Shared/ImmutableDictionary.cpp: 15393 (WebKit::ImmutableDictionary::keys): 15394 * Shared/ImmutableDictionary.h: 15395 (ImmutableDictionary): 15396 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 15397 (CustomProtocolManager): 15398 * Shared/SecurityOriginData.cpp: 15399 (WebKit::performAPICallbackWithSecurityOriginDataVector): 15400 * Shared/SessionState.cpp: 15401 * Shared/StatisticsData.h: 15402 (StatisticsData): 15403 * Shared/UserMessageCoders.h: 15404 (WebKit::UserMessageDecoder::baseDecode): 15405 * Shared/WebArchive.cpp: 15406 (WebKit::WebArchive::WebArchive): 15407 (WebKit::WebArchive::subresources): 15408 (WebKit::WebArchive::subframeArchives): 15409 * Shared/WebContextMenuItem.cpp: 15410 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 15411 * Shared/WebOpenPanelParameters.cpp: 15412 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 15413 (WebKit::WebOpenPanelParameters::selectedFileNames): 15414 * Shared/mac/ArgumentCodersMac.mm: 15415 (CoreIPC::encode): 15416 * SharedWorkerProcess/SharedWorkerProcess.h: 15417 (SharedWorkerProcess): 15418 * UIProcess/API/mac/WKPrintingView.h: 15419 (WebFrameProxy): 15420 * UIProcess/API/mac/WKPrintingView.mm: 15421 (-[WKPrintingView _drawPreview:]): 15422 * UIProcess/API/mac/WKView.mm: 15423 (WebKit): 15424 * UIProcess/Downloads/DownloadProxyMap.cpp: 15425 (WebKit::DownloadProxyMap::processDidClose): 15426 * UIProcess/Downloads/DownloadProxyMap.h: 15427 (DownloadProxyMap): 15428 * UIProcess/GeolocationPermissionRequestManagerProxy.h: 15429 (GeolocationPermissionRequestManagerProxy): 15430 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: 15431 (DynamicLinkerEnvironmentExtractor): 15432 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: 15433 (CustomProtocolManagerProxy): 15434 * UIProcess/Network/NetworkProcessProxy.h: 15435 (NetworkProcessProxy): 15436 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: 15437 (NotificationPermissionRequestManagerProxy): 15438 * UIProcess/Notifications/WebNotificationManagerProxy.h: 15439 (WebNotificationManagerProxy): 15440 * UIProcess/Plugins/PluginProcessManager.h: 15441 (PluginProcessManager): 15442 * UIProcess/Plugins/PluginProcessProxy.h: 15443 (PluginProcessProxy): 15444 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 15445 (WebKit::WebPluginSiteDataManager::didGetSitesWithData): 15446 * UIProcess/Plugins/WebPluginSiteDataManager.h: 15447 (WebPluginSiteDataManager): 15448 * UIProcess/SharedWorkers/SharedWorkerProcessManager.h: 15449 (SharedWorkerProcessManager): 15450 * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h: 15451 (SharedWorkerProcessProxy): 15452 * UIProcess/StatisticsRequest.cpp: 15453 (WebKit::StatisticsRequest::completedRequest): 15454 * UIProcess/Storage/StorageManager.cpp: 15455 (StorageManager::StorageArea): 15456 (WebKit::StorageManager::StorageArea::dispatchEvents): 15457 (StorageManager::SessionStorageNamespace): 15458 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea): 15459 (WebKit::StorageManager::SessionStorageNamespace::cloneTo): 15460 (WebKit::StorageManager::createLocalStorageMap): 15461 (WebKit::StorageManager::createSessionStorageMap): 15462 (WebKit::StorageManager::destroyStorageMap): 15463 (WebKit::StorageManager::invalidateConnectionInternal): 15464 (WebKit::StorageManager::findStorageArea): 15465 (WebKit::StorageManager::getOrCreateLocalStorageNamespace): 15466 * UIProcess/Storage/StorageManager.h: 15467 (StorageManager): 15468 * UIProcess/WebApplicationCacheManagerProxy.h: 15469 (WebApplicationCacheManagerProxy): 15470 * UIProcess/WebBackForwardList.cpp: 15471 (WebKit::WebBackForwardList::addItem): 15472 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 15473 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 15474 (WebKit::WebBackForwardList::clear): 15475 * UIProcess/WebBackForwardList.h: 15476 (WebKit): 15477 * UIProcess/WebContext.cpp: 15478 (WebKit::WebContext::createNewWebProcess): 15479 (WebKit::WebContext::enableProcessTermination): 15480 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 15481 * UIProcess/WebContext.h: 15482 (WebContext): 15483 * UIProcess/WebCookieManagerProxy.cpp: 15484 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): 15485 * UIProcess/WebCookieManagerProxy.h: 15486 (WebCookieManagerProxy): 15487 * UIProcess/WebDatabaseManagerProxy.cpp: 15488 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 15489 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 15490 * UIProcess/WebDatabaseManagerProxy.h: 15491 (WebDatabaseManagerProxy): 15492 * UIProcess/WebFormClient.cpp: 15493 (WebKit::WebFormClient::willSubmitForm): 15494 * UIProcess/WebFormClient.h: 15495 (WebFormClient): 15496 * UIProcess/WebKeyValueStorageManagerProxy.h: 15497 (WebKeyValueStorageManagerProxy): 15498 * UIProcess/WebLoaderClient.cpp: 15499 (WebKit::WebLoaderClient::didChangeBackForwardList): 15500 * UIProcess/WebLoaderClient.h: 15501 (WebLoaderClient): 15502 * UIProcess/WebMediaCacheManagerProxy.cpp: 15503 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): 15504 * UIProcess/WebMediaCacheManagerProxy.h: 15505 (WebMediaCacheManagerProxy): 15506 * UIProcess/WebPageContextMenuClient.cpp: 15507 (WebKit::WebPageContextMenuClient::showContextMenu): 15508 * UIProcess/WebPageProxy.cpp: 15509 (ExceededDatabaseQuotaRecords): 15510 (WebKit::WebPageProxy::relatedPages): 15511 (WebKit::WebPageProxy::didChangeBackForwardList): 15512 (WebKit::WebPageProxy::handleWheelEvent): 15513 (WebKit::WebPageProxy::processNextQueuedWheelEvent): 15514 (WebKit::WebPageProxy::findStringMatches): 15515 (WebKit::WebPageProxy::willSubmitForm): 15516 (WebKit::WebPageProxy::pluginInformationDictionary): 15517 (WebKit::WebPageProxy::didFindStringMatches): 15518 (WebKit::WebPageProxy::didReceiveEvent): 15519 * UIProcess/WebPageProxy.h: 15520 (WebPageProxy): 15521 * UIProcess/WebPageProxy.messages.in: 15522 * UIProcess/WebProcessProxy.cpp: 15523 (WebKit::WebProcessProxy::disconnect): 15524 (WebKit::WebProcessProxy::didClose): 15525 (WebKit::WebProcessProxy::didBecomeUnresponsive): 15526 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): 15527 (WebKit::WebProcessProxy::didBecomeResponsive): 15528 (WebKit::WebProcessProxy::disconnectFramesFromPage): 15529 (WebKit::WebProcessProxy::frameCountInPage): 15530 * UIProcess/WebProcessProxy.h: 15531 (WebProcessProxy): 15532 * UIProcess/WebResourceCacheManagerProxy.h: 15533 (WebResourceCacheManagerProxy): 15534 * UIProcess/mac/WebContextMenuProxyMac.mm: 15535 (WebKit::populateNSMenu): 15536 (WebKit::nsMenuItemVector): 15537 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 15538 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): 15539 * WebProcess/Geolocation/WebGeolocationManager.cpp: 15540 (WebKit::WebGeolocationManager::didChangePosition): 15541 (WebKit::WebGeolocationManager::didFailToDeterminePosition): 15542 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: 15543 (WebIconDatabaseProxy): 15544 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 15545 * WebProcess/InjectedBundle/InjectedBundle.cpp: 15546 (WebKit::InjectedBundle::originsWithApplicationCache): 15547 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 15548 (WebKit::InjectedBundleBackForwardListItem::children): 15549 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 15550 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): 15551 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 15552 (InjectedBundlePageEditorClient): 15553 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 15554 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): 15555 (WebKit::InjectedBundlePageFormClient::willSubmitForm): 15556 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 15557 (InjectedBundlePageFormClient): 15558 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 15559 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 15560 * WebProcess/Network/WebResourceLoadScheduler.cpp: 15561 (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired): 15562 (WebKit::WebResourceLoadScheduler::networkProcessCrashed): 15563 * WebProcess/Network/WebResourceLoadScheduler.h: 15564 (WebResourceLoadScheduler): 15565 * WebProcess/Notifications/NotificationPermissionRequestManager.h: 15566 (NotificationPermissionRequestManager): 15567 * WebProcess/Notifications/WebNotificationManager.h: 15568 (WebNotificationManager): 15569 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 15570 (WebKit::NPRuntimeObjectMap::invalidate): 15571 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 15572 (NPRuntimeObjectMap): 15573 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 15574 (WebKit::NetscapePlugin::stopAllStreams): 15575 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 15576 (NetscapePlugin): 15577 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 15578 (NetscapePluginStream): 15579 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: 15580 (getAllScriptsInPDFDocument): 15581 (WebKit::SimplePDFPlugin::runScriptsInPDFDocument): 15582 * WebProcess/Plugins/PluginProcessConnectionManager.h: 15583 (PluginProcessConnectionManager): 15584 * WebProcess/Plugins/PluginView.cpp: 15585 (WebKit::PluginView::cancelAllStreams): 15586 * WebProcess/Plugins/PluginView.h: 15587 (PluginView): 15588 * WebProcess/Storage/StorageAreaMap.cpp: 15589 (WebKit::StorageAreaMap::dispatchSessionStorageEvent): 15590 (WebKit::StorageAreaMap::dispatchLocalStorageEvent): 15591 * WebProcess/Storage/StorageNamespaceImpl.cpp: 15592 (WebKit::StorageNamespaceImpl::storageArea): 15593 * WebProcess/Storage/StorageNamespaceImpl.h: 15594 (StorageNamespaceImpl): 15595 * WebProcess/Storage/WebKeyValueStorageManager.cpp: 15596 (WebKit::keyValueStorageOriginIdentifiers): 15597 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 15598 (WebKit::WebDatabaseManager::getDatabasesByOrigin): 15599 (WebKit::WebDatabaseManager::getDatabaseOrigins): 15600 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 15601 (WebKit::WebEditorClient::getClientPasteboardDataForRange): 15602 * WebProcess/WebCoreSupport/WebEditorClient.h: 15603 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15604 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 15605 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: 15606 (WebKit::WebEditorClient::documentFragmentFromAttributedString): 15607 * WebProcess/WebPage/EventDispatcher.h: 15608 (EventDispatcher): 15609 * WebProcess/WebPage/FindController.cpp: 15610 (WebKit::FindController::findStringMatches): 15611 * WebProcess/WebPage/FindController.h: 15612 (FindController): 15613 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 15614 (WebKit): 15615 * WebProcess/WebPage/WebFrame.cpp: 15616 (WebKit::WebFrame::childFrames): 15617 * WebProcess/WebPage/WebPage.cpp: 15618 (WebKit::WebPage::trackedRepaintRects): 15619 * WebProcess/WebPage/WebPage.h: 15620 (WebKit): 15621 (WebPage): 15622 * WebProcess/WebPage/mac/LayerTreeHostMac.h: 15623 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 15624 (TiledCoreAnimationDrawingArea): 15625 * WebProcess/WebProcess.cpp: 15626 (WebKit::WebProcess::visitedLinkStateChanged): 15627 (WebKit::WebProcess::allVisitedLinkStateChanged): 15628 (WebKit::WebProcess::focusedWebPage): 15629 (WebKit::WebProcess::createWebPage): 15630 (WebKit::WebProcess::didClose): 15631 (WebKit::WebProcess::webPageGroup): 15632 (WebKit::addCaseFoldedCharacters): 15633 (WebKit::getWebCoreMemoryCacheStatistics): 15634 (WebKit::WebProcess::setTextCheckerState): 15635 * WebProcess/WebProcess.h: 15636 (WebProcess): 15637 156382013-05-09 Anders Carlsson <andersca@apple.com> 15639 15640 Implement WebPlatformStrategies::transientLocalStorageNamespace 15641 https://bugs.webkit.org/show_bug.cgi?id=115876 15642 <rdar://problem/13852871> 15643 15644 Reviewed by Beth Dakin. 15645 15646 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 15647 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace): 15648 Return a session storage namespace for a random page when UI process storage is enabled, 15649 otherwise call the base class implementation. 15650 156512013-05-09 Anders Carlsson <andersca@apple.com> 15652 15653 Use explicit qualifiers for names in the std:: namespace 15654 https://bugs.webkit.org/show_bug.cgi?id=115868 15655 15656 Reviewed by Andreas Kling. 15657 15658 * Shared/mac/ArgumentCodersMac.mm: 15659 (CoreIPC::encode): 15660 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 15661 (WKPluginSiteDataManagerClearAllSiteData): 15662 * UIProcess/Plugins/PluginInfoStore.cpp: 15663 (WebKit::PluginInfoStore::findPluginForExtension): 15664 * UIProcess/WebFrameProxy.cpp: 15665 * UIProcess/WebProcessProxy.cpp: 15666 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: 15667 (WebKit::parsePostBuffer): 15668 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 15669 (WebKit::NetscapePlugin::loadURL): 15670 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: 15671 (WebKit::NetscapePluginStream::deliverDataToPlugin): 15672 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: 15673 * WebProcess/WebPage/DrawingAreaImpl.cpp: 15674 * WebProcess/WebPage/FindController.cpp: 15675 (WebKit::FindController::countStringMatches): 15676 (WebKit::FindController::updateFindUIAfterPageScroll): 15677 * WebProcess/WebPage/WebPage.cpp: 15678 * WebProcess/WebPage/mac/WebPageMac.mm: 15679 (WebKit::drawPDFPage): 15680 * WebProcess/mac/WebProcessMac.mm: 15681 156822013-05-09 Max Feil <mfeil@rim.com> 15683 15684 shouldUsePluginDocument() needs to be respected when a document is created 15685 https://bugs.webkit.org/show_bug.cgi?id=110308 15686 15687 Reviewed by Rob Buis. 15688 15689 Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument() 15690 for clarity. 15691 15692 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15693 (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument): 15694 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 15695 (WebFrameLoaderClient): 15696 156972013-05-09 Timothy Hatcher <timothy@apple.com> 15698 15699 Make dragging off a tab in Safari with a docked Inspector reattach the Inspector. 15700 15701 https://webkit.org/b/115832 15702 rdar://problem/13605661 15703 15704 Reviewed by Benjamin Poulain. 15705 15706 * UIProcess/mac/WebInspectorProxyMac.mm: 15707 (WebKit::WebInspectorProxy::platformBringToFront): 15708 If the Web Inspector is no longer in the same window as the inspected view, 15709 then we need to reopen the Inspector to get it attached to the right window. 15710 157112013-05-08 Anders Carlsson <andersca@apple.com> 15712 15713 Fix a typo in a comment. 15714 15715 Rubber-stamped by Darin Adler. 15716 15717 * WebProcess/WebProcess.cpp: 15718 (WebKit::WebProcess::initializeConnection): 15719 157202013-05-08 Anders Carlsson <andersca@apple.com> 15721 15722 Remove bogus StorageAreaMap assertions 15723 https://bugs.webkit.org/show_bug.cgi?id=115838 15724 15725 Reviewed by Sam Weinig. 15726 15727 It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions. 15728 15729 * WebProcess/Storage/StorageAreaMap.cpp: 15730 (WebKit::StorageAreaMap::didGetValues): 15731 (WebKit::StorageAreaMap::didClear): 15732 157332013-05-08 Anders Carlsson <andersca@apple.com> 15734 15735 Handle incoming clear operations 15736 https://bugs.webkit.org/show_bug.cgi?id=115829 15737 15738 Reviewed by Sam Weinig. 15739 15740 Handle clear by building up a new storage map with our pending changes. 15741 15742 * WebProcess/Storage/StorageAreaMap.cpp: 15743 (WebKit::StorageAreaMap::applyChange): 15744 157452013-05-08 Anders Carlsson <andersca@apple.com> 15746 15747 Don't apply changes while we're clearing the database 15748 https://bugs.webkit.org/show_bug.cgi?id=115826 15749 15750 Reviewed by Darin Adler. 15751 15752 * UIProcess/Storage/LocalStorageDatabase.cpp: 15753 (WebKit::LocalStorageDatabase::openDatabase): 15754 Only call didOpenDatabaseWithOrigin if we actually did open the database. 15755 15756 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems): 15757 Create the database if needed. 15758 15759 * UIProcess/Storage/StorageManager.cpp: 15760 (WebKit::StorageManager::getValues): 15761 Send back a DidGetValues message. 15762 15763 * WebProcess/Storage/StorageAreaMap.cpp: 15764 (WebKit::StorageAreaMap::StorageAreaMap): 15765 Initialize m_hasPendingClear. 15766 15767 (WebKit::StorageAreaMap::clear): 15768 Set m_hasPendingClear to true. 15769 15770 (WebKit::StorageAreaMap::resetValues): 15771 Set m_hasPendingClear back to false. 15772 15773 (WebKit::StorageAreaMap::loadValuesIfNeeded): 15774 Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items. 15775 15776 (WebKit::StorageAreaMap::didGetValues): 15777 Set m_hasPendingClear back to false. 15778 15779 (WebKit::StorageAreaMap::didClear): 15780 Set m_hasPendingClear back to false. 15781 15782 (WebKit::StorageAreaMap::applyChange): 15783 Don't apply the change if m_hasPendingClear is true. 15784 15785 * WebProcess/Storage/StorageAreaMap.messages.in: 15786 Add DidGetValues message. 15787 157882013-05-08 Andy Estes <aestes@apple.com> 15789 15790 [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme 15791 https://bugs.webkit.org/show_bug.cgi?id=115790 15792 15793 Reviewed by Alexey Proskuryakov. 15794 15795 NSMutableSet does not support adding or removing nil objects, and 15796 WTF::HashSet does not support adding, removing, or checking for null 15797 WTF::Strings. 15798 15799 For the NSMutableSet case, make sure that we don't try to add or remove 15800 nil NSStrings. 15801 15802 For the WTF::HashSet case, NSURL will return a nil NSString if we ask 15803 it for its scheme when it is invalid, which we will convert to a null 15804 WTF::String. Don't try to check if our HashSet of registered schemes 15805 contains a null String. 15806 15807 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 15808 (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme 15809 isn't null. We reject null schemes at the WKBrowsingContextController level. 15810 (WebKit::CustomProtocolManager::unregisterScheme): Ditto. 15811 (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false. 15812 * UIProcess/API/mac/WKBrowsingContextController.mm: 15813 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme. 15814 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto. 15815 158162013-05-08 Anders Carlsson <andersca@apple.com> 15817 15818 Apply remote changes to storage maps locally 15819 https://bugs.webkit.org/show_bug.cgi?id=115825 15820 15821 Reviewed by Beth Dakin. 15822 15823 * WebProcess/Storage/StorageAreaMap.cpp: 15824 (WebKit::StorageAreaMap::resetValues): 15825 Clear the pending values map. 15826 15827 (WebKit::StorageAreaMap::didSetItem): 15828 If we failed to set the item, forget everything we know about this storage map. 15829 Otherwise, remove the pending item. 15830 15831 (WebKit::StorageAreaMap::didRemoveItem): 15832 Remove the pending item. 15833 15834 (WebKit::StorageAreaMap::shouldApplyChangeForKey): 15835 Helper function that returns whether a change for a given key should be applied. 15836 15837 (WebKit::StorageAreaMap::applyChange): 15838 Apply the change. Currently only adds and removes are handled. 15839 15840 (WebKit::StorageAreaMap::dispatchStorageEvent): 15841 Apply the change locally as well if needed. 15842 15843 * WebProcess/Storage/StorageAreaMap.h: 15844 158452013-05-08 Anders Carlsson <andersca@apple.com> 15846 15847 Assert at compile time that we don't pass Objective-C object pointers to adoptCF 15848 https://bugs.webkit.org/show_bug.cgi?id=115823 15849 15850 Reviewed by Geoffrey Garen. 15851 15852 Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr, 15853 but this will do for now. 15854 15855 * Shared/mac/ArgumentCodersMac.mm: 15856 (CoreIPC::decode): 15857 158582013-05-08 Sam Weinig <sam@webkit.org> 15859 15860 Add SPI to determine if a plugin is sandboxed 15861 https://bugs.webkit.org/show_bug.cgi?id=115810 15862 15863 Reviewed by Anders Carlsson. 15864 15865 * PluginProcess/mac/PluginProcessMac.mm: 15866 (WebKit::PluginProcess::initializeSandbox): 15867 * Shared/Plugins/mac/PluginSandboxProfile.h: Added. 15868 * Shared/Plugins/mac/PluginSandboxProfile.mm: Added. 15869 (WebKit::pluginSandboxProfileDefaultDirectory): 15870 (WebKit::pluginSandboxProfileDirectories): 15871 (WebKit::pluginSandboxProfileName): 15872 (WebKit::pluginSandboxCommonProfile): 15873 (WebKit::pluginSandboxProfileForDirectory): 15874 (WebKit::pluginSandboxProfile): 15875 (WebKit::pluginHasSandboxProfileForDirectory): 15876 (WebKit::pluginHasSandboxProfile): 15877 Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function 15878 which uses the newly refactored code. 15879 15880 * UIProcess/API/C/mac/WKContextPrivateMac.h: 15881 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 15882 (WKPlugInInfoIsSandboxedKey): 15883 (createInfoDictionary): 15884 Add WKPlugInInfoIsSandboxedKey. 15885 15886 * WebKit2.xcodeproj/project.pbxproj: 15887 Add new files. 15888 158892013-05-08 Anders Carlsson <andersca@apple.com> 15890 15891 Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction) 15892 https://bugs.webkit.org/show_bug.cgi?id=115814 15893 <rdar://problem/12331258> 15894 15895 Reviewed by Andreas Kling. 15896 15897 To ensure that any asynchronous messages are delivered to the UI process before 15898 synchronous messages (except when doing so would lead to a deadlock), Call 15899 setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections. 15900 15901 * WebProcess/WebProcess.cpp: 15902 (WebKit::WebProcess::initializeConnection): 15903 159042013-05-08 Tim Horton <timothy_horton@apple.com> 15905 15906 Coalesce WKView visibleRect changes 15907 https://bugs.webkit.org/show_bug.cgi?id=115792 15908 <rdar://problem/13776842> 15909 15910 Reviewed by Simon Fraser. 15911 15912 The system can call renewGState much more often than we actually want 15913 to update the WebProcess' notion of the exposed rect. Most importantly, 15914 within an autolayout pass it is called many times, and often sees 15915 [WKView visibleRect] be an intermediate value which will never be 15916 flushed to the screen. We only care about the final value, so we should 15917 wait until AppKit has finished - with a zero-delay timer - to inform the 15918 WebProcess of exposed rect changes. 15919 15920 * UIProcess/WebPageProxy.cpp: 15921 (WebKit::WebPageProxy::WebPageProxy): 15922 Add exposedRectChangedTimer. 15923 (WebKit::WebPageProxy::close): 15924 Cancel exposedRectChangedTimer when tearing down the WebPageProxy. 15925 * UIProcess/WebPageProxy.h: 15926 (WebPageProxy): 15927 Add exposedRectChangedTimerFired, the timer itself, and two rects: 15928 the most recent exposed rect from the WKView, and the last one we actually 15929 sent across to the WebProcess. 15930 * UIProcess/mac/WebPageProxyMac.mm: 15931 (WebKit::WebPageProxy::viewExposedRectChanged): 15932 Instead of immediately sending exposed rect changes to the WebProcess, 15933 start a zero-delay timer to do so. 15934 (WebKit::WebPageProxy::exposedRectChangedTimerFired): 15935 Once the zero-delay timer fires, send the new exposed rect to the WebProcess. 15936 159372013-05-08 Alexey Proskuryakov <ap@apple.com> 15938 15939 <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers 15940 <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices 15941 15942 Reviewed by Anders Carlsson. 15943 15944 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more 15945 TextServices and NSInputManager directories. 15946 159472013-05-08 Anders Carlsson <andersca@apple.com> 15948 15949 Remove BinarySemaphoreWin.cpp. 15950 15951 Rubber-stamped by Beth Dakin. 15952 15953 BinarySemaphoreWin has been moved to WTF, but the original was never removed. 15954 15955 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed. 15956 159572013-05-08 Zan Dobersek <zdobersek@igalia.com> 15958 15959 [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess 15960 https://bugs.webkit.org/show_bug.cgi?id=115716 15961 15962 Reviewed by Andreas Kling. 15963 15964 WebNetworkInfoManager should inherit from WebProcessSupplement and should be used 15965 as such by the WebProcess. This removes the need for the m_networkInfoManager member 15966 variable in the WebProcess class and brings the WebNetworkInfoManager in line with 15967 other manager classes of which instances are controlled by the WebProcess class. 15968 15969 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: 15970 (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name. 15971 (WebKit): 15972 * WebProcess/NetworkInfo/WebNetworkInfoManager.h: 15973 (WebKit): Alphabetically reorder the two forwarding declarations. 15974 (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface. 15975 * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp: 15976 (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement. 15977 (WebKit::WebNetworkInfoClient::metered): Ditto. 15978 (WebKit::WebNetworkInfoClient::startUpdating): Ditto. 15979 (WebKit::WebNetworkInfoClient::stopUpdating): Ditto. 15980 (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto. 15981 * WebProcess/WebProcess.cpp: 15982 (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement. 15983 * WebProcess/WebProcess.h: 15984 (WebProcess): Remove the m_networkInfoManager member variable and its getter method. 15985 159862013-05-08 Zan Dobersek <zdobersek@igalia.com> 15987 15988 [WK2] Make the WebBatteryManager a supplement to the WebProcess 15989 https://bugs.webkit.org/show_bug.cgi?id=115715 15990 15991 Reviewed by Andreas Kling. 15992 15993 WebBatteryManager should inherit from WebProcessSupplement and should be used as such 15994 by the WebProcess. This removes the need for the m_batteryManager member variable in 15995 the WebProcess class and brings the WebBatteryManager in line with other manager classes 15996 of which instances are controlled by the WebProcess class. 15997 15998 * WebProcess/Battery/WebBatteryManager.cpp: 15999 (WebKit::WebBatteryManager::supplementName): Specify the supplement's name. 16000 (WebKit): 16001 * WebProcess/Battery/WebBatteryManager.h: 16002 (WebBatteryManager): Inherit from the WebProcessSupplement interface. 16003 * WebProcess/WebCoreSupport/WebBatteryClient.cpp: 16004 (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement. 16005 (WebKit::WebBatteryClient::stopUpdating): Ditto. 16006 (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto. 16007 * WebProcess/WebProcess.cpp: 16008 (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement. 16009 * WebProcess/WebProcess.h: 16010 (WebProcess): Remove the m_batteryManager member variable and its getter method. 16011 160122013-05-06 Darin Adler <darin@apple.com> 16013 16014 Use adoptCF and adoptNS in more places 16015 https://bugs.webkit.org/show_bug.cgi?id=115657 16016 16017 Reviewed by Sam Weinig. 16018 16019 * Shared/Downloads/cfnet/DownloadCFNet.cpp: 16020 (WebKit::Download::useCredential): 16021 (WebKit::Download::start): 16022 (WebKit::Download::startWithHandle): 16023 (WebKit::Download::cancel): 16024 (WebKit::Download::didDecideDestination): 16025 Use adoptCF and adoptNS. 16026 160272013-05-06 Sam Weinig <sam@webkit.org> 16028 16029 Add SPI to get an array of all the installed plug-ins 16030 https://bugs.webkit.org/show_bug.cgi?id=115688 16031 16032 Reviewed by Anders Carlsson. 16033 16034 * UIProcess/API/C/mac/WKContextPrivateMac.h: 16035 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 16036 (createInfoDictionary): 16037 Extract creation of info dictionary into helper. 16038 (WKContextCopyPlugInInfoForBundleIdentifier): 16039 Modified to use the new helper. 16040 (WKContextGetInfoForInstalledPlugIns): 16041 Added. 16042 160432013-05-07 Anders Carlsson <andersca@apple.com> 16044 16045 Clean up KeyframeValueList and related classes 16046 https://bugs.webkit.org/show_bug.cgi?id=115738 16047 16048 Reviewed by Simon Fraser. 16049 16050 Update for WebCore changes. 16051 16052 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 16053 (CoreIPC::::decode): 16054 160552013-05-07 Anders Carlsson <andersca@apple.com> 16056 16057 Add and remove databases and origins from the database tracker 16058 https://bugs.webkit.org/show_bug.cgi?id=115752 16059 16060 Reviewed by Andreas Kling. 16061 16062 * UIProcess/Storage/LocalStorageDatabase.cpp: 16063 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16064 Rename m_databaseFilename to m_databasePath. 16065 16066 (WebKit::LocalStorageDatabase::tryToOpenDatabase): 16067 Rename m_databaseFilename to m_databasePath. 16068 16069 * UIProcess/Storage/LocalStorageDatabase.h: 16070 Rename m_databaseFilename to m_databasePath. 16071 16072 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16073 (WebKit::LocalStorageDatabaseTracker::databasePath): 16074 Rename databaseFilename to databasePath. 16075 16076 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin): 16077 Call addDatabaseWithOriginIdentifier. 16078 16079 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin): 16080 Call removeDatabaseWithOriginIdentifier. 16081 16082 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath): 16083 Call databasePath instead of databaseFile. 16084 16085 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase): 16086 Bail if the database is already open. 16087 16088 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles): 16089 Call addDatabaseWithOriginIdentifier if this is an origin we don't know about. 16090 16091 (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier): 16092 Add the database to the Origins table. 16093 16094 (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier): 16095 remove the database from the Origins table and delete it. 16096 16097 (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier): 16098 Helper function that looks up a database path given its identifier. 16099 16100 * UIProcess/Storage/LocalStorageDatabaseTracker.h: 16101 Rename databaseFile to databasePath. 16102 161032013-05-07 Anders Carlsson <andersca@apple.com> 16104 16105 The storage database tracker should know when databases come and go 16106 https://bugs.webkit.org/show_bug.cgi?id=115748 16107 16108 Reviewed by Andreas Kling. 16109 16110 * UIProcess/Storage/LocalStorageDatabase.cpp: 16111 (WebKit::LocalStorageDatabase::openDatabase): 16112 If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin. 16113 16114 (WebKit::LocalStorageDatabase::tryToOpenDatabase): 16115 Remove a FIXME; we run all storage related things on the same thread. 16116 16117 (WebKit::LocalStorageDatabase::close): 16118 Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin. 16119 16120 (WebKit::LocalStorageDatabase::databaseIsEmpty): 16121 Helper function for determining whether a database is empty. 16122 16123 * UIProcess/Storage/LocalStorageDatabase.h: 16124 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16125 (WebKit::LocalStorageDatabaseTracker::databaseFilename): 16126 Add ".localstorage" to the filename. 16127 16128 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin): 16129 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin): 16130 Add empty stubs. 16131 161322013-05-07 Brady Eidson <beidson@apple.com> 16133 16134 Add JoinExistingSession to the Networking XPC. 16135 <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991 16136 16137 Reviewed by Sam Weinig. 16138 16139 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist: 16140 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist: 16141 161422013-05-07 Anders Carlsson <andersca@apple.com> 16143 16144 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal 16145 https://bugs.webkit.org/show_bug.cgi?id=115711 16146 16147 Reviewed by Andreas Kling. 16148 16149 Handle setting the local storage directory more than once. 16150 16151 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16152 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): 16153 Close the database (if necessary) and clear the origins map before importing the origin identifiers. 16154 161552013-05-07 Antoine Quint <graouts@apple.com> 16156 16157 Re-establish autostart timeout extension on user interaction 16158 https://bugs.webkit.org/show_bug.cgi?id=113232 16159 16160 Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of 16161 (pluginOrigin, pageOrigin, mimeType) arguments like the other similar 16162 WebProcess methods and gather these arguments from the PlugInView's 16163 plug-in element. 16164 16165 Reviewed by Dean Jackson. 16166 16167 * WebProcess/Plugins/PluginView.cpp: 16168 (WebKit::PluginView::pluginDidReceiveUserInteraction): 16169 Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the 16170 tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction(). 16171 16172 * WebProcess/WebProcess.cpp: 16173 (WebKit::WebProcess::plugInDidReceiveUserInteraction): 16174 * WebProcess/WebProcess.h: 16175 (WebProcess): 16176 Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType) 16177 and obtain the plug-in origin hash from that. 16178 161792013-05-07 Anders Carlsson <andersca@apple.com> 16180 16181 Each local storage database should know its origin 16182 https://bugs.webkit.org/show_bug.cgi?id=115737 16183 16184 Reviewed by Andreas Kling. 16185 16186 Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker. 16187 16188 * UIProcess/Storage/LocalStorageDatabase.cpp: 16189 (WebKit::LocalStorageDatabase::create): 16190 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16191 * UIProcess/Storage/LocalStorageDatabase.h: 16192 (LocalStorageDatabase): 16193 161942013-05-07 Brady Eidson <beidson@apple.com> 16195 16196 Remove some unnecessary soft linking in NetworkProcess. (Take 2) 16197 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683 16198 16199 Reviewed by Dean Jackson and owned by Andreas Kling. 16200 16201 As a followup to r149651, include the private headers conditionally. 16202 Also, fix a bug introduced with r149651 (bool vs CFBooleanRef). 16203 16204 * NetworkProcess/mac/DiskCacheMonitor.mm: 16205 * NetworkProcess/mac/NetworkResourceLoaderMac.mm: 16206 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): 16207 162082013-05-07 Jinwoo Song <jinwoo7.song@samsung.com> 16209 16210 [EFL][WK2] Add ewk APIs for setting and getting user agent 16211 https://bugs.webkit.org/show_bug.cgi?id=114429 16212 16213 Reviewed by Andreas Kling. 16214 16215 Provide ewk_view_user_agent_get/set APIs which wraps WK APIs. 16216 16217 * UIProcess/API/efl/EwkView.cpp: 16218 (EwkView::EwkView): 16219 (EwkView::setUserAgent): 16220 * UIProcess/API/efl/EwkView.h: 16221 (EwkView::userAgent): 16222 (EwkView): 16223 * UIProcess/API/efl/ewk_view.cpp: 16224 (ewk_view_user_agent_get): 16225 (ewk_view_user_agent_set): 16226 * UIProcess/API/efl/ewk_view.h: 16227 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 16228 (TEST_F): 16229 162302013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> 16231 16232 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance 16233 https://bugs.webkit.org/show_bug.cgi?id=115646 16234 16235 Reviewed by Darin Adler. 16236 16237 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 16238 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): 16239 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 16240 (WebKit::NetworkResourceLoadScheduler::hostForURL): 16241 * Shared/ImmutableDictionary.h: 16242 (WebKit::ImmutableDictionary::get): 16243 * UIProcess/Storage/StorageManager.cpp: 16244 (WebKit::StorageManager::createSessionStorageMap): 16245 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal): 16246 (WebKit::StorageManager::findStorageArea): 16247 * UIProcess/WebContext.h: 16248 (WebKit::WebContext::supplement): 16249 * UIProcess/WebProcessProxy.cpp: 16250 (WebKit::WebProcessProxy::webBackForwardItem): 16251 (WebKit::WebProcessProxy::webFrame): 16252 * UIProcess/efl/DownloadManagerEfl.cpp: 16253 (WebKit::DownloadManagerEfl::ewkDownloadJob): 16254 * WebProcess/Network/WebResourceLoadScheduler.h: 16255 (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): 16256 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 16257 (WebKit::NetscapePlugin::streamFromID): 16258 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 16259 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): 16260 * WebProcess/Plugins/PluginView.cpp: 16261 (WebKit::PluginView::cancelStreamLoad): 16262 * WebProcess/WebPage/EventDispatcher.cpp: 16263 (WebKit::EventDispatcher::wheelEvent): 16264 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 16265 (WebKit::WebBackForwardListProxy::itemForID): 16266 (WebKit::WebBackForwardListProxy::itemAtIndex): 16267 * WebProcess/WebPage/WebPage.cpp: 16268 (WebKit::WebPage::webUndoStep): 16269 (WebKit::WebPage::didFinishCheckingText): 16270 (WebKit::WebPage::didCancelCheckingText): 16271 * WebProcess/WebProcess.cpp: 16272 (WebKit::WebProcess::webPage): 16273 (WebKit::WebProcess::webPageGroup): 16274 Updated accordingly to new HashMap<.., RefPtr>::get() semantics. 16275 162762013-05-06 Zoltan Arvai <zarvai@inf.u-szeged.hu> 16277 16278 [Qt] Unreviewed buildfix after r149637. 16279 16280 * Target.pri: 16281 162822013-05-06 Ryosuke Niwa <rniwa@webkit.org> 16283 16284 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal 16285 https://bugs.webkit.org/show_bug.cgi?id=115711 16286 16287 Rubber-stamped by Anders Carlsson. 16288 16289 Temporarily removed the assertion. Andres is going to investigate it tomorrow. 16290 16291 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16292 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): 16293 162942013-05-06 Darin Adler <darin@apple.com> 16295 16296 Use OwnPtr instead of deleteAllValues in KeyframeValueList 16297 https://bugs.webkit.org/show_bug.cgi?id=115652 16298 16299 Reviewed by Simon Fraser. 16300 16301 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 16302 (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr 16303 next to new when calling KeyframeValueList::insert. 16304 163052013-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com> 16306 16307 Unreviewed, build fix on EFL port 16308 16309 * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp 16310 163112013-05-06 Philippe Normand <pnormand@igalia.com> 16312 16313 Unreviewed, GTK build fix after r149637. 16314 16315 * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to 16316 the build. 16317 163182013-05-06 Brady Eidson <beidson@apple.com> 16319 16320 Remove some unnecessary soft linking in NetworkProcess. 16321 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683 16322 16323 Reviewed by Sam Weinig. 16324 16325 Replace some unneeded soft linking with forward declarations. 16326 16327 * NetworkProcess/mac/DiskCacheMonitor.mm: 16328 (WebKit::DiskCacheMonitor::DiskCacheMonitor): 16329 * NetworkProcess/mac/NetworkResourceLoaderMac.mm: 16330 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse): 16331 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer): 16332 163332013-05-06 Anders Carlsson <andersca@apple.com> 16334 16335 More work on LocalStorageDatabaseTracker 16336 https://bugs.webkit.org/show_bug.cgi?id=115680 16337 16338 Reviewed by Andreas Kling. 16339 16340 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16341 (WebKit::LocalStorageDatabaseTracker::databaseFilename): 16342 Call the new databaseFilename that takes a string. 16343 16344 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): 16345 Assert that we don't call this more than once. Dispatch a call to import origin identifiers. 16346 16347 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath): 16348 New helper function that returns the tracker database path. 16349 16350 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase): 16351 Open the database and create the Origins table if needed. 16352 16353 (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers): 16354 Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk. 16355 16356 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles): 16357 Bring the tracker database up to date from the database files on disk. 16358 16359 * UIProcess/Storage/LocalStorageDatabaseTracker.h: 16360 (LocalStorageDatabaseTracker): 16361 163622013-05-06 Alexey Proskuryakov <ap@apple.com> 16363 16364 <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices 16365 https://bugs.webkit.org/show_bug.cgi?id=115665 16366 16367 Reviewed by Darin Adler. 16368 16369 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated 16370 check for frame->isMainFrame() to the top, matching oter similar functions. 16371 Call updateActivePages(). 16372 16373 * WebProcess/WebProcess.cpp: 16374 (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME. 16375 (WebKit::WebProcess::updateActivePages): Empty implementation for platforms 16376 that don't need to do anything here. 16377 16378 * WebProcess/WebProcess.h: Added updateActivePages(). 16379 16380 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages): 16381 Collect user visible origins of pages in the process and pass them to LS. 16382 163832013-05-06 Mark Rowe <mrowe@apple.com> 16384 16385 <rdar://problem/13775921> Switch off a deprecated API. 16386 16387 Reviewed by Oliver Hunt. 16388 16389 * Shared/mac/ChildProcessMac.mm: 16390 (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression, 16391 begin an activity that doesn't disable idle sleep, sudden termination or automatic termination. 16392 When enabling process suppression, end the activity. 16393 163942013-05-06 Anders Carlsson <andersca@apple.com> 16395 16396 Move local storage directory handling to LocalStorageDatabaseTracker 16397 https://bugs.webkit.org/show_bug.cgi?id=115676 16398 16399 Reviewed by Andreas Kling. 16400 16401 * UIProcess/Storage/LocalStorageDatabase.cpp: 16402 (WebKit::LocalStorageDatabase::create): 16403 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16404 * UIProcess/Storage/LocalStorageDatabase.h: 16405 (WebCore): 16406 (LocalStorageDatabase): 16407 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 16408 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory): 16409 (WebKit): 16410 (WebKit::LocalStorageDatabaseTracker::databaseFilename): 16411 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): 16412 * UIProcess/Storage/LocalStorageDatabaseTracker.h: 16413 (WebCore): 16414 (LocalStorageDatabaseTracker): 16415 * UIProcess/Storage/StorageManager.cpp: 16416 (WebKit::StorageManager::StorageArea::StorageArea): 16417 (WebKit::StorageManager::setLocalStorageDirectory): 16418 * UIProcess/Storage/StorageManager.h: 16419 (StorageManager): 16420 164212013-05-06 Manuel Rego Casasnovas <rego@igalia.com> 16422 16423 [GTK] Add webkit_uri_scheme_request_finish_error 16424 https://bugs.webkit.org/show_bug.cgi?id=94316 16425 16426 Reviewed by Anders Carlsson. 16427 16428 This new method will allow to finish WebKitURISchemeRequest with a 16429 GError that will be passed to the WebKitWebView through the 16430 "load-failed" signal. 16431 16432 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 16433 (webkit_uri_scheme_request_finish_error): Implement new method using 16434 WebSoupRequestManagerProxy::didFailURIRequest(). 16435 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header. 16436 * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new 16437 method in the code example at webkit_web_context_register_uri_scheme() 16438 documentation. 16439 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new 16440 method. 16441 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: 16442 (loadFailedCallback): Set m_error to monitor it from the tests. 16443 (LoadTrackingTest::loadURI): Clear m_error before each load. 16444 (LoadTrackingTest::loadHtml): Ditto. 16445 (LoadTrackingTest::loadPlainText): Ditto. 16446 (LoadTrackingTest::loadRequest): Ditto. 16447 (LoadTrackingTest::reload): Ditto. 16448 (LoadTrackingTest::goBack): Ditto. 16449 (LoadTrackingTest::goForward): Ditto. 16450 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error. 16451 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 16452 (testWebContextURIScheme): Modify test to check the behavior of the new 16453 method. 16454 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 16455 (WebKit::WebSoupRequestManagerProxy::didFailURIRequest): 16456 (WebKit): Implement new method using 16457 WebSoupRequestManager::DidFailURIRequest(). 16458 * UIProcess/soup/WebSoupRequestManagerProxy.h: 16459 (WebSoupRequestManagerProxy): Add new method header. 16460 * WebProcess/soup/WebSoupRequestManager.cpp: 16461 (WebKit): 16462 (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method 16463 setting the error and completing the request. 16464 * WebProcess/soup/WebSoupRequestManager.h: 16465 (WebSoupRequestManager): Add new method header. 16466 * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method 16467 signature. 16468 164692013-05-06 Anders Carlsson <andersca@apple.com> 16470 16471 Every LocalStorageDatabase should know about its tracker 16472 https://bugs.webkit.org/show_bug.cgi?id=115673 16473 16474 Reviewed by Andreas Kling. 16475 16476 * UIProcess/Storage/LocalStorageDatabase.cpp: 16477 (WebKit::LocalStorageDatabase::create): 16478 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16479 * UIProcess/Storage/LocalStorageDatabase.h: 16480 * UIProcess/Storage/StorageManager.cpp: 16481 (WebKit::StorageManager::StorageArea::StorageArea): 16482 164832013-05-06 Anders Carlsson <andersca@apple.com> 16484 16485 Add LocalStorageDatabaseTracker class 16486 https://bugs.webkit.org/show_bug.cgi?id=115671 16487 16488 Reviewed by Andreas Kling. 16489 16490 Somewhat unsurprisingly, this class will be used for tracking local storage databases. 16491 16492 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added. 16493 (WebKit::LocalStorageDatabaseTracker::create): 16494 (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker): 16495 (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker): 16496 * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added. 16497 (LocalStorageDatabaseTracker): 16498 16499 * UIProcess/Storage/StorageManager.cpp: 16500 (WebKit::StorageManager::StorageManager): 16501 Create a local storage database tracker. 16502 16503 * WebKit2.xcodeproj/project.pbxproj: 16504 Add new files. 16505 165062013-05-06 Anders Carlsson <andersca@apple.com> 16507 16508 Handle closing the local storage database 16509 https://bugs.webkit.org/show_bug.cgi?id=115669 16510 16511 Reviewed by Beth Dakin. 16512 16513 * UIProcess/Storage/LocalStorageDatabase.cpp: 16514 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16515 Initialize m_isClosed. 16516 16517 (WebKit::LocalStorageDatabase::~LocalStorageDatabase): 16518 Assert that m_isClosed is false. 16519 16520 (WebKit::LocalStorageDatabase::close): 16521 Set m_isClosed to true and write any pending changes to disk. 16522 16523 (WebKit::LocalStorageDatabase::updateDatabase): 16524 Compute the changed items and pass them to updateDatabaseWithChangedItems. 16525 16526 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems): 16527 Split out the code that actually writes to the database from updateDatabase and into this function. 16528 16529 * UIProcess/Storage/LocalStorageDatabase.h: 16530 * UIProcess/Storage/StorageManager.cpp: 16531 (WebKit::StorageManager::StorageArea::~StorageArea): 16532 Call close(). 16533 165342013-05-06 Zan Dobersek <zdobersek@igalia.com> 16535 16536 [WK2] Make the WebNetworkInfoManagerProxy a supplement to the WebContext 16537 https://bugs.webkit.org/show_bug.cgi?id=115654 16538 16539 Reviewed by Andreas Kling. 16540 16541 Rather than holding a RefPtr to the WebNetworkInfoManagerProxy object in WebContext, change the WebNetworkInfoManagerProxy 16542 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its 16543 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method. 16544 16545 * UIProcess/API/C/WKContext.cpp: 16546 (WKContextGetNetworkInfoManager): Retrieve the WebNetworkInfoManagerProxy object from the suppplements of the WebContext. 16547 * UIProcess/WebContext.cpp: 16548 (WebKit::WebContext::WebContext): Add the WebNetworkInfoManagerProxy object as a supplement instead of assigning it to 16549 the now-removed member variable. 16550 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the 16551 supplements vector. 16552 (WebKit::WebContext::disconnectProcess): Ditto. 16553 * UIProcess/WebContext.h: 16554 (WebContext): Remove the WebNetworkInfoManagerProxy RefPtr member variable and its getter method. 16555 * UIProcess/WebNetworkInfoManagerProxy.cpp: 16556 (WebKit::WebNetworkInfoManagerProxy::supplementName): Specift the supplement's name. 16557 (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): Initialize as a WebContextSupplement. 16558 (WebKit::WebNetworkInfoManagerProxy::providerDidChangeNetworkInformation): Adjust to use the context() method instead of 16559 accessing the private m_context directly. 16560 (WebKit::WebNetworkInfoManagerProxy::contextDestroyed): Stop updating when invoked. 16561 (WebKit::WebNetworkInfoManagerProxy::processDidClose): Ditto. 16562 (WebKit::WebNetworkInfoManagerProxy::refWebContextSupplement): Call APIObject::ref. 16563 (WebKit::WebNetworkInfoManagerProxy::derefWebContextSupplement): Call APIObject::deref. 16564 * UIProcess/WebNetworkInfoManagerProxy.h: 16565 (WebNetworkInfoManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods. 16566 165672013-05-06 Alexey Proskuryakov <ap@apple.com> 16568 16569 <rdar://problem/13479806> [Mac] Pass plug-in bundle ID to LaunchServices 16570 https://bugs.webkit.org/show_bug.cgi?id=115483 16571 16572 Reviewed by Darin Adler. 16573 16574 * PluginProcess/PluginProcess.h: Added m_pluginBundleIdentifier. We now need it 16575 in multiple places, so it's easier to pre-compute it. 16576 16577 * PluginProcess/mac/PluginProcessMac.mm: 16578 (WebKit::loadSandboxProfileForDirectory): Changed to use precomputed bundle ID. 16579 (WebKit::loadSandboxProfile): Ditto. 16580 (WebKit::PluginProcess::platformInitializeProcess): Pre-compute bundle ID. 16581 (WebKit::PluginProcess::initializeProcessName): Pass it to LaunchServices. 16582 (WebKit::PluginProcess::initializeSandbox): Pass precomputed bundle ID instead of 16583 a path. 16584 165852013-05-06 Anders Carlsson <andersca@apple.com> 16586 16587 Handle removeItem and clear in LocalStorageDatabase 16588 https://bugs.webkit.org/show_bug.cgi?id=115664 16589 16590 Reviewed by Darin Adler. 16591 16592 * UIProcess/Storage/LocalStorageDatabase.cpp: 16593 (WebKit::LocalStorageDatabase::removeItem): 16594 Call itemDidChange with a null value, indicating that we want to remove this item. 16595 16596 (WebKit::LocalStorageDatabase::clear): 16597 Clear items, set m_shouldClearItems and schedule a database update. 16598 16599 (WebKit::LocalStorageDatabase::updateDatabase): 16600 If m_shouldClearItems is true, clear all items. 16601 16602 * UIProcess/Storage/StorageManager.cpp: 16603 (WebKit::StorageManager::StorageArea::removeItem): 16604 Call through to the local storage database. 16605 16606 (WebKit::StorageManager::StorageArea::clear): 16607 Ditto. 16608 166092013-05-06 Anders Carlsson <andersca@apple.com> 16610 16611 Write storage changes to disk 16612 https://bugs.webkit.org/show_bug.cgi?id=115660 16613 16614 Reviewed by Andreas Kling. 16615 16616 * UIProcess/Storage/LocalStorageDatabase.cpp: 16617 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 16618 Initialize new member variables. 16619 16620 (WebKit::LocalStorageDatabase::tryToOpenDatabase): 16621 Disable database threading checks. 16622 16623 (WebKit::LocalStorageDatabase::importItems): 16624 Only import the items once. 16625 16626 (WebKit::LocalStorageDatabase::setItem): 16627 Call itemDidChange. 16628 16629 (WebKit::LocalStorageDatabase::itemDidChange): 16630 Record the change and schedule a database update. 16631 16632 (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate): 16633 Use WorkQueue::dispatchAfterDelay to schedule a datbase update. 16634 16635 (WebKit::LocalStorageDatabase::updateDatabase): 16636 Write changes to disk. If there are more than 100 pending items, only write the first 100 and then schedule 16637 another database update for the remaining items. 16638 16639 * UIProcess/Storage/LocalStorageDatabase.h: 16640 Add new member variables. 16641 16642 * UIProcess/Storage/StorageManager.cpp: 16643 (WebKit::StorageManager::StorageArea::setItem): 16644 Call LocalStorageDatabase::setItem. 16645 166462013-05-06 Zan Dobersek <zdobersek@igalia.com> 16647 16648 [WK2] Make the WebBatteryManagerProxy a supplement to the WebContext 16649 https://bugs.webkit.org/show_bug.cgi?id=115625 16650 16651 Reviewed by Andreas Kling. 16652 16653 Rather than holding a RefPtr to the WebBatteryManagerProxy object in WebContext, change the WebBatteryManagerProxy 16654 to implement the WebContextSupplement interface and handle the object as such in WebContext, simplifying its 16655 construction and cleanup, removing the specific RefPtr member variable and its correlating getter method. 16656 16657 * UIProcess/API/C/WKContext.cpp: 16658 (WKContextGetBatteryManager): Retrieve the WebBatteryManagerProxy object from the supplements of the WebContext. 16659 * UIProcess/WebBatteryManagerProxy.cpp: 16660 (WebKit::WebBatteryManagerProxy::supplementName): Specify the supplement's name. 16661 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): Initialize as a WebContextSupplementable. 16662 (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus): Adjust to use the context() method instead of accessing 16663 the private m_context directly. 16664 (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus): Ditto. 16665 (WebKit::WebBatteryManagerProxy::contextDestroyed): Stop updating when invoked. 16666 (WebKit::WebBatteryManagerProxy::processDidClose): Ditto. 16667 (WebKit::WebBatteryManagerProxy::refWebContextSupplement): Call APIObject::ref. 16668 (WebKit::WebBatteryManagerProxy::derefWebContextSupplement): Call APIObject::deref. 16669 (WebKit::WebBatteryManagerProxy::startUpdating): Fire up the provider if not yet updating. 16670 (WebKit::WebBatteryManagerProxy::stopUpdating): Wind down the provider if updating. 16671 * UIProcess/WebBatteryManagerProxy.h: 16672 (WebBatteryManagerProxy): Inherit from WebContextSupplement, declare the newly-inherited methods. 16673 * UIProcess/WebContext.cpp: 16674 (WebKit::WebContext::WebContext): Add the WebBatteryManagerProxy object as a supplement instead of assigning it to 16675 the now-removed member variable. 16676 (WebKit::WebContext::~WebContext): No need for the specific cleanup, the equivalent is achieved when iterating through the 16677 supplements vector. 16678 (WebKit::WebContext::disconnectProcess): Ditto. 16679 * UIProcess/WebContext.h: 16680 (WebContext): Remove the WebBatteryManagerProxy RefPtr member variable and its getter method. 16681 166822013-05-06 Antoine Quint <graouts@apple.com> 16683 16684 Manage the presentation of the snapshotted plug-in using JavaScript 16685 https://bugs.webkit.org/show_bug.cgi?id=115548 16686 16687 Reviewed by Dean Jackson. 16688 16689 Expose a new plugInExtraScript method to support the injection of 16690 a JS file from the chrome client to customize the rendering of a 16691 snapshotted plug-in's shadow tree. Additionally, it is expected 16692 the chrome client will want to provide localized strings taking 16693 into account the snapshotted plug-in's mime-type, so we're adding 16694 this as a parameter to both plugInStartLabelTitle and 16695 plugInStartLabelSubtitle methods. 16696 16697 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 16698 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 16699 (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): 16700 (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): 16701 (WebKit::InjectedBundlePageUIClient::plugInExtraScript): 16702 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 16703 (InjectedBundlePageUIClient): 16704 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 16705 (WebKit::WebChromeClient::plugInStartLabelTitle): 16706 (WebKit::WebChromeClient::plugInStartLabelSubtitle): 16707 (WebKit::WebChromeClient::plugInExtraScript): 16708 * WebProcess/WebCoreSupport/WebChromeClient.h: 16709 (WebChromeClient): 16710 167112013-05-05 Chris Fleizach <cfleizach@apple.com> 16712 16713 WEB SPEECH: deny file-read-data /Library/Speech/Synthesizers 16714 https://bugs.webkit.org/show_bug.cgi?id=115621 16715 16716 Reviewed by Alexey Proskuryakov. 16717 16718 Allow access to the location where 3rd party speech synthesizers are stored. 16719 16720 * WebProcess/com.apple.WebProcess.sb.in: 16721 167222013-05-05 Tim Horton <timothy_horton@apple.com> 16723 16724 [wk2] Page Overlays: deviceScaleFactor doesn't update when the display changes 16725 https://bugs.webkit.org/show_bug.cgi?id=115577 16726 <rdar://problem/13762583> 16727 16728 Reviewed by Darin Adler. 16729 16730 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16731 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor): 16732 Invalidate the page overlay layers' device scale factor when 16733 TiledCoreAnimationDrawingArea is notified that it has changed. 16734 167352013-05-05 Anders Carlsson <andersca@apple.com> 16736 16737 Remove the Vector::append overload that takes a Vector 16738 https://bugs.webkit.org/show_bug.cgi?id=115535 16739 16740 Reviewed by Andreas Kling. 16741 16742 Use Vector::appendVector instead. 16743 16744 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 16745 (WebKit::NetworkBlobRegistry::registerBlobURL): 16746 * NetworkProcess/SchedulableLoader.cpp: 16747 (WebKit::SchedulableLoader::SchedulableLoader): 16748 * Platform/CoreIPC/Connection.cpp: 16749 (CoreIPC::Connection::SyncMessageState::dispatchMessages): 16750 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: 16751 (WebKit::PluginInfoStore::pluginsDirectories): 16752 167532013-05-04 Sam Weinig <sam@webkit.org> 16754 16755 Fix * placement in a few functions as noticed by Mark Rowe. 16756 16757 Rubber-stamped by Dan Bernstein. 16758 16759 * WebProcess/WebPage/PageBanner.h: 16760 (PageBanner): 16761 * WebProcess/WebPage/mac/PageBannerMac.mm: 16762 (WebKit::PageBanner::create): 16763 (WebKit::PageBanner::PageBanner): 16764 167652013-05-04 Sam Weinig <sam@webkit.org> 16766 16767 REGRESSION(r148312): Crash when calling WKPageClose(page) followed by WKPageTerminate(page) 16768 <rdar://problem/13702008> 16769 https://bugs.webkit.org/show_bug.cgi?id=115607 16770 16771 Reviewed by Benjamin Poulain. 16772 16773 API Test: WebKit2.CloseThenTerminate 16774 16775 * UIProcess/WebPageProxy.cpp: 16776 (WebKit::WebPageProxy::resetStateAfterProcessExited): 16777 Don't try to reset the state if the page is closed, it won't work and its not worth it. 16778 167792013-05-04 Beth Dakin <bdakin@apple.com> 16780 16781 https://bugs.webkit.org/show_bug.cgi?id=115574 16782 Crash using new WKBundlePageSetHeaderBanner() API to set a banner to null 16783 16784 Reviewed by Darin Adler. 16785 16786 Don't call addToPage() on a null banner. 16787 * WebProcess/WebPage/WebPage.cpp: 16788 (WebKit::WebPage::setHeaderPageBanner): 16789 (WebKit::WebPage::setFooterPageBanner): 16790 167912013-05-03 Alexey Proskuryakov <ap@apple.com> 16792 16793 <rdar://problem/13806836> Tweak sandbox profile. 16794 16795 Reviewed by Dan Bernstein. 16796 16797 * WebProcess/com.apple.WebProcess.sb.in: 16798 167992013-05-03 Tim Horton <timothy_horton@apple.com> 16800 16801 PDFPlugin: Changes being made to active annotation aren't saved when the PDF is exported 16802 https://bugs.webkit.org/show_bug.cgi?id=115544 16803 <rdar://problem/13801789> 16804 16805 Reviewed by Alexey Proskuryakov. 16806 16807 Commit changes to the active annotation (if there is one) before 16808 returning the live PDF data, so that said changes are represented 16809 in the exported or printed output. 16810 16811 * WebProcess/Plugins/PDF/PDFPlugin.h: Override liveData. 16812 * WebProcess/Plugins/PDF/PDFPlugin.mm: 16813 (WebKit::PDFPlugin::liveData): Commit the active annotation if there is one. 16814 * WebProcess/Plugins/PDF/SimplePDFPlugin.h: 16815 (SimplePDFPlugin): Make liveData virtual. 16816 168172013-05-03 Tim Horton <timothy_horton@apple.com> 16818 16819 Web process crashes at WebPage::determinePrimarySnapshottedPlugInTimerFired + 8 16820 https://bugs.webkit.org/show_bug.cgi?id=115056 16821 <rdar://problem/13719543> 16822 16823 Reviewed by Simon Fraser. 16824 16825 Null-check m_page. In theory, we shouldn't get here, because we stop 16826 the timer at the only point where m_page is cleared, but crash logs say 16827 we're still crashing here. 16828 16829 * WebProcess/WebPage/WebPage.cpp: 16830 (WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired): 16831 168322013-05-03 Tim Horton <timothy_horton@apple.com> 16833 16834 Remove some "what" comments from FindController 16835 https://bugs.webkit.org/show_bug.cgi?id=115546 16836 16837 Reviewed by Andreas Kling. 16838 16839 * WebProcess/WebPage/FindController.cpp: 16840 (WebKit::FindController::countStringMatches): 16841 (WebKit::FindController::updateFindUIAfterPageScroll): 16842 (WebKit::FindController::willMoveToWebPage): 16843 (WebKit::FindController::mouseEvent): 16844 Remove or reword some comments. 16845 168462013-05-02 Andy Estes <aestes@apple.com> 16847 16848 [WK2][CustomProtocols] NSURLProtocolClient methods should be dispatched on NSURLConnection's resource loader run loop 16849 https://bugs.webkit.org/show_bug.cgi?id=115539 16850 16851 Reviewed by Alexey Proskuryakov. 16852 16853 It turns out that calling NSURLProtocolClient methods from a different 16854 thread than the one running the NSURLConnection run loop is unsafe. 16855 Although I can't capture it reliably in a test case, doing so can 16856 sometimes result in a load timing out because the call to 16857 -[NSURLProtocolClient URLProtocolDidFinishLoading:] was ignored by 16858 NSURLConnection. 16859 16860 Fix this by dispatching these methods on the NSURLConnection resource 16861 load run loop. This matches where NSURLProtocolClient methods are 16862 dispatched by typical NSURLProtocol implementations, and in my testing 16863 this solves the timeout issue. 16864 16865 * Shared/Network/CustomProtocols/CustomProtocolManager.h: Declare 16866 dispatchOnResourceLoaderRunLoop(). 16867 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 16868 Declare +[NSURLConnection resourceLoaderRunLoop] on a category of 16869 NSURLConnection. Also include the header that declares it if it's present. 16870 (WebKit::CustomProtocolManager::didFailWithError): Call the 16871 NSURLProtocolClient method via dispatchOnResourceLoaderRunLoop(). 16872 (WebKit::CustomProtocolManager::didLoadData): Ditto. 16873 (WebKit::CustomProtocolManager::didReceiveResponse): Ditto. 16874 (WebKit::CustomProtocolManager::didFinishLoading): Ditto. 16875 (WebKit::CustomProtocolManager::dispatchOnResourceLoaderRunLoop): 16876 Dispatch a block on the NSURLConnection resource loader run loop and 16877 then wake up the run loop. 16878 168792013-05-02 Brady Eidson <beidson@apple.com> 16880 16881 REGRESSION (149389) Main resources converted to downloads are immediately cancelled. 16882 <rdar://problem/13795795> and https://bugs.webkit.org/show_bug.cgi?id=115530 16883 16884 Reviewed by Alexey Proskuryakov. 16885 16886 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 16887 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): Call didConvertHandleToDownload 16888 on the NetworkResourceLoader. 16889 16890 * NetworkProcess/NetworkResourceLoader.cpp: 16891 (WebKit::NetworkResourceLoader::NetworkResourceLoader): 16892 (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Set m_handleConvertedToDownload to true. 16893 (WebKit::NetworkResourceLoader::abort): Only cancel the handle if m_handleConvertedToDownload is false. 16894 * NetworkProcess/NetworkResourceLoader.h: 16895 168962013-05-02 Alexey Proskuryakov <ap@apple.com> 16897 16898 <rdar://problem/13740375> Non-ASCII downloaded file names are garbled when using NetworkProcess 16899 https://bugs.webkit.org/show_bug.cgi?id=115520 16900 16901 Reviewed by Darin Adler. 16902 16903 * Shared/mac/WebCoreArgumentCodersMac.mm: 16904 (CoreIPC::::encodePlatformData): 16905 (CoreIPC::::decodePlatformData): 16906 Send the encoding fallback array over IPC, so that it's present when NetworkProcess does its loading. 16907 169082013-05-01 Alexey Proskuryakov <ap@apple.com> 16909 16910 REGRESSION (r149422): -[WKBrowsingContextController loadFileURL:restrictToFilesWithin:] 16911 broken when second argument is nil 16912 https://bugs.webkit.org/show_bug.cgi?id=115505 16913 <rdar://problem/13787297> 16914 16915 Reviewed by Darin Adler. 16916 16917 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): Pass a URL string 16918 to assumeReadAccessToBaseURL, as this is what it takes. 16919 169202013-05-01 Ryosuke Niwa <rniwa@webkit.org> 16921 16922 [Mac] WebKit doesn't enable or disable autocorrections when system preferences are changed 16923 https://bugs.webkit.org/show_bug.cgi?id=115463 16924 16925 Reviewed by Darin Adler. 16926 16927 Observe the default notification center and propagate the changes to TextCheckerState and 16928 to all WebProcesses when system preferences are updated. 16929 16930 * UIProcess/TextChecker.h: 16931 * UIProcess/WebContext.h: 16932 * UIProcess/mac/TextCheckerMac.mm: 16933 (WebKit::shouldAutomaticTextReplacementBeEnabled): 16934 (WebKit::shouldAutomaticSpellingCorrectionBeEnabled): 16935 (WebKit::shouldAutomaticQuoteSubstitutionBeEnabled): 16936 (WebKit::shouldAutomaticDashSubstitutionBeEnabled): 16937 (WebKit::initializeState): 16938 (WebKit::TextChecker::didChangeAutomaticTextReplacementEnabled): 16939 (WebKit::TextChecker::didChangeAutomaticSpellingCorrectionEnabled): 16940 (WebKit::TextChecker::didChangeAutomaticQuoteSubstitutionEnabled): 16941 (WebKit::TextChecker::didChangeAutomaticDashSubstitutionEnabled): 16942 * UIProcess/mac/WebContextMac.mm: 16943 (WebKit::WebContext::registerNotificationObservers): 16944 (WebKit::WebContext::unregisterNotificationObservers): 16945 169462013-05-01 Ryuan Choi <ryuan.choi@samsung.com> 16947 16948 [GTK] Fix build break after r149449 16949 https://bugs.webkit.org/show_bug.cgi?id=115500 16950 16951 Reviewed by Gustavo Noronha Silva. 16952 16953 Unreviewed GTK build fix 16954 16955 * GNUmakefile.list.am: Added LocalStorageDatabase.[cpp|h] to the list of 16956 sources. 16957 169582013-05-01 Martin Robinson <mrobinson@igalia.com> 16959 16960 [GTK] [WebKit2] Documentation for webkit_web_view_run_javascript should indicate what happens when JavaScript is disabled 16961 https://bugs.webkit.org/show_bug.cgi?id=115492 16962 16963 Reviewed by Xan Lopez. 16964 16965 * UIProcess/API/gtk/WebKitWebView.cpp: Clarify the documentation. 16966 169672013-05-01 Tim Horton <timothy_horton@apple.com> 16968 16969 Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry 16970 https://bugs.webkit.org/show_bug.cgi?id=115487 16971 16972 Reviewed by Darin Adler. 16973 16974 * UIProcess/WebContext.cpp: 16975 * UIProcess/WebContext.h: 16976 Remove pdfAndPostScriptMIMETypes. 16977 16978 * UIProcess/WebFrameProxy.cpp: 16979 (WebKit::WebFrameProxy::canShowMIMEType): Move PDF bits to WebPageProxy. 16980 (WebKit::WebFrameProxy::isDisplayingPDFDocument): 16981 Make use of WebCore's newfound knowledge of PDF and PostScript MIME types, 16982 so we don't have to duplicate it unnecessarily in WebKit2. 16983 16984 * UIProcess/WebPageProxy.cpp: 16985 (WebKit::WebPageProxy::canShowMIMEType): 16986 Add code which used to be in WebFrameProxy::canShowMIMEType, and adapt it 16987 to use WebCore's knowledge of PDF and PostScript MIME types. 16988 16989 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: 16990 (WebKit::SimplePDFPlugin::pluginInfo): 16991 We previously supported the "text/pdf" MIME type for PDFViewController, 16992 so SimplePDFPlugin and PDFPlugin should support it as well. 16993 16994 * WebProcess/WebPage/WebPage.cpp: 16995 (WebKit::WebPage::createPlugin): 16996 Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType. 16997 16998 * WebProcess/WebPage/WebPage.h: 16999 (WebPage): 17000 Remove pdfAndPostScriptMIMETypes. 17001 17002 * WebProcess/WebPage/mac/WebPageMac.mm: 17003 (WebKit::WebPage::platformPreferencesDidChange): 17004 Adopt getPDFAndPostScriptMIMETypes instead of duplicating the list in WebKit2. 17005 170062013-05-01 Anders Carlsson <andersca@apple.com> 17007 17008 Implement LocalStorageDatabase::importItems 17009 https://bugs.webkit.org/show_bug.cgi?id=115493 17010 17011 Reviewed by Andreas Kling. 17012 17013 Fetch items and insert them in the storage map. 17014 * UIProcess/Storage/LocalStorageDatabase.cpp: 17015 (WebKit::LocalStorageDatabase::importItems): 17016 170172013-05-01 Anders Carlsson <andersca@apple.com> 17018 17019 Begin work on loading items from the local storage database 17020 https://bugs.webkit.org/show_bug.cgi?id=115489 17021 17022 Reviewed by Andreas Kling. 17023 17024 Some of the LocalStorageDatabase code is originally from WebCore, 17025 but has been simplified due to the fact that we don't need to load 17026 database data asynchronously since we're already running on a non-main thread. 17027 17028 * UIProcess/Storage/LocalStorageDatabase.cpp: 17029 (WebKit::LocalStorageDatabase::LocalStorageDatabase): 17030 (WebKit::LocalStorageDatabase::openDatabase): 17031 (WebKit::LocalStorageDatabase::tryToOpenDatabase): 17032 (WebKit::LocalStorageDatabase::migrateItemTableIfNeeded): 17033 (WebKit::LocalStorageDatabase::importItems): 17034 17035 * UIProcess/Storage/LocalStorageDatabase.h: 17036 (WebKit::StorageManager::StorageArea::setItem): 17037 (WebKit::StorageManager::StorageArea::removeItem): 17038 (WebKit::StorageManager::StorageArea::clear): 17039 (WebKit::StorageManager::StorageArea::items): 17040 Call importItemsFromDatabase(). 17041 17042 (WebKit::StorageManager::StorageArea::importItemsFromDatabase): 17043 Ask the database to import the items. 17044 170452013-05-01 Ryuan Choi <ryuan.choi@samsung.com> 17046 17047 [EFL] Unreviewed buildfix after r149449. 17048 17049 * CMakeLists.txt: 17050 170512013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu> 17052 17053 [Qt] Unreviewed buildfix after r149449. 17054 17055 * Target.pri: 17056 170572013-05-01 Anders Carlsson <andersca@apple.com> 17058 17059 Add LocalStorageDatabase class 17060 https://bugs.webkit.org/show_bug.cgi?id=115486 17061 17062 Reviewed by Sam Weinig. 17063 17064 The LocalStorageDatabase class will persist local storage data to disk. 17065 17066 * UIProcess/Storage/LocalStorageDatabase.cpp: 17067 * UIProcess/Storage/LocalStorageDatabase.h: Added. 17068 17069 * UIProcess/Storage/StorageManager.cpp: 17070 (StorageManager::StorageArea): 17071 (WebKit::StorageManager::LocalStorageNamespace::storageManager): 17072 Add getter. 17073 17074 (StorageManager::LocalStorageNamespace): 17075 (WebKit::StorageManager::StorageArea::StorageArea): 17076 If this is a local storage area, create a LocalStorageDatabase. 17077 17078 (WebKit::StorageManager::LocalStorageNamespace::databaseFilename): 17079 Helper function for getting the name of the database for the given origin. 17080 17081 * WebKit2.xcodeproj/project.pbxproj: 17082 Add new files. 17083 170842013-05-01 Alexey Proskuryakov <ap@apple.com> 17085 17086 <rdar://problem/13781156> Launching NetworkProcess broken on some OS versions. 17087 17088 Reviewed by Anders Carlsson. 17089 17090 Adapt to LaunchServices changes. 17091 17092 * Shared/mac/ChildProcessMac.mm: 17093 (WebKit::ChildProcess::setApplicationIsDaemon): 17094 170952013-05-01 Martin Robinson <mrobinson@igalia.com> 17096 17097 [GTK] [WebKit2] Add a setting to control whether or not accelerated 2D canvas is enabled 17098 https://bugs.webkit.org/show_bug.cgi?id=114394 17099 17100 Reviewed by Anders Carlsson. 17101 17102 Add a setting to control accelerated 2D canvas, which determines whether 17103 or not to consider rendering HTML canvas with hardware acceleration. 17104 17105 * UIProcess/API/gtk/WebKitSettings.cpp: 17106 (webKitSettingsSetProperty): Added support for enable-accelerated-2d-canvas property. 17107 (webKitSettingsGetProperty): Added support for enable-accelerated-2d-canvas property. 17108 (webkit_settings_class_init): Added support for enable-accelerated-2d-canvas property. 17109 (webkit_settings_get_enable_accelerated_2d_canvas): Added. 17110 (webkit_settings_set_enable_accelerated_2d_canvas): Added. 17111 * UIProcess/API/gtk/WebKitSettings.h: New methods. 17112 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new methods to the documentation. 17113 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 17114 (testWebKitSettings): Added a simple test for the setting. 17115 171162013-04-30 Jer Noble <jer.noble@apple.com> 17117 17118 Entering full screen mode shows desktop linen instead of WKView the first time. 17119 https://bugs.webkit.org/show_bug.cgi?id=115433 17120 <rdar://problem/13774540> 17121 17122 Reviewed by Eric Carlson. 17123 17124 For certain types of windows created by subclasses of WKView, the window in question fails to paint 17125 when created with a zero-size rect. Create the window with an initial size of the active screen frame 17126 as that is the likely destination size. 17127 17128 * UIProcess/API/mac/WKView.mm: 17129 (-[WKView createFullScreenWindow]): 17130 171312013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu> 17132 17133 [Qt][Win] Fix build after r149416. 17134 https://bugs.webkit.org/show_bug.cgi?id=115474 17135 17136 Reviewed by Anders Carlsson. 17137 17138 * Platform/CoreIPC/Connection.h: 17139 (Connection): 17140 * Platform/CoreIPC/win/ConnectionWin.cpp: 17141 (CoreIPC::Connection::dispatchSentMessagesUntil): 17142 171432013-05-01 Sergio Villar Senin <svillar@igalia.com> 17144 17145 Unreviewed GTK build fix after r149417. 17146 17147 * GNUmakefile.list.am: Added PageBanner.[cpp|h] to the list of 17148 sources. 17149 171502013-05-01 Ryuan Choi <ryuan.choi@samsung.com> 17151 17152 [EFL] Unreviewed buildfix after r149416 and r149417. 17153 17154 Unreviewed build fix. 17155 17156 * CMakeLists.txt: 17157 171582013-05-01 Zoltan Arvai <zarvai@inf.u-szeged.hu> 17159 17160 [Qt] Unreviewed buildfix after r149416 and r149417. 17161 17162 * Target.pri: 17163 171642013-04-30 Dongwoo Joshua Im <dw.im@samsung.com> 17165 17166 [EFL] Unreviewed, EFL build fix after r149416 17167 https://bugs.webkit.org/show_bug.cgi?id=115467 17168 17169 Unreviewed build fix. 17170 17171 * CMakeLists.txt: Remove non-existing file, BinarySemaphore.cpp, from the list. 17172 171732013-04-30 Simon Cooper <scooper@apple.com> 17174 17175 ipc-posix-shm backwards compatibility 17176 https://bugs.webkit.org/show_bug.cgi?id=115448 17177 <rdar://problem/13743037> 17178 17179 Reviewed by Alexey Proskuryakov. 17180 17181 Add compatibility for older ipc-posix-shm operations, but prefer the 17182 newer names when writing profiles. 17183 17184 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 17185 171862013-04-30 Philippe Normand <pnormand@igalia.com> 17187 17188 Unreviewed, GTK build fix after r149416. 17189 17190 * GNUmakefile.list.am: Remove references to non-existant 17191 BinarySemaphore module. 17192 171932013-04-28 Alexey Proskuryakov <ap@apple.com> 17194 17195 <rdar://problem/13574729> Implement file path restrictions in WebKit Objective C API 17196 https://bugs.webkit.org/show_bug.cgi?id=115321 17197 17198 Reviewed by Darin Adler. 17199 17200 * UIProcess/API/C/WKPage.cpp: 17201 * UIProcess/API/C/WKPage.h: 17202 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadFile): 17203 * UIProcess/WebPageProxy.h: 17204 Added and implemented a C API to load a file while only opening sandbox for 17205 a specific directory. 17206 17207 * UIProcess/API/mac/WKBrowsingContextController.h: Fixed a typo in a comment. 17208 17209 * UIProcess/API/mac/WKBrowsingContextController.mm: 17210 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]): 17211 Respect allowedDirectory argument. Updated the function to raise an exception for 17212 incorrect input, as decribed in header file. 17213 172142013-04-29 Sam Weinig <sam@webkit.org> 17215 17216 Add API to allow WebKit2 banners to get mouse events 17217 https://bugs.webkit.org/show_bug.cgi?id=115395 17218 17219 Reviewed by Beth Dakin. 17220 17221 * Shared/API/c/WKBase.h: 17222 * Shared/APIObject.h: 17223 Add banner type. 17224 17225 * WebKit2.xcodeproj/project.pbxproj: 17226 Add files. 17227 17228 * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: 17229 Add conversion. 17230 17231 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 17232 (WKBundlePageSetTopOverhangImage): 17233 (WKBundlePageSetBottomOverhangImage): 17234 Fix parameter names to be consistent. 17235 17236 (WKBundlePageSetHeaderBanner): 17237 (WKBundlePageSetFooterBanner): 17238 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 17239 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp: Added. 17240 (WKBundlePageBannerGetTypeID): 17241 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Added. 17242 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: Added. 17243 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Added. 17244 (PageBannerClientImpl): 17245 (PageBannerClientImpl::create): 17246 (PageBannerClientImpl::PageBannerClientImpl): 17247 (PageBannerClientImpl::pageBannerDestroyed): 17248 (PageBannerClientImpl::mouseEvent): 17249 (WKBundlePageBannerCreateBannerWithCALayer): 17250 (WKBundlePageBannerGetLayer): 17251 Add banner API. 17252 17253 * WebProcess/WebPage/PageBanner.h: Added. 17254 * WebProcess/WebPage/PageBanner.cpp: Added. 17255 (WebKit::PageBanner::~PageBanner): 17256 (WebKit::PageBanner::addToPage): 17257 (WebKit::PageBanner::detachFromPage): 17258 (WebKit::PageBanner::didChangeDeviceScaleFactor): 17259 (WebKit::PageBanner::mouseEvent): 17260 Add non-mac implementations. 17261 17262 * WebProcess/WebPage/WebPage.cpp: 17263 (WebKit::WebPage::~WebPage): 17264 (WebKit::WebPage::setHeaderPageBanner): 17265 (WebKit::WebPage::headerPageBanner): 17266 (WebKit::WebPage::setFooterPageBanner): 17267 (WebKit::WebPage::footerPageBanner): 17268 (WebKit::WebPage::mouseEvent): 17269 (WebKit::WebPage::mouseEventSyncForTesting): 17270 * WebProcess/WebPage/WebPage.h: 17271 Add banner setter/getters and give the banners a chance to handle mouse events. 17272 17273 * WebProcess/WebPage/mac/PageBannerMac.mm: Added. 17274 (WebKit::PageBanner::create): 17275 (WebKit::PageBanner::PageBanner): 17276 (WebKit::PageBanner::addToPage): 17277 (WebKit::PageBanner::detachFromPage): 17278 (WebKit::PageBanner::didChangeDeviceScaleFactor): 17279 (WebKit::PageBanner::mouseEvent): 17280 (WebKit::PageBanner::layer): 17281 Add Mac implementation. 17282 17283 * WebProcess/WebPage/mac/WebPageMac.mm: 17284 (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange): 17285 Notify banners when the device scale changes. 17286 172872013-04-30 Anders Carlsson <andersca@apple.com> 17288 17289 Remove the WebKit2 BinarySemaphore class 17290 https://bugs.webkit.org/show_bug.cgi?id=115458 17291 17292 Reviewed by Benjamin Poulain. 17293 17294 Remove the WK2 specific BinarySemaphore class and use the one from WTF. 17295 17296 * Platform/CoreIPC/BinarySemaphore.cpp: Removed. 17297 * Platform/CoreIPC/BinarySemaphore.h: Removed. 17298 * Platform/CoreIPC/Connection.cpp: 17299 * Platform/CoreIPC/Connection.h: 17300 * WebKit2.xcodeproj/project.pbxproj: 17301 173022013-04-30 Alexey Proskuryakov <ap@apple.com> 17303 17304 <rdar://problem/13757475> WebProcess deny ipc-posix-shm-read-data CFPBS:A2: 17305 17306 Reviewed by Anders Carlsson. 17307 17308 * WebProcess/com.apple.WebProcess.sb.in: Allow pbs shared memory. 17309 173102013-04-30 Alexey Proskuryakov <ap@apple.com> 17311 17312 [Mac] Don't open window server connection in network process 17313 https://bugs.webkit.org/show_bug.cgi?id=115446 17314 17315 Reviewed by Anders Carlsson. 17316 17317 * NetworkProcess/NetworkProcess.cpp: 17318 (WebKit::NetworkProcess::initializeProcess): 17319 * NetworkProcess/NetworkProcess.h: 17320 * NetworkProcess/mac/NetworkProcessMac.mm: 17321 (WebKit::NetworkProcess::initializeProcess): 17322 (WebKit::NetworkProcess::initializeProcessName): 17323 Instead of shutting down a connection after setting process name, just prevent 17324 it from being created. 17325 17326 * Shared/ChildProcess.h: 17327 * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::setApplicationIsDaemon): 17328 Expose a function for client processes to call if they don't run an NSApplication 17329 run loop. 17330 17331 * OfflineStorageProcess/OfflineStorageProcess.cpp: 17332 (WebKit::OfflineStorageProcess::initializeProcess): 17333 * OfflineStorageProcess/OfflineStorageProcess.h: 17334 * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: 17335 (WebKit::OfflineStorageProcess::initializeProcess): 17336 (WebKit::OfflineStorageProcess::initializeProcessName): 17337 * SharedWorkerProcess/SharedWorkerProcess.cpp: 17338 (WebKit::SharedWorkerProcess::initializeProcess): 17339 (WebKit::SharedWorkerProcess::initializeProcessName): 17340 * SharedWorkerProcess/SharedWorkerProcess.h: 17341 * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm: 17342 (WebKit::SharedWorkerProcess::initializeProcess): 17343 (WebKit::SharedWorkerProcess::initializeProcessName): 17344 Match NetworkProcess for consistency. 17345 17346 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::initializeProcessName): 17347 Don't null check UI process name. First, it can't be null, and second, some other 17348 processes already don't have this check. 17349 173502013-04-30 Tim Horton <timothy_horton@apple.com> 17351 17352 Disable deprecation warnings around some NSProcessInfo API. 17353 17354 Rubber-stamped by Brady Eidson. 17355 17356 * Shared/mac/ChildProcessMac.mm: 17357 (WebKit::ChildProcess::setProcessSuppressionEnabled): 17358 173592013-04-30 Brady Eidson <beidson@apple.com> 17360 17361 [WK2] Threads get stuck in NetworkProcess when canceling loads in WebProcess. 17362 <rdar://problem/13757687> and https://bugs.webkit.org/show_bug.cgi?id=115319 17363 17364 Written and reviewed by both Alexey Proskuryakov and Brady Eidson. 17365 17366 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 17367 (WebKit::NetworkConnectionToWebProcess::didClose): Call abort() on all loaders 17368 instead of connectionToWebProcessDidClose() 17369 (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier): Instead of removing 17370 the loader from the scheduler, call abort() which will also end up removing it. 17371 17372 * NetworkProcess/SchedulableLoader.h: Add a virtual abort() call. 17373 17374 * NetworkProcess/NetworkResourceLoader.cpp: 17375 (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Added a messageFlags argument so 17376 callers can pass DispatchMessageEvenWhenWaitingForSyncReply. 17377 (WebKit::NetworkResourceLoader::abort): Combined "abortInProgressLoad" and "cleanup" to 17378 be a general purpose "cancel" 17379 (WebKit::NetworkResourceLoader::didReceiveBuffer): 17380 (WebKit::NetworkResourceLoader::willSendRequestAsync): 17381 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): 17382 * NetworkProcess/NetworkResourceLoader.h: 17383 17384 * NetworkProcess/SyncNetworkResourceLoader.cpp: 17385 (WebKit::SyncNetworkResourceLoader::abort): 17386 * NetworkProcess/SyncNetworkResourceLoader.h: 17387 17388 * WebProcess/Network/WebResourceLoadScheduler.cpp: 17389 (WebKit::WebResourceLoadScheduler::remove): Remove an obsolete/incorrect comment. 17390 17391 * WebProcess/Network/WebResourceLoader.cpp: 17392 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Add comment stressing 17393 the importance of this null check so it's not removed again. 17394 173952013-04-30 Carlos Garcia Campos <cgarcia@igalia.com> 17396 17397 [WK2][GTK] MiniBrowser won't play video in <embed> tag 17398 https://bugs.webkit.org/show_bug.cgi?id=113107 17399 17400 Reviewed by Anders Carlsson. 17401 17402 The wrong clip region is used for windowed plugins, because it's 17403 translated to window frame coords again. 17404 17405 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 17406 (WebKit::NetscapePlugin::platformGeometryDidChange): Do not move 17407 the current clip region. 17408 174092013-04-30 Timothy Hatcher <timothy@apple.com> 17410 17411 Make the Inspector dock to right button work in the WebKit nightlies on Safari 6.0.4. 17412 17413 https://webkit.org/b/115428 17414 17415 Reviewed by Joseph Pecoraro. 17416 17417 * UIProcess/mac/WebInspectorProxyMac.mm: 17418 (WebKit::WebInspectorProxy::createInspectorWindow): Reduce the required Safari version. 17419 (WebKit::WebInspectorProxy::platformDetach): Simplify the frame restoring code so it 17420 works on Safari 6.0.4. 17421 174222013-04-30 Artur Moryc <a.moryc@samsung.com> 17423 17424 [WK2][EFL] Spelling marker disappears while selection is being changed 17425 https://bugs.webkit.org/show_bug.cgi?id=115165 17426 17427 Reviewed by Anders Carlsson. 17428 17429 The marker for a misspelled word disappears while the cursor is being navigated along the word. 17430 17431 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 17432 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 17433 174342013-04-30 Zalan Bujtas <zalan@apple.com> 17435 17436 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/ 17437 https://bugs.webkit.org/show_bug.cgi?id=111244 17438 17439 Reviewed by David Kilzer. 17440 17441 Enable performance.now() as a minimal subset of Web Timing API. 17442 It returns DOMHighResTimeStamp, a monotonically increasing value representing the 17443 number of milliseconds from the start of the navigation of the current document. 17444 JS libraries use this API to check against the requestAnimationFrame() timestamp. 17445 17446 * Configurations/FeatureDefines.xcconfig: 17447 174482013-04-29 Chris Fleizach <cfleizach@apple.com> 17449 17450 WEB SPEECH: need to identify the default voice per language 17451 https://bugs.webkit.org/show_bug.cgi?id=115366 17452 17453 Reviewed by Tim Horton. 17454 17455 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 17456 (InitWebCoreSystemInterface): 17457 174582013-04-29 Benjamin Poulain <benjamin@webkit.org> 17459 17460 [WK2] Streamline the use of strings in WebProcess::getWebCoreStatistics 17461 https://bugs.webkit.org/show_bug.cgi?id=115315 17462 17463 Reviewed by Geoffrey Garen. 17464 17465 Remove a couple of unjustified DEFINE_STATIC_LOCAL. 17466 Use ASCIILiteral when allocating new String. 17467 17468 * WebProcess/WebProcess.cpp: 17469 (WebKit::getWebCoreMemoryCacheStatistics): 17470 (WebKit::WebProcess::getWebCoreStatistics): 17471 174722013-04-29 Anders Carlsson <andersca@apple.com> 17473 17474 Remove StorageTracker::originsLoaded 17475 https://bugs.webkit.org/show_bug.cgi?id=115382 17476 17477 Reviewed by Sam Weinig. 17478 17479 Add m_didFinishLoadingOrigins. 17480 17481 * WebProcess/Storage/WebKeyValueStorageManager.cpp: 17482 (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager): 17483 (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): 17484 (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins): 17485 * WebProcess/Storage/WebKeyValueStorageManager.h: 17486 (WebKeyValueStorageManager): 17487 174882013-04-29 Chris Fleizach <cfleizach@apple.com> 17489 17490 WEB SPEECH Update seatbelt profile to work with speech synthesis 17491 https://bugs.webkit.org/show_bug.cgi?id=115368 17492 17493 Reviewed by Alexey Proskuryakov. 17494 17495 * WebProcess/com.apple.WebProcess.sb.in: 17496 174972013-04-28 Beth Dakin <bdakin@apple.com> 17498 17499 Need a LayoutMilestone to fire when we have done our first paint after suppressing 17500 incremental layout 17501 https://bugs.webkit.org/show_bug.cgi?id=115330 17502 -and corresponding- 17503 <rdar://problem/12722365> 17504 17505 Reviewed by Simon Fraser. 17506 17507 Two new millstones. 17508 * Shared/API/c/WKPageLoadTypes.h: 17509 * Shared/API/c/WKSharedAPICast.h: 17510 (WebKit::toWKLayoutMilestones): 17511 (WebKit::toLayoutMilestones): 17512 17513 This null-check is necessary now since this code ends up running at 17514 WebFrame::init() time while we're setting up the Document. 17515 setVisualUpdatesAllowed(true) has always been called as a part of that process, 17516 and now the updateLayout(), ends up calling this code too, but we don't actually 17517 have a mainFrame yet since it's still being created. 17518 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 17519 (WebKit::findLargestFrameInFrameSet): 17520 175212013-04-29 Brady Eidson <beidson@apple.com> 17522 17523 REGRESSION: We see authentication challenge sheets for favicon requests. 17524 <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288 17525 17526 Reviewed by Alexey Proskuryakov. 17527 17528 Have NetworkResourceLoadParameters remember the ClientCredentialPolicy: 17529 * Shared/Network/NetworkResourceLoadParameters.cpp: 17530 (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): 17531 (WebKit::NetworkResourceLoadParameters::encode): 17532 (WebKit::NetworkResourceLoadParameters::decode): 17533 * Shared/Network/NetworkResourceLoadParameters.h: 17534 17535 Pass along the ClientCredentialPolicy to the NetworkProcess: 17536 * WebProcess/Network/WebResourceLoadScheduler.cpp: 17537 (WebKit::WebResourceLoadScheduler::scheduleLoad): 17538 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 17539 (WebKit::WebPlatformStrategies::loadResourceSynchronously): 17540 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 17541 17542 Have the SchedulableLoader remember the ClientCredentialPolicy: 17543 * NetworkProcess/SchedulableLoader.cpp: 17544 (WebKit::SchedulableLoader::SchedulableLoader): 17545 * NetworkProcess/SchedulableLoader.h: 17546 (WebKit::SchedulableLoader::clientCredentialPolicy): 17547 17548 Don’t message for credentials if the ClientCredentialPolicy forbids it: 17549 * NetworkProcess/NetworkResourceLoader.cpp: 17550 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): 17551 * NetworkProcess/NetworkResourceLoader.h: 17552 17553 Update for the new loadResourceSynchronously signature (which is still a no-op on the NetworkProcess side): 17554 * NetworkProcess/NetworkProcessPlatformStrategies.cpp: 17555 (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): 17556 * NetworkProcess/NetworkProcessPlatformStrategies.h: 17557 175582013-04-29 Jer Noble <jer.noble@apple.com> 17559 17560 Unreviewed build fix. Point the Network process towards its own version of SecItemShim.dyld. 17561 17562 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist: 17563 175642013-04-29 Alexey Proskuryakov <ap@apple.com> 17565 17566 Threads get stuck in NetworkProcess when canceling loads 17567 https://bugs.webkit.org/show_bug.cgi?id=115319 17568 17569 Backing out part of the fix, as it's causing crashes. 17570 17571 * WebProcess/Network/WebResourceLoader.cpp: 17572 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 17573 175742013-04-29 Noam Rosenthal <noam@webkit.org> 17575 17576 Get rid of "non-composited contents" in CoordinatedLayerTreeHost 17577 https://bugs.webkit.org/show_bug.cgi?id=110355 17578 17579 Reviewed by Jocelyn Turcotte. 17580 17581 Instead of using a special non-composited contents layer, we let RenderLayerCompositor create 17582 a proper GraphicsLayer for that content. 17583 CoordinatedLayerTreeHost now needs to find the main contents layer for the purpose of setting 17584 the trajectory vector and applying the cover rect. 17585 17586 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 17587 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): 17588 (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer): 17589 Don't create the non-composited layer, instead keep a raw pointer to the root 17590 compositing layer created by the WebCore compositor. 17591 17592 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay): 17593 (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect): 17594 (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents): 17595 (WebKit::CoordinatedLayerTreeHost::sizeDidChange): 17596 (WebKit::CoordinatedLayerTreeHost::paintContents): 17597 (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): 17598 (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect): 17599 Remove non-composited layer specialization. 17600 176012013-04-29 Zoltan Arvai <zarvai@inf.u-szeged.hu> 17602 17603 [Qt] Build fix. Enabling c++11 for Qt WK2 after r149259. 17604 https://bugs.webkit.org/show_bug.cgi?id=115345 17605 17606 Reviewed by Anders Carlsson. 17607 17608 * WebKit2.pri: 17609 176102013-04-29 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> 17611 17612 [WK2][EFL] Skip cancel fullscreen request if not made from FullScreen API 17613 https://bugs.webkit.org/show_bug.cgi?id=108201 17614 17615 Reviewed by Andreas Kling. 17616 17617 Adds a check on WebFullScreenManagerProxyEfl whether fullscreen mode was 17618 set from FullScreen API or not, so it can skip cancelling fullscreen 17619 request if fullscreen mode was set by application, preventing 17620 WebProcess' FullScreenManager from crashing. 17621 17622 EFL unit test available: ewk_view_cancel_full_screen_request. 17623 17624 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 17625 (WKViewExitFullScreen): 17626 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 17627 WKViewExitFullScreen now returns a bool, indicating whether the 17628 operation has succeeded or not. 17629 17630 * UIProcess/API/efl/ewk_view.cpp: 17631 (ewk_view_fullscreen_exit): 17632 Skip request if not in fullscreen mode. 17633 17634 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 17635 (TEST_F): 17636 Added ewk_view_cancel_full_screen_request unit test. 17637 17638 * UIProcess/CoordinatedGraphics/WebView.cpp: 17639 (WebKit::WebView::exitFullScreen): 17640 * UIProcess/CoordinatedGraphics/WebView.h: 17641 (WebView): 17642 exitFullScreen now returns a bool, indicating whether the operation has 17643 succeeded or not. 17644 17645 * UIProcess/WebFullScreenManagerProxy.cpp: 17646 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): 17647 * UIProcess/WebFullScreenManagerProxy.h: 17648 (WebFullScreenManagerProxy): 17649 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: 17650 (WebKit::WebFullScreenManagerProxy::isFullScreen): 17651 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 17652 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 17653 Added m_hasRequestedFullScreen boolean flag to EFL port. Used to 17654 indicate if fullscreen mode is enabled, as well as sanity checks on both 17655 {enter,exit}FullScreen functions. 17656 176572013-04-29 Anders Carlsson <andersca@apple.com> 17658 17659 Stop using range-based for syntax 17660 https://bugs.webkit.org/show_bug.cgi?id=115356 17661 17662 Reviewed by Andreas Kling. 17663 17664 * PluginProcess/WebProcessConnection.cpp: 17665 (WebKit::WebProcessConnection::didClose): 17666 176672013-04-29 Sergio Correia <sergio.correia@openbossa.org> 17668 17669 [EFL][WK2]: WebProcessMain: hide call to ecore_x_shutdown() under guard 17670 https://bugs.webkit.org/show_bug.cgi?id=115295 17671 17672 Reviewed by Andreas Kling. 17673 17674 Since the mentioned function is declared in a header that is included 17675 conditionally depending on HAVE_ECORE_X being defined. 17676 17677 * WebProcess/efl/WebProcessMainEfl.cpp: 17678 (WebKit::WebProcessMainEfl): 17679 176802013-04-29 Jinwoo Song <jinwoo7.song@samsung.com> 17681 17682 [WK2] Remove build warnings by -Wunused-parameter 17683 https://bugs.webkit.org/show_bug.cgi?id=115344 17684 17685 Reviewed by Noam Rosenthal. 17686 17687 Fix build warnigs -Wunused-parameter. 17688 17689 * UIProcess/CoordinatedGraphics/WebView.cpp: 17690 (WebKit::WebView::createContextMenuProxy): 17691 * UIProcess/DrawingAreaProxy.h: 17692 (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate): 17693 * UIProcess/WebPageProxy.cpp: 17694 (WebKit::WebPageProxy::connectionWillClose): 17695 176962013-04-29 Carlos Garcia Campos <cgarcia@igalia.com> 17697 17698 Unreviewed. Fix make distcheck. 17699 17700 * GNUmakefile.list.am: Add missing header files to compilation. 17701 177022013-04-28 Gyuyoung Kim <gyuyoung.kim@samsung.com> 17703 17704 Unreviewed fix build break on EFL port since r149259. 17705 17706 In EFL port, there is a non-compatible code when compiling based on C++11. This is a trivial build fix. 17707 17708 I got a confirm from Sam about landing a trivial build fix patch without sign-off from 17709 WK2 owner. 17710 17711 * UIProcess/API/efl/EwkViewCallbacks.h: 17712 177132013-04-28 Dean Jackson <dino@apple.com> 17714 17715 [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS) 17716 https://bugs.webkit.org/show_bug.cgi?id=115310 17717 17718 Reviewed by Simon Fraser. 17719 17720 Remove ENABLE_HIGH_DPI_CANVAS_macosx. 17721 17722 * Configurations/FeatureDefines.xcconfig: 17723 177242013-04-28 Sam Weinig <sam@webkit.org> 17725 17726 [WebKit2] Adopt new API for detecting window occlusion 17727 https://bugs.webkit.org/show_bug.cgi?id=115334 17728 17729 Reviewed by Simon Fraser. 17730 17731 Switch off of WKSI for window occlusion and use the new NSWindowDidChangeOcclusionState notification 17732 instead. 17733 17734 * UIProcess/API/mac/WKView.mm: 17735 (-[WKView dealloc]): 17736 (-[WKView addWindowObserversForWindow:]): 17737 (-[WKView removeWindowObservers]): 17738 (-[WKView viewWillMoveToWindow:]): 17739 (-[WKView viewDidMoveToWindow]): 17740 (-[WKView _windowDidOrderOnScreen:]): 17741 (-[WKView _windowDidChangeOcclusionState:]): 17742 (-[WKView _setIsWindowOccluded:]): 17743 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 17744 (-[WKView windowOcclusionDetectionEnabled]): 17745 (-[WKView setWindowOcclusionDetectionEnabled:]): 17746 Only compile occlusion detection code where supported and remove calls to register/deregister 17747 for detection callbacks, now that NSWindow will handle that for us. We also no longer need to 17748 track all the WKViews, as that was only required to lookup the view that matched the window number 17749 returned from the occlusion callback. 17750 177512013-04-26 Anders Carlsson <andersca@apple.com> 17752 17753 Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection 17754 https://bugs.webkit.org/show_bug.cgi?id=115259 17755 17756 Reviewed by Andreas Kling. 17757 17758 * PluginProcess/WebProcessConnection.cpp: 17759 (WebKit::WebProcessConnection::addPluginControllerProxy): 17760 (WebKit::WebProcessConnection::removePluginControllerProxy): 17761 (WebKit::WebProcessConnection::didClose): 17762 * PluginProcess/WebProcessConnection.h: 17763 (WebProcessConnection): 17764 177652013-04-27 Jessie Berlin <jberlin@apple.com> 17766 17767 Build fix. 17768 17769 * NetworkProcess/NetworkResourceLoader.cpp: 17770 (WebKit::NetworkResourceLoader::didReceiveBuffer): 17771 Do not declare another variable with the same name. 17772 177732013-04-27 Darin Adler <darin@apple.com> 17774 17775 Move from constructor and member function adoptCF/NS to free function adoptCF/NS. 17776 https://bugs.webkit.org/show_bug.cgi?id=115307 17777 17778 Reviewed by Geoffrey Garen. 17779 17780 This change was done by a global replace followed by compiling and inspecting for 17781 cases that needed to be tweaked by hand. 17782 17783 * Platform/cg/CGUtilities.cpp: 17784 (WebKit::paintBitmapContext): 17785 * Platform/mac/ModuleMac.mm: 17786 (WebKit::Module::load): 17787 (WebKit::Module::platformFunctionPointer): 17788 * PluginProcess/mac/PluginProcessMac.mm: 17789 (WebKit::PluginProcess::initializeSandbox): 17790 * Shared/API/c/mac/WKURLRequestNS.mm: 17791 (WKURLRequestCreateWithNSURLRequest): 17792 * Shared/API/c/mac/WKURLResponseNS.mm: 17793 (WKURLResponseCreateWithNSURLResponse): 17794 * Shared/Downloads/mac/DownloadMac.mm: 17795 (WebKit::Download::start): 17796 (WebKit::Download::startWithHandle): 17797 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 17798 (WebKit::ChildProcessMain): 17799 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 17800 (WebKit::getPluginArchitecture): 17801 (WebKit::contentsOfPropertyListAtURL): 17802 (WebKit::getMIMETypesFromPluginBundle): 17803 (WebKit::getStringListResource): 17804 (WebKit::NetscapePluginModule::getPluginInfo): 17805 * Shared/ShareableResource.cpp: 17806 (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer): 17807 * Shared/cf/ArgumentCodersCF.cpp: 17808 (CoreIPC::decode): 17809 (CoreIPC::encode): 17810 * Shared/cg/ShareableBitmapCG.cpp: 17811 (WebKit::ShareableBitmap::createGraphicsContext): 17812 (WebKit::ShareableBitmap::makeCGImageCopy): 17813 (WebKit::ShareableBitmap::makeCGImage): 17814 (WebKit::ShareableBitmap::createCGImage): 17815 * Shared/mac/ArgumentCodersMac.mm: 17816 (CoreIPC::decode): 17817 * Shared/mac/PlatformCertificateInfo.mm: 17818 (WebKit::PlatformCertificateInfo::dump): 17819 * Shared/mac/WebCoreArgumentCodersMac.mm: 17820 (CoreIPC::::encodePlatformData): 17821 (CoreIPC::::decodePlatformData): 17822 * UIProcess/API/mac/FindIndicatorWindow.mm: 17823 (WebKit::FindIndicatorWindow::setFindIndicator): 17824 (WebKit::FindIndicatorWindow::startFadeOutTimerFired): 17825 * UIProcess/API/mac/PDFViewController.mm: 17826 (-[WKPDFView initWithFrame:PDFViewController:]): 17827 (WebKit::PDFViewController::PDFViewController): 17828 (WebKit::convertPostScriptDataSourceToPDF): 17829 (WebKit::PDFViewController::setPDFDocumentData): 17830 * UIProcess/API/mac/PageClientImpl.mm: 17831 (WebKit::PageClientImpl::PageClientImpl): 17832 (WebKit::PageClientImpl::registerEditCommand): 17833 (WebKit::PageClientImpl::setDragImage): 17834 * UIProcess/API/mac/WKBrowsingContextController.mm: 17835 (didFailProvisionalLoadWithErrorForFrame): 17836 (didFailLoadWithErrorForFrame): 17837 * UIProcess/API/mac/WKConnection.mm: 17838 (didReceiveMessage): 17839 * UIProcess/API/mac/WKPrintingView.mm: 17840 (-[WKPrintingView drawRect:]): 17841 * UIProcess/API/mac/WKView.mm: 17842 (-[WKView browsingContextController]): 17843 (-[WKView _setAcceleratedCompositingModeRootLayer:]): 17844 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]): 17845 (-[WKView namesOfPromisedFilesDroppedAtDestination:]): 17846 (-[WKView fullScreenWindowController]): 17847 (-[WKView _executeSavedCommandBySelector:]): 17848 (-[WKView printOperationWithPrintInfo:forFrame:]): 17849 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 17850 (WebKit::createProcess): 17851 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 17852 (WebKit::PluginInfoStore::pluginPathsInDirectory): 17853 (WebKit::PluginInfoStore::getMIMETypeForExtension): 17854 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 17855 (WebKit::PluginProcessProxy::beginModal): 17856 * UIProcess/cf/WebBackForwardListCF.cpp: 17857 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 17858 * UIProcess/cf/WebPageProxyCF.cpp: 17859 (WebKit::WebPageProxy::sessionStateData): 17860 (WebKit::WebPageProxy::restoreFromSessionStateData): 17861 (WebKit::WebPageProxy::saveRecentSearches): 17862 (WebKit::WebPageProxy::loadRecentSearches): 17863 * UIProcess/cf/WebPreferencesCF.cpp: 17864 (WebKit::cfStringFromWebCoreString): 17865 (WebKit::setStringValueIfInUserDefaults): 17866 (WebKit::setBoolValueIfInUserDefaults): 17867 (WebKit::setUInt32ValueIfInUserDefaults): 17868 (WebKit::setDoubleValueIfInUserDefaults): 17869 (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): 17870 (WebKit::WebPreferences::platformUpdateDoubleValueForKey): 17871 (WebKit::WebPreferences::platformUpdateFloatValueForKey): 17872 * UIProcess/mac/BackingStoreMac.mm: 17873 (WebKit::BackingStore::resetScrolledRect): 17874 (WebKit::BackingStore::backingStoreContext): 17875 * UIProcess/mac/CorrectionPanel.mm: 17876 (WebKit::CorrectionPanel::handleAcceptedReplacement): 17877 * UIProcess/mac/TextCheckerMac.mm: 17878 (WebKit::TextChecker::checkTextOfParagraph): 17879 (WebKit::TextChecker::updateSpellingUIWithGrammarString): 17880 * UIProcess/mac/WKFullScreenWindowController.mm: 17881 (-[WKFullScreenWindowController enterFullScreen:]): 17882 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): 17883 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): 17884 * UIProcess/mac/WebContextMac.mm: 17885 (WebKit::WebContext::platformDefaultDiskCacheDirectory): 17886 * UIProcess/mac/WebContextMenuProxyMac.mm: 17887 (WebKit::nsMenuItemVector): 17888 (WebKit::WebContextMenuProxyMac::populate): 17889 * UIProcess/mac/WebInspectorProxyMac.mm: 17890 (WebKit::WebInspectorProxy::createInspectorWindow): 17891 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 17892 * UIProcess/mac/WebPopupMenuProxyMac.mm: 17893 (WebKit::WebPopupMenuProxyMac::populate): 17894 (WebKit::WebPopupMenuProxyMac::showPopupMenu): 17895 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 17896 (WebKit::InjectedBundle::load): 17897 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 17898 (WebKit::NetscapePlugin::updatePluginLayer): 17899 * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: 17900 (WebKit::PluginProxy::pluginLayer): 17901 * WebProcess/Plugins/PDF/PDFPlugin.mm: 17902 (WebKit::PDFPlugin::PDFPlugin): 17903 (WebKit::PDFPlugin::createScrollbar): 17904 (WebKit::PDFPlugin::pdfDocumentDidLoad): 17905 (WebKit::PDFPlugin::writeItemsToPasteboard): 17906 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm: 17907 (getAllScriptsInPDFDocument): 17908 (WebKit::SimplePDFPlugin::pdfDocumentDidLoad): 17909 (WebKit::SimplePDFPlugin::streamDidReceiveData): 17910 (WebKit::SimplePDFPlugin::manualStreamDidReceiveData): 17911 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 17912 (WebKit::WebResourceCacheManager::clearCacheForOrigin): 17913 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: 17914 (WebKit::WebResourceCacheManager::cfURLCacheHostNames): 17915 (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): 17916 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 17917 (WebKit::createNSError): 17918 * WebProcess/WebPage/WebPage.cpp: 17919 (WebKit::WebPage::drawPagesToPDF): 17920 * WebProcess/WebPage/mac/WebPageMac.mm: 17921 (WebKit::WebPage::performDictionaryLookupForRange): 17922 (WebKit::cachedResponseForURL): 17923 (WebKit::WebPage::drawPagesToPDFFromPDFDocument): 17924 * WebProcess/mac/WebProcessMac.mm: 17925 (WebKit::WebProcess::platformSetCacheModel): 17926 Use adoptCF and adoptNS free functions. 17927 179282013-04-27 Alexey Proskuryakov <ap@apple.com> 17929 17930 <rdar://problem/13757007> Crashes in NetworkResourceLoader::didReceiveResponseAsync 17931 https://bugs.webkit.org/show_bug.cgi?id=115318 17932 17933 Reviewed by Darin Adler. 17934 17935 sendAbortingOnFailure may actually fail, and abort the request, making m_handle null. 17936 17937 * NetworkProcess/NetworkResourceLoader.cpp: 17938 (WebKit::NetworkResourceLoader::didReceiveResponseAsync): Null check m_handle after 17939 sending a message, because the request will cancelled when connection is invalid. 17940 (WebKit::NetworkResourceLoader::didReceiveBuffer): Assert that m_handle matches 17941 the handle that we are called with. 17942 (WebKit::NetworkResourceLoader::didFinishLoading): Ditto. 17943 (WebKit::NetworkResourceLoader::didFail): Ditto. 17944 (WebKit::NetworkResourceLoader::willSendRequestAsync): Ditto. 17945 (WebKit::NetworkResourceLoader::didSendData): Ditto. 17946 (WebKit::NetworkResourceLoader::shouldUseCredentialStorage): Ditto. 17947 (WebKit::NetworkResourceLoader::shouldUseCredentialStorageAsync): Ditto. 17948 (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Ditto. 17949 (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Ditto. 17950 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): Ditto. 17951 179522013-04-27 Alexey Proskuryakov <ap@apple.com> 17953 17954 <rdar://problem/13757687> Threads get stuck in NetworkProcess when canceling loads 17955 https://bugs.webkit.org/show_bug.cgi?id=115319 17956 17957 Reviewed by Darin Adler. 17958 17959 WebResourceLoader was second-guessing NetworkProcess as to whether it needs a response 17960 to DidReceiveResponseWithCertificateInfo, and it was guessing wrong if the load was 17961 alrady canceled on WebProcess side. 17962 17963 * NetworkProcess/NetworkResourceLoader.cpp: 17964 (WebKit::NetworkResourceLoader::didReceiveResponseAsync): 17965 * WebProcess/Network/WebResourceLoader.cpp: 17966 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 17967 * WebProcess/Network/WebResourceLoader.h: 17968 * WebProcess/Network/WebResourceLoader.messages.in: 17969 179702013-04-27 Alexey Proskuryakov <ap@apple.com> 17971 17972 Regression tests that reference a non-local resource crash with NetworkProcess enabled 17973 https://bugs.webkit.org/show_bug.cgi?id=115290 17974 17975 Reviewed by Sam Weinig. 17976 17977 Covered by fast/dom/icon-url-change.html and many other existing tests. 17978 17979 * WebProcess/Network/WebResourceLoadScheduler.cpp: 17980 (WebKit::WebResourceLoadScheduler::remove): Handle this case. Architecturally, it 17981 would be better if SubresourceLoad::create just created an object an didn't do 17982 further checks before returning a pointer, but changing that is beyond the scope 17983 of the fix. 17984 179852013-04-26 Yael Aharon <yael.aharon@intel.com> 17986 17987 [WK2][EFL] Build break after r149212 17988 https://bugs.webkit.org/show_bug.cgi?id=115294 17989 17990 Reviewed by Simon Fraser. 17991 r144672 bumped up the revision of WKContextClient API, and introduced a version array 17992 APIClientTraits<WKContextClient>::interfaceSizesByVersion . 17993 In r149212, the version was bumped back down and the version array was emptied but not removed. 17994 This causes a warning "array subscript is below array bounds", and in EFL the warning is 17995 treated as error. 17996 17997 * Shared/APIClientTraits.cpp: 17998 (WebKit): 17999 * Shared/APIClientTraits.h: 18000 180012013-04-26 Martin Robinson <mrobinson@igalia.com> 18002 18003 [GTK] Add methods to add a user style sheet to the WebKit2 GTK+ API 18004 https://bugs.webkit.org/show_bug.cgi?id=99081 18005 18006 Reviewed by Carlos Garcia Campos, Gustavo Noronha Silva, and Benjamin Poulain. 18007 18008 Add methods to WebKitWebViewGroup to add and remove user style sheets. 18009 This allows clients to inject style sheets into pages with a set of 18010 rules for when those style sheets apply. 18011 18012 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 18013 (toImmutableArray): Added this helper which converts the GList* parameters into 18014 ImmutableArrays for use with the WebKit2 internal API. 18015 (webkit_web_view_group_add_user_style_sheet): Added new API for adding a style sheet. 18016 (webkit_web_view_group_remove_all_user_style_sheets): Add new API for clearing out all style sheets. 18017 * UIProcess/API/gtk/WebKitWebViewGroup.h: Added new method declarations. 18018 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API to the documentation. 18019 * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added a test for the new API. 18020 (isStyleSheetInjectedForURLAtPath): Function to check whether the style sheet has been injected for a given URL. 18021 (fillURLListFromPaths): Helper which converts paths passed via varargs into a whitelist or blacklist. 18022 (removeOldInjectedStyleSheetsAndResetLists): Function to start afresh. 18023 (testWebViewGroupInjectedStyleSheet): The actual test. 18024 (serverCallback): Server callback for use with the test. We cannot use loadHTML or 18025 loadAlternateHTML, because that checks the whitelist and blacklist against about:blank. 18026 (beforeAll): Initialize the server and new test. 18027 (afterAll): Clean up the server. 18028 180292013-04-26 Simon Cooper <scooper@apple.com> 18030 18031 Permit ~/Library or ~/Library/Preferences to be symlinks 18032 https://bugs.webkit.org/show_bug.cgi?id=115142 18033 <rdar://problem/12953603> 18034 18035 Reviewed by Alexey Proskuryakov. 18036 18037 Pass in two new parameters which are the resolved paths to ~/Library 18038 and ~/Library/Preferences. Added new expansion functions and 18039 substituted the new functions for home-regex, home-subpath and 18040 home-literal for places referencing resources in "~/Library" or 18041 "~/Library/Preferences". 18042 18043 * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb: 18044 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 18045 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb: 18046 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 18047 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb: 18048 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb: 18049 * Shared/mac/ChildProcessMac.mm: 18050 (WebKit::ChildProcess::initializeSandbox): 18051 180522013-04-26 Alexey Proskuryakov <ap@apple.com> 18053 18054 [WK2] WKContextClient doesn't need to be versioned yet 18055 https://bugs.webkit.org/show_bug.cgi?id=115279 18056 18057 Reviewed by Anders Carlsson. 18058 18059 * Shared/APIClientTraits.cpp: 18060 * Shared/APIClientTraits.h: 18061 * UIProcess/API/C/WKContext.h: 18062 180632013-04-26 Anders Carlsson <andersca@apple.com> 18064 18065 Downloads need to be converted from the NSURLConnection, not canceled and restarted, when using the NetworkProcess 18066 https://bugs.webkit.org/show_bug.cgi?id=115277 18067 <rdar://problem/12890184> 18068 18069 Reviewed by Sam Weinig. 18070 18071 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 18072 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): 18073 Ask the download manager to convert the main resource load to a download. 18074 18075 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 18076 Add new message. 18077 18078 * NetworkProcess/NetworkResourceLoader.h: 18079 (WebKit::NetworkResourceLoader::handle): 18080 Add getter. 18081 18082 * Shared/Downloads/mac/DownloadMac.mm: 18083 (dispatchOnMainThread): 18084 Helper function that ensures that a given block is called on the main thread. 18085 18086 (-[WKDownloadAsDelegate downloadDidBegin:]): 18087 (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]): 18088 (-[WKDownloadAsDelegate download:didReceiveResponse:]): 18089 (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]): 18090 (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]): 18091 (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]): 18092 (-[WKDownloadAsDelegate download:didCreateDestination:]): 18093 (-[WKDownloadAsDelegate downloadDidFinish:]): 18094 (-[WKDownloadAsDelegate download:didFailWithError:]): 18095 Use dispatchOnMainThread. 18096 18097 * UIProcess/WebPageProxy.cpp: 18098 (WebKit::WebPageProxy::receivedPolicyDecision): 18099 Remove code that cancels the current load and starts a new download. 18100 18101 * WebProcess/WebPage/WebFrame.cpp: 18102 (WebKit::WebFrame::convertMainResourceLoadToDownload): 18103 Send the ConvertMainResourceLoadToDownload message to the network process. 18104 181052013-04-25 Roger Fong <roger_fong@apple.com> 18106 18107 Disable sub-pixel layout on mac. 18108 https://bugs.webkit.org/show_bug.cgi?id=114999. 18109 18110 Reviewed by Simon Fraser. 18111 18112 * Configurations/FeatureDefines.xcconfig: 18113 181142013-04-26 Simon Fraser <simon.fraser@apple.com> 18115 18116 Inspector window is often blank when opened 18117 https://bugs.webkit.org/show_bug.cgi?id=115220 18118 18119 Reviewed by Tim Horton. 18120 18121 After disabling tiled scrolling and accelerated drawing in r149006, the 18122 Inspector window was often missing its content after opening. This only 18123 happened when the user has a preference on disk to use accelerated drawing 18124 in the Inspector. 18125 18126 The missing content was caused by a failure to connect the correct contextID 18127 for remote layer hosting. On window creation, we hook up a context using 18128 WindowServer layer hosting (the default), but then switch back to app-hosted 18129 layers for the Inspector window. This switching happens in didUpdateBackingStoreState(), 18130 but that can be re-entered via its call to sendUpdateBackingStoreState(). In 18131 that cause, on unwinding the stack it would call enterAcceleratedCompositingMode() 18132 with a stale layerTreeContext. 18133 18134 Fix by moving the code that exits/enters accelerated compositing mode to before 18135 the call to sendUpdateBackingStoreState() that can cause re-entrancy. That avoids 18136 use of a possibly stale layerTreeContext. 18137 18138 * UIProcess/DrawingAreaProxyImpl.cpp: 18139 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 18140 181412013-04-26 Alexey Proskuryakov <ap@apple.com> 18142 18143 Crashes under ResourceHandle::continueDidReceiveResponse when loading blobs 18144 https://bugs.webkit.org/show_bug.cgi?id=115273 18145 18146 Reviewed by Anders Carlsson. 18147 18148 Covered by multiple existing tests (when using NetworkProcess), including: 18149 - http/tests/fileapi/blob-url-in-subframe.html 18150 - http/tests/fileapi/create-blob-url-from-data-url.html 18151 18152 * NetworkProcess/NetworkResourceLoader.cpp: 18153 (WebKit::NetworkResourceLoader::continueDidReceiveResponse): 18154 Work around BlobResourceHandle badness. 18155 181562013-04-26 Alexey Proskuryakov <ap@apple.com> 18157 18158 [WK2] Remove NetworkResourceLoader::cleanupOnMainThread 18159 https://bugs.webkit.org/show_bug.cgi?id=115268 18160 18161 Reviewed by Brady Eidson. 18162 18163 All cleanup() callers are now on main thread, and this indirection only complicates debugging. 18164 18165 * NetworkProcess/NetworkResourceLoader.cpp: 18166 (WebKit::NetworkResourceLoader::connectionToWebProcessDidClose): 18167 (WebKit::NetworkResourceLoader::abortInProgressLoad): 18168 (WebKit::NetworkResourceLoader::didFinishLoading): 18169 (WebKit::NetworkResourceLoader::didFail): 18170 * NetworkProcess/NetworkResourceLoader.h: 18171 181722013-04-26 Andy Estes <aestes@apple.com> 18173 18174 [WebKit2] CustomProtocolManager's m_registeredSchemes HashSet can be accessed by multiple threads 18175 https://bugs.webkit.org/show_bug.cgi?id=115267 18176 18177 Reviewed by Alexey Proskuryakov. 18178 18179 * Shared/Network/CustomProtocols/CustomProtocolManager.h: Added a Mutex to protect m_registeredSchemes. 18180 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 18181 (WebKit::CustomProtocolManager::registerScheme): Acquired the mutex before accessing m_registeredSchemes. 18182 (WebKit::CustomProtocolManager::unregisterScheme): Ditto. 18183 (WebKit::CustomProtocolManager::supportsScheme): Ditto. 18184 181852013-04-26 Alexey Proskuryakov <ap@apple.com> 18186 18187 Blobs are not associated with connection when there are no sandbox extensions 18188 https://bugs.webkit.org/show_bug.cgi?id=115264 18189 18190 Reviewed by Brady Eidson. 18191 18192 Covered by multiple fast/files tests when using NetworkProcess. 18193 18194 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 18195 (WebKit::NetworkBlobRegistry::registerBlobURL): Fixed a logic error. 18196 181972013-04-25 Andy Estes <aestes@apple.com> 18198 18199 [WebKit2] Loading a resource from a custom protocol in a synchronous XHR times out 18200 https://bugs.webkit.org/show_bug.cgi?id=115223 18201 18202 Reviewed by Darin Adler. 18203 18204 When WebKit performs a synchronous load on the Mac, it spins a nested 18205 run loop in a mode that only accepts input from the NSURLConnection 18206 performing the load. When the load is for a custom protocol in WebKit2, 18207 we proxy it to the UI process via CoreIPC messages, but the response 18208 messages from the UI process are never processed as long as the run 18209 loop is in a non-common mode (and we wouldn't want to process messages 18210 that could re-enter WebCore in the middle of loading, anyway). Since 18211 these messages never make it back to the NSURLConnection handling the 18212 request, the connection eventually times out. 18213 18214 Fix this by using a work queue to handle custom protocol messages in 18215 the networking process. The work queue can process incoming custom 18216 protocol messages while the main thread is blocked. 18217 18218 * NetworkProcess/NetworkProcess.cpp: 18219 (WebKit::NetworkProcess::initializeConnection): Called 18220 initializeConnection() on all the NetworkProcess's supplements. 18221 * Shared/ChildProcessSupplement.h: Added a base class for 18222 NetworkProcessSupplement and WebProcessSupplement which defines 18223 initializeConnection and provides an empty default implementation. 18224 (WebKit::ChildProcessSupplement::~ChildProcessSupplement): 18225 (WebKit::ChildProcessSupplement::initializeConnection): 18226 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 18227 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 18228 (WebKit::CustomProtocolManager::CustomProtocolManager): Instantiated a 18229 work queue for message processing. 18230 (WebKit::CustomProtocolManager::initializeConnection): Added the work 18231 queue as a message receiver on the CoreIPC connection. 18232 (WebKit::CustomProtocolManager::initialize): If we're in the web 18233 process and the network process is being used, unregister and destroy 18234 the work queue we previously created. It'd be better to not create it 18235 in the first place, but we have to register our work queue with the 18236 CoreIPC connection before it is established, which is before the UI 18237 process has told us whether the network process is in use. 18238 * Shared/Network/NetworkProcessSupplement.h: Inherited from 18239 ChildProcessSupplement. 18240 * WebKit2.xcodeproj/project.pbxproj: Added ChildProcessSupplement.h. 18241 * WebProcess/WebProcess.cpp: 18242 (WebKit::WebProcess::initializeConnection): Called 18243 initializeConnection() on all the WebProcess's supplements. 18244 * WebProcess/WebProcessSupplement.h: Inherited from 18245 ChildProcessSupplement. 18246 182472013-04-26 Eduardo Lima Mitev <elima@igalia.com> 18248 18249 [GTK] Compilation of ProcessLauncherGtk.cpp fails due to unresolved symbols 18250 https://bugs.webkit.org/show_bug.cgi?id=115240 18251 18252 Reviewed by Martin Robinson. 18253 18254 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Includes sys/socket.h if OS is Linux 18255 182562013-04-25 Zan Dobersek <zdobersek@igalia.com> 18257 18258 [GTK] Plugin process broken due to a missing symbol 18259 https://bugs.webkit.org/show_bug.cgi?id=114901 18260 18261 Reviewed by Gustavo Noronha Silva. 18262 18263 Work around the missing symbols in the WebKitPluginProcess by specifying the required libraries 18264 multiple times in the program's LDADD list. Libtool fights fiercely to avoid duplicate static library 18265 references among the linker arguments (even if using the --preserve-dup-deps flag) so the required libraries 18266 are specified in various ways. 18267 18268 The unresolved symbols in object files are no longer ignored as this can lead to further trouble (for instance 18269 this patch also adds a few missing source files to the list of WebKitPluginProcess sources). The Freetype and 18270 gamepad dependencies' libraries are also added to the binary's LDADD list. 18271 18272 * GNUmakefile.am: 18273 * GNUmakefile.list.am: Add a few missing files to the build. 18274 182752013-04-24 Chris Fleizach <cfleizach@apple.com> 18276 18277 WEB SPEECH: language support does not work as expected 18278 https://bugs.webkit.org/show_bug.cgi?id=115119 18279 18280 Reviewed by Alexey Proskuryakov. 18281 18282 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 18283 (InitWebCoreSystemInterface): 18284 182852013-04-25 Anders Carlsson <andersca@apple.com> 18286 18287 Rename DecidePolicyForResponse message to DecidePolicyForResponseSync 18288 https://bugs.webkit.org/show_bug.cgi?id=115207 18289 18290 Reviewed by Beth Dakin. 18291 18292 In preparation for adding a new async DecidePolicyForResponse message, 18293 rename the current one to DecidePolicyForResponseSync. Also split out the async part 18294 into a separate WebPageProxy::decidePolicyForResponse member function. 18295 18296 * UIProcess/WebPageProxy.cpp: 18297 (WebKit::WebPageProxy::WebPageProxy): 18298 (WebKit::WebPageProxy::receivedPolicyDecision): 18299 (WebKit::WebPageProxy::decidePolicyForResponse): 18300 (WebKit::WebPageProxy::decidePolicyForResponseSync): 18301 * UIProcess/WebPageProxy.h: 18302 (WebPageProxy): 18303 * UIProcess/WebPageProxy.messages.in: 18304 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18305 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 18306 183072013-04-25 Joseph Pecoraro <pecoraro@apple.com> 18308 18309 Web Inspector: ConsoleMessage should include line and column number where possible 18310 https://bugs.webkit.org/show_bug.cgi?id=114929 18311 18312 Reviewed by Timothy Hatcher. 18313 18314 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 18315 (WebKit::WebChromeClient::addMessageToConsole): 18316 * WebProcess/WebCoreSupport/WebChromeClient.h: 18317 183182013-04-25 Brady Eidson <beidson@apple.com> 18319 18320 Thread safety issues in WKCustomProtocol. 18321 <rdar://problem/13247304> and https://bugs.webkit.org/show_bug.cgi?id=115185 18322 18323 Reviewed by Alexey Proskuryakov. 18324 18325 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 18326 18327 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 18328 (WebKit::CustomProtocolManager::addCustomProtocol): Protect m_customProtocolMap with its mutex. 18329 (WebKit::CustomProtocolManager::removeCustomProtocol): Ditto. 18330 (WebKit::CustomProtocolManager::didFailWithError): 18331 (WebKit::CustomProtocolManager::didLoadData): 18332 (WebKit::CustomProtocolManager::didReceiveResponse): 18333 (WebKit::CustomProtocolManager::didFinishLoading): 18334 (WebKit::CustomProtocolManager::protocolForID): Protect m_customProtocolMap with its mutex, and return 18335 a RetainPtr instead of a raw pointer. 18336 183372013-04-25 Jer Noble <jer.noble@apple.com> 18338 18339 Further build fixes: correct two more misnames of WebProcessShim.dyld. 18340 18341 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 18342 (WebKit::WebContentProcessMainDelegate::doPreInitializationWork): 18343 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: 18344 183452013-04-25 Martin Robinson <mrobinson@igalia.com> 18346 18347 Make gobject-introspection warnings non-fatal 18348 https://bugs.webkit.org/show_bug.cgi?id=115184 18349 18350 Reviewed by Carlos Garcia Campos. 18351 18352 * GNUmakefile.am: Make it so that gobject-introspection errors do not fail the buld 18353 until we get to a point where gobject-introspection gives consistent warnings. 18354 183552013-04-25 Carlos Garcia Campos <cgarcia@igalia.com> 18356 18357 [GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API 18358 https://bugs.webkit.org/show_bug.cgi?id=111265 18359 18360 Reviewed by Anders Carlsson. 18361 18362 In the current API the settings are always shared by all web 18363 views, because they are always created on the default page 18364 group. This makes impossible to have different settings on 18365 different web views. Expose the page group in the API, 18366 so that users can create web views on a group different than the 18367 default one to have their own settings. 18368 18369 * GNUmakefile.list.am: Add new files to compilation. 18370 * UIProcess/API/gtk/WebKitSettings.cpp: 18371 (webkitSettingsGetPreferences): Helper private method to get the 18372 WebPreferences wrapped by a WebKitSettings object. 18373 * UIProcess/API/gtk/WebKitSettingsPrivate.h: 18374 * UIProcess/API/gtk/WebKitWebContext.cpp: 18375 (_WebKitWebContextPrivate): Add a default WebKitWebViewGroup. 18376 (webkitWebContextCreatePageForWebView): Create the WebPageProxy 18377 with the WebPageGroup of the given WebKitWebViewGroup. 18378 (webkitWebContextGetDefaultWebViewGroup): Helper private method to 18379 get the default WebKitWebViewGroup. 18380 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 18381 * UIProcess/API/gtk/WebKitWebView.cpp: 18382 (_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view 18383 is created with a group. 18384 (webkitWebViewUpdateSettings): Keep a reference of the group 18385 settings to be able to disconnect the signals when the settings 18386 object is replaced in the view group and connect to the signals 18387 for the custom settings. 18388 (webkitWebViewSettingsChanged): Disconnect the signals for the 18389 previous settings and set the new settings. 18390 (webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect 18391 notify::settings signal of WebKitWebViewGroup. 18392 (webkitWebViewConstructed): Pass the current WebKitWebViewGroup to 18393 webkitWebContextCreatePageForWebView(). 18394 (webkitWebViewSetProperty): Add setter for group property. 18395 (webkitWebViewGetProperty): Add getter for group property. 18396 (webkitWebViewDispose): Call 18397 webkitWebViewDisconnectSettingsChangedSignalHandler(). 18398 (webkit_web_view_class_init): Add WebKitWebView:group property. 18399 (webkitWebViewHandleAuthenticationChallenge): Use 18400 webkit_web_view_get_settings(). 18401 (webkit_web_view_new_with_group): Create a new web view with the 18402 given WebKitWebViewGroup. 18403 (webkit_web_view_get_group): Return the current WebKitWebViewGroup 18404 or the default one if the view was not created with 18405 webkit_web_view_new_with_group(). 18406 (webkit_web_view_set_settings): Set the settings of the current 18407 WebKitWebViewGroup. 18408 (webkit_web_view_get_settings): Get the settings of the current 18409 WebKitWebViewGroup. 18410 (webkit_web_view_set_zoom_level): Use 18411 webkit_web_view_get_settings(). 18412 (webkit_web_view_get_zoom_level): Ditto. 18413 * UIProcess/API/gtk/WebKitWebView.h: 18414 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added. 18415 (_WebKitWebViewGroupPrivate): 18416 (webkitWebViewGroupSetProperty): 18417 (webkitWebViewGroupGetProperty): 18418 (webkitWebViewGroupConstructed): 18419 (webkit_web_view_group_class_init): 18420 (webkitWebViewGroupAttachSettingsToPageGroup): Set the 18421 WebPreferences of the current WebKitSettings to the WebPageGroup. 18422 (webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for 18423 the given WebPageGroup. 18424 (webkitWebViewGroupGetPageGroup): Helper private method to get the 18425 WebPageGroup wrapped by the WebKitWebViewGroup. 18426 (webkit_web_view_group_new): Create a new WebKitWebViewGroup. 18427 (webkit_web_view_group_get_name): Return the name of a 18428 WebKitWebViewGroup. 18429 (webkit_web_view_group_get_settings): Get the settings of a 18430 WebKitWebViewGroup. 18431 (webkit_web_view_group_set_settings): Set new settings of a 18432 WebKitWebViewGroup. 18433 * UIProcess/API/gtk/WebKitWebViewGroup.h: Added. 18434 (_WebKitWebViewGroup): 18435 (_WebKitWebViewGroupClass): 18436 * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added. 18437 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add 18438 WebKitWebViewGroup section. 18439 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 18440 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 18441 webkit_web_view_group_get_type. 18442 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to 18443 compilation. 18444 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 18445 (testWebViewSettings): We can't watch settings in the default view 18446 group anymore, because they are not released with the web view but 18447 with the web context that is freed after the Test destructor. 18448 * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added. 18449 (testWebViewGroupDefault): 18450 (testWebViewGroupNewGroup): 18451 (testWebViewNewWithGroup): 18452 (testWebViewGroupSettings): 18453 (beforeAll): 18454 (afterAll): 18455 * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h. 18456 184572013-04-25 Jer Noble <jer.noble@apple.com> 18458 18459 Unreviewed build fix: Fix the name of DyldInterpose.h in 18460 SecItemShimLibrary.mm, fix the name of WebProcessShim.dyld in 18461 WebContentServiceEntryPoint.mm, and stop linking against libWTF.a 18462 directly (which means removing ASSERTs from 18463 CookieStorageShimLibrary.cpp). 18464 18465 * Shared/mac/CookieStorageShimLibrary.cpp: 18466 (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): 18467 (WebKit::WebKitCookieStorageShimInitialize): 18468 * WebKit2.xcodeproj/project.pbxproj: 18469 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 18470 (WebContentServiceInitializer): 18471 * WebProcess/mac/SecItemShimLibrary.mm: 18472 184732013-04-24 Tim Horton <timothy_horton@apple.com> 18474 18475 PDFPlugin: Cursor should become an i-beam when over selectable text 18476 https://bugs.webkit.org/show_bug.cgi?id=115018 18477 <rdar://problem/12645012> 18478 18479 Reviewed by Alexey Proskuryakov. 18480 18481 * WebProcess/Plugins/PDF/PDFPlugin.h: 18482 Add updateCursor(), the UpdateCursorMode and HitTestResult enums, and 18483 storage for the last PDF hit test result. 18484 * WebProcess/Plugins/PDF/PDFPlugin.mm: 18485 (WebKit::PDFPlugin::updateCursor): 18486 Hit test the PDF. If there is a word under the cursor, use the I-beam cursor, 18487 otherwise, use the default pointer cursor. This approximates PDFKit's behavior, 18488 though does not match it precisely in the case of annotations. 18489 Only send the cursor update to the UIProcess if it is a change, or if 18490 we're explicitly asked to update. 18491 (WebKit::PDFPlugin::handleMouseEvent): 18492 If we're processing a mouse moved event, update the cursor if needed. 18493 (WebKit::PDFPlugin::handleMouseEnterEvent): 18494 If the cursor just moved over the PDFPlugin, force-update the cursor, 18495 even if it matches the previously-set cursor (because something else 18496 likely updated the cursor while it was not over the PDFPlugin). 18497 184982013-04-24 Tim Horton <timothy_horton@apple.com> 18499 18500 Page Overlays shouldn't waste time flushing layers if we're not going to use it 18501 https://bugs.webkit.org/show_bug.cgi?id=115145 18502 18503 Reviewed by Simon Fraser. 18504 18505 Don't flush the page overlay layer when it's installed - it starts out 18506 with paintContents=false, so we don't really need a CALayer yet. We'll 18507 flush later if need be. 18508 18509 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18510 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 18511 185122013-04-24 Jer Noble <jer.noble@apple.com> 18513 18514 Further unreviewed build fix; CFNetwork.framework is the one which Lion 18515 refuses to link against. 18516 18517 * WebKit2.xcodeproj/project.pbxproj: 18518 185192013-04-24 Jer Noble <jer.noble@apple.com> 18520 18521 Unreviewed build fix; link against CoreServices.framework instead of against 18522 CoreFoundation.framework directly, to make the linker happy on Lion. 18523 18524 * WebKit2.xcodeproj/project.pbxproj: 18525 185262013-04-22 Jer Noble <jer.noble@apple.com> 18527 18528 WWDC session videos don’t play at developer.apple.com 18529 https://bugs.webkit.org/show_bug.cgi?id=114858 18530 18531 Reviewed by Eric Carlson. Rubber stamped by Brady Eidson. 18532 18533 AVFoundation uses CFNetwork to store and retrieve cookies from the global store. 18534 However, in the case where network access happens in the NetworkProcess, session 18535 cookies are stored in-memory, and are not accessable in the WebProcess. Until such 18536 a time as AVFoundation can provide an API which would allow us to provide cookies 18537 for a specific request, we will interpose the CFNetwork method which they use to 18538 retrieve the cookie string from the cookie store for their pending request. 18539 18540 Duplicate the previous SecItemShim target to a new, WebProcessShim target. This 18541 target includes the SecItemShim functionality, but will add a new shim for cookie 18542 retrieval: 18543 * Shared/mac/CookieStorageShimLibrary.h: Added 18544 (CookieStorageShimCallbacks): 18545 * Shared/mac/CookieStorageShimLibrary.cpp: Added. 18546 (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class. 18547 (WebKit::ShimProtector::~ShimProtector): 18548 (WebKit::ShimProtector::count): 18549 (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose 18550 the CFNetwork call, and pass to the registered callback. 18551 (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks. 18552 18553 Add a helper singleton class which will talk to the shim through the 18554 registered callbacks: 18555 * Shared/mac/CookieStorageShim.h: Added 18556 (WebKit::CookieStorageShim::CookieStorageShim): 18557 * Shared/mac/CookieStorageShim.cpp: Added. 18558 (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request 18559 over to the NetworkProcess. 18560 (WebKit::CookieStorageShim::shared): Simple singleton. 18561 (WebKit::CookieStorageShim::initialize): Call the library initializer. 18562 18563 Initialize the shim only when the WebProcess is delegating network loading 18564 to the NetworkProcess: 18565 * WebProcess/WebProcess.cpp: 18566 (WebKit::WebProcess::initializeWebProcess): 18567 18568 Rename the WebProcess's shim from SecItemShim -> WebProcessShim: 18569 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 18570 (WebKit::addDYLDEnvironmentAdditions): 18571 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 18572 (WebKit::WebContentProcessMainDelegate::doPreInitializationWork): 18573 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: 18574 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 18575 (WebContentServiceInitializer): 18576 18577 As the DYLD_INTERPOSE macro is used in multiple files now, put it in its 18578 own header: 18579 * Shared/mac/DyldInterpose.h: Added. 18580 * PluginProcess/mac/PluginProcessShim.mm: 18581 * WebProcess/mac/SecItemShimLibrary.mm: 18582 18583 Add new files to the project: 18584 * WebKit2.xcodeproj/project.pbxproj: 18585 185862013-04-24 Byungwoo Lee <bw80.lee@samsung.com> 18587 18588 [EFL] Fix build error after r148963. 18589 https://bugs.webkit.org/show_bug.cgi?id=115126 18590 18591 Reviewed by Laszlo Gombos. 18592 18593 Generate forwarding headers for 'CoordinatedGraphics' to generate WKView.h 18594 18595 * PlatformEfl.cmake: 18596 185972013-04-24 Anders Carlsson <andersca@apple.com> 18598 18599 Crash when trying to determine the length of an invalid message 18600 https://bugs.webkit.org/show_bug.cgi?id=115127 18601 <rdar://problem/13700736> 18602 18603 Reviewed by Beth Dakin. 18604 18605 Use message instead of incomingMessage since incomingMessage will always be null. 18606 18607 * Platform/CoreIPC/Connection.cpp: 18608 (CoreIPC::Connection::processIncomingMessage): 18609 186102013-04-24 Carlos Garcia Campos <cgarcia@igalia.com> 18611 18612 [GTK] Use stamp files for generate-forwarding-headers makefile rules 18613 https://bugs.webkit.org/show_bug.cgi?id=115118 18614 18615 Reviewed by Martin Robinson. 18616 18617 Use a stamp file for the WebKit2 forwarding generator rule. Also 18618 fix the rule dependencies that pointed to a non existent variable. 18619 18620 * GNUmakefile.am: 18621 186222013-04-24 Zan Dobersek <zdobersek@igalia.com> 18623 18624 [GTK][WK2] Implement LayerTreeHostGtk::pageBackgroundTransparencyChanged 18625 https://bugs.webkit.org/show_bug.cgi?id=115094 18626 18627 Reviewed by Tim Horton. 18628 18629 The method was introduced in r149004 (and a stub implementation for the GTK port added in r149017). 18630 Implement the method for the GTK port in the same manner it is implemented under the Mac port, 18631 calling setContentsOpaque on the non-composited content layer. 18632 18633 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 18634 (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged): 18635 186362013-04-24 Simon Cooper <scooper@apple.com> 18637 18638 <rdar://problem/13614117> Refine the Flash Player profile 18639 https://bugs.webkit.org/show_bug.cgi?id=115016 18640 18641 Reviewed by Alexey Proskuryakov. 18642 18643 Add some refinements to the Flash Player profile. Make a non-/ home 18644 directory work. Fixes that allow file uploading via user selected files. 18645 18646 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb: 18647 186482013-04-24 Carlos Garcia Campos <cgarcia@igalia.com> 18649 18650 [WebKit2] Add CoordinatedGraphics to the list of platforms in generate-forwarding-headers.pl 18651 https://bugs.webkit.org/show_bug.cgi?id=115098 18652 18653 Reviewed by Martin Robinson. 18654 18655 r148963 introduced a new WKView.h header in a directory not listed 18656 as a platform prefix in generate-forwarding-headers.pl. 18657 18658 * Scripts/generate-forwarding-headers.pl: Replace unused chromium 18659 plaform prefix with CoordinatedGraphics that is used now. 18660 186612013-04-24 Seokju Kwon <seokju.kwon@gmail.com> 18662 18663 Web Inspector: Add number to list from remote web inspector. 18664 https://bugs.webkit.org/show_bug.cgi?id=115014 18665 18666 Reviewed by Benjamin Poulain. 18667 18668 * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: 18669 186702013-04-24 Vlad Vasilyeu <vasvlad@gmail.com> 18671 18672 --minimal build fails with error: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:44:36: error: decode is not a member of WebCore::TextCheckingResult 18673 https://bugs.webkit.org/show_bug.cgi?id=114367 18674 18675 Reviewed by Benjamin Poulain. 18676 18677 Include WebCoreArgumentCoders.h to WebEditorClientEfl.cpp from 18678 WebKit2/Shared/ for successfully building with option --minimal 18679 18680 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: 18681 18682== Rolled over to ChangeLog-2013-04-24 == 18683