1 2014-04-03 Sam Weinig <sam@webkit.org>
3 [WebKit2] Promote user script SPI to API
4 https://bugs.webkit.org/show_bug.cgi?id=131181
6 Reviewed by Anders Carlsson.
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:
43 2014-04-03 Anders Carlsson <andersca@apple.com>
45 Make download policy decisions SPI for now
46 https://bugs.webkit.org/show_bug.cgi?id=131179
48 Reviewed by Sam Weinig.
50 * UIProcess/API/Cocoa/WKNavigationDelegate.h:
52 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
54 * UIProcess/Cocoa/NavigationState.mm:
55 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
56 (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
58 2014-04-02 Simon Fraser <simon.fraser@apple.com>
60 Harden FilterOperation type casting
61 https://bugs.webkit.org/show_bug.cgi?id=131142
63 Reviewed by Sam Weinig.
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().
69 Fix by making adding a DEFAULT filter operation type, and storing the represented
70 type on DefaultFilterOperation().
72 Also remove the OperationType argument for constructors of FilterOperations that
73 can only be of one type, to avoid possible mistakes.
75 Make the type cast macros a bit more normal, and use them in a few places.
77 Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
79 * Shared/WebCoreArgumentCoders.cpp:
80 (IPC::encodeFilterOperation):
81 (IPC::decodeFilterOperation):
82 * Shared/mac/RemoteLayerTreeTransaction.mm:
83 (WebKit::RemoteLayerTreeTextStream::operator<<):
85 2014-04-03 Alexey Proskuryakov <ap@apple.com>
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>
91 Reviewed by Tim Horton.
93 * UIProcess/API/mac/WKView.mm: (NATIVE_MOUSE_EVENT_HANDLER):
94 Don't confuse event handling machinery by sending events to WebProcess twice.
96 2014-04-03 Anders Carlsson <andersca@apple.com>
98 WKWebView should always have a UIDelegate, even when closed
99 https://bugs.webkit.org/show_bug.cgi?id=131174
100 <rdar://problem/16389248>
102 Reviewed by Sam Weinig.
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:
133 2014-04-02 Anders Carlsson <andersca@apple.com>
135 Document WKNavigationAction and WKNavigationResponse
136 https://bugs.webkit.org/show_bug.cgi?id=131138
138 Reviewed by Sam Weinig.
140 * UIProcess/API/Cocoa/WKFrameInfo.h:
141 * UIProcess/API/Cocoa/WKNavigationAction.h:
142 * UIProcess/API/Cocoa/WKNavigationResponse.h:
144 2014-04-03 Anders Carlsson <andersca@apple.com>
146 Make actionsForElement a proper API::UIClient member function
147 https://bugs.webkit.org/show_bug.cgi?id=131171
149 Reviewed by Sam Weinig.
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]):
160 2014-04-03 Martin Hodovan <mhodovan@inf.u-szeged.hu>
162 [WK2] Fix !ENABLE(BLOB) build
163 https://bugs.webkit.org/show_bug.cgi?id=131164
165 Reviewed by Alexey Proskuryakov.
167 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
168 (WebKit::NetworkConnectionToWebProcess::didClose):
169 * NetworkProcess/NetworkConnectionToWebProcess.h:
170 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
172 2014-04-03 Anders Carlsson <andersca@apple.com>
176 * UIProcess/ios/WKActionSheetAssistant.mm:
178 2014-04-03 Anders Carlsson <andersca@apple.com>
180 Rename UIClient.{h, mm} to UIDelegate.{h, mm}.
182 Rubber-stamped by Dan Bernstein.
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:
189 2014-04-03 Andrzej Badowski <a.badowski@samsung.com>
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
194 Reviewed by Gyuyoung Kim.
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.
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:
207 2014-04-02 Alexey Proskuryakov <ap@apple.com>
209 Sandbox violation in NetworkProcess when uploading a bundle
210 https://bugs.webkit.org/show_bug.cgi?id=131133
212 Reviewed by Brady Eidson.
214 * NetworkProcess/NetworkResourceLoader.cpp:
215 (WebKit::NetworkResourceLoader::cleanup):
216 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
217 Don't delete the files. It can't work.
219 2014-04-02 Jinwoo Song <jinwoo7.song@samsung.com>
221 [WK2][EFL] Remove unnecessary reinterpret_cast<> in unit testcase
222 https://bugs.webkit.org/show_bug.cgi?id=131143
224 Reviewed by Gyuyoung Kim.
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.
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):
239 2014-04-02 Tim Horton <timothy_horton@apple.com>
241 Remove a FIXME that happened.
243 * Shared/mac/RemoteLayerBackingStore.mm:
244 (WebKit::RemoteLayerBackingStore::display):
246 2014-04-02 Tim Horton <timothy_horton@apple.com>
248 Fix the !USE(IOSURFACE) build... again.
250 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
251 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
253 2014-04-02 Mark Rowe <mrowe@apple.com>
255 <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
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.
260 Reviewed by Andreas Kling.
262 * WebProcess/Plugins/PDF/PDFPlugin.mm:
263 (WebKit::PDFPlugin::clickedLink):
265 2014-04-02 Tim Horton <timothy_horton@apple.com>
267 Pool IOSurfaces to help with allocation cost
268 https://bugs.webkit.org/show_bug.cgi?id=131096
269 <rdar://problem/15373942>
271 Reviewed by Simon Fraser.
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.
280 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
281 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
282 Disable the pool in the UI process.
284 2014-04-02 Alice Barraclough <alice.barraclough@apple.com>
286 Fix a typo causing TestWebKitAPI to timeout when testing Find.
288 Reviewed by Dan Bernstein.
290 * UIProcess/API/C/WKPage.cpp:
291 (WKPageSetPageFindClient): Test for !functionPointer like
292 all the other implementations do.
294 2014-04-02 Dean Jackson <dino@apple.com>
296 [iOS] Expose geolocation provider on the process pool
297 https://bugs.webkit.org/show_bug.cgi?id=131125
299 Reviewed by Dan Bernstein.
301 Followup comments from Dan Bernstein. Use a class
302 extension rather than a new category.
304 * UIProcess/API/Cocoa/WKProcessPool.mm:
305 (-[WKProcessPool _geolocationProvider]):
306 * UIProcess/API/Cocoa/WKProcessPoolInternal.h:
308 2014-04-02 Tim Horton <timothy_horton@apple.com>
310 RemoteLayerBackingStore doesn't need to clear opaque layers
311 https://bugs.webkit.org/show_bug.cgi?id=131134
313 Reviewed by Simon Fraser.
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).
322 2014-04-02 Anders Carlsson <andersca@apple.com>
324 Document WKBackForwardList, WKBackForwardListItem and WKWebViewConfiguration
325 https://bugs.webkit.org/show_bug.cgi?id=131131
327 Reviewed by Dan Bernstein.
329 * UIProcess/API/Cocoa/WKBackForwardList.h:
330 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
331 * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
333 2014-04-02 Anders Carlsson <andersca@apple.com>
335 Document WKUIDelegate and WKWindowFeatures
336 https://bugs.webkit.org/show_bug.cgi?id=131124
338 Reviewed by Dan Bernstein.
340 * UIProcess/API/Cocoa/WKProcessPool.h:
341 * UIProcess/API/Cocoa/WKUIDelegate.h:
342 * UIProcess/API/Cocoa/WKWindowFeatures.h:
344 2014-04-02 Dean Jackson <dino@apple.com>
346 [iOS] Expose geolocation provider on the process pool
347 https://bugs.webkit.org/show_bug.cgi?id=131125
350 Reviewed by Dean Jackson.
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.
358 2014-04-02 Martin Hock <mhock@apple.com>
360 Unify private browsing with sessions.
361 https://bugs.webkit.org/show_bug.cgi?id=130099
363 Reviewed by Alexey Proskuryakov.
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.
382 2014-04-02 Alice Barraclough <alice.liu@apple.com>
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
387 Reviewed by Dan Bernstein.
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.
396 PageClientImplIOS handles setFindIndicator function by forwarding to its WKContentView,
397 but WKContentView _setFindIndicator remains unimplemented for now.
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:]):
411 (-[WKWebView _countStringMatches:options:maxCount:]):
412 (-[WKWebView _findString:options:maxCount:]):
413 (-[WKWebView _hideFindUI]):
414 (-[WKWebView _hostForFindUI]):
415 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
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:
443 2014-04-02 Anders Carlsson <andersca@apple.com>
445 Rename -[WKBackForwardListItem originalURL] to -[WKBackForwardListItem initialURL]
446 https://bugs.webkit.org/show_bug.cgi?id=131116
448 Reviewed by Antti Koivisto.
450 * UIProcess/API/Cocoa/WKBackForwardListItem.h:
451 * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
452 (-[WKBackForwardListItem initialURL]):
453 (-[WKBackForwardListItem originalURL]): Deleted.
455 2014-04-02 Antti Koivisto <antti@apple.com>
457 Split tile grid out from TileController
458 https://bugs.webkit.org/show_bug.cgi?id=131102
460 Reviewed by Simon Fraser.
462 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
463 (WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
464 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
466 2014-04-02 Anders Carlsson <andersca@apple.com>
468 Try a workaround for a crash
469 https://bugs.webkit.org/show_bug.cgi?id=131112
471 Reviewed by Sam Weinig.
473 * UIProcess/API/Cocoa/WKWebView.mm:
474 (-[WKWebView UIDelegate]):
475 (-[WKWebView setUIDelegate:]):
477 2014-04-02 Martin Robinson <mrobinson@igalia.com>
479 REGRESSION(r165704): [GTK] Inspector resources not correctly generated
480 https://bugs.webkit.org/show_bug.cgi?id=130343
482 Reviewed by Gustavo Noronha Silva.
484 * PlatformGTK.cmake: Pass all appropriate directories to the
485 GResources XML generation script.
487 2014-04-02 Carlos Garcia Campos <cgarcia@igalia.com>
489 [GTK] Move NEWS file to a new location
490 https://bugs.webkit.org/show_bug.cgi?id=130901
492 Reviewed by Brent Fulgham.
494 * gtk/NEWS: Renamed from Source/WebKit/gtk/NEWS.
496 2014-04-01 Benjamin Poulain <bpoulain@apple.com>
498 <rdar://problem/16294704> Remove _pageExtendedBackgroundColor entirely
499 https://bugs.webkit.org/show_bug.cgi?id=131075
501 Reviewed by Beth Dakin.
503 * UIProcess/API/Cocoa/WKWebView.mm:
504 (-[WKWebView _pageExtendedBackgroundColor]): Deleted.
505 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
507 2014-04-01 Anders Carlsson <andersca@apple.com>
509 Stub out more WKNavigation properties
510 https://bugs.webkit.org/show_bug.cgi?id=131080
512 Reviewed by Tim Horton.
514 * UIProcess/API/Cocoa/WKNavigation.h:
515 * UIProcess/API/Cocoa/WKNavigation.mm:
516 (-[WKNavigation initialRequest]):
517 (-[WKNavigation response]):
518 (-[WKNavigation error]):
520 2014-04-01 Anders Carlsson <andersca@apple.com>
522 Rename -[WKWebView activeURL] to -[WKWebView URL]
523 https://bugs.webkit.org/show_bug.cgi?id=131077
525 Reviewed by Tim Horton.
527 Keep -[WKWebView activeURL] as SPI until no clients depend on it.
529 * UIProcess/API/Cocoa/WKWebView.h:
530 * UIProcess/API/Cocoa/WKWebView.mm:
532 (-[WKWebView activeURL]):
533 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
534 * UIProcess/Cocoa/NavigationState.mm:
535 (WebKit::NavigationState::willChangeActiveURL):
536 (WebKit::NavigationState::didChangeActiveURL):
538 2014-04-01 Anders Carlsson <andersca@apple.com>
540 Move -[WKWebView stopLoading:] back to WKIBActions
541 https://bugs.webkit.org/show_bug.cgi?id=131072
543 Reviewed by Tim Horton.
545 * UIProcess/API/Cocoa/WKWebView.h:
546 * UIProcess/API/Cocoa/WKWebView.mm:
547 (-[WKWebView stopLoading:]):
549 2014-04-01 Anders Carlsson <andersca@apple.com>
552 https://bugs.webkit.org/show_bug.cgi?id=131068
554 Reviewed by Tim Horton.
556 * UIProcess/API/Cocoa/WKBackForwardList.h:
559 * WebKit2.xcodeproj/project.pbxproj:
560 Move files from the "Deprecated" group.
562 2014-04-01 Manuel Rego Casasnovas <rego@igalia.com>
564 [CSS Grid Layout] Enable runtime feature if feature flag is enabled
565 https://bugs.webkit.org/show_bug.cgi?id=130013
567 Reviewed by Simon Fraser.
569 Enable CSS Grid Layout runtime feature when ENABLE_CSS_GRID_LAYOUT flag is true.
571 * Shared/WebPreferencesStore.h:
573 2014-04-01 Anders Carlsson <andersca@apple.com>
575 Demote WKBackForwardListDidChangeNotification to SPI
576 https://bugs.webkit.org/show_bug.cgi?id=131059
578 Reviewed by Dan Bernstein.
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:
588 2014-04-01 Andy Estes <aestes@apple.com>
590 [Cocoa] Add SPI to determine if a WKWebView is displaying a PDF
591 https://bugs.webkit.org/show_bug.cgi?id=131063
593 Reviewed by Tim Horton.
595 * UIProcess/API/Cocoa/WKWebView.mm:
596 (-[WKWebView _isDisplayingPDF]):
597 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
599 2014-04-01 Simon Fraser <simon.fraser@apple.com>
601 Remove some explicit template instantiations from logging code
602 https://bugs.webkit.org/show_bug.cgi?id=131065
604 Reviewed by Tim Horton.
606 No need to explicitly state template types.
608 * Shared/mac/RemoteLayerTreeTransaction.mm:
609 (WebKit::dumpChangedLayers):
611 2014-04-01 Tim Horton <timothy_horton@apple.com>
613 [iOS WebKit2] Partial repaint is broken
614 https://bugs.webkit.org/show_bug.cgi?id=131056
616 Reviewed by Dean Jackson.
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.
624 2014-04-01 Anders Carlsson <andersca@apple.com>
626 Pass a WKNavigationAction to the create UIDelegate method
627 https://bugs.webkit.org/show_bug.cgi?id=131053
629 Reviewed by Sam Weinig.
631 * UIProcess/API/Cocoa/WKUIDelegate.h:
632 * UIProcess/Cocoa/UIClient.h:
633 * UIProcess/Cocoa/UIClient.mm:
634 (WebKit::UIClient::setDelegate):
635 (WebKit::UIClient::createNewPage):
637 2014-04-01 Benjamin Poulain <bpoulain@apple.com>
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
642 Reviewed by Sam Weinig.
644 The two finger pan should not block the pinch gesture recognizer.
646 * UIProcess/ios/WKContentViewInteraction.h:
647 * UIProcess/ios/WKContentViewInteraction.mm:
648 (-[WKContentView setupInteraction]):
649 (-[WKContentView cleanupInteraction]):
650 (-[WKContentView gestureRecognizerShouldBegin:]):
651 (-[WKContentView _twoFingerPanRecognized:]): Deleted.
653 2014-04-01 Anders Carlsson <andersca@apple.com>
655 Remove limits from WKBackForwardList getters
656 https://bugs.webkit.org/show_bug.cgi?id=131052
658 Reviewed by Beth Dakin.
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:
673 2014-04-01 Anders Carlsson <andersca@apple.com>
675 Stub out the web process -> UI process message SPI
676 https://bugs.webkit.org/show_bug.cgi?id=131048
678 Reviewed by Sam Weinig.
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:
700 2014-04-01 Andreas Kling <akling@apple.com>
702 Invalidate CFNetwork connection cache on memory pressure.
703 <https://webkit.org/b/131038>
705 Stop holding on to cached HTTP connections if we come under memory pressure.
707 Reviewed by Geoff Malloc-Garen.
709 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
710 (WebKit::NetworkProcess::platformLowMemoryHandler):
712 2014-04-01 Anders Carlsson <andersca@apple.com>
714 Tweak WKPreferences API
715 https://bugs.webkit.org/show_bug.cgi?id=131047
717 Reviewed by Simon Fraser.
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.
727 2014-03-31 Simon Fraser <simon.fraser@apple.com>
729 Enable WEB_TIMING on Mac and iOS
730 https://bugs.webkit.org/show_bug.cgi?id=128064
732 Reviewed by Sam Weinig, Brent Fulgham.
736 * Configurations/FeatureDefines.xcconfig:
738 2014-03-31 Simon Fraser <simon.fraser@apple.com>
740 [UI-side compositing] Fix animations, and add logging
741 https://bugs.webkit.org/show_bug.cgi?id=131011
743 Reviewed by Tim Horton.
745 UI-side animations were broken because GraphicsLayerCARemote::addAnimation()
746 never called the superclass, so fix.
748 Add logging for animations to the layer tree commit output.
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):
757 2014-04-01 Zalan Bujtas <zalan@apple.com>
759 Build fix after r166582.
761 * Shared/ContextMenuContextData.cpp:
762 (WebKit::ContextMenuContextData::ContextMenuContextData):
764 2014-04-01 Zalan Bujtas <zalan@apple.com>
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
769 Reviewed by Simon Fraser.
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.
775 No change in behavior.
777 * Shared/WebCoreArgumentCoders.cpp:
779 * UIProcess/API/efl/EwkView.cpp:
780 (EwkView::updateCursor):
782 2014-04-01 Joonghun Park <jh718.park@samsung.com>
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
787 Reviewed by Gyuyoung Kim.
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):
795 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
797 Don't copy the children map in webkitWebViewBaseContainerForall
798 https://bugs.webkit.org/show_bug.cgi?id=131016
800 Reviewed by Carlos Garcia Campos.
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.
806 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
808 [GTK] Don't copy the ResourceResponse object in webkitWebViewDecidePolicy
809 https://bugs.webkit.org/show_bug.cgi?id=131015
811 Reviewed by Carlos Garcia Campos.
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.
817 2014-04-01 Eunmi Lee <eunmi15.lee@samsung.com>
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
822 Reviewed by Gyuyoung Kim.
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
827 In that case, we should not apply page scale factor to coordinated
828 graphics to draw contents and calculate visible content rect.
830 Currently, page scale factor is applied twice to the coordinated
831 graphics and contents, so result of scaling is abnormal.
833 * UIProcess/CoordinatedGraphics/WebView.cpp:
834 (WebKit::WebView::transformToScene):
835 (WebKit::WebView::visibleContentsSize):
837 2014-04-01 Ryuan Choi <ryuan.choi@samsung.com>
839 [EFL][WK2] Rename ewk_application_cache_manager_delete{_all}
840 https://bugs.webkit.org/show_bug.cgi?id=131012
842 Reviewed by Gyuyoung Kim.
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.
847 In addition, fixed some typos in doxygen.
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:
858 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
860 Unreviewed GTK build fix after r166553.
862 * UIProcess/API/gtk/WebKitSettings.cpp:
863 (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Pass 'WebKit2.' as the second argument to WebPreferences::create().
865 2014-03-31 Ryuan Choi <ryuan.choi@samsung.com>
867 [EFL][WK2] Extract the control of page background out of color_set
868 https://bugs.webkit.org/show_bug.cgi?id=127539
870 Reviewed by Gyuyoung Kim.
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.
876 This patch added ewk_view_bg_color_{get|set} to change the background color.
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:
898 2014-03-31 Joonghun Park <jh718.park@samsung.com>
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
903 Reviewed by Gyuyoung Kim.
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):
918 2014-03-31 Anders Carlsson <andersca@apple.com>
920 Rename policy enums to match the delegate methods
921 https://bugs.webkit.org/show_bug.cgi?id=131002
923 Reviewed by Tim Horton.
925 * UIProcess/API/Cocoa/WKNavigationDelegate.h:
927 * UIProcess/Cocoa/NavigationState.mm:
928 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
929 (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
931 2014-03-31 Anders Carlsson <andersca@apple.com>
934 https://bugs.webkit.org/show_bug.cgi?id=131001
936 Reviewed by Simon Fraser.
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:]):
951 2014-03-31 Tim Horton <timothy_horton@apple.com>
955 * WebProcess/WebPage/WebPage.cpp:
956 (WebKit::WebPage::updatePreferences):
958 2014-03-31 Simon Fraser <simon.fraser@apple.com>
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):
970 2014-03-31 Anders Carlsson <andersca@apple.com>
972 Add a couple of iOS specific preferences
973 https://bugs.webkit.org/show_bug.cgi?id=130999
975 Reviewed by Simon Fraser.
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):
989 2014-03-31 Anders Carlsson <andersca@apple.com>
991 Add a new -[WKPreferences initWithUserDefaultsPrefixKey:] initializer
992 https://bugs.webkit.org/show_bug.cgi?id=130996
994 Reviewed by Simon Fraser.
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.").
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:
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):
1027 2014-03-31 Pratik Solanki <psolanki@apple.com>
1029 Remove duplicate entries in Derived Sources.
1031 Rubber-stamped by Anders Carlsson.
1033 * WebKit2.xcodeproj/project.pbxproj:
1035 2014-03-31 Tim Horton <timothy_horton@apple.com>
1039 * UIProcess/mac/RemoteLayerTreeHost.mm:
1040 (WebKit::RemoteLayerTreeHost::updateLayerTree):
1042 2014-03-31 Tim Horton <timothy_horton@apple.com>
1046 * UIProcess/mac/RemoteLayerTreeHost.mm:
1047 (WebKit::RemoteLayerTreeHost::updateLayerTree):
1049 2014-03-31 Anders Carlsson <andersca@apple.com>
1051 Rename -[WKNavigationAction destinationFrame] to -[WKNavigationAction targetFrame]
1052 https://bugs.webkit.org/show_bug.cgi?id=130994
1054 Reviewed by Dan Bernstein.
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):
1067 2014-03-31 Tim Horton <timothy_horton@apple.com>
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>
1073 Reviewed by Benjamin Poulain.
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.
1080 * Shared/mac/RemoteLayerBackingStore.mm:
1081 (RemoteLayerBackingStore::display):
1083 (RemoteLayerBackingStore::drawInContext):
1084 Don't flush the context immediately after painting.
1086 (RemoteLayerBackingStore::flush):
1087 Flush the current front surface/buffer's context.
1088 Clear the new pending-flush members.
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.
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.
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.
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.
1129 * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1130 (WebKit::PlatformCALayerRemote::properties):
1132 2014-03-31 Simon Fraser <simon.fraser@apple.com>
1134 [UI-side compositing] Proxy animations to the UI process
1135 https://bugs.webkit.org/show_bug.cgi?id=130946
1137 Reviewed by Tim Horton.
1139 Add encoding/decoding of TimingFunctions. Add encoding support
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
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.
1154 This requires that the RemoteLayerTreeHost* be passed down into property application,
1155 and that the RemoteLayerTreeHost have a reference to the drawing area.
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".
1160 Replace some "using namespace WebKit" with "namespace WebKit { }".
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):
1231 2014-03-31 Tim Horton <timothy_horton@apple.com>
1233 Double-buffer RemoteLayerBackingStore
1234 https://bugs.webkit.org/show_bug.cgi?id=130990
1236 Reviewed by Simon Fraser.
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.
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.
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.
1250 * Shared/mac/RemoteLayerBackingStore.h:
1251 * Shared/mac/RemoteLayerBackingStore.mm:
1252 (RemoteLayerBackingStore::ensureBackingStore):
1253 (RemoteLayerBackingStore::clearBackingStore):
1254 Factor clearBackingStore() out of ensureBackingStore() and display().
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.
1262 (RemoteLayerBackingStore::drawInContext):
1265 (RemoteLayerBackingStore::applyBackingStoreToLayer):
1268 (RemoteLayerBackingStore::createImageForFrontBuffer): Deleted.
1270 2014-03-31 Tim Horton <timothy_horton@apple.com>
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
1275 Reviewed by Simon Fraser.
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.
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.
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.
1287 This also means that the assumptions we would like to make won't be
1288 strong guarantees yet.
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.
1295 (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1296 Fix a typo ('cmponents').
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.
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.
1311 2014-03-31 Dean Jackson <dino@apple.com>
1313 Remove WEB_ANIMATIONS
1314 https://bugs.webkit.org/show_bug.cgi?id=130989
1316 Reviewed by Simon Fraser.
1318 Remove this feature flag until we plan to implement.
1320 * Configurations/FeatureDefines.xcconfig:
1322 2014-03-31 Simon Fraser <simon.fraser@apple.com>
1324 [iOS WK2] Hook up scroll events for accelerated overflow:scroll
1325 https://bugs.webkit.org/show_bug.cgi?id=130976
1327 Reviewed by Tim Horton.
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.
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.
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
1362 2014-03-29 Simon Fraser <simon.fraser@apple.com>
1364 Fix scrolling on OS X with UI-side compositing
1365 https://bugs.webkit.org/show_bug.cgi?id=130930
1367 Reviewed by Tim Horton.
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.
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):
1383 2014-03-31 Tim Horton <timothy_horton@apple.com>
1385 [iOS WebKit2] Disable tile cohort retention for now
1386 https://bugs.webkit.org/show_bug.cgi?id=130926
1387 <rdar://problem/16465413>
1389 Reviewed by Simon Fraser.
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.
1399 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1400 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
1401 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1403 2014-03-31 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1405 Buildfix after r166497.
1407 Reviewed by Csaba Osztrogonác.
1409 * UIProcess/API/efl/ewk_context.h: Missing EAPI added.
1411 2014-03-31 Martin Robinson <mrobinson@igalia.com>
1413 [GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
1414 https://bugs.webkit.org/show_bug.cgi?id=130936
1416 Reviewed by Carlos Garcia Campos.
1418 * UIProcess/API/gtk/WebKitVersion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.
1420 2014-03-31 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1422 [EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
1423 https://bugs.webkit.org/show_bug.cgi?id=129740
1425 Reviewed by Gyuyoung Kim.
1427 * PlatformEfl.cmake:
1428 Added the new SSL test.
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.
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.
1444 * UIProcess/API/efl/tests/test_ewk2_ssl.cpp:
1445 Added tests to check the TLS policy API.
1447 2014-03-31 Carlos Garcia Campos <cgarcia@igalia.com>
1449 Unreviewed. Fix GTK2 plugin process binary name after r166492.
1451 * PlatformGTK.cmake: Fix typo.
1453 2014-03-31 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
1455 Remove hostThisRegister() and hostThisValue()
1456 https://bugs.webkit.org/show_bug.cgi?id=130895
1458 Reviewed by Geoffrey Garen.
1460 Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
1462 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1463 (WebKit::callMethod):
1465 2014-03-31 Carlos Garcia Campos <cgarcia@igalia.com>
1467 [GTK] Add support for GTK3 plugins
1468 https://bugs.webkit.org/show_bug.cgi?id=130599
1470 Reviewed by Martin Robinson.
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.
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
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.
1507 2014-03-30 Andy Estes <aestes@apple.com>
1509 [Cocoa] Add an originatingWebView property to _WKDownload
1510 https://bugs.webkit.org/show_bug.cgi?id=130945
1512 Reviewed by Anders Carlsson.
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:].
1541 2014-03-29 Commit Queue <commit-queue@webkit.org>
1543 Unreviewed, rolling out r166434.
1544 https://bugs.webkit.org/show_bug.cgi?id=130938
1546 Caused crashes and other failures on cache tests (Requested by
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
1555 2014-03-28 Anders Carlsson <andersca@apple.com>
1557 Uncaught NSExceptions should crash the web process
1558 https://bugs.webkit.org/show_bug.cgi?id=130923
1559 <rdar://problem/16463751>
1561 Reviewed by Dan Bernstein.
1563 * WebProcess/cocoa/WebProcessCocoa.mm:
1564 (WebKit::WebProcess::platformInitializeWebProcess):
1566 2014-03-28 Csaba Osztrogonác <ossy@webkit.org>
1568 Unreviewed buildfix after r166441 and r166443.
1570 Missing PLATFORM(COCOA) guards added.
1572 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1573 (WebKit::NPRuntimeObjectMap::evaluate):
1574 * WebProcess/Plugins/PluginProxy.cpp:
1575 * WebProcess/Plugins/PluginProxy.h:
1577 2014-03-28 Stephanie Lewis <slewis@apple.com>
1579 Don't prevent AppSleep from sync messages.
1580 https://bugs.webkit.org/show_bug.cgi?id=130747.
1582 Reviewed by Anders Carlsson.
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.
1589 * PluginProcess/WebProcessConnection.cpp:
1590 (WebKit::WebProcessConnection::didReceiveSyncMessage):
1592 2014-03-28 Stephanie Lewis <slewis@apple.com>
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.
1597 Reviewed by Anders Carlsson.
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
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
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:
1635 2014-03-28 Stephanie Lewis <slewis@apple.com>
1637 Have the plugin process track visibility of it’s plugin and sleep when none
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
1642 Reviewed by Anders Carlsson.
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
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):
1670 2014-03-28 Brian Burg <bburg@apple.com>
1672 Web Replay: add page-level setting to bypass the MemoryCache
1673 https://bugs.webkit.org/show_bug.cgi?id=130728
1675 Reviewed by Timothy Hatcher.
1677 * UIProcess/APISession.cpp:
1678 (API::generateID): update the base ID for generating unique sessions.
1680 2014-03-28 Cody Krieger <cjk@apple.com>
1682 Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.
1684 https://bugs.webkit.org/show_bug.cgi?id=130875
1686 Reviewed by Anders Carlsson.
1688 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
1689 Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
1690 to the WKWebProcessPlugInFormDelegatePrivate protocol.
1692 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1693 Wire up the willSubmitForm() callback to the new
1694 WKWebProcessPlugInFormDelegatePrivate method.
1696 2014-03-28 Alexey Proskuryakov <ap@apple.com>
1698 [Mac] Enable async text input implementation
1699 https://bugs.webkit.org/show_bug.cgi?id=130856
1701 Reviewed by Sam Weinig.
1703 * UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):
1704 Temporarily work around <rdar://16393434>.
1706 2014-03-28 Alexey Proskuryakov <ap@apple.com>
1708 Move sync CancelComposition message under an ifdef
1709 https://bugs.webkit.org/show_bug.cgi?id=130908
1711 Reviewed by Enrica Casucci.
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:
1721 2014-03-28 Alexey Proskuryakov <ap@apple.com>
1723 [iOS] Don't cancel composition on selection change
1724 https://bugs.webkit.org/show_bug.cgi?id=130909
1726 Reviewed by Enrica Casucci.
1728 Fixing a recent regression from bug 130727.
1730 * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
1732 2014-03-28 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1734 [WK2] Removed unused method logChannelByName.
1735 https://bugs.webkit.org/show_bug.cgi?id=130897
1737 Reviewed by Anders Carlsson.
1739 * Platform/Logging.cpp:
1740 (WebKit::logChannelByName): Deleted.
1741 * Platform/Logging.h:
1743 2014-03-28 Alexey Proskuryakov <ap@apple.com>
1745 Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
1746 https://bugs.webkit.org/show_bug.cgi?id=130727
1748 Reviewed by Enrica Casucci.
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).
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.
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):
1771 2014-03-28 Mario Sanchez Prada <mario.prada@samsung.com>
1773 [GTK] Running minibrowser with url crashes in debug build
1774 https://bugs.webkit.org/show_bug.cgi?id=130492
1776 Reviewed by Martin Robinson.
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.
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().
1786 2014-03-27 Pratik Solanki <psolanki@apple.com>
1788 [iOS WebKit2] Tweak cache sizes for iOS
1789 https://bugs.webkit.org/show_bug.cgi?id=130871
1791 Reviewed by Sam Weinig.
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>.
1796 * Shared/CacheModel.cpp:
1797 (WebKit::calculateCacheSizes):
1799 2014-03-27 Jinwoo Song <jinwoo7.song@samsung.com>
1801 [WK2][EFL] Fix wrong parameter name in ewk_view_user_agent_set()
1802 https://bugs.webkit.org/show_bug.cgi?id=130888
1804 Reviewed by Gyuyoung Kim.
1806 * UIProcess/API/efl/ewk_view.h:
1808 2014-03-27 Alexey Proskuryakov <ap@apple.com>
1810 Confirm composition in resignFirstResponder, don't cancel it
1811 https://bugs.webkit.org/show_bug.cgi?id=130852
1813 Reviewed by Darin Adler.
1815 * UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]):
1817 2014-03-27 Pratik Solanki <psolanki@apple.com>
1819 [iOS WebKit2] Don't pass disk cache directory path on iOS
1820 https://bugs.webkit.org/show_bug.cgi?id=130862
1822 Reviewed by Sam Weinig.
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.
1827 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1828 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1829 * WebProcess/cocoa/WebProcessCocoa.mm:
1830 (WebKit::WebProcess::platformInitializeWebProcess):
1832 2014-03-27 Pratik Solanki <psolanki@apple.com>
1834 [iOS WebKit2] Share network process code between iOS and Mac
1835 https://bugs.webkit.org/show_bug.cgi?id=130861
1837 Reviewed by Sam Weinig.
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.
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:
1858 2014-03-27 Enrica Casucci <enrica@apple.com>
1860 Add support for AirPlay picker in WK2 for iOS.
1861 https://bugs.webkit.org/show_bug.cgi?id=130855
1862 <rdar://problem/15349859>
1864 Reviewed by Joseph Pecoraro and Benjamin Poulain.
1866 Adds support to display the airplay picker for iPhone and iPad
1868 The picker on iPad is displayed next to the airplay button.
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):
1905 2014-03-27 Benjamin Poulain <bpoulain@apple.com>
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
1910 Reviewed by Simon Fraser.
1912 * UIProcess/API/Cocoa/WKWebView.mm:
1913 (-[WKWebView initWithFrame:configuration:]):
1915 2014-03-27 Benjamin Poulain <bpoulain@apple.com>
1917 [iOS][WK2] Compute a good exposed rect when scaling WKContentView
1918 https://bugs.webkit.org/show_bug.cgi?id=130761
1920 Reviewed by Simon Fraser.
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
1926 -When zooming in, do not expand coverage.
1927 -When zooming out, add half a tile size on every side.
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:
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.
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
1955 (WebKit::WebPage::updateVisibleContentRects):
1957 2014-03-27 Anders Carlsson <andersca@apple.com>
1959 Add _ prefix to WKRemoteObjectRegistery and WKRemoteObjectInterface
1960 https://bugs.webkit.org/show_bug.cgi?id=130868
1962 Reviewed by Sam Weinig.
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.
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:
2042 2014-03-27 Commit Queue <commit-queue@webkit.org>
2044 Unreviewed, rolling out r166360.
2045 https://bugs.webkit.org/show_bug.cgi?id=130869
2047 Seems to have broken PLT (Requested by ap on #webkit).
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
2056 2014-03-27 Sam Weinig <sam@webkit.org>
2058 Support dynamic layer hosting context changes
2059 <rdar://problem/16278019>
2060 https://bugs.webkit.org/show_bug.cgi?id=130863
2062 Reviewed by Anders Carlsson.
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:
2072 2014-03-27 Simon Fraser <simon.fraser@apple.com>
2074 Don't leak the WKBrowsingContextController
2075 https://bugs.webkit.org/show_bug.cgi?id=130815
2077 Reviewed by Tim Horton.
2079 Use adoptNS to avoid leaking the WKBrowsingContextController.
2081 * UIProcess/ios/WKContentView.mm:
2082 (-[WKContentView browsingContextController]):
2084 2014-03-27 Joseph Pecoraro <pecoraro@apple.com>
2086 Web Inspector: Give WebProcess a proxy application entitlement
2087 https://bugs.webkit.org/show_bug.cgi?id=130806
2089 Reviewed by Timothy Hatcher.
2091 * Configurations/WebContent-iOS.entitlements:
2093 2014-03-27 Anders Carlsson <andersca@apple.com>
2095 Add reload and reloadFromOrigin as API
2096 https://bugs.webkit.org/show_bug.cgi?id=130858
2098 Reviewed by Simon Fraser.
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:]):
2108 2014-03-27 Anders Carlsson <andersca@apple.com>
2110 Rename WKFrameHandle to _WKFrameHandle
2111 https://bugs.webkit.org/show_bug.cgi?id=130847
2113 Reviewed by Tim Horton.
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.
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:
2137 2014-03-27 Alexey Proskuryakov <ap@apple.com>
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>
2144 Reviewed by Darin Adler.
2146 * Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode
2147 to RunLoop event source and timer modes.
2149 2014-03-27 Jae Hyun Park <jaepark@webkit.org>
2151 Remove LayerTreeContextCairo.cpp
2152 https://bugs.webkit.org/show_bug.cgi?id=130807
2154 Reviewed by Martin Robinson.
2156 * Shared/cairo/LayerTreeContextCairo.cpp: Removed.
2158 2014-03-27 Maciej Florek <m.florek@samsung.com>
2160 [EFL][WK2] Add tests of the set process model API
2161 https://bugs.webkit.org/show_bug.cgi?id=130830
2163 Reviewed by Gyuyoung Kim.
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
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):
2179 2014-03-27 Commit Queue <commit-queue@webkit.org>
2181 Unreviewed, rolling out r166296 and r166331.
2182 https://bugs.webkit.org/show_bug.cgi?id=130822
2184 caused some crashes and frequent assertion failures, and the
2185 fix is going to take a little while (Requested by thorton on
2188 Reverted changesets:
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
2195 "Assertion failure in RemoteLayerBackingStore::flush"
2196 https://bugs.webkit.org/show_bug.cgi?id=130810
2197 http://trac.webkit.org/changeset/166331
2199 2014-03-26 Tim Horton <timothy_horton@apple.com>
2201 Blind speculative iOS build fix.
2203 * WebProcess/WebPage/ios/WebPageIOS.mm:
2204 (WebKit::WebPage::viewportConfigurationChanged):
2206 2014-03-26 Benjamin Poulain <bpoulain@apple.com>
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
2211 Reviewed by Tim Horton.
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.
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 :)
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.
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):
2231 2014-03-26 Anders Carlsson <andersca@apple.com>
2233 Add a _WKScriptWorld class
2234 https://bugs.webkit.org/show_bug.cgi?id=130817
2236 Reviewed by Dan Bernstein.
2238 * UIProcess/API/Cocoa/_WKScriptWorld.h: Added.
2239 * UIProcess/API/Cocoa/_WKScriptWorld.mm: Added.
2241 (+[_WKScriptWorld defaultWorld]):
2242 (-[_WKScriptWorld init]):
2243 (-[_WKScriptWorld _initWithWorldID:]):
2244 * WebKit2.xcodeproj/project.pbxproj:
2246 2014-03-26 Anders Carlsson <andersca@apple.com>
2248 Rename a delegate method to -webView:didFinishNavigation:
2249 https://bugs.webkit.org/show_bug.cgi?id=130814
2251 Reviewed by Sam Weinig.
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):
2259 2014-03-26 Tim Horton <timothy_horton@apple.com>
2261 [iOS WebKit2] Crashes on swipe
2262 <rdar://problem/16440867>
2264 Reviewed by Benjamin Poulain.
2266 * UIProcess/ios/ViewGestureControllerIOS.mm:
2267 (WebKit::ViewGestureController::beginSwipeGesture):
2268 Get the IOSurfaceRef from the WebCore::IOSurface.
2270 2014-03-26 Simon Fraser <simon.fraser@apple.com>
2272 Fix the build: include UIKit headers inside the iOS #ifdef.
2274 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2276 2014-03-26 Simon Fraser <simon.fraser@apple.com>
2278 Hook up -webkit-overflow-scrolling:touch for iOS WK2
2279 https://bugs.webkit.org/show_bug.cgi?id=130809
2281 Reviewed by Tim Horton.
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.
2300 2014-03-26 Anders Carlsson <andersca@apple.com>
2302 Add -[WKWebView stopLoading]
2303 https://bugs.webkit.org/show_bug.cgi?id=130812
2305 Reviewed by Tim Horton.
2307 * UIProcess/API/Cocoa/WKWebView.h:
2308 * UIProcess/API/Cocoa/WKWebView.mm:
2309 (-[WKWebView stopLoading]):
2311 2014-03-26 Tim Horton <timothy_horton@apple.com>
2313 Assertion failure in RemoteLayerBackingStore::flush
2314 https://bugs.webkit.org/show_bug.cgi?id=130810
2315 <rdar://problem/16439276>
2317 Reviewed by Simon Fraser.
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.
2324 2014-03-26 Andy Estes <aestes@apple.com>
2326 [Cocoa] Expose DownloadClient::didFail() and DownloadClient::didCancel()
2327 https://bugs.webkit.org/show_bug.cgi?id=130805
2329 Reviewed by Dan Bernstein.
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):
2338 2014-03-26 Cody Krieger <cjk@apple.com>
2340 -[WKWebProcessPlugInNodeHandle HTMLInputElementIsUserEdited] and -HTMLTextAreaElementIsUserEdited do not return the correct values.
2342 https://bugs.webkit.org/show_bug.cgi?id=130804
2344 Reviewed by Dan Bernstein.
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
2353 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2354 Fix the capitalization of -HTMLInputElementIsUserEdited and
2355 -HTMLTextAreaElementIsUserEdited.
2357 2014-03-26 Andy Estes <aestes@apple.com>
2359 [Cocoa] Expose DownloadProxy::cancel()
2360 https://bugs.webkit.org/show_bug.cgi?id=130799
2362 Reviewed by Dan Bernstein.
2364 * UIProcess/API/Cocoa/_WKDownload.h:
2365 * UIProcess/API/Cocoa/_WKDownload.mm:
2366 (-[_WKDownload cancel]):
2368 2014-03-26 Timothy Hatcher <timothy@apple.com>
2370 Propagate the hiddenFromInspector flag on ResourceRequest in
2371 places when a new request a made or passed between processes.
2373 https://bugs.webkit.org/show_bug.cgi?id=130741
2375 Reviewed by Joseph Pecoraro.
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.
2385 2014-03-26 Andy Estes <aestes@apple.com>
2387 [Cocoa] Expose DownloadProxy::request()
2388 https://bugs.webkit.org/show_bug.cgi?id=130796
2390 Reviewed by Anders Carlsson.
2392 * UIProcess/API/Cocoa/_WKDownload.h:
2393 * UIProcess/API/Cocoa/_WKDownload.mm:
2394 (-[_WKDownload request]):
2396 2014-03-26 Anders Carlsson <andersca@apple.com>
2398 Pass a real FrameLoadRequest to Chrome::createWindow
2399 https://bugs.webkit.org/show_bug.cgi?id=130795
2401 Reviewed by Dan Bernstein.
2403 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2404 (WebKit::WebFrameLoaderClient::dispatchCreatePage):
2406 2014-03-26 Jeremy Jones <jeremyj@apple.com>
2408 Implement hasLiveStreamingContent property in WebAVPlayerController
2409 https://bugs.webkit.org/show_bug.cgi?id=128684
2411 Reviewed by Simon Fraser.
2413 Plumb through the seekable ranges to the fullscreen interface.
2415 * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
2416 Add declaration for setSeekableRangesVector()
2418 * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
2419 Add interface SetSeekableRangesVector()
2421 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2422 (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
2423 Add setSeekableRangesVector that translates the vector into a TimeRanges and calls setSeekableRanges()
2425 * WebProcess/ios/WebVideoFullscreenManager.h:
2426 Add setSeekableRanges()
2428 * WebProcess/ios/WebVideoFullscreenManager.mm:
2429 (WebKit::WebVideoFullscreenManager::setSeekableRanges):
2430 setSeekableRanges() converts TimeRanges to Vector and calls SetSeekableRangesVector()
2432 2014-03-26 Simon Fraser <simon.fraser@apple.com>
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
2437 Reviewed by Tim Horton.
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.
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:
2454 2014-03-26 Zoltan Horvath <zoltan@webkit.org>
2456 [CSS Shapes] Remove shape-inside support
2457 https://bugs.webkit.org/show_bug.cgi?id=130698
2459 Reviewed by David Hyatt.
2461 * Configurations/FeatureDefines.xcconfig:
2463 2014-03-26 Tim Horton <timothy_horton@apple.com>
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>
2469 Reviewed by Simon Fraser.
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.
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.
2491 (RemoteLayerBackingStore::drawInContext):
2492 Don't flush the context immediately after painting.
2494 (RemoteLayerBackingStore::applyBackingStoreToLayer):
2495 Move things around to reduce duplicated code.
2497 (RemoteLayerBackingStore::flush):
2498 Flush the current front surface/buffer's context.
2499 Clear the new pending-flush members.
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.
2507 2014-03-25 Simon Fraser <simon.fraser@apple.com>
2509 Add a new type of scrolling tree node for overflow scrolling
2510 https://bugs.webkit.org/show_bug.cgi?id=130763
2512 Reviewed by Tim Horton.
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.
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.
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:
2540 2014-03-26 Zan Dobersek <zdobersek@igalia.com>
2542 Unreviewed. Removing the remaining Automake cruft.
2544 * GNUmakefile.list.am: Removed.
2546 2014-03-25 Pratik Solanki <psolanki@apple.com>
2548 Remove PLATFORM(IOS) from NetworkProcessMac.mm
2549 https://bugs.webkit.org/show_bug.cgi?id=130751
2551 Reviewed by Alexey Proskuryakov.
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.
2556 * NetworkProcess/mac/NetworkProcessMac.mm:
2557 (WebKit::NetworkProcess::initializeProcessName):
2558 (WebKit::overrideSystemProxies):
2559 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2561 2014-03-25 Anders Carlsson <andersca@apple.com>
2563 Add a UI delegate callback for handling window.open
2564 https://bugs.webkit.org/show_bug.cgi?id=130757
2566 Reviewed by Sam Weinig.
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):
2576 2014-03-25 Anders Carlsson <andersca@apple.com>
2578 Move stopLoading: back for now.
2580 * UIProcess/API/Cocoa/WKWebView.h:
2581 * UIProcess/API/Cocoa/WKWebView.mm:
2582 (-[WKWebView stopLoading:]):
2584 2014-03-25 Anders Carlsson <andersca@apple.com>
2586 Change toolbarVisibility back to toolbarsVisibility
2587 https://bugs.webkit.org/show_bug.cgi?id=130749
2589 Reviewed by Tim Horton.
2591 * UIProcess/API/Cocoa/WKWindowFeatures.h:
2592 * UIProcess/API/Cocoa/WKWindowFeatures.mm:
2593 (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
2595 2014-03-25 Anders Carlsson <andersca@apple.com>
2597 Pass the source frame to the CreateNewPage message
2598 https://bugs.webkit.org/show_bug.cgi?id=130752
2600 Reviewed by Tim Horton.
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):
2613 2014-03-25 Anders Carlsson <andersca@apple.com>
2615 Add a WebFrame::fromCoreFrame static member function and use it where possible
2616 https://bugs.webkit.org/show_bug.cgi?id=130744
2618 Reviewed by Tim Horton.
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:
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:
2666 2014-03-25 Jeffrey Pfau <jpfau@apple.com>
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
2671 Reviewed by Anders Carlsson.
2673 * WebProcess/WebProcess.cpp:
2674 (WebKit::WebProcess::initializeWebProcess):
2676 2014-03-25 Joseph Pecoraro <pecoraro@apple.com>
2678 [iOS] Inspector View Indication Support
2679 https://bugs.webkit.org/show_bug.cgi?id=130709
2681 Reviewed by Simon Fraser.
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.
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.
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.
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.
2719 2014-03-25 Anders Carlsson <andersca@apple.com>
2721 Add more properties to WKWindowFeatures
2722 https://bugs.webkit.org/show_bug.cgi?id=130738
2724 Reviewed by Tim Horton.
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]):
2734 2014-03-25 Anders Carlsson <andersca@apple.com>
2738 * UIProcess/API/Cocoa/WKWebView.h:
2739 * UIProcess/API/Cocoa/WKWebView.mm:
2740 Make WKIBActions OS X only for now.
2742 2014-03-25 Anders Carlsson <andersca@apple.com>
2744 Begin stubbing out a WKWindowFeatures class
2745 https://bugs.webkit.org/show_bug.cgi?id=130733
2747 Reviewed by Dan Bernstein.
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:
2759 2014-03-25 Anders Carlsson <andersca@apple.com>
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
2764 Reviewed by Tim Horton.
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:]):
2775 2014-03-25 Martin Robinson <mrobinson@igalia.com>
2777 [GTK] Remove the autotools build
2778 https://bugs.webkit.org/show_bug.cgi?id=130717
2780 Reviewed by Anders Carlsson.
2782 * GNUmakefile.am: Removed.
2783 * WebKit2Prefix.h: Removed references to the autotools configure file.
2786 2014-03-25 Michał Pakuła vel Rutka <m.pakula@samsung.com>
2788 [EFL][WK2] Add NETWORK_PROCESS build option
2789 https://bugs.webkit.org/show_bug.cgi?id=130131
2791 Reviewed by Gyuyoung Kim.
2793 * PlatformEfl.cmake: Add file needed to build with NETWORK_PROCESS enabled.
2795 2014-03-24 Michał Pakuła vel Rutka <m.pakula@samsung.com>
2797 [EFL][WK2] Add an API to set process model
2798 https://bugs.webkit.org/show_bug.cgi?id=130133
2800 Reviewed by Gyuyoung Kim.
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.
2807 * UIProcess/API/efl/ewk_context.cpp:
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:
2819 2014-03-24 Chris Fleizach <cfleizach@apple.com>
2821 AX: hit-testing doesn't always work correctly with WK2
2822 https://bugs.webkit.org/show_bug.cgi?id=130706
2824 Reviewed by Simon Fraser.
2826 Accessibility code was trying to do screenToRootView itself, and in
2827 some cases with embedded WK2 views that did not work.
2829 * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
2830 (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
2832 2014-03-24 Benjamin Poulain <bpoulain@apple.com>
2834 [WK2] SpinLock are not initialized by default, ViewUpdateDispatcher is missing an initializer
2835 https://bugs.webkit.org/show_bug.cgi?id=130705
2837 Reviewed by Simon Fraser.
2839 * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
2840 (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):
2842 2014-03-24 Enrica Casucci <enrica@apple.com>
2844 [iOS WebKit2] Dictation support.
2845 https://bugs.webkit.org/show_bug.cgi?id=130622
2846 <rdar://problem/15337316>
2848 Reviewed by Benjamin Poulain.
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
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):
2879 2014-03-24 Andy Estes <aestes@apple.com>
2881 Yet another iOS build fix, for the 32-bit build this time.
2883 * Shared/Downloads/ios/DownloadIOS.mm:
2884 (WebKit::setUpDownloadClient):
2886 2014-03-24 Tim Horton <timothy_horton@apple.com>
2888 REGRESSION (r165872): Double-applying device scale to snapshots
2889 https://bugs.webkit.org/show_bug.cgi?id=130697
2890 <rdar://problem/16396629>
2892 Reviewed by Simon Fraser.
2894 * WebProcess/WebPage/WebPage.cpp:
2895 (WebKit::WebPage::scaledSnapshotWithOptions):
2896 Drive-by, make scaledSnapshotWithOptions respect SnapshotOptionsExcludeDeviceScaleFactor.
2898 (WebKit::WebPage::snapshotAtSize):
2899 Divide the device scale out of the scale factor
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.
2905 2014-03-24 Brent Fulgham <bfulgham@apple.com>
2907 Activate WebVTT Tests Once Merging is Complete
2908 https://bugs.webkit.org/show_bug.cgi?id=130420
2910 Reviewed by Eric Carlson.
2912 * Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)
2914 2014-03-24 Andy Estes <aestes@apple.com>
2918 * Shared/Downloads/ios/DownloadIOS.mm:
2919 (WebKit::setUpDownloadClient):
2920 * UIProcess/Cocoa/DownloadClient.mm:
2922 2014-03-24 Mark Rowe <mrowe@apple.com>
2924 Build fix after r166186.
2926 * UIProcess/Cocoa/DownloadClient.mm:
2928 2014-03-24 Benjamin Poulain <bpoulain@apple.com>
2930 [WK2] Make updates on ViewUpdateDispatcher less heavy
2931 https://bugs.webkit.org/show_bug.cgi?id=130626
2933 Reviewed by Darin Adler.
2935 * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
2936 (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
2937 (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
2938 * WebProcess/WebPage/ViewUpdateDispatcher.h:
2940 2014-03-24 Benjamin Poulain <bpoulain@apple.com>
2942 [iOS][WK2] Micro-optimize view state updates on the UIProcess side
2943 https://bugs.webkit.org/show_bug.cgi?id=130631
2945 Reviewed by Darin Adler.
2947 * UIProcess/API/Cocoa/WKWebView.mm:
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.
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:]):
2961 2014-03-24 Dean Jackson <dino@apple.com>
2963 Remove WebGL asset entitlement
2964 https://bugs.webkit.org/show_bug.cgi?id=130685
2966 Reviewed by Simon Fraser.
2968 No longer necessary on iOS.
2970 * Configurations/WebContent-iOS.entitlements:
2972 2014-03-24 Andy Estes <aestes@apple.com>
2974 [iOS] Download support by CFURLDownloadRef under USE(CFNETWORK).
2975 https://bugs.webkit.org/show_bug.cgi?id=129322
2977 Reviewed by Anders Carlsson.
2979 Based on an original patch by Yongjun Zhang <yongjun_zhang@apple.com>.
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.
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:
3008 2014-03-24 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
3010 [EFL][WK2] Buildfix after r166159.
3012 Reviewed by Csaba Osztrogonác.
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):
3018 2014-03-24 Jinwoo Song <jinwoo7.song@samsung.com>
3020 [EFL][WK2] Use C API inside ewk_settings
3021 https://bugs.webkit.org/show_bug.cgi?id=107820
3023 Reviewed by Gyuyoung Kim.
3025 Use C API inside ewk_settings instead of accessing directly
3026 internal C++ classes, to avoid violating API layering.
3028 Original-author: Christophe Dumez <ch.dumez@sisa.samsung.com>
3030 * UIProcess/API/efl/EwkView.cpp:
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):
3072 2014-03-24 Zan Dobersek <zdobersek@igalia.com>
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
3077 Reviewed by Carlos Garcia Campos.
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.
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.
3087 2014-03-24 Ryuan Choi <ryuan.choi@samsung.com>
3089 [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
3090 https://bugs.webkit.org/show_bug.cgi?id=130662
3092 Reviewed by Gyuyoung Kim.
3094 Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in remained WebKit2/Efl specific code.
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):
3109 2014-03-23 Hyowon Kim <hw1008.kim@samsung.com>
3111 Move all EFL typedefs into EflTypedefs.h.
3112 https://bugs.webkit.org/show_bug.cgi?id=130511
3114 Reviewed by Gyuyoung Kim.
3116 * Shared/API/c/efl/WKArrayEfl.h: Remove EFL typedefs.
3117 * UIProcess/API/efl/EwkView.h: Ditto.
3119 2014-03-23 Jinwoo Song <jinwoo7.song@samsung.com>
3121 [WK2] Refine WebKit2 BatteryStatus code
3122 https://bugs.webkit.org/show_bug.cgi?id=130573
3124 Reviewed by Anders Carlsson.
3127 - Return PassRef instead of PassRefPtr in create methods
3128 - Use auto instead of iterator
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):
3140 2014-03-23 Sam Weinig <sam@webkit.org>
3142 Simplify the HTMLConverter interface (Part 2)
3143 https://bugs.webkit.org/show_bug.cgi?id=130654
3145 Reviewed by Darin Adler.
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):
3157 2014-03-23 David Kilzer <ddkilzer@apple.com>
3159 WebKit::resistanceForDelta() truncates 'scaleDistance' to integer value using abs()
3160 <http://webkit.org/b/130651>
3162 Reviewed by Darin Adler.
3164 Fixes the following build failure with trunk clang:
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);
3169 WebKit2/UIProcess/mac/ViewGestureControllerMac.mm:112:28: note: use function 'fabs' instead
3170 double scaleDistance = abs(limit - currentScale);
3174 * UIProcess/mac/ViewGestureControllerMac.mm:
3175 (WebKit::resistanceForDelta): Use fabs() instead of abs().
3177 2014-03-23 Simon Fraser <simon.fraser@apple.com>
3179 Clean up #includes by geometry classes
3180 https://bugs.webkit.org/show_bug.cgi?id=130645
3182 Reviewed by Andreas Kling.
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.
3189 Also forward declare PrintStream.h and only bring in the header
3190 in implementation files.
3192 * Shared/UpdateInfo.h:
3193 * UIProcess/BackingStore.h:
3194 * UIProcess/CoordinatedGraphics/PageViewportController.h:
3195 * UIProcess/FindIndicator.cpp:
3196 * UIProcess/mac/WKPrintingView.h:
3198 2014-03-23 Simon Fraser <simon.fraser@apple.com>
3200 Clean up #includes by geometry classes
3201 https://bugs.webkit.org/show_bug.cgi?id=130645
3203 Reviewed by Andreas Kling.
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.
3210 Also forward declare PrintStream.h and only bring in the header
3211 in implementation files.
3213 * UIProcess/BackingStore.h:
3214 * UIProcess/FindIndicator.cpp:
3215 * UIProcess/mac/WKPrintingView.h:
3217 2014-03-22 Alexey Proskuryakov <ap@apple.com>
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>
3223 Reviewed by Darin Adler.
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.
3231 2014-03-21 Benjamin Poulain <bpoulain@apple.com>
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
3236 Reviewed by Simon Fraser.
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):
3255 2014-03-21 Alexey Proskuryakov <ap@apple.com>
3257 REGRESSION (r165356): Predictive Chinese input is broken
3258 https://bugs.webkit.org/show_bug.cgi?id=130619
3260 Reviewed by Enrica Casucci.
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.
3267 2014-03-21 Sam Weinig <sam@webkit.org>
3269 [WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
3270 https://bugs.webkit.org/show_bug.cgi?id=130528
3272 Reviewed by Tim Horton.
3274 * Platform/IPC/Connection.h:
3275 * Platform/IPC/mac/ConnectionMac.cpp:
3276 (IPC::Connection::getAuditToken):
3277 Expose the audit data if available.
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.
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.
3292 2014-03-21 Tim Horton <timothy_horton@apple.com>
3294 Always retrieve the screen scale factor from WKSI
3295 <rdar://problem/16329679>
3297 Reviewed by Sam Weinig.
3299 * UIProcess/ios/WKContentView.mm:
3300 (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
3301 (-[WKContentView _updateForScreen:]):
3302 Use WKGetScreenScaleFactor/WKGetScaleFactorForScreen.
3304 2014-03-21 Yongjun Zhang <yongjun_zhang@apple.com>
3306 [Webkit2] Add APIDownloadClient for download support.
3307 https://bugs.webkit.org/show_bug.cgi?id=130484
3309 Add API::DownloadClient to WebContext and get rid of WebDownloadClient.
3311 Reviewed by Anders Carlsson.
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:
3338 2014-03-21 Alexey Proskuryakov <ap@apple.com>
3340 ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
3341 https://bugs.webkit.org/show_bug.cgi?id=130526
3342 <rdar://problem/16371612>
3344 This was fixed yesterday for sync code path, landing the same this for async one.
3346 * UIProcess/API/mac/WKView.mm: (-[WKView performKeyEquivalent:]):
3348 2014-03-21 Pratik Solanki <psolanki@apple.com>
3350 Add callbacks in WebKit2 Cocoa API for page load testing
3351 https://bugs.webkit.org/show_bug.cgi?id=130569
3353 Reviewed by Anders Carlsson.
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):
3366 2014-03-21 Ryuan Choi <ryuan.choi@samsung.com>
3368 [EFL][WK2] Remove Ewk_Error parameter from some async callbacks
3369 https://bugs.webkit.org/show_bug.cgi?id=130567
3371 Reviewed by Gyuyoung Kim.
3373 WebKit2 internally uses GenericCallbacks for several APIs such as WKKeyValueStorageManagerGetKeyValueStorageOrigins.
3374 But only few callbacks really return errors.
3376 This patch removes Ewk_Error parameters from these callbacks not to make
3377 the confusion for application developers.
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):
3397 2014-03-21 Darin Adler <darin@apple.com>
3399 Improve idiom used for string building in a few places
3400 https://bugs.webkit.org/show_bug.cgi?id=130561
3402 Reviewed by Andreas Kling.
3404 * Shared/mac/ChildProcessMac.mm:
3405 (WebKit::ChildProcess::initializeSandbox): Use a more efficient idiom for string
3408 * UIProcess/WebInspectorProxy.cpp:
3409 (WebKit::WebInspectorProxy::createInspectorPage): Use a StringBuilder.
3411 2014-03-20 Hyowon Kim <hw1008.kim@samsung.com>
3413 Move to using std::unique_ptr for EFL objects.
3414 https://bugs.webkit.org/show_bug.cgi?id=129853
3416 Reviewed by Gyuyoung Kim.
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.
3422 * Platform/Module.h:
3423 * Platform/efl/ModuleEfl.cpp:
3424 (WebKit::Module::load):
3425 * UIProcess/API/efl/EwkView.cpp:
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):
3434 2014-03-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3436 [EFL][GTK] Get CMake to find Freetype2 properly
3437 https://bugs.webkit.org/show_bug.cgi?id=130150
3439 Reviewed by Martin Robinson.
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.
3445 * PlatformEfl.cmake:
3447 2014-03-20 Martin Robinson <mrobinson@igalia.com>
3449 [GTK] Suppress errors about using gdk_threads_enter gdk_threads_leave
3450 https://bugs.webkit.org/show_bug.cgi?id=130517
3452 Reviewed by Sergio Villar Senin.
3454 * UIProcess/API/gtk/WebKitWebView.cpp: Use GCC suppression to suppress errors about deprecations.
3455 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: Ditto.
3457 2014-03-20 Ryuan Choi <ryuan.choi@samsung.com>
3459 [EFL][WK2] tests of test_ewk2_cookie_manager are flaky
3460 https://bugs.webkit.org/show_bug.cgi?id=130498
3462 Reviewed by Gyuyoung Kim.
3464 Loaded web page before calling getAcceptPolicy() to guarantee that webprocess
3465 or networkprocess was launched and registered WebCookieManager.
3467 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
3470 2014-03-20 Commit Queue <commit-queue@webkit.org>
3472 Unreviewed, rolling out r165985.
3473 https://bugs.webkit.org/show_bug.cgi?id=130551
3475 broke page loading on all cocoa platforms (Requested by
3476 thorton on #webkit).
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
3485 2014-03-20 Alexey Proskuryakov <ap@apple.com>
3487 Fix a long-standing typo that's now breaking USE(ASYNC_NSTEXTINPUTCLIENT) build.
3489 Rubber-stamped by Tim Horton.
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).
3495 2014-03-20 Enrica Casucci <enrica@apple.com>
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>
3501 Reviewed by Tim Horton.
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.
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):
3518 2014-03-20 Alexey Proskuryakov <ap@apple.com>
3520 Generalize WebInspector check in maybeInitializeSandboxExtensionHandle().
3521 https://bugs.webkit.org/show_bug.cgi?id=130079
3522 <rdar://problem/16286683>
3524 Reviewed by Anders Carlsson.
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.
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.
3536 2014-03-20 Csaba Osztrogonác <ossy@webkit.org>
3538 Unreviewed buildfix after r165983 for non Cocoa platforms.
3540 * UIProcess/API/C/WKAPICast.h:
3541 * UIProcess/API/C/WKPreferences.cpp:
3542 * UIProcess/efl/WebInspectorProxyEfl.cpp:
3544 2014-03-20 Beth Dakin <bdakin@apple.com>
3546 Implement contentInset for Mac WebKit2
3547 https://bugs.webkit.org/show_bug.cgi?id=130273
3549 Reviewed by Simon Fraser.
3551 This patch adds WKView API for setting a topContentInset(). All of this work gets
3552 that number plumbed down to WebCore.
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:
3578 2014-03-20 Anders Carlsson <andersca@apple.com>
3582 * UIProcess/API/Cocoa/WKProcessPoolConfiguration.mm:
3584 2014-03-20 Anders Carlsson <andersca@apple.com>
3586 Make WKProcessPoolConfiguration SPI
3587 https://bugs.webkit.org/show_bug.cgi?id=130537
3589 Reviewed by Tim Horton.
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:
3617 2014-03-20 Tim Horton <timothy_horton@apple.com>
3619 Add WebCore::IOSurface wrapper
3620 https://bugs.webkit.org/show_bug.cgi?id=130529
3622 Reviewed by Simon Fraser.
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.
3643 2014-03-20 Alexey Proskuryakov <ap@apple.com>
3645 Update iOS input method code to use new cross-platform async functions
3646 https://bugs.webkit.org/show_bug.cgi?id=130530
3648 Reviewed by Enrica Casucci.
3650 Merge identical iOS and cross-platform functions.
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.
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):
3676 2014-03-20 Alexey Proskuryakov <ap@apple.com>
3678 ASSERTION FAILED: event == [NSApp currentEvent] hitting Command-+
3679 https://bugs.webkit.org/show_bug.cgi?id=130526
3680 <rdar://problem/16371612>
3682 Reviewed by Anders Carlsson.
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.
3689 2014-03-20 Anders Carlsson <andersca@apple.com>
3693 Rename WKPreferencesPrivate.h to WKPreferencesRefPrivate.h.
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:
3699 2014-03-20 Gavin Barraclough <barraclough@apple.com>
3701 Merge AtomicString, Identifier
3702 https://bugs.webkit.org/show_bug.cgi?id=128624
3704 Unreviewed build fix following r165982.
3706 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3709 2014-03-20 Sam Weinig <sam@webkit.org>
3711 [WebKit2] Implement NetworkingContext::sourceApplicationAuditData() for WebKit2
3712 https://bugs.webkit.org/show_bug.cgi?id=130528
3714 Reviewed by Anders Carlsson.
3716 * Platform/IPC/Connection.h:
3717 * Platform/IPC/mac/ConnectionMac.cpp:
3718 (IPC::Connection::getAuditToken):
3719 Expose the audit data if available.
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.
3727 2014-03-20 Sam Weinig <sam@webkit.org>
3729 [Cocoa] Expose preference to enable telephone number detection
3730 https://bugs.webkit.org/show_bug.cgi?id=130524
3732 Reviewed by Anders Carlsson.
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:
3741 2014-03-19 Alexey Proskuryakov <ap@apple.com>
3743 [Mac] Support asynchronous NSTextInputClient
3744 https://bugs.webkit.org/show_bug.cgi?id=130479
3746 Reviewed by Anders Carlsson.
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.
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
3760 * UIProcess/API/mac/WKViewInternal.h: We no longer expose _interpretKeyEvent outside
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).
3772 * UIProcess/WebPageProxy.messages.in: Added messages for new async IM responses.
3774 * UIProcess/ios/WebPageProxyIOS.mm: Removed insertDictatedText() and getAttributedSubstringFromRange().
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.
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).
3787 * WebProcess/WebPage/WebPage.messages.in: Added async messages, moved some messages
3788 under PLATFORM(MAC).
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.
3793 2014-03-20 Martin Robinson <mrobinson@igalia.com>
3795 Remove remaining GTK+ unused parameter warnings from WebKit2
3796 https://bugs.webkit.org/show_bug.cgi?id=130518
3798 Reviewed by Sergio Villar Senin.
3800 Fix almost all unused parameter warnings in the WebKit2GTK+ build.
3802 2014-03-20 Commit Queue <commit-queue@webkit.org>
3804 Unreviewed, rolling out r165962.
3805 https://bugs.webkit.org/show_bug.cgi?id=130512
3807 It broke the build (Requested by Ossy on #webkit).
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
3815 2014-03-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3817 [EFL][GTK] Get CMake to find Freetype2 properly
3818 https://bugs.webkit.org/show_bug.cgi?id=130150
3820 Reviewed by Csaba Osztrogonác.
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.
3826 * PlatformEfl.cmake:
3828 2014-03-20 Ryuan Choi <ryuan.choi@samsung.com>
3830 [EFL][WK2] test_ewk2_application_cache_manager is flaky
3831 https://bugs.webkit.org/show_bug.cgi?id=130501
3833 Reviewed by Gyuyoung Kim.
3835 * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
3836 (timerCallback): Return ECORE_CALLBACK_CANCEL to clear the timer.
3838 2014-03-19 Tim Horton <timothy_horton@apple.com>
3840 Address late review comment and style nit after r165934.
3842 * UIProcess/ios/ViewGestureControllerIOS.mm:
3843 (WebKit::ViewGestureController::beginSwipeGesture):
3845 2014-03-19 Tim Horton <timothy_horton@apple.com>
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>
3851 Reviewed by Simon Fraser.
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.
3858 2014-03-19 Anders Carlsson <andersca@apple.com>
3860 Get rid of two IPC::Connection functions by folding them into lambdas
3861 https://bugs.webkit.org/show_bug.cgi?id=130482
3863 Reviewed by Tim Horton.
3865 * Platform/IPC/Connection.cpp:
3866 (IPC::Connection::addWorkQueueMessageReceiver):
3867 (IPC::Connection::removeWorkQueueMessageReceiver):
3868 * Platform/IPC/Connection.h:
3870 2014-03-19 Simon Fraser <simon.fraser@apple.com>
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
3875 Reviewed by Anders Carlsson.
3877 Expose page and text zoom as SPI.
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:
3887 2014-03-19 Benjamin Poulain <bpoulain@apple.com>
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
3892 Reviewed by Beth Dakin.
3894 * UIProcess/API/Cocoa/WKWebView.mm:
3895 (-[WKWebView _updateScrollViewBackground]):
3897 2014-03-19 Benjamin Poulain <bpoulain@apple.com>
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
3902 Reviewed by Simon Fraser.
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.
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]):
3915 2014-03-19 Anders Carlsson <andersca@apple.com>
3917 Get rid of WKProcessClass
3918 https://bugs.webkit.org/show_bug.cgi?id=130478
3920 Reviewed by Dan Bernstein.
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:
3931 2014-03-19 Jer Noble <jer.noble@apple.com>
3933 [Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
3934 https://bugs.webkit.org/show_bug.cgi?id=130459
3936 Reviewed by Eric Carlson.
3938 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3939 (InitWebCoreSystemInterface): Initialize the new WCSI method.
3941 2014-03-19 Brady Eidson <beidson@apple.com>
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
3946 Reviewed by Tim Horton.
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):
3956 2014-03-19 Yongjun Zhang <yongjun_zhang@apple.com>
3958 [iOS] WebKit2 Quicklook.
3959 https://bugs.webkit.org/show_bug.cgi?id=130360
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
3966 Reviewed by Tim Horton.
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):
3980 2014-03-19 Tim Horton <timothy_horton@apple.com>
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>
3986 Reviewed by Simon Fraser.
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).
3996 (WebKit::ViewGestureController::handleScrollWheelEvent):
3997 (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
3998 Make use of scrollEventCanBecomeSwipe.
4000 2014-03-18 Anders Carlsson <andersca@apple.com>
4002 Add new functionality that will be required by the history item decoding
4003 https://bugs.webkit.org/show_bug.cgi?id=130433
4005 Reviewed by Sam Weinig.
4007 * Shared/cf/KeyedDecoder.cpp:
4008 (WebKit::KeyedDecoder::decodeUInt32):
4009 (WebKit::KeyedDecoder::decodeInt32):
4010 (WebKit::KeyedDecoder::decodeFloat):
4011 * Shared/cf/KeyedDecoder.h:
4013 2014-03-19 Tim Horton <timothy_horton@apple.com>
4015 [iOS] WebPDFViewPlaceholder divides-by-zero with an empty document
4016 https://bugs.webkit.org/show_bug.cgi?id=130444
4017 <rdar://problem/15580682>
4019 Reviewed by Sam Weinig.
4021 * UIProcess/ios/WKPDFView.mm:
4022 (-[WKPDFView web_setContentProviderData:]):
4023 Don't make UIPDFPageViews for null pages.
4025 2014-03-18 Tim Horton <timothy_horton@apple.com>
4027 [iOS][WebKit2] Provide generic software-snapshotting API
4028 https://bugs.webkit.org/show_bug.cgi?id=130385
4029 <rdar://problem/16005957>
4031 Reviewed by Sam Weinig.
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.
4051 Fill the snapshot image with the FrameView's background color, to avoid
4052 half-pixel alpha around the edges.
4054 Factor snapshotAtSize out of scaledSnapshotWithOptions.
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.
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).
4068 2014-03-18 Samuel White <samuel_white@apple.com>
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
4073 Reviewed by Chris Fleizach.
4075 Added ability to toggle enhanced accessibility on and off to support tests that require it.
4077 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4078 (WKAccessibilityEnableEnhancedAccessibility):
4079 (WKAccessibilityEnhancedAccessibilityEnabled):
4080 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
4082 2014-03-18 Ryuan Choi <ryuan.choi@samsung.com>
4084 [EFL][WK2] Rename async APIs for better consistency with EFL
4085 https://bugs.webkit.org/show_bug.cgi?id=130319
4087 Reviewed by Gyuyoung Kim.
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.
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: