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