[Mac] Update AirPlay handling
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-03-11  Eric Carlson  <eric.carlson@apple.com>
2
3         [Mac] Update AirPlay handling
4         https://bugs.webkit.org/show_bug.cgi?id=142541
5
6         Reviewed by Sam Weinig.
7
8         * Shared/WebCoreArgumentCoders.h:
9         * Shared/mac/WebCoreArgumentCodersMac.mm:
10         (IPC::ArgumentCoder<AVPlaybackTarget>::encode):
11         (IPC::ArgumentCoder<AVPlaybackTarget>::decode):
12         * UIProcess/PageClient.h:
13         * UIProcess/WebAVPlaybackTargetPickerProxy.cpp: Added.
14         (WebKit::WebAVPlaybackTargetPickerProxy::WebAVPlaybackTargetPickerProxy):
15         (WebKit::WebAVPlaybackTargetPickerProxy::~WebAVPlaybackTargetPickerProxy):
16         (WebKit::WebAVPlaybackTargetPickerProxy::showPlaybackTargetPicker):
17         (WebKit::WebAVPlaybackTargetPickerProxy::startingMonitoringPlaybackTargets):
18         (WebKit::WebAVPlaybackTargetPickerProxy::stopMonitoringPlaybackTargets):
19         * UIProcess/WebAVPlaybackTargetPickerProxy.h: Added.
20         (WebKit::WebAVPlaybackTargetPickerProxy::Client::~Client):
21         * UIProcess/WebPageProxy.cpp:
22         (WebKit::WebPageProxy::devicePickerProxy):
23         (WebKit::WebPageProxy::showPlaybackTargetPicker):
24         (WebKit::WebPageProxy::startingMonitoringPlaybackTargets):
25         (WebKit::WebPageProxy::stopMonitoringPlaybackTargets):
26         (WebKit::WebPageProxy::didChoosePlaybackTarget):
27         (WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange):
28         * UIProcess/WebPageProxy.h:
29         * UIProcess/WebPageProxy.messages.in:
30         * UIProcess/mac/PageClientImpl.h:
31         * UIProcess/mac/PageClientImpl.mm:
32         (WebKit::PageClientImpl::createPlaybackTargetPicker):
33         * UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.h: Added.
34         * UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.mm: Added.
35         (WebKit::WebAVPlaybackTargetPickerProxyMac::create):
36         (WebKit::WebAVPlaybackTargetPickerProxyMac::WebAVPlaybackTargetPickerProxyMac):
37         (WebKit::WebAVPlaybackTargetPickerProxyMac::~WebAVPlaybackTargetPickerProxyMac):
38         (WebKit::WebAVPlaybackTargetPickerProxyMac::outputeDeviceAvailabilityChangedTimerFired):
39         (WebKit::WebAVPlaybackTargetPickerProxyMac::availableDevicesDidChange):
40         (WebKit::WebAVPlaybackTargetPickerProxyMac::devicePicker):
41         (WebKit::WebAVPlaybackTargetPickerProxyMac::showPlaybackTargetPicker):
42         (WebKit::WebAVPlaybackTargetPickerProxyMac::currentDeviceDidChange):
43         (WebKit::WebAVPlaybackTargetPickerProxyMac::startingMonitoringPlaybackTargets):
44         (WebKit::WebAVPlaybackTargetPickerProxyMac::stopMonitoringPlaybackTargets):
45         (-[WebAVOutputDevicePickerMenuControllerHelper initWithCallback:]):
46         (-[WebAVOutputDevicePickerMenuControllerHelper clearCallback]):
47         (-[WebAVOutputDevicePickerMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]):
48         * WebKit2.xcodeproj/project.pbxproj:
49         * WebProcess/WebCoreSupport/WebAVPlaybackTargetPicker.cpp: Added.
50         (WebKit::WebAVPlaybackTargetPicker::WebAVPlaybackTargetPicker):
51         (WebKit::WebAVPlaybackTargetPicker::showPlaybackDevicePicker):
52         (WebKit::WebAVPlaybackTargetPicker::configureWireLessTargetMonitoring):
53         (WebKit::WebAVPlaybackTargetPicker::addClient):
54         (WebKit::WebAVPlaybackTargetPicker::removeClient):
55         (WebKit::WebAVPlaybackTargetPicker::didChoosePlaybackTarget):
56         (WebKit::WebAVPlaybackTargetPicker::playbackTargetAvailabilityDidChange):
57         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
58         (WebKit::WebChromeClient::showPlaybackTargetPicker):
59         (WebKit::WebChromeClient::startingMonitoringPlaybackTargets):
60         (WebKit::WebChromeClient::stopMonitoringPlaybackTargets):
61         * WebProcess/WebCoreSupport/WebChromeClient.h:
62         * WebProcess/WebPage/WebPage.h:
63         * WebProcess/WebPage/WebPage.messages.in:
64         * WebProcess/WebPage/mac/WebPageMac.mm:
65         (WebKit::WebPage::playbackTargetSelected):
66         (WebKit::WebPage::playbackTargetAvailabilityDidChange):
67         * WebProcess/com.apple.WebProcess.sb.in:
68
69 2015-03-11  Myles C. Maxfield  <mmaxfield@apple.com>
70
71         Fix the build
72
73         Unreviewed.
74
75         * Shared/Downloads/mac/DownloadMac.mm:
76         (WebKit::Download::start):
77         (WebKit::Download::resume):
78
79 2015-03-10  Sam Weinig  <sam@webkit.org>
80
81         Allow adding a button in input elements for auto fill related functionality
82         <rdar://problem/19782066>
83         https://bugs.webkit.org/show_bug.cgi?id=142564
84
85         Reviewed by Anders Carlsson.
86
87         - Adds new SPI to respond to clicks on the AutoFill button (both bundle and UIProcess).
88         - Adds new SPI to enable/disable the display of the AutoFill button on an element.
89         - Adds new SPI to get the bounds of the AutoFill button.
90         - Updates spelling of AutoFill to be consistent.
91
92         * UIProcess/API/APIUIClient.h:
93         (API::UIClient::didClickAutoFillButton):
94         * UIProcess/API/C/WKPage.cpp:
95         (WKPageSetPageUIClient):
96         * UIProcess/API/C/WKPageUIClient.h:
97         * UIProcess/WebPageProxy.cpp:
98         (WebKit::WebPageProxy::handleAutoFillButtonClick):
99         * UIProcess/WebPageProxy.h:
100         * UIProcess/WebPageProxy.messages.in:
101         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
102         (API::InjectedBundle::PageUIClient::didClickAutoFillButton):
103         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
104         (WebKit::InjectedBundlePageUIClient::didClickAutoFillButton):
105         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
106         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
107         (WebKit::WebChromeClient::handleAutoFillButtonClick):
108         * WebProcess/WebCoreSupport/WebChromeClient.h:
109         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
110         Pipe the didClickAutoFillButton to the SPI layer.
111
112         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
113         (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]):
114         (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]):
115         Update for new spelling of AutoFill.
116
117         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
118         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
119         (WKBundleNodeHandleGetHTMLInputElementAutoFilled):
120         (WKBundleNodeHandleSetHTMLInputElementAutoFilled):
121         Added. Replaces WKBundleNodeHandleGetHTMLInputElementAutofilled/WKBundleNodeHandleSetHTMLInputElementAutofilled
122         which are now deprecated due to inconsistent spelling of AutoFill.
123
124         (WKBundleNodeHandleGetHTMLInputElementAutoFillButtonEnabled):
125         (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled):
126         (WKBundleNodeHandleGetHTMLInputElementAutoFillButtonBounds):
127         Added.
128
129         (WKBundleNodeHandleGetHTMLInputElementAutofilled):
130         (WKBundleNodeHandleSetHTMLInputElementAutofilled):
131         Deprecated.
132
133         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
134         (WebKit::InjectedBundleNodeHandle::getOrCreate):
135         (WebKit::InjectedBundleNodeHandle::create):
136         (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
137         (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
138         (WebKit::InjectedBundleNodeHandle::coreNode):
139         (WebKit::InjectedBundleNodeHandle::document):
140         (WebKit::InjectedBundleNodeHandle::elementBounds):
141         (WebKit::InjectedBundleNodeHandle::renderRect):
142         (WebKit::InjectedBundleNodeHandle::renderedImage):
143         (WebKit::InjectedBundleNodeHandle::visibleRange):
144         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
145         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFilled):
146         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFilled):
147         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled):
148         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabled):
149         (WebKit::InjectedBundleNodeHandle::htmlInputElementAutoFillButtonBounds):
150         (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
151         (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
152         (WebKit::InjectedBundleNodeHandle::isTextField):
153         (WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
154         (WebKit::InjectedBundleNodeHandle::documentFrame):
155         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
156         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
157         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled): Deleted.
158         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled): Deleted.
159         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
160         Fix-up InjectedBundleNodeHandle to store its underlying Node in a Ref, rather than a RefPtr.
161         Add helpers to implement the new SPI for WKBundleNodeHandleRef.
162
163 2015-03-11  Timothy Horton  <timothy_horton@apple.com>
164
165         Make it possible to zoom on pages that claim to lay out to device size and then fail to do so
166         https://bugs.webkit.org/show_bug.cgi?id=142549
167
168         Reviewed by Simon Fraser.
169
170         * Shared/WebPreferencesDefinitions.h:
171         * WebProcess/WebPage/WebPage.cpp:
172         (WebKit::WebPage::updatePreferences):
173         Flip the pref on by default.
174
175 2015-03-11  Carlos Garcia Campos  <cgarcia@igalia.com>
176
177         [GTK] Do not look for child processes in the UI process binary path
178         https://bugs.webkit.org/show_bug.cgi?id=135752
179
180         Reviewed by Gustavo Noronha Silva.
181
182         It's only useful for internal tools and tests, but never when
183         installed, since we don't install the processes in the bin dir but
184         in the libexec dir.
185
186         * Shared/gtk/ProcessExecutablePathGtk.cpp:
187         (WebKit::findWebKitProcess): Only look or the executables in the
188         UI process binary path or WEBKIT_EXEC_PATH for development builds.
189         * UIProcess/API/gtk/WebKitWebContext.cpp:
190         (injectedBundleDirectory): Only check
191         WEBKIT_INJECTED_BUNDLE_PATH env var for development builds.
192
193 2015-03-10  Antti Koivisto  <antti@apple.com>
194
195         Add interface to delete disk cache entries
196         https://bugs.webkit.org/show_bug.cgi?id=142546
197
198         Reviewed by Anders Carlsson.
199
200         * NetworkProcess/cache/NetworkCache.cpp:
201         (WebKit::NetworkCache::Cache::remove):
202         * NetworkProcess/cache/NetworkCache.h:
203         * NetworkProcess/cache/NetworkCacheStorage.cpp:
204         (WebKit::NetworkCache::Storage::Storage):
205         (WebKit::NetworkCache::Storage::remove):
206
207             Move deletion to a serial queue so we can't create large number of threads.
208
209         (WebKit::NetworkCache::Storage::dispatchReadOperation):
210         (WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation):
211         (WebKit::NetworkCache::Storage::removeEntry): Deleted.
212         * NetworkProcess/cache/NetworkCacheStorage.h:
213         (WebKit::NetworkCache::Storage::deleteQueue):
214
215 2015-03-10  Chris Dumez  <cdumez@apple.com>
216
217         5 tests fail on Apple Mac WK2 performance bots
218         https://bugs.webkit.org/show_bug.cgi?id=142485
219
220         Reviewed by Andreas Kling.
221
222         Only log errors in debug builds if SandboxExtension::createHandle() fails
223         so that performance tests don't fail because of it. Such error is not
224         fatal and is expected under certain circumstances. In particular,
225         SandboxExtension::createHandle() is sometimes called for non-existing
226         files (e.g. from NetworkResourceLoadParameters::encode()).
227
228         * Shared/mac/SandboxExtensionMac.mm:
229         (WebKit::SandboxExtension::createHandle):
230
231 2015-03-10  Timothy Horton  <timothy_horton@apple.com>
232
233         Fix the build
234
235         * Shared/Downloads/ios/DownloadIOS.mm:
236         (WebKit::Download::startWithHandle):
237         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
238         (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
239
240 2015-03-10  Carlos Garcia Campos  <cgarcia@igalia.com>
241
242         [GTK] Contents not shown when entering AC mode unless the window is resized
243         https://bugs.webkit.org/show_bug.cgi?id=142347
244
245         Reviewed by Žan Doberšek.
246
247         The problem is once again that we are now creating the redirected
248         X window in realize method. When entering AC mode we resize the
249         redirected window to the drawing area size. Since the size hasn't
250         changed from the drawing area point of view, the web process is
251         not notified. The WebProcess always uses the window size, instead
252         of the root layer size, to make sure it's in sync, see the comment
253         in LayerTreeHostGtk::compositeLayersToContext(). So, we need to
254         enforce a resize when we change the size of the redirected window
255         when entering AC mode.
256
257         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
258         (webkitWebViewBaseEnterAcceleratedCompositingMode):
259         * UIProcess/DrawingAreaProxyImpl.h:
260         (WebKit::DrawingAreaProxyImpl::forceResize):
261
262 2015-03-10  Csaba Osztrogonác  <ossy@webkit.org>
263
264         [cmake] Handle unused parameter warnings as build errors except in WebKit2
265         https://bugs.webkit.org/show_bug.cgi?id=142338
266
267         Reviewed by Gyuyoung Kim.
268
269         * CMakeLists.txt:
270
271 2015-03-10  Dan Bernstein  <mitz@apple.com>
272
273         WebKit2 part of <rdar://problem/20086546> [Cocoa] Add an option to treat certificate chains with SHA1-signed certificates as insecure
274         https://bugs.webkit.org/show_bug.cgi?id=142461
275
276         Reviewed by Sam Weinig.
277
278         * UIProcess/API/Cocoa/WKWebView.mm:
279         (-[WKWebView initWithFrame:configuration:]): Initialize
280         webPageConfiguration.treatsSHA1SignedCertificatesAsInsecure from the WKWebViewConfiguration.
281
282         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
283         Added _treatsSHA1SignedCertificatesAsInsecure ivar.
284         (-[WKWebViewConfiguration copyWithZone:]): Copy _treatsSHA1SignedCertificatesAsInsecure.
285         (-[WKWebViewConfiguration _treatsSHA1SignedCertificatesAsInsecure]): Added this getter.
286         (-[WKWebViewConfiguration _setTreatsSHA1SignedCertificatesAsInsecure:]): Added this setter.
287
288         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared new
289         _treatsSHA1SignedCertificatesAsInsecure property.
290
291         * UIProcess/PageLoadState.cpp:
292         (WebKit::PageLoadState::didCommitLoad): Use new hasInsecureContent parameter to initialize
293         hasInsecureContent parameter in the uncommitted state.
294         * UIProcess/PageLoadState.h:
295
296         * UIProcess/WebPageProxy.cpp:
297         (WebKit::WebPageProxy::WebPageProxy): Initialize new m_treatsSHA1CertificatesAsInsecure
298         member variable from the WebPageConfiguration.
299         (WebKit::WebPageProxy::didCommitLoadForFrame): Pass true for the new hasInsecureContent to
300         PageLoadState::didCommitLoad if we are treating SHA1-signed certificates as insecure and
301         the certificate info contains a non-root SHA1-signed certificate.
302         * UIProcess/WebPageProxy.h: Added m_treatsSHA1CertificatesAsInsecure member variable.
303
304 2015-03-09  Geoffrey Garen  <ggaren@apple.com>
305
306         bmalloc: tryFastMalloc shouldn't crash
307         https://bugs.webkit.org/show_bug.cgi?id=142443
308
309         Reviewed by Anders Carlsson.
310
311         Part 1: Stop using tryFastRealloc.
312
313         * Shared/ShareableBitmap.cpp:
314         (WebKit::ShareableBitmap::resize): Deleted.
315         * Shared/ShareableBitmap.h: Removed the resize function because it has
316         no clients.
317
318         * WebProcess/Plugins/PluginProxy.cpp:
319         (WebKit::PluginProxy::updateBackingStore): Changed to allocate a new
320         backing store instead of resizing the old one. This has three advantages:
321
322         (1) Might be more memory-efficient, since you don't have to keep the old
323         one around while allocating the new one.
324
325         (2) Avoids the overhead of realloc() copying the contents of the old
326         backing store even though we only want uninitialized memory.
327
328         (3) Makes resize failure consistent with initial allocation failure.
329         Previously, while initial allocation failure would set the backing store
330         to null, resize failure would keep the old wrong backing store and then
331         tell it not to paint. Now, resize failure also sets the backing store to
332         null.
333
334 2015-03-09  Martin Robinson  <mrobinson@igalia.com>
335
336         [EFL] Move DispatchQueue to WTF
337         https://bugs.webkit.org/show_bug.cgi?id=142493
338
339         Reviewed by Csaba Osztrogonác.
340
341         * PlatformEfl.cmake: Remove DispatchQueue from the source list.
342
343 2015-03-08  Dean Jackson  <dino@apple.com>
344
345         [iOS Media] Video buffer progress missing on iPhones
346         https://bugs.webkit.org/show_bug.cgi?id=142462
347
348         Reviewed by Eric Carlson.
349
350         Coordinate the SetBufferedTime message between the Web and UI
351         processes.
352
353         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: New message SetBufferedTime.
354         * WebProcess/ios/WebVideoFullscreenManager.h:
355         * WebProcess/ios/WebVideoFullscreenManager.mm:
356         (WebKit::WebVideoFullscreenManager::setBufferedTime):
357
358 2015-03-08  Sam Weinig  <sam@webkit.org>
359
360         [Content Extensions] Add scaffolding for the WKUserContentExtensionStore
361         https://bugs.webkit.org/show_bug.cgi?id=142464
362
363         Reviewed by Dan Bernstein.
364
365         * Shared/API/APIObject.h:
366         Add a UserContentExtensionStore type and move the UserContentExtension type into the correct section (UIProcess).
367
368         * Shared/API/c/WKBase.h:
369         Add the WKUserContentExtensionStoreRef C-SPI type.
370
371         * Shared/Cocoa/APIObject.mm:
372         (API::Object::newObject):
373         Add allocation support for UserContentExtensionStore (and UserContentExtension while we are there, it will be
374         needed shortly).
375
376         * UIProcess/API/APIUserContentExtensionStore.cpp: Added.
377         (API::UserContentExtensionStore::UserContentExtensionStore):
378         (API::UserContentExtensionStore::~UserContentExtensionStore):
379         * UIProcess/API/APIUserContentExtensionStore.h: Added.
380         Stub out the UserContentExtensionStore.
381
382         * UIProcess/API/C/WKAPICast.h:
383         Add casting for the UserContentExtensionStore.
384
385         * UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: Added.
386         (WKUserContentExtensionStoreGetTypeID):
387         * UIProcess/API/C/WKUserContentExtensionStoreRef.h: Added.
388         * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h: Added.
389         * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: Added.
390         (-[_WKUserContentExtensionStore init]):
391         (-[_WKUserContentExtensionStore dealloc]):
392         (-[_WKUserContentExtensionStore _apiObject]):
393         * UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: Added.
394         (WebKit::wrapper):
395         Stub out SPI for the UserContentExtensionStore.
396
397         * WebKit2.xcodeproj/project.pbxproj:
398         * CMakeLists.txt:
399         Add new files.
400
401 2015-03-08  Sam Weinig  <sam@webkit.org>
402
403         AX: Expose a frame's accessible name through WK2 C SPI
404         <rdar://problem/19653068>
405         https://bugs.webkit.org/show_bug.cgi?id=142468
406
407         Reviewed by Dan Bernstein.
408
409         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
410         (WKBundleFrameSetAccessibleName):
411         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
412         * WebProcess/WebPage/WebFrame.cpp:
413         (WebKit::WebFrame::setAccessibleName):
414         * WebProcess/WebPage/WebFrame.h:
415         Add SPI to set a frame's accessible name. This matches the Legacy WebKit SPI -[WebFrame setAccessibleName:]. 
416
417 2015-03-08  Sam Weinig  <sam@webkit.org>
418
419         [Content Extensions] Pass compiled content extensions as read-only shared memory rather than copying them
420         https://bugs.webkit.org/show_bug.cgi?id=142458
421
422         Reviewed by Dan Bernstein.
423
424         * Shared/WebCompiledContentExtensionData.cpp:
425         (WebKit::WebCompiledContentExtensionData::encode):
426         (WebKit::WebCompiledContentExtensionData::decode):
427         * Shared/WebCompiledContentExtensionData.h:
428         (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
429         Store the compiled data as a SharedMemory block with offset/size pairs for the
430         bytecode and actions. While the bytecode offset is currently always 0, this won't
431         be the case when we map these in from files due to metadata that will be placed
432         at the top of the files.
433
434         * Shared/WebCompiledContentExtension.h:
435         * Shared/WebCompiledContentExtension.cpp:
436         (WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData):
437         Temporary creation helper. In subsequent patches, this will be removed and replaced
438         by always passing in shared/mapped data.
439
440         (WebKit::WebCompiledContentExtension::create):
441         (WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
442         (WebKit::WebCompiledContentExtension::bytecode):
443         (WebKit::WebCompiledContentExtension::bytecodeLength):
444         (WebKit::WebCompiledContentExtension::actions):
445         (WebKit::WebCompiledContentExtension::actionsLength):
446         Convert to work with the new WebCompiledContentExtension format.
447         
448         * UIProcess/API/C/WKUserContentFilterRef.cpp:
449         (WKUserContentFilterCreate):
450         * UIProcess/API/Cocoa/_WKUserContentFilter.mm:
451         (-[_WKUserContentFilter initWithName:serializedRules:]):
452         Switch to using WebCompiledContentExtension::createFromCompiledContentExtensionData().
453
454         * WebProcess/UserContent/WebUserContentController.cpp:
455         (WebKit::WebUserContentController::addUserContentExtensions):
456         * WebProcess/WebPage/WebPageGroupProxy.cpp:
457         (WebKit::WebPageGroupProxy::addUserContentExtension):
458         Update to pass the WebCompiledContentExtensionData directly to the WebCompiledContentExtension.
459
460 2015-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
461
462         Remove willDestroyFrame in WKBundlePageLoaderClient
463         https://bugs.webkit.org/show_bug.cgi?id=142389
464
465         Reviewed by Anders Carlsson.
466
467         I added willDestroyFrame in r154540 but I realized recently that
468         it has never actually worked. Adding the callback to
469         WKBundlePageLoaderClient was the first mistake, since frames are
470         handled by WebProcess and DidDestroyFrame message is indeed a
471         WebProcessProxy not a WebPageProxy one. Second mistake was calling
472         the callback from WebFrameLoaderClient::frameLoaderDestroyed(),
473         since at that point the frame has already been detached from the
474         page and so WebFrame::page() always returns nullptr. So, this in
475         fact dead code and since r180211 nobody is using it.
476
477         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
478         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
479         (webkitWebPageCreate): Use verion 6 instead of version 7 of loader client.
480         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
481         (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): Deleted.
482         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
483         (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
484
485 2015-03-06  Sam Weinig  <sam@webkit.org>
486
487         [Content Extensions] Move compiling of content extensions to the UIProcess
488         https://bugs.webkit.org/show_bug.cgi?id=142402
489
490         Reviewed by Benjamin Poulain.
491
492         * Shared/API/APIObject.h:
493         Rename UserContentFilter type to UserContentExtension to match new unified naming.
494
495         * Shared/WebCompiledContentExtension.cpp: Added.
496         (WebKit::WebCompiledContentExtension::create):
497         (WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
498         (WebKit::WebCompiledContentExtension::~WebCompiledContentExtension):
499         (WebKit::WebCompiledContentExtension::bytecode):
500         (WebKit::WebCompiledContentExtension::bytecodeLength):
501         (WebKit::WebCompiledContentExtension::actions):
502         (WebKit::WebCompiledContentExtension::actionsLength):
503         * Shared/WebCompiledContentExtension.h: Added.
504         Add new WebKit2 implementation of CompiledContentExtension. Right now it is the same as the old
505         WebCore based CompiledContentExtension, but in subsequent patches, it will use shared/file backed
506         memory.
507
508         * Shared/WebCompiledContentExtensionData.cpp: Added.
509         (WebKit::WebCompiledContentExtensionData::encode):
510         (WebKit::WebCompiledContentExtensionData::decode):
511         * Shared/WebCompiledContentExtensionData.h: Added.
512         Add encodable/decodable holder for the compiled content extension data for use in IPC. Right
513         now it is doing the naive thing and always copying the data, but in subsequent patches, it will
514         use shared/file backed memory.
515
516         * Shared/WebPageGroupData.cpp:
517         (WebKit::WebPageGroupData::encode):
518         (WebKit::WebPageGroupData::decode):
519         * Shared/WebPageGroupData.h:
520         Rename member to match new unification on the name userContentExtension. Change the value from
521         the serialized JSON (as a String) to WebCompiledContentExtensionData.
522
523         * UIProcess/API/APIUserContentExtension.cpp: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.cpp.
524         (API::UserContentExtension::UserContentExtension):
525         (API::UserContentExtension::~UserContentExtension):
526         (API::UserContentFilter::UserContentFilter): Deleted.
527         (API::UserContentFilter::~UserContentFilter): Deleted.
528         * UIProcess/API/APIUserContentExtension.h: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.h.
529         * UIProcess/API/APIUserContentFilter.cpp: Removed.
530         * UIProcess/API/APIUserContentFilter.h: Removed.
531         Renamed UserContentFilter to APIUserContentExtension. Updated to store the compiled extension (as a WebCompiledContentExtension)
532         rather than the serialized JSON.
533
534         * UIProcess/API/C/WKAPICast.h:
535         * UIProcess/API/C/WKPageGroup.cpp:
536         (WKPageGroupAddUserContentFilter):
537         (WKPageGroupRemoveUserContentFilter):
538         (WKPageGroupRemoveAllUserContentFilters):
539         * UIProcess/API/C/WKUserContentControllerRef.cpp:
540         (WKUserContentControllerAddUserContentFilter):
541         (WKUserContentControllerRemoveAllUserContentFilters):
542         * UIProcess/API/Cocoa/WKUserContentController.mm:
543         (-[WKUserContentController _addUserContentFilter:]):
544         (-[WKUserContentController _removeUserContentFilter:]):
545         (-[WKUserContentController _removeAllUserContentFilters]):
546         Update for rename of APIUserContentFilter -> UserContentExtension.
547
548         * UIProcess/API/C/WKUserContentFilterRef.cpp:
549         (WKUserContentFilterGetTypeID):
550         (WKUserContentFilterCreate):
551         Update for rename of APIUserContentFilter -> UserContentExtension. Also make WKUserContentFilterCreate eagerly
552         compile rule list to a WebCompiledContentExtensionData.
553
554         * UIProcess/API/Cocoa/_WKUserContentFilter.mm:
555         (-[_WKUserContentFilter initWithName:serializedRules:]):
556         (-[_WKUserContentFilter dealloc]):
557         (-[_WKUserContentFilter _apiObject]):
558         Update for rename of APIUserContentFilter -> UserContentExtension. Also make initWithName:serializedRules: eagerly
559         compile rule list to a WebCompiledContentExtensionData.
560
561         * UIProcess/API/Cocoa/_WKUserContentFilterInternal.h:
562         (WebKit::wrapper):
563         Update for rename of APIUserContentFilter -> UserContentExtension.
564
565         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
566         (WebKit::WebUserContentControllerProxy::addProcess):
567         (WebKit::WebUserContentControllerProxy::addUserContentExtension):
568         (WebKit::WebUserContentControllerProxy::removeUserContentExtension):
569         (WebKit::WebUserContentControllerProxy::removeAllUserContentExtensions):
570         (WebKit::WebUserContentControllerProxy::addUserContentFilter): Deleted.
571         (WebKit::WebUserContentControllerProxy::removeUserContentFilter): Deleted.
572         (WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): Deleted.
573         * UIProcess/UserContent/WebUserContentControllerProxy.h:
574         * UIProcess/WebPageGroup.cpp:
575         (WebKit::WebPageGroup::addUserContentExtension):
576         (WebKit::WebPageGroup::removeUserContentExtension):
577         (WebKit::WebPageGroup::removeAllUserContentExtensions):
578         (WebKit::WebPageGroup::addUserContentFilter): Deleted.
579         (WebKit::WebPageGroup::removeUserContentFilter): Deleted.
580         (WebKit::WebPageGroup::removeAllUserContentFilters): Deleted.
581         * UIProcess/WebPageGroup.h:
582         * WebKit2.xcodeproj/project.pbxproj:
583         * WebProcess/UserContent/WebUserContentController.cpp:
584         (WebKit::WebUserContentController::addUserContentExtensions):
585         (WebKit::WebUserContentController::removeUserContentExtension):
586         (WebKit::WebUserContentController::removeAllUserContentExtensions):
587         (WebKit::WebUserContentController::addUserContentFilters): Deleted.
588         (WebKit::WebUserContentController::removeUserContentFilter): Deleted.
589         (WebKit::WebUserContentController::removeAllUserContentFilters): Deleted.
590         * WebProcess/UserContent/WebUserContentController.h:
591         * WebProcess/UserContent/WebUserContentController.messages.in:
592         * WebProcess/WebPage/WebPageGroupProxy.cpp:
593         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
594         (WebKit::WebPageGroupProxy::addUserContentExtension):
595         (WebKit::WebPageGroupProxy::removeUserContentExtension):
596         (WebKit::WebPageGroupProxy::removeAllUserContentExtensions):
597         (WebKit::WebPageGroupProxy::addUserContentFilter): Deleted.
598         (WebKit::WebPageGroupProxy::removeUserContentFilter): Deleted.
599         (WebKit::WebPageGroupProxy::removeAllUserContentFilters): Deleted.
600         * WebProcess/WebPage/WebPageGroupProxy.h:
601         * WebProcess/WebPage/WebPageGroupProxy.messages.in:
602         Pipe the compiled extension from the UIProcess to the WebProcess.
603
604 2015-03-06  Dean Jackson  <dino@apple.com>
605
606         Support "plus-lighter" in mix-blend mode
607         https://bugs.webkit.org/show_bug.cgi?id=142416
608         <rdar://problem/19993979>
609
610         Reviewed by Darin Adler and Sam Weinig.
611
612         Output the appropriate blending type when logging.
613
614         * Shared/mac/RemoteLayerTreeTransaction.mm:
615         (WebKit::RemoteLayerTreeTextStream::operator<<):
616
617 2015-03-06  Beth Dakin  <bdakin@apple.com>
618
619         REGRESSION (r180782): Data Detector popovers are not dismissed on scroll or zoom
620         https://bugs.webkit.org/show_bug.cgi?id=142371
621         -and corresponding-
622         rdar://problem/20059224
623
624         Reviewed by Tim Horton.
625
626         This patch has the WKImmediateActionController keep track of whether or not it has 
627         an active immediate action. Then we only call into Lookup and DD if the window is 
628         key OR if the WKView’s immediateActionController has an active action.
629         * UIProcess/API/mac/WKView.mm:
630         (-[WKView _dismissContentRelativeChildWindows]):
631         * UIProcess/mac/WKImmediateActionController.h:
632         * UIProcess/mac/WKImmediateActionController.mm:
633         (-[WKImmediateActionController initWithPage:view:recognizer:]):
634         (-[WKImmediateActionController willDestroyView:]):
635         (-[WKImmediateActionController _clearImmediateActionState]):
636         (-[WKImmediateActionController hasActiveImmediateAction]):
637         (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
638
639 2015-03-06  Jeremy Jones  <jeremyj@apple.com>
640
641         Scroll to make the video element visible when exiting fullscreen.
642         https://bugs.webkit.org/show_bug.cgi?id=141439
643
644         Reviewed by Simon Fraser.
645
646         This patch will restore interface state when exiting fullscreen.
647         Adds preparedToReturnToInline to continue exiting once the interface is updated.
648
649         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
650         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
651         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
652         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
653         (WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline):
654         (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): added.
655         * WebProcess/ios/WebVideoFullscreenManager.h:
656         * WebProcess/ios/WebVideoFullscreenManager.messages.in:
657         * WebProcess/ios/WebVideoFullscreenManager.mm:
658         (WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline):
659
660 2015-03-06  Antti Koivisto  <antti@apple.com>
661
662         Rename NetworkCacheStorageCocoa.mm to NetworkCacheStorage.cpp
663         https://bugs.webkit.org/show_bug.cgi?id=142401
664
665         Rubber-stamped by Anders Carlsson.
666
667         It is now fully cross-platform.
668
669         * NetworkProcess/cache/NetworkCacheStorage.cpp: Copied from Source/WebKit2/NetworkProcess/cache/NetworkCacheStorageCocoa.mm.
670         (WebKit::NetworkCache::Storage::shrinkIfNeeded):
671         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm: Removed.
672         * WebKit2.xcodeproj/project.pbxproj:
673
674 2015-03-06  Antti Koivisto  <antti@apple.com>
675
676         Don't use dispatch_semaphore in NetworkCacheStorage
677         https://bugs.webkit.org/show_bug.cgi?id=142395
678
679         Reviewed by Anders Carlsson.
680
681         * NetworkProcess/cache/NetworkCacheIOChannel.h:
682         * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
683         (WebKit::NetworkCache::IOChannel::read):
684         (WebKit::NetworkCache::IOChannel::readSync):
685
686             Add readSync to encapsulate the semaphore.
687
688         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
689         (WebKit::NetworkCache::Storage::traverse):
690
691 2015-03-06  Antti Koivisto  <antti@apple.com>
692
693         Move dispatch_data use behind NetworkCache::Data abstraction
694         https://bugs.webkit.org/show_bug.cgi?id=142392
695
696         Reviewed by Anders Carlsson.
697
698         * NetworkProcess/cache/NetworkCacheData.h:
699         (WebKit::NetworkCache::DispatchPtr::DispatchPtr):
700         * NetworkProcess/cache/NetworkCacheDataCocoa.mm:
701         (WebKit::NetworkCache::Data::Data):
702         (WebKit::NetworkCache::Data::apply):
703         (WebKit::NetworkCache::Data::subrange):
704         (WebKit::NetworkCache::concatenate):
705         (WebKit::NetworkCache::mapFile):
706         * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
707         (WebKit::NetworkCache::IOChannel::read):
708         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
709         (WebKit::NetworkCache::hashData):
710         (WebKit::NetworkCache::decodeEntryMetaData):
711         (WebKit::NetworkCache::decodeEntryHeader):
712         (WebKit::NetworkCache::decodeEntry):
713         (WebKit::NetworkCache::encodeEntryMetaData):
714         (WebKit::NetworkCache::encodeEntryHeader):
715         (WebKit::NetworkCache::Storage::dispatchFullWriteOperation):
716         (WebKit::NetworkCache::mapFile): Deleted.
717
718 2015-03-06  Antti Koivisto  <antti@apple.com>
719
720         Use WTF abstraction for page size in NetworkCacheStorage
721         https://bugs.webkit.org/show_bug.cgi?id=142396
722
723         Reviewed by Darin Adler.
724
725         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
726         (WebKit::NetworkCache::decodeEntryMetaData):
727         (WebKit::NetworkCache::Storage::dispatchFullWriteOperation):
728
729 2015-03-06  Myles C. Maxfield  <mmaxfield@apple.com>
730
731         [iOS] SVG fonts are garbled
732         https://bugs.webkit.org/show_bug.cgi?id=142377
733
734         Reviewed by Simon Fraser.
735
736         * Configurations/FeatureDefines.xcconfig:
737
738 2015-03-06  Zan Dobersek  <zdobersek@igalia.com>
739
740         Unguarded GTK-specific member and method usage in DrawingAreaImpl
741         https://bugs.webkit.org/show_bug.cgi?id=142391
742
743         Reviewed by Carlos Garcia Campos.
744
745         r180924 introduced unguarded use of m_nativeSurfaceHandleForCompositing
746         and LayerTreeHost::setNativeSurfaceHandleForCompositing() in DrawingAreaImpl.
747         Definitions for both of these are guarded with USE(TEXTURE_MAPPER_GL) and PLATFORM(GTK),
748         so their use should be as well.
749
750         * WebProcess/WebPage/DrawingAreaImpl.cpp:
751         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
752
753 2015-03-06  David Kilzer  <ddkilzer@apple.com>
754
755         REGRESSION (r181140): WebKit2 fails to build on Mavericks buildbot
756
757         Work around Xcode dependency tracking issues by making changes
758         to source files that need to be recompiled.
759
760         * NetworkProcess/NetworkProcess.cpp: Update copyright.  Include
761         NetworkCache.h since it didn't appear to be included by
762         NetworkCacheCoders.h.
763         * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Update copyright.
764
765 2015-03-05  Antti Koivisto  <antti@apple.com>
766
767         Move disk cache classes to namespace
768         https://bugs.webkit.org/show_bug.cgi?id=142339
769
770         Reviewed by Anders Carlsson.
771
772         Move everything to NetworkCache namespace. 
773
774 2015-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
775
776         REGRESSION(r180924): ASSERTION FAILED: !from.isEmpty() in WebCore::TransformationMatrix::rectToRect
777         https://bugs.webkit.org/show_bug.cgi?id=142345
778
779         Reviewed by Martin Robinson.
780
781         This was caused by r180924 that postpones the creation of the
782         TextureMapper, which could cause that a layer has not yet a size
783         when TextureMapper::paint() is called. This patch moves the
784         creation of the TextureMapper to
785         LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(), so that
786         it's created as soon as it's possible to create. This method is
787         called by the drawing area right after creating the
788         LayerTreeHostGtk if it already have a handler, or when the handle
789         is received from the UI process.
790
791         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
792         (WebKit::LayerTreeHostGtk::initialize): Remove the
793         nsureTextureMapper call because at this point the layer context ID
794         is always 0, so it's impossible to create the TextureMapper.
795         (WebKit::LayerTreeHostGtk::compositeLayersToContext): Remove the
796         ensureTextureMapper call from here too, since at this point, if we
797         have a context, we should also have a TextureMapper. Add an ASSERT
798         right before using the TextureMapper.
799         (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
800         Create the TextureMapper here.
801         (WebKit::LayerTreeHostGtk::ensureTextureMapper): Deleted.
802         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
803
804 2015-03-05  Anders Carlsson  <andersca@apple.com>
805
806         WKWebView Encoder for remote object communication does not implement encodeInt32:forKey:
807         https://bugs.webkit.org/show_bug.cgi?id=142356
808         rdar://problem/20058952
809
810         Reviewed by Tim Horton.
811
812         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
813         (-[WKRemoteObjectEncoder encodeInt32:forKey:]):
814         (-[WKRemoteObjectDecoder decodeInt32ForKey:]):
815
816 2015-03-05  Chris Dumez  <cdumez@apple.com>
817
818         NetworkCache efficacy logging is using too much CPU
819         https://bugs.webkit.org/show_bug.cgi?id=142186
820         <rdar://problem/19632080>
821
822         Reviewed by Antti Koivisto.
823
824         NetworkCache efficacy logging was using too much CPU mostly due to
825         database writes. Logging was using ~11.3% of the NetworkProcess'
826         CPU usage (~9.2% for writes / ~1.3% for reads).
827
828         This patch buffers writes requests in memory and only writes them
829         to disk every 10 seconds. We are thus writing to this less frequently
830         and writing more at once, in a single SQL transaction. After this
831         change, efficacy logging only accounts for ~3.5% of the NetworkProcess'
832         CPU activity (1.5% for writes / 1.2% for reads).
833
834         Now that CPU usage is more acceptable, this patch re-enables the
835         network cache efficicy logging.
836
837         * NetworkProcess/cache/NetworkCacheStatistics.h:
838
839         * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:
840         (WebKit::executeSQLCommand):
841         (WebKit::executeSQLStatement):
842         Call step() instead of executeCommand() because:
843         - The input statement is already prepared.
844         - step() does not finalize() the statement and thus we caller can
845           reuse it after calling reset().
846
847         (WebKit::NetworkCacheStatistics::NetworkCacheStatistics):
848         (WebKit::NetworkCacheStatistics::initialize):
849         (WebKit::NetworkCacheStatistics::bootstrapFromNetworkCache):
850         (WebKit::NetworkCacheStatistics::recordNotCachingResponse):
851         (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
852         (WebKit::NetworkCacheStatistics::recordRetrievalFailure):
853         (WebKit::NetworkCacheStatistics::markAsRequested):
854         (WebKit::NetworkCacheStatistics::writeTimerFired):
855         (WebKit::NetworkCacheStatistics::queryWasEverRequested):
856         (WebKit::NetworkCacheStatistics::addHashesToDatabase):
857         (WebKit::NetworkCacheStatistics::addStoreDecisionsToDatabase):
858         (WebKit::NetworkCacheStatistics::addHashToDatabase): Deleted.
859
860         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
861         (WebKit::registerUserDefaultsIfNeeded):
862         Re-enable the network cache efficacy logging.
863
864 2015-03-05  Antti Koivisto  <antti@apple.com>
865
866         Switch NetworkCacheStorage to WorkQueue abstraction
867         https://bugs.webkit.org/show_bug.cgi?id=142337
868
869         Reviewed by Anders Carlsson.
870
871         Don't use dispatch_async directly.
872
873         * NetworkProcess/cache/NetworkCacheStorage.h:
874         (WebKit::NetworkCacheStorage::ioQueue):
875         (WebKit::NetworkCacheStorage::backgroundIOQueue):
876         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
877         (WebKit::NetworkCacheStorage::NetworkCacheStorage):
878         (WebKit::NetworkCacheStorage::initialize):
879         (WebKit::NetworkCacheStorage::removeEntry):
880         (WebKit::NetworkCacheStorage::dispatchReadOperation):
881         (WebKit::retrieveFromMemory):
882         (WebKit::NetworkCacheStorage::traverse):
883         (WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
884         (WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):
885         (WebKit::NetworkCacheStorage::clear):
886         (WebKit::NetworkCacheStorage::shrinkIfNeeded):
887         (WebKit::NetworkCacheStorage::deleteOldVersions):
888
889 2015-03-05  Lukasz Bialek  <l.bialek@samsung.com>
890
891         [EFL][WK2] Crash when "Download Linked File" from MiniBrowser context menu is clicked
892         https://bugs.webkit.org/show_bug.cgi?id=131162
893
894         Reviewed by Gyuyoung Kim.
895
896         "Download Linked File" crashes because of null-pointer exception of Download Job.
897         Due to architectural difficulties, easy fix is not possible (EwkView is needed in
898         DownloadManager to create DownloadJobs and it is only used to notify the client 
899         about download (finished, error, cancel) via smart callback using EwkView (Evas_Object).
900
901         Propose a new callbacks which are view independent and detach EFL's DownloadManager
902         from EwkView. It makes DownloadManagerEFL consistent with WKContextDownload.
903         Fix the crash and restore download functionality.
904
905         * PlatformEfl.cmake:
906         Enable newly reimplemented tests
907         * UIProcess/API/efl/EwkViewCallbacks.h:
908         Remove old callback mechanism
909         * UIProcess/API/efl/ewk_context.cpp:
910         (ewk_context_download_callbacks_set):
911         * UIProcess/API/efl/ewk_context.h:
912         Declare new callback functions and registration functions
913         * UIProcess/API/efl/ewk_download_job.cpp:
914         (EwkDownloadJob::EwkDownloadJob):
915         (EwkDownloadJob::view): Deleted.
916         * UIProcess/API/efl/ewk_download_job.h:
917         * UIProcess/API/efl/ewk_download_job_private.h:
918         (EwkDownloadJob::create):
919         Remove EwkView dependency
920         * UIProcess/API/efl/ewk_view.h:
921         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
922         Alter tests to new callback mechanism
923         * UIProcess/efl/DownloadManagerEfl.cpp:
924         (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
925         (WebKit::DownloadManagerEfl::didStart):
926         (WebKit::DownloadManagerEfl::didFail):
927         (WebKit::DownloadManagerEfl::didCancel):
928         (WebKit::DownloadManagerEfl::didFinish):
929         (WebKit::DownloadManagerEfl::DownloadManagerEfl):
930         (WebKit::DownloadManagerEfl::registerDownloadJob):
931         (WebKit::DownloadManagerEfl::setCallbacks):
932         * UIProcess/efl/DownloadManagerEfl.h:
933         * UIProcess/efl/WebViewEfl.cpp:
934         (WebKit::WebViewEfl::handleDownloadRequest):
935         Add support of new callback mechanism
936
937 2015-03-05  Michael Catanzaro  <mcatanzaro@igalia.com>
938
939         [SOUP] Disable RC4
940         https://bugs.webkit.org/show_bug.cgi?id=140014
941
942         Reviewed by Carlos Garcia Campos.
943
944         Disallow RC4-based ciphersuites when performing TLS negotiation,
945         because it is no longer considered secure.
946
947         * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:
948         (main):
949         * WebProcess/EntryPoint/unix/WebProcessMain.cpp:
950         (main):
951
952 2015-03-04  Yusuke Suzuki  <utatane.tea@gmail.com>
953
954         Hide Promise with runtime flags under Cocoa JSContext API
955         https://bugs.webkit.org/show_bug.cgi?id=141965
956
957         Reviewed by Filip Pizlo.
958
959         Add new JSC runtime flag, PromiseDisabled.
960
961         * UIProcess/API/C/WKPreferencesRefPrivate.h:
962         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
963
964 2015-03-04  Beth Dakin  <bdakin@apple.com>
965
966         Attempted build fix.
967
968         * UIProcess/API/Cocoa/WKViewPrivate.h:
969
970 2015-03-04  Beth Dakin  <bdakin@apple.com>
971
972         Message UI process when contentSize changes
973         https://bugs.webkit.org/show_bug.cgi?id=142294
974         -and corresponding-
975         rdar://problem/19963165
976
977         Reviewed by Andreas Kling.
978
979         This patch un-ifdefs the didChangeContentSize message so that we can use it on Mac 
980         as well. 
981
982         New private method that subclasses can override when they need to do something 
983         with contentSize changes.
984         * UIProcess/API/Cocoa/WKViewPrivate.h:
985         * UIProcess/API/mac/WKView.mm:
986         (-[WKView _didChangeContentSize:]):
987         * UIProcess/PageClient.h:
988
989         Un-ifdef.
990         * UIProcess/WebPageProxy.cpp:
991         (WebKit::WebPageProxy::didChangeContentSize):
992         * UIProcess/WebPageProxy.h:
993         * UIProcess/WebPageProxy.messages.in:
994         * UIProcess/mac/PageClientImpl.h:
995         * UIProcess/mac/PageClientImpl.mm:
996         (WebKit::PageClientImpl::didChangeContentSize):
997         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
998         (WebKit::WebChromeClient::contentsSizeChanged):
999
1000         Stubs for other platforms now that the pure-virtual is un-masked.
1001         * UIProcess/ios/PageClientImplIOS.h:
1002         * UIProcess/ios/PageClientImplIOS.mm:
1003         (WebKit::PageClientImpl::didChangeContentSize):
1004         * UIProcess/API/gtk/PageClientImpl.h:
1005
1006 2015-03-04  Antti Koivisto  <antti@apple.com>
1007
1008         Factor platform I/O out from NetworkCacheStorage
1009         https://bugs.webkit.org/show_bug.cgi?id=142279
1010
1011         Reviewed by Chris Dumez.
1012
1013         * NetworkProcess/cache/NetworkCacheData.h: Added.
1014         * NetworkProcess/cache/NetworkCacheDataCocoa.mm: Added.
1015
1016             NetworkCacheStorage::Data -> NetworkCacheData
1017             Move to files of its own.
1018
1019         * NetworkProcess/cache/NetworkCacheIOChannel.h: Added.
1020         * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: Added.
1021
1022             Add abstraction for dispatch IO channels.
1023
1024 2015-03-04  Joseph Pecoraro  <pecoraro@apple.com>
1025
1026         Remove WK_AVAILABLE and related macros when we cannot determine iOS/Mac version
1027         https://bugs.webkit.org/show_bug.cgi?id=142252
1028         rdar://problem/19983833
1029
1030         Reviewed by David Kilzer.
1031
1032         When mac / ios version was unable to be determined strip the WK_AVAILABLE
1033         and WK_DEPRECATED macros to avoid outputing a broken macro.
1034
1035         * mac/postprocess-framework-headers.sh:
1036
1037 2015-03-04  Debarshi Ray  <debarshir@gnome.org>
1038
1039         [GTK] WebView should hold a reference on WebContext because non-default contexts are a reality
1040         https://bugs.webkit.org/show_bug.cgi?id=142225
1041
1042         Reviewed by Carlos Garcia Campos.
1043
1044         * UIProcess/API/gtk/WebKitWebView.cpp:
1045         (webkitWebViewRequestFavicon):
1046         (webkitWebViewWatchForChangesInFavicon):
1047         (webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
1048         (webkitWebViewConstructed):
1049         (webkitWebViewGetProperty):
1050         (webkitWebViewDispose):
1051         (webkitWebViewLoadChanged):
1052         (webkitWebViewLoadFailedWithTLSErrors):
1053         (webkit_web_view_get_context):
1054         (webkit_web_view_download_uri):
1055
1056 2015-03-03  Shivakumar JM  <shiva.jm@samsung.com>
1057
1058         Fix build warning in WebKit2/Shared module.
1059         https://bugs.webkit.org/show_bug.cgi?id=142213
1060
1061         Reviewed by Simon Fraser.
1062
1063         Fix build warning by removing argument name from function.
1064
1065         * Shared/WebCoreArgumentCoders.cpp:
1066         (IPC::pathPointCountApplierFunction):
1067
1068 2015-03-03  Andy Estes  <aestes@apple.com>
1069
1070         [Content Filtering] Separate unblock handling into its own class
1071         https://bugs.webkit.org/show_bug.cgi?id=142251
1072
1073         Reviewed by Andreas Kling.
1074
1075         Adopted ContentFilterUnblockHandler.
1076
1077         * Shared/WebCoreArgumentCoders.h:
1078         * Shared/mac/WebCoreArgumentCodersMac.mm:
1079         (IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
1080         (IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode):
1081         (IPC::ArgumentCoder<ContentFilter>::encode): Deleted.
1082         (IPC::ArgumentCoder<ContentFilter>::decode): Deleted.
1083         * UIProcess/Cocoa/WebPageProxyCocoa.mm:
1084         (WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame):
1085         * UIProcess/WebFrameProxy.cpp:
1086         (WebKit::WebFrameProxy::didStartProvisionalLoad):
1087         (WebKit::WebFrameProxy::contentFilterDidHandleNavigationAction):
1088         * UIProcess/WebFrameProxy.h:
1089         (WebKit::WebFrameProxy::setContentFilterUnblockHandler):
1090         (WebKit::WebFrameProxy::setContentFilterForBlockedLoad): Deleted.
1091         * UIProcess/WebPageProxy.h:
1092         * UIProcess/WebPageProxy.messages.in:
1093         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1094         (WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad):
1095         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1096
1097 2015-03-03  Chris Dumez  <cdumez@apple.com>
1098
1099         [WK2] Fix memory leak in _getCookieHeadersForTask
1100         https://bugs.webkit.org/show_bug.cgi?id=142245
1101
1102         Reviewed by Alexey Proskuryakov.
1103
1104         Fix memory leak in _getCookieHeadersForTask. We are leaking the CFDictionary
1105         returned by webKitCookieStorageCopyRequestHeaderFieldsForURL().
1106
1107         This patch addresses the issue by storing the return CFDictionary in a
1108         RetainPtr<CFDictionaryRef>.
1109
1110         * Shared/mac/CookieStorageShim.mm:
1111         (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
1112
1113 2015-03-03  Enrica Casucci  <enrica@apple.com>
1114
1115         Incomplete dictation results in text fields in a web page.
1116         https://bugs.webkit.org/show_bug.cgi?id=142240
1117         rdar://problem/19953432
1118
1119         Reviewed by Tim Horton.
1120
1121         The empty stub for insertDictationResult:withCorrectionIdentifier
1122         must be removed. This way UIKit will call insertText and do the right thing.
1123
1124         * UIProcess/ios/WKContentViewInteraction.mm:
1125         (-[WKContentView insertDictationResult:withCorrectionIdentifier:]): Deleted.
1126
1127 2015-03-03  Dean Jackson  <dino@apple.com>
1128
1129         Controls panel should have system blurry background
1130         https://bugs.webkit.org/show_bug.cgi?id=142154
1131         <rdar://problem/20000964>
1132
1133         Reviewed by Simon Fraser.
1134
1135         In order to replicate the system style of media controls
1136         on OS X and iOS, we need to expose a special -webkit-appearance.
1137         This patch adds the new property value, and implements
1138         the iOS part of the appearance, which is a blurry shaded
1139         background.
1140
1141         * Shared/mac/RemoteLayerBackingStore.mm:
1142         (WebKit::RemoteLayerBackingStore::drawInContext): Add entries for
1143         the new layer types, even though they are not correct yet.
1144
1145         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1146         (WebKit::updateCustomAppearance):
1147         (WebKit::RemoteLayerTreePropertyApplier::applyProperties): UIBackdropViews
1148         have a defined hierarchy that we don't create. We need to make sure we add our
1149         children to the right subview.
1150         * Shared/mac/RemoteLayerTreeTransaction.mm:
1151         (WebKit::RemoteLayerTreeTransaction::description): Logging.
1152
1153         * UIProcess/ios/RemoteLayerTreeHostIOS.mm: Rename existing WKBackdropView
1154         to WKSimpleBackdropView, and add a new WKBackdropView that inherits
1155         from UIBackdropView.
1156         (-[WKBackdropView hitTest:withEvent:]):
1157         (-[WKBackdropView description]):
1158         (WebKit::RemoteLayerTreeHost::createLayer): Handle the new LayerTypes.
1159         * UIProcess/mac/RemoteLayerTreeHost.mm:
1160         (WebKit::RemoteLayerTreeHost::createLayer):
1161
1162 2015-03-03  Chris Dumez  <cdumez@apple.com>
1163
1164         Access ApplicationCacheStorage global instance via singleton() static member function
1165         https://bugs.webkit.org/show_bug.cgi?id=142239
1166
1167         Reviewed by Anders Carlsson.
1168
1169         Access ApplicationCacheStorage global instance via singleton() static
1170         member function as per WebKit coding style.
1171
1172 2015-03-03  Joseph Pecoraro  <pecoraro@apple.com>
1173
1174         Build Fix: Add fall back handling in postprocess script for missing/unknown platform name.
1175
1176         Rubber-stamped by David Kilzer.
1177
1178         * mac/postprocess-framework-headers.sh:
1179
1180 2015-03-03  Enrica Casucci  <enrica@apple.com>
1181
1182         Build fix for iOS.
1183
1184         Unreviewed.
1185
1186         * UIProcess/ios/WKContentViewInteraction.mm: Adding forward declaration.
1187
1188 2015-03-03  Antti Koivisto  <antti@apple.com>
1189
1190         Include key to NetworkCacheStorage::Entry
1191         https://bugs.webkit.org/show_bug.cgi?id=142215
1192
1193         Reviewed by Chris Dumez.
1194
1195         This simplified code. The key is saved as part of the entry so it makes logical sense too.
1196
1197         * NetworkProcess/cache/NetworkCache.cpp:
1198         (WebKit::makeCacheKey):
1199         (WebKit::encodeStorageEntry):
1200         (WebKit::NetworkCache::retrieve):
1201         (WebKit::NetworkCache::store):
1202         (WebKit::NetworkCache::update):
1203         (WebKit::NetworkCache::traverse):
1204         (WebKit::entryAsJSON):
1205         (WebKit::NetworkCache::dumpContentsToFile):
1206         * NetworkProcess/cache/NetworkCacheKey.cpp:
1207         (WebKit::NetworkCacheKey::operator=):
1208         * NetworkProcess/cache/NetworkCacheKey.h:
1209         (WebKit::NetworkCacheKey::isNull):
1210         * NetworkProcess/cache/NetworkCacheStorage.h:
1211         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
1212         (WebKit::decodeEntry):
1213         (WebKit::encodeEntryHeader):
1214         (WebKit::retrieveFromMemory):
1215         (WebKit::NetworkCacheStorage::retrieve):
1216         (WebKit::NetworkCacheStorage::store):
1217         (WebKit::NetworkCacheStorage::update):
1218         (WebKit::NetworkCacheStorage::traverse):
1219         (WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):
1220         (WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
1221         (WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):
1222
1223 2015-03-03  Antti Koivisto  <antti@apple.com>
1224
1225         Cache shrink leaves behind empty partition directories
1226         https://bugs.webkit.org/show_bug.cgi?id=142217
1227
1228         Reviewed by Andreas Kling.
1229
1230         * NetworkProcess/cache/NetworkCacheFileSystemPosix.h:
1231         (WebKit::traverseCacheFiles):
1232
1233             No need for std::function.
1234
1235         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
1236         (WebKit::NetworkCacheStorage::shrinkIfNeeded):
1237
1238             After shrink traverse through the partition directories and try to delete them.
1239             System knows if they are actually empty.
1240
1241 2015-03-03  Anders Carlsson  <andersca@apple.com>
1242
1243         Use the correct display name for website data for local files
1244         https://bugs.webkit.org/show_bug.cgi?id=142228
1245
1246         Reviewed by Dan Bernstein.
1247
1248         * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
1249         (displayNameForLocalFiles):
1250         Add new helper function.
1251
1252         (WebKit::WebsiteDataRecord::displayNameForCookieHostName):
1253         Check if the hostname is kCFHTTPCookieLocalFileDomain.
1254
1255         (WebKit::WebsiteDataRecord::displayNameForOrigin):
1256         Handle file URLs as well.
1257
1258 2015-03-03  Enrica Casucci  <enrica@apple.com>
1259
1260         Fixed typo in platform guard in http://trac.webkit.org/changeset/180939.
1261
1262         Unreviewed.
1263
1264         * UIProcess/ios/WKContentViewInteraction.mm:
1265
1266 2015-03-03  Enrica Casucci  <enrica@apple.com>
1267
1268         Adopt new API for keyboard interaction.
1269         https://bugs.webkit.org/show_bug.cgi?id=142201
1270         rdar://problem/19924949
1271
1272         Reviewed by Joseph Pecoraro.
1273
1274         * UIProcess/ios/WKContentViewInteraction.mm:
1275         (-[WKContentView inputAssistantItem]):
1276         (-[WKContentView _inputAssistantItem]):
1277
1278 2015-03-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1279
1280         REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
1281         https://bugs.webkit.org/show_bug.cgi?id=142079
1282
1283         Reviewed by Žan Doberšek.
1284
1285         The problem is that the texture mapper and native window handler
1286         are initialized when the LayerTreeHost is initialized, assuming
1287         the UI process has already sent the native window handler to the
1288         web process, but that doesn't always happen since we moved the
1289         redirected window creation to realize in r177075.
1290
1291         * WebProcess/WebPage/DrawingArea.h:
1292         (WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.
1293         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1294         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
1295         LayerTreeHost::setNativeSurfaceHandleForCompositing if we
1296         already have a native window handle at this point.
1297         (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
1298         Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
1299         not using threaded compositing.
1300         * WebProcess/WebPage/LayerTreeHost.h:
1301         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1302         (WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
1303         ensure a context and making it current.
1304         (WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
1305         is created for the current context.
1306         (WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
1307         and ensureTextureMapper(), and remove the LayerTreeContext
1308         initialization since that's is now always initialized in
1309         setNativeSurfaceHandleForCompositing().
1310         (WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
1311         makeContextCurrent() helper function and also call
1312         ensureTextureMapper() just in case the texture could not be
1313         created during initialization because the native window handle was
1314         not yet available.
1315         (WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
1316         (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
1317         Initialize the LayerTreeContext.
1318         (WebKit::LayerTreeHostGtk::glContext): Deleted.
1319         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1320
1321 2015-03-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1322
1323         [WK2] Remove unnecessary create() factory functions.
1324         https://bugs.webkit.org/show_bug.cgi?id=142161
1325
1326         Reviewed by Chris Dumez.
1327
1328         We can replace some create() factory functions with std::make_unique(). Because
1329         it just returns new instance. Even some of those functions have used std::unique_ptr<>
1330         instead of std::make_unique<>. Fixed all.
1331
1332         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
1333         (WebKit::SQLiteIDBTransaction::create): Deleted.
1334         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1335         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
1336         * Platform/efl/DispatchQueueWorkItemEfl.h:
1337         (WorkItem::dispatch):
1338         (WorkItem::create): Deleted.
1339         * UIProcess/API/gtk/PageClientImpl.h:
1340         (WebKit::PageClientImpl::create): Deleted.
1341         * UIProcess/API/gtk/WebKitTextChecker.h:
1342         (WebKitTextChecker::create): Deleted.
1343         * UIProcess/API/gtk/WebKitWebContext.cpp:
1344         (webkitWebContextConstructed):
1345         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1346         (webkitWebViewBaseConstructed):
1347
1348 2015-03-02  Brady Eidson  <beidson@apple.com>
1349
1350         Lots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentFilters
1351         https://bugs.webkit.org/show_bug.cgi?id=142155
1352
1353         Reviewed by Simon Fraser.
1354
1355         * WebProcess/WebProcess.cpp:
1356         (WebKit::WebProcess::didReceiveMessage): Return after handling WebPageGroupProxy messages
1357           instead of logging an error.
1358
1359 2015-03-02  Antti Koivisto  <antti@apple.com>
1360
1361         Add way to dump cache meta data to file
1362         https://bugs.webkit.org/show_bug.cgi?id=142183
1363
1364         Add a missing return so we don't try to decode a null entry.
1365
1366         * NetworkProcess/cache/NetworkCache.cpp:
1367         (WebKit::NetworkCache::dumpContentsToFile):
1368
1369 2015-03-02  Anders Carlsson  <andersca@apple.com>
1370
1371         Return disk cache entries from the new disk cache
1372         https://bugs.webkit.org/show_bug.cgi?id=142190
1373
1374         Reviewed by Antti Koivisto.
1375
1376         * NetworkProcess/NetworkProcess.cpp:
1377         (WebKit::fetchDiskCacheEntries):
1378         Call NetworkCache::traverse() to get all the cache entries, unique their origins and pass them back with the completion handler.
1379
1380         * NetworkProcess/cache/NetworkCache.cpp:
1381         (WebKit::NetworkCache::traverse):
1382         New helper function that traverses network cache entries.
1383
1384         * NetworkProcess/cache/NetworkCache.h:
1385
1386 2015-03-02  Antti Koivisto  <antti@apple.com>
1387
1388         Add way to dump cache meta data to file
1389         https://bugs.webkit.org/show_bug.cgi?id=142183
1390
1391         Reviewed by Andreas Kling.
1392
1393         Dump goes to WebKitCache/dump.json. On OSX it can be triggered with
1394
1395         notifyutil -p com.apple.WebKit.Cache.dump
1396
1397         * NetworkProcess/cache/NetworkCache.cpp:
1398         (WebKit::NetworkCache::initialize):
1399         (WebKit::NetworkCache::dumpFilePath):
1400         (WebKit::entryAsJSON):
1401         (WebKit::NetworkCache::dumpContentsToFile):
1402         (WebKit::NetworkCache::clear):
1403
1404             Also clear any dumps.
1405
1406         * NetworkProcess/cache/NetworkCache.h:
1407         * NetworkProcess/cache/NetworkCacheStorage.h:
1408         (WebKit::NetworkCacheStorage::baseDirectoryPath):
1409         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
1410         (WebKit::fileNameForKey):
1411         (WebKit::filePathForKey):
1412         (WebKit::openFile):
1413         (WebKit::openFileForKey):
1414         (WebKit::decodeEntryHeader):
1415
1416             Separate header decoding.
1417
1418         (WebKit::decodeEntry):
1419         (WebKit::NetworkCacheStorage::traverse):
1420
1421             Add asynchronous cache traversal inteface.
1422
1423 2015-03-02  Anders Carlsson  <andersca@apple.com>
1424
1425         WebsiteDataStore should handle deleting cookies
1426         https://bugs.webkit.org/show_bug.cgi?id=142185
1427
1428         Reviewed by Beth Dakin.
1429
1430         * NetworkProcess/NetworkProcess.cpp:
1431         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
1432         When asked to delete cookies, do so.
1433
1434         * NetworkProcess/NetworkProcess.h:
1435         Update the deleteWebsiteDataForOrigins signature.
1436
1437         * NetworkProcess/NetworkProcess.messages.in:
1438         Add cookieHostNames to DeleteWebsiteDataForOrigins.
1439
1440         * UIProcess/Network/NetworkProcessProxy.cpp:
1441         (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
1442         * UIProcess/Network/NetworkProcessProxy.h:
1443         Update to take a vector of cookie host names.
1444
1445         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1446         (WebKit::WebsiteDataStore::removeData):
1447         Figure out if we need to ask the network process to delete data.
1448
1449 2015-03-02  Anders Carlsson  <andersca@apple.com>
1450
1451         WebsiteDataStore should support getting cookie host names
1452         https://bugs.webkit.org/show_bug.cgi?id=142178
1453
1454         Reviewed by Dan Bernstein.
1455
1456         * NetworkProcess/NetworkProcess.cpp:
1457         (WebKit::NetworkProcess::fetchWebsiteData):
1458         Assert that we're destroyed from the main thread since we end up copying the website data struct.
1459
1460         * Shared/WebsiteData/WebsiteData.cpp:
1461         (WebKit::WebsiteData::encode):
1462         (WebKit::WebsiteData::decode):
1463         * Shared/WebsiteData/WebsiteData.h:
1464         Add a hostnamesWithCookies member.
1465
1466         * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
1467         (WebKit::WebsiteDataRecord::displayNameForCookieHostName):
1468         Add a new function that will return the display name for a cookie host name.
1469
1470         (WebKit::WebsiteDataRecord::addCookieHostName):
1471         * UIProcess/WebsiteData/WebsiteDataRecord.h:
1472         Add a hash set of cookie host names.
1473
1474         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1475         (WebKit::WebsiteDataStore::fetchData):
1476         Create data records for each host name with cookies.
1477
1478 2015-03-02  Jer Noble  <jer.noble@apple.com>
1479
1480         [WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates.
1481         https://bugs.webkit.org/show_bug.cgi?id=141907
1482
1483         Reviewed by Tim Horton.
1484
1485         At some point, the window/view/page visibility update code was refactored such that setting
1486         WebPageProxy::setSuppressVisibilityUpdate() no longer suppressed visibility updates. This causes
1487         full screen animations to become "flashy" when moving the WebView between the regular and full
1488         screen window, as a HTMLMediaElement in the full screen animation will receive a "!visible"
1489         notification and disconnect its rendering pipeline.
1490
1491         In WebPageProxy::viewStateDidChange(), respect m_suppressVisibilityUpdates and bail out early
1492         if set. In WebPageProxy::setSuppressVisibilityUpdates(), trigger an explicit update after
1493         clearing m_suppressVisibilityUpdates.
1494
1495         * UIProcess/WebPageProxy.cpp:
1496         (WebKit::WebPageProxy::setSuppressVisibilityUpdates):
1497         (WebKit::WebPageProxy::viewStateDidChange):
1498         * UIProcess/WebPageProxy.h:
1499         (WebKit::WebPageProxy::setSuppressVisibilityUpdates): Deleted.
1500
1501 2015-03-02  Jer Noble  <jer.noble@apple.com>
1502
1503         [WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.
1504         https://bugs.webkit.org/show_bug.cgi?id=142121
1505
1506         Reviewed by Simon Fraser.
1507
1508         Change the order of operations when entering or exiting fullscreen. Change the page scale to
1509         1 before entering, so the final screen rect takes that scale into account, and vice-versa on
1510         exiting.
1511
1512         * UIProcess/mac/WKFullScreenWindowController.mm:
1513         (-[WKFullScreenWindowController enterFullScreen:]):
1514         (-[WKFullScreenWindowController exitFullScreen]):
1515
1516 2015-03-01  Simon Fraser  <simon.fraser@apple.com>
1517
1518         Make clip-path work on <video>, <canvas> etc.
1519         https://bugs.webkit.org/show_bug.cgi?id=138684
1520
1521         Reviewed by Darin Adler.
1522         
1523         Support encode/decode for WebCore Path objects, which is done by traversing
1524         the path.
1525
1526         * Shared/WebCoreArgumentCoders.cpp:
1527         (IPC::pathPointCountApplierFunction):
1528         (IPC::pathEncodeApplierFunction):
1529         (IPC::ArgumentCoder<Path>::encode):
1530         (IPC::ArgumentCoder<Path>::decode):
1531         * Shared/WebCoreArgumentCoders.h:
1532         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1533         (WebKit::applyPropertiesToLayer): Actually apply the path and wind rule to the shape layer.
1534         * Shared/mac/RemoteLayerTreeTransaction.h: Include path and wind rule in the layer properties.
1535         * Shared/mac/RemoteLayerTreeTransaction.mm:
1536         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
1537         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): Encode shape and wind rule.
1538         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Decode shape and wind rule.
1539         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1540         (WebKit::PlatformCALayerRemote::shapePath):
1541         (WebKit::PlatformCALayerRemote::setShapePath):
1542         (WebKit::PlatformCALayerRemote::shapeWindRule):
1543         (WebKit::PlatformCALayerRemote::setShapeWindRule):
1544         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1545
1546 2015-03-01  Chris Dumez  <cdumez@apple.com>
1547
1548         Make NotificationCenter / Notification suspendable
1549         https://bugs.webkit.org/show_bug.cgi?id=142117
1550         <rdar://problem/19923085>
1551
1552         Reviewed by Andreas Kling.
1553
1554         Provide implementation for NotificationClient::hasPendingPermissionRequests().
1555
1556         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1557         (WebKit::NotificationPermissionRequestManager::hasPendingPermissionRequests):
1558         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1559         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
1560         (WebKit::WebNotificationClient::hasPendingPermissionRequests):
1561         * WebProcess/WebCoreSupport/WebNotificationClient.h:
1562
1563 2015-03-01  Antti Koivisto  <antti@apple.com>
1564
1565         Enable new disk cache on iOS
1566         https://bugs.webkit.org/show_bug.cgi?id=142148
1567
1568         Reviewed by Sam Weinig.
1569
1570         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
1571
1572             iOS build fix.
1573
1574         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
1575         (WebKit::registerUserDefaultsIfNeeded):
1576
1577             Disable the efficacy logging by default for now. It has significant performance impact.
1578
1579         * config.h:
1580
1581             Enable it.
1582
1583 2015-02-28  Anders Carlsson  <andersca@apple.com>
1584
1585         WebsiteDataStore should handle fetching and deleting local storage data
1586         https://bugs.webkit.org/show_bug.cgi?id=142137
1587
1588         Reviewed by Sam Weinig.
1589
1590         * UIProcess/Storage/StorageManager.cpp:
1591         (WebKit::StorageManager::deleteEntriesForOrigins):
1592         Add a new function that deletes entries from multiple origins.
1593
1594         * UIProcess/Storage/StorageManager.h:
1595         Add new members.
1596
1597         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1598         (WebKit::WebsiteDataStore::fetchData):
1599         Fetch local storage data as well.
1600
1601         (WebKit::WebsiteDataStore::removeData):
1602         Delete local storage data as well.
1603
1604 2015-02-28  Anders Carlsson  <andersca@apple.com>
1605
1606         Fetch cache origins from the network process
1607         https://bugs.webkit.org/show_bug.cgi?id=142135
1608
1609         Reviewed by Dan Bernstein.
1610
1611         * NetworkProcess/NetworkProcess.cpp:
1612         (WebKit::cfURLCacheOrigins):
1613         Add a new helper function that returns a vector of CFURL cache origins.
1614
1615         (WebKit::fetchDiskCacheOrigins):
1616         Fetch the disk cache origins and pass them along to the completion handler. Currently we don't handle the new disk cache.
1617
1618         (WebKit::NetworkProcess::fetchWebsiteData):
1619         Create a callback aggregator and fetch disk cache origins if we're asked for it.
1620
1621         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1622         (WebKit::computeNetworkProcessAccessTypeForDataFetch):
1623         New helper function that computes if we need to launch the network process in order to fetch data.
1624
1625         (WebKit::WebsiteDataStore::fetchData):
1626         Fetch website data from the network process as well.
1627
1628 2015-02-28  Anders Carlsson  <andersca@apple.com>
1629
1630         Simplify WebResourceCacheManagerCFNet.mm code
1631         https://bugs.webkit.org/show_bug.cgi?id=142134
1632
1633         Reviewed by Dan Bernstein.
1634
1635         - ENABLE(CACHE_PARTITIONING) is always true on Mac and iOS, so remove those #ifdefs.
1636         - Make cfURLCacheHostNamesWithCallback and clearCFURLCacheForHostNames public
1637           so they can be used by the new WebsiteDataStore code in an upcoming patch.
1638         - Change cfURLCacheHostNamesWithCallback to take an std::function instead of a block.
1639
1640         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1641         (WebKit::WebResourceCacheManager::getCacheOrigins):
1642         * WebProcess/ResourceCache/WebResourceCacheManager.h:
1643         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm:
1644         (WebKit::partitionName):
1645         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
1646         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
1647         (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Deleted.
1648
1649 2015-02-28  Commit Queue  <commit-queue@webkit.org>
1650
1651         Unreviewed, rolling out r180804.
1652         https://bugs.webkit.org/show_bug.cgi?id=142131
1653
1654         Broke nightlies (Requested by ap on #webkit).
1655
1656         Reverted changeset:
1657
1658         "[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API"
1659         https://bugs.webkit.org/show_bug.cgi?id=141176
1660         http://trac.webkit.org/changeset/180804
1661
1662 2015-02-27  Hunseop Jeong  <hs85.jeong@samsung.com>
1663
1664         [EFL][GTK] Fix build break after r180790,180798 
1665         https://bugs.webkit.org/show_bug.cgi?id=142127
1666
1667         Reviewed by Gyuyoung Kim.
1668
1669         * CMakeLists.txt:
1670
1671 2015-02-27  Chris Dumez  <cdumez@apple.com>
1672
1673         [WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API
1674         https://bugs.webkit.org/show_bug.cgi?id=141176
1675
1676         Reviewed by Sam Weinig.
1677
1678         Drop legacy WKBundlePageDiagnosticLoggingClient WK2 API as we are now
1679         exposing this functionality via WKPageDiagnosticLoggingClient.h on
1680         UIProcess side. The client-side has already been ported over.
1681
1682         * CMakeLists.txt:
1683         * Shared/API/c/WKSharedAPICast.h:
1684         (WebKit::toAPI): Deleted.
1685         (WebKit::toDiagnosticLoggingResultType): Deleted.
1686         * UIProcess/API/C/WKAPICast.h:
1687         (WebKit::toAPI):
1688         * UIProcess/API/C/WKDiagnosticLoggingResultType.h: Renamed from Source/WebKit2/Shared/API/c/WKDiagnosticLoggingResultType.h.
1689         * WebKit2.xcodeproj/project.pbxproj:
1690         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1691         (WKBundlePageSetDiagnosticLoggingClient): Deleted.
1692         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1693         * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Removed.
1694         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Removed.
1695         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Removed.
1696         * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
1697         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
1698         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
1699         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
1700         * WebProcess/WebPage/WebPage.cpp:
1701         (WebKit::WebPage::WebPage):
1702         (WebKit::WebPage::close):
1703         (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): Deleted.
1704         * WebProcess/WebPage/WebPage.h:
1705         (WebKit::WebPage::injectedBundleDiagnosticLoggingClient): Deleted.
1706
1707 2015-02-27  Anders Carlsson  <andersca@apple.com>
1708
1709         Rename WebResourceCacheManagerCFNet.cpp to WebResourceCacheManagerCFNet.mm
1710
1711         Rubber-stamped by Dan Bernstein.
1712
1713         This will let us use lambda to block conversion in a subsequent patch.
1714
1715         * WebKit2.xcodeproj/project.pbxproj:
1716         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm: Renamed from Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp.
1717
1718 2015-02-27  Commit Queue  <commit-queue@webkit.org>
1719
1720         Unreviewed, rolling out r180203 and r180210.
1721         https://bugs.webkit.org/show_bug.cgi?id=142116
1722
1723         broke process suspension and tile map (Requested by thorton on
1724         #webkit).
1725
1726         Reverted changesets:
1727
1728         "Adopt CAMachPort-as-layer-contents"
1729         https://bugs.webkit.org/show_bug.cgi?id=141687
1730         http://trac.webkit.org/changeset/180203
1731
1732         "Fix the !USE(IOSURFACE) build"
1733         http://trac.webkit.org/changeset/180210
1734
1735 2015-02-27  Sam Weinig  <sam@webkit.org>
1736
1737         Add WebKit2 SPI to create a DOM File object
1738         https://bugs.webkit.org/show_bug.cgi?id=142109
1739
1740         Reviewed by Tim Horton.
1741
1742         Add a new handle type for exposing a DOM File object to script. Follow
1743         the pattern of WKBundleNodeHandleRef and WKBundleRangeHandleRef with the
1744         new class WKBundleFileHandleRef. It can be created for a specific path,
1745         and then the JS wrapper can be obtained via WKBundleFrameGetJavaScriptWrapperForFileForWorld.
1746
1747         * Shared/API/APIObject.h:
1748         * Shared/API/c/WKBase.h:
1749         * WebKit2.xcodeproj/project.pbxproj:
1750         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1751         * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: Added.
1752         (WKBundleFileHandleGetTypeID):
1753         (WKBundleFileHandleCreateWithPath):
1754         * WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: Added.
1755         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1756         (WKBundleFrameGetJavaScriptWrapperForFileForWorld):
1757         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
1758         * WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.cpp: Added.
1759         (WebKit::domHandleCache):
1760         (WebKit::InjectedBundleFileHandle::create):
1761         (WebKit::InjectedBundleFileHandle::getOrCreate):
1762         (WebKit::InjectedBundleFileHandle::InjectedBundleFileHandle):
1763         (WebKit::InjectedBundleFileHandle::~InjectedBundleFileHandle):
1764         (WebKit::InjectedBundleFileHandle::coreFile):
1765         * WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.h: Added.
1766         * WebProcess/WebPage/WebFrame.cpp:
1767         (WebKit::WebFrame::jsWrapperForWorld):
1768         * WebProcess/WebPage/WebFrame.h:
1769
1770 2015-02-27  Beth Dakin  <bdakin@apple.com>
1771
1772         Lookup panel dismisses when pages are loading in other tabs/windows
1773         https://bugs.webkit.org/show_bug.cgi?id=142104
1774         -and corresponding-
1775         rdar://problem/19882137
1776
1777         Reviewed by Tim Horton.
1778
1779         Until rdar://problem/13875766 is resolved, we should only call into Lookup and 
1780         DataDetectors for key windows.
1781         * UIProcess/API/mac/WKView.mm:
1782         (-[WKView _dismissContentRelativeChildWindows]):
1783
1784 2015-02-27  Anders Carlsson  <andersca@apple.com>
1785
1786         Add infrastructure for handling website data in the network process
1787         https://bugs.webkit.org/show_bug.cgi?id=142092
1788
1789         Reviewed by Andreas Kling.
1790
1791         * NetworkProcess/NetworkProcess.cpp:
1792         (WebKit::NetworkProcess::fetchWebsiteData):
1793         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
1794         Send back "Did" messages without actually doing anything for now.
1795
1796         * NetworkProcess/NetworkProcess.h:
1797         Add new members.
1798
1799         * NetworkProcess/NetworkProcess.messages.in:
1800         Add FetchWebsiteData and DeleteWebsiteDataForOrigins messages.
1801
1802         * UIProcess/Network/NetworkProcessProxy.cpp:
1803         (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
1804         Assert that all maps are empty.
1805
1806         (WebKit::NetworkProcessProxy::fetchWebsiteData):
1807         (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
1808         Add callbacks and send fetch and delete messages respectively.
1809
1810         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
1811         Make sure to invoke all callbacks.
1812
1813         (WebKit::NetworkProcessProxy::didFetchWebsiteData):
1814         Find the callback and invoke it.
1815
1816         (WebKit::NetworkProcessProxy::didDeleteWebsiteDataForOrigins):
1817         Ditto.
1818
1819         * UIProcess/Network/NetworkProcessProxy.h:
1820         Add new members.
1821
1822         * UIProcess/Network/NetworkProcessProxy.messages.in:
1823         Add DidFetchWebsiteData and DidDeleteWebsiteDataForOrigins messages.
1824
1825         * UIProcess/WebProcessProxy.cpp:
1826         (WebKit::WebProcessProxy::connectionDidClose):
1827         Just pass an empty WebsiteData object.
1828
1829 2015-02-26  Enrica Casucci  <enrica@apple.com>
1830
1831         [WK2] REGRESSION(r180465): WebKit::WebPage::editorState() triggers a layout.
1832         https://bugs.webkit.org/show_bug.cgi?id=142015
1833
1834         Reviewed by Alexey Proskuryakov.
1835
1836         We no longer compute the font information at selection
1837         when we update the editor state.
1838         Instead, we request the font information only when the selection
1839         changes and the font panel is visible.
1840         I added an observer to be notified of the font panel visibility
1841         changes to update NSFontManager to reflect the font at the
1842         current selection.
1843
1844         * Shared/EditorState.cpp:
1845         (WebKit::EditorState::encode):
1846         (WebKit::EditorState::decode):
1847         * Shared/EditorState.h:
1848         (WebKit::EditorState::EditorState):
1849         * UIProcess/API/mac/WKView.mm:
1850         (-[WKView updateFontPanelIfNeeded]):
1851         (-[WKView _selectionChanged]):
1852         (-[WKView addWindowObserversForWindow:]):
1853         (-[WKView removeWindowObservers]):
1854         (-[WKView observeValueForKeyPath:ofObject:change:context:]):
1855         * UIProcess/WebPageProxy.h:
1856         * UIProcess/WebPageProxy.messages.in:
1857         * UIProcess/mac/WebPageProxyMac.mm:
1858         (WebKit::WebPageProxy::fontAtSelection):
1859         (WebKit::WebPageProxy::fontAtSelectionCallback):
1860         * WebProcess/WebPage/WebPage.h:
1861         * WebProcess/WebPage/WebPage.messages.in:
1862         * WebProcess/WebPage/mac/WebPageMac.mm:
1863         (WebKit::WebPage::platformEditorState):
1864         (WebKit::WebPage::fontAtSelection):
1865
1866 2015-02-27  Brady Eidson  <beidson@apple.com>
1867
1868         Add API to remove a single content filter.
1869         <rdar://problem/19977764> and https://bugs.webkit.org/show_bug.cgi?id=142088
1870
1871         Reviewed by Sam Weinig.
1872
1873         * Shared/WebPageGroupData.h:
1874
1875         * UIProcess/API/C/WKPageGroup.cpp:
1876         (WKPageGroupRemoveUserContentFilter):
1877
1878         * UIProcess/API/C/WKPageGroup.h:
1879         * UIProcess/API/Cocoa/WKUserContentController.mm:
1880         (-[WKUserContentController _removeUserContentFilter:]):
1881
1882         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
1883         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
1884         (WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
1885         (WebKit::WebUserContentControllerProxy::addProcess):
1886         (WebKit::WebUserContentControllerProxy::addUserContentFilter):
1887         (WebKit::WebUserContentControllerProxy::removeUserContentFilter):
1888         (WebKit::WebUserContentControllerProxy::removeAllUserContentFilters):
1889         * UIProcess/UserContent/WebUserContentControllerProxy.h:
1890
1891         * UIProcess/WebPageGroup.cpp:
1892         (WebKit::WebPageGroup::addUserContentFilter):
1893         (WebKit::WebPageGroup::removeUserContentFilter):
1894         * UIProcess/WebPageGroup.h:
1895
1896         * WebProcess/UserContent/WebUserContentController.cpp:
1897         (WebKit::WebUserContentController::removeUserContentFilter):
1898         * WebProcess/UserContent/WebUserContentController.h:
1899         * WebProcess/UserContent/WebUserContentController.messages.in:
1900
1901         * WebProcess/WebPage/WebPageGroupProxy.cpp:
1902         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
1903         (WebKit::WebPageGroupProxy::removeUserContentFilter):
1904         * WebProcess/WebPage/WebPageGroupProxy.h:
1905         * WebProcess/WebPage/WebPageGroupProxy.messages.in:
1906
1907 2015-02-26  Anders Carlsson  <andersca@apple.com>
1908
1909         Add API to remove all website data for the given data records
1910         https://bugs.webkit.org/show_bug.cgi?id=142060
1911
1912         Reviewed by Beth Dakin.
1913
1914         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
1915         Add new method declaration.
1916
1917         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
1918         (toWebsiteDataRecords):
1919         Add a helper function that converts an NSArray of _WKWebsiteDataRecords to a Vector of WebsiteDataRecords.
1920
1921         (-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
1922         Call through to the underlying WebsiteDataStore.
1923
1924         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1925         (WebKit::WebsiteDataStore::removeData):
1926         Figure out which processes to call deleteWebsiteDataForOrigins for and do so. Add a callback aggregator so we can
1927         call the completion handler at the right time.
1928
1929         * UIProcess/WebsiteData/WebsiteDataStore.h:
1930         Add new members.
1931
1932         * WebProcess/WebProcess.cpp:
1933         (WebKit::WebProcess::deleteWebsiteDataForOrigins):
1934         Use the newly added MemoryCache member function to delete all resources matching the set of origins.
1935
1936 2015-02-26  Chris Dumez  <cdumez@apple.com>
1937
1938         Rename DatabaseManager::manager() to DatabaseManager::singleton()
1939         https://bugs.webkit.org/show_bug.cgi?id=142054
1940
1941         Reviewed by Ryosuke Niwa.
1942
1943         Rename DatabaseManager::manager() to DatabaseManager::singleton() as
1944         per coding style and use WTF::NeverDestroyed.
1945
1946         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1947         (WebKit::WebChromeClient::exceededDatabaseQuota):
1948         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
1949         (WebKit::WebDatabaseManager::initialize):
1950         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
1951         (WebKit::WebDatabaseManager::getDatabaseOrigins):
1952         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
1953         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
1954         (WebKit::WebDatabaseManager::deleteAllDatabases):
1955         (WebKit::WebDatabaseManager::setQuotaForOrigin):
1956         * WebProcess/WebPage/WebPage.cpp:
1957         (WebKit::WebPage::updatePreferences):
1958
1959 2015-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
1960
1961         [Mac] [iOS] Parsing support for -apple-trailing-word
1962         https://bugs.webkit.org/show_bug.cgi?id=141939
1963
1964         Reviewed by Andreas Kling.
1965
1966         * Configurations/FeatureDefines.xcconfig:
1967
1968 2015-02-26  Brady Eidson  <beidson@apple.com>
1969
1970         Make WKPageGroupRemoveAllUserContentFilters actually remove all user content filters
1971         https://bugs.webkit.org/show_bug.cgi?id=142047
1972
1973         Reviewed by Geoff Garen.
1974
1975         * UIProcess/API/C/WKPageGroup.cpp:
1976         (WKPageGroupRemoveAllUserContentFilters): Remove all content filters instead of removing all user scripts.
1977
1978 2015-02-25  Anders Carlsson  <andersca@apple.com>
1979
1980         Add (unused for now) code to delete website data for a set of origins
1981         https://bugs.webkit.org/show_bug.cgi?id=142019
1982
1983         Reviewed by Beth Dakin.
1984
1985         * UIProcess/WebProcessProxy.cpp:
1986         (WebKit::WebProcessProxy::~WebProcessProxy):
1987         Assert that there are no pending callbacks.
1988
1989         (WebKit::WebProcessProxy::connectionDidClose):
1990         Invoke all the didDeleteWebsiteDataForOrigins callbacks.
1991
1992         (WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins):
1993         Grab the didDeleteWebsiteDataForOrigins and invoke it.
1994
1995         (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
1996         Add the pending callback and send a DeleteWebsiteDataForOrigins to the web process.
1997
1998         * UIProcess/WebProcessProxy.h:
1999         Add new members.
2000
2001         * UIProcess/WebProcessProxy.messages.in:
2002         Add a DidDeleteWebsiteDataForOrigins message.
2003
2004         * WebProcess/WebProcess.cpp:
2005         (WebKit::WebProcess::deleteWebsiteDataForOrigins):
2006         For now, just send back a DidDeleteWebsiteDataForOrigins message.
2007
2008         * WebProcess/WebProcess.h:
2009         Add new members.
2010
2011         * WebProcess/WebProcess.messages.in:
2012         Add a DeleteWebsiteDataForOrigins message.
2013
2014 2015-02-25  Shivakumar JM  <shiva.jm@samsung.com>
2015
2016         Fix build warning in WebKit2/UIProcess module.
2017         https://bugs.webkit.org/show_bug.cgi?id=142014
2018
2019         Reviewed by Anders Carlsson.
2020
2021         Fix build warning by using UNUSED_PARAM macro.
2022
2023         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2024         (WebKit::computeWebProcessAccessTypeForDataFetch):
2025
2026 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
2027
2028         Clarify some resizing terminology in ScrollView/FrameView
2029         https://bugs.webkit.org/show_bug.cgi?id=141996
2030
2031         Reviewed by Zalan Bujtas.
2032
2033         ScrollableArea/ScrollView/FrameView had some confusing terminology around
2034         contentsResized/visibleContentsResized/fixedLayoutSizeChanged.
2035         
2036         Clarify this by distinguishing between:
2037         1. Available size changes because of
2038             i) non-overlay scrollbar presence
2039            ii) ScrollableArea frame change
2040         2. Removing fixedLayoutSizeChanged() and just treating it like an
2041            available size change.
2042            
2043         contentsResized() is relegated to simply being a hook that allows Mac to
2044         flash overlay scrollbars.
2045         
2046         The confusingly named visibleContentsResized() is now updateContentsSize(),
2047         and is the way that a ScrollableArea tells its subclasss that it should recompute
2048         the size of the contents (i.e. do a layout).
2049
2050         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2051         (WebKit::PDFPlugin::scrollbarStyleChanged): Call the base class method,
2052         which takes care of 
2053
2054 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
2055
2056         Use an enum for scrollbar style
2057         https://bugs.webkit.org/show_bug.cgi?id=141985
2058
2059         Reviewed by Beth Dakin.
2060         
2061         Switch to an enum class for the scrollbar style (normal or overlay).
2062         
2063         Sadly it still has to be passed as an int across the process boundary.
2064
2065         * UIProcess/PageClient.h:
2066         * UIProcess/WebPageProxy.cpp:
2067         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
2068         * UIProcess/mac/PageClientImpl.h:
2069         * UIProcess/mac/PageClientImpl.mm:
2070         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
2071         * WebProcess/Plugins/PDF/PDFPlugin.h:
2072         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2073         (WebKit::PDFPlugin::scrollbarStyleChanged):
2074         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2075         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
2076         * WebProcess/WebCoreSupport/WebChromeClient.h:
2077
2078 2015-02-24  Chris Dumez  <cdumez@apple.com>
2079
2080         [Mac][WK2] ASSERTION FAILED: m_sendPort in IPC::Connection::open()
2081         https://bugs.webkit.org/show_bug.cgi?id=141934
2082
2083         Reviewed by Darin Adler.
2084
2085         Speculative fix for "ASSERTION FAILED: m_sendPort" in
2086         IPC::Connection::open(). This assertion seems to indicate we ended
2087         up in IPC::Connection::open() with MACH_PORT_NULL as port.
2088
2089         I found that in XPCServiceInitializerDelegate::getConnectionIdentifier()
2090         we return true unconditionally, even though
2091         xpc_dictionary_copy_mach_send() can return MACH_PORT_NULL. This patch
2092         updates this method to add a check for MACH_PORT_NULL and return false
2093         in this case.
2094
2095         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
2096         (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
2097
2098 2015-02-24  Commit Queue  <commit-queue@webkit.org>
2099
2100         Unreviewed, rolling out r180599.
2101         https://bugs.webkit.org/show_bug.cgi?id=141998
2102
2103         Lots of new test failures (Requested by smfr on #webkit).
2104
2105         Reverted changeset:
2106
2107         "Parsing support for -webkit-trailing-word"
2108         https://bugs.webkit.org/show_bug.cgi?id=141939
2109         http://trac.webkit.org/changeset/180599
2110
2111 2015-02-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2112
2113         Fix build break on EFL and GTK port since r180585.
2114         https://bugs.webkit.org/show_bug.cgi?id=141994
2115
2116         Reviewed by Joseph Pecoraro.
2117
2118         * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
2119         (WebKit::WebsiteDataRecord::displayNameForOrigin):
2120         * UIProcess/WebsiteData/WebsiteDataRecord.h:
2121         (WebKit::WebsiteDataRecord::WebsiteDataRecord):
2122
2123 2015-02-24  Myles C. Maxfield  <mmaxfield@apple.com>
2124
2125         [Mac] [iOS] Parsing support for -apple-trailing-word
2126         https://bugs.webkit.org/show_bug.cgi?id=141939
2127
2128         Reviewed by Andreas Kling.
2129
2130         * Configurations/FeatureDefines.xcconfig:
2131
2132 2015-02-24  Csaba Osztrogonác  <ossy@webkit.org>
2133
2134         Buildfix after r180585.
2135
2136         * CMakeLists.txt:
2137
2138 2015-02-24  Anders Carlsson  <andersca@apple.com>
2139
2140         Pass _WKWebsiteDataRecord objects to the fetchData completion handler
2141         https://bugs.webkit.org/show_bug.cgi?id=141984
2142
2143         Reviewed by Andreas Kling.
2144
2145         * Shared/Cocoa/APIObject.mm:
2146         (API::Object::newObject):
2147         Create _WKWebsiteDataRecord objects for WebsiteDataRecord API objects.
2148
2149         * UIProcess/API/APIWebsiteDataRecord.h:
2150         Add WebsiteDataRecord getter.
2151
2152         * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
2153         Add displayName and dataTypes properties.
2154
2155         * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm:
2156         (dataTypesToString):
2157         Helper function to convert dataTypes bit-fields to strings.
2158
2159         (-[_WKWebsiteDataRecord description]):
2160         Include the display name and data types in the description.
2161
2162         (-[_WKWebsiteDataRecord displayName]):
2163         Return the display name.
2164
2165         (-[_WKWebsiteDataRecord dataTypes]):
2166         Return the data types.
2167
2168         * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h:
2169         (WebKit::toWebsiteDataTypes):
2170         Move this here from _WKWebsiteDataStore.mm.
2171
2172         (WebKit::toWKWebsiteDataTypes):
2173         Add new function to convert WebsiteDataTypes to WKWebsiteDataTypes.
2174
2175         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
2176         (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
2177         (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
2178         Qualify toWebsiteDataTypes calls.
2179
2180         * UIProcess/WebsiteData/WebsiteDataRecord.cpp: Added.
2181         (WebKit::WebsiteDataRecord::displayNameForOrigin):
2182         New helper that returns a display name given an origin.
2183
2184         (WebKit::WebsiteDataRecord::add):
2185         Add the origin as well as the type.
2186
2187         * UIProcess/WebsiteData/WebsiteDataRecord.h:
2188         Add new members.
2189
2190         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2191         (WebKit::WebsiteDataStore::fetchData):
2192         Loop through the entries and add them to the m_websiteDataRecords hash map, which
2193         is keyed off of the display name. Pass the m_websiteDataRecords values to the completion handler.
2194
2195         * WebKit2.xcodeproj/project.pbxproj:
2196
2197 2015-02-24  Csaba Osztrogonác  <ossy@webkit.org>
2198
2199         One more buildfix after r180575.
2200
2201         * UIProcess/WebProcessProxy.cpp:
2202         (WebKit::WebProcessProxy::connectionDidClose):
2203
2204 2015-02-24  Csaba Osztrogonác  <ossy@webkit.org>
2205
2206         URTBF after 180575.
2207
2208         * CMakeLists.txt:
2209
2210 2015-02-24  Anders Carlsson  <andersca@apple.com>
2211
2212         Implement more of the data fetching API
2213         https://bugs.webkit.org/show_bug.cgi?id=141975
2214
2215         Reviewed by Andreas Kling.
2216
2217         * Shared/WebsiteData/WebsiteData.cpp: Added.
2218         (WebKit::WebsiteData::Entry::encode):
2219         (WebKit::WebsiteData::Entry::decode):
2220         (WebKit::WebsiteData::encode):
2221         (WebKit::WebsiteData::decode):
2222         * Shared/WebsiteData/WebsiteData.h: Added.
2223         Add a new WebsiteData class that will store website data. Currently it only stores
2224         origin + website data type, but in the future it is going to store more things, like 
2225         host names that have cookies associated.
2226
2227         * UIProcess/WebProcessProxy.cpp:
2228         (WebKit::WebProcessProxy::~WebProcessProxy):
2229         Assert that we don't have any pending fetch data callbacks.
2230
2231         (WebKit::WebProcessProxy::connectionDidClose):
2232         Invoke any pending fetch website data callbacks.
2233
2234         (WebKit::WebProcessProxy::didFetchWebsiteData):
2235         Grab the callback and invoke it.
2236
2237         (WebKit::WebProcessProxy::fetchWebsiteData):
2238         Set up a pending callback and send a FetchWebsiteData message to the web process.
2239
2240         * UIProcess/WebProcessProxy.h:
2241         Add new member.
2242
2243         * UIProcess/WebProcessProxy.messages.in:
2244         Add a DidFetchWebsiteData message.
2245
2246         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2247         (WebKit::computeWebProcessAccessTypeForDataFetch):
2248         Return the web process access type for the given set of data types.
2249
2250         (WebKit::WebsiteDataStore::fetchData):
2251         Set up a callback aggregator that will assemble the needed website data into a vector of website data records.
2252
2253         (WebKit::computeNetworkProcessAccessTypeForDataRemoval):
2254         (WebKit::computeWebProcessAccessTypeForDataRemoval):
2255         Rename these functions to indicate that they are about data removal.
2256
2257         (WebKit::WebsiteDataStore::removeData):
2258         Append "ForDataRemoval" to function calls.
2259
2260         * WebKit2.xcodeproj/project.pbxproj:
2261         Add new files.
2262
2263         * WebProcess/Storage/StorageAreaMap.cpp:
2264         (WebKit::StorageAreaMap::StorageAreaMap):
2265         Tighten types.
2266
2267         * WebProcess/WebProcess.cpp:
2268         (WebKit::WebProcess::fetchWebsiteData):
2269         For now, just fetch memory cache data.
2270
2271         * WebProcess/WebProcess.h:
2272         Add new members.
2273
2274         * WebProcess/WebProcess.messages.in:
2275         Add FetchWebsiteData message.
2276
2277 2015-02-24  Yusuke Suzuki  <utatane.tea@gmail.com>
2278
2279         REGRESSION(r179429): Can't type comments in Facebook
2280         https://bugs.webkit.org/show_bug.cgi?id=141859
2281
2282         Reviewed by Brent Fulgham.
2283
2284         Enable SymbolEnabled in inspector context.
2285
2286         * Shared/WebPreferencesDefinitions.h:
2287         * UIProcess/API/C/WKPreferences.cpp:
2288         (WKPreferencesSetJavaScriptRuntimeFlags):
2289         (WKPreferencesGetJavaScriptRuntimeFlags):
2290         (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
2291         (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
2292         * UIProcess/API/C/WKPreferencesRef.h:
2293         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2294         * UIProcess/API/Cocoa/WKPreferences.mm:
2295         (-[WKPreferences _javaScriptRuntimeFlags]):
2296         (-[WKPreferences _setJavaScriptRuntimeFlags:]):
2297         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2298         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2299         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2300         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2301         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2302         * UIProcess/mac/WebInspectorProxyMac.mm:
2303         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2304         * WebProcess/WebPage/WebPage.cpp:
2305         (WebKit::WebPage::updatePreferences):
2306         * mac/WebKit2.order:
2307
2308 2015-02-24  Anders Carlsson  <andersca@apple.com>
2309
2310         Tighten up some SecurityOrigin related code, use references where possible
2311         https://bugs.webkit.org/show_bug.cgi?id=141971
2312
2313         Reviewed by Antti Koivisto.
2314
2315         * DatabaseProcess/DatabaseProcess.cpp:
2316         (WebKit::DatabaseProcess::getIndexedDatabaseOrigins):
2317         * Shared/SecurityOriginData.cpp:
2318         (WebKit::SecurityOriginData::fromSecurityOrigin):
2319         (WebKit::SecurityOriginData::securityOrigin):
2320         * Shared/SecurityOriginData.h:
2321         * UIProcess/Storage/StorageManager.cpp:
2322         (WebKit::StorageManager::createTransientLocalStorageMap):
2323         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2324         (WebKit::WebIDBServerConnection::WebIDBServerConnection):
2325         * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
2326         (WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):
2327         * WebProcess/Storage/StorageAreaMap.cpp:
2328         (WebKit::StorageAreaMap::create):
2329         (WebKit::StorageAreaMap::StorageAreaMap):
2330         (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
2331         (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
2332         * WebProcess/Storage/StorageAreaMap.h:
2333         * WebProcess/Storage/StorageNamespaceImpl.cpp:
2334         (WebKit::StorageNamespaceImpl::storageArea):
2335
2336 2015-02-24  Michael Catanzaro  <mcatanzaro@igalia.com>
2337
2338         Crash loading local file with WebPageProxy::loadAlternateHTMLString
2339         https://bugs.webkit.org/show_bug.cgi?id=141867
2340
2341         Reviewed by Anders Carlsson.
2342
2343         WebPageProxy::loadAlternateHTMLString needs to assume read access to unreachableURL as well
2344         as baseURL, because unreachableURL will get added to the back/forward list, causing us to
2345         crash later on when we notice the unexpected URL received in checkURLReceivedFromWebProcess.
2346
2347         * UIProcess/WebPageProxy.cpp:
2348         (WebKit::WebPageProxy::loadAlternateHTMLString):
2349
2350 2015-02-24  Ryuan Choi  <ryuan.choi@navercorp.com>
2351
2352         [EFL] Add message APIs to communicate between ewk_context and extensions
2353         https://bugs.webkit.org/show_bug.cgi?id=137660
2354
2355         Reviewed by Gyuyoung Kim.
2356
2357         * PlatformEfl.cmake: Added dependencies for ewk2UnitTestExtensionSample
2358         * UIProcess/API/efl/ewk_context.cpp:
2359         (EwkContext::EwkContext):
2360         (EwkContext::didReceiveMessageFromInjectedBundle):
2361         (EwkContext::setMessageFromExtensionCallback):
2362         (EwkContext::processReceivedMessageFromInjectedBundle):
2363         (ewk_context_message_post_to_extensions):
2364         (ewk_context_message_from_extensions_callback_set):
2365         (EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
2366         Deleted to split synchronouse message APIs from asynchronuous message APIs.
2367         ewebkit will not support this until there are requirements.
2368         (EwkContext::setMessageFromInjectedBundleCallback): Renamed to setMessageFromExtensionCallback.
2369         (ewk_context_message_post_to_injected_bundle): Renamed to ewk_context_message_post_to_extensions.
2370         (ewk_context_message_from_injected_bundle_callback_set): Renamed to ewk_context_message_from_injected_bundle_callback_set.
2371         * UIProcess/API/efl/ewk_context.h:
2372         * UIProcess/API/efl/ewk_context_private.h:
2373         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2374         Improved test case for ewk_context_new_with_extensions_path using the message APIs.
2375         (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
2376         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
2377         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2378         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
2379         (EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample): Deleted.
2380         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
2381         * UIProcess/API/efl/tests/extensions/extension_sample.cpp:
2382         Improved test case for ewk_context_new_with_extensions_path using the message APIs.
2383         * UIProcess/API/efl/tests/test_ewk2_context.cpp: Ditto.
2384         (EWK2ContextTestWithExtension::messageReceivedCallback):
2385         (EWK2ContextTestWithExtension::EWK2ContextTestWithExtension):
2386         (TEST_F):
2387         * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:
2388         (toEwkExtendion):
2389         (EwkExtension::EwkExtension):
2390         (EwkExtension::didCreatePage):
2391         (EwkExtension::willDestroyPage):
2392         (EwkExtension::didReceiveMessage):
2393         (EwkExtension::didReceiveMessageToPage):
2394         (ewk_extension_message_post): Implemented to post message to ewk_context.
2395         * WebProcess/InjectedBundle/API/efl/ewk_extension.h:
2396         * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h:
2397         (EwkExtension::bundle):
2398         * WebProcess/efl/ExtensionManagerEfl.cpp:
2399         (WebKit::ExtensionManagerEfl::initialize):
2400         Fixed the bug when there are different shared objects in extension path.
2401         This is spotted while improving test case.
2402
2403 2015-02-23  Commit Queue  <commit-queue@webkit.org>
2404
2405         Unreviewed, rolling out r180547 and r180550.
2406         https://bugs.webkit.org/show_bug.cgi?id=141957
2407
2408         Broke 10 Windows tests. (Requested by bfulgham_ on #webkit).
2409
2410         Reverted changesets:
2411
2412         "REGRESSION(r179429): Can't type comments in Facebook"
2413         https://bugs.webkit.org/show_bug.cgi?id=141859
2414         http://trac.webkit.org/changeset/180547
2415
2416         "Constructor returning null should construct an object instead
2417         of null"
2418         https://bugs.webkit.org/show_bug.cgi?id=141640
2419         http://trac.webkit.org/changeset/180550
2420
2421 2015-02-23  Ryosuke Niwa  <rniwa@webkit.org>
2422
2423         Disable font loading events until our implementation gets updated to match the latest spec
2424         https://bugs.webkit.org/show_bug.cgi?id=141938
2425
2426         Reviewed by Andreas Kling.
2427
2428         * Configurations/FeatureDefines.xcconfig:
2429
2430 2015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2431
2432         REGRESSION(r179429): Can't type comments in Facebook
2433         https://bugs.webkit.org/show_bug.cgi?id=141859
2434
2435         Reviewed by Geoffrey Garen.
2436
2437         Enable SymbolEnabled in inspector context.
2438
2439         * Shared/WebPreferencesDefinitions.h:
2440         * UIProcess/API/C/WKPreferences.cpp:
2441         (WKPreferencesSetJavaScriptRuntimeFlags):
2442         (WKPreferencesGetJavaScriptRuntimeFlags):
2443         (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
2444         (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
2445         * UIProcess/API/C/WKPreferencesRef.h:
2446         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2447         * UIProcess/API/Cocoa/WKPreferences.mm:
2448         (-[WKPreferences _javaScriptRuntimeFlags]):
2449         (-[WKPreferences _setJavaScriptRuntimeFlags:]):
2450         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2451         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2452         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2453         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2454         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2455         * UIProcess/mac/WebInspectorProxyMac.mm:
2456         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2457         * WebProcess/WebPage/WebPage.cpp:
2458         (WebKit::WebPage::updatePreferences):
2459         * mac/WebKit2.order:
2460
2461 2015-02-23  Benjamin Poulain  <bpoulain@apple.com>
2462
2463         [iOS WK2] The WebProcess keep scrolling pages based on the last velocity after scrolling has been interrupted
2464         https://bugs.webkit.org/show_bug.cgi?id=141933
2465         rdar://problem/18746673
2466         rdar://problem/19711490
2467
2468         Reviewed by Simon Fraser.
2469
2470         The bug happened like this:
2471         1) The user scroll the page. WKContentView tracks the velocity and send
2472            the update rect + velocity to the WebProcess.
2473         2) The user interupts the scrolling but does not commit to either scrolling
2474            again or cancelling the scrolling.
2475            Since we were not notified of this state, the WebProcess still believed
2476            the velocity is stable.
2477         3) With any paint update, the WebProcess would account for the last velocity
2478            and try to guess the best repaint area. This would drift endlessly out
2479            of the view since the view is not really moving.
2480
2481         This patch fixes the issue by adding special handling for interrupted scrolling.
2482
2483         Kudos to Kurt Revis for providing us the required APIs.
2484
2485         * Shared/VisibleContentRectUpdateInfo.h:
2486         (WebKit::operator==):
2487         We can no longer filter VisibleContentRectUpdateInfo ignoring the velocity.
2488
2489         Typically, UIScrollView would call -scrollViewDidScroll: before being interrupted.
2490         If we filter based on the VisibleContentRectUpdateInfo, we have two identical
2491         states differing only by the velocity. If we filter the second update, the WebProcess
2492         would never know the velocity should be zero.
2493
2494         * UIProcess/API/Cocoa/WKWebView.mm:
2495         (-[WKWebView _scrollViewDidInterruptDecelerating:]):
2496         We get this callback when scrolling is interrupted. We just need to clear
2497         the velocity and re-send a new update for the current state.
2498
2499         (-[WKWebView _updateVisibleContentRects]):
2500         Do not consider an interrupted scroll as a stable state. We don't know if scrolling
2501         will resume or will stop.
2502
2503         * UIProcess/ios/WKContentView.h:
2504         * UIProcess/ios/WKContentView.mm:
2505         (-[WKContentView didInterruptScrolling]):
2506
2507 2015-02-23  Anders Carlsson  <andersca@apple.com>
2508
2509         Add API for fetching website data records to _WKWebsiteDataStore
2510         https://bugs.webkit.org/show_bug.cgi?id=141926
2511
2512         Reviewed by Beth Dakin.
2513
2514         * UIProcess/API/APIWebsiteDataRecord.cpp:
2515         (API::WebsiteDataRecord::create):
2516         (API::WebsiteDataRecord::WebsiteDataRecord):
2517         * UIProcess/API/APIWebsiteDataRecord.h:
2518         Update to take a WebsiteDataRecord parameter.
2519
2520         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
2521         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
2522         (-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
2523         Call down to the WebsiteDataStore.
2524
2525         * UIProcess/WebsiteData/WebsiteDataRecord.h: Added.
2526         This will be the data-container part of WebsiteDataRecord, but it's currently empty.
2527
2528         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2529         (WebKit::WebsiteDataStore::fetchData):
2530         Just dispatch the completion handler for now.
2531
2532         * UIProcess/WebsiteData/WebsiteDataStore.h:
2533         Add new member.
2534
2535         * WebKit2.xcodeproj/project.pbxproj:
2536         Add new files.
2537
2538 2015-02-23  Chris Dumez  <cdumez@apple.com>
2539
2540         Add support for diagnostic logging messages sampling
2541         https://bugs.webkit.org/show_bug.cgi?id=141823
2542         <rdar://problem/19899030>
2543
2544         Reviewed by Andreas Kling.
2545
2546         Add support for diagnostic logging messages sampling to decrease the
2547         impact of diagnostic logging on CPU usage, while still getting useful
2548         overall results. This patch adds a ShouldSample argument to
2549         logDiagnosticMessage*() functions and logs 5% of the messages when
2550         sampling. Sampling is turned on for keys that are known to be verbose
2551         (e.g. per resource load logging).
2552
2553         On the page load test I am tracking, CPU usage caused by diagnostic
2554         logging went down to 0.3% of UIProcess from 2.8% with this change.
2555
2556         * NetworkProcess/NetworkProcess.cpp:
2557         (WebKit::NetworkProcess::logDiagnosticMessage):
2558         (WebKit::NetworkProcess::logDiagnosticMessageWithResult):
2559         (WebKit::NetworkProcess::logDiagnosticMessageWithValue):
2560         * NetworkProcess/NetworkProcess.h:
2561         * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:
2562         (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
2563         (WebKit::NetworkCacheStatistics::recordRetrievalFailure):
2564         (WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):
2565         * UIProcess/Network/NetworkProcessProxy.cpp:
2566         (WebKit::NetworkProcessProxy::logDiagnosticMessage):
2567         (WebKit::NetworkProcessProxy::logDiagnosticMessageWithResult):
2568         (WebKit::NetworkProcessProxy::logDiagnosticMessageWithValue):
2569         * UIProcess/Network/NetworkProcessProxy.h:
2570         * UIProcess/Network/NetworkProcessProxy.messages.in:
2571         * UIProcess/WebPageProxy.cpp:
2572         (WebKit::shouldLogDiagnosticMessage):
2573         (WebKit::WebPageProxy::logDiagnosticMessage):
2574         (WebKit::WebPageProxy::logDiagnosticMessageWithResult):
2575         (WebKit::WebPageProxy::logDiagnosticMessageWithValue):
2576         * UIProcess/WebPageProxy.h:
2577         * UIProcess/WebPageProxy.messages.in:
2578         * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
2579         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
2580         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
2581         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
2582         * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
2583         * WebProcess/WebPage/ios/WebPageIOS.mm:
2584         (WebKit::WebPage::willStartUserTriggeredZooming):
2585
2586 2015-02-23  Anders Carlsson  <andersca@apple.com>
2587
2588         Add a stubbed out _WKWebsiteDataRecord class
2589         https://bugs.webkit.org/show_bug.cgi?id=141919
2590
2591         Reviewed by Beth Dakin.
2592
2593         Also add the corresponding API::WebsiteDataRecord C++ class. A website data record is going to represent
2594         a set of associated websites and the types of website data that exist for said websites.
2595
2596         * Shared/API/APIObject.h:
2597         * UIProcess/API/APIWebsiteDataRecord.cpp: Added.
2598         * UIProcess/API/APIWebsiteDataRecord.h: Added.
2599         * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Added.
2600         * UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: Added.
2601         * UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: Added.
2602         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
2603         * WebKit2.xcodeproj/project.pbxproj:
2604
2605 2015-02-23  Timothy Horton  <timothy_horton@apple.com>
2606
2607         Reproducible crash in ViewGestureController::removeSwipeSnapshot()
2608         https://bugs.webkit.org/show_bug.cgi?id=141917
2609         <rdar://problem/19918590>
2610
2611         Reviewed by Brian Weinstein.
2612
2613         * UIProcess/mac/ViewGestureControllerMac.mm:
2614         (WebKit::ViewGestureController::removeSwipeSnapshot):
2615         If the snapshot was purged and we're showing a white snapshot, we won't
2616         be able to mark the (null) snapshot surface as volatile. Add a null check.
2617
2618 2015-02-23  Anders Carlsson  <andersca@apple.com>
2619
2620         Replace another straight-up cast with a toImpl call
2621         https://bugs.webkit.org/show_bug.cgi?id=141914
2622         rdar://problem/19913016
2623
2624         Reviewed by Andreas Kling.
2625
2626         This fixes a problem where Mail would not display message bodies.
2627
2628         * UIProcess/API/Cocoa/WKConnection.mm:
2629         (didReceiveMessage):
2630
2631 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
2632
2633         Scrollbars and ScrollAnimators must always have a ScrollableArea
2634         https://bugs.webkit.org/show_bug.cgi?id=141855
2635
2636         Reviewed by Simon Fraser.
2637         
2638         Change users of the scrollAnimator() method to expect a reference instead of a pointer.
2639
2640         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2641         (WebKit::PDFPlugin::createScrollbar):
2642         (WebKit::PDFPlugin::destroyScrollbar):
2643
2644 2015-02-20  Jessie Berlin  <jberlin@webkit.org>
2645
2646         Build fix after r180465.
2647
2648         * UIProcess/mac/PageClientImpl.h:
2649
2650 2015-02-20  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2651
2652         [GTK] Unreviewed build fix after r180449.
2653
2654         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
2655         (webkit_file_chooser_request_get_selected_files):
2656
2657 2015-02-20  Enrica Casucci  <enrica@apple.com>
2658
2659         [WK2] Add support for font panel on OS X.
2660         https://bugs.webkit.org/show_bug.cgi?id=141777
2661
2662         Reviewed by Tim Horton.
2663
2664         This patch adds the necessary hooks to WKView to support
2665         the font panel. It also includes refactoring of WebPage::editorState
2666         and WebPageProxy::editorStateChanged to separate the different platform
2667         specific tasks.
2668
2669         * Shared/EditorState.cpp:
2670         (WebKit::EditorState::encode):
2671         (WebKit::EditorState::decode):
2672         * Shared/EditorState.h:
2673         (WebKit::EditorState::EditorState):
2674         * UIProcess/API/mac/WKView.mm:
2675         (-[WKView _selectionChanged]):
2676         (-[WKView changeFont:]):
2677         * UIProcess/API/mac/WKViewInternal.h:
2678         * UIProcess/PageClient.h:
2679         * UIProcess/WebPageProxy.cpp:
2680         (WebKit::WebPageProxy::editorStateChanged): Deleted.
2681         * UIProcess/WebPageProxy.h:
2682         * UIProcess/efl/WebPageProxyEfl.cpp:
2683         (WebKit::WebPageProxy::editorStateChanged):
2684         * UIProcess/gtk/WebPageProxyGtk.cpp:
2685         (WebKit::WebPageProxy::editorStateChanged):
2686         * UIProcess/ios/WebPageProxyIOS.mm:
2687         (WebKit::WebPageProxy::editorStateChanged):
2688         * UIProcess/mac/PageClientImpl.h:
2689         * UIProcess/mac/PageClientImpl.mm:
2690         (WebKit::PageClientImpl::selectionDidChange):
2691         * UIProcess/mac/WebPageProxyMac.mm:
2692         (WebKit::WebPageProxy::setFont):
2693         (WebKit::WebPageProxy::editorStateChanged):
2694         * WebProcess/WebPage/WebPage.cpp:
2695         (WebKit::WebPage::editorState):
2696         * WebProcess/WebPage/WebPage.h:
2697         * WebProcess/WebPage/WebPage.messages.in:
2698         * WebProcess/WebPage/efl/WebPageEfl.cpp:
2699         (WebKit::WebPage::platformEditorState):
2700         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
2701         (WebKit::WebPage::platformEditorState):
2702         * WebProcess/WebPage/ios/WebPageIOS.mm:
2703         (WebKit::WebPage::platformEditorState):
2704         * WebProcess/WebPage/mac/WebPageMac.mm:
2705         (WebKit::WebPage::platformEditorState):
2706         (WebKit::WebPage::setFont):
2707
2708 2015-02-20  Chris Dumez  <cdumez@apple.com>
2709
2710         [WK2] Add more detailed diagnostic logging for measuring network cache efficacy
2711         https://bugs.webkit.org/show_bug.cgi?id=141803
2712         <rdar://problem/19632080>
2713
2714         Reviewed by Antti Koivisto.
2715
2716         Add more detailed diagnostic logging for measuring network cache
2717         efficacy.
2718
2719         We want to know the reason the network cache is being by-passed, why
2720         the network cache decided not to cache a response and why it cannot
2721         reuse a cache entry.
2722
2723         This patch adds a new "UncachedReason" table to the SQLite database
2724         to store the reason the network cache is deciding not to cache a
2725         given response. This information is used later, when the resource is
2726         requested again to log the reason why the request cannot be satistied
2727         by the cache.
2728
2729         * NetworkProcess/cache/NetworkCache.cpp:
2730         (WebKit::decodeStorageEntry):
2731         (WebKit::canRetrieve):
2732         (WebKit::NetworkCache::retrieve):
2733         (WebKit::canStore):
2734         (WebKit::NetworkCache::store):
2735         * NetworkProcess/cache/NetworkCache.h:
2736         * NetworkProcess/cache/NetworkCacheStatistics.h:
2737         * NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:
2738         (WebKit::NetworkCacheStatistics::initialize):
2739         (WebKit::NetworkCacheStatistics::recordNotCachingResponse):
2740         (WebKit::retrieveDecisionToDiagnosticKey):
2741         (WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
2742         (WebKit::storeDecisionToDiagnosticKey):
2743         (WebKit::NetworkCacheStatistics::recordRetrievalFailure):
2744         (WebKit::cachedEntryReuseFailureToDiagnosticKey):
2745         (WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):
2746         (WebKit::NetworkCacheStatistics::queryWasEverRequested):
2747         (WebKit::NetworkCacheStatistics::clear):
2748
2749 2015-02-20  Anders Carlsson  <andersca@apple.com>
2750
2751         API::String should just be a simple wrapper for WTF strings
2752         https://bugs.webkit.org/show_bug.cgi?id=141852
2753
2754         Reviewed by Beth Dakin.
2755
2756         Expose a StringView member function on API::String. Move all the WKString API implementations to WKString.cpp.
2757
2758         * Shared/API/APIString.h:
2759         * Shared/API/c/WKString.cpp:
2760         (WKStringIsEmpty):
2761         (WKStringGetLength):
2762         (WKStringGetCharacters):
2763         (WKStringGetMaximumUTF8CStringSize):
2764         (WKStringGetUTF8CString):
2765         (WKStringIsEqual):
2766         (WKStringIsEqualToUTF8CString):
2767         (WKStringIsEqualToUTF8CStringIgnoringCase):
2768
2769 2015-02-20  Anders Carlsson  <andersca@apple.com>
2770
2771         API::String::string() needs to return an isolated string copy
2772         https://bugs.webkit.org/show_bug.cgi?id=141846
2773
2774         Reviewed by Tim Horton.
2775
2776         Since we can expose API::String objects as NSStrings now, we need to make sure that
2777         we return copied strings so we won't mess up the StringImpl refcounts.
2778
2779         * Shared/API/APIString.h:
2780
2781 2015-02-20  Alexey Proskuryakov  <ap@apple.com>
2782
2783         Remove svn:keywords property.
2784
2785         As far as I can tell, the property had no effect on any of these files, but also,
2786         when it has effect it's likely harmful.
2787
2788         * Platform/spi/ios/DataDetectorsUISPI.h: Removed property svn:keywords.
2789         * Platform/spi/ios/ManagedConfigurationSPI.h: Removed property svn:keywords.
2790         * Platform/spi/ios/TextInputSPI.h: Removed property svn:keywords.
2791         * Scripts/webkit/LegacyMessageReceiver-expected.cpp: Removed property svn:keywords.
2792         * Scripts/webkit/LegacyMessages-expected.h: Removed property svn:keywords.
2793         * Scripts/webkit/MessageReceiver-expected.cpp: Removed property svn:keywords.
2794         * Scripts/webkit/MessageReceiverSuperclass-expected.cpp: Removed property svn:keywords.
2795         * Scripts/webkit/Messages-expected.h: Removed property svn:keywords.
2796         * Scripts/webkit/MessagesSuperclass-expected.h: Removed property svn:keywords.
2797         * UIProcess/ios/PageClientImplIOS.h: Removed property svn:keywords.
2798         * UIProcess/ios/WKActionSheet.h: Removed property svn:keywords.
2799         * UIProcess/ios/WKActionSheetAssistant.h: Removed property svn:keywords.
2800         * UIProcess/ios/WKContentView.h: Removed property svn:keywords.
2801         * UIProcess/ios/WKContentViewInteraction.h: Removed property svn:keywords.
2802         * UIProcess/ios/WKGeolocationProviderIOS.h: Removed property svn:keywords.
2803         * UIProcess/ios/WKScrollView.h: Removed property svn:keywords.
2804         * UIProcess/mac/PageClientImpl.h: Removed property svn:keywords.
2805         * UIProcess/mac/WKPrintingView.h: Removed property svn:keywords.
2806         * UIProcess/mac/WKTextInputWindowController.h: Removed property svn:keywords.
2807         * WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Removed property svn:keywords.
2808
2809 2015-02-20  Csaba Osztrogonác  <ossy@webkit.org>
2810
2811         EFL URTBF
2812
2813         * Platform/efl/DispatchQueueEfl.cpp:
2814
2815 2015-02-20  Csaba Osztrogonác  <ossy@webkit.org>
2816
2817         URTBF after r180410, WorkQueue.h is in WTF now.
2818
2819         * Platform/efl/DispatchQueueWorkItemEfl.h:
2820
2821 2015-02-20  Anders Carlsson  <andersca@apple.com>
2822
2823         Use toAPI when returning the object graph as a WKTypeRef
2824         https://bugs.webkit.org/show_bug.cgi?id=141841
2825
2826         Reviewed by Sam Weinig.
2827
2828         * UIProcess/API/Cocoa/WKProcessGroup.mm:
2829         (getInjectedBundleInitializationUserData):
2830
2831 2015-02-20  Eric Carlson  <eric.carlson@apple.com>
2832
2833         [iOS] cleanup AirPlay code
2834         https://bugs.webkit.org/show_bug.cgi?id=141811
2835
2836         Reviewed by Jer Noble.
2837
2838         * Configurations/FeatureDefines.xcconfig: IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.
2839         * WebProcess/WebPage/WebPage.cpp:
2840         (WebKit::WebPage::updatePreferences): Ditto.
2841
2842 2015-02-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2843
2844         [WK2][EFL] Fix the build after r180362
2845         https://bugs.webkit.org/show_bug.cgi?id=141836
2846
2847         Reviewed by Carlos Garcia Campos.
2848
2849         As r180409, EFL port needs to add missing includes for several features,
2850         and needs to have a specific implementation of toAPI/toImple for EFL port.
2851
2852         * UIProcess/API/C/WKBatteryManager.cpp:
2853         * UIProcess/API/C/WKPage.cpp:
2854         * UIProcess/API/C/efl/WKAPICastEfl.h:
2855         (WebKit::toAPI):
2856         (WebKit::toImpl):
2857         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
2858         * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
2859         * UIProcess/efl/WebUIPopupMenuClient.cpp:
2860         * UIProcess/efl/WebViewEfl.cpp:
2861         * WebProcess/efl/ExtensionManagerEfl.cpp:
2862
2863 2015-02-20  Antti Koivisto  <antti@apple.com>
2864
2865         Move WorkQueue from WK2 to WTF
2866         https://bugs.webkit.org/show_bug.cgi?id=141797
2867
2868         Reviewed by Anders Carlsson.
2869
2870         * CMakeLists.txt:
2871         * DatabaseProcess/DatabaseProcess.h:
2872         * Platform/IPC/Connection.h:
2873         * Platform/WorkQueue.cpp: Removed.
2874         * Platform/WorkQueue.h: Removed.
2875         * Platform/efl/WorkQueueEfl.cpp: Removed.
2876         * Platform/gtk/WorkQueueGtk.cpp: Removed.
2877         * Platform/mac/WorkQueueMac.cpp: Removed.
2878         * PlatformEfl.cmake:
2879         * PlatformGTK.cmake:
2880         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2881         * UIProcess/Launcher/ProcessLauncher.cpp:
2882         * UIProcess/Storage/LocalStorageDatabase.cpp:
2883         * UIProcess/Storage/LocalStorageDatabase.h:
2884         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2885         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
2886         * UIProcess/Storage/StorageManager.cpp:
2887         * UIProcess/Storage/StorageManager.h:
2888         * WebKit2.xcodeproj/project.pbxproj:
2889
2890 2015-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2891
2892         [WK2][GTK] Fix the build after r180362
2893         https://bugs.webkit.org/show_bug.cgi?id=141813
2894
2895         Reviewed by Žan Doberšek.
2896
2897         Add several missing includes and a specific implementation of
2898         toAPI/toImpl for GTK+ WebView.
2899
2900         * UIProcess/API/C/gtk/WKAPICastGtk.h:
2901         (WebKit::toAPI):
2902         (WebKit::toImpl):
2903         * UIProcess/API/C/gtk/WKView.cpp:
2904         * UIProcess/API/gtk/WebKitFormClient.cpp:
2905         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
2906         * UIProcess/gtk/WebInspectorClientGtk.cpp:
2907
2908 2015-02-19  Shivakumar JM  <shiva.jm@samsung.com>
2909
2910         Fix build warning in WebKit2/WebProcess and UIProcess module.
2911         https://bugs.webkit.org/show_bug.cgi?id=141794.
2912
2913         Reviewed by Anders Carlsson.
2914
2915         Fix build warning by using UNUSED_PARAM macro.
2916
2917         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2918         (WebKit::computeWebProcessAccessType):
2919         * WebProcess/WebProcess.cpp:
2920         (WebKit::WebProcess::deleteWebsiteData):
2921
2922 2015-02-19  Remy Demarest  <rdemarest@apple.com>
2923
2924         Make EnvironmentVariables::appendValue() handle the case where the existing value is an empty string.
2925         https://bugs.webkit.org/show_bug.cgi?id=141818.
2926
2927         Reviewed by Dan Bernstein.
2928
2929         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
2930         (WebKit::EnvironmentVariables::appendValue): If the existing value is an empty string, replace it rather than
2931         append to it.
2932
2933 2015-02-19  Anders Carlsson  <andersca@apple.com>
2934
2935         Make C SPI objects and modern API objects toll-free bridged
2936         https://bugs.webkit.org/show_bug.cgi?id=141808
2937
2938         Reviewed by Tim Horton.
2939
2940         * Shared/API/APIObject.h:
2941         (API::Object::wrap):
2942         (API::Object::unwrap):
2943         Add default implementations of wrap and unwrap. These just cast.
2944
2945         * Shared/API/c/WKArray.cpp:
2946         (WKArrayCreate):
2947         (WKArrayCreateAdoptingValues):
2948         (WKArrayGetItemAtIndex):
2949         * Shared/API/c/WKDictionary.cpp:
2950         (WKDictionaryGetItemForKey):
2951         Add toImpl and toAPI where necessary.
2952
2953         * Shared/API/c/WKSharedAPICast.h:
2954         Add API::Object::wrap in toAPI and unwrap in toImpl.
2955
2956         * Shared/API/c/WKType.cpp:
2957         (WKGetTypeID):
2958         (WKRetain):
2959         (WKRelease):
2960         Add missing toImpl calls.
2961
2962         * Shared/Cocoa/APIObject.mm:
2963         (API::Object::wrap):
2964         Return the APIObject Objective-C wrapper.
2965
2966         (API::Object::unwrap):
2967         Return the API::Object from the Objective-C object.
2968
2969         * Shared/Cocoa/WKObject.h:
2970         Add wrap and unwrap declarations.
2971
2972         * UIProcess/API/C/WKPage.cpp:
2973         * UIProcess/API/C/WKPageConfigurationRef.cpp:
2974         * UIProcess/API/C/WKPageGroup.cpp:
2975         * UIProcess/API/C/WKUserContentControllerRef.cpp:
2976         Add missing includes; toImpl now requires a complete type.
2977
2978 2015-02-19  Timothy Horton  <timothy_horton@apple.com>
2979
2980         Remove unused forward declaration from WKWebViewInternal.h
2981         https://bugs.webkit.org/show_bug.cgi?id=141806
2982
2983         Reviewed by Anders Carlsson.
2984
2985         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2986         The use of WebCore::Highlight moved to WKContentView.
2987
2988 2015-02-19  Anders Carlsson  <andersca@apple.com>
2989
2990         Use the real implementation type in our API cast traits
2991         https://bugs.webkit.org/show_bug.cgi?id=141805
2992
2993         Reviewed by Sam Weinig.
2994
2995         * Shared/API/c/WKSharedAPICast.h:
2996         (WebKit::toURLRef):
2997         (WebKit::toAPI): Deleted.
2998         (WebKit::toImpl): Deleted.
2999         * UIProcess/GenericCallback.h:
3000
3001 2015-02-19  Anders Carlsson  <andersca@apple.com>
3002
3003         Remove the stray storage manager from WebProcessPool
3004         https://bugs.webkit.org/show_bug.cgi?id=141800
3005
3006         Reviewed by Sam Weinig.
3007
3008         * UIProcess/API/mac/WKView.mm:
3009         (-[WKView dealloc]):
3010         (-[WKView initWithFrame:processPool:configuration:webView:]):
3011         (-[WKView _applicationWillTerminate:]): Deleted.
3012         Remove code that calls applicationWillTerminate on the WebPageProxy.
3013
3014         * UIProcess/WebKeyValueStorageManager.cpp:
3015         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
3016         (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
3017         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
3018         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
3019         Get the storage manager from the website data store.
3020
3021         * UIProcess/WebPageProxy.cpp:
3022         (WebKit::WebPageProxy::WebPageProxy):
3023         (WebKit::WebPageProxy::close):
3024         Remove storage manager calls.
3025
3026         * UIProcess/WebProcessPool.cpp:
3027         (WebKit::WebProcessPool::WebProcessPool):
3028         (WebKit::WebProcessPool::applicationWillTerminate): Deleted.
3029         * UIProcess/WebProcessPool.h:
3030         Remove storage manager code.
3031
3032         * UIProcess/WebsiteData/WebsiteDataStore.h:
3033         (WebKit::WebsiteDataStore::storageManager):
3034         Add getter.
3035
3036 2015-02-19  Csaba Osztrogonác  <ossy@webkit.org>
3037
3038         [WK2] Unreviewed buildfix for non-Cocoa platforms.
3039
3040         * CMakeLists.txt:
3041         * UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp: Added.
3042         (WebKit::WebsiteDataStore::platformInitialize): Added.
3043         (WebKit::WebsiteDataStore::platformDestroy): Added.
3044
3045 2015-02-19  Anders Carlsson  <andersca@apple.com>
3046
3047         WebsiteDataStore should ensure that local storage is written before exiting
3048         https://bugs.webkit.org/show_bug.cgi?id=141798
3049
3050         Reviewed by Sam Weinig.
3051
3052         * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: Added.
3053         (WebKit::dataStoresWithStorageManagers):
3054         (WebKit::WebsiteDataStore::platformInitialize):
3055         (WebKit::WebsiteDataStore::platformDestroy):
3056         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
3057         (WebKit::WebsiteDataStore::WebsiteDataStore):
3058         (WebKit::WebsiteDataStore::~WebsiteDataStore):
3059         * UIProcess/WebsiteData/WebsiteDataStore.h:
3060         * WebKit2.xcodeproj/project.pbxproj:
3061
3062 2015-02-18  Chris Dumez  <cdumez@apple.com>
3063
3064         [WK2][iOS] Fix NetworkCache build
3065         https://bugs.webkit.org/show_bug.cgi?id=141778
3066
3067         Reviewed by Antti Koivisto.
3068
3069         Add missing header include to use round_page() on iOS.
3070
3071         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
3072
3073 2015-02-18  Alexey Proskuryakov  <ap@apple.com>
3074
3075         Remove input and output files from "Make Frameworks Symbolic Link" step
3076         https://bugs.webkit.org/show_bug.cgi?id=141769
3077
3078         Reviewed by Dan Bernstein.
3079
3080         * WebKit2.xcodeproj/project.pbxproj:
3081
3082 2015-02-18  Timothy Horton  <timothy_horton@apple.com>
3083
3084         Adopt WebCore::IOSurface in ImageBuffer
3085         https://bugs.webkit.org/show_bug.cgi?id=141751
3086
3087         Reviewed by Simon Fraser.
3088
3089         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3090         (InitWebCoreSystemInterface):
3091         Remove old WKSI IOSurface-related functions.
3092
3093 2015-02-18  Beth Dakin  <bdakin@apple.com>
3094
3095         iBooks immediate action blacklist should not even create the gesture recognizer
3096         https://bugs.webkit.org/show_bug.cgi?id=141768
3097         -and corresponding-
3098         rdar://problem/19806770
3099
3100         Reviewed by Tim Horton.
3101
3102         Move the runtime-application check to the point where the gesture recognizer is 
3103         created so that we can avoid doing so.
3104         * UIProcess/API/mac/WKView.mm:
3105         (-[WKView initWithFrame:processPool:configuration:webView:]):
3106         * UIProcess/mac/WKImmediateActionController.mm:
3107         (-[WKImmediateActionController _updateImmediateActionItem]):
3108
3109 2015-02-18  Chris Dumez  <cdumez@apple.com>
3110
3111         Access FontCache global instance via singleton() static member function
3112         https://bugs.webkit.org/show_bug.cgi?id=141726
3113
3114         Reviewed by Daniel Bates.
3115
3116         Access FontCache global instance via singleton() static member function,
3117         as per coding style.
3118
3119 2015-02-18  Timothy Horton  <timothy_horton@apple.com>
3120
3121         Add WKContext SPI to clear all visited links
3122         https://bugs.webkit.org/show_bug.cgi?id=141752
3123         <rdar://problem/9997966>
3124
3125         Reviewed by Dan Bernstein.
3126
3127         * UIProcess/API/C/WKContext.cpp:
3128         (WKContextClearVisitedLinks):
3129         * UIProcess/API/C/WKContext.h:
3130
3131 2015-02-17  Anders Carlsson  <andersca@apple.com>
3132
3133         Add API for clearing in-memory caches to WKWebsiteDataStore
3134         https://bugs.webkit.org/show_bug.cgi?id=141724
3135
3136         Reviewed by Tim Horton.
3137
3138         * Shared/WebsiteData/WebsiteDataTypes.h:
3139         Add WebsiteDataTypeMemoryCache.
3140
3141         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
3142         Add WKWebsiteDataTypeMemoryCache.
3143
3144         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
3145         (toWebsiteDataTypes):
3146         Handle WKWebsiteDataTypeMemoryCache and convert it to WebsiteDataTypeMemoryCache.
3147
3148         * UIProcess/WebProcessProxy.cpp:
3149         (WebKit::generateCallbackID):
3150         Generate a new callback.
3151
3152         (WebKit::WebProcessProxy::~WebProcessProxy):
3153         Assert that we don't have any pending callbacks.
3154
3155         (WebKit::WebProcessProxy::connectionDidClose):
3156         Invoke pending callbacks.
3157
3158         (WebKit::WebProcessProxy::canTerminateChildProcess):
3159         Don't try to terminate if we have pending callbacks.
3160
3161         (WebKit::WebProcessProxy::didDeleteWebsiteData):
3162         Take the callback and invoke it.
3163
3164         (WebKit::WebProcessProxy::deleteWebsiteData):
3165         Send a delete message.
3166
3167         * UIProcess/WebProcessProxy.h:
3168         Add new members.
3169
3170         * UIProcess/WebProcessProxy.messages.in:
3171         Add DidDeleteWebsiteData message.
3172
3173         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
3174         (WebKit::computeNetworkProcessAccessType):
3175         Spell persistent correctly.
3176
3177         (WebKit::computeWebProcessAccessType):
3178         Return a web process access type given the a data type mask.
3179
3180         (WebKit::WebsiteDataStore::removeData):
3181         Ask any associated web processes to remove website data.
3182
3183         * WebProcess/WebProcess.cpp:
3184         (WebKit::WebProcess::deleteWebsiteData):
3185         Delete the memory cache if requested.
3186
3187         * WebProcess/WebProcess.h:
3188         Add new member.
3189
3190         * WebProcess/WebProcess.messages.in:
3191         Add DeleteWebsiteData message.
3192
3193 2015-02-17  Timothy Horton  <timothy_horton@apple.com>
3194
3195         REGRESSION (r178595): Clicking on DD highlights sometimes do not work
3196         https://bugs.webkit.org/show_bug.cgi?id=141728
3197         <rdar://problem/19825372>
3198
3199         Reviewed by Beth Dakin.
3200
3201         * UIProcess/mac/WKImmediateActionController.mm:
3202         (-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
3203         (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
3204         The change that r178595 intended to make was purely that things that we
3205         have no immediate actions for should cancel the immediate action gesture recognizer.
3206         Moving the DataDetectors activation code as well breaks strict ordering
3207         of immediate action callbacks vs. shouldUseActionsWithContext: that they depend on.
3208
3209 2015-02-17  Anders Carlsson  <andersca@apple.com>
3210
3211         Only create the WebKit.framework symlink in PrivateFrameworks when the platform is iphoneos
3212         https://bugs.webkit.org/show_bug.cgi?id=141710
3213         <rdar://problem/19719748>
3214
3215         Reviewed by Andreas Kling.
3216
3217         Don't create the symlink when building for the simulator.
3218
3219         * WebKit2.xcodeproj/project.pbxproj:
3220
3221 2015-02-17  Chris Dumez  <cdumez@apple.com>
3222
3223         Access MemoryPressureHandler global instance via a singleton() static member function
3224         https://bugs.webkit.org/show_bug.cgi?id=141691
3225
3226         Reviewed by Andreas Kling.
3227
3228         Access MemoryPressureHandler global instance via a singleton() static
3229         member function.
3230
3231         * NetworkProcess/NetworkProcess.cpp:
3232         (WebKit::NetworkProcess::initializeNetworkProcess):
3233         (WebKit::NetworkProcess::lowMemoryHandler): Deleted.
3234         * NetworkProcess/NetworkProcess.h:
3235         * PluginProcess/PluginProcess.cpp:
3236         (WebKit::PluginProcess::initializeProcess):
3237         (WebKit::PluginProcess::lowMemoryHandler): Deleted.
3238         * PluginProcess/PluginProcess.h:
3239         * WebProcess/WebPage/ios/WebPageIOS.mm:
3240         (WebKit::WebPage::updateVisibleContentRects):
3241         * WebProcess/WebProcess.cpp:
3242         (WebKit::WebProcess::initializeWebProcess):
3243         (WebKit::WebProcess::processWillSuspend):
3244
3245 2015-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3246
3247         [GTK] WebKitFrame objects are never released
3248         https://bugs.webkit.org/show_bug.cgi?id=141641
3249
3250         Reviewed by Martin Robinson.
3251
3252         Use a FrameDestructionObserver derived class to wrap our
3253         WebKitFrame objects and delete them when the frame is destroyed,
3254         instead of using willDestroyFrame callback of WKBundlePageLoaderClient
3255         that has never worked.
3256
3257         * WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:
3258         (webkitFrameGetWebFrame):
3259         * WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h:
3260         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
3261         (webkitFrameGetOrCreate):
3262         (webkitFrameDestroy):
3263         (webkitWebPageCreate):
3264         (willDestroyFrame): Deleted.
3265
3266 2015-02-16  Tim Horton  <timothy_horton@apple.com>
3267
3268         Fix the !USE(IOSURFACE) build
3269
3270         * Shared/mac/RemoteLayerBackingStore.mm:
3271         SOFT_LINK_MAY_FAIL makes a function that will be unused if !USE(IOSURFACE).
3272
3273 2015-02-16  Tim Horton  <timothy_horton@apple.com>
3274
3275         Sometimes RemoteLayerBackingStore ends up non-volatile while the process is suspended
3276         <rdar://problem/19842957>
3277         https://bugs.webkit.org/show_bug.cgi?id=141675
3278
3279         Reviewed by Simon Fraser.
3280
3281         Previously, it was possible to get a layer tree flush in between the
3282         process suspension cleanup code making surfaces volatile and the process
3283         actually being suspended (it was racy because the suspension requires
3284         a few IPC round trips). Depending on how far through the flush we got,
3285         we could sometimes end up either making new non-volatile backing store,
3286         or switching some recently-made-volatile backing store back to non-volatile.
3287         We don't want to have any non-volatile backing store while suspended.
3288
3289         * UIProcess/ProcessThrottler.cpp:
3290         (WebKit::ProcessThrottler::updateAssertion):
3291         Inform the WebProcess when it's going from suspended to runnable state.
3292
3293         * UIProcess/WebProcessProxy.cpp:
3294         (WebKit::WebProcessProxy::sendProcessDidResume):
3295         * UIProcess/WebProcessProxy.h:
3296         Forward the message along.
3297
3298         * WebProcess/WebProcess.cpp:
3299         (WebKit::WebProcess::processWillSuspend):
3300         (WebKit::WebProcess::cancelProcessWillSuspend):
3301         (WebKit::WebProcess::setAllLayerTreeStatesFrozen):
3302         (WebKit::WebProcess::processDidResume):
3303         Freeze all of this process' pages' layer trees when we start trying to suspend,
3304         and un-freeze them when either suspension is cancelled or we resume.
3305
3306         * WebProcess/WebProcess.h:
3307         * WebProcess/WebProcess.messages.in:
3308
3309 2015-02-16  Tim Horton  <timothy_horton@apple.com>
3310
3311         Adopt CAMachPort-as-layer-contents
3312         https://bugs.webkit.org/show_bug.cgi?id=141687
3313         <rdar://problem/19393233>
3314
3315         Reviewed by Simon Fraser.
3316
3317         * Shared/mac/RemoteLayerBackingStore.h:
3318         * Shared/mac/RemoteLayerBackingStore.mm:
3319         (WebKit::RemoteLayerBackingStore::decode):
3320         If we have CAMachPort, just keep the MachSendRight around.
3321
3322         (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
3323         If we have CAMachPort, make one and leak our send right into it. CAMachPort
3324         will adopt the port and destroy it when needed.
3325
3326         (WebKit::RemoteLayerBackingStore::setBufferVolatility):
3327         Tiny style fix.
3328
3329 2015-02-15  Sam Weinig  <sam@webkit.org>
3330
3331         Add experimental <attachment> element support
3332         https://bugs.webkit.org/show_bug.cgi?id=141626
3333
3334         Reviewed by Tim Horton.
3335
3336         * Configurations/FeatureDefines.xcconfig:
3337
3338 2015-02-16  Tim Horton  <timothy_horton@apple.com>
3339
3340         REGRESSION (r176459): Process suspension cleanup timer sometimes never stops
3341         https://bugs.webkit.org/show_bug.cgi?id=141669
3342
3343         Reviewed by Simon Fraser.
3344
3345         * WebProcess/WebProcess.cpp:
3346         (WebKit::WebProcess::markAllLayersVolatileIfPossible):
3347         r176459 accidentally removed the code to stop the cleanup timer
3348         in the case where we successfully finish marking layers volatile,
3349         causing the timer to continue running once the process comes back
3350         from a suspended state.
3351
3352 2015-02-16  Anders Carlsson  <andersca@apple.com>
3353
3354         Check for the assume_nonnull feature instead of noescape
3355         https://bugs.webkit.org/show_bug.cgi?id=141666
3356
3357         Reviewed by Dan Bernstein.
3358
3359         * Shared/API/Cocoa/WKFoundation.h:
3360
3361 2015-02-16  Anders Carlsson  <andersca@apple.com>
3362
3363         Add nullability qualifiers to all API headers
3364         https://bugs.webkit.org/show_bug.cgi?id=141652
3365         rdar://problem/19793630
3366
3367         Reviewed by Dan Bernstein.
3368
3369         * Shared/API/Cocoa/WKFoundation.h:
3370         Add a WK_NULLABLE_SPECIFIER macro.
3371
3372         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
3373         * UIProcess/API/Cocoa/WKFrameInfo.h:
3374         * UIProcess/API/Cocoa/WKNavigationAction.h:
3375         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
3376         * UIProcess/API/Cocoa/WKNavigationResponse.h:
3377         * UIProcess/API/Cocoa/WKScriptMessage.h:
3378         * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
3379         * UIProcess/API/Cocoa/WKUIDelegate.h:
3380         * UIProcess/API/Cocoa/WKUserContentController.h:
3381         * UIProcess/API/Cocoa/WKUserScript.h:
3382         * UIProcess/API/Cocoa/WKWebView.h:
3383         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
3384         * UIProcess/API/Cocoa/WKWindowFeatures.h:
3385
3386         * mac/postprocess-framework-headers.sh:
3387         Handle the WK_NULLABLE_SPECIFIER macro. Change the WK_NULLABLE sed command to replace
3388         all occurrences of WK_NULLABLE instead of just the first one.
3389
3390 2015-02-16  Dan Bernstein  <mitz@apple.com>
3391
3392         Update SPI availability annotations 
3393         https://bugs.webkit.org/show_bug.cgi?id=141588
3394
3395         Reviewed by Anders Carlsson.
3396
3397         * Shared/API/Cocoa/WKFoundation.h: Added a definition of __NSi_8_3 for when building with
3398         an older SDK.
3399         * UIProcess/API/Cocoa/WKErrorPrivate.h:
3400         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
3401
3402 2015-02-16  Antti Koivisto  <antti@apple.com>
3403
3404         Remove unused InjectedBundle::setCacheModel.
3405
3406         Rubber-stamped by Anders Carlsson.
3407
3408         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3409         (WebKit::InjectedBundle::setCacheModel): Deleted.
3410         * WebProcess/InjectedBundle/InjectedBundle.h:
3411
3412 2015-02-16  Anders Carlsson  <andersca@apple.com>
3413
3414         Build fix for versions of Xcode that support nullability but don't have the Foundation #defines.
3415
3416         * Shared/API/Cocoa/WKFoundation.h:
3417
3418 2015-02-16  Antti Koivisto  <antti@apple.com>
3419
3420         Develop/Disable Caches does not properly disable disk cache
3421         https://bugs.webkit.org/show_bug.cgi?id=141636
3422
3423         Reviewed by Anders Carlsson.
3424
3425         The menu item sets the cache model to "document viewer" to disable the caches (cache size 0).
3426         However the cache model was never passed to the network process after the initialization.
3427
3428         * NetworkProcess/NetworkProcess.messages.in:
3429         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
3430         (WebKit::NetworkCacheStorage::retrieve):
3431         (WebKit::NetworkCacheStorage::store):
3432         (WebKit::NetworkCacheStorage::update):
3433
3434             Don't try to store or retrieve when the maximum cache size is set to zero.
3435
3436         * UIProcess/WebProcessPool.cpp:
3437         (WebKit::WebProcessPool::setCacheModel):
3438
3439            Message the network process too.
3440
3441         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3442         (WKBundleSetCacheModel): Deleted.
3443
3444             Remove the now unused SPI.
3445
3446         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3447
3448 2015-02-16  Antti Koivisto  <antti@apple.com>
3449
3450         Assertion in disk cache code with redirect to a non-http resource
3451         https://bugs.webkit.org/show_bug.cgi?id=141644
3452
3453         Reviewed by Anders Carlsson.
3454
3455         * NetworkProcess/NetworkResourceLoader.cpp:
3456         (WebKit::NetworkResourceLoader::didFinishLoading):
3457
3458             Check that response is HTTP before calling computeFreshnessLifetimeForHTTPFamily.
3459
3460         * NetworkProcess/cache/NetworkCache.cpp:
3461         (WebKit::canStore):
3462
3463             Deny storing non-HTTP responses to cache (though the above already covers this).
3464
3465 2015-02-13  Anders Carlsson  <andersca@apple.com>
3466
3467         Add support for nullability to the header postprocessing
3468         https://bugs.webkit.org/show_bug.cgi?id=141573
3469
3470         Reviewed by Darin Adler.
3471
3472         * Shared/API/Cocoa/WKFoundation.h:
3473         * UIProcess/API/Cocoa/WKBackForwardList.h:
3474         * mac/postprocess-framework-headers.sh:
3475
3476 2015-02-16  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3477
3478         [EFL] Rename WebContextEfl to WebProcessPoolEfl
3479         https://bugs.webkit.org/show_bug.cgi?id=141642
3480
3481         Reviewed by Csaba Osztrogonác.
3482
3483         Although we've renamed almost everything in r177716, this is still
3484         required after r177692.
3485
3486         * UIProcess/efl/WebProcessPoolEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
3487
3488 2015-02-14  Alexey Proskuryakov  <ap@apple.com>
3489
3490         Build fix after <http://trac.webkit.org/changeset/180122>
3491
3492         * Platform/mac/StringUtilities.mm:
3493
3494 2015-02-14  Joseph Pecoraro  <pecoraro@apple.com>
3495
3496         [Mac] Possible DDActionContext leaks, RetainPtr cleanup
3497         https://bugs.webkit.org/show_bug.cgi?id=141613
3498
3499         Reviewed by Tim Horton.
3500
3501         * UIProcess/mac/WKActionMenuController.mm:
3502         (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
3503         Adopt the allocated object.
3504
3505 2015-02-09  Brian J. Burg  <burg@cs.washington.edu>
3506
3507         Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace
3508         https://bugs.webkit.org/show_bug.cgi?id=141372
3509
3510         Reviewed by Joseph Pecoraro.
3511
3512         * WebProcess/WebPage/WebInspector.cpp:
3513         (WebKit::WebInspector::remoteFrontendDisconnected):
3514
3515 2015-02-14  Beth Dakin  <bdakin@apple.com>
3516
3517         REGRESSION: Page opens with enlarged font after visiting PDF, navigating back, 
3518         then doing a process swap
3519         https://bugs.webkit.org/show_bug.cgi?id=141584
3520         -and corresponding-
3521         rdar://problem/18167729
3522
3523         Reviewed by Tim Horton.
3524
3525         This patch keeps the plugin zoom/scale factors separate from page zoom/scale 
3526    &nbs