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