Assertion failure in WebCore::PseudoElement::didRecalcStyle()
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
2
3         Assertion failure in WebCore::PseudoElement::didRecalcStyle()
4         <https://bugs.webkit.org/show_bug.cgi?id=126761>
5         <rdar://problem/15793540>
6
7         Reviewed by Andy Estes.
8
9         * WebProcess/WebPage/ios/WebPageIOS.mm:
10         (WebKit::WebPage::getPositionInformation):
11         Check isRenderImage() rather than isImage() before casting to
12         RenderImage.
13
14 2014-01-23  Anders Carlsson  <andersca@apple.com>
15
16         Move policy client into WKPage.cpp and get rid of WebPolicyClient files
17         https://bugs.webkit.org/show_bug.cgi?id=127536
18
19         Reviewed by Tim Horton.
20
21         * UIProcess/API/C/WKPage.cpp:
22         (WKPageSetPagePolicyClient):
23         * UIProcess/WebPolicyClient.cpp: Removed.
24         * UIProcess/WebPolicyClient.h: Removed.
25         * WebKit2.xcodeproj/project.pbxproj:
26
27 2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
28
29         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
30         https://bugs.webkit.org/show_bug.cgi?id=127409
31
32         Reviewed by Geoffrey Garen.
33
34         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
35         (WebKit::WebInspectorFrontendClient::closeWindow):
36         * WebProcess/WebPage/WebInspector.cpp:
37         (WebKit::WebInspector::remoteFrontendDisconnected):
38         Include InspectorDisconnectReason.
39
40 2014-01-23  Anders Carlsson  <andersca@apple.com>
41
42         Only WKPage should know about WebPolicyClient
43         https://bugs.webkit.org/show_bug.cgi?id=127535
44
45         Reviewed by Andreas Kling.
46
47         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
48         (setUpPagePolicyClient):
49         (-[WKBrowsingContextController setPolicyDelegate:]):
50         * UIProcess/WebInspectorProxy.cpp:
51         (WebKit::WebInspectorProxy::createInspectorPage):
52
53 2014-01-23  Anders Carlsson  <andersca@apple.com>
54
55         Simplify API::LoaderClient management
56         https://bugs.webkit.org/show_bug.cgi?id=127531
57
58         Reviewed by Tim Horton.
59
60         Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
61         always create a policy client, even if the loader client set is null. That way we don't have to null
62         check the loader client everywhere.
63
64         * UIProcess/API/APILoaderClient.h:
65         (API::LoaderClient::didStartProvisionalLoadForFrame):
66         (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
67         (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
68         (API::LoaderClient::didCommitLoadForFrame):
69         (API::LoaderClient::didFinishDocumentLoadForFrame):
70         (API::LoaderClient::didFinishLoadForFrame):
71         (API::LoaderClient::didFailLoadWithErrorForFrame):
72         (API::LoaderClient::didSameDocumentNavigationForFrame):
73         (API::LoaderClient::didReceiveTitleForFrame):
74         (API::LoaderClient::didFirstLayoutForFrame):
75         (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
76         (API::LoaderClient::didRemoveFrameFromHierarchy):
77         (API::LoaderClient::didDisplayInsecureContentForFrame):
78         (API::LoaderClient::didRunInsecureContentForFrame):
79         (API::LoaderClient::didDetectXSSForFrame):
80         (API::LoaderClient::didLayout):
81         (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
82         (API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
83         (API::LoaderClient::didStartProgress):
84         (API::LoaderClient::didChangeProgress):
85         (API::LoaderClient::didFinishProgress):
86         (API::LoaderClient::processDidBecomeUnresponsive):
87         (API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
88         (API::LoaderClient::processDidBecomeResponsive):
89         (API::LoaderClient::processDidCrash):
90         (API::LoaderClient::didChangeBackForwardList):
91         (API::LoaderClient::willGoToBackForwardListItem):
92         (API::LoaderClient::pluginLoadPolicy):
93         (API::LoaderClient::didFailToInitializePlugin):
94         (API::LoaderClient::didBlockInsecurePluginVersion):
95         (API::LoaderClient::webGLLoadPolicy):
96         * UIProcess/WebPageProxy.cpp:
97         (WebKit::WebPageProxy::setLoaderClient):
98         (WebKit::WebPageProxy::didChangeBackForwardList):
99         (WebKit::WebPageProxy::willGoToBackForwardListItem):
100         (WebKit::WebPageProxy::findPlugin):
101         (WebKit::WebPageProxy::didStartProgress):
102         (WebKit::WebPageProxy::didChangeProgress):
103         (WebKit::WebPageProxy::didFinishProgress):
104         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
105         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
106         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
107         (WebKit::WebPageProxy::didCommitLoadForFrame):
108         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
109         (WebKit::WebPageProxy::didFinishLoadForFrame):
110         (WebKit::WebPageProxy::didFailLoadForFrame):
111         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
112         (WebKit::WebPageProxy::didReceiveTitleForFrame):
113         (WebKit::WebPageProxy::didFirstLayoutForFrame):
114         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
115         (WebKit::WebPageProxy::didLayout):
116         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
117         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
118         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
119         (WebKit::WebPageProxy::didDetectXSSForFrame):
120         (WebKit::WebPageProxy::webGLPolicyForURL):
121         (WebKit::WebPageProxy::processDidBecomeUnresponsive):
122         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
123         (WebKit::WebPageProxy::processDidBecomeResponsive):
124         (WebKit::WebPageProxy::processDidCrash):
125         (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
126         (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
127         (WebKit::WebPageProxy::didFailToInitializePlugin):
128         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
129
130 2014-01-23  Anders Carlsson  <andersca@apple.com>
131
132         Simplify API::PolicyClient management
133         https://bugs.webkit.org/show_bug.cgi?id=127529
134
135         Reviewed by Tim Horton.
136
137         Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
138         always create a policy client, even if the policy object set is null. That way we don't have to null
139         check the policy client everywhere.
140
141         * UIProcess/API/APIPolicyClient.h:
142         (API::PolicyClient::decidePolicyForNavigationAction):
143         (API::PolicyClient::decidePolicyForNewWindowAction):
144         (API::PolicyClient::decidePolicyForResponse):
145         (API::PolicyClient::unableToImplementPolicy):
146         * UIProcess/WebPageProxy.cpp:
147         (WebKit::WebPageProxy::setPolicyClient):
148         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
149         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
150         (WebKit::WebPageProxy::decidePolicyForResponse):
151         (WebKit::WebPageProxy::unableToImplementPolicy):
152
153 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
154
155         Fix GTK.
156
157         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
158         (webkitWebPageDidReceiveMessage):
159
160 2014-01-23  Anders Carlsson  <andersca@apple.com>
161
162         Add an APILoaderClient base class
163         https://bugs.webkit.org/show_bug.cgi?id=127527
164
165         Reviewed by Tim Horton.
166
167         * UIProcess/API/APILoaderClient.h: Added.
168         (API::LoaderClient::~LoaderClient):
169         * UIProcess/API/C/WKPage.cpp:
170         (WKPageSetPageLoaderClient):
171         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
172         (setUpPageLoaderClient):
173         (-[WKBrowsingContextController setLoadDelegate:]):
174         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
175         * UIProcess/WebLoaderClient.cpp:
176         (WebKit::WebLoaderClient::WebLoaderClient):
177         * UIProcess/WebLoaderClient.h:
178         * UIProcess/WebPageProxy.cpp:
179         (WebKit::WebPageProxy::setLoaderClient):
180         (WebKit::WebPageProxy::close):
181         (WebKit::WebPageProxy::didChangeBackForwardList):
182         (WebKit::WebPageProxy::willGoToBackForwardListItem):
183         (WebKit::WebPageProxy::findPlugin):
184         (WebKit::WebPageProxy::didStartProgress):
185         (WebKit::WebPageProxy::didChangeProgress):
186         (WebKit::WebPageProxy::didFinishProgress):
187         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
188         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
189         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
190         (WebKit::WebPageProxy::didCommitLoadForFrame):
191         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
192         (WebKit::WebPageProxy::didFinishLoadForFrame):
193         (WebKit::WebPageProxy::didFailLoadForFrame):
194         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
195         (WebKit::WebPageProxy::didReceiveTitleForFrame):
196         (WebKit::WebPageProxy::didFirstLayoutForFrame):
197         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
198         (WebKit::WebPageProxy::didLayout):
199         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
200         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
201         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
202         (WebKit::WebPageProxy::didDetectXSSForFrame):
203         (WebKit::WebPageProxy::webGLPolicyForURL):
204         (WebKit::WebPageProxy::processDidBecomeUnresponsive):
205         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
206         (WebKit::WebPageProxy::processDidBecomeResponsive):
207         (WebKit::WebPageProxy::processDidCrash):
208         (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
209         (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
210         (WebKit::WebPageProxy::didFailToInitializePlugin):
211         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
212         * UIProcess/WebPageProxy.h:
213         (WebKit::WebPageProxy::loaderClient):
214         * WebKit2.xcodeproj/project.pbxproj:
215
216 2014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>
217
218         Build break after r162650
219         https://bugs.webkit.org/show_bug.cgi?id=127525
220
221         Reviewed by Anders Carlsson.
222
223         WKPreferences.h was renamed to WKPreferencesRef.
224
225         * UIProcess/API/C/WKPreferences.cpp:
226
227 2014-01-23  Anders Carlsson  <andersca@apple.com>
228
229         Fix a refactoring bug that crept in and is causing the inspector to crash.
230
231         * UIProcess/WebPolicyClient.cpp:
232         (WebKit::WebPolicyClient::decidePolicyForResponse):
233
234 2014-01-23  Simon Fraser  <simon.fraser@apple.com>
235
236         Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
237         https://bugs.webkit.org/show_bug.cgi?id=127456
238         
239         Reviewed by Antti Koivisto.
240         
241         On iOS, visibleContentRect() returns the entire document rect for historical
242         reasons, and actualVisibleContentRect() returns what visibleContentRect()
243         returns on other platforms.
244         
245         In addition, actualVisibleContentRect() was returning an empty rect in WK2.
246         
247         Reduce the confusion of #ifdefs by making visibleContentRect() behave like
248         actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
249         an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
250         
251         Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
252         which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
253         
254         Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
255         with non-virtual visibleHeight() and visibleWidth().
256         
257         ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
258         
259         Mechanically change all the call sites of actualVisibleContentRect() to
260         use visibleContentRect(), and the call sites of visibleContentRect()
261         to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
262         where this may not be appropriate.
263         
264         Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
265         
266         Also add actualScrollPosition(), and clean up some actualScroll* call sites.
267         
268         No behavior change.
269
270         * WebProcess/Plugins/PDF/PDFPlugin.h:
271         * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
272         (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
273         (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
274         * WebProcess/WebPage/WebFrame.cpp:
275         (WebKit::WebFrame::visibleContentBounds):
276         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
277         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
278         (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
279
280 2014-01-23  Tim Horton  <timothy_horton@apple.com>
281
282         [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
283         https://bugs.webkit.org/show_bug.cgi?id=127518
284
285         Reviewed by Anders Carlsson.
286
287         Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
288         manually clear the page overlay's backing store, for memory, power, and performance gains.
289
290         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
291         (WKBundlePageOverlayClear):
292         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
293         * WebProcess/WebPage/DrawingArea.h:
294         (WebKit::DrawingArea::clearPageOverlay):
295         * WebProcess/WebPage/PageOverlay.cpp:
296         (WebKit::PageOverlay::clear):
297         * WebProcess/WebPage/PageOverlay.h:
298         Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.
299
300         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
301         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
302         (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
303         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
304         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
305         (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
306         Set the layer to drawsContent=false and give it 0x0 size, effectively
307         removing its backing store.
308
309 2014-01-23  Anders Carlsson  <andersca@apple.com>
310
311         Explicitly link XPC services with AppKit
312         https://bugs.webkit.org/show_bug.cgi?id=127520
313         <rdar://problem/15759718>
314
315         Reviewed by Mark Rowe.
316
317         Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.
318
319         * Configurations/PluginService.32.xcconfig:
320         * Configurations/PluginService.64.xcconfig:
321         * Configurations/PluginService.Development.xcconfig:
322         * Configurations/WebContentService.Development.xcconfig:
323         * Configurations/WebContentService.xcconfig:
324
325 2014-01-23  Anders Carlsson  <andersca@apple.com>
326
327         Fix build again.
328
329         * UIProcess/API/mac/WKView.mm:
330         (-[WKView _windowDidChangeBackingProperties:]):
331
332 2014-01-23  Anders Carlsson  <andersca@apple.com>
333
334         Another 32-bit build fix.
335
336         * UIProcess/API/mac/WKView.mm:
337         (-[WKView _windowDidChangeBackingProperties:]):
338
339 2014-01-23  Anders Carlsson  <andersca@apple.com>
340
341         Clean up WKView.mm a little
342         https://bugs.webkit.org/show_bug.cgi?id=127517
343
344         Reviewed by Tim Horton.
345
346         Remove an unused ivar and migrate to API constants that were added in Lion.
347
348         * UIProcess/API/mac/WKView.mm:
349         (-[WKView setFrameSize:]):
350         (-[WKView addWindowObserversForWindow:]):
351         (-[WKView removeWindowObservers]):
352         (-[WKView viewDidMoveToWindow]):
353         (-[WKView _windowDidMiniaturize:]):
354         (-[WKView _windowDidResize:]):
355         (-[WKView _windowDidChangeBackingProperties:]):
356
357 2014-01-23  Anders Carlsson  <andersca@apple.com>
358
359         Try to fix the 32-bit build.
360
361         * UIProcess/API/Cocoa/WKPreferences.mm:
362
363 2014-01-23  Anders Carlsson  <andersca@apple.com>
364
365         Remove an unneeded synchronous back/forward message
366         https://bugs.webkit.org/show_bug.cgi?id=127516
367
368         Reviewed by Tim Horton.
369
370         * UIProcess/WebLoaderClient.cpp:
371         * UIProcess/WebLoaderClient.h:
372         * UIProcess/WebPageProxy.cpp:
373         (WebKit::WebPageProxy::initializeLoaderClient):
374         * UIProcess/WebPageProxy.h:
375         * UIProcess/WebPageProxy.messages.in:
376         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
377         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
378         * WebProcess/WebPage/WebPage.cpp:
379         (WebKit::WebPage::WebPage):
380         * WebProcess/WebPage/WebPage.h:
381         * WebProcess/WebPage/WebPage.messages.in:
382
383 2014-01-23  Anders Carlsson  <andersca@apple.com>
384
385         Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
386         https://bugs.webkit.org/show_bug.cgi?id=127512
387
388         Reviewed by Dan Bernstein.
389
390         * UIProcess/API/C/WKAPICast.h:
391         * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
392         * UIProcess/API/C/WebKit2_C.h:
393         * UIProcess/API/Cocoa/WKPreferences.h: Added.
394         * UIProcess/API/Cocoa/WKPreferences.mm: Added.
395         * WebKit2.xcodeproj/project.pbxproj:
396
397 2014-01-23  Max Vujovic  <mvujovic@adobe.com>
398
399         Remove CSS Custom Filters code and tests
400         https://bugs.webkit.org/show_bug.cgi?id=127382
401
402         Reviewed by Simon Fraser.
403
404         * CMakeLists.txt:
405         * Configurations/FeatureDefines.xcconfig:
406         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
407         (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
408         (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
409         (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
410         (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
411         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
412         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
413         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
414         * Shared/WebCoreArgumentCoders.cpp:
415         (IPC::encodeFilterOperation):
416         (IPC::decodeFilterOperation):
417         * Shared/WebPreferencesStore.h:
418         * Shared/mac/RemoteLayerTreeTransaction.mm:
419         (WebKit::RemoteLayerTreeTextStream::operator<<):
420         * UIProcess/API/C/WKPreferences.cpp:
421         * UIProcess/API/C/WKPreferencesPrivate.h:
422         * WebProcess/InjectedBundle/InjectedBundle.cpp:
423         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
424         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
425         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
426         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
427         * WebProcess/WebPage/WebPage.cpp:
428         (WebKit::WebPage::updatePreferences):
429         * mac/WebKit2.order:
430
431 2014-01-23  Anders Carlsson  <andersca@apple.com>
432
433         Add API::PolicyClient base class
434         https://bugs.webkit.org/show_bug.cgi?id=127509
435
436         Reviewed by Tim Horton.
437
438         * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
439         (API::PolicyClient::~PolicyClient):
440         * UIProcess/API/C/WKPage.cpp:
441         (WKPageSetPagePolicyClient):
442         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
443         (setUpPagePolicyClient):
444         (-[WKBrowsingContextController setPolicyDelegate:]):
445         * UIProcess/WebInspectorProxy.cpp:
446         (WebKit::WebInspectorProxy::createInspectorPage):
447         * UIProcess/WebPageProxy.cpp:
448         (WebKit::WebPageProxy::setPolicyClient):
449         (WebKit::WebPageProxy::close):
450         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
451         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
452         (WebKit::WebPageProxy::decidePolicyForResponse):
453         (WebKit::WebPageProxy::unableToImplementPolicy):
454         * UIProcess/WebPageProxy.h:
455         * UIProcess/WebPolicyClient.cpp:
456         (WebKit::WebPolicyClient::WebPolicyClient):
457         (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
458         (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
459         (WebKit::WebPolicyClient::decidePolicyForResponse):
460         * UIProcess/WebPolicyClient.h:
461         * WebKit2.xcodeproj/project.pbxproj:
462
463 2014-01-23  Anders Carlsson  <andersca@apple.com>
464
465         Add init methods that create default configurations
466         https://bugs.webkit.org/show_bug.cgi?id=127503
467
468         Reviewed by Dan Bernstein.
469
470         * UIProcess/API/Cocoa/WKProcessClass.mm:
471         (-[WKProcessClass init]):
472         * UIProcess/API/Cocoa/WKWebView.mm:
473         (-[WKWebView initWithFrame:]):
474
475 2014-01-23  Brady Eidson  <beidson@apple.com>
476
477         IDB: Implement cross-thread and IPC plumbing for 'get' support
478         https://bugs.webkit.org/show_bug.cgi?id=127501
479
480         Reviewed by Anders Carlsson.
481
482         Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
483         response from the DatabaseProcess:
484         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
485         (WebKit::WebIDBServerConnection::get):
486         (WebKit::WebIDBServerConnection::didGetRecord):
487         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
488         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
489
490         Get the request from the WebProcess and forward it to the appropriate unique IDB database:
491         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
492         (WebKit::DatabaseProcessIDBConnection::getRecord):
493         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
494         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
495
496         Forward the request to the database thread, and response to the result from that thread:
497         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
498         (WebKit::UniqueIDBDatabase::getRecord):
499         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
500         (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
501         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
502
503         IPC and asynchronous request infrastructure:
504         * Scripts/webkit2/messages.py:
505         (struct_or_class):
506
507         * Shared/AsyncTask.h:
508         (WebKit::createAsyncTask):
509
510         * Shared/WebCoreArgumentCoders.cpp:
511         (IPC::ArgumentCoder<IDBGetResult>::encode):
512         (IPC::ArgumentCoder<IDBGetResult>::decode):
513         (IPC::ArgumentCoder<IDBKeyRangeData>::encode):
514         (IPC::ArgumentCoder<IDBKeyRangeData>::decode):
515         * Shared/WebCoreArgumentCoders.h:
516
517 2014-01-23  Tim Horton  <timothy_horton@apple.com>
518
519         PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
520         https://bugs.webkit.org/show_bug.cgi?id=127415
521         <rdar://problem/12482452>
522
523         Reviewed by Sam Weinig.
524
525         Allow use of PDFPlugin even if an external plugin is installed but blocked.
526         If an external plugin is installed and not blocked, we will continue to use that.
527
528         Inject a context menu item into the PDFPlugin context menu that allows the client
529         to unblock the plugin and reload the page (via the same mechanism that the
530         unavailable plugin button uses).
531
532         * UIProcess/API/C/WKPageLoaderClient.h:
533         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
534         (setUpPageLoaderClient):
535         * UIProcess/WebLoaderClient.cpp:
536         (WebKit::WebLoaderClient::pluginLoadPolicy):
537         * UIProcess/WebLoaderClient.h:
538         * UIProcess/WebPageProxy.cpp:
539         (WebKit::WebPageProxy::findPlugin):
540         * UIProcess/WebPageProxy.h:
541         * UIProcess/WebPageProxy.messages.in:
542         Add a new PluginLoadPolicy callback for the V4 client with
543         yet another string out-argument, to allow clients to customize the string
544         that will appear in the PDFPlugin context menu when it is used in place
545         of a blocked plugin.
546
547         * WebProcess/Plugins/PDF/PDFPlugin.h:
548         Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
549         we should include an item in the PDFPlugin context menu that acts identically
550         to the unavailable plugin button, allowing the client to potentially unblock
551         the plugin.
552
553         * WebProcess/Plugins/PDF/PDFPlugin.mm:
554         (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
555         (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
556         Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
557         aforementioned context menu item targets.
558
559         (WebKit::PDFPlugin::PDFPlugin):
560         By default, we won't show the extra context menu item.
561
562         (WebKit::PDFPlugin::handleContextMenuEvent):
563         If we were used in place of a blocked plugin, inject our additional context
564         menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
565         use that. Otherwise, use the generic string from WebCore's localized strings.
566
567         (WebKit::PDFPlugin::openWithPlugin):
568         Pretend that the user clicked the unavailable plugin button when they click
569         the injected context menu item.
570
571         (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):
572
573         * WebProcess/WebPage/WebPage.cpp:
574         (WebKit::WebPage::createPlugin):
575         If we end up with a blocked plugin, but could have used PDFPlugin to display
576         the content, do so instead of showing the unavailable plugin indicator.
577
578         Pass PDFPlugin the custom context menu item title acquired from the client.
579
580         (WebKit::WebPage::canPluginHandleResponse):
581
582 2014-01-23  Tim Horton  <timothy_horton@apple.com>
583
584         [iOS] [WK2] WKContentView has a black background
585         https://bugs.webkit.org/show_bug.cgi?id=127471
586         <rdar://problem/12287363>
587
588         Reviewed by Sam Weinig.
589
590         * UIProcess/API/ios/WKContentView.mm:
591         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
592         Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
593         to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.
594
595 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
596
597         [GLIB] Use GUniquePtr instead of GOwnPtr
598         https://bugs.webkit.org/show_bug.cgi?id=127431
599
600         Reviewed by Martin Robinson.
601
602         GUniquePtr is a template alias of std::unique_ptr with a custom
603         deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
604         where the output pointer is needed, but it will also be replaced soon.
605
606         * Shared/Downloads/soup/DownloadSoup.cpp:
607         (WebKit::DownloadClient::didReceiveResponse):
608         * Shared/NativeWebKeyboardEvent.h:
609         * Shared/NativeWebMouseEvent.h:
610         * Shared/NativeWebWheelEvent.h:
611         * Shared/gtk/ArgumentCodersGtk.cpp:
612         (IPC::encodeGKeyFile):
613         (IPC::decodeGKeyFile):
614         (IPC::encode):
615         (IPC::decode):
616         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
617         (webkitContextMenuItemSetSubMenuFromGtkMenu):
618         * UIProcess/API/gtk/WebKitDownload.cpp:
619         (webkitDownloadDecideDestination):
620         (webkitDownloadNotifyProgress):
621         (webkitDownloadFailed):
622         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
623         (webkit_file_chooser_request_select_files):
624         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
625         (didReceiveWebViewMessageFromInjectedBundle):
626         (getInjectedBundleInitializationUserData):
627         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
628         (didFailProvisionalLoadWithErrorForFrame):
629         (didFailLoadWithErrorForFrame):
630         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
631         (drawPagesForPrintingCompleted):
632         * UIProcess/API/gtk/WebKitURIRequest.cpp:
633         (webkit_uri_request_get_http_headers):
634         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
635         (webkit_uri_scheme_request_get_scheme):
636         (webkit_uri_scheme_request_get_path):
637         * UIProcess/API/gtk/WebKitWebContext.cpp:
638         (injectedBundleFilename):
639         (webkit_web_context_set_favicon_database_directory):
640         * UIProcess/API/gtk/WebKitWebView.cpp:
641         (webkitWebViewLoadFail):
642         (webkitWebViewCreateJavaScriptDialog):
643         (fileChooserDialogResponseCallback):
644         (webkitWebViewLoadChanged):
645         (webkitWebViewLoadFailedWithTLSErrors):
646         (webkitWebViewPopulateContextMenu):
647         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
648         (webkitWebViewBaseButtonPressEvent):
649         (webkitWebViewBaseStartDrag):
650         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
651         (WebKit::WebInspectorServer::platformResourceForPath):
652         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
653         (WebKit::connectionCallback):
654         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
655         (WebKit::ProcessLauncher::launchProcess):
656         * UIProcess/gtk/WebContextGtk.cpp:
657         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
658         (WebKit::WebContext::platformDefaultDatabaseDirectory):
659         (WebKit::WebContext::platformDefaultIconDatabasePath):
660         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
661         (WebKit::WebContext::platformDefaultDiskCacheDirectory):
662         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
663         (WebKit::contextMenuItemVisibilityChanged):
664         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
665         (WebKit::WebInspectorProxy::platformInspectedURLChanged):
666         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
667         (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
668         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
669         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
670         (WebKit::WebPage::platformInitialize):
671         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
672         * WebProcess/gtk/WebProcessMainGtk.cpp:
673         * WebProcess/soup/WebSoupRequestManager.cpp:
674         (WebKit::WebSoupRequestManager::send):
675
676 2014-01-22  Simon Fraser  <simon.fraser@apple.com>
677
678         Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
679         https://bugs.webkit.org/show_bug.cgi?id=127461
680
681         Reviewed by Andreas Kling.
682         
683         The "fixedVisibleContentRect" code path is only used by platforms
684         which enabled TILED_BACKING_STORE, so to reduce confusion, surround
685         this code with #if USE(TILED_BACKING_STORE).
686
687         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
688         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
689
690 2014-01-22  Benjamin Poulain  <bpoulain@apple.com>
691
692         Add a minimalistic SPI to control the layout size outside of WKView
693         https://bugs.webkit.org/show_bug.cgi?id=127403
694
695         Reviewed by Sam Weinig.
696
697         The API lets a client of WKView force the layout size. Once the size
698         is set this way, default update is disabled and the client needs to
699         update the size systematically as needed. This is done to avoid double
700         layout or flickering.
701
702         * UIProcess/API/Cocoa/WKViewPrivate.h:
703         * UIProcess/API/ios/WKViewIOS.mm:
704         (-[WKView _frameOrBoundsChanged]):
705         (-[WKView overrideMinimumLayoutSize:]):
706
707 2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
708
709         [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
710         https://bugs.webkit.org/show_bug.cgi?id=127420
711
712         Reviewed by Gyuyoung Kim.
713
714         As the defaultTextEncodingName is returned as a local WKEinaSharedString variable, 
715         the stringshared data is de-refed by eina_stringshare_del().
716         To maintain the reference counter, the defaultTextEncodingName should be stored 
717         as a member variable of EwkSettings class.
718
719         * UIProcess/API/efl/ewk_settings.cpp:
720         (ewk_settings_encoding_detector_enabled_get): Reordering.
721         (ewk_settings_default_text_encoding_name_set):
722         (ewk_settings_default_text_encoding_name_get):
723         (EwkSettings::setDefaultTextEncodingName):
724         (EwkSettings::defaultTextEncodingName):
725         * UIProcess/API/efl/ewk_settings_private.h:
726         (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.
727
728 2014-01-22  Enrica Casucci  <enrica@apple.com>
729
730         Support WebSelections in WK2 on iOS.
731         https://bugs.webkit.org/show_bug.cgi?id=127015
732         <rdar://problem/15211964>
733
734         Reviewed by Benjamin Poulain.
735
736         This change adds support for text only (non block mode)
737         selections in non editable content.
738         The main changes consist in hooking up the new gesture type
739         and touches to handle selection creation and interaction.
740         It also includes changes to the way first responder is handled
741         which includes the implementation of the isEditable method
742         to allow iOS to know when to show the keyboard.
743
744         * Shared/ios/WKGestureTypes.h:
745         * UIProcess/API/ios/WKInteractionView.mm:
746         (-[WKInteractionView isEditable]):
747         (-[WKInteractionView canBecomeFirstResponder]):
748         (-[WKInteractionView webSelectionRects]):
749         (-[WKInteractionView _highlightLongPressRecognized:]):
750         (-[WKInteractionView _singleTapRecognized:]):
751         (-[WKInteractionView inputAccessoryView]):
752         (-[WKInteractionView canPerformAction:withSender:]):
753         (-[WKInteractionView _showDictionary:]):
754         (toWKGestureType):
755         (toUIWKGestureType):
756         (selectionChangedWithGesture):
757         (selectionChangedWithTouch):
758         (-[WKInteractionView selectedTextRange]):
759         (-[WKInteractionView webSelectionAssistant]):
760         (-[WKInteractionView _startAssistingNode]):
761         (-[WKInteractionView _stopAssistingNode]):
762         (-[WKInteractionView _selectionChanged]):
763         * WebProcess/WebPage/ios/WebPageIOS.mm:
764         (WebKit::WebPage::selectWithGesture):
765         (WebKit::WebPage::updateSelectionWithTouches):
766
767 2014-01-22  Anders Carlsson  <andersca@apple.com>
768
769         WKBrowsingContextController should not be an API wrapper around WebPageProxy
770         https://bugs.webkit.org/show_bug.cgi?id=127454
771
772         Reviewed by Dan Bernstein.
773
774         * Shared/Cocoa/APIObject.mm:
775         (API::Object::newObject):
776         * Shared/mac/ObjCObjectGraphCoders.mm:
777         (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
778         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
779         (-[WKBrowsingContextController _initWithPageRef:]):
780         (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
781         * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
782         * UIProcess/API/Cocoa/WKProcessGroup.mm:
783         (didNavigateWithNavigationData):
784         (didPerformClientRedirect):
785         (didPerformServerRedirect):
786         (didUpdateHistoryTitle):
787         * UIProcess/API/ios/WKContentView.mm:
788         (-[WKContentView browsingContextController]):
789         * UIProcess/API/mac/WKView.mm:
790         (-[WKView browsingContextController]):
791         * UIProcess/ios/WebPageProxyIOS.mm:
792         (WebKit::WebPageProxy::platformInitialize):
793         * UIProcess/mac/WebPageProxyMac.mm:
794         (WebKit::WebPageProxy::platformInitialize):
795
796 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
797
798         Remove CSS3_TEXT_DECORATION define
799         https://bugs.webkit.org/show_bug.cgi?id=127333
800
801         Reviewed by Simon Fraser.
802
803         This is required for unprefixing the text-decoration-* CSS properties.
804
805         * Configurations/FeatureDefines.xcconfig:
806
807 2014-01-22  Gavin Barraclough  <barraclough@apple.com>
808
809         Debug mechanism to override process QoS on Mac
810         https://bugs.webkit.org/show_bug.cgi?id=127455
811
812         Reviewed by Anders Carlsson.
813
814         * NetworkProcess/NetworkProcess.messages.in:
815             - added message.
816         * PluginProcess/PluginProcess.messages.in:
817             - added message.
818         * Shared/ChildProcess.h:
819         * Shared/mac/ChildProcessMac.mm:
820         (WebKit::ChildProcess::setQOS):
821             - Added implementation of new message.
822         * UIProcess/Plugins/PluginProcessProxy.cpp:
823         (WebKit::PluginProcessProxy::didFinishLaunching):
824             - SetQOS for the PluginProcess.
825         * UIProcess/Plugins/PluginProcessProxy.h:
826         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
827         (WebKit::pluginProcessLatencyQOS):
828         (WebKit::pluginProcessThroughputQOS):
829             - read NSUserDefaults.
830         * UIProcess/WebContext.cpp:
831         (WebKit::WebContext::ensureNetworkProcess):
832             - SetQOS for the NetworkProcess.
833         (WebKit::WebContext::createNewWebProcess):
834             - SetQOS for the WebProcess.
835         * UIProcess/WebContext.h:
836         * UIProcess/mac/WebContextMac.mm:
837         (WebKit::networkProcessLatencyQOS):
838         (WebKit::networkProcessThroughputQOS):
839         (WebKit::webProcessLatencyQOS):
840         (WebKit::webProcessThroughputQOS):
841             - read NSUserDefaults.
842         * WebProcess/WebProcess.messages.in:
843             - added message.
844
845 2014-01-22  David Farler  <dfarler@apple.com>
846
847         ASAN builds are broken - missing flags
848         https://bugs.webkit.org/show_bug.cgi?id=127231
849
850         Reviewed by Andy Estes.
851
852         Add missing $(ASAN_OTHER_LDFLAGS).
853         * Configurations/PluginProcessShim.xcconfig:
854         * Configurations/SecItemShim.xcconfig:
855         * Configurations/WebKit2.xcconfig:
856         * Configurations/WebProcessShim.xcconfig:
857
858 2014-01-22  Brady Eidson  <beidson@apple.com>
859
860         The IDB backing store get() method shouldn't call IDB callbacks directly
861         https://bugs.webkit.org/show_bug.cgi?id=127453
862         
863         Reviewed by Beth Dakin.
864
865         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
866         (WebKit::WebIDBServerConnection::get):
867         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
868
869 2014-01-22  Martin Hock  <mhock@apple.com>
870
871         Enable Session API.
872         https://bugs.webkit.org/show_bug.cgi?id=127255
873
874         Reviewed by Alexey Proskuryakov.
875
876         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
877         (WebKit::storageSession):
878         * NetworkProcess/NetworkResourceLoader.cpp:
879         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
880         (WebKit::NetworkResourceLoader::start):
881         * NetworkProcess/NetworkResourceLoader.h:
882         * NetworkProcess/RemoteNetworkingContext.h:
883         * NetworkProcess/mac/RemoteNetworkingContext.mm:
884         (WebKit::RemoteNetworkingContext::storageSession):
885         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
886         * Shared/Network/NetworkResourceLoadParameters.cpp:
887         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
888         (WebKit::NetworkResourceLoadParameters::encode):
889         (WebKit::NetworkResourceLoadParameters::decode):
890         * Shared/Network/NetworkResourceLoadParameters.h:
891         * Shared/SessionTracker.cpp:
892         (WebKit::staticSessionMap):
893         (WebKit::SessionTracker::sessionMap):
894         (WebKit::SessionTracker::session):
895         (WebKit::SessionTracker::setSession):
896         (WebKit::SessionTracker::destroySession):
897         * Shared/SessionTracker.h:
898         * UIProcess/API/C/WKPage.cpp:
899         (WKPageSetSession):
900         * UIProcess/API/C/WKPage.h:
901         * UIProcess/API/C/WKSessionRef.cpp:
902         (WKSessionCreate):
903         * UIProcess/API/C/WKSessionRef.h:
904         * UIProcess/WebPageProxy.cpp:
905         (WebKit::WebPageProxy::WebPageProxy):
906         (WebKit::WebPageProxy::setSession):
907         * UIProcess/WebPageProxy.h:
908         * WebProcess/Network/WebResourceLoadScheduler.cpp:
909         (WebKit::WebResourceLoadScheduler::scheduleLoad):
910         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
911         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
912         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
913         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
914         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
915         (WebKit::WebFrameNetworkingContext::storageSession):
916         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
917         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
918         * WebProcess/WebPage/WebFrame.cpp:
919         (WebKit::WebFrame::startDownload):
920         * WebProcess/WebPage/WebPage.cpp:
921         (WebKit::WebPage::WebPage):
922         (WebKit::WebPage::sessionID):
923         (WebKit::WebPage::updatePreferences):
924         * WebProcess/WebPage/WebPage.h:
925         (WebKit::WebPage::setSessionID):
926         * WebProcess/WebPage/WebPage.messages.in:
927
928 2014-01-21  Brady Eidson  <beidson@apple.com>
929
930         IDB: "Put" support
931         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
932
933         Reviewed by Alexey Proskuryakov.
934
935         Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
936         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
937         (WebKit::WebIDBServerConnection::put):
938         (WebKit::WebIDBServerConnection::didPutRecord):
939         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
940         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
941
942         Pass off the putRecord request to the Unique IDBDatabase:
943         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
944         (WebKit::DatabaseProcessIDBConnection::putRecord):
945         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
946         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
947
948         Pass off the putRecord request to the backing store:
949         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
950         (WebKit::UniqueIDBDatabase::putRecord):
951         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
952         (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
953         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
954
955         Add backing store methods related to putRecord, though only one is critical right now:
956         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
957         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
958         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
959         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
960         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
961         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
962         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
963         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
964
965         Add the IDBKeyData type to IPC:
966         * Scripts/webkit2/messages.py:
967         (struct_or_class):
968
969         * Shared/WebCoreArgumentCoders.cpp:
970         (IPC::ArgumentCoder<IDBKeyData>::encode):
971         (IPC::ArgumentCoder<IDBKeyData>::decode):
972         * Shared/WebCoreArgumentCoders.h:
973
974         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
975         (WebKit::serializeIDBKey):
976         * DatabaseProcess/IndexedDB/IDBSerialization.h:
977
978         Implement more cross-thread copying:
979         * Shared/WebCrossThreadCopier.cpp:
980         (WebCore::Vector<uint8_t>>::copy):
981         (WebCore::Vector<Vector<IDBKeyData>>>::copy):
982         (WebCore::ASCIILiteral>::copy):
983         * Shared/WebCrossThreadCopier.h:
984
985         Implement more numbers of generic AsyncTask templates:
986         * Shared/AsyncTask.h:
987         (WebKit::createAsyncTask):
988
989 2014-01-22  Anders Carlsson  <andersca@apple.com>
990
991         WKProcessClass should create a WebContext
992         https://bugs.webkit.org/show_bug.cgi?id=127449
993         <rdar://problem/15885582>
994
995         Reviewed by Dan Bernstein.
996
997         * Shared/Cocoa/APIObject.mm:
998         (API::Object::newObject):
999         * UIProcess/API/Cocoa/WKBrowsingContextController.h:
1000         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1001         * UIProcess/API/Cocoa/WKProcessClass.mm:
1002         (-[WKProcessClass initWithConfiguration:]):
1003         (-[WKProcessClass dealloc]):
1004         (-[WKProcessClass API::]):
1005         * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
1006         (WebKit::wrapper):
1007         * UIProcess/API/Cocoa/WKProcessGroup.mm:
1008         (-[WKProcessGroup initWithInjectedBundleURL:]):
1009         * UIProcess/API/ios/WKContentView.mm:
1010         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
1011         * WebKit2.xcodeproj/project.pbxproj:
1012
1013 2014-01-22  Tim Horton  <timothy_horton@apple.com>
1014
1015         Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
1016         https://bugs.webkit.org/show_bug.cgi?id=127445
1017
1018         Reviewed by Anders Carlsson.
1019
1020         * UIProcess/API/ios/WKContentView.mm:
1021         (-[WKContentView _updateViewExposedRect]):
1022         * UIProcess/API/mac/WKView.mm:
1023         (-[WKView _updateViewExposedRect]):
1024         Null-check.
1025
1026 2014-01-22  Anders Carlsson  <andersca@apple.com>
1027
1028         Add WKWebView class
1029         https://bugs.webkit.org/show_bug.cgi?id=127444
1030         <rdar://problem/15884418>
1031
1032         Reviewed by Dan Bernstein.
1033
1034         * UIProcess/API/Cocoa/WKWebView.h: Added.
1035         * UIProcess/API/Cocoa/WKWebView.mm: Added.
1036         (-[WKWebView initWithFrame:configuration:]):
1037         (-[WKWebView configuration]):
1038         * WebKit2.xcodeproj/project.pbxproj:
1039
1040 2014-01-22  Anders Carlsson  <andersca@apple.com>
1041
1042         Fix 32-bit build.
1043
1044         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1045
1046 2014-01-22  Tim Horton  <timothy_horton@apple.com>
1047
1048         [wk2] Scroll pinning state is wrong until the first scroll event
1049         https://bugs.webkit.org/show_bug.cgi?id=127437
1050
1051         Reviewed by Simon Fraser.
1052
1053         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1054         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
1055         * WebProcess/WebPage/WebPage.cpp:
1056         (WebKit::WebPage::updateMainFrameScrollOffsetPinning):
1057         (WebKit::WebPage::didCommitLoad):
1058         * WebProcess/WebPage/WebPage.h:
1059         Rename WebPage::didChangeScrollOffsetForMainFrame to
1060         updateMainFrameScrollOffsetPinning, which better describes what it
1061         actually does. Call it when a load is committed, so that we have valid
1062         pinning state before the first scroll event comes in.
1063
1064 2014-01-22  Anders Carlsson  <andersca@apple.com>
1065
1066         Add WKWebViewConfiguration class
1067         https://bugs.webkit.org/show_bug.cgi?id=127436
1068         <rdar://problem/15882923>
1069
1070         Reviewed by Tim Horton.
1071
1072         * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
1073         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
1074         (-[WKWebViewConfiguration copyWithZone:]):
1075         * WebKit2.xcodeproj/project.pbxproj:
1076
1077 2014-01-22  Alice Barraclough  <alice.liu@apple.com>
1078
1079         [WK2] add cocoa API for private browsing setting
1080         https://bugs.webkit.org/show_bug.cgi?id=127391
1081
1082         Reviewed by Sam Weinig.
1083
1084         * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
1085         * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
1086         (-[WKBrowsingContextGroup privateBrowsingEnabled]):
1087         (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
1088         Adding some API for the private Browsing setting. Reaches through
1089         to the WKPageGroup's preferences.
1090
1091 2014-01-22  Anders Carlsson  <andersca@apple.com>
1092
1093         Add WKProcessClass class
1094         https://bugs.webkit.org/show_bug.cgi?id=127433
1095         <rdar://problem/15882582>
1096
1097         Reviewed by Dan Bernstein.
1098
1099         Add a stubbed out WKProcessClass class.
1100
1101         * Shared/API/Cocoa/WKFoundation.h:
1102         * UIProcess/API/Cocoa/WKProcessClass.h: Added.
1103         * UIProcess/API/Cocoa/WKProcessClass.mm: Added.
1104         (-[WKProcessClass initWithConfiguration:]):
1105         (-[WKProcessClass configuration]):
1106         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
1107         * WebKit2.xcodeproj/project.pbxproj:
1108
1109 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1110
1111         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
1112         https://bugs.webkit.org/show_bug.cgi?id=127119
1113
1114         Reviewed by Mario Sanchez Prada.
1115
1116         Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).
1117
1118         * WebProcess/WebPage/WebPage.cpp:
1119         (WebKit::WebPage::WebPage):
1120         * WebProcess/WebPage/WebPage.h:
1121         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1122         (WebKit::WebPage::platformInitialize):
1123
1124 2014-01-22  Martin Robinson  <mrobinson@igalia.com>
1125
1126         [GTK][CMake] Add support for building the NetworkProcess
1127         https://bugs.webkit.org/show_bug.cgi?id=127195
1128
1129         Reviewed by Daniel Bates.
1130
1131         * CMakeLists.txt: Add shared network process build instructions.
1132         * PlatformEfl.cmake: Move build instructions to the platform-independent file.
1133         * PlatformGTK.cmake: Add some files to the source lists.
1134
1135 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1136
1137         REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
1138         https://bugs.webkit.org/show_bug.cgi?id=127422
1139
1140         Reviewed by Anders Carlsson.
1141
1142         * WebProcess/gtk/WebGtkExtensionManager.cpp:
1143         (WebKit::WebGtkExtensionManager::initialize): Always create the
1144         WebKitWebExtension object since it's used internally to implement
1145         the ResourceLoader client.
1146
1147 2014-01-22  Jer Noble  <jer.noble@apple.com>
1148
1149         [Mac][WK2] Unable to play video protected by session cookies
1150         https://bugs.webkit.org/show_bug.cgi?id=127207
1151
1152         Reviewed by Sam Weinig.
1153
1154         Recent changes in our underlying media frameworks caused our shimmed methods
1155         in CookieStorageShim to stop being called. Insert an objective-c shim in addition
1156         to our original shim to intercept pulling cookies out of cookie storage.
1157
1158         * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
1159         (WebKit::CookieStorageShim::initialize): Insert the shim.
1160         (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
1161             Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
1162         * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.
1163
1164 2014-01-22  Yongjun Zhang  <yongjun_zhang@apple.com>
1165
1166         https://bugs.webkit.org/show_bug.cgi?id=127380
1167         Add more methods to WKWebProcessPlugInNodeHandle.
1168
1169         Reviewed by Sam Weinig.
1170
1171         Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
1172         add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.
1173  
1174         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
1175         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
1176         (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
1177         (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
1178
1179 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1180
1181         Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.
1182
1183         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
1184         Use override instead of OVERRIDE.
1185
1186 2014-01-22  Koop Mast <kwm@FreeBSD.org>
1187
1188         Build fixes for FreeBSD.
1189         https://bugs.webkit.org/show_bug.cgi?id=126779
1190
1191         Reviewed by Csaba Osztrogon√°c.
1192
1193         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1194         (WebKit::PluginProcessProxy::scanPlugin):
1195
1196 2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>
1197
1198         [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
1199         https://bugs.webkit.org/show_bug.cgi?id=127397
1200
1201         Reviewed by Anders Carlsson.
1202
1203         Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
1204         and DispatchQueue::setSocketEventHandler.
1205
1206         * Platform/IPC/unix/ConnectionUnix.cpp:
1207         (IPC::Connection::open):
1208         * Platform/WorkQueue.h:
1209         * Platform/efl/DispatchQueueEfl.cpp:
1210         (DispatchQueue::setSocketEventHandler):
1211         * Platform/efl/DispatchQueueEfl.h:
1212         * Platform/efl/WorkQueueEfl.cpp:
1213         (WorkQueue::registerSocketEventHandler):
1214
1215 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1216
1217         [wk2] De-.get()ify receivers of Objective-C messages
1218         https://bugs.webkit.org/show_bug.cgi?id=127398
1219
1220         Reviewed by Sam Weinig.
1221
1222         RetainPtr does the right thing when you use it as the
1223         receiver of an Obj-C message, so we don't need .get().
1224
1225         Long and useless file list elided.
1226
1227 2014-01-21  Brady Eidson  <beidson@apple.com>
1228
1229         The IDB backing store put() method shouldn't call IDB callbacks directly
1230         https://bugs.webkit.org/show_bug.cgi?id=127399
1231
1232         Reviewed by Beth Dakin.
1233
1234         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1235         (WebKit::WebIDBServerConnection::put):
1236         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1237
1238 2014-01-21  Anders Carlsson  <andersca@apple.com>
1239
1240         Fix 32-bit build.
1241
1242         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
1243
1244 2014-01-21  Jinwoo Song  <jinwoo7.song@samsung.com>
1245
1246         [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
1247         https://bugs.webkit.org/show_bug.cgi?id=127263
1248
1249         Reviewed by Gyuyoung Kim.
1250
1251         After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
1252         So it would be better to use nanoseconds in TimerWorkItem for consistency.
1253
1254         * Platform/efl/DispatchQueueEfl.cpp:
1255         (DispatchQueue::performTimerWork):
1256         (DispatchQueue::insertTimerWorkItem):
1257         (DispatchQueue::getNextTimeOut):
1258         * Platform/efl/DispatchQueueWorkItemEfl.h:
1259         (TimerWorkItem::create):
1260         (TimerWorkItem::expirationTimeNanoSeconds):
1261         (TimerWorkItem::hasExpired):
1262         (TimerWorkItem::TimerWorkItem):
1263
1264 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1265
1266         Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.
1267
1268         Reviewed by Simon Fraser.
1269
1270         * WebKit2.xcodeproj/project.pbxproj:
1271
1272 2014-01-21  Anders Carlsson  <andersca@apple.com>
1273
1274         Add a WKProcessClassConfiguration class
1275         https://bugs.webkit.org/show_bug.cgi?id=127378
1276         <rdar://problem/15875413>
1277
1278         Reviewed by Dan Bernstein.
1279
1280         * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
1281         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
1282         (-[WKProcessClassConfiguration copyWithZone:]):
1283         * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
1284         * WebKit2.xcodeproj/project.pbxproj:
1285
1286 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1287
1288         Make ViewGestureController Obj-C++
1289         https://bugs.webkit.org/show_bug.cgi?id=127385
1290
1291         Reviewed by Dean Jackson.
1292
1293         * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
1294         * WebKit2.xcodeproj/project.pbxproj:
1295
1296 2014-01-21  Anders Carlsson  <andersca@apple.com>
1297
1298         Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
1299         https://bugs.webkit.org/show_bug.cgi?id=127374
1300
1301         Reviewed by Dan Bernstein.
1302
1303         * WebKit2.xcodeproj/project.pbxproj:
1304
1305 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1306
1307         Unreviewed, rolling out r162452.
1308         http://trac.webkit.org/changeset/162452
1309         https://bugs.webkit.org/show_bug.cgi?id=127366
1310
1311         broke a few tests on all Mac WebKit1 bots (Requested by
1312         thorton on #webkit).
1313
1314         * WebProcess/WebPage/WebPage.cpp:
1315         (WebKit::WebPage::WebPage):
1316         (WebKit::WebPage::setActive):
1317         (WebKit::WebPage::setViewIsVisible):
1318         (WebKit::WebPage::setFocused):
1319         (WebKit::WebPage::setIsInWindow):
1320         (WebKit::WebPage::setViewStateInternal):
1321         (WebKit::WebPage::setIsVisuallyIdle):
1322         * WebProcess/WebPage/WebPage.h:
1323
1324 2014-01-21  Martin Hock  <mhock@apple.com>
1325
1326         Trivial Session API cleanup.
1327         https://bugs.webkit.org/show_bug.cgi?id=127356
1328
1329         Reviewed by Alexey Proskuryakov.
1330
1331         * UIProcess/API/C/WKSessionRef.cpp:
1332         (WKSessionIsEphemeral):
1333         * UIProcess/API/C/WKSessionRef.h:
1334
1335 2014-01-16  Simon Fraser  <simon.fraser@apple.com>
1336
1337         Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
1338         https://bugs.webkit.org/show_bug.cgi?id=127121
1339
1340         Reviewed by Anders Carlsson.
1341         
1342         A common cause of early WebProcess crashes during development is a null return
1343         from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
1344         this case rather than passing a null C string to dlsym().
1345
1346         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
1347         (WebKit::BootstrapMain):
1348
1349 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1350
1351         Sort headers after the rename that happened in r162454.
1352
1353         * UIProcess/mac/RemoteLayerTreeHost.mm:
1354         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1355
1356 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1357
1358         Address late review naming comments after r162453.
1359
1360         * UIProcess/API/mac/WKView.mm:
1361         And, fix the build by adding an include I accidentally missed.
1362
1363         * UIProcess/mac/RemoteLayerTreeHost.mm:
1364         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1365
1366 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1367
1368         Keep CALayer implicit animation disabling code in a single place
1369         https://bugs.webkit.org/show_bug.cgi?id=127355
1370
1371         Reviewed by Simon Fraser.
1372
1373         * Shared/mac/RemoteLayerTreePropertyApplier.h:
1374         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1375         Remove disableActionsForLayer.
1376
1377         * UIProcess/API/mac/WKView.mm:
1378         (-[WKView _rootLayer]):
1379         Disable actions on the root layer. It doesn't need them, and currently
1380         isn't affected by implicit animations, but future patches which animate
1381         the root layer will benefit from this.
1382
1383         * UIProcess/mac/RemoteLayerTreeHost.mm:
1384         (WebKit::RemoteLayerTreeHost::createLayer):
1385         Use web_disableAllActions instead of disableActionsForLayer.
1386
1387         * WebKit2.xcodeproj/project.pbxproj:
1388         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
1389         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
1390         (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
1391         (PlatformCALayerRemoteCustom::hostingContextID):
1392         Use web_disableAllActions instead of disableActionsForLayer.
1393         This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.
1394
1395 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
1396
1397         Change Page, FocusController to use ViewState
1398         https://bugs.webkit.org/show_bug.cgi?id=126533
1399
1400         Reviewed by Tim Horton.
1401
1402         These classes currently maintain a set of separate fields to represent the view state;
1403         combine these into a single field, and allow WebPage to send the combined update rather
1404         than individual changes.
1405
1406         Maintain existing interface for WebKit1 clients.
1407
1408         * WebProcess/WebPage/WebPage.cpp:
1409         (WebKit::WebPage::WebPage):
1410             - Combined separate calls to Page::setViewState.
1411         (WebKit::WebPage::updateIsInWindow):
1412             - Simplied from setIsInWindow.
1413         (WebKit::WebPage::setViewState):
1414             - Combined separate calls to Page::setViewState.
1415         * WebProcess/WebPage/WebPage.h:
1416             - Declare updateIsInWindow.
1417
1418 2014-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1419
1420         [SOUP] Implement CUSTOM PROTOCOLS
1421         https://bugs.webkit.org/show_bug.cgi?id=125583
1422
1423         Reviewed by Anders Carlsson.
1424
1425         Add new classes to implement CustomProtocols for soup. The
1426         implementation is the same, but using the CustomProtocol API and
1427         messages. The current implementation can be removed once all ports
1428         using soup switch to using CustomProtocols.
1429
1430         * GNUmakefile.am: Add new include paths.
1431         * GNUmakefile.list.am: Add new files to compilation.
1432         * PlatformGTK.cmake: Add new files to compilation.
1433         * Shared/API/c/soup/WKBaseSoup.h:
1434         * Shared/APIObject.h:
1435         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
1436         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
1437         (WebKit::generateCustomProtocolID):
1438         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
1439         (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
1440         (WebKit::WebSoupRequestAsyncData::requestFailed):
1441         (WebKit::WebSoupRequestAsyncData::releaseTask):
1442         (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
1443         (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
1444         (WebKit::CustomProtocolManagerImpl::registerScheme):
1445         (WebKit::CustomProtocolManagerImpl::supportsScheme):
1446         (WebKit::CustomProtocolManagerImpl::didFailWithError):
1447         (WebKit::CustomProtocolManagerImpl::didLoadData):
1448         (WebKit::CustomProtocolManagerImpl::didReceiveResponse):
1449         (WebKit::CustomProtocolManagerImpl::didFinishLoading):
1450         (WebKit::CustomProtocolManagerImpl::send):
1451         (WebKit::CustomProtocolManagerImpl::finish):
1452         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
1453         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
1454         (WebKit::CustomProtocolManager::CustomProtocolManager):
1455         (WebKit::CustomProtocolManager::initialize):
1456         (WebKit::CustomProtocolManager::registerScheme):
1457         (WebKit::CustomProtocolManager::supportsScheme):
1458         (WebKit::CustomProtocolManager::didFailWithError):
1459         (WebKit::CustomProtocolManager::didLoadData):
1460         (WebKit::CustomProtocolManager::didReceiveResponse):
1461         (WebKit::CustomProtocolManager::didFinishLoading):
1462         * Shared/WebProcessCreationParameters.cpp:
1463         (WebKit::WebProcessCreationParameters::encode):
1464         (WebKit::WebProcessCreationParameters::decode):
1465         * Shared/WebProcessCreationParameters.h:
1466         * UIProcess/API/C/soup/WKAPICastSoup.h:
1467         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
1468         (WKSoupCustomProtocolRequestManagerGetTypeID):
1469         (WKSoupCustomProtocolRequestManagerSetClient):
1470         * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
1471         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
1472         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
1473         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
1474         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
1475         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
1476         (WebKit::CustomProtocolManagerProxy::startLoading):
1477         (WebKit::CustomProtocolManagerProxy::stopLoading):
1478         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
1479         (WebKit::WebSoupCustomProtocolRequestManager::supplementName):
1480         (WebKit::WebSoupCustomProtocolRequestManager::create):
1481         (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
1482         (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
1483         (WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
1484         (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
1485         (WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
1486         (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
1487         (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
1488         (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
1489         (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
1490         (WebKit::WebSoupCustomProtocolRequestManager::startLoading):
1491         (WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
1492         (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
1493         (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
1494         (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
1495         (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
1496         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
1497         (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
1498         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
1499         (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
1500         (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
1501         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
1502         * UIProcess/Network/NetworkProcessProxy.cpp:
1503         (WebKit::NetworkProcessProxy::NetworkProcessProxy):
1504         * UIProcess/WebContext.cpp:
1505         (WebKit::WebContext::WebContext):
1506         * UIProcess/WebPageProxy.cpp:
1507         * UIProcess/WebPageProxy.h:
1508         * UIProcess/WebPageProxy.messages.in:
1509         * UIProcess/WebProcessProxy.cpp:
1510         (WebKit::WebProcessProxy::WebProcessProxy):
1511         * UIProcess/gtk/WebContextGtk.cpp:
1512         (WebKit::WebContext::platformInitializeWebProcess):
1513         * UIProcess/soup/WebContextSoup.cpp:
1514         (WebKit::WebContext::platformInitializeNetworkProcess):
1515         * WebProcess/WebProcess.cpp:
1516         (WebKit::WebProcess::WebProcess):
1517         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
1518         (webkitSoupRequestGenericSendAsync):
1519         (webkitSoupRequestGenericSendFinish):
1520         * WebProcess/soup/WebKitSoupRequestGeneric.h:
1521         * WebProcess/soup/WebProcessSoup.cpp:
1522         (WebKit::WebProcess::platformInitializeWebProcess):
1523
1524 2014-01-21  Adrian Perez de Castro  <aperez@igalia.com>
1525
1526         [GTK] Allow passing extra data to web extensions
1527         https://bugs.webkit.org/show_bug.cgi?id=125990
1528
1529         Reviewed by Carlos Garcia Campos.
1530
1531         Allow passing additional information to the injected bundle. On top
1532         of the string containing the path to the web extensions directory,
1533         a GVariant can be set with additional data using
1534         webkit_web_context_set_web_extensions_initialization_user_data().
1535         Also, a new initialize-web-extensions signal is emitted before
1536         launching a new WebProcess to allow setting different user data
1537         for each process. The GVariant is serialized as a string, passed
1538         to the injected bundle, and the injected bundle deserializes back
1539         the data, which is passed to web extensions which define the
1540         webkit_web_extension_initialize_with_user_data() function (for
1541         backwards compatibility, webkit_web_extension_initialize() is
1542         used as a fallback.)
1543
1544         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1545         (getInjectedBundleInitializationUserData): Define new callback
1546         function which causes emission of the initialize-web-extensions
1547         signal, and serializes the data to be passed to the web process.
1548         (attachInjectedBundleClientToContext): Set the
1549         getInjectedBundleInitializationUserData() callback.
1550         * UIProcess/API/gtk/WebKitWebContext.cpp:
1551         (webkit_web_context_class_init): Define the
1552         initialize-web-extensions signal.
1553         (webkit_web_context_set_web_extensions_directory):
1554         Web extensions directory as now member of WebKitWebContextPrivate,
1555         to be able to retrieve it later.
1556         (webkit_web_context_set_web_extensions_initialization_user_data):
1557         New API method to set the user data passed to the web extensions
1558         when initialized.
1559         (webkitWebContextInitializeWebExtensions): Private function used
1560         to trigger emission of the initialize-web-extensions signal.
1561         * UIProcess/API/gtk/WebKitWebContext.h:
1562         Added prototype for new API method
1563         webkit_web_context_set_web_extensions_initialization_user_data().
1564         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1565         Prototype of the new private function.
1566         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1567         Add new public API bits to the documentation.
1568         * WebProcess/gtk/WebGtkExtensionManager.cpp:
1569         (WebKit::WebGtkExtensionManager::initialize):
1570         Deserialize the data received from the UI process and pass it to
1571         webkit_web_extension_initialize_with_user_data() if available,
1572         keeping webkit_web_extension_initialize() as fallback.
1573
1574 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
1575
1576         [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
1577         https://bugs.webkit.org/show_bug.cgi?id=127261
1578
1579         Reviewed by Gyuyoung Kim.
1580
1581         isEwkViewEvasObject is general check routine of EFL and mainly used in
1582         ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
1583
1584         This patch moves it to EwkView.h as inline function with small refactoring.
1585         In addition, this patch added EINA_UNLIKELY keyword in cold paths.
1586
1587         * UIProcess/API/efl/EwkView.cpp:
1588         (defaultSmartClassInstance):
1589         (toSmartData):
1590         (toEwkView): Moved it from bottom not to expose it to header file.
1591         * UIProcess/API/efl/EwkView.h:
1592         * UIProcess/API/efl/ewk_view.cpp:
1593         (isEwkViewEvasObject):
1594         (toEwkViewChecked):
1595
1596 2014-01-20  Eunmi Lee  <eunmi15.lee@samsung.com>
1597
1598         [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
1599         https://bugs.webkit.org/show_bug.cgi?id=127268
1600
1601         Reviewed by Gyuyoung Kim.
1602
1603         Amount of scrolling should be same with movement of touch even though
1604         device pixel ratio is not 1, so apply device pixel ratio to the new
1605         position of scrollBy().
1606
1607         * UIProcess/API/efl/EwkView.cpp:
1608         (EwkView::scrollBy):
1609
1610 2014-01-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1611
1612         [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
1613         https://bugs.webkit.org/show_bug.cgi?id=127090
1614
1615         Reviewed by Simon Fraser.
1616
1617         When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
1618         WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
1619         WebPageProxy::pageScaleFactor.
1620         This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.
1621
1622         * UIProcess/WebPageProxy.cpp:
1623         (WebKit::WebPageProxy::scalePage):
1624
1625 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1626
1627         [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
1628         https://bugs.webkit.org/show_bug.cgi?id=127273
1629
1630         Reviewed by Anders Carlsson.
1631
1632         Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
1633         and WorkQueue::SocketEventSource.
1634
1635         * Platform/IPC/unix/ConnectionUnix.cpp:
1636         (IPC::Connection::open):
1637         * Platform/WorkQueue.h:
1638         * Platform/gtk/WorkQueueGtk.cpp:
1639         (WorkQueue::SocketEventSource::SocketEventSource):
1640         (WorkQueue::registerSocketEventHandler):
1641         (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
1642         (WorkQueue::dispatch): Ditto.
1643         (WorkQueue::dispatchAfter): Ditto.
1644
1645 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1646
1647         Unreviewed. Additional build fixes after r162276 and r163304.
1648
1649         * Platform/WorkQueue.h:
1650         * Platform/gtk/WorkQueueGtk.cpp:
1651         (WorkQueue::EventSource::EventSource):
1652         (WorkQueue::dispatchOnSource):
1653         (WorkQueue::dispatch):
1654         (WorkQueue::dispatchAfter):
1655
1656 2014-01-19  Zan Dobersek  <zdobersek@igalia.com>
1657
1658         Unreviewed GTK build fix after r162276.
1659
1660         Updating the WorkQueue implementation to use std::function and std::chrono.
1661
1662         * Platform/WorkQueue.h:
1663         * Platform/gtk/WorkQueueGtk.cpp:
1664         (WorkQueue::dispatchOnSource):
1665         (WorkQueue::dispatch):
1666         (WorkQueue::dispatchAfter):
1667
1668 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
1669
1670         Unreviewed debug build fix on EFL port after r162300.
1671
1672         * Platform/efl/DispatchQueueWorkItemEfl.h:
1673         (TimerWorkItem::create):
1674
1675 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
1676
1677         [EFL][WK2] build fix after r162276
1678         https://bugs.webkit.org/show_bug.cgi?id=127259
1679
1680         Reviewed by Anders Carlsson.
1681
1682         * Platform/efl/DispatchQueueEfl.cpp:
1683         (DispatchQueue::performTimerWork):
1684         (DispatchQueue::getNextTimeOut):
1685         * Platform/efl/DispatchQueueWorkItemEfl.h:
1686         (WorkItem::create):
1687         (WorkItem::WorkItem):
1688         (TimerWorkItem::create):
1689         (TimerWorkItem::TimerWorkItem):
1690         * Platform/efl/WorkQueueEfl.cpp:
1691         (WorkQueue::dispatch):
1692         (WorkQueue::dispatchAfter):
1693
1694 2014-01-18  Anders Carlsson  <andersca@apple.com>
1695
1696         Replace a couple of uses of WTF::Function with std::function
1697         https://bugs.webkit.org/show_bug.cgi?id=127218
1698
1699         Reviewed by Andreas Kling.
1700
1701         * Platform/IPC/mac/ConnectionMac.cpp:
1702         (IPC::createDataAvailableSource):
1703         * Platform/WorkQueue.h:
1704         * Platform/mac/WorkQueueMac.cpp:
1705         (WorkQueue::dispatch):
1706         (WorkQueue::dispatchAfter):
1707         * Shared/ChildProcess.cpp:
1708         (WebKit::didCloseOnConnectionWorkQueue):
1709         * UIProcess/Storage/LocalStorageDatabase.cpp:
1710         (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
1711         * WebProcess/WebPage/DrawingArea.cpp:
1712         (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
1713         * WebProcess/WebPage/DrawingArea.h:
1714         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1715         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1716         (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
1717
1718 2014-01-18  Martin Hock  <mhock@apple.com>
1719
1720         Flesh out session APIs (still not enabled at API level).
1721         https://bugs.webkit.org/show_bug.cgi?id=126918
1722
1723         Reviewed by Alexey Proskuryakov.
1724
1725         * CMakeLists.txt:
1726         * GNUmakefile.list.am:
1727         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1728         (WebKit::storageSession):
1729         (WebKit::NetworkConnectionToWebProcess::startDownload):
1730         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1731         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1732         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1733         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1734         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1735         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1736         * NetworkProcess/NetworkConnectionToWebProcess.h:
1737         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1738         * NetworkProcess/NetworkProcess.cpp:
1739         (WebKit::NetworkProcess::initializeNetworkProcess):
1740         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1741         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1742         * NetworkProcess/NetworkProcess.h:
1743         * NetworkProcess/NetworkProcess.messages.in:
1744         * NetworkProcess/RemoteNetworkingContext.h:
1745         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1746         (WebKit::RemoteNetworkingContext::storageSession):
1747         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1748         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1749         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1750         * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
1751         (WebKit::sessionMap):
1752         (WebKit::identifierBase):
1753         (WebKit::SessionTracker::getSessionMap):
1754         (WebKit::SessionTracker::getIdentifierBase):
1755         (WebKit::SessionTracker::session):
1756         (WebKit::SessionTracker::destroySession):
1757         (WebKit::SessionTracker::setIdentifierBase):
1758         * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
1759         (WebKit::SessionTracker::isEphemeralID):
1760         * Shared/mac/CookieStorageShim.cpp:
1761         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
1762         * UIProcess/APISession.cpp:
1763         (API::generateID):
1764         (API::Session::defaultSession):
1765         (API::Session::legacyPrivateSession):
1766         (API::Session::Session):
1767         (API::Session::create):
1768         (API::Session::isEphemeral):
1769         (API::Session::getID):
1770         * UIProcess/APISession.h:
1771         * UIProcess/WebContext.cpp:
1772         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1773         (WebKit::WebContext::createNewWebProcess):
1774         (WebKit::WebContext::createWebPage):
1775         * UIProcess/WebContext.h:
1776         * UIProcess/WebPageProxy.cpp:
1777         (WebKit::WebPageProxy::create):
1778         (WebKit::WebPageProxy::WebPageProxy):
1779         * UIProcess/WebPageProxy.h:
1780         (WebKit::WebPageProxy::sessionID):
1781         * UIProcess/WebProcessProxy.cpp:
1782         (WebKit::WebProcessProxy::createWebPage):
1783         * UIProcess/WebProcessProxy.h:
1784         * WebKit2.xcodeproj/project.pbxproj:
1785         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1786         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1787         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1788         (WebKit::legacySessionID):
1789         (WebKit::WebPlatformStrategies::cookiesForDOM):
1790         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
1791         (WebKit::WebPlatformStrategies::cookiesEnabled):
1792         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
1793         (WebKit::WebPlatformStrategies::getRawCookies):
1794         (WebKit::WebPlatformStrategies::deleteCookie):
1795         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1796         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1797         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1798         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
1799         (WebKit::WebFrameNetworkingContext::storageSession):
1800         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1801         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1802         (WebKit::WebFrameNetworkingContext::storageSession):
1803         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1804         * WebProcess/WebProcess.cpp:
1805         (WebKit::WebProcess::initializeWebProcess):
1806         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1807         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1808         * WebProcess/WebProcess.h:
1809         * WebProcess/WebProcess.messages.in:
1810
1811 2014-01-18  Brian Burg  <bburg@apple.com>
1812
1813         Web Inspector: Page should use std::unique_ptr for InspectorController
1814         https://bugs.webkit.org/show_bug.cgi?id=127068
1815
1816         Reviewed by Joseph Pecoraro.
1817
1818         Convert call sites to use a InspectorController reference.
1819
1820         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1821         (WebKit::WebInspectorClient::drawRect):
1822         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1823         (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
1824         (WebKit::WebInspectorFrontendClient::closeWindow):
1825         * WebProcess/WebPage/WebInspector.cpp:
1826         (WebKit::WebInspector::createInspectorPage):
1827         (WebKit::WebInspector::show):
1828         (WebKit::WebInspector::close):
1829         (WebKit::WebInspector::evaluateScriptForTest):
1830         (WebKit::WebInspector::showConsole):
1831         (WebKit::WebInspector::showResources):
1832         (WebKit::WebInspector::showMainResourceForFrame):
1833         (WebKit::WebInspector::startJavaScriptDebugging):
1834         (WebKit::WebInspector::stopJavaScriptDebugging):
1835         (WebKit::WebInspector::setJavaScriptProfilingEnabled):
1836         (WebKit::WebInspector::startJavaScriptProfiling):
1837         (WebKit::WebInspector::stopJavaScriptProfiling):
1838         (WebKit::WebInspector::startPageProfiling):
1839         (WebKit::WebInspector::stopPageProfiling):
1840         (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
1841         (WebKit::WebInspector::remoteFrontendConnected):
1842         (WebKit::WebInspector::remoteFrontendDisconnected):
1843
1844 2014-01-18  Anders Carlsson  <andersca@apple.com>
1845
1846         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
1847         https://bugs.webkit.org/show_bug.cgi?id=127225
1848
1849         Reviewed by Andreas Kling.
1850
1851         This concludes the removal of over 8.8 million lines of threaded parser code.
1852
1853         * Configurations/FeatureDefines.xcconfig:
1854
1855 2014-01-18  Yongjun Zhang  <yongjun_zhang@apple.com>
1856
1857         Make WKRenderingProgressEvents a shareable API.
1858         https://bugs.webkit.org/show_bug.cgi?id=127213
1859
1860         Reviewed by Dan Bernstein.
1861
1862         Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
1863         could also use this enum when listening to layout milestones.
1864
1865         * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
1866         (NS_OPTIONS):
1867         * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
1868         (renderingProgressEvents):
1869         * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
1870         * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
1871         * WebKit2.xcodeproj/project.pbxproj:
1872         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
1873             webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
1874         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1875         (didLayout):
1876         (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.
1877
1878 2014-01-17  Commit Queue  <commit-queue@webkit.org>
1879
1880         Unreviewed, rolling out r162237 and r162241.
1881         http://trac.webkit.org/changeset/162237
1882         http://trac.webkit.org/changeset/162241
1883         https://bugs.webkit.org/show_bug.cgi?id=127216
1884
1885         Broke lots of API tests (Requested by ap on #webkit).
1886
1887         * CMakeLists.txt:
1888         * GNUmakefile.list.am:
1889         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1890         (WebKit::storageSession):
1891         (WebKit::NetworkConnectionToWebProcess::startDownload):
1892         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1893         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1894         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1895         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1896         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1897         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1898         * NetworkProcess/NetworkConnectionToWebProcess.h:
1899         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
1900         * NetworkProcess/NetworkProcess.cpp:
1901         (WebKit::NetworkProcess::initializeNetworkProcess):
1902         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
1903         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
1904         * NetworkProcess/NetworkProcess.h:
1905         * NetworkProcess/NetworkProcess.messages.in:
1906         * NetworkProcess/RemoteNetworkingContext.h:
1907         * NetworkProcess/mac/RemoteNetworkingContext.mm:
1908         (WebKit::privateBrowsingStorageSession):
1909         (WebKit::RemoteNetworkingContext::storageSession):
1910         (WebKit::RemoteNetworkingContext::privateBrowsingSession):
1911         (WebKit::privateBrowsingStorageSessionIdentifierBase):
1912         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1913         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1914         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
1915         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
1916         (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1917         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
1918         (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
1919         (WebKit::RemoteNetworkingContext::privateBrowsingSession):
1920         * Shared/SessionTracker.cpp: Removed.
1921         * Shared/SessionTracker.h: Removed.
1922         * UIProcess/APISession.cpp:
1923         (API::Session::Session):
1924         (API::Session::create):
1925         (API::Session::isEphemeral):
1926         * UIProcess/APISession.h:
1927         * UIProcess/WebContext.cpp:
1928         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
1929         (WebKit::WebContext::createNewWebProcess):
1930         (WebKit::WebContext::createWebPage):
1931         * UIProcess/WebContext.h:
1932         * UIProcess/WebPageProxy.cpp:
1933         (WebKit::WebPageProxy::create):
1934         (WebKit::WebPageProxy::WebPageProxy):
1935         * UIProcess/WebPageProxy.h:
1936         * UIProcess/WebProcessProxy.cpp:
1937         (WebKit::WebProcessProxy::createWebPage):
1938         * UIProcess/WebProcessProxy.h:
1939         * WebKit2.xcodeproj/project.pbxproj:
1940         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1941         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
1942         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1943         (WebKit::WebPlatformStrategies::cookiesForDOM):
1944         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
1945         (WebKit::WebPlatformStrategies::cookiesEnabled):
1946         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
1947         (WebKit::WebPlatformStrategies::getRawCookies):
1948         (WebKit::WebPlatformStrategies::deleteCookie):
1949         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
1950         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1951         (WebKit::privateSession):
1952         (WebKit::identifierBase):
1953         (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
1954         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1955         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1956         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
1957         (WebKit::WebFrameNetworkingContext::storageSession):
1958         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
1959         (WebKit::privateSession):
1960         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
1961         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
1962         (WebKit::WebFrameNetworkingContext::storageSession):
1963         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
1964         * WebProcess/WebProcess.cpp:
1965         (WebKit::WebProcess::initializeWebProcess):
1966         (WebKit::WebProcess::ensurePrivateBrowsingSession):
1967         (WebKit::WebProcess::destroyPrivateBrowsingSession):
1968         * WebProcess/WebProcess.h:
1969         * WebProcess/WebProcess.messages.in:
1970
1971 2014-01-17  Ryuan Choi  <ryuan.choi@samsung.com>
1972
1973         Unreviewed build fix on EFL port after r162237
1974
1975         The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function.
1976
1977         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1978         Guarded legacySessionID with ENABLE(NETWORK_PROCESS)
1979
1980 2014-01-17  Martin Hock  <mhock@apple.com>
1981
1982         Flesh out session APIs (still not enabled at API level).
1983         https://bugs.webkit.org/show_bug.cgi?id=126918
1984
1985         Reviewed by Alexey Proskuryakov.
1986
1987         * CMakeLists.txt:
1988         * GNUmakefile.list.am:
1989         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1990         (WebKit::storageSession):
1991         (WebKit::NetworkConnectionToWebProcess::startDownload):
1992         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1993         (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
1994         (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
1995         (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
1996         (WebKit::NetworkConnectionToWebProcess::getRawCookies):
1997         (WebKit::NetworkConnectionToWebProcess::deleteCookie):
1998         * NetworkProcess/NetworkConnectionToWebProcess.h:
1999         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2000         * NetworkProcess/NetworkProcess.cpp:
2001         (WebKit::NetworkProcess::initializeNetworkProcess):
2002         (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
2003         (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
2004         * NetworkProcess/NetworkProcess.h:
2005         * NetworkProcess/NetworkProcess.messages.in:
2006         * NetworkProcess/RemoteNetworkingContext.h:
2007         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2008         (WebKit::RemoteNetworkingContext::storageSession):
2009         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2010         * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
2011         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2012         * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
2013         (WebKit::sessionMap):
2014         (WebKit::identifierBase):
2015         (WebKit::SessionTracker::getSessionMap):
2016         (WebKit::SessionTracker::getIdentifierBase):
2017         (WebKit::SessionTracker::session):
2018         (WebKit::SessionTracker::destroySession):
2019         (WebKit::SessionTracker::setIdentifierBase):
2020         * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
2021         (WebKit::SessionTracker::isEphemeralID):
2022         * UIProcess/APISession.cpp:
2023         (API::generateID):
2024         (API::Session::defaultSession):
2025         (API::Session::legacyPrivateSession):
2026         (API::Session::Session):
2027         (API::Session::create):
2028         (API::Session::isEphemeral):
2029         (API::Session::getID):
2030         * UIProcess/APISession.h:
2031         * UIProcess/WebContext.cpp:
2032         (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
2033         (WebKit::WebContext::createNewWebProcess):
2034         (WebKit::WebContext::createWebPage):
2035         * UIProcess/WebContext.h:
2036         * UIProcess/WebPageProxy.cpp:
2037         (WebKit::WebPageProxy::create):
2038         (WebKit::WebPageProxy::WebPageProxy):
2039         * UIProcess/WebPageProxy.h:
2040         (WebKit::WebPageProxy::sessionID):
2041         * UIProcess/WebProcessProxy.cpp:
2042         (WebKit::WebProcessProxy::createWebPage):
2043         * UIProcess/WebProcessProxy.h:
2044         * WebKit2.xcodeproj/project.pbxproj:
2045         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2046         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2047         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2048         (WebKit::legacySessionID):
2049         (WebKit::WebPlatformStrategies::cookiesForDOM):
2050         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
2051         (WebKit::WebPlatformStrategies::cookiesEnabled):
2052         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
2053         (WebKit::WebPlatformStrategies::getRawCookies):
2054         (WebKit::WebPlatformStrategies::deleteCookie):
2055         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2056         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2057         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2058         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
2059         (WebKit::WebFrameNetworkingContext::storageSession):
2060         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2061         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2062         (WebKit::WebFrameNetworkingContext::storageSession):
2063         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2064         * WebProcess/WebProcess.cpp:
2065         (WebKit::WebProcess::initializeWebProcess):
2066         (WebKit::WebProcess::ensurePrivateBrowsingSession):
2067         (WebKit::WebProcess::destroyPrivateBrowsingSession):
2068         * WebProcess/WebProcess.h:
2069         * WebProcess/WebProcess.messages.in:
2070
2071 2014-01-17  Andreas Kling  <akling@apple.com>
2072
2073         Remove unused TOUCH_ADJUSTMENT code.
2074         <https://webkit.org/b/127181>
2075
2076         Reviewed by Anders Carlsson.
2077
2078         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
2079         (WebKit::WebPage::findZoomableAreaForPoint):
2080
2081 2014-01-17  Anders Carlsson  <andersca@apple.com>
2082
2083         Fix build.
2084
2085         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2086         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2087
2088 2014-01-17  Anders Carlsson  <andersca@apple.com>
2089
2090         Remove FrameLoaderClient::didPerformFirstNavigation()
2091         https://bugs.webkit.org/show_bug.cgi?id=127191
2092
2093         Reviewed by Dan Bernstein.
2094
2095         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2096         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2097
2098 2014-01-17  Manuel Rego Casasnovas  <rego@igalia.com>
2099
2100         [GTK] Add CSS Grid Layout as experimental feature
2101         https://bugs.webkit.org/show_bug.cgi?id=127089
2102
2103         Reviewed by Martin Robinson.
2104
2105         Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES.
2106
2107         Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"
2108
2109         * UIProcess/API/gtk/WebKitSettings.cpp:
2110         (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout.
2111         * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
2112         * UIProcess/gtk/ExperimentalFeatures.h: Ditto.
2113
2114 2014-01-17  Enrica Casucci  <enrica@apple.com>
2115
2116         Support WebSelections in WK2 on iOS.
2117         https://bugs.webkit.org/show_bug.cgi?id=127015
2118         <rdar://problem/15843090>
2119
2120         Reviewed by Dan Bernstein.
2121
2122         Removing unused variable in selectWithGesture that
2123         causes Release build to fail after r162103.
2124
2125         * WebProcess/WebPage/ios/WebPageIOS.mm:
2126         (WebKit::WebPage::selectWithGesture):
2127
2128 2014-01-17  Yongjun Zhang  <yongjun_zhang@apple.com>
2129
2130         https://bugs.webkit.org/show_bug.cgi?id=127138
2131         Add more delegate callback methods to WKWebProcessPlugInLoadDelegate.
2132
2133         Reviewed by Sam Weinig.
2134
2135         Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected
2136         bundle can listen/react to more frame loading events.
2137
2138         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for
2139             WKWebProcessPlugInLoadDelegate.
2140         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2141         (didCommitLoadForFrame):
2142         (didFinishDocumentLoadForFrame):
2143         (didFailLoadWithErrorForFrame):
2144         (didSameDocumentNavigationForFrame): 
2145         (didLayoutForFrame):
2146         (setUpPageLoaderClient):
2147
2148 2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2149
2150         [SOUP] Add stubs for CustomProtocol classes
2151         https://bugs.webkit.org/show_bug.cgi?id=126343
2152
2153         Reviewed by Gustavo Noronha Silva.
2154
2155         * CMakeLists.txt:
2156         * GNUmakefile.am:
2157         * GNUmakefile.list.am:
2158         * PlatformGTK.cmake:
2159         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added.
2160         (WebKit::generateCustomProtocolID):
2161         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
2162         (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
2163         (WebKit::WebSoupRequestAsyncData::requestFailed):
2164         (WebKit::WebSoupRequestAsyncData::releaseTask):
2165         (WebKit::CustomProtocolManager::supplementName):
2166         (WebKit::CustomProtocolManager::CustomProtocolManager):
2167         (WebKit::CustomProtocolManager::initializeConnection):
2168         (WebKit::CustomProtocolManager::initialize):
2169         * Shared/Network/NetworkProcessCreationParameters.cpp:
2170         (WebKit::NetworkProcessCreationParameters::encode): Move
2171         urlSchemesRegisteredForCustomProtocols encoding out of platform
2172         ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS).
2173         (WebKit::NetworkProcessCreationParameters::decode): Ditto.
2174         * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
2175         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added.
2176         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2177         (WebKit::CustomProtocolManagerProxy::startLoading):
2178         (WebKit::CustomProtocolManagerProxy::stopLoading):
2179
2180 2014-01-16  Tim Horton  <timothy_horton@apple.com>
2181
2182         On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
2183         https://bugs.webkit.org/show_bug.cgi?id=126531
2184         <rdar://problem/15745862>
2185
2186         Reviewed by Anders Carlsson.
2187
2188         * UIProcess/API/ios/WKContentView.mm:
2189         (-[WKContentView _updateViewExposedRect]):
2190         (-[WKContentView setViewportSize:]):
2191         (-[WKContentView didFinishScrollTo:]):
2192         (-[WKContentView didScrollTo:]):
2193         (-[WKContentView didZoomToScale:]):
2194         Because zooming is performed by the UIScrollView, we need to transform
2195         the exposedRect's offset in order to get it in FrameView-relative coordinates.
2196
2197         * UIProcess/ios/WebPageProxyIOS.mm:
2198         (WebKit::WebPageProxy::didFinishZooming):
2199         Save the pageScaleFactor when it changes.
2200
2201 2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2202
2203         [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
2204         https://bugs.webkit.org/show_bug.cgi?id=127098
2205
2206         Reviewed by Martin Robinson.
2207
2208         If the print operation finishes and the web view is still alive,
2209         the weak pointer added to the view should be removed.
2210
2211         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2212         (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
2213
2214 2014-01-15  Sam Weinig  <sam@webkit.org>
2215
2216         TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
2217         https://bugs.webkit.org/show_bug.cgi?id=126856
2218
2219         Reviewed by Ryosuke Niwa.
2220
2221         Change all the TextBreakIterator creation functions to take StringViews. Remove a few
2222         now unnecessary up-conversions to UTF-16 in the process.
2223
2224         * UIProcess/efl/TextCheckerEfl.cpp:
2225         (WebKit::nextWordOffset):
2226         (WebKit::TextChecker::checkTextOfParagraph):
2227
2228 2014-01-16  Eunmi Lee  <eunmi15.lee@samsung.com>
2229
2230         [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden.
2231         https://bugs.webkit.org/show_bug.cgi?id=127084
2232
2233         Reviewed by Gyuyoung Kim.
2234
2235         Visibility of EwkView can not be controlled by evas_object_show/hide
2236         because EwkView can be shown only if re-sizing is requested, so modify
2237         codes to show EwkView directly if we do not wait for re-sizing.
2238         Additionally, we have to set default value of m_pendingSurfaceResize
2239         to true for accelerated mode to prevent to show black empty view for
2240         the first request to show.
2241
2242         * UIProcess/API/efl/EwkView.cpp:
2243         (EwkView::EwkView):
2244         (EwkView::handleEvasObjectShow):
2245
2246 2014-01-16  Andy Estes  <aestes@apple.com>
2247
2248         Build Fix: Use standard architectures when building for iOS
2249
2250         Even though we don't use the plug-in services on iOS, we still need
2251         them to build (we won't install them). Be sure we specify valid iOS
2252         architectures when doing so.
2253
2254         * Configurations/PluginService.32.xcconfig:
2255         * Configurations/PluginService.64.xcconfig:
2256
2257 2014-01-16  Enrica Casucci  <enrica@apple.com>
2258
2259         Crash when destroying WKInteractionView.
2260         https://bugs.webkit.org/show_bug.cgi?id=127153
2261         <rdar://problem/15840761>
2262
2263         Reviewed by Anders Carlsson.
2264
2265         UIWKSelectionAssistant is a RetainPtr and it is being 
2266         deallocated after the view and its gesture recognizers
2267         have been destroyed.
2268         The parent class UIWebSelectionAssistant assumes to be
2269         deallocated before the view is gone.
2270         We deallocate the interaction assistants explicitly to
2271         fix the problem.
2272
2273         * UIProcess/API/ios/WKInteractionView.mm:
2274         (-[WKInteractionView dealloc]):
2275
2276 2014-01-16  Brady Eidson  <beidson@apple.com>
2277
2278         IDB: delete object store support
2279         <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
2280
2281         Reviewed by Alexey Proskuryakov.
2282
2283         Pipe through Web -> Database -> Web process messaging for delete object store.
2284         Perform dropping the object store in the backing store.
2285
2286         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2287         (WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
2288         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2289         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2290
2291         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2292         (WebKit::UniqueIDBDatabase::didDeleteObjectStore):
2293         (WebKit::UniqueIDBDatabase::deleteObjectStore):
2294         (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
2295         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2296
2297         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2298         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2299         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
2300         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
2301         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2302
2303         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2304         (WebKit::WebIDBServerConnection::deleteObjectStore):
2305         (WebKit::WebIDBServerConnection::didDeleteObjectStore):
2306         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2307         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2308
2309 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
2310
2311         [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
2312         https://bugs.webkit.org/show_bug.cgi?id=127139
2313
2314         Reviewed by Brady Eidson.
2315
2316         * Shared/HTTPCookieAcceptPolicy.h:
2317         * UIProcess/API/C/WKAPICast.h:
2318         (WebKit::toHTTPCookieAcceptPolicy):
2319         (WebKit::toAPI):
2320         * UIProcess/API/C/WKCookieManager.h:
2321         Added the policy to appropriate switches and enums.
2322
2323 2014-01-16  Jeffrey Pfau  <jpfau@apple.com>
2324
2325         Fix build after r162161. One FINAL was still present.
2326
2327         * Shared/cf/KeyedDecoder.h:
2328
2329 2014-01-16  Anders Carlsson  <andersca@apple.com>
2330
2331         Change all uses of FINAL to final now that all our compilers support it
2332         https://bugs.webkit.org/show_bug.cgi?id=127142
2333
2334         Reviewed by Benjamin Poulain.
2335
2336         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2337         * NetworkProcess/RemoteNetworkingContext.h:
2338         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2339         * Shared/APIArray.h:
2340         * Shared/APIString.h:
2341         * Shared/AsyncRequest.h:
2342         * Shared/AsyncTask.h:
2343         * Shared/cf/KeyedEncoder.h:
2344         * UIProcess/API/gtk/PageClientImpl.h:
2345         * UIProcess/API/mac/PageClientImpl.h:
2346         * UIProcess/efl/WebViewEfl.h:
2347         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2348         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2349         * WebProcess/Plugins/PDF/PDFPlugin.h:
2350         * WebProcess/Storage/StorageAreaImpl.h:
2351         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
2352         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
2353         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
2354
2355 2014-01-16  Brady Eidson  <beidson@apple.com>
2356
2357         Fix the build after r162148
2358
2359         * Shared/cf/KeyedEncoder.h: s/OVERRIDE/override/
2360
2361 2014-01-15  Brady Eidson  <beidson@apple.com>
2362
2363         Use KeyedCoding as a persistent storage mechanism for blobs
2364         https://bugs.webkit.org/show_bug.cgi?id=127012
2365
2366         Reviewed by Anders Carlsson.
2367
2368         Add a way to get the encoded buffer to save:
2369         * Shared/cf/KeyedEncoder.cpp:
2370         (WebKit::KeyedEncoder::finishEncoding):
2371         * Shared/cf/KeyedEncoder.h:
2372
2373         Add a WebKit KeyedDecoder for CF platforms that can decode the previously encoded buffer:
2374         * Shared/cf/KeyedDecoder.cpp: Added.
2375         (WebKit::KeyedDecoder::KeyedDecoder):
2376         (WebKit::KeyedDecoder::~KeyedDecoder):
2377         (WebKit::KeyedDecoder::decodeInt64):
2378         (WebKit::KeyedDecoder::decodeUInt32):
2379         (WebKit::KeyedDecoder::decodeString):
2380         (WebKit::KeyedDecoder::beginObject):
2381         (WebKit::KeyedDecoder::endObject):
2382         (WebKit::KeyedDecoder::beginArray):
2383         (WebKit::KeyedDecoder::beginArrayElement):
2384         (WebKit::KeyedDecoder::endArrayElement):
2385         (WebKit::KeyedDecoder::endArray):
2386         * Shared/cf/KeyedDecoder.h:
2387
2388         Create a WebKit KeyedEncoder/Decoder and use to encode/decode IDBKeyPaths:
2389         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
2390         (WebKit::serializeIDBKeyPath):
2391         (WebKit::deserializeIDBKeyPath):
2392         * DatabaseProcess/IndexedDB/IDBSerialization.h:
2393
2394         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2395         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
2396
2397         * WebKit2.xcodeproj/project.pbxproj:
2398
2399 2014-01-16  Andy Estes  <aestes@apple.com>
2400
2401         Stop copying WKOriginDataManager.cpp into WebKit2.framework
2402         https://bugs.webkit.org/show_bug.cgi?id=127100
2403
2404         Reviewed by Sam Weinig.
2405
2406         The file was mistakenly added to the 'All' target. Remove it.
2407
2408         * WebKit2.xcodeproj/project.pbxproj:
2409
2410 2014-01-16  Andy Estes  <aestes@apple.com>
2411
2412         [iOS] Install WebKit2 XPC services correctly
2413         https://bugs.webkit.org/show_bug.cgi?id=127097
2414
2415         Reviewed by Anders Carlsson.
2416
2417         * Configurations/PluginService.32.xcconfig: Set SKIP_INSTALL to YES on iOS.
2418         * Configurations/PluginService.64.xcconfig: Ditto.
2419         * Configurations/PluginService.Development.xcconfig: Ditto.
2420         * WebKit2.xcodeproj/project.pbxproj: Modified the "Add XPCServices symlink"
2421         build phase to only execute on OS X. Modified the
2422         "Copy XPC services for engineering builds" build phase to copy files
2423         directly to WebKit2.framework/XPCServices/ on iOS, and modified its
2424         output file paths to omit "Versions/A/" (since OS X will have a
2425         XPCServices symlink at the root of the framework bundle).
2426
2427 2014-01-16  Roger Fong  <roger_fong@apple.com>
2428
2429         Build fix for mac following r162141.
2430
2431         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Switch OVERRIDE to override.
2432
2433 2014-01-16  Roger Fong  <roger_fong@apple.com>
2434
2435         Add support for handling WebGL load policies.
2436         https://bugs.webkit.org/show_bug.cgi?id=126935
2437         <rdar://problem/15790448>.
2438
2439         Reviewed by Timothy Horton.
2440
2441         Boiler plate code for getting the load policy logic from WebProcess to the UIProcess.
2442
2443         * UIProcess/API/C/WKAPICast.h:
2444         (WebKit::toWebGLLoadPolicy):
2445         * UIProcess/API/C/WKPageLoaderClient.h: Define a new WKPageLoaderClientV4 struct.
2446         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2447         (setUpPageLoaderClient):
2448         * UIProcess/WebLoaderClient.cpp:
2449         (WebKit::WebLoaderClient::webGLLoadPolicy):
2450         * UIProcess/WebLoaderClient.h:
2451         * UIProcess/WebPageProxy.cpp:
2452         (WebKit::WebPageProxy::webGLPolicyForURL):
2453         * UIProcess/WebPageProxy.h:
2454         * UIProcess/WebPageProxy.messages.in:
2455         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2456         (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 
2457         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2458         * WebProcess/WebPage/WebPage.cpp:
2459         (WebKit::WebPage::webGLPolicyForURL): We use a sendSync to get the load policy value from the UIProcess.
2460         * WebProcess/WebPage/WebPage.h:
2461
2462 2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2463
2464         Remove workaround for compilers not supporting explicit override control
2465         https://bugs.webkit.org/show_bug.cgi?id=127111
2466
2467         Reviewed by Anders Carlsson.
2468
2469         Now all compilers support explicit override control, this workaround can be removed.
2470
2471         * DatabaseProcess/DatabaseProcess.h:
2472         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2473         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2474         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2475         * NetworkProcess/AsynchronousNetworkLoaderClient.h:
2476         * NetworkProcess/NetworkProcess.h:
2477         * NetworkProcess/NetworkProcessPlatformStrategies.h:
2478         * NetworkProcess/NetworkResourceLoader.h:
2479         * NetworkProcess/RemoteNetworkingContext.h:
2480         * NetworkProcess/SynchronousNetworkLoaderClient.h:
2481         * NetworkProcess/mac/DiskCacheMonitor.h:
2482         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2483         * PluginProcess/PluginControllerProxy.h:
2484         * PluginProcess/PluginProcess.h:
2485         * PluginProcess/WebProcessConnection.h:
2486         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2487         * Shared/APIObject.h:
2488         * Shared/AsyncRequest.h:
2489         * Shared/AsyncTask.h:
2490         * Shared/Authentication/AuthenticationManager.h:
2491         * Shared/ChildProcess.h:
2492         * Shared/ChildProcessProxy.h:
2493         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
2494         * Shared/Downloads/Download.h:
2495         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2496         * Shared/WebConnection.h:
2497         * Shared/WebResourceBuffer.h:
2498         * Shared/cf/KeyedEncoder.h:
2499         * Shared/mac/SecItemShim.h:
2500         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2501         * UIProcess/API/gtk/PageClientImpl.h:
2502         * UIProcess/API/ios/PageClientImplIOS.h:
2503         * UIProcess/API/mac/PageClientImpl.h:
2504         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2505         * UIProcess/CoordinatedGraphics/WebView.h:
2506         * UIProcess/Databases/DatabaseProcessProxy.h:
2507         * UIProcess/Downloads/DownloadProxy.h:
2508         * UIProcess/DrawingAreaProxy.h:
2509         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2510         * UIProcess/Network/NetworkProcessProxy.h:
2511         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2512         * UIProcess/Plugins/PluginProcessProxy.h:
2513         * UIProcess/Scrolling/RemoteScrollingTree.h:
2514         * UIProcess/Storage/StorageManager.h:
2515         * UIProcess/WebApplicationCacheManagerProxy.h:
2516         * UIProcess/WebBatteryManagerProxy.h:
2517         * UIProcess/WebConnectionToWebProcess.h:
2518         * UIProcess/WebContext.h:
2519         * UIProcess/WebCookieManagerProxy.h:
2520         * UIProcess/WebDatabaseManagerProxy.h:
2521         * UIProcess/WebFullScreenManagerProxy.h:
2522         * UIProcess/WebGeolocationManagerProxy.h:
2523         * UIProcess/WebIconDatabase.h:
2524         * UIProcess/WebInspectorProxy.h:
2525         * UIProcess/WebKeyValueStorageManager.h:
2526         * UIProcess/WebMediaCacheManagerProxy.h:
2527         * UIProcess/WebNetworkInfoManagerProxy.h:
2528         * UIProcess/WebOriginDataManagerProxy.h:
2529         * UIProcess/WebPageProxy.h:
2530         * UIProcess/WebProcessProxy.h:
2531         * UIProcess/WebResourceCacheManagerProxy.h:
2532         * UIProcess/WebVibrationProxy.h:
2533         * UIProcess/efl/PageViewportControllerClientEfl.h:
2534         * UIProcess/efl/WebViewEfl.h:
2535         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2536         * UIProcess/mac/SecItemShimProxy.h:
2537         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2538         * UIProcess/mac/ViewGestureController.h:
2539         * UIProcess/mac/WebColorPickerMac.h:
2540         * UIProcess/soup/WebSoupRequestManagerProxy.h:
2541         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
2542         * WebProcess/Battery/WebBatteryManager.h:
2543         * WebProcess/Cookies/WebCookieManager.h:
2544         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
2545         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2546         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
2547         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
2548         * WebProcess/FileAPI/BlobRegistryProxy.h:
2549         * WebProcess/Geolocation/WebGeolocationManager.h:
2550         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2551         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
2552         * WebProcess/MediaCache/WebMediaCacheManager.h:
2553         * WebProcess/Network/NetworkProcessConnection.h:
2554         * WebProcess/Network/WebResourceLoadScheduler.h:
2555         * WebProcess/Network/WebResourceLoader.h:
2556         * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
2557         * WebProcess/Notifications/WebNotificationManager.h:
2558         * WebProcess/OriginData/WebOriginDataManager.h:
2559         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2560         * WebProcess/Plugins/PDF/PDFPlugin.h:
2561         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
2562         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
2563         * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
2564         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
2565         * WebProcess/Plugins/PluginProcessConnection.h:
2566         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2567         * WebProcess/Plugins/PluginProxy.h:
2568         * WebProcess/Plugins/PluginView.h:
2569         * WebProcess/ResourceCache/WebResourceCacheManager.h:
2570         * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
2571         * WebProcess/Storage/StorageAreaImpl.h:
2572         * WebProcess/Storage/StorageAreaMap.h:
2573         * WebProcess/Storage/StorageNamespaceImpl.h:
2574         * WebProcess/WebConnectionToUIProcess.h:
2575         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
2576         * WebProcess/WebCoreSupport/WebBatteryClient.h:
2577         * WebProcess/WebCoreSupport/WebChromeClient.h:
2578         * WebProcess/WebCoreSupport/WebColorChooser.h:
2579         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2580         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
2581         * WebProcess/WebCoreSupport/WebDeviceProximityClient.h:
2582         * WebProcess/WebCoreSupport/WebDragClient.h:
2583         * WebProcess/WebCoreSupport/WebEditorClient.h:
2584         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2585         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
2586         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2587         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
2588         * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
2589         * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
2590         * WebProcess/WebCoreSupport/WebNotificationClient.h:
2591         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2592         * WebProcess/WebCoreSupport/WebPopupMenu.h:
2593         * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
2594         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
2595         * WebProcess/WebCoreSupport/WebVibrationClient.h:
2596         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2597         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
2598         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2599         * WebProcess/WebPage/DrawingAreaImpl.h:
2600         * WebProcess/WebPage/EventDispatcher.h:
2601         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2602         * WebProcess/WebPage/WebBackForwardListProxy.h:
2603         * WebProcess/WebPage/WebPage.h:
2604         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2605         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
2606         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
2607         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
2608         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
2609         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
2610         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2611         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2612         * WebProcess/WebProcess.h:
2613         * WebProcess/soup/WebSoupRequestManager.h:
2614
2615 2014-01-16  Ian Henderson  <ianh@apple.com>
2616
2617         Expose scrollView on WKView
2618         https://bugs.webkit.org/show_bug.cgi?id=127085
2619
2620         Reviewed by Antti Koivisto.
2621
2622         Expose WKView's scroll view as a property.  In order to support
2623         clients calling setDelegate:, we create a forwarder object that sends
2624         delegate methods to both WKView (the "internal delegate") and the
2625         publicly-exposed delegate (the "external delegate").
2626
2627         * UIProcess/API/Cocoa/WKView.h:
2628         * UIProcess/API/ios/WKScrollView.h:
2629         * UIProcess/API/ios/WKScrollView.mm:
2630         (-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]):
2631         (-[WKScrollViewDelegateForwarder methodSignatureForSelector:]):
2632         (-[WKScrollViewDelegateForwarder respondsToSelector:]):
2633         (-[WKScrollViewDelegateForwarder forwardInvocation:]):
2634         (-[WKScrollView setInternalDelegate:]):
2635         (-[WKScrollView setDelegate:]):
2636         (-[WKScrollView delegate]):
2637         Pretend like _externalDelegate is the real delegate to avoid exposing
2638         our internal delegate or forwarder object.
2639         (-[WKScrollView _updateDelegate]):
2640         (-[WKScrollView dealloc]):
2641         * UIProcess/API/ios/WKViewIOS.mm:
2642         (-[WKView scrollView]):
2643         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2644
2645 2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2646
2647         [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors
2648         https://bugs.webkit.org/show_bug.cgi?id=127047
2649
2650         Reviewed by Martin Robinson.
2651
2652         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2653         (WebKit::WebPrintOperationGtk::frameURL): Helper function to get
2654         the URL of the frame being printed.
2655         (WebKit::WebPrintOperationGtk::print): Use frameURL() as failing
2656         URL for printing errors.
2657         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2658
2659 2014-01-15  Benjamin Poulain  <bpoulain@apple.com>
2660
2661         Move user agent code to WebCore and unify some code between OS X and iOS
2662         https://bugs.webkit.org/show_bug.cgi?id=127080
2663
2664         Reviewed by Sam Weinig.
2665
2666         * UIProcess/ios/WebPageProxyIOS.mm:
2667         (WebKit::userVisibleWebKitVersionString):
2668         (WebKit::WebPageProxy::standardUserAgent):
2669         * UIProcess/mac/WebPageProxyMac.mm:
2670         (WebKit::WebPageProxy::standardUserAgent):
2671         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2672         (InitWebCoreSystemInterface):
2673
2674 2014-01-15  Eunmi Lee  <eunmi15.lee@samsung.com>
2675
2676         [EFL][WK2] Use timestamp when event occurs for touch events.
2677         https://bugs.webkit.org/show_bug.cgi?id=126424
2678
2679         Reviewed by Gyuyoung Kim.
2680
2681         Current time is used for touch event's timestamp instead of timestamp
2682         when event occurs. Timestamp of touch event is used to implement flick
2683         gesture, so it should be real value for accurate gesture processing.
2684
2685         * UIProcess/API/efl/EwkView.cpp:
2686         Function names for handling touch events are changed to distinguish
2687         mouse events and multi events.
2688         (EwkView::setTouchEventsEnabled):
2689         (EwkView::feedTouchEvents):
2690         (EwkView::handleMouseDownForTouch):
2691         (EwkView::handleMouseUpForTouch):
2692         (EwkView::handleMouseMoveForTouch):
2693         (EwkView::handleMultiDownForTouch):
2694         (EwkView::handleMultiUpForTouch):
2695         (EwkView::handleMultiMoveForTouch):
2696         * UIProcess/API/efl/EwkView.h:
2697         * UIProcess/API/efl/GestureRecognizer.cpp:
2698         (WebKit::GestureHandler::handlePan):
2699         (WebKit::GestureRecognizer::processTouchEvent):
2700         (WebKit::GestureRecognizer::noGesture):
2701         (WebKit::GestureRecognizer::singleTapGesture):
2702         (WebKit::GestureRecognizer::doubleTapGesture):
2703         (WebKit::GestureRecognizer::panGesture):
2704         (WebKit::GestureRecognizer::pinchGesture):
2705         * UIProcess/API/efl/GestureRecognizer.h:
2706
2707 2014-01-15  Gavin Barraclough  <barraclough@apple.com>
2708
2709         Change Page, FocusController to use ViewState
2710         https://bugs.webkit.org/show_bug.cgi?id=126533
2711
2712         Unreviewed rollout, this caused a regression.
2713
2714         * WebProcess/WebPage/WebPage.cpp:
2715         (WebKit::WebPage::WebPage):
2716         (WebKit::WebPage::setActive):
2717         (WebKit::WebPage::setViewIsVisible):
2718         (WebKit::WebPage::setFocused):
2719         (WebKit::WebPage::setIsInWindow):
2720         (WebKit::WebPage::setViewStateInternal):
2721         (WebKit::WebPage::setIsVisuallyIdle):
2722         * WebProcess/WebPage/WebPage.h:
2723
2724 2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
2725
2726         https://bugs.webkit.org/show_bug.cgi?id=127072
2727         Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld().
2728
2729         Reviewed by Geoffrey Garen.
2730
2731         In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static
2732         instance,  autoreleasing its wrapper object could cause a dangling pointer and crash later.
2733
2734         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
2735         (+[WKWebProcessPlugInScriptWorld normalWorld]):
2736
2737 2014-01-15  Andy Estes  <aestes@apple.com>
2738
2739         [iOS] Properly exclude the shim dylibs this time
2740         https://bugs.webkit.org/show_bug.cgi?id=127075
2741
2742         Reviewed by Anders Carlsson.
2743
2744         BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in
2745         conflict with what I added in r161918, and I misspelled the setting
2746         name in two instances. Fix these two bugs.
2747
2748         Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig
2749         while we're here.
2750
2751         * Configurations/BaseLegacyProcess.xcconfig:
2752         * Configurations/NetworkProcess.xcconfig:
2753         * Configurations/PluginProcess.xcconfig:
2754         * Configurations/WebContentProcess.xcconfig:
2755
2756 2014-01-15  Enrica Casucci  <enrica@apple.com>
2757
2758         Support WebSelections in WK2 on iOS.
2759         https://bugs.webkit.org/show_bug.cgi?id=127015
2760
2761         Reviewed by Benjamin Poulain.
2762
2763         This is the first step towards adding support for selections in
2764         non editable content on iOS for WK2.
2765         In particular, this patch adds the basic plumbing to decide which
2766         gesture recognizers are enabled and adds empty stubs for the gestures
2767         that we'll need to support.
2768         There are two separate assistants for selections, one to be used
2769         in editable text (UIWKTextInteractionAssistant) and one for non editable
2770         text (UIWKSelectionAssistant) and they are mutually exclusive.
2771         UIWKSelectionAssistant is created at the time the view is created, 
2772         and swapped with UIWKTextInteraction assistant
2773         only when an editable element is focused and the keyboard appears on screen.
2774
2775         gestureRecognizerShouldBegin is the delegate call used to decide which gestures
2776         should begin based on the position the gesture occurred at.
2777         We want to avoid as much as possible synchronous calls to the WebProcess to
2778         retrieve information about the content and in order to do so, we take advantage
2779         of the order in which the gesture recognizers will trigger, based on the delay
2780         configured at initialization.
2781         The first gesture to trigger is highlightLongPress, followed by longpress in the
2782         active assistant and longpress in the WKInteractionView.
2783         There are two different scenarios for highlighlongpress based on which assistant is
2784         currently active.
2785
2786         UIWKSelectionAssistant is active:
2787             We send a request to the WebProcess to get information on the position
2788             and we return YES, allowing the gesture to start.
2789             We delegate to the WebProcess the proper handling of highlight based on the element.
2790             When longPress gesture fires for the assistant, we assume we have received the reply to our
2791             previous request, if not we fetch the information synchronously.
2792             We are then able to make an informed decision about whether
2793             or not to start the gesture. If the reply is NO, the third and last long press
2794             gesture can be evaluated to decide whether to show the action sheet or simply generate
2795             a click event.
2796
2797         UIWKTextInteractionAssistant is active:
2798             In this case we must have information about the position immediately and we issue
2799             a synchronous request to the WebProcess.
2800             If we are not interacting with the same node, we return NO.
2801             Then the longpress gesture fires for the assistant which performs the same check.
2802             If the node is the same, the loupe gesture will start, otherwise the last longpress
2803             gesture will be evaluated to decide about showing the action sheet or generating a
2804             click event.
2805
2806         * Scripts/webkit2/messages.py:
2807         * Shared/InteractionInformationAtPosition.cpp: Added.
2808         (WebKit::InteractionInformationAtPosition::encode):
2809         (WebKit::InteractionInformationAtPosition::decode):
2810         * Shared/InteractionInformationAtPosition.h: Added.
2811         (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
2812         * UIProcess/API/ios/PageClientImplIOS.h:
2813         * UIProcess/API/ios/PageClientImplIOS.mm:
2814         (WebKit::PageClientImpl::positionInformationDidChange):
2815         * UIProcess/API/ios/WKContentView.mm:
2816         (-[WKContentView _positionInformationDidChange:]):
2817         * UIProcess/API/ios/WKContentViewInternal.h:
2818         * UIProcess/API/ios/WKInteractionView.h:
2819         * UIProcess/API/ios/WKInteractionView.mm:
2820         (-[WKInteractionView initWithFrame:]):
2821         (-[WKInteractionView dealloc]):
2822         (-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]):
2823         (-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]):
2824         (isSamePair):
2825         (-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
2826         (-[WKInteractionView _showImageSheet]):
2827         (-[WKInteractionView _showLinkSheet]):
2828         (-[WKInteractionView _actionForLongPress]):
2829         (-[WKInteractionView ensurePositionInformationIsUpToDate:]):
2830         (-[WKInteractionView gestureRecognizerShouldBegin:]):
2831         (-[WKInteractionView hasSelectablePositionAtPoint:]):
2832         (-[WKInteractionView pointIsInAssistedNode:]):
2833         (-[WKInteractionView _longPressRecognized:]):
2834         (-[WKInteractionView _doubleTapRecognized:]):
2835         (-[WKInteractionView _twoFingerDoubleTapRecognized:]):
2836         (-[WKInteractionView _twoFingerPanRecognized:]):
2837         (-[WKInteractionView useSelectionAssistantWithMode:]):
2838         (-[WKInteractionView _positionInformationDidChange:]):
2839         (-[WKInteractionView interactionAssistant]):
2840         (-[WKInteractionView _startAssistingKeyboard]):
2841         (-[WKInteractionView _stopAssistingKeyboard]):
2842         * UIProcess/PageClient.h:
2843         * UIProcess/WebPageProxy.h:
2844         * UIProcess/WebPageProxy.messages.in:
2845         * UIProcess/ios/WebPageProxyIOS.mm:
2846         (WebKit::WebPageProxy::didReceivePositionInformation):
2847         (WebKit::WebPageProxy::getPositionInformation):
2848         (WebKit::WebPageProxy::requestPositionInformation):
2849         * WebKit2.xcodeproj/project.pbxproj:
2850         * WebProcess/WebPage/WebPage.h:
2851         * WebProcess/WebPage/WebPage.messages.in:
2852         * WebProcess/WebPage/ios/WebPageIOS.mm:
2853         (WebKit::WebPage::selectWithGesture):
2854         (WebKit::WebPage::getPositionInformation):
2855         (WebKit::WebPage::requestPositionInformation):
2856
2857 2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>
2858
2859         https://bugs.webkit.org/show_bug.cgi?id=127066
2860         Add WKBrowsingContextHandle.h to WebKit2 private headers.
2861
2862         Reviewed by Dan Bernstein.
2863
2864         Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client
2865         can use WKBrowsingContextHandle class.
2866
2867         * WebKit2.xcodeproj/project.pbxproj:
2868
2869 2014-01-15  Piotr Grad  <p.grad@samsung.com>
2870
2871         toStringVector static function definition should not be redundant.
2872         https://bugs.webkit.org/show_bug.cgi?id=126872.
2873
2874         Reviewed by Anders Carlsson.
2875
2876         toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static.
2877         In order to remove redundant definition this function was moved into API::Array.
2878
2879         * Shared/APIArray.cpp:
2880         (API::Array::toStringVector):
2881         * Shared/APIArray.h:
2882         * UIProcess/WebPageGroup.cpp:
2883         (WebKit::WebPageGroup::addUserStyleSheet):
2884         (WebKit::WebPageGroup::addUserScript):
2885         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2886         (WebKit::InjectedBundle::addUserScript):
2887         (WebKit::InjectedBundle::addUserStyleSheet):
2888
2889 2014-01-10  Gavin Barraclough  <barraclough@apple.com>
2890
2891         REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com)
2892         https://bugs.webkit.org/show_bug.cgi?id=126289
2893
2894         Reviewed by Anders Carlson.
2895
2896         Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557.
2897         On window.open, update page when the UIProcess sends the create message
2898
2899         * UIProcess/WebPageProxy.cpp:
2900         (WebKit::WebPageProxy::initializeWebPage):
2901         (WebKit::WebPageProxy::creationParameters):
2902         * UIProcess/WebPageProxy.h:
2903             - creation paraments are not preserved at window.open.
2904         * WebProcess/WebPage/WebPage.cpp:
2905         (WebKit::WebPage::reinitializeWebPage):
2906         (WebKit::WebPage::setViewState):
2907         (WebKit::WebPage::setViewStateInternal):
2908         * WebProcess/WebPage/WebPage.h:
2909             - add interface to update page.
2910         * WebProcess/WebProcess.cpp:
2911         (WebKit::WebProcess::createWebPage):
2912             - if we try to create a page that already exists, update the current page's view state.
2913
2914 2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2915
2916         [GTK] Web process sometimes crashes when printing in synchronous mode
2917         https://bugs.webkit.org/show_bug.cgi?id=126979
2918
2919         Reviewed by Gustavo Noronha Silva.
2920
2921         When printing synchronously in GTK+ we need to make sure that we
2922         have a list of Printers before starting the print operation. Getting
2923         the list of printers is done synchronously by GTK+, but using a
2924         nested main loop that might process IPC messages comming from the
2925         UI process like EndPrinting. When the EndPrinting message is
2926         received while the printer list is being populated, the print
2927         operation is finished unexpectely and the web process crashes. The
2928         PrinterListGtk class gets the list of printers in the constructor
2929         so we just need to ensure there's an instance alive during the
2930         synchronous print operation. In case of asynchronous printing the
2931         printer list will be created during the print operation without
2932         any risk, because the EndPrinting message is not sent until the
2933         printing callback has been received in the UI process.
2934
2935         * GNUmakefile.list.am: Add new files to compilation.
2936         * PlatformGTK.cmake: Ditto.
2937         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2938         (WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
2939         before the synchronous printing and destroyed afterwards.
2940         * WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.
2941         (WebKit::PrinterListGtk::shared): Return the singleton.
2942         (WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
2943         called by gtk_enumerate_printers() when a new printer is found.
2944         (WebKit::PrinterListGtk::PrinterListGtk): Call
2945         gtk_enumerate_printers() in syhchronous mode.
2946         (WebKit::PrinterListGtk::~PrinterListGtk):
2947         (WebKit::PrinterListGtk::addPrinter): Add the printer to the list
2948         and set the default printer if needed.
2949         (WebKit::PrinterListGtk::findPrinter): Find the printer for the
2950         given name.
2951         * WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
2952         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use
2953         PrinterListGtk class to find the printer instead of calling
2954         gtk_enumerate_printers().
2955
2956 2014-01-15  Tomas Popela  <tpopela@redhat.com>
2957
2958         [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
2959         https://bugs.webkit.org/show_bug.cgi?id=126577
2960
2961         Reviewed by Carlos Garcia Campos.
2962
2963         As in http://trac.webkit.org/changeset/152483, but this time for
2964         WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
2965         disable the MemoryCache completely to prevent caching of the resources.
2966
2967         * WebProcess/soup/WebProcessSoup.cpp:
2968         (WebKit::WebProcess::platformSetCacheModel):
2969
2970 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2971
2972         [GTK] UI process crashes when closing the window right after printing with javascript
2973         https://bugs.webkit.org/show_bug.cgi?id=126981
2974
2975         Reviewed by Gustavo Noronha Silva.
2976
2977         The UI process crashes because when the page is closed, the web
2978         view is destroyed before the print operation has actually
2979         finished. Use a weak pointer to make sure the web view pointer is
2980         set to NULL when the it's destroyed and emit the finished callback
2981         always so that the user can clean up the operation even when the
2982         web view has been closed.
2983
2984         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2985         (drawPagesForPrintingCompleted):
2986
2987 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2988
2989         [GTK] UI process crashes when the web process crashes while printing
2990         https://bugs.webkit.org/show_bug.cgi?id=126977
2991
2992         Reviewed by Gustavo Noronha Silva.
2993
2994         When the web process crashes, the printing callback is
2995         invalidated, so the function is called with a NULL error.
2996
2997         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2998         (drawPagesForPrintingCompleted): Check wkError is not NULL before
2999         trying to use it.
3000         * UIProcess/API/gtk/WebKitWebView.cpp:
3001         (webkitWebViewPrintFrame): Set the print mode of the operation
3002         before emitting the print signal.
3003
3004 2014-01-14  Brady Eidson  <beidson@apple.com>
3005
3006         IDB: create object store support
3007         <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011
3008
3009         Reviewed by Anders Carlsson.
3010
3011         Add messaging/callback infrastructure for creating object stores:
3012         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3013         (WebKit::DatabaseProcessIDBConnection::createObjectStore):
3014         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
3015         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
3016
3017         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3018         (WebKit::WebIDBServerConnection::createObjectStore):
3019         (WebKit::WebIDBServerConnection::didCreateObjectStore):
3020         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3021         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
3022
3023         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3024         (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
3025         (WebKit::UniqueIDBDatabase::didCreateObjectStore):
3026         (WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
3027         (WebKit::UniqueIDBDatabase::createObjectStore):
3028         (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
3029         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3030
3031         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3032
3033         Add serialization helpers to save/restore an IDBKeyPath to/from disk:
3034         * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
3035         (WebKit::serializeIDBKeyPath):
3036         (WebKit::deserializeIDBKeyPath):
3037         * DatabaseProcess/IndexedDB/IDBSerialization.h:
3038
3039         Add object store metadata to the schema, and save/restore the metadata:
3040         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3041         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
3042         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
3043         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
3044         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3045
3046         * Scripts/webkit2/messages.py:
3047         (struct_or_class):
3048         * WebKit2.xcodeproj/project.pbxproj:
3049
3050 2014-01-14  Jae Hyun Park  <jae.park@company100.net>
3051
3052         [GTK] Unreviewed build fix after r162034
3053
3054         * GNUmakefile.list.am:
3055
3056 2014-01-14  Ryuan Choi  <ryuan.choi@samsung.com>
3057
3058         Unreviewed build fix for CMake based ports after r162034.
3059
3060         * CMakeLists.txt:
3061
3062 2014-01-14  Jeffrey Pfau  <jpfau@apple.com>
3063
3064         Build fix after r162034
3065
3066         Rubber-stamped by Benjamin Poulain.
3067
3068         * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:
3069
3070 2014-01-14  Anders Carlsson  <andersca@apple.com>
3071
3072         Create separate progress tracker clients
3073         https://bugs.webkit.org/show_bug.cgi?id=127025
3074
3075         Reviewed by Sam Weinig.
3076
3077         * WebKit2.xcodeproj/project.pbxproj:
3078         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3079         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3080         * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
3081         (WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
3082         (WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
3083         (WebKit::WebProgressTrackerClient::progressStarted):
3084         (WebKit::WebProgressTrackerClient::progressEstimateChanged):
3085         (WebKit::WebProgressTrackerClient::progressFinished):
3086         * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
3087         * WebProcess/WebPage/WebPage.cpp:
3088         (WebKit::WebPage::WebPage):
3089
3090 2014-01-14  Benjamin Poulain  <bpoulain@apple.com>
3091
3092         [WK2] Make WebPageProxy's setUserAgent private
3093         https://bugs.webkit.org/show_bug.cgi?id=127013
3094
3095         Reviewed by Anders Carlsson.
3096
3097         * UIProcess/WebPageProxy.h:
3098         The API to modify the user agent already has 3 "setters":
3099         -standardUserAgent
3100         -setApplicationNameForUserAgent
3101         -setCustomUserAgent
3102
3103         The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
3104         Using it directly would cause unexpected behaviors, for example:
3105         -Set the user agent with setUserAgent.
3106         -Set CustomUserAgent.
3107         -Reset CustomUserAgent.
3108         ->The user agent is now standardUserAgent instead of the user agent defined initially.
3109
3110 2014-01-14  Commit Queue  <commit-queue@webkit.org>
3111
3112         Unreviewed, rolling out r162000.
3113         http://trac.webkit.org/changeset/162000
3114         https://bugs.webkit.org/show_bug.cgi?id=127009
3115
3116         API versioning is wrong (Requested by rfong on #webkit).
3117
3118         * UIProcess/API/C/WKAPICast.h:
3119         * UIProcess/API/C/WKPageLoaderClient.h:
3120         * UIProcess/API/C/WKPageUIClient.h:
3121         * UIProcess/WebLoaderClient.cpp:
3122         * UIProcess/WebLoaderClient.h:
3123         * UIProcess/WebPageProxy.cpp:
3124         * UIProcess/WebPageProxy.h:
3125         * UIProcess/WebPageProxy.messages.in:
3126         * UIProcess/WebUIClient.cpp:
3127         * UIProcess/WebUIClient.h:
3128         * UIProcess/mac/WebInspectorProxyMac.mm:
3129         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3130         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3131         * WebProcess/WebCoreSupport/WebChromeClient.h:
3132         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3133         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3134         * WebProcess/WebPage/WebPage.cpp:
3135         * WebProcess/WebPage/WebPage.h:
3136
3137 2014-01-14  Csaba Osztrogon√°c  <ossy@webkit.org>
3138
3139         Speculative buildfix after r161999.
3140
3141         * Shared/APIObject.h:
3142
3143 2014-01-09  Roger Fong  <roger_fong@apple.com>
3144
3145         Add support for handling WebGL load policies.
3146         https://bugs.webkit.org/show_bug.cgi?id=126935
3147         <rdar://problem/15790448>.
3148
3149         Reviewed by Brent Fulgham.
3150
3151         Boiler plate code for sending messages to and from the UI and Web Process. 
3152
3153         * UIProcess/API/C/WKAPICast.h:
3154         (WebKit::toWebGLLoadPolicy):
3155         * UIProcess/API/C/WKPageLoaderClient.h:
3156         * UIProcess/API/C/WKPageUIClient.h:
3157         * UIProcess/WebLoaderClient.cpp:
3158         (WebKit::WebLoaderClient::webGLLoadPolicy):
3159         * UIProcess/WebLoaderClient.h:
3160         * UIProcess/WebPageProxy.cpp:
3161         (WebKit::WebPageProxy::webGLContextCreated):
3162         (WebKit::WebPageProxy::webGLPolicyForHost):
3163         * UIProcess/WebPageProxy.h:
3164         * UIProcess/WebPageProxy.messages.in:
3165         * UIProcess/WebUIClient.cpp:
3166         (WebKit::WebUIClient::webGLContextCreated):
3167         * UIProcess/WebUIClient.h:
3168         * UIProcess/mac/WebInspectorProxyMac.mm:
3169         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3170         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3171         (WebKit::WebChromeClient::webGLContextCreated):
3172         * WebProcess/WebCoreSupport/WebChromeClient.h:
3173         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3174         (WebKit::WebFrameLoaderClient::webGLPolicyForHost):
3175         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3176         * WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
3177                                           In the future this will be replaced with a strategy is non-blocking.
3178         (WebKit::WebPage::getWebGLPolicyForHost):
3179         * WebProcess/WebPage/WebPage.h:
3180
3181 2014-01-14  Mark Rowe  <mrowe@apple.com>
3182
3183         WebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
3184         <https://webkit.org/b/126974> / <rdar://problem/15812954>
3185
3186         When a page with an unload handler is loaded, the web process tells the UI process that it
3187         should disable sudden termination. However, when the page is closed the connection between
3188         the web and UI process is torn down before the web content has a chance to tell the UI
3189         process to reenable sudden termination.
3190
3191         Reviewed by Anders Carlsson.
3192
3193         * UIProcess/WebProcessProxy.cpp:
3194         (WebKit::WebProcessProxy::WebProcessProxy):
3195         (WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls.
3196         (WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count.
3197         (WebKit::WebProcessProxy::disableSuddenTermination): Increment the count.
3198         * UIProcess/WebProcessProxy.h:
3199
3200 2014-01-14  Joseph Pecoraro  <pecoraro@apple.com>
3201
3202         Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
3203         https://bugs.webkit.org/show_bug.cgi?id=126995
3204
3205         Reviewed by Timothy Hatcher.
3206
3207         * WebProcess/WebCoreSupport/WebInspectorClient.h:
3208         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3209         (WebKit::WebInspectorClient::parentProcessIdentifier):
3210         WebProcesses are proxies for a parent UIProcess.
3211
3212 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3213
3214         iOS WebKit2 build fixes, part 3
3215
3216         * WebKit2.xcodeproj/project.pbxproj:
3217         Remove some files from the 'All' target that should never have been a part of it.
3218
3219 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3220
3221         iOS WebKit2 build fixes, part 2
3222
3223         * WebKit2.xcodeproj/project.pbxproj:
3224         Add some missing files.
3225
3226 2014-01-14  Brian J. Burg  <burg@cs.washington.edu>
3227
3228         Add ENABLE(WEB_REPLAY) feature flag to the build system
3229         https://bugs.webkit.org/show_bug.cgi?id=126949
3230
3231         Reviewed by Joseph Pecoraro.
3232
3233         * Configurations/FeatureDefines.xcconfig:
3234
3235 2014-01-14  Tim Horton  <timothy_horton@apple.com>
3236
3237         Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do.
3238
3239         * UIProcess/API/ios/WKView.mm: Removed.
3240         * UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm.
3241
3242 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3243
3244         [GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
3245         https://bugs.webkit.org/show_bug.cgi?id=126130
3246
3247         Reviewed by Anders Carlsson.
3248
3249         We need to notify the network process when the user preferred
3250         languages have changed to update the SoupSession accordingly.
3251
3252         * NetworkProcess/NetworkProcess.h: Add
3253         userPreferredLanguagesChanged when using soup network backend.
3254         * NetworkProcess/NetworkProcess.messages.in: Add
3255         UserPreferredLanguagesChanged message when using soup network
3256         backend.
3257         * NetworkProcess/soup/NetworkProcessSoup.cpp:
3258         (WebKit::NetworkProcess::userPreferredLanguagesChanged): Update
3259         the SoupSession to use the given languages.
3260         (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call
3261         userPreferredLanguagesChanged() when initialization parameters
3262         contain languages.
3263         (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
3264         Remove unnedded WebCore prefix.
3265         (WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using
3266         a single line.
3267         * Shared/Network/NetworkProcessCreationParameters.cpp:
3268         (WebKit::NetworkProcessCreationParameters::encode): Encode the
3269         languages vector.
3270         (WebKit::NetworkProcessCreationParameters::decode): Decode the
3271         languages vector.
3272         * Shared/Network/NetworkProcessCreationParameters.h:
3273         * UIProcess/WebContext.cpp:
3274         (WebKit::WebContext::languageChanged): Send a message also to the
3275         network process.
3276         * UIProcess/soup/WebContextSoup.cpp:
3277         (WebKit::WebContext::platformInitializeNetworkProcess): Set
3278         languages initial parameter.
3279
3280 2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3281
3282         [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
3283         https://bugs.webkit.org/show_bug.cgi?id=126966
3284
3285         Reviewed by Gustavo Noronha Silva.
3286
3287         * WebProcess/soup/WebProcessSoup.cpp:
3288         (WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&.
3289
3290 2014-01-14  Andreas Kling  <akling@apple.com>
3291
3292         Remove deprecated DeferrableOneShotTimer constructor.
3293         <https://webkit.org/b/126984>
3294
3295         Reviewed by Anders Carlsson.
3296
3297         * WebProcess/Plugins/PluginView.h:
3298         * WebProcess/Plugins/PluginView.cpp:
3299         (WebKit::PluginView::pluginSnapshotTimerFired):
3300
3301             Take the timer by reference so we can use the new constructor.
3302
3303 2014-01-13  Tim Horton  <timothy_horton@apple.com>
3304
3305         iOS WebKit2 build fixes, part 1
3306
3307         * Configurations/WebKit2.xcconfig:
3308         * NetworkProcess/NetworkResourceLoader.cpp:
3309         * NetworkProcess/NetworkResourceLoader.h:
3310         * NetworkProcess/RemoteNetworkingContext.h:
3311         * Shared/WebEventConversion.h:
3312         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3313         * UIProcess/API/ios/WKInteractionView.mm:
3314         (-[WKTextPosition isEqual:]):
3315         * UIProcess/API/ios/WKViewIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKView.mm.
3316         * UIProcess/ios/WebPageProxyIOS.mm:
3317         * UIProcess/ios/WebProcessProxyIOS.mm:
3318         * WebKit2.xcodeproj/project.pbxproj:
3319         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3320         * WebProcess/WebPage/WebPage.h:
3321         * WebProcess/WebPage/ios/WebPageIOS.mm:
3322         (WebKit::WebPage::elementDidFocus):
3323         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3324
3325 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3326
3327         [EFL][WK2] Disable failing API tests
3328         https://bugs.webkit.org/show_bug.cgi?id=126960
3329
3330         Reviewed by Gyuyoung Kim.
3331
3332         Disable color picker test until bug 119120 is resolved.
3333
3334         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
3335         (TEST_F):
3336
3337 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3338
3339         [EFL][WK2] ewk_view_page_contents_get() API test is failing
3340         https://bugs.webkit.org/show_bug.cgi?id=126957
3341
3342         Reviewed by Gyuyoung Kim.
3343
3344         As the day in 'Date' field may be one digit or two digit,
3345         the data length may also be varied by one byte.
3346
3347         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3348         (EWK2ViewTest::PageContentsAsMHTMLCallback):
3349
3350 2014-01-13  Commit Queue  <commit-queue@webkit.org>
3351
3352         Unreviewed, rolling out r161939.
3353         http://trac.webkit.org/changeset/161939
3354         https://bugs.webkit.org/show_bug.cgi?id=126956
3355
3356         didn't work with mac, of course (Requested by thorton on
3357         #webkit).
3358
3359         * NetworkProcess/NetworkResourceLoader.cpp:
3360         * NetworkProcess/NetworkResourceLoader.h:
3361         * NetworkProcess/RemoteNetworkingContext.h:
3362         * Shared/WebEventConversion.h:
3363         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3364         * UIProcess/API/ios/WKInteractionView.mm:
3365         (-[WKTextPosition isEqual:]):
3366         * WebKit2.xcodeproj/project.pbxproj:
3367         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3368         * WebProcess/WebPage/WebPage.h:
3369         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3370
3371 2014-01-13  Benjamin Poulain  <bpoulain@apple.com>
3372
3373         Update WebPageProxyIOS's user agent string
3374         https://bugs.webkit.org/show_bug.cgi?id=126933
3375
3376         Reviewed by Darin Adler.
3377
3378         * UIProcess/ios/WebPageProxyIOS.mm:
3379         (WebKit::WebPageProxy::standardUserAgent):
3380         Send a more reasonable user agent. The previous one was forcing
3381         iOS 5.1's iPad user-agent.
3382
3383 2014-01-13  Tim Horton  <timothy_horton@apple.com>
3384
3385         iOS WebKit2 build fixes
3386
3387         * NetworkProcess/NetworkResourceLoader.cpp:
3388         * NetworkProcess/NetworkResourceLoader.h:
3389         Introduce/clarify some confusion about CFNETWORK vs. PLATFORM(IOS).
3390
3391         * NetworkProcess/RemoteNetworkingContext.h:
3392         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3393         Get rid of an override of something that doesn't exist anymore.
3394
3395         * WebKit2.xcodeproj/project.pbxproj:
3396         Add some files. It's likely there are more missing, but this is a start.
3397
3398         * Shared/WebEventConversion.h:
3399         * WebProcess/WebPage/WebPage.h:
3400         Use WebKitAdditions.
3401
3402         * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
3403         Something bizarre is happening with internal deprecation warnings.
3404
3405         * UIProcess/API/ios/WKInteractionView.mm:
3406         (-[WKTextPosition isEqual:]):
3407         Fix a typo.
3408
3409         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3410         Remove an override of something that doesn't exist anymore.
3411
3412 2014-01-13  Andy Estes  <aestes@apple.com>
3413
3414         [iOS] Build Fix: Don't build the 'All-iOS' target on iOS. Just use 'All'.
3415
3416         * Makefile:
3417
3418 2014-01-13  Martin Robinson  <mrobinson@igalia.com>
3419
3420         [CMake] Mark all dependency include paths and libraries as advanced variables
3421         https://bugs.webkit.org/show_bug.cgi?id=126504
3422
3423         Reviewed by Daniel Bates.
3424
3425         * CMakeLists.txt: Mark the LIBRT_LIBRARIES variable as advanced.
3426
3427 2014-01-13  Martin Robinson  <mrobinson@igalia.com>
3428
3429         [GTK][CMake] Circular dependency in generation of WebKitEnumTypes.h
3430         https://bugs.webkit.org/show_bug.cgi?id=126912
3431
3432         Reviewed by Daniel Bates.
3433
3434         * PlatformGTK.cmake: Remove the circular dependency by generating WebKitEnumTypes.h with
3435         all installed headers except for WebKitEnumTypes.h itself.
3436
3437 2014-01-13  Andy Estes  <aestes@apple.com>
3438
3439         [iOS] Exclude shims and PluginProcess.app from the WebKit2 build
3440         https://bugs.webkit.org/show_bug.cgi?id=126936
3441
3442         Reviewed by Daniel Bates.
3443
3444         * Configurations/All.xcconfig: Added. Excluded PluginProcess.app from
3445         being copied into WebKit2.framework on iOS.
3446         * Configurations/NetworkProcess.xcconfig: Excluded SecItemShim.dylib
3447         from being copied into NetworkProcess.app on iOS.
3448         * Configurations/PluginProcess.xcconfig: Excluded
3449         PluginProcessShim.dylib from being copied into PluginProcess.app and
3450         set SKIP_INSTALL to YES on iOS.
3451         * Configurations/PluginProcessShim.xcconfig: Added. Linked the shim
3452         against necessary frameworks on Mac.
3453         * Configurations/SecItemShim.xcconfig: Ditto.
3454         * Configurations/WebProcessShim.xcconfig: Ditto.
3455         * Configurations/WebContentProcess.xcconfig: Excluded
3456         WebProcessShim.dylib from being copied into WebProcess.app on iOS.
3457         * PluginProcess/mac/PluginProcessShim.mm: Added #if !PLATFORM(IOS) guards.
3458         * Shared/mac/CookieStorageShimLibrary.cpp: Ditto.
3459         * WebProcess/mac/SecItemShimLibrary.mm: Ditto.
3460         * WebKit2.xcodeproj/project.pbxproj: Removed Mac-only frameworks from
3461         the shims' 'Link Binary with Libraries' build phases. Added new xcconfigs.
3462
3463 2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>
3464
3465         [EFL][WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
3466         https://bugs.webkit.org/show_bug.cgi?id=126882
3467
3468         Reviewed by Gyuyoung Kim.
3469
3470         * Shared/efl/ProcessExecutablePathEfl.cpp:
3471         (WebKit::executablePathOfWebProcess):
3472         (WebKit::executablePathOfPluginProcess):
3473         (WebKit::executablePathOfNetworkProcess):
3474         * UIProcess/API/efl/EwkView.cpp:
3475         (wkPageToEvasObjectMap):
3476         * UIProcess/API/efl/ewk_context.cpp:
3477         (contextMap):
3478         * UIProcess/API/efl/ewk_page_group.cpp:
3479         (pageGroupMap):
3480         * UIProcess/efl/TextCheckerClientEfl.cpp:
3481         (TextCheckerClientEfl::instance):