a20fdfbee5621a2dc020d90fcadced8ef5c5d3ed
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-04-07  Dan Bernstein  <mitz@apple.com>
2
3         Tried to fix the Mac build.
4
5         * WebProcess/Plugins/PDF/PDFPlugin.mm:
6
7 2014-04-07  Brady Eidson  <beidson@apple.com>
8
9         Handle clicks on DataDetectors UI for scanned phone numbers
10         <rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131309
11
12         Reviewed by Tim Horton.
13
14         WebContextMenuItemDatas never need to know about a ContextMenu, so remove that concept.
15         Also add the concept of a selection handler for UIProcess-native menu items.
16         * Shared/WebContextMenuItemData.cpp:
17         (WebKit::WebContextMenuItemData::WebContextMenuItemData): 
18         (WebKit::WebContextMenuItemData::encode):
19         (WebKit::kitItems):
20         (WebKit::WebContextMenuItemData::decode):
21         * Shared/WebContextMenuItemData.h:
22         (WebKit::WebContextMenuItemData::selectionHandler):
23
24         * UIProcess/WebPageProxy.cpp:
25         (WebKit::WebPageProxy::showContextMenu):
26         (WebKit::WebPageProxy::internalShowContextMenu): Make the decoder argument optional. Make consulting the client optional.
27         * UIProcess/WebPageProxy.h:
28         * UIProcess/WebPageProxy.messages.in:
29         * UIProcess/mac/WebPageProxyMac.mm:
30         (WebKit::WebPageProxy::showTelephoneNumberMenu):
31
32         * UIProcess/mac/WebContextMenuProxyMac.mm:
33         (-[WKSelectionHandlerWrapper initWithSelectionHandler:std::]):
34         (-[WKSelectionHandlerWrapper executeSelectionHandler]):
35         (-[WKMenuTarget forwardContextMenuAction:]):
36         (WebKit::nsMenuItemVector):
37         (WebKit::WebContextMenuProxyMac::contextMenuItemSelected): If the represented object is a WKSelectionHandlerWrapper,
38           execute the selection handler. Do nothing else.
39
40         Instead of getting rects from ranges, creating highlights, and storing those highlights,
41         work in terms of a TelephoneNumberData object that wraps both a range and a highlight.
42         This makes it easier to track where the mouse is down and to know what phone number we should act on when clicked.
43         * WebProcess/WebPage/TelephoneNumberOverlayController.cpp:
44         (WebKit::TelephoneNumberOverlayController::rectsForDrawing): Deleted.
45         * WebProcess/WebPage/TelephoneNumberOverlayController.h:
46         (WebKit::TelephoneNumberData::create):
47         (WebKit::TelephoneNumberData::range):
48         (WebKit::TelephoneNumberData::highlight):
49         (WebKit::TelephoneNumberData::TelephoneNumberData):
50         * WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
51         (WebKit::TelephoneNumberOverlayController::drawRect):
52         (WebKit::TelephoneNumberOverlayController::handleTelephoneClick): Pass the phone number text and the point to WebPage.
53         (WebKit::TelephoneNumberOverlayController::mouseEvent):
54         (WebKit::TelephoneNumberOverlayController::clearMouseDownInformation):
55         (WebKit::TelephoneNumberOverlayController::clearHighlights):
56
57         * WebProcess/WebPage/WebContextMenu.cpp:
58         (WebKit::WebContextMenu::menuItemsWithUserData):
59
60         * WebProcess/WebPage/WebPage.h:
61         * WebProcess/WebPage/mac/WebPageMac.mm:
62         (WebKit::WebPage::handleTelephoneNumberClick): Message the phone number and coordinate to the UIProcess.
63
64 2014-04-07  Dan Bernstein  <mitz@apple.com>
65
66         Introduce API::InjectedBundle::PageUIClient
67         https://bugs.webkit.org/show_bug.cgi?id=131310
68
69         Reviewed by Anders Carlsson.
70
71         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
72
73         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added #include that
74         became necessary.
75
76         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: Added.
77         (API::InjectedBundle::PageUIClient::~PageUIClient):
78         (API::InjectedBundle::PageUIClient::willAddMessageToConsole):
79         (API::InjectedBundle::PageUIClient::willSetStatusbarText):
80         (API::InjectedBundle::PageUIClient::willRunJavaScriptAlert):
81         (API::InjectedBundle::PageUIClient::willRunJavaScriptConfirm):
82         (API::InjectedBundle::PageUIClient::willRunJavaScriptPrompt):
83         (API::InjectedBundle::PageUIClient::mouseDidMoveOverElement):
84         (API::InjectedBundle::PageUIClient::pageDidScroll):
85         (API::InjectedBundle::PageUIClient::shouldGenerateFileForUpload):
86         (API::InjectedBundle::PageUIClient::generateFileForUpload):
87         (API::InjectedBundle::PageUIClient::statusBarIsVisible):
88         (API::InjectedBundle::PageUIClient::menuBarIsVisible):
89         (API::InjectedBundle::PageUIClient::toolbarsAreVisible):
90         (API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
91         (API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
92         (API::InjectedBundle::PageUIClient::plugInStartLabelTitle):
93         (API::InjectedBundle::PageUIClient::plugInStartLabelSubtitle):
94         (API::InjectedBundle::PageUIClient::plugInExtraStyleSheet):
95         (API::InjectedBundle::PageUIClient::plugInExtraScript):
96
97         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
98         (WKBundlePageSetUIClient): Changed to create an InjectedBundlePageUIClient and set it on
99         the WebPage.
100
101         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
102         (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient): Added constructor from
103         WKBundlePageUIClient.
104         (WebKit::toUIElementVisibility): Added helper to convert from C SPI enum to internal enum.
105         (WebKit::InjectedBundlePageUIClient::statusBarIsVisible): Changed to use the above.
106         (WebKit::InjectedBundlePageUIClient::menuBarIsVisible): Ditto.
107         (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible): Ditto.
108         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added inheritance from
109         API::InjectedBundle::PageUIClient, marked overrides as such.
110
111         * WebProcess/Storage/StorageAreaMap.cpp: Added #include that became necessary.
112         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
113         (WebKit::WebChromeClient::toolbarsVisible): Updated to use new internal enum.
114         (WebKit::WebChromeClient::statusbarVisible): Ditto.
115         (WebKit::WebChromeClient::menubarVisible): Ditto.
116
117         * WebProcess/WebPage/WebPage.cpp:
118         (WebKit::WebPage::WebPage): Initialized m_uiClient member.
119         (WebKit::WebPage::setInjectedBundleUIClient): Added. Updates m_uiClient.
120         (WebKit::WebPage::close): Updated for change in m_uiClient.
121         (WebKit::WebPage::pageDidScroll): Ditto.
122         (WebKit::WebPage::initializeInjectedBundleUIClient): Deleted.
123         * WebProcess/WebPage/WebPage.h:
124         (WebKit::WebPage::injectedBundleUIClient): Updated return type.
125
126         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: Added #include that became
127         necessary.
128
129 2014-04-06  Dan Bernstein  <mitz@apple.com>
130
131         Clean up WKGestureTypes.h
132         https://bugs.webkit.org/show_bug.cgi?id=131286
133
134         Reviewed by Sam Weinig.
135
136         Renamed WKGestureTypes.h to GestureTypes.h, dropped the useless “WK” prefixes and changed
137         into scoped enums, with the exception of SelectionFlags.
138
139         * Shared/ios/GestureTypes.h: Copied from Source/WebKit2/Shared/ios/WKGestureTypes.h.
140         * Shared/ios/WKGestureTypes.h: Removed.
141         * UIProcess/API/Cocoa/_WKElementAction.mm:
142         (copyElement):
143         (saveImage):
144         * UIProcess/ios/PageClientImplIOS.mm:
145         (WebKit::PageClientImpl::didUpdateBlockSelectionWithTouch):
146         * UIProcess/ios/WKContentViewInteraction.h:
147         * UIProcess/ios/WKContentViewInteraction.mm:
148         (-[WKContentView _performAction:]):
149         (toGestureType):
150         (toUIWKGestureType):
151         (toSelectionTouch):
152         (toUIWKSelectionTouch):
153         (toGestureRecognizerState):
154         (toUIGestureRecognizerState):
155         (toUIWKSelectionFlags):
156         (toSelectionHandlePosition):
157         (selectionChangedWithGesture):
158         (selectionChangedWithTouch):
159         (-[WKContentView _didUpdateBlockSelectionWithTouch:withFlags:growThreshold:shrinkThreshold:]):
160         (-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
161         (-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
162         (-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
163         (-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):
164         * WebKit2.xcodeproj/project.pbxproj:
165         * WebProcess/WebPage/WebPage.h:
166         * WebProcess/WebPage/ios/WebPageIOS.mm:
167         (WebKit::WebPage::rangeForWebSelectionAtPosition):
168         (WebKit::WebPage::selectWithGesture):
169         (WebKit::distanceBetweenRectsForPosition):
170         (WebKit::computeEdgeCenter):
171         (WebKit::WebPage::expandedRangeFromHandle):
172         (WebKit::WebPage::contractedRangeFromHandle):
173         (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
174         (WebKit::shouldExpand):
175         (WebKit::WebPage::changeBlockSelection):
176         (WebKit::WebPage::updateBlockSelectionWithTouch):
177         (WebKit::WebPage::updateSelectionWithTouches):
178         (WebKit::WebPage::performActionOnElement):
179
180 2014-04-06  Sam Weinig  <sam@webkit.org>
181
182         Document user content related APIs..
183
184         Reviewed by Anders Carlsson.
185
186         - Also demote WKScriptWorld to SPI.
187
188         * UIProcess/API/Cocoa/WKScriptMessage.h:
189         * UIProcess/API/Cocoa/WKScriptMessage.mm:
190         (-[WKScriptMessage _scriptWorld]):
191         (-[WKScriptMessage scriptWorld]): Deleted.
192         * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
193         * UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Added.
194         * UIProcess/API/Cocoa/WKScriptWorld.h: Removed.
195         * UIProcess/API/Cocoa/WKScriptWorld.mm: Removed.
196         * UIProcess/API/Cocoa/WKUserContentController.h:
197         * UIProcess/API/Cocoa/WKUserContentController.mm:
198         (-[WKUserContentController addScriptMessageHandler:name:]):
199         (-[WKUserContentController removeScriptMessageHandlerForName:]):
200         (-[WKUserContentController _addScriptMessageHandler:name:world:]):
201         (-[WKUserContentController _removeScriptMessageHandlerForName:world:]):
202         (-[WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
203         (-[WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.
204         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added.
205         * UIProcess/API/Cocoa/_WKScriptWorld.h: Copied from WebKit2/UIProcess/API/Cocoa/WKScriptWorld.h.
206         * UIProcess/API/Cocoa/_WKScriptWorld.mm: Copied from WebKit2/UIProcess/API/Cocoa/WKScriptWorld.mm.
207         (+[_WKScriptWorld defaultWorld]):
208         (+[WKScriptWorld defaultWorld]): Deleted.
209         * WebKit2.xcodeproj/project.pbxproj:
210
211 2014-04-04  Brian J. Burg  <burg@cs.washington.edu>
212
213         Enable WEB_REPLAY for PLATFORM(MAC)
214         https://bugs.webkit.org/show_bug.cgi?id=130700
215
216         Reviewed by Timothy Hatcher.
217
218         * Configurations/FeatureDefines.xcconfig:
219
220 2014-04-05  Miyoung Shin  <myid.m.shin@gmail.com>
221
222         [WK2] Fix unused parameter compile warning.
223         https://bugs.webkit.org/show_bug.cgi?id=131260
224
225         Reviewed by Gyuyoung Kim.
226
227         fix unused parameter warning in the WebKit2 build.
228
229         * UIProcess/API/APIDownloadClient.h:
230         (API::DownloadClient::didReceiveData):
231         (API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
232         (API::DownloadClient::decideDestinationWithSuggestedFilename):
233         (API::DownloadClient::didCreateDestination):
234
235 2014-04-05  Alexey Proskuryakov  <ap@apple.com>
236
237         REGRESSION (NetworkProcess): Subresources fail to load from AppCache
238         https://bugs.webkit.org/show_bug.cgi?id=131262
239         <rdar://problem/15370653>
240
241         Reviewed by Sam Weinig.
242
243         * WebProcess/Network/WebResourceLoadScheduler.cpp:
244         (WebKit::WebResourceLoadScheduler::scheduleLoad): Check application cache,
245         as done in ResourceLoader::start() for in-process loads.
246
247 2014-04-05  Alexey Proskuryakov  <ap@apple.com>
248
249         Frequent PluginProcess crashes at libsqlite3.dylib: openDatabase
250         https://bugs.webkit.org/show_bug.cgi?id=131264
251         <rdar://problem/14165329>
252
253         Reviewed by Sam Weinig.
254
255         Don't create NSURLCache until after having called setenv.
256
257         * PluginProcess/PluginProcess.h: Added m_nsurlCacheDirectory.
258
259         * PluginProcess/mac/PluginProcessMac.mm:
260         (WebKit::PluginProcess::platformInitializePluginProcess): Compute NSURL cache path
261         on our own. This does not match CFNetwork's result in most cases, but should work
262         equally well.
263         (WebKit::PluginProcess::initializeSandbox): Create a cache with our path and best
264         guess for capacity.
265
266 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
267
268         Unreviewed. iOS Build fix after r166818.
269
270         These member variables / declarations are accessed by iOS
271         in shared code in TelephoneNumberOverlayControllerMac.
272
273         * WebProcess/WebPage/TelephoneNumberOverlayController.h:
274
275 2014-04-04  Joseph Pecoraro  <pecoraro@apple.com>
276
277         Unreviewed. Rollout r166812, breaks 32-bit Mavericks build.
278
279         * Shared/mac/CookieStorageShim.mm:
280         (WebKit::CookieStorageShim::initialize):
281         (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
282
283 2014-04-04  Brady Eidson  <beidson@apple.com>
284
285         Show DataDetector UI on scanned phone numbers.
286         <rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131247
287
288         Reviewed by Tim Horton.
289
290         Add a new PageOverlay for telephone number UI, handle drawing the UI, and
291         handle mouse clicks on the button in that UI.
292
293         Even though clicks are detected, they aren’t acted upon yet.
294
295         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
296         (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Pass ranges to
297           the TelephoneNumberController.
298         * WebProcess/WebCoreSupport/WebEditorClient.h:
299
300         This controller handles installing/removing the PageOverlay, drawing the UI elements,
301         and handling mouse events while any of the UI elements are shown.
302         There’s also a clumsy attempt to keep platform-specific parts separated out.
303         * WebProcess/WebPage/TelephoneNumberOverlayController.cpp: Added.
304         (WebKit::TelephoneNumberOverlayController::TelephoneNumberOverlayController):
305         (WebKit::TelephoneNumberOverlayController::createOverlayIfNeeded):
306         (WebKit::TelephoneNumberOverlayController::destroyOverlay):
307         (WebKit::TelephoneNumberOverlayController::pageOverlayDestroyed):
308         (WebKit::TelephoneNumberOverlayController::willMoveToWebPage):
309         (WebKit::TelephoneNumberOverlayController::didMoveToWebPage):
310         (WebKit::TelephoneNumberOverlayController::rectsForDrawing):
311         (WebKit::TelephoneNumberOverlayController::selectedTelephoneNumberRangesChanged):
312
313         * WebProcess/WebPage/TelephoneNumberOverlayController.h: Added.
314         (WebKit::TelephoneNumberOverlayController::create):
315
316         * WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm: Added.
317         (WebKit::TelephoneNumberOverlayController::drawRect):
318         (WebKit::TelephoneNumberOverlayController::handleTelephoneClick):
319         (WebKit::TelephoneNumberOverlayController::mouseEvent):
320         (WebKit::TelephoneNumberOverlayController::clearMouseDownInformation):
321         (WebKit::TelephoneNumberOverlayController::clearHighlights):
322
323         * WebProcess/WebPage/WebPage.cpp:
324         (WebKit::WebPage::telephoneNumberOverlayController):
325         * WebProcess/WebPage/WebPage.h:
326
327         * WebKit2.xcodeproj/project.pbxproj:
328
329 2014-04-04  Martin Hock  <mhock@apple.com>
330
331         Include Session ID in WebPageCreationParameters.
332         https://bugs.webkit.org/show_bug.cgi?id=131239
333
334         <rdar://problem/16175483>
335
336         Reviewed by Sam Weinig.
337
338         * Shared/WebPageCreationParameters.cpp:
339         (WebKit::WebPageCreationParameters::encode):
340         (WebKit::WebPageCreationParameters::decode):
341         * Shared/WebPageCreationParameters.h:
342         * UIProcess/WebPageProxy.cpp:
343         (WebKit::WebPageProxy::creationParameters):
344         * WebProcess/WebPage/WebPage.cpp:
345         (WebKit::WebPage::WebPage):
346
347 2014-04-04  Jer Noble  <jer.noble@apple.com>
348
349         [Mac][WK2] Videos do not have access to session cookies
350         https://bugs.webkit.org/show_bug.cgi?id=129687
351
352         Reviewed by Eric Carlson.
353
354         Update the CookieStorageShim to track changes in underlying networking stack.
355
356         * Shared/mac/CookieStorageShim.mm:
357         (WebKit::CookieStorageShim::initialize):
358         (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
359
360 2014-04-04  Alexey Proskuryakov  <ap@apple.com>
361
362         Improve error checking in WebPageProxy::didReceiveEvent
363         https://bugs.webkit.org/show_bug.cgi?id=131243
364         <rdar://problem/16529207>
365
366         Reviewed by Anders Carlsson.
367
368         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveEvent):
369
370 2014-04-04  Anders Carlsson  <andersca@apple.com>
371
372         More documentation
373         https://bugs.webkit.org/show_bug.cgi?id=131238
374
375         Reviewed by Sam Weinig.
376
377         * UIProcess/API/Cocoa/WKNavigation.h:
378         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
379         * UIProcess/API/Cocoa/WKPreferences.h:
380         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
381
382 2014-04-04  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
383
384         [GTK][CMake] Use a stricter check for the HAVE_GTK_UNIX_PRINTING define
385         https://bugs.webkit.org/show_bug.cgi?id=131226
386
387         Reviewed by Carlos Garcia Campos.
388
389         #cmakedefine01 will define HAVE_GTK_UNIX_PRINTING to 0 instead of #undef'ining it. This
390         means that simple checks like #ifdef HAVE_GTK_UNIX_PRINTING will always be true -- we
391         actually need to check if the value is set to 1, which is precisely what the HAVE() macro
392         does, so start using it.
393
394         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
395         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
396         (WebKit::WebChromeClient::print):
397         * WebProcess/WebPage/gtk/PrinterListGtk.cpp:
398         * WebProcess/WebPage/gtk/PrinterListGtk.h:
399         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
400         (WebKit::WebPrintOperationGtk::create):
401
402 2014-04-03  Chris Fleizach  <cfleizach@apple.com>
403
404         AX: iOS does not need to spin the run loop on synchronous message calls
405         https://bugs.webkit.org/show_bug.cgi?id=131195
406
407         Reviewed by Dan Bernstein.
408
409         On the Mac platform, we need to spin the run loop while making synchronous calls to avoid VoiceOver hanging.
410         On iOS, this not needed due to architectural differences.
411
412         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
413         (WebKit::WebChromeClient::runJavaScriptAlert):
414         (WebKit::WebChromeClient::runJavaScriptConfirm):
415         (WebKit::WebChromeClient::runJavaScriptPrompt):
416         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
417         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
418         * WebProcess/WebPage/WebPage.cpp:
419         (WebKit::WebPage::synchronousMessagesShouldSpinRunLoop):
420         * WebProcess/WebPage/WebPage.h:
421
422 2014-04-03 Andy Estes <aestes@apple.com>
423
424         [Cocoa] Add additional WKWebView SPI for clients that interact with PDFs
425         https://bugs.webkit.org/show_bug.cgi?id=131206
426
427         Reviewed by Dan Bernstein.
428
429         Add _dataForDisplayedPDF and _suggestedFilenameForDisplayedPDF to
430         support clients that wish to save a copy of the currently displayed PDF
431         to disk. Ultimately we should support this use case by exposing something
432         like WKWebViewContentProvider, but for now let's do something simple.
433
434         * UIProcess/API/Cocoa/WKWebView.mm:
435         (-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]):
436         (-[WKWebView _dataForDisplayedPDF]):
437         (-[WKWebView _suggestedFilenameForDisplayedPDF]):
438         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
439         * UIProcess/Cocoa/WKWebViewContentProvider.h:
440         * UIProcess/ios/WKPDFView.h:
441         * UIProcess/ios/WKPDFView.mm:
442         (-[WKPDFView documentData]):
443         (-[WKPDFView suggestedFilename]):
444         (-[WKPDFView web_setContentProviderData:suggestedFilename:]):
445
446 2014-04-03  Eunmi Lee  <eunmi15.lee@samsung.com>
447
448         [EFL][WK2] Add API to get contents size of current web page.
449         https://bugs.webkit.org/show_bug.cgi?id=131148
450
451         Reviewed by Gyuyoung Kim.
452
453         Application can want to get contents size of current web page without
454         monitoring "contents,size,changed" signal, so I add API to get contents
455         size directly.
456
457         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
458         (WKViewGetContentsSize): WK API to get contents size from WebView.
459         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
460         * UIProcess/API/efl/ewk_view.cpp:
461         (ewk_view_contents_size_get): new API to get contents size.
462         * UIProcess/API/efl/ewk_view.h:
463         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
464         (TEST_F):
465
466 2014-04-03  Jinwoo Song  <jinwoo7.song@samsung.com>
467
468         [WK2][EFL] Use template method in creating NativeWebMouseEvent
469         https://bugs.webkit.org/show_bug.cgi?id=131152
470
471         Reviewed by Anders Carlsson.
472
473         There are three EFL mouse events, such as Evas_Event_Mouse_Down, Evas_Event_Mouse_Up,
474         and Evas_Event_Mouse_Move. They can be defined as a template method.
475
476         * PlatformEfl.cmake: Remove NativeWebMouseEventEfl.cpp
477         * Shared/NativeWebMouseEvent.h:
478         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Add a template method.
479         * Shared/efl/NativeWebMouseEventEfl.cpp: Removed.
480
481 2014-04-03  Anders Carlsson  <andersca@apple.com>
482
483         Add WKWebView documentation
484         https://bugs.webkit.org/show_bug.cgi?id=131190
485
486         Reviewed by Sam Weinig.
487
488         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
489         * UIProcess/API/Cocoa/WKNavigationAction.h:
490         * UIProcess/API/Cocoa/WKWebView.h:
491
492 2014-04-03  Michael Saboff  <msaboff@apple.com>
493
494         REGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
495         https://bugs.webkit.org/show_bug.cgi?id=131189
496
497         Reviewed by Geoffrey Garen.
498
499         Elevate the priority of all WebKit2 service processes on iOS, not just the network process.
500
501         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
502         (WebKit::connectToService):
503
504 2014-04-03  Simon Fraser  <simon.fraser@apple.com>
505
506         ASSERT(m_children.isEmpty()) in PlatformCALayerRemote::removeAllSublayers() on time.com
507         https://bugs.webkit.org/show_bug.cgi?id=131187
508
509         Reviewed by Maciej Stachowiak.
510         
511         After a call to PlatformCALayerRemote::adoptSublayers() when a layer
512         toggles between tiled and non-tiled, we'd assert in PlatformCALayerRemote::removeAllSublayers()
513         that not all sublayers had been removed (there was one with a null superlayer).
514         
515         Fix by ensuring that we don't copy over custom subviews when adoptSublayers()
516         is called; they'll get added as we update children anyway.
517
518         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
519         (WebKit::PlatformCALayerRemote::adoptSublayers):
520
521 2014-04-03  Benjamin Poulain  <bpoulain@apple.com>
522
523         [iOS][WK2] Add SPI to handle animated resize
524         https://bugs.webkit.org/show_bug.cgi?id=131141
525
526         Reviewed by Simon Fraser.
527
528         Set up a basic API to handle animated resize. The code does not do much at the moment,
529         it is mostly to have an interface we can implement later.
530
531         * UIProcess/API/Cocoa/WKWebView.mm:
532         (-[WKWebView initWithFrame:configuration:]):
533         (-[WKWebView setFrame:]):
534         (-[WKWebView setBounds:]):
535         (-[WKWebView _didCommitLayerTree:WebKit::]):
536         (-[WKWebView _frameOrBoundsChangedFrom:]):
537         (-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]):
538         (-[WKWebView _endAnimatedResize]):
539         (-[WKWebView _frameOrBoundsChanged]): Deleted.
540         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
541
542 2014-04-03  Simon Fraser  <simon.fraser@apple.com>
543
544         Pixelated WebView when display is changed from hiDPI to regularDPI
545         https://bugs.webkit.org/show_bug.cgi?id=131185
546         <rdar://problem/16512184&16503714>
547
548         Reviewed by Tim Horton.
549         
550         TileController function was renamed.
551
552         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
553         (WebKit::PlatformCALayerRemoteTiledBacking::setContentsScale):
554
555 2014-04-03  Sam Weinig  <sam@webkit.org>
556
557         [WebKit2] Promote user script SPI to API
558         https://bugs.webkit.org/show_bug.cgi?id=131181
559
560         Reviewed by Anders Carlsson.
561
562         * UIProcess/API/Cocoa/WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.h.
563         * UIProcess/API/Cocoa/WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.mm.
564         (-[WKScriptMessage scriptWorld]):
565         (-[_WKScriptMessage scriptWorld]): Deleted.
566         * UIProcess/API/Cocoa/WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessageHandler.h.
567         * UIProcess/API/Cocoa/WKScriptWorld.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
568         * UIProcess/API/Cocoa/WKScriptWorld.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.mm.
569         (+[WKScriptWorld defaultWorld]):
570         (+[_WKScriptWorld defaultWorld]): Deleted.
571         * UIProcess/API/Cocoa/WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.h.
572         * UIProcess/API/Cocoa/WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.mm.
573         (-[WKUserContentController addScriptMessageHandler:name:world:]):
574         (-[WKUserContentController removeScriptMessageHandlerForName:world:]):
575         (-[_WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
576         (-[_WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.
577         * UIProcess/API/Cocoa/WKWebView.mm:
578         (-[WKWebView initWithFrame:configuration:]):
579         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
580         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
581         (-[WKWebViewConfiguration copyWithZone:]):
582         (-[WKWebViewConfiguration userContentController]):
583         (-[WKWebViewConfiguration setUserContentController:]):
584         (-[WKWebViewConfiguration _userContentController]): Deleted.
585         (-[WKWebViewConfiguration _setUserContentController:]): Deleted.
586         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
587         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
588         * UIProcess/API/Cocoa/_WKScriptMessage.h: Removed.
589         * UIProcess/API/Cocoa/_WKScriptMessage.mm: Removed.
590         * UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Removed.
591         * UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
592         * UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
593         * UIProcess/API/Cocoa/_WKUserContentController.h: Removed.
594         * UIProcess/API/Cocoa/_WKUserContentController.mm: Removed.
595         * WebKit2.xcodeproj/project.pbxproj:
596
597 2014-04-03  Anders Carlsson  <andersca@apple.com>
598
599         Make download policy decisions SPI for now
600         https://bugs.webkit.org/show_bug.cgi?id=131179
601
602         Reviewed by Sam Weinig.
603
604         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
605         (NS_ENUM):
606         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
607         (NS_ENUM):
608         * UIProcess/Cocoa/NavigationState.mm:
609         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
610         (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
611
612 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
613
614         Harden FilterOperation type casting
615         https://bugs.webkit.org/show_bug.cgi?id=131142
616
617         Reviewed by Sam Weinig.
618
619         DefaultFilterOperation had an error-prone behavior where it set the base class
620         OperationType to the type of some other filter class, but overrode isDefault(). 
621         This made it very easy to write incorrect code that casted incorrectly based on type().
622         
623         Fix by making adding a DEFAULT filter operation type, and storing the represented
624         type on DefaultFilterOperation().
625         
626         Also remove the OperationType argument for constructors of FilterOperations that
627         can only be of one type, to avoid possible mistakes.
628         
629         Make the type cast macros a bit more normal, and use them in a few places.
630         
631         Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
632
633         * Shared/WebCoreArgumentCoders.cpp:
634         (IPC::encodeFilterOperation):
635         (IPC::decodeFilterOperation):
636         * Shared/mac/RemoteLayerTreeTransaction.mm:
637         (WebKit::RemoteLayerTreeTextStream::operator<<):
638
639 2014-04-03  Alexey Proskuryakov  <ap@apple.com>
640
641         REGRESSION (Async text input): Controls become unresponsive to mouse events
642         https://bugs.webkit.org/show_bug.cgi?id=131176
643         <rdar://problem/16507932>
644
645         Reviewed by Tim Horton.
646
647         * UIProcess/API/mac/WKView.mm: (NATIVE_MOUSE_EVENT_HANDLER):
648         Don't confuse event handling machinery by sending events to WebProcess twice.
649
650 2014-04-03  Anders Carlsson  <andersca@apple.com>
651
652         WKWebView should always have a UIDelegate, even when closed
653         https://bugs.webkit.org/show_bug.cgi?id=131174
654         <rdar://problem/16389248>
655
656         Reviewed by Sam Weinig.
657
658         * UIProcess/API/Cocoa/WKWebView.mm:
659         (-[WKWebView initWithFrame:configuration:]):
660         (-[WKWebView UIDelegate]):
661         (-[WKWebView setUIDelegate:]):
662         * UIProcess/Cocoa/UIDelegate.h:
663         * UIProcess/Cocoa/UIDelegate.mm:
664         (WebKit::UIDelegate::UIDelegate):
665         (WebKit::UIDelegate::~UIDelegate):
666         (WebKit::UIDelegate::createUIClient):
667         (WebKit::UIDelegate::delegate):
668         (WebKit::UIDelegate::setDelegate):
669         (WebKit::UIDelegate::UIClient::UIClient):
670         (WebKit::UIDelegate::UIClient::~UIClient):
671         (WebKit::UIDelegate::UIClient::createNewPage):
672         (WebKit::UIDelegate::UIClient::runJavaScriptAlert):
673         (WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
674         (WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
675         (WebKit::UIDelegate::UIClient::actionsForElement):
676         (WebKit::UIClient::UIClient): Deleted.
677         (WebKit::UIClient::~UIClient): Deleted.
678         (WebKit::UIClient::delegate): Deleted.
679         (WebKit::UIClient::setDelegate): Deleted.
680         (WebKit::UIClient::createNewPage): Deleted.
681         (WebKit::UIClient::runJavaScriptAlert): Deleted.
682         (WebKit::UIClient::runJavaScriptConfirm): Deleted.
683         (WebKit::UIClient::runJavaScriptPrompt): Deleted.
684         (WebKit::UIClient::actionsForElement): Deleted.
685         * UIProcess/ios/WKActionSheetAssistant.mm:
686
687 2014-04-02  Anders Carlsson  <andersca@apple.com>
688
689         Document WKNavigationAction and WKNavigationResponse
690         https://bugs.webkit.org/show_bug.cgi?id=131138
691
692         Reviewed by Sam Weinig.
693
694         * UIProcess/API/Cocoa/WKFrameInfo.h:
695         * UIProcess/API/Cocoa/WKNavigationAction.h:
696         * UIProcess/API/Cocoa/WKNavigationResponse.h:
697
698 2014-04-03  Anders Carlsson  <andersca@apple.com>
699
700         Make actionsForElement a proper API::UIClient member function
701         https://bugs.webkit.org/show_bug.cgi?id=131171
702
703         Reviewed by Sam Weinig.
704
705         * UIProcess/API/APIUIClient.h:
706         (API::UIClient::actionsForElement):
707         * UIProcess/Cocoa/UIDelegate.h:
708         * UIProcess/Cocoa/UIDelegate.mm:
709         (WebKit::UIClient::actionsForElement):
710         * UIProcess/ios/WKActionSheetAssistant.mm:
711         (-[WKActionSheetAssistant showImageSheet]):
712         (-[WKActionSheetAssistant showLinkSheet]):
713
714 2014-04-03  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
715
716         [WK2] Fix !ENABLE(BLOB) build
717         https://bugs.webkit.org/show_bug.cgi?id=131164
718
719         Reviewed by Alexey Proskuryakov.
720
721         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
722         (WebKit::NetworkConnectionToWebProcess::didClose):
723         * NetworkProcess/NetworkConnectionToWebProcess.h:
724         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
725
726 2014-04-03  Anders Carlsson  <andersca@apple.com>
727
728         Fix iOS build.
729
730         * UIProcess/ios/WKActionSheetAssistant.mm:
731
732 2014-04-03  Anders Carlsson  <andersca@apple.com>
733
734         Rename UIClient.{h, mm} to UIDelegate.{h, mm}.
735
736         Rubber-stamped by Dan Bernstein.
737
738         * UIProcess/API/Cocoa/WKWebView.mm:
739         * UIProcess/Cocoa/UIDelegate.h: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.h.
740         * UIProcess/Cocoa/UIDelegate.mm: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.mm.
741         * WebKit2.xcodeproj/project.pbxproj:
742
743 2014-04-03  Andrzej Badowski  <a.badowski@samsung.com>
744
745         [EFL][WK2] Replacing zoom functionality of MiniBrowser from scale_set to page_zoom_set.
746         https://bugs.webkit.org/show_bug.cgi?id=130391
747
748         Reviewed by Gyuyoung Kim.
749
750         Change the implementation of the zoom functionality from ewk_view_scale_set
751         to ewk_view_page_zoom_set. Adding to the API functions: ewk_view_page_zoom_set and
752         ewk_view_page_zoom_get to call appropriate WK functions.
753
754         * UIProcess/API/efl/ewk_view.cpp:
755         (ewk_view_page_zoom_set):
756         (ewk_view_page_zoom_get):
757         * UIProcess/API/efl/ewk_view.h:
758         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
759         (TEST_F):
760
761 2014-04-02  Alexey Proskuryakov  <ap@apple.com>
762
763         Sandbox violation in NetworkProcess when uploading a bundle
764         https://bugs.webkit.org/show_bug.cgi?id=131133
765
766         Reviewed by Brady Eidson.
767
768         * NetworkProcess/NetworkResourceLoader.cpp:
769         (WebKit::NetworkResourceLoader::cleanup):
770         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
771         Don't delete the files. It can't work.
772
773 2014-04-02  Jinwoo Song  <jinwoo7.song@samsung.com>
774
775         [WK2][EFL] Remove unnecessary reinterpret_cast<> in unit testcase
776         https://bugs.webkit.org/show_bug.cgi?id=131143
777
778         Reviewed by Gyuyoung Kim.
779
780         Ecore_Timer callback requires *Eina_Bool* return type instead of *bool*.
781         Also, WebKit/EFL port coding style recommends to use *Eina_Bool* in the
782         callback function for EFL event handler. Additionally, replaced 0 to nullptr.
783
784         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
785         (EWK2UnitTest::CallbackDataTimer::CallbackDataTimer):
786         (EWK2UnitTest::CallbackDataTimer::setDone):
787         (EWK2UnitTest::CallbackDataTimer::timeOutCallback):
788         (EWK2UnitTest::CallbackDataTimer::setTimedOut):
789         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
790         (EWK2StorageManagerTest::timerCallback):
791         (TEST_F):
792
793 2014-04-02  Tim Horton  <timothy_horton@apple.com>
794
795         Remove a FIXME that happened.
796
797         * Shared/mac/RemoteLayerBackingStore.mm:
798         (WebKit::RemoteLayerBackingStore::display):
799
800 2014-04-02  Tim Horton  <timothy_horton@apple.com>
801
802         Fix the !USE(IOSURFACE) build... again.
803
804         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
805         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
806
807 2014-04-02  Mark Rowe  <mrowe@apple.com>
808
809         <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
810
811         These arguments are often passed using literals at the call site, where the use of bools severely hinders
812         the readability of the code.
813
814         Reviewed by Andreas Kling.
815
816         * WebProcess/Plugins/PDF/PDFPlugin.mm:
817         (WebKit::PDFPlugin::clickedLink):
818
819 2014-04-02  Tim Horton  <timothy_horton@apple.com>
820
821         Pool IOSurfaces to help with allocation cost
822         https://bugs.webkit.org/show_bug.cgi?id=131096
823         <rdar://problem/15373942>
824
825         Reviewed by Simon Fraser.
826
827         * Shared/mac/RemoteLayerBackingStore.h:
828         * Shared/mac/RemoteLayerBackingStore.mm:
829         (WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore):
830         (WebKit::RemoteLayerBackingStore::clearBackingStore):
831         (WebKit::RemoteLayerBackingStore::display):
832         When RemoteLayerBackingStore discards a layer, throw it into the pool.
833
834         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
835         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
836         Disable the pool in the UI process.
837
838 2014-04-02  Alice Barraclough  <alice.barraclough@apple.com>
839
840         Fix a typo causing TestWebKitAPI to timeout when testing Find.
841
842         Reviewed by Dan Bernstein.
843
844         * UIProcess/API/C/WKPage.cpp:
845         (WKPageSetPageFindClient): Test for !functionPointer like
846         all the other implementations do.
847
848 2014-04-02  Dean Jackson  <dino@apple.com>
849
850         [iOS] Expose geolocation provider on the process pool
851         https://bugs.webkit.org/show_bug.cgi?id=131125
852
853         Reviewed by Dan Bernstein.
854
855         Followup comments from Dan Bernstein. Use a class
856         extension rather than a new category.
857
858         * UIProcess/API/Cocoa/WKProcessPool.mm:
859         (-[WKProcessPool _geolocationProvider]):
860         * UIProcess/API/Cocoa/WKProcessPoolInternal.h:
861
862 2014-04-02  Tim Horton  <timothy_horton@apple.com>
863
864         RemoteLayerBackingStore doesn't need to clear opaque layers
865         https://bugs.webkit.org/show_bug.cgi?id=131134
866
867         Reviewed by Simon Fraser.
868
869         * Shared/mac/RemoteLayerBackingStore.mm:
870         (WebKit::RemoteLayerBackingStore::display):
871         We don't need to clear opaque layers, because we'll paint
872         over the whole area. In addition, we should fill opaque layers
873         with a bright color in debug builds to make it very clear
874         that we've made a mistake (similar to what FrameView does).
875
876 2014-04-02  Anders Carlsson  <andersca@apple.com>
877
878         Document WKBackForwardList, WKBackForwardListItem and WKWebViewConfiguration
879         https://bugs.webkit.org/show_bug.cgi?id=131131
880
881         Reviewed by Dan Bernstein.
882
883         * UIProcess/API/Cocoa/WKBackForwardList.h:
884         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
885         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
886
887 2014-04-02  Anders Carlsson  <andersca@apple.com>
888
889         Document WKUIDelegate and WKWindowFeatures
890         https://bugs.webkit.org/show_bug.cgi?id=131124
891
892         Reviewed by Dan Bernstein.
893
894         * UIProcess/API/Cocoa/WKProcessPool.h:
895         * UIProcess/API/Cocoa/WKUIDelegate.h:
896         * UIProcess/API/Cocoa/WKWindowFeatures.h:
897
898 2014-04-02  Dean Jackson  <dino@apple.com>
899
900         [iOS] Expose geolocation provider on the process pool
901         https://bugs.webkit.org/show_bug.cgi?id=131125
902
903         Patch by Sam Weinig.
904         Reviewed by Dean Jackson.
905
906         * UIProcess/API/Cocoa/WKProcessPool.mm:
907         (-[WKProcessPool _geolocationProvider]): Create and initialize WKGeolocationProviderIOS if necessary.
908         * UIProcess/API/Cocoa/WKProcessPoolInternal.h: Expose _geolocationProvider.
909         * UIProcess/ios/WKContentView.mm:
910         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Call into WKProcessPool.
911
912 2014-04-02  Martin Hock  <mhock@apple.com>
913
914         Unify private browsing with sessions.
915         https://bugs.webkit.org/show_bug.cgi?id=130099
916
917         Reviewed by Alexey Proskuryakov.
918
919         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Change WebPage::isUsingEphemeralSession() to WebPage::usesEphemeralSession().
920         (WKBundlePageIsUsingEphemeralSession):
921         * WebProcess/InjectedBundle/InjectedBundle.cpp: Change Settings::setPrivateBrowsingEnabled() to Page::enableLegacyPrivateBrowsing().
922         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
923         * WebProcess/Plugins/PluginView.cpp: Change Settings::privateBrowsingEnabled() to Page::usesEphemeralSession().
924         (WebKit::PluginView::isPrivateBrowsingEnabled):
925         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Ditto.
926         (WebKit::WebFrameNetworkingContext::storageSession):
927         * WebProcess/WebPage/WebPage.cpp:
928         (WebKit::WebPage::usesEphemeralSession): Renamed from isUsingEphemeralSession.
929         (WebKit::WebPage::setSessionID): Ensure session before setting.
930         (WebKit::WebPage::updatePreferences): Set session to legacy private session if needed.
931         (WebKit::WebPage::sessionID): Moved to header.
932         (WebKit::WebPage::isUsingEphemeralSession): Renamed to usesEphemeralSession.
933         * WebProcess/WebPage/WebPage.h:
934         (WebKit::WebPage::sessionID): Just call down to m_page.
935
936 2014-04-02  Alice Barraclough  <alice.liu@apple.com>
937
938         Adding Objective-C SPI for Find in Page.
939         https://bugs.webkit.org/show_bug.cgi?id=131000 Need an Objective-C API or SPI for Find in Page
940
941         Reviewed by Dan Bernstein.
942
943         Find-on-page SPI added to WKWebView, which funnels the messages through the WebPageProxy.
944         Returning messages are designated by _WKFindDelegate protocol.
945         Also provide FindDelegate access on WKWebView.
946         WebPageProxy gets a new-style API::FindClient.
947         Also had to replicate WKFindOptions as _WKFindOptions in Cocoa SPI. This is unfortunate, but it 
948         does follow the pattern of other options & enums related to classes that are SPI-for-now.
949         
950         PageClientImplIOS handles setFindIndicator function by forwarding to its WKContentView, 
951         but WKContentView _setFindIndicator remains unimplemented for now.
952         
953         * UIProcess/API/APIFindClient.h: Added.
954         (API::FindClient::~FindClient):
955         (API::FindClient::didCountStringMatches):
956         (API::FindClient::didFindString):
957         (API::FindClient::didFailToFindString):
958         * UIProcess/API/C/WKPage.cpp:
959         (WKPageSetPageFindClient):
960         * UIProcess/API/Cocoa/WKWebView.mm:
961         (-[WKWebView initWithFrame:configuration:]):
962         (-[WKWebView _findDelegate]):
963         (-[WKWebView _setFindDelegate:]):
964         (toFindOptions):
965         (-[WKWebView _countStringMatches:options:maxCount:]):
966         (-[WKWebView _findString:options:maxCount:]):
967         (-[WKWebView _hideFindUI]):
968         (-[WKWebView _hostForFindUI]):
969         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
970         (NS_OPTIONS):
971         * UIProcess/API/Cocoa/_WKFindDelegate.h: Added.
972         * UIProcess/Cocoa/FindClient.h: Added.
973         * UIProcess/Cocoa/FindClient.mm: Added.
974         (WebKit::FindClient::FindClient):
975         (WebKit::FindClient::delegate):
976         (WebKit::FindClient::setDelegate):
977         (WebKit::FindClient::didCountStringMatches):
978         (WebKit::FindClient::didFindString):
979         (WebKit::FindClient::didFailToFindString):
980         * UIProcess/WebPageProxy.cpp:
981         (WebKit::WebPageProxy::WebPageProxy):
982         (WebKit::WebPageProxy::setFindClient):
983         (WebKit::WebPageProxy::close):
984         (WebKit::WebPageProxy::didCountStringMatches):
985         (WebKit::WebPageProxy::didFindString):
986         (WebKit::WebPageProxy::didFailToFindString):
987         (WebKit::WebPageProxy::initializeFindClient): Deleted.
988         * UIProcess/WebPageProxy.h:
989         (WebKit::WebPageProxy::findClient):
990         * UIProcess/ios/PageClientImplIOS.mm:
991         (WebKit::PageClientImpl::setFindIndicator):
992         * UIProcess/ios/WKContentView.h:
993         * UIProcess/ios/WKContentView.mm:
994         (-[WKContentView _setFindIndicator:WebKit::fadeOut:animate:]):
995         * WebKit2.xcodeproj/project.pbxproj:
996
997 2014-04-02  Anders Carlsson  <andersca@apple.com>
998
999         Rename -[WKBackForwardListItem originalURL] to -[WKBackForwardListItem initialURL]
1000         https://bugs.webkit.org/show_bug.cgi?id=131116
1001
1002         Reviewed by Antti Koivisto.
1003
1004         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
1005         * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
1006         (-[WKBackForwardListItem initialURL]):
1007         (-[WKBackForwardListItem originalURL]): Deleted.
1008
1009 2014-04-02  Antti Koivisto  <antti@apple.com>
1010
1011         Split tile grid out from TileController
1012         https://bugs.webkit.org/show_bug.cgi?id=131102
1013
1014         Reviewed by Simon Fraser.
1015
1016         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1017         (WebKit::PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
1018         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
1019
1020 2014-04-02  Anders Carlsson  <andersca@apple.com>
1021
1022         Try a workaround for a crash
1023         https://bugs.webkit.org/show_bug.cgi?id=131112
1024
1025         Reviewed by Sam Weinig.
1026
1027         * UIProcess/API/Cocoa/WKWebView.mm:
1028         (-[WKWebView UIDelegate]):
1029         (-[WKWebView setUIDelegate:]):
1030
1031 2014-04-02  Martin Robinson  <mrobinson@igalia.com>
1032
1033         REGRESSION(r165704): [GTK] Inspector resources not correctly generated
1034         https://bugs.webkit.org/show_bug.cgi?id=130343
1035
1036         Reviewed by Gustavo Noronha Silva.
1037
1038         * PlatformGTK.cmake: Pass all appropriate directories to the
1039         GResources XML generation script.
1040
1041 2014-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1042
1043         [GTK] Move NEWS file to a new location
1044         https://bugs.webkit.org/show_bug.cgi?id=130901
1045
1046         Reviewed by Brent Fulgham.
1047
1048         * gtk/NEWS: Renamed from Source/WebKit/gtk/NEWS.
1049
1050 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
1051
1052         <rdar://problem/16294704> Remove _pageExtendedBackgroundColor entirely
1053         https://bugs.webkit.org/show_bug.cgi?id=131075
1054
1055         Reviewed by Beth Dakin.
1056
1057         * UIProcess/API/Cocoa/WKWebView.mm:
1058         (-[WKWebView _pageExtendedBackgroundColor]): Deleted.
1059         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1060
1061 2014-04-01  Anders Carlsson  <andersca@apple.com>
1062
1063         Stub out more WKNavigation properties
1064         https://bugs.webkit.org/show_bug.cgi?id=131080
1065
1066         Reviewed by Tim Horton.
1067
1068         * UIProcess/API/Cocoa/WKNavigation.h:
1069         * UIProcess/API/Cocoa/WKNavigation.mm:
1070         (-[WKNavigation initialRequest]):
1071         (-[WKNavigation response]):
1072         (-[WKNavigation error]):
1073
1074 2014-04-01  Anders Carlsson  <andersca@apple.com>
1075
1076         Rename -[WKWebView activeURL] to -[WKWebView URL]
1077         https://bugs.webkit.org/show_bug.cgi?id=131077
1078
1079         Reviewed by Tim Horton.
1080
1081         Keep -[WKWebView activeURL] as SPI until no clients depend on it.
1082
1083         * UIProcess/API/Cocoa/WKWebView.h:
1084         * UIProcess/API/Cocoa/WKWebView.mm:
1085         (-[WKWebView URL]):
1086         (-[WKWebView activeURL]):
1087         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1088         * UIProcess/Cocoa/NavigationState.mm:
1089         (WebKit::NavigationState::willChangeActiveURL):
1090         (WebKit::NavigationState::didChangeActiveURL):
1091
1092 2014-04-01  Anders Carlsson  <andersca@apple.com>
1093
1094         Move -[WKWebView stopLoading:] back to WKIBActions
1095         https://bugs.webkit.org/show_bug.cgi?id=131072
1096
1097         Reviewed by Tim Horton.
1098
1099         * UIProcess/API/Cocoa/WKWebView.h:
1100         * UIProcess/API/Cocoa/WKWebView.mm:
1101         (-[WKWebView stopLoading:]):
1102
1103 2014-04-01  Anders Carlsson  <andersca@apple.com>
1104
1105         Migrate more headers
1106         https://bugs.webkit.org/show_bug.cgi?id=131068
1107
1108         Reviewed by Tim Horton.
1109
1110         * UIProcess/API/Cocoa/WKBackForwardList.h:
1111         Remove a newline.
1112
1113         * WebKit2.xcodeproj/project.pbxproj:
1114         Move files from the "Deprecated" group.
1115
1116 2014-04-01  Manuel Rego Casasnovas  <rego@igalia.com>
1117
1118         [CSS Grid Layout] Enable runtime feature if feature flag is enabled
1119         https://bugs.webkit.org/show_bug.cgi?id=130013
1120
1121         Reviewed by Simon Fraser.
1122
1123         Enable CSS Grid Layout runtime feature when ENABLE_CSS_GRID_LAYOUT flag is true.
1124
1125         * Shared/WebPreferencesStore.h:
1126
1127 2014-04-01  Anders Carlsson  <andersca@apple.com>
1128
1129         Demote WKBackForwardListDidChangeNotification to SPI
1130         https://bugs.webkit.org/show_bug.cgi?id=131059
1131
1132         Reviewed by Dan Bernstein.
1133
1134         * UIProcess/API/Cocoa/WKBackForwardList.h:
1135         * UIProcess/API/Cocoa/WKBackForwardList.mm:
1136         * UIProcess/API/Cocoa/WKBackForwardListInternal.h:
1137         * UIProcess/API/Cocoa/WKBackForwardListPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKBackForwardListInternal.h.
1138         * UIProcess/Cocoa/NavigationState.mm:
1139         (WebKit::NavigationState::LoaderClient::didChangeBackForwardList):
1140         * WebKit2.xcodeproj/project.pbxproj:
1141
1142 2014-04-01  Andy Estes  <aestes@apple.com>
1143
1144         [Cocoa] Add SPI to determine if a WKWebView is displaying a PDF
1145         https://bugs.webkit.org/show_bug.cgi?id=131063
1146
1147         Reviewed by Tim Horton.
1148
1149         * UIProcess/API/Cocoa/WKWebView.mm:
1150         (-[WKWebView _isDisplayingPDF]):
1151         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1152
1153 2014-04-01  Simon Fraser  <simon.fraser@apple.com>
1154
1155         Remove some explicit template instantiations from logging code
1156         https://bugs.webkit.org/show_bug.cgi?id=131065
1157
1158         Reviewed by Tim Horton.
1159         
1160         No need to explicitly state template types.
1161
1162         * Shared/mac/RemoteLayerTreeTransaction.mm:
1163         (WebKit::dumpChangedLayers):
1164
1165 2014-04-01  Tim Horton  <timothy_horton@apple.com>
1166
1167         [iOS WebKit2] Partial repaint is broken
1168         https://bugs.webkit.org/show_bug.cgi?id=131056
1169
1170         Reviewed by Dean Jackson.
1171
1172         * Shared/mac/RemoteLayerBackingStore.mm:
1173         (WebKit::RemoteLayerBackingStore::display):
1174         We need to check if the repaint rects themselves cover the whole
1175         layer's surface, not just their bounds. Otherwise, we'll optimize
1176         out the back->front copy and end up not painting the whole layer.
1177
1178 2014-04-01  Anders Carlsson  <andersca@apple.com>
1179
1180         Pass a WKNavigationAction to the create UIDelegate method
1181         https://bugs.webkit.org/show_bug.cgi?id=131053
1182
1183         Reviewed by Sam Weinig.
1184
1185         * UIProcess/API/Cocoa/WKUIDelegate.h:
1186         * UIProcess/Cocoa/UIClient.h:
1187         * UIProcess/Cocoa/UIClient.mm:
1188         (WebKit::UIClient::setDelegate):
1189         (WebKit::UIClient::createNewPage):
1190
1191 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
1192
1193         [iOS][WK2] Remove the two finger pan gesture recognizer until it is actually implemented
1194         https://bugs.webkit.org/show_bug.cgi?id=131009
1195
1196         Reviewed by Sam Weinig.
1197
1198         The two finger pan should not block the pinch gesture recognizer.
1199
1200         * UIProcess/ios/WKContentViewInteraction.h:
1201         * UIProcess/ios/WKContentViewInteraction.mm:
1202         (-[WKContentView setupInteraction]):
1203         (-[WKContentView cleanupInteraction]):
1204         (-[WKContentView gestureRecognizerShouldBegin:]):
1205         (-[WKContentView _twoFingerPanRecognized:]): Deleted.
1206
1207 2014-04-01  Anders Carlsson  <andersca@apple.com>
1208
1209         Remove limits from WKBackForwardList getters
1210         https://bugs.webkit.org/show_bug.cgi?id=131052
1211
1212         Reviewed by Beth Dakin.
1213
1214         * UIProcess/API/Cocoa/WKBackForwardList.h:
1215         * UIProcess/API/Cocoa/WKBackForwardList.mm:
1216         (-[WKBackForwardList backList]):
1217         (-[WKBackForwardList forwardList]):
1218         (-[WKBackForwardList backListCount]): Deleted.
1219         (-[WKBackForwardList forwardListCount]): Deleted.
1220         (-[WKBackForwardList backListWithLimit:]): Deleted.
1221         (-[WKBackForwardList forwardListWithLimit:]): Deleted.
1222         * UIProcess/WebBackForwardList.cpp:
1223         (WebKit::WebBackForwardList::backList):
1224         (WebKit::WebBackForwardList::forwardList):
1225         * UIProcess/WebBackForwardList.h:
1226
1227 2014-04-01  Anders Carlsson  <andersca@apple.com>
1228
1229         Stub out the web process -> UI process message SPI
1230         https://bugs.webkit.org/show_bug.cgi?id=131048
1231
1232         Reviewed by Sam Weinig.
1233
1234         * UIProcess/API/Cocoa/WKWebView.mm:
1235         (-[WKWebView initWithFrame:configuration:]):
1236         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1237         (-[WKWebViewConfiguration copyWithZone:]):
1238         (-[WKWebViewConfiguration _userContentController]):
1239         (-[WKWebViewConfiguration _setUserContentController:]):
1240         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1241         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1242         * UIProcess/API/Cocoa/_WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
1243         * UIProcess/API/Cocoa/_WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
1244         (-[_WKScriptMessage body]):
1245         (-[_WKScriptMessage originatingWebView]):
1246         * UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
1247         * UIProcess/API/Cocoa/_WKScriptWorld.h:
1248         * UIProcess/API/Cocoa/_WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
1249         * UIProcess/API/Cocoa/_WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h.
1250         (-[_WKUserContentController addScriptMessageHandler:name:world:]):
1251         (-[_WKUserContentController removeScriptMessageHandler:]):
1252         * WebKit2.xcodeproj/project.pbxproj:
1253
1254 2014-04-01  Andreas Kling  <akling@apple.com>
1255
1256         Invalidate CFNetwork connection cache on memory pressure.
1257         <https://webkit.org/b/131038>
1258
1259         Stop holding on to cached HTTP connections if we come under memory pressure.
1260
1261         Reviewed by Geoff Malloc-Garen.
1262
1263         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1264         (WebKit::NetworkProcess::platformLowMemoryHandler):
1265
1266 2014-04-01  Anders Carlsson  <andersca@apple.com>
1267
1268         Tweak WKPreferences API
1269         https://bugs.webkit.org/show_bug.cgi?id=131047
1270
1271         Reviewed by Simon Fraser.
1272
1273         * UIProcess/API/Cocoa/WKPreferences.h:
1274         * UIProcess/API/Cocoa/WKPreferences.mm:
1275         (-[WKPreferences init]):
1276         (-[WKPreferences initWithUserDefaultsKeyPrefix:]):
1277         (-[WKPreferences userDefaultsKeyPrefix]):
1278         (-[WKPreferences initWithUserDefaultsPrefixKey:]): Deleted.
1279         (-[WKPreferences userDefaultsPrefixKey]): Deleted.
1280
1281 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1282
1283         Enable WEB_TIMING on Mac and iOS
1284         https://bugs.webkit.org/show_bug.cgi?id=128064
1285
1286         Reviewed by Sam Weinig, Brent Fulgham.
1287         
1288         Enable WEB_TIMING.
1289
1290         * Configurations/FeatureDefines.xcconfig:
1291
1292 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1293
1294         [UI-side compositing] Fix animations, and add logging
1295         https://bugs.webkit.org/show_bug.cgi?id=131011
1296
1297         Reviewed by Tim Horton.
1298         
1299         UI-side animations were broken because GraphicsLayerCARemote::addAnimation()
1300         never called the superclass, so fix.
1301         
1302         Add logging for animations to the layer tree commit output.
1303
1304         * Shared/mac/RemoteLayerTreeTransaction.mm:
1305         (WebKit::dumpProperty):
1306         (WebKit::RemoteLayerTreeTextStream::operator<<):
1307         (WebKit::dumpChangedLayers):
1308         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
1309         (WebKit::GraphicsLayerCARemote::addAnimation):
1310
1311 2014-04-01  Zalan Bujtas  <zalan@apple.com>
1312
1313         Build fix after r166582.
1314
1315         * Shared/ContextMenuContextData.cpp:
1316         (WebKit::ContextMenuContextData::ContextMenuContextData):
1317
1318 2014-04-01  Zalan Bujtas  <zalan@apple.com>
1319
1320         Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
1321         https://bugs.webkit.org/show_bug.cgi?id=130643
1322
1323         Reviewed by Simon Fraser.
1324
1325         This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
1326         subpixel sizing on hidpi resolutions, both generated and hidpi images can.
1327         This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
1328
1329         No change in behavior.
1330
1331         * Shared/WebCoreArgumentCoders.cpp:
1332         (IPC::encodeImage):
1333         * UIProcess/API/efl/EwkView.cpp:
1334         (EwkView::updateCursor):
1335
1336 2014-04-01  Joonghun Park  <jh718.park@samsung.com>
1337
1338         [EFL][WK2] Fix and update the existing test case for ewk_database_manager_origins_async_get API
1339         https://bugs.webkit.org/show_bug.cgi?id=131017
1340
1341         Reviewed by Gyuyoung Kim.
1342
1343         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
1344         Fix memory leaks and errors caused by duplication of Ecore_Timer deletion
1345         as well as update a naming style of local variable.
1346         (EWK2DatabaseManagerTest::databaseOriginsCallback):
1347         (TEST_F):
1348
1349 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1350
1351         Don't copy the children map in webkitWebViewBaseContainerForall
1352         https://bugs.webkit.org/show_bug.cgi?id=131016
1353
1354         Reviewed by Carlos Garcia Campos.
1355
1356         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1357         (webkitWebViewBaseContainerForall): Avoid copying the GtkWidget-to-IntRect HashMap object
1358         by transforming the iteration to a range-based for-loop over that HashMap's keys.
1359
1360 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
1361
1362         [GTK] Don't copy the ResourceResponse object in webkitWebViewDecidePolicy
1363         https://bugs.webkit.org/show_bug.cgi?id=131015
1364
1365         Reviewed by Carlos Garcia Campos.
1366
1367         * UIProcess/API/gtk/WebKitWebView.cpp:
1368         (webkitWebViewDecidePolicy): Avoid copying the ResourceResponce object returned by webkitURIResponseGetResourceResponse.
1369         That function already returns a reference, so the return value should be stored accordingly.
1370
1371 2014-04-01  Eunmi Lee  <eunmi15.lee@samsung.com>
1372
1373         [CoordinatedGraphics] Content scale factor should not be applied to draw contents when fixed layout is not used.
1374         https://bugs.webkit.org/show_bug.cgi?id=130962
1375
1376         Reviewed by Gyuyoung Kim.
1377
1378         Delegating scaling is turned off when fixed layout is not used in the
1379         coordinated graphics, so page scale factor is applied to the contents
1380         directly.
1381         In that case, we should not apply page scale factor to coordinated
1382         graphics to draw contents and calculate visible content rect.
1383
1384         Currently, page scale factor is applied twice to the coordinated
1385         graphics and contents, so result of scaling is abnormal.
1386
1387         * UIProcess/CoordinatedGraphics/WebView.cpp:
1388         (WebKit::WebView::transformToScene):
1389         (WebKit::WebView::visibleContentsSize):
1390
1391 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
1392
1393         [EFL][WK2] Rename ewk_application_cache_manager_delete{_all}
1394         https://bugs.webkit.org/show_bug.cgi?id=131012
1395
1396         Reviewed by Gyuyoung Kim.
1397
1398         While discussing Bug 130577, we resulted that _clear and _xxx_del is better name for the EFL.
1399         This patch will rename similar API in ewk_application_cache_manager.
1400
1401         In addition, fixed some typos in doxygen.
1402
1403         * UIProcess/API/efl/ewk_application_cache_manager.cpp:
1404         (ewk_application_cache_manager_clear): Renamed from ewk_application_cache_manager_delete_all
1405         (ewk_application_cache_manager_entries_for_origin_del): Renamed from ewk_application_cache_manager_delete
1406         (ewk_application_cache_manager_delete_all): Deleted.
1407         (ewk_application_cache_manager_delete): Deleted.
1408         * UIProcess/API/efl/ewk_application_cache_manager.h:
1409         * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
1410         (TEST_F):
1411
1412 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
1413
1414         Unreviewed GTK build fix after r166553.
1415
1416         * UIProcess/API/gtk/WebKitSettings.cpp:
1417         (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Pass 'WebKit2.' as the second argument to WebPreferences::create().
1418
1419 2014-03-31  Ryuan Choi  <ryuan.choi@samsung.com>
1420
1421         [EFL][WK2] Extract the control of page background out of color_set
1422         https://bugs.webkit.org/show_bug.cgi?id=127539
1423
1424         Reviewed by Gyuyoung Kim.
1425
1426         EFL have a way to change the color using evas_object_color_set and we used it to change background.
1427         But, We should not use it because the alpha value of color_set is used
1428         for the transparancy of object itself including background and contents.
1429
1430         This patch added ewk_view_bg_color_{get|set} to change the background color.
1431
1432         * UIProcess/API/C/efl/WKViewEfl.cpp:
1433         Extracted controls of page background out of color_set.
1434         color_set will be only used for the opacity of whole contents.
1435         (WKViewSetBackgroundColor): Added to share page background color.
1436         (WKViewGetBackgroundColor):
1437         * UIProcess/API/C/efl/WKViewEfl.h:
1438         * UIProcess/API/efl/EwkView.cpp:
1439         (EwkView::handleEvasObjectColorSet):
1440         * UIProcess/API/efl/ewk_view.cpp:
1441         Removed ewk_view_draws_page_background_set which just control whether to draw background.
1442         ewk_view_bg_color_set will conver it.
1443         (ewk_view_bg_color_set):
1444         (ewk_view_bg_color_get):
1445         * UIProcess/API/efl/ewk_view.h:
1446         * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added simple test case.
1447         * UIProcess/efl/WebViewEfl.cpp:
1448         (WebKit::WebViewEfl::setViewBackgroundColor):
1449         (WebKit::WebViewEfl::viewBackgroundColor):
1450         * UIProcess/efl/WebViewEfl.h:
1451
1452 2014-03-31  Joonghun Park  <jh718.park@samsung.com>
1453
1454         [EFL][WK2]Implement ewk APIs of web local storage which have deletion functions of the local storage entries
1455         https://bugs.webkit.org/show_bug.cgi?id=130577
1456
1457         Reviewed by Gyuyoung Kim.
1458
1459         * UIProcess/API/efl/ewk_storage_manager.cpp:
1460         (ewk_storage_manager_entries_clear):
1461         (ewk_storage_manager_entries_for_origin_del):
1462         * UIProcess/API/efl/ewk_storage_manager.h:
1463         * UIProcess/API/efl/ewk_storage_manager_private.h:
1464         (EwkStorageManager::wkStorageManager):
1465         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
1466         adding and updating API unittest and fixing memory leak of the existing test case
1467         (EWK2StorageManagerTest::getStorageOriginsCallback):
1468         (EWK2StorageManagerTest::checkOrigin):
1469         (EWK2StorageManagerTest::getOrigin):
1470         (TEST_F):
1471
1472 2014-03-31  Anders Carlsson  <andersca@apple.com>
1473
1474         Rename policy enums to match the delegate methods
1475         https://bugs.webkit.org/show_bug.cgi?id=131002
1476
1477         Reviewed by Tim Horton.
1478
1479         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1480         (NS_ENUM):
1481         * UIProcess/Cocoa/NavigationState.mm:
1482         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
1483         (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
1484
1485 2014-03-31  Anders Carlsson  <andersca@apple.com>
1486
1487         Add more preferences
1488         https://bugs.webkit.org/show_bug.cgi?id=131001
1489
1490         Reviewed by Simon Fraser.
1491
1492         * UIProcess/API/Cocoa/WKPreferences.h:
1493         * UIProcess/API/Cocoa/WKPreferences.mm:
1494         (-[WKPreferences isJavaScriptEnabled]):
1495         (-[WKPreferences setJavaScriptEnabled:]):
1496         (-[WKPreferences javaScriptCanOpenWindowsAutomatically]):
1497         (-[WKPreferences setJavaScriptCanOpenWindowsAutomatically:]):
1498         (-[WKPreferences suppressesIncrementalRendering]):
1499         (-[WKPreferences setSuppressesIncrementalRendering:]):
1500         (-[WKPreferences isJavaEnabled]):
1501         (-[WKPreferences setJavaEnabled:]):
1502         (-[WKPreferences arePlugInsEnabled]):
1503         (-[WKPreferences setPlugInsEnabled:]):
1504
1505 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1506
1507         Fix the build.
1508
1509         * WebProcess/WebPage/WebPage.cpp:
1510         (WebKit::WebPage::updatePreferences):
1511
1512 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1513
1514         Fix the iOS build.
1515
1516         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
1517         (WebKit::RemoteLayerTreeHost::createLayer):
1518         * UIProcess/mac/RemoteLayerTreeHost.h:
1519         * UIProcess/mac/RemoteLayerTreeHost.mm:
1520         (WebKit::RemoteLayerTreeHost::setLayerID):
1521         (WebKit::RemoteLayerTreeHost::layerID):
1522         (WebKit::RemoteLayerTreeHost::createLayer):
1523
1524 2014-03-31  Anders Carlsson  <andersca@apple.com>
1525
1526         Add a couple of iOS specific preferences
1527         https://bugs.webkit.org/show_bug.cgi?id=130999
1528
1529         Reviewed by Simon Fraser.
1530
1531         * Shared/WebPreferencesStore.h:
1532         * UIProcess/API/Cocoa/WKPreferences.h:
1533         * UIProcess/API/Cocoa/WKPreferences.mm:
1534         (-[WKPreferences allowsInlineMediaPlayback]):
1535         (-[WKPreferences setAllowsInlineMediaPlayback:]):
1536         (-[WKPreferences mediaPlaybackRequiresUserAction]):
1537         (-[WKPreferences setMediaPlaybackRequiresUserAction:]):
1538         (-[WKPreferences mediaPlaybackAllowsAirPlay]):
1539         (-[WKPreferences setMediaPlaybackAllowsAirPlay:]):
1540         * WebProcess/WebPage/WebPage.cpp:
1541         (WebKit::WebPage::updatePreferences):
1542
1543 2014-03-31  Anders Carlsson  <andersca@apple.com>
1544
1545         Add a new -[WKPreferences initWithUserDefaultsPrefixKey:] initializer
1546         https://bugs.webkit.org/show_bug.cgi?id=130996
1547
1548         Reviewed by Simon Fraser.
1549
1550         Add a "key prefix" to the WebKit::WebPreferences create function, so we can use a different
1551         key prefix ("WebKit") for the modern API and not pollute the user defaults namespace with
1552         the old key prefix ("WebKit2.").
1553         
1554         * UIProcess/API/C/WKPreferences.cpp:
1555         (WKPreferencesCreate):
1556         (WKPreferencesCreateWithIdentifier):
1557         * UIProcess/API/Cocoa/WKPreferences.h:
1558         * UIProcess/API/Cocoa/WKPreferences.mm:
1559         (-[WKPreferences init]):
1560         (-[WKPreferences initWithUserDefaultsPrefixKey:]):
1561         (-[WKPreferences userDefaultsPrefixKey]):
1562         * UIProcess/WebPageGroup.cpp:
1563         (WebKit::WebPageGroup::WebPageGroup):
1564         * UIProcess/WebPreferences.cpp:
1565         (WebKit::WebPreferences::WebPreferences):
1566         * UIProcess/WebPreferences.h:
1567         (WebKit::WebPreferences::create):
1568         * UIProcess/mac/WebPreferencesMac.mm:
1569         (WebKit::makeKey):
1570         (WebKit::setStringValueIfInUserDefaults):
1571         (WebKit::setBoolValueIfInUserDefaults):
1572         (WebKit::setUInt32ValueIfInUserDefaults):
1573         (WebKit::setDoubleValueIfInUserDefaults):
1574         (WebKit::WebPreferences::platformInitializeStore):
1575         (WebKit::WebPreferences::platformUpdateStringValueForKey):
1576         (WebKit::WebPreferences::platformUpdateBoolValueForKey):
1577         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
1578         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
1579         (WebKit::WebPreferences::platformUpdateFloatValueForKey):
1580
1581 2014-03-31  Pratik Solanki  <psolanki@apple.com>
1582
1583         Remove duplicate entries in Derived Sources.
1584
1585         Rubber-stamped by Anders Carlsson.
1586
1587         * WebKit2.xcodeproj/project.pbxproj:
1588
1589 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1590
1591         Fix the build.
1592
1593         * UIProcess/mac/RemoteLayerTreeHost.mm:
1594         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1595
1596 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1597
1598         Fix the build.
1599
1600         * UIProcess/mac/RemoteLayerTreeHost.mm:
1601         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1602
1603 2014-03-31  Anders Carlsson  <andersca@apple.com>
1604
1605         Rename -[WKNavigationAction destinationFrame] to -[WKNavigationAction targetFrame]
1606         https://bugs.webkit.org/show_bug.cgi?id=130994
1607
1608         Reviewed by Dan Bernstein.
1609
1610         * UIProcess/API/Cocoa/WKNavigationAction.h:
1611         * UIProcess/API/Cocoa/WKNavigationAction.mm:
1612         (-[WKNavigationAction description]):
1613         (-[WKNavigationAction targetFrame]):
1614         (-[WKNavigationAction setTargetFrame:]):
1615         (-[WKNavigationAction destinationFrame]): Deleted.
1616         (-[WKNavigationAction setDestinationFrame:]): Deleted.
1617         * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
1618         * UIProcess/Cocoa/NavigationState.mm:
1619         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
1620
1621 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1622
1623         [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
1624         https://bugs.webkit.org/show_bug.cgi?id=130768
1625         <rdar://problem/16421471>
1626
1627         Reviewed by Benjamin Poulain.
1628
1629         * Shared/mac/RemoteLayerBackingStore.h:
1630         Make RemoteLayerBackingStore noncopyable.
1631         Add flush(), which synchronously flushes painting operations on the underlying backing store.
1632         Add storage for the CGContext that needs to be flushed, and ensure that it is flushed before we paint again.
1633
1634         * Shared/mac/RemoteLayerBackingStore.mm:
1635         (RemoteLayerBackingStore::display):
1636
1637         (RemoteLayerBackingStore::drawInContext):
1638         Don't flush the context immediately after painting.
1639
1640         (RemoteLayerBackingStore::flush):
1641         Flush the current front surface/buffer's context.
1642         Clear the new pending-flush members.
1643
1644         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1645         (WebKit::flushBackingStoreChangesInTransaction):
1646         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1647         Crawl through all of the valid changed backing stores in the transaction and flush them.
1648         Reset changed properties after encoding the commit.
1649
1650         * Shared/mac/RemoteLayerTreeTransaction.h:
1651         (WebKit::RemoteLayerTreeTransaction::LayerProperties::resetChangedProperties):
1652         (WebKit::RemoteLayerTreeTransaction::changedLayers):
1653         (WebKit::RemoteLayerTreeTransaction::changedLayerProperties):
1654         * Shared/mac/RemoteLayerTreeTransaction.mm:
1655         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
1656         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1657         (WebKit::RemoteLayerTreeTransaction::encode):
1658         (WebKit::RemoteLayerTreeTransaction::decode):
1659         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
1660         (WebKit::dumpChangedLayers):
1661         Instead of storing a copy of the LayerProperties struct for each changed layer
1662         while building the transaction in the Web process, store a list of changed layers,
1663         and directly encode the commit from those layers' LayerProperties. This provides a few benefits:
1664                 - We avoid copying LayerProperties for every changed layer, every commit
1665                 - We can make RemoteLayerBackingStore noncopyable
1666                 - We can walk the changed layers after building the transaction
1667                 in order to flush backing store, and actually affect the layers'
1668                 own RemoteLayerBackingStore instead of a copy.
1669         The UI process will still generate a LayerPropertiesMap at decode time.
1670         
1671         * UIProcess/mac/RemoteLayerTreeHost.mm:
1672         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1673         Don't copy the LayerProperties struct for the debug overlay. Instead,
1674         adjust the properties which the debug overlay whacks directly on the layer,
1675         after applying the normal LayerProperties.
1676
1677         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1678         (PlatformCALayerRemote::recursiveBuildTransaction):
1679         Don't reset changed layer properties in the middle of building a transaction. Instead,
1680         RemoteLayerTreeDrawingArea::flushLayers() will reset all the flags on all changed layers
1681         after the commit is encoded.
1682
1683         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1684         (WebKit::PlatformCALayerRemote::properties):
1685
1686 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1687
1688         [UI-side compositing] Proxy animations to the UI process
1689         https://bugs.webkit.org/show_bug.cgi?id=130946
1690
1691         Reviewed by Tim Horton.
1692         
1693         Add encoding/decoding of TimingFunctions. Add encoding support
1694         for HashSet.
1695         
1696         Add PlatformCAAnimationRemote and have PlatformCALayerRemote allow
1697         animations now. PlatformCALayerRemote's properties are defined in the class,
1698         as is the encoding/decoding (much cleaner than having them in the transaction
1699         class I think).
1700         
1701         Add support for the "animationDidStart" callback and sending this back to the
1702         web process. This involves a HashMap of layerID->WKAnimationDelegate stored
1703         on the RemoteLayerTreeHost, and a message send via the DrawingArea. On the
1704         other side, RemoteLayerTreeContext stores a HashMap of layerID->PlatformCALayerRemote*
1705         for layers which have just started animations, which is used to get the
1706         PlatformCALayer* to call animationDidStart() on.
1707         
1708         This requires that the RemoteLayerTreeHost* be passed down into property application,
1709         and that the RemoteLayerTreeHost have a reference to the drawing area.
1710         
1711         To every CALayer in the UI process we -setValue:forKey: to track the PlatformLayerID,
1712         so we can get back to it in order to dispatch "animationDidStart".
1713         
1714         Replace some "using namespace WebKit" with "namespace WebKit { }".
1715
1716         * Platform/IPC/ArgumentCoders.h:
1717         * Shared/WebCoreArgumentCoders.cpp:
1718         (IPC::ArgumentCoder<LinearTimingFunction>::encode):
1719         (IPC::ArgumentCoder<LinearTimingFunction>::decode):
1720         (IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
1721         (IPC::ArgumentCoder<CubicBezierTimingFunction>::decode):
1722         (IPC::ArgumentCoder<StepsTimingFunction>::encode):
1723         (IPC::ArgumentCoder<StepsTimingFunction>::decode):
1724         * Shared/WebCoreArgumentCoders.h:
1725         * Shared/mac/RemoteLayerBackingStore.mm:
1726         * Shared/mac/RemoteLayerTreePropertyApplier.h:
1727         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1728         (WebKit::applyPropertiesToLayer):
1729         (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
1730         * Shared/mac/RemoteLayerTreeTransaction.h:
1731         * Shared/mac/RemoteLayerTreeTransaction.mm:
1732         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
1733         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
1734         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
1735         (WebKit::dumpChangedLayers):
1736         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
1737         (WebKit::RemoteLayerTreeHost::layerID):
1738         (WebKit::RemoteLayerTreeHost::createLayer):
1739         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1740         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1741         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
1742         (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
1743         (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1744         * UIProcess/mac/RemoteLayerTreeHost.h:
1745         (WebKit::RemoteLayerTreeHost::animationDelegates):
1746         * UIProcess/mac/RemoteLayerTreeHost.mm:
1747         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
1748         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1749         (WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
1750         (WebKit::RemoteLayerTreeHost::animationDidStart):
1751         (WebKit::RemoteLayerTreeHost::layerID):
1752         (WebKit::RemoteLayerTreeHost::createLayer):
1753         * WebKit2.xcodeproj/project.pbxproj:
1754         * WebProcess/WebPage/DrawingArea.h:
1755         (WebKit::DrawingArea::acceleratedAnimationDidStart):
1756         * WebProcess/WebPage/DrawingArea.messages.in:
1757         * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
1758         (WebKit::GraphicsLayerCARemote::createPlatformCAAnimation):
1759         * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
1760         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: Added.
1761         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: Added.
1762         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1763         (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
1764         (WebKit::PlatformCALayerRemote::animationStarted):
1765         (WebKit::PlatformCALayerRemote::addAnimationForKey):
1766         (WebKit::PlatformCALayerRemote::removeAnimationForKey):
1767         (WebKit::PlatformCALayerRemote::animationForKey):
1768         (PlatformCALayerRemote::recursiveBuildTransaction): Deleted.
1769         (PlatformCALayerRemote::addAnimationForKey): Deleted.
1770         (PlatformCALayerRemote::removeAnimationForKey): Deleted.
1771         (PlatformCALayerRemote::animationForKey): Deleted.
1772         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1773         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1774         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
1775         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
1776         (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
1777         (WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
1778         (WebKit::RemoteLayerTreeContext::animationDidStart):
1779         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1780         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1781         (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):
1782         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1783         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
1784
1785 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1786
1787         Double-buffer RemoteLayerBackingStore
1788         https://bugs.webkit.org/show_bug.cgi?id=130990
1789
1790         Reviewed by Simon Fraser.
1791
1792         We'll keep a front and back buffer for each surface; the front is generally currently
1793         being displayed in the UI process, and the back is the one we'll paint into.
1794
1795         Swap the two surfaces each time we paint; since we synchronize with the UI process,
1796         the old front surface will generally be out-of-use by the render server by the time
1797         we paint again. However, since render server commits are asynchronous and we have 
1798         no way to syncronize with them yet, we have to check if the (swapped to front) back buffer is in use,
1799         and create a new front buffer if it is.
1800
1801         Triple-buffering would solve this problem, as would synchronization with the render server,
1802         as would a pool of surfaces - we will revisit these solutions in future patches.
1803
1804         * Shared/mac/RemoteLayerBackingStore.h:
1805         * Shared/mac/RemoteLayerBackingStore.mm:
1806         (RemoteLayerBackingStore::ensureBackingStore):
1807         (RemoteLayerBackingStore::clearBackingStore):
1808         Factor clearBackingStore() out of ensureBackingStore() and display().
1809
1810         (RemoteLayerBackingStore::display):
1811         Swap buffers. Since m_backSurface will hold on to the back surface's CGContext,
1812         we don't need to worry about tearing down the image first anymore.
1813         Don't worry about creating a back image (nor copying it into the front image)
1814         if we're going to paint the whole layer.
1815
1816         (RemoteLayerBackingStore::drawInContext):
1817         Fix some names.
1818
1819         (RemoteLayerBackingStore::applyBackingStoreToLayer):
1820         Reduce duplication.
1821
1822         (RemoteLayerBackingStore::createImageForFrontBuffer): Deleted.
1823
1824 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1825
1826         Synchronize Web process remote layer tree commits with CoreAnimation commits in the UI process
1827         https://bugs.webkit.org/show_bug.cgi?id=130984
1828
1829         Reviewed by Simon Fraser.
1830
1831         There's no reason for the Web process to paint faster than the UI process
1832         can apply to and commit the CoreAnimation layer tree.
1833
1834         Also, once we get proper double-buffering and purgeable back buffers, we
1835         will need the ability to make some assumptions about in-use surfaces.
1836
1837         Unfortunately, we can't actually tell when the render server commits, 
1838         as this is an asynchronous operation in a process we don't control, so
1839         for now, this is only an approximation.
1840
1841         This also means that the assumptions we would like to make won't be
1842         strong guarantees yet.
1843
1844         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1845         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1846         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
1847         When we commit, install a run loop observer to fire immediately after CoreAnimation commits.
1848
1849         (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1850         Fix a typo ('cmponents').
1851
1852         (WebKit::coreAnimationDidCommitLayersCallback):
1853         (WebKit::RemoteLayerTreeDrawingAreaProxy::scheduleCoreAnimationLayerCommitObserver):
1854         (WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers):
1855         When CA commits, send a message to the Web process letting it know that we
1856         swapped to the new backing store.
1857
1858         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1859         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1860         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1861         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1862         (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
1863         Defer remote layer tree commits until we get didUpdate() from the UI process.
1864
1865 2014-03-31  Dean Jackson  <dino@apple.com>
1866
1867         Remove WEB_ANIMATIONS
1868         https://bugs.webkit.org/show_bug.cgi?id=130989
1869
1870         Reviewed by Simon Fraser.
1871
1872         Remove this feature flag until we plan to implement.
1873
1874         * Configurations/FeatureDefines.xcconfig:
1875
1876 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
1877
1878         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
1879         https://bugs.webkit.org/show_bug.cgi?id=130976
1880
1881         Reviewed by Tim Horton.
1882         
1883         When an accelerated overflow:scroll is scrolled in the UI process,
1884         tell the WebProcess that the scroll happened to update RenderLayer
1885         state and fire events.
1886         
1887         Add a WKOverflowScrollViewDelegate which is set as the delegate of
1888         UIScrollViews, owned by ScrollingTreeOverflowScrollingNodeIOS, and propagates
1889         -scrollViewDidScroll: messages to ScrollingTree::scrollPositionChangedViaDelegatedScrolling(),
1890         which updates child layers and then, via RemoteScrollingTree::scrollingTreeNodeDidScroll,
1891         tells the RemoteScrollingCoordinator which sends a message to the WebProcess.
1892         
1893         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1894         (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll): Name change
1895         to try to reduce confusion.
1896         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged): Deleted.
1897         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1898         * UIProcess/Scrolling/RemoteScrollingTree.cpp:
1899         (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
1900         * UIProcess/Scrolling/RemoteScrollingTree.h:
1901         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
1902         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1903         (-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:WebKit::]):
1904         (-[WKOverflowScrollViewDelegate scrollViewDidScroll:]):
1905         (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
1906         (-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
1907         (-[WKOverflowScrollViewDelegate scrollViewDidEndScrollingAnimation:]):
1908         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
1909         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateBeforeChildren):
1910         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
1911         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):
1912         * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
1913         (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode): No need for
1914         rounding.
1915
1916 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
1917
1918         Fix scrolling on OS X with UI-side compositing
1919         https://bugs.webkit.org/show_bug.cgi?id=130930
1920
1921         Reviewed by Tim Horton.
1922         
1923         On iOS, we rely on visible rect updates to propagate scroll offset
1924         changes to the WebProcess. RemoteScrollingCoordinatorProxy was thus hardcoded
1925         to bail from scrollPositionChanged() when the scrolled node was the root node,
1926         but this broke OS X. Fix by adding a behavior flag to RemoteScrollingCoordinatorProxy.
1927
1928         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1929         (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
1930         (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
1931         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
1932         (WebKit::RemoteScrollingCoordinatorProxy::setPropagatesMainFrameScrolls):
1933         (WebKit::RemoteScrollingCoordinatorProxy::propagatesMainFrameScrolls):
1934         * UIProcess/WebPageProxy.cpp:
1935         (WebKit::WebPageProxy::initializeWebPage):
1936
1937 2014-03-31  Tim Horton  <timothy_horton@apple.com>
1938
1939         [iOS WebKit2] Disable tile cohort retention for now
1940         https://bugs.webkit.org/show_bug.cgi?id=130926
1941         <rdar://problem/16465413>
1942
1943         Reviewed by Simon Fraser.
1944
1945         * Shared/WebPreferencesStore.h:
1946         * WebProcess/WebPage/WebPage.cpp:
1947         (WebKit::WebPage::updatePreferences):
1948         Add a preference for temporary tile cohort retention (essentially, provide a setting
1949         that means that we will never retain tiles at all once they leave the tile coverage rect).
1950         Defaults to true to maintain existing behavior, except for iOS WebKit2, where
1951         it defaults to false because we don't have the requisite support for purgeable tiles yet.
1952
1953         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1954         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
1955         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1956
1957 2014-03-31  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1958
1959         Buildfix after r166497.
1960
1961         Reviewed by Csaba Osztrogonác.
1962
1963         * UIProcess/API/efl/ewk_context.h: Missing EAPI added.
1964
1965 2014-03-31  Martin Robinson  <mrobinson@igalia.com>
1966
1967         [GTK] Use PROJECT_VERSION_* instead of WEBKIT_*_VERSION
1968         https://bugs.webkit.org/show_bug.cgi?id=130936
1969
1970         Reviewed by Carlos Garcia Campos.
1971
1972         * UIProcess/API/gtk/WebKitVersion.h.in: Use PROJECT_VERSION_* macros instead of the Autotools ones.
1973
1974 2014-03-31  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1975
1976         [EFL][WK2] Add ewk APIs to control TLS error policy on WebContext.
1977         https://bugs.webkit.org/show_bug.cgi?id=129740
1978
1979         Reviewed by Gyuyoung Kim.
1980
1981         * PlatformEfl.cmake:
1982         Added the new SSL test.
1983
1984         * UIProcess/API/efl/ewk_context.cpp:
1985         (EwkContext::ignoreTLSErrors):
1986         (EwkContext::setIgnoreTLSErrors):
1987         (ewk_context_ignore_tls_errors_get):
1988         (ewk_context_ignore_tls_errors_set):
1989         * UIProcess/API/efl/ewk_context.h:
1990         * UIProcess/API/efl/ewk_context_private.h:
1991         Added the API functions.
1992
1993         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp:
1994         (EWK2UnitTestServer::EWK2UnitTestServer):
1995         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h:
1996         Extended the unit test server to handle TLS.
1997
1998         * UIProcess/API/efl/tests/test_ewk2_ssl.cpp:
1999         Added tests to check the TLS policy API.
2000
2001 2014-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2002
2003         Unreviewed. Fix GTK2 plugin process binary name after r166492.
2004
2005         * PlatformGTK.cmake: Fix typo.
2006
2007 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
2008
2009         Remove hostThisRegister() and hostThisValue()
2010         https://bugs.webkit.org/show_bug.cgi?id=130895
2011
2012         Reviewed by Geoffrey Garen.
2013
2014         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
2015
2016         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2017         (WebKit::callMethod):
2018
2019 2014-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2020
2021         [GTK] Add support for GTK3 plugins
2022         https://bugs.webkit.org/show_bug.cgi?id=130599
2023
2024         Reviewed by Martin Robinson.
2025
2026         We currently have a gtk2 based plugin process mainly for flash
2027         and a few other plugins that use GTK2, but many other plugins
2028         don't even use gtk at all. This patch builds a lighter plugin
2029         process based on GTK3, used by default for all the plugins expect
2030         the ones requiring GTK2. And of course the default plugin process
2031         supports GTK3 plugins.
2032
2033         * CMakeLists.txt: Add common rules to build the default plugin process.
2034         * PlatformEfl.cmake: Remove common cmake code that is now in CMakeLists.txt.
2035         * PlatformGTK.cmake: Rename WebKitPluginProcess to
2036         WebKitPluginProcess2 and add the platform specific rules to build
2037         the default plugin process.
2038         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2039         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
2040         Check if the loaded plugin module uses GTK2.
2041         (WebKit::NetscapePluginModule::getPluginInfo): Set requiresGtk2 accordingly.
2042         (WebKit::NetscapePluginModule::scanPlugin): Write "requires-gtk2"
2043         line to stdout if the plugin requires GTK2.
2044         * Shared/Plugins/PluginModuleInfo.h: Add requiresGtk2 boolean member.
2045         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2046         (WebKit::ProcessLauncher::launchProcess): Use the
2047         WebKitPluginProcess2 executable when the plugin requires GTK2.
2048         * UIProcess/Plugins/PluginProcessProxy.h: Add requiresGtk2 boolean
2049         member to RawPluginMetaData struct.
2050         * UIProcess/Plugins/gtk/PluginInfoCache.cpp: Bump the cache schema version.
2051         (WebKit::PluginInfoCache::getPluginInfo): Read also requires-gtk2
2052         key from the cache.
2053         (WebKit::PluginInfoCache::updatePluginInfo): Save also
2054         requires-gtk2 key in the cache.
2055         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2056         (WebKit::PluginProcessProxy::platformGetLaunchOptions): Add an
2057         extra initialization data parameter if the plugin requires GTK2.
2058         (WebKit::PluginProcessProxy::scanPlugin): Check if "requires-gtk2"
2059         was written to stdout.
2060
2061 2014-03-30  Andy Estes  <aestes@apple.com>
2062
2063         [Cocoa] Add an originatingWebView property to _WKDownload
2064         https://bugs.webkit.org/show_bug.cgi?id=130945
2065
2066         Reviewed by Anders Carlsson.
2067
2068         * UIProcess/API/Cocoa/WKWebView.mm:
2069         (-[WKWebView initWithFrame:configuration:]): Passed self to WKView's initializer.
2070         * UIProcess/API/Cocoa/_WKDownload.h: Declared originatingWebView as a weak, readonly property.
2071         * UIProcess/API/Cocoa/_WKDownload.mm:
2072         (-[_WKDownload originatingWebView]):
2073         (-[_WKDownload setOriginatingWebView:]):
2074         * UIProcess/API/Cocoa/_WKDownloadInternal.h: Re-declared originatingWebView as readwrite so that
2075         PageClientImpl can call setOriginatingWebView:. Removed some dead code.
2076         * UIProcess/API/mac/WKView.mm:
2077         (-[WKView initWithFrame:context:configuration:webView:]): Updated to accept a webView parameter.
2078         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): Passed nil for the webView parameter.
2079         * UIProcess/API/mac/WKViewInternal.h:
2080         * UIProcess/Cocoa/DownloadClient.mm:
2081         (WebKit::DownloadClient::decideDestinationWithSuggestedFilename): Ensured allowOverwrite is initialized.
2082         * UIProcess/PageClient.h: Included handleDownloadRequest() on all platforms.
2083         * UIProcess/WebPageProxy.cpp:
2084         (WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
2085         (WebKit::WebPageProxy::handleDownloadRequest): Ditto.
2086         * UIProcess/WebPageProxy.h: Ditto.
2087         * UIProcess/ios/PageClientImplIOS.h:
2088         * UIProcess/ios/PageClientImplIOS.mm:
2089         (WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].
2090         * UIProcess/mac/PageClientImpl.h: Added a m_webView member variable.
2091         * UIProcess/mac/PageClientImpl.mm:
2092         (WebKit::PageClientImpl::PageClientImpl): Asserted that m_webView is nil if WK API isn't enabled.
2093         (WebKit::PageClientImpl::handleDownloadRequest): Called -[_WKDownload setOriginatingWebView:].
2094
2095 2014-03-29  Commit Queue  <commit-queue@webkit.org>
2096
2097         Unreviewed, rolling out r166434.
2098         https://bugs.webkit.org/show_bug.cgi?id=130938
2099
2100         Caused crashes and other failures on cache tests (Requested by
2101         ap on #webkit).
2102
2103         Reverted changeset:
2104
2105         "Web Replay: add page-level setting to bypass the MemoryCache"
2106         https://bugs.webkit.org/show_bug.cgi?id=130728
2107         http://trac.webkit.org/changeset/166434
2108
2109 2014-03-28  Anders Carlsson  <andersca@apple.com>
2110
2111         Uncaught NSExceptions should crash the web process
2112         https://bugs.webkit.org/show_bug.cgi?id=130923
2113         <rdar://problem/16463751>
2114
2115         Reviewed by Dan Bernstein.
2116
2117         * WebProcess/cocoa/WebProcessCocoa.mm:
2118         (WebKit::WebProcess::platformInitializeWebProcess):
2119
2120 2014-03-28  Csaba Osztrogonác  <ossy@webkit.org>
2121
2122         Unreviewed buildfix after r166441 and r166443.
2123
2124         Missing PLATFORM(COCOA) guards added.
2125
2126         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2127         (WebKit::NPRuntimeObjectMap::evaluate):
2128         * WebProcess/Plugins/PluginProxy.cpp:
2129         * WebProcess/Plugins/PluginProxy.h:
2130
2131 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2132
2133         Don't prevent AppSleep from sync messages.
2134         https://bugs.webkit.org/show_bug.cgi?id=130747.
2135
2136         Reviewed by Anders Carlsson.
2137
2138         We think sync messages only need to happen full throttle when the plugin is visible,
2139         the user is interacting with the plugin, or audio is playing.  Since we already
2140         take assertions for all these cases the assertion in sync messages doesn’t provide
2141         any value.  Since it can keep the PluginProcess awake in other instances remove it.
2142
2143         * PluginProcess/WebProcessConnection.cpp:
2144         (WebKit::WebProcessConnection::didReceiveSyncMessage):
2145
2146 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2147
2148         Stop waking up the web process in the background because of plugin activity.
2149         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
2150
2151         Reviewed by Anders Carlsson.
2152
2153         Plugin activity in the background can constantly wake up web processes.  This is only
2154         necessary when audio is playing to support web apps like Pandora and youtube playing 
2155         in the background.  Use a new api in CoreAudio to see if there is audio playing in
2156         the PluginProcess.
2157
2158         * PluginProcess/PluginProcess.cpp:
2159         (WebKit::PluginProcess::PluginProcess): Add a AudioHardwareListener
2160         (WebKit::PluginProcess::createWebProcessConnection): tell web process current state
2161         (WebKit::PluginProcess::audioHardwareDidBecomeActive): respond to audio hardware notifications
2162         (WebKit::PluginProcess::audioHardwareDidBecomeInactive):
2163         * PluginProcess/PluginProcess.h:
2164         * PluginProcess/WebProcessConnection.cpp: tell WebProcess when audio state in PluginProcess
2165              changes.
2166         (WebKit::WebProcessConnection::audioHardwareDidBecomeActive):
2167         (WebKit::WebProcessConnection::audioHardwareDidBecomeInactive):
2168         * PluginProcess/WebProcessConnection.h:
2169         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2170              Only invoke pageThrottler activity when playing audio
2171         (WebKit::NPRuntimeObjectMap::evaluate):
2172         * WebProcess/Plugins/Plugin.h: add function to get audio state
2173         (WebKit::Plugin::audioIsPlayingInPluginProcess):
2174         * WebProcess/Plugins/PluginProcessConnection.cpp: store audio state
2175         (WebKit::PluginProcessConnection::PluginProcessConnection):
2176         (WebKit::PluginProcessConnection::didReceiveMessage):
2177         (WebKit::PluginProcessConnection::audioHardwareDidBecomeActive):
2178         (WebKit::PluginProcessConnection::audioHardwareDidBecomeInactive):
2179         * WebProcess/Plugins/PluginProcessConnection.h:
2180         (WebKit::PluginProcessConnection::audioIsPlaying):
2181         * WebProcess/Plugins/PluginProcessConnection.messages.in:
2182         * WebProcess/Plugins/PluginProxy.cpp:
2183         (WebKit::PluginProxy::audioIsPlayingInPluginProcess):
2184         * WebProcess/Plugins/PluginProxy.h:
2185         * WebProcess/Plugins/PluginView.cpp:
2186         (WebKit::PluginView::audioIsPlayingInPluginProcess):
2187         * WebProcess/Plugins/PluginView.h:
2188
2189 2014-03-28  Stephanie Lewis  <slewis@apple.com>
2190
2191         Have the plugin process track visibility of it’s plugin and sleep when none
2192         are visible.
2193         Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
2194         https://bugs.webkit.org/show_bug.cgi?id=130694
2195
2196         Reviewed by Anders Carlsson.
2197
2198         Currently AppSleep is enabled on the PluginProcess based on web page visibility.
2199         Add visibility tracking to plugins and move the decision to AppSleep into the the
2200         PluginProcess
2201
2202         * PluginProcess/PluginProcess.cpp:
2203         (WebKit::PluginProcess::PluginProcess): Add a new activity for visible plugins
2204         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): take an activity
2205              assertion if any web processes have a visible plugin.
2206         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): 
2207         * PluginProcess/PluginProcess.h:
2208         * PluginProcess/WebProcessConnection.cpp: 
2209         (WebKit::WebProcessConnection::removePluginControllerProxy): remove plugin from 
2210             visible plugins when destroying it
2211         (WebKit::WebProcessConnection::pluginDidBecomeVisible):
2212         (WebKit::WebProcessConnection::pluginDidBecomeHidden): track which plugins are
2213             visible for each web process
2214         * PluginProcess/WebProcessConnection.h:
2215         * PluginProcess/mac/PluginControllerProxyMac.mm:
2216         (WebKit::PluginControllerProxy::windowVisibilityChanged): notify WebProcessConnection
2217             when visibility changed.
2218         * UIProcess/WebContext.h:
2219         * UIProcess/mac/WebContextMac.mm:  instead of tracking plugin app sleep state on the web pref.
2220             and visibility state, just use the web pref.
2221         (WebKit::WebContext::updateProcessSuppressionState):
2222         (WebKit::WebContext::processSuppressionPreferenceIsEnabledForAllContexts):
2223
2224 2014-03-28  Brian Burg  <bburg@apple.com>
2225
2226         Web Replay: add page-level setting to bypass the MemoryCache
2227         https://bugs.webkit.org/show_bug.cgi?id=130728
2228
2229         Reviewed by Timothy Hatcher.
2230
2231         * UIProcess/APISession.cpp:
2232         (API::generateID): update the base ID for generating unique sessions.
2233
2234 2014-03-28  Cody Krieger  <cjk@apple.com>
2235
2236         Add willSubmitForm callback support to WKWebProcessPlugInFormDelegatePrivate.
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=130875
2239
2240         Reviewed by Anders Carlsson.
2241
2242         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
2243         Add -_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:
2244         to the WKWebProcessPlugInFormDelegatePrivate protocol.
2245
2246         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2247         Wire up the willSubmitForm() callback to the new
2248         WKWebProcessPlugInFormDelegatePrivate method.
2249
2250 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
2251
2252         [Mac] Enable async text input implementation
2253         https://bugs.webkit.org/show_bug.cgi?id=130856
2254
2255         Reviewed by Sam Weinig.
2256
2257         * UIProcess/API/mac/WKView.mm: (-[WKView _interpretKeyEvent:completionHandler:]):
2258         Temporarily work around <rdar://16393434>.
2259
2260 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
2261
2262         Move sync CancelComposition message under an ifdef
2263         https://bugs.webkit.org/show_bug.cgi?id=130908
2264
2265         Reviewed by Enrica Casucci.
2266
2267         * UIProcess/WebPageProxy.h:
2268         * UIProcess/ios/WebPageProxyIOS.mm:
2269         (WebKit::WebPageProxy::cancelComposition): Deleted.
2270         * UIProcess/mac/WebPageProxyMac.mm:
2271         * WebProcess/WebPage/WebPage.h:
2272         * WebProcess/WebPage/WebPage.messages.in:
2273         * WebProcess/WebPage/mac/WebPageMac.mm:
2274
2275 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
2276
2277         [iOS] Don't cancel composition on selection change
2278         https://bugs.webkit.org/show_bug.cgi?id=130909
2279
2280         Reviewed by Enrica Casucci.
2281
2282         Fixing a recent regression from bug 130727.
2283
2284         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):
2285
2286 2014-03-28  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2287
2288         [WK2] Removed unused method logChannelByName.
2289         https://bugs.webkit.org/show_bug.cgi?id=130897
2290
2291         Reviewed by Anders Carlsson.
2292
2293         * Platform/Logging.cpp:
2294         (WebKit::logChannelByName): Deleted.
2295         * Platform/Logging.h:
2296
2297 2014-03-28  Alexey Proskuryakov  <ap@apple.com>
2298
2299         Eliminate a sync cancelComposition call in WebPageProxy::editorStateChanged
2300         https://bugs.webkit.org/show_bug.cgi?id=130727
2301
2302         Reviewed by Enrica Casucci.
2303
2304         Added a separate CompositionWasCanceled IPC call, with which WebProcess can tell
2305         UIProcess that it should notify an input method of canceled composition. There are
2306         a lot of incorrect edge cases where we don't call it correctly, but this was true
2307         in the old implementation too (for different edge cases).
2308
2309         This change only affects iOS and async NSTextInputClient code path on Mac. I don't
2310         want to change sync NSTextInputClient code path unless absolutely necessary.
2311
2312         * UIProcess/WebPageProxy.cpp:
2313         (WebKit::WebPageProxy::WebPageProxy):
2314         (WebKit::WebPageProxy::editorStateChanged):
2315         (WebKit::WebPageProxy::compositionWasCanceled):
2316         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2317         * UIProcess/WebPageProxy.h:
2318         * UIProcess/WebPageProxy.messages.in:
2319         * UIProcess/mac/WebPageProxyMac.mm:
2320         (WebKit::WebPageProxy::insertText):
2321         (WebKit::WebPageProxy::executeKeypressCommands):
2322         * WebProcess/WebPage/WebPage.cpp:
2323         (WebKit::WebPage::didChangeSelection):
2324
2325 2014-03-28  Mario Sanchez Prada  <mario.prada@samsung.com>
2326
2327         [GTK] Running minibrowser with url crashes in debug build
2328         https://bugs.webkit.org/show_bug.cgi?id=130492
2329
2330         Reviewed by Martin Robinson.
2331
2332         Use the ResourceRequest(const URL& url) constructor, instead of the
2333         one taking a String, to call WebPageProxy::loadRequest(), so we
2334         ensure that the passed URI is correctly constructed.
2335
2336         * UIProcess/API/gtk/WebKitWebView.cpp:
2337         (webkit_web_view_load_uri): Create an URL out of a SoupURI and
2338         use that to create a ResourceRequest to pass to loadRequest().
2339
2340 2014-03-27  Pratik Solanki  <psolanki@apple.com>
2341
2342         [iOS WebKit2] Tweak cache sizes for iOS
2343         https://bugs.webkit.org/show_bug.cgi?id=130871
2344
2345         Reviewed by Sam Weinig.
2346
2347         Bring over the tweaks we had made to memory cache size for WebKit1 on iOS to WebKit2. These
2348         were made per findings in <rdar://8611638>.
2349
2350         * Shared/CacheModel.cpp:
2351         (WebKit::calculateCacheSizes):
2352
2353 2014-03-27  Jinwoo Song  <jinwoo7.song@samsung.com>
2354
2355         [WK2][EFL] Fix wrong parameter name in ewk_view_user_agent_set()
2356         https://bugs.webkit.org/show_bug.cgi?id=130888
2357
2358         Reviewed by Gyuyoung Kim.
2359
2360         * UIProcess/API/efl/ewk_view.h:
2361
2362 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
2363
2364         Confirm composition in resignFirstResponder, don't cancel it
2365         https://bugs.webkit.org/show_bug.cgi?id=130852
2366
2367         Reviewed by Darin Adler.
2368
2369         * UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]):
2370
2371 2014-03-27  Pratik Solanki  <psolanki@apple.com>
2372
2373         [iOS WebKit2] Don't pass disk cache directory path on iOS
2374         https://bugs.webkit.org/show_bug.cgi?id=130862
2375
2376         Reviewed by Sam Weinig.
2377
2378         The diskPath passed to NSURLCache initializer is treated differently on Mac and iOS. Just
2379         pass nil for now until we sort out the API.
2380
2381         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
2382         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
2383         * WebProcess/cocoa/WebProcessCocoa.mm:
2384         (WebKit::WebProcess::platformInitializeWebProcess):
2385
2386 2014-03-27  Pratik Solanki  <psolanki@apple.com>
2387
2388         [iOS WebKit2] Share network process code between iOS and Mac
2389         https://bugs.webkit.org/show_bug.cgi?id=130861
2390
2391         Reviewed by Sam Weinig.
2392
2393         Implement network process functions for iOS by moving common code from NetworkProcessMac.mm
2394         to a new shared file NetworkProcessCocoa.mm and sharing between iOS and Mac.
2395
2396         * NetworkProcess/NetworkProcess.h:
2397         * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Added.
2398         (WebKit::NetworkProcess::platformLowMemoryHandler):
2399         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
2400         Common initialization code for iOS and Mac.
2401         (WebKit::memorySize):
2402         (WebKit::volumeFreeSize):
2403         (WebKit::NetworkProcess::platformSetCacheModel):
2404         * NetworkProcess/ios/NetworkProcessIOS.mm:
2405         (WebKit::NetworkProcess::initializeProcess):
2406         Remove unnecessary #if PLATFORM(IOS).
2407         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2408         * NetworkProcess/mac/NetworkProcessMac.mm:
2409         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2410         * WebKit2.xcodeproj/project.pbxproj:
2411
2412 2014-03-27  Enrica Casucci  <enrica@apple.com>
2413
2414         Add support for AirPlay picker in WK2 for iOS.
2415         https://bugs.webkit.org/show_bug.cgi?id=130855
2416         <rdar://problem/15349859>
2417
2418         Reviewed by Joseph Pecoraro and Benjamin Poulain.
2419
2420         Adds support to display the airplay picker for iPhone and iPad
2421         in WK2.
2422         The picker on iPad is displayed next to the airplay button.
2423
2424         * UIProcess/PageClient.h:
2425         * UIProcess/WebPageProxy.h:
2426         * UIProcess/WebPageProxy.messages.in:
2427         * UIProcess/ios/PageClientImplIOS.h:
2428         * UIProcess/ios/PageClientImplIOS.mm:
2429         (WebKit::PageClientImpl::showAirPlayRoutePicker):
2430         * UIProcess/ios/WKContentViewInteraction.h:
2431         * UIProcess/ios/WKContentViewInteraction.mm:
2432         (-[WKContentView _showAirPlayRoutePicker:fromRect:]):
2433         * UIProcess/ios/WebPageProxyIOS.mm:
2434         (WebKit::WebPageProxy::showAirPlayRoutePicker):
2435         * UIProcess/ios/forms/WKAirPlayRoutePicker.h: Added.
2436         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Added.
2437         (-[WKAirPlayRoutePicker initWithView:]):
2438         (-[WKAirPlayRoutePicker dealloc]):
2439         (-[WKAirPlayRoutePicker popoverControllerDidDismissPopover:]):
2440         (-[WKAirPlayRoutePicker _presentAirPlayPopoverAnimated:fromRect:]):
2441         (-[WKAirPlayRoutePicker _windowWillRotate:]):
2442         (-[WKAirPlayRoutePicker _windowDidRotate:]):
2443         (-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]):
2444         (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
2445         (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
2446         (-[WKAirPlayRoutePicker show:fromRect:]):
2447         * WebKit2.xcodeproj/project.pbxproj:
2448         * WebProcess/WebCoreSupport/WebChromeClient.h:
2449         * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
2450         (WebKit::WebChromeClient::showAirPlayRoutePicker):
2451         * WebProcess/WebPage/WebPage.cpp:
2452         (WebKit::WebPage::touchEvent):
2453         (WebKit::WebPage::touchEventSyncForTesting):
2454         * WebProcess/WebPage/WebPage.h:
2455         * WebProcess/WebPage/ios/WebPageIOS.mm:
2456         (WebKit::WebPage::rectForElementAtInteractionLocation):
2457         (WebKit::WebPage::handleTap):
2458
2459 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
2460
2461         [WK2][iOS] <rdar://problem/16414684> WKWebView should draw a white background before the page loads
2462         https://bugs.webkit.org/show_bug.cgi?id=130873
2463
2464         Reviewed by Simon Fraser.
2465
2466         * UIProcess/API/Cocoa/WKWebView.mm:
2467         (-[WKWebView initWithFrame:configuration:]):
2468
2469 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
2470
2471         [iOS][WK2] Compute a good exposed rect when scaling WKContentView
2472         https://bugs.webkit.org/show_bug.cgi?id=130761
2473
2474         Reviewed by Simon Fraser.
2475
2476         Add a simple heuristic to improve tiling while zooming. In theory we could take the zoom
2477         center and scaleRate to split the speed between scrolling and pinching. In practice,
2478         zoom is transitory and is not as predictable as scrolling, so this patch just does a very
2479         simple heuristic:
2480         -When zooming in, do not expand coverage.
2481         -When zooming out, add half a tile size on every side.
2482
2483         * Shared/VisibleContentRectUpdateInfo.cpp:
2484         (WebKit::VisibleContentRectUpdateInfo::encode):
2485         (WebKit::VisibleContentRectUpdateInfo::decode):
2486         * Shared/VisibleContentRectUpdateInfo.h:
2487         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
2488         (WebKit::VisibleContentRectUpdateInfo::timestamp):
2489         (WebKit::VisibleContentRectUpdateInfo::horizontalVelocity):
2490         (WebKit::VisibleContentRectUpdateInfo::verticalVelocity):
2491         (WebKit::VisibleContentRectUpdateInfo::scaleChangeRate):
2492         * UIProcess/ios/WKContentView.mm:
2493         (WebKit::HistoricalVelocityData::VelocityData::VelocityData):
2494         (WebKit::HistoricalVelocityData::velocityForNewData):
2495         (WebKit::HistoricalVelocityData::append):
2496         (-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
2497         * WebProcess/WebPage/ios/WebPageIOS.mm:
2498
2499         (WebKit::adjustExposedRectForBoundedScale):
2500         When zooming past the maximum size, adjust the exposed rect to continue tiling the area
2501         at maximum size. Otherwise, we tile a tiny area, and have to retile larger when the animation
2502         pull back the view to maximum scale.
2503
2504         (WebKit::adjustVelocityDataForBoundedScale):
2505         Since we do not split the velocity from scrolling from the scaling, just clear the velocity when zooming.
2506         Also clear the scaleChangeRate when the scale is out of bounds. There is no reason to add tiles for
2507         temporary state.
2508
2509         (WebKit::WebPage::updateVisibleContentRects):
2510
2511 2014-03-27  Anders Carlsson  <andersca@apple.com>
2512
2513         Add _ prefix to WKRemoteObjectRegistery and WKRemoteObjectInterface
2514         https://bugs.webkit.org/show_bug.cgi?id=130868
2515
2516         Reviewed by Sam Weinig.
2517
2518         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2519         * Shared/API/Cocoa/RemoteObjectRegistry.mm:
2520         (WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
2521         * Shared/API/Cocoa/WKRemoteObject.h:
2522         * Shared/API/Cocoa/WKRemoteObject.mm:
2523         (-[WKRemoteObject _initWithObjectRegistry:interface:]):
2524         * Shared/API/Cocoa/WKRemoteObjectCoder.h:
2525         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
2526         (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
2527         * Shared/API/Cocoa/WKRemoteObjectInterface.h:
2528         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
2529         (isContainerClass): Deleted.
2530         (propertyListClasses): Deleted.
2531         (allowedArgumentClassesForMethod): Deleted.
2532         (initializeAllowedArgumentClasses): Deleted.
2533         (-[WKRemoteObjectInterface initWithProtocol:identifier:]): Deleted.
2534         (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]): Deleted.
2535         (-[WKRemoteObjectInterface description]): Deleted.
2536         (classesForSelectorArgument): Deleted.
2537         (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Deleted.
2538         (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Deleted.
2539         (methodArgumentTypeEncodingForSelector): Deleted.
2540         (-[WKRemoteObjectInterface _methodSignatureForSelector:]): Deleted.
2541         (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]): Deleted.
2542         * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
2543         * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
2544         (-[WKRemoteObjectRegistry registerExportedObject:interface:]): Deleted.
2545         (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): Deleted.
2546         (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): Deleted.
2547         (-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]): Deleted.
2548         (-[WKRemoteObjectRegistry _invalidate]): Deleted.
2549         (-[WKRemoteObjectRegistry _sendInvocation:interface:]): Deleted.
2550         (-[WKRemoteObjectRegistry WebKit::]): Deleted.
2551         (-[WKRemoteObjectRegistry _invokeMethod:]): Deleted.
2552         (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
2553         * Shared/API/Cocoa/_WKRemoteObjectInterface.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.h.
2554         * Shared/API/Cocoa/_WKRemoteObjectInterface.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm.
2555         (isContainerClass):
2556         (propertyListClasses):
2557         (allowedArgumentClassesForMethod):
2558         (initializeAllowedArgumentClasses):
2559         (-[_WKRemoteObjectInterface initWithProtocol:identifier:]):
2560         (+[_WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
2561         (-[_WKRemoteObjectInterface description]):
2562         (classesForSelectorArgument):
2563         (-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
2564         (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):
2565         (methodArgumentTypeEncodingForSelector):
2566         (-[_WKRemoteObjectInterface _methodSignatureForSelector:]):
2567         (-[_WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
2568         * Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h.
2569         * Shared/API/Cocoa/_WKRemoteObjectRegistry.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.h.
2570         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm.
2571         (-[_WKRemoteObjectRegistry registerExportedObject:interface:]):
2572         (-[_WKRemoteObjectRegistry unregisterExportedObject:interface:]):
2573         (-[_WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
2574         (-[_WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
2575         (-[_WKRemoteObjectRegistry _invalidate]):
2576         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
2577         (-[_WKRemoteObjectRegistry WebKit::]):
2578         (-[_WKRemoteObjectRegistry _invokeMethod:]):
2579         (-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
2580         * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h.
2581         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2582         (-[WKBrowsingContextController _remoteObjectRegistry]):
2583         (-[WKBrowsingContextController remoteObjectRegistry]): Deleted.
2584         * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
2585         * UIProcess/API/Cocoa/WKWebView.mm:
2586         (-[WKWebView _remoteObjectRegistry]):
2587         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2588         * WebKit2.xcodeproj/project.pbxproj:
2589         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInBrowserContextControllerToBeRemoved.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h.
2590         (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):
2591         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
2592         (-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):
2593         (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]): Deleted.
2594         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2595
2596 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2597
2598         Unreviewed, rolling out r166360.
2599         https://bugs.webkit.org/show_bug.cgi?id=130869
2600
2601         Seems to have broken PLT (Requested by ap on #webkit).
2602
2603         Reverted changeset:
2604
2605         "Connection::dispatchOneMessage() can be re-entered while
2606         handling Cmd-key menu"
2607         https://bugs.webkit.org/show_bug.cgi?id=130767
2608         http://trac.webkit.org/changeset/166360
2609
2610 2014-03-27  Sam Weinig  <sam@webkit.org>
2611
2612         Support dynamic layer hosting context changes
2613         <rdar://problem/16278019>
2614         https://bugs.webkit.org/show_bug.cgi?id=130863
2615
2616         Reviewed by Anders Carlsson.
2617
2618         * UIProcess/API/mac/WKView.mm:
2619         (-[WKView addWindowObserversForWindow:]):
2620         (-[WKView removeWindowObservers]):
2621         (-[WKView _windowDidChangeLayerHosting:]):
2622         * UIProcess/WebPageProxy.cpp:
2623         (WebKit::WebPageProxy::layerHostingModeDidChange):
2624         * UIProcess/WebPageProxy.h:
2625
2626 2014-03-27  Simon Fraser  <simon.fraser@apple.com>
2627
2628         Don't leak the WKBrowsingContextController
2629         https://bugs.webkit.org/show_bug.cgi?id=130815
2630
2631         Reviewed by Tim Horton.
2632         
2633         Use adoptNS to avoid leaking the WKBrowsingContextController.
2634
2635         * UIProcess/ios/WKContentView.mm:
2636         (-[WKContentView browsingContextController]):
2637
2638 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2639
2640         Web Inspector: Give WebProcess a proxy application entitlement
2641         https://bugs.webkit.org/show_bug.cgi?id=130806
2642
2643         Reviewed by Timothy Hatcher.
2644
2645         * Configurations/WebContent-iOS.entitlements:
2646
2647 2014-03-27  Anders Carlsson  <andersca@apple.com>
2648
2649         Add reload and reloadFromOrigin as API
2650         https://bugs.webkit.org/show_bug.cgi?id=130858
2651
2652         Reviewed by Simon Fraser.
2653
2654         * UIProcess/API/Cocoa/WKWebView.h:
2655         * UIProcess/API/Cocoa/WKWebView.mm:
2656         (-[WKWebView reload]):
2657         (-[WKWebView reloadFromOrigin]):
2658         (-[WKWebView validateUserInterfaceItem:]):
2659         (-[WKWebView reload:]):
2660         (-[WKWebView reloadFromOrigin:]):
2661
2662 2014-03-27  Anders Carlsson  <andersca@apple.com>
2663
2664         Rename WKFrameHandle to _WKFrameHandle
2665         https://bugs.webkit.org/show_bug.cgi?id=130847
2666
2667         Reviewed by Tim Horton.
2668
2669         * Shared/API/Cocoa/_WKFrameHandle.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.h.
2670         * Shared/API/Cocoa/_WKFrameHandle.mm: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.mm.
2671         (-[_WKFrameHandle dealloc]):
2672         (-[_WKFrameHandle isEqual:]):
2673         (-[_WKFrameHandle hash]):
2674         (-[_WKFrameHandle _frameID]):
2675         (-[_WKFrameHandle copyWithZone:]):
2676         (+[_WKFrameHandle supportsSecureCoding]):
2677         (-[_WKFrameHandle initWithCoder:]):
2678         (-[_WKFrameHandle encodeWithCoder:]):
2679         (-[_WKFrameHandle API::]):
2680         * Shared/API/Cocoa/_WKFrameHandleInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandleInternal.h.
2681         (WebKit::wrapper):
2682         * Shared/Cocoa/APIObject.mm:
2683         (API::Object::newObject):
2684         * WebKit2.xcodeproj/project.pbxproj:
2685         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
2686         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
2687         (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]):
2688         (-[WKWebProcessPlugInFrame handle]):
2689         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
2690
2691 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
2692
2693         Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
2694         equivalents, ASSERT(!_data->_keyDownEventBeingResent)
2695         https://bugs.webkit.org/show_bug.cgi?id=130767
2696         <rdar://problem/16307487>
2697
2698         Reviewed by Darin Adler.
2699
2700         * Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode
2701         to RunLoop event source and timer modes.
2702
2703 2014-03-27  Jae Hyun Park  <jaepark@webkit.org>
2704
2705         Remove LayerTreeContextCairo.cpp
2706         https://bugs.webkit.org/show_bug.cgi?id=130807
2707
2708         Reviewed by Martin Robinson.
2709
2710         * Shared/cairo/LayerTreeContextCairo.cpp: Removed.
2711
2712 2014-03-27  Maciej Florek  <m.florek@samsung.com>
2713
2714         [EFL][WK2] Add tests of the set process model API
2715         https://bugs.webkit.org/show_bug.cgi?id=130830
2716
2717         Reviewed by Gyuyoung Kim.
2718
2719         Implement unit tests to check, if process model API works
2720         properly. When process model is set to EWK_PROCESS_MODEL_SHARED_SECONDARY,
2721         there should be only one WebProcess. In case of EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
2722         setting, each WebView should have own process, as well as the network process
2723         should exist.
2724
2725         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
2726         (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
2727         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
2728         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2729         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2730         (EWK2ContextTestMultipleProcesses::EWK2ContextTestMultipleProcesses):
2731         (TEST_F):
2732
2733 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2734
2735         Unreviewed, rolling out r166296 and r166331.
2736         https://bugs.webkit.org/show_bug.cgi?id=130822
2737
2738         caused some crashes and frequent assertion failures, and the
2739         fix is going to take a little while (Requested by thorton on
2740         #webkit).
2741
2742         Reverted changesets:
2743
2744         "[iOS WebKit2] Flush all surfaces after painting into all of
2745         them, instead of after painting into each one"
2746         https://bugs.webkit.org/show_bug.cgi?id=130768
2747         http://trac.webkit.org/changeset/166296
2748
2749         "Assertion failure in RemoteLayerBackingStore::flush"
2750         https://bugs.webkit.org/show_bug.cgi?id=130810
2751         http://trac.webkit.org/changeset/166331
2752
2753 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2754
2755         Blind speculative iOS build fix.
2756
2757         * WebProcess/WebPage/ios/WebPageIOS.mm:
2758         (WebKit::WebPage::viewportConfigurationChanged):
2759
2760 2014-03-26  Benjamin Poulain  <bpoulain@apple.com>
2761
2762         [iOS][WK2] <rdar://problem/16265272> REGRESSION (WebKit2): Some pages appear blank until you scroll
2763         https://bugs.webkit.org/show_bug.cgi?id=130819
2764
2765         Reviewed by Tim Horton.
2766
2767         When loading a new page, we never define the unobscured rect and exposed rect on the new frame.
2768         As a result, there is nothing to render.
2769
2770         It uses to work thanks to dumb luck and a bug in Safari updating the visibleContentRects from
2771         the UIProcess. Now that the bug is gone, "dumb luck" is not reliable enough to get the content rects :)
2772
2773         What this patch does is save if we have ever received new rects from the UI. If we have not, create them
2774         based on the minimum layout size. This works because we know Safari shows the minimum layout size by default
2775         and will tell us if it changes the obscured rects.
2776
2777         * WebProcess/WebPage/WebPage.cpp:
2778         (WebKit::WebPage::WebPage):
2779         (WebKit::WebPage::didCommitLoad):
2780         * WebProcess/WebPage/WebPage.h:
2781         * WebProcess/WebPage/ios/WebPageIOS.mm:
2782         (WebKit::WebPage::viewportConfigurationChanged):
2783         (WebKit::WebPage::updateVisibleContentRects):
2784
2785 2014-03-26  Anders Carlsson  <andersca@apple.com>
2786
2787         Add a _WKScriptWorld class
2788         https://bugs.webkit.org/show_bug.cgi?id=130817
2789
2790         Reviewed by Dan Bernstein.
2791
2792         * UIProcess/API/Cocoa/_WKScriptWorld.h: Added.
2793         * UIProcess/API/Cocoa/_WKScriptWorld.mm: Added.
2794         (generateWorldID):
2795         (+[_WKScriptWorld defaultWorld]):
2796         (-[_WKScriptWorld init]):
2797         (-[_WKScriptWorld _initWithWorldID:]):
2798         * WebKit2.xcodeproj/project.pbxproj:
2799
2800 2014-03-26  Anders Carlsson  <andersca@apple.com>
2801
2802         Rename a delegate method to -webView:didFinishNavigation:
2803         https://bugs.webkit.org/show_bug.cgi?id=130814
2804
2805         Reviewed by Sam Weinig.
2806
2807         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
2808         * UIProcess/Cocoa/NavigationState.h:
2809         * UIProcess/Cocoa/NavigationState.mm:
2810         (WebKit::NavigationState::setNavigationDelegate):
2811         (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
2812
2813 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2814
2815         [iOS WebKit2] Crashes on swipe
2816         <rdar://problem/16440867>
2817
2818         Reviewed by Benjamin Poulain.
2819
2820         * UIProcess/ios/ViewGestureControllerIOS.mm:
2821         (WebKit::ViewGestureController::beginSwipeGesture):
2822         Get the IOSurfaceRef from the WebCore::IOSurface.
2823
2824 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2825
2826         Fix the build: include UIKit headers inside the iOS #ifdef.
2827
2828         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2829
2830 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2831
2832         Hook up -webkit-overflow-scrolling:touch for iOS WK2
2833         https://bugs.webkit.org/show_bug.cgi?id=130809
2834
2835         Reviewed by Tim Horton.
2836
2837         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
2838         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2839         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
2840         Set the content size of the UIScrollVIew based on the geometry.
2841         * UIProcess/ios/RemoteLayerTreeHostIOS.mm:
2842         (WebKit::RemoteLayerTreeHost::createLayer): Make a UIScrollView if the
2843         layer properties tell us that we have the scrolling behavior.
2844         * UIProcess/ios/WKContentView.mm:
2845         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
2846         We need to allow user interaction in the _rootContentView so that events get to
2847         nested UIScrollViews (this could be optimized in future).
2848         * UIProcess/mac/RemoteLayerTreeHost.h:
2849         * UIProcess/mac/RemoteLayerTreeHost.mm:
2850         (WebKit::RemoteLayerTreeHost::updateLayerTree):
2851         (WebKit::RemoteLayerTreeHost::createLayer): Need to pass RemoteLayerTreeTransaction::LayerProperties
2852         in so we can get at the custom behavior.
2853
2854 2014-03-26  Anders Carlsson  <andersca@apple.com>
2855
2856         Add -[WKWebView stopLoading]
2857         https://bugs.webkit.org/show_bug.cgi?id=130812
2858
2859         Reviewed by Tim Horton.
2860
2861         * UIProcess/API/Cocoa/WKWebView.h:
2862         * UIProcess/API/Cocoa/WKWebView.mm:
2863         (-[WKWebView stopLoading]):
2864
2865 2014-03-26  Tim Horton  <timothy_horton@apple.com>
2866
2867         Assertion failure in RemoteLayerBackingStore::flush
2868         https://bugs.webkit.org/show_bug.cgi?id=130810
2869         <rdar://problem/16439276>
2870
2871         Reviewed by Simon Fraser.
2872
2873         * Shared/mac/RemoteLayerBackingStore.mm:
2874         (RemoteLayerBackingStore::flush):
2875         We don't always have backing store to flush, if platformCALayerDrawsContent() is false.
2876         We also can't assert that we have a back surface, because the very first paint will not.
2877
2878 2014-03-26  Andy Estes  <aestes@apple.com>
2879
2880         [Cocoa] Expose DownloadClient::didFail() and DownloadClient::didCancel()
2881         https://bugs.webkit.org/show_bug.cgi?id=130805
2882
2883         Reviewed by Dan Bernstein.
2884
2885         * UIProcess/API/Cocoa/_WKDownloadDelegate.h:
2886         * UIProcess/Cocoa/DownloadClient.h:
2887         * UIProcess/Cocoa/DownloadClient.mm:
2888         (WebKit::DownloadClient::DownloadClient):
2889         (WebKit::DownloadClient::didFail):
2890         (WebKit::DownloadClient::didCancel):
2891
2892 2014-03-26  Cody Krieger  <cjk@apple.com>
2893
2894         -[WKWebProcessPlugInNodeHandle HTMLInputElementIsUserEdited] and -HTMLTextAreaElementIsUserEdited do not return the correct values.
2895
2896         https://bugs.webkit.org/show_bug.cgi?id=130804
2897
2898         Reviewed by Dan Bernstein.
2899
2900         The existing implementations of these methods are mis-cased
2901         ("HTMLInputELementIsUserEdited" and "HTMLTextAreaELementIsUserEdited" —
2902         note the "EL" in both cases). This results in us getting
2903         auto-synthesized getters for the HTMLInputElementIsUserEdited and
2904         HTMLTextAreaElementIsUserEdited properties, which will return NO
2905         unconditionally.
2906
2907         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2908         Fix the capitalization of -HTMLInputElementIsUserEdited and
2909         -HTMLTextAreaElementIsUserEdited.
2910
2911 2014-03-26  Andy Estes  <aestes@apple.com>
2912
2913         [Cocoa] Expose DownloadProxy::cancel()
2914         https://bugs.webkit.org/show_bug.cgi?id=130799
2915
2916         Reviewed by Dan Bernstein.
2917
2918         * UIProcess/API/Cocoa/_WKDownload.h:
2919         * UIProcess/API/Cocoa/_WKDownload.mm:
2920         (-[_WKDownload cancel]):
2921
2922 2014-03-26  Timothy Hatcher  <timothy@apple.com>
2923
2924         Propagate the hiddenFromInspector flag on ResourceRequest in
2925         places when a new request a made or passed between processes.
2926
2927         https://bugs.webkit.org/show_bug.cgi?id=130741
2928
2929         Reviewed by Joseph Pecoraro.
2930
2931         * NetworkProcess/NetworkResourceLoader.cpp:
2932         (WebKit::NetworkResourceLoader::continueWillSendRequest): Use updateFromDelegatePreservingOldProperties.
2933         * Shared/WebCoreArgumentCoders.cpp:
2934         (IPC::ArgumentCoder<ResourceRequest>::encode): Added hiddenFromInspector support.
2935         (IPC::ArgumentCoder<ResourceRequest>::decode): Ditto.
2936         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
2937         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): Ditto.
2938
2939 2014-03-26  Andy Estes  <aestes@apple.com>
2940
2941         [Cocoa] Expose DownloadProxy::request()
2942         https://bugs.webkit.org/show_bug.cgi?id=130796
2943
2944         Reviewed by Anders Carlsson.
2945
2946         * UIProcess/API/Cocoa/_WKDownload.h:
2947         * UIProcess/API/Cocoa/_WKDownload.mm:
2948         (-[_WKDownload request]):
2949
2950 2014-03-26  Anders Carlsson  <andersca@apple.com>
2951
2952         Pass a real FrameLoadRequest to Chrome::createWindow
2953         https://bugs.webkit.org/show_bug.cgi?id=130795
2954
2955         Reviewed by Dan Bernstein.
2956
2957         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2958         (WebKit::WebFrameLoaderClient::dispatchCreatePage):
2959
2960 2014-03-26  Jeremy Jones  <jeremyj@apple.com>
2961
2962         Implement hasLiveStreamingContent property in WebAVPlayerController
2963         https://bugs.webkit.org/show_bug.cgi?id=128684
2964
2965         Reviewed by Simon Fraser.
2966
2967         Plumb through the seekable ranges to the fullscreen interface.
2968
2969         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
2970         Add declaration for setSeekableRangesVector()
2971
2972         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
2973         Add interface SetSeekableRangesVector()
2974
2975         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2976         (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
2977         Add setSeekableRangesVector that translates the vector into a TimeRanges and calls setSeekableRanges()
2978
2979         * WebProcess/ios/WebVideoFullscreenManager.h:
2980         Add setSeekableRanges()
2981
2982         * WebProcess/ios/WebVideoFullscreenManager.mm:
2983         (WebKit::WebVideoFullscreenManager::setSeekableRanges):
2984         setSeekableRanges() converts TimeRanges to Vector and calls SetSeekableRangesVector()
2985
2986 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2987
2988         Add a custom behavior flag to GraphicsLayer, piped down to PlatformCALayer, for scrolling layers
2989         https://bugs.webkit.org/show_bug.cgi?id=130778
2990
2991         Reviewed by Tim Horton.
2992
2993         Make it possible to put a "custom behavior" flag on a layer so that,
2994         with UI-side compositing, we know to create a specific type of
2995         layer or view for that GraphicsLayer.
2996
2997         * Shared/mac/RemoteLayerTreeTransaction.h:
2998         * Shared/mac/RemoteLayerTreeTransaction.mm:
2999         (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
3000         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
3001         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3002         (WebKit::dumpChangedLayers):
3003         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3004         (PlatformCALayerRemote::customBehavior):
3005         (PlatformCALayerRemote::updateCustomBehavior):
3006         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3007
3008 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
3009
3010         [CSS Shapes] Remove shape-inside support
3011         https://bugs.webkit.org/show_bug.cgi?id=130698
3012
3013         Reviewed by David Hyatt.
3014
3015         * Configurations/FeatureDefines.xcconfig:
3016
3017 2014-03-26  Tim Horton  <timothy_horton@apple.com>
3018
3019         [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
3020         https://bugs.webkit.org/show_bug.cgi?id=130768
3021         <rdar://problem/16421471>
3022
3023         Reviewed by Simon Fraser.
3024
3025         * Shared/mac/RemoteLayerBackingStore.h:
3026         Add flush(), which synchronously flushes painting operations on the underlying backing store.
3027         Factor clearBackingStore() out of ensureBackingStore/display, which releases our reference to underlying backing store.
3028         Add two members for storing the back surface and front buffer context until flush() is called.
3029                 - We need to keep the back surface alive because the CGImageRef created from it is referenced by
3030                 the front surface's drawing queue, and won't be freed until said queue is flushed. If we release
3031                 the back surface (and its associated CGContextRef) *before* the CGImageRef is freed, we will
3032                 do an expensive readback of the surface.
3033                 - When not using accelerated drawing, we need to keep the front buffer's CGContextRef around
3034                 until the flush occurs so that we can avoid re-creating it in order to perform the flush. This
3035                 happens automatically in the accelerated drawing case via WebCore::IOSurface.
3036
3037         * Shared/mac/RemoteLayerBackingStore.mm:
3038         (RemoteLayerBackingStore::ensureBackingStore):
3039         (RemoteLayerBackingStore::clearBackingStore):
3040         (RemoteLayerBackingStore::display):
3041         Factor clearBackingStore() out of ensureBackingStore() and display().
3042         Update a comment about the above performance gotcha.
3043         Store the current back surface/front buffer context.
3044
3045         (RemoteLayerBackingStore::drawInContext):
3046         Don't flush the context immediately after painting.
3047
3048         (RemoteLayerBackingStore::applyBackingStoreToLayer):
3049         Move things around to reduce duplicated code.
3050
3051         (RemoteLayerBackingStore::flush):
3052         Flush the current front surface/buffer's context.
3053         Clear the new pending-flush members.
3054
3055         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3056         (WebKit::flushBackingStoreChangesInTransaction):
3057         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3058         Crawl through all of the valid changed backing stores in the transaction and flush them.
3059         Remove a completely useless assertion.
3060
3061 2014-03-25  Simon Fraser  <simon.fraser@apple.com>
3062
3063         Add a new type of scrolling tree node for overflow scrolling
3064         https://bugs.webkit.org/show_bug.cgi?id=130763
3065
3066         Reviewed by Tim Horton.
3067
3068         Prepare for overflow scrolling via the scrolling tree by adding
3069         a new scrolling node type for overflow:scroll nodes. Mostly
3070         this is a new ScrollingNodeType that gets mapped to the same
3071         scrolling state nodes and scrolling nodes, but iOS creates
3072         state and scrolling nodes specific to overflow:scroll.
3073         
3074         Change the type checking on nodes to use virtual functions instead
3075         of just checking the node type, to allow the macros to work with
3076         the new scrolling node type.
3077
3078         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3079         (WebKit::encodeNodeAndDescendants):
3080         (WebKit::RemoteScrollingCoordinatorTransaction::decode):
3081         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3082         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
3083         * UIProcess/Scrolling/RemoteScrollingTree.cpp:
3084         (WebKit::RemoteScrollingTree::createNode):
3085         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h.
3086         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h.
3087         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::create):
3088         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS):
3089         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
3090         * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
3091         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
3092         * WebKit2.xcodeproj/project.pbxproj:
3093
3094 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
3095
3096         Unreviewed. Removing the remaining Automake cruft.
3097
3098         * GNUmakefile.list.am: Removed.
3099
3100 2014-03-25  Pratik Solanki  <psolanki@apple.com>
3101
3102         Remove PLATFORM(IOS) from NetworkProcessMac.mm
3103         https://bugs.webkit.org/show_bug.cgi?id=130751
3104
3105         Reviewed by Alexey Proskuryakov.
3106
3107         Code in NetworkProcessMac.mm is guarded by PLATFORM(MAC) and so is not compiled on iOS.
3108         Having PLATFORM(IOS) code in this file is unnecessary and confusing.
3109
3110         * NetworkProcess/mac/NetworkProcessMac.mm:
3111         (WebKit::NetworkProcess::initializeProcessName):
3112         (WebKit::overrideSystemProxies):
3113         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
3114
3115 2014-03-25  Anders Carlsson  <andersca@apple.com>
3116
3117         Add a UI delegate callback for handling window.open
3118         https://bugs.webkit.org/show_bug.cgi?id=130757
3119
3120         Reviewed by Sam Weinig.
3121
3122         * UIProcess/API/Cocoa/WKUIDelegate.h:
3123         * UIProcess/API/Cocoa/WKWebView.mm:
3124         * UIProcess/API/Cocoa/WKWebViewInternal.h:
3125         * UIProcess/Cocoa/UIClient.h:
3126         * UIProcess/Cocoa/UIClient.mm:
3127         (WebKit::UIClient::setDelegate):
3128         (WebKit::UIClient::createNewPage):
3129
3130 2014-03-25  Anders Carlsson  <andersca@apple.com>
3131
3132         Move stopLoading: back for now.
3133
3134         * UIProcess/API/Cocoa/WKWebView.h:
3135         * UIProcess/API/Cocoa/WKWebView.mm:
3136         (-[WKWebView stopLoading:]):
3137
3138 2014-03-25  Anders Carlsson  <andersca@apple.com>
3139
3140         Change toolbarVisibility back to toolbarsVisibility
3141         https://bugs.webkit.org/show_bug.cgi?id=130749
3142
3143         Reviewed by Tim Horton.
3144
3145         * UIProcess/API/Cocoa/WKWindowFeatures.h:
3146         * UIProcess/API/Cocoa/WKWindowFeatures.mm:
3147         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
3148
3149 2014-03-25  Anders Carlsson  <andersca@apple.com>
3150
3151         Pass the source frame to the CreateNewPage message
3152         https://bugs.webkit.org/show_bug.cgi?id=130752
3153
3154         Reviewed by Tim Horton.
3155
3156         * UIProcess/API/APIUIClient.h:
3157         (API::UIClient::createNewPage):
3158         * UIProcess/API/C/WKPage.cpp:
3159         (WKPageSetPageUIClient):
3160         * UIProcess/WebPageProxy.cpp:
3161         (WebKit::WebPageProxy::createNewPage):
3162         * UIProcess/WebPageProxy.h:
3163         * UIProcess/WebPageProxy.messages.in:
3164         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3165         (WebKit::WebChromeClient::createWindow):
3166
3167 2014-03-25  Anders Carlsson  <andersca@apple.com>
3168
3169         Add a WebFrame::fromCoreFrame static member function and use it where possible
3170         https://bugs.webkit.org/show_bug.cgi?id=130744
3171
3172         Reviewed by Tim Horton.
3173
3174         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
3175         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
3176         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3177         (WebKit::InjectedBundleNodeHandle::documentFrame):
3178         (WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
3179         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
3180         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3181         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3182         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
3183         (WebKit::InjectedBundleDOMWindowExtension::frame):
3184         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
3185         (WebKit::InjectedBundleHitTestResult::frame):
3186         (WebKit::InjectedBundleHitTestResult::targetFrame):
3187         * WebProcess/Plugins/PluginView.cpp:
3188         (WebKit::webPage):
3189         (WebKit::PluginView::performFrameLoadURLRequest):
3190         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3191         (WebKit::WebChromeClient::focusedElementChanged):
3192         (WebKit::WebChromeClient::focusedFrameChanged):
3193         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
3194         (WebKit::WebChromeClient::runJavaScriptAlert):
3195         (WebKit::WebChromeClient::runJavaScriptConfirm):
3196         (WebKit::WebChromeClient::runJavaScriptPrompt):
3197         (WebKit::WebChromeClient::print):
3198         (WebKit::WebChromeClient::exceededDatabaseQuota):
3199         (WebKit::WebChromeClient::runOpenPanel):
3200         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3201         (WebKit::WebEditorClient::textFieldDidBeginEditing):
3202         (WebKit::WebEditorClient::textFieldDidEndEditing):
3203         (WebKit::WebEditorClient::textDidChangeInTextField):
3204         (WebKit::WebEditorClient::textDidChangeInTextArea):
3205         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
3206         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
3207         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3208         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
3209         (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
3210         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
3211         * WebProcess/WebPage/WebFrame.cpp:
3212         (WebKit::WebFrame::fromCoreFrame):
3213         (WebKit::WebFrame::contentsAsString):
3214         (WebKit::WebFrame::parentFrame):
3215         (WebKit::WebFrame::childFrames):
3216         (WebKit::WebFrame::frameForContext):
3217         (WebKit::WebFrame::webArchiveData):
3218         * WebProcess/WebPage/WebFrame.h:
3219
3220 2014-03-25  Jeffrey Pfau  <jpfau@apple.com>
3221
3222         [WK2] Schemes registered as cache partitioned are not properly registered in new web processes
3223         https://bugs.webkit.org/show_bug.cgi?id=130739
3224
3225         Reviewed by Anders Carlsson.
3226
3227         * WebProcess/WebProcess.cpp:
3228         (WebKit::WebProcess::initializeWebProcess):
3229
3230 2014-03-25  Joseph Pecoraro  <pecoraro@apple.com>
3231
3232         [iOS] Inspector View Indication Support
3233         https://bugs.webkit.org/show_bug.cgi?id=130709
3234
3235         Reviewed by Simon Fraser.
3236
3237         * UIProcess/ios/WKContentView.h:
3238         * UIProcess/ios/WKContentView.mm:
3239         (-[WKInspectorIndicationView initWithFrame:]):
3240         (-[WKContentView isShowingInspectorIndication]):
3241         (-[WKContentView setShowingInspectorIndication:]):
3242         (-[WKContentView _didCommitLayerTree:WebKit::]):
3243         When indicating include a simple tinted UIView over the content.
3244
3245         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3246         * UIProcess/API/Cocoa/WKWebView.mm:
3247         (-[WKWebView _showInspectorIndication]):
3248         (-[WKWebView _hideInspectorIndication]):
3249         Have the content view show or hide an indication.
3250
3251         * UIProcess/PageClient.h:
3252         * UIProcess/ios/PageClientImplIOS.h:
3253         * UIProcess/ios/PageClientImplIOS.mm:
3254         (WebKit::PageClientImpl::showInspectorIndication):
3255         (WebKit::PageClientImpl::hideInspectorIndication):
3256         * UIProcess/WebPageProxy.h:
3257         * UIProcess/WebPageProxy.messages.in:
3258         * UIProcess/ios/WebPageProxyIOS.mm:
3259         (WebKit::WebPageProxy::showInspectorIndication):
3260         (WebKit::WebPageProxy::hideInspectorIndication):
3261         Pass WebProcess indication message up to the WKWebView.
3262
3263         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3264         (WebKit::WebInspectorClient::indicate):
3265         (WebKit::WebInspectorClient::hideIndication):
3266         * WebProcess/WebCoreSupport/WebInspectorClient.h:
3267         * WebProcess/WebPage/WebPage.h:
3268         * WebProcess/WebPage/ios/WebPageIOS.mm:
3269         (WebKit::WebPage::indicate):
3270         (WebKit::WebPage::hideIndication):
3271         Pass WebCore / remote inspector indication message up to UIProcess.
3272
3273 2014-03-25  Anders Carlsson  <andersca@apple.com>
3274
3275         Add more properties to WKWindowFeatures
3276         https://bugs.webkit.org/show_bug.cgi?id=130738
3277
3278         Reviewed by Tim Horton.
3279
3280         * UIProcess/API/Cocoa/WKWindowFeatures.h:
3281         * UIProcess/API/Cocoa/WKWindowFeatures.mm:
3282         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
3283         (-[WKWindowFeatures menuBarVisibility]):
3284         (-[WKWindowFeatures statusBarVisibility]):
3285         (-[WKWindowFeatures toolbarsVisibility]):
3286         (-[WKWindowFeatures allowsResizing]):
3287
3288 2014-03-25  Anders Carlsson  <andersca@apple.com>
3289
3290         Fix iOS build.
3291
3292         * UIProcess/API/Cocoa/WKWebView.h:
3293         * UIProcess/API/Cocoa/WKWebView.mm:
3294         Make WKIBActions OS X only for now.
3295
3296 2014-03-25  Anders Carlsson  <andersca@apple.com>
3297
3298         Begin stubbing out a WKWindowFeatures class
3299         https://bugs.webkit.org/show_bug.cgi?id=130733
3300
3301         Reviewed by Dan Bernstein.
3302
3303         * UIProcess/API/Cocoa/WKWindowFeatures.h: Added.
3304         * UIProcess/API/Cocoa/WKWindowFeatures.mm: Added.
3305         (-[WKWindowFeatures _initWithWindowFeatures:WebCore::]):
3306         (-[WKWindowFeatures x]):
3307         (-[WKWindowFeatures y]):
3308         (-[WKWindowFeatures width]):
3309         (-[WKWindowFeatures height]):
3310         * UIProcess/API/Cocoa/WKWindowFeaturesInternal.h: Added.
3311         * WebKit2.xcodeproj/project.pbxproj:
3312
3313 2014-03-25  Anders Carlsson  <andersca@apple.com>
3314
3315         Add goBack: and goForward: IBActions and move stopLoading: to a new WKIBActions category on WKWebView
3316         https://bugs.webkit.org/show_bug.cgi?id=130732
3317
3318         Reviewed by Tim Horton.
3319
3320         * UIProcess/API/Cocoa/WKWebView.h:
3321         * UIProcess/API/Cocoa/WKWebView.mm:
3322         (-[WKWebView goBack]):
3323         (-[WKWebView goForward]):
3324         (-[WKWebView validateUserInterfaceItem:]):
3325         (-[WKWebView goBack:]):
3326         (-[WKWebView goForward:]):
3327         (-[WKWebView stopLoading:]):
3328
3329 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
3330
3331         [GTK] Remove the autotools build
3332         https://bugs.webkit.org/show_bug.cgi?id=130717
3333
3334         Reviewed by Anders Carlsson.
3335
3336         * GNUmakefile.am: Removed.
3337         * WebKit2Prefix.h: Removed references to the autotools configure file.
3338         * config.h: Ditto.
3339
3340 2014-03-25  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3341
3342         [EFL][WK2] Add NETWORK_PROCESS build option
3343         https://bugs.webkit.org/show_bug.cgi?id=130131
3344
3345         Reviewed by Gyuyoung Kim.
3346
3347         * PlatformEfl.cmake: Add file needed to build with NETWORK_PROCESS enabled.
3348
3349 2014-03-24 Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3350
3351         [EFL][WK2] Add an API to set process model
3352         https://bugs.webkit.org/show_bug.cgi?id=130133
3353
3354         Reviewed by Gyuyoung Kim.
3355
3356         Implement an API to set and get process model in ewk_context.
3357         By default process model enum value is set to EWK_PROCESS_MODEL_SHARED_SECONDARY
3358         which keeps current behaviour. Setting EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
3359         will make each web view use separate web process, also enables network process.
3360
3361         * UIProcess/API/efl/ewk_context.cpp:
3362         (toWKProcessModel):
3363         (EwkContext::setProcessModel):
3364         (toEwkProcessModel):
3365         (EwkContext::processModel):
3366         (ewk_context_process_model_set):
3367         (ewk_context_process_model_get):
3368         * UIProcess/API/efl/ewk_context.h:
3369         * UIProcess/API/efl/ewk_context_private.h:
3370         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3371         (TEST_F):
3372
3373 2014-03-24  Chris Fleizach  <cfleizach@apple.com>
3374
3375         AX: hit-testing doesn't always work correctly with WK2
3376         https://bugs.webkit.org/show_bug.cgi?id=130706
3377
3378         Reviewed by Simon Fraser.
3379
3380         Accessibility code was trying to do screenToRootView itself, and in 
3381         some cases with embedded WK2 views that did not work.
3382
3383         * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
3384         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
3385
3386 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
3387
3388         [WK2] SpinLock are not initialized by default, ViewUpdateDispatcher is missing an initializer
3389         https://bugs.webkit.org/show_bug.cgi?id=130705
3390
3391         Reviewed by Simon Fraser.
3392
3393         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
3394         (WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):
3395
3396 2014-03-24  Enrica Casucci  <enrica@apple.com>
3397
3398         [iOS WebKit2] Dictation support.
3399         https://bugs.webkit.org/show_bug.cgi?id=130622
3400         <rdar://problem/15337316>
3401
3402         Reviewed by Benjamin Poulain.
3403
3404         Adding support for dictation on iOS. There are two main types of interactions
3405         with the dictation system:
3406         - initial request for context, which consists in retrieving the selected text
3407         and 5 words before the selection and 5 words after, if available.
3408         - insertion of recognized chunks of text, providing the text
3409         to replace.
3410     
3411         * UIProcess/AutoCorrectionCallback.h:
3412         (WebKit::DictationContextCallback::create):
3413         (WebKit::DictationContextCallback::~DictationContextCallback):
3414         (WebKit::DictationContextCallback::performCallbackWithReturnValue):
3415         (WebKit::DictationContextCallback::invalidate):
3416         (WebKit::DictationContextCallback::DictationContextCallback):
3417         * UIProcess/WebPageProxy.h:
3418         * UIProcess/WebPageProxy.messages.in:
3419         * UIProcess/ios/WKContentViewInteraction.h:
3420         * UIProcess/ios/WKContentViewInteraction.mm:
3421         (-[WKContentView replaceDictatedText:withText:]):
3422         (-[WKContentView requestDictationContext:]):
3423         * UIProcess/ios/WebPageProxyIOS.mm:
3424         (WebKit::WebPageProxy::dictationContextCallback):
3425         (WebKit::WebPageProxy::replaceDictatedText):
3426         (WebKit::WebPageProxy::requestDictationContext):
3427         * WebProcess/WebPage/WebPage.h:
3428         * WebProcess/WebPage/WebPage.messages.in:
3429         * WebProcess/WebPage/ios/WebPageIOS.mm:
3430         (WebKit::WebPage::requestDictationContext):
3431         (WebKit::WebPage::replaceDictatedText):
3432
3433 2014-03-24  Andy Estes  <aestes@apple.com>
3434
3435         Yet another iOS build fix, for the 32-bit build this time.
3436
3437         * Shared/Downloads/ios/DownloadIOS.mm:
3438         (WebKit::setUpDownloadClient):
3439
3440 2014-03-24  Tim Horton  <timothy_horton@apple.com>
3441
3442         REGRESSION (r165872): Double-applying device scale to snapshots
3443         https://bugs.webkit.org/show_bug.cgi?id=130697
3444         <rdar://problem/16396629>
3445
3446         Reviewed by Simon Fraser.
3447
3448         * WebProcess/WebPage/WebPage.cpp:
3449         (WebKit::WebPage::scaledSnapshotWithOptions):
3450         Drive-by, make scaledSnapshotWithOptions respect SnapshotOptionsExcludeDeviceScaleFactor.
3451
3452         (WebKit::WebPage::snapshotAtSize):
3453         Divide the device scale out of the scale factor
3454
3455         * WebProcess/WebPage/WebPage.h:
3456         Rename the scale argument to scaledSnapshotWithOptions to clarify
3457         that it is an additional scale on top of the device scale.
3458
3459 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
3460
3461         Activate WebVTT Tests Once Merging is Complete
3462         https://bugs.webkit.org/show_bug.cgi?id=130420
3463
3464         Reviewed by Eric Carlson.
3465
3466         * Configurations/FeatureDefines.xcconfig: Turn on ENABLE(WEBVTT_REGIONS)
3467
3468 2014-03-24  Andy Estes  <aestes@apple.com>
3469
3470         Fix the iOS build.
3471
3472         * Shared/Downloads/ios/DownloadIOS.mm:
3473         (WebKit::setUpDownloadClient):
3474         * UIProcess/Cocoa/DownloadClient.mm:
3475
3476 2014-03-24  Mark Rowe  <mrowe@apple.com>
3477
3478         Build fix after r166186.
3479
3480         * UIProcess/Cocoa/DownloadClient.mm:
3481
3482 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
3483
3484         [WK2] Make updates on ViewUpdateDispatcher less heavy
3485         https://bugs.webkit.org/show_bug.cgi?id=130626
3486
3487         Reviewed by Darin Adler.
3488
3489         * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
3490         (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
3491         (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
3492         * WebProcess/WebPage/ViewUpdateDispatcher.h:
3493
3494 2014-03-24  Benjamin Poulain  <bpoulain@apple.com>
3495
3496         [iOS][WK2] Micro-optimize view state updates on the UIProcess side
3497         https://bugs.webkit.org/show_bug.cgi?id=130631
3498
3499         Reviewed by Darin Adler.
3500