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