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