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