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