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