[GTK] Fix concatenations of string literals that are not C++11-compliant
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
2
3         [GTK] Fix concatenations of string literals that are not C++11-compliant
4         https://bugs.webkit.org/show_bug.cgi?id=116449
5
6         Reviewed by Martin Robinson.
7
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.
10
11         * UIProcess/API/gtk/tests/TestPrinting.cpp:
12         (testPrintOperationPrint):
13         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
14         (methodCallCallback):
15
16 2013-05-20  Commit Queue  <commit-queue@webkit.org>
17
18         Unreviewed, rolling out r150384.
19         http://trac.webkit.org/changeset/150384
20         https://bugs.webkit.org/show_bug.cgi?id=116513
21
22         Not ready for primetime. (Requested by kling on #webkit).
23
24         * UIProcess/WebProcessProxy.cpp:
25         (WebKit::WebProcessProxy::WebProcessProxy):
26         (WebKit::WebProcessProxy::removeWebPage):
27         * UIProcess/WebProcessProxy.h:
28         (WebProcessProxy):
29
30 2013-05-20  Martin Robinson  <mrobinson@igalia.com>
31
32         Remove SharedMemoryGtk.cpp
33         https://bugs.webkit.org/show_bug.cgi?id=116457
34
35         Reviewed by Andreas Kling.
36
37         * Platform/gtk/SharedMemoryGtk.cpp: Removed.
38
39 2013-05-20  Jessie Berlin  <jberlin@apple.com>
40
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
44
45         Reviewed by Alexey Proskuryakov.
46
47         Add shouldNotifyOnFormChanges and didAssociateFormControls to the WKBundlePageFormClient.
48
49         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
50         Add the new callbacks as part of version 2 of the WKBundlePageFormClient.
51
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):
56         Ditto.
57         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
58
59         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
60         (WebKit::WebChromeClient::didAssociateFormControls):
61         Tell the injected bundle form client for the page.
62         (WebKit::WebChromeClient::shouldNotifyOnFormChanges):
63         Ditto.
64         * WebProcess/WebCoreSupport/WebChromeClient.h:
65
66 2013-05-20  Tim Horton  <timothy_horton@apple.com>
67
68         Clients should have a way to extend rendering suppression
69         https://bugs.webkit.org/show_bug.cgi?id=116463
70         <rdar://problem/13738496>
71
72         Reviewed by Andy Estes.
73
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.
79
80         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
81         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
82         Inform the FrameView if there are any outstanding rendering suppression tokens.
83
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.
90
91         (WebKit::WebPage::stopExtendingIncrementalRenderingSuppression):
92         Remove the given token from the list of active tokens.
93         Un-suppress rendering if appropriate.
94
95         * WebProcess/WebPage/WebPage.h:
96         (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
97         Return if there are any active rendering suppression tokens.
98
99 2013-05-20  Andreas Kling  <akling@apple.com>
100
101         PPT: Closing tab that is hung or chewing 100% CPU leaves abandoned WebProcess.
102         <http://webkit.org/b/116464>
103         <rdar://problem/10103795>
104
105         Reviewed by Anders Carlsson.
106
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.
110
111         * UIProcess/WebProcessProxy.cpp:
112         (WebKit::WebProcessProxy::WebProcessProxy):
113         (WebKit::WebProcessProxy::removeWebPage):
114         (WebKit::WebProcessProxy::forcefulTerminationTimerFired):
115         * UIProcess/WebProcessProxy.h:
116         (WebProcessProxy):
117
118 2013-05-20  Anders Carlsson  <andersca@apple.com>
119
120         Add helper function for converting a KeyedCodingValue to a CFTypeRef
121         https://bugs.webkit.org/show_bug.cgi?id=116461
122
123         Reviewed by Tim Horton.
124
125         * Shared/cf/KeyedCodingValueCF.cpp: Added.
126         * Shared/cf/KeyedCodingValueCF.h: Added.
127
128         * WebKit2.xcodeproj/project.pbxproj:
129
130 2013-05-20  Anders Carlsson  <andersca@apple.com>
131
132         Begin stubbing out a new KeyedEncoder class
133         https://bugs.webkit.org/show_bug.cgi?id=116456
134
135         Reviewed by Sam Weinig.
136
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).
140         
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(!).
144         
145         * Shared/KeyedCodingValue.h: Added.
146         * Shared/KeyedEncoder.cpp: Added.
147         * Shared/KeyedEncoder.h: Added.
148
149         * WebKit2.xcodeproj/project.pbxproj:
150
151 2013-05-19  Sam Weinig  <sam@webkit.org>
152
153         Bump WKBundlePageLoaderClient version number so as not to break some clients
154         https://bugs.webkit.org/show_bug.cgi?id=116426
155
156         Reviewed by Anders Carlsson.
157
158         * Shared/APIClientTraits.cpp:
159         (WebKit):
160         * Shared/APIClientTraits.h:
161         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
162
163 2013-05-19  Anders Carlsson  <andersca@apple.com>
164
165         Remove link prerendering code
166         https://bugs.webkit.org/show_bug.cgi?id=116415
167
168         Reviewed by Darin Adler.
169
170         This code was only used by Chromium and is dead now.
171
172         * Configurations/FeatureDefines.xcconfig:
173
174 2013-05-18  Anders Carlsson  <andersca@apple.com>
175
176         Simplify the StorageArea setter functions
177         https://bugs.webkit.org/show_bug.cgi?id=116402
178
179         Reviewed by Sam Weinig.
180
181         Remove security checking code that lives in Storage now.
182
183         * WebProcess/Storage/StorageAreaImpl.cpp:
184         (WebKit::StorageAreaImpl::setItem):
185         (WebKit::StorageAreaImpl::removeItem):
186         (WebKit::StorageAreaImpl::clear):
187         * WebProcess/Storage/StorageAreaImpl.h:
188
189 2013-05-18  Sam Weinig  <sam@webkit.org>
190
191         Fix some builds.
192
193         * UIProcess/API/mac/WKTypeRefWrapper.mm:
194
195 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
196
197         REGRESSION(r150305): WebKit2 build broken with INDEXED_DATABASE enabled
198         https://bugs.webkit.org/show_bug.cgi?id=116389
199
200         Reviewed by Martin Robinson.
201
202         There's no longer WebKeyValueStorageManager in the web process
203         after r150305.
204
205         * WebProcess/WebPage/WebPageGroupProxy.cpp:
206         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
207
208 2013-05-17  Sam Weinig  <sam@webkit.org>
209
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
212
213         Reviewed by Anders Carlsson.
214
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.
218
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:
230
231 2013-05-18  Anders Carlsson  <andersca@apple.com>
232
233         Simplify StorageArea getter functions
234         https://bugs.webkit.org/show_bug.cgi?id=116399
235
236         Reviewed by Sam Weinig.
237
238         Remove security and private browsing checks.
239
240         * WebProcess/Storage/StorageAreaImpl.cpp:
241         (WebKit::StorageAreaImpl::key):
242         (WebKit::StorageAreaImpl::item):
243         (WebKit::StorageAreaImpl::contains):
244         * WebProcess/Storage/StorageAreaImpl.h:
245
246 2013-05-18  Patrick Gansterer  <paroga@webkit.org>
247
248         [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
249         https://bugs.webkit.org/show_bug.cgi?id=114554
250
251         Reviewed by Gyuyoung Kim.
252
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.
256
257         * CMakeLists.txt:
258         * PlatformEfl.cmake:
259         * efl/ewebkit2.pc.in:
260
261 2013-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
262
263         [GTK] Move GTK port off legacy clipboard
264         https://bugs.webkit.org/show_bug.cgi?id=116221
265
266         Reviewed by Martin Robinson.
267
268         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Remove ClipboardGtk.h
269         include.
270         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
271         (WebKit::WebDragClient::startDrag): Get the DataObjectGtk from the
272         Pasteboard associated to the given Clipboard.
273
274 2013-05-18  Jinwoo Song  <jinwoo7.song@samsung.com>
275
276         [EFL][WK2] Refactor ewk_view_custom_encoding_set/get API
277         https://bugs.webkit.org/show_bug.cgi?id=116386
278
279         Reviewed by Christophe Dumez.
280
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.
283
284         * UIProcess/API/efl/EwkView.cpp:
285         (EwkView::setCustomTextEncodingName):
286         * UIProcess/API/efl/EwkView.h:
287         (EwkView::customTextEncodingName):
288         (EwkView):
289         * UIProcess/API/efl/ewk_view.cpp:
290         (ewk_view_custom_encoding_set):
291         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
292         (TEST_F):
293
294 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
295
296         [CMake] Unreviewed speculative build fix after r150305 and r150306.
297
298         * CMakeLists.txt:
299
300 2013-05-18  Csaba Osztrogonác  <ossy@webkit.org>
301
302         [Qt][WK2] Unreviewed build fix after r150305 and r150306.
303
304         * DerivedSources.pri:
305         * Target.pri:
306
307 2013-05-18  Zan Dobersek  <zdobersek@igalia.com>
308
309         Unreviewed build fix for the GTK port after r150305 and r150306.
310
311         * GNUmakefile.list.am:
312
313 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
314
315         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
316         https://bugs.webkit.org/show_bug.cgi?id=116359
317
318         The condition was accidentally negated, fixing.
319
320         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
321         (WebKit::WebPlatformStrategies::isAvailable):
322
323 2013-05-17  Gavin Barraclough  <barraclough@apple.com>
324
325         Only allow 1 WebProcess to hold a PageCache
326         https://bugs.webkit.org/show_bug.cgi?id=116368
327         <rdar://problem/13392600>
328
329         Reviewed by Geoff Garen & Anders Carlson.
330
331         * UIProcess/WebContext.cpp:
332         (WebKit::WebContext::WebContext):
333         (WebKit::WebContext::processDidSaveToPageCache):
334         (WebKit):
335         (WebKit::WebContext::disconnectProcess):
336         * UIProcess/WebContext.h:
337             - Added m_processWithPageCache, only allow one process to keep a PageCache.
338         (WebContext):
339         * UIProcess/WebPageProxy.cpp:
340         (WebKit::WebPageProxy::didSaveToPageCache):
341         (WebKit):
342         * UIProcess/WebPageProxy.h:
343         (WebPageProxy):
344         * UIProcess/WebPageProxy.messages.in:
345             - Forward didSaveToPageCache to the WebProcessProxy.
346         * UIProcess/WebProcessProxy.cpp:
347         (WebKit::WebProcessProxy::addBackForwardItem):
348         (WebKit::WebProcessProxy::didSaveToPageCache):
349         (WebKit):
350         (WebKit::WebProcessProxy::releasePageCache):
351             - Forward releasePageCache to the WebProcess.
352             - Forward didSaveToPageCache to the WebContext.
353         * UIProcess/WebProcessProxy.h:
354         (WebProcessProxy):
355         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
356         (WebKit::WebFrameLoaderClient::didSaveToPageCache):
357             - Forward didSaveToPageCache to the WebPageProxy.
358         * WebProcess/WebProcess.cpp:
359         (WebKit::WebProcess::releasePageCache):
360         (WebKit):
361         * WebProcess/WebProcess.h:
362         (WebProcess):
363         * WebProcess/WebProcess.messages.in:
364             - Added 'ReleasePageCache' to instruct a web process to drop any cached pages.
365
366 2013-05-17  Anders Carlsson  <andersca@apple.com>
367
368         Share code between WebKit1 and WebKit2 StorageArea subclasses
369         https://bugs.webkit.org/show_bug.cgi?id=116367
370
371         Reviewed by Andreas Kling.
372
373         * WebProcess/Storage/StorageAreaImpl.cpp:
374         (WebKit::StorageAreaImpl::length):
375         Remove code that's now in Storage::length.
376
377         (WebKit::StorageAreaImpl::storageType):
378         Make this a virtual member function.
379
380         * WebProcess/Storage/StorageAreaImpl.h:
381
382 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
383
384         <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
385         https://bugs.webkit.org/show_bug.cgi?id=116359
386
387         Reviewed by Anders Carlsson.
388
389         Implement SharedWorkerStrategy::isAvailable.
390
391         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
392         (WebKit::WebPlatformStrategies::isAvailable):
393         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
394
395 2013-05-17  Beth Dakin  <bdakin@apple.com>
396
397         Headers and footers will sometimes disappear and re-appear during page loads
398         https://bugs.webkit.org/show_bug.cgi?id=116336
399         -and corresponding-
400         <rdar://problem/13886753>
401
402         Reviewed by Simon Fraser.
403
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.
410
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:
416         (WebChromeClient):
417
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):
427
428 2013-05-17  Anders Carlsson  <andersca@apple.com>
429
430         Rename WebKeyValueStorageManagerProxy to WebKeyValueStorageManager
431         https://bugs.webkit.org/show_bug.cgi?id=116361
432
433         Reviewed by Andreas Kling.
434
435         There's nothing proxy about this class anymore!
436
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:
443
444 2013-05-17  Anders Carlsson  <andersca@apple.com>
445
446         Remove dead local storage code
447         https://bugs.webkit.org/show_bug.cgi?id=116360
448
449         Reviewed by Beth Dakin.
450
451         Storage is all handled in the UI process now so we no longer need a WebKeyValueStorageManager in the web process.
452
453         * DerivedSources.make:
454         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
455         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
456         (WebKit):
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):
470
471 2013-05-17  Anders Carlsson  <andersca@apple.com>
472
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>
476
477         Reviewed by Andreas Kling.
478
479         * Shared/WebSecurityOrigin.h:
480         (WebKit::WebSecurityOrigin::protocol):
481         (WebKit::WebSecurityOrigin::host):
482         (WebKit::WebSecurityOrigin::databaseIdentifier):
483         (WebKit::WebSecurityOrigin::toString):
484         Remove unneeded consts.
485
486         (WebKit::WebSecurityOrigin::securityOrigin):
487         Add getter.
488
489         * UIProcess/Storage/LocalStorageDatabase.cpp:
490         (WebKit::LocalStorageDatabase::close):
491         deleteEmptyDatabaseWithOrigin has been renamed to deleteDatabaseWithOrigin.
492
493         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
494         (WebKit::LocalStorageDatabaseTracker::deleteDatabaseWithOrigin):
495         Rename since this is no longer used only for empty databases.
496
497         (WebKit::LocalStorageDatabaseTracker::deleteAllDatabases):
498         Loop over the tracker database and delete all database files.
499
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.
503
504         (WebKit::StorageManager::LocalStorageNamespace::clearStorageAreasMatchingOrigin):
505         Loop over all storage areas and call clear on those matching the security origin.
506
507         (WebKit::StorageManager::LocalStorageNamespace::clearAllStorageAreas):
508         Loop over all storage areas and call clear on them.
509         
510         (WebKit::StorageManager::deleteEntriesForOrigin):
511         Dispatch deleteEntriesForOriginInternal on the work queue.
512
513         (WebKit::StorageManager::deleteAllEntries):
514         Dispatch deleteAllEntriesInternal on the work queue.
515
516         (WebKit::StorageManager::deleteEntriesForOriginInternal):
517         Call clearStorageAreasMatchingOrigin on all local storage namespaces and then delete the database.
518
519         (WebKit::StorageManager::deleteAllEntriesInternal):
520         Call clearAllStorageAreas on all local storage namespaces and then delete all databases.
521
522         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
523         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
524         Call out to the storage manager.
525
526         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
527         Ditto.
528
529         * WebProcess/Storage/StorageAreaMap.cpp:
530         (WebKit::StorageAreaMap::clearCache):
531         Call resetValues which will null out the storage map.
532
533         * WebProcess/Storage/StorageAreaMap.messages.in:
534         Add ClearCache message.
535
536 2013-05-17  Anders Carlsson  <andersca@apple.com>
537
538         Only import local storage items from the database once
539         https://bugs.webkit.org/show_bug.cgi?id=116354
540
541         Reviewed by Andreas Kling.
542
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. 
545         
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.
549
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):
558
559 2013-05-17  Alexey Proskuryakov  <ap@apple.com>
560
561         <rdar://problem/13869765> Lion: Crashes in islcCanLoadInputMethodFromBundleID.
562
563         Reviewed by Anders Carlsson.
564
565         * WebProcess/com.apple.WebProcess.sb.in: Allow text input directories.
566
567 2013-05-17  Anders Carlsson  <andersca@apple.com>
568
569         WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
570         https://bugs.webkit.org/show_bug.cgi?id=116346
571         <rdar://problem/13852829>
572
573         Reviewed by Andreas Kling.
574
575         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
576         (WebKit::LocalStorageDatabaseTracker::origins):
577         New helper function to return all the tracked origins.
578
579         * UIProcess/Storage/StorageManager.cpp:
580         (WebKit::StorageManager::StorageManager):
581         Initialize the UTF-8 encoding.
582
583         (WebKit::StorageManager::getOrigins):
584         Call getOriginsInternal on our queue.
585
586         (WebKit::callCallbackFunction):
587         Helper function for calling the callback function.
588
589         (WebKit::StorageManager::getOriginsInternal):
590         Get the origins and make sure we call the callback with the given function dispatcher.
591
592         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
593         (WebKit::didGetKeyValueStorageOriginsCallback):
594         Construct the array of WebSecurityOrigin objects and call the callback.
595
596         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
597         Call StorageManager::getOrigins.
598
599 2013-05-16  Alexey Proskuryakov  <ap@apple.com>
600
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>
604
605         Reviewed by Darin Adler.
606
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.
614
615         * UIProcess/API/mac/WKView.mm:
616         * UIProcess/API/mac/WKViewInternal.h:
617         Removed _updateTextInputStateIncludingSecureInputState.
618
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?)
626
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.
636         Added some FIXMEs.
637
638 2013-05-17  Manuel Rego Casasnovas  <rego@igalia.com>
639
640         [WK2] Add support for selectTrailingWhitespaceEnabled setting
641         https://bugs.webkit.org/show_bug.cgi?id=112426
642
643         Reviewed by Ryosuke Niwa.
644
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.
660         (WebKit):
661         (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): Implement method
662         using settings.
663         (WebKit::WebPage::setSelectTrailingWhitespaceEnabled): Implement method
664         using settings and set smartInsertDeleteEnabled as they are mutually
665         exclusive.
666         * WebProcess/WebPage/WebPage.h:
667         (WebPage): Add new methods headers.
668
669 2013-05-17  Brady Eidson  <beidson@apple.com>
670
671         Fix crash introduced by http://trac.webkit.org/changeset/150282
672         Followup to https://bugs.webkit.org/show_bug.cgi?id=116253
673
674         Reviewed by Andreas Kling.
675
676         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
677         (WebKit::WebChromeClient::focusedFrameChanged): Frame might be null.
678
679 2013-05-17  Brady Eidson  <beidson@apple.com>
680
681         Replace WebFrameLoaderClient static_casts with a function that might return null.
682         https://bugs.webkit.org/show_bug.cgi?id=116253
683
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.
689
690         Reviewed by Alexey Proskuryakov.
691
692         Add the utility function to cast:
693         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
694         (WebKit::toWebFrameLoaderClient):
695
696         Adopt it everywhere:
697         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
698         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
699
700         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
701         (WebKit::InjectedBundleNodeHandle::documentFrame):
702         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
703         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
704
705         * WebProcess/InjectedBundle/InjectedBundle.cpp:
706         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
707
708         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
709         (WebKit::InjectedBundleDOMWindowExtension::frame):
710
711         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
712         (WebKit::InjectedBundleHitTestResult::frame):
713         (WebKit::InjectedBundleHitTestResult::targetFrame):
714
715         * WebProcess/Network/WebResourceLoadScheduler.cpp:
716         (WebKit::WebResourceLoadScheduler::scheduleLoad):
717
718         * WebProcess/Plugins/PluginView.cpp:
719         (WebKit::webPage):
720         (WebKit::PluginView::performFrameLoadURLRequest):
721
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):
732
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):
740
741         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
742         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
743         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
744
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):
751
752         * WebProcess/WebPage/WebPage.cpp:
753         (WebKit::WebPage::mainFrameHasCustomRepresentation):
754
755 2013-05-17  Sam Weinig  <sam@webkit.org>
756
757         Expose new load-with-userData API to Objective-C
758         https://bugs.webkit.org/show_bug.cgi?id=116335
759
760         Reviewed by Anders Carlsson.
761
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.
766
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:
788
789 2013-05-17  Sam Weinig  <sam@webkit.org>
790
791         Add WKPageLoadData and WKPageLoadDataWithUserData SPI to support loading arbitrary data blobs
792         https://bugs.webkit.org/show_bug.cgi?id=116325
793
794         Reviewed by Simon Fraser.
795
796         * UIProcess/API/C/WKPage.cpp:
797         (WKPageLoadData):
798         (WKPageLoadDataWithUserData):
799         Add new SPI.
800
801         * UIProcess/API/C/WKPage.h:
802         * UIProcess/WebPageProxy.cpp:
803         (WebKit::WebPageProxy::loadData):
804         * UIProcess/WebPageProxy.h:
805         Pipe through to the WebProcess.
806
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
817         from IPC magic.
818
819
820 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
821
822         [EFL][WK2] Fix sub menu initialization in ewk_context_menu_item
823         https://bugs.webkit.org/show_bug.cgi?id=116321
824
825         Reviewed by Christophe Dumez.
826
827         During sub menu creation, after initializing m_parentMenu, parentMenu
828         pointer became null which may cause segfaults. This patch fixes it by
829         using m_parentMenu.
830
831         * UIProcess/API/efl/ewk_context_menu_item.cpp:
832         (EwkContextMenuItem::EwkContextMenuItem):
833
834 2013-05-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
835
836         [EFL][WK2] Support sub menu in ewk context menus
837         https://bugs.webkit.org/show_bug.cgi?id=114729
838
839         Reviewed by Christophe Dumez.
840
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.
846
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):
860         (EwkContextMenu):
861         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
862         (showContextMenu):
863
864 2013-05-17  Zoltan Arvai  <zarvai@inf.u-szeged.hu>, Ádám Kallai  <kadam@inf.u-szeged.hu>
865
866         [Qt] Unreviewed build fix.
867
868         Add missing Qt specific initializer for willLoadURLRequest and willLoadDataRequest.
869
870         * WebProcess/qt/QtBuiltinBundlePage.cpp:
871         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
872
873 2013-05-16  Beth Dakin  <bdakin@apple.com>
874
875         Remove WKBundlePageGetHeaderLayer/Footer SPI
876         https://bugs.webkit.org/show_bug.cgi?id=116254
877
878         Reviewed by Benjamin Poulain.
879
880         We should remove the Remove WKBundlePageGetHeaderLayer/Footer SPI. It was only 
881         recently added and have been replaced by WKBundlePageSetHeaderBanner/Footer.
882
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:
887         (WebPage):
888         * WebProcess/WebPage/mac/WebPageMac.mm:
889         (WebKit):
890         (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
891
892 2013-05-14  Sam Weinig  <sam@webkit.org>
893
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
896
897         Reviewed by Anders Carlsson.
898
899         Adds "WithUserData" versions of all the load APIs and two new WKBundlePageLoaderClient functions,
900         willLoadURLRequest and willLoadDataRequest to let the bundle access them.
901
902         Adds WebKit2WillLoadTest.* API tests.
903
904         * UIProcess/API/C/WKPage.cpp:
905         (WKPageLoadURLWithUserData):
906         (WKPageLoadURLRequestWithUserData):
907         (WKPageLoadFile):
908         (WKPageLoadFileWithUserData):
909         (WKPageLoadHTMLStringWithUserData):
910         (WKPageLoadAlternateHTMLStringWithUserData):
911         (WKPageLoadPlainTextStringWithUserData):
912         (WKPageLoadWebArchiveDataWithUserData):
913         * UIProcess/API/C/WKPage.h:
914         * UIProcess/WebPageProxy.cpp:
915         * UIProcess/WebPageProxy.h:
916         (WebPageProxy):
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:
923         (WebCore):
924         (InjectedBundlePageLoaderClient):
925         * WebProcess/WebPage/WebPage.cpp:
926         * WebProcess/WebPage/WebPage.h:
927         * WebProcess/WebPage/WebPage.messages.in:
928
929 2013-05-16  Manuel Rego Casasnovas  <rego@igalia.com>
930
931         [GTK] Fix memory leak in WebKitBackForwardList
932         https://bugs.webkit.org/show_bug.cgi?id=116222
933
934         Reviewed by Carlos Garcia Campos.
935
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.
939
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
944         RefPtr::get().
945         (webkit_back_forward_list_get_forward_list_with_limit): Ditto.
946
947 2013-05-16  Commit Queue  <commit-queue@webkit.org>
948
949         Unreviewed, rolling out r150034.
950         http://trac.webkit.org/changeset/150034
951         https://bugs.webkit.org/show_bug.cgi?id=116257
952
953         This work around doesn't work due to another bug NSUndoManager
954         has (Requested by rniwa on #webkit).
955
956         * UIProcess/API/mac/PageClientImpl.mm:
957         (WebKit::PageClientImpl::registerEditCommand):
958
959 2013-05-16  Tim Horton  <timothy_horton@apple.com>
960
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>
964
965         Reviewed by Anders Carlsson.
966
967         Support loading "application" plug-ins even if plug-ins are explicitly disabled.
968
969         Make PDFPlugin and SimplePDFPlugin "application" plug-ins, so they can
970         be loaded even if plug-ins are disabled.
971
972         * Platform/CoreIPC/HandleMessage.h:
973         (CoreIPC::callMemberFunction):
974         Add a 5-argument, 3-reply version of callMemberFunction.
975
976         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
977         (WebKit::NetscapePluginModule::getPluginInfo):
978         NPAPI plug-ins are not application plug-ins.
979
980         * Shared/WebCoreArgumentCoders.cpp:
981         (CoreIPC::::encode):
982         (CoreIPC::::decode):
983         Encode/decode the new isApplicationPlugin field on PluginInfo.
984
985         * UIProcess/Plugins/PluginInfoStore.cpp:
986         (WebKit::PluginInfoStore::findPluginForMIMEType):
987         (WebKit::PluginInfoStore::findPluginForExtension):
988         (WebKit::PluginInfoStore::findPlugin):
989         * UIProcess/Plugins/PluginInfoStore.h:
990         (PluginInfoStore):
991         Give PluginInfoStore's findPlugin method and its private helper
992         methods an argument allowing them to only match application plug-ins.
993
994         (WebKit::WebPageProxy::findPlugin):
995         * UIProcess/WebPageProxy.h:
996         (WebPageProxy):
997         * UIProcess/WebPageProxy.messages.in:
998         Add an argument allowing findPlugin to restrict its search to only application plug-ins.
999
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.
1005
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.
1011
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.
1016
1017 2013-05-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1018
1019         [EFL][WK2] Make Ewk_Context_Menu Ewk_Object
1020         https://bugs.webkit.org/show_bug.cgi?id=116097
1021
1022         Reviewed by Gyuyoung Kim.
1023
1024         Changed Ewk_Context_Menu to be an Ewk_Object so pointer to menu
1025         object can be shared between different modules.
1026
1027         * UIProcess/API/efl/EwkView.cpp:
1028         (EwkView::showContextMenu):
1029         * UIProcess/API/efl/EwkView.h:
1030         (EwkView):
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:
1047         (EwkContextMenu):
1048         (EwkContextMenu::create):
1049         * UIProcess/API/efl/ewk_defines.h:
1050
1051 2013-05-16  Andreas Kling  <akling@apple.com>
1052
1053         Page::chrome() should return a reference.
1054         <http://webkit.org/b/116185>
1055
1056         Reviewed by Anders Carlsson.
1057
1058 2013-05-16  Brady Eidson  <beidson@apple.com>
1059
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
1062
1063         Reviewed by Sam Weinig.
1064
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.
1068
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.
1074
1075 2013-05-16  Timothy Hatcher  <timothy@apple.com>
1076
1077         Make the Find Banner in Safari work again with the docked Web Inspector.
1078
1079         https://webkit.org/b/116182
1080         rdar://problem/13857423
1081
1082         Reviewed by Benjamin Poulain.
1083
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.
1088
1089 2013-05-16  Tim Horton  <timothy_horton@apple.com>
1090
1091         [wk2] didGetImageForFindMatch can return a null image
1092         https://bugs.webkit.org/show_bug.cgi?id=116251
1093         <rdar://problem/13277246>
1094
1095         Reviewed by Simon Fraser.
1096
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.
1099
1100         * WebProcess/WebPage/FindController.cpp:
1101         (WebKit::FindController::getImageForFindMatch):
1102
1103 2013-05-16  Tim Horton  <timothy_horton@apple.com>
1104
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>
1108
1109         Reviewed by Darin Adler.
1110
1111         Send the minimum layout width to the WebProcess upon initialization,
1112         so that crashed-and-restarted WebProcesses have the correct width.
1113
1114         * Shared/WebPageCreationParameters.cpp:
1115         (WebKit::WebPageCreationParameters::encode):
1116         (WebKit::WebPageCreationParameters::decode):
1117         * Shared/WebPageCreationParameters.h:
1118         (WebPageCreationParameters):
1119         Add minimumLayoutWidth WebPage creation parameter.
1120
1121         * UIProcess/WebPageProxy.cpp:
1122         (WebKit::WebPageProxy::creationParameters):
1123         Send the current minimumLayoutWidth to the WebPage when it's created.
1124
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.
1128
1129         * WebProcess/WebPage/WebPage.cpp:
1130         (WebKit::WebPage::WebPage):
1131         Set minimumLayoutWidth to the value provided by our creation parameters.
1132
1133 2013-05-16  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
1134
1135         [Win] Unreviewed buildfix after r150161.
1136
1137         'Unknown' in HTTPRequest.cpp is ambiguous symbol with MSVC,
1138         because it is also defined in MS SDK 7.1 winioctl.h.
1139
1140         * UIProcess/InspectorServer/HTTPRequest.cpp:
1141         (WebKit::HTTPRequest::HTTPRequest):
1142
1143 2013-05-16  Andras Becsi  <andras.becsi@digia.com>
1144
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
1147
1148         Rubber-stamped by Jocelyn Turcotte.
1149
1150         * Shared/Plugins/Netscape/PluginInformation.cpp:
1151         (WebKit::getPluginModuleInformation):
1152
1153 2013-05-15  Simon Cooper  <scooper@apple.com>
1154
1155         Enable printing in plugins
1156         https://bugs.webkit.org/show_bug.cgi?id=116201
1157         <rdar://problem/12347902>
1158
1159         Reviewed by Alexey Proskuryakov.
1160
1161         Add the printing entitlement so that legacy printing drivers can
1162         customize the print panel. Update the printing rules and enable them
1163         for the plugins.
1164
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:
1170
1171 2013-05-15  Anders Carlsson  <andersca@apple.com>
1172
1173         Move HTTPRequest class to WebKit2
1174         https://bugs.webkit.org/show_bug.cgi?id=116192
1175
1176         Reviewed by Darin Adler.
1177
1178         Move HTTPRequest to WebKit2 and put it in the WebKit namespace.
1179
1180         * CMakeLists.txt:
1181         * GNUmakefile.list.am:
1182         * Target.pri:
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:
1194         (WebKit):
1195         (WebSocketServerConnection):
1196
1197 2013-05-15  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1198
1199         [GTK] [WebKit2] enable displaying console.log messages to system console
1200         https://bugs.webkit.org/show_bug.cgi?id=115578
1201
1202         Reviewed by Martin Robinson.
1203
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
1210
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):
1221
1222 2013-05-08  Gavin Barraclough  <barraclough@apple.com>
1223
1224         Process suppression should throttle scripted animations
1225         https://bugs.webkit.org/show_bug.cgi?id=115812
1226
1227         Reviewed by Simon Fraser.
1228
1229         <rdar://problem/13799726>
1230
1231         * WebProcess/WebPage/WebPage.cpp:
1232         (WebKit::WebPage::setThrottled):
1233         (WebKit):
1234         * WebProcess/WebPage/WebPage.h:
1235         (WebPage):
1236             - Added setThrottled, forwards to WebCore::Page.
1237         * WebProcess/WebProcess.cpp:
1238         (WebKit):
1239         (WebKit::WebProcess::setProcessSuppressionEnabled):
1240         * WebProcess/WebProcess.h:
1241         (WebProcess):
1242             - Intercept calls to setProcessSuppressionEnabled, also mark all pages as being throttled.
1243
1244 2013-05-15  Anders Carlsson  <andersca@apple.com>
1245
1246         WKPageGetPluginInformationDisplayNameKey doesn't return the right key
1247         https://bugs.webkit.org/show_bug.cgi?id=116188
1248
1249         Reviewed by Andreas Kling.
1250
1251         * UIProcess/API/C/WKPage.cpp:
1252         (WKPageGetPluginInformationDisplayNameKey):
1253
1254 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
1255
1256         More fixing after WebProcessShim renaming in r149074.
1257
1258         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
1259         (WebContentServiceInitializer): Updated a comment to mention the shim by its new name.
1260
1261 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
1262
1263         <rdar://problem/13902706> Lion: com.apple.tsm.uiserver sandbox error in Console when
1264         launching Safari
1265
1266         Reviewed by Anders Carlsson.
1267
1268         * WebProcess/com.apple.WebProcess.sb.in: Silence the violation.
1269
1270 2013-05-13  Anders Carlsson  <andersca@apple.com>
1271
1272         Frame::editor() should return a reference
1273         https://bugs.webkit.org/show_bug.cgi?id=116037
1274
1275         Reviewed by Darin Adler.
1276
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):
1328
1329 2013-05-15  Anders Carlsson  <andersca@apple.com>
1330
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>
1334
1335         Reviewed by Sam Weinig.
1336
1337         * PluginProcess/PluginControllerProxy.h:
1338         Add openPluginPreferencePane().
1339
1340         * PluginProcess/mac/PluginControllerProxyMac.mm:
1341         (WebKit::PluginControllerProxy::openPluginPreferencePane):
1342         Send OpenPluginPreferencePane to the UI process.
1343
1344         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1345         (WebKit::NetscapePluginModule::getPluginInfo):
1346         Get the preference pane path.
1347         
1348         * Shared/Plugins/PluginModuleInfo.h:
1349         Add preferencePanePath member variable.
1350
1351         * UIProcess/Plugins/PluginProcessProxy.h:
1352         Add openPluginPreferencePane message handler.
1353
1354         * UIProcess/Plugins/PluginProcessProxy.messages.in:
1355         ADd OpenPluginPreferencePane message.
1356
1357         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1358         (WebKit::PluginProcessProxy::openPluginPreferencePane):
1359         Get the path to the preference pane and use LS to open it.
1360
1361         * WebKit2.xcodeproj/project.pbxproj:
1362         Add new files.
1363
1364         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1365         (WebKit::NPN_GetValue):
1366         Handle WKNVPlugInContainer.
1367
1368         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1369         Add WKNVPlugInContainer member variable.
1370
1371         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1372         (WebKit::NetscapePlugin::openPluginPreferencePane):
1373         Call through to the plug-in controller.
1374
1375         (WebKit::NetscapePlugin::plugInContainer):
1376         Create a WKNPAPIPlugInContainer object if necessary.
1377
1378         (WebKit::NetscapePlugin::platformDestroy):
1379         Invalidate the WKNPAPIPlugInContainer object.
1380
1381         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.h:
1382         New file with the protocol definition.
1383
1384         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
1385         (-[WKNPAPIPlugInContainer dealloc]):
1386         Assert that the plug-in is null (that we've been invalidated).
1387
1388         (-[WKNPAPIPlugInContainer _invalidate]):
1389         Set the plug-in to null.
1390
1391         (-[WKNPAPIPlugInContainer openPlugInPreferencePane]):
1392         Call through to the plug-in.
1393
1394         * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainerInternal.h:
1395         New file with the interface declaration for the object that implements the protocol.
1396
1397         * WebProcess/Plugins/PluginController.h:
1398         Add openPluginPreferencePane member function.
1399
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.
1403
1404 2013-05-15  Alexey Proskuryakov  <ap@apple.com>
1405
1406         [WK2][Mac] Split resetTextInputState into two functions
1407         https://bugs.webkit.org/show_bug.cgi?id=116174
1408
1409         Reviewed by Anders Carlsson.
1410
1411         Splitting resetTextInputState into resetSecureInputState and
1412         notifyInputContextAboutDiscardedComposition, paving the way for a fix where these
1413         won't be happening simultaneously.
1414
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):
1427
1428 2013-05-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1429
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
1432
1433         Reviewed by Anders Carlsson.
1434
1435         Use 4 pointers for most of the classes that are unlikely to grow
1436         and 8 for WebKitWebView and WebKitWebContext.
1437
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):
1496
1497 2013-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1498
1499         Remove WTF_USE_PLATFORM_STRATEGIES
1500         https://bugs.webkit.org/show_bug.cgi?id=114431
1501
1502         Reviewed by Darin Adler.
1503
1504         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1505         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1506         * WebProcess/WebProcess.cpp:
1507         (WebKit::WebProcess::WebProcess):
1508
1509 2013-05-14  Simon Cooper  <scooper@apple.com>
1510
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>
1514
1515         Reviewed by Alexey Proskuryakov.
1516
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):
1523
1524 2013-05-14  Tim Horton  <timothy_horton@apple.com>
1525
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>
1529
1530         Reviewed by Simon Fraser.
1531
1532         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1533         (TiledCoreAnimationDrawingArea):
1534         Add updateMainFrameClipsToExposedRect.
1535
1536         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1537         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1538         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1539         Remove m_clipsToExposedRect. We don't actually need it.
1540
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.
1544
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.
1549
1550         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1551         Use updateMainFrameClipsToExposedRect.
1552
1553 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
1554
1555         [Mac] Add a testing shim for secure event input functions
1556         https://bugs.webkit.org/show_bug.cgi?id=116122
1557
1558         Reviewed by Mark Rowe.
1559
1560         Moved DyldInterpose.h to WebCore, as we now use it there too.
1561
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:
1567
1568 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1569
1570         [Win] REGRESSION(r149944): mmap is not available on Windows
1571         https://bugs.webkit.org/show_bug.cgi?id=116015
1572
1573         Reviewed by Anders Carlsson.
1574
1575         Use fastAlloc/fastFree for platforms other than OS(DARWIN) where
1576         using mmap is not necessary and maybe not available.
1577
1578         * Platform/CoreIPC/ArgumentEncoder.cpp:
1579         (CoreIPC::allocBuffer):
1580         (CoreIPC::freeBuffer):
1581         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1582         (CoreIPC::ArgumentEncoder::grow):
1583
1584 2013-05-14  Zan Dobersek  <zdobersek@igalia.com>
1585
1586         [GTK] Move generated ColorData.cpp, WebKitFontFamilyNames.(cpp|h) build targets into libPlatform
1587         https://bugs.webkit.org/show_bug.cgi?id=115921
1588
1589         Reviewed by Gustavo Noronha Silva.
1590
1591         * GNUmakefile.am: Add platform_cppflags to the list of libwebkit2gtk CPPFLAGS.
1592
1593 2013-05-14  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1594
1595         [WK2][Win] Fix ASSERT(DeleteTimerQueueTimer...)
1596         https://bugs.webkit.org/show_bug.cgi?id=116039
1597
1598         Reviewed by Benjamin Poulain.
1599
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.
1602
1603         * Platform/win/WorkQueueWin.cpp:
1604         (WorkQueue::timerCallback):
1605
1606 2013-05-14  Alexey Proskuryakov  <ap@apple.com>
1607
1608         Remove unused "type" field from DictionaryPopupInfo
1609         https://bugs.webkit.org/show_bug.cgi?id=116011
1610
1611         Reviewed by Darin Adler.
1612
1613         It is unused, and furthermore, PDFPlugin sets it incorrectly anyway.
1614
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):
1628
1629 2013-05-14  Michael Brüning  <michael.bruning@digia.com>
1630
1631         [WK2] Make WebPageProxy use deviceScaleFactor() in creationParameters().
1632         https://bugs.webkit.org/show_bug.cgi?id=110218
1633
1634         Reviewed by Darin Adler.
1635
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.
1640
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.
1645
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):
1652
1653 2013-05-13  Alex Christensen  <achristensen@apple.com>
1654
1655         Added testRunner.setPrinting.
1656         https://bugs.webkit.org/show_bug.cgi?id=42693
1657         rdar://problem/8213845
1658
1659         Reviewed by Darin Adler.
1660
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.
1669
1670 2013-05-13  Timothy Hatcher  <timothy@apple.com>
1671
1672         Add support for updating the Web Inspector toolbar height.
1673
1674         https://bugs.webkit.org/show_bug.cgi?id=115996
1675
1676         Reviewed by Joseph Pecoraro and Benjamin Poulain.
1677
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):
1686         (WebKit):
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:
1698
1699 2013-05-13  Ryosuke Niwa  <rniwa@webkit.org>
1700
1701         Sometimes NSUndoManager can get into an inconsistent state
1702         https://bugs.webkit.org/show_bug.cgi?id=116050
1703
1704         Reviewed by Enrica Casucci.
1705
1706         Always group undo items to work around a bug in NSUndoManager that manifests
1707         when we call removeAllActionsWithTarget.
1708
1709         * UIProcess/API/mac/PageClientImpl.mm:
1710         (WebKit::PageClientImpl::registerEditCommand):
1711
1712 2013-05-13  Anders Carlsson  <andersca@apple.com>
1713
1714         [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
1715         https://bugs.webkit.org/show_bug.cgi?id=116026
1716
1717         Reviewed by Andreas Kling.
1718
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.
1723
1724         * Platform/CoreIPC/HandleMessage.h:
1725         (CoreIPC):
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:
1733         (StorageManager):
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:
1748         (StorageAreaMap):
1749         * WebProcess/Storage/StorageAreaMap.messages.in:
1750
1751 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1752
1753         [WK2][CoordinatedGraphics] Avoid dispensable calls to WebView::updateViewportSize()
1754         https://bugs.webkit.org/show_bug.cgi?id=116045
1755
1756         Reviewed by Darin Adler.
1757
1758         * UIProcess/CoordinatedGraphics/WebView.cpp:
1759         (WebKit::WebView::setSize):
1760
1761 2013-05-13  Jon Lee  <jonlee@apple.com>
1762
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>
1766
1767         Reviewed by Ryosuke Niwa.
1768
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.
1772
1773         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1774         * UIProcess/Notifications/WebNotificationManagerProxy.h: Remove implementation of
1775         processDidClose().
1776
1777 2013-05-13  Martin Robinson  <mrobinson@igalia.com>
1778
1779         [GTK] [WebKit2] Use a template file for generated GObject enum files
1780         https://bugs.webkit.org/show_bug.cgi?id=115867
1781
1782         Reviewed by Carlos Garcia Campos.
1783
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.
1788
1789 2013-05-13  Noam Rosenthal  <noam@webkit.org>
1790
1791         [CoordGfx] requestAnimationFrame performance issues
1792         https://bugs.webkit.org/show_bug.cgi?id=112345
1793
1794         Reviewed by Jocelyn Turcotte.
1795
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
1802           of flushes.
1803
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:
1813
1814 2013-05-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1815
1816         [WK2][CoordinatedGraphics] WKView needs API for handling opacity
1817         https://bugs.webkit.org/show_bug.cgi?id=116032
1818
1819         Reviewed by Kenneth Rohde Christiansen.
1820
1821         Add WKViewSetOpacity and WKViewOpacity APIs and use them in
1822         WebView.cpp.
1823
1824         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
1825         (WKViewSetOpacity):
1826         (WKViewOpacity):
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):
1834         (WebView):
1835
1836 2013-05-13  Zan Dobersek  <zdobersek@igalia.com>
1837
1838         [GTK] Use WebCore layer archives for TestWebCore, WebKitPluginProcess
1839         https://bugs.webkit.org/show_bug.cgi?id=115918
1840
1841         Reviewed by Gustavo Noronha Silva.
1842
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.
1849
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.
1855
1856         * GNUmakefile.am:
1857
1858 2013-05-13  Zalan Bujtas  <zalan@apple.com>
1859
1860         WebProcess consuming very high CPU on linkedin.com
1861         https://bugs.webkit.org/show_bug.cgi?id=115601
1862
1863         Reviewed by Andreas Kling.
1864
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.
1868
1869         * Configurations/FeatureDefines.xcconfig:
1870
1871 2013-05-12  Anders Carlsson  <andersca@apple.com>
1872
1873         Stop including UnusedParam.h
1874         https://bugs.webkit.org/show_bug.cgi?id=116003
1875
1876         Reviewed by Sam Weinig.
1877
1878         UnusedParam.h is empty now so there's no need to include it anymore.
1879
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:
1890
1891 2013-05-12  Andreas Kling  <akling@apple.com>
1892
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>
1896
1897         Reviewed by Anders Carlsson.
1898
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.
1902
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
1905         by the UI process.
1906
1907         * UIProcess/WebProcessProxy.cpp:
1908         (WebKit::WebProcessProxy::WebProcessProxy):
1909         (WebKit::WebProcessProxy::removeWebPage):
1910         (WebKit::WebProcessProxy::enableSuddenTermination):
1911         (WebKit::WebProcessProxy::disableSuddenTermination):
1912         * UIProcess/WebProcessProxy.h:
1913         (WebProcessProxy):
1914         * UIProcess/WebProcessProxy.messages.in:
1915         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1916         (WebKit::WebChromeClient::enableSuddenTermination):
1917         (WebKit::WebChromeClient::disableSuddenTermination):
1918         * WebProcess/WebCoreSupport/WebChromeClient.h:
1919         (WebChromeClient):
1920
1921 2013-05-12  Alexey Proskuryakov  <ap@apple.com>
1922
1923         <rdar://problem/13402976> Sandbox violations in com.nvidia.OpenGL on Lion.
1924
1925         Reviewed by Dan Bernstein.
1926
1927         * WebProcess/com.apple.WebProcess.sb.in: Silence the violations (on Lion only).
1928
1929 2013-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1930
1931         [GTK] Remove unnecessary GTK_CHECK_VERSION #ifdefs
1932         https://bugs.webkit.org/show_bug.cgi?id=115914
1933
1934         Reviewed by Martin Robinson.
1935
1936         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1937         (webkitWebViewBaseRealize):
1938
1939 2013-05-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1940
1941         Unreviewed build fix after r149944.
1942
1943         * Platform/CoreIPC/ArgumentEncoder.cpp: Include <sys/mman.h> for mmap(2).
1944
1945 2013-05-11  Anders Carlsson  <andersca@apple.com>
1946
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>
1950
1951         Reviewed by Sam Weinig.
1952
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.
1955
1956         * Platform/CoreIPC/ArgumentEncoder.cpp:
1957         (CoreIPC::ArgumentEncoder::ArgumentEncoder):
1958         Set up the buffer pointers to point to the inline buffer.
1959
1960         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
1961         Unmap the buffer if necessary.
1962
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.
1967
1968         * Platform/CoreIPC/ArgumentEncoder.h:
1969         (ArgumentEncoder):
1970
1971 2013-05-11  Zan Dobersek  <zdobersek@igalia.com>
1972
1973         Unreviewed GTK build fix after r149904.
1974
1975         * GNUmakefile.list.am: Adding missing build targets.
1976
1977 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1978
1979         Unreviewed, Fix WK2 EFL build after r149904.
1980
1981         Add new PluginInformation.cpp file to CMake.
1982
1983         * CMakeLists.txt:
1984
1985 2013-05-11  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1986
1987         Unreviewed, fix WK2 EFL build after r149904.
1988
1989         Add new WKPluginInformation.cpp file to CMake.
1990
1991         * CMakeLists.txt:
1992
1993 2013-05-11  Andreas Kling  <akling@apple.com>
1994
1995         When possible, terminate web processes immediately when closing their last page.
1996         <http://webkit.org/b/115964>
1997         <rdar://problem/13869266>
1998
1999         Reviewed by Geoffrey Garen.
2000
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.
2003
2004         We can just kill them off right away in WebProcessProxy::removeWebPage() when the last page is closed.
2005
2006         * UIProcess/WebProcessProxy.cpp:
2007         (WebKit::WebProcessProxy::removeWebPage):
2008
2009             Terminate the child process immediately if possible.
2010
2011         * UIProcess/WebProcessProxy.h:
2012         (WebKit::WebProcessProxy::canTerminateChildProcess):
2013         (WebKit::WebProcessProxy::shouldTerminate):
2014
2015             Broke out the logic from the shouldTerminate() IPC message handler into a separate function
2016             so we can call it from removeWebPage().
2017
2018 2013-05-11  Anders Carlsson  <andersca@apple.com>
2019
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>
2023
2024         Reviewed by Andreas Kling.
2025
2026         Handle terminating a process that has not been fully launched.
2027
2028         * UIProcess/Launcher/ProcessLauncher.cpp:
2029         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
2030         If we have been invalidated, dispose the connection identifier.
2031
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.
2036
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).
2040
2041 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
2042
2043         Web Inspector: Implement WK2 version of WebInspectorFrontendClient::save
2044         https://bugs.webkit.org/show_bug.cgi?id=115564
2045
2046         Reviewed by Benjamin Poulain.
2047
2048         Implement InspectorFrontendHost's save() and append() methods for
2049         Mac WebKit2. Add canSave() for all ports.
2050
2051         * UIProcess/WebInspectorProxy.cpp:
2052         (WebKit::WebInspectorProxy::save):
2053         (WebKit):
2054         (WebKit::WebInspectorProxy::append):
2055         * UIProcess/WebInspectorProxy.h:
2056         (WebInspectorProxy):
2057         * UIProcess/WebInspectorProxy.messages.in:
2058         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2059         (WebKit::WebInspectorProxy::platformSave):
2060         (WebKit):
2061         (WebKit::WebInspectorProxy::platformAppend):
2062         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2063         (WebKit::WebInspectorProxy::platformSave):
2064         (WebKit):
2065         (WebKit::WebInspectorProxy::platformAppend):
2066         * UIProcess/mac/WebInspectorProxyMac.mm:
2067         (WebKit::WebInspectorProxy::platformSave):
2068         (WebKit):
2069         (WebKit::WebInspectorProxy::platformAppend):
2070         * UIProcess/qt/WebInspectorProxyQt.cpp:
2071         (WebKit::WebInspectorProxy::platformSave):
2072         (WebKit):
2073         (WebKit::WebInspectorProxy::platformAppend):
2074         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
2075         (WebKit::WebInspectorFrontendClient::canSave):
2076         (WebKit):
2077         (WebKit::WebInspectorFrontendClient::save):
2078         (WebKit::WebInspectorFrontendClient::append):
2079         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
2080         (WebInspectorFrontendClient):
2081         * WebProcess/WebPage/WebInspector.cpp:
2082         (WebKit::WebInspector::save):
2083         (WebKit):
2084         (WebKit::WebInspector::append):
2085         (WebKit::WebInspector::didSave):
2086         (WebKit::WebInspector::didAppend):
2087         * WebProcess/WebPage/WebInspector.h:
2088         (WebInspector):
2089         * WebProcess/WebPage/WebInspector.messages.in:
2090         * WebProcess/WebPage/efl/WebInspectorEfl.cpp:
2091         (WebKit::WebInspector::canSave):
2092         (WebKit):
2093         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
2094         (WebKit::WebInspector::canSave):
2095         (WebKit):
2096         * WebProcess/WebPage/mac/WebInspectorMac.mm:
2097         (WebKit::WebInspector::canSave):
2098         (WebKit):
2099         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
2100         (WebKit::WebInspector::canSave):
2101         (WebKit):
2102
2103 2013-05-10  Remy Demarest  <rdemarest@apple.com>
2104
2105         Copy WKPluginInformation.h header to the WebKit2 Framework private headers.
2106         https://bugs.webkit.org/show_bug.cgi?id=115940
2107
2108         Reviewed by Darin Adler.
2109
2110         * WebKit2.xcodeproj/project.pbxproj:
2111         Move WKPluginInformation.h file from the framework's Project Headers to
2112         Private Headers.
2113
2114 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2115
2116         [Qt][Mac] Unreviewed. Roll out the fix attempt in r149912.
2117
2118         * Target.pri:
2119
2120 2013-05-10  Simon Cooper  <scooper@apple.com>
2121
2122         Fix AppleConnect issues for WiFi interfaces
2123         <rdar://problem/13776227&13776240&13776281>
2124         https://bugs.webkit.org/show_bug.cgi?id=115932
2125
2126         Reviewed by Alexey Proskuryakov.
2127
2128         Add support for WiFi interfaces for the AppleConnect plugin.
2129         Remove the FIXME.
2130
2131         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2132
2133 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2134
2135         [Qt][Mac] Unreviewed speculative build fix after r149904.
2136
2137         * Target.pri:
2138
2139 2013-05-10  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
2140
2141         [Qt] Unreviewed buildfix after r149904.
2142
2143         * Target.pri:
2144
2145 2013-05-09  Sam Weinig  <sam@webkit.org>
2146
2147         Unify plug-in information dictionaries
2148         <rdar://problem/13852080>
2149         https://bugs.webkit.org/show_bug.cgi?id=115891
2150
2151         Reviewed by Anders Carlsson.
2152
2153         This unifies the plug-in information dictionaries vended by WKContextCopyPlugInInfoForBundleIdentifier
2154         and WKContextGetInfoForInstalledPlugIns with those from the WKPageLoaderClient and WKPageUIClient.
2155
2156         All the old keys will continue to work, but have been deprecated in favor of new keys defined in 
2157         WKPluginInformation.h
2158
2159         * Shared/API/c/WKPluginInformation.cpp: Added.
2160         * Shared/API/c/WKPluginInformation.h: Added.
2161         Export new keys as SPI.
2162
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):
2177         Add new keys.
2178
2179         (WebKit::pluginModuleInformation):
2180         (WebKit::createPluginInformationDictionary):
2181         Add creation functions to simplify multiple sites.
2182
2183         * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: Added.
2184         (WebKit::platformPluginModuleInformation):
2185         Add platform specific data to the dictionary.
2186
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.
2198
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.
2204
2205         (WKPlugInInfoPathKey):
2206         (WKPlugInInfoBundleIdentifierKey):
2207         (WKPlugInInfoVersionKey):
2208         (WKPlugInInfoLoadPolicyKey):
2209         (WKPlugInInfoUpdatePastLastBlockedVersionIsKnownAvailableKey):
2210         (WKPlugInInfoIsSandboxedKey):
2211         Deprecate the old keys.
2212
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.
2223
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.
2231
2232         * WebKit2.xcodeproj/project.pbxproj:
2233         Add new files.
2234
2235 2013-05-10  Brian J. Burg  <burg@cs.washington.edu>
2236
2237         Web Inspector: implement runOpenPanel callback for WebKit2 inspector
2238         https://bugs.webkit.org/show_bug.cgi?id=115865
2239
2240         Reviewed by Sam Weinig.
2241
2242         * UIProcess/WebInspectorProxy.h:
2243         (WebKit::WebInspectorProxy::inspectorWindow):
2244         Add an accessor for m_inspectorWindow.
2245
2246         * UIProcess/mac/WebInspectorProxyMac.mm:
2247         (WebKit::runOpenPanel):
2248         Show the open panel dialog when requested.
2249
2250         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2251         Register the callback when the inspector page is created.
2252
2253 2013-05-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2254
2255         [WK2][CoordinatedGraphics] WKViewSetThemePath is EFL specific
2256         https://bugs.webkit.org/show_bug.cgi?id=115928
2257
2258         Reviewed by Kenneth Rohde Christiansen.
2259
2260         WKViewSetThemePath was moved to WKViewEfl.h since it is EFL specific.
2261
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:
2269         (WebView):
2270         * UIProcess/efl/ViewClientEfl.cpp:
2271         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2272         * UIProcess/efl/WebViewEfl.cpp:
2273         (WebKit::WebViewEfl::setThemePath):
2274         * UIProcess/efl/WebViewEfl.h:
2275         (WebViewEfl):
2276
2277 2013-05-10  Jer Noble  <jer.noble@apple.com>
2278
2279         REGRESSION (r149439): Video turns blank upon entering full screen for the first time
2280         https://bugs.webkit.org/show_bug.cgi?id=115617
2281
2282         Reviewed by Eric Carlson.
2283
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.
2287
2288         * UIProcess/API/mac/WKView.mm:
2289         (-[WKView createFullScreenWindow]):
2290
2291 2013-05-10  Zan Dobersek  <zdobersek@igalia.com>
2292
2293         [WK2] Make the WebSoupRequestManager a supplement to the WebProcess
2294         https://bugs.webkit.org/show_bug.cgi?id=115717
2295
2296         Reviewed by Andreas Kling.
2297
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.
2302
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.
2316
2317 2013-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2318
2319         [GTK] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
2320         https://bugs.webkit.org/show_bug.cgi?id=115904
2321
2322         Reviewed by Martin Robinson.
2323
2324         * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
2325         (startTestServerMonitor):
2326         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
2327         (startTestServerMonitor):
2328
2329 2013-05-09  Anders Carlsson  <andersca@apple.com>
2330
2331         Fix build.
2332
2333         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2334
2335 2013-05-09  Anders Carlsson  <andersca@apple.com>
2336
2337         Enable UI process storage
2338         https://bugs.webkit.org/show_bug.cgi?id=115879
2339         <rdar://problem/12239765>
2340
2341         Reviewed by Beth Dakin.
2342
2343         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2344         Flip the switch.
2345
2346 2013-05-09  Anders Carlsson  <andersca@apple.com>
2347
2348         Remove extra spaces between right angle brackets in template declarations
2349         https://bugs.webkit.org/show_bug.cgi?id=115877
2350
2351         Reviewed by Beth Dakin.
2352
2353         C++11 doesn't require spaces between right angle brackets so remove all of them.
2354
2355         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2356         (WebKit::NetworkBlobRegistry::registerBlobURL):
2357         (WebKit::NetworkBlobRegistry::sandboxExtensions):
2358         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
2359         (NetworkBlobRegistry):
2360         * NetworkProcess/HostRecord.h:
2361         (HostRecord):
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:
2369         (NetworkProcess):
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:
2384         (Connection):
2385         * Platform/WorkQueue.h:
2386         (WorkQueue):
2387         * PluginProcess/PluginProcess.h:
2388         (PluginProcess):
2389         * Scripts/webkit2/messages_unittest.py:
2390         (CoreIPC):
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):
2399         (ImmutableArray):
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:
2410         (StatisticsData):
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:
2423         (CoreIPC::encode):
2424         * SharedWorkerProcess/SharedWorkerProcess.h:
2425         (SharedWorkerProcess):
2426         * UIProcess/API/mac/WKPrintingView.h:
2427         (WebFrameProxy):
2428         * UIProcess/API/mac/WKPrintingView.mm:
2429         (-[WKPrintingView _drawPreview:]):
2430         * UIProcess/API/mac/WKView.mm:
2431         (WebKit):
2432         * UIProcess/Downloads/DownloadProxyMap.cpp:
2433         (WebKit::DownloadProxyMap::processDidClose):
2434         * UIProcess/Downloads/DownloadProxyMap.h:
2435         (DownloadProxyMap):
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:
2475         (StorageManager):
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:
2484         (WebKit):
2485         * UIProcess/WebContext.cpp:
2486         (WebKit::WebContext::createNewWebProcess):
2487         (WebKit::WebContext::enableProcessTermination):
2488         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
2489         * UIProcess/WebContext.h:
2490         (WebContext):
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:
2503         (WebFormClient):
2504         * UIProcess/WebKeyValueStorageManagerProxy.h:
2505         (WebKeyValueStorageManagerProxy):
2506         * UIProcess/WebLoaderClient.cpp:
2507         (WebKit::WebLoaderClient::didChangeBackForwardList):
2508         * UIProcess/WebLoaderClient.h:
2509         (WebLoaderClient):
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:
2528         (WebPageProxy):
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:
2539         (WebProcessProxy):
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:
2584         (NetscapePlugin):
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:
2595         (PluginView):
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:
2616         (EventDispatcher):
2617         * WebProcess/WebPage/FindController.cpp:
2618         (WebKit::FindController::findStringMatches):
2619         * WebProcess/WebPage/FindController.h:
2620         (FindController):
2621         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2622         (WebKit):
2623         * WebProcess/WebPage/WebFrame.cpp:
2624         (WebKit::WebFrame::childFrames):
2625         * WebProcess/WebPage/WebPage.cpp:
2626         (WebKit::WebPage::trackedRepaintRects):
2627         * WebProcess/WebPage/WebPage.h:
2628         (WebKit):
2629         (WebPage):
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:
2644         (WebProcess):
2645
2646 2013-05-09  Anders Carlsson  <andersca@apple.com>
2647
2648         Implement WebPlatformStrategies::transientLocalStorageNamespace
2649         https://bugs.webkit.org/show_bug.cgi?id=115876
2650         <rdar://problem/13852871>
2651
2652         Reviewed by Beth Dakin.
2653
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.
2658
2659 2013-05-09  Anders Carlsson  <andersca@apple.com>
2660
2661         Use explicit qualifiers for names in the std:: namespace
2662         https://bugs.webkit.org/show_bug.cgi?id=115868
2663
2664         Reviewed by Andreas Kling.
2665
2666         * Shared/mac/ArgumentCodersMac.mm:
2667         (CoreIPC::encode):
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:
2689
2690 2013-05-09  Max Feil  <mfeil@rim.com>
2691
2692         shouldUsePluginDocument() needs to be respected when a document is created
2693         https://bugs.webkit.org/show_bug.cgi?id=110308
2694
2695         Reviewed by Rob Buis.
2696
2697         Renaming shouldUsePluginDocument() to shouldAlwaysUsePluginDocument()
2698         for clarity.
2699
2700         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2701         (WebKit::WebFrameLoaderClient::shouldAlwaysUsePluginDocument):
2702         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2703         (WebFrameLoaderClient):
2704
2705 2013-05-09  Timothy Hatcher  <timothy@apple.com>
2706
2707         Make dragging off a tab in Safari with a docked Inspector reattach the Inspector.
2708
2709         https://webkit.org/b/115832
2710         rdar://problem/13605661
2711
2712         Reviewed by Benjamin Poulain.
2713
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.
2718
2719 2013-05-08  Anders Carlsson  <andersca@apple.com>
2720
2721         Fix a typo in a comment.
2722
2723         Rubber-stamped by Darin Adler.
2724
2725         * WebProcess/WebProcess.cpp:
2726         (WebKit::WebProcess::initializeConnection):
2727
2728 2013-05-08  Anders Carlsson  <andersca@apple.com>
2729
2730         Remove bogus StorageAreaMap assertions
2731         https://bugs.webkit.org/show_bug.cgi?id=115838
2732
2733         Reviewed by Sam Weinig.
2734
2735         It is possible for didGetValues, and didClear to be called even if m_hasPendingClear is false so remove the assertions.
2736
2737         * WebProcess/Storage/StorageAreaMap.cpp:
2738         (WebKit::StorageAreaMap::didGetValues):
2739         (WebKit::StorageAreaMap::didClear):
2740
2741 2013-05-08  Anders Carlsson  <andersca@apple.com>
2742
2743         Handle incoming clear operations
2744         https://bugs.webkit.org/show_bug.cgi?id=115829
2745
2746         Reviewed by Sam Weinig.
2747
2748         Handle clear by building up a new storage map with our pending changes.
2749
2750         * WebProcess/Storage/StorageAreaMap.cpp:
2751         (WebKit::StorageAreaMap::applyChange):
2752
2753 2013-05-08  Anders Carlsson  <andersca@apple.com>
2754
2755         Don't apply changes while we're clearing the database
2756         https://bugs.webkit.org/show_bug.cgi?id=115826
2757
2758         Reviewed by Darin Adler.
2759
2760         * UIProcess/Storage/LocalStorageDatabase.cpp:
2761         (WebKit::LocalStorageDatabase::openDatabase):
2762         Only call didOpenDatabaseWithOrigin if we actually did open the database.
2763
2764         (WebKit::LocalStorageDatabase::updateDatabaseWithChangedItems):
2765         Create the database if needed.
2766
2767         * UIProcess/Storage/StorageManager.cpp:
2768         (WebKit::StorageManager::getValues):
2769         Send back a DidGetValues message.
2770
2771         * WebProcess/Storage/StorageAreaMap.cpp:
2772         (WebKit::StorageAreaMap::StorageAreaMap):
2773         Initialize m_hasPendingClear.
2774
2775         (WebKit::StorageAreaMap::clear):
2776         Set m_hasPendingClear to true.
2777
2778         (WebKit::StorageAreaMap::resetValues):
2779         Set m_hasPendingClear back to false.
2780
2781         (WebKit::StorageAreaMap::loadValuesIfNeeded):
2782         Set m_hasPendingClear to true so we'll ignore any changes that are already part of the returned items.
2783
2784         (WebKit::StorageAreaMap::didGetValues):
2785         Set m_hasPendingClear back to false.
2786
2787         (WebKit::StorageAreaMap::didClear):
2788         Set m_hasPendingClear back to false.
2789
2790         (WebKit::StorageAreaMap::applyChange):
2791         Don't apply the change if m_hasPendingClear is true.
2792
2793         * WebProcess/Storage/StorageAreaMap.messages.in:
2794         Add DidGetValues message.
2795
2796 2013-05-08  Andy Estes  <aestes@apple.com>
2797
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
2800
2801         Reviewed by Alexey Proskuryakov.
2802
2803         NSMutableSet does not support adding or removing nil objects, and
2804         WTF::HashSet does not support adding, removing, or checking for null
2805         WTF::Strings.
2806
2807         For the NSMutableSet case, make sure that we don't try to add or remove
2808         nil NSStrings.
2809
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.
2814
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.
2823
2824 2013-05-08  Anders Carlsson  <andersca@apple.com>
2825
2826         Apply remote changes to storage maps locally
2827         https://bugs.webkit.org/show_bug.cgi?id=115825
2828
2829         Reviewed by Beth Dakin.
2830
2831         * WebProcess/Storage/StorageAreaMap.cpp:
2832         (WebKit::StorageAreaMap::resetValues):
2833         Clear the pending values map.
2834
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.
2838
2839         (WebKit::StorageAreaMap::didRemoveItem):
2840         Remove the pending item.
2841
2842         (WebKit::StorageAreaMap::shouldApplyChangeForKey):
2843         Helper function that returns whether a change for a given key should be applied.
2844
2845         (WebKit::StorageAreaMap::applyChange):
2846         Apply the change. Currently only adds and removes are handled.
2847
2848         (WebKit::StorageAreaMap::dispatchStorageEvent):
2849         Apply the change locally as well if needed.
2850
2851         * WebProcess/Storage/StorageAreaMap.h:
2852
2853 2013-05-08  Anders Carlsson  <andersca@apple.com>
2854
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
2857
2858         Reviewed by Geoffrey Garen.
2859
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.
2862         
2863         * Shared/mac/ArgumentCodersMac.mm:
2864         (CoreIPC::decode):
2865
2866 2013-05-08  Sam Weinig  <sam@webkit.org>
2867
2868         Add SPI to determine if a plugin is sandboxed
2869         https://bugs.webkit.org/show_bug.cgi?id=115810
2870
2871         Reviewed by Anders Carlsson.
2872
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.
2887
2888         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2889         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
2890         (WKPlugInInfoIsSandboxedKey):
2891         (createInfoDictionary):
2892         Add WKPlugInInfoIsSandboxedKey.
2893
2894         * WebKit2.xcodeproj/project.pbxproj:
2895         Add new files.
2896
2897 2013-05-08  Anders Carlsson  <andersca@apple.com>
2898
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>
2902
2903         Reviewed by Andreas Kling.
2904
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.
2908
2909         * WebProcess/WebProcess.cpp:
2910         (WebKit::WebProcess::initializeConnection):
2911
2912 2013-05-08  Tim Horton  <timothy_horton@apple.com>
2913
2914         Coalesce WKView visibleRect changes
2915         https://bugs.webkit.org/show_bug.cgi?id=115792
2916         <rdar://problem/13776842>
2917
2918         Reviewed by Simon Fraser.
2919
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.
2927
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:
2934         (WebPageProxy):
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.
2944
2945 2013-05-08  Alexey Proskuryakov  <ap@apple.com>
2946
2947         <rdar://problem/13776220> 13A451: PluginProcess(2225) deny file-read-data ~/Library/InputManagers
2948         <rdar://problem/13642510> PluginProcess logs sandbox violations initializing TextServices
2949
2950         Reviewed by Anders Carlsson.
2951
2952         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Allow more
2953         TextServices and NSInputManager directories.
2954
2955 2013-05-08  Anders Carlsson  <andersca@apple.com>
2956
2957         Remove BinarySemaphoreWin.cpp.
2958
2959         Rubber-stamped by Beth Dakin.
2960
2961         BinarySemaphoreWin has been moved to WTF, but the original was never removed.
2962
2963         * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Removed.
2964
2965 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
2966
2967         [WK2] Make the WebNetworkInfoManager a supplement to the WebProcess
2968         https://bugs.webkit.org/show_bug.cgi?id=115716
2969
2970         Reviewed by Andreas Kling.
2971
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.
2976
2977         * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
2978         (WebKit::WebNetworkInfoManager::supplementName): Specify the supplement's name.
2979         (WebKit):
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.
2993
2994 2013-05-08  Zan Dobersek  <zdobersek@igalia.com>
2995
2996         [WK2] Make the WebBatteryManager a supplement to the WebProcess
2997         https://bugs.webkit.org/show_bug.cgi?id=115715
2998
2999         Reviewed by Andreas Kling.
3000
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.
3005
3006         * WebProcess/Battery/WebBatteryManager.cpp:
3007         (WebKit::WebBatteryManager::supplementName): Specify the supplement's name.
3008         (WebKit):
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.
3019
3020 2013-05-06  Darin Adler  <darin@apple.com>
3021
3022         Use adoptCF and adoptNS in more places
3023         https://bugs.webkit.org/show_bug.cgi?id=115657
3024
3025         Reviewed by Sam Weinig.
3026
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.
3034
3035 2013-05-06  Sam Weinig  <sam@webkit.org>
3036
3037         Add SPI to get an array of all the installed plug-ins
3038         https://bugs.webkit.org/show_bug.cgi?id=115688
3039
3040         Reviewed by Anders Carlsson.
3041
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):
3049         Added.
3050
3051 2013-05-07  Anders Carlsson  <andersca@apple.com>
3052
3053         Clean up KeyframeValueList and related classes
3054         https://bugs.webkit.org/show_bug.cgi?id=115738
3055
3056         Reviewed by Simon Fraser.
3057
3058         Update for WebCore changes.
3059
3060         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3061         (CoreIPC::::decode):
3062
3063 2013-05-07  Anders Carlsson  <andersca@apple.com>
3064
3065         Add and remove databases and origins from the database tracker
3066         https://bugs.webkit.org/show_bug.cgi?id=115752
3067
3068         Reviewed by Andreas Kling.
3069
3070         * UIProcess/Storage/LocalStorageDatabase.cpp:
3071         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3072         Rename m_databaseFilename to m_databasePath.
3073
3074         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3075         Rename m_databaseFilename to m_databasePath.
3076
3077         * UIProcess/Storage/LocalStorageDatabase.h:
3078         Rename m_databaseFilename to m_databasePath.
3079
3080         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3081         (WebKit::LocalStorageDatabaseTracker::databasePath):
3082         Rename databaseFilename to databasePath.
3083
3084         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
3085         Call addDatabaseWithOriginIdentifier.
3086
3087         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
3088         Call removeDatabaseWithOriginIdentifier.
3089
3090         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
3091         Call databasePath instead of databaseFile.
3092
3093         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
3094         Bail if the database is already open.
3095
3096         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
3097         Call addDatabaseWithOriginIdentifier if this is an origin we don't know about.
3098
3099         (WebKit::LocalStorageDatabaseTracker::addDatabaseWithOriginIdentifier):
3100         Add the database to the Origins table.
3101
3102         (WebKit::LocalStorageDatabaseTracker::removeDatabaseWithOriginIdentifier):
3103         remove the database from the Origins table and delete it.
3104
3105         (WebKit::LocalStorageDatabaseTracker::pathForDatabaseWithOriginIdentifier):
3106         Helper function that looks up a database path given its identifier.
3107         
3108         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3109         Rename databaseFile to databasePath.
3110
3111 2013-05-07  Anders Carlsson  <andersca@apple.com>
3112
3113         The storage database tracker should know when databases come and go
3114         https://bugs.webkit.org/show_bug.cgi?id=115748
3115
3116         Reviewed by Andreas Kling.
3117
3118         * UIProcess/Storage/LocalStorageDatabase.cpp:
3119         (WebKit::LocalStorageDatabase::openDatabase):
3120         If we've opened the database successfully, call LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin.
3121
3122         (WebKit::LocalStorageDatabase::tryToOpenDatabase):
3123         Remove a FIXME; we run all storage related things on the same thread.
3124
3125         (WebKit::LocalStorageDatabase::close):
3126         Close the database. If it's empty, call LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin.
3127
3128         (WebKit::LocalStorageDatabase::databaseIsEmpty):
3129         Helper function for determining whether a database is empty.
3130         
3131         * UIProcess/Storage/LocalStorageDatabase.h:
3132         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3133         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3134         Add ".localstorage" to the filename.
3135
3136         (WebKit::LocalStorageDatabaseTracker::didOpenDatabaseWithOrigin):
3137         (WebKit::LocalStorageDatabaseTracker::deleteEmptyDatabaseWithOrigin):
3138         Add empty stubs.
3139
3140 2013-05-07  Brady Eidson  <beidson@apple.com>
3141
3142         Add JoinExistingSession to the Networking XPC.
3143         <rdar://problem/12902288> and https://bugs.webkit.org/show_bug.cgi?id=114991
3144
3145         Reviewed by Sam Weinig.
3146
3147         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
3148         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist:
3149
3150 2013-05-07  Anders Carlsson  <andersca@apple.com>
3151
3152         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
3153         https://bugs.webkit.org/show_bug.cgi?id=115711
3154
3155         Reviewed by Andreas Kling.
3156
3157         Handle setting the local storage directory more than once.
3158
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.
3162
3163 2013-05-07  Antoine Quint  <graouts@apple.com>
3164
3165         Re-establish autostart timeout extension on user interaction
3166         https://bugs.webkit.org/show_bug.cgi?id=113232
3167
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
3171         plug-in element.
3172
3173         Reviewed by Dean Jackson.
3174
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().
3179
3180         * WebProcess/WebProcess.cpp:
3181         (WebKit::WebProcess::plugInDidReceiveUserInteraction):
3182         * WebProcess/WebProcess.h:
3183         (WebProcess):
3184         Update method signature to a tuple of (pluginOrigin, pageOrigin, mimeType)
3185         and obtain the plug-in origin hash from that.
3186
3187 2013-05-07  Anders Carlsson  <andersca@apple.com>
3188
3189         Each local storage database should know its origin
3190         https://bugs.webkit.org/show_bug.cgi?id=115737
3191
3192         Reviewed by Andreas Kling.
3193
3194         Store the security origin in a member variable. It'll be used to communicate database state changes to the tracker.
3195
3196         * UIProcess/Storage/LocalStorageDatabase.cpp:
3197         (WebKit::LocalStorageDatabase::create):
3198         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3199         * UIProcess/Storage/LocalStorageDatabase.h:
3200         (LocalStorageDatabase):
3201
3202 2013-05-07  Brady Eidson  <beidson@apple.com>
3203
3204         Remove some unnecessary soft linking in NetworkProcess. (Take 2)
3205         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
3206
3207         Reviewed by Dean Jackson and owned by Andreas Kling.
3208
3209         As a followup to r149651, include the private headers conditionally.
3210         Also, fix a bug introduced with r149651 (bool vs CFBooleanRef).
3211
3212         * NetworkProcess/mac/DiskCacheMonitor.mm:
3213         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3214         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3215
3216 2013-05-07  Jinwoo Song  <jinwoo7.song@samsung.com>
3217
3218         [EFL][WK2] Add ewk APIs for setting and getting user agent
3219         https://bugs.webkit.org/show_bug.cgi?id=114429
3220
3221         Reviewed by Andreas Kling.
3222
3223         Provide ewk_view_user_agent_get/set APIs which wraps WK APIs.
3224
3225         * UIProcess/API/efl/EwkView.cpp:
3226         (EwkView::EwkView):
3227         (EwkView::setUserAgent):
3228         * UIProcess/API/efl/EwkView.h:
3229         (EwkView::userAgent):
3230         (EwkView):
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:
3236         (TEST_F):
3237
3238 2013-05-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3239
3240         HashTraits<RefPtr<P> >::PeekType should be raw pointer for better performance
3241         https://bugs.webkit.org/show_bug.cgi?id=115646
3242
3243         Reviewed by Darin Adler.
3244
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.
3283
3284 2013-05-06  Zoltan Arvai  <zarvai@inf.u-szeged.hu>
3285
3286         [Qt] Unreviewed buildfix after r149637.
3287
3288         * Target.pri:
3289
3290 2013-05-06  Ryosuke Niwa  <rniwa@webkit.org>
3291
3292         REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
3293         https://bugs.webkit.org/show_bug.cgi?id=115711    
3294
3295         Rubber-stamped by Anders Carlsson.
3296
3297         Temporarily removed the assertion. Andres is going to investigate it tomorrow.
3298
3299         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3300         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3301
3302 2013-05-06  Darin Adler  <darin@apple.com>
3303
3304         Use OwnPtr instead of deleteAllValues in KeyframeValueList
3305         https://bugs.webkit.org/show_bug.cgi?id=115652
3306
3307         Reviewed by Simon Fraser.
3308
3309         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3310         (CoreIPC::ArgumentCoder<GraphicsLayerAnimation>::decode): Added adoptPtr
3311         next to new when calling KeyframeValueList::insert.
3312
3313 2013-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3314
3315         Unreviewed, build fix on EFL port
3316
3317         * CMakeLists.txt: Add LocalStorageDatabaseTracker.cpp
3318
3319 2013-05-06  Philippe Normand  <pnormand@igalia.com>
3320
3321         Unreviewed, GTK build fix after r149637.
3322
3323         * GNUmakefile.list.am: Add LocalStorageDatabaseTracker sources to
3324         the build.
3325
3326 2013-05-06  Brady Eidson  <beidson@apple.com>
3327
3328         Remove some unnecessary soft linking in NetworkProcess.
3329         <rdar://problem/13821779> and https://bugs.webkit.org/show_bug.cgi?id=115683
3330
3331         Reviewed by Sam Weinig.
3332
3333         Replace some unneeded soft linking with forward declarations.
3334
3335         * NetworkProcess/mac/DiskCacheMonitor.mm:
3336         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
3337         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3338         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromCFURLCachedResponse):
3339         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
3340
3341 2013-05-06  Anders Carlsson  <andersca@apple.com>
3342
3343         More work on LocalStorageDatabaseTracker
3344         https://bugs.webkit.org/show_bug.cgi?id=115680
3345
3346         Reviewed by Andreas Kling.
3347
3348         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3349         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3350         Call the new databaseFilename that takes a string.
3351
3352         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3353         Assert that we don't call this more than once. Dispatch a call to import origin identifiers.
3354
3355         (WebKit::LocalStorageDatabaseTracker::trackerDatabasePath):
3356         New helper function that returns the tracker database path.
3357
3358         (WebKit::LocalStorageDatabaseTracker::openTrackerDatabase):
3359         Open the database and create the Origins table if needed.
3360
3361         (WebKit::LocalStorageDatabaseTracker::importOriginIdentifiers):
3362         Open the database and import the origin identifiers from it, then synchronize it with whatever files are on disk.
3363
3364         (WebKit::LocalStorageDatabaseTracker::updateTrackerDatabaseFromLocalStorageDatabaseFiles):
3365         Bring the tracker database up to date from the database files on disk.
3366
3367         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3368         (LocalStorageDatabaseTracker):
3369
3370 2013-05-06  Alexey Proskuryakov  <ap@apple.com>
3371
3372         <rdar://problem/13479806> [Mac] Pass information about open pages to LaunchServices
3373         https://bugs.webkit.org/show_bug.cgi?id=115665
3374
3375         Reviewed by Darin Adler.
3376
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().
3380
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.
3385
3386         * WebProcess/WebProcess.h: Added updateActivePages().
3387
3388         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
3389         Collect user visible origins of pages in the process and pass them to LS.
3390
3391 2013-05-06  Mark Rowe  <mrowe@apple.com>
3392
3393         <rdar://problem/13775921> Switch off a deprecated API.
3394
3395         Reviewed by Oliver Hunt.
3396
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.
3401
3402 2013-05-06  Anders Carlsson  <andersca@apple.com>
3403
3404         Move local storage directory handling to LocalStorageDatabaseTracker
3405         https://bugs.webkit.org/show_bug.cgi?id=115676
3406
3407         Reviewed by Andreas Kling.
3408
3409         * UIProcess/Storage/LocalStorageDatabase.cpp:
3410         (WebKit::LocalStorageDatabase::create):
3411         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3412         * UIProcess/Storage/LocalStorageDatabase.h:
3413         (WebCore):
3414         (LocalStorageDatabase):
3415         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3416         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory):
3417         (WebKit):
3418         (WebKit::LocalStorageDatabaseTracker::databaseFilename):
3419         (WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal):
3420         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3421         (WebCore):
3422         (LocalStorageDatabaseTracker):
3423         * UIProcess/Storage/StorageManager.cpp:
3424         (WebKit::StorageManager::StorageArea::StorageArea):
3425         (WebKit::StorageManager::setLocalStorageDirectory):
3426         * UIProcess/Storage/StorageManager.h:
3427         (StorageManager):
3428
3429 2013-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
3430
3431         [GTK] Add webkit_uri_scheme_request_finish_error
3432         https://bugs.webkit.org/show_bug.cgi?id=94316
3433
3434         Reviewed by Anders Carlsson.
3435
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.
3439
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()
3446         documentation.
3447         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the new
3448         method.
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
3461         method.
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:
3469         (WebKit):
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
3475         signature.
3476
3477 2013-05-06  Anders Carlsson  <andersca@apple.com>
3478
3479         Every LocalStorageDatabase should know about its tracker
3480         https://bugs.webkit.org/show_bug.cgi?id=115673
3481
3482         Reviewed by Andreas Kling.
3483
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):
3490
3491 2013-05-06  Anders Carlsson  <andersca@apple.com>
3492
3493         Add LocalStorageDatabaseTracker class
3494         https://bugs.webkit.org/show_bug.cgi?id=115671
3495
3496         Reviewed by Andreas Kling.
3497
3498         Somewhat unsurprisingly, this class will be used for tracking local storage databases.
3499
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):
3506         
3507         * UIProcess/Storage/StorageManager.cpp:
3508         (WebKit::StorageManager::StorageManager):
3509         Create a local storage database tracker.
3510
3511         * WebKit2.xcodeproj/project.pbxproj:
3512         Add new files.
3513
3514 2013-05-06  Anders Carlsson  <andersca@apple.com>
3515
3516         Handle closing the local storage database
3517         https://bugs.webkit.org/show_bug.cgi?id=115669
3518
3519         Reviewed by Beth Dakin.
3520
3521         * UIProcess/Storage/LocalStorageDatabase.cpp: