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