1 2013-05-20 Zan Dobersek <zdobersek@igalia.com>
3 [GTK] Fix concatenations of string literals that are not C++11-compliant
4 https://bugs.webkit.org/show_bug.cgi?id=116449
6 Reviewed by Martin Robinson.
8 Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
9 is simply a matter of separating the string and the string literal that are being concatenated with a space.
11 * UIProcess/API/gtk/tests/TestPrinting.cpp:
12 (testPrintOperationPrint):
13 * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
16 2013-05-20 Commit Queue <commit-queue@webkit.org>
18 Unreviewed, rolling out r150384.
19 http://trac.webkit.org/changeset/150384
20 https://bugs.webkit.org/show_bug.cgi?id=116513
22 Not ready for primetime. (Requested by kling on #webkit).
24 * UIProcess/WebProcessProxy.cpp:
25 (WebKit::WebProcessProxy::WebProcessProxy):
26 (WebKit::WebProcessProxy::removeWebPage):
27 * UIProcess/WebProcessProxy.h:
30 2013-05-20 Martin Robinson <mrobinson@igalia.com>
32 Remove SharedMemoryGtk.cpp
33 https://bugs.webkit.org/show_bug.cgi?id=116457
35 Reviewed by Andreas Kling.
37 * Platform/gtk/SharedMemoryGtk.cpp: Removed.
39 2013-05-20 Jessie Berlin <jberlin@apple.com>
41 Expose a way to know when forms are added to a page or when form controls are added to a form
42 in the injected bundle
43 https://bugs.webkit.org/show_bug.cgi?id=116334
45 Reviewed by Alexey Proskuryakov.
47 Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
49 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
50 Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
52 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
53 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
54 Pass the message along to the client if the client has a handler.
55 (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
57 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
59 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
60 (WebKit::WebChromeClient::didAssociateFormControls):
61 Tell the injected bundle form client for the page.
62 (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
64 * WebProcess/WebCoreSupport/WebChromeClient.h:
66 2013-05-20 Tim Horton <timothy_horton@apple.com>
68 Clients should have a way to extend rendering suppression
69 https://bugs.webkit.org/show_bug.cgi?id=116463
70 <rdar://problem/13738496>
72 Reviewed by Andy Estes.
74 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
75 (WKBundlePageExtendIncrementalRenderingSuppression): Added.
76 (WKBundlePageStopExtendingIncrementalRenderingSuppression): Added.
77 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
78 These only have any effect if SuppressesIncrementalRendering is also enabled.
80 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
81 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
82 Inform the FrameView if there are any outstanding rendering suppression tokens.
84 * WebProcess/WebPage/WebPage.cpp:
85 (WebKit::WebPage::WebPage):
86 (WebKit::WebPage::extendIncrementalRenderingSuppression):
87 Return the next available rendering suppression token.
88 Add it to the list of active tokens.
89 Inform the FrameView that we want to suppress rendering.
91 (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
92 Remove the given token from the list of active tokens.
93 Un-suppress rendering if appropriate.
95 * WebProcess/WebPage/WebPage.h:
96 (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
97 Return if there are any active rendering suppression tokens.
99 2013-05-20 Andreas Kling <akling@apple.com>
101 PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
102 <http://webkit.org/b/116464>
103 <rdar://problem/10103795>
105 Reviewed by Anders Carlsson.
107 Give the web process a 10 second chance to exit nicely after closing the last tab belonging to it.
108 This code only runs if there was something on the page (e.g an unload/beforeunload event handler)
109 preventing the UI process from killing it right away.
111 * UIProcess/WebProcessProxy.cpp:
112 (WebKit::WebProcessProxy::WebProcessProxy):
113 (WebKit::WebProcessProxy::removeWebPage):
114 (WebKit::WebProcessProxy::forcefulTerminationTimerFired):
115 * UIProcess/WebProcessProxy.h:
118 2013-05-20 Anders Carlsson <andersca@apple.com>
120 Add helper function for converting a KeyedCodingValue to a CFTypeRef
121 https://bugs.webkit.org/show_bug.cgi?id=116461
123 Reviewed by Tim Horton.
125 * Shared/cf/KeyedCodingValueCF.cpp: Added.
126 * Shared/cf/KeyedCodingValueCF.h: Added.
128 * WebKit2.xcodeproj/project.pbxproj:
130 2013-05-20 Anders Carlsson <andersca@apple.com>
132 Begin stubbing out a new KeyedEncoder class
133 https://bugs.webkit.org/show_bug.cgi?id=116456
135 Reviewed by Sam Weinig.
137 This class (and it's coming counterpart, KeyedDecoder) will be used for serializing
138 object graphs to a tree-like structure of dictionaries. It is up to individual ports to
139 serialize them further (for example, on Mac they could be serialized to CFPropertyList objects).
141 This will be used for serializing session storage state but I hope that it can be used for serializing
142 back forward state in the future as our current implementation of back forward state serialization
143 is fragile and depends on our IPC layer's binary encoding(!).
145 * Shared/KeyedCodingValue.h: Added.
146 * Shared/KeyedEncoder.cpp: Added.
147 * Shared/KeyedEncoder.h: Added.
149 * WebKit2.xcodeproj/project.pbxproj:
151 2013-05-19 Sam Weinig <sam@webkit.org>
153 Bump WKBundlePageLoaderClient version number so as not to break some clients
154 https://bugs.webkit.org/show_bug.cgi?id=116426
156 Reviewed by Anders Carlsson.
158 * Shared/APIClientTraits.cpp:
160 * Shared/APIClientTraits.h:
161 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
163 2013-05-19 Anders Carlsson <andersca@apple.com>
165 Remove link prerendering code
166 https://bugs.webkit.org/show_bug.cgi?id=116415
168 Reviewed by Darin Adler.
170 This code was only used by Chromium and is dead now.
172 * Configurations/FeatureDefines.xcconfig:
174 2013-05-18 Anders Carlsson <andersca@apple.com>
176 Simplify the StorageArea setter functions
177 https://bugs.webkit.org/show_bug.cgi?id=116402
179 Reviewed by Sam Weinig.
181 Remove security checking code that lives in Storage now.
183 * WebProcess/Storage/StorageAreaImpl.cpp:
184 (WebKit::StorageAreaImpl::setItem):
185 (WebKit::StorageAreaImpl::removeItem):
186 (WebKit::StorageAreaImpl::clear):
187 * WebProcess/Storage/StorageAreaImpl.h:
189 2013-05-18 Sam Weinig <sam@webkit.org>
193 * UIProcess/API/mac/WKTypeRefWrapper.mm:
195 2013-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
197 REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
198 https://bugs.webkit.org/show_bug.cgi?id=116389
200 Reviewed by Martin Robinson.
202 There's no longer WebKeyValueStorageManager in the web process
205 * WebProcess/WebPage/WebPageGroupProxy.cpp:
206 (WebKit::WebPageGroupProxy::WebPageGroupProxy):
208 2013-05-17 Sam Weinig <sam@webkit.org>
210 Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
211 https://bugs.webkit.org/show_bug.cgi?id=116345
213 Reviewed by Anders Carlsson.
215 In order to efficiently send a WKImageRef to another process when using the
216 Objective-C WKConnection (or other user data messages), we need a way to encode
217 WKTypeRefs in the objective-c object graph. Thus was born WKTypeRefWrapper.
219 * Shared/mac/ObjCObjectGraphCoders.mm:
220 (WebKit::typeFromObject):
221 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
222 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
223 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
224 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
225 * UIProcess/API/mac/WKTypeRefWrapper.h: Added.
226 * UIProcess/API/mac/WKTypeRefWrapper.mm: Added.
227 (-[WKTypeRefWrapper initWithObject:]):
228 (-[WKTypeRefWrapper object]):
229 * WebKit2.xcodeproj/project.pbxproj:
231 2013-05-18 Anders Carlsson <andersca@apple.com>
233 Simplify StorageArea getter functions
234 https://bugs.webkit.org/show_bug.cgi?id=116399
236 Reviewed by Sam Weinig.
238 Remove security and private browsing checks.
240 * WebProcess/Storage/StorageAreaImpl.cpp:
241 (WebKit::StorageAreaImpl::key):
242 (WebKit::StorageAreaImpl::item):
243 (WebKit::StorageAreaImpl::contains):
244 * WebProcess/Storage/StorageAreaImpl.h:
246 2013-05-18 Patrick Gansterer <paroga@webkit.org>
248 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
249 https://bugs.webkit.org/show_bug.cgi?id=114554
251 Reviewed by Gyuyoung Kim.
253 Using variables as target names is very uncommon in CMake.
254 The usual way to specify the name of the resulting binary
255 is to set the OUTPUT_NAME target property.
259 * efl/ewebkit2.pc.in:
261 2013-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
263 [GTK] Move GTK port off legacy clipboard
264 https://bugs.webkit.org/show_bug.cgi?id=116221
266 Reviewed by Martin Robinson.
268 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
270 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
271 (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
272 Pasteboard associated to the given Clipboard.
274 2013-05-18 Jinwoo Song <jinwoo7.song@samsung.com>
276 [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
277 https://bugs.webkit.org/show_bug.cgi?id=116386
279 Reviewed by Christophe Dumez.
281 Refactor the API to handle 'const char*' parameter in right way and
282 enable the unit test which was disabled in r136230 as there is no assertion now.
284 * UIProcess/API/efl/EwkView.cpp:
285 (EwkView::setCustomTextEncodingName):
286 * UIProcess/API/efl/EwkView.h:
287 (EwkView::customTextEncodingName):
289 * UIProcess/API/efl/ewk_view.cpp:
290 (ewk_view_custom_encoding_set):
291 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
294 2013-05-18 Csaba Osztrogonác <ossy@webkit.org>
296 [CMake] Unreviewed speculative build fix after r150305 and r150306.
300 2013-05-18 Csaba Osztrogonác <ossy@webkit.org>
302 [Qt][WK2] Unreviewed build fix after r150305 and r150306.
304 * DerivedSources.pri:
307 2013-05-18 Zan Dobersek <zdobersek@igalia.com>
309 Unreviewed build fix for the GTK port after r150305 and r150306.
311 * GNUmakefile.list.am:
313 2013-05-17 Alexey Proskuryakov <ap@apple.com>
315 <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
316 https://bugs.webkit.org/show_bug.cgi?id=116359
318 The condition was accidentally negated, fixing.
320 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
321 (WebKit::WebPlatformStrategies::isAvailable):
323 2013-05-17 Gavin Barraclough <barraclough@apple.com>
325 Only allow 1 WebProcess to hold a PageCache
326 https://bugs.webkit.org/show_bug.cgi?id=116368
327 <rdar://problem/13392600>
329 Reviewed by Geoff Garen & Anders Carlson.
331 * UIProcess/WebContext.cpp:
332 (WebKit::WebContext::WebContext):
333 (WebKit::WebContext::processDidSaveToPageCache):
335 (WebKit::WebContext::disconnectProcess):
336 * UIProcess/WebContext.h:
337 - Added m_processWithPageCache, only allow one process to keep a PageCache.
339 * UIProcess/WebPageProxy.cpp:
340 (WebKit::WebPageProxy::didSaveToPageCache):
342 * UIProcess/WebPageProxy.h:
344 * UIProcess/WebPageProxy.messages.in:
345 - Forward didSaveToPageCache to the WebProcessProxy.
346 * UIProcess/WebProcessProxy.cpp:
347 (WebKit::WebProcessProxy::addBackForwardItem):
348 (WebKit::WebProcessProxy::didSaveToPageCache):
350 (WebKit::WebProcessProxy::releasePageCache):
351 - Forward releasePageCache to the WebProcess.
352 - Forward didSaveToPageCache to the WebContext.
353 * UIProcess/WebProcessProxy.h:
355 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
356 (WebKit::WebFrameLoaderClient::didSaveToPageCache):
357 - Forward didSaveToPageCache to the WebPageProxy.
358 * WebProcess/WebProcess.cpp:
359 (WebKit::WebProcess::releasePageCache):
361 * WebProcess/WebProcess.h:
363 * WebProcess/WebProcess.messages.in:
364 - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
366 2013-05-17 Anders Carlsson <andersca@apple.com>
368 Share code between WebKit1 and WebKit2 StorageArea subclasses
369 https://bugs.webkit.org/show_bug.cgi?id=116367
371 Reviewed by Andreas Kling.
373 * WebProcess/Storage/StorageAreaImpl.cpp:
374 (WebKit::StorageAreaImpl::length):
375 Remove code that's now in Storage::length.
377 (WebKit::StorageAreaImpl::storageType):
378 Make this a virtual member function.
380 * WebProcess/Storage/StorageAreaImpl.h:
382 2013-05-17 Alexey Proskuryakov <ap@apple.com>
384 <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
385 https://bugs.webkit.org/show_bug.cgi?id=116359
387 Reviewed by Anders Carlsson.
389 Implement SharedWorkerStrategy::isAvailable.
391 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
392 (WebKit::WebPlatformStrategies::isAvailable):
393 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
395 2013-05-17 Beth Dakin <bdakin@apple.com>
397 Headers and footers will sometimes disappear and re-appear during page loads
398 https://bugs.webkit.org/show_bug.cgi?id=116336
400 <rdar://problem/13886753>
402 Reviewed by Simon Fraser.
404 This patch changes the WebCore-level API that WebKit uses to create a banner.
405 Specifically this patch removes FrameView::setWantsLayerForHeader(), which created
406 and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the
407 layer has been created, it will call back into WK2 via ChromeClient. This will
408 allow WebCore to re-create the header/footer layers as needed whenever the
409 FrameView/RenderLayerCompositor have been destroyed and recreated.
411 Send the layers over to PageBanner.
412 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
413 (WebKit::WebChromeClient::didAddHeaderLayer):
414 (WebKit::WebChromeClient::didAddFooterLayer):
415 * WebProcess/WebCoreSupport/WebChromeClient.h:
418 PageBanner::addToPage() now does much less work since it can’t get the parent
419 layer right away. The work that is used to do once it had the parent layer is now
420 performed in didAddParentLayer()
421 * WebProcess/WebPage/PageBanner.cpp:
422 (WebKit::PageBanner::didAddParentLayer):
423 * WebProcess/WebPage/PageBanner.h:
424 * WebProcess/WebPage/mac/PageBannerMac.mm:
425 (WebKit::PageBanner::addToPage):
426 (WebKit::PageBanner::didAddParentLayer):
428 2013-05-17 Anders Carlsson <andersca@apple.com>
430 Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
431 https://bugs.webkit.org/show_bug.cgi?id=116361
433 Reviewed by Andreas Kling.
435 There's nothing proxy about this class anymore!
437 * UIProcess/API/C/WKAPICast.h:
438 * UIProcess/API/C/WKContext.cpp:
439 * UIProcess/API/C/WKKeyValueStorageManager.cpp:
440 * UIProcess/WebKeyValueStorageManager.cpp: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp.
441 * UIProcess/WebKeyValueStorageManager.h: Renamed from Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.h.
442 * WebKit2.xcodeproj/project.pbxproj:
444 2013-05-17 Anders Carlsson <andersca@apple.com>
446 Remove dead local storage code
447 https://bugs.webkit.org/show_bug.cgi?id=116360
449 Reviewed by Beth Dakin.
451 Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.
453 * DerivedSources.make:
454 * UIProcess/WebKeyValueStorageManagerProxy.cpp:
455 (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
457 (WebKit::didGetKeyValueStorageOrigins):
458 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
459 * UIProcess/WebKeyValueStorageManagerProxy.h:
460 (WebKeyValueStorageManagerProxy):
461 * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Removed.
462 * WebKit2.xcodeproj/project.pbxproj:
463 * WebProcess/Storage/WebKeyValueStorageManager.cpp: Removed.
464 * WebProcess/Storage/WebKeyValueStorageManager.h: Removed.
465 * WebProcess/Storage/WebKeyValueStorageManager.messages.in: Removed.
466 * WebProcess/WebPage/WebPage.cpp:
467 (WebKit::WebPage::updatePreferences):
468 * WebProcess/WebProcess.cpp:
469 (WebKit::WebProcess::WebProcess):
471 2013-05-17 Anders Carlsson <andersca@apple.com>
473 Use the UI process storage manager for deleting local storage data
474 https://bugs.webkit.org/show_bug.cgi?id=116358
475 <rdar://problem/13852829>
477 Reviewed by Andreas Kling.
479 * Shared/WebSecurityOrigin.h:
480 (WebKit::WebSecurityOrigin::protocol):
481 (WebKit::WebSecurityOrigin::host):
482 (WebKit::WebSecurityOrigin::databaseIdentifier):
483 (WebKit::WebSecurityOrigin::toString):
484 Remove unneeded consts.
486 (WebKit::WebSecurityOrigin::securityOrigin):
489 * UIProcess/Storage/LocalStorageDatabase.cpp:
490 (WebKit::LocalStorageDatabase::close):
491 deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.
493 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
494 (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
495 Rename since this is no longer used only for empty databases.
497 (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
498 Loop over the tracker database and delete all database files.
500 * UIProcess/Storage/StorageManager.cpp:
501 (WebKit::StorageManager::StorageArea::clear):
502 Clear the map, close the database and tell all event listeners to reset their caches.
504 (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
505 Loop over all storage areas and call clear on those matching the security origin.
507 (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
508 Loop over all storage areas and call clear on them.
510 (WebKit::StorageManager::deleteEntriesForOrigin):
511 Dispatch deleteEntriesForOriginInternal on the work queue.
513 (WebKit::StorageManager::deleteAllEntries):
514 Dispatch deleteAllEntriesInternal on the work queue.
516 (WebKit::StorageManager::deleteEntriesForOriginInternal):
517 Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.
519 (WebKit::StorageManager::deleteAllEntriesInternal):
520 Call clearAllStorageAreas on all local storage namespaces and then delete all databases.
522 * UIProcess/WebKeyValueStorageManagerProxy.cpp:
523 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
524 Call out to the storage manager.
526 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
529 * WebProcess/Storage/StorageAreaMap.cpp:
530 (WebKit::StorageAreaMap::clearCache):
531 Call resetValues which will null out the storage map.
533 * WebProcess/Storage/StorageAreaMap.messages.in:
534 Add ClearCache message.
536 2013-05-17 Anders Carlsson <andersca@apple.com>
538 Only import local storage items from the database once
539 https://bugs.webkit.org/show_bug.cgi?id=116354
541 Reviewed by Andreas Kling.
543 We import items from the database over and over, when we only want to do it once. Use a
544 boolean flag to guard against doing it more than once.
546 Also, rename importItemsFromDatabase to openDatabaseAndImportItemsIfNeeded since it now
547 also opens the database (even if it doesn't need to import anything). This is preparation for an
548 upcoming patch where the database will be closed when it's cleared.
550 * UIProcess/Storage/StorageManager.cpp:
551 (StorageManager::StorageArea):
552 (WebKit::StorageManager::StorageArea::StorageArea):
553 (WebKit::StorageManager::StorageArea::setItem):
554 (WebKit::StorageManager::StorageArea::removeItem):
555 (WebKit::StorageManager::StorageArea::clear):
556 (WebKit::StorageManager::StorageArea::items):
557 (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
559 2013-05-17 Alexey Proskuryakov <ap@apple.com>
561 <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.
563 Reviewed by Anders Carlsson.
565 * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
567 2013-05-17 Anders Carlsson <andersca@apple.com>
569 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
570 https://bugs.webkit.org/show_bug.cgi?id=116346
571 <rdar://problem/13852829>
573 Reviewed by Andreas Kling.
575 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
576 (WebKit::LocalStorageDatabaseTracker::origins):
577 New helper function to return all the tracked origins.
579 * UIProcess/Storage/StorageManager.cpp:
580 (WebKit::StorageManager::StorageManager):
581 Initialize the UTF-8 encoding.
583 (WebKit::StorageManager::getOrigins):
584 Call getOriginsInternal on our queue.
586 (WebKit::callCallbackFunction):
587 Helper function for calling the callback function.
589 (WebKit::StorageManager::getOriginsInternal):
590 Get the origins and make sure we call the callback with the given function dispatcher.
592 * UIProcess/WebKeyValueStorageManagerProxy.cpp:
593 (WebKit::didGetKeyValueStorageOriginsCallback):
594 Construct the array of WebSecurityOrigin objects and call the callback.
596 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
597 Call StorageManager::getOrigins.
599 2013-05-16 Alexey Proskuryakov <ap@apple.com>
601 Text input is largely broken when there are subframes loading
602 http://bugs.webkit.org/show_bug.cgi?id=59121
603 <rdar://problem/9320468>
605 Reviewed by Darin Adler.
607 * UIProcess/PageClient.h:
608 * UIProcess/API/mac/PageClientImpl.h:
609 * UIProcess/API/mac/PageClientImpl.mm:
610 (WebKit::PageClientImpl::updateSecureInputState): Separated secure input state
611 updating into a separate function. Removed updateTextInputState, we don't need
612 to go through PageClient to implement its behavior at all.
613 (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added a FIXME.
615 * UIProcess/API/mac/WKView.mm:
616 * UIProcess/API/mac/WKViewInternal.h:
617 Removed _updateTextInputStateIncludingSecureInputState.
619 * UIProcess/WebPageProxy.h: Added m_temporarilyClosedComposition, which helps
620 to figure out that WebCore decided to close a composition. The issue is that WebCore
621 would first send an EditorState with hasComposition set to false, and with
622 shouldIgnoreCompositionSelectionChange set to true, at which time we forget the
623 previous m_editorState, but can't make any decisions based on this transient state.
624 We should find a way to simplify this (maybe not send these updates with
625 shouldIgnoreCompositionSelectionChange at all?)
627 * UIProcess/WebPageProxy.cpp:
628 (WebKit::WebPageProxy::WebPageProxy): Initialize m_temporarilyClosedComposition.
629 (WebKit::WebPageProxy::didCommitLoadForFrame): Removed the code to kill a composition
630 when any frame commits a load, which made no sense (along with surrounding code,
631 which will unfortunately survive longer).
632 (WebKit::WebPageProxy::editorStateChanged): Implemented state updating here,
633 we don't need to go to WKView.mm to implement this logic. Figure out when WebCore
634 discards a composition, and notify input methods about this.
635 (WebKit::WebPageProxy::resetStateAfterProcessExited): Reset m_temporarilyClosedComposition.
638 2013-05-17 Manuel Rego Casasnovas <rego@igalia.com>
640 [WK2] Add support for selectTrailingWhitespaceEnabled setting
641 https://bugs.webkit.org/show_bug.cgi?id=112426
643 Reviewed by Ryosuke Niwa.
645 * Shared/WebPreferencesStore.h:
646 (WebKit): Add macro for selectTrailingWhitespaceEnabled.
647 * UIProcess/API/C/WKPreferences.cpp:
648 (WKPreferencesSetSelectTrailingWhitespaceEnabled):
649 (WKPreferencesGetSelectTrailingWhitespaceEnabled): Implement methods
650 using the new setting.
651 * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
652 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
653 (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): Implement
654 method delegating in WebPage.
655 * WebProcess/WebPage/WebPage.cpp:
656 (WebKit::WebPage::updatePreferences): Set
657 selectTrailingWhitespaceEnabled setting.
658 (WebKit::WebPage::setSmartInsertDeleteEnabled): Set
659 selectTrailingWhitespaceEnabled as they are mutually exclusive.
661 (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
663 (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
664 using settings and set smartInsertDeleteEnabled as they are mutually
666 * WebProcess/WebPage/WebPage.h:
667 (WebPage): Add new methods headers.
669 2013-05-17 Brady Eidson <beidson@apple.com>
671 Fix crash introduced by http://trac.webkit.org/changeset/150282
672 Followup to https://bugs.webkit.org/show_bug.cgi?id=116253
674 Reviewed by Andreas Kling.
676 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
677 (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.
679 2013-05-17 Brady Eidson <beidson@apple.com>
681 Replace WebFrameLoaderClient static_casts with a function that might return null.
682 https://bugs.webkit.org/show_bug.cgi?id=116253
684 The general approach here is:
685 1 - Introduce a toWebFrameLoaderClient() function to convert FrameLoaderClients, and that may return null.
686 2 - Adopt toWebFrameLoaderClient() everywhere we used to do a direct static_cast<WebFrameLoaderClient*>
687 3 - In functions that already support a "return 0" scenario, a failed cast results in a return 0.
688 4 - In other functions that assume no failure to get the WebFrameLoaderClient, add an ASSERT.
690 Reviewed by Alexey Proskuryakov.
692 Add the utility function to cast:
693 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
694 (WebKit::toWebFrameLoaderClient):
697 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
698 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
700 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
701 (WebKit::InjectedBundleNodeHandle::documentFrame):
702 (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
703 (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
705 * WebProcess/InjectedBundle/InjectedBundle.cpp:
706 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
708 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
709 (WebKit::InjectedBundleDOMWindowExtension::frame):
711 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
712 (WebKit::InjectedBundleHitTestResult::frame):
713 (WebKit::InjectedBundleHitTestResult::targetFrame):
715 * WebProcess/Network/WebResourceLoadScheduler.cpp:
716 (WebKit::WebResourceLoadScheduler::scheduleLoad):
718 * WebProcess/Plugins/PluginView.cpp:
720 (WebKit::PluginView::performFrameLoadURLRequest):
722 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
723 (WebKit::WebChromeClient::focusedNodeChanged):
724 (WebKit::WebChromeClient::focusedFrameChanged):
725 (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
726 (WebKit::WebChromeClient::runJavaScriptAlert):
727 (WebKit::WebChromeClient::runJavaScriptConfirm):
728 (WebKit::WebChromeClient::runJavaScriptPrompt):
729 (WebKit::WebChromeClient::print):
730 (WebKit::WebChromeClient::exceededDatabaseQuota):
731 (WebKit::WebChromeClient::runOpenPanel):
733 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
734 (WebKit::WebEditorClient::textFieldDidBeginEditing):
735 (WebKit::WebEditorClient::textFieldDidEndEditing):
736 (WebKit::WebEditorClient::textDidChangeInTextField):
737 (WebKit::WebEditorClient::textDidChangeInTextArea):
738 (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
739 (WebKit::WebEditorClient::textWillBeDeletedInTextField):
741 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
742 (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
743 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
745 * WebProcess/WebPage/WebFrame.cpp:
746 (WebKit::WebFrame::contentsAsString):
747 (WebKit::WebFrame::parentFrame):
748 (WebKit::WebFrame::childFrames):
749 (WebKit::WebFrame::frameForContext):
750 (WebKit::WebFrameFilter::shouldIncludeSubframe):
752 * WebProcess/WebPage/WebPage.cpp:
753 (WebKit::WebPage::mainFrameHasCustomRepresentation):
755 2013-05-17 Sam Weinig <sam@webkit.org>
757 Expose new load-with-userData API to Objective-C
758 https://bugs.webkit.org/show_bug.cgi?id=116335
760 Reviewed by Anders Carlsson.
762 - Adds loadRequest:userData:, loadFileURL:restrictToFilesWithin:userData:, loadHTMLString:baseURL:userData:
763 loadData:MIMEType:textEncodingName:baseURL:, and loadData:MIMEType:textEncodingName:baseURL:userData.
764 - Adds a WKObjCTypeWrapperRef (which is a ObjCObjectGraph under the covers) to allow the userData to be unwrapped
765 in the injected bundles willLoadURLRequest and willLoadDataRequest C-SPI callbacks.
767 * Shared/API/c/WKBase.h:
768 * Shared/API/c/WKSharedAPICast.h:
769 * Shared/API/c/mac/WKBaseMac.h: Added.
770 * Shared/API/c/mac/WKObjCTypeWrapperRef.h: Added.
771 * Shared/API/c/mac/WKObjCTypeWrapperRef.mm: Added.
772 (WKObjCTypeWrapperGetTypeID):
773 (WKObjCTypeWrapperCreate):
774 (WKObjCTypeWrapperGetObject):
775 * UIProcess/API/mac/WKBrowsingContextController.h:
776 * UIProcess/API/mac/WKBrowsingContextController.mm:
777 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
778 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
779 (-[WKBrowsingContextController loadRequest:]):
780 (-[WKBrowsingContextController loadRequest:userData:]):
781 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
782 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
783 (-[WKBrowsingContextController loadHTMLString:baseURL:]):
784 (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
785 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:]):
786 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
787 * WebKit2.xcodeproj/project.pbxproj:
789 2013-05-17 Sam Weinig <sam@webkit.org>
791 Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
792 https://bugs.webkit.org/show_bug.cgi?id=116325
794 Reviewed by Simon Fraser.
796 * UIProcess/API/C/WKPage.cpp:
798 (WKPageLoadDataWithUserData):
801 * UIProcess/API/C/WKPage.h:
802 * UIProcess/WebPageProxy.cpp:
803 (WebKit::WebPageProxy::loadData):
804 * UIProcess/WebPageProxy.h:
805 Pipe through to the WebProcess.
807 * WebProcess/WebPage/WebPage.h:
808 * WebProcess/WebPage/WebPage.messages.in:
809 * WebProcess/WebPage/WebPage.cpp:
810 (WebKit::WebPage::loadDataImpl):
811 (WebKit::WebPage::loadData):
812 (WebKit::WebPage::loadHTMLString):
813 (WebKit::WebPage::loadAlternateHTMLString):
814 (WebKit::WebPage::loadPlainTextString):
815 (WebKit::WebPage::loadWebArchiveData):
816 Rename existing loadData function to loadDataImpl (I hate it) to avoid overload conflict
820 2013-05-17 Michał Pakuła vel Rutka <m.pakula@samsung.com>
822 [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
823 https://bugs.webkit.org/show_bug.cgi?id=116321
825 Reviewed by Christophe Dumez.
827 During sub menu creation, after initializing m_parentMenu, parentMenu
828 pointer became null which may cause segfaults. This patch fixes it by
831 * UIProcess/API/efl/ewk_context_menu_item.cpp:
832 (EwkContextMenuItem::EwkContextMenuItem):
834 2013-05-17 Michał Pakuła vel Rutka <m.pakula@samsung.com>
836 [EFL][WK2] Support sub menu in ewk context menus
837 https://bugs.webkit.org/show_bug.cgi?id=114729
839 Reviewed by Christophe Dumez.
841 Added submenu support in EwkContextMenu and an API function to receive
842 Ewk_Context_Menu from submenu context menu item. A test case was added
843 for new API function.
844 EwkContextMenu is now an EwkObject allowing multiple instances of submenu
845 to be used in different submenu type context menu items.
847 * UIProcess/API/efl/ewk_context_menu_item.cpp:
848 (EwkContextMenuItem::EwkContextMenuItem):
849 (ewk_context_menu_item_new):
850 (ewk_context_menu_item_parent_menu_get):
851 (ewk_context_menu_item_submenu_get):
852 * UIProcess/API/efl/ewk_context_menu_item.h:
853 * UIProcess/API/efl/ewk_context_menu_item_private.h:
854 (EwkContextMenuItem::create):
855 (EwkContextMenuItem::parentMenu):
856 (EwkContextMenuItem::subMenu):
857 (EwkContextMenuItem):
858 * UIProcess/API/efl/ewk_context_menu_private.h:
859 (EwkContextMenu::ewkView):
861 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
864 2013-05-17 Zoltan Arvai <zarvai@inf.u-szeged.hu>, Ádám Kallai <kadam@inf.u-szeged.hu>
866 [Qt] Unreviewed build fix.
868 Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.
870 * WebProcess/qt/QtBuiltinBundlePage.cpp:
871 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
873 2013-05-16 Beth Dakin <bdakin@apple.com>
875 Remove WKBundlePageGetHeaderLayer/Footer SPI
876 https://bugs.webkit.org/show_bug.cgi?id=116254
878 Reviewed by Benjamin Poulain.
880 We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only
881 recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.
883 * WebKit2.xcodeproj/project.pbxproj:
884 * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.h: Removed.
885 * WebProcess/InjectedBundle/API/c/mac/WKBundlePagePrivateMac.mm: Removed.
886 * WebProcess/WebPage/WebPage.h:
888 * WebProcess/WebPage/mac/WebPageMac.mm:
890 (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
892 2013-05-14 Sam Weinig <sam@webkit.org>
894 Add variants of the loading APIs that take user data and a way for the injected bundle to find out about them
895 https://bugs.webkit.org/show_bug.cgi?id=116132
897 Reviewed by Anders Carlsson.
899 Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
900 willLoadURLRequest and willLoadDataRequest to let the bundle access them.
902 Adds WebKit2WillLoadTest.* API tests.
904 * UIProcess/API/C/WKPage.cpp:
905 (WKPageLoadURLWithUserData):
906 (WKPageLoadURLRequestWithUserData):
908 (WKPageLoadFileWithUserData):
909 (WKPageLoadHTMLStringWithUserData):
910 (WKPageLoadAlternateHTMLStringWithUserData):
911 (WKPageLoadPlainTextStringWithUserData):
912 (WKPageLoadWebArchiveDataWithUserData):
913 * UIProcess/API/C/WKPage.h:
914 * UIProcess/WebPageProxy.cpp:
915 * UIProcess/WebPageProxy.h:
917 * WebKit2.xcodeproj/project.pbxproj:
918 * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
919 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
920 (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
921 (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
922 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
924 (InjectedBundlePageLoaderClient):
925 * WebProcess/WebPage/WebPage.cpp:
926 * WebProcess/WebPage/WebPage.h:
927 * WebProcess/WebPage/WebPage.messages.in:
929 2013-05-16 Manuel Rego Casasnovas <rego@igalia.com>
931 [GTK] Fix memory leak in WebKitBackForwardList
932 https://bugs.webkit.org/show_bug.cgi?id=116222
934 Reviewed by Carlos Garcia Campos.
936 Due to the use of leakRef() the ImmutableArray is not being released
937 automatically. Adding a local variable in the methods to make sure that
938 the ImmutableArray is freed.
940 * UIProcess/API/gtk/WebKitBackForwardList.cpp:
941 (webkit_back_forward_list_get_back_list_with_limit): Add local variable
942 RefPtr and pass the ImmutableArray to
943 WebKitBackForwardList::webkitBackForwardListCreateList() using
945 (webkit_back_forward_list_get_forward_list_with_limit): Ditto.
947 2013-05-16 Commit Queue <commit-queue@webkit.org>
949 Unreviewed, rolling out r150034.
950 http://trac.webkit.org/changeset/150034
951 https://bugs.webkit.org/show_bug.cgi?id=116257
953 This work around doesn't work due to another bug NSUndoManager
954 has (Requested by rniwa on #webkit).
956 * UIProcess/API/mac/PageClientImpl.mm:
957 (WebKit::PageClientImpl::registerEditCommand):
959 2013-05-16 Tim Horton <timothy_horton@apple.com>
961 PDFPlugins don't load when plugins are disabled, but they should
962 https://bugs.webkit.org/show_bug.cgi?id=75790
963 <rdar://problem/11650197>
965 Reviewed by Anders Carlsson.
967 Support loading "application" plug-ins even if plug-ins are explicitly disabled.
969 Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
970 be loaded even if plug-ins are disabled.
972 * Platform/CoreIPC/HandleMessage.h:
973 (CoreIPC::callMemberFunction):
974 Add a 5-argument, 3-reply version of callMemberFunction.
976 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
977 (WebKit::NetscapePluginModule::getPluginInfo):
978 NPAPI plug-ins are not application plug-ins.
980 * Shared/WebCoreArgumentCoders.cpp:
983 Encode/decode the new isApplicationPlugin field on PluginInfo.
985 * UIProcess/Plugins/PluginInfoStore.cpp:
986 (WebKit::PluginInfoStore::findPluginForMIMEType):
987 (WebKit::PluginInfoStore::findPluginForExtension):
988 (WebKit::PluginInfoStore::findPlugin):
989 * UIProcess/Plugins/PluginInfoStore.h:
991 Give PluginInfoStore's findPlugin method and its private helper
992 methods an argument allowing them to only match application plug-ins.
994 (WebKit::WebPageProxy::findPlugin):
995 * UIProcess/WebPageProxy.h:
997 * UIProcess/WebPageProxy.messages.in:
998 Add an argument allowing findPlugin to restrict its search to only application plug-ins.
1000 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1001 (WebKit::WebFrameLoaderClient::objectContentType):
1002 Previously, this caller depended on pluginData() returning null if
1003 plug-ins were disabled. Since that is no longer the case, we have to
1004 check if we can use plug-ins, and otherwise ignore non-application-plug-ins.
1006 * WebProcess/WebPage/WebPage.cpp:
1007 (WebKit::WebPage::createPlugin):
1008 When going to search for a plug-in, ask subframeLoader whether or not
1009 it's OK to use ordinary non-application plug-ins, and pass that information
1010 on to the UIProcess when performing the search.
1012 (WebKit::WebPage::canPluginHandleResponse): Ditto.
1013 (WebKit::WebPage::canShowMIMEType):
1014 Ensure that canShowMIMEType returns true if we have an application plug-in
1015 that can display a particular MIME type, even if we're not allowed to load plug-ins.
1017 2013-05-16 Michał Pakuła vel Rutka <m.pakula@samsung.com>
1019 [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
1020 https://bugs.webkit.org/show_bug.cgi?id=116097
1022 Reviewed by Gyuyoung Kim.
1024 Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
1025 object can be shared between different modules.
1027 * UIProcess/API/efl/EwkView.cpp:
1028 (EwkView::showContextMenu):
1029 * UIProcess/API/efl/EwkView.h:
1031 * UIProcess/API/efl/ewk_context_menu.cpp:
1032 (EwkContextMenu::appendItem):
1033 (EwkContextMenu::removeItem):
1034 (ewk_context_menu_new):
1035 (ewk_context_menu_new_with_items):
1036 (ewk_context_menu_item_append):
1037 (ewk_context_menu_item_remove):
1038 (ewk_context_menu_hide):
1039 (ewk_context_menu_items_get):
1040 (ewk_context_menu_item_select):
1041 * UIProcess/API/efl/ewk_context_menu_item.cpp:
1042 (EwkContextMenuItem::EwkContextMenuItem):
1043 (ewk_context_menu_item_new_with_submenu):
1044 * UIProcess/API/efl/ewk_context_menu_item_private.h:
1045 (EwkContextMenuItem):
1046 * UIProcess/API/efl/ewk_context_menu_private.h:
1048 (EwkContextMenu::create):
1049 * UIProcess/API/efl/ewk_defines.h:
1051 2013-05-16 Andreas Kling <akling@apple.com>
1053 Page::chrome() should return a reference.
1054 <http://webkit.org/b/116185>
1056 Reviewed by Anders Carlsson.
1058 2013-05-16 Brady Eidson <beidson@apple.com>
1060 svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
1061 <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
1063 Reviewed by Sam Weinig.
1065 * NetworkProcess/SchedulableLoader.cpp:
1066 (WebKit::SchedulableLoader::SchedulableLoader): ASSERT that either there’s a frame and page ID, or
1067 that the client cannot be asked for credentials.
1069 * WebProcess/Network/WebResourceLoadScheduler.cpp:
1070 (WebKit::WebResourceLoadScheduler::scheduleLoad): Only cast the FrameLoaderClient and get WebFrame/WebPage
1071 if that is actually possible. Set the clientCredentialPolicy based on whether or not WebFrame/WebPage are
1072 available since they are needed to ask the UIProcess for credentials. ASSERT that either there’s both
1073 a frame and page ID or that the client won’t be asked for credentials.
1075 2013-05-16 Timothy Hatcher <timothy@apple.com>
1077 Make the Find Banner in Safari work again with the docked Web Inspector.
1079 https://webkit.org/b/116182
1080 rdar://problem/13857423
1082 Reviewed by Benjamin Poulain.
1084 * UIProcess/mac/WebInspectorProxyMac.mm:
1085 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1086 (WebKit::WebInspectorProxy::platformDetach):
1087 Preserve the top position of the inspected view so banners in Safari still work.
1089 2013-05-16 Tim Horton <timothy_horton@apple.com>
1091 [wk2] didGetImageForFindMatch can return a null image
1092 https://bugs.webkit.org/show_bug.cgi?id=116251
1093 <rdar://problem/13277246>
1095 Reviewed by Simon Fraser.
1097 Don't send didGetImageForFindMatch if we didn't get an image for
1098 the find match, which can happen if the selection is not visible.
1100 * WebProcess/WebPage/FindController.cpp:
1101 (WebKit::FindController::getImageForFindMatch):
1103 2013-05-16 Tim Horton <timothy_horton@apple.com>
1105 [wk2] Minimum layout width is lost if the WebProcess crashes
1106 https://bugs.webkit.org/show_bug.cgi?id=116202
1107 <rdar://problem/13202320>
1109 Reviewed by Darin Adler.
1111 Send the minimum layout width to the WebProcess upon initialization,
1112 so that crashed-and-restarted WebProcesses have the correct width.
1114 * Shared/WebPageCreationParameters.cpp:
1115 (WebKit::WebPageCreationParameters::encode):
1116 (WebKit::WebPageCreationParameters::decode):
1117 * Shared/WebPageCreationParameters.h:
1118 (WebPageCreationParameters):
1119 Add minimumLayoutWidth WebPage creation parameter.
1121 * UIProcess/WebPageProxy.cpp:
1122 (WebKit::WebPageProxy::creationParameters):
1123 Send the current minimumLayoutWidth to the WebPage when it's created.
1125 (WebKit::WebPageProxy::setMinimumLayoutWidth):
1126 Store minimumLayoutWidth changes that come in while the WebProcess is
1127 not valid, so that the correct width is sent once it is restarted.
1129 * WebProcess/WebPage/WebPage.cpp:
1130 (WebKit::WebPage::WebPage):
1131 Set minimumLayoutWidth to the value provided by our creation parameters.
1133 2013-05-16 Zoltan Arvai <zarvai@inf.u-szeged.hu>
1135 [Win] Unreviewed buildfix after r150161.
1137 'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
1138 because it is also defined in MS SDK 7.1 winioctl.h.
1140 * UIProcess/InspectorServer/HTTPRequest.cpp:
1141 (WebKit::HTTPRequest::HTTPRequest):
1143 2013-05-16 Andras Becsi <andras.becsi@digia.com>
1145 [WK2] PluginInformation.cpp fails to build because of missing ENABLE(NETSCAPE_PLUGIN_API) guard
1146 https://bugs.webkit.org/show_bug.cgi?id=116018
1148 Rubber-stamped by Jocelyn Turcotte.
1150 * Shared/Plugins/Netscape/PluginInformation.cpp:
1151 (WebKit::getPluginModuleInformation):
1153 2013-05-15 Simon Cooper <scooper@apple.com>
1155 Enable printing in plugins
1156 https://bugs.webkit.org/show_bug.cgi?id=116201
1157 <rdar://problem/12347902>
1159 Reviewed by Alexey Proskuryakov.
1161 Add the printing entitlement so that legacy printing drivers can
1162 customize the print panel. Update the printing rules and enable them
1165 * Configurations/PluginService.entitlements:
1166 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1167 * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
1168 * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
1169 * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
1171 2013-05-15 Anders Carlsson <andersca@apple.com>
1173 Move HTTPRequest class to WebKit2
1174 https://bugs.webkit.org/show_bug.cgi?id=116192
1176 Reviewed by Darin Adler.
1178 Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
1181 * GNUmakefile.list.am:
1183 * UIProcess/InspectorServer/HTTPRequest.cpp: Renamed from Source/WebCore/platform/network/HTTPRequest.cpp.
1184 * UIProcess/InspectorServer/HTTPRequest.h: Renamed from Source/WebCore/platform/network/HTTPRequest.h.
1185 * UIProcess/InspectorServer/WebInspectorServer.cpp:
1186 * UIProcess/InspectorServer/WebInspectorServer.h:
1187 (WebInspectorServer):
1188 * UIProcess/InspectorServer/WebSocketServerClient.h:
1189 (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
1190 (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
1191 (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
1192 * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
1193 * UIProcess/InspectorServer/WebSocketServerConnection.h:
1195 (WebSocketServerConnection):
1197 2013-05-15 Arnaud Renevier <a.renevier@sisa.samsung.com>
1199 [GTK] [WebKit2] enable displaying console.log messages to system console
1200 https://bugs.webkit.org/show_bug.cgi?id=115578
1202 Reviewed by Martin Robinson.
1204 Add a setting to enable/disable displaying of page messages to system
1205 console. Property is called enable-write-console-messages-to-stdout.
1206 Getter API function is
1207 webkit_settings_get_enable_write_console_messages_to_stdout
1208 Setter API function is
1209 webkit_settings_set_enable_write_console_messages_to_stdout
1211 * UIProcess/API/gtk/WebKitSettings.cpp:
1212 (webKitSettingsSetProperty):
1213 (webKitSettingsGetProperty):
1214 (webkit_settings_class_init):
1215 (webkit_settings_get_enable_write_console_messages_to_stdout):
1216 (webkit_settings_set_enable_write_console_messages_to_stdout):
1217 * UIProcess/API/gtk/WebKitSettings.h:
1218 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1219 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1220 (testWebKitSettings):
1222 2013-05-08 Gavin Barraclough <barraclough@apple.com>
1224 Process suppression should throttle scripted animations
1225 https://bugs.webkit.org/show_bug.cgi?id=115812
1227 Reviewed by Simon Fraser.
1229 <rdar://problem/13799726>
1231 * WebProcess/WebPage/WebPage.cpp:
1232 (WebKit::WebPage::setThrottled):
1234 * WebProcess/WebPage/WebPage.h:
1236 - Added setThrottled, forwards to WebCore::Page.
1237 * WebProcess/WebProcess.cpp:
1239 (WebKit::WebProcess::setProcessSuppressionEnabled):
1240 * WebProcess/WebProcess.h:
1242 - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
1244 2013-05-15 Anders Carlsson <andersca@apple.com>
1246 WKPageGetPluginInformationDisplayNameKey doesn't return the right key
1247 https://bugs.webkit.org/show_bug.cgi?id=116188
1249 Reviewed by Andreas Kling.
1251 * UIProcess/API/C/WKPage.cpp:
1252 (WKPageGetPluginInformationDisplayNameKey):
1254 2013-05-15 Alexey Proskuryakov <ap@apple.com>
1256 More fixing after WebProcessShim renaming in r149074.
1258 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
1259 (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
1261 2013-05-15 Alexey Proskuryakov <ap@apple.com>
1263 <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
1266 Reviewed by Anders Carlsson.
1268 * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
1270 2013-05-13 Anders Carlsson <andersca@apple.com>
1272 Frame::editor() should return a reference
1273 https://bugs.webkit.org/show_bug.cgi?id=116037
1275 Reviewed by Darin Adler.
1277 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1278 (WebKit::WebContextMenuClient::searchWithGoogle):
1279 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1280 (WebKit::WebEditorClient::updateGlobalSelection):
1281 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
1282 (WebKit::WebEditorClient::handleInputMethodKeydown):
1283 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1284 (WebKit::WebEditorClient::executePendingEditorCommands):
1285 (WebKit::WebEditorClient::handleKeyboardEvent):
1286 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1287 (WebKit::WebContextMenuClient::searchWithGoogle):
1288 (WebKit::WebContextMenuClient::searchWithSpotlight):
1289 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1290 (WebKit::changeWordCase):
1291 * WebProcess/WebPage/WebFrame.cpp:
1292 (WebKit::WebFrame::selectionAsString):
1293 (WebKit::WebFrame::setTextDirection):
1294 * WebProcess/WebPage/WebPage.cpp:
1295 (WebKit::WebPage::editorState):
1296 (WebKit::WebPage::executeEditingCommand):
1297 (WebKit::WebPage::isEditingCommandEnabled):
1298 (WebKit::WebPage::validateCommand):
1299 (WebKit::WebPage::handleEditingKeyboardEvent):
1300 (WebKit::WebPage::advanceToNextMisspelling):
1301 (WebKit::WebPage::uppercaseWord):
1302 (WebKit::WebPage::lowercaseWord):
1303 (WebKit::WebPage::capitalizeWord):
1304 (WebKit::WebPage::replaceSelectionWithText):
1305 (WebKit::WebPage::handleAlternativeTextUIResult):
1306 (WebKit::WebPage::setCompositionForTesting):
1307 (WebKit::WebPage::hasCompositionForTesting):
1308 (WebKit::WebPage::confirmCompositionForTesting):
1309 (WebKit::WebPage::setComposition):
1310 (WebKit::WebPage::cancelComposition):
1311 * WebProcess/WebPage/efl/WebPageEfl.cpp:
1312 (WebKit::WebPage::confirmComposition):
1313 (WebKit::WebPage::setComposition):
1314 (WebKit::WebPage::cancelComposition):
1315 * WebProcess/WebPage/mac/WebPageMac.mm:
1316 (WebKit::WebPage::executeKeypressCommandsInternal):
1317 (WebKit::WebPage::handleEditingKeyboardEvent):
1318 (WebKit::WebPage::setComposition):
1319 (WebKit::WebPage::confirmComposition):
1320 (WebKit::WebPage::cancelComposition):
1321 (WebKit::WebPage::insertText):
1322 (WebKit::WebPage::insertDictatedText):
1323 (WebKit::WebPage::getMarkedRange):
1324 (WebKit::WebPage::firstRectForCharacterRange):
1325 (WebKit::WebPage::readSelectionFromPasteboard):
1326 (WebKit::WebPage::getStringSelectionForPasteboard):
1327 (WebKit::WebPage::getDataSelectionForPasteboard):
1329 2013-05-15 Anders Carlsson <andersca@apple.com>
1331 Need a way for NPAPI plug-ins to open preference panes
1332 https://bugs.webkit.org/show_bug.cgi?id=116173
1333 <rdar://problem/13503848>
1335 Reviewed by Sam Weinig.
1337 * PluginProcess/PluginControllerProxy.h:
1338 Add openPluginPreferencePane().
1340 * PluginProcess/mac/PluginControllerProxyMac.mm:
1341 (WebKit::PluginControllerProxy::openPluginPreferencePane):
1342 Send OpenPluginPreferencePane to the UI process.
1344 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1345 (WebKit::NetscapePluginModule::getPluginInfo):
1346 Get the preference pane path.
1348 * Shared/Plugins/PluginModuleInfo.h:
1349 Add preferencePanePath member variable.
1351 * UIProcess/Plugins/PluginProcessProxy.h:
1352 Add openPluginPreferencePane message handler.
1354 * UIProcess/Plugins/PluginProcessProxy.messages.in:
1355 ADd OpenPluginPreferencePane message.
1357 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1358 (WebKit::PluginProcessProxy::openPluginPreferencePane):
1359 Get the path to the preference pane and use LS to open it.
1361 * WebKit2.xcodeproj/project.pbxproj:
1364 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1365 (WebKit::NPN_GetValue):
1366 Handle WKNVPlugInContainer.
1368 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1369 Add WKNVPlugInContainer member variable.
1371 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1372 (WebKit::NetscapePlugin::openPluginPreferencePane):
1373 Call through to the plug-in controller.
1375 (WebKit::NetscapePlugin::plugInContainer):
1376 Create a WKNPAPIPlugInContainer object if necessary.
1378 (WebKit::NetscapePlugin::platformDestroy):
1379 Invalidate the WKNPAPIPlugInContainer object.
1381 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
1382 New file with the protocol definition.
1384 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
1385 (-[WKNPAPIPlugInContainer dealloc]):
1386 Assert that the plug-in is null (that we've been invalidated).
1388 (-[WKNPAPIPlugInContainer _invalidate]):
1389 Set the plug-in to null.
1391 (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
1392 Call through to the plug-in.
1394 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
1395 New file with the interface declaration for the object that implements the protocol.
1397 * WebProcess/Plugins/PluginController.h:
1398 Add openPluginPreferencePane member function.
1400 * WebProcess/Plugins/PluginView.cpp:
1401 (WebKit::PluginView::openPluginPreferencePane):
1402 Add stub; this should never be called since we always go through the UI process.
1404 2013-05-15 Alexey Proskuryakov <ap@apple.com>
1406 [WK2][Mac] Split resetTextInputState into two functions
1407 https://bugs.webkit.org/show_bug.cgi?id=116174
1409 Reviewed by Anders Carlsson.
1411 Splitting resetTextInputState into resetSecureInputState and
1412 notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
1413 won't be happening simultaneously.
1415 * UIProcess/API/mac/PageClientImpl.h:
1416 * UIProcess/API/mac/PageClientImpl.mm:
1417 (WebKit::PageClientImpl::resetSecureInputState):
1418 (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
1419 * UIProcess/API/mac/WKView.mm:
1420 (-[WKView resignFirstResponder]):
1421 (-[WKView _resetSecureInputState]):
1422 (-[WKView _notifyInputContextAboutDiscardedComposition]):
1423 * UIProcess/API/mac/WKViewInternal.h:
1424 * UIProcess/PageClient.h:
1425 * UIProcess/WebPageProxy.cpp:
1426 (WebKit::WebPageProxy::didCommitLoadForFrame):
1428 2013-05-15 Carlos Garcia Campos <cgarcia@igalia.com>
1430 [GTK] Add padding to all public class structs for future expansion without breaking ABI
1431 https://bugs.webkit.org/show_bug.cgi?id=112565
1433 Reviewed by Anders Carlsson.
1435 Use 4 pointers for most of the classes that are unlikely to grow
1436 and 8 for WebKitWebView and WebKitWebContext.
1438 * UIProcess/API/gtk/WebKitBackForwardList.h:
1439 (_WebKitBackForwardListClass):
1440 * UIProcess/API/gtk/WebKitBackForwardListItem.h:
1441 (_WebKitBackForwardListItemClass):
1442 * UIProcess/API/gtk/WebKitContextMenu.h:
1443 (_WebKitContextMenuClass):
1444 * UIProcess/API/gtk/WebKitContextMenuItem.h:
1445 (_WebKitContextMenuItemClass):
1446 * UIProcess/API/gtk/WebKitCookieManager.h:
1447 (_WebKitCookieManagerClass):
1448 * UIProcess/API/gtk/WebKitDownload.h:
1449 (_WebKitDownloadClass):
1450 * UIProcess/API/gtk/WebKitFaviconDatabase.h:
1451 (_WebKitFaviconDatabaseClass):
1452 * UIProcess/API/gtk/WebKitFileChooserRequest.h:
1453 (_WebKitFileChooserRequestClass):
1454 * UIProcess/API/gtk/WebKitFindController.h:
1455 (_WebKitFindControllerClass):
1456 * UIProcess/API/gtk/WebKitFormSubmissionRequest.h:
1457 (_WebKitFormSubmissionRequestClass):
1458 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h:
1459 (_WebKitGeolocationPermissionRequestClass):
1460 * UIProcess/API/gtk/WebKitHitTestResult.h:
1461 (_WebKitHitTestResultClass):
1462 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
1463 (_WebKitNavigationPolicyDecisionClass):
1464 * UIProcess/API/gtk/WebKitPlugin.h:
1465 (_WebKitPluginClass):
1466 * UIProcess/API/gtk/WebKitPolicyDecision.h:
1467 (_WebKitPolicyDecisionClass):
1468 * UIProcess/API/gtk/WebKitPrintOperation.h:
1469 (_WebKitPrintOperationClass):
1470 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
1471 (_WebKitResponsePolicyDecisionClass):
1472 * UIProcess/API/gtk/WebKitSecurityManager.h:
1473 (_WebKitSecurityManagerClass):
1474 * UIProcess/API/gtk/WebKitSettings.h:
1475 (_WebKitSettingsClass):
1476 * UIProcess/API/gtk/WebKitURIRequest.h:
1477 (_WebKitURIRequestClass):
1478 * UIProcess/API/gtk/WebKitURIResponse.h:
1479 (_WebKitURIResponseClass):
1480 * UIProcess/API/gtk/WebKitURISchemeRequest.h:
1481 (_WebKitURISchemeRequestClass):
1482 * UIProcess/API/gtk/WebKitWebContext.h:
1483 (_WebKitWebContextClass):
1484 * UIProcess/API/gtk/WebKitWebInspector.h:
1485 (_WebKitWebInspectorClass):
1486 * UIProcess/API/gtk/WebKitWebResource.h:
1487 (_WebKitWebResourceClass):
1488 * UIProcess/API/gtk/WebKitWebView.h:
1489 (_WebKitWebViewClass):
1490 * UIProcess/API/gtk/WebKitWebViewBase.h:
1491 (_WebKitWebViewBaseClass):
1492 * UIProcess/API/gtk/WebKitWebViewGroup.h:
1493 (_WebKitWebViewGroupClass):
1494 * UIProcess/API/gtk/WebKitWindowProperties.h:
1495 (_WebKitWindowPropertiesClass):
1497 2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
1499 Remove WTF_USE_PLATFORM_STRATEGIES
1500 https://bugs.webkit.org/show_bug.cgi?id=114431
1502 Reviewed by Darin Adler.
1504 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1505 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1506 * WebProcess/WebProcess.cpp:
1507 (WebKit::WebProcess::WebProcess):
1509 2013-05-14 Simon Cooper <scooper@apple.com>
1511 Add a preference that can disable the fake SYSV SHM shim
1512 https://bugs.webkit.org/show_bug.cgi?id=116127
1513 <rdar://problem/13810524>
1515 Reviewed by Alexey Proskuryakov.
1517 * PluginProcess/mac/PluginProcessShim.mm:
1518 (WebKit::shim_disabled):
1519 (WebKit::shim_shmdt):
1520 (WebKit::shim_shmat):
1521 (WebKit::shim_shmget):
1522 (WebKit::shim_shmctl):
1524 2013-05-14 Tim Horton <timothy_horton@apple.com>
1526 [wk2] Not updating tiled backing coverage when main frame scrollability changes
1527 https://bugs.webkit.org/show_bug.cgi?id=116123
1528 <rdar://problem/13836559>
1530 Reviewed by Simon Fraser.
1532 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1533 (TiledCoreAnimationDrawingArea):
1534 Add updateMainFrameClipsToExposedRect.
1536 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1537 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1538 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1539 Remove m_clipsToExposedRect. We don't actually need it.
1541 (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
1542 Call updateMainFrameClipsToExposedRect so that we can always update
1543 tiled backing coverage and can factor out our calls to setClipsToExposedRect.
1545 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
1546 Factor out setClipsToExposedRect calls to here, and also call
1547 FrameView::adjustTiledBackingCoverage so that the FrameView's tiled
1548 backing is informed to allow overdraw in the UI-process-scrolling case.
1550 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1551 Use updateMainFrameClipsToExposedRect.
1553 2013-05-14 Alexey Proskuryakov <ap@apple.com>
1555 [Mac] Add a testing shim for secure event input functions
1556 https://bugs.webkit.org/show_bug.cgi?id=116122
1558 Reviewed by Mark Rowe.
1560 Moved DyldInterpose.h to WebCore, as we now use it there too.
1562 * PluginProcess/mac/PluginProcessShim.mm:
1563 * Shared/mac/CookieStorageShimLibrary.cpp:
1564 * Shared/mac/DyldInterpose.h: Removed.
1565 * WebKit2.xcodeproj/project.pbxproj:
1566 * WebProcess/mac/SecItemShimLibrary.mm:
1568 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
1570 [Win] REGRESSION(r149944): mmap is not available on Windows
1571 https://bugs.webkit.org/show_bug.cgi?id=116015
1573 Reviewed by Anders Carlsson.
1575 Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
1576 using mmap is not necessary and maybe not available.
1578 * Platform/CoreIPC/ArgumentEncoder.cpp:
1579 (CoreIPC::allocBuffer):
1580 (CoreIPC::freeBuffer):
1581 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1582 (CoreIPC::ArgumentEncoder::grow):
1584 2013-05-14 Zan Dobersek <zdobersek@igalia.com>
1586 [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
1587 https://bugs.webkit.org/show_bug.cgi?id=115921
1589 Reviewed by Gustavo Noronha Silva.
1591 * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
1593 2013-05-14 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
1595 [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
1596 https://bugs.webkit.org/show_bug.cgi?id=116039
1598 Reviewed by Benjamin Poulain.
1600 According to the documentation, DeleteTimerQueueTimer can be expected to return
1601 false with an ERROR_IO_PENDING error when called from the timer's callback.
1603 * Platform/win/WorkQueueWin.cpp:
1604 (WorkQueue::timerCallback):
1606 2013-05-14 Alexey Proskuryakov <ap@apple.com>
1608 Remove unused "type" field from DictionaryPopupInfo
1609 https://bugs.webkit.org/show_bug.cgi?id=116011
1611 Reviewed by Darin Adler.
1613 It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
1615 * Shared/DictionaryPopupInfo.cpp:
1616 (WebKit::DictionaryPopupInfo::encode):
1617 (WebKit::DictionaryPopupInfo::decode):
1618 * Shared/DictionaryPopupInfo.h:
1619 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1620 (WebKit::PDFPlugin::showDefinitionForAttributedString):
1621 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
1622 (WebKit::WebContextMenuClient::lookUpInDictionary):
1623 * WebProcess/WebPage/WebPage.h:
1624 * WebProcess/WebPage/mac/WebPageMac.mm:
1625 (WebKit::WebPage::performDictionaryLookupAtLocation):
1626 (WebKit::WebPage::performDictionaryLookupForSelection):
1627 (WebKit::WebPage::performDictionaryLookupForRange):
1629 2013-05-14 Michael Brüning <michael.bruning@digia.com>
1631 [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
1632 https://bugs.webkit.org/show_bug.cgi?id=110218
1634 Reviewed by Darin Adler.
1636 Make the WebPageProxy::creationParameters use the accessor
1637 deviceScaleFactor() instead of using m_intrinsicDeviceScaleFactor
1638 directly. This will restore the custom device scale factor when
1639 reattaching to the WebProcess after a crash.
1641 Moreover, it will enable the Qt and ELF ports to use the
1642 existing C API for overriding the device scale factor instead
1643 of using the WebPageProxy directly or adding new C API to set
1644 the intrinsic device scale factor.
1646 * UIProcess/API/efl/EwkView.cpp:
1647 (EwkView::setDeviceScaleFactor):
1648 * UIProcess/API/qt/qquickwebpage.cpp:
1649 (QQuickWebPage::updatePaintNode):
1650 * UIProcess/WebPageProxy.cpp:
1651 (WebKit::WebPageProxy::creationParameters):
1653 2013-05-13 Alex Christensen <achristensen@apple.com>
1655 Added testRunner.setPrinting.
1656 https://bugs.webkit.org/show_bug.cgi?id=42693
1657 rdar://problem/8213845
1659 Reviewed by Darin Adler.
1661 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1662 (WKBundlePageCopyRenderTreeExternalRepresentationForPrinting): Added.
1663 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1664 Added WKBundlePageCopyRenderTreeExternalRepresentationForPrinting declaration.
1665 * WebProcess/WebPage/WebPage.cpp:
1666 (WebKit::WebPage::renderTreeExternalRepresentationForPrinting): Added.
1667 * WebProcess/WebPage/WebPage.h:
1668 Added renderTreeExternalRepresentationForPrinting declaration.
1670 2013-05-13 Timothy Hatcher <timothy@apple.com>
1672 Add support for updating the Web Inspector toolbar height.
1674 https://bugs.webkit.org/show_bug.cgi?id=115996
1676 Reviewed by Joseph Pecoraro and Benjamin Poulain.
1678 * UIProcess/WebInspectorProxy.h:
1679 (WebKit::WebInspectorProxy::setToolbarHeight):
1680 (WebInspectorProxy):
1681 * UIProcess/WebInspectorProxy.messages.in:
1682 * UIProcess/efl/WebInspectorProxyEfl.cpp:
1683 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1684 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1685 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1687 * UIProcess/mac/WebInspectorProxyMac.mm:
1688 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1689 * UIProcess/qt/WebInspectorProxyQt.cpp:
1690 (WebKit::WebInspectorProxy::platformSetToolbarHeight):
1691 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1692 (WebKit::WebInspectorFrontendClient::setToolbarHeight):
1693 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1694 (WebInspectorFrontendClient):
1695 * WebProcess/WebPage/WebInspector.cpp:
1696 (WebKit::WebInspector::setToolbarHeight):
1697 * WebProcess/WebPage/WebInspector.h:
1699 2013-05-13 Ryosuke Niwa <rniwa@webkit.org>
1701 Sometimes NSUndoManager can get into an inconsistent state
1702 https://bugs.webkit.org/show_bug.cgi?id=116050
1704 Reviewed by Enrica Casucci.
1706 Always group undo items to work around a bug in NSUndoManager that manifests
1707 when we call removeAllActionsWithTarget.
1709 * UIProcess/API/mac/PageClientImpl.mm:
1710 (WebKit::PageClientImpl::registerEditCommand):
1712 2013-05-13 Anders Carlsson <andersca@apple.com>
1714 [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
1715 https://bugs.webkit.org/show_bug.cgi?id=116026
1717 Reviewed by Andreas Kling.
1719 Make sure that we ignore any leftover messages from the UI process after we've reset
1720 the storage map. Achieve this by keeping a seed count in the StorageAreaMap object that's incremented
1721 everytime the map is reset. Associate every storage area change with the seed and ignore any incoming
1722 notification messages from the UI process if the seeds are different.
1724 * Platform/CoreIPC/HandleMessage.h:
1726 (CoreIPC::callMemberFunction):
1727 * UIProcess/Storage/StorageManager.cpp:
1728 (WebKit::StorageManager::getValues):
1729 (WebKit::StorageManager::setItem):
1730 (WebKit::StorageManager::removeItem):
1731 (WebKit::StorageManager::clear):
1732 * UIProcess/Storage/StorageManager.h:
1734 * UIProcess/Storage/StorageManager.messages.in:
1735 * WebProcess/Storage/StorageAreaMap.cpp:
1736 (WebKit::StorageAreaMap::StorageAreaMap):
1737 (WebKit::StorageAreaMap::setItem):
1738 (WebKit::StorageAreaMap::removeItem):
1739 (WebKit::StorageAreaMap::clear):
1740 (WebKit::StorageAreaMap::resetValues):
1741 (WebKit::StorageAreaMap::loadValuesIfNeeded):
1742 (WebKit::StorageAreaMap::didGetValues):
1743 (WebKit::StorageAreaMap::didSetItem):
1744 (WebKit::StorageAreaMap::didRemoveItem):
1745 (WebKit::StorageAreaMap::didClear):
1746 (WebKit::StorageAreaMap::applyChange):
1747 * WebProcess/Storage/StorageAreaMap.h:
1749 * WebProcess/Storage/StorageAreaMap.messages.in:
1751 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1753 [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
1754 https://bugs.webkit.org/show_bug.cgi?id=116045
1756 Reviewed by Darin Adler.
1758 * UIProcess/CoordinatedGraphics/WebView.cpp:
1759 (WebKit::WebView::setSize):
1761 2013-05-13 Jon Lee <jonlee@apple.com>
1763 [WK2] Notification manager removal should not be tied to termination of web processes
1764 https://bugs.webkit.org/show_bug.cgi?id=116038
1765 <rdar://problem/10968680>
1767 Reviewed by Ryosuke Niwa.
1769 WebNotificationManagerProxy incorrectly removes the manager when web processes close.
1770 Since it is a supplemental on the web context, the manager should only be removed
1771 when the context is destroyed.
1773 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1774 * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
1777 2013-05-13 Martin Robinson <mrobinson@igalia.com>
1779 [GTK] [WebKit2] Use a template file for generated GObject enum files
1780 https://bugs.webkit.org/show_bug.cgi?id=115867
1782 Reviewed by Carlos Garcia Campos.
1784 * GNUmakefile.am: Use a template file instead of specifying portions of the file on the command-line.
1785 * UIProcess/API/gtk/WebKitEnumTypes.cpp.template: Added.
1786 * UIProcess/API/gtk/WebKitEnumTypes.h.template: Added.
1787 * UIProcess/API/gtk/WebKitFindController.cpp: We can no longer rely on WebKitEnumTypes.h to pull in WebKitWebView.h.
1789 2013-05-13 Noam Rosenthal <noam@webkit.org>
1791 [CoordGfx] requestAnimationFrame performance issues
1792 https://bugs.webkit.org/show_bug.cgi?id=112345
1794 Reviewed by Jocelyn Turcotte.
1796 Changed the logic of requestAnimationFrame in Coordinated Graphics.
1797 We don't send any IPC messages for requestAnimationFrame. Instead, we do one of two things:
1798 - If there is already a frame pending in the UI process, do nothing, as the animations would
1799 be serviced when the frame is returned to the web process.
1800 - If there is no frame pending, we schedule a flush, making sure that that flush occurs at
1801 least 1/60 seconds after the last animation service, so that we don't get an infinite loop
1804 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1805 (WebKit::CoordinatedLayerTreeHostProxy::requestAnimationFrame):
1806 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1807 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1808 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1809 (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
1810 (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
1811 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1812 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
1814 2013-05-13 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
1816 [WK2][CoordinatedGraphics] WKView needs API for handling opacity
1817 https://bugs.webkit.org/show_bug.cgi?id=116032
1819 Reviewed by Kenneth Rohde Christiansen.
1821 Add WKViewSetOpacity and WKViewOpacity APIs and use them in
1824 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1827 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
1828 * UIProcess/CoordinatedGraphics/WebView.cpp:
1829 (WebKit::WebView::WebView):
1830 (WebKit::WebView::paintToCurrentGLContext):
1831 * UIProcess/CoordinatedGraphics/WebView.h:
1832 (WebKit::WebView::setOpacity):
1833 (WebKit::WebView::opacity):
1836 2013-05-13 Zan Dobersek <zdobersek@igalia.com>
1838 [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
1839 https://bugs.webkit.org/show_bug.cgi?id=115918
1841 Reviewed by Gustavo Noronha Silva.
1843 Due to layer violations and circular dependencies the WebKitPluginProcess requires for the
1844 libraries containing the built code of the intertwining Platform and WebCore layers to be
1845 specified multiple times when linking. This can be avoided by packing the two layers' archives
1846 into one big archive, named after the WebCore layer due to no clear boundary between it and the
1847 Platform layer. The big archive can then be specified only once when linking, simplifying the code
1848 and suppressing all the layering violations so they do not cause build problems.
1850 First the libtool libraries that the WebCore layer (as required by the WebKitPluginProcess) depends on
1851 are specified. These are then used as dependencies for the archive creation rule as well as the list
1852 from which the archive file paths are constructed and then used to dump the member files from these archives.
1853 The member files are then added to the big archive. The latter is added to the list of libraries the
1854 WebKitPluginProcess requires to successfully link.
1858 2013-05-13 Zalan Bujtas <zalan@apple.com>
1860 WebProcess consuming very high CPU on linkedin.com
1861 https://bugs.webkit.org/show_bug.cgi?id=115601
1863 Reviewed by Andreas Kling.
1865 Disable WEB_TIMING_MINIMAL.
1866 Turn off window.performance and performance.now(). Some JS frameworks expect
1867 additional Web Timing APIs, when performance.now() is available.
1869 * Configurations/FeatureDefines.xcconfig:
1871 2013-05-12 Anders Carlsson <andersca@apple.com>
1873 Stop including UnusedParam.h
1874 https://bugs.webkit.org/show_bug.cgi?id=116003
1876 Reviewed by Sam Weinig.
1878 UnusedParam.h is empty now so there's no need to include it anymore.
1880 * UIProcess/API/C/WKContext.cpp:
1881 * UIProcess/API/C/WKInspector.cpp:
1882 * UIProcess/API/C/WKPage.cpp:
1883 * UIProcess/API/efl/ewk_text_checker.cpp:
1884 * UIProcess/API/efl/ewk_view.cpp:
1885 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1886 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1887 * UIProcess/mac/WKFullScreenWindowController.mm:
1888 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1889 * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1891 2013-05-12 Andreas Kling <akling@apple.com>
1893 Unload event listeners should prevent Safari from insta-killing the web process on last tab close.
1894 <http://webkit.org/b/115988>
1895 <rdar://problem/13870943>
1897 Reviewed by Anders Carlsson.
1899 Let WebCore control the UI process's suppression of the sudden termination mechanism.
1900 This is implemented by having WebChromeClient push Enable/DisableSuddenTermination messages
1901 over to the UI process where the appropriate NSProcessInfo calls are made.
1903 We also use this information when deciding whether to insta-kill a web process when its last
1904 page is closed. This mechanism is re-usable in WebCore to protect against sudden termination
1907 * UIProcess/WebProcessProxy.cpp:
1908 (WebKit::WebProcessProxy::WebProcessProxy):
1909 (WebKit::WebProcessProxy::removeWebPage):
1910 (WebKit::WebProcessProxy::enableSuddenTermination):
1911 (WebKit::WebProcessProxy::disableSuddenTermination):
1912 * UIProcess/WebProcessProxy.h:
1914 * UIProcess/WebProcessProxy.messages.in:
1915 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1916 (WebKit::WebChromeClient::enableSuddenTermination):
1917 (WebKit::WebChromeClient::disableSuddenTermination):
1918 * WebProcess/WebCoreSupport/WebChromeClient.h:
1921 2013-05-12 Alexey Proskuryakov <ap@apple.com>
1923 <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
1925 Reviewed by Dan Bernstein.
1927 * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
1929 2013-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
1931 [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
1932 https://bugs.webkit.org/show_bug.cgi?id=115914
1934 Reviewed by Martin Robinson.
1936 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1937 (webkitWebViewBaseRealize):
1939 2013-05-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
1941 Unreviewed build fix after r149944.
1943 * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
1945 2013-05-11 Anders Carlsson <andersca@apple.com>
1947 Don't pass malloced pointers as out-of-line data when sending Mach messages
1948 https://bugs.webkit.org/show_bug.cgi?id=115970
1949 <rdar://problem/13144680>
1951 Reviewed by Sam Weinig.
1953 Give ArgumentEncoder an inline buffer of 512 bytes. If we need more than that, use mmap to allocate data
1954 since that gives us fresh zero-filled memory that we can safely share.
1956 * Platform/CoreIPC/ArgumentEncoder.cpp:
1957 (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1958 Set up the buffer pointers to point to the inline buffer.
1960 (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1961 Unmap the buffer if necessary.
1963 (CoreIPC::ArgumentEncoder::grow):
1964 Grow the allocation exponentially, rounded up to the nearest page. This is a simplification from the
1965 current strategy, but most messages are either tiny in which case they will fit inside the inline buffer,
1966 or big in which case we'll end up doing less allocations + memory copying.
1968 * Platform/CoreIPC/ArgumentEncoder.h:
1971 2013-05-11 Zan Dobersek <zdobersek@igalia.com>
1973 Unreviewed GTK build fix after r149904.
1975 * GNUmakefile.list.am: Adding missing build targets.
1977 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1979 Unreviewed, Fix WK2 EFL build after r149904.
1981 Add new PluginInformation.cpp file to CMake.
1985 2013-05-11 Christophe Dumez <ch.dumez@sisa.samsung.com>
1987 Unreviewed, fix WK2 EFL build after r149904.
1989 Add new WKPluginInformation.cpp file to CMake.
1993 2013-05-11 Andreas Kling <akling@apple.com>
1995 When possible, terminate web processes immediately when closing their last page.
1996 <http://webkit.org/b/115964>
1997 <rdar://problem/13869266>
1999 Reviewed by Geoffrey Garen.
2001 When we're using a network process, there's no need for the UI process to wait for web processes
2002 to clear resource caches and terminate nicely.
2004 We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
2006 * UIProcess/WebProcessProxy.cpp:
2007 (WebKit::WebProcessProxy::removeWebPage):
2009 Terminate the child process immediately if possible.
2011 * UIProcess/WebProcessProxy.h:
2012 (WebKit::WebProcessProxy::canTerminateChildProcess):
2013 (WebKit::WebProcessProxy::shouldTerminate):
2015 Broke out the logic from the shouldTerminate() IPC message handler into a separate function
2016 so we can call it from removeWebPage().
2018 2013-05-11 Anders Carlsson <andersca@apple.com>
2020 Crash when terminating a process that has not been fully launched
2021 https://bugs.webkit.org/show_bug.cgi?id=115962
2022 <rdar://problem/13660916>
2024 Reviewed by Andreas Kling.
2026 Handle terminating a process that has not been fully launched.
2028 * UIProcess/Launcher/ProcessLauncher.cpp:
2029 (WebKit::ProcessLauncher::didFinishLaunchingProcess):
2030 If we have been invalidated, dispose the connection identifier.
2032 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2033 (WebKit::ProcessLauncher::terminateProcess):
2034 If we're still launching the process, invalidate so the client won't get an unexpected
2035 didFinishLaunching callback.
2037 * UIProcess/WebProcessProxy.cpp:
2038 (WebKit::WebProcessProxy::requestTermination):
2039 Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched).
2041 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
2043 Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
2044 https://bugs.webkit.org/show_bug.cgi?id=115564
2046 Reviewed by Benjamin Poulain.
2048 Implement InspectorFrontendHost's save() and append() methods for
2049 Mac WebKit2. Add canSave() for all ports.
2051 * UIProcess/WebInspectorProxy.cpp:
2052 (WebKit::WebInspectorProxy::save):
2054 (WebKit::WebInspectorProxy::append):
2055 * UIProcess/WebInspectorProxy.h:
2056 (WebInspectorProxy):
2057 * UIProcess/WebInspectorProxy.messages.in:
2058 * UIProcess/efl/WebInspectorProxyEfl.cpp:
2059 (WebKit::WebInspectorProxy::platformSave):
2061 (WebKit::WebInspectorProxy::platformAppend):
2062 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2063 (WebKit::WebInspectorProxy::platformSave):
2065 (WebKit::WebInspectorProxy::platformAppend):
2066 * UIProcess/mac/WebInspectorProxyMac.mm:
2067 (WebKit::WebInspectorProxy::platformSave):
2069 (WebKit::WebInspectorProxy::platformAppend):
2070 * UIProcess/qt/WebInspectorProxyQt.cpp:
2071 (WebKit::WebInspectorProxy::platformSave):
2073 (WebKit::WebInspectorProxy::platformAppend):
2074 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
2075 (WebKit::WebInspectorFrontendClient::canSave):
2077 (WebKit::WebInspectorFrontendClient::save):
2078 (WebKit::WebInspectorFrontendClient::append):
2079 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
2080 (WebInspectorFrontendClient):
2081 * WebProcess/WebPage/WebInspector.cpp:
2082 (WebKit::WebInspector::save):
2084 (WebKit::WebInspector::append):
2085 (WebKit::WebInspector::didSave):
2086 (WebKit::WebInspector::didAppend):
2087 * WebProcess/WebPage/WebInspector.h:
2089 * WebProcess/WebPage/WebInspector.messages.in:
2090 * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
2091 (WebKit::WebInspector::canSave):
2093 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
2094 (WebKit::WebInspector::canSave):
2096 * WebProcess/WebPage/mac/WebInspectorMac.mm:
2097 (WebKit::WebInspector::canSave):
2099 * WebProcess/WebPage/qt/WebInspectorQt.cpp:
2100 (WebKit::WebInspector::canSave):
2103 2013-05-10 Remy Demarest <rdemarest@apple.com>
2105 Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
2106 https://bugs.webkit.org/show_bug.cgi?id=115940
2108 Reviewed by Darin Adler.
2110 * WebKit2.xcodeproj/project.pbxproj:
2111 Move WKPluginInformation.h file from the framework's Project Headers to
2114 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2116 [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
2120 2013-05-10 Simon Cooper <scooper@apple.com>
2122 Fix AppleConnect issues for WiFi interfaces
2123 <rdar://problem/13776227&13776240&13776281>
2124 https://bugs.webkit.org/show_bug.cgi?id=115932
2126 Reviewed by Alexey Proskuryakov.
2128 Add support for WiFi interfaces for the AppleConnect plugin.
2131 * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2133 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2135 [Qt][Mac] Unreviewed speculative build fix after r149904.
2139 2013-05-10 Zoltan Arvai <zarvai@inf.u-szeged.hu>
2141 [Qt] Unreviewed buildfix after r149904.
2145 2013-05-09 Sam Weinig <sam@webkit.org>
2147 Unify plug-in information dictionaries
2148 <rdar://problem/13852080>
2149 https://bugs.webkit.org/show_bug.cgi?id=115891
2151 Reviewed by Anders Carlsson.
2153 This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
2154 and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
2156 All the old keys will continue to work, but have been deprecated in favor of new keys defined in
2157 WKPluginInformation.h
2159 * Shared/API/c/WKPluginInformation.cpp: Added.
2160 * Shared/API/c/WKPluginInformation.h: Added.
2161 Export new keys as SPI.
2163 * Shared/Plugins/Netscape/PluginInformation.h: Added.
2164 * Shared/Plugins/Netscape/PluginInformation.cpp: Added.
2165 (WebKit::pluginInformationBundleIdentifierKey):
2166 (WebKit::pluginInformationBundleVersionKey):
2167 (WebKit::pluginInformationPathKey):
2168 (WebKit::pluginInformationDisplayNameKey):
2169 (WebKit::pluginInformationDefaultLoadPolicyKey):
2170 (WebKit::pluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey):
2171 (WebKit::pluginInformationHasSandboxProfileKey):
2172 (WebKit::pluginInformationFrameURLKey):
2173 (WebKit::pluginInformationMIMETypeKey):
2174 (WebKit::pluginInformationPageURLKey):
2175 (WebKit::pluginInformationPluginspageAttributeURLKey):
2176 (WebKit::pluginInformationPluginURLKey):
2179 (WebKit::pluginModuleInformation):
2180 (WebKit::createPluginInformationDictionary):
2181 Add creation functions to simplify multiple sites.
2183 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
2184 (WebKit::platformPluginModuleInformation):
2185 Add platform specific data to the dictionary.
2187 * UIProcess/API/C/WKPage.cpp:
2188 (WKPageGetPluginInformationBundleIdentifierKey):
2189 (WKPageGetPluginInformationBundleVersionKey):
2190 (WKPageGetPluginInformationDisplayNameKey):
2191 (WKPageGetPluginInformationFrameURLKey):
2192 (WKPageGetPluginInformationMIMETypeKey):
2193 (WKPageGetPluginInformationPageURLKey):
2194 (WKPageGetPluginInformationPluginspageAttributeURLKey):
2195 (WKPageGetPluginInformationPluginURLKey):
2196 * UIProcess/API/C/WKPage.h:
2197 Deprecate the old keys.
2199 * UIProcess/API/C/mac/WKContextPrivateMac.h:
2200 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2201 (WKContextCopyPlugInInfoForBundleIdentifier):
2202 (WKContextGetInfoForInstalledPlugIns):
2203 Simplify by using the new createPluginInformationDictionary functions.
2205 (WKPlugInInfoPathKey):
2206 (WKPlugInInfoBundleIdentifierKey):
2207 (WKPlugInInfoVersionKey):
2208 (WKPlugInInfoLoadPolicyKey):
2209 (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
2210 (WKPlugInInfoIsSandboxedKey):
2211 Deprecate the old keys.
2213 * UIProcess/WebLoaderClient.cpp:
2214 (WebKit::WebLoaderClient::didFailToInitializePlugin):
2215 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
2216 (WebKit::WebLoaderClient::pluginLoadPolicy):
2217 * UIProcess/WebLoaderClient.h:
2218 * UIProcess/WebUIClient.cpp:
2219 (WebKit::WebUIClient::unavailablePluginButtonClicked):
2220 * UIProcess/WebUIClient.h:
2221 Optimize for the most recent callback type which takes a dictionary,
2222 and pull out the necessary bits from it for deprecated callbacks as necessary.
2224 * UIProcess/WebPageProxy.h:
2225 * UIProcess/WebPageProxy.cpp:
2226 (WebKit::WebPageProxy::findPlugin):
2227 (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2228 (WebKit::WebPageProxy::didFailToInitializePlugin):
2229 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
2230 Use createPluginInformationDictionary() consistently, to get consistent results for callbacks.
2232 * WebKit2.xcodeproj/project.pbxproj:
2235 2013-05-10 Brian J. Burg <burg@cs.washington.edu>
2237 Web Inspector: implement runOpenPanel callback for WebKit2 inspector
2238 https://bugs.webkit.org/show_bug.cgi?id=115865
2240 Reviewed by Sam Weinig.
2242 * UIProcess/WebInspectorProxy.h:
2243 (WebKit::WebInspectorProxy::inspectorWindow):
2244 Add an accessor for m_inspectorWindow.
2246 * UIProcess/mac/WebInspectorProxyMac.mm:
2247 (WebKit::runOpenPanel):
2248 Show the open panel dialog when requested.
2250 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2251 Register the callback when the inspector page is created.
2253 2013-05-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2255 [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
2256 https://bugs.webkit.org/show_bug.cgi?id=115928
2258 Reviewed by Kenneth Rohde Christiansen.
2260 WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
2262 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2263 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
2264 * UIProcess/API/C/efl/WKViewEfl.cpp:
2265 (WKViewSetThemePath):
2266 * UIProcess/API/C/efl/WKViewEfl.h:
2267 * UIProcess/CoordinatedGraphics/WebView.cpp:
2268 * UIProcess/CoordinatedGraphics/WebView.h:
2270 * UIProcess/efl/ViewClientEfl.cpp:
2271 * UIProcess/efl/WebInspectorProxyEfl.cpp:
2272 * UIProcess/efl/WebViewEfl.cpp:
2273 (WebKit::WebViewEfl::setThemePath):
2274 * UIProcess/efl/WebViewEfl.h:
2277 2013-05-10 Jer Noble <jer.noble@apple.com>
2279 REGRESSION (r149439): Video turns blank upon entering full screen for the first time
2280 https://bugs.webkit.org/show_bug.cgi?id=115617
2282 Reviewed by Eric Carlson.
2284 Partially revert the change introduced in r149439 for OS X 10.8 and previous. On these
2285 platforms, create a window with a NSZeroSize initial frame, which fixes the "blank"
2286 first-full screen behavior.
2288 * UIProcess/API/mac/WKView.mm:
2289 (-[WKView createFullScreenWindow]):
2291 2013-05-10 Zan Dobersek <zdobersek@igalia.com>
2293 [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
2294 https://bugs.webkit.org/show_bug.cgi?id=115717
2296 Reviewed by Andreas Kling.
2298 WebSoupRequestManager should inherit from WebProcessSupplement and should be used as such
2299 by the WebProcess. This removes the need for the m_soupRequestManager member variable in
2300 the WebProcess class and brings the WebSoupRequestManager in line with other manager classes
2301 of which instances are controlled by the WebProcess class.
2303 * WebProcess/WebProcess.cpp:
2304 (WebKit::WebProcess::WebProcess): Add the WebSoupRequestManager as a supplement.
2305 * WebProcess/WebProcess.h:
2306 (WebProcess): Remove the m_soupRequestManager member variable and its getter method.
2307 * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2308 (webkitSoupRequestGenericSendAsync): Access the WebSoupRequestManager as a supplement.
2309 (webkitSoupRequestGenericSendFinish): Ditto.
2310 * WebProcess/soup/WebProcessSoup.cpp:
2311 (WebKit::WebProcess::platformInitializeWebProcess): Access the WebSoupRequestManager as a supplement.
2312 * WebProcess/soup/WebSoupRequestManager.cpp:
2313 (WebKit::WebSoupRequestManager::supplementName): Specify the supplement's name.
2314 * WebProcess/soup/WebSoupRequestManager.h:
2315 (WebSoupRequestManager): Inherit from the WebProcessSupplement interface.
2317 2013-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
2319 [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2320 https://bugs.webkit.org/show_bug.cgi?id=115904
2322 Reviewed by Martin Robinson.
2324 * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2325 (startTestServerMonitor):
2326 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
2327 (startTestServerMonitor):
2329 2013-05-09 Anders Carlsson <andersca@apple.com>
2333 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2335 2013-05-09 Anders Carlsson <andersca@apple.com>
2337 Enable UI process storage
2338 https://bugs.webkit.org/show_bug.cgi?id=115879
2339 <rdar://problem/12239765>
2341 Reviewed by Beth Dakin.
2343 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2346 2013-05-09 Anders Carlsson <andersca@apple.com>
2348 Remove extra spaces between right angle brackets in template declarations
2349 https://bugs.webkit.org/show_bug.cgi?id=115877
2351 Reviewed by Beth Dakin.
2353 C++11 doesn't require spaces between right angle brackets so remove all of them.
2355 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2356 (WebKit::NetworkBlobRegistry::registerBlobURL):
2357 (WebKit::NetworkBlobRegistry::sandboxExtensions):
2358 * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
2359 (NetworkBlobRegistry):
2360 * NetworkProcess/HostRecord.h:
2362 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2363 (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
2364 (WebKit::NetworkConnectionToWebProcess::didClose):
2365 (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
2366 * NetworkProcess/NetworkConnectionToWebProcess.h:
2367 (NetworkConnectionToWebProcess):
2368 * NetworkProcess/NetworkProcess.h:
2370 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2371 (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
2372 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
2373 * NetworkProcess/NetworkResourceLoadScheduler.h:
2374 * NetworkProcess/SchedulableLoader.cpp:
2375 (WebKit::SchedulableLoader::SchedulableLoader):
2376 * NetworkProcess/SchedulableLoader.h:
2377 (SchedulableLoader):
2378 * Platform/CoreIPC/ArgumentCoders.h:
2379 * Platform/CoreIPC/Connection.cpp:
2380 (Connection::SyncMessageState):
2381 (CoreIPC::Connection::waitForMessage):
2382 (CoreIPC::Connection::processIncomingMessage):
2383 * Platform/CoreIPC/Connection.h:
2385 * Platform/WorkQueue.h:
2387 * PluginProcess/PluginProcess.h:
2389 * Scripts/webkit2/messages_unittest.py:
2391 * Shared/BlockingResponseMap.h:
2392 (BlockingResponseMap):
2393 * Shared/ChildProcessProxy.h:
2394 (ChildProcessProxy):
2395 * Shared/ImmutableArray.cpp:
2396 (WebKit::ImmutableArray::ImmutableArray):
2397 * Shared/ImmutableArray.h:
2398 (WebKit::ImmutableArray::adopt):
2400 * Shared/ImmutableDictionary.cpp:
2401 (WebKit::ImmutableDictionary::keys):
2402 * Shared/ImmutableDictionary.h:
2403 (ImmutableDictionary):
2404 * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2405 (CustomProtocolManager):
2406 * Shared/SecurityOriginData.cpp:
2407 (WebKit::performAPICallbackWithSecurityOriginDataVector):
2408 * Shared/SessionState.cpp:
2409 * Shared/StatisticsData.h:
2411 * Shared/UserMessageCoders.h:
2412 (WebKit::UserMessageDecoder::baseDecode):
2413 * Shared/WebArchive.cpp:
2414 (WebKit::WebArchive::WebArchive):
2415 (WebKit::WebArchive::subresources):
2416 (WebKit::WebArchive::subframeArchives):
2417 * Shared/WebContextMenuItem.cpp:
2418 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
2419 * Shared/WebOpenPanelParameters.cpp:
2420 (WebKit::WebOpenPanelParameters::acceptMIMETypes):
2421 (WebKit::WebOpenPanelParameters::selectedFileNames):
2422 * Shared/mac/ArgumentCodersMac.mm:
2424 * SharedWorkerProcess/SharedWorkerProcess.h:
2425 (SharedWorkerProcess):
2426 * UIProcess/API/mac/WKPrintingView.h:
2428 * UIProcess/API/mac/WKPrintingView.mm:
2429 (-[WKPrintingView _drawPreview:]):
2430 * UIProcess/API/mac/WKView.mm:
2432 * UIProcess/Downloads/DownloadProxyMap.cpp:
2433 (WebKit::DownloadProxyMap::processDidClose):
2434 * UIProcess/Downloads/DownloadProxyMap.h:
2436 * UIProcess/GeolocationPermissionRequestManagerProxy.h:
2437 (GeolocationPermissionRequestManagerProxy):
2438 * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
2439 (DynamicLinkerEnvironmentExtractor):
2440 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2441 (CustomProtocolManagerProxy):
2442 * UIProcess/Network/NetworkProcessProxy.h:
2443 (NetworkProcessProxy):
2444 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
2445 (NotificationPermissionRequestManagerProxy):
2446 * UIProcess/Notifications/WebNotificationManagerProxy.h:
2447 (WebNotificationManagerProxy):
2448 * UIProcess/Plugins/PluginProcessManager.h:
2449 (PluginProcessManager):
2450 * UIProcess/Plugins/PluginProcessProxy.h:
2451 (PluginProcessProxy):
2452 * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
2453 (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
2454 * UIProcess/Plugins/WebPluginSiteDataManager.h:
2455 (WebPluginSiteDataManager):
2456 * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
2457 (SharedWorkerProcessManager):
2458 * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
2459 (SharedWorkerProcessProxy):
2460 * UIProcess/StatisticsRequest.cpp:
2461 (WebKit::StatisticsRequest::completedRequest):
2462 * UIProcess/Storage/StorageManager.cpp:
2463 (StorageManager::StorageArea):
2464 (WebKit::StorageManager::StorageArea::dispatchEvents):
2465 (StorageManager::SessionStorageNamespace):
2466 (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
2467 (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
2468 (WebKit::StorageManager::createLocalStorageMap):
2469 (WebKit::StorageManager::createSessionStorageMap):
2470 (WebKit::StorageManager::destroyStorageMap):
2471 (WebKit::StorageManager::invalidateConnectionInternal):
2472 (WebKit::StorageManager::findStorageArea):
2473 (WebKit::StorageManager::getOrCreateLocalStorageNamespace):
2474 * UIProcess/Storage/StorageManager.h:
2476 * UIProcess/WebApplicationCacheManagerProxy.h:
2477 (WebApplicationCacheManagerProxy):
2478 * UIProcess/WebBackForwardList.cpp:
2479 (WebKit::WebBackForwardList::addItem):
2480 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
2481 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
2482 (WebKit::WebBackForwardList::clear):
2483 * UIProcess/WebBackForwardList.h:
2485 * UIProcess/WebContext.cpp:
2486 (WebKit::WebContext::createNewWebProcess):
2487 (WebKit::WebContext::enableProcessTermination):
2488 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
2489 * UIProcess/WebContext.h:
2491 * UIProcess/WebCookieManagerProxy.cpp:
2492 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
2493 * UIProcess/WebCookieManagerProxy.h:
2494 (WebCookieManagerProxy):
2495 * UIProcess/WebDatabaseManagerProxy.cpp:
2496 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
2497 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
2498 * UIProcess/WebDatabaseManagerProxy.h:
2499 (WebDatabaseManagerProxy):
2500 * UIProcess/WebFormClient.cpp:
2501 (WebKit::WebFormClient::willSubmitForm):
2502 * UIProcess/WebFormClient.h:
2504 * UIProcess/WebKeyValueStorageManagerProxy.h:
2505 (WebKeyValueStorageManagerProxy):
2506 * UIProcess/WebLoaderClient.cpp:
2507 (WebKit::WebLoaderClient::didChangeBackForwardList):
2508 * UIProcess/WebLoaderClient.h:
2510 * UIProcess/WebMediaCacheManagerProxy.cpp:
2511 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
2512 * UIProcess/WebMediaCacheManagerProxy.h:
2513 (WebMediaCacheManagerProxy):
2514 * UIProcess/WebPageContextMenuClient.cpp:
2515 (WebKit::WebPageContextMenuClient::showContextMenu):
2516 * UIProcess/WebPageProxy.cpp:
2517 (ExceededDatabaseQuotaRecords):
2518 (WebKit::WebPageProxy::relatedPages):
2519 (WebKit::WebPageProxy::didChangeBackForwardList):
2520 (WebKit::WebPageProxy::handleWheelEvent):
2521 (WebKit::WebPageProxy::processNextQueuedWheelEvent):
2522 (WebKit::WebPageProxy::findStringMatches):
2523 (WebKit::WebPageProxy::willSubmitForm):
2524 (WebKit::WebPageProxy::pluginInformationDictionary):
2525 (WebKit::WebPageProxy::didFindStringMatches):
2526 (WebKit::WebPageProxy::didReceiveEvent):
2527 * UIProcess/WebPageProxy.h:
2529 * UIProcess/WebPageProxy.messages.in:
2530 * UIProcess/WebProcessProxy.cpp:
2531 (WebKit::WebProcessProxy::disconnect):
2532 (WebKit::WebProcessProxy::didClose):
2533 (WebKit::WebProcessProxy::didBecomeUnresponsive):
2534 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
2535 (WebKit::WebProcessProxy::didBecomeResponsive):
2536 (WebKit::WebProcessProxy::disconnectFramesFromPage):
2537 (WebKit::WebProcessProxy::frameCountInPage):
2538 * UIProcess/WebProcessProxy.h:
2540 * UIProcess/WebResourceCacheManagerProxy.h:
2541 (WebResourceCacheManagerProxy):
2542 * UIProcess/mac/WebContextMenuProxyMac.mm:
2543 (WebKit::populateNSMenu):
2544 (WebKit::nsMenuItemVector):
2545 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
2546 (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
2547 * WebProcess/Geolocation/WebGeolocationManager.cpp:
2548 (WebKit::WebGeolocationManager::didChangePosition):
2549 (WebKit::WebGeolocationManager::didFailToDeterminePosition):
2550 * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2551 (WebIconDatabaseProxy):
2552 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2553 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2554 (WebKit::InjectedBundle::originsWithApplicationCache):
2555 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
2556 (WebKit::InjectedBundleBackForwardListItem::children):
2557 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
2558 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
2559 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
2560 (InjectedBundlePageEditorClient):
2561 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
2562 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
2563 (WebKit::InjectedBundlePageFormClient::willSubmitForm):
2564 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
2565 (InjectedBundlePageFormClient):
2566 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2567 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
2568 * WebProcess/Network/WebResourceLoadScheduler.cpp:
2569 (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired):
2570 (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
2571 * WebProcess/Network/WebResourceLoadScheduler.h:
2572 (WebResourceLoadScheduler):
2573 * WebProcess/Notifications/NotificationPermissionRequestManager.h:
2574 (NotificationPermissionRequestManager):
2575 * WebProcess/Notifications/WebNotificationManager.h:
2576 (WebNotificationManager):
2577 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2578 (WebKit::NPRuntimeObjectMap::invalidate):
2579 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
2580 (NPRuntimeObjectMap):
2581 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2582 (WebKit::NetscapePlugin::stopAllStreams):
2583 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2585 * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
2586 (NetscapePluginStream):
2587 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2588 (getAllScriptsInPDFDocument):
2589 (WebKit::SimplePDFPlugin::runScriptsInPDFDocument):
2590 * WebProcess/Plugins/PluginProcessConnectionManager.h:
2591 (PluginProcessConnectionManager):
2592 * WebProcess/Plugins/PluginView.cpp:
2593 (WebKit::PluginView::cancelAllStreams):
2594 * WebProcess/Plugins/PluginView.h:
2596 * WebProcess/Storage/StorageAreaMap.cpp:
2597 (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
2598 (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
2599 * WebProcess/Storage/StorageNamespaceImpl.cpp:
2600 (WebKit::StorageNamespaceImpl::storageArea):
2601 * WebProcess/Storage/StorageNamespaceImpl.h:
2602 (StorageNamespaceImpl):
2603 * WebProcess/Storage/WebKeyValueStorageManager.cpp:
2604 (WebKit::keyValueStorageOriginIdentifiers):
2605 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
2606 (WebKit::WebDatabaseManager::getDatabasesByOrigin):
2607 (WebKit::WebDatabaseManager::getDatabaseOrigins):
2608 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2609 (WebKit::WebEditorClient::getClientPasteboardDataForRange):
2610 * WebProcess/WebCoreSupport/WebEditorClient.h:
2611 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2612 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2613 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2614 (WebKit::WebEditorClient::documentFragmentFromAttributedString):
2615 * WebProcess/WebPage/EventDispatcher.h:
2617 * WebProcess/WebPage/FindController.cpp:
2618 (WebKit::FindController::findStringMatches):
2619 * WebProcess/WebPage/FindController.h:
2621 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2623 * WebProcess/WebPage/WebFrame.cpp:
2624 (WebKit::WebFrame::childFrames):
2625 * WebProcess/WebPage/WebPage.cpp:
2626 (WebKit::WebPage::trackedRepaintRects):
2627 * WebProcess/WebPage/WebPage.h:
2630 * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2631 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2632 (TiledCoreAnimationDrawingArea):
2633 * WebProcess/WebProcess.cpp:
2634 (WebKit::WebProcess::visitedLinkStateChanged):
2635 (WebKit::WebProcess::allVisitedLinkStateChanged):
2636 (WebKit::WebProcess::focusedWebPage):
2637 (WebKit::WebProcess::createWebPage):
2638 (WebKit::WebProcess::didClose):
2639 (WebKit::WebProcess::webPageGroup):
2640 (WebKit::addCaseFoldedCharacters):
2641 (WebKit::getWebCoreMemoryCacheStatistics):
2642 (WebKit::WebProcess::setTextCheckerState):
2643 * WebProcess/WebProcess.h:
2646 2013-05-09 Anders Carlsson <andersca@apple.com>
2648 Implement WebPlatformStrategies::transientLocalStorageNamespace
2649 https://bugs.webkit.org/show_bug.cgi?id=115876
2650 <rdar://problem/13852871>
2652 Reviewed by Beth Dakin.
2654 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2655 (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
2656 Return a session storage namespace for a random page when UI process storage is enabled,
2657 otherwise call the base class implementation.
2659 2013-05-09 Anders Carlsson <andersca@apple.com>
2661 Use explicit qualifiers for names in the std:: namespace
2662 https://bugs.webkit.org/show_bug.cgi?id=115868
2664 Reviewed by Andreas Kling.
2666 * Shared/mac/ArgumentCodersMac.mm:
2668 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
2669 (WKPluginSiteDataManagerClearAllSiteData):
2670 * UIProcess/Plugins/PluginInfoStore.cpp:
2671 (WebKit::PluginInfoStore::findPluginForExtension):
2672 * UIProcess/WebFrameProxy.cpp:
2673 * UIProcess/WebProcessProxy.cpp:
2674 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2675 (WebKit::parsePostBuffer):
2676 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2677 (WebKit::NetscapePlugin::loadURL):
2678 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
2679 (WebKit::NetscapePluginStream::deliverDataToPlugin):
2680 * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
2681 * WebProcess/WebPage/DrawingAreaImpl.cpp:
2682 * WebProcess/WebPage/FindController.cpp:
2683 (WebKit::FindController::countStringMatches):
2684 (WebKit::FindController::updateFindUIAfterPageScroll):
2685 * WebProcess/WebPage/WebPage.cpp:
2686 * WebProcess/WebPage/mac/WebPageMac.mm:
2687 (WebKit::drawPDFPage):
2688 * WebProcess/mac/WebProcessMac.mm:
2690 2013-05-09 Max Feil <mfeil@rim.com>
2692 shouldUsePluginDocument() needs to be respected when a document is created
2693 https://bugs.webkit.org/show_bug.cgi?id=110308
2695 Reviewed by Rob Buis.
2697 Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
2700 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2701 (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
2702 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2703 (WebFrameLoaderClient):
2705 2013-05-09 Timothy Hatcher <timothy@apple.com>
2707 Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
2709 https://webkit.org/b/115832
2710 rdar://problem/13605661
2712 Reviewed by Benjamin Poulain.
2714 * UIProcess/mac/WebInspectorProxyMac.mm:
2715 (WebKit::WebInspectorProxy::platformBringToFront):
2716 If the Web Inspector is no longer in the same window as the inspected view,
2717 then we need to reopen the Inspector to get it attached to the right window.
2719 2013-05-08 Anders Carlsson <andersca@apple.com>
2721 Fix a typo in a comment.
2723 Rubber-stamped by Darin Adler.
2725 * WebProcess/WebProcess.cpp:
2726 (WebKit::WebProcess::initializeConnection):
2728 2013-05-08 Anders Carlsson <andersca@apple.com>
2730 Remove bogus StorageAreaMap assertions
2731 https://bugs.webkit.org/show_bug.cgi?id=115838
2733 Reviewed by Sam Weinig.
2735 It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
2737 * WebProcess/Storage/StorageAreaMap.cpp:
2738 (WebKit::StorageAreaMap::didGetValues):
2739 (WebKit::StorageAreaMap::didClear):
2741 2013-05-08 Anders Carlsson <andersca@apple.com>
2743 Handle incoming clear operations
2744 https://bugs.webkit.org/show_bug.cgi?id=115829
2746 Reviewed by Sam Weinig.
2748 Handle clear by building up a new storage map with our pending changes.
2750 * WebProcess/Storage/StorageAreaMap.cpp:
2751 (WebKit::StorageAreaMap::applyChange):
2753 2013-05-08 Anders Carlsson <andersca@apple.com>
2755 Don't apply changes while we're clearing the database
2756 https://bugs.webkit.org/show_bug.cgi?id=115826
2758 Reviewed by Darin Adler.
2760 * UIProcess/Storage/LocalStorageDatabase.cpp:
2761 (WebKit::LocalStorageDatabase::openDatabase):
2762 Only call didOpenDatabaseWithOrigin if we actually did open the database.
2764 (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
2765 Create the database if needed.
2767 * UIProcess/Storage/StorageManager.cpp:
2768 (WebKit::StorageManager::getValues):
2769 Send back a DidGetValues message.
2771 * WebProcess/Storage/StorageAreaMap.cpp:
2772 (WebKit::StorageAreaMap::StorageAreaMap):
2773 Initialize m_hasPendingClear.
2775 (WebKit::StorageAreaMap::clear):
2776 Set m_hasPendingClear to true.
2778 (WebKit::StorageAreaMap::resetValues):
2779 Set m_hasPendingClear back to false.
2781 (WebKit::StorageAreaMap::loadValuesIfNeeded):
2782 Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
2784 (WebKit::StorageAreaMap::didGetValues):
2785 Set m_hasPendingClear back to false.
2787 (WebKit::StorageAreaMap::didClear):
2788 Set m_hasPendingClear back to false.
2790 (WebKit::StorageAreaMap::applyChange):
2791 Don't apply the change if m_hasPendingClear is true.
2793 * WebProcess/Storage/StorageAreaMap.messages.in:
2794 Add DidGetValues message.
2796 2013-05-08 Andy Estes <aestes@apple.com>
2798 [WebKit2] REGRESSION (Custom Protocols): Reproducible crash when navigating to URL with an invalid scheme
2799 https://bugs.webkit.org/show_bug.cgi?id=115790
2801 Reviewed by Alexey Proskuryakov.
2803 NSMutableSet does not support adding or removing nil objects, and
2804 WTF::HashSet does not support adding, removing, or checking for null
2807 For the NSMutableSet case, make sure that we don't try to add or remove
2810 For the WTF::HashSet case, NSURL will return a nil NSString if we ask
2811 it for its scheme when it is invalid, which we will convert to a null
2812 WTF::String. Don't try to check if our HashSet of registered schemes
2813 contains a null String.
2815 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2816 (WebKit::CustomProtocolManager::registerScheme): Assert that the scheme
2817 isn't null. We reject null schemes at the WKBrowsingContextController level.
2818 (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
2819 (WebKit::CustomProtocolManager::supportsScheme): If scheme is null, return false.
2820 * UIProcess/API/mac/WKBrowsingContextController.mm:
2821 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): Do not register a nil scheme.
2822 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): Ditto.
2824 2013-05-08 Anders Carlsson <andersca@apple.com>
2826 Apply remote changes to storage maps locally
2827 https://bugs.webkit.org/show_bug.cgi?id=115825
2829 Reviewed by Beth Dakin.
2831 * WebProcess/Storage/StorageAreaMap.cpp:
2832 (WebKit::StorageAreaMap::resetValues):
2833 Clear the pending values map.
2835 (WebKit::StorageAreaMap::didSetItem):
2836 If we failed to set the item, forget everything we know about this storage map.
2837 Otherwise, remove the pending item.
2839 (WebKit::StorageAreaMap::didRemoveItem):
2840 Remove the pending item.
2842 (WebKit::StorageAreaMap::shouldApplyChangeForKey):
2843 Helper function that returns whether a change for a given key should be applied.
2845 (WebKit::StorageAreaMap::applyChange):
2846 Apply the change. Currently only adds and removes are handled.
2848 (WebKit::StorageAreaMap::dispatchStorageEvent):
2849 Apply the change locally as well if needed.
2851 * WebProcess/Storage/StorageAreaMap.h:
2853 2013-05-08 Anders Carlsson <andersca@apple.com>
2855 Assert at compile time that we don't pass Objective-C object pointers to adoptCF
2856 https://bugs.webkit.org/show_bug.cgi?id=115823
2858 Reviewed by Geoffrey Garen.
2860 Fix adoptNS/adoptCF mismatches. For the adopt(leakRef()) case we'd ideally want a static_pointer_cast overload for RetainPtr,
2861 but this will do for now.
2863 * Shared/mac/ArgumentCodersMac.mm:
2866 2013-05-08 Sam Weinig <sam@webkit.org>
2868 Add SPI to determine if a plugin is sandboxed
2869 https://bugs.webkit.org/show_bug.cgi?id=115810
2871 Reviewed by Anders Carlsson.
2873 * PluginProcess/mac/PluginProcessMac.mm:
2874 (WebKit::PluginProcess::initializeSandbox):
2875 * Shared/Plugins/mac/PluginSandboxProfile.h: Added.
2876 * Shared/Plugins/mac/PluginSandboxProfile.mm: Added.
2877 (WebKit::pluginSandboxProfileDefaultDirectory):
2878 (WebKit::pluginSandboxProfileDirectories):
2879 (WebKit::pluginSandboxProfileName):
2880 (WebKit::pluginSandboxCommonProfile):
2881 (WebKit::pluginSandboxProfileForDirectory):
2882 (WebKit::pluginSandboxProfile):
2883 (WebKit::pluginHasSandboxProfileForDirectory):
2884 (WebKit::pluginHasSandboxProfile):
2885 Move sandbox code to its own file and refactor to use cocoa. Also adds pluginHasSandboxProfile function
2886 which uses the newly refactored code.
2888 * UIProcess/API/C/mac/WKContextPrivateMac.h:
2889 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2890 (WKPlugInInfoIsSandboxedKey):
2891 (createInfoDictionary):
2892 Add WKPlugInInfoIsSandboxedKey.
2894 * WebKit2.xcodeproj/project.pbxproj:
2897 2013-05-08 Anders Carlsson <andersca@apple.com>
2899 Safari unexpectedly quits with invalid message from the web process with message ID 0x323002f (WebPageProxy.DecidePolicyForNavigationAction)
2900 https://bugs.webkit.org/show_bug.cgi?id=115814
2901 <rdar://problem/12331258>
2903 Reviewed by Andreas Kling.
2905 To ensure that any asynchronous messages are delivered to the UI process before
2906 synchronous messages (except when doing so would lead to a deadlock), Call
2907 setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the UI process connections.
2909 * WebProcess/WebProcess.cpp:
2910 (WebKit::WebProcess::initializeConnection):
2912 2013-05-08 Tim Horton <timothy_horton@apple.com>
2914 Coalesce WKView visibleRect changes
2915 https://bugs.webkit.org/show_bug.cgi?id=115792
2916 <rdar://problem/13776842>
2918 Reviewed by Simon Fraser.
2920 The system can call renewGState much more often than we actually want
2921 to update the WebProcess' notion of the exposed rect. Most importantly,
2922 within an autolayout pass it is called many times, and often sees
2923 [WKView visibleRect] be an intermediate value which will never be
2924 flushed to the screen. We only care about the final value, so we should
2925 wait until AppKit has finished - with a zero-delay timer - to inform the
2926 WebProcess of exposed rect changes.
2928 * UIProcess/WebPageProxy.cpp:
2929 (WebKit::WebPageProxy::WebPageProxy):
2930 Add exposedRectChangedTimer.
2931 (WebKit::WebPageProxy::close):
2932 Cancel exposedRectChangedTimer when tearing down the WebPageProxy.
2933 * UIProcess/WebPageProxy.h:
2935 Add exposedRectChangedTimerFired, the timer itself, and two rects:
2936 the most recent exposed rect from the WKView, and the last one we actually
2937 sent across to the WebProcess.
2938 * UIProcess/mac/WebPageProxyMac.mm:
2939 (WebKit::WebPageProxy::viewExposedRectChanged):
2940 Instead of immediately sending exposed rect changes to the WebProcess,
2941 start a zero-delay timer to do so.
2942 (WebKit::WebPageProxy::exposedRectChangedTimerFired):
2943 Once the zero-delay timer fires, send the new exposed rect to the WebProcess.
2945 2013-05-08 Alexey Proskuryakov <ap@apple.com>
2947 <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
2948 <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
2950 Reviewed by Anders Carlsson.
2952 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
2953 TextServices and NSInputManager directories.
2955 2013-05-08 Anders Carlsson <andersca@apple.com>
2957 Remove BinarySemaphoreWin.cpp.
2959 Rubber-stamped by Beth Dakin.
2961 BinarySemaphoreWin has been moved to WTF, but the original was never removed.
2963 * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
2965 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2967 [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
2968 https://bugs.webkit.org/show_bug.cgi?id=115716
2970 Reviewed by Andreas Kling.
2972 WebNetworkInfoManager should inherit from WebProcessSupplement and should be used
2973 as such by the WebProcess. This removes the need for the m_networkInfoManager member
2974 variable in the WebProcess class and brings the WebNetworkInfoManager in line with
2975 other manager classes of which instances are controlled by the WebProcess class.
2977 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2978 (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
2980 * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2981 (WebKit): Alphabetically reorder the two forwarding declarations.
2982 (WebNetworkInfoManager): Inherit from the WebProcessSupplement interface.
2983 * WebProcess/WebCoreSupport/WebNetworkInfoClient.cpp:
2984 (WebKit::WebNetworkInfoClient::bandwidth): Access the WebNetworkInfoManager as a supplement.
2985 (WebKit::WebNetworkInfoClient::metered): Ditto.
2986 (WebKit::WebNetworkInfoClient::startUpdating): Ditto.
2987 (WebKit::WebNetworkInfoClient::stopUpdating): Ditto.
2988 (WebKit::WebNetworkInfoClient::networkInfoControllerDestroyed): Ditto.
2989 * WebProcess/WebProcess.cpp:
2990 (WebKit::WebProcess::WebProcess): Add the WebNetworkInfoManager instance as a supplement.
2991 * WebProcess/WebProcess.h:
2992 (WebProcess): Remove the m_networkInfoManager member variable and its getter method.
2994 2013-05-08 Zan Dobersek <zdobersek@igalia.com>
2996 [WK2] Make the WebBatteryManager a supplement to the WebProcess
2997 https://bugs.webkit.org/show_bug.cgi?id=115715
2999 Reviewed by Andreas Kling.
3001 WebBatteryManager should inherit from WebProcessSupplement and should be used as such
3002 by the WebProcess. This removes the need for the m_batteryManager member variable in
3003 the WebProcess class and brings the WebBatteryManager in line with other manager classes
3004 of which instances are controlled by the WebProcess class.
3006 * WebProcess/Battery/WebBatteryManager.cpp:
3007 (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
3009 * WebProcess/Battery/WebBatteryManager.h:
3010 (WebBatteryManager): Inherit from the WebProcessSupplement interface.
3011 * WebProcess/WebCoreSupport/WebBatteryClient.cpp:
3012 (WebKit::WebBatteryClient::startUpdating): Access the WebBatteryManager as a supplement.
3013 (WebKit::WebBatteryClient::stopUpdating): Ditto.
3014 (WebKit::WebBatteryClient::batteryControllerDestroyed): Ditto.
3015 * WebProcess/WebProcess.cpp:
3016 (WebKit::WebProcess::WebProcess): Add the WebBatteryManager instance as a supplement.
3017 * WebProcess/WebProcess.h:
3018 (WebProcess): Remove the m_batteryManager member variable and its getter method.
3020 2013-05-06 Darin Adler <darin@apple.com>
3022 Use adoptCF and adoptNS in more places
3023 https://bugs.webkit.org/show_bug.cgi?id=115657
3025 Reviewed by Sam Weinig.
3027 * Shared/Downloads/cfnet/DownloadCFNet.cpp:
3028 (WebKit::Download::useCredential):
3029 (WebKit::Download::start):
3030 (WebKit::Download::startWithHandle):
3031 (WebKit::Download::cancel):
3032 (WebKit::Download::didDecideDestination):
3033 Use adoptCF and adoptNS.
3035 2013-05-06 Sam Weinig <sam@webkit.org>
3037 Add SPI to get an array of all the installed plug-ins
3038 https://bugs.webkit.org/show_bug.cgi?id=115688
3040 Reviewed by Anders Carlsson.
3042 * UIProcess/API/C/mac/WKContextPrivateMac.h:
3043 * UIProcess/API/C/mac/WKContextPrivateMac.mm:
3044 (createInfoDictionary):
3045 Extract creation of info dictionary into helper.
3046 (WKContextCopyPlugInInfoForBundleIdentifier):
3047 Modified to use the new helper.
3048 (WKContextGetInfoForInstalledPlugIns):
3051 2013-05-07 Anders Carlsson <andersca@apple.com>
3053 Clean up KeyframeValueList and related classes
3054 https://bugs.webkit.org/show_bug.cgi?id=115738
3056 Reviewed by Simon Fraser.
3058 Update for WebCore changes.
3060 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3061 (CoreIPC::::decode):
3063 2013-05-07 Anders Carlsson <andersca@apple.com>
3065 Add and remove databases and origins from the database tracker
3066 https://bugs.webkit.org/show_bug.cgi?id=115752
3068 Reviewed by Andreas Kling.
3070 * UIProcess/Storage/LocalStorageDatabase.cpp:
3071 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3072 Rename m_databaseFilename to m_databasePath.
3074 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3075 Rename m_databaseFilename to m_databasePath.
3077 * UIProcess/Storage/LocalStorageDatabase.h:
3078 Rename m_databaseFilename to m_databasePath.
3080 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3081 (WebKit::LocalStorageDatabaseTracker::databasePath):
3082 Rename databaseFilename to databasePath.
3084 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
3085 Call addDatabaseWithOriginIdentifier.
3087 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
3088 Call removeDatabaseWithOriginIdentifier.
3090 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
3091 Call databasePath instead of databaseFile.
3093 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
3094 Bail if the database is already open.
3096 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
3097 Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
3099 (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
3100 Add the database to the Origins table.
3102 (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
3103 remove the database from the Origins table and delete it.
3105 (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
3106 Helper function that looks up a database path given its identifier.
3108 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3109 Rename databaseFile to databasePath.
3111 2013-05-07 Anders Carlsson <andersca@apple.com>
3113 The storage database tracker should know when databases come and go
3114 https://bugs.webkit.org/show_bug.cgi?id=115748
3116 Reviewed by Andreas Kling.
3118 * UIProcess/Storage/LocalStorageDatabase.cpp:
3119 (WebKit::LocalStorageDatabase::openDatabase):
3120 If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
3122 (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3123 Remove a FIXME; we run all storage related things on the same thread.
3125 (WebKit::LocalStorageDatabase::close):
3126 Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
3128 (WebKit::LocalStorageDatabase::databaseIsEmpty):
3129 Helper function for determining whether a database is empty.
3131 * UIProcess/Storage/LocalStorageDatabase.h:
3132 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3133 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3134 Add ".localstorage" to the filename.
3136 (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
3137 (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
3140 2013-05-07 Brady Eidson <beidson@apple.com>
3142 Add JoinExistingSession to the Networking XPC.
3143 <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
3145 Reviewed by Sam Weinig.
3147 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
3148 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
3150 2013-05-07 Anders Carlsson <andersca@apple.com>
3152 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
3153 https://bugs.webkit.org/show_bug.cgi?id=115711
3155 Reviewed by Andreas Kling.
3157 Handle setting the local storage directory more than once.
3159 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3160 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3161 Close the database (if necessary) and clear the origins map before importing the origin identifiers.
3163 2013-05-07 Antoine Quint <graouts@apple.com>
3165 Re-establish autostart timeout extension on user interaction
3166 https://bugs.webkit.org/show_bug.cgi?id=113232
3168 Change WebProcess::pluginDidReceiveUserInteraction to use a tuple of
3169 (pluginOrigin, pageOrigin, mimeType) arguments like the other similar
3170 WebProcess methods and gather these arguments from the PlugInView's
3173 Reviewed by Dean Jackson.
3175 * WebProcess/Plugins/PluginView.cpp:
3176 (WebKit::PluginView::pluginDidReceiveUserInteraction):
3177 Cast the m_pluginElement to a HTMLPlugInImageElement so we can obtain the
3178 tuple of (pluginOrigin, pageOrigin, mimeType) to pass to pluginDidReceiveUserInteraction().
3180 * WebProcess/WebProcess.cpp:
3181 (WebKit::WebProcess::plugInDidReceiveUserInteraction):
3182 * WebProcess/WebProcess.h:
3184 Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
3185 and obtain the plug-in origin hash from that.
3187 2013-05-07 Anders Carlsson <andersca@apple.com>
3189 Each local storage database should know its origin
3190 https://bugs.webkit.org/show_bug.cgi?id=115737
3192 Reviewed by Andreas Kling.
3194 Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
3196 * UIProcess/Storage/LocalStorageDatabase.cpp:
3197 (WebKit::LocalStorageDatabase::create):
3198 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3199 * UIProcess/Storage/LocalStorageDatabase.h:
3200 (LocalStorageDatabase):
3202 2013-05-07 Brady Eidson <beidson@apple.com>
3204 Remove some unnecessary soft linking in NetworkProcess. (Take 2)
3205 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
3207 Reviewed by Dean Jackson and owned by Andreas Kling.
3209 As a followup to r149651, include the private headers conditionally.
3210 Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
3212 * NetworkProcess/mac/DiskCacheMonitor.mm:
3213 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3214 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3216 2013-05-07 Jinwoo Song <jinwoo7.song@samsung.com>
3218 [EFL][WK2] Add ewk APIs for setting and getting user agent
3219 https://bugs.webkit.org/show_bug.cgi?id=114429
3221 Reviewed by Andreas Kling.
3223 Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
3225 * UIProcess/API/efl/EwkView.cpp:
3227 (EwkView::setUserAgent):
3228 * UIProcess/API/efl/EwkView.h:
3229 (EwkView::userAgent):
3231 * UIProcess/API/efl/ewk_view.cpp:
3232 (ewk_view_user_agent_get):
3233 (ewk_view_user_agent_set):
3234 * UIProcess/API/efl/ewk_view.h:
3235 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3238 2013-05-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
3240 HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
3241 https://bugs.webkit.org/show_bug.cgi?id=115646
3243 Reviewed by Darin Adler.
3245 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3246 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
3247 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
3248 (WebKit::NetworkResourceLoadScheduler::hostForURL):
3249 * Shared/ImmutableDictionary.h:
3250 (WebKit::ImmutableDictionary::get):
3251 * UIProcess/Storage/StorageManager.cpp:
3252 (WebKit::StorageManager::createSessionStorageMap):
3253 (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
3254 (WebKit::StorageManager::findStorageArea):
3255 * UIProcess/WebContext.h:
3256 (WebKit::WebContext::supplement):
3257 * UIProcess/WebProcessProxy.cpp:
3258 (WebKit::WebProcessProxy::webBackForwardItem):
3259 (WebKit::WebProcessProxy::webFrame):
3260 * UIProcess/efl/DownloadManagerEfl.cpp:
3261 (WebKit::DownloadManagerEfl::ewkDownloadJob):
3262 * WebProcess/Network/WebResourceLoadScheduler.h:
3263 (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
3264 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3265 (WebKit::NetscapePlugin::streamFromID):
3266 * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3267 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
3268 * WebProcess/Plugins/PluginView.cpp:
3269 (WebKit::PluginView::cancelStreamLoad):
3270 * WebProcess/WebPage/EventDispatcher.cpp:
3271 (WebKit::EventDispatcher::wheelEvent):
3272 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
3273 (WebKit::WebBackForwardListProxy::itemForID):
3274 (WebKit::WebBackForwardListProxy::itemAtIndex):
3275 * WebProcess/WebPage/WebPage.cpp:
3276 (WebKit::WebPage::webUndoStep):
3277 (WebKit::WebPage::didFinishCheckingText):
3278 (WebKit::WebPage::didCancelCheckingText):
3279 * WebProcess/WebProcess.cpp:
3280 (WebKit::WebProcess::webPage):
3281 (WebKit::WebProcess::webPageGroup):
3282 Updated accordingly to new HashMap<.., RefPtr>::get() semantics.
3284 2013-05-06 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3286 [Qt] Unreviewed buildfix after r149637.
3290 2013-05-06 Ryosuke Niwa <rniwa@webkit.org>
3292 REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
3293 https://bugs.webkit.org/show_bug.cgi?id=115711
3295 Rubber-stamped by Anders Carlsson.
3297 Temporarily removed the assertion. Andres is going to investigate it tomorrow.
3299 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3300 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3302 2013-05-06 Darin Adler <darin@apple.com>
3304 Use OwnPtr instead of deleteAllValues in KeyframeValueList
3305 https://bugs.webkit.org/show_bug.cgi?id=115652
3307 Reviewed by Simon Fraser.
3309 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3310 (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
3311 next to new when calling KeyframeValueList::insert.
3313 2013-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3315 Unreviewed, build fix on EFL port
3317 * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
3319 2013-05-06 Philippe Normand <pnormand@igalia.com>
3321 Unreviewed, GTK build fix after r149637.
3323 * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
3326 2013-05-06 Brady Eidson <beidson@apple.com>
3328 Remove some unnecessary soft linking in NetworkProcess.
3329 <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
3331 Reviewed by Sam Weinig.
3333 Replace some unneeded soft linking with forward declarations.
3335 * NetworkProcess/mac/DiskCacheMonitor.mm:
3336 (WebKit::DiskCacheMonitor::DiskCacheMonitor):
3337 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3338 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
3339 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3341 2013-05-06 Anders Carlsson <andersca@apple.com>
3343 More work on LocalStorageDatabaseTracker
3344 https://bugs.webkit.org/show_bug.cgi?id=115680
3346 Reviewed by Andreas Kling.
3348 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3349 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3350 Call the new databaseFilename that takes a string.
3352 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3353 Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
3355 (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
3356 New helper function that returns the tracker database path.
3358 (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
3359 Open the database and create the Origins table if needed.
3361 (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
3362 Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
3364 (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
3365 Bring the tracker database up to date from the database files on disk.
3367 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3368 (LocalStorageDatabaseTracker):
3370 2013-05-06 Alexey Proskuryakov <ap@apple.com>
3372 <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
3373 https://bugs.webkit.org/show_bug.cgi?id=115665
3375 Reviewed by Darin Adler.
3377 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didCommitLoad): Moved repeated
3378 check for frame->isMainFrame() to the top, matching oter similar functions.
3379 Call updateActivePages().
3381 * WebProcess/WebProcess.cpp:
3382 (WebKit::WebProcess::networkProcessConnectionClosed): Removed an obsolete FIXME.
3383 (WebKit::WebProcess::updateActivePages): Empty implementation for platforms
3384 that don't need to do anything here.
3386 * WebProcess/WebProcess.h: Added updateActivePages().
3388 * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
3389 Collect user visible origins of pages in the process and pass them to LS.
3391 2013-05-06 Mark Rowe <mrowe@apple.com>
3393 <rdar://problem/13775921> Switch off a deprecated API.
3395 Reviewed by Oliver Hunt.
3397 * Shared/mac/ChildProcessMac.mm:
3398 (WebKit::ChildProcess::setProcessSuppressionEnabled): When disabling process suppression,
3399 begin an activity that doesn't disable idle sleep, sudden termination or automatic termination.
3400 When enabling process suppression, end the activity.
3402 2013-05-06 Anders Carlsson <andersca@apple.com>
3404 Move local storage directory handling to LocalStorageDatabaseTracker
3405 https://bugs.webkit.org/show_bug.cgi?id=115676
3407 Reviewed by Andreas Kling.
3409 * UIProcess/Storage/LocalStorageDatabase.cpp:
3410 (WebKit::LocalStorageDatabase::create):
3411 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3412 * UIProcess/Storage/LocalStorageDatabase.h:
3414 (LocalStorageDatabase):
3415 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3416 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
3418 (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3419 (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3420 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3422 (LocalStorageDatabaseTracker):
3423 * UIProcess/Storage/StorageManager.cpp:
3424 (WebKit::StorageManager::StorageArea::StorageArea):
3425 (WebKit::StorageManager::setLocalStorageDirectory):
3426 * UIProcess/Storage/StorageManager.h:
3429 2013-05-06 Manuel Rego Casasnovas <rego@igalia.com>
3431 [GTK] Add webkit_uri_scheme_request_finish_error
3432 https://bugs.webkit.org/show_bug.cgi?id=94316
3434 Reviewed by Anders Carlsson.
3436 This new method will allow to finish WebKitURISchemeRequest with a
3437 GError that will be passed to the WebKitWebView through the
3438 "load-failed" signal.
3440 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
3441 (webkit_uri_scheme_request_finish_error): Implement new method using
3442 WebSoupRequestManagerProxy::didFailURIRequest().
3443 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Add new method header.
3444 * UIProcess/API/gtk/WebKitWebContext.cpp: Include the usage of the new
3445 method in the code example at webkit_web_context_register_uri_scheme()
3447 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
3449 * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3450 (loadFailedCallback): Set m_error to monitor it from the tests.
3451 (LoadTrackingTest::loadURI): Clear m_error before each load.
3452 (LoadTrackingTest::loadHtml): Ditto.
3453 (LoadTrackingTest::loadPlainText): Ditto.
3454 (LoadTrackingTest::loadRequest): Ditto.
3455 (LoadTrackingTest::reload): Ditto.
3456 (LoadTrackingTest::goBack): Ditto.
3457 (LoadTrackingTest::goForward): Ditto.
3458 * UIProcess/API/gtk/tests/LoadTrackingTest.h: Add new member m_error.
3459 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
3460 (testWebContextURIScheme): Modify test to check the behavior of the new
3462 * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
3463 (WebKit::WebSoupRequestManagerProxy::didFailURIRequest):
3464 (WebKit): Implement new method using
3465 WebSoupRequestManager::DidFailURIRequest().
3466 * UIProcess/soup/WebSoupRequestManagerProxy.h:
3467 (WebSoupRequestManagerProxy): Add new method header.
3468 * WebProcess/soup/WebSoupRequestManager.cpp:
3470 (WebKit::WebSoupRequestManager::didFailURIRequest): Implement new method
3471 setting the error and completing the request.
3472 * WebProcess/soup/WebSoupRequestManager.h:
3473 (WebSoupRequestManager): Add new method header.
3474 * WebProcess/soup/WebSoupRequestManager.messages.in: Add new method
3477 2013-05-06 Anders Carlsson <andersca@apple.com>
3479 Every LocalStorageDatabase should know about its tracker
3480 https://bugs.webkit.org/show_bug.cgi?id=115673
3482 Reviewed by Andreas Kling.
3484 * UIProcess/Storage/LocalStorageDatabase.cpp:
3485 (WebKit::LocalStorageDatabase::create):
3486 (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3487 * UIProcess/Storage/LocalStorageDatabase.h:
3488 * UIProcess/Storage/StorageManager.cpp:
3489 (WebKit::StorageManager::StorageArea::StorageArea):
3491 2013-05-06 Anders Carlsson <andersca@apple.com>
3493 Add LocalStorageDatabaseTracker class
3494 https://bugs.webkit.org/show_bug.cgi?id=115671
3496 Reviewed by Andreas Kling.
3498 Somewhat unsurprisingly, this class will be used for tracking local storage databases.
3500 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: Added.
3501 (WebKit::LocalStorageDatabaseTracker::create):
3502 (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
3503 (WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
3504 * UIProcess/Storage/LocalStorageDatabaseTracker.h: Added.
3505 (LocalStorageDatabaseTracker):
3507 * UIProcess/Storage/StorageManager.cpp:
3508 (WebKit::StorageManager::StorageManager):
3509 Create a local storage database tracker.
3511 * WebKit2.xcodeproj/project.pbxproj:
3514 2013-05-06 Anders Carlsson <andersca@apple.com>
3516 Handle closing the local storage database
3517 https://bugs.webkit.org/show_bug.cgi?id=115669
3519 Reviewed by Beth Dakin.
3521 * UIProcess/Storage/LocalStorageDatabase.cpp: