bf0711be379d2539731f3bc325e9617d6e08c713
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-04-03  Sam Weinig  <sam@webkit.org>
2
3         [WebKit2] Promote user script SPI to API
4         https://bugs.webkit.org/show_bug.cgi?id=131181
5
6         Reviewed by Anders Carlsson.
7
8         * UIProcess/API/Cocoa/WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.h.
9         * UIProcess/API/Cocoa/WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.mm.
10         (-[WKScriptMessage scriptWorld]):
11         (-[_WKScriptMessage scriptWorld]): Deleted.
12         * UIProcess/API/Cocoa/WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessageHandler.h.
13         * UIProcess/API/Cocoa/WKScriptWorld.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
14         * UIProcess/API/Cocoa/WKScriptWorld.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.mm.
15         (+[WKScriptWorld defaultWorld]):
16         (+[_WKScriptWorld defaultWorld]): Deleted.
17         * UIProcess/API/Cocoa/WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.h.
18         * UIProcess/API/Cocoa/WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.mm.
19         (-[WKUserContentController addScriptMessageHandler:name:world:]):
20         (-[WKUserContentController removeScriptMessageHandlerForName:world:]):
21         (-[_WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
22         (-[_WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.
23         * UIProcess/API/Cocoa/WKWebView.mm:
24         (-[WKWebView initWithFrame:configuration:]):
25         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
26         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
27         (-[WKWebViewConfiguration copyWithZone:]):
28         (-[WKWebViewConfiguration userContentController]):
29         (-[WKWebViewConfiguration setUserContentController:]):
30         (-[WKWebViewConfiguration _userContentController]): Deleted.
31         (-[WKWebViewConfiguration _setUserContentController:]): Deleted.
32         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
33         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
34         * UIProcess/API/Cocoa/_WKScriptMessage.h: Removed.
35         * UIProcess/API/Cocoa/_WKScriptMessage.mm: Removed.
36         * UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Removed.
37         * UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
38         * UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
39         * UIProcess/API/Cocoa/_WKUserContentController.h: Removed.
40         * UIProcess/API/Cocoa/_WKUserContentController.mm: Removed.
41         * WebKit2.xcodeproj/project.pbxproj:
42
43 2014-04-03  Anders Carlsson  <andersca@apple.com>
44
45         Make download policy decisions SPI for now
46         https://bugs.webkit.org/show_bug.cgi?id=131179
47
48         Reviewed by Sam Weinig.
49
50         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
51         (NS_ENUM):
52         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
53         (NS_ENUM):
54         * UIProcess/Cocoa/NavigationState.mm:
55         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
56         (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
57
58 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
59
60         Harden FilterOperation type casting
61         https://bugs.webkit.org/show_bug.cgi?id=131142
62
63         Reviewed by Sam Weinig.
64
65         DefaultFilterOperation had an error-prone behavior where it set the base class
66         OperationType to the type of some other filter class, but overrode isDefault(). 
67         This made it very easy to write incorrect code that casted incorrectly based on type().
68         
69         Fix by making adding a DEFAULT filter operation type, and storing the represented
70         type on DefaultFilterOperation().
71         
72         Also remove the OperationType argument for constructors of FilterOperations that
73         can only be of one type, to avoid possible mistakes.
74         
75         Make the type cast macros a bit more normal, and use them in a few places.
76         
77         Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
78
79         * Shared/WebCoreArgumentCoders.cpp:
80         (IPC::encodeFilterOperation):
81         (IPC::decodeFilterOperation):
82         * Shared/mac/RemoteLayerTreeTransaction.mm:
83         (WebKit::RemoteLayerTreeTextStream::operator<<):
84
85 2014-04-03  Alexey Proskuryakov  <ap@apple.com>
86
87         REGRESSION (Async text input): Controls become unresponsive to mouse events
88         https://bugs.webkit.org/show_bug.cgi?id=131176
89         <rdar://problem/16507932>
90
91         Reviewed by Tim Horton.
92
93         * UIProcess/API/mac/WKView.mm: (NATIVE_MOUSE_EVENT_HANDLER):
94         Don't confuse event handling machinery by sending events to WebProcess twice.
95
96 2014-04-03  Anders Carlsson  <andersca@apple.com>
97
98         WKWebView should always have a UIDelegate, even when closed
99         https://bugs.webkit.org/show_bug.cgi?id=131174
100         <rdar://problem/16389248>
101
102         Reviewed by Sam Weinig.
103
104         * UIProcess/API/Cocoa/WKWebView.mm:
105         (-[WKWebView initWithFrame:configuration:]):
106         (-[WKWebView UIDelegate]):
107         (-[WKWebView setUIDelegate:]):
108         * UIProcess/Cocoa/UIDelegate.h:
109         * UIProcess/Cocoa/UIDelegate.mm:
110         (WebKit::UIDelegate::UIDelegate):
111         (WebKit::UIDelegate::~UIDelegate):
112         (WebKit::UIDelegate::createUIClient):
113         (WebKit::UIDelegate::delegate):
114         (WebKit::UIDelegate::setDelegate):
115         (WebKit::UIDelegate::UIClient::UIClient):
116         (WebKit::UIDelegate::UIClient::~UIClient):
117         (WebKit::UIDelegate::UIClient::createNewPage):
118         (WebKit::UIDelegate::UIClient::runJavaScriptAlert):
119         (WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
120         (WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
121         (WebKit::UIDelegate::UIClient::actionsForElement):
122         (WebKit::UIClient::UIClient): Deleted.
123         (WebKit::UIClient::~UIClient): Deleted.
124         (WebKit::UIClient::delegate): Deleted.
125         (WebKit::UIClient::setDelegate): Deleted.
126         (WebKit::UIClient::createNewPage): Deleted.
127         (WebKit::UIClient::runJavaScriptAlert): Deleted.
128         (WebKit::UIClient::runJavaScriptConfirm): Deleted.
129         (WebKit::UIClient::runJavaScriptPrompt): Deleted.
130         (WebKit::UIClient::actionsForElement): Deleted.
131         * UIProcess/ios/WKActionSheetAssistant.mm:
132
133 2014-04-02  Anders Carlsson  <andersca@apple.com>
134
135         Document WKNavigationAction and WKNavigationResponse
136         https://bugs.webkit.org/show_bug.cgi?id=131138
137
138         Reviewed by Sam Weinig.
139
140         * UIProcess/API/Cocoa/WKFrameInfo.h:
141         * UIProcess/API/Cocoa/WKNavigationAction.h:
142         * UIProcess/API/Cocoa/WKNavigationResponse.h:
143
144 2014-04-03  Anders Carlsson  <andersca@apple.com>
145
146         Make actionsForElement a proper API::UIClient member function
147         https://bugs.webkit.org/show_bug.cgi?id=131171
148
149         Reviewed by Sam Weinig.
150
151         * UIProcess/API/APIUIClient.h:
152         (API::UIClient::actionsForElement):
153         * UIProcess/Cocoa/UIDelegate.h:
154         * UIProcess/Cocoa/UIDelegate.mm:
155         (WebKit::UIClient::actionsForElement):
156         * UIProcess/ios/WKActionSheetAssistant.mm:
157         (-[WKActionSheetAssistant showImageSheet]):
158         (-[WKActionSheetAssistant showLinkSheet]):
159
160 2014-04-03  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
161
162         [WK2] Fix !ENABLE(BLOB) build
163         https://bugs.webkit.org/show_bug.cgi?id=131164
164
165         Reviewed by Alexey Proskuryakov.
166
167         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
168         (WebKit::NetworkConnectionToWebProcess::didClose):
169         * NetworkProcess/NetworkConnectionToWebProcess.h:
170         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
171
172 2014-04-03  Anders Carlsson  <andersca@apple.com>
173
174         Fix iOS build.
175
176         * UIProcess/ios/WKActionSheetAssistant.mm:
177
178 2014-04-03  Anders Carlsson  <andersca@apple.com>
179
180         Rename UIClient.{h, mm} to UIDelegate.{h, mm}.
181
182         Rubber-stamped by Dan Bernstein.
183
184         * UIProcess/API/Cocoa/WKWebView.mm:
185         * UIProcess/Cocoa/UIDelegate.h: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.h.
186         * UIProcess/Cocoa/UIDelegate.mm: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.mm.
187         * WebKit2.xcodeproj/project.pbxproj:
188
189 2014-04-03  Andrzej Badowski  <a.badowski@samsung.com>
190
191         [EFL][WK2] Replacing zoom functionality of MiniBrowser from scale_set to page_zoom_set.
192         https://bugs.webkit.org/show_bug.cgi?id=130391
193
194         Reviewed by Gyuyoung Kim.
195
196         Change the implementation of the zoom functionality from ewk_view_scale_set
197         to ewk_view_page_zoom_set. Adding to the API functions: ewk_view_page_zoom_set and
198         ewk_view_page_zoom_get to call appropriate WK functions.
199
200         * UIProcess/API/efl/ewk_view.cpp:
201         (ewk_view_page_zoom_set):
202         (ewk_view_page_zoom_get):
203         * UIProcess/API/efl/ewk_view.h:
204         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
205         (TEST_F):
206
207 2014-04-02  Alexey Proskuryakov  <ap@apple.com>
208
209         Sandbox violation in NetworkProcess when uploading a bundle
210         https://bugs.webkit.org/show_bug.cgi?id=131133
211
212         Reviewed by Brady Eidson.
213
214         * NetworkProcess/NetworkResourceLoader.cpp:
215         (WebKit::NetworkResourceLoader::cleanup):
216         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
217         Don't delete the files. It can't work.
218
219 2014-04-02  Jinwoo Song  <jinwoo7.song@samsung.com>
220
221         [WK2][EFL] Remove unnecessary reinterpret_cast<> in unit testcase
222         https://bugs.webkit.org/show_bug.cgi?id=131143
223
224         Reviewed by Gyuyoung Kim.
225
226         Ecore_Timer callback requires *Eina_Bool* return type instead of *bool*.
227         Also, WebKit/EFL port coding style recommends to use *Eina_Bool* in the
228         callback function for EFL event handler. Additionally, replaced 0 to nullptr.
229
230         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
231         (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
232         (EWK2UnitTest::CallbackDataTimer::setDone):
233         (EWK2UnitTest::CallbackDataTimer::timeOutCallback):
234         (EWK2UnitTest::CallbackDataTimer::setTimedOut):
235         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
236         (EWK2StorageManagerTest::timerCallback):
237         (TEST_F):
238
239 2014-04-02  Tim Horton  <timothy_horton@apple.com>
240
241         Remove a FIXME that happened.
242
243         * Shared/mac/RemoteLayerBackingStore.mm:
244         (WebKit::RemoteLayerBackingStore::display):
245
246 2014-04-02  Tim Horton  <timothy_horton@apple.com>
247
248         Fix the !USE(IOSURFACE) build... again.
249
250         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
251         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
252
253 2014-04-02  Mark Rowe  <mrowe@apple.com>
254
255         <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
256
257         These arguments are often passed using literals at the call site, where the use of bools severely hinders
258         the readability of the code.
259
260         Reviewed by Andreas Kling.
261
262         * WebProcess/Plugins/PDF/PDFPlugin.mm:
263         (WebKit::PDFPlugin::clickedLink):
264
265 2014-04-02  Tim Horton  <timothy_horton@apple.com>
266
267         Pool IOSurfaces to help with allocation cost
268         https://bugs.webkit.org/show_bug.cgi?id=131096
269         <rdar://problem/15373942>
270
271         Reviewed by Simon Fraser.
272
273         * Shared/mac/RemoteLayerBackingStore.h:
274         * Shared/mac/RemoteLayerBackingStore.mm:
275         (WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore):
276         (WebKit::RemoteLayerBackingStore::clearBackingStore):
277         (WebKit::RemoteLayerBackingStore::display):
278         When RemoteLayerBackingStore discards a layer, throw it into the pool.
279
280         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
281         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
282         Disable the pool in the UI process.
283
284 2014-04-02  Alice Barraclough  <alice.barraclough@apple.com>
285
286         Fix a typo causing TestWebKitAPI to timeout when testing Find.
287
288         Reviewed by Dan Bernstein.
289
290         * UIProcess/API/C/WKPage.cpp:
291         (WKPageSetPageFindClient): Test for !functionPointer like
292         all the other implementations do.
293
294 2014-04-02  Dean Jackson  <dino@apple.com>
295
296         [iOS] Expose geolocation provider on the process pool
297         https://bugs.webkit.org/show_bug.cgi?id=131125
298
299         Reviewed by Dan Bernstein.
300
301         Followup comments from Dan Bernstein. Use a class
302         extension rather than a new category.
303
304         * UIProcess/API/Cocoa/WKProcessPool.mm:
305         (-[WKProcessPool _geolocationProvider]):
306         * UIProcess/API/Cocoa/WKProcessPoolInternal.h:
307
308 2014-04-02  Tim Horton  <timothy_horton@apple.com>
309
310         RemoteLayerBackingStore doesn't need to clear opaque layers
311         https://bugs.webkit.org/show_bug.cgi?id=131134
312
313         Reviewed by Simon Fraser.
314
315         * Shared/mac/RemoteLayerBackingStore.mm:
316         (WebKit::RemoteLayerBackingStore::display):
317         We don't need to clear opaque layers, because we'll paint
318         over the whole area. In addition, we should fill opaque layers
319         with a bright color in debug builds to make it very clear
320         that we've made a mistake (similar to what FrameView does).
321
322 2014-04-02  Anders Carlsson  <andersca@apple.com>
323
324         Document WKBackForwardList, WKBackForwardListItem and WKWebViewConfiguration
325         https://bugs.webkit.org/show_bug.cgi?id=131131
326
327         Reviewed by Dan Bernstein.
328
329         * UIProcess/API/Cocoa/WKBackForwardList.h:
330         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
331         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
332
333 2014-04-02  Anders Carlsson  <andersca@apple.com>
334
335         Document WKUIDelegate and WKWindowFeatures
336         https://bugs.webkit.org/show_bug.cgi?id=131124
337
338         Reviewed by Dan Bernstein.
339
340         * UIProcess/API/Cocoa/WKProcessPool.h:
341         * UIProcess/API/Cocoa/WKUIDelegate.h:
342         * UIProcess/API/Cocoa/WKWindowFeatures.h:
343
344 2014-04-02  Dean Jackson  <dino@apple.com>
345
346         [iOS] Expose geolocation provider on the process pool
347         https://bugs.webkit.org/show_bug.cgi?id=131125
348
349         Patch by Sam Weinig.
350         Reviewed by Dean Jackson.
351
352         * UIProcess/API/Cocoa/WKProcessPool.mm:
353         (-[WKProcessPool _geolocationProvider]): Create and initialize WKGeolocationProviderIOS if necessary.
354         * UIProcess/API/Cocoa/WKProcessPoolInternal.h: Expose _geolocationProvider.
355         * UIProcess/ios/WKContentView.mm:
356         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Call into WKProcessPool.
357
358 2014-04-02  Martin Hock  <mhock@apple.com>
359
360         Unify private browsing with sessions.
361         https://bugs.webkit.org/show_bug.cgi?id=130099
362
363         Reviewed by Alexey Proskuryakov.
364
365         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Change WebPage::isUsingEphemeralSession() to WebPage::usesEphemeralSession().
366         (WKBundlePageIsUsingEphemeralSession):
367         * WebProcess/InjectedBundle/InjectedBundle.cpp: Change Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing().
368         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
369         * WebProcess/Plugins/PluginView.cpp: Change Settings::privateBrowsingEnabled() to Page::usesEphemeralSession().
370         (WebKit::PluginView::isPrivateBrowsingEnabled):
371         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Ditto.
372         (WebKit::WebFrameNetworkingContext::storageSession):
373         * WebProcess/WebPage/WebPage.cpp:
374         (WebKit::WebPage::usesEphemeralSession): Renamed from isUsingEphemeralSession.
375         (WebKit::WebPage::setSessionID): Ensure session before setting.
376         (WebKit::WebPage::updatePreferences): Set session to legacy private session if needed.
377         (WebKit::WebPage::sessionID): Moved to header.
378         (WebKit::WebPage::isUsingEphemeralSession): Renamed to usesEphemeralSession.
379         * WebProcess/WebPage/WebPage.h:
380         (WebKit::WebPage::sessionID): Just call down to m_page.
381
382 2014-04-02  Alice Barraclough  <alice.liu@apple.com>
383
384         Adding Objective-C SPI for Find in Page.
385         https://bugs.webkit.org/show_bug.cgi?id=131000 Need an Objective-C API or SPI for Find in Page
386
387         Reviewed by Dan Bernstein.
388
389         Find-on-page SPI added to WKWebView, which funnels the messages through the WebPageProxy.
390         Returning messages are designated by _WKFindDelegate protocol.
391         Also provide FindDelegate access on WKWebView.
392         WebPageProxy gets a new-style API::FindClient.
393         Also had to replicate WKFindOptions as _WKFindOptions in Cocoa SPI. This is unfortunate, but it 
394         does follow the pattern of other options & enums related to classes that are SPI-for-now.
395         
396         PageClientImplIOS handles setFindIndicator function by forwarding to its WKContentView, 
397         but WKContentView _setFindIndicator remains unimplemented for now.
398         
399         * UIProcess/API/APIFindClient.h: Added.
400         (API::FindClient::~FindClient):
401         (API::FindClient::didCountStringMatches):
402         (API::FindClient::didFindString):
403         (API::FindClient::didFailToFindString):
404         * UIProcess/API/C/WKPage.cpp:
405         (WKPageSetPageFindClient):
406         * UIProcess/API/Cocoa/WKWebView.mm:
407         (-[WKWebView initWithFrame:configuration:]):
408         (-[WKWebView _findDelegate]):
409         (-[WKWebView _setFindDelegate:]):
410         (toFindOptions):
411         (-[WKWebView _countStringMatches:options:maxCount:]):
412         (-[WKWebView _findString:options:maxCount:]):
413         (-[WKWebView _hideFindUI]):
414         (-[WKWebView _hostForFindUI]):
415         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
416         (NS_OPTIONS):
417         * UIProcess/API/Cocoa/_WKFindDelegate.h: Added.
418         * UIProcess/Cocoa/FindClient.h: Added.
419         * UIProcess/Cocoa/FindClient.mm: Added.
420         (WebKit::FindClient::FindClient):
421         (WebKit::FindClient::delegate):
422         (WebKit::FindClient::setDelegate):
423         (WebKit::FindClient::didCountStringMatches):
424         (WebKit::FindClient::didFindString):
425         (WebKit::FindClient::didFailToFindString):
426         * UIProcess/WebPageProxy.cpp:
427         (WebKit::WebPageProxy::WebPageProxy):
428         (WebKit::WebPageProxy::setFindClient):
429         (WebKit::WebPageProxy::close):
430         (WebKit::WebPageProxy::didCountStringMatches):
431         (WebKit::WebPageProxy::didFindString):
432         (WebKit::WebPageProxy::didFailToFindString):
433         (WebKit::WebPageProxy::initializeFindClient): Deleted.
434         * UIProcess/WebPageProxy.h:
435         (WebKit::WebPageProxy::findClient):
436         * UIProcess/ios/PageClientImplIOS.mm:
437         (WebKit::PageClientImpl::setFindIndicator):
438         * UIProcess/ios/WKContentView.h:
439         * UIProcess/ios/WKContentView.mm:
440         (-[WKContentView _setFindIndicator:WebKit::fadeOut:animate:]):
441         * WebKit2.xcodeproj/project.pbxproj:
442
443 2014-04-02  Anders Carlsson  <andersca@apple.com>
444
445         Rename -[WKBackForwardListItem originalURL] to -[WKBackForwardListItem initialURL]
446         https://bugs.webkit.org/show_bug.cgi?id=131116
447
448         Reviewed by Antti Koivisto.
449
450         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
451         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
452         (-[WKBackForwardListItem initialURL]):
453         (-[WKBackForwardListItem originalURL]): Deleted.
454
455 2014-04-02  Antti Koivisto  <antti@apple.com>
456
457         Split tile grid out from TileController
458         https://bugs.webkit.org/show_bug.cgi?id=131102
459
460         Reviewed by Simon Fraser.
461
462         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
463         (WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
464         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
465
466 2014-04-02  Anders Carlsson  <andersca@apple.com>
467
468         Try a workaround for a crash
469         https://bugs.webkit.org/show_bug.cgi?id=131112
470
471         Reviewed by Sam Weinig.
472
473         * UIProcess/API/Cocoa/WKWebView.mm:
474         (-[WKWebView UIDelegate]):
475         (-[WKWebView setUIDelegate:]):
476
477 2014-04-02  Martin Robinson  <mrobinson@igalia.com>
478
479         REGRESSION(r165704): [GTK] Inspector resources not correctly generated
480         https://bugs.webkit.org/show_bug.cgi?id=130343
481
482         Reviewed by Gustavo Noronha Silva.
483
484         * PlatformGTK.cmake: Pass all appropriate directories to the
485         GResources XML generation script.
486
487 2014-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>
488
489         [GTK] Move NEWS file to a new location
490         https://bugs.webkit.org/show_bug.cgi?id=130901
491
492         Reviewed by Brent Fulgham.
493
494         * gtk/NEWS: Renamed from Source/WebKit/gtk/NEWS.
495
496 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
497
498         <rdar://problem/16294704> Remove _pageExtendedBackgroundColor entirely
499         https://bugs.webkit.org/show_bug.cgi?id=131075
500
501         Reviewed by Beth Dakin.
502
503         * UIProcess/API/Cocoa/WKWebView.mm:
504         (-[WKWebView _pageExtendedBackgroundColor]): Deleted.
505         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
506
507 2014-04-01  Anders Carlsson  <andersca@apple.com>
508
509         Stub out more WKNavigation properties
510         https://bugs.webkit.org/show_bug.cgi?id=131080
511
512         Reviewed by Tim Horton.
513
514         * UIProcess/API/Cocoa/WKNavigation.h:
515         * UIProcess/API/Cocoa/WKNavigation.mm:
516         (-[WKNavigation initialRequest]):
517         (-[WKNavigation response]):
518         (-[WKNavigation error]):
519
520 2014-04-01  Anders Carlsson  <andersca@apple.com>
521
522         Rename -[WKWebView activeURL] to -[WKWebView URL]
523         https://bugs.webkit.org/show_bug.cgi?id=131077
524
525         Reviewed by Tim Horton.
526
527         Keep -[WKWebView activeURL] as SPI until no clients depend on it.
528
529         * UIProcess/API/Cocoa/WKWebView.h:
530         * UIProcess/API/Cocoa/WKWebView.mm:
531         (-[WKWebView URL]):
532         (-[WKWebView activeURL]):
533         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
534         * UIProcess/Cocoa/NavigationState.mm:
535         (WebKit::NavigationState::willChangeActiveURL):
536         (WebKit::NavigationState::didChangeActiveURL):
537
538 2014-04-01  Anders Carlsson  <andersca@apple.com>
539
540         Move -[WKWebView stopLoading:] back to WKIBActions
541         https://bugs.webkit.org/show_bug.cgi?id=131072
542
543         Reviewed by Tim Horton.
544
545         * UIProcess/API/Cocoa/WKWebView.h:
546         * UIProcess/API/Cocoa/WKWebView.mm:
547         (-[WKWebView stopLoading:]):
548
549 2014-04-01  Anders Carlsson  <andersca@apple.com>
550
551         Migrate more headers
552         https://bugs.webkit.org/show_bug.cgi?id=131068
553
554         Reviewed by Tim Horton.
555
556         * UIProcess/API/Cocoa/WKBackForwardList.h:
557         Remove a newline.
558
559         * WebKit2.xcodeproj/project.pbxproj:
560         Move files from the "Deprecated" group.
561
562 2014-04-01  Manuel Rego Casasnovas  <rego@igalia.com>
563
564         [CSS Grid Layout] Enable runtime feature if feature flag is enabled
565         https://bugs.webkit.org/show_bug.cgi?id=130013
566
567         Reviewed by Simon Fraser.
568
569         Enable CSS Grid Layout runtime feature when ENABLE_CSS_GRID_LAYOUT flag is true.
570
571         * Shared/WebPreferencesStore.h:
572
573 2014-04-01  Anders Carlsson  <andersca@apple.com>
574
575         Demote WKBackForwardListDidChangeNotification to SPI
576         https://bugs.webkit.org/show_bug.cgi?id=131059
577
578         Reviewed by Dan Bernstein.
579
580         * UIProcess/API/Cocoa/WKBackForwardList.h:
581         * UIProcess/API/Cocoa/WKBackForwardList.mm:
582         * UIProcess/API/Cocoa/WKBackForwardListInternal.h:
583         * UIProcess/API/Cocoa/WKBackForwardListPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKBackForwardListInternal.h.
584         * UIProcess/Cocoa/NavigationState.mm:
585         (WebKit::NavigationState::LoaderClient::didChangeBackForwardList):
586         * WebKit2.xcodeproj/project.pbxproj:
587
588 2014-04-01  Andy Estes  <aestes@apple.com>
589
590         [Cocoa] Add SPI to determine if a WKWebView is displaying a PDF
591         https://bugs.webkit.org/show_bug.cgi?id=131063
592
593         Reviewed by Tim Horton.
594
595         * UIProcess/API/Cocoa/WKWebView.mm:
596         (-[WKWebView _isDisplayingPDF]):
597         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
598
599 2014-04-01  Simon Fraser  <simon.fraser@apple.com>
600
601         Remove some explicit template instantiations from logging code
602         https://bugs.webkit.org/show_bug.cgi?id=131065
603
604         Reviewed by Tim Horton.
605         
606         No need to explicitly state template types.
607
608         * Shared/mac/RemoteLayerTreeTransaction.mm:
609         (WebKit::dumpChangedLayers):
610
611 2014-04-01  Tim Horton  <timothy_horton@apple.com>
612
613         [iOS WebKit2] Partial repaint is broken
614         https://bugs.webkit.org/show_bug.cgi?id=131056
615
616         Reviewed by Dean Jackson.
617
618         * Shared/mac/RemoteLayerBackingStore.mm:
619         (WebKit::RemoteLayerBackingStore::display):
620         We need to check if the repaint rects themselves cover the whole
621         layer's surface, not just their bounds. Otherwise, we'll optimize
622         out the back->front copy and end up not painting the whole layer.
623
624 2014-04-01  Anders Carlsson  <andersca@apple.com>
625
626         Pass a WKNavigationAction to the create UIDelegate method
627         https://bugs.webkit.org/show_bug.cgi?id=131053
628
629         Reviewed by Sam Weinig.
630
631         * UIProcess/API/Cocoa/WKUIDelegate.h:
632         * UIProcess/Cocoa/UIClient.h:
633         * UIProcess/Cocoa/UIClient.mm:
634         (WebKit::UIClient::setDelegate):
635         (WebKit::UIClient::createNewPage):
636
637 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
638
639         [iOS][WK2] Remove the two finger pan gesture recognizer until it is actually implemented
640         https://bugs.webkit.org/show_bug.cgi?id=131009
641
642         Reviewed by Sam Weinig.
643
644         The two finger pan should not block the pinch gesture recognizer.
645
646         * UIProcess/ios/WKContentViewInteraction.h:
647         * UIProcess/ios/WKContentViewInteraction.mm:
648         (-[WKContentView setupInteraction]):
649         (-[WKContentView cleanupInteraction]):
650         (-[WKContentView gestureRecognizerShouldBegin:]):
651         (-[WKContentView _twoFingerPanRecognized:]): Deleted.
652
653 2014-04-01  Anders Carlsson  <andersca@apple.com>
654
655         Remove limits from WKBackForwardList getters
656         https://bugs.webkit.org/show_bug.cgi?id=131052
657
658         Reviewed by Beth Dakin.
659
660         * UIProcess/API/Cocoa/WKBackForwardList.h:
661         * UIProcess/API/Cocoa/WKBackForwardList.mm:
662         (-[WKBackForwardList backList]):
663         (-[WKBackForwardList forwardList]):
664         (-[WKBackForwardList backListCount]): Deleted.
665         (-[WKBackForwardList forwardListCount]): Deleted.
666         (-[WKBackForwardList backListWithLimit:]): Deleted.
667         (-[WKBackForwardList forwardListWithLimit:]): Deleted.
668         * UIProcess/WebBackForwardList.cpp:
669         (WebKit::WebBackForwardList::backList):
670         (WebKit::WebBackForwardList::forwardList):
671         * UIProcess/WebBackForwardList.h:
672
673 2014-04-01  Anders Carlsson  <andersca@apple.com>
674
675         Stub out the web process -> UI process message SPI
676         https://bugs.webkit.org/show_bug.cgi?id=131048
677
678         Reviewed by Sam Weinig.
679
680         * UIProcess/API/Cocoa/WKWebView.mm:
681         (-[WKWebView initWithFrame:configuration:]):
682         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
683         (-[WKWebViewConfiguration copyWithZone:]):
684         (-[WKWebViewConfiguration _userContentController]):
685         (-[WKWebViewConfiguration _setUserContentController:]):
686         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
687         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
688         * UIProcess/API/Cocoa/_WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
689         * UIProcess/API/Cocoa/_WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
690         (-[_WKScriptMessage body]):
691         (-[_WKScriptMessage originatingWebView]):
692         * UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
693         * UIProcess/API/Cocoa/_WKScriptWorld.h:
694         * UIProcess/API/Cocoa/_WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
695         * UIProcess/API/Cocoa/_WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h.
696         (-[_WKUserContentController addScriptMessageHandler:name:world:]):
697         (-[_WKUserContentController removeScriptMessageHandler:]):
698         * WebKit2.xcodeproj/project.pbxproj:
699
700 2014-04-01  Andreas Kling  <akling@apple.com>
701
702         Invalidate CFNetwork connection cache on memory pressure.
703         <https://webkit.org/b/131038>
704
705         Stop holding on to cached HTTP connections if we come under memory pressure.
706
707         Reviewed by Geoff Malloc-Garen.
708
709         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
710         (WebKit::NetworkProcess::platformLowMemoryHandler):
711
712 2014-04-01  Anders Carlsson  <andersca@apple.com>
713
714         Tweak WKPreferences API
715         https://bugs.webkit.org/show_bug.cgi?id=131047
716
717         Reviewed by Simon Fraser.
718
719         * UIProcess/API/Cocoa/WKPreferences.h:
720         * UIProcess/API/Cocoa/WKPreferences.mm:
721         (-[WKPreferences init]):
722         (-[WKPreferences initWithUserDefaultsKeyPrefix:]):
723         (-[WKPreferences userDefaultsKeyPrefix]):
724         (-[WKPreferences initWithUserDefaultsPrefixKey:]): Deleted.
725         (-[WKPreferences userDefaultsPrefixKey]): Deleted.
726
727 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
728
729         Enable WEB_TIMING on Mac and iOS
730         https://bugs.webkit.org/show_bug.cgi?id=128064
731
732         Reviewed by Sam Weinig, Brent Fulgham.
733         
734         Enable WEB_TIMING.
735
736         * Configurations/FeatureDefines.xcconfig:
737
738 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
739
740         [UI-side compositing] Fix animations, and add logging
741         https://bugs.webkit.org/show_bug.cgi?id=131011
742
743         Reviewed by Tim Horton.
744         
745         UI-side animations were broken because GraphicsLayerCARemote::addAnimation()
746         never called the superclass, so fix.
747         
748         Add logging for animations to the layer tree commit output.
749
750         * Shared/mac/RemoteLayerTreeTransaction.mm:
751         (WebKit::dumpProperty):
752         (WebKit::RemoteLayerTreeTextStream::operator<<):
753         (WebKit::dumpChangedLayers):
754         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
755         (WebKit::GraphicsLayerCARemote::addAnimation):
756
757 2014-04-01  Zalan Bujtas  <zalan@apple.com>
758
759         Build fix after r166582.
760
761         * Shared/ContextMenuContextData.cpp:
762         (WebKit::ContextMenuContextData::ContextMenuContextData):
763
764 2014-04-01  Zalan Bujtas  <zalan@apple.com>
765
766         Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
767         https://bugs.webkit.org/show_bug.cgi?id=130643
768
769         Reviewed by Simon Fraser.
770
771         This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
772         subpixel sizing on hidpi resolutions, both generated and hidpi images can.
773         This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
774
775         No change in behavior.
776
777         * Shared/WebCoreArgumentCoders.cpp:
778         (IPC::encodeImage):
779         * UIProcess/API/efl/EwkView.cpp:
780         (EwkView::updateCursor):
781
782 2014-04-01  Joonghun Park  <jh718.park@samsung.com>
783
784         [EFL][WK2] Fix and update the existing test case for ewk_database_manager_origins_async_get API
785         https://bugs.webkit.org/show_bug.cgi?id=131017
786
787         Reviewed by Gyuyoung Kim.
788
789         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
790         Fix memory leaks and errors caused by duplication of Ecore_Timer deletion
791         as well as update a naming style of local variable.
792         (EWK2DatabaseManagerTest::databaseOriginsCallback):
793         (TEST_F):
794
795 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
796
797         Don't copy the children map in webkitWebViewBaseContainerForall
798         https://bugs.webkit.org/show_bug.cgi?id=131016
799
800         Reviewed by Carlos Garcia Campos.
801
802         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
803         (webkitWebViewBaseContainerForall): Avoid copying the GtkWidget-to-IntRect HashMap object
804         by transforming the iteration to a range-based for-loop over that HashMap's keys.
805
806 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
807
808         [GTK] Don't copy the ResourceResponse object in webkitWebViewDecidePolicy
809         https://bugs.webkit.org/show_bug.cgi?id=131015
810
811         Reviewed by Carlos Garcia Campos.
812
813         * UIProcess/API/gtk/WebKitWebView.cpp:
814         (webkitWebViewDecidePolicy): Avoid copying the ResourceResponce object returned by webkitURIResponseGetResourceResponse.
815         That function already returns a reference, so the return value should be stored accordingly.
816
817 2014-04-01  Eunmi Lee  <eunmi15.lee@samsung.com>
818
819         [CoordinatedGraphics] Content scale factor should not be applied to draw contents when fixed layout is not used.
820         https://bugs.webkit.org/show_bug.cgi?id=130962
821
822         Reviewed by Gyuyoung Kim.
823
824         Delegating scaling is turned off when fixed layout is not used in the
825         coordinated graphics, so page scale factor is applied to the contents
826         directly.
827         In that case, we should not apply page scale factor to coordinated
828         graphics to draw contents and calculate visible content rect.
829
830         Currently, page scale factor is applied twice to the coordinated
831         graphics and contents, so result of scaling is abnormal.
832
833         * UIProcess/CoordinatedGraphics/WebView.cpp:
834         (WebKit::WebView::transformToScene):
835         (WebKit::WebView::visibleContentsSize):
836
837 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
838
839         [EFL][WK2] Rename ewk_application_cache_manager_delete{_all}
840         https://bugs.webkit.org/show_bug.cgi?id=131012
841
842         Reviewed by Gyuyoung Kim.
843
844         While discussing Bug 130577, we resulted that _clear and _xxx_del is better name for the EFL.
845         This patch will rename similar API in ewk_application_cache_manager.
846
847         In addition, fixed some typos in doxygen.
848
849         * UIProcess/API/efl/ewk_application_cache_manager.cpp:
850         (ewk_application_cache_manager_clear): Renamed from ewk_application_cache_manager_delete_all
851         (ewk_application_cache_manager_entries_for_origin_del): Renamed from ewk_application_cache_manager_delete
852         (ewk_application_cache_manager_delete_all): Deleted.
853         (ewk_application_cache_manager_delete): Deleted.
854         * UIProcess/API/efl/ewk_application_cache_manager.h:
855         * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
856         (TEST_F):
857
858 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
859
860         Unreviewed GTK build fix after r166553.
861
862         * UIProcess/API/gtk/WebKitSettings.cpp:
863         (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Pass 'WebKit2.' as the second argument to WebPreferences::create().
864
865 2014-03-31  Ryuan Choi  <ryuan.choi@samsung.com>
866
867         [EFL][WK2] Extract the control of page background out of color_set
868         https://bugs.webkit.org/show_bug.cgi?id=127539
869
870         Reviewed by Gyuyoung Kim.
871
872         EFL have a way to change the color using evas_object_color_set and we used it to change background.
873         But, We should not use it because the alpha value of color_set is used
874         for the transparancy of object itself including background and contents.
875
876         This patch added ewk_view_bg_color_{get|set} to change the background color.
877
878         * UIProcess/API/C/efl/WKViewEfl.cpp:
879         Extracted controls of page background out of color_set.
880         color_set will be only used for the opacity of whole contents.
881         (WKViewSetBackgroundColor): Added to share page background color.
882         (WKViewGetBackgroundColor):
883         * UIProcess/API/C/efl/WKViewEfl.h:
884         * UIProcess/API/efl/EwkView.cpp:
885         (EwkView::handleEvasObjectColorSet):
886         * UIProcess/API/efl/ewk_view.cpp:
887         Removed ewk_view_draws_page_background_set which just control whether to draw background.
888         ewk_view_bg_color_set will conver it.
889         (ewk_view_bg_color_set):
890         (ewk_view_bg_color_get):
891         * UIProcess/API/efl/ewk_view.h:
892         * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added simple test case.
893         * UIProcess/efl/WebViewEfl.cpp:
894         (WebKit::WebViewEfl::setViewBackgroundColor):
895         (WebKit::WebViewEfl::viewBackgroundColor):
896         * UIProcess/efl/WebViewEfl.h:
897
898 2014-03-31  Joonghun Park  <jh718.park@samsung.com>
899
900         [EFL][WK2]Implement ewk APIs of web local storage which have deletion functions of the local storage entries
901         https://bugs.webkit.org/show_bug.cgi?id=130577
902
903         Reviewed by Gyuyoung Kim.
904
905         * UIProcess/API/efl/ewk_storage_manager.cpp:
906         (ewk_storage_manager_entries_clear):
907         (ewk_storage_manager_entries_for_origin_del):
908         * UIProcess/API/efl/ewk_storage_manager.h:
909         * UIProcess/API/efl/ewk_storage_manager_private.h:
910         (EwkStorageManager::wkStorageManager):
911         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
912         adding and updating API unittest and fixing memory leak of the existing test case
913         (EWK2StorageManagerTest::getStorageOriginsCallback):
914         (EWK2StorageManagerTest::checkOrigin):
915         (EWK2StorageManagerTest::getOrigin):
916         (TEST_F):
917
918 2014-03-31  Anders Carlsson  <andersca@apple.com>
919
920         Rename policy enums to match the delegate methods
921         https://bugs.webkit.org/show_bug.cgi?id=131002
922
923         Reviewed by Tim Horton.
924
925         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
926         (NS_ENUM):
927         * UIProcess/Cocoa/NavigationState.mm:
928         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
929         (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
930
931 2014-03-31  Anders Carlsson  <andersca@apple.com>
932
933         Add more preferences
934         https://bugs.webkit.org/show_bug.cgi?id=131001
935
936         Reviewed by Simon Fraser.
937
938         * UIProcess/API/Cocoa/WKPreferences.h:
939         * UIProcess/API/Cocoa/WKPreferences.mm:
940         (-[WKPreferences isJavaScriptEnabled]):
941         (-[WKPreferences setJavaScriptEnabled:]):
942         (-[WKPreferences javaScriptCanOpenWindowsAutomatically]):
943         (-[WKPreferences setJavaScriptCanOpenWindowsAutomatically:]):
944         (-[WKPreferences suppressesIncrementalRendering]):
945         (-[WKPreferences setSuppressesIncrementalRendering:]):
946         (-[WKPreferences isJavaEnabled]):
947         (-[WKPreferences setJavaEnabled:]):
948         (-[WKPreferences arePlugInsEnabled]):
949         (-[WKPreferences setPlugInsEnabled:]):
950
951 2014-03-31  Tim Horton  <timothy_horton@apple.com>
952
953         Fix the build.
954
955         * WebProcess/WebPage/WebPage.cpp:
956         (WebKit::WebPage::updatePreferences):
957
958 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
959
960         Fix the iOS build.
961
962         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
963         (WebKit::RemoteLayerTreeHost::createLayer):
964         * UIProcess/mac/RemoteLayerTreeHost.h:
965         * UIProcess/mac/RemoteLayerTreeHost.mm:
966         (WebKit::RemoteLayerTreeHost::setLayerID):
967         (WebKit::RemoteLayerTreeHost::layerID):
968         (WebKit::RemoteLayerTreeHost::createLayer):
969
970 2014-03-31  Anders Carlsson  <andersca@apple.com>
971
972         Add a couple of iOS specific preferences
973         https://bugs.webkit.org/show_bug.cgi?id=130999
974
975         Reviewed by Simon Fraser.
976
977         * Shared/WebPreferencesStore.h:
978         * UIProcess/API/Cocoa/WKPreferences.h:
979         * UIProcess/API/Cocoa/WKPreferences.mm:
980         (-[WKPreferences allowsInlineMediaPlayback]):
981         (-[WKPreferences setAllowsInlineMediaPlayback:]):
982         (-[WKPreferences mediaPlaybackRequiresUserAction]):
983         (-[WKPreferences setMediaPlaybackRequiresUserAction:]):
984         (-[WKPreferences mediaPlaybackAllowsAirPlay]):
985         (-[WKPreferences setMediaPlaybackAllowsAirPlay:]):
986         * WebProcess/WebPage/WebPage.cpp:
987         (WebKit::WebPage::updatePreferences):
988
989 2014-03-31  Anders Carlsson  <andersca@apple.com>
990
991         Add a new -[WKPreferences initWithUserDefaultsPrefixKey:] initializer
992         https://bugs.webkit.org/show_bug.cgi?id=130996
993
994         Reviewed by Simon Fraser.
995
996         Add a "key prefix" to the WebKit::WebPreferences create function, so we can use a different
997         key prefix ("WebKit") for the modern API and not pollute the user defaults namespace with
998         the old key prefix ("WebKit2.").
999         
1000         * UIProcess/API/C/WKPreferences.cpp:
1001         (WKPreferencesCreate):
1002         (WKPreferencesCreateWithIdentifier):
1003         * UIProcess/API/Cocoa/WKPreferences.h:
1004         * UIProcess/API/Cocoa/WKPreferences.mm:
1005         (-[WKPreferences init]):
1006         (-[WKPreferences initWithUserDefaultsPrefixKey:]):
1007         (-[WKPreferences userDefaultsPrefixKey]):
1008         * UIProcess/WebPageGroup.cpp:
1009         (WebKit::WebPageGroup::WebPageGroup):
1010         * UIProcess/WebPreferences.cpp:
1011         (WebKit::WebPreferences::WebPreferences):
1012         * UIProcess/WebPreferences.h:
1013         (WebKit::WebPreferences::create):
1014         * UIProcess/mac/WebPreferencesMac.mm:
1015         (WebKit::makeKey):
1016         (WebKit::setStringValueIfInUserDefaults):
1017         (WebKit::setBoolValueIfInUserDefaults):
1018         (WebKit::setUInt32ValueIfInUserDefaults):
1019         (WebKit::setDoubleValueIfInUserDefaults):
1020         (WebKit::WebPreferences::platformInitializeStore):
1021         (WebKit::WebPreferences::platformUpdateStringValueForKey):
1022         (WebKit::WebPreferences::platformUpdateBoolValueForKey):
1023         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
1024         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
1025         (WebKit::WebPreferences::platformUpdateFloatValueForKey):
1026
1027 2014-03-31  Pratik Solanki  <psolanki@apple.com>
1028
1029         Remove duplicate entries in Derived Sources.
1030
1031         Rubber-stamped by Anders Carlsson.
1032
1033         * WebKit2.xcodeproj/project.pbxproj:
1034
1035 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1036
1037         Fix the build.
1038
1039         * UIProcess/mac/RemoteLayerTreeHost.mm:
1040         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1041
1042 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1043
1044         Fix the build.
1045
1046         * UIProcess/mac/RemoteLayerTreeHost.mm:
1047         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1048
1049 2014-03-31  Anders Carlsson  <andersca@apple.com>
1050
1051         Rename -[WKNavigationAction destinationFrame] to -[WKNavigationAction targetFrame]
1052         https://bugs.webkit.org/show_bug.cgi?id=130994
1053
1054         Reviewed by Dan Bernstein.
1055
1056         * UIProcess/API/Cocoa/WKNavigationAction.h:
1057         * UIProcess/API/Cocoa/WKNavigationAction.mm:
1058         (-[WKNavigationAction description]):
1059         (-[WKNavigationAction targetFrame]):
1060         (-[WKNavigationAction setTargetFrame:]):
1061         (-[WKNavigationAction destinationFrame]): Deleted.
1062         (-[WKNavigationAction setDestinationFrame:]): Deleted.
1063         * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
1064         * UIProcess/Cocoa/NavigationState.mm:
1065         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
1066
1067 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1068
1069         [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
1070         https://bugs.webkit.org/show_bug.cgi?id=130768
1071         <rdar://problem/16421471>
1072
1073         Reviewed by Benjamin Poulain.
1074
1075         * Shared/mac/RemoteLayerBackingStore.h:
1076         Make RemoteLayerBackingStore noncopyable.
1077         Add flush(), which synchronously flushes painting operations on the underlying backing store.
1078         Add storage for the CGContext that needs to be flushed, and ensure that it is flushed before we paint again.
1079
1080         * Shared/mac/RemoteLayerBackingStore.mm:
1081         (RemoteLayerBackingStore::display):
1082
1083         (RemoteLayerBackingStore::drawInContext):
1084         Don't flush the context immediately after painting.
1085
1086         (RemoteLayerBackingStore::flush):
1087         Flush the current front surface/buffer's context.
1088         Clear the new pending-flush members.
1089
1090         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1091         (WebKit::flushBackingStoreChangesInTransaction):
1092         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1093         Crawl through all of the valid changed backing stores in the transaction and flush them.
1094         Reset changed properties after encoding the commit.
1095
1096         * Shared/mac/RemoteLayerTreeTransaction.h:
1097         (WebKit::RemoteLayerTreeTransaction::LayerProperties::resetChangedProperties):
1098         (WebKit::RemoteLayerTreeTransaction::changedLayers):
1099         (WebKit::RemoteLayerTreeTransaction::changedLayerProperties):
1100         * Shared/mac/RemoteLayerTreeTransaction.mm:
1101         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
1102         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1103         (WebKit::RemoteLayerTreeTransaction::encode):
1104         (WebKit::RemoteLayerTreeTransaction::decode):
1105         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
1106         (WebKit::dumpChangedLayers):
1107         Instead of storing a copy of the LayerProperties struct for each changed layer
1108         while building the transaction in the Web process, store a list of changed layers,
1109         and directly encode the commit from those layers' LayerProperties. This provides a few benefits:
1110                 - We avoid copying LayerProperties for every changed layer, every commit
1111                 - We can make RemoteLayerBackingStore noncopyable
1112                 - We can walk the changed layers after building the transaction
1113                 in order to flush backing store, and actually affect the layers'
1114                 own RemoteLayerBackingStore instead of a copy.
1115         The UI process will still generate a LayerPropertiesMap at decode time.
1116         
1117         * UIProcess/mac/RemoteLayerTreeHost.mm:
1118         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1119         Don't copy the LayerProperties struct for the debug overlay. Instead,
1120         adjust the properties which the debug overlay whacks directly on the layer,
1121         after applying the normal LayerProperties.
1122
1123         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1124         (PlatformCALayerRemote::recursiveBuildTransaction):
1125         Don't reset changed layer properties in the middle of building a transaction. Instead,
1126         RemoteLayerTreeDrawingArea::flushLayers() will reset all the flags on all changed layers
1127         after the commit is encoded.
1128
1129         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1130         (WebKit::PlatformCALayerRemote::properties):
1131
1132 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1133
1134         [UI-side compositing] Proxy animations to the UI process
1135         https://bugs.webkit.org/show_bug.cgi?id=130946
1136
1137         Reviewed by Tim Horton.
1138         
1139         Add encoding/decoding of TimingFunctions. Add encoding support
1140         for HashSet.
1141         
1142         Add PlatformCAAnimationRemote and have PlatformCALayerRemote allow
1143         animations now. PlatformCALayerRemote's properties are defined in the class,
1144         as is the encoding/decoding (much cleaner than having them in the transaction
1145         class I think).
1146         
1147         Add support for the "animationDidStart" callback and sending this back to the
1148         web process. This involves a HashMap of layerID->WKAnimationDelegate stored
1149         on the RemoteLayerTreeHost, and a message send via the DrawingArea. On the
1150         other side, RemoteLayerTreeContext stores a HashMap of layerID->PlatformCALayerRemote*
1151         for layers which have just started animations, which is used to get the
1152         PlatformCALayer* to call animationDidStart() on.
1153         
1154         This requires that the RemoteLayerTreeHost* be passed down into property application,
1155         and that the RemoteLayerTreeHost have a reference to the drawing area.
1156         
1157         To every CALayer in the UI process we -setValue:forKey: to track the PlatformLayerID,
1158         so we can get back to it in order to dispatch "animationDidStart".
1159         
1160         Replace some "using namespace WebKit" with "namespace WebKit { }".
1161
1162         * Platform/IPC/ArgumentCoders.h:
1163         * Shared/WebCoreArgumentCoders.cpp:
1164         (IPC::ArgumentCoder<LinearTimingFunction>::encode):
1165         (IPC::ArgumentCoder<LinearTimingFunction>::decode):
1166         (IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
1167         (IPC::ArgumentCoder<CubicBezierTimingFunction>::decode):
1168         (IPC::ArgumentCoder<StepsTimingFunction>::encode):
1169         (IPC::ArgumentCoder<StepsTimingFunction>::decode):
1170         * Shared/WebCoreArgumentCoders.h:
1171         * Shared/mac/RemoteLayerBackingStore.mm:
1172         * Shared/mac/RemoteLayerTreePropertyApplier.h:
1173         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1174         (WebKit::applyPropertiesToLayer):
1175         (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
1176         * Shared/mac/RemoteLayerTreeTransaction.h:
1177         * Shared/mac/RemoteLayerTreeTransaction.mm:
1178         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
1179         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
1180         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1181         (WebKit::dumpChangedLayers):
1182         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
1183         (WebKit::RemoteLayerTreeHost::layerID):
1184         (WebKit::RemoteLayerTreeHost::createLayer):
1185         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1186         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1187         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
1188         (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
1189         (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1190         * UIProcess/mac/RemoteLayerTreeHost.h:
1191         (WebKit::RemoteLayerTreeHost::animationDelegates):
1192         * UIProcess/mac/RemoteLayerTreeHost.mm:
1193         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
1194         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1195         (WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
1196         (WebKit::RemoteLayerTreeHost::animationDidStart):
1197         (WebKit::RemoteLayerTreeHost::layerID):
1198         (WebKit::RemoteLayerTreeHost::createLayer):
1199         * WebKit2.xcodeproj/project.pbxproj:
1200         * WebProcess/WebPage/DrawingArea.h:
1201         (WebKit::DrawingArea::acceleratedAnimationDidStart):
1202         * WebProcess/WebPage/DrawingArea.messages.in:
1203         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
1204         (WebKit::GraphicsLayerCARemote::createPlatformCAAnimation):
1205         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1206         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: Added.
1207         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: Added.
1208         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1209         (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
1210         (WebKit::PlatformCALayerRemote::animationStarted):
1211         (WebKit::PlatformCALayerRemote::addAnimationForKey):
1212         (WebKit::PlatformCALayerRemote::removeAnimationForKey):
1213         (WebKit::PlatformCALayerRemote::animationForKey):
1214         (PlatformCALayerRemote::recursiveBuildTransaction): Deleted.
1215         (PlatformCALayerRemote::addAnimationForKey): Deleted.
1216         (PlatformCALayerRemote::removeAnimationForKey): Deleted.
1217         (PlatformCALayerRemote::animationForKey): Deleted.
1218         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1219         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1220         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1221         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1222         (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
1223         (WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
1224         (WebKit::RemoteLayerTreeContext::animationDidStart):
1225         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1226         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1227         (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):
1228         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1229         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
1230
1231 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1232
1233         Double-buffer RemoteLayerBackingStore
1234         https://bugs.webkit.org/show_bug.cgi?id=130990
1235
1236         Reviewed by Simon Fraser.
1237
1238         We'll keep a front and back buffer for each surface; the front is generally currently
1239         being displayed in the UI process, and the back is the one we'll paint into.
1240
1241         Swap the two surfaces each time we paint; since we synchronize with the UI process,
1242         the old front surface will generally be out-of-use by the render server by the time
1243         we paint again. However, since render server commits are asynchronous and we have 
1244         no way to syncronize with them yet, we have to check if the (swapped to front) back buffer is in use,
1245         and create a new front buffer if it is.
1246
1247         Triple-buffering would solve this problem, as would synchronization with the render server,
1248         as would a pool of surfaces - we will revisit these solutions in future patches.
1249
1250         * Shared/mac/RemoteLayerBackingStore.h:
1251         * Shared/mac/RemoteLayerBackingStore.mm:
1252         (RemoteLayerBackingStore::ensureBackingStore):
1253         (RemoteLayerBackingStore::clearBackingStore):
1254         Factor clearBackingStore() out of ensureBackingStore() and display().
1255
1256         (RemoteLayerBackingStore::display):
1257         Swap buffers. Since m_backSurface will hold on to the back surface's CGContext,
1258         we don't need to worry about tearing down the image first anymore.
1259         Don't worry about creating a back image (nor copying it into the front image)
1260         if we're going to paint the whole layer.
1261
1262         (RemoteLayerBackingStore::drawInContext):
1263         Fix some names.
1264
1265         (RemoteLayerBackingStore::applyBackingStoreToLayer):
1266         Reduce duplication.
1267
1268         (RemoteLayerBackingStore::createImageForFrontBuffer): Deleted.
1269
1270 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1271
1272         Synchronize Web process remote layer tree commits with CoreAnimation commits in the UI process
1273         https://bugs.webkit.org/show_bug.cgi?id=130984
1274
1275         Reviewed by Simon Fraser.
1276
1277         There's no reason for the Web process to paint faster than the UI process
1278         can apply to and commit the CoreAnimation layer tree.
1279
1280         Also, once we get proper double-buffering and purgeable back buffers, we
1281         will need the ability to make some assumptions about in-use surfaces.
1282
1283         Unfortunately, we can't actually tell when the render server commits, 
1284         as this is an asynchronous operation in a process we don't control, so
1285         for now, this is only an approximation.
1286
1287         This also means that the assumptions we would like to make won't be
1288         strong guarantees yet.
1289
1290         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1291         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1292         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
1293         When we commit, install a run loop observer to fire immediately after CoreAnimation commits.
1294
1295         (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1296         Fix a typo ('cmponents').
1297
1298         (WebKit::coreAnimationDidCommitLayersCallback):
1299         (WebKit::RemoteLayerTreeDrawingAreaProxy::scheduleCoreAnimationLayerCommitObserver):
1300         (WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers):
1301         When CA commits, send a message to the Web process letting it know that we
1302         swapped to the new backing store.
1303
1304         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1305         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1306         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1307         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1308         (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
1309         Defer remote layer tree commits until we get didUpdate() from the UI process.
1310
1311 2014-03-31  Dean Jackson  <dino@apple.com>
1312
1313         Remove WEB_ANIMATIONS
1314         https://bugs.webkit.org/show_bug.cgi?id=130989
1315
1316         Reviewed by Simon Fraser.
1317
1318         Remove this feature flag until we plan to implement.
1319
1320         * Configurations/FeatureDefines.xcconfig:
1321
1322 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1323
1324         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
1325         https://bugs.webkit.org/show_bug.cgi?id=130976
1326
1327         Reviewed by Tim Horton.
1328         
1329         When an accelerated overflow:scroll is scrolled in the UI process,
1330         tell the WebProcess that the scroll happened to update RenderLayer
1331         state and fire events.
1332         
1333         Add a WKOverflowScrollViewDelegate which is set as the delegate of
1334         UIScrollViews, owned by ScrollingTreeOverflowScrollingNodeIOS, and propagates
1335         -scrollViewDidScroll: messages to ScrollingTree::scrollPositionChangedViaDelegatedScrolling(),
1336         which updates child layers and then, via RemoteScrollingTree::scrollingTreeNodeDidScroll,
1337         tells the RemoteScrollingCoordinator which sends a message to the WebProcess.
1338         
1339         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1340         (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll): Name change
1341         to try to reduce confusion.
1342         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged): Deleted.
1343         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1344         * UIProcess/Scrolling/RemoteScrollingTree.cpp:
1345         (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
1346         * UIProcess/Scrolling/RemoteScrollingTree.h:
1347         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
1348         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1349         (-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:WebKit::]):
1350         (-[WKOverflowScrollViewDelegate scrollViewDidScroll:]):
1351         (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
1352         (-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
1353         (-[WKOverflowScrollViewDelegate scrollViewDidEndScrollingAnimation:]):
1354         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
1355         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
1356         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
1357         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):
1358         * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
1359         (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode): No need for
1360         rounding.
1361
1362 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
1363
1364         Fix scrolling on OS X with UI-side compositing
1365         https://bugs.webkit.org/show_bug.cgi?id=130930
1366
1367         Reviewed by Tim Horton.
1368         
1369         On iOS, we rely on visible rect updates to propagate scroll offset
1370         changes to the WebProcess. RemoteScrollingCoordinatorProxy was thus hardcoded
1371         to bail from scrollPositionChanged() when the scrolled node was the root node,
1372         but this broke OS X. Fix by adding a behavior flag to RemoteScrollingCoordinatorProxy.
1373
1374         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1375         (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
1376         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
1377         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1378         (WebKit::RemoteScrollingCoordinatorProxy::setPropagatesMainFrameScrolls):
1379         (WebKit::RemoteScrollingCoordinatorProxy::propagatesMainFrameScrolls):
1380         * UIProcess/WebPageProxy.cpp:
1381         (WebKit::WebPageProxy::initializeWebPage):
1382
1383 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1384
1385         [iOS WebKit2] Disable tile cohort retention for now
1386         https://bugs.webkit.org/show_bug.cgi?id=130926
1387         <rdar://problem/16465413>
1388
1389         Reviewed by Simon Fraser.
1390
1391         * Shared/WebPreferencesStore.h:
1392         * WebProcess/WebPage/WebPage.cpp:
1393         (WebKit::WebPage::updatePreferences):
1394         Add a preference for temporary tile cohort retention (essentially, provide a setting
1395         that means that we will never retain tiles at all once they leave the tile coverage rect).
1396         Defaults to true to maintain existing behavior, except for iOS WebKit2, where
1397         it defaults to false because we don't have the requisite support for purgeable tiles yet.
1398
1399         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1400         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
1401         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1402
1403 2014-03-31  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1404
1405         Buildfix after r166497.
1406
1407         Reviewed by Csaba Osztrogonác.
1408
1409         * UIProcess/API/efl/ewk_context.h: Missing EAPI added.
1410
1411 2014-03-31  Martin Robinson  <mrobinson@igalia.com>
1412
1413         [GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
1414         https://bugs.webkit.org/show_bug.cgi?id=130936
1415
1416         Reviewed by Carlos Garcia Campos.
1417
1418         * UIProcess/API/gtk/WebKitVersion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.
1419
1420 2014-03-31  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1421
1422         [EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
1423         https://bugs.webkit.org/show_bug.cgi?id=129740
1424
1425         Reviewed by Gyuyoung Kim.
1426
1427         * PlatformEfl.cmake:
1428         Added the new SSL test.
1429
1430         * UIProcess/API/efl/ewk_context.cpp:
1431         (EwkContext::ignoreTLSErrors):
1432         (EwkContext::setIgnoreTLSErrors):
1433         (ewk_context_ignore_tls_errors_get):
1434         (ewk_context_ignore_tls_errors_set):
1435         * UIProcess/API/efl/ewk_context.h:
1436         * UIProcess/API/efl/ewk_context_private.h:
1437         Added the API functions.
1438
1439         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
1440         (EWK2UnitTestServer::EWK2UnitTestServer):
1441         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
1442         Extended the unit test server to handle TLS.
1443
1444         * UIProcess/API/efl/tests/test_ewk2_ssl.cpp:
1445         Added tests to check the TLS policy API.
1446
1447 2014-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1448
1449         Unreviewed. Fix GTK2 plugin process binary name after r166492.
1450
1451         * PlatformGTK.cmake: Fix typo.
1452
1453 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
1454
1455         Remove hostThisRegister() and hostThisValue()
1456         https://bugs.webkit.org/show_bug.cgi?id=130895
1457
1458         Reviewed by Geoffrey Garen.
1459
1460         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
1461
1462         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1463         (WebKit::callMethod):
1464
1465 2014-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1466
1467         [GTK] Add support for GTK3 plugins
1468         https://bugs.webkit.org/show_bug.cgi?id=130599
1469
1470         Reviewed by Martin Robinson.
1471
1472         We currently have a gtk2 based plugin process mainly for flash
1473         and a few other plugins that use GTK2, but many other plugins
1474         don't even use gtk at all. This patch builds a lighter plugin
1475         process based on GTK3, used by default for all the plugins expect
1476         the ones requiring GTK2. And of course the default plugin process
1477         supports GTK3 plugins.
1478
1479         * CMakeLists.txt: Add common rules to build the default plugin process.
1480         * PlatformEfl.cmake: Remove common cmake code that is now in CMakeLists.txt.
1481         * PlatformGTK.cmake: Rename WebKitPluginProcess to
1482         WebKitPluginProcess2 and add the platform specific rules to build
1483         the default plugin process.
1484         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1485         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
1486         Check if the loaded plugin module uses GTK2.
1487         (WebKit::NetscapePluginModule::getPluginInfo): Set requiresGtk2 accordingly.
1488         (WebKit::NetscapePluginModule::scanPlugin): Write "requires-gtk2"
1489         line to stdout if the plugin requires GTK2.
1490         * Shared/Plugins/PluginModuleInfo.h: Add requiresGtk2 boolean member.
1491         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1492         (WebKit::ProcessLauncher::launchProcess): Use the
1493         WebKitPluginProcess2 executable when the plugin requires GTK2.
1494         * UIProcess/Plugins/PluginProcessProxy.h: Add requiresGtk2 boolean
1495         member to RawPluginMetaData struct.
1496         * UIProcess/Plugins/gtk/PluginInfoCache.cpp: Bump the cache schema version.
1497         (WebKit::PluginInfoCache::getPluginInfo): Read also requires-gtk2
1498         key from the cache.
1499         (WebKit::PluginInfoCache::updatePluginInfo): Save also
1500         requires-gtk2 key in the cache.
1501         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1502         (WebKit::PluginProcessProxy::platformGetLaunchOptions): Add an
1503         extra initialization data parameter if the plugin requires GTK2.
1504         (WebKit::PluginProcessProxy::scanPlugin): Check if "requires-gtk2"
1505         was written to stdout.
1506
1507 2014-03-30  Andy Estes  <aestes@apple.com>
1508
1509         [Cocoa] Add an originatingWebView property to _WKDownload
1510         https://bugs.webkit.org/show_bug.cgi?id=130945
1511
1512         Reviewed by Anders Carlsson.
1513
1514         * UIProcess/API/Cocoa/WKWebView.mm:
1515         (-[WKWebView initWithFrame:configuration:]): Passed self to WKView's initializer.
1516         * UIProcess/API/Cocoa/_WKDownload.h: Declared originatingWebView as a weak, readonly property.
1517         * UIProcess/API/Cocoa/_WKDownload.mm:
1518         (-[_WKDownload originatingWebView]):
1519         (-[_WKDownload setOriginatingWebView:]):
1520         * UIProcess/API/Cocoa/_WKDownloadInternal.h: Re-declared originatingWebView as readwrite so that
1521         PageClientImpl can call setOriginatingWebView:. Removed some dead code.
1522         * UIProcess/API/mac/WKView.mm:
1523         (-[WKView initWithFrame:context:configuration:webView:]): Updated to accept a webView parameter.
1524         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Passed nil for the webView parameter.
1525         * UIProcess/API/mac/WKViewInternal.h:
1526         * UIProcess/Cocoa/DownloadClient.mm:
1527         (WebKit::DownloadClient::decideDestinationWithSuggestedFilename): Ensured allowOverwrite is initialized.
1528         * UIProcess/PageClient.h: Included handleDownloadRequest() on all platforms.
1529         * UIProcess/WebPageProxy.cpp:
1530         (WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
1531         (WebKit::WebPageProxy::handleDownloadRequest): Ditto.
1532         * UIProcess/WebPageProxy.h: Ditto.
1533         * UIProcess/ios/PageClientImplIOS.h:
1534         * UIProcess/ios/PageClientImplIOS.mm:
1535         (WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].
1536         * UIProcess/mac/PageClientImpl.h: Added a m_webView member variable.
1537         * UIProcess/mac/PageClientImpl.mm:
1538         (WebKit::PageClientImpl::PageClientImpl): Asserted that m_webView is nil if WK API isn't enabled.
1539         (WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].
1540
1541 2014-03-29  Commit Queue  <commit-queue@webkit.org>
1542
1543         Unreviewed, rolling out r166434.
1544         https://bugs.webkit.org/show_bug.cgi?id=130938
1545
1546         Caused crashes and other failures on cache tests (Requested by
1547         ap on #webkit).
1548
1549         Reverted changeset:
1550
1551         "Web Replay: add page-level setting to bypass the MemoryCache"
1552         https://bugs.webkit.org/show_bug.cgi?id=130728
1553         http://trac.webkit.org/changeset/166434
1554
1555 2014-03-28  Anders Carlsson  <andersca@apple.com>
1556
1557         Uncaught NSExceptions should crash the web process
1558         https://bugs.webkit.org/show_bug.cgi?id=130923
1559         <rdar://problem/16463751>
1560
1561         Reviewed by Dan Bernstein.
1562
1563         * WebProcess/cocoa/WebProcessCocoa.mm:
1564         (WebKit::WebProcess::platformInitializeWebProcess):
1565
1566 2014-03-28  Csaba Osztrogonác  <ossy@webkit.org>
1567
1568         Unreviewed buildfix after r166441 and r166443.
1569
1570         Missing PLATFORM(COCOA) guards added.
1571
1572         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1573         (WebKit::NPRuntimeObjectMap::evaluate):
1574         * WebProcess/Plugins/PluginProxy.cpp:
1575         * WebProcess/Plugins/PluginProxy.h:
1576
1577 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1578
1579         Don't prevent AppSleep from sync messages.
1580         https://bugs.webkit.org/show_bug.cgi?id=130747.
1581
1582         Reviewed by Anders Carlsson.
1583
1584         We think sync messages only need to happen full throttle when the plugin is visible,
1585         the user is interacting with the plugin, or audio is playing.  Since we already
1586         take assertions for all these cases the assertion in sync messages doesn’t provide
1587         any value.  Since it can keep the PluginProcess awake in other instances remove it.
1588
1589         * PluginProcess/WebProcessConnection.cpp:
1590         (WebKit::WebProcessConnection::didReceiveSyncMessage):
1591
1592 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1593
1594         Stop waking up the web process in the background because of plugin activity.
1595         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
1596
1597         Reviewed by Anders Carlsson.
1598
1599         Plugin activity in the background can constantly wake up web processes.  This is only
1600         necessary when audio is playing to support web apps like Pandora and youtube playing 
1601         in the background.  Use a new api in CoreAudio to see if there is audio playing in
1602         the PluginProcess.
1603
1604         * PluginProcess/PluginProcess.cpp:
1605         (WebKit::PluginProcess::PluginProcess): Add a AudioHardwareListener
1606         (WebKit::PluginProcess::createWebProcessConnection): tell web process current state
1607         (WebKit::PluginProcess::audioHardwareDidBecomeActive): respond to audio hardware notifications
1608         (WebKit::PluginProcess::audioHardwareDidBecomeInactive):
1609         * PluginProcess/PluginProcess.h:
1610         * PluginProcess/WebProcessConnection.cpp: tell WebProcess when audio state in PluginProcess
1611              changes.
1612         (WebKit::WebProcessConnection::audioHardwareDidBecomeActive):
1613         (WebKit::WebProcessConnection::audioHardwareDidBecomeInactive):
1614         * PluginProcess/WebProcessConnection.h:
1615         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1616              Only invoke pageThrottler activity when playing audio
1617         (WebKit::NPRuntimeObjectMap::evaluate):
1618         * WebProcess/Plugins/Plugin.h: add function to get audio state
1619         (WebKit::Plugin::audioIsPlayingInPluginProcess):
1620         * WebProcess/Plugins/PluginProcessConnection.cpp: store audio state
1621         (WebKit::PluginProcessConnection::PluginProcessConnection):
1622         (WebKit::PluginProcessConnection::didReceiveMessage):
1623         (WebKit::PluginProcessConnection::audioHardwareDidBecomeActive):
1624         (WebKit::PluginProcessConnection::audioHardwareDidBecomeInactive):
1625         * WebProcess/Plugins/PluginProcessConnection.h:
1626         (WebKit::PluginProcessConnection::audioIsPlaying):
1627         * WebProcess/Plugins/PluginProcessConnection.messages.in:
1628         * WebProcess/Plugins/PluginProxy.cpp:
1629         (WebKit::PluginProxy::audioIsPlayingInPluginProcess):
1630         * WebProcess/Plugins/PluginProxy.h:
1631         * WebProcess/Plugins/PluginView.cpp:
1632         (WebKit::PluginView::audioIsPlayingInPluginProcess):
1633         * WebProcess/Plugins/PluginView.h:
1634
1635 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1636
1637         Have the plugin process track visibility of it’s plugin and sleep when none
1638         are visible.
1639         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
1640         https://bugs.webkit.org/show_bug.cgi?id=130694
1641
1642         Reviewed by Anders Carlsson.
1643
1644         Currently AppSleep is enabled on the PluginProcess based on web page visibility.
1645         Add visibility tracking to plugins and move the decision to AppSleep into the the
1646         PluginProcess
1647
1648         * PluginProcess/PluginProcess.cpp:
1649         (WebKit::PluginProcess::PluginProcess): Add a new activity for visible plugins
1650         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): take an activity
1651              assertion if any web processes have a visible plugin.
1652         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): 
1653         * PluginProcess/PluginProcess.h:
1654         * PluginProcess/WebProcessConnection.cpp: 
1655         (WebKit::WebProcessConnection::removePluginControllerProxy): remove plugin from 
1656             visible plugins when destroying it
1657         (WebKit::WebProcessConnection::pluginDidBecomeVisible):
1658         (WebKit::WebProcessConnection::pluginDidBecomeHidden): track which plugins are
1659             visible for each web process
1660         * PluginProcess/WebProcessConnection.h:
1661         * PluginProcess/mac/PluginControllerProxyMac.mm:
1662         (WebKit::PluginControllerProxy::windowVisibilityChanged): notify WebProcessConnection
1663             when visibility changed.
1664         * UIProcess/WebContext.h:
1665         * UIProcess/mac/WebContextMac.mm:  instead of tracking plugin app sleep state on the web pref.
1666             and visibility state, just use the web pref.
1667         (WebKit::WebContext::updateProcessSuppressionState):
1668         (WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts):
1669
1670 2014-03-28  Brian Burg  <bburg@apple.com>
1671
1672         Web Replay: add page-level setting to bypass the MemoryCache
1673         https://bugs.webkit.org/show_bug.cgi?id=130728
1674
1675         Reviewed by Timothy Hatcher.
1676
1677         * UIProcess/APISession.cpp:
1678         (API::generateID): update the base ID for generating unique sessions.
1679
1680 2014-03-28  Cody Krieger  <cjk@apple.com>
1681
1682         Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.
1683
1684         https://bugs.webkit.org/show_bug.cgi?id=130875
1685
1686         Reviewed by Anders Carlsson.
1687
1688         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
1689         Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
1690         to the WKWebProcessPlugInFormDelegatePrivate protocol.
1691
1692         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1693         Wire up the willSubmitForm() callback to the new
1694         WKWebProcessPlugInFormDelegatePrivate method.
1695
1696 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
1697
1698         [Mac] Enable async text input implementation
1699         https://bugs.webkit.org/show_bug.cgi?id=130856
1700
1701         Reviewed by Sam Weinig.
1702
1703         * UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):
1704         Temporarily work around <rdar://16393434>.
1705
1706 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
1707
1708         Move sync CancelComposition message under an ifdef
1709         https://bugs.webkit.org/show_bug.cgi?id=130908
1710
1711         Reviewed by Enrica Casucci.
1712
1713         * UIProcess/WebPageProxy.h:
1714         * UIProcess/ios/WebPageProxyIOS.mm:
1715         (WebKit::WebPageProxy::cancelComposition): Deleted.
1716         * UIProcess/mac/WebPageProxyMac.mm:
1717         * WebProcess/WebPage/WebPage.h:
1718         * WebProcess/WebPage/WebPage.messages.in:
1719         * WebProcess/WebPage/mac/WebPageMac.mm:
1720
1721 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
1722
1723         [iOS] Don't cancel composition on selection change
1724         https://bugs.webkit.org/show_bug.cgi?id=130909
1725
1726         Reviewed by Enrica Casucci.
1727
1728         Fixing a recent regression from bug 130727.
1729
1730         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
1731
1732 2014-03-28  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1733
1734         [WK2] Removed unused method logChannelByName.
1735         https://bugs.webkit.org/show_bug.cgi?id=130897
1736
1737         Reviewed by Anders Carlsson.
1738
1739         * Platform/Logging.cpp:
1740         (WebKit::logChannelByName): Deleted.
1741         * Platform/Logging.h:
1742
1743 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
1744
1745         Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
1746         https://bugs.webkit.org/show_bug.cgi?id=130727
1747
1748         Reviewed by Enrica Casucci.
1749
1750         Added a separate CompositionWasCanceled IPC call, with which WebProcess can tell
1751         UIProcess that it should notify an input method of canceled composition. There are
1752         a lot of incorrect edge cases where we don't call it correctly, but this was true
1753         in the old implementation too (for different edge cases).
1754
1755         This change only affects iOS and async NSTextInputClient code path on Mac. I don't
1756         want to change sync NSTextInputClient code path unless absolutely necessary.
1757
1758         * UIProcess/WebPageProxy.cpp:
1759         (WebKit::WebPageProxy::WebPageProxy):
1760         (WebKit::WebPageProxy::editorStateChanged):
1761         (WebKit::WebPageProxy::compositionWasCanceled):
1762         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1763         * UIProcess/WebPageProxy.h:
1764         * UIProcess/WebPageProxy.messages.in:
1765         * UIProcess/mac/WebPageProxyMac.mm:
1766         (WebKit::WebPageProxy::insertText):
1767         (WebKit::WebPageProxy::executeKeypressCommands):
1768         * WebProcess/WebPage/WebPage.cpp:
1769         (WebKit::WebPage::didChangeSelection):
1770
1771 2014-03-28  Mario Sanchez Prada  <mario.prada@samsung.com>
1772
1773         [GTK] Running minibrowser with url crashes in debug build
1774         https://bugs.webkit.org/show_bug.cgi?id=130492
1775
1776         Reviewed by Martin Robinson.
1777
1778         Use the ResourceRequest(const URL& url) constructor, instead of the
1779         one taking a String, to call WebPageProxy::loadRequest(), so we
1780         ensure that the passed URI is correctly constructed.
1781
1782         * UIProcess/API/gtk/WebKitWebView.cpp:
1783         (webkit_web_view_load_uri): Create an URL out of a SoupURI and
1784         use that to create a ResourceRequest to pass to loadRequest().
1785
1786 2014-03-27  Pratik Solanki  <psolanki@apple.com>
1787
1788         [iOS WebKit2] Tweak cache sizes for iOS
1789         https://bugs.webkit.org/show_bug.cgi?id=130871
1790
1791         Reviewed by Sam Weinig.
1792
1793         Bring over the tweaks we had made to memory cache size for WebKit1 on iOS to WebKit2. These
1794         were made per findings in <rdar://8611638>.
1795
1796         * Shared/CacheModel.cpp:
1797         (WebKit::calculateCacheSizes):
1798
1799 2014-03-27  Jinwoo Song  <jinwoo7.song@samsung.com>
1800
1801         [WK2][EFL] Fix wrong parameter name in ewk_view_user_agent_set()
1802         https://bugs.webkit.org/show_bug.cgi?id=130888
1803
1804         Reviewed by Gyuyoung Kim.
1805
1806         * UIProcess/API/efl/ewk_view.h:
1807
1808 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
1809
1810         Confirm composition in resignFirstResponder, don't cancel it
1811         https://bugs.webkit.org/show_bug.cgi?id=130852
1812
1813         Reviewed by Darin Adler.
1814
1815         * UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]):
1816
1817 2014-03-27  Pratik Solanki  <psolanki@apple.com>
1818
1819         [iOS WebKit2] Don't pass disk cache directory path on iOS
1820         https://bugs.webkit.org/show_bug.cgi?id=130862
1821
1822         Reviewed by Sam Weinig.
1823
1824         The diskPath passed to NSURLCache initializer is treated differently on Mac and iOS. Just
1825         pass nil for now until we sort out the API.
1826
1827         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1828         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1829         * WebProcess/cocoa/WebProcessCocoa.mm:
1830         (WebKit::WebProcess::platformInitializeWebProcess):
1831
1832 2014-03-27  Pratik Solanki  <psolanki@apple.com>
1833
1834         [iOS WebKit2] Share network process code between iOS and Mac
1835         https://bugs.webkit.org/show_bug.cgi?id=130861
1836
1837         Reviewed by Sam Weinig.
1838
1839         Implement network process functions for iOS by moving common code from NetworkProcessMac.mm
1840         to a new shared file NetworkProcessCocoa.mm and sharing between iOS and Mac.
1841
1842         * NetworkProcess/NetworkProcess.h:
1843         * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Added.
1844         (WebKit::NetworkProcess::platformLowMemoryHandler):
1845         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1846         Common initialization code for iOS and Mac.
1847         (WebKit::memorySize):
1848         (WebKit::volumeFreeSize):
1849         (WebKit::NetworkProcess::platformSetCacheModel):
1850         * NetworkProcess/ios/NetworkProcessIOS.mm:
1851         (WebKit::NetworkProcess::initializeProcess):
1852         Remove unnecessary #if PLATFORM(IOS).
1853         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
1854         * NetworkProcess/mac/NetworkProcessMac.mm:
1855         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
1856         * WebKit2.xcodeproj/project.pbxproj:
1857
1858 2014-03-27  Enrica Casucci  <enrica@apple.com>
1859
1860         Add support for AirPlay picker in WK2 for iOS.
1861         https://bugs.webkit.org/show_bug.cgi?id=130855
1862         <rdar://problem/15349859>
1863
1864         Reviewed by Joseph Pecoraro and Benjamin Poulain.
1865
1866         Adds support to display the airplay picker for iPhone and iPad
1867         in WK2.
1868         The picker on iPad is displayed next to the airplay button.
1869
1870         * UIProcess/PageClient.h:
1871         * UIProcess/WebPageProxy.h:
1872         * UIProcess/WebPageProxy.messages.in:
1873         * UIProcess/ios/PageClientImplIOS.h:
1874         * UIProcess/ios/PageClientImplIOS.mm:
1875         (WebKit::PageClientImpl::showAirPlayRoutePicker):
1876         * UIProcess/ios/WKContentViewInteraction.h:
1877         * UIProcess/ios/WKContentViewInteraction.mm:
1878         (-[WKContentView _showAirPlayRoutePicker:fromRect:]):
1879         * UIProcess/ios/WebPageProxyIOS.mm:
1880         (WebKit::WebPageProxy::showAirPlayRoutePicker):
1881         * UIProcess/ios/forms/WKAirPlayRoutePicker.h: Added.
1882         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Added.
1883         (-[WKAirPlayRoutePicker initWithView:]):
1884         (-[WKAirPlayRoutePicker dealloc]):
1885         (-[WKAirPlayRoutePicker popoverControllerDidDismissPopover:]):
1886         (-[WKAirPlayRoutePicker _presentAirPlayPopoverAnimated:fromRect:]):
1887         (-[WKAirPlayRoutePicker _windowWillRotate:]):
1888         (-[WKAirPlayRoutePicker _windowDidRotate:]):
1889         (-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]):
1890         (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
1891         (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
1892         (-[WKAirPlayRoutePicker show:fromRect:]):
1893         * WebKit2.xcodeproj/project.pbxproj:
1894         * WebProcess/WebCoreSupport/WebChromeClient.h:
1895         * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
1896         (WebKit::WebChromeClient::showAirPlayRoutePicker):
1897         * WebProcess/WebPage/WebPage.cpp:
1898         (WebKit::WebPage::touchEvent):
1899         (WebKit::WebPage::touchEventSyncForTesting):
1900         * WebProcess/WebPage/WebPage.h:
1901         * WebProcess/WebPage/ios/WebPageIOS.mm:
1902         (WebKit::WebPage::rectForElementAtInteractionLocation):
1903         (WebKit::WebPage::handleTap):
1904
1905 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
1906
1907         [WK2][iOS] <rdar://problem/16414684> WKWebView should draw a white background before the page loads
1908         https://bugs.webkit.org/show_bug.cgi?id=130873
1909
1910         Reviewed by Simon Fraser.
1911
1912         * UIProcess/API/Cocoa/WKWebView.mm:
1913         (-[WKWebView initWithFrame:configuration:]):
1914
1915 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
1916
1917         [iOS][WK2] Compute a good exposed rect when scaling WKContentView
1918         https://bugs.webkit.org/show_bug.cgi?id=130761
1919
1920         Reviewed by Simon Fraser.
1921
1922         Add a simple heuristic to improve tiling while zooming. In theory we could take the zoom
1923         center and scaleRate to split the speed between scrolling and pinching. In practice,
1924         zoom is transitory and is not as predictable as scrolling, so this patch just does a very
1925         simple heuristic:
1926         -When zooming in, do not expand coverage.
1927         -When zooming out, add half a tile size on every side.
1928
1929         * Shared/VisibleContentRectUpdateInfo.cpp:
1930         (WebKit::VisibleContentRectUpdateInfo::encode):
1931         (WebKit::VisibleContentRectUpdateInfo::decode):
1932         * Shared/VisibleContentRectUpdateInfo.h:
1933         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
1934         (WebKit::VisibleContentRectUpdateInfo::timestamp):
1935         (WebKit::VisibleContentRectUpdateInfo::horizontalVelocity):
1936         (WebKit::VisibleContentRectUpdateInfo::verticalVelocity):
1937         (WebKit::VisibleContentRectUpdateInfo::scaleChangeRate):
1938         * UIProcess/ios/WKContentView.mm:
1939         (WebKit::HistoricalVelocityData::VelocityData::VelocityData):
1940         (WebKit::HistoricalVelocityData::velocityForNewData):
1941         (WebKit::HistoricalVelocityData::append):
1942         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
1943         * WebProcess/WebPage/ios/WebPageIOS.mm:
1944
1945         (WebKit::adjustExposedRectForBoundedScale):
1946         When zooming past the maximum size, adjust the exposed rect to continue tiling the area
1947         at maximum size. Otherwise, we tile a tiny area, and have to retile larger when the animation
1948         pull back the view to maximum scale.
1949
1950         (WebKit::adjustVelocityDataForBoundedScale):
1951         Since we do not split the velocity from scrolling from the scaling, just clear the velocity when zooming.
1952         Also clear the scaleChangeRate when the scale is out of bounds. There is no reason to add tiles for
1953         temporary state.
1954
1955         (WebKit::WebPage::updateVisibleContentRects):
1956
1957 2014-03-27  Anders Carlsson  <andersca@apple.com>
1958
1959         Add _ prefix to WKRemoteObjectRegistery and WKRemoteObjectInterface
1960         https://bugs.webkit.org/show_bug.cgi?id=130868
1961
1962         Reviewed by Sam Weinig.
1963
1964         * Shared/API/Cocoa/RemoteObjectRegistry.h:
1965         * Shared/API/Cocoa/RemoteObjectRegistry.mm:
1966         (WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
1967         * Shared/API/Cocoa/WKRemoteObject.h:
1968         * Shared/API/Cocoa/WKRemoteObject.mm:
1969         (-[WKRemoteObject _initWithObjectRegistry:interface:]):
1970         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
1971         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
1972         (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
1973         * Shared/API/Cocoa/WKRemoteObjectInterface.h:
1974         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
1975         (isContainerClass): Deleted.
1976         (propertyListClasses): Deleted.
1977         (allowedArgumentClassesForMethod): Deleted.
1978         (initializeAllowedArgumentClasses): Deleted.
1979         (-[WKRemoteObjectInterface initWithProtocol:identifier:]): Deleted.
1980         (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]): Deleted.
1981         (-[WKRemoteObjectInterface description]): Deleted.
1982         (classesForSelectorArgument): Deleted.
1983         (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Deleted.
1984         (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Deleted.
1985         (methodArgumentTypeEncodingForSelector): Deleted.
1986         (-[WKRemoteObjectInterface _methodSignatureForSelector:]): Deleted.
1987         (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]): Deleted.
1988         * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
1989         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
1990         (-[WKRemoteObjectRegistry registerExportedObject:interface:]): Deleted.
1991         (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): Deleted.
1992         (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): Deleted.
1993         (-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]): Deleted.
1994         (-[WKRemoteObjectRegistry _invalidate]): Deleted.
1995         (-[WKRemoteObjectRegistry _sendInvocation:interface:]): Deleted.
1996         (-[WKRemoteObjectRegistry WebKit::]): Deleted.
1997         (-[WKRemoteObjectRegistry _invokeMethod:]): Deleted.
1998         (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
1999         * Shared/API/Cocoa/_WKRemoteObjectInterface.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.h.
2000         * Shared/API/Cocoa/_WKRemoteObjectInterface.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm.
2001         (isContainerClass):
2002         (propertyListClasses):
2003         (allowedArgumentClassesForMethod):
2004         (initializeAllowedArgumentClasses):
2005         (-[_WKRemoteObjectInterface initWithProtocol:identifier:]):
2006         (+[_WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
2007         (-[_WKRemoteObjectInterface description]):
2008         (classesForSelectorArgument):
2009         (-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
2010         (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):
2011         (methodArgumentTypeEncodingForSelector):
2012         (-[_WKRemoteObjectInterface _methodSignatureForSelector:]):
2013         (-[_WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
2014         * Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h.
2015         * Shared/API/Cocoa/_WKRemoteObjectRegistry.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.h.
2016         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm.
2017         (-[_WKRemoteObjectRegistry registerExportedObject:interface:]):
2018         (-[_WKRemoteObjectRegistry unregisterExportedObject:interface:]):
2019         (-[_WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
2020         (-[_WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
2021         (-[_WKRemoteObjectRegistry _invalidate]):
2022         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
2023         (-[_WKRemoteObjectRegistry WebKit::]):
2024         (-[_WKRemoteObjectRegistry _invokeMethod:]):
2025         (-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
2026         * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h.
2027         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2028         (-[WKBrowsingContextController _remoteObjectRegistry]):
2029         (-[WKBrowsingContextController remoteObjectRegistry]): Deleted.
2030         * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
2031         * UIProcess/API/Cocoa/WKWebView.mm:
2032         (-[WKWebView _remoteObjectRegistry]):
2033         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2034         * WebKit2.xcodeproj/project.pbxproj:
2035         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInBrowserContextControllerToBeRemoved.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h.
2036         (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):
2037         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2038         (-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):
2039         (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]): Deleted.
2040         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2041
2042 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2043
2044         Unreviewed, rolling out r166360.
2045         https://bugs.webkit.org/show_bug.cgi?id=130869
2046
2047         Seems to have broken PLT (Requested by ap on #webkit).
2048
2049         Reverted changeset:
2050
2051         "Connection::dispatchOneMessage() can be re-entered while
2052         handling Cmd-key menu"
2053         https://bugs.webkit.org/show_bug.cgi?id=130767
2054         http://trac.webkit.org/changeset/166360
2055
2056 2014-03-27  Sam Weinig  <sam@webkit.org>
2057
2058         Support dynamic layer hosting context changes
2059         <rdar://problem/16278019>
2060         https://bugs.webkit.org/show_bug.cgi?id=130863
2061
2062         Reviewed by Anders Carlsson.
2063
2064         * UIProcess/API/mac/WKView.mm:
2065         (-[WKView addWindowObserversForWindow:]):
2066         (-[WKView removeWindowObservers]):
2067         (-[WKView _windowDidChangeLayerHosting:]):
2068         * UIProcess/WebPageProxy.cpp:
2069         (WebKit::WebPageProxy::layerHostingModeDidChange):
2070         * UIProcess/WebPageProxy.h:
2071
2072 2014-03-27  Simon Fraser  <simon.fraser@apple.com>
2073
2074         Don't leak the WKBrowsingContextController
2075         https://bugs.webkit.org/show_bug.cgi?id=130815
2076
2077         Reviewed by Tim Horton.
2078         
2079         Use adoptNS to avoid leaking the WKBrowsingContextController.
2080
2081         * UIProcess/ios/WKContentView.mm:
2082         (-[WKContentView browsingContextController]):
2083
2084 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2085
2086         Web Inspector: Give WebProcess a proxy application entitlement
2087         https://bugs.webkit.org/show_bug.cgi?id=130806
2088
2089         Reviewed by Timothy Hatcher.
2090
2091         * Configurations/WebContent-iOS.entitlements:
2092
2093 2014-03-27  Anders Carlsson  <andersca@apple.com>
2094
2095         Add reload and reloadFromOrigin as API
2096         https://bugs.webkit.org/show_bug.cgi?id=130858
2097
2098         Reviewed by Simon Fraser.
2099
2100         * UIProcess/API/Cocoa/WKWebView.h:
2101         * UIProcess/API/Cocoa/WKWebView.mm:
2102         (-[WKWebView reload]):
2103         (-[WKWebView reloadFromOrigin]):
2104         (-[WKWebView validateUserInterfaceItem:]):
2105         (-[WKWebView reload:]):
2106         (-[WKWebView reloadFromOrigin:]):
2107
2108 2014-03-27  Anders Carlsson  <andersca@apple.com>
2109
2110         Rename WKFrameHandle to _WKFrameHandle
2111         https://bugs.webkit.org/show_bug.cgi?id=130847
2112
2113         Reviewed by Tim Horton.
2114
2115         * Shared/API/Cocoa/_WKFrameHandle.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.h.
2116         * Shared/API/Cocoa/_WKFrameHandle.mm: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.mm.
2117         (-[_WKFrameHandle dealloc]):
2118         (-[_WKFrameHandle isEqual:]):
2119         (-[_WKFrameHandle hash]):
2120         (-[_WKFrameHandle _frameID]):
2121         (-[_WKFrameHandle copyWithZone:]):
2122         (+[_WKFrameHandle supportsSecureCoding]):
2123         (-[_WKFrameHandle initWithCoder:]):
2124         (-[_WKFrameHandle encodeWithCoder:]):
2125         (-[_WKFrameHandle API::]):
2126         * Shared/API/Cocoa/_WKFrameHandleInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandleInternal.h.
2127         (WebKit::wrapper):
2128         * Shared/Cocoa/APIObject.mm:
2129         (API::Object::newObject):
2130         * WebKit2.xcodeproj/project.pbxproj:
2131         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
2132         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
2133         (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]):
2134         (-[WKWebProcessPlugInFrame handle]):
2135         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
2136
2137 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
2138
2139         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
2140         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
2141         https://bugs.webkit.org/show_bug.cgi?id=130767
2142         <rdar://problem/16307487>
2143
2144         Reviewed by Darin Adler.
2145
2146         * Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode
2147         to RunLoop event source and timer modes.
2148
2149 2014-03-27  Jae Hyun Park  <jaepark@webkit.org>
2150
2151         Remove LayerTreeContextCairo.cpp
2152         https://bugs.webkit.org/show_bug.cgi?id=130807
2153
2154         Reviewed by Martin Robinson.
2155
2156         * Shared/cairo/LayerTreeContextCairo.cpp: Removed.
2157
2158 2014-03-27  Maciej Florek  <m.florek@samsung.com>
2159
2160         [EFL][WK2] Add tests of the set process model API
2161         https://bugs.webkit.org/show_bug.cgi?id=130830
2162
2163         Reviewed by Gyuyoung Kim.
2164
2165         Implement unit tests to check, if process model API works
2166         properly. When process model is set to EWK_PROCESS_MODEL_SHARED_SECONDARY,
2167         there should be only one WebProcess. In case of EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
2168         setting, each WebView should have own process, as well as the network process
2169         should exist.
2170
2171         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2172         (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
2173         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
2174         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2175         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2176         (EWK2ContextTestMultipleProcesses::EWK2ContextTestMultipleProcesses):
2177         (TEST_F):
2178
2179 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2180
2181         Unreviewed, rolling out r166296 and r166331.
2182         https://bugs.webkit.org/show_bug.cgi?id=130822
2183
2184         caused some crashes and frequent assertion failures, and the
2185         fix is going to take a little while (Requested by thorton on
2186         #webkit).
2187
2188         Reverted changesets:
2189
2190         "[iOS WebKit2] Flush all surfaces after painting into all of
2191         them, instead of after painting into each one"
2192         https://bugs.webkit.org/show_bug.cgi?id=130768
2193         http://trac.webkit.org/changeset/166296
2194
2195         "Assertion failure in RemoteLayerBackingStore::flush"
2196         https://bugs.webkit.org/show_bug.cgi?id=130810
2197         http://trac.webkit.org/changeset/166331
2198
2199 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2200
2201         Blind speculative iOS build fix.
2202
2203         * WebProcess/WebPage/ios/WebPageIOS.mm:
2204         (WebKit::WebPage::viewportConfigurationChanged):
2205
2206 2014-03-26  Benjamin Poulain  <bpoulain@apple.com>
2207
2208         [iOS][WK2] <rdar://problem/16265272> REGRESSION (WebKit2): Some pages appear blank until you scroll
2209         https://bugs.webkit.org/show_bug.cgi?id=130819
2210
2211         Reviewed by Tim Horton.
2212
2213         When loading a new page, we never define the unobscured rect and exposed rect on the new frame.
2214         As a result, there is nothing to render.
2215
2216         It uses to work thanks to dumb luck and a bug in Safari updating the visibleContentRects from
2217         the UIProcess. Now that the bug is gone, "dumb luck" is not reliable enough to get the content rects :)
2218
2219         What this patch does is save if we have ever received new rects from the UI. If we have not, create them
2220         based on the minimum layout size. This works because we know Safari shows the minimum layout size by default
2221         and will tell us if it changes the obscured rects.
2222
2223         * WebProcess/WebPage/WebPage.cpp:
2224         (WebKit::WebPage::WebPage):
2225         (WebKit::WebPage::didCommitLoad):
2226         * WebProcess/WebPage/WebPage.h:
2227         * WebProcess/WebPage/ios/WebPageIOS.mm:
2228         (WebKit::WebPage::viewportConfigurationChanged):
2229         (WebKit::WebPage::updateVisibleContentRects):
2230
2231 2014-03-26  Anders Carlsson  <andersca@apple.com>
2232
2233         Add a _WKScriptWorld class
2234         https://bugs.webkit.org/show_bug.cgi?id=130817
2235
2236         Reviewed by Dan Bernstein.
2237
2238         * UIProcess/API/Cocoa/_WKScriptWorld.h: Added.
2239         * UIProcess/API/Cocoa/_WKScriptWorld.mm: Added.
2240         (generateWorldID):
2241         (+[_WKScriptWorld defaultWorld]):
2242         (-[_WKScriptWorld init]):
2243         (-[_WKScriptWorld _initWithWorldID:]):
2244         * WebKit2.xcodeproj/project.pbxproj:
2245
2246 2014-03-26  Anders Carlsson  <andersca@apple.com>
2247
2248         Rename a delegate method to -webView:didFinishNavigation:
2249         https://bugs.webkit.org/show_bug.cgi?id=130814
2250
2251         Reviewed by Sam Weinig.
2252
2253         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
2254         * UIProcess/Cocoa/NavigationState.h:
2255         * UIProcess/Cocoa/NavigationState.mm:
2256         (WebKit::NavigationState::setNavigationDelegate):
2257         (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
2258
2259 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2260
2261         [iOS WebKit2] Crashes on swipe
2262         <rdar://problem/16440867>
2263
2264         Reviewed by Benjamin Poulain.
2265
2266         * UIProcess/ios/ViewGestureControllerIOS.mm:
2267         (WebKit::ViewGestureController::beginSwipeGesture):
2268         Get the IOSurfaceRef from the WebCore::IOSurface.
2269
2270 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2271
2272         Fix the build: include UIKit headers inside the iOS #ifdef.
2273
2274         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2275
2276 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2277
2278         Hook up -webkit-overflow-scrolling:touch for iOS WK2
2279         https://bugs.webkit.org/show_bug.cgi?id=130809
2280
2281         Reviewed by Tim Horton.
2282
2283         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
2284         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2285         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
2286         Set the content size of the UIScrollVIew based on the geometry.
2287         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
2288         (WebKit::RemoteLayerTreeHost::createLayer): Make a UIScrollView if the
2289         layer properties tell us that we have the scrolling behavior.
2290         * UIProcess/ios/WKContentView.mm:
2291         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
2292         We need to allow user interaction in the _rootContentView so that events get to
2293         nested UIScrollViews (this could be optimized in future).
2294         * UIProcess/mac/RemoteLayerTreeHost.h:
2295         * UIProcess/mac/RemoteLayerTreeHost.mm:
2296         (WebKit::RemoteLayerTreeHost::updateLayerTree):
2297         (WebKit::RemoteLayerTreeHost::createLayer): Need to pass RemoteLayerTreeTransaction::LayerProperties
2298         in so we can get at the custom behavior.
2299
2300 2014-03-26  Anders Carlsson  <andersca@apple.com>
2301
2302         Add -[WKWebView stopLoading]
2303         https://bugs.webkit.org/show_bug.cgi?id=130812
2304
2305         Reviewed by Tim Horton.
2306
2307         * UIProcess/API/Cocoa/WKWebView.h:
2308         * UIProcess/API/Cocoa/WKWebView.mm:
2309         (-[WKWebView stopLoading]):
2310
2311 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2312
2313         Assertion failure in RemoteLayerBackingStore::flush
2314         https://bugs.webkit.org/show_bug.cgi?id=130810
2315         <rdar://problem/16439276>
2316
2317         Reviewed by Simon Fraser.
2318
2319         * Shared/mac/RemoteLayerBackingStore.mm:
2320         (RemoteLayerBackingStore::flush):
2321         We don't always have backing store to flush, if platformCALayerDrawsContent() is false.
2322         We also can't assert that we have a back surface, because the very first paint will not.
2323
2324 2014-03-26  Andy Estes  <aestes@apple.com>
2325
2326         [Cocoa] Expose DownloadClient::didFail() and DownloadClient::didCancel()
2327         https://bugs.webkit.org/show_bug.cgi?id=130805
2328
2329         Reviewed by Dan Bernstein.
2330
2331         * UIProcess/API/Cocoa/_WKDownloadDelegate.h:
2332         * UIProcess/Cocoa/DownloadClient.h:
2333         * UIProcess/Cocoa/DownloadClient.mm:
2334         (WebKit::DownloadClient::DownloadClient):
2335         (WebKit::DownloadClient::didFail):
2336         (WebKit::DownloadClient::didCancel):
2337
2338 2014-03-26  Cody Krieger  <cjk@apple.com>
2339
2340         -[WKWebProcessPlugInNodeHandle HTMLInputElementIsUserEdited] and -HTMLTextAreaElementIsUserEdited do not return the correct values.
2341
2342         https://bugs.webkit.org/show_bug.cgi?id=130804
2343
2344         Reviewed by Dan Bernstein.
2345
2346         The existing implementations of these methods are mis-cased
2347         ("HTMLInputELementIsUserEdited" and "HTMLTextAreaELementIsUserEdited" —
2348         note the "EL" in both cases). This results in us getting
2349         auto-synthesized getters for the HTMLInputElementIsUserEdited and
2350         HTMLTextAreaElementIsUserEdited properties, which will return NO
2351         unconditionally.
2352
2353         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2354         Fix the capitalization of -HTMLInputElementIsUserEdited and
2355         -HTMLTextAreaElementIsUserEdited.
2356
2357 2014-03-26  Andy Estes  <aestes@apple.com>
2358
2359         [Cocoa] Expose DownloadProxy::cancel()
2360         https://bugs.webkit.org/show_bug.cgi?id=130799
2361
2362         Reviewed by Dan Bernstein.
2363
2364         * UIProcess/API/Cocoa/_WKDownload.h:
2365         * UIProcess/API/Cocoa/_WKDownload.mm:
2366         (-[_WKDownload cancel]):
2367
2368 2014-03-26  Timothy Hatcher  <timothy@apple.com>
2369
2370         Propagate the hiddenFromInspector flag on ResourceRequest in
2371         places when a new request a made or passed between processes.
2372
2373         https://bugs.webkit.org/show_bug.cgi?id=130741
2374
2375         Reviewed by Joseph Pecoraro.
2376
2377         * NetworkProcess/NetworkResourceLoader.cpp:
2378         (WebKit::NetworkResourceLoader::continueWillSendRequest): Use updateFromDelegatePreservingOldProperties.
2379         * Shared/WebCoreArgumentCoders.cpp:
2380         (IPC::ArgumentCoder<ResourceRequest>::encode): Added hiddenFromInspector support.
2381         (IPC::ArgumentCoder<ResourceRequest>::decode): Ditto.
2382         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
2383         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): Ditto.
2384
2385 2014-03-26  Andy Estes  <aestes@apple.com>
2386
2387         [Cocoa] Expose DownloadProxy::request()
2388         https://bugs.webkit.org/show_bug.cgi?id=130796
2389
2390         Reviewed by Anders Carlsson.
2391
2392         * UIProcess/API/Cocoa/_WKDownload.h:
2393         * UIProcess/API/Cocoa/_WKDownload.mm:
2394         (-[_WKDownload request]):
2395
2396 2014-03-26  Anders Carlsson  <andersca@apple.com>
2397
2398         Pass a real FrameLoadRequest to Chrome::createWindow
2399         https://bugs.webkit.org/show_bug.cgi?id=130795
2400
2401         Reviewed by Dan Bernstein.
2402
2403         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2404         (WebKit::WebFrameLoaderClient::dispatchCreatePage):
2405
2406 2014-03-26  Jeremy Jones  <jeremyj@apple.com>
2407
2408         Implement hasLiveStreamingContent property in WebAVPlayerController
2409         https://bugs.webkit.org/show_bug.cgi?id=128684
2410
2411         Reviewed by Simon Fraser.
2412
2413         Plumb through the seekable ranges to the fullscreen interface.
2414
2415         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
2416         Add declaration for setSeekableRangesVector()
2417
2418         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
2419         Add interface SetSeekableRangesVector()
2420
2421         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2422         (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
2423         Add setSeekableRangesVector that translates the vector into a TimeRanges and calls setSeekableRanges()
2424
2425         * WebProcess/ios/WebVideoFullscreenManager.h:
2426         Add setSeekableRanges()
2427
2428         * WebProcess/ios/WebVideoFullscreenManager.mm:
2429         (WebKit::WebVideoFullscreenManager::setSeekableRanges):
2430         setSeekableRanges() converts TimeRanges to Vector and calls SetSeekableRangesVector()
2431
2432 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2433
2434         Add a custom behavior flag to GraphicsLayer, piped down to PlatformCALayer, for scrolling layers
2435         https://bugs.webkit.org/show_bug.cgi?id=130778
2436
2437         Reviewed by Tim Horton.
2438
2439         Make it possible to put a "custom behavior" flag on a layer so that,
2440         with UI-side compositing, we know to create a specific type of
2441         layer or view for that GraphicsLayer.
2442
2443         * Shared/mac/RemoteLayerTreeTransaction.h:
2444         * Shared/mac/RemoteLayerTreeTransaction.mm:
2445         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
2446         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
2447         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
2448         (WebKit::dumpChangedLayers):
2449         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2450         (PlatformCALayerRemote::customBehavior):
2451         (PlatformCALayerRemote::updateCustomBehavior):
2452         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
2453
2454 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
2455
2456         [CSS Shapes] Remove shape-inside support
2457         https://bugs.webkit.org/show_bug.cgi?id=130698
2458
2459         Reviewed by David Hyatt.
2460
2461         * Configurations/FeatureDefines.xcconfig:
2462
2463 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2464
2465         [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
2466         https://bugs.webkit.org/show_bug.cgi?id=130768
2467         <rdar://problem/16421471>
2468
2469         Reviewed by Simon Fraser.
2470
2471         * Shared/mac/RemoteLayerBackingStore.h:
2472         Add flush(), which synchronously flushes painting operations on the underlying backing store.
2473         Factor clearBackingStore() out of ensureBackingStore/display, which releases our reference to underlying backing store.
2474         Add two members for storing the back surface and front buffer context until flush() is called.
2475                 - We need to keep the back surface alive because the CGImageRef created from it is referenced by
2476                 the front surface's drawing queue, and won't be freed until said queue is flushed. If we release
2477                 the back surface (and its associated CGContextRef) *before* the CGImageRef is freed, we will
2478                 do an expensive readback of the surface.
2479                 - When not using accelerated drawing, we need to keep the front buffer's CGContextRef around
2480                 until the flush occurs so that we can avoid re-creating it in order to perform the flush. This
2481                 happens automatically in the accelerated drawing case via WebCore::IOSurface.
2482
2483         * Shared/mac/RemoteLayerBackingStore.mm:
2484         (RemoteLayerBackingStore::ensureBackingStore):
2485         (RemoteLayerBackingStore::clearBackingStore):
2486         (RemoteLayerBackingStore::display):
2487         Factor clearBackingStore() out of ensureBackingStore() and display().
2488         Update a comment about the above performance gotcha.
2489         Store the current back surface/front buffer context.
2490
2491         (RemoteLayerBackingStore::drawInContext):
2492         Don't flush the context immediately after painting.
2493
2494         (RemoteLayerBackingStore::applyBackingStoreToLayer):
2495         Move things around to reduce duplicated code.
2496
2497         (RemoteLayerBackingStore::flush):
2498         Flush the current front surface/buffer's context.
2499         Clear the new pending-flush members.
2500
2501         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2502         (WebKit::flushBackingStoreChangesInTransaction):
2503         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
2504         Crawl through all of the valid changed backing stores in the transaction and flush them.
2505         Remove a completely useless assertion.
2506
2507 2014-03-25  Simon Fraser  <simon.fraser@apple.com>
2508
2509         Add a new type of scrolling tree node for overflow scrolling
2510         https://bugs.webkit.org/show_bug.cgi?id=130763
2511
2512         Reviewed by Tim Horton.
2513
2514         Prepare for overflow scrolling via the scrolling tree by adding
2515         a new scrolling node type for overflow:scroll nodes. Mostly
2516         this is a new ScrollingNodeType that gets mapped to the same
2517         scrolling state nodes and scrolling nodes, but iOS creates
2518         state and scrolling nodes specific to overflow:scroll.
2519         
2520         Change the type checking on nodes to use virtual functions instead
2521         of just checking the node type, to allow the macros to work with
2522         the new scrolling node type.
2523
2524         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
2525         (WebKit::encodeNodeAndDescendants):
2526         (WebKit::RemoteScrollingCoordinatorTransaction::decode):
2527         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2528         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
2529         * UIProcess/Scrolling/RemoteScrollingTree.cpp:
2530         (WebKit::RemoteScrollingTree::createNode):
2531         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h.
2532         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h.
2533         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::create):
2534         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
2535         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
2536         * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
2537         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
2538         * WebKit2.xcodeproj/project.pbxproj:
2539
2540 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
2541
2542         Unreviewed. Removing the remaining Automake cruft.
2543
2544         * GNUmakefile.list.am: Removed.
2545
2546 2014-03-25  Pratik Solanki  <psolanki@apple.com>
2547
2548         Remove PLATFORM(IOS) from NetworkProcessMac.mm
2549         https://bugs.webkit.org/show_bug.cgi?id=130751
2550
2551         Reviewed by Alexey Proskuryakov.
2552
2553         Code in NetworkProcessMac.mm is guarded by PLATFORM(MAC) and so is not compiled on iOS.
2554         Having PLATFORM(IOS) code in this file is unnecessary and confusing.
2555
2556         * NetworkProcess/mac/NetworkProcessMac.mm:
2557         (WebKit::NetworkProcess::initializeProcessName):
2558         (WebKit::overrideSystemProxies):
2559         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2560
2561 2014-03-25  Anders Carlsson  <andersca@apple.com>
2562
2563         Add a UI delegate callback for handling window.open
2564         https://bugs.webkit.org/show_bug.cgi?id=130757
2565
2566         Reviewed by Sam Weinig.
2567
2568         * UIProcess/API/Cocoa/WKUIDelegate.h:
2569         * UIProcess/API/Cocoa/WKWebView.mm:
2570         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2571         * UIProcess/Cocoa/UIClient.h:
2572         * UIProcess/Cocoa/UIClient.mm:
2573         (WebKit::UIClient::setDelegate):
2574         (WebKit::UIClient::createNewPage):
2575
2576 2014-03-25  Anders Carlsson  <andersca@apple.com>
2577
2578         Move stopLoading: back for now.
2579
2580         * UIProcess/API/Cocoa/WKWebView.h:
2581         * UIProcess/API/Cocoa/WKWebView.mm:
2582         (-[WKWebView stopLoading:]):
2583
2584 2014-03-25  Anders Carlsson  <andersca@apple.com>
2585
2586         Change toolbarVisibility back to toolbarsVisibility
2587         https://bugs.webkit.org/show_bug.cgi?id=130749
2588
2589         Reviewed by Tim Horton.
2590
2591         * UIProcess/API/Cocoa/WKWindowFeatures.h:
2592         * UIProcess/API/Cocoa/WKWindowFeatures.mm:
2593         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
2594
2595 2014-03-25  Anders Carlsson  <andersca@apple.com>
2596
2597         Pass the source frame to the CreateNewPage message
2598         https://bugs.webkit.org/show_bug.cgi?id=130752
2599
2600         Reviewed by Tim Horton.
2601
2602         * UIProcess/API/APIUIClient.h:
2603         (API::UIClient::createNewPage):
2604         * UIProcess/API/C/WKPage.cpp:
2605         (WKPageSetPageUIClient):
2606         * UIProcess/WebPageProxy.cpp:
2607         (WebKit::WebPageProxy::createNewPage):
2608         * UIProcess/WebPageProxy.h:
2609         * UIProcess/WebPageProxy.messages.in:
2610         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2611         (WebKit::WebChromeClient::createWindow):
2612
2613 2014-03-25  Anders Carlsson  <andersca@apple.com>
2614
2615         Add a WebFrame::fromCoreFrame static member function and use it where possible
2616         https://bugs.webkit.org/show_bug.cgi?id=130744
2617
2618         Reviewed by Tim Horton.
2619
2620         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2621         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
2622         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2623         (WebKit::InjectedBundleNodeHandle::documentFrame):
2624         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
2625         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
2626         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2627         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2628         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
2629         (WebKit::InjectedBundleDOMWindowExtension::frame):
2630         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2631         (WebKit::InjectedBundleHitTestResult::frame):
2632         (WebKit::InjectedBundleHitTestResult::targetFrame):
2633         * WebProcess/Plugins/PluginView.cpp:
2634         (WebKit::webPage):
2635         (WebKit::PluginView::performFrameLoadURLRequest):
2636         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2637         (WebKit::WebChromeClient::focusedElementChanged):
2638         (WebKit::WebChromeClient::focusedFrameChanged):
2639         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
2640         (WebKit::WebChromeClient::runJavaScriptAlert):
2641         (WebKit::WebChromeClient::runJavaScriptConfirm):
2642         (WebKit::WebChromeClient::runJavaScriptPrompt):
2643         (WebKit::WebChromeClient::print):
2644         (WebKit::WebChromeClient::exceededDatabaseQuota):
2645         (WebKit::WebChromeClient::runOpenPanel):
2646         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2647         (WebKit::WebEditorClient::textFieldDidBeginEditing):
2648         (WebKit::WebEditorClient::textFieldDidEndEditing):
2649         (WebKit::WebEditorClient::textDidChangeInTextField):
2650         (WebKit::WebEditorClient::textDidChangeInTextArea):
2651         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
2652         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
2653         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2654         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2655         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
2656         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2657         * WebProcess/WebPage/WebFrame.cpp:
2658         (WebKit::WebFrame::fromCoreFrame):
2659         (WebKit::WebFrame::contentsAsString):
2660         (WebKit::WebFrame::parentFrame):
2661         (WebKit::WebFrame::childFrames):
2662         (WebKit::WebFrame::frameForContext):
2663         (WebKit::WebFrame::webArchiveData):
2664         * WebProcess/WebPage/WebFrame.h:
2665
2666 2014-03-25  Jeffrey Pfau  <jpfau@apple.com>
2667
2668         [WK2] Schemes registered as cache partitioned are not properly registered in new web processes
2669         https://bugs.webkit.org/show_bug.cgi?id=130739
2670
2671         Reviewed by Anders Carlsson.
2672
2673         * WebProcess/WebProcess.cpp:
2674         (WebKit::WebProcess::initializeWebProcess):
2675
2676 2014-03-25  Joseph Pecoraro  <pecoraro@apple.com>
2677
2678         [iOS] Inspector View Indication Support
2679         https://bugs.webkit.org/show_bug.cgi?id=130709
2680
2681         Reviewed by Simon Fraser.
2682
2683         * UIProcess/ios/WKContentView.h:
2684         * UIProcess/ios/WKContentView.mm:
2685         (-[WKInspectorIndicationView initWithFrame:]):
2686         (-[WKContentView isShowingInspectorIndication]):
2687         (-[WKContentView setShowingInspectorIndication:]):
2688         (-[WKContentView _didCommitLayerTree:WebKit::]):
2689         When indicating include a simple tinted UIView over the content.
2690
2691         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2692         * UIProcess/API/Cocoa/WKWebView.mm:
2693         (-[WKWebView _showInspectorIndication]):
2694         (-[WKWebView _hideInspectorIndication]):
2695         Have the content view show or hide an indication.
2696
2697         * UIProcess/PageClient.h:
2698         * UIProcess/ios/PageClientImplIOS.h:
2699         * UIProcess/ios/PageClientImplIOS.mm:
2700         (WebKit::PageClientImpl::showInspectorIndication):
2701         (WebKit::PageClientImpl::hideInspectorIndication):
2702         * UIProcess/WebPageProxy.h:
2703         * UIProcess/WebPageProxy.messages.in:
2704         * UIProcess/ios/WebPageProxyIOS.mm:
2705         (WebKit::WebPageProxy::showInspectorIndication):
2706         (WebKit::WebPageProxy::hideInspectorIndication):
2707         Pass WebProcess indication message up to the WKWebView.
2708
2709         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2710         (WebKit::WebInspectorClient::indicate):
2711         (WebKit::WebInspectorClient::hideIndication):
2712         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2713         * WebProcess/WebPage/WebPage.h:
2714         * WebProcess/WebPage/ios/WebPageIOS.mm:
2715         (WebKit::WebPage::indicate):
2716         (WebKit::WebPage::hideIndication):
2717         Pass WebCore / remote inspector indication message up to UIProcess.
2718
2719 2014-03-25  Anders Carlsson  <andersca@apple.com>
2720
2721         Add more properties to WKWindowFeatures
2722         https://bugs.webkit.org/show_bug.cgi?id=130738
2723
2724         Reviewed by Tim Horton.
2725
2726         * UIProcess/API/Cocoa/WKWindowFeatures.h:
2727         * UIProcess/API/Cocoa/WKWindowFeatures.mm:
2728         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
2729         (-[WKWindowFeatures menuBarVisibility]):
2730         (-[WKWindowFeatures statusBarVisibility]):
2731         (-[WKWindowFeatures toolbarsVisibility]):
2732         (-[WKWindowFeatures allowsResizing]):
2733
2734 2014-03-25  Anders Carlsson  <andersca@apple.com>
2735
2736         Fix iOS build.
2737
2738         * UIProcess/API/Cocoa/WKWebView.h:
2739         * UIProcess/API/Cocoa/WKWebView.mm:
2740         Make WKIBActions OS X only for now.
2741
2742 2014-03-25  Anders Carlsson  <andersca@apple.com>
2743
2744         Begin stubbing out a WKWindowFeatures class
2745         https://bugs.webkit.org/show_bug.cgi?id=130733
2746
2747         Reviewed by Dan Bernstein.
2748
2749         * UIProcess/API/Cocoa/WKWindowFeatures.h: Added.
2750         * UIProcess/API/Cocoa/WKWindowFeatures.mm: Added.
2751         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
2752         (-[WKWindowFeatures x]):
2753         (-[WKWindowFeatures y]):
2754         (-[WKWindowFeatures width]):
2755         (-[WKWindowFeatures height]):
2756         * UIProcess/API/Cocoa/WKWindowFeaturesInternal.h: Added.
2757         * WebKit2.xcodeproj/project.pbxproj:
2758
2759 2014-03-25  Anders Carlsson  <andersca@apple.com>
2760
2761         Add goBack: and goForward: IBActions and move stopLoading: to a new WKIBActions category on WKWebView
2762         https://bugs.webkit.org/show_bug.cgi?id=130732
2763
2764         Reviewed by Tim Horton.
2765
2766         * UIProcess/API/Cocoa/WKWebView.h:
2767         * UIProcess/API/Cocoa/WKWebView.mm:
2768         (-[WKWebView goBack]):
2769         (-[WKWebView goForward]):
2770         (-[WKWebView validateUserInterfaceItem:]):
2771         (-[WKWebView goBack:]):
2772         (-[WKWebView goForward:]):
2773         (-[WKWebView stopLoading:]):
2774
2775 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
2776
2777         [GTK] Remove the autotools build
2778         https://bugs.webkit.org/show_bug.cgi?id=130717
2779
2780         Reviewed by Anders Carlsson.
2781
2782         * GNUmakefile.am: Removed.
2783         * WebKit2Prefix.h: Removed references to the autotools configure file.
2784         * config.h: Ditto.
2785
2786 2014-03-25  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2787
2788         [EFL][WK2] Add NETWORK_PROCESS build option
2789         https://bugs.webkit.org/show_bug.cgi?id=130131
2790
2791         Reviewed by Gyuyoung Kim.
2792
2793         * PlatformEfl.cmake: Add file needed to build with NETWORK_PROCESS enabled.
2794
2795 2014-03-24 Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2796
2797         [EFL][WK2] Add an API to set process model
2798         https://bugs.webkit.org/show_bug.cgi?id=130133
2799
2800         Reviewed by Gyuyoung Kim.
2801
2802         Implement an API to set and get process model in ewk_context.
2803         By default process model enum value is set to EWK_PROCESS_MODEL_SHARED_SECONDARY
2804         which keeps current behaviour. Setting EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
2805         will make each web view use separate web process, also enables network process.
2806
2807         * UIProcess/API/efl/ewk_context.cpp:
2808         (toWKProcessModel):
2809         (EwkContext::setProcessModel):
2810         (toEwkProcessModel):
2811         (EwkContext::processModel):
2812         (ewk_context_process_model_set):
2813         (ewk_context_process_model_get):
2814         * UIProcess/API/efl/ewk_context.h:
2815         * UIProcess/API/efl/ewk_context_private.h:
2816         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2817         (TEST_F):
2818
2819 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
2820
2821         AX: hit-testing doesn't always work correctly with WK2
2822         https://bugs.webkit.org/show_bug.cgi?id=130706
2823
2824         Reviewed by Simon Fraser.
2825
2826         Accessibility code was trying to do screenToRootView itself, and in 
2827         some cases with embedded WK2 views that did not work.
2828
2829         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
2830         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
2831
2832 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
2833
2834         [WK2] SpinLock are not initialized by default, ViewUpdateDispatcher is missing an initializer
2835         https://bugs.webkit.org/show_bug.cgi?id=130705
2836
2837         Reviewed by Simon Fraser.
2838
2839         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
2840         (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):
2841
2842 2014-03-24  Enrica Casucci  <enrica@apple.com>
2843
2844         [iOS WebKit2] Dictation support.
2845         https://bugs.webkit.org/show_bug.cgi?id=130622
2846         <rdar://problem/15337316>
2847
2848         Reviewed by Benjamin Poulain.
2849
2850         Adding support for dictation on iOS. There are two main types of interactions
2851         with the dictation system:
2852         - initial request for context, which consists in retrieving the selected text
2853         and 5 words before the selection and 5 words after, if available.
2854         - insertion of recognized chunks of text, providing the text
2855         to replace.
2856     
2857         * UIProcess/AutoCorrectionCallback.h:
2858         (WebKit::DictationContextCallback::create):
2859         (WebKit::DictationContextCallback::~DictationContextCallback):
2860         (WebKit::DictationContextCallback::performCallbackWithReturnValue):
2861         (WebKit::DictationContextCallback::invalidate):
2862         (WebKit::DictationContextCallback::DictationContextCallback):
2863         * UIProcess/WebPageProxy.h:
2864         * UIProcess/WebPageProxy.messages.in:
2865         * UIProcess/ios/WKContentViewInteraction.h:
2866         * UIProcess/ios/WKContentViewInteraction.mm:
2867         (-[WKContentView replaceDictatedText:withText:]):
2868         (-[WKContentView requestDictationContext:]):
2869         * UIProcess/ios/WebPageProxyIOS.mm:
2870         (WebKit::WebPageProxy::dictationContextCallback):
2871         (WebKit::WebPageProxy::replaceDictatedText):
2872         (WebKit::WebPageProxy::requestDictationContext):
2873         * WebProcess/WebPage/WebPage.h:
2874         * WebProcess/WebPage/WebPage.messages.in:
2875         * WebProcess/WebPage/ios/WebPageIOS.mm:
2876         (WebKit::WebPage::requestDictationContext):
2877         (WebKit::WebPage::replaceDictatedText):
2878
2879 2014-03-24  Andy Estes  <aestes@apple.com>
2880
2881         Yet another iOS build fix, for the 32-bit build this time.
2882
2883         * Shared/Downloads/ios/DownloadIOS.mm:
2884         (WebKit::setUpDownloadClient):
2885
2886 2014-03-24  Tim Horton  <timothy_horton@apple.com>
2887
2888         REGRESSION (r165872): Double-applying device scale to snapshots
2889         https://bugs.webkit.org/show_bug.cgi?id=130697
2890         <rdar://problem/16396629>
2891
2892         Reviewed by Simon Fraser.
2893
2894         * WebProcess/WebPage/WebPage.cpp:
2895         (WebKit::WebPage::scaledSnapshotWithOptions):
2896         Drive-by, make scaledSnapshotWithOptions respect SnapshotOptionsExcludeDeviceScaleFactor.
2897
2898         (WebKit::WebPage::snapshotAtSize):
2899         Divide the device scale out of the scale factor
2900
2901         * WebProcess/WebPage/WebPage.h:
2902         Rename the scale argument to scaledSnapshotWithOptions to clarify
2903         that it is an additional scale on top of the device scale.
2904
2905 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
2906
2907         Activate WebVTT Tests Once Merging is Complete
2908         https://bugs.webkit.org/show_bug.cgi?id=130420
2909
2910         Reviewed by Eric Carlson.
2911
2912         * Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)
2913
2914 2014-03-24  Andy Estes  <aestes@apple.com>
2915
2916         Fix the iOS build.
2917
2918         * Shared/Downloads/ios/DownloadIOS.mm:
2919         (WebKit::setUpDownloadClient):
2920         * UIProcess/Cocoa/DownloadClient.mm:
2921
2922 2014-03-24  Mark Rowe  <mrowe@apple.com>
2923
2924         Build fix after r166186.
2925
2926         * UIProcess/Cocoa/DownloadClient.mm:
2927
2928 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
2929
2930         [WK2] Make updates on ViewUpdateDispatcher less heavy
2931         https://bugs.webkit.org/show_bug.cgi?id=130626
2932
2933         Reviewed by Darin Adler.
2934
2935         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
2936         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
2937         (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
2938         * WebProcess/WebPage/ViewUpdateDispatcher.h:
2939
2940 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
2941
2942         [iOS][WK2] Micro-optimize view state updates on the UIProcess side
2943         https://bugs.webkit.org/show_bug.cgi?id=130631
2944
2945         Reviewed by Darin Adler.
2946
2947         * UIProcess/API/Cocoa/WKWebView.mm:
2948         (contentZoomScale):
2949         [UIScrollView zoomScale] is not fast enough for -[WKWebView _updateVisibleContentRects]. Since we know what the zoom view is,
2950         make a fast version hardcoding that.
2951
2952         (-[WKWebView _updateScrollViewBackground]):
2953         (-[WKWebView _zoomToPoint:WebCore::atScale:]):
2954         (-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
2955         (-[WKWebView _zoomToRect:WebCore::withOrigin:WebCore::fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
2956         (-[WKWebView _updateVisibleContentRects]):
2957         * UIProcess/ios/WKContentView.mm:
2958         (fixedPositionRectFromExposedRect):
2959         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
2960
2961 2014-03-24  Dean Jackson  <dino@apple.com>
2962
2963         Remove WebGL asset entitlement
2964         https://bugs.webkit.org/show_bug.cgi?id=130685
2965
2966         Reviewed by Simon Fraser.
2967
2968         No longer necessary on iOS.
2969
2970         * Configurations/WebContent-iOS.entitlements:
2971
2972 2014-03-24  Andy Estes  <aestes@apple.com>
2973
2974         [iOS] Download support by CFURLDownloadRef under USE(CFNETWORK).
2975         https://bugs.webkit.org/show_bug.cgi?id=129322
2976
2977         Reviewed by Anders Carlsson.
2978
2979         Based on an original patch by Yongjun Zhang  <yongjun_zhang@apple.com>.
2980
2981         * Shared/Cocoa/APIObject.mm:
2982         (API::Object::newObject):
2983         * Shared/Downloads/ios/DownloadIOS.mm:
2984         (WebKit::dispatchOnMainThread):
2985         (WebKit::toDownload):
2986         (WebKit::setUpDownloadClient):
2987         (WebKit::Download::startWithHandle):
2988         * UIProcess/API/APIDownloadClient.h:
2989         (API::DownloadClient::~DownloadClient):
2990         * UIProcess/API/C/WKContext.cpp:
2991         (WKContextSetDownloadClient):
2992         * UIProcess/API/Cocoa/WKProcessPool.mm:
2993         (-[WKProcessPool _downloadDelegate]):
2994         (-[WKProcessPool _setDownloadDelegate:]):
2995         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
2996         * UIProcess/API/Cocoa/_WKDownload.h: Added.
2997         * UIProcess/API/Cocoa/_WKDownload.mm: Added.
2998         (WebKit::wrapper):
2999         (WebKit::createAPIDownloadClient):
3000         (-[_WKDownload dealloc]):
3001         (-[_WKDownload API::]):
3002         * UIProcess/API/Cocoa/_WKDownloadDelegate.h: Added.
3003         * UIProcess/API/Cocoa/_WKDownloadInternal.h: Added.
3004         * UIProcess/Cocoa/DownloadClient.h: Added.
3005         * UIProcess/Cocoa/DownloadClient.mm: Added.
3006         * WebKit2.xcodeproj/project.pbxproj:
3007
3008 2014-03-24  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
3009
3010         [EFL][WK2] Buildfix after r166159.
3011
3012         Reviewed by Csaba Osztrogonác.
3013
3014         * UIProcess/API/efl/ewk_settings.cpp:
3015         (ewk_settings_file_access_from_file_urls_allowed_set):
3016         (ewk_settings_file_access_from_file_urls_allowed_get):
3017
3018 2014-03-24  Jinwoo Song  <jinwoo7.song@samsung.com>
3019
3020         [EFL][WK2] Use C API inside ewk_settings
3021         https://bugs.webkit.org/show_bug.cgi?id=107820
3022
3023         Reviewed by Gyuyoung Kim.
3024
3025         Use C API inside ewk_settings instead of accessing directly
3026         internal C++ classes, to avoid violating API layering.
3027
3028         Original-author: Christophe Dumez <ch.dumez@sisa.samsung.com>
3029
3030         * UIProcess/API/efl/EwkView.cpp:
3031         (EwkView::EwkView):
3032         * UIProcess/API/efl/ewk_settings.cpp:
3033         (ewk_settings_fullscreen_enabled_set):
3034         (ewk_settings_fullscreen_enabled_get):
3035         (ewk_settings_javascript_enabled_set):
3036         (ewk_settings_javascript_enabled_get):
3037         (ewk_settings_loads_images_automatically_set):
3038         (ewk_settings_loads_images_automatically_get):
3039         (ewk_settings_developer_extras_enabled_set):
3040         (ewk_settings_developer_extras_enabled_get):
3041         (ewk_settings_file_access_from_file_urls_allowed_set):
3042         (ewk_settings_file_access_from_file_urls_allowed_get):
3043         (ewk_settings_frame_flattening_enabled_set):
3044         (ewk_settings_frame_flattening_enabled_get):
3045         (ewk_settings_dns_prefetching_enabled_set):
3046         (ewk_settings_dns_prefetching_enabled_get):
3047         (ewk_settings_encoding_detector_enabled_set):
3048         (ewk_settings_encoding_detector_enabled_get):
3049         (ewk_settings_preferred_minimum_contents_width_set):
3050         (ewk_settings_preferred_minimum_contents_width_get):
3051         (ewk_settings_offline_web_application_cache_enabled_set):
3052         (ewk_settings_offline_web_application_cache_enabled_get):
3053         (ewk_settings_scripts_can_open_windows_set):
3054         (ewk_settings_scripts_can_open_windows_get):
3055         (ewk_settings_local_storage_enabled_set):
3056         (ewk_settings_local_storage_enabled_get):
3057         (ewk_settings_plugins_enabled_set):
3058         (ewk_settings_plugins_enabled_get):
3059         (ewk_settings_default_font_size_set):
3060         (ewk_settings_default_font_size_get):
3061         (ewk_settings_private_browsing_enabled_set):
3062         (ewk_settings_private_browsing_enabled_get):
3063         (ewk_settings_text_autosizing_enabled_set):
3064         (ewk_settings_text_autosizing_enabled_get):
3065         (ewk_settings_spatial_navigation_enabled_set):
3066         (ewk_settings_spatial_navigation_enabled_get):
3067         (EwkSettings::setDefaultTextEncodingName):
3068         * UIProcess/API/efl/ewk_settings_private.h:
3069         (EwkSettings::EwkSettings):
3070         (EwkSettings::preferences):
3071
3072 2014-03-24  Zan Dobersek  <zdobersek@igalia.com>
3073
3074         [GTK][WK2] Guard NetscapePluginModule methods used in PluginInfoCache that are specific to X11 architecture
3075         https://bugs.webkit.org/show_bug.cgi?id=130663
3076
3077         Reviewed by Carlos Garcia Campos.
3078
3079         The two used methods are specific to the X11 plugin architecture and are not declared when building for a
3080         Wayland-only configuration. Guarding them prevents build failures, but does not ensure proper functionality
3081         which isn't a problem anyway since there's no support yet for Netscape plugins on Wayland.
3082
3083         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
3084         (WebKit::PluginInfoCache::getPluginInfo): Guard NetscapePluginModule::parseMIMEDescription with PLUGIN_ARCHITECTURE(X11).
3085         (WebKit::PluginInfoCache::updatePluginInfo): Ditto for NetscapePluginModule::buildMIMEDescription.
3086
3087 2014-03-24  Ryuan Choi  <ryuan.choi@samsung.com>
3088
3089         [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
3090         https://bugs.webkit.org/show_bug.cgi?id=130662
3091
3092         Reviewed by Gyuyoung Kim.
3093
3094         Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in remained WebKit2/Efl specific code.
3095
3096         * UIProcess/API/efl/EwkView.h:
3097         * UIProcess/API/efl/ewk_cookie_manager.cpp:
3098         * UIProcess/API/efl/ewk_database_manager.cpp:
3099         (getDatabaseOriginsCallback):
3100         * UIProcess/API/efl/ewk_error_private.h:
3101         * UIProcess/efl/DownloadManagerEfl.cpp:
3102         (WebKit::DownloadManagerEfl::didFail):
3103         * UIProcess/efl/InputMethodContextEfl.h:
3104         (WebKit::InputMethodContextEfl::create):
3105         * UIProcess/efl/PageLoadClientEfl.cpp:
3106         (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
3107         (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
3108
3109 2014-03-23  Hyowon Kim  <hw1008.kim@samsung.com>
3110
3111         Move all EFL typedefs into EflTypedefs.h.
3112         https://bugs.webkit.org/show_bug.cgi?id=130511
3113
3114         Reviewed by Gyuyoung Kim.
3115
3116         * Shared/API/c/efl/WKArrayEfl.h: Remove EFL typedefs.
3117         * UIProcess/API/efl/EwkView.h: Ditto.
3118
3119 2014-03-23  Jinwoo Song  <jinwoo7.song@samsung.com>
3120
3121         [WK2] Refine WebKit2 BatteryStatus code
3122         https://bugs.webkit.org/show_bug.cgi?id=130573
3123
3124         Reviewed by Anders Carlsson.
3125
3126         Refinements
3127          - Return PassRef instead of PassRefPtr in create methods
3128          - Use auto instead of iterator
3129
3130         * UIProcess/WebBatteryManagerProxy.cpp:
3131         (WebKit::WebBatteryManagerProxy::create):
3132         * UIProcess/WebBatteryManagerProxy.h:
3133         * UIProcess/efl/BatteryProvider.cpp:
3134         (BatteryProvider::create):
3135         * UIProcess/efl/BatteryProvider.h:
3136         * WebProcess/Battery/WebBatteryManager.cpp:
3137         (WebKit::WebBatteryManager::didChangeBatteryStatus):
3138         (WebKit::WebBatteryManager::updateBatteryStatus):
3139
3140 2014-03-23  Sam Weinig  <sam@webkit.org>
3141
3142         Simplify the HTMLConverter interface (Part 2)
3143         https://bugs.webkit.org/show_bug.cgi?id=130654
3144
3145         Reviewed by Darin Adler.
3146
3147         * WebProcess/WebPage/WebPage.h:
3148         * WebProcess/WebPage/ios/WebPageIOS.mm:
3149         (WebKit::WebPage::performDictionaryLookupForRange):
3150         * WebProcess/WebPage/mac/WebPageMac.mm:
3151         (WebKit::WebPage::getAttributedSubstringFromRange):
3152         (WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
3153         (WebKit::WebPage::performDictionaryLookupAtLocation):
3154         (WebKit::WebPage::performDictionaryLookupForSelection):
3155         (WebKit::WebPage::performDictionaryLookupForRange):
3156
3157 2014-03-23  David Kilzer  <ddkilzer@apple.com>
3158
3159         WebKit::resistanceForDelta() truncates 'scaleDistance' to integer value using abs()
3160         <http://webkit.org/b/130651>
3161
3162         Reviewed by Darin Adler.
3163
3164         Fixes the following build failure with trunk clang:
3165
3166             WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: error: using integer absolute value function 'abs' when argument is of floating point type [-Werror,-Wabsolute-value]
3167                 double scaleDistance = abs(limit - currentScale);
3168                                        ^
3169             WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: note: use function 'fabs' instead
3170                 double scaleDistance = abs(limit - currentScale);
3171                                        ^~~
3172                                        fabs
3173
3174         * UIProcess/mac/ViewGestureControllerMac.mm:
3175         (WebKit::resistanceForDelta): Use fabs() instead of abs().
3176
3177 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
3178
3179         Clean up #includes by geometry classes
3180         https://bugs.webkit.org/show_bug.cgi?id=130645
3181
3182         Reviewed by Andreas Kling.
3183
3184         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
3185         classes brings in a lot of additional headers. Fix by adding a new
3186         GeometryUtilities file so that the basic files don't need Vector,
3187         and including GeometryUtilities.h where necessary.
3188         
3189         Also forward declare PrintStream.h and only bring in the header
3190         in implementation files.
3191
3192         * Shared/UpdateInfo.h:
3193         * UIProcess/BackingStore.h:
3194         * UIProcess/CoordinatedGraphics/PageViewportController.h:
3195         * UIProcess/FindIndicator.cpp:
3196         * UIProcess/mac/WKPrintingView.h:
3197
3198 2014-03-23  Simon Fraser  <simon.fraser@apple.com>
3199
3200         Clean up #includes by geometry classes
3201         https://bugs.webkit.org/show_bug.cgi?id=130645
3202
3203         Reviewed by Andreas Kling.
3204
3205         Pulling in <wtf/Vector.h> and <wtf/PrintStream.h> in the simple geometry
3206         classes brings in a lot of additional headers. Fix by adding a new
3207         GeometryUtilities file so that the basic files don't need Vector,
3208         and including GeometryUtilities.h where necessary.
3209         
3210         Also forward declare PrintStream.h and only bring in the header
3211         in implementation files.
3212
3213         * UIProcess/BackingStore.h:
3214         * UIProcess/FindIndicator.cpp:
3215         * UIProcess/mac/WKPrintingView.h:
3216
3217 2014-03-22  Alexey Proskuryakov  <ap@apple.com>
3218
3219         Assertions in WebPage::rangeFromEditingRange when requested range location is NSNotFound
3220         https://bugs.webkit.org/show_bug.cgi?id=130633
3221         <rdar://problem/16397583>
3222
3223         Reviewed by Darin Adler.
3224
3225         * UIProcess/API/mac/WKView.mm:
3226         (-[WKView firstRectForCharacterRange:completionHandler:]):
3227         (-[WKView firstRectForCharacterRange:actualRange:]):
3228         Return NSZeroRect, like NSTextView does for any locations that are out of bounds.
3229         There is no need for a round trip to WebProcess in this case.
3230
3231 2014-03-21  Benjamin Poulain  <bpoulain@apple.com>
3232
3233         [iOS][WK2] Reduce the tiling coverage to the current rect and 1 tile size ahead
3234         https://bugs.webkit.org/show_bug.cgi?id=130555
3235
3236         Reviewed by Simon Fraser.
3237
3238         * Shared/VisibleContentRectUpdateInfo.cpp:
3239         (WebKit::VisibleContentRectUpdateInfo::encode):
3240         (WebKit::VisibleContentRectUpdateInfo::decode):
3241         * Shared/VisibleContentRectUpdateInfo.h:
3242         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
3243         (WebKit::operator==):
3244         * UIProcess/ios/WKContentView.mm:
3245         (WebKit::HistoricalKinematicData::HistoricalKinematicData):
3246         (WebKit::HistoricalKinematicData::velocityForNewData):
3247         (WebKit::HistoricalKinematicData::clear):
3248         (WebKit::HistoricalKinematicData::append):
3249         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
3250         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
3251         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
3252         * WebProcess/WebPage/ios/WebPageIOS.mm:
3253         (WebKit::WebPage::updateVisibleContentRects):
3254
3255 2014-03-21  Alexey Proskuryakov  <ap@apple.com>
3256
3257         REGRESSION (r165356): Predictive Chinese input is broken
3258         https://bugs.webkit.org/show_bug.cgi?id=130619
3259
3260         Reviewed by Enrica Casucci.
3261
3262         * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::executeKeypressCommands):
3263         Like after insertText, we are no longer in an intermediate state after executeKeypressCommands.
3264         Make sure that we don't call -discardMarkedText the next time we get a non-intermediate
3265         state with closed composition.
3266
3267 2014-03-21  Sam Weinig  <sam@webkit.org>
3268
3269         [WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
3270         https://bugs.webkit.org/show_bug.cgi?id=130528
3271
3272         Reviewed by Tim Horton.
3273
3274         * Platform/IPC/Connection.h:
3275         * Platform/IPC/mac/ConnectionMac.cpp:
3276         (IPC::Connection::getAuditToken):
3277         Expose the audit data if available. 
3278
3279         * NetworkProcess/mac/RemoteNetworkingContext.mm:
3280         (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
3281         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
3282         (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
3283         Pass the audit data corresponding to the UIProcess.
3284
3285         * Configurations/Network-iOS.entitlements: Copied from Configurations/WebContent-iOS.entitlements.
3286         * Configurations/NetworkProcess.xcconfig:
3287         * Configurations/NetworkService.Development.xcconfig:
3288         * Configurations/NetworkService.xcconfig:
3289         * Configurations/WebContent-iOS.entitlements:
3290         Add entitlement allowing the audit data to be used.
3291
3292 2014-03-21  Tim Horton  <timothy_horton@apple.com>
3293
3294         Always retrieve the screen scale factor from WKSI
3295         <rdar://problem/16329679>
3296
3297         Reviewed by Sam Weinig.
3298
3299         * UIProcess/ios/WKContentView.mm:
3300         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
3301         (-[WKContentView _updateForScreen:]):
3302         Use WKGetScreenScaleFactor/WKGetScaleFactorForScreen.
3303
3304 2014-03-21  Yongjun Zhang  <yongjun_zhang@apple.com>
3305
3306         [Webkit2] Add APIDownloadClient for download support.
3307         https://bugs.webkit.org/show_bug.cgi?id=130484
3308
3309         Add API::DownloadClient to WebContext and get rid of WebDownloadClient.
3310
3311         Reviewed by Anders Carlsson.
3312
3313         * UIProcess/API/APIDownloadClient.h: Added.
3314         (API::DownloadClient::~DownloadClient):
3315         (API::DownloadClient::didStart):
3316         (API::DownloadClient::didReceiveAuthenticationChallenge):
3317         (API::DownloadClient::didReceiveResponse):
3318         (API::DownloadClient::didReceiveData):
3319         (API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
3320         (API::DownloadClient::decideDestinationWithSuggestedFilename):
3321         (API::DownloadClient::didCreateDestination):
3322         (API::DownloadClient::didFinish):
3323         (API::DownloadClient::didFail):
3324         (API::DownloadClient::didCancel):
3325         (API::DownloadClient::processDidCrash):
3326         * UIProcess/API/C/WKContext.cpp:
3327         (WKContextSetDownloadClient): Move the original WebDownloadClient methods to a local class
3328             DownloadClient and set up the downloadClient for WebContext.
3329         * UIProcess/Downloads/DownloadProxy.cpp:
3330         * UIProcess/WebContext.cpp:
3331         (WebKit::WebContext::setDownloadClient):
3332         * UIProcess/WebContext.h:
3333         (WebKit::WebContext::downloadClient):
3334         * UIProcess/WebDownloadClient.cpp: Removed.
3335         * UIProcess/WebDownloadClient.h: Removed.
3336         * WebKit2.xcodeproj/project.pbxproj:
3337
3338 2014-03-21  Alexey Proskuryakov  <ap@apple.com>
3339
3340         ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
3341         https://bugs.webkit.org/show_bug.cgi?id=130526
3342         <rdar://problem/16371612> 
3343
3344         This was fixed yesterday for sync code path, landing the same this for async one.
3345
3346         * UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]):
3347
3348 2014-03-21  Pratik Solanki  <psolanki@apple.com>
3349
3350         Add callbacks in WebKit2 Cocoa API for page load testing
3351         https://bugs.webkit.org/show_bug.cgi?id=130569
3352
3353         Reviewed by Anders Carlsson.
3354
3355         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
3356         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3357         (didFirstVisuallyNonEmptyLayoutForFrame):
3358         (didHandleOnloadEventsForFrame):
3359         (setUpPageLoaderClient):
3360         (willSendRequestForFrame):
3361         (didInitiateLoadForResource):
3362         (didFinishLoadForResource):
3363         (didFailLoadForResource):
3364         (setUpResourceLoadClient):
3365
3366 2014-03-21  Ryuan Choi  <ryuan.choi@samsung.com>
3367
3368         [EFL][WK2] Remove Ewk_Error parameter from some async callbacks
3369         https://bugs.webkit.org/show_bug.cgi?id=130567
3370
3371         Reviewed by Gyuyoung Kim.
3372
3373         WebKit2 internally uses GenericCallbacks for several APIs such as WKKeyValueStorageManagerGetKeyValueStorageOrigins.
3374         But only few callbacks really return errors.
3375
3376         This patch removes Ewk_Error parameters from these callbacks not to make
3377         the confusion for application developers.
3378
3379         * UIProcess/API/efl/ewk_cookie_manager.cpp:
3380         (getAcceptPolicyCallback):
3381         (getHostnamesWithCookiesCallback):
3382         * UIProcess/API/efl/ewk_cookie_manager.h:
3383         * UIProcess/API/efl/ewk_database_manager.cpp:
3384         (getDatabaseOriginsCallback):
3385         * UIProcess/API/efl/ewk_database_manager.h:
3386         * UIProcess/API/efl/ewk_storage_manager.cpp:
3387         (getStorageOriginsCallback):
3388         * UIProcess/API/efl/ewk_storage_manager.h:
3389         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
3390         (EWK2CookieManagerTest::getAcceptPolicyCallback):
3391         (EWK2CookieManagerTest::getHostnamesWithCookiesCallback):
3392         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
3393         (EWK2DatabaseManagerTest::databaseOriginsCallback):
3394         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
3395         (EWK2StorageManagerTest::getStorageOriginsCallback):
3396
3397 2014-03-21  Darin Adler  <darin@apple.com>
3398
3399         Improve idiom used for string building in a few places
3400         https://bugs.webkit.org/show_bug.cgi?id=130561
3401
3402         Reviewed by Andreas Kling.
3403
3404         * Shared/mac/ChildProcessMac.mm:
3405         (WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
3406         concatenation.
3407
3408         * UIProcess/WebInspectorProxy.cpp:
3409         (WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.
3410
3411 2014-03-20  Hyowon Kim  <hw1008.kim@samsung.com>
3412
3413         Move to using std::unique_ptr for EFL objects.
3414         https://bugs.webkit.org/show_bug.cgi?id=129853
3415
3416         Reviewed by Gyuyoung Kim.
3417
3418         EflUniquePtr is a template alias of std::unique_ptr
3419         with a custom deleter for each Efl Objects, which is motivated by GUniquePtr.
3420         This patch replaces uses of OwnPtr and PassOwnPtr for Efl objects with EflUniquePtr.
3421
3422         * Platform/Module.h:
3423         * Platform/efl/ModuleEfl.cpp:
3424         (WebKit::Module::load):
3425         * UIProcess/API/efl/EwkView.cpp:
3426         (EwkView::EwkView):
3427         * UIProcess/API/efl/EwkView.h:
3428         * UIProcess/efl/InputMethodContextEfl.cpp:
3429         (WebKit::InputMethodContextEfl::InputMethodContextEfl):
3430         (WebKit::InputMethodContextEfl::createIMFContext):
3431         * UIProcess/efl/InputMethodContextEfl.h:
3432         (WebKit::InputMethodContextEfl::create):
3433
3434 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3435
3436         [EFL][GTK] Get CMake to find Freetype2 properly
3437         https://bugs.webkit.org/show_bug.cgi?id=130150
3438
3439         Reviewed by Martin Robinson.
3440
3441         Newer versions of CMake are not able to find Freetype2 correctly.
3442         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
3443         freetype2 repo, because a completely different version number is found in freetype2.pc.
3444
3445         * PlatformEfl.cmake:
3446
3447 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
3448
3449         [GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
3450         https://bugs.webkit.org/show_bug.cgi?id=130517
3451
3452         Reviewed by Sergio Villar Senin.
3453
3454         * UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
3455         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
3456
3457 2014-03-20  Ryuan Choi  <ryuan.choi@samsung.com>
3458
3459         [EFL][WK2] tests of test_ewk2_cookie_manager are flaky
3460         https://bugs.webkit.org/show_bug.cgi?id=130498
3461
3462         Reviewed by Gyuyoung Kim.
3463
3464         Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
3465         or networkprocess was launched and registered WebCookieManager.
3466
3467         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
3468         (TEST_F):
3469
3470 2014-03-20  Commit Queue  <commit-queue@webkit.org>
3471
3472         Unreviewed, rolling out r165985.
3473         https://bugs.webkit.org/show_bug.cgi?id=130551
3474
3475         broke page loading on all cocoa platforms (Requested by
3476         thorton on #webkit).
3477
3478         Reverted changeset:
3479
3480         "[WebKit2] Implement
3481         NetworkingContext::sourceApplicationAuditData() for WebKit2"
3482         https://bugs.webkit.org/show_bug.cgi?id=130528
3483         http://trac.webkit.org/changeset/165985
3484
3485 2014-03-20  Alexey Proskuryakov  <ap@apple.com>
3486
3487         Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.
3488
3489         Rubber-stamped by Tim Horton.
3490
3491         * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::cancelComposition):
3492         Use a correct type for reply (it's really the same type, but ConfirmComposition
3493         is behind an ifdef, and not available).
3494
3495 2014-03-20  Enrica Casucci  <enrica@apple.com>
3496
3497         [iOS WebKit2] typing and deleting text lags behind the caret movement on google.com.
3498         https://bugs.webkit.org/show_bug.cgi?id=130544
3499         <rdar://problem/16380296>
3500
3501         Reviewed by Tim Horton.
3502
3503         On iOS the selection is drawn in the UIProcess. If the WebProcess is
3504         processing multiple requests within the same runloop, the caret could be
3505         updated in the UIProcess before the WebProcess has had a chance to paint.
3506         This change synchronizes the selection drawing with the tile update.
3507
3508         * UIProcess/WebPageProxy.h:
3509         * UIProcess/ios/WKContentView.mm:
3510         (-[WKContentView _didCommitLayerTree:WebKit::]):
3511         * UIProcess/ios/WKContentViewInteraction.h:
3512         * UIProcess/ios/WKContentViewInteraction.mm:
3513         (-[WKContentView _selectionChanged]):
3514         (-[WKContentView _updateChangedSelection]):
3515         * WebProcess/WebPage/WebPage.cpp:
3516         (WebKit::WebPage::didChangeSelection):
3517
3518 2014-03-20  Alexey Proskuryakov  <ap@apple.com>
3519
3520         Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
3521         https://bugs.webkit.org/show_bug.cgi?id=130079
3522         <rdar://problem/16286683>
3523
3524         Reviewed by Anders Carlsson.
3525
3526         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
3527         Perform an early return for all paths that don't need a sandbox extension due to
3528         access being assumed, not only for WebInspector pages.
3529
3530         * UIProcess/WebProcessProxy.cpp:
3531         (WebKit::WebProcessProxy::hasAssumedReadAccessToURL):
3532         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
3533         * UIProcess/WebProcessProxy.h:
3534         Factored out m_localPathsWithAssumedReadAccess iteration to a public function.
3535
3536 2014-03-20  Csaba Osztrogonác  <ossy@webkit.org>
3537
3538         Unreviewed buildfix after r165983 for non Cocoa platforms.
3539
3540         * UIProcess/API/C/WKAPICast.h:
3541         * UIProcess/API/C/WKPreferences.cpp:
3542         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3543
3544 2014-03-20  Beth Dakin  <bdakin@apple.com>
3545
3546         Implement contentInset for Mac WebKit2
3547         https://bugs.webkit.org/show_bug.cgi?id=130273
3548
3549         Reviewed by Simon Fraser.
3550
3551         This patch adds WKView API for setting a topContentInset(). All of this work gets 
3552         that number plumbed down to WebCore.
3553
3554         * Shared/WebPageCreationParameters.cpp:
3555         (WebKit::WebPageCreationParameters::encode):
3556         (WebKit::WebPageCreationParameters::decode):
3557         * Shared/WebPageCreationParameters.h:
3558         * UIProcess/API/Cocoa/WKViewPrivate.h:
3559         * UIProcess/API/Cocoa/WKWebView.mm:
3560         (-[WKWebView _setTopContentInset:]):
3561         (-[WKWebView _topContentInset]):
3562         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3563         * UIProcess/API/mac/WKView.mm:
3564         (-[WKView _setTopContentInset:]):
3565         (-[WKView _topContentInset]):
3566         * UIProcess/WebPageProxy.cpp:
3567         (WebKit::WebPageProxy::WebPageProxy):
3568         (WebKit::WebPageProxy::setTopContentInset):
3569         (WebKit::WebPageProxy::creationParameters):
3570         * UIProcess/WebPageProxy.h:
3571         (WebKit::WebPageProxy::topContentInset):
3572         * WebProcess/WebPage/WebPage.cpp:
3573         (WebKit::WebPage::WebPage):
3574         (WebKit::WebPage::setTopContentInset):
3575         * WebProcess/WebPage/WebPage.h:
3576         * WebProcess/WebPage/WebPage.messages.in:
3577
3578 2014-03-20  Anders Carlsson  <andersca@apple.com>
3579
3580         Fix 32-bit build.
3581
3582         * UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
3583
3584 2014-03-20  Anders Carlsson  <andersca@apple.com>
3585
3586         Make WKProcessPoolConfiguration SPI
3587         https://bugs.webkit.org/show_bug.cgi?id=130537
3588
3589         Reviewed by Tim Horton.
3590
3591         * UIProcess/API/Cocoa/WKProcessPool.h:
3592         * UIProcess/API/Cocoa/WKProcessPool.mm:
3593         (-[WKProcessPool init]):
3594         (-[WKProcessPool dealloc]):
3595         (-[WKProcessPool description]):
3596         (-[WKProcessPool _configuration]):
3597         (-[WKProcessPool API::]):
3598         (-[WKProcessPool _initWithConfiguration:]):
3599         * UIProcess/API/Cocoa/WKProcessPoolConfiguration.h:
3600         * UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
3601         (-[WKProcessPoolConfiguration _injectedBundleURL]):
3602         (-[WKProcessPoolConfiguration _setInjectedBundleURL:]):
3603         * UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h:
3604         * UIProcess/API/Cocoa/WKProcessPoolInternal.h:
3605         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
3606         * UIProcess/API/Cocoa/WKProcessPoolToBeRemoved.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolPrivate.h.
3607         (-[WKProcessPool initWithConfiguration:]):
3608         (-[WKProcessPool configuration]):
3609         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfigurationPrivate.h.
3610         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm.
3611         (-[_WKProcessPoolConfiguration injectedBundleURL]):
3612         (-[_WKProcessPoolConfiguration setInjectedBundleURL:]):
3613         (-[_WKProcessPoolConfiguration description]):
3614         (-[_WKProcessPoolConfiguration copyWithZone:]):
3615         * WebKit2.xcodeproj/project.pbxproj:
3616
3617 2014-03-20  Tim Horton  <timothy_horton@apple.com>
3618
3619         Add WebCore::IOSurface wrapper
3620         https://bugs.webkit.org/show_bug.cgi?id=130529
3621
3622         Reviewed by Simon Fraser.
3623
3624         * Shared/mac/RemoteLayerBackingStore.h:
3625         * Shared/mac/RemoteLayerBackingStore.mm:
3626         (RemoteLayerBackingStore::encode):
3627         (RemoteLayerBackingStore::decode):
3628         (RemoteLayerBackingStore::display):
3629         (RemoteLayerBackingStore::applyBackingStoreToLayer):
3630         * UIProcess/ios/ViewGestureControllerIOS.mm:
3631         (WebKit::ViewGestureController::beginSwipeGesture):
3632         (WebKit::ViewGestureController::removeSwipeSnapshot):
3633         * UIProcess/mac/ViewGestureController.h:
3634         * UIProcess/mac/ViewGestureControllerMac.mm:
3635         (WebKit::ViewGestureController::beginSwipeGesture):
3636         (WebKit::ViewGestureController::removeSwipeSnapshot):
3637         * UIProcess/mac/ViewSnapshotStore.h:
3638         * UIProcess/mac/ViewSnapshotStore.mm:
3639         (WebKit::createIOSurfaceFromImage):
3640         (WebKit::ViewSnapshotStore::recordSnapshot):
3641         Adopt WebCore::IOSurface.
3642
3643 2014-03-20  Alexey Proskuryakov  <ap@apple.com>
3644
3645         Update iOS input method code to use new cross-platform async functions
3646         https://bugs.webkit.org/show_bug.cgi?id=130530
3647
3648         Reviewed by Enrica Casucci.
3649
3650         Merge identical iOS and cross-platform functions.
3651
3652         Also tightened up ifdefs, and removed stub iOS implementations of sync methods,
3653         which hopefully won't be ever needed. The only tricky case is sync cancelComposition,
3654         will I'll investigate separately.
3655
3656         * UIProcess/WebPageProxy.h:
3657         * UIProcess/ios/WKContentViewInteraction.mm:
3658         (-[WKContentView setMarkedText:selectedRange:]):
3659         (-[WKContentView unmarkText]):
3660         (-[WKContentView insertText:]):
3661         * UIProcess/ios/WebPageProxyIOS.mm:
3662         (WebKit::WebPageProxy::cancelComposition):
3663         * UIProcess/mac/WebPageProxyMac.mm:
3664         (WebKit::WebPageProxy::cancelComposition):
3665         (WebKit::WebPageProxy::insertDictatedTextAsync):
3666         (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
3667         (WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
3668         * WebProcess/WebPage/WebPage.h:
3669         * WebProcess/WebPage/WebPage.messages.in:
3670         * WebProcess/WebPage/ios/WebPageIOS.mm:
3671         * WebProcess/WebPage/mac/WebPageMac.mm:
3672         (WebKit::WebPage::cancelComposition):
3673         (WebKit::WebPage::insertDictatedTextAsync):
3674         (WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
3675
3676 2014-03-20  Alexey Proskuryakov  <ap@apple.com>
3677
3678         ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
3679         https://bugs.webkit.org/show_bug.cgi?id=130526
3680         <rdar://problem/16371612>
3681
3682         Reviewed by Anders Carlsson.
3683
3684         * UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]): Cut custom
3685         processing short whenever we are redispatching an event, not just when the event
3686         we are handling is the one being redispatched. There shouldn't be any other unrelated
3687         events here, just the one being redispatched and synthetic ones generated from it by AppKit.
3688
3689 2014-03-20  Anders Carlsson  <andersca@apple.com>
3690
3691         Fix build.
3692
3693         Rename WKPreferencesPrivate.h to WKPreferencesRefPrivate.h.
3694
3695         * UIProcess/API/C/WKPreferencesRefPrivate.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h.
3696         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3697         * WebKit2.xcodeproj/project.pbxproj:
3698
3699 2014-03-20  Gavin Barraclough  <barraclough@apple.com>
3700
3701         Merge AtomicString, Identifier
3702         https://bugs.webkit.org/show_bug.cgi?id=128624
3703
3704         Unreviewed build fix following r165982.
3705
3706         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3707             - update includes.
3708
3709 2014-03-20  Sam Weinig  <sam@webkit.org>
3710
3711         [WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
3712         https://bugs.webkit.org/show_bug.cgi?id=130528
3713
3714         Reviewed by Anders Carlsson.
3715
3716         * Platform/IPC/Connection.h:
3717         * Platform/IPC/mac/ConnectionMac.cpp:
3718         (IPC::Connection::getAuditToken):
3719         Expose the audit data if available. 
3720
3721         * NetworkProcess/mac/RemoteNetworkingContext.mm:
3722         (WebKit::RemoteNetworkingContext::sourceApplicationAuditData):
3723         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
3724         (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
3725         Pass the audit data corresponding to the UIProcess.
3726
3727 2014-03-20  Sam Weinig  <sam@webkit.org>
3728
3729         [Cocoa] Expose preference to enable telephone number detection
3730         https://bugs.webkit.org/show_bug.cgi?id=130524
3731
3732         Reviewed by Anders Carlsson.
3733
3734         * UIProcess/API/Cocoa/WKPreferences.mm:
3735         (-[WKPreferences _telephoneNumberDetectionIsEnabled]):
3736         (-[WKPreferences _setTelephoneNumberDetectionIsEnabled:]):
3737         * UIProcess/API/Cocoa/WKPreferencesInternal.h:
3738         * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added.
3739         * WebKit2.xcodeproj/project.pbxproj:
3740
3741 2014-03-19  Alexey Proskuryakov  <ap@apple.com>
3742
3743         [Mac] Support asynchronous NSTextInputClient
3744         https://bugs.webkit.org/show_bug.cgi?id=130479
3745
3746         Reviewed by Anders Carlsson.
3747
3748         The implementation is currently disabled, pending lower level support.
3749         Most of the code is not under compile time guard however, to facilitate cross-platform
3750         reuse, or at least under a PLATFORM(COCOA) guard to share the code with iOS.
3751
3752         * UIProcess/API/mac/WKView.mm: Added a compile time branch for USE(ASYNC_NSTEXTINPUTCLIENT).
3753         We still implement sync NSTextInputClient here, in order to get assertions when
3754         its methods are unexpectedly called.
3755         The new code first sends an event to input method asynchronously, handling any callbacks
3756         that may arrive. During this time, we no longer care about WKViewInterpretKeyEventsParameters
3757         at all. Once done, we interpret key bindings synchronously, collecting them into
3758         a vector.
3759
3760         * UIProcess/API/mac/WKViewInternal.h: We no longer expose _interpretKeyEvent outside
3761         WKView.
3762
3763         * UIProcess/WebPageProxy.cpp:
3764         * UIProcess/WebPageProxy.h:
3765         Added async calls and callbacks. Removed unnecessary and slightly harmful .get() when moving
3766         a callback pointer into map. Moved insertDictatedText() and getAttributedSubstringFromRange()
3767         from PLATFORM(COCOA) to PLATFORM(MAC), because they are unused and unimplemented on
3768         iOS, and unlikely to be needed any time soon. Changed USE(APPKIT) to PLATFORM(MAC),
3769         because that's more accurate in this case (nothing depends on AppKit, it's just code
3770         that we only need on Mac).
3771
3772         * UIProcess/WebPageProxy.messages.in: Added messages for new async IM responses.
3773
3774         * UIProcess/ios/WebPageProxyIOS.mm: Removed insertDictatedText() and getAttributedSubstringFromRange().
3775
3776         * UIProcess/mac/WebPageProxyMac.mm:
3777         (WebKit::WebPageProxy::insertDictatedTextAsync):
3778         (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
3779         (WebKit::WebPageProxy::attributedStringForCharacterRangeCallback):
3780         Added async calls and callbacks that are Mac only.
3781
3782         * WebProcess/WebPage/WebPage.cpp:
3783         * WebProcess/WebPage/WebPage.h:
3784         * WebProcess/WebPage/mac/WebPageMac.mm:
3785         Added async implementations (which are essentially the same as sync ones, sadly).
3786
3787         * WebProcess/WebPage/WebPage.messages.in: Added async messages, moved some messages
3788         under PLATFORM(MAC).
3789
3790         * WebProcess/WebPage/ios/WebPageIOS.mm: More of deleting functions that are Mac only,
3791         and cannot be easily implemented in WebPage.cpp with shared code.
3792
3793 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
3794
3795         Remove remaining GTK+ unused parameter warnings from WebKit2
3796         https://bugs.webkit.org/show_bug.cgi?id=130518
3797
3798         Reviewed by Sergio Villar Senin.
3799
3800         Fix almost all unused parameter warnings in the WebKit2GTK+ build.
3801
3802 2014-03-20  Commit Queue  <commit-queue@webkit.org>
3803
3804         Unreviewed, rolling out r165962.
3805         https://bugs.webkit.org/show_bug.cgi?id=130512
3806
3807         It broke the build (Requested by Ossy on #webkit).
3808
3809         Reverted changeset:
3810
3811         "[EFL][GTK] Get CMake to find Freetype2 properly"
3812         https://bugs.webkit.org/show_bug.cgi?id=130150
3813         http://trac.webkit.org/changeset/165962
3814
3815 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3816
3817         [EFL][GTK] Get CMake to find Freetype2 properly
3818         https://bugs.webkit.org/show_bug.cgi?id=130150
3819
3820         Reviewed by Csaba Osztrogonác.
3821
3822         Newer versions of CMake are not able to find Freetype2 correctly.
3823         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
3824         freetype2 repo, because a completely different version number is found in freetype2.pc.
3825
3826         * PlatformEfl.cmake:
3827
3828 2014-03-20  Ryuan Choi  <ryuan.choi@samsung.com>
3829
3830         [EFL][WK2] test_ewk2_application_cache_manager is flaky
3831         https://bugs.webkit.org/show_bug.cgi?id=130501
3832
3833         Reviewed by Gyuyoung Kim.
3834
3835         * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
3836         (timerCallback): Return ECORE_CALLBACK_CANCEL to clear the timer.
3837
3838 2014-03-19  Tim Horton  <timothy_horton@apple.com>
3839
3840         Address late review comment and style nit after r165934.
3841
3842         * UIProcess/ios/ViewGestureControllerIOS.mm:
3843         (WebKit::ViewGestureController::beginSwipeGesture):
3844
3845 2014-03-19  Tim Horton  <timothy_horton@apple.com>
3846
3847         [iOS][WebKit2] Back-forward swipe doesn't always complete with fingers down
3848         https://bugs.webkit.org/show_bug.cgi?id=130489
3849         <rdar://problem/16027007>
3850
3851         Reviewed by Simon Fraser.
3852
3853         * UIProcess/ios/ViewGestureControllerIOS.mm:
3854         (WebKit::ViewGestureController::beginSwipeGesture):
3855         In order to have fingers-down swipe completion work correctly, we need
3856         to give UIKit an empty interactive update block.
3857
3858 2014-03-19  Anders Carlsson  <andersca@apple.com>
3859
3860         Get rid of two IPC::Connection functions by folding them into lambdas
3861         https://bugs.webkit.org/show_bug.cgi?id=130482
3862
3863         Reviewed by Tim Horton.
3864
3865         * Platform/IPC/Connection.cpp:
3866         (IPC::Connection::addWorkQueueMessageReceiver):
3867         (IPC::Connection::removeWorkQueueMessageReceiver):
3868         * Platform/IPC/Connection.h:
3869
3870 2014-03-19  Simon Fraser  <simon.fraser@apple.com>
3871
3872         Expose text and page zoom in WK2 SPI, and hook them up in MiniBrowser
3873         https://bugs.webkit.org/show_bug.cgi?id=130476
3874
3875         Reviewed by Anders Carlsson.
3876         
3877         Expose page and text zoom as SPI.
3878
3879         * UIProcess/API/Cocoa/WKWebView.mm:
3880         (-[WKWebView _supportsTextZoom]):
3881         (-[WKWebView _textZoomFactor]):
3882         (-[WKWebView _setTextZoomFactor:]):
3883         (-[WKWebView _pageZoomFactor]):
3884         (-[WKWebView _setPageZoomFactor:]):
3885         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3886
3887 2014-03-19  Benjamin Poulain  <bpoulain@apple.com>
3888
3889         [iOS][WK2] Reduce the extended background's opacity when WKContentView is smaller than its WKWebView
3890         https://bugs.webkit.org/show_bug.cgi?id=130436
3891
3892         Reviewed by Beth Dakin.
3893
3894         * UIProcess/API/Cocoa/WKWebView.mm:
3895         (-[WKWebView _updateScrollViewBackground]):
3896
3897 2014-03-19  Benjamin Poulain  <bpoulain@apple.com>
3898
3899         [iOS][WebKit2] <rdar://problem/16330387> Do not use the keyboard rect for computing the general unobscuredRect, only use it for centering
3900         https://bugs.webkit.org/show_bug.cgi?id=130382
3901
3902         Reviewed by Simon Fraser.
3903
3904         Always accumulating the keyboard rect out of the exposedRect caused some issues (see <rdar://problem/16330387>).
3905         This patch split the rect in two: unobscured rect for WebCore, and unobscuredContentRectIncludingKeyboard for centering
3906         UI Elements in view.
3907
3908         * UIProcess/API/Cocoa/WKWebView.mm:
3909         (-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
3910         (-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
3911         (-[WKWebView _zoomToRect:WebCore::withOrigin:WebCore::fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
3912         (-[WKWebView _contentRectForUserInteraction]):
3913         (-[WKWebView _updateVisibleContentRects]):
3914
3915 2014-03-19  Anders Carlsson  <andersca@apple.com>
3916
3917         Get rid of WKProcessClass
3918         https://bugs.webkit.org/show_bug.cgi?id=130478
3919
3920         Reviewed by Dan Bernstein.
3921
3922         * UIProcess/API/Cocoa/WKProcessClass.h: Removed.
3923         * UIProcess/API/Cocoa/WKProcessClass.mm: Removed.
3924         * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Removed.
3925         * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Removed.
3926         * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Removed.
3927         * UIProcess/API/Cocoa/WKProcessClassPrivate.h: Removed.
3928         * UIProcess/API/Cocoa/WKWebViewConfigurationToBeRemoved.mm: Removed.
3929         * WebKit2.xcodeproj/project.pbxproj:
3930
3931 2014-03-19  Jer Noble  <jer.noble@apple.com>
3932
3933         [Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
3934         https://bugs.webkit.org/show_bug.cgi?id=130459
3935
3936         Reviewed by Eric Carlson.
3937
3938         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3939         (InitWebCoreSystemInterface): Initialize the new WCSI method.
3940
3941 2014-03-19  Brady Eidson  <beidson@apple.com>
3942
3943         Filter out editable services from image menu for non-contenteditable images
3944         <rdar://problem/16319645> and https://bugs.webkit.org/show_bug.cgi?id=130437
3945
3946         Reviewed by Tim Horton.
3947
3948         * UIProcess/mac/WebContextMenuProxyMac.h:
3949         * UIProcess/mac/WebContextMenuProxyMac.mm:
3950         (-[WKSharingServicePickerDelegate setIncludeEditorServices:]):
3951         (-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
3952           Filter out editing services based on the includeEditorServices flag.
3953         (WebKit::WebContextMenuProxyMac::setupImageServicesMenu):
3954         (WebKit::WebContextMenuProxyMac::populate):
3955
3956 2014-03-19  Yongjun Zhang  <yongjun_zhang@apple.com>
3957
3958         [iOS] WebKit2 Quicklook.
3959         https://bugs.webkit.org/show_bug.cgi?id=130360
3960
3961         For WebKit2 resource loads, if we detect a quicklook content that QLConverter is able to
3962         convert, handle the response data to QLConverter and use its delegate WKWebResourceQuickLookDelegate
3963         to rounte the converted results (HTML) back into WebCore.  Thie similiar logic has been in place
3964         for WebKit1.
3965
3966         Reviewed by Tim Horton.
3967
3968         * WebKit2.xcodeproj/project.pbxproj: Add WebResourceLoaderIOS.mm to the project.
3969         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3970         * WebProcess/ios/WebResourceLoaderIOS.mm: Added.
3971         (-[WKWebResourceQuickLookDelegate initWithWebResourceLoader:WebKit::]): WKWebResourceQuickLookDelegate holds
3972             the original WebResourceLoader so that we could send converted result to WebCore.
3973         (-[WKWebResourceQuickLookDelegate connection:didReceiveDataArray:]):
3974         (-[WKWebResourceQuickLookDelegate connection:didReceiveData:lengthReceived:]):
3975         (-[WKWebResourceQuickLookDelegate connectionDidFinishLoading:]):
3976         (-[WKWebResourceQuickLookDelegate connection:didFailWithError:]):
3977         (-[WKWebResourceQuickLookDelegate clearHandle]):
3978         (WebKit::WebResourceLoader::setUpQuickLookHandleIfNeeded):
3979
3980 2014-03-19  Tim Horton  <timothy_horton@apple.com>
3981
3982         WebKit2 View Gestures: Swipe gesture can track vertical movement instead of horizontal movement
3983         https://bugs.webkit.org/show_bug.cgi?id=130441
3984         <rdar://problem/16337279>
3985
3986         Reviewed by Simon Fraser.
3987
3988         * UIProcess/mac/ViewGestureControllerMac.mm:
3989         (WebKit::scrollEventCanBecomeSwipe):
3990         Factor logic that determines if a scroll event can become a swipe
3991         out into scrollEventCanBecomeSwipe.
3992         Use <= instead of < when comparing the axes, because we don't want
3993         to start a swipe on a completely diagonal scroll either (because AppKit
3994         can start tracking a vertical swipe in that case).
3995
3996         (WebKit::ViewGestureController::handleScrollWheelEvent):
3997         (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
3998         Make use of scrollEventCanBecomeSwipe.
3999
4000 2014-03-18  Anders Carlsson  <andersca@apple.com>
4001
4002         Add new functionality that will be required by the history item decoding
4003         https://bugs.webkit.org/show_bug.cgi?id=130433
4004
4005         Reviewed by Sam Weinig.
4006
4007         * Shared/cf/KeyedDecoder.cpp:
4008         (WebKit::KeyedDecoder::decodeUInt32):
4009         (WebKit::KeyedDecoder::decodeInt32):
4010         (WebKit::KeyedDecoder::decodeFloat):
4011         * Shared/cf/KeyedDecoder.h:
4012
4013 2014-03-19  Tim Horton  <timothy_horton@apple.com>
4014
4015         [iOS] WebPDFViewPlaceholder divides-by-zero with an empty document
4016         https://bugs.webkit.org/show_bug.cgi?id=130444
4017         <rdar://problem/15580682>
4018
4019         Reviewed by Sam Weinig.
4020
4021         * UIProcess/ios/WKPDFView.mm:
4022         (-[WKPDFView web_setContentProviderData:]):
4023         Don't make UIPDFPageViews for null pages.
4024
4025 2014-03-18  Tim Horton  <timothy_horton@apple.com>
4026
4027         [iOS][WebKit2] Provide generic software-snapshotting API
4028         https://bugs.webkit.org/show_bug.cgi?id=130385
4029         <rdar://problem/16005957>
4030
4031         Reviewed by Sam Weinig.
4032
4033         * UIProcess/API/Cocoa/WKWebView.mm:
4034         (-[WKWebView _didCommitLayerTree:WebKit::]):
4035         (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
4036         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
4037         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
4038         (-[_WKThumbnailView initWithFrame:fromWKView:]):
4039         (-[_WKThumbnailView _requestSnapshotIfNeeded]):
4040         * UIProcess/WebPageProxy.cpp:
4041         (WebKit::WebPageProxy::internalShowContextMenu):
4042         * UIProcess/WebPageProxy.h:
4043         * WebProcess/WebPage/WebPage.cpp:
4044         (WebKit::WebPage::takeSnapshot):
4045         (WebKit::WebPage::scaledSnapshotWithOptions):
4046         (WebKit::WebPage::snapshotAtSize):
4047         * WebProcess/WebPage/WebPage.h:
4048         * WebProcess/WebPage/WebPage.messages.in:
4049         Rename TakeThumbnailSnapshot message to TakeSnapshot.
4050
4051         Fill the snapshot image with the FrameView's background color, to avoid
4052         half-pixel alpha around the edges.
4053
4054         Factor snapshotAtSize out of scaledSnapshotWithOptions.
4055
4056         Don't apply both the custom and device scale factor to the base CTM,
4057         only the device scale factor. Custom scale factor should only be
4058         applied to the user CTM.
4059
4060         * Shared/ImageOptions.h:
4061         Add a snapshot option, RespectDrawingAreaTransform, that maps
4062         the rect through the drawing area's root layer transform.
4063         Use this in place of the thumbnail-specific code in TakeThumbnailSnapshot.
4064         Add a snapshot option, ExcludeDeviceScaleFactor, which means that
4065         snapshotting will not factor the device scale in (useful for drawing
4066         to a bitmap at an exact requested size).
4067
4068 2014-03-18  Samuel White  <samuel_white@apple.com>
4069
4070         AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
4071         https://bugs.webkit.org/show_bug.cgi?id=130250
4072
4073         Reviewed by Chris Fleizach.
4074
4075         Added ability to toggle enhanced accessibility on and off to support tests that require it.
4076
4077         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4078         (WKAccessibilityEnableEnhancedAccessibility):
4079         (WKAccessibilityEnhancedAccessibilityEnabled):
4080         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
4081
4082 2014-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
4083
4084         [EFL][WK2] Rename async APIs for better consistency with EFL
4085         https://bugs.webkit.org/show_bug.cgi?id=130319
4086
4087         Reviewed by Gyuyoung Kim.
4088
4089         There are inconsistency with async keyword in several ewebkit2 APIs.
4090         This patch rename them to {module/feature}_async_{verb} for better consistency with EFL.
4091         In addition, added Async keyword into their callback name.
4092
4093         * UIProcess/API/efl/ewk_application_cache_manager.cpp:
4094         (EwkApplicationCacheOriginsAsyncData::EwkApplicationCacheOriginsAsyncData):
4095         (getApplicationCacheOriginsCallback):
4096         (ewk_application_cache_manager_origins_async_get):
4097         * UIProcess/API/efl/ewk_application_cache_manager.h:
4098         * UIProcess/API/efl/ewk_cookie_manager.cpp:
4099         (EwkCookiePolicyAsyncData::EwkCookiePolicyAsyncData):
4100         (getAcceptPolicyCallback):
4101         (ewk_cookie_manager_accept_policy_async_get):
4102         (EwkCookieHostnamesAsyncData::EwkCookieHostnamesAsyncData):
4103         (getHostnamesWithCookiesCallback):
4104         (ewk_cookie_manager_hostnames_with_cookies_async_get):
4105         * UIProcess/API/efl/ewk_cookie_manager.h:
4106         * UIProcess/API/efl/ewk_database_manager.cpp:
4107         (EwkDatabaseOriginsAsyncData::EwkDatabaseOriginsAsyncData):
4108         (getDatabaseOriginsCallback):
4109         (ewk_database_manager_origins_async_get):
4110         * UIProcess/API/efl/ewk_database_manager.h: