dcc8df059666a2b202c14f817bf4dd0678709d6c
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-11-05  Anders Carlsson  <andersca@apple.com>
2
3         Begin work on a WKRemoteObjectDecoder object
4         https://bugs.webkit.org/show_bug.cgi?id=123819
5
6         Reviewed by Dan Bernstein.
7
8         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
9         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
10         (-[WKRemoteObjectDecoder initWithRootObjectDictionary:]):
11         Add designated initializer.
12
13         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
14         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
15         If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:.
16
17         (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
18         Create a decoder.
19
20 2013-11-05  Benjamin Poulain  <benjamin@webkit.org>
21
22         [WK2] Add a WebKit2 API for Geolocation's highAccuracy
23         https://bugs.webkit.org/show_bug.cgi?id=123786
24
25         Reviewed by Darin Adler.
26
27         This adds support for highAccuracy Geolocation with WebKit2.
28
29         The key is to track which page/requester need what kind of geolocation
30         in order to change between high and low accuracy as pages run and disappear.
31
32         WebGeolocationManager and WebGeolocationManagerProxy have very similar roles
33         but for different sources:
34         -WebGeolocationManager tracks which live page require high accuracy geolocation.
35          When the state changes, it forward the information to the UIProcess.
36         -WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy.
37
38         * Shared/APIClientTraits.cpp:
39         * Shared/APIClientTraits.h:
40         * UIProcess/API/C/WKGeolocationManager.h:
41         * UIProcess/WebGeolocationManagerProxy.cpp:
42         (WebKit::WebGeolocationManagerProxy::startUpdating):
43         (WebKit::WebGeolocationManagerProxy::removeRequester):
44         (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
45         * UIProcess/WebGeolocationManagerProxy.h:
46         (WebKit::WebGeolocationManagerProxy::isUpdating):
47         (WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled):
48         * UIProcess/WebGeolocationManagerProxy.messages.in:
49         * UIProcess/WebGeolocationProvider.cpp:
50         (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
51         * UIProcess/WebGeolocationProvider.h:
52         * WebProcess/Geolocation/WebGeolocationManager.cpp:
53         (WebKit::WebGeolocationManager::registerWebPage):
54         (WebKit::WebGeolocationManager::unregisterWebPage):
55         (WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
56         * WebProcess/Geolocation/WebGeolocationManager.h:
57         (WebKit::WebGeolocationManager::isUpdating):
58         (WebKit::WebGeolocationManager::isHighAccuracyEnabled):
59         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
60         (WebKit::WebGeolocationClient::setEnableHighAccuracy):
61
62 2013-11-05  Anders Carlsson  <andersca@apple.com>
63
64         Implement more NSCoder methods
65         https://bugs.webkit.org/show_bug.cgi?id=123815
66
67         Reviewed by Dan Bernstein.
68
69         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
70         (encodeObject):
71         Assert that object is not nil.
72
73         (createEncodedObject):
74         Handle nil objects.
75
76         (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
77         Call the right object stream encoding function based on the object type.
78
79         (-[WKRemoteObjectEncoder encodeBool:forKey:]):
80         (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
81         (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
82         Create APIObjects and add them to the current dictionary.
83
84 2013-11-05  Anders Carlsson  <andersca@apple.com>
85
86         Encode the class name
87         https://bugs.webkit.org/show_bug.cgi?id=123813
88
89         Reviewed by Dan Bernstein.
90
91         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
92         (encodeObject):
93         Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.
94
95 2013-11-05  Anders Carlsson  <andersca@apple.com>
96
97         Clean up the WKRemoteObjectEncoder code
98         https://bugs.webkit.org/show_bug.cgi?id=123811
99
100         Reviewed by Dan Bernstein.
101
102         Add a new object stream array to be used for the non-keyed encoding values
103         and free functions for encoding values to the object stream. Simplify object encoding
104         by moving the dictionary creation out into a separate function and ditching the block based methods.
105
106         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
107         (ensureObjectStream):
108         Add helper function to create an object stream.
109
110         (encodeToObjectStream):
111         Add overloads for encoding values into the object streams.
112
113         (encodeInvocation):
114         Add helper function for encoding an NSInvocation.
115
116         (encodeObject):
117         Call encodeInvocation if needed, otherwise just use encodeWithCoder:.
118
119         (createEncodedObject):
120         Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.
121
122         (-[WKRemoteObjectEncoder encodeObject:forKey:]):
123         Call createEncodedObject.    
124
125 2013-11-04  Brady Eidson  <beidson@apple.com>
126
127         IDB: Split backend Cursors and Transactions into their own files
128         https://bugs.webkit.org/show_bug.cgi?id=123789
129
130         Reviewed by Alexey Proskuryakov.
131
132         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
133         (WebKit::WebIDBFactoryBackend::createCursorBackend):
134         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
135
136 2013-11-04  Alexey Proskuryakov  <ap@apple.com>
137
138         DumpRenderTree should reset its preferences file on launch
139         https://bugs.webkit.org/show_bug.cgi?id=29751
140
141         Reviewed by Dan Bernstein.
142
143         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
144         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
145         Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
146         domain meant that current application's domain was explcitly ignored, and the only
147         way to override the setting in WTR was through argument domain.
148
149 2013-11-04  Tim Horton  <timothy_horton@apple.com>
150
151         Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
152         https://bugs.webkit.org/show_bug.cgi?id=123766
153
154         Reviewed by Anders Carlsson.
155
156         Put each LayerTypeCustom layer into a CAContext, so that we can
157         host small CALayer trees (for video, plugins, etc.) from the Web process
158         to the UI process without proxying their (more complex) content.
159
160         * Shared/mac/RemoteLayerTreeTransaction.h:
161         * Shared/mac/RemoteLayerTreeTransaction.mm:
162         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
163         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
164         (WebKit::RemoteLayerTreeTransaction::dump):
165         Store, encode, and dump the CAContext ID of custom layers.
166
167         * UIProcess/mac/RemoteLayerTreeHost.mm:
168         (WebKit::RemoteLayerTreeHost::createLayer):
169         Create a CALayerHost with the CAContext ID from the Web process.
170
171         * WebKit2.xcodeproj/project.pbxproj:
172         Add PlatformCALayerRemoteCustom.
173
174         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
175         (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
176         Call the newly-added custom-layer constructor.
177
178         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
179         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
180         (PlatformCALayerRemote::create):
181         (PlatformCALayerRemote::PlatformCALayerRemote):
182         Move the call to layerWasCreated() out to ::create(), so that all of
183         the constructors for this class and all subclasses have completed
184         before we call it (so that layerWasCreated() can store the context ID
185         in the created layer properties object).
186
187         (WebKit::PlatformCALayerRemote::hostingContextID):
188         Should never be reached on the base class, only PlatformCALayerRemoteCustom.
189
190         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
191         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
192         (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
193         (PlatformCALayerRemoteCustom::hostingContextID):
194         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
195         Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
196         which it will use to share a custom CALayer tree with the UI process.
197
198         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
199         Drive-by remove an unnecessary include.
200
201         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
202         (WebKit::RemoteLayerTreeContext::layerWasCreated):
203         Store the CAContext ID with the layer creation properties so it can
204         be used to create a CALayerHost upon commit in the UI process.
205
206 2013-11-04  Tim Horton  <timothy_horton@apple.com>
207
208         Remove PlatformCALayer::playerLayer
209         https://bugs.webkit.org/show_bug.cgi?id=123764
210
211         Reviewed by Sam Weinig.
212
213         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
214         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
215         Remove playerLayer().
216
217 2013-11-04  Anders Carlsson  <andersca@apple.com>
218
219         WKRemoteObjectEncoder should escape keys
220         https://bugs.webkit.org/show_bug.cgi?id=123761
221
222         Reviewed by Tim Horton.
223
224         Keys that start with $ will be reserved for use by the coder, so prepend an extra
225         $ to keys that already start with $ to avoid clashes.
226
227         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
228         (escapeKey):
229         (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
230         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
231
232 2013-11-04  Benjamin Poulain  <bpoulain@apple.com>
233
234         [WK2] Update WebGeolocationManager to support multiple WebContent processes
235         https://bugs.webkit.org/show_bug.cgi?id=123658
236
237         Reviewed by Anders Carlsson.
238
239         Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation.
240
241         * UIProcess/WebContext.cpp:
242         (WebKit::WebContext::disconnectProcess):
243         WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple
244         WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary
245         solution.
246
247         * UIProcess/WebGeolocationManagerProxy.cpp:
248         (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
249         (WebKit::WebGeolocationManagerProxy::contextDestroyed):
250         (WebKit::WebGeolocationManagerProxy::processDidClose):
251         (WebKit::WebGeolocationManagerProxy::startUpdating):
252         (WebKit::WebGeolocationManagerProxy::stopUpdating):
253         (WebKit::WebGeolocationManagerProxy::removeRequester):
254         * UIProcess/WebGeolocationManagerProxy.h:
255         * UIProcess/WebGeolocationManagerProxy.messages.in:
256
257 2013-11-01  Jer Noble  <jer.noble@apple.com>
258
259         [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
260         https://bugs.webkit.org/show_bug.cgi?id=123621
261
262         Reviewed by Eric Carlson.
263
264         Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference.
265
266         * Shared/WebPreferencesStore.h:
267         * UIProcess/API/C/WKPreferences.cpp:
268         (WKPreferencesSetVideoPluginProxyEnabled):
269         (WKPreferencesGetVideoPluginProxyEnabled):
270         * UIProcess/API/C/WKPreferences.h:
271         * WebProcess/WebPage/WebPage.cpp:
272         (WebKit::WebPage::updatePreferences):
273
274 2013-11-04  Anders Carlsson  <andersca@apple.com>
275
276         More WKRemoteObjectRegistry work
277         https://bugs.webkit.org/show_bug.cgi?id=123754
278
279         Reviewed by Dan Bernstein.
280
281         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
282         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
283         (-[WKRemoteObjectEncoder rootObjectDictionary]):
284         Add a getter for the root object dictionary.
285
286         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
287         (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
288         Call _sendMessageWithBody:.
289         (-[WKRemoteObjectRegistry _sendMessageWithBody:]):
290         Call WebConnection::postMessage.
291
292 2013-11-03  Dan Bernstein  <mitz@apple.com>
293
294         [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
295         https://bugs.webkit.org/show_bug.cgi?id=123707
296
297         Reviewed by Geoff Garen and Anders Carlsson.
298
299         * Shared/Cocoa/WKNSArray.mm:
300         (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
301         * Shared/Cocoa/WKNSDictionary.mm:
302         (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
303         * Shared/ImmutableArray.h:
304         (WebKit::ImmutableArray::entries): Added this accessor.
305
306 2013-11-03  Dan Bernstein  <mitz@apple.com>
307
308         Reverted r158538.
309
310         * Shared/Cocoa/WKNSArray.mm:
311         (-[WKNSArray copyWithZone:]):
312         * Shared/Cocoa/WKNSDictionary.mm:
313         (-[WKNSDictionary copyWithZone:]):
314         * Shared/ImmutableArray.h:
315
316 2013-11-03  Dan Bernstein  <mitz@apple.com>
317
318         [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
319         https://bugs.webkit.org/show_bug.cgi?id=123707
320
321         Reviewed by Geoff Garen.
322
323         * Shared/Cocoa/WKNSArray.mm:
324         (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
325         * Shared/Cocoa/WKNSDictionary.mm:
326         (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
327         * Shared/ImmutableArray.h:
328         (WebKit::ImmutableArray::entries): Added this accessor.
329
330 2013-11-02  Dan Bernstein  <mitz@apple.com>
331
332         [Cocoa] Wrappers mishandle NULL values in arrays and dictionaries
333         https://bugs.webkit.org/show_bug.cgi?id=123671
334
335         Reviewed by Darin Adler.
336
337         * Shared/Cocoa/WKNSArray.mm:
338         (-[WKNSArray objectAtIndex:]): Represent a NULL object as NSNull.
339         * Shared/Cocoa/WKNSDictionary.mm:
340         (-[WKNSDictionary objectForKey:]): Represent a NULL value as NSNull.
341         * Shared/ImmutableDictionary.h:
342         (WebKit::ImmutableDictionary::get): Added this overload that returns whether the key exists.
343
344 2013-11-02  Dan Bernstein  <mitz@apple.com>
345
346         Fixed release builds.
347
348         * Shared/Cocoa/WKNSDictionary.mm:
349         (-[WKNSDictionary initWithObjects:forKeys:count:]):
350
351 2013-11-02  Dan Bernstein  <mitz@apple.com>
352
353         [Cocoa] Add WKNSDictionary
354         https://bugs.webkit.org/show_bug.cgi?id=123660
355
356         Reviewed by Anders Carlsson.
357
358         * Shared/Cocoa/APIObject.mm:
359         (WebKit::APIObject::newObject): Allocate a WKNSDictionary if the APIObject is a dictionary.
360         * Shared/Cocoa/WKNSDictionary.h: Added.
361         (WebKit::wrapper):  Added. Returns an ImmutableDictionary’s wrapper as an NSDictionary.
362         * Shared/Cocoa/WKNSDictionary.mm: Added.
363         (-[WKNSDictionary dealloc]): Calls the ImmutableDictionary destructor.
364         (-[WKNSDictionary count]): Added.
365         (-[WKNSDictionary objectForKey:]): Added.
366         (-[WKNSDictionary keyEnumerator]): Added.
367         (-[WKNSDictionary copyWithZone:]): Retains self.
368         (-[WKNSDictionary _apiObject]): Returns the wrapped ImmutableDictionary.
369         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
370
371 2013-11-02  Tim Horton  <timothy_horton@apple.com>
372
373         Address some review comments noted in r158463
374         https://bugs.webkit.org/show_bug.cgi?id=123646
375
376         Reviewed by Darin Adler.
377
378         * Shared/mac/RemoteLayerBackingStore.mm:
379         Put our __has_include ifs all on one line.
380
381         (createIOSurface):
382         IOSurfaceAlignProperty returns size_t, not unsigned long.
383
384         (RemoteLayerBackingStore::display):
385         (RemoteLayerBackingStore::drawInContext):
386         Create the frontImage in display() and hand it to drawInContext().
387
388         Use the GraphicsContext API instead of CG itself for clearRect().
389
390         When using ShareableBitmap, replace m_frontBuffer instead of
391         having a backBuffer local; the CGImageRef will retain the
392         ShareableBitmap it references.
393
394         Duplicate our drawInContext() calls so we don't have to allocate
395         a GraphicsContext on the heap in the IOSurface case.
396
397         Don't bother clearing frontContext; it'll happen for us at
398         the appropriate time. Instead, assert that it's still alive after
399         we drop our reference to the frontImage created from it.
400
401 2013-11-02  Zan Dobersek  <zdobersek@igalia.com>
402
403         [GTK] invalid use of incomplete type 'class WTF::PassOwnPtr<WTF::Vector<unsigned char> >'
404         https://bugs.webkit.org/show_bug.cgi?id=123601
405
406         Reviewed by Carlos Garcia Campos.
407
408         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Explicitly include the PassOwnPtr.h header
409         as certain configurations on the GTK port don't ensure that the header is included indirectly.
410
411 2013-11-02  Vitaly Katunin  <vkatunin@luxoft.com>
412
413         [GTK] invalid application of 'sizeof' to incomplete type
414         https://bugs.webkit.org/show_bug.cgi?id=123502
415
416         Reviewed by Carlos Garcia Campos.
417
418         * Shared/WebCoreArgumentCoders.cpp:
419
420 2013-11-01  Tim Horton  <timothy_horton@apple.com>
421
422         Remote Layer Tree: Crashes allocating incredibly large backing store for tiled backing layers
423         https://bugs.webkit.org/show_bug.cgi?id=123651
424
425         Reviewed by Simon Fraser.
426
427         * Shared/mac/RemoteLayerBackingStore.mm:
428         (RemoteLayerBackingStore::display):
429         (RemoteLayerBackingStore::drawInContext):
430         We can't dirty the whole layer if we have no existing front buffer if
431         we have no paints, because that will lead to layers which were never
432         setNeedsDisplay()'d getting backing store. Added back an assertion
433         that will catch this, too.
434
435 2013-11-01  Dan Bernstein  <mitz@apple.com>
436
437         [Cocoa] WKObject seems to be initializing its target in a thread-safe manner, but really is not
438         https://bugs.webkit.org/show_bug.cgi?id=123640
439
440         Reviewed by Darin Adler.
441
442         * Shared/Cocoa/WKObject.mm:
443         (initializeTargetIfNeeded): Removed misleading incorrect code.
444
445 2013-11-01  Benjamin Poulain  <benjamin@webkit.org>
446
447         [WK2] Create a unique identifier for WebPageGroup if the input name is empty
448         https://bugs.webkit.org/show_bug.cgi?id=123606
449
450         Reviewed by Andreas Kling.
451
452         Strengthen the "public" API of page group.
453         If someone uses WKBrowsingContextGroup with a nil or empty string, the related WKString
454         would be empty, and all the WKBrowsingContextGroup end up with the same identifier.
455
456         * UIProcess/WebPageGroup.cpp:
457         (WebKit::WebPageGroup::WebPageGroup):
458
459 2013-11-01  Dan Bernstein  <mitz@apple.com>
460
461         [Cocoa] Avoid some double-wrapping of strings and URLs
462         https://bugs.webkit.org/show_bug.cgi?id=123632
463
464         Reviewed by Anders Carlsson.
465
466         * Shared/API/c/cf/WKStringCF.cpp: Removed.
467         * Shared/API/c/cf/WKStringCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKStringCF.cpp.
468         (wkNSStringClass): Added this helper.
469         (WKStringCreateWithCFString): If the passed-in CFString is already wrapping a WebString,
470         then retain it and return it.
471         * Shared/API/c/cf/WKURLCF.cpp: Removed.
472         * Shared/API/c/cf/WKURLCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKURLCF.cpp.
473         (wkNSURLClass): Added this helper.
474         (WKURLCreateWithCFURL): If the passed-in CFURL is already wrapping a WebURL, then retain it
475         and return it.
476         * WebKit2.xcodeproj/project.pbxproj: Updated for renames.
477
478 2013-11-01  Anders Carlsson  <andersca@apple.com>
479
480         Begin work on encoding argument types
481         https://bugs.webkit.org/show_bug.cgi?id=123631
482
483         Reviewed by Dan Bernstein.
484
485         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
486         (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
487         Encode argument types in an array.
488
489         (-[WKRemoteObjectEncoder _encodedObjectUsingBlock:]):
490         Add new helper method that encodes an object and returns the dictionary.
491
492         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
493         Implement this in terms of _encodedObjectUsingBlock:.
494
495         * Shared/MutableArray.cpp:
496         (WebKit::MutableArray::append):
497         * Shared/MutableArray.h:
498         Change append to take a PassRefPtr.
499
500 2013-10-31  Gavin Barraclough  <barraclough@apple.com>
501
502         Rename InWindowState -> ViewState
503         https://bugs.webkit.org/show_bug.cgi?id=123584
504
505         Rubber stamped by Sam Weinig.
506
507         WebPageProxy::setViewState offers the option to wait for a reply. Previously this option
508         was only available via setIsInWindow, hence the mechanism to wait to the update has
509         'InWindowState' in method and variable names (i.e.
510         'WebPageProxy::waitForDidUpdateInWindowState'). Since the mechanism is now applicable to
511         all ViewState changes, rename to reflect this.
512
513         * UIProcess/API/mac/WKView.mm:
514         (-[WKView endDeferringViewInWindowChangesSync]):
515         * UIProcess/WebPageProxy.cpp:
516         (WebKit::WebPageProxy::WebPageProxy):
517         (WebKit::WebPageProxy::waitForDidUpdateViewState):
518         (WebKit::WebPageProxy::resetStateAfterProcessExited):
519         * UIProcess/WebPageProxy.h:
520         (WebKit::WebPageProxy::didUpdateViewState):
521         * UIProcess/WebPageProxy.messages.in:
522         * WebProcess/WebPage/WebPage.cpp:
523         (WebKit::WebPage::WebPage):
524         (WebKit::WebPage::didUpdateViewStateTimerFired):
525         (WebKit::WebPage::setViewState):
526         * WebProcess/WebPage/WebPage.h:
527         * WebProcess/WebPage/WebPage.messages.in:
528         * WebProcess/WebPage/mac/WebPageMac.mm:
529         (WebKit::WebPage::didUpdateViewStateTimerFired):
530
531 2013-11-01  Tim Horton  <timothy_horton@apple.com>
532
533         Remote Layer Tree: Move RemoteLayerBackingStore to Shared/
534         https://bugs.webkit.org/show_bug.cgi?id=123646
535
536         Reviewed by Darin Adler.
537
538         Move RemoteLayerBackingStore to Shared/, since it is
539         used on both the UI and Web process side of things.
540
541         * Shared/mac/RemoteLayerBackingStore.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h.
542         * Shared/mac/RemoteLayerBackingStore.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm.
543         * WebKit2.xcodeproj/project.pbxproj:
544
545 2013-11-01  Tim Horton  <timothy_horton@apple.com>
546
547         Remote Layer Tree: Vend layer contents via IOSurfaces
548         https://bugs.webkit.org/show_bug.cgi?id=123600
549
550         Reviewed by Anders Carlsson.
551
552         Address some review comments from Darin (and subsequently Anders).
553
554         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
555         (WebKit::RemoteLayerBackingStore::surface):
556         No need for .get() here.
557
558         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
559         (RemoteLayerBackingStore::ensureBackingStore):
560         All on one line for readability.
561
562         (createIOSurfaceContext):
563         This 'if' is meaningless.
564
565         (createIOSurface):
566         No need for a RetainPtr here, the dictionary is autoreleased.
567
568         (RemoteLayerBackingStore::display):
569         Snuggle 'context' up next to the other declarations.
570
571 2013-11-01  Anders Carlsson  <andersca@apple.com>
572
573         Don't use the C API in WKRemoteObjectCoder
574         https://bugs.webkit.org/show_bug.cgi?id=123627
575
576         Reviewed by Dan Bernstein.
577
578         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
579         (-[WKRemoteObjectEncoder init]):
580         (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
581         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
582         * Shared/ImmutableDictionary.h:
583         * Shared/MutableDictionary.cpp:
584         (WebKit::MutableDictionary::add):
585         (WebKit::MutableDictionary::set):
586         * Shared/MutableDictionary.h:
587
588 2013-11-01  Emilio Pozuelo Monfort  <pochu27@gmail.com>
589
590         Fix build on non-linux platforms
591         https://bugs.webkit.org/show_bug.cgi?id=123622
592
593         Reviewed by Darin Adler.
594
595         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
596
597 2013-11-01  Brian Holt  <brian.holt@samsung.com>
598
599         [GTK] [WK2] Crash in webkitWebViewLoadFailedWithTLSErrors
600         https://bugs.webkit.org/show_bug.cgi?id=123618
601
602         Reviewed by Mario Sanchez Prada.
603
604         The GOwnPtrSoup header was not included which meant that the
605         specialization for GOwnPtr<SoupURI> was not used and instead the
606         default freeOwnedGPtr which calls g_free is used and crashes.
607
608         * UIProcess/API/gtk/WebKitWebView.cpp:
609
610 2013-10-31  Tim Horton  <timothy_horton@apple.com>
611
612         Fix a typo/review comment from Dan, in http://trac.webkit.org/changeset/158413
613
614         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
615
616 2013-10-31  Tim Horton  <timothy_horton@apple.com>
617
618         Remote Layer Tree: Vend layer contents via IOSurfaces
619         https://bugs.webkit.org/show_bug.cgi?id=123600
620
621         Reviewed by Anders Carlsson.
622
623         * Configurations/WebKit2.xcconfig:
624         Link WebKit2 against IOSurface.
625
626         * Shared/mac/RemoteLayerTreeTransaction.mm:
627         (WebKit::dumpChangedLayers):
628         Dump the size of the backing store instead of the pointer of its
629         SharedBitmap, because that's slightly more useful.
630
631         * UIProcess/mac/RemoteLayerTreeHost.mm:
632         (WebKit::RemoteLayerTreeHost::commit):
633         If a layer's backing store uses accelerated drawing, hand the IOSurface
634         to the CALayer for display.
635
636         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
637         (PlatformCALayerRemote::PlatformCALayerRemote):
638         Initialize contentsScale to 1 to match CA. Other properties will follow.
639
640         (PlatformCALayerRemote::ensureBackingStore):
641         Instead of replacing the RemoteLayerBackingStore when its properties
642         change, allow it to update them on the fly. Replacing them caused
643         us to throw away repaint rects when the accelerated drawing
644         flag was flipped.
645
646         (PlatformCALayerRemote::acceleratesDrawing):
647         (PlatformCALayerRemote::setAcceleratesDrawing):
648         Store the accelerated drawing flag and mark it dirty when it changes.
649
650         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
651         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
652         (WebKit::RemoteLayerBackingStore::image):
653         Rename bitmap() to image() and have it create a CGImageRef from
654         the ShareableBitmap, ready for direct application to a CALayer.
655
656         (WebKit::RemoteLayerBackingStore::surface):
657         Return a IOSurface ready for direct application to a CALayer.
658
659         (WebKit::RemoteLayerBackingStore::acceleratesDrawing):
660         (WebKit::RemoteLayerBackingStore::hasFrontBuffer):
661         Return whether or not we have a front buffer/surface.
662
663         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
664         Forward-declare some CGIOSurface SPI.
665
666         (RemoteLayerBackingStore::RemoteLayerBackingStore):
667         (RemoteLayerBackingStore::ensureBackingStore):
668         Throw away our front image and reset flags if needed.
669
670         (RemoteLayerBackingStore::encode):
671         (RemoteLayerBackingStore::decode):
672         En/decode the front surface instead of the ShareableBitmap if needed,
673         using CoreIPC::MachPort. Destroy the port on receipt.
674
675         (createIOSurfaceContext):
676         Create a CGIOSurfaceContext from an IOSurface.
677
678         (createIOSurface):
679         Create an IOSurface of the given size.
680
681         (RemoteLayerBackingStore::image):
682         Return a CGImageRef, if we're not using accelerated drawing.
683         Moved from the header.
684
685         (RemoteLayerBackingStore::display):
686         (RemoteLayerBackingStore::drawInContext):
687         If using accelerated drawing, create and paint into an IOSurface.
688         Reorganize some code to make the copying-from-the-front-image code
689         work for both software and IOSurfaces.
690         Flush the context when completed, to ensure that any asynchronous
691         painting is complete before we vend the surface to the UI process.
692
693 2013-10-31  Anders Carlsson  <andersca@apple.com>
694
695         Begin stubbing out the WKRemoteObjectCoder NSCoder subclass
696         https://bugs.webkit.org/show_bug.cgi?id=123596
697
698         Reviewed by Tim Horton.
699
700         * Shared/API/Cocoa/WKRemoteObject.mm:
701         (-[WKRemoteObject forwardInvocation:]):
702         Call through to the WKRemoteObjectRegistry.
703
704         * Shared/API/Cocoa/WKRemoteObjectCoder.h: Added.
705         * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Added.
706         (-[WKRemoteObjectEncoder init]):
707         Create a root WKDictionary.
708
709         (-[WKRemoteObjectEncoder dealloc]):
710         Assert that the current dictionary is the root dictionary; that we're back where we started.
711
712         (-[WKRemoteObjectEncoder allowsKeyedCoding]):
713         Return YES.
714
715         (-[WKRemoteObjectEncoder encodeObject:forKey:]):
716         Check that the object is valid and then encode it.
717
718         (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
719         Encode the method type string and invocation selector.
720
721         (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
722         Create a WKDataRef and add it to the dictionary.
723
724         (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
725         Create a new dictionary and call the block.
726
727         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
728         (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
729         Create an encoder and encode the invocation and interface.
730
731         * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: Added.
732         Add IPI header.
733
734         * WebKit2.xcodeproj/project.pbxproj:
735         Add new files.
736
737 2013-10-31  Anders Carlsson  <andersca@apple.com>
738
739         Address review comments.
740
741         * Shared/API/Cocoa/WKRemoteObject.h:
742         * Shared/API/Cocoa/WKRemoteObject.mm:
743         (-[WKRemoteObject conformsToProtocol:]):
744
745 2013-10-31  Anders Carlsson  <andersca@apple.com>
746
747         Add a WKRemoteObject class
748         https://bugs.webkit.org/show_bug.cgi?id=123586
749
750         Reviewed by Dan Bernstein.
751
752         * Shared/API/Cocoa/WKRemoteObject.h: Added.
753         * Shared/API/Cocoa/WKRemoteObject.mm: Added.
754         (-[WKRemoteObject _initWithObjectRegistry:interface:]):
755         Add designated initializer.
756
757         (-[WKRemoteObject conformsToProtocol:]):
758         Check if the interface protocol conforms to our protocol.
759
760         (methodArgumentTypeEncodingForSelector):
761         Helper function that looks up a method in a given protocol and returns its type encoding.
762
763         (-[WKRemoteObject methodSignatureForSelector:]):
764         Try to find the method argument type encoding for the given selector and return its NSMethodSignature.
765
766         (-[WKRemoteObject forwardInvocation:]):
767         Add stub.
768
769         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
770         Remove a newline.
771
772         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
773         (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
774         Establish a mapping between interface identifiers and remote object proxies.
775
776         * WebKit2.xcodeproj/project.pbxproj:
777
778 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
779
780         Enable WebCrypto on Mac
781         https://bugs.webkit.org/show_bug.cgi?id=123587
782
783         Reviewed by Anders Carlsson.
784
785         * Configurations/FeatureDefines.xcconfig: Do it.
786
787 2013-10-31  Sergio Correia  <sergio.correia@openbossa.org>
788
789         [WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr
790         https://bugs.webkit.org/show_bug.cgi?id=122883
791
792         Reviewed by Darin Adler.
793
794         * Shared/linux/SeccompFilters/OpenSyscall.cpp:
795         (WebKit::OpenSyscall::createFromOpenatContext):
796         (WebKit::OpenSyscall::createFromCreatContext):
797         (WebKit::OpenSyscall::execute):
798         * Shared/linux/SeccompFilters/OpenSyscall.h:
799         * Shared/linux/SeccompFilters/SeccompBroker.cpp:
800         (WebKit::SIGSYSHandler):
801         (WebKit::SeccompBrokerClient::dispatch):
802         (WebKit::SeccompBroker::runLoop):
803         * Shared/linux/SeccompFilters/SigactionSyscall.cpp:
804         (WebKit::SigactionSyscall::createFromContext):
805         * Shared/linux/SeccompFilters/SigactionSyscall.h:
806         * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp:
807         (WebKit::SigprocmaskSyscall::createFromContext):
808         * Shared/linux/SeccompFilters/SigprocmaskSyscall.h:
809         * Shared/linux/SeccompFilters/Syscall.cpp:
810         (WebKit::Syscall::createFromContext):
811         (WebKit::Syscall::createFromDecoder):
812         (WebKit::SyscallResult::createFromDecoder):
813         * Shared/linux/SeccompFilters/Syscall.h:
814         * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
815
816 2013-10-31  Gavin Barraclough  <barraclough@apple.com>
817
818         Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState
819         https://bugs.webkit.org/show_bug.cgi?id=123379
820
821         Reviewed by Darin Adler.
822
823         Visibility state of the Page should be stored and communicated consistently.
824
825         Remove individual visibility flags from WebPageProxy, WebPageCreationParameters,
826         and replace them with a ViewState, and add a ViewState member to WebPage.
827         Merge together all messages that convey and individual aspect of the ViewState.
828
829         Restructure WebPageProxy::viewStateDidChange to break the operation down into
830         three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess,
831         and 3) perform any further work necessary in the UIProcess.
832
833         This patch fixes a problem that if the web process crashes m_isVisible &
834         m_isInWindow in WebPageProxy were not updated, and could have held stale values
835         on reattach.
836
837         In WebPage, add a new message to update the entire ViewState - diff the prior
838         value against the new one to detect changes, call existing methods accordingly.
839
840         * Shared/ViewState.h:
841             - Add constants 'Reset', 'AllFlags'
842         * Shared/WebPageCreationParameters.cpp:
843         (WebKit::WebPageCreationParameters::encode):
844         (WebKit::WebPageCreationParameters::decode):
845         * Shared/WebPageCreationParameters.h:
846             - Removed boolean visibility flags, added viewState.
847         * UIProcess/WebPageProxy.cpp:
848         (WebKit::WebPageProxy::WebPageProxy):
849             - Constructor calls updateViewState to initialize m_viewState.
850         (WebKit::WebPageProxy::reattachToWebProcess):
851             - ViewStaet is not updated while detatched; recalculate.
852         (WebKit::WebPageProxy::initializeWebPage):
853             - m_isVisible -> isViewVisible()
854         (WebKit::WebPageProxy::updateViewState):
855             - Added, update m_viewState by querying the page client.
856         (WebKit::WebPageProxy::viewStateDidChange):
857             - Restructured to use m_viewState, reordered to combine messages.
858         (WebKit::WebPageProxy::creationParameters):
859             - Removed boolean visibility flags, added viewState.
860         * UIProcess/WebPageProxy.h:
861         (WebKit::WebPageProxy::isInWindow):
862         (WebKit::WebPageProxy::isViewVisible):
863             - Removed boolean visibility flags, added viewState.
864         * WebProcess/WebPage/WebPage.cpp:
865         (WebKit::WebPage::WebPage):
866             - initial state now passed as a ViewState.
867         (WebKit::WebPage::setIsInWindow):
868             - Remove code to send reply (this is handled by setViewState).
869         (WebKit::WebPage::setViewState):
870             - Set m_viewState - diff from prior & call methods to update.
871         * WebProcess/WebPage/WebPage.h:
872             - Added setViewState, m_viewState.
873         * WebProcess/WebPage/WebPage.messages.in:
874             - Add SetViewState, remove individual messages.
875         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
876         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
877             - initial state now passed as a ViewState.
878
879 2013-10-30  Gavin Barraclough  <barraclough@apple.com>
880
881         WebPageCreationParameters should be consistent in Window.open
882         https://bugs.webkit.org/show_bug.cgi?id=123557
883
884         Reviewed by Sam Weinig.
885
886         When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open
887         a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds
888         with instructions to the WebProcess to create the WebPage. The initial creation state of
889         the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous
890         WebProcess::CreateWebPage message, and secondly in the synchronous response from
891         WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each
892         other. The creationParameters() for the page are calculated twice, and since the WKView
893         will be added to a window between the async message being sent and the synchronous reply
894         being returned the visibility state of the page can change.
895
896         To fix the inconsistency we can set the creation parameters at the point that the
897         WebPageProxy is instantiated. This will result in a functional change that is web
898         visible, since the page will initially be opened in a hidden/blurred state, and may
899         later become visible/focussed. This change is consistent with the direction we want to
900         evolve in. Whilst we will still probably require a synchronous message from the
901         WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier
902         – having just created the WebPageProxy, but avoiding blocking the WebProcess over the
903         client delegate callback that opens the new window.
904
905         This fix results in a layout test result change, due to the change in behavior (page is
906         created blurred, and becomes focussed, resulting in a focus event being fired – rather
907         than the window opening directly into a focussed state). This is reported as a
908         progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality
909         the test is actually slightly broken in DRT/test-runner – the test runs differently than
910         in browser, since there is is no visible main window. In-browser this patch results in
911         no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test).
912
913         * UIProcess/WebPageProxy.cpp:
914         (WebKit::WebPageProxy::initializeWebPage):
915             - call initializeCreationParameters
916         (WebKit::WebPageProxy::initializeCreationParameters):
917             - calculate m_creationParameters
918         * UIProcess/WebPageProxy.h:
919         (WebKit::WebPageProxy::creationParameters):
920             - Added m_creationParameters, initializeCreationParameters,
921               creationParameters returns m_creationParameters
922
923 2013-10-31  Philippe Normand  <pnormand@igalia.com>
924
925         [WK2][GTK] enable-media-stream Setting
926         https://bugs.webkit.org/show_bug.cgi?id=123145
927
928         Reviewed by Anders Carlsson.
929
930         * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
931         * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
932         setter functions.
933         (WKPreferencesSetMediaStreamEnabled):
934         (WKPreferencesGetMediaStreamEnabled):
935         * UIProcess/API/C/WKPreferences.h:
936         * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
937         property to the GTK WebKitSettings class. It will act as a facade
938         to the MediaStreamEnabled preference.
939         (webKitSettingsSetProperty):
940         (webKitSettingsGetProperty):
941         (webkit_settings_class_init):
942         (webkit_settings_get_enable_media_stream):
943         (webkit_settings_set_enable_media_stream):
944         * UIProcess/API/gtk/WebKitSettings.h:
945         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
946         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
947         (testWebKitSettings): Test enable-media-stream websetting.
948         * WebProcess/InjectedBundle/InjectedBundle.cpp:
949         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
950         Allow WKTR to override the MediaStreamEnabled preference.
951         * WebProcess/WebPage/WebPage.cpp:
952         (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
953         along with the other settings.
954
955 2013-10-30  Brady Eidson  <beidson@apple.com>
956
957         IDB Database versions are uint64_t, not int64_t
958         https://bugs.webkit.org/show_bug.cgi?id=123556
959
960         Reviewed by Alexey Proskuryakov.
961
962         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
963         (WebKit::WebIDBFactoryBackend::open):
964         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
965
966         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
967         (WebKit::WebProcessIDBDatabaseBackend::openConnection):
968         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
969
970 2013-10-30  Dan Bernstein  <mitz@apple.com>
971
972         Fixed a potential race condition around the initializtion of WKObject’s target.
973
974         Reviewed by Mark Rowe.
975
976         * Shared/Cocoa/WKObject.mm:
977         (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
978         out, when stores are reordered relative to other stores, it is possible for the early return
979         to occur while the object _target is pointing to is not yet valid.
980
981 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
982
983         Remove code for Mac Lion
984         https://bugs.webkit.org/show_bug.cgi?id=123542
985
986         Reviewed by Anders Carlsson.
987
988
989         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
990         * UIProcess/API/mac/WKView.mm:
991         (-[WKView viewWillMoveToWindow:]):
992         * WebProcess/com.apple.WebProcess.sb.in:
993
994 2013-10-30  Dan Bernstein  <mitz@apple.com>
995
996         Try to fix the !WK_API_ENABLED Mac build.
997
998         * Shared/Cocoa/APIObject.mm:
999
1000 2013-10-30  Dan Bernstein  <mitz@apple.com>
1001
1002         [Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers
1003         https://bugs.webkit.org/show_bug.cgi?id=123394
1004
1005         Reviewed by Darin Adler.
1006
1007         All wrappers conform to a new WKObject protocol and contain the wrapped object inline.
1008         APIObject-derived classes override operator new to call newObject, which allocates the
1009         wrapper and returns a pointer to the inline API object.
1010
1011         There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject
1012         and implement their API by calling the wrapped object (example: WKBackForwardList),
1013         (b) internal classes that inherit from a class cluster, and implement the primitive methods
1014         of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal
1015         classes that inerit from the new WKObject class, and proxy to an object of some public type,
1016         which is created from the wrapped object (example: WKNSURL).
1017
1018         * Shared/APIObject.h:
1019         (WebKit::APIObject::wrapper): Added this getter.
1020         (WebKit::TypedAPIObject::operator new): Added override that calls newObject.
1021         * Shared/Cocoa/APIObject.mm: Added.
1022         (WebKit::APIObject::ref): Retains the wrapper.
1023         (WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls
1024         the API object destructor.
1025         (WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API
1026         object inside the wrapper.
1027
1028         * Shared/Cocoa/WKNSArray.h:
1029         (WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray.
1030         Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside
1031         the wrapper.
1032         (-[WKNSArray dealloc]): Calls the ImmutableArray destructor.
1033         (-[WKNSArray count]): Updated for ivar change.
1034         (-[WKNSArray objectAtIndex:]): Ditto.
1035         (-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray.
1036
1037         * Shared/Cocoa/WKNSObjectExtras.h: Removed.
1038         * Shared/Cocoa/WKNSObjectExtras.mm: Removed.
1039
1040         * Shared/Cocoa/WKNSString.h: Added.
1041         * Shared/Cocoa/WKNSString.mm: Added.
1042         (-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from
1043         the WebString.
1044         (-[WKNSString copyWithZone:]): Retains self.
1045
1046         * Shared/Cocoa/WKNSURL.h: Added.
1047         * Shared/Cocoa/WKNSURL.mm: Added.
1048         (-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from
1049         the WebURL.
1050         (-[WKNSURL copyWithZone:]): Retains self.
1051
1052         * Shared/Cocoa/WKObject.h: Added.
1053         * Shared/Cocoa/WKObject.mm: Added.
1054         (-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target
1055         object.
1056         (initializeTargetIfNeeded): Helper function. Tries to create the target exactly once.
1057         (-[WKObject isEqual:]): NSObject override that creates and compares to the target
1058         object if necessary.
1059         (-[WKObject hash]): NSObject override that creates and hashes the target object if
1060         there is one.
1061         (-[WKObject isKindOfClass:]): NSObject override that delegates to the target object.
1062         (-[WKObject isMemberOfClass:]): Ditto.
1063         (-[WKObject respondsToSelector:]): NSObject override that creates the target object if
1064         necessary and returns whether it or self responds to the selector.
1065         (-[WKObject conformsToProtocol:]): Similarly for protocols.
1066         (-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object
1067         if necessary and returns it as the target.
1068         (-[WKObject description]): NSObject override that creates the target object if necessary and
1069         forwards to it.
1070         (-[WKObject _web_createTarget]): Added. The base implementation returns nil.
1071         (-[WKObject _apiObject]): Returns the wrapped object.
1072
1073         * UIProcess/API/mac/WKBrowsingContextController.mm:
1074         (-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper.
1075         (didChangeBackForwardList): Changed to use existing wrappers.
1076
1077         Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live
1078         inside the wrapper.
1079         (-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor.
1080         (toWKBackForwardListItem): Changed to us the existing wrapper.
1081         (-[WKBackForwardList currentItem]): Updated for ivar change.
1082         (-[WKBackForwardList backItem]): Ditto.
1083         (-[WKBackForwardList forwardItem]): Ditto.
1084         (-[WKBackForwardList itemAtIndex:]): Ditto.
1085         (-[WKBackForwardList backListCount]): Ditto.
1086         (-[WKBackForwardList forwardListCount]): Ditto,
1087         (-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the
1088         ImmutableArray’s existing wrapper.
1089         (-[WKBackForwardList forwardListWithLimit:]): Ditto.
1090         (-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem.
1091         * UIProcess/Cocoa/WKBackForwardListInternal.h:
1092         (WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList.
1093
1094         * UIProcess/Cocoa/WKBackForwardListItem.mm:
1095         Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to
1096         live inside the wrapper.
1097         (-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor.
1098         (-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL
1099         directly instead of going through a wrapper.
1100         (-[WKBackForwardListItem title]): Updated for ivar change, and changed to use
1101         String’s operator NSString*.
1102         (-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an
1103         NSURL directly instead of going through a wrapper.
1104         (-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem.
1105         (-[WKBackForwardListItem _item]): Ditto.
1106         * UIProcess/Cocoa/WKBackForwardListItemInternal.h:
1107         (WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a
1108         WKBackForwardListItem.
1109
1110         * UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject.
1111
1112         * UIProcess/WebFormSubmissionListenerProxy.h:
1113         (WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject.
1114
1115         * UIProcess/WebFramePolicyListenerProxy.h:
1116         (WebKit::WebFramePolicyListenerProxy::operator new): Ditto.
1117
1118         * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals.
1119
1120 2013-10-30  Anders Carlsson  <andersca@apple.com>
1121
1122         Begin fleshing out an API test for WKRemoteObjectRegistry
1123         https://bugs.webkit.org/show_bug.cgi?id=123531
1124
1125         Reviewed by Andreas Kling.
1126
1127         * Shared/API/Cocoa/WKRemoteObjectInterface.h:
1128         Add WK_API_CLASS annotation.
1129
1130         * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
1131         Add WK_API_CLASS annotation.
1132
1133         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
1134         Add a WebConnection ivar.
1135
1136         (-[WKRemoteObjectRegistry _initWithConnectionRef:]):
1137         Add SPI to create an WKRemoteObjectRegistry object with an existing WKConnectionRef.
1138
1139         (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
1140         Add SPI that will be used to process incoming messages from an existing WKConnectionRef.
1141
1142         * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Added.
1143         Add SPI header.
1144
1145         * WebKit2.xcodeproj/project.pbxproj:
1146         Add new files.
1147
1148 2013-10-30  Tim Horton  <timothy_horton@apple.com>
1149
1150         Remote Layer Tree: Lots of ASSERT(m_children.isEmpty()); on Poster Circle
1151         https://bugs.webkit.org/show_bug.cgi?id=123517
1152
1153         Reviewed by Simon Fraser.
1154
1155         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1156         (PlatformCALayerRemote::setSublayers):
1157         When setting our list of sublayers, remove all of the new layers from
1158         their parents first.
1159
1160 2013-10-30  Antti Koivisto  <antti@apple.com>
1161
1162         Add debug settings for simple line layout
1163         https://bugs.webkit.org/show_bug.cgi?id=123514
1164
1165         Reviewed by Andreas Kling.
1166         
1167         Expose debug settings.
1168
1169         * Shared/WebPreferencesStore.h:
1170         * UIProcess/API/C/WKPreferences.cpp:
1171         (WKPreferencesSetSimpleLineLayoutEnabled):
1172         (WKPreferencesGetSimpleLineLayoutEnabled):
1173         (WKPreferencesSetSimpleLineLayoutDebugBordersEnabled):
1174         (WKPreferencesGetSimpleLineLayoutDebugBordersEnabled):
1175         * UIProcess/API/C/WKPreferencesPrivate.h:
1176         * WebProcess/WebPage/WebPage.cpp:
1177         (WebKit::WebPage::updatePreferences):
1178
1179 2013-10-30  Anders Carlsson  <andersca@apple.com>
1180
1181         Add stubbed out WKRemoteObjectRegistry class
1182         https://bugs.webkit.org/show_bug.cgi?id=123512
1183
1184         Reviewed by Andreas Kling.
1185
1186         Also add a WKRemoteObjectInterface class that represents a remote object interface.
1187
1188         * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added.
1189         * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Added.
1190         (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
1191         (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
1192         * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Added.
1193         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Added.
1194         (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
1195         (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
1196         (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
1197         * WebKit2.xcodeproj/project.pbxproj:
1198
1199 2013-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1200
1201         [GTK] webkit_web_context_allow_tls_certificate_for_host doc is missing Since tag
1202         https://bugs.webkit.org/show_bug.cgi?id=123499
1203
1204         Reviewed by Philippe Normand.
1205
1206         * UIProcess/API/gtk/WebKitWebContext.cpp: Add Since: 2.4.
1207
1208 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
1209
1210         Result of focus-option-control-on-page.html depends on system preferences
1211         https://bugs.webkit.org/show_bug.cgi?id=123304
1212
1213         Reviewed by Simon Fraser.
1214
1215         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
1216         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
1217         Read the preference from its correct domain. This doesn't affect behavior in practice
1218         and isn't part of the fix, but it's a good opportunity to correct this code.
1219
1220 2013-10-29  Brady Eidson  <beidson@apple.com>
1221
1222         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
1223         https://bugs.webkit.org/show_bug.cgi?id=123483
1224
1225         Reviewed by Andreas Kling.
1226
1227         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1228         (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out.
1229         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
1230
1231         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
1232         (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out.
1233         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
1234
1235 2013-10-29  Jer Noble  <jer.noble@apple.com>
1236
1237         [MSE] [Mac] Enable MediaSource on the Mac
1238         https://bugs.webkit.org/show_bug.cgi?id=122484
1239
1240         Reviewed by Darin Adler.
1241
1242         Enable ENABLE_MEDIA_SOURCE.
1243
1244         * Configurations/FeatureDefines.xcconfig:
1245
1246 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1247
1248         More correct build fix after 158223.
1249
1250         Only fails in release because it's inline.
1251         Include the relevant header to get the function.
1252
1253         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1254
1255 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1256
1257         Remote Layer Tree: Support tiled drawing and use it for the main frame
1258         https://bugs.webkit.org/show_bug.cgi?id=123422
1259
1260         Reviewed by Simon Fraser.
1261
1262         Add a PlatformCALayerRemote subclass that behaves similarly to
1263         WebTiledBackingLayer, forwarding relevant things (setNeedsDisplay, etc.)
1264         to the TileController which it owns.
1265
1266         Teach the remote layer tree code enough to proxy these layers across,
1267         and paint them in a manner similar to WebSimpleLayer (just calling
1268         straight back to the TileController to paint).
1269
1270         * Shared/mac/RemoteLayerTreeTransaction.h:
1271         * Shared/mac/RemoteLayerTreeTransaction.mm:
1272         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
1273         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1274         (WebKit::dumpChangedLayers):
1275         * UIProcess/mac/RemoteLayerTreeHost.mm:
1276         (WebKit::RemoteLayerTreeHost::commit):
1277         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1278         (PlatformCALayerRemote::setEdgeAntialiasingMask):
1279         Add support for adjusting/encoding/decoding/dumping/applying edgeAntialiasingMask.
1280
1281         (WebKit::RemoteLayerTreeTransaction::dump):
1282         Drive-by fix dumping of created layers to have one layer per line.
1283
1284         * UIProcess/mac/RemoteLayerTreeHost.mm:
1285         (WebKit::RemoteLayerTreeHost::createLayer):
1286         Create CALayers for Simple, TiledBacking, PageTiledBacking, and TiledBackingTile layers.
1287
1288         * WebKit2.xcodeproj/project.pbxproj:
1289         Add PlatformCALayerRemoteTiledBacking.{h, cpp}.
1290
1291         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1292         (PlatformCALayerRemote::create):
1293         Create a PlatformCALayerRemoteTiledBacking for TiledBacking and PageTiledBacking layers.
1294
1295         (PlatformCALayerRemote::removeAllSublayers):
1296         Fix removeAllSublayers to make a copy of the PlatformCALayerList before
1297         mutating it, to avoid crashes when iterating a mutated list.
1298
1299         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1300         Definalize PlatformCALayerRemote so we can have PlatformCALayerRemoteTiledBacking.
1301         Note that we will use a tiled backing layer in some cases.
1302         Make the constructor protected, not private, so our subclass can use it.
1303
1304         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: Added.
1305         (PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
1306         (PlatformCALayerRemoteTiledBacking::~PlatformCALayerRemoteTiledBacking):
1307         (PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
1308         (PlatformCALayerRemoteTiledBacking::customSublayers):
1309         (PlatformCALayerRemoteTiledBacking::setBounds):
1310         (PlatformCALayerRemoteTiledBacking::isOpaque):
1311         (PlatformCALayerRemoteTiledBacking::setOpaque):
1312         (PlatformCALayerRemoteTiledBacking::acceleratesDrawing):
1313         (PlatformCALayerRemoteTiledBacking::setAcceleratesDrawing):
1314         (PlatformCALayerRemoteTiledBacking::setContentsScale):
1315         (PlatformCALayerRemoteTiledBacking::setBorderWidth):
1316         (PlatformCALayerRemoteTiledBacking::setBorderColor):
1317         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Added.
1318         Add a subclass of PlatformCALayerRemote which forwards operations
1319         to TileController, very similar to what WebTiledBackingLayer does.
1320         It also owns the TileController, and overrides customSublayers() and
1321         tiledBacking() to return the right thing.
1322
1323         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
1324         (RemoteLayerBackingStore::display):
1325         Teach RemoteLayerBackingStore about how to paint different kinds of layers.
1326         Simple layers and Tile layers will call paintContents directly,
1327         WebLayers will do what WebLayer does and use drawLayerContents.
1328         Other kinds of layers won't paint at all right now.
1329         I would like to centralize this behavior (and get rid of our CALayer
1330         subclasses entirely, moving all that behavior to be shared between Mac,
1331         Windows, and the remote layer tree), but that is a patch for another day.
1332
1333         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1334         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1335         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1336         (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView):
1337         Force accelerated compositing on always when using the remote layer tree.
1338         Use a TiledBacking for the main frame.
1339
1340         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1341         Drive-by OVERRIDE.
1342
1343 2013-10-29  Brady Eidson  <beidson@apple.com>
1344
1345         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
1346         https://bugs.webkit.org/show_bug.cgi?id=123451
1347
1348         Reviewed by Andreas Kling.
1349
1350         Stub out more pure virtual methods.
1351
1352         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
1353         (WebKit::WebProcessIDBDatabaseBackend::backingStore):
1354         (WebKit::WebProcessIDBDatabaseBackend::id):
1355         (WebKit::WebProcessIDBDatabaseBackend::addObjectStore):
1356         (WebKit::WebProcessIDBDatabaseBackend::removeObjectStore):
1357         (WebKit::WebProcessIDBDatabaseBackend::addIndex):
1358         (WebKit::WebProcessIDBDatabaseBackend::removeIndex):
1359         (WebKit::WebProcessIDBDatabaseBackend::metadata):
1360         (WebKit::WebProcessIDBDatabaseBackend::setCurrentVersion):
1361         (WebKit::WebProcessIDBDatabaseBackend::hasPendingSecondHalfOpen):
1362         (WebKit::WebProcessIDBDatabaseBackend::setPendingSecondHalfOpen):
1363         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
1364
1365 2013-10-29  Gavin Barraclough  <barraclough@apple.com>
1366
1367         SessionState.h should not include WebBackForwardList.h
1368         https://bugs.webkit.org/show_bug.cgi?id=123454
1369
1370         Reviewed by Geoff Garen.
1371
1372         WebBackForwardList is a UIProcess type, SessionState is in shared code.
1373         Also, WebBackForwardListItemVector should be in WebBackForwardListItem.h, not WebBackForwardList.h
1374         (the vector type is used in the WebProcess, the item header is shared but the list type is in the UIProcess).
1375
1376         * Shared/SessionState.cpp:
1377             - fixed includes
1378         * Shared/SessionState.h:
1379             - WebBackForwardList.h -> WebBackForwardListItem.h
1380         * Shared/WebBackForwardListItem.h:
1381             - Moved WebBackForwardListVector from WebBackForwardList.h
1382         * Shared/WebPageCreationParameters.h:
1383             - fixed includes
1384         * UIProcess/WebBackForwardList.h:
1385             - Moved WebBackForwardListVector to WebBackForwardListItem.h
1386         * WebProcess/WebPage/DrawingArea.cpp:
1387             - fixed includes
1388         * WebProcess/WebPage/WebPage.cpp:
1389             - fixed includes
1390
1391 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
1392
1393         Unreviewed Mac debug build fix after r158183.
1394         Remove the duplicated << overloaded operator from RemoteLayerTreeTextStream for printing out
1395         a given FloatSize object. The RemoteLayerTreeTextStream inherits from TextStream, which already
1396         provides that overloaded operator. Format of the output is a bit different so hopefully nothing
1397         breaks further.
1398
1399         * Shared/mac/RemoteLayerTreeTransaction.mm:
1400         (WebKit::RemoteLayerTreeTextStream::operator<<):
1401
1402 2013-10-28  Brady Eidson  <beidson@apple.com>
1403
1404         Refactor IDB factory creation.
1405         https://bugs.webkit.org/show_bug.cgi?id=123347
1406
1407         Reviewed by Andreas Kling.
1408
1409         - Rework how database directory location is passed around.
1410         - Make (some) SecurityOrigin arguments be references instead of pointers.
1411         - Add two SecurityOrigin arguments to opening databases for future use.
1412
1413         * Shared/Databases/IndexedDB/IDBUtilities.cpp:
1414         (WebKit::uniqueDatabaseIdentifier):
1415         * Shared/Databases/IndexedDB/IDBUtilities.h:
1416
1417         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
1418         (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
1419         (WebKit::WebIDBFactoryBackend::open):
1420         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
1421         (WebKit::WebIDBFactoryBackend::create):
1422
1423         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
1424         (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
1425         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
1426
1427         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1428         (WebKit::WebPlatformStrategies::createIDBFactoryBackend):
1429         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1430
1431 2013-10-28  Tim Horton  <timothy_horton@apple.com>
1432
1433         Make TileController create the appropriate PlatformCALayer subclasses
1434         https://bugs.webkit.org/show_bug.cgi?id=123418
1435
1436         Reviewed by Simon Fraser.
1437
1438         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1439         (PlatformCALayerRemote::createCompatibleLayer):
1440         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1441         Add createCompatibleLayer and implement it in the subclasses.
1442
1443 2013-10-28  Benjamin Poulain  <benjamin@webkit.org>
1444
1445         Rename applyPageScaleFactorInCompositor to delegatesPageScaling
1446         https://bugs.webkit.org/show_bug.cgi?id=123417
1447
1448         Reviewed by Simon Fraser.
1449
1450         * WebProcess/WebPage/WebPage.cpp:
1451         (WebKit::WebPage::setUseFixedLayout):
1452
1453 2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
1454
1455         Parsing support for -webkit-text-decoration-skip: ink
1456         https://bugs.webkit.org/show_bug.cgi?id=123358
1457
1458         Reviewed by Dean Jackson.
1459
1460         Adding ENABLE(CSS3_TEXT_DECORATION)
1461
1462         * Configurations/FeatureDefines.xcconfig:
1463
1464 2013-10-28  Tim Horton  <timothy_horton@apple.com>
1465
1466         Make TileController manipulate PlatformCALayers instead of CALayers
1467         https://bugs.webkit.org/show_bug.cgi?id=123279
1468
1469         Reviewed by Simon Fraser.
1470
1471         * Shared/mac/RemoteLayerTreeTransaction.mm:
1472         (WebKit::RemoteLayerTreeTransaction::dump):
1473         Support the new LayerTypes.
1474
1475         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1476         (PlatformCALayerRemote::setEdgeAntialiasingMask):
1477         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1478         Add an empty implementation of setEdgeAntialiasingMask.
1479
1480         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
1481         (RemoteLayerBackingStore::display):
1482         Removed a parameter from drawLayerContents.
1483
1484         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1485         (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
1486         TiledCoreAnimationDrawingArea still operates in terms of CALayers, so
1487         grab the PlatformLayer out from TileController's indicator.
1488
1489 2013-10-28  Bastien Nocera <hadess@hadess.net>
1490
1491         Name all the GLib timeout sources
1492         https://bugs.webkit.org/show_bug.cgi?id=123229
1493
1494         Reviewed by Anders Carlsson.
1495
1496         Give a name to GLib timeout sources, this is helpful when
1497         profiling WebKitGTK applications.
1498
1499 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1500
1501         Unreviewed. Fix make distcheck.
1502
1503         * GNUmakefile.am: Add messages.in files in
1504         UIProcess/Network/CustomProtocols/ to EXTRA_DIST.
1505         * GNUmakefile.list.am: Remove
1506         WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp from
1507         compilation because it depends on code generated only when
1508         database process is enabled.
1509
1510 2013-10-28  Alberto Garcia  <berto@igalia.com>
1511
1512         [WK2] [GTK] Allow running the web process with an arbitrary prefix command
1513         https://bugs.webkit.org/show_bug.cgi?id=123201
1514
1515         Reviewed by Carlos Garcia Campos.
1516
1517         Launch the web process using WEB_PROCESS_CMD_PREFIX as a
1518         prefix. Useful for debugging the web process with gdb, valgrind,
1519         etc.
1520
1521         * UIProcess/Launcher/ProcessLauncher.h:
1522         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1523         (WebKit::ProcessLauncher::launchProcess):
1524         * UIProcess/gtk/WebProcessProxyGtk.cpp:
1525         (WebKit::WebProcessProxy::platformGetLaunchOptions):
1526
1527 2013-10-27  Brady Eidson  <beidson@apple.com>
1528
1529         WebIconDatabase can miss private browsing state changes.
1530         <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375
1531
1532         Reviewed by Alexey Proskuryakov.
1533
1534         * UIProcess/WebContext.cpp:
1535         (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context.
1536         (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context.
1537         (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing
1538           sessions, notify the context’s WebIconDatabase about the change in value.
1539         * UIProcess/WebContext.h:
1540
1541         * UIProcess/WebIconDatabase.cpp:
1542         (WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value.
1543         (WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1544         * UIProcess/WebIconDatabase.h:
1545
1546 2013-10-26  Tim Horton  <timothy_horton@apple.com>
1547
1548         [mac] Remove WebTiledLayer
1549         https://bugs.webkit.org/show_bug.cgi?id=123395
1550
1551         Reviewed by Anders Carlsson.
1552
1553         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1554         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1555         Remove synchronouslyDisplayTilesInRect.
1556
1557 2013-10-26  Dan Bernstein  <mitz@apple.com>
1558
1559         [Cocoa] -[WKBackForwardList forwardItem] returns the back item
1560         https://bugs.webkit.org/show_bug.cgi?id=123391
1561
1562         Reviewed by Mark Rowe.
1563
1564         * UIProcess/Cocoa/WKBackForwardList.mm:
1565         (-[WKBackForwardList forwardItem]): Changed back to forward.
1566
1567 2013-10-26  Commit Queue  <commit-queue@webkit.org>
1568
1569         Unreviewed, rolling out r158075.
1570         http://trac.webkit.org/changeset/158075
1571         https://bugs.webkit.org/show_bug.cgi?id=123389
1572
1573         Broke WebKit2.PrivateBrowsingPushStateNoHistoryCallback API
1574         test (Requested by ap on #webkit).
1575
1576         * UIProcess/WebContext.cpp:
1577         (WebKit::WebContext::willStartUsingPrivateBrowsing):
1578         (WebKit::WebContext::willStopUsingPrivateBrowsing):
1579         * UIProcess/WebContext.h:
1580         * UIProcess/WebIconDatabase.cpp:
1581         * UIProcess/WebIconDatabase.h:
1582
1583 2013-10-26  Jae Hyun Park  <jae.park@company100.net>
1584
1585         Remove Coordinated Graphics bits from DrawingAreaProxyImpl
1586         https://bugs.webkit.org/show_bug.cgi?id=123382
1587
1588         Reviewed by Anders Carlsson.
1589
1590         As of r156861, Coordinated Graphics does not use DrawingAreaProxyImpl.
1591         So, Coordinated Graphics bits should be removed from DrawingAreaProxyImpl.
1592
1593         * UIProcess/DrawingAreaProxyImpl.h:
1594
1595 2013-10-26  Dan Bernstein  <mitz@apple.com>
1596
1597         [Cocoa] clang static analyzer warns about object being autoreleased too many times in +[WKNSArray web_arrayWithImmutableArray:]
1598         https://bugs.webkit.org/show_bug.cgi?id=123384
1599
1600         Reviewed by Mark Rowe.
1601
1602         * Shared/Cocoa/WKNSArray.h: Annotated -web_initWithImmutableArray: as an init method.
1603
1604 2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
1605
1606         Fix the ENABLE(CSS_FILTERS) && USE(COORDINATED_GRAPHICS) build after r157803
1607         https://bugs.webkit.org/show_bug.cgi?id=123330
1608
1609         Reviewed by Darin Adler.
1610
1611         * Shared/WebCoreArgumentCoders.cpp:
1612         * Shared/WebCoreArgumentCoders.h:
1613
1614 2013-10-25  Brady Eidson  <beidson@apple.com>
1615
1616         WebIconDatabase can miss private browsing state changes.
1617         <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375
1618
1619         Reviewed by Beth Dakin.
1620
1621         * UIProcess/WebContext.cpp:
1622         (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(true) on each context.
1623         (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(false) on each context.
1624         (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes, notify WebIconDatabase.
1625         * UIProcess/WebContext.h:
1626
1627         * UIProcess/WebIconDatabase.cpp:
1628         (WebKit::WebIconDatabase::setPrivateBrowsingEnabled):
1629         * UIProcess/WebIconDatabase.h:
1630
1631 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
1632
1633         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
1634         https://bugs.webkit.org/show_bug.cgi?id=123111
1635
1636         Reviewed by Timothy Hatcher.
1637
1638         * Configurations/FeatureDefines.xcconfig:
1639
1640 2013-10-25  Gavin Barraclough  <barraclough@apple.com>
1641
1642         Merge viewInWindowStateDidChange into viewStateDidChange
1643         https://bugs.webkit.org/show_bug.cgi?id=123351
1644
1645         Reviewed by Tim Horton.
1646
1647         * UIProcess/API/mac/WKView.mm:
1648         (-[WKView endDeferringViewInWindowChanges]):
1649         (-[WKView endDeferringViewInWindowChangesSync]):
1650             - viewInWindowStateDidChange -> viewStateDidChange
1651         * UIProcess/WebPageProxy.cpp:
1652         (WebKit::WebPageProxy::viewStateDidChange):
1653             - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
1654         * UIProcess/WebPageProxy.h:
1655             - removed viewInWindowStateDidChange, named parameter to viewStateDidChange
1656
1657 2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
1658
1659         One more URTBF for GTK after r158028.
1660
1661         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1662         (webkitWebViewBaseMap):
1663         (webkitWebViewBaseUnmap):
1664
1665 2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>
1666
1667         URTBF for non-Mac platforms after r158028.
1668
1669         * GNUmakefile.list.am:
1670         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1671         (toplevelWindowFocusInEvent):
1672         (toplevelWindowFocusOutEvent):
1673         (toplevelWindowVisibilityEvent):
1674         (webkitWebViewBaseSetToplevelOnScreenWindow):
1675         (webkitWebViewBaseSetFocus):
1676         * UIProcess/CoordinatedGraphics/WebView.cpp:
1677         (WebKit::WebView::setActive):
1678         (WebKit::WebView::setFocused):
1679         (WebKit::WebView::setVisible):
1680
1681 2013-10-25  Gavin Barraclough  <barraclough@apple.com>
1682
1683         Move ViewStateFlags out of WebPageProxy
1684         https://bugs.webkit.org/show_bug.cgi?id=123323
1685
1686         Reviewed by Sam Weinig.
1687
1688         WebPageProxy contains an enum and typedef that provide a bitfield
1689         of flags describing the visibility of the view containing the page.
1690         We're going to want to use this bitfield in a message to the
1691         WebProcess, so moving out from the UIProcess to shared code.
1692         Creating struct 'ViewState' to scope the enum and typedef.
1693         Renamed ViewStateFlags to ViewState::Flags, and removed redundant
1694         'View' from enum entries.
1695
1696         * Shared/ViewState.h: Added.
1697         * UIProcess/API/mac/WKView.mm:
1698         (-[WKView becomeFirstResponder]):
1699         (-[WKView resignFirstResponder]):
1700         (-[WKView viewDidMoveToWindow]):
1701         (-[WKView _windowDidBecomeKey:]):
1702         (-[WKView _windowDidResignKey:]):
1703         (-[WKView _windowDidMiniaturize:]):
1704         (-[WKView _windowDidDeminiaturize:]):
1705         (-[WKView _windowDidOrderOffScreen:]):
1706         (-[WKView _windowDidOrderOnScreen:]):
1707         (-[WKView _windowDidChangeOcclusionState:]):
1708         (-[WKView viewDidHide]):
1709         (-[WKView viewDidUnhide]):
1710         (-[WKView _activeSpaceDidChange:]):
1711         * UIProcess/WebPageProxy.cpp:
1712         (WebKit::WebPageProxy::viewStateDidChange):
1713         * UIProcess/WebPageProxy.h:
1714         * WebKit2.xcodeproj/project.pbxproj:
1715
1716 2013-10-25  Gavin Barraclough  <barraclough@apple.com>
1717
1718         Move ViewStateFlags out of WebPageProxy
1719         https://bugs.webkit.org/show_bug.cgi?id=123323
1720
1721         Unreviewed
1722
1723         Rolling out 158026 - landed extra chnages!
1724
1725         * Shared/ViewState.h: Removed.
1726         * UIProcess/API/mac/WKView.mm:
1727         (-[WKView becomeFirstResponder]):
1728         (-[WKView resignFirstResponder]):
1729         (-[WKView viewDidMoveToWindow]):
1730         (-[WKView _windowDidBecomeKey:]):
1731         (-[WKView _windowDidResignKey:]):
1732         (-[WKView _windowDidMiniaturize:]):
1733         (-[WKView _windowDidDeminiaturize:]):
1734         (-[WKView _windowDidOrderOffScreen:]):
1735         (-[WKView _windowDidOrderOnScreen:]):
1736         (-[WKView _windowDidChangeOcclusionState:]):
1737         (-[WKView viewDidHide]):
1738         (-[WKView viewDidUnhide]):
1739         (-[WKView _activeSpaceDidChange:]):
1740         (-[WKView endDeferringViewInWindowChanges]):
1741         (-[WKView endDeferringViewInWindowChangesSync]):
1742         * UIProcess/WebPageProxy.cpp:
1743         (WebKit::WebPageProxy::viewInWindowStateDidChange):
1744         (WebKit::WebPageProxy::viewStateDidChange):
1745         * UIProcess/WebPageProxy.h:
1746         * WebKit2.xcodeproj/project.pbxproj:
1747
1748 2013-10-24  Gavin Barraclough  <barraclough@apple.com>
1749
1750         Move ViewStateFlags out of WebPageProxy
1751         https://bugs.webkit.org/show_bug.cgi?id=123323
1752
1753         Reviewed by Sam Weinig.
1754
1755         WebPageProxy contains an enum and typedef that provide a bitfield
1756         of flags describing the visibility of the view containing the page.
1757         We're going to want to use this bitfield in a message to the
1758         WebProcess, so moving out from the UIProcess to shared code.
1759         Creating struct 'ViewState' to scope the enum and typedef.
1760         Renamed ViewStateFlags to ViewState::Flags, and removed redundant
1761         'View' from enum entries.
1762
1763         * Shared/ViewState.h: Added.
1764         * UIProcess/API/mac/WKView.mm:
1765         (-[WKView becomeFirstResponder]):
1766         (-[WKView resignFirstResponder]):
1767         (-[WKView viewDidMoveToWindow]):
1768         (-[WKView _windowDidBecomeKey:]):
1769         (-[WKView _windowDidResignKey:]):
1770         (-[WKView _windowDidMiniaturize:]):
1771         (-[WKView _windowDidDeminiaturize:]):
1772         (-[WKView _windowDidOrderOffScreen:]):
1773         (-[WKView _windowDidOrderOnScreen:]):
1774         (-[WKView _windowDidChangeOcclusionState:]):
1775         (-[WKView viewDidHide]):
1776         (-[WKView viewDidUnhide]):
1777         (-[WKView _activeSpaceDidChange:]):
1778         * UIProcess/WebPageProxy.cpp:
1779         (WebKit::WebPageProxy::viewStateDidChange):
1780         * UIProcess/WebPageProxy.h:
1781         * WebKit2.xcodeproj/project.pbxproj:
1782
1783 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
1784
1785         [GTK][WK2] Build break after r157967 and r157972
1786         https://bugs.webkit.org/show_bug.cgi?id=123325
1787
1788         Reviewed by Carlos Garcia Campos.
1789
1790         DrawingArea::visibilityDidChange was removed in favour of a new
1791         message called SetIsVisible which is sent to the WebPage. This
1792         means that {suspend|resume}Paiting are now implemented in a
1793         cross-platform way in WebPage and do not require specific code
1794         from the DrawingArea implementations.
1795
1796         This means that we have to track the toplevel window visibility
1797         and notify the WebPage appropriately about its changes.
1798
1799         * UIProcess/API/gtk/PageClientImpl.cpp:
1800         (WebKit::PageClientImpl::isWindowVisible):
1801         * UIProcess/API/gtk/PageClientImpl.h:
1802         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1803         (toplevelWindowVisibilityEvent):
1804         (webkitWebViewBaseSetToplevelOnScreenWindow):
1805         (webkitWebViewBaseIsWindowVisible):
1806         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1807         * UIProcess/DrawingAreaProxyImpl.cpp:
1808         * UIProcess/DrawingAreaProxyImpl.h:
1809         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1810         (WebKit::DrawingAreaImpl::suspendPainting):
1811         (WebKit::DrawingAreaImpl::resumePainting):
1812         * WebProcess/WebPage/WebPage.cpp:
1813         (WebKit::WebPage::windowAndWebPageAreFocused):
1814
1815 2013-10-25  Anton Obzhirov  <a.obzhirov@samsung.com>
1816
1817         [GTK] [WebKit2] CanHandleRequest API test fails
1818         https://bugs.webkit.org/show_bug.cgi?id=88453
1819
1820         Reviewed by Martin Robinson.
1821
1822         Make WebPage::platformCanHandleRequest return false by default 
1823         for unknown schemes.
1824
1825         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1826         (WebKit::WebPage::platformCanHandleRequest):
1827
1828 2013-10-25  Ryuan Choi  <ryuan.choi@samsung.com>
1829
1830         [EFL][WK2] Build break after r157967 and r157972
1831         https://bugs.webkit.org/show_bug.cgi?id=123324
1832
1833         Reviewed by Tim Horton.
1834
1835         Since r157967 and r157972, visibilityDidChange was removed from DrawingAreaProxy.
1836
1837         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
1838         (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
1839         Removed common logic which r157967 moved to WebProcess.
1840         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
1841         Make visibilityDidChange to public method.
1842         * UIProcess/CoordinatedGraphics/WebView.cpp:
1843         (WebKit::WebView::setVisible):
1844         (WebKit::WebView::isWindowVisible): Added.
1845         * UIProcess/CoordinatedGraphics/WebView.h:
1846         * WebProcess/WebPage/WebPage.cpp:
1847         (WebKit::WebPage::WebPage):
1848         (WebKit::WebPage::setWindowIsVisible):
1849         * WebProcess/WebPage/WebPage.h:
1850         Moved m_windowIsVisible to use at all WK2 based port.
1851         (WebKit::WebPage::windowIsVisible):
1852         * WebProcess/WebPage/WebPage.messages.in:
1853         Moved SetWindowIsVisible message to use at all WK2 based port.
1854
1855 2013-10-24  Mark Rowe  <mrowe@apple.com>
1856
1857         Remove references to OS X 10.7 from Xcode configuration settings.
1858
1859         Now that we're not building for OS X 10.7 they're no longer needed.
1860
1861         Reviewed by Anders Carlsson.
1862
1863         * Configurations/Base.xcconfig:
1864         * Configurations/BaseXPCService.xcconfig:
1865         * Configurations/DebugRelease.xcconfig:
1866         * Configurations/FeatureDefines.xcconfig:
1867         * Configurations/Version.xcconfig:
1868         * Configurations/WebContentProcess.xcconfig:
1869
1870 2013-10-24  Gavin Barraclough  <barraclough@apple.com>
1871
1872         Coalesce calls to viewStateDidChange
1873         https://bugs.webkit.org/show_bug.cgi?id=123307
1874
1875         Reviewed by Tim Horton.
1876
1877         * UIProcess/API/mac/WKView.mm:
1878         (-[WKView viewDidMoveToWindow]):
1879         (-[WKView _windowDidOrderOffScreen:]):
1880         (-[WKView _windowDidOrderOnScreen:]):
1881             - coalesce calls to viewStateDidChange
1882         * UIProcess/WebPageProxy.cpp:
1883         (WebKit::WebPageProxy::viewStateDidChange):
1884             - handle changes to view visibility & active state in correct order.
1885
1886 2013-10-24  Mark Rowe  <mrowe@apple.com>
1887
1888         <rdar://problem/15312643> Prepare for the mysterious future.
1889
1890         Reviewed by David Kilzer.
1891
1892         * Configurations/Base.xcconfig:
1893         * Configurations/BaseXPCService.xcconfig:
1894         * Configurations/DebugRelease.xcconfig:
1895         * Configurations/FeatureDefines.xcconfig:
1896         * Configurations/Version.xcconfig:
1897         * Configurations/WebContentProcess.xcconfig:
1898
1899 2013-10-24  Gavin Barraclough  <barraclough@apple.com>
1900
1901         Fold updateWindowIsVisible into viewStateDidChange
1902         https://bugs.webkit.org/show_bug.cgi?id=123305
1903
1904         Reviewed by Simon Fraser.
1905
1906         * UIProcess/API/mac/PageClientImpl.h:
1907         * UIProcess/API/mac/PageClientImpl.mm:
1908         (WebKit::PageClientImpl::isWindowVisible):
1909             - Added accessor to check if window is visible
1910         * UIProcess/API/mac/WKView.mm:
1911         (-[WKView viewDidMoveToWindow]):
1912         (-[WKView _windowDidMiniaturize:]):
1913         (-[WKView _windowDidDeminiaturize:]):
1914         (-[WKView _windowDidOrderOffScreen:]):
1915         (-[WKView _windowDidOrderOnScreen:]):
1916             - _updateWindowVisibility -> viewStateDidChange
1917         * UIProcess/PageClient.h:
1918             - Added accessor to check if winow is visible
1919         * UIProcess/WebPageProxy.cpp:
1920         (WebKit::WebPageProxy::viewStateDidChange):
1921             - handle WindowIsVisible
1922         * UIProcess/WebPageProxy.h:
1923             - added WindowIsVisible
1924         * UIProcess/mac/WebPageProxyMac.mm:
1925             - removed updateWindowIsVisible
1926
1927 2013-10-24  Anders Carlsson  <andersca@apple.com>
1928
1929         Stop bringing in the std namespace
1930         https://bugs.webkit.org/show_bug.cgi?id=123273
1931
1932         Reviewed by Andreas Kling.
1933
1934         * WebProcess/mac/WebProcessMac.mm:
1935         (WebKit::WebProcess::platformSetCacheModel):
1936
1937 2013-10-24  Gavin Barraclough  <barraclough@apple.com>
1938
1939         Simplify window occlusion detection code
1940         https://bugs.webkit.org/show_bug.cgi?id=123300
1941
1942         Reviewed by Tim Horton.
1943
1944         Currently the WKView tries to maintain a copy of the window's occluded state,
1945         but forced to NO when occlusion detection is disabled (and capable of handling
1946         dectection being dynamically toggled). Simpler to just rely on the actual value
1947         from the window, && the enabled setting. Cleaning this up revealed that we're
1948         not sending a viewStateDidChange to the WebPageProxy when the occlusion state
1949         changes, which we probably should be.
1950
1951         * UIProcess/API/mac/PageClientImpl.mm:
1952         (WebKit::PageClientImpl::isViewVisible):
1953             - check the real value of occlusion state from the window.
1954         * UIProcess/API/mac/WKView.mm:
1955         (-[WKView viewDidMoveToWindow]):
1956             - don't update cached value.
1957         (-[WKView _windowDidChangeOcclusionState:]):
1958             - don't update cached value, but do send viewStateDidChange to the WebPageProxy.
1959         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1960             - removed _isWindowOccluded.
1961         (-[WKView windowOcclusionDetectionEnabled]):
1962         (-[WKView setWindowOcclusionDetectionEnabled:]):
1963             - Just toggle the flag - no cached state to update any more.
1964         * UIProcess/API/mac/WKViewInternal.h:
1965             - removed _isWindowOccluded.
1966
1967 2013-10-24  Gavin Barraclough  <barraclough@apple.com>
1968
1969         SetIsVisible message should be sent to WebPage
1970         https://bugs.webkit.org/show_bug.cgi?id=123296
1971
1972         Reviewed by Tim Horton.
1973
1974         * UIProcess/DrawingAreaProxy.h:
1975             - remove visibilityDidChange - WebPageProxy now mesages WebPage.
1976         * UIProcess/WebPageProxy.cpp:
1977         (WebKit::WebPageProxy::viewStateDidChange):
1978             - Send view visibility updates to the WebPage, not the drawing area.
1979         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1980         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1981             - remove visibilityDidChange - WebPageProxy now mesages WebPage.
1982         * WebProcess/WebPage/DrawingArea.h:
1983         (WebKit::DrawingArea::suspendPainting):
1984         (WebKit::DrawingArea::resumePainting):
1985         * WebProcess/WebPage/DrawingArea.messages.in:
1986             - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
1987               make them private to the WebProcess but accessible from WebPage.
1988         * WebProcess/WebPage/WebPage.cpp:
1989         (WebKit::WebPage::setViewIsVisible):
1990         * WebProcess/WebPage/WebPage.h:
1991         * WebProcess/WebPage/WebPage.messages.in:
1992             - Added SetViewIsVisible message.
1993         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1994             - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
1995               make them private to the WebProcess but accessible from WebPage.
1996         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1997         (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
1998         (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
1999             - Moved animation suspend code out to WebPage.
2000
2001 2013-10-24  Dan Bernstein  <mitz@apple.com>
2002
2003         Tried to fix the Mountain Lion build.
2004
2005         * Shared/API/Cocoa/WKFoundation.h:
2006
2007 2013-10-24  Dan Bernstein  <mitz@apple.com>
2008
2009         [Cocoa] Add -[WKBrowsingContextController goToBackForwardItem:]
2010         https://bugs.webkit.org/show_bug.cgi?id=123289
2011
2012         Reviewed by Sam Weinig.
2013
2014         * Shared/API/Cocoa/WKFoundation.h: Defined WK_API_CLASS.
2015         * UIProcess/API/mac/WKBrowsingContextController.h: Declared -goToBackForwardListItem:.
2016         * UIProcess/API/mac/WKBrowsingContextController.mm:
2017         (-[WKBrowsingContextController goToBackForwardListItem:]): Added.
2018         * UIProcess/Cocoa/WKBackForwardList.h: Deployed WK_API_CLASS to make the class exported.
2019         * UIProcess/Cocoa/WKBackForwardListItem.h: Ditto.
2020         * UIProcess/Cocoa/WKBackForwardListItem.mm:
2021         (-[WKBackForwardListItem _item]): Added. Returns the underlying WebBackForwardListItem.
2022         * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Declared _item.
2023
2024 2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
2025
2026         Unreviewed build fix since r157823.
2027         FilterOperation::getOperationType() is renamed FilterOperation::type().
2028
2029         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2030         (CoreIPC::::encode):
2031         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2032         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
2033
2034 2013-10-23  Tibor Meszaros  <tmeszaros@inf.u-szeged.hu>
2035
2036         Web Inspector: Make WebKitEFL port work with chromedevtools
2037         https://bugs.webkit.org/show_bug.cgi?id=123017
2038
2039         Reviewed by Gustavo Noronha Silva.
2040
2041         Added /json path and extended the returned JSON format
2042         with the required extra informations
2043
2044         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
2045         (WebKit::WebInspectorServer::platformResourceForPath):
2046         (WebKit::WebInspectorServer::buildPageList):
2047
2048 2013-10-23  Anders Carlsson  <andersca@apple.com>
2049
2050         Remove HAVE_XPC
2051         https://bugs.webkit.org/show_bug.cgi?id=123226
2052
2053         Reviewed by Dan Bernstein.
2054
2055         HAVE_XPC has been true on Mac since Lion, so remove it.
2056
2057         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
2058         (DatabaseServiceInitializer):
2059         * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
2060         (NetworkServiceInitializer):
2061         * Platform/CoreIPC/Connection.h:
2062         (CoreIPC::Connection::Identifier::Identifier):
2063         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2064         (CoreIPC::Connection::platformInvalidate):
2065         (CoreIPC::Connection::platformInitialize):
2066         * Platform/WorkQueue.h:
2067         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
2068         (PluginServiceInitializer):
2069         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
2070         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
2071         * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:
2072         (WebKit::shouldUseXPC):
2073         (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
2074         * UIProcess/Launcher/ProcessLauncher.cpp:
2075         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
2076         * UIProcess/Launcher/ProcessLauncher.h:
2077         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2078         (WebKit::setUpTerminationNotificationHandler):
2079         (WebKit::ProcessLauncher::launchProcess):
2080         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
2081         (WebKit::shouldUseXPC):
2082         (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
2083         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2084         (WebKit::shouldUseXPC):
2085         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
2086         * UIProcess/mac/WebProcessProxyMac.mm:
2087         (WebKit::shouldUseXPC):
2088         (WebKit::WebProcessProxy::platformGetLaunchOptions):
2089         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
2090         (WebContentServiceInitializer):
2091
2092 2013-10-23  Tim Horton  <timothy_horton@apple.com>
2093
2094         Remove the ifdef to exclude remote layer tree transaction logging
2095         on Lion and before.
2096
2097         Rubber-stamped by Anders Carlsson.
2098
2099         * Shared/mac/RemoteLayerTreeTransaction.h:
2100         * Shared/mac/RemoteLayerTreeTransaction.mm:
2101         * UIProcess/mac/RemoteLayerTreeHost.mm:
2102         (WebKit::RemoteLayerTreeHost::commit):
2103
2104 2013-10-23  Brady Eidson  <beidson@apple.com>
2105
2106         Make IDBDatabaseBackendLevelDB.cpp be cross platform
2107         https://bugs.webkit.org/show_bug.cgi?id=123027
2108
2109         Attentively reviewed by Dean Jackson.
2110
2111         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2112         (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
2113         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2114
2115 2013-10-23  Dan Bernstein  <mitz@apple.com>
2116
2117         Fixed a typo.
2118
2119         * UIProcess/API/mac/WKBrowsingContextController.mm:
2120         (didChangeBackForwardList):
2121         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
2122
2123 2013-10-23  Anton Obzhirov  <a.obzhirov@samsung.com>
2124
2125         [GTK] Enable respect image orientation by default
2126         https://bugs.webkit.org/show_bug.cgi?id=122120
2127
2128         Reviewed by Gustavo Noronha Silva.
2129
2130         Add enable respect image orientation by default in GTK port.
2131
2132         * UIProcess/API/gtk/WebKitSettings.cpp:
2133         (webKitSettingsConstructed):
2134
2135 2013-10-23  Brian Holt  <brian.holt@samsung.com>
2136
2137         [GTK] Add WebKit2 API for TLS errors
2138         https://bugs.webkit.org/show_bug.cgi?id=120160
2139
2140         Reviewed by Mario Sanchez Prada.
2141
2142         Revert back to using PlatformCertificateInfo following the rollout
2143         of https://bugs.webkit.org/show_bug.cgi?id=118520.
2144
2145         * Shared/soup/PlatformCertificateInfo.cpp:
2146         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
2147         * Shared/soup/PlatformCertificateInfo.h:
2148         * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
2149         (webkitCertificateInfoGetCertificateInfo):
2150         * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
2151
2152 2013-10-23  Tim Horton  <timothy_horton@apple.com>
2153
2154         Remote Layer Tree: Implement superlayer, removeFromSuperlayer, replaceSublayer, and adoptSublayers
2155         https://bugs.webkit.org/show_bug.cgi?id=123130
2156
2157         Reviewed by Anders Carlsson.
2158
2159         Implement the remaining layer-hierarchy-manipulation methods.
2160
2161         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2162         (PlatformCALayerRemote::PlatformCALayerRemote):
2163         (PlatformCALayerRemote::~PlatformCALayerRemote):
2164         Null out the superlayer back-pointer on our sublayers.
2165
2166         (PlatformCALayerRemote::recursiveBuildTransaction):
2167         Ensure that our children all have us as their superlayer.
2168
2169         (PlatformCALayerRemote::superlayer):
2170         Return the stored superlayer pointer.
2171
2172         (PlatformCALayerRemote::removeFromSuperlayer):
2173         Call removeSublayer on our superlayer, if we have one.
2174
2175         (PlatformCALayerRemote::removeSublayer):
2176         Remove the given layer if it's in our list of sublayers, clear its
2177         reference to us, and note that we'll need to commit hierarchy changes.
2178
2179         (PlatformCALayerRemote::setSublayers):
2180         removeAllSublayers() before setting the new list, to clear superlayer
2181         back-pointers. Children will be protected by the PlatformCALayerList.
2182         Update the new layers' superlayers.
2183
2184         (PlatformCALayerRemote::removeAllSublayers):
2185         Remove each sublayer from its superlayer, then clear our list of children.
2186
2187         (PlatformCALayerRemote::appendSublayer):
2188         (PlatformCALayerRemote::insertSublayer):
2189         Protect the layer from deletion, so that we can remove it from its prior
2190         superlayer before appending or inserting it.
2191
2192         (PlatformCALayerRemote::replaceSublayer):
2193         Find the reference sublayer, if it exists, and replace it with the new one.
2194
2195         (PlatformCALayerRemote::adoptSublayers):
2196         adoptSublayers is really just "set sublayers to this other layer's sublayers".
2197         Since setSublayers already removes layers from the existing superlayer,
2198         we can just go ahead and call it.
2199
2200         (PlatformCALayerRemote::addAnimationForKey):
2201         (PlatformCALayerRemote::removeAnimationForKey):
2202         (PlatformCALayerRemote::animationForKey):
2203         Add some ASSERT_NOT_REACHEDs in animation code.
2204         We ought not get here because we've disabled hardware animations
2205         in GraphicsLayerCARemote.
2206
2207         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
2208         Add m_superlayer and removeSublayer().
2209
2210 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
2211
2212         Unreviewed build fix attempt on Soup based port after r157842.
2213
2214         WebCore::CertificateInfo was reverted to WebKit::PlatformCertificateInfo.
2215
2216         * UIProcess/WebContext.cpp:
2217         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
2218         * WebProcess/WebProcess.h:
2219         * WebProcess/WebProcess.messages.in:
2220         * WebProcess/soup/WebProcessSoup.cpp:
2221         (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
2222
2223 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
2224
2225         Unreviewed build fix attempt on EFL port after r157842.
2226
2227         * Shared/soup/PlatformCertificateInfo.h: Removed message of merge confliction.
2228
2229 2013-10-22  Mark Rowe  <mrowe@apple.com>
2230
2231         Fix build failures after r157842.
2232
2233         * WebProcess/WebProcess.h: Don't try to #include a file that was deleted.
2234         It won't work.
2235
2236 2013-10-22  Brady Eidson  <beidson@apple.com>
2237
2238         Get rid of IDBObjectStoreBackendLevelDB
2239         https://bugs.webkit.org/show_bug.cgi?id=123174
2240
2241         Reviewed by Tim Horton.
2242
2243         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
2244
2245 2013-10-22  Dean Jackson  <dino@apple.com>
2246
2247         [WebGL] Implement a software rendering option on Mac
2248         https://bugs.webkit.org/show_bug.cgi?id=123177
2249
2250         Reviewed by Tim Horton.
2251
2252         Implement a way to force software OpenGL rendering
2253         for WebGL, via a Setting/Preference.
2254
2255         * Shared/WebPreferencesStore.h: New ForceSoftwareWebGLRendering entry.
2256         * UIProcess/API/C/WKPreferences.cpp:
2257         (WKPreferencesSetForceSoftwareWebGLRendering):
2258         (WKPreferencesGetForceSoftwareWebGLRendering):
2259         * UIProcess/API/C/WKPreferencesPrivate.h:
2260         * WebProcess/WebPage/WebPage.cpp:
2261         (WebKit::WebPage::updatePreferences):
2262         * mac/WebKit2.order:
2263
2264 2013-10-22  Anders Carlsson  <andersca@apple.com>
2265
2266         Revert r157445 since it broke certificates on Mac.
2267         <rdar://problem/15246926&15254017&15269117>
2268
2269         * GNUmakefile.list.am:
2270         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
2271         (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
2272         * NetworkProcess/NetworkProcess.h:
2273         * NetworkProcess/NetworkProcess.messages.in:
2274         * NetworkProcess/NetworkResourceLoader.cpp:
2275         * NetworkProcess/mac/NetworkProcessMac.mm:
2276         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
2277         * PlatformEfl.cmake:
2278         * PlatformGTK.cmake:
2279         * Shared/API/c/mac/WKCertificateInfoMac.mm:
2280         (WKCertificateInfoCreateWithCertficateChain):
2281         (WKCertificateInfoGetCertificateChain):
2282         * Shared/Authentication/AuthenticationManager.cpp:
2283         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
2284         (WebKit::AuthenticationManager::useCredentialForChallenge):
2285         * Shared/Authentication/AuthenticationManager.h:
2286         * Shared/Authentication/AuthenticationManager.messages.in:
2287         * Shared/Authentication/mac/AuthenticationManager.mac.mm:
2288         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
2289         * Shared/UserMessageCoders.h:
2290         (WebKit::UserMessageEncoder::baseEncode):
2291         (WebKit::UserMessageDecoder::baseDecode):
2292         * Shared/WebCertificateInfo.h:
2293         (WebKit::WebCertificateInfo::create):
2294         (WebKit::WebCertificateInfo::platformCertificateInfo):
2295         (WebKit::WebCertificateInfo::WebCertificateInfo):
2296         * Shared/WebCoreArgumentCoders.cpp:
2297         * Shared/WebCoreArgumentCoders.h:
2298         * Shared/mac/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp.
2299         (WebKit::PlatformCertificateInfo::certificateChain):
2300         * Shared/mac/PlatformCertificateInfo.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
2301         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
2302         (WebKit::PlatformCertificateInfo::encode):
2303         (WebKit::PlatformCertificateInfo::decode):
2304         (WebKit::PlatformCertificateInfo::dump):
2305         * Shared/mac/WebCoreArgumentCodersMac.mm:
2306         (CoreIPC::::encodePlatformData):
2307         (CoreIPC::::decodePlatformData):
2308         * Shared/soup/PlatformCertificateInfo.cpp: Added.
2309         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
2310         (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
2311         (WebKit::PlatformCertificateInfo::encode):
2312         (WebKit::PlatformCertificateInfo::decode):
2313         * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/CertificateInfo.h.
2314         (WebKit::PlatformCertificateInfo::certificate):
2315         (WebKit::PlatformCertificateInfo::tlsErrors):
2316         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2317         (CoreIPC::::encodePlatformData):
2318         (CoreIPC::::decodePlatformData):
2319         * UIProcess/API/gtk/WebKitWebView.cpp:
2320         (webkit_web_view_get_tls_info):
2321         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
2322         (WebKit::AuthenticationChallengeProxy::useCredential):
2323         * UIProcess/WebContext.cpp:
2324         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
2325         * UIProcess/WebFrameProxy.cpp:
2326         (WebKit::WebFrameProxy::didCommitLoad):
2327         * UIProcess/WebFrameProxy.h:
2328         * UIProcess/WebPageProxy.cpp:
2329         (WebKit::WebPageProxy::didCommitLoadForFrame):
2330         * UIProcess/WebPageProxy.h:
2331         * UIProcess/WebPageProxy.messages.in:
2332         * WebKit2.xcodeproj/project.pbxproj:
2333         * WebProcess/Network/WebResourceLoader.cpp:
2334         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
2335         * WebProcess/Network/WebResourceLoader.h:
2336         * WebProcess/Network/WebResourceLoader.messages.in:
2337         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2338         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
2339
2340 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2341
2342         Remote Layer Tree: Disable threaded scrolling for RemoteLayerTreeDrawingArea
2343         https://bugs.webkit.org/show_bug.cgi?id=123187
2344
2345         Reviewed by Dean Jackson.
2346
2347         * WebProcess/WebPage/DrawingArea.h:
2348         (WebKit::DrawingArea::supportsThreadedScrolling):
2349         * WebProcess/WebPage/WebPage.cpp:
2350         (WebKit::WebPage::WebPage):
2351         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2352         Threaded scrolling doesn't work with remote layer trees yet.
2353         Let the DrawingArea subclass tell WebPage if it supports threaded
2354         scrolling, and make TiledCoreAnimationDrawingArea say that it does.
2355
2356 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
2357
2358         Unreviewed build fix on EFL port after r157823
2359
2360         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2361         (CoreIPC::::encode): renamed getOperationType() to type().
2362
2363 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2364
2365         {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
2366         https://bugs.webkit.org/show_bug.cgi?id=123172
2367
2368         Reviewed by Simon Fraser.
2369
2370         * Shared/WebCoreArgumentCoders.cpp:
2371         (CoreIPC::encodeFilterOperation):
2372         * Shared/mac/RemoteLayerTreeTransaction.mm:
2373         (WebKit::RemoteLayerTreeTextStream::operator<<):
2374         Adopt the new name.
2375
2376 2013-10-22  Csaba Osztrogonác  <ossy@webkit.org>
2377
2378         URTBF after r157803 for !ENABLE(CSS_FILTERS) platforms.
2379
2380         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2381         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2382         * Shared/WebCoreArgumentCoders.cpp:
2383
2384 2013-10-22  Tim Horton  <timothy_horton@apple.com>
2385
2386         Remote Layer Tree: Support hardware accelerated filters
2387         https://bugs.webkit.org/show_bug.cgi?id=123139
2388
2389         Reviewed by Anders Carlsson.
2390
2391         * Shared/WebCoreArgumentCoders.cpp:
2392         (CoreIPC::ArgumentCoder<Length>::encode):
2393         (CoreIPC::ArgumentCoder<Length>::decode):
2394         Add simple coders for Length.
2395
2396         (CoreIPC::encodeFilterOperation):
2397         (CoreIPC::decodeFilterOperation):
2398         Serialize and deserialize FilterOperations, except for CUSTOM and VALIDATED_CUSTOM.
2399
2400         (CoreIPC::ArgumentCoder<Length>::encode):
2401         (CoreIPC::ArgumentCoder<Length>::decode):
2402         Add coders for FilterOperations that delegate to {en,de}codeFilterOperation
2403         for each operation in the list.
2404
2405         * Shared/WebCoreArgumentCoders.h:
2406         Drive-by fix indentation.
2407         Expose the Length and FilterOperations coders.
2408
2409         * Shared/mac/RemoteLayerTreeTransaction.h:
2410         Add FiltersChanged and LayerProperties::filters.
2411
2412         * Shared/mac/RemoteLayerTreeTransaction.mm:
2413         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
2414         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
2415         Encode and decode our FilterOperations.
2416
2417         (WebKit::dumpChangedLayers):
2418         Dump information about the layers' filters.
2419
2420         * UIProcess/mac/RemoteLayerTreeHost.mm:
2421         (WebKit::RemoteLayerTreeHost::commit):
2422         Use PlatformCAFilters code to apply a FilterOperations object to our CALayer.
2423
2424         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2425         (PlatformCALayerRemote::setFilters):
2426         Replace existing filters with our new set, and note that they've changed.
2427
2428         (PlatformCALayerRemote::copyFiltersFrom):
2429         Not yet implemented. Not critical for this feature, either.
2430
2431         (PlatformCALayerRemote::filtersCanBeComposited):
2432         For now, this is the same as the Mac version.
2433
2434 2013-10-22  Brian Holt  <brian.holt@samsung.com>
2435
2436         [GTK] Add WebKit2 API for TLS errors
2437         https://bugs.webkit.org/show_bug.cgi?id=120160
2438
2439         Reviewed by Carlos Garcia Campos.
2440
2441         Add a new signal load-failed-with-tls-errors that is emitted with
2442         a WebKitCertificateInfo boxed type to allow users to deal with TLS
2443         errors. A new API is exposed in WebKitWebContext to allow
2444         exceptions for TLS errors on a given host.
2445
2446         * GNUmakefile.list.am:
2447         * PlatformGTK.cmake:
2448         * UIProcess/API/gtk/WebKitCertificateInfo.cpp: Added.
2449         (webkitCertificateInfoGetCertificateInfo):
2450         (webkit_certificate_info_copy):
2451         (webkit_certificate_info_free):
2452         (webkit_certificate_info_get_tls_certificate):
2453         (webkit_certificate_info_get_tls_errors):
2454         * UIProcess/API/gtk/WebKitCertificateInfo.h: Added.
2455         * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Added.
2456         (_WebKitCertificateInfo::_WebKitCertificateInfo):
2457         * UIProcess/API/gtk/WebKitWebContext.cpp:
2458         (webkit_web_context_allow_tls_certificate_for_host): Support TLS
2459         exceptions for a given host.
2460         * UIProcess/API/gtk/WebKitWebContext.h:
2461         * UIProcess/API/gtk/WebKitWebView.cpp:
2462         (webkit_web_view_class_init): Added new signal.
2463         (webkitWebViewLoadFailedWithTLSErrors): Emit new signal with
2464         WebKitCertificateInfo and host.
2465         * UIProcess/API/gtk/WebKitWebView.h:
2466         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2467         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2468         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2469         * UIProcess/API/gtk/docs/webkit2gtk.types:
2470         * UIProcess/API/gtk/tests/TestSSL.cpp:
2471         (testLoadFailedWithTLSErrors):
2472         (httpsServerCallback):
2473         (beforeAll): Added new test.
2474         * UIProcess/API/gtk/webkit2.h:
2475         * UIProcess/API/gtk/webkit2marshal.list:
2476         * UIProcess/WebContext.cpp:
2477         (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): Send
2478         message to WebProcess to allow a certificate and host pair.
2479         * WebProcess/WebProcess.h:
2480         * WebProcess/WebProcess.messages.in: New message to tell
2481         WebProcess to allow a specific TLS certificate for a given host.
2482         * WebProcess/soup/WebProcessSoup.cpp:
2483         (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Allow
2484         certificate and host pair.
2485
2486 2013-10-22  Dan Bernstein  <mitz@apple.com>
2487
2488         Try to make the 32-bit Mac build happy.
2489
2490         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
2491
2492 2013-10-21  Dan Bernstein  <mitz@apple.com>
2493
2494         Try to make the 32-bit Mac build happy.
2495
2496         * UIProcess/API/mac/WKBrowsingContextController.mm:
2497         (setUpPageLoaderClient):
2498
2499 2013-10-21  Dan Bernstein  <mitz@apple.com>
2500
2501         [Cocoa] Add load delegate method for didChangeBackForwardList
2502         https://bugs.webkit.org/show_bug.cgi?id=123136
2503
2504         Reviewed by Anders Carlsson.
2505
2506         * UIProcess/API/mac/WKBrowsingContextController.mm:
2507         (didChangeBackForwardList): Added. Calls new delegate method.
2508         (setUpPageLoaderClient):  Hook up new client function.
2509         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.
2510
2511 2013-10-21  Mark Rowe  <mrowe@apple.com>
2512
2513         Add a version of WebKitSystemInterface for Mavericks.
2514
2515         Reviewed by Ryosuke Niwa.
2516
2517         * Configurations/DebugRelease.xcconfig:
2518
2519 2013-10-21  Dan Bernstein  <mitz@apple.com>
2520
2521         Try to fix the Mac 32-bit build.
2522
2523         * UIProcess/API/mac/WKBrowsingContextController.h:
2524         * UIProcess/API/mac/WKBrowsingContextController.mm:
2525
2526 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2527
2528         Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.
2529
2530         This definitely ought to fix the build.
2531
2532         * Shared/mac/RemoteLayerTreeTransaction.h:
2533         * Shared/mac/RemoteLayerTreeTransaction.mm:
2534         * UIProcess/mac/RemoteLayerTreeHost.mm:
2535         (WebKit::RemoteLayerTreeHost::commit):
2536
2537 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2538
2539         Maybe a Lion build fix after r157731, part 2.
2540
2541         * Shared/mac/RemoteLayerTreeTransaction.mm:
2542         (WebKit::RemoteLayerTreeTextStream::operator<<):
2543
2544 2013-10-21  Dan Bernstein  <mitz@apple.com>
2545
2546         [Cocoa] Back/forward list UI process API
2547         https://bugs.webkit.org/show_bug.cgi?id=123109
2548
2549         Reviewed by Darin Adler.
2550
2551         * CMakeLists.txt: Updated for renames.
2552         * GNUmakefile.list.am: Ditto.
2553
2554         * Shared/Cocoa: Added.
2555         * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
2556         a WebKit::ImmutableArray.
2557         * Shared/Cocoa/WKNSArray.mm: Added.
2558         (+[WKNSArray web_arrayWithImmutableArray:]): Added.
2559         (-[WKNSArray web_initWithImmutableArray:]): Added.
2560         (-[WKNSArray count]): Added.
2561         (-[WKNSArray objectAtIndex:]): Added.
2562         (-[WKNSArray copyWithZone:]): Added.
2563
2564         * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
2565         vend WebKit API objects as Objective-C objects.
2566         * Shared/Cocoa/WKNSObjectExtras.mm: Added.
2567         (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
2568         (-[WKObject isEqual:]): Check for equality of the underlying object.
2569         (-[WKObject hash]): Return a pointer to the underlying object.
2570         (-[WKObject description]): Added.
2571         (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
2572         for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
2573         item and a generic WKObject for all other types.
2574
2575         * UIProcess/API/C/WKBackForwardList.cpp: Renamed.
2576         * UIProcess/API/C/WKBackForwardList.h: Renamed.
2577         * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
2578         * UIProcess/API/C/WKBackForwardListItem.h: Renamed.
2579         * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
2580         * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
2581         * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
2582         * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.
2583
2584         * UIProcess/API/C/WebKit2_C.h: Updated for header renames.
2585
2586         * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
2587         * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.
2588
2589         * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
2590         * UIProcess/API/mac/WKBrowsingContextController.mm:
2591         (-[WKBrowsingContextController backForwardList]): Added this accessor.
2592
2593         * UIProcess/Cocoa: Added.
2594         * UIProcess/Cocoa/WKBackForwardList.h: Added.
2595         * UIProcess/Cocoa/WKBackForwardList.mm: Added.
2596         (toWKBackForwardListItem): Added this helper.
2597         (-[WKBackForwardList currentItem]): Added.
2598         (-[WKBackForwardList backItem]): Added.
2599         (-[WKBackForwardList forwardItem]): Added.
2600         (-[WKBackForwardList itemAtIndex:]): Added.
2601         (-[WKBackForwardList backListCount]): Added.
2602         (-[WKBackForwardList forwardListCount]): Added.
2603         (-[WKBackForwardList backListWithLimit:]): Added.
2604         (-[WKBackForwardList forwardListWithLimit:]): Added.
2605         (-[WKBackForwardList _initWithList:]): Added.
2606         * UIProcess/Cocoa/WKBackForwardListInternal.h: Added.
2607
2608         * UIProcess/Cocoa/WKBackForwardListItem.h: Added.
2609         * UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
2610         (-[WKBackForwardListItem URL]): Added.
2611         (-[WKBackForwardListItem title]): Added.
2612         (-[WKBackForwardListItem originalURL]): Added.
2613         (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
2614         (-[WKBackForwardListItem hash]): Return a pointer to the underlying object
2615         (-[WKBackForwardListItem _initWithItem:]): Added.
2616         * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.
2617
2618         * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.
2619
2620 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2621
2622         Maybe a Lion build fix after r157731.
2623
2624         * Shared/mac/RemoteLayerTreeTransaction.mm:
2625         (WebKit::RemoteLayerTreeTextStream::operator<<):
2626
2627 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2628
2629         Remote Layer Tree: Clean up transaction logging
2630         https://bugs.webkit.org/show_bug.cgi?id=123116
2631
2632         Reviewed by Anders Carlsson.
2633
2634         * Shared/mac/RemoteLayerTreeTransaction.mm:
2635         (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
2636         (WebKit::RemoteLayerTreeTextStream::increaseIndent):
2637         (WebKit::RemoteLayerTreeTextStream::decreaseIndent):
2638         (WebKit::RemoteLayerTreeTextStream::writeIndent):
2639         (WebKit::RemoteLayerTreeTextStream::operator<<):
2640         Add some stream operator overrides for various types we need to dump.
2641         Add a notion of current indent to our TextStream subclass to make it
2642         easy to keep track of where we are.
2643
2644         (WebKit::dumpProperty):
2645         Added, hand any arbitrary type to RemoteLayerTreeTransaction.
2646
2647         (WebKit::dumpChangedLayers):
2648         (WebKit::RemoteLayerTreeTransaction::dump):
2649         Make use of TextStream.
2650
2651 2013-10-21  Brady Eidson  <beidson@apple.com>
2652
2653         Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
2654         https://bugs.webkit.org/show_bug.cgi?id=123105
2655
2656         Reviewed by Anders Carlsson.
2657
2658         Stub out a new pure virtual method:
2659         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2660         (WebKit::WebIDBFactoryBackend::createTransactionBackend):
2661         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2662
2663 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2664
2665         Remote Layer Tree: Backing store should take contentsScale into account
2666         https://bugs.webkit.org/show_bug.cgi?id=123106
2667
2668         Reviewed by Simon Fraser.
2669
2670         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2671         (PlatformCALayerRemote::ensureBackingStore):
2672         (PlatformCALayerRemote::setNeedsDisplay):
2673         (PlatformCALayerRemote::setContentsScale):
2674         Inform the backing store of the contentsScale, and when it changes.
2675
2676         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
2677         (WebKit::RemoteLayerBackingStore::scale): Added.
2678         (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
2679         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
2680         (RemoteLayerBackingStore::RemoteLayerBackingStore):
2681         (RemoteLayerBackingStore::encode):
2682         (RemoteLayerBackingStore::decode):
2683         (RemoteLayerBackingStore::mapToContentCoordinates):
2684         Factor out flipping so we can use it for repaints in multiple places.
2685
2686         (RemoteLayerBackingStore::setNeedsDisplay):
2687         (RemoteLayerBackingStore::display):
2688         Create a buffer scaled up by contentsScale, take the scale into account
2689         when copying clean bits from the front buffer, and apply the scale before
2690         painting into the back buffer.
2691
2692 2013-10-21  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
2693
2694         Remove qt from generate-forwarding-headers.pl
2695         https://bugs.webkit.org/show_bug.cgi?id=123090
2696
2697         Reviewed by Andreas Kling.
2698
2699         * Scripts/generate-forwarding-headers.pl:
2700
2701 2013-10-21  Zan Dobersek  <zdobersek@igalia.com>
2702
2703         [GTK] g-ir-scanner should use the configured C compiler
2704         https://bugs.webkit.org/show_bug.cgi?id=123088
2705
2706         Reviewed by Carlos Garcia Campos.
2707
2708         * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
2709         via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
2710         the Clang-specific CFLAGS.
2711
2712 2013-10-20  Dan Bernstein  <mitz@apple.com>
2713
2714         [Cocoa] Loading progress API
2715         https://bugs.webkit.org/show_bug.cgi?id=123069
2716
2717         Reviewed by Sam Weinig.
2718
2719         * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
2720         * UIProcess/API/mac/WKBrowsingContextController.mm:
2721         (-[WKBrowsingContextController estimatedProgress]): Added.
2722         (didStartProgress): Added. Calls new delegate method
2723         -browsingContextControllerDidStartProgress:.
2724         (didChangeProgress): Added. Calls new delegate method
2725         -browsingContextController:estimatedProgressChangedTo:.
2726         (didFinishProgress): Added. Calls new delegate method
2727         -browsingContextControllerDidFinishProgress:.
2728         (setUpPageLoaderClient): Hook up new client functions.
2729         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.
2730
2731 2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2732
2733         Removing "unused parameter" compiling warnings from WebKit2 and WebCore
2734         https://bugs.webkit.org/show_bug.cgi?id=123075
2735
2736         Reviewed by Andreas Kling.
2737
2738         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
2739         (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
2740         * UIProcess/API/C/WKContext.cpp:
2741         (WKContextGetPluginSiteDataManager):
2742         * UIProcess/API/C/WKPreferences.cpp:
2743         (WKPreferencesSetInspectorUsesWebKitUserInterface):
2744         (WKPreferencesGetInspectorUsesWebKitUserInterface):
2745         * UIProcess/WebProcessProxy.cpp:
2746         (WebKit::WebProcessProxy::getPlugins):
2747         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2748         (WKBundlePageSetFullScreenClient):
2749         (WKBundlePageWillEnterFullScreen):
2750         (WKBundlePageDidEnterFullScreen):
2751         (WKBundlePageWillExitFullScreen):
2752         (WKBundlePageDidExitFullScreen):
2753         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
2754         (WebKit::WebMediaCacheManager::clearCacheForHostname):
2755         * WebProcess/OriginData/WebOriginDataManager.cpp:
2756         (WebKit::WebOriginDataManager::getOrigins):
2757         (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
2758         (WebKit::WebOriginDataManager::deleteAllEntries):
2759         (WebKit::WebOriginDataManager::startObservingChanges):
2760         (WebKit::WebOriginDataManager::stopObservingChanges):
2761         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2762         (WebKit::WebFrameLoaderClient::createPlugin):
2763         (WebKit::WebFrameLoaderClient::recreatePlugin):
2764         * WebProcess/WebPage/EventDispatcher.cpp:
2765         (WebKit::EventDispatcher::wheelEvent):
2766         * WebProcess/WebPage/WebPage.cpp:
2767         (WebKit::WebPage::canPluginHandleResponse):
2768
2769 2013-10-19  Jer Noble  <jer.noble@apple.com>
2770
2771         Unreviewed roll out of r157695; broke Mac builds.
2772
2773         * Configurations/FeatureDefines.xcconfig:
2774
2775 2013-10-07  Jer Noble  <jer.noble@apple.com>
2776
2777         [MSE] [Mac] Enable MediaSource on the Mac
2778         https://bugs.webkit.org/show_bug.cgi?id=122484
2779
2780         Reviewed by Darin Adler.
2781
2782         Enable ENABLE_MEDIA_SOURCE.
2783
2784         * Configurations/FeatureDefines.xcconfig:
2785
2786 2013-10-19  Dan Bernstein  <mitz@apple.com>
2787
2788         Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.
2789
2790 2013-10-19  Dan Bernstein  <mitz@apple.com>
2791
2792         Try to fix the Mac 32-bit build.
2793
2794         * UIProcess/mac/WKFullScreenWindowController.h:
2795         * UIProcess/mac/WKFullScreenWindowController.mm:
2796
2797 2013-10-19  Dan Bernstein  <mitz@apple.com>
2798
2799         Try to fix the Mac 32-bit build.
2800
2801         * UIProcess/API/mac/WKView.h:
2802         * UIProcess/API/mac/WKView.mm:
2803         * UIProcess/API/mac/WKViewInternal.h:
2804         * UIProcess/API/mac/WKViewPrivate.h:
2805
2806 2013-10-19  Dan Bernstein  <mitz@apple.com>
2807
2808         [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
2809         https://bugs.webkit.org/show_bug.cgi?id=123065
2810
2811         Reviewed by Sam Weinig.
2812
2813         * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
2814         ivar and WKBrowsingContextControllerData class declaration.
2815         * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
2816         WKBrowsingContextControllerData class and moved _pageRef ivar directly into
2817         WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
2818         for the loadDelegate property, letting the compiler synthesize them.
2819         (-[WKBrowsingContextController dealloc]): Removed indirection via _data.
2820         (-[WKBrowsingContextController _pageRef]): Ditto.
2821         (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
2822         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
2823         (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
2824         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
2825         Ditto.
2826         (-[WKBrowsingContextController stopLoading]): Ditto.
2827         (-[WKBrowsingContextController reload]): Ditto.
2828         (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
2829         (-[WKBrowsingContextController goForward]): Ditto.
2830         (-[WKBrowsingContextController canGoForward]): Ditto.
2831         (-[WKBrowsingContextController goBack]): Ditto.
2832         (-[WKBrowsingContextController canGoBack]): Ditto.
2833         (-[WKBrowsingContextController activeURL]): Ditto.
2834         (-[WKBrowsingContextController provisionalURL]): Ditto.
2835         (-[WKBrowsingContextController committedURL]): Ditto.
2836         (-[WKBrowsingContextController title]): Ditto.
2837         (-[WKBrowsingContextController textZoom]): Ditto.
2838         (-[WKBrowsingContextController setTextZoom:]): Ditto.
2839         (-[WKBrowsingContextController pageZoom]): Ditto.
2840         (-[WKBrowsingContextController setPageZoom:]): Ditto.
2841         (-[WKBrowsingContextController setPaginationMode:]): Ditto.
2842         (-[WKBrowsingContextController paginationMode]): Ditto.
2843         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
2844         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
2845         (-[WKBrowsingContextController setPageLength:]): Ditto.
2846         (-[WKBrowsingContextController pageLength]): Ditto.
2847         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
2848         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
2849         (-[WKBrowsingContextController pageCount]): Ditto.
2850         (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
2851         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
2852         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
2853
2854         * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
2855         and WKBrowsingContextGroupData class declaration.
2856         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
2857         WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
2858         WKBrowsingContextGroup, declaring it in the @implementation.
2859         (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
2860         (-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
2861         * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.
2862
2863         * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
2864         WKConnectionData class declaration.
2865         * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
2866         class and moved _connectionRef ivar directly into WKConnection, declaring it in the
2867         @implementation. Removed ivar and accessors for the delegate property, letting the compiler
2868         synthesize them.
2869         (-[WKConnection dealloc]): Removed indirection via _data.
2870         (-[WKConnection sendMessageWithName:body:]): Ditto.
2871         (-[WKConnection _initWithConnectionRef:]): Ditto.
2872         * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.
2873
2874         * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
2875         declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
2876         declaration.
2877         * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
2878         WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
2879         it in the @implementation. Removed ivar and accessors for the delegate property, letting the
2880         compiler synthesize them.
2881         (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
2882         (-[WKProcessGroup dealloc]): Ditto.
2883         (-[WKProcessGroup _contextRef]): Ditto.
2884         * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.
2885
2886 2013-10-19  Andreas Kling  <akling@apple.com>
2887
2888         Attempt to get Lion building.
2889
2890         * UIProcess/mac/WebColorPickerMac.h:
2891
2892 2013-10-18  Tim Horton  <timothy_horton@apple.com>
2893
2894         Remote Layer Tree: Double-buffering and minimization of repaints
2895         https://bugs.webkit.org/show_bug.cgi?id=123043
2896
2897         Reviewed by Simon Fraser.
2898
2899         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2900         (PlatformCALayerRemote::ensureBackingStore):
2901         Don't worry about isOpaque with RemoteLayerBackingStore; this is a
2902         optimization that is causing trouble; we can re-add it later.
2903
2904         (PlatformCALayerRemote::setBounds):
2905         Make sure that we will repaint if our bounds change.
2906
2907         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
2908         (WebKit::RemoteLayerBackingStore::bitmap):
2909         Keep a front and back buffer; return the front buffer when being asked for the bitmap.
2910         Keep a Region of repaint areas.
2911
2912         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
2913         (RemoteLayerBackingStore::RemoteLayerBackingStore):
2914         (RemoteLayerBackingStore::encode):
2915         (RemoteLayerBackingStore::decode):
2916         Serialize only the front buffer, since the UI process only needs that.
2917
2918         (RemoteLayerBackingStore::setNeedsDisplay):
2919         Store repaint rects instead of always setting the whole layer to be dirty.
2920
2921         (RemoteLayerBackingStore::display):
2922         Paint into the back buffer (copying valid parts over from the front buffer),
2923         then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc.
2924
2925 2013-10-18  Anders Carlsson  <andersca@apple.com>
2926
2927         Try to fix the Lion build.
2928
2929         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2930
2931 2013-10-18  Anders Carlsson  <andersca@apple.com>
2932
2933         Remove spaces between template angle brackets
2934         https://bugs.webkit.org/show_bug.cgi?id=123040
2935
2936         Reviewed by Andreas Kling.
2937
2938         * UIProcess/mac/WebColorPickerMac.h:
2939         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2940         * WebProcess/WebProcess.cpp:
2941         (WebKit::WebProcess::setProcessSuppressionEnabled):
2942
2943 2013-10-18  Brady Eidson  <beidson@apple.com>
2944
2945         Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
2946         https://bugs.webkit.org/show_bug.cgi?id=123039
2947
2948         Reviewed by Anders Carlsson.
2949
2950         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
2951         (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method.
2952         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2953
2954 2013-10-18  Dan Bernstein  <mitz@apple.com>
2955
2956         [Cocoa] WKBrowsingController accessors crash instead of returning nil
2957         https://bugs.webkit.org/show_bug.cgi?id=123036
2958
2959         Reviewed by Anders Carlsson.
2960
2961         * UIProcess/API/mac/WKBrowsingContextController.mm:
2962         (autoreleased): Return nil if the object is NULL.
2963
2964 2013-10-18  Anders Carlsson  <andersca@apple.com>
2965
2966         Remove some Windows specific code from WebKit2
2967         https://bugs.webkit.org/show_bug.cgi?id=123034
2968
2969         Reviewed by Beth Dakin.
2970
2971         * Platform/PlatformProcessIdentifier.h:
2972         * Shared/API/c/WKDeclarationSpecifiers.h:
2973         * UIProcess/API/C/WKNativeEvent.h:
2974         * UIProcess/API/C/WKPreferencesPrivate.h:
2975         * config.h:
2976
2977 2013-10-18  Dan Bernstein  <mitz@apple.com>
2978
2979         Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED.
2980
2981         Rubber-stamped by Anders Carlsson.
2982
2983         * Shared/API/Cocoa/WKFoundation.h:
2984
2985 2013-10-17  Tim Horton  <timothy_horton@apple.com>
2986
2987         Remote Layer Tree: Proxy layer contents to the UI process
2988         http://bugs.webkit.org/show_bug.cgi?id=123003
2989
2990         Reviewed by Anders Carlsson.
2991
2992         Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
2993         for now, and are fully repainted on any invalidation. Also, contents do not respect
2994         any kind of scale or use of contentsRect/etc.
2995
2996         * Shared/mac/RemoteLayerTreeTransaction.h:
2997         * Shared/mac/RemoteLayerTreeTransaction.mm:
2998         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
2999         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3000         (WebKit::dumpChangedLayers):
3001         Store/encode/decode/dump the new RemoteLayerBackingStore.
3002
3003         * UIProcess/mac/RemoteLayerTreeHost.mm:
3004         (WebKit::RemoteLayerTreeHost::commit):
3005         Fix a mistake where contentsRect was getting reset when contentsScale changed.
3006         Set the layer contents when the backing store changes.
3007
3008         * WebKit2.xcodeproj/project.pbxproj:
3009         Add RemoteLayerBackingStore.
3010
3011         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3012         (PlatformCALayerRemote::recursiveBuildTransaction):
3013         Paint while building our transaction, and mark the backing store as changed
3014         if we did any painting.
3015
3016         (PlatformCALayerRemote::ensureBackingStore):
3017         Keep the backing store's properties up-to-date with our layer.
3018
3019         (PlatformCALayerRemote::setNeedsDisplay):
3020         Inform the backing store that it needs to paint.
3021
3022         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3023
3024         * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
3025         * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
3026         (RemoteLayerBackingStore::RemoteLayerBackingStore):
3027         (RemoteLayerBackingStore::encode):
3028         (RemoteLayerBackingStore::decode):
3029         Encode/decode our ShareableBitmap (via its handle) and size.
3030
3031         (RemoteLayerBackingStore::setNeedsDisplay):
3032         For now, repaint the world.
3033
3034         (RemoteLayerBackingStore::display):
3035         Create a new bitmap if needed, and paint into it.
3036
3037 2013-10-17  Dan Bernstein  <mitz@apple.com>
3038
3039         Fixed a typo in the definition of WK_API_ENABLED.
3040
3041         * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.
3042
3043 2013-10-17  Dan Bernstein  <mitz@apple.com>
3044
3045         Add and deploy WK_API_ENABLED guards
3046         https://bugs.webkit.org/show_bug.cgi?id=123008
3047
3048         Reviewed by Darin Adler.
3049
3050         * Shared/API/Cocoa: Added.
3051         * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
3052         Objective-C API should be enabled in the current configuration.
3053         * Shared/mac/ObjCObjectGraphCoders.mm:
3054         (WebKit::typeFromObject): Changed to use WK_API_ENABLED.
3055         (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
3056         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
3057         (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
3058         (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
3059         * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
3060         * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
3061         * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
3062         * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
3063         WKFoundation.h as a public header.
3064         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
3065         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
3066         * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
3067         * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
3068         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
3069         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
3070         * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
3071         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
3072         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
3073         * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
3074         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
3075         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
3076         * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
3077         * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
3078         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
3079         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
3080         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
3081         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
3082         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
3083         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3084         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
3085         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
3086         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
3087         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
3088         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
3089         (WebKit::InjectedBundle::load):
3090
3091 2013-10-17  Csaba Osztrogonác  <ossy@webkit.org>
3092
3093         [WK2] Speculative buildfixes for GTK and EFL after r157582.
3094
3095         * CMakeLists.txt:
3096         * GNUmakefile.am:
3097
3098 2013-10-17  Martin Hock  <mhock@apple.com>
3099
3100         Refactor stored website data APIs
3101         https://bugs.webkit.org/show_bug.cgi?id=122781
3102
3103         Reviewed by Brady Eidson.
3104
3105         Add WebOriginDataManager along with corresponding class
3106         WebOriginDataManagerProxy and API WKOriginDataManager.
3107
3108         Currently, the new files are unused.
3109
3110         WKOriginDataManager should subsume the functionality of:
3111         WKApplicationCacheManager, WKCookieManager, WKDatabaseManager,
3112         WKKeyValueStorageManager, WKMediaCacheManager,
3113         WKPluginSiteDataManager, and WKResourceCacheManager.
3114
3115         * CMakeLists.txt:
3116         * DerivedSources.make:
3117         * GNUmakefile.am:
3118         * GNUmakefile.list.am:
3119         * Shared/API/c/WKBase.h:
3120         * Shared/APIObject.h:
3121         * UIProcess/API/C/WKAPICast.h:
3122         * UIProcess/API/C/WKContext.cpp:
3123         (WKContextGetOriginDataManager):
3124         * UIProcess/API/C/WKContext.h:
3125         * UIProcess/API/C/WKOriginDataManager.cpp: Added.
3126         (WKOriginDataManagerGetTypeID):
3127         (WKOriginDataManagerGetOrigins):
3128         (WKOriginDataManagerDeleteEntriesForOrigin):
3129         (WKOriginDataManagerDeleteAllEntries):
3130         (WKOriginDataManagerStartObservingChanges):
3131         (WKOriginDataManagerStopObservingChanges):
3132         (WKOriginDataManagerSetChangeClient):
3133         * UIProcess/API/C/WKOriginDataManager.h: Added.
3134         * UIProcess/WebOriginDataManagerProxy.cpp: Added.
3135         (WebKit::WebOriginDataManagerProxy::supplementName):
3136         (WebKit::WebOriginDataManagerProxy::create):
3137         (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
3138         (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy):
3139         (WebKit::WebOriginDataManagerProxy::contextDestroyed):
3140         (WebKit::WebOriginDataManagerProxy::processDidClose):
3141         (WebKit::WebOriginDataManagerProxy::shouldTerminate):
3142         (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
3143         (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
3144         (WebKit::WebOriginDataManagerProxy::getOrigins):
3145         (WebKit::WebOriginDataManagerProxy::didGetOrigins):
3146         (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
3147         (WebKit::WebOriginDataManagerProxy::deleteAllEntries):
3148         (WebKit::WebOriginDataManagerProxy::startObservingChanges):
3149         (WebKit::WebOriginDataManagerProxy::stopObservingChanges):
3150         (WebKit::WebOriginDataManagerProxy::setChangeClient):
3151         (WebKit::WebOriginDataManagerProxy::didChange):
3152         * UIProcess/WebOriginDataManagerProxy.h: Added.
3153         * UIProcess/WebOriginDataManagerProxy.messages.in: Added.
3154         * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added.
3155         (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
3156         * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added.
3157         * WebKit2.xcodeproj/project.pbxproj:
3158         * WebProcess/OriginData/WebOriginDataManager.cpp: Added.
3159         (WebKit::WebOriginDataManager::supplementName):
3160         (WebKit::WebOriginDataManager::WebOriginDataManager):
3161         (WebKit::WebOriginDataManager::getOrigins):
3162         (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
3163         (WebKit::WebOriginDataManager::deleteAllEntries):
3164         (WebKit::WebOriginDataManager::startObservingChanges):
3165         (WebKit::WebOriginDataManager::stopObservingChanges):
3166         * WebProcess/OriginData/WebOriginDataManager.h: Added.
3167         * WebProcess/OriginData/WebOriginDataManager.messages.in: Added.
3168
3169 2013-10-17  Brady Eidson  <beidson@apple.com>
3170
3171         Blind attempt at gtk-wk2 build fix.
3172
3173         * GNUmakefile.am:
3174
3175 2013-10-17  Brady Eidson  <beidson@apple.com>
3176
3177         Add scaffolding for IDBDatabaseBackends in Web and Database processes
3178         https://bugs.webkit.org/show_bug.cgi?id=122971
3179
3180         Reviewed by Tim Horton.
3181
3182         This patch:
3183         - Adds a WebProcessIDBDatabaseBackend
3184         - Adds a DatabaseProcessIDBDatabaseBackend
3185         - Establishes the basic messaging between them
3186         - Actually creates those backends as the result of an indexedDB.open() call from javascript
3187
3188         * DerivedSources.make:
3189         * WebKit2.xcodeproj/project.pbxproj:
3190         * Platform/Logging.h:
3191
3192         Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other:
3193         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
3194         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
3195         (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend):
3196         * DatabaseProcess/DatabaseToWebProcessConnection.h:
3197         (WebKit::DatabaseToWebProcessConnection::connection):
3198         * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added.
3199
3200         DatabaseProcess side of an IDBDatabaseBackend:
3201         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp:
3202         (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend):
3203         (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend):
3204         (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection):
3205         (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection):
3206         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added.
3207         (WebKit::DatabaseProcessIDBDatabaseBackend::create):
3208         * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added.
3209
3210         WebProcess side of an IDBDatabaseBackend:
3211         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added.
3212         (WebKit::generateBackendIdentifier):
3213         (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
3214         (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend):
3215         (WebKit::WebProcessIDBDatabaseBackend::openConnection):
3216         (WebKit::WebProcessIDBDatabaseBackend::createObjectStore):
3217         (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore):
3218         (WebKit::WebProcessIDBDatabaseBackend::createTransaction):
3219         (WebKit::WebProcessIDBDatabaseBackend::close):
3220         (WebKit::WebProcessIDBDatabaseBackend::commit):
3221         (WebKit::WebProcessIDBDatabaseBackend::abort):
3222         (WebKit::WebProcessIDBDatabaseBackend::createIndex):
3223         (WebKit::WebProcessIDBDatabaseBackend::deleteIndex):
3224         (WebKit::WebProcessIDBDatabaseBackend::get):
3225         (WebKit::WebProcessIDBDatabaseBackend::put):
3226         (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys):
3227         (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady):
3228         (WebKit::WebProcessIDBDatabaseBackend::openCursor):
3229         (WebKit::WebProcessIDBDatabaseBackend::count):
3230         (WebKit::WebProcessIDBDatabaseBackend::deleteRange):
3231         (WebKit::WebProcessIDBDatabaseBackend::clear):
3232         (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection):
3233         (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend):
3234         * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added.
3235         (WebKit::WebProcessIDBDatabaseBackend::create):
3236
3237         Basic shared utilities that multiple processes will need going forward:
3238         * Shared/Databases/IndexedDB/IDBUtilities.cpp:
3239         (WebKit::uniqueDatabaseIdentifier):
3240         * Shared/Databases/IndexedDB/IDBUtilities.h:
3241
3242         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
3243         (WebKit::sharedDatabaseBackendMap):
3244         (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess
3245           when indexedDB.open() is called, even if it does nothing for now.
3246
3247         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
3248         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
3249
3250 2013-10-17  Attila Dusnoki  <h047679@stud.u-szeged.hu>
3251
3252         [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly.
3253         https://bugs.webkit.org/show_bug.cgi?id=122958
3254
3255         Reviewed by Tim Horton.
3256
3257         * WebProcess/WebPage/WebPage.cpp:
3258         (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added.
3259
3260 2013-10-17  Mark Rowe  <mrowe@apple.com>
3261
3262         <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running
3263         from the staged frameworks location.
3264
3265         Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH
3266         is set to YES. This is necessary because there's no way to specify environment variables
3267         to be used when an XPC service is launched.
3268
3269         Reviewed by Anders Carlsson.
3270
3271         * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the
3272         DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES.
3273         * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the
3274         value of OTHER_LDFLAGS.
3275         * Configurations/PluginService.32.xcconfig: Ditto.
3276         * Configurations/PluginService.64.xcconfig: Ditto.
3277
3278 2013-10-16  Tim Horton  <timothy_horton@apple.com>
3279
3280         Remote Layer Tree: Complete support for simple layer properties
3281         https://bugs.webkit.org/show_bug.cgi?id=122933
3282
3283         Reviewed by Anders Carlsson.
3284
3285         Add remote layer tree support for maskLayer, contentsRect, contentsScale,
3286         minificationFilter, magnificationFilter, speed, and timeOffset.
3287
3288         * Shared/mac/RemoteLayerTreeTransaction.h:
3289         * Shared/mac/RemoteLayerTreeTransaction.mm:
3290         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
3291         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3292         (WebKit::dumpProperty):
3293         (WebKit::dumpChangedLayers):
3294         Add the new properties.
3295
3296         * UIProcess/mac/RemoteLayerTreeHost.mm:
3297         (WebKit::toCAFilterType):
3298         (WebKit::RemoteLayerTreeHost::commit):
3299         Apply the new properties.
3300
3301         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3302         (PlatformCALayerRemote::setSublayers):
3303         (PlatformCALayerRemote::appendSublayer):
3304         (PlatformCALayerRemote::insertSublayer):
3305         Ensure that passed-in sublayers are always also PlatformCALayerRemote instances.
3306         These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast
3307         them to PlatformCALayerRemote.
3308
3309         (PlatformCALayerRemote::setMask):
3310         (PlatformCALayerRemote::setContentsRect):
3311         (PlatformCALayerRemote::setMinificationFilter):
3312         (PlatformCALayerRemote::setMagnificationFilter):
3313         (PlatformCALayerRemote::setSpeed):
3314         (PlatformCALayerRemote::setTimeOffset):
3315         (PlatformCALayerRemote::contentsScale):
3316         (PlatformCALayerRemote::setContentsScale):
3317         Remove setFrame, store the new properties.
3318
3319         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3320         Remove setFrame, add isRemote, fix pointer side on playerLayer.
3321
3322 2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>
3323
3324         Unreviewed build fix attempt on EFL port after r157520 and r157523
3325
3326         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3327         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
3328         Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error
3329         in EFL port.
3330
3331 2013-10-16  Anders Carlsson  <andersca@apple.com>
3332
3333         Remove Qt sandbox process code
3334         https://bugs.webkit.org/show_bug.cgi?id=122920
3335
3336         Reviewed by Geoffrey Garen.
3337
3338         This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.
3339
3340         * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
3341         * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.
3342
3343 2013-10-16  Jochen Eisinger  <jochen@chromium.org>
3344
3345         A page should exit fullscreen mode if it opens a new popup
3346         https://bugs.webkit.org/show_bug.cgi?id=122865
3347
3348         Reviewed by Jer Noble.
3349
3350         If a fullscreen page opens a popup, the popup would be hidden and
3351         therefore invisible to the user. To avoid this, exit fullscreen mode
3352         before opening a new window.
3353
3354         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3355         (WebKit::WebChromeClient::createWindow):
3356
3357 2013-10-16  Brady Eidson  <beidson@apple.com>
3358
3359         Blind attempt to fix non-DATABASE_PROCESS builds.
3360
3361         * WebProcess/WebProcess.cpp:
3362
3363 2013-10-16  Tim Horton  <timothy_horton@apple.com>
3364
3365         PlatformCALayer constructor should take layer type as an argument
3366         https://bugs.webkit.org/show_bug.cgi?id=122915
3367
3368         Reviewed by Simon Fraser.
3369
3370         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3371         (PlatformCALayerRemote::PlatformCALayerRemote):
3372         Use the new LayerType argument.
3373
3374 2013-10-16  Tim Horton  <timothy_horton@apple.com>
3375
3376         Remote Layer Tree: Use a default instead of an environment variable
3377         https://bugs.webkit.org/show_bug.cgi?id=122913
3378
3379         Reviewed by Anders Carlsson.
3380
3381         * UIProcess/API/mac/WKView.mm:
3382         (-[WKView std::WebKit::]):
3383         Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
3384         the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
3385         to indicate that WKViews should make RemoteLayerTreeDrawingAreas.
3386
3387 2013-10-15  Brady Eidson  <beidson@apple.com>
3388
3389         Flesh out the DatabaseProcess (and launch it!)
3390         https://bugs.webkit.org/show_bug.cgi?id=122884
3391
3392         Reviewed by Tim Horton.
3393
3394         This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.
3395
3396         It still does very little except exist.
3397
3398         Project file stuff:
3399         * WebKit2.xcodeproj/project.pbxproj:
3400         * DerivedSources.make:
3401
3402         WebContext owns the DatabaseProcess (much like the NetworkProcess):
3403         * UIProcess/WebContext.cpp:
3404         (WebKit::WebContext::ensureDatabaseProcess):
3405         (WebKit::WebContext::getDatabaseProcessConnection):
3406         * UIProcess/WebContext.h:
3407
3408         Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
3409         * DatabaseProcess/DatabaseProcess.cpp:
3410         (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
3411         * DatabaseProcess/DatabaseProcess.h:
3412         * DatabaseProcess/DatabaseProcess.messages.in: Added.
3413
3414         Add an object to represent a single connection to a single WebProcess:
3415         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
3416         (WebKit::DatabaseToWebProcessConnection::create):
3417         (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
3418         (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
3419         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
3420         (WebKit::DatabaseToWebProcessConnection::didClose):
3421         (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
3422         * DatabaseProcess/DatabaseToWebProcessConnection.h:
3423
3424         Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
3425         * UIProcess/Databases/DatabaseProcessProxy.cpp:
3426         (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
3427         (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
3428         (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
3429         (WebKit::DatabaseProcessProxy::didFinishLaunching):
3430         * UIProcess/Databases/DatabaseProcessProxy.h:
3431         * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.
3432
3433         Add an object to represent a WebProcess’s connection to a DatabaseProcess:
3434         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
3435         (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
3436         (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
3437         (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
3438         (WebKit::WebToDatabaseProcessConnection::didClose):
3439         (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
3440         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
3441         (WebKit::WebToDatabaseProcessConnection::create):
3442         (WebKit::WebToDatabaseProcessConnection::connection):
3443
3444         Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
3445         * WebProcess/WebProcess.cpp:
3446         (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
3447         (WebKit::WebProcess::webToDatabaseProcessConnection):
3448         (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
3449         * WebProcess/WebProcess.h:
3450         * UIProcess/WebProcessProxy.cpp:
3451         (WebKit::WebProcessProxy::getDatabaseProcessConnection):
3452         * UIProcess/WebProcessProxy.h:
3453         * UIProcess/WebProcessProxy.messages.in:
3454
3455         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
3456         (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.
3457
3458         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3459         (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.
3460
3461 2013-10-16  Tim Horton  <timothy_horton@apple.com>
3462
3463         RemoteLayerTree: Add support for more layer properties and transform layers
3464         https://bugs.webkit.org/show_bug.cgi?id=122906
3465
3466         Reviewed by Anders Carlsson.
3467
3468         Add support for name, border width, border color, opacity, transform, sublayer transform,
3469         hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.
3470
3471         Factor layer creation out from layer changes, so that we can create layers of the correct
3472         type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.
3473
3474         * Shared/WebCoreArgumentCoders.cpp:
3475         (CoreIPC::::encode):
3476         (CoreIPC::::decode):
3477         * Shared/WebCoreArgumentCoders.h:
3478         Add coders for TransformationMatrix.
3479
3480         * Shared/mac/RemoteLayerTreeTransaction.h:
3481         Add the new LayerChange values.
3482
3483         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
3484         LayerProperties::layerChanges should be a LayerChange.
3485
3486         (WebKit::RemoteLayerTreeTransaction::createdLayers):
3487         Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).
3488
3489         * Shared/mac/RemoteLayerTreeTransaction.mm:
3490         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
3491         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
3492         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
3493         Add (and support coding) a new LayerCreationProperties struct, which is currently
3494         just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.
3495
3496         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
3497         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3498         Encode and decode all of the new layer properties.
3499         Encode changedProperties as an enum, not an unsigned.
3500
3501         (WebKit::RemoteLayerTreeTransaction::encode):
3502         (WebKit::RemoteLayerTreeTransaction::decode):
3503         Encode and decode the list of newly created layers.
3504
3505         (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
3506         Setter for the list of newly created layers, which comes from the
3507         RemoteLayerTreeContext at commit time.
3508
3509         (WebKit::dumpProperty):
3510         Helper function to dump TransformationMatrix instances.
3511
3512         (WebKit::dumpChangedLayers):
3513         Dump all of the new layer properties.
3514
3515         (WebKit::RemoteLayerTreeTransaction::dump):
3516         Dump the list of newly created layers.
3517
3518         * UIProcess/mac/RemoteLayerTreeHost.h:
3519         * UIProcess/mac/RemoteLayerTreeHost.mm:
3520         (WebKit::cgColorFromColor):
3521         Factor out the code to make a CGColor from a WebCore::Color, as we need it
3522         for both border and background color.
3523
3524         (WebKit::RemoteLayerTreeHost::commit):
3525         Create layers before applying changes, using the new list of newly created layers.
3526         When applying changes, ensure that the layer we're interested in was already created.
3527         Rename "sublayer" to "layer", and use dot notation everywhere.
3528         Apply all the new layer properties to the layers.
3529
3530         (WebKit::RemoteLayerTreeHost::getLayer):
3531         (WebKit::RemoteLayerTreeHost::createLayer):
3532         Separate creating a new layer from retrieving it by ID.
3533         Ensure that a layer doesn't already exist when creating it.
3534         Support creating CATransformLayers.
3535
3536         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
3537         Disable accelerated animations, as we don't support proxying animations yet.
3538         This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.
3539
3540         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3541         (PlatformCALayerRemote::PlatformCALayerRemote):
3542         Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.
3543
3544         (PlatformCALayerRemote::removeFromSuperlayer):
3545         (PlatformCALayerRemote::replaceSublayer):
3546         (PlatformCALayerRemote::adoptSublayers):
3547         Assert when we hit a few critical unimplemented methods that would
3548         leave the layer tree in a broken state.
3549
3550         (PlatformCALayerRemote::isOpaque):
3551         (PlatformCALayerRemote::setOpaque):
3552         (PlatformCALayerRemote::transform):
3553         (PlatformCALayerRemote::setTransform):
3554         (PlatformCALayerRemote::sublayerTransform):
3555         (PlatformCALayerRemote::setSublayerTransform):
3556         (PlatformCALayerRemote::setHidden):
3557         (PlatformCALayerRemote::setGeometryFlipped):
3558         (PlatformCALayerRemote::isDoubleSided):
3559         (PlatformCALayerRemote::setDoubleSided):
3560         (PlatformCALayerRemote::masksToBounds):
3561         (PlatformCALayerRemote::setMasksToBounds):
3562         (PlatformCALayerRemote::setBorderWidth):
3563         (PlatformCALayerRemote::setBorderColor):
3564         (PlatformCALayerRemote::opacity):
3565         (PlatformCALayerRemote::setOpacity):
3566         (PlatformCALayerRemote::setName):
3567         Proxy all of these properties via RemoteLayerTreeTransaction.
3568
3569         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
3570         Add storage for the list of newly created layers.
3571         Use LayerID for the list of destroyed layers.
3572
3573         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
3574         (WebKit::RemoteLayerTreeContext::layerWasCreated):
3575         Store the ID and type of the newly created layer to be pushed to the UI process later.
3576
3577         (WebKit::RemoteLayerTreeContext::flushLayers):
3578         Push the created and destroyed layers to the transaction *after* flushing
3579         GraphicsLayers, so that any changes to e.g. structural layers will not be missed.
3580
3581 2013-10-16  Csaba Osztrogonác  <ossy@webkit.org>
3582
3583         [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system
3584         https://bugs.webkit.org/show_bug.cgi?id=110139
3585
3586         Reviewed by Laszlo Gombos.
3587
3588         Original patch by Balazs Kelemen <kbalazs@webkit.org>
3589
3590         * CMakeLists.txt:
3591         * PlatformEfl.cmake:
3592
3593 2013-10-16  Robert Plociennik  <r.plociennik@samsung.com>
3594
3595         [EFL] Minibrowser can't load child window's location
3596         https://bugs.webkit.org/show_bug.cgi?id=122485
3597
3598         Reviewed by Gyuyoung Kim.
3599
3600         EwkView::createNewPage(), which is only called during handling of
3601         Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes
3602         the URL to window_create(). As a result, no Messages::WebPage::LoadURL message
3603         is sent back, that would load the same URL twice and effectively cancel any
3604         other scheduled navigation inside WebProcess.
3605
3606         Additionally, since the url parameter in MiniBrowser's implementation of
3607         window_create() is only used internally and is prone to bugs as demonstrated
3608         in r139303 (d7f10c8), it has been removed in favour of explicit calls to
3609         ewk_view_url_set().
3610
3611         * UIProcess/API/efl/EwkView.cpp:
3612         (EwkView::createNewPage): No longer passes the URL to window_create() impl.
3613         * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter.
3614         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to
3615             comply with the API change.
3616         (EWK2WindowFeaturesTest::createDefaultWindow): Ditto.
3617         (EWK2WindowFeaturesTest::createWindow): Ditto.
3618
3619 2013-10-15  Jae Hyun Park  <jae.park@company100.net>
3620
3621         Unreviewed. Build fix after r157476.
3622
3623         * GNUmakefile.am:
3624
3625 2013-10-15  Sergio Correia  <sergio.correia@openbossa.org>
3626
3627         [EFL][WK2] Make SeccompFilters build again after r156349 and r156353
3628         https://bugs.webkit.org/show_bug.cgi?id=122872
3629
3630         Reviewed by Anders Carlsson.
3631
3632         * Shared/linux/SeccompFilters/SeccompBroker.cpp:
3633         (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create'
3634         methods of ArgumentEncoder/ArgumentDecoder.
3635         (WebKit::SeccompBroker::runLoop): Ditto.
3636
3637 2013-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>
3638
3639         Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders.
3640         https://bugs.webkit.org/show_bug.cgi?id=122875
3641
3642         Reviewed by Gyuyoung Kim.
3643
3644         Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478
3645         and it caused redefinition build error in EFL port.
3646
3647         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3648         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
3649
3650 2013-10-15  Dean Jackson  <dino@apple.com>
3651
3652         Add ENABLE_WEB_ANIMATIONS flag
3653         https://bugs.webkit.org/show_bug.cgi?id=122871
3654
3655         Reviewed by Tim Horton.
3656
3657         Eventually might be http://dev.w3.org/fxtf/web-animations/
3658         but this is just engine-internal work at the moment.
3659
3660         * Configurations/FeatureDefines.xcconfig:
3661
3662 2013-10-15  Tim Horton  <timothy_horton@apple.com>
3663
3664         Add a PlatformCALayer subclass that proxies its property changes across the process boundary
3665         https://bugs.webkit.org/show_bug.cgi?id=122773
3666
3667         Reviewed by Anders Carlsson.
3668
3669         PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends
3670         to enable cross-process proxying of the hierarchy of compositing layers.
3671
3672         In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s).
3673         Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer),
3674         PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of
3675         which properties have changed since the last commit. Commits are scheduled and performed by
3676         RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in
3677         RemoteLayerTreeTransaction encoding said property changes and throwing them across
3678         to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there.
3679
3680         This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA
3681         environment variable set.
3682
3683         * Shared/WebCoreArgumentCoders.cpp:
3684         (CoreIPC::decode):
3685         (CoreIPC::encode):
3686         * Shared/WebCoreArgumentCoders.h:
3687         Add argument coders for FloatPoint3D.
3688
3689         * Shared/mac/RemoteLayerTreeTransaction.h:
3690         (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
3691         (WebKit::RemoteLayerTreeTransaction::changedLayers):
3692         (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
3693         * Shared/mac/RemoteLayerTreeTransaction.mm:
3694         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
3695         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3696         (WebKit::RemoteLayerTreeTransaction::decode):
3697         (WebKit::dumpChangedLayers):
3698         Add support for background color and anchor point in the layer transaction.
3699         Make layer position a 3D point because that's what it really is.
3700
3701         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
3702         The logic in layerPropertiesChanged is moved into PlatformCALayerRemote.
3703
3704         * UIProcess/WebPageProxy.h:
3705         Include PlatformLayer.h; it seems annoying to successfully forward-declare
3706         PlatformLayer because of the difference in definition between Objective-C and C++.
3707         Drive-by un-indent some namespace contents and use OBJC_CLASS.
3708
3709         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
3710         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
3711         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
3712         (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
3713         (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry):
3714         (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
3715         Send geometry updates to the RemoteLayerTreeDrawingArea.
3716
3717         * UIProcess/mac/RemoteLayerTreeHost.h:
3718         * UIProcess/mac/RemoteLayerTreeHost.mm:
3719         (nullActionsDictionary):
3720         (WebKit::RemoteLayerTreeHost::commit):
3721         Apply layer property changes to the named sublayer.
3722
3723         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
3724         Create CALayers instead of GraphicsLayers.
3725         Ensure that they won't perform implicit animations.
3726
3727         * UIProcess/mac/WebPageProxyMac.mm:
3728         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
3729         This should take a PlatformLayer instead of a GraphicsLayer, since we don't have
3730         GraphicsLayers in the UIProcess.
3731
3732         * WebKit2.xcodeproj/project.pbxproj:
3733         Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer.
3734
3735         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed.
3736         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed.
3737
3738         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
3739         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
3740         (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
3741         (WebKit::RemoteLayerTreeContext::setRootLayer):
3742         (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
3743         (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
3744         (WebKit::RemoteLayerTreeContext::flushLayers):
3745         Build our transaction while flushing; it has no reason to exist outside of that scope.
3746
3747         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3748         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3749         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
3750         (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
3751         (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
3752         (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
3753         (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
3754         Fix a capitalization typo.
3755         Update the WebPage's (and thus WebCore's) size when updateGeometry() is called.
3756
3757         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added.
3758         (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote):
3759         (WebKit::GraphicsLayerCARemote::filtersCanBeComposited):
3760         (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
3761         Added. Delegate to PlatformCALayerRemote. Don't allow creation of a
3762         GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing,
3763         there should be no PlatformLayer instances in the Web process.
3764
3765         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added.
3766         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added.
3767         (generateLayerID):
3768         Generate a layer ID for identification across processes.
3769
3770         (PlatformCALayerRemote::~PlatformCALayerRemote):
3771         Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey
3772         that information to the UI process and the corresponding CALayer can be destroyed.
3773
3774         (PlatformCALayerRemote::recursiveBuildTransaction):
3775         Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction.
3776
3777         The rest of this file is mostly an empty implementation of PlatformCALayer.
3778         A few properties are implemented so far; see below.
3779
3780         (PlatformCALayerRemote::setSublayers):
3781         (PlatformCALayerRemote::removeAllSublayers):
3782         (PlatformCALayerRemote::appendSublayer):
3783         (PlatformCALayerRemote::insertSublayer):
3784         Update our list of sublayers, and note that our children have changed.
3785         recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction.
3786
3787         (PlatformCALayerRemote::bounds):
3788         (PlatformCALayerRemote::setBounds):
3789         (PlatformCALayerRemote::position):
3790         (PlatformCALayerRemote::setPosition):
3791         (PlatformCALayerRemote::anchorPoint):
3792         (PlatformCALayerRemote::setAnchorPoint):
3793         (PlatformCALayerRemote::backgroundColor):
3794         (PlatformCALayerRemote::setBackgroundColor):
3795         Trivial implementations of basic layer properties, storing the new state in
3796         our LayerProperties struct and noting that they changed in the current commit.
3797         Properties with getters will return the last value that was set on the LayerProperties,
3798         so we don't clear the whole struct at the end of the transaction, just the mask of changed properties.
3799
3800         * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added.
3801
3802 2013-10-15  Brady Eidson  <beidson@apple.com>
3803
3804         Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB
3805
3806         Rubberstamped by Alexey Proskuryakov.
3807
3808         * CMakeLists.txt:
3809         * GNUmakefile.list.am:
3810         * WebKit2.xcodeproj/project.pbxproj:
3811
3812         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp.
3813         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h.
3814
3815 2013-10-15  Brady Eidson  <beidson@apple.com>
3816
3817         Add a skeleton Database process for future usage by Indexed Database.
3818         https://bugs.webkit.org/show_bug.cgi?id=122849
3819
3820         Reviewed by Sam Weinig.
3821
3822         This mostly our typical "Add a new process type" boilerplate.
3823
3824         * Configurations/DatabaseProcess.xcconfig: Added.
3825         * Configurations/DatabaseService.Development.xcconfig: Added.
3826         * Configurations/DatabaseService.xcconfig: Added.
3827         * WebKit2.xcodeproj/project.pbxproj:
3828         * WebKit2Prefix.h:
3829
3830         * DatabaseProcess/DatabaseProcess.cpp: Added.
3831         (WebKit::DatabaseProcess::shared):
3832         (WebKit::DatabaseProcess::DatabaseProcess):
3833         (WebKit::DatabaseProcess::~DatabaseProcess):
3834         (WebKit::DatabaseProcess::initializeConnection):
3835         (WebKit::DatabaseProcess::shouldTerminate):
3836         (WebKit::DatabaseProcess::didReceiveMessage):
3837         (WebKit::DatabaseProcess::didClose):
3838         (WebKit::DatabaseProcess::didReceiveInvalidMessage):
3839         (WebKit::DatabaseProcess::initializeProcess):
3840         (WebKit::DatabaseProcess::initializeProcessName):
3841         (WebKit::DatabaseProcess::initializeSandbox):
3842         * DatabaseProcess/DatabaseProcess.h: Added.
3843
3844         * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
3845         (DatabaseProcessMain):
3846         * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
3847         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
3848         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
3849         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
3850         (DatabaseServiceInitializer):
3851
3852         * DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
3853         (WebKit::DatabaseProcess::initializeProcess):
3854         (WebKit::DatabaseProcess::initializeProcessName):
3855         (WebKit::DatabaseProcess::initializeSandbox):
3856         * UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
3857         (WebKit::DatabaseProcessProxy::create):
3858         (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
3859         (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
3860         (WebKit::DatabaseProcessProxy::getLaunchOptions):
3861         (WebKit::DatabaseProcessProxy::connectionWillOpen):
3862         (WebKit::DatabaseProcessProxy::connectionWillClose):
3863         (WebKit::DatabaseProcessProxy::didReceiveMessage):
3864         (WebKit::DatabaseProcessProxy::didClose):
3865         (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
3866         (WebKit::DatabaseProcessProxy::didFinishLaunching):
3867         * UIProcess/Databases/DatabaseProcessProxy.h: Added.
3868         * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
3869         (WebKit::shouldUseXPC):
3870         (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
3871
3872         * UIProcess/Launcher/ProcessLauncher.cpp:
3873         (WebKit::ProcessLauncher::processTypeAsString):
3874         (WebKit::ProcessLauncher::getProcessTypeFromString):
3875         * UIProcess/Launcher/ProcessLauncher.h:
3876         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3877         (WebKit::serviceName):
3878         (WebKit::createProcess):
3879
3880 2013-10-14  Csaba Osztrogonác  <ossy@webkit.org>
3881
3882         [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings.
3883         https://bugs.webkit.org/show_bug.cgi?id=118388
3884
3885         Reviewed by Carlos Garcia Campos.
3886
3887         Original patch by Kwang Yul Seo <skyul@company100.net> .
3888
3889         Proxy configuration should honor the no_proxy environment variable
3890         same to WebProcess. It is necessary not to change the current behaviour.
3891         See https://bugs.webkit.org/show_bug.cgi?id=91747 for details.
3892
3893         The following things were fixed by Csaba Osztrogonác:
3894         - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343
3895         - added GRefPtr.h include
3896         - fixed ifdef guards
3897
3898         * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
3899         (WebKit::NetworkProcessMain):
3900         Copied from WebProcessMainEfl.cpp.
3901
3902 2013-10-13  Darin Adler  <darin@apple.com>
3903
3904         Deprecate or remove deleteAllValues functions; there are only a few call sites left
3905         https://bugs.webkit.org/show_bug.cgi?id=122738
3906
3907         Reviewed by Anders Carlsson.
3908
3909         * Shared/Plugins/NPRemoteObjectMap.cpp:
3910         (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
3911         deprecatedDeleteAllValues.
3912
3913 == Rolled over to ChangeLog-2013-10-13 ==