Add a version of WebKitSystemInterface for Mavericks.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-10-21  Mark Rowe  <mrowe@apple.com>
2
3         Add a version of WebKitSystemInterface for Mavericks.
4
5         Reviewed by Ryosuke Niwa.
6
7         * Configurations/DebugRelease.xcconfig:
8
9 2013-10-21  Dan Bernstein  <mitz@apple.com>
10
11         Try to fix the Mac 32-bit build.
12
13         * UIProcess/API/mac/WKBrowsingContextController.h:
14         * UIProcess/API/mac/WKBrowsingContextController.mm:
15
16 2013-10-21  Tim Horton  <timothy_horton@apple.com>
17
18         Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.
19
20         This definitely ought to fix the build.
21
22         * Shared/mac/RemoteLayerTreeTransaction.h:
23         * Shared/mac/RemoteLayerTreeTransaction.mm:
24         * UIProcess/mac/RemoteLayerTreeHost.mm:
25         (WebKit::RemoteLayerTreeHost::commit):
26
27 2013-10-21  Tim Horton  <timothy_horton@apple.com>
28
29         Maybe a Lion build fix after r157731, part 2.
30
31         * Shared/mac/RemoteLayerTreeTransaction.mm:
32         (WebKit::RemoteLayerTreeTextStream::operator<<):
33
34 2013-10-21  Dan Bernstein  <mitz@apple.com>
35
36         [Cocoa] Back/forward list UI process API
37         https://bugs.webkit.org/show_bug.cgi?id=123109
38
39         Reviewed by Darin Adler.
40
41         * CMakeLists.txt: Updated for renames.
42         * GNUmakefile.list.am: Ditto.
43
44         * Shared/Cocoa: Added.
45         * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
46         a WebKit::ImmutableArray.
47         * Shared/Cocoa/WKNSArray.mm: Added.
48         (+[WKNSArray web_arrayWithImmutableArray:]): Added.
49         (-[WKNSArray web_initWithImmutableArray:]): Added.
50         (-[WKNSArray count]): Added.
51         (-[WKNSArray objectAtIndex:]): Added.
52         (-[WKNSArray copyWithZone:]): Added.
53
54         * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
55         vend WebKit API objects as Objective-C objects.
56         * Shared/Cocoa/WKNSObjectExtras.mm: Added.
57         (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
58         (-[WKObject isEqual:]): Check for equality of the underlying object.
59         (-[WKObject hash]): Return a pointer to the underlying object.
60         (-[WKObject description]): Added.
61         (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
62         for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
63         item and a generic WKObject for all other types.
64
65         * UIProcess/API/C/WKBackForwardList.cpp: Renamed.
66         * UIProcess/API/C/WKBackForwardList.h: Renamed.
67         * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
68         * UIProcess/API/C/WKBackForwardListItem.h: Renamed.
69         * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
70         * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
71         * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
72         * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.
73
74         * UIProcess/API/C/WebKit2_C.h: Updated for header renames.
75
76         * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
77         * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.
78
79         * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
80         * UIProcess/API/mac/WKBrowsingContextController.mm:
81         (-[WKBrowsingContextController backForwardList]): Added this accessor.
82
83         * UIProcess/Cocoa: Added.
84         * UIProcess/Cocoa/WKBackForwardList.h: Added.
85         * UIProcess/Cocoa/WKBackForwardList.mm: Added.
86         (toWKBackForwardListItem): Added this helper.
87         (-[WKBackForwardList currentItem]): Added.
88         (-[WKBackForwardList backItem]): Added.
89         (-[WKBackForwardList forwardItem]): Added.
90         (-[WKBackForwardList itemAtIndex:]): Added.
91         (-[WKBackForwardList backListCount]): Added.
92         (-[WKBackForwardList forwardListCount]): Added.
93         (-[WKBackForwardList backListWithLimit:]): Added.
94         (-[WKBackForwardList forwardListWithLimit:]): Added.
95         (-[WKBackForwardList _initWithList:]): Added.
96         * UIProcess/Cocoa/WKBackForwardListInternal.h: Added.
97
98         * UIProcess/Cocoa/WKBackForwardListItem.h: Added.
99         * UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
100         (-[WKBackForwardListItem URL]): Added.
101         (-[WKBackForwardListItem title]): Added.
102         (-[WKBackForwardListItem originalURL]): Added.
103         (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
104         (-[WKBackForwardListItem hash]): Return a pointer to the underlying object
105         (-[WKBackForwardListItem _initWithItem:]): Added.
106         * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.
107
108         * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
109
110 2013-10-21  Tim Horton  <timothy_horton@apple.com>
111
112         Maybe a Lion build fix after r157731.
113
114         * Shared/mac/RemoteLayerTreeTransaction.mm:
115         (WebKit::RemoteLayerTreeTextStream::operator<<):
116
117 2013-10-21  Tim Horton  <timothy_horton@apple.com>
118
119         Remote Layer Tree: Clean up transaction logging
120         https://bugs.webkit.org/show_bug.cgi?id=123116
121
122         Reviewed by Anders Carlsson.
123
124         * Shared/mac/RemoteLayerTreeTransaction.mm:
125         (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
126         (WebKit::RemoteLayerTreeTextStream::increaseIndent):
127         (WebKit::RemoteLayerTreeTextStream::decreaseIndent):
128         (WebKit::RemoteLayerTreeTextStream::writeIndent):
129         (WebKit::RemoteLayerTreeTextStream::operator<<):
130         Add some stream operator overrides for various types we need to dump.
131         Add a notion of current indent to our TextStream subclass to make it
132         easy to keep track of where we are.
133
134         (WebKit::dumpProperty):
135         Added, hand any arbitrary type to RemoteLayerTreeTransaction.
136
137         (WebKit::dumpChangedLayers):
138         (WebKit::RemoteLayerTreeTransaction::dump):
139         Make use of TextStream.
140
141 2013-10-21  Brady Eidson  <beidson@apple.com>
142
143         Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
144         https://bugs.webkit.org/show_bug.cgi?id=123105
145
146         Reviewed by Anders Carlsson.
147
148         Stub out a new pure virtual method:
149         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
150         (WebKit::WebIDBFactoryBackend::createTransactionBackend):
151         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
152
153 2013-10-21  Tim Horton  <timothy_horton@apple.com>
154
155         Remote Layer Tree: Backing store should take contentsScale into account
156         https://bugs.webkit.org/show_bug.cgi?id=123106
157
158         Reviewed by Simon Fraser.
159
160         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
161         (PlatformCALayerRemote::ensureBackingStore):
162         (PlatformCALayerRemote::setNeedsDisplay):
163         (PlatformCALayerRemote::setContentsScale):
164         Inform the backing store of the contentsScale, and when it changes.
165
166         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
167         (WebKit::RemoteLayerBackingStore::scale): Added.
168         (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
169         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
170         (RemoteLayerBackingStore::RemoteLayerBackingStore):
171         (RemoteLayerBackingStore::encode):
172         (RemoteLayerBackingStore::decode):
173         (RemoteLayerBackingStore::mapToContentCoordinates):
174         Factor out flipping so we can use it for repaints in multiple places.
175
176         (RemoteLayerBackingStore::setNeedsDisplay):
177         (RemoteLayerBackingStore::display):
178         Create a buffer scaled up by contentsScale, take the scale into account
179         when copying clean bits from the front buffer, and apply the scale before
180         painting into the back buffer.
181
182 2013-10-21  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
183
184         Remove qt from generate-forwarding-headers.pl
185         https://bugs.webkit.org/show_bug.cgi?id=123090
186
187         Reviewed by Andreas Kling.
188
189         * Scripts/generate-forwarding-headers.pl:
190
191 2013-10-21  Zan Dobersek  <zdobersek@igalia.com>
192
193         [GTK] g-ir-scanner should use the configured C compiler
194         https://bugs.webkit.org/show_bug.cgi?id=123088
195
196         Reviewed by Carlos Garcia Campos.
197
198         * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
199         via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
200         the Clang-specific CFLAGS.
201
202 2013-10-20  Dan Bernstein  <mitz@apple.com>
203
204         [Cocoa] Loading progress API
205         https://bugs.webkit.org/show_bug.cgi?id=123069
206
207         Reviewed by Sam Weinig.
208
209         * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
210         * UIProcess/API/mac/WKBrowsingContextController.mm:
211         (-[WKBrowsingContextController estimatedProgress]): Added.
212         (didStartProgress): Added. Calls new delegate method
213         -browsingContextControllerDidStartProgress:.
214         (didChangeProgress): Added. Calls new delegate method
215         -browsingContextController:estimatedProgressChangedTo:.
216         (didFinishProgress): Added. Calls new delegate method
217         -browsingContextControllerDidFinishProgress:.
218         (setUpPageLoaderClient): Hook up new client functions.
219         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.
220
221 2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
222
223         Removing "unused parameter" compiling warnings from WebKit2 and WebCore
224         https://bugs.webkit.org/show_bug.cgi?id=123075
225
226         Reviewed by Andreas Kling.
227
228         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
229         (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
230         * UIProcess/API/C/WKContext.cpp:
231         (WKContextGetPluginSiteDataManager):
232         * UIProcess/API/C/WKPreferences.cpp:
233         (WKPreferencesSetInspectorUsesWebKitUserInterface):
234         (WKPreferencesGetInspectorUsesWebKitUserInterface):
235         * UIProcess/WebProcessProxy.cpp:
236         (WebKit::WebProcessProxy::getPlugins):
237         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
238         (WKBundlePageSetFullScreenClient):
239         (WKBundlePageWillEnterFullScreen):
240         (WKBundlePageDidEnterFullScreen):
241         (WKBundlePageWillExitFullScreen):
242         (WKBundlePageDidExitFullScreen):
243         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
244         (WebKit::WebMediaCacheManager::clearCacheForHostname):
245         * WebProcess/OriginData/WebOriginDataManager.cpp:
246         (WebKit::WebOriginDataManager::getOrigins):
247         (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
248         (WebKit::WebOriginDataManager::deleteAllEntries):
249         (WebKit::WebOriginDataManager::startObservingChanges):
250         (WebKit::WebOriginDataManager::stopObservingChanges):
251         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
252         (WebKit::WebFrameLoaderClient::createPlugin):
253         (WebKit::WebFrameLoaderClient::recreatePlugin):
254         * WebProcess/WebPage/EventDispatcher.cpp:
255         (WebKit::EventDispatcher::wheelEvent):
256         * WebProcess/WebPage/WebPage.cpp:
257         (WebKit::WebPage::canPluginHandleResponse):
258
259 2013-10-19  Jer Noble  <jer.noble@apple.com>
260
261         Unreviewed roll out of r157695; broke Mac builds.
262
263         * Configurations/FeatureDefines.xcconfig:
264
265 2013-10-07  Jer Noble  <jer.noble@apple.com>
266
267         [MSE] [Mac] Enable MediaSource on the Mac
268         https://bugs.webkit.org/show_bug.cgi?id=122484
269
270         Reviewed by Darin Adler.
271
272         Enable ENABLE_MEDIA_SOURCE.
273
274         * Configurations/FeatureDefines.xcconfig:
275
276 2013-10-19  Dan Bernstein  <mitz@apple.com>
277
278         Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.
279
280 2013-10-19  Dan Bernstein  <mitz@apple.com>
281
282         Try to fix the Mac 32-bit build.
283
284         * UIProcess/mac/WKFullScreenWindowController.h:
285         * UIProcess/mac/WKFullScreenWindowController.mm:
286
287 2013-10-19  Dan Bernstein  <mitz@apple.com>
288
289         Try to fix the Mac 32-bit build.
290
291         * UIProcess/API/mac/WKView.h:
292         * UIProcess/API/mac/WKView.mm:
293         * UIProcess/API/mac/WKViewInternal.h:
294         * UIProcess/API/mac/WKViewPrivate.h:
295
296 2013-10-19  Dan Bernstein  <mitz@apple.com>
297
298         [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
299         https://bugs.webkit.org/show_bug.cgi?id=123065
300
301         Reviewed by Sam Weinig.
302
303         * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
304         ivar and WKBrowsingContextControllerData class declaration.
305         * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
306         WKBrowsingContextControllerData class and moved _pageRef ivar directly into
307         WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
308         for the loadDelegate property, letting the compiler synthesize them.
309         (-[WKBrowsingContextController dealloc]): Removed indirection via _data.
310         (-[WKBrowsingContextController _pageRef]): Ditto.
311         (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
312         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
313         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
314         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
315         Ditto.
316         (-[WKBrowsingContextController stopLoading]): Ditto.
317         (-[WKBrowsingContextController reload]): Ditto.
318         (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
319         (-[WKBrowsingContextController goForward]): Ditto.
320         (-[WKBrowsingContextController canGoForward]): Ditto.
321         (-[WKBrowsingContextController goBack]): Ditto.
322         (-[WKBrowsingContextController canGoBack]): Ditto.
323         (-[WKBrowsingContextController activeURL]): Ditto.
324         (-[WKBrowsingContextController provisionalURL]): Ditto.
325         (-[WKBrowsingContextController committedURL]): Ditto.
326         (-[WKBrowsingContextController title]): Ditto.
327         (-[WKBrowsingContextController textZoom]): Ditto.
328         (-[WKBrowsingContextController setTextZoom:]): Ditto.
329         (-[WKBrowsingContextController pageZoom]): Ditto.
330         (-[WKBrowsingContextController setPageZoom:]): Ditto.
331         (-[WKBrowsingContextController setPaginationMode:]): Ditto.
332         (-[WKBrowsingContextController paginationMode]): Ditto.
333         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
334         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
335         (-[WKBrowsingContextController setPageLength:]): Ditto.
336         (-[WKBrowsingContextController pageLength]): Ditto.
337         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
338         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
339         (-[WKBrowsingContextController pageCount]): Ditto.
340         (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
341         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
342         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
343
344         * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
345         and WKBrowsingContextGroupData class declaration.
346         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
347         WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
348         WKBrowsingContextGroup, declaring it in the @implementation.
349         (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
350         (-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
351         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.
352
353         * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
354         WKConnectionData class declaration.
355         * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
356         class and moved _connectionRef ivar directly into WKConnection, declaring it in the
357         @implementation. Removed ivar and accessors for the delegate property, letting the compiler
358         synthesize them.
359         (-[WKConnection dealloc]): Removed indirection via _data.
360         (-[WKConnection sendMessageWithName:body:]): Ditto.
361         (-[WKConnection _initWithConnectionRef:]): Ditto.
362         * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.
363
364         * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
365         declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
366         declaration.
367         * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
368         WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
369         it in the @implementation. Removed ivar and accessors for the delegate property, letting the
370         compiler synthesize them.
371         (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
372         (-[WKProcessGroup dealloc]): Ditto.
373         (-[WKProcessGroup _contextRef]): Ditto.
374         * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.
375
376 2013-10-19  Andreas Kling  <akling@apple.com>
377
378         Attempt to get Lion building.
379
380         * UIProcess/mac/WebColorPickerMac.h:
381
382 2013-10-18  Tim Horton  <timothy_horton@apple.com>
383
384         Remote Layer Tree: Double-buffering and minimization of repaints
385         https://bugs.webkit.org/show_bug.cgi?id=123043
386
387         Reviewed by Simon Fraser.
388
389         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
390         (PlatformCALayerRemote::ensureBackingStore):
391         Don't worry about isOpaque with RemoteLayerBackingStore; this is a
392         optimization that is causing trouble; we can re-add it later.
393
394         (PlatformCALayerRemote::setBounds):
395         Make sure that we will repaint if our bounds change.
396
397         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
398         (WebKit::RemoteLayerBackingStore::bitmap):
399         Keep a front and back buffer; return the front buffer when being asked for the bitmap.
400         Keep a Region of repaint areas.
401
402         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
403         (RemoteLayerBackingStore::RemoteLayerBackingStore):
404         (RemoteLayerBackingStore::encode):
405         (RemoteLayerBackingStore::decode):
406         Serialize only the front buffer, since the UI process only needs that.
407
408         (RemoteLayerBackingStore::setNeedsDisplay):
409         Store repaint rects instead of always setting the whole layer to be dirty.
410
411         (RemoteLayerBackingStore::display):
412         Paint into the back buffer (copying valid parts over from the front buffer),
413         then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc.
414
415 2013-10-18  Anders Carlsson  <andersca@apple.com>
416
417         Try to fix the Lion build.
418
419         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
420
421 2013-10-18  Anders Carlsson  <andersca@apple.com>
422
423         Remove spaces between template angle brackets
424         https://bugs.webkit.org/show_bug.cgi?id=123040
425
426         Reviewed by Andreas Kling.
427
428         * UIProcess/mac/WebColorPickerMac.h:
429         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
430         * WebProcess/WebProcess.cpp:
431         (WebKit::WebProcess::setProcessSuppressionEnabled):
432
433 2013-10-18  Brady Eidson  <beidson@apple.com>
434
435         Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
436         https://bugs.webkit.org/show_bug.cgi?id=123039
437
438         Reviewed by Anders Carlsson.
439
440         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
441         (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method.
442         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
443
444 2013-10-18  Dan Bernstein  <mitz@apple.com>
445
446         [Cocoa] WKBrowsingController accessors crash instead of returning nil
447         https://bugs.webkit.org/show_bug.cgi?id=123036
448
449         Reviewed by Anders Carlsson.
450
451         * UIProcess/API/mac/WKBrowsingContextController.mm:
452         (autoreleased): Return nil if the object is NULL.
453
454 2013-10-18  Anders Carlsson  <andersca@apple.com>
455
456         Remove some Windows specific code from WebKit2
457         https://bugs.webkit.org/show_bug.cgi?id=123034
458
459         Reviewed by Beth Dakin.
460
461         * Platform/PlatformProcessIdentifier.h:
462         * Shared/API/c/WKDeclarationSpecifiers.h:
463         * UIProcess/API/C/WKNativeEvent.h:
464         * UIProcess/API/C/WKPreferencesPrivate.h:
465         * config.h:
466
467 2013-10-18  Dan Bernstein  <mitz@apple.com>
468
469         Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED.
470
471         Rubber-stamped by Anders Carlsson.
472
473         * Shared/API/Cocoa/WKFoundation.h:
474
475 2013-10-17  Tim Horton  <timothy_horton@apple.com>
476
477         Remote Layer Tree: Proxy layer contents to the UI process
478         http://bugs.webkit.org/show_bug.cgi?id=123003
479
480         Reviewed by Anders Carlsson.
481
482         Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
483         for now, and are fully repainted on any invalidation. Also, contents do not respect
484         any kind of scale or use of contentsRect/etc.
485
486         * Shared/mac/RemoteLayerTreeTransaction.h:
487         * Shared/mac/RemoteLayerTreeTransaction.mm:
488         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
489         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
490         (WebKit::dumpChangedLayers):
491         Store/encode/decode/dump the new RemoteLayerBackingStore.
492
493         * UIProcess/mac/RemoteLayerTreeHost.mm:
494         (WebKit::RemoteLayerTreeHost::commit):
495         Fix a mistake where contentsRect was getting reset when contentsScale changed.
496         Set the layer contents when the backing store changes.
497
498         * WebKit2.xcodeproj/project.pbxproj:
499         Add RemoteLayerBackingStore.
500
501         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
502         (PlatformCALayerRemote::recursiveBuildTransaction):
503         Paint while building our transaction, and mark the backing store as changed
504         if we did any painting.
505
506         (PlatformCALayerRemote::ensureBackingStore):
507         Keep the backing store's properties up-to-date with our layer.
508
509         (PlatformCALayerRemote::setNeedsDisplay):
510         Inform the backing store that it needs to paint.
511
512         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
513
514         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
515         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
516         (RemoteLayerBackingStore::RemoteLayerBackingStore):
517         (RemoteLayerBackingStore::encode):
518         (RemoteLayerBackingStore::decode):
519         Encode/decode our ShareableBitmap (via its handle) and size.
520
521         (RemoteLayerBackingStore::setNeedsDisplay):
522         For now, repaint the world.
523
524         (RemoteLayerBackingStore::display):
525         Create a new bitmap if needed, and paint into it.
526
527 2013-10-17  Dan Bernstein  <mitz@apple.com>
528
529         Fixed a typo in the definition of WK_API_ENABLED.
530
531         * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.
532
533 2013-10-17  Dan Bernstein  <mitz@apple.com>
534
535         Add and deploy WK_API_ENABLED guards
536         https://bugs.webkit.org/show_bug.cgi?id=123008
537
538         Reviewed by Darin Adler.
539
540         * Shared/API/Cocoa: Added.
541         * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
542         Objective-C API should be enabled in the current configuration.
543         * Shared/mac/ObjCObjectGraphCoders.mm:
544         (WebKit::typeFromObject): Changed to use WK_API_ENABLED.
545         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
546         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
547         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
548         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
549         * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
550         * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
551         * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
552         * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
553         WKFoundation.h as a public header.
554         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
555         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
556         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
557         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
558         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
559         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
560         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
561         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
562         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
563         * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
564         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
565         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
566         * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
567         * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
568         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
569         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
570         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
571         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
572         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
573         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
574         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
575         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
576         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
577         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
578         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
579         (WebKit::InjectedBundle::load):
580
581 2013-10-17  Csaba Osztrogonác  <ossy@webkit.org>
582
583         [WK2] Speculative buildfixes for GTK and EFL after r157582.
584
585         * CMakeLists.txt:
586         * GNUmakefile.am:
587
588 2013-10-17  Martin Hock  <mhock@apple.com>
589
590         Refactor stored website data APIs
591         https://bugs.webkit.org/show_bug.cgi?id=122781
592
593         Reviewed by Brady Eidson.
594
595         Add WebOriginDataManager along with corresponding class
596         WebOriginDataManagerProxy and API WKOriginDataManager.
597
598         Currently, the new files are unused.
599
600         WKOriginDataManager should subsume the functionality of:
601         WKApplicationCacheManager, WKCookieManager, WKDatabaseManager,
602         WKKeyValueStorageManager, WKMediaCacheManager,
603         WKPluginSiteDataManager, and WKResourceCacheManager.
604
605         * CMakeLists.txt:
606         * DerivedSources.make:
607         * GNUmakefile.am:
608         * GNUmakefile.list.am:
609         * Shared/API/c/WKBase.h:
610         * Shared/APIObject.h:
611         * UIProcess/API/C/WKAPICast.h:
612         * UIProcess/API/C/WKContext.cpp:
613         (WKContextGetOriginDataManager):
614         * UIProcess/API/C/WKContext.h:
615         * UIProcess/API/C/WKOriginDataManager.cpp: Added.
616         (WKOriginDataManagerGetTypeID):
617         (WKOriginDataManagerGetOrigins):
618         (WKOriginDataManagerDeleteEntriesForOrigin):
619         (WKOriginDataManagerDeleteAllEntries):
620         (WKOriginDataManagerStartObservingChanges):
621         (WKOriginDataManagerStopObservingChanges):
622         (WKOriginDataManagerSetChangeClient):
623         * UIProcess/API/C/WKOriginDataManager.h: Added.
624         * UIProcess/WebOriginDataManagerProxy.cpp: Added.
625         (WebKit::WebOriginDataManagerProxy::supplementName):
626         (WebKit::WebOriginDataManagerProxy::create):
627         (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
628         (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy):
629         (WebKit::WebOriginDataManagerProxy::contextDestroyed):
630         (WebKit::WebOriginDataManagerProxy::processDidClose):
631         (WebKit::WebOriginDataManagerProxy::shouldTerminate):
632         (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
633         (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
634         (WebKit::WebOriginDataManagerProxy::getOrigins):
635         (WebKit::WebOriginDataManagerProxy::didGetOrigins):
636         (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
637         (WebKit::WebOriginDataManagerProxy::deleteAllEntries):
638         (WebKit::WebOriginDataManagerProxy::startObservingChanges):
639         (WebKit::WebOriginDataManagerProxy::stopObservingChanges):
640         (WebKit::WebOriginDataManagerProxy::setChangeClient):
641         (WebKit::WebOriginDataManagerProxy::didChange):
642         * UIProcess/WebOriginDataManagerProxy.h: Added.
643         * UIProcess/WebOriginDataManagerProxy.messages.in: Added.
644         * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added.
645         (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
646         * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added.
647         * WebKit2.xcodeproj/project.pbxproj:
648         * WebProcess/OriginData/WebOriginDataManager.cpp: Added.
649         (WebKit::WebOriginDataManager::supplementName):
650         (WebKit::WebOriginDataManager::WebOriginDataManager):
651         (WebKit::WebOriginDataManager::getOrigins):
652         (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
653         (WebKit::WebOriginDataManager::deleteAllEntries):
654         (WebKit::WebOriginDataManager::startObservingChanges):
655         (WebKit::WebOriginDataManager::stopObservingChanges):
656         * WebProcess/OriginData/WebOriginDataManager.h: Added.
657         * WebProcess/OriginData/WebOriginDataManager.messages.in: Added.
658
659 2013-10-17  Brady Eidson  <beidson@apple.com>
660
661         Blind attempt at gtk-wk2 build fix.
662
663         * GNUmakefile.am:
664
665 2013-10-17  Brady Eidson  <beidson@apple.com>
666
667         Add scaffolding for IDBDatabaseBackends in Web and Database processes
668         https://bugs.webkit.org/show_bug.cgi?id=122971
669
670         Reviewed by Tim Horton.
671
672         This patch:
673         - Adds a WebProcessIDBDatabaseBackend
674         - Adds a DatabaseProcessIDBDatabaseBackend
675         - Establishes the basic messaging between them
676         - Actually creates those backends as the result of an indexedDB.open() call from javascript
677
678         * DerivedSources.make:
679         * WebKit2.xcodeproj/project.pbxproj:
680         * Platform/Logging.h:
681
682         Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other:
683         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
684         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
685         (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend):
686         * DatabaseProcess/DatabaseToWebProcessConnection.h:
687         (WebKit::DatabaseToWebProcessConnection::connection):
688         * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added.
689
690         DatabaseProcess side of an IDBDatabaseBackend:
691         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp:
692         (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend):
693         (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend):
694         (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection):
695         (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection):
696         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added.
697         (WebKit::DatabaseProcessIDBDatabaseBackend::create):
698         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added.
699
700         WebProcess side of an IDBDatabaseBackend:
701         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added.
702         (WebKit::generateBackendIdentifier):
703         (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
704         (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend):
705         (WebKit::WebProcessIDBDatabaseBackend::openConnection):
706         (WebKit::WebProcessIDBDatabaseBackend::createObjectStore):
707         (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore):
708         (WebKit::WebProcessIDBDatabaseBackend::createTransaction):
709         (WebKit::WebProcessIDBDatabaseBackend::close):
710         (WebKit::WebProcessIDBDatabaseBackend::commit):
711         (WebKit::WebProcessIDBDatabaseBackend::abort):
712         (WebKit::WebProcessIDBDatabaseBackend::createIndex):
713         (WebKit::WebProcessIDBDatabaseBackend::deleteIndex):
714         (WebKit::WebProcessIDBDatabaseBackend::get):
715         (WebKit::WebProcessIDBDatabaseBackend::put):
716         (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys):
717         (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady):
718         (WebKit::WebProcessIDBDatabaseBackend::openCursor):
719         (WebKit::WebProcessIDBDatabaseBackend::count):
720         (WebKit::WebProcessIDBDatabaseBackend::deleteRange):
721         (WebKit::WebProcessIDBDatabaseBackend::clear):
722         (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection):
723         (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend):
724         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added.
725         (WebKit::WebProcessIDBDatabaseBackend::create):
726
727         Basic shared utilities that multiple processes will need going forward:
728         * Shared/Databases/IndexedDB/IDBUtilities.cpp:
729         (WebKit::uniqueDatabaseIdentifier):
730         * Shared/Databases/IndexedDB/IDBUtilities.h:
731
732         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
733         (WebKit::sharedDatabaseBackendMap):
734         (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess
735           when indexedDB.open() is called, even if it does nothing for now.
736
737         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
738         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
739
740 2013-10-17  Attila Dusnoki  <h047679@stud.u-szeged.hu>
741
742         [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly.
743         https://bugs.webkit.org/show_bug.cgi?id=122958
744
745         Reviewed by Tim Horton.
746
747         * WebProcess/WebPage/WebPage.cpp:
748         (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added.
749
750 2013-10-17  Mark Rowe  <mrowe@apple.com>
751
752         <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running
753         from the staged frameworks location.
754
755         Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH
756         is set to YES. This is necessary because there's no way to specify environment variables
757         to be used when an XPC service is launched.
758
759         Reviewed by Anders Carlsson.
760
761         * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the
762         DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES.
763         * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the
764         value of OTHER_LDFLAGS.
765         * Configurations/PluginService.32.xcconfig: Ditto.
766         * Configurations/PluginService.64.xcconfig: Ditto.
767
768 2013-10-16  Tim Horton  <timothy_horton@apple.com>
769
770         Remote Layer Tree: Complete support for simple layer properties
771         https://bugs.webkit.org/show_bug.cgi?id=122933
772
773         Reviewed by Anders Carlsson.
774
775         Add remote layer tree support for maskLayer, contentsRect, contentsScale,
776         minificationFilter, magnificationFilter, speed, and timeOffset.
777
778         * Shared/mac/RemoteLayerTreeTransaction.h:
779         * Shared/mac/RemoteLayerTreeTransaction.mm:
780         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
781         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
782         (WebKit::dumpProperty):
783         (WebKit::dumpChangedLayers):
784         Add the new properties.
785
786         * UIProcess/mac/RemoteLayerTreeHost.mm:
787         (WebKit::toCAFilterType):
788         (WebKit::RemoteLayerTreeHost::commit):
789         Apply the new properties.
790
791         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
792         (PlatformCALayerRemote::setSublayers):
793         (PlatformCALayerRemote::appendSublayer):
794         (PlatformCALayerRemote::insertSublayer):
795         Ensure that passed-in sublayers are always also PlatformCALayerRemote instances.
796         These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast
797         them to PlatformCALayerRemote.
798
799         (PlatformCALayerRemote::setMask):
800         (PlatformCALayerRemote::setContentsRect):
801         (PlatformCALayerRemote::setMinificationFilter):
802         (PlatformCALayerRemote::setMagnificationFilter):
803         (PlatformCALayerRemote::setSpeed):
804         (PlatformCALayerRemote::setTimeOffset):
805         (PlatformCALayerRemote::contentsScale):
806         (PlatformCALayerRemote::setContentsScale):
807         Remove setFrame, store the new properties.
808
809         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
810         Remove setFrame, add isRemote, fix pointer side on playerLayer.
811
812 2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
813
814         Unreviewed build fix attempt on EFL port after r157520 and r157523
815
816         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
817         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
818         Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error
819         in EFL port.
820
821 2013-10-16  Anders Carlsson  <andersca@apple.com>
822
823         Remove Qt sandbox process code
824         https://bugs.webkit.org/show_bug.cgi?id=122920
825
826         Reviewed by Geoffrey Garen.
827
828         This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.
829
830         * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
831         * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.
832
833 2013-10-16  Jochen Eisinger  <jochen@chromium.org>
834
835         A page should exit fullscreen mode if it opens a new popup
836         https://bugs.webkit.org/show_bug.cgi?id=122865
837
838         Reviewed by Jer Noble.
839
840         If a fullscreen page opens a popup, the popup would be hidden and
841         therefore invisible to the user. To avoid this, exit fullscreen mode
842         before opening a new window.
843
844         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
845         (WebKit::WebChromeClient::createWindow):
846
847 2013-10-16  Brady Eidson  <beidson@apple.com>
848
849         Blind attempt to fix non-DATABASE_PROCESS builds.
850
851         * WebProcess/WebProcess.cpp:
852
853 2013-10-16  Tim Horton  <timothy_horton@apple.com>
854
855         PlatformCALayer constructor should take layer type as an argument
856         https://bugs.webkit.org/show_bug.cgi?id=122915
857
858         Reviewed by Simon Fraser.
859
860         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
861         (PlatformCALayerRemote::PlatformCALayerRemote):
862         Use the new LayerType argument.
863
864 2013-10-16  Tim Horton  <timothy_horton@apple.com>
865
866         Remote Layer Tree: Use a default instead of an environment variable
867         https://bugs.webkit.org/show_bug.cgi?id=122913
868
869         Reviewed by Anders Carlsson.
870
871         * UIProcess/API/mac/WKView.mm:
872         (-[WKView std::WebKit::]):
873         Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
874         the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
875         to indicate that WKViews should make RemoteLayerTreeDrawingAreas.
876
877 2013-10-15  Brady Eidson  <beidson@apple.com>
878
879         Flesh out the DatabaseProcess (and launch it!)
880         https://bugs.webkit.org/show_bug.cgi?id=122884
881
882         Reviewed by Tim Horton.
883
884         This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.
885
886         It still does very little except exist.
887
888         Project file stuff:
889         * WebKit2.xcodeproj/project.pbxproj:
890         * DerivedSources.make:
891
892         WebContext owns the DatabaseProcess (much like the NetworkProcess):
893         * UIProcess/WebContext.cpp:
894         (WebKit::WebContext::ensureDatabaseProcess):
895         (WebKit::WebContext::getDatabaseProcessConnection):
896         * UIProcess/WebContext.h:
897
898         Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
899         * DatabaseProcess/DatabaseProcess.cpp:
900         (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
901         * DatabaseProcess/DatabaseProcess.h:
902         * DatabaseProcess/DatabaseProcess.messages.in: Added.
903
904         Add an object to represent a single connection to a single WebProcess:
905         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
906         (WebKit::DatabaseToWebProcessConnection::create):
907         (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
908         (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
909         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
910         (WebKit::DatabaseToWebProcessConnection::didClose):
911         (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
912         * DatabaseProcess/DatabaseToWebProcessConnection.h:
913
914         Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
915         * UIProcess/Databases/DatabaseProcessProxy.cpp:
916         (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
917         (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
918         (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
919         (WebKit::DatabaseProcessProxy::didFinishLaunching):
920         * UIProcess/Databases/DatabaseProcessProxy.h:
921         * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.
922
923         Add an object to represent a WebProcess’s connection to a DatabaseProcess:
924         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
925         (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
926         (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
927         (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
928         (WebKit::WebToDatabaseProcessConnection::didClose):
929         (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
930         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
931         (WebKit::WebToDatabaseProcessConnection::create):
932         (WebKit::WebToDatabaseProcessConnection::connection):
933
934         Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
935         * WebProcess/WebProcess.cpp:
936         (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
937         (WebKit::WebProcess::webToDatabaseProcessConnection):
938         (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
939         * WebProcess/WebProcess.h:
940         * UIProcess/WebProcessProxy.cpp:
941         (WebKit::WebProcessProxy::getDatabaseProcessConnection):
942         * UIProcess/WebProcessProxy.h:
943         * UIProcess/WebProcessProxy.messages.in:
944
945         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
946         (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.
947
948         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
949         (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.
950
951 2013-10-16  Tim Horton  <timothy_horton@apple.com>
952
953         RemoteLayerTree: Add support for more layer properties and transform layers
954         https://bugs.webkit.org/show_bug.cgi?id=122906
955
956         Reviewed by Anders Carlsson.
957
958         Add support for name, border width, border color, opacity, transform, sublayer transform,
959         hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.
960
961         Factor layer creation out from layer changes, so that we can create layers of the correct
962         type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.
963
964         * Shared/WebCoreArgumentCoders.cpp:
965         (CoreIPC::::encode):
966         (CoreIPC::::decode):
967         * Shared/WebCoreArgumentCoders.h:
968         Add coders for TransformationMatrix.
969
970         * Shared/mac/RemoteLayerTreeTransaction.h:
971         Add the new LayerChange values.
972
973         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
974         LayerProperties::layerChanges should be a LayerChange.
975
976         (WebKit::RemoteLayerTreeTransaction::createdLayers):
977         Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).
978
979         * Shared/mac/RemoteLayerTreeTransaction.mm:
980         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
981         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
982         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
983         Add (and support coding) a new LayerCreationProperties struct, which is currently
984         just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.
985
986         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
987         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
988         Encode and decode all of the new layer properties.
989         Encode changedProperties as an enum, not an unsigned.
990
991         (WebKit::RemoteLayerTreeTransaction::encode):
992         (WebKit::RemoteLayerTreeTransaction::decode):
993         Encode and decode the list of newly created layers.
994
995         (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
996         Setter for the list of newly created layers, which comes from the
997         RemoteLayerTreeContext at commit time.
998
999         (WebKit::dumpProperty):
1000         Helper function to dump TransformationMatrix instances.
1001
1002         (WebKit::dumpChangedLayers):
1003         Dump all of the new layer properties.
1004
1005         (WebKit::RemoteLayerTreeTransaction::dump):
1006         Dump the list of newly created layers.
1007
1008         * UIProcess/mac/RemoteLayerTreeHost.h:
1009         * UIProcess/mac/RemoteLayerTreeHost.mm:
1010         (WebKit::cgColorFromColor):
1011         Factor out the code to make a CGColor from a WebCore::Color, as we need it
1012         for both border and background color.
1013
1014         (WebKit::RemoteLayerTreeHost::commit):
1015         Create layers before applying changes, using the new list of newly created layers.
1016         When applying changes, ensure that the layer we're interested in was already created.
1017         Rename "sublayer" to "layer", and use dot notation everywhere.
1018         Apply all the new layer properties to the layers.
1019
1020         (WebKit::RemoteLayerTreeHost::getLayer):
1021         (WebKit::RemoteLayerTreeHost::createLayer):
1022         Separate creating a new layer from retrieving it by ID.
1023         Ensure that a layer doesn't already exist when creating it.
1024         Support creating CATransformLayers.
1025
1026         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1027         Disable accelerated animations, as we don't support proxying animations yet.
1028         This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.
1029
1030         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1031         (PlatformCALayerRemote::PlatformCALayerRemote):
1032         Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.
1033
1034         (PlatformCALayerRemote::removeFromSuperlayer):
1035         (PlatformCALayerRemote::replaceSublayer):
1036         (PlatformCALayerRemote::adoptSublayers):
1037         Assert when we hit a few critical unimplemented methods that would
1038         leave the layer tree in a broken state.
1039
1040         (PlatformCALayerRemote::isOpaque):
1041         (PlatformCALayerRemote::setOpaque):
1042         (PlatformCALayerRemote::transform):
1043         (PlatformCALayerRemote::setTransform):
1044         (PlatformCALayerRemote::sublayerTransform):
1045         (PlatformCALayerRemote::setSublayerTransform):
1046         (PlatformCALayerRemote::setHidden):
1047         (PlatformCALayerRemote::setGeometryFlipped):
1048         (PlatformCALayerRemote::isDoubleSided):
1049         (PlatformCALayerRemote::setDoubleSided):
1050         (PlatformCALayerRemote::masksToBounds):
1051         (PlatformCALayerRemote::setMasksToBounds):
1052         (PlatformCALayerRemote::setBorderWidth):
1053         (PlatformCALayerRemote::setBorderColor):
1054         (PlatformCALayerRemote::opacity):
1055         (PlatformCALayerRemote::setOpacity):
1056         (PlatformCALayerRemote::setName):
1057         Proxy all of these properties via RemoteLayerTreeTransaction.
1058
1059         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1060         Add storage for the list of newly created layers.
1061         Use LayerID for the list of destroyed layers.
1062
1063         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1064         (WebKit::RemoteLayerTreeContext::layerWasCreated):
1065         Store the ID and type of the newly created layer to be pushed to the UI process later.
1066
1067         (WebKit::RemoteLayerTreeContext::flushLayers):
1068         Push the created and destroyed layers to the transaction *after* flushing
1069         GraphicsLayers, so that any changes to e.g. structural layers will not be missed.
1070
1071 2013-10-16  Csaba Osztrogonác  <ossy@webkit.org>
1072
1073         [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system
1074         https://bugs.webkit.org/show_bug.cgi?id=110139
1075
1076         Reviewed by Laszlo Gombos.
1077
1078         Original patch by Balazs Kelemen <kbalazs@webkit.org>
1079
1080         * CMakeLists.txt:
1081         * PlatformEfl.cmake:
1082
1083 2013-10-16  Robert Plociennik  <r.plociennik@samsung.com>
1084
1085         [EFL] Minibrowser can't load child window's location
1086         https://bugs.webkit.org/show_bug.cgi?id=122485
1087
1088         Reviewed by Gyuyoung Kim.
1089
1090         EwkView::createNewPage(), which is only called during handling of
1091         Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes
1092         the URL to window_create(). As a result, no Messages::WebPage::LoadURL message
1093         is sent back, that would load the same URL twice and effectively cancel any
1094         other scheduled navigation inside WebProcess.
1095
1096         Additionally, since the url parameter in MiniBrowser's implementation of
1097         window_create() is only used internally and is prone to bugs as demonstrated
1098         in r139303 (d7f10c8), it has been removed in favour of explicit calls to
1099         ewk_view_url_set().
1100
1101         * UIProcess/API/efl/EwkView.cpp:
1102         (EwkView::createNewPage): No longer passes the URL to window_create() impl.
1103         * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter.
1104         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to
1105             comply with the API change.
1106         (EWK2WindowFeaturesTest::createDefaultWindow): Ditto.
1107         (EWK2WindowFeaturesTest::createWindow): Ditto.
1108
1109 2013-10-15  Jae Hyun Park  <jae.park@company100.net>
1110
1111         Unreviewed. Build fix after r157476.
1112
1113         * GNUmakefile.am:
1114
1115 2013-10-15  Sergio Correia  <sergio.correia@openbossa.org>
1116
1117         [EFL][WK2] Make SeccompFilters build again after r156349 and r156353
1118         https://bugs.webkit.org/show_bug.cgi?id=122872
1119
1120         Reviewed by Anders Carlsson.
1121
1122         * Shared/linux/SeccompFilters/SeccompBroker.cpp:
1123         (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create'
1124         methods of ArgumentEncoder/ArgumentDecoder.
1125         (WebKit::SeccompBroker::runLoop): Ditto.
1126
1127 2013-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>
1128
1129         Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders.
1130         https://bugs.webkit.org/show_bug.cgi?id=122875
1131
1132         Reviewed by Gyuyoung Kim.
1133
1134         Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478
1135         and it caused redefinition build error in EFL port.
1136
1137         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1138         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
1139
1140 2013-10-15  Dean Jackson  <dino@apple.com>
1141
1142         Add ENABLE_WEB_ANIMATIONS flag
1143         https://bugs.webkit.org/show_bug.cgi?id=122871
1144
1145         Reviewed by Tim Horton.
1146
1147         Eventually might be http://dev.w3.org/fxtf/web-animations/
1148         but this is just engine-internal work at the moment.
1149
1150         * Configurations/FeatureDefines.xcconfig:
1151
1152 2013-10-15  Tim Horton  <timothy_horton@apple.com>
1153
1154         Add a PlatformCALayer subclass that proxies its property changes across the process boundary
1155         https://bugs.webkit.org/show_bug.cgi?id=122773
1156
1157         Reviewed by Anders Carlsson.
1158
1159         PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends
1160         to enable cross-process proxying of the hierarchy of compositing layers.
1161
1162         In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s).
1163         Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer),
1164         PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of
1165         which properties have changed since the last commit. Commits are scheduled and performed by
1166         RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in
1167         RemoteLayerTreeTransaction encoding said property changes and throwing them across
1168         to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there.
1169
1170         This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA
1171         environment variable set.
1172
1173         * Shared/WebCoreArgumentCoders.cpp:
1174         (CoreIPC::decode):
1175         (CoreIPC::encode):
1176         * Shared/WebCoreArgumentCoders.h:
1177         Add argument coders for FloatPoint3D.
1178
1179         * Shared/mac/RemoteLayerTreeTransaction.h:
1180         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
1181         (WebKit::RemoteLayerTreeTransaction::changedLayers):
1182         (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
1183         * Shared/mac/RemoteLayerTreeTransaction.mm:
1184         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
1185         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1186         (WebKit::RemoteLayerTreeTransaction::decode):
1187         (WebKit::dumpChangedLayers):
1188         Add support for background color and anchor point in the layer transaction.
1189         Make layer position a 3D point because that's what it really is.
1190
1191         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
1192         The logic in layerPropertiesChanged is moved into PlatformCALayerRemote.
1193
1194         * UIProcess/WebPageProxy.h:
1195         Include PlatformLayer.h; it seems annoying to successfully forward-declare
1196         PlatformLayer because of the difference in definition between Objective-C and C++.
1197         Drive-by un-indent some namespace contents and use OBJC_CLASS.
1198
1199         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1200         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1201         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
1202         (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
1203         (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry):
1204         (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
1205         Send geometry updates to the RemoteLayerTreeDrawingArea.
1206
1207         * UIProcess/mac/RemoteLayerTreeHost.h:
1208         * UIProcess/mac/RemoteLayerTreeHost.mm:
1209         (nullActionsDictionary):
1210         (WebKit::RemoteLayerTreeHost::commit):
1211         Apply layer property changes to the named sublayer.
1212
1213         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
1214         Create CALayers instead of GraphicsLayers.
1215         Ensure that they won't perform implicit animations.
1216
1217         * UIProcess/mac/WebPageProxyMac.mm:
1218         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
1219         This should take a PlatformLayer instead of a GraphicsLayer, since we don't have
1220         GraphicsLayers in the UIProcess.
1221
1222         * WebKit2.xcodeproj/project.pbxproj:
1223         Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer.
1224
1225         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed.
1226         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed.
1227
1228         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1229         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1230         (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
1231         (WebKit::RemoteLayerTreeContext::setRootLayer):
1232         (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
1233         (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
1234         (WebKit::RemoteLayerTreeContext::flushLayers):
1235         Build our transaction while flushing; it has no reason to exist outside of that scope.
1236
1237         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1238         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1239         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1240         (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
1241         (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
1242         (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
1243         (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
1244         Fix a capitalization typo.
1245         Update the WebPage's (and thus WebCore's) size when updateGeometry() is called.
1246
1247         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added.
1248         (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote):
1249         (WebKit::GraphicsLayerCARemote::filtersCanBeComposited):
1250         (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
1251         Added. Delegate to PlatformCALayerRemote. Don't allow creation of a
1252         GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing,
1253         there should be no PlatformLayer instances in the Web process.
1254
1255         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added.
1256         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added.
1257         (generateLayerID):
1258         Generate a layer ID for identification across processes.
1259
1260         (PlatformCALayerRemote::~PlatformCALayerRemote):
1261         Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey
1262         that information to the UI process and the corresponding CALayer can be destroyed.
1263
1264         (PlatformCALayerRemote::recursiveBuildTransaction):
1265         Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction.
1266
1267         The rest of this file is mostly an empty implementation of PlatformCALayer.
1268         A few properties are implemented so far; see below.
1269
1270         (PlatformCALayerRemote::setSublayers):
1271         (PlatformCALayerRemote::removeAllSublayers):
1272         (PlatformCALayerRemote::appendSublayer):
1273         (PlatformCALayerRemote::insertSublayer):
1274         Update our list of sublayers, and note that our children have changed.
1275         recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction.
1276
1277         (PlatformCALayerRemote::bounds):
1278         (PlatformCALayerRemote::setBounds):
1279         (PlatformCALayerRemote::position):
1280         (PlatformCALayerRemote::setPosition):
1281         (PlatformCALayerRemote::anchorPoint):
1282         (PlatformCALayerRemote::setAnchorPoint):
1283         (PlatformCALayerRemote::backgroundColor):
1284         (PlatformCALayerRemote::setBackgroundColor):
1285         Trivial implementations of basic layer properties, storing the new state in
1286         our LayerProperties struct and noting that they changed in the current commit.
1287         Properties with getters will return the last value that was set on the LayerProperties,
1288         so we don't clear the whole struct at the end of the transaction, just the mask of changed properties.
1289
1290         * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added.
1291
1292 2013-10-15  Brady Eidson  <beidson@apple.com>
1293
1294         Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB
1295
1296         Rubberstamped by Alexey Proskuryakov.
1297
1298         * CMakeLists.txt:
1299         * GNUmakefile.list.am:
1300         * WebKit2.xcodeproj/project.pbxproj:
1301
1302         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp.
1303         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h.
1304
1305 2013-10-15  Brady Eidson  <beidson@apple.com>
1306
1307         Add a skeleton Database process for future usage by Indexed Database.
1308         https://bugs.webkit.org/show_bug.cgi?id=122849
1309
1310         Reviewed by Sam Weinig.
1311
1312         This mostly our typical "Add a new process type" boilerplate.
1313
1314         * Configurations/DatabaseProcess.xcconfig: Added.
1315         * Configurations/DatabaseService.Development.xcconfig: Added.
1316         * Configurations/DatabaseService.xcconfig: Added.
1317         * WebKit2.xcodeproj/project.pbxproj:
1318         * WebKit2Prefix.h:
1319
1320         * DatabaseProcess/DatabaseProcess.cpp: Added.
1321         (WebKit::DatabaseProcess::shared):
1322         (WebKit::DatabaseProcess::DatabaseProcess):
1323         (WebKit::DatabaseProcess::~DatabaseProcess):
1324         (WebKit::DatabaseProcess::initializeConnection):
1325         (WebKit::DatabaseProcess::shouldTerminate):
1326         (WebKit::DatabaseProcess::didReceiveMessage):
1327         (WebKit::DatabaseProcess::didClose):
1328         (WebKit::DatabaseProcess::didReceiveInvalidMessage):
1329         (WebKit::DatabaseProcess::initializeProcess):
1330         (WebKit::DatabaseProcess::initializeProcessName):
1331         (WebKit::DatabaseProcess::initializeSandbox):
1332         * DatabaseProcess/DatabaseProcess.h: Added.
1333
1334         * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
1335         (DatabaseProcessMain):
1336         * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
1337         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
1338         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
1339         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
1340         (DatabaseServiceInitializer):
1341
1342         * DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
1343         (WebKit::DatabaseProcess::initializeProcess):
1344         (WebKit::DatabaseProcess::initializeProcessName):
1345         (WebKit::DatabaseProcess::initializeSandbox):
1346         * UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
1347         (WebKit::DatabaseProcessProxy::create):
1348         (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
1349         (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
1350         (WebKit::DatabaseProcessProxy::getLaunchOptions):
1351         (WebKit::DatabaseProcessProxy::connectionWillOpen):
1352         (WebKit::DatabaseProcessProxy::connectionWillClose):
1353         (WebKit::DatabaseProcessProxy::didReceiveMessage):
1354         (WebKit::DatabaseProcessProxy::didClose):
1355         (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
1356         (WebKit::DatabaseProcessProxy::didFinishLaunching):
1357         * UIProcess/Databases/DatabaseProcessProxy.h: Added.
1358         * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
1359         (WebKit::shouldUseXPC):
1360         (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
1361
1362         * UIProcess/Launcher/ProcessLauncher.cpp:
1363         (WebKit::ProcessLauncher::processTypeAsString):
1364         (WebKit::ProcessLauncher::getProcessTypeFromString):
1365         * UIProcess/Launcher/ProcessLauncher.h:
1366         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1367         (WebKit::serviceName):
1368         (WebKit::createProcess):
1369
1370 2013-10-15  Csaba Osztrogonác  <ossy@webkit.org>
1371
1372         [Soup] Unreviewed buildfix after r157445 for ENABLE(NETWORK_PROCESS) builds.
1373
1374         * NetworkProcess/soup/NetworkProcessSoup.cpp:
1375         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
1376
1377 2013-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1378
1379         Unreviewed. Fix the GTK+ build after r157445.
1380
1381         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1382         (didFailProvisionalLoadWithErrorForFrame):
1383
1384 2013-10-15  Csaba Osztrogonác  <ossy@webkit.org>
1385
1386         Move PlatformCertificateInfo to WebCore and make the ResourceResponse primitives work in terms of that platform agnostic object
1387         https://bugs.webkit.org/show_bug.cgi?id=118520
1388
1389         Reviewed by Anders Carlsson.
1390
1391         Added PlatformCertificateInfo getter and setter to ResourceErrorBase
1392         and ResourceResponseBase so that getting and setting certificates
1393         becomes cross platform.
1394
1395         Changed the existing platform specific certificate getters and setters
1396         of ResourceError and ResourceResponse to use the
1397         PlatformCertificateInfo member.
1398
1399         Original patch by Kwang Yul Seo  <skyul@company100.net>
1400
1401         The following things were fixed by Csaba Osztrogonác:
1402         - trivial conflicts resolved in WebCore.exp.in, project.pbxproj, NetworkResourceLoader.cpp,
1403           WebPageProxy.h, WebFrameLoaderClient.cpp and PlatformEfl.cmake.
1404         - trivial fix in the new AsynchronousNetworkLoaderClient.cpp
1405         - style fixed (NULL -> 0 and smaller indentation in WebCoreArgumentCodersSoup.cpp)
1406         - obsolete change removed from NetworkResourceLoader.cpp
1407         - unneeded typo removed from ResourceHandleSoup.cpp
1408         - Fixed the if guard of including RetainPtr.h in PlatformCertificateInfo.h to make Windows build happy.
1409         - add PlatformCertificateInfoCFNet.cpp with empty constructor and destructor to make Windows build happy.
1410         - resolve conflict in Source/WebCore/WebCore.xcodeproj/project.pbxproj after r156488
1411         - rename KURL to URL after r156550.
1412         - remove obsolete Qt changes
1413         - added back initializers for m_soupFlags
1414         - included gio/gio.h instead of libsoup/soup.h in PlatformCertificateInfo.h
1415         - removed unused class forward declarations and includes
1416
1417         * GNUmakefile.list.am:
1418         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
1419         (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
1420         * NetworkProcess/NetworkProcess.h:
1421         * NetworkProcess/NetworkProcess.messages.in:
1422         * NetworkProcess/NetworkResourceLoader.cpp:
1423         * NetworkProcess/mac/NetworkProcessMac.mm:
1424         * PlatformEfl.cmake:
1425         * PlatformGTK.cmake:
1426         * Shared/API/c/mac/WKCertificateInfoMac.mm:
1427         (WKCertificateInfoCreateWithCertficateChain):
1428         * Shared/Authentication/AuthenticationManager.h:
1429         * Shared/Authentication/AuthenticationManager.messages.in:
1430         * Shared/Authentication/mac/AuthenticationManager.mac.mm:
1431         * Shared/UserMessageCoders.h:
1432         (WebKit::UserMessageDecoder::baseDecode):
1433         * Shared/WebCertificateInfo.h:
1434         (WebKit::WebCertificateInfo::create):
1435         (WebKit::WebCertificateInfo::platformCertificateInfo):
1436         (WebKit::WebCertificateInfo::WebCertificateInfo):
1437         * Shared/WebCoreArgumentCoders.cpp:
1438         (CoreIPC::::decode):
1439         (CoreIPC::::encode):
1440         * Shared/WebCoreArgumentCoders.h:
1441         * Shared/mac/WebCoreArgumentCodersMac.mm:
1442         (CoreIPC::::encodePlatformData):
1443         (CoreIPC::::decodePlatformData):
1444         * Shared/soup/PlatformCertificateInfo.cpp: Removed.
1445         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
1446         (CoreIPC::::encodePlatformData):
1447         (CoreIPC::::decodePlatformData):
1448         * Target.pri:
1449         * UIProcess/API/gtk/WebKitWebView.cpp:
1450         (webkit_web_view_get_tls_info):
1451         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
1452         (WebKit::AuthenticationChallengeProxy::useCredential):
1453         * UIProcess/WebFrameProxy.cpp:
1454         (WebKit::WebFrameProxy::didCommitLoad):
1455         * UIProcess/WebFrameProxy.h:
1456         * UIProcess/WebPageProxy.h:
1457         * UIProcess/WebPageProxy.messages.in:
1458         * WebKit2.xcodeproj/project.pbxproj:
1459         * WebProcess/Network/WebResourceLoader.cpp:
1460         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
1461         * WebProcess/Network/WebResourceLoader.h:
1462         * WebProcess/Network/WebResourceLoader.messages.in:
1463         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1464         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
1465
1466 2013-10-14  Csaba Osztrogonác  <ossy@webkit.org>
1467
1468         [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings.
1469         https://bugs.webkit.org/show_bug.cgi?id=118388
1470
1471         Reviewed by Carlos Garcia Campos.
1472
1473         Original patch by Kwang Yul Seo <skyul@company100.net> .
1474
1475         Proxy configuration should honor the no_proxy environment variable
1476         same to WebProcess. It is necessary not to change the current behaviour.
1477         See https://bugs.webkit.org/show_bug.cgi?id=91747 for details.
1478
1479         The following things were fixed by Csaba Osztrogonác:
1480         - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343
1481         - added GRefPtr.h include
1482         - fixed ifdef guards
1483
1484         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
1485         (WebKit::NetworkProcessMain):
1486         Copied from WebProcessMainEfl.cpp.
1487
1488 2013-10-13  Darin Adler  <darin@apple.com>
1489
1490         Deprecate or remove deleteAllValues functions; there are only a few call sites left
1491         https://bugs.webkit.org/show_bug.cgi?id=122738
1492
1493         Reviewed by Anders Carlsson.
1494
1495         * Shared/Plugins/NPRemoteObjectMap.cpp:
1496         (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
1497         deprecatedDeleteAllValues.
1498
1499 == Rolled over to ChangeLog-2013-10-13 ==