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