8200002ff644cbfec5a56855e6deb70bdeff6413
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-02-17  Tim Horton  <timothy_horton@apple.com>
2
3         [iOS][wk2] Custom layers are sometimes put on-screen without being parented
4         https://bugs.webkit.org/show_bug.cgi?id=128935
5         <rdar://problem/16022336>
6
7         Reviewed by Sam Weinig.
8
9         * Platform/mac/LayerHostingContext.mm:
10         (WebKit::LayerHostingContext::createForExternalHostingProcess):
11         Give an explicit and unlikely display ID, so that the layer will never
12         be brought on-screen unless explicitly parented.
13
14 2014-02-17  Anders Carlsson  <andersca@apple.com>
15
16         Add history delegate to WKWebView
17         https://bugs.webkit.org/show_bug.cgi?id=128930
18
19         Reviewed by Dan Bernstein.
20
21         * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
22         * UIProcess/API/Cocoa/WKProcessClass.mm:
23         (-[WKProcessClass initWithConfiguration:]):
24         * UIProcess/API/Cocoa/WKWebView.mm:
25         (-[WKWebView _historyDelegate]):
26         (-[WKWebView _setHistoryDelegate:]):
27         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
28         * UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
29         * UIProcess/Cocoa/HistoryClient.mm: Added.
30         (WebKit::HistoryClient::HistoryClient):
31         (WebKit::HistoryClient::~HistoryClient):
32         (WebKit::HistoryClient::didNavigateWithNavigationData):
33         (WebKit::HistoryClient::didPerformClientRedirect):
34         (WebKit::HistoryClient::didPerformServerRedirect):
35         (WebKit::HistoryClient::didUpdateHistoryTitle):
36         (WebKit::HistoryClient::populateVisitedLinks):
37         (WebKit::HistoryClient::shouldTrackVisitedLinks):
38         * UIProcess/Cocoa/NavigationState.h:
39         * UIProcess/Cocoa/NavigationState.mm:
40         (WebKit::navigationStates):
41         (WebKit::NavigationState::NavigationState):
42         (WebKit::NavigationState::~NavigationState):
43         (WebKit::NavigationState::fromWebPage):
44         (WebKit::NavigationState::historyDelegate):
45         (WebKit::NavigationState::setHistoryDelegate):
46         (WebKit::NavigationState::didNavigateWithNavigationData):
47         (WebKit::NavigationState::didPerformClientRedirect):
48         (WebKit::NavigationState::didPerformServerRedirect):
49         (WebKit::NavigationState::didUpdateHistoryTitle):
50         * WebKit2.xcodeproj/project.pbxproj:
51
52 2014-02-17  Sam Weinig  <sam@webkit.org>
53
54         [WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
55         https://bugs.webkit.org/show_bug.cgi?id=128939
56
57         Reviewed by Dan Bernstein.
58
59         * WebKit2.xcodeproj/project.pbxproj:
60         Add/remove files/groups.
61
62         * WebProcess/WebProcess.h:
63         Change stopRunLoop() to be AppKit only.
64
65         * WebProcess/cocoa: Added.
66         * WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
67         (WebKit::WebProcess::platformInitializeWebProcess):
68         (WebKit::WebProcess::initializeProcessName):
69         (WebKit::WebProcess::platformInitializeProcess):
70         (WebKit::WebProcess::initializeSandbox):
71         (WebKit::WebProcess::updateActivePages):
72         * WebProcess/ios/WebProcessIOS.mm: Removed.
73         * WebProcess/mac/WebProcessMac.mm: Removed.
74         Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.
75
76 2014-02-17  Anders Carlsson  <andersca@apple.com>
77
78         Stop using isMainThread() in WebKit2
79         https://bugs.webkit.org/show_bug.cgi?id=128940
80         <rdar://problem/15963666>
81
82         Reviewed by Enrica Casucci.
83
84         Since isMainThread() has a different meaning when the web thread is enabled on iOS,
85         just use RunLoop::isMain() to check if we're executing on the main thread.
86
87         * DatabaseProcess/DatabaseProcess.cpp:
88         (WebKit::DatabaseProcess::ensurePathExists):
89         (WebKit::DatabaseProcess::postDatabaseTask):
90         (WebKit::DatabaseProcess::performNextDatabaseTask):
91         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
92         (WebKit::UniqueIDBDatabase::shutdown):
93         (WebKit::UniqueIDBDatabase::shutdownBackingStore):
94         (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
95         (WebKit::UniqueIDBDatabase::deleteDatabase):
96         (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
97         (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
98         (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
99         (WebKit::UniqueIDBDatabase::postTransactionOperation):
100         (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
101         (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
102         (WebKit::UniqueIDBDatabase::createObjectStore):
103         (WebKit::UniqueIDBDatabase::deleteObjectStore):
104         (WebKit::UniqueIDBDatabase::clearObjectStore):
105         (WebKit::UniqueIDBDatabase::createIndex):
106         (WebKit::UniqueIDBDatabase::deleteIndex):
107         (WebKit::UniqueIDBDatabase::putRecord):
108         (WebKit::UniqueIDBDatabase::getRecord):
109         (WebKit::UniqueIDBDatabase::openCursor):
110         (WebKit::UniqueIDBDatabase::cursorAdvance):
111         (WebKit::UniqueIDBDatabase::cursorIterate):
112         (WebKit::UniqueIDBDatabase::count):
113         (WebKit::UniqueIDBDatabase::deleteRange):
114         (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
115         (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
116         (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
117         (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
118         (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
119         (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
120         (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
121         (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
122         (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
123         (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
124         (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
125         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
126         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
127         (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
128         (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
129         (WebKit::UniqueIDBDatabase::postMainThreadTask):
130         (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
131         (WebKit::UniqueIDBDatabase::postDatabaseTask):
132         (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
133         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
134         (WebKit::generateDatabaseId):
135         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
136         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
137         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
138         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
139         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
140         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
141         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
142         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
143         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
144         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
145         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
146         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
147         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
148         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
149         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
150         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
151         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
152         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
153         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
154         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
155         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
156         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
157         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
158         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
159         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
160         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
161         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
162         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
163         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
164         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
165         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
166         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):
167         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
168         (WebKit::NetworkBlobRegistry::shared):
169         * NetworkProcess/HostRecord.cpp:
170         (WebKit::HostRecord::scheduleResourceLoader):
171         (WebKit::HostRecord::addLoaderInProgress):
172         (WebKit::HostRecord::removeLoader):
173         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
174         (WebKit::NetworkResourceLoadScheduler::removeLoader):
175         (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
176         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
177         * NetworkProcess/NetworkResourceLoader.cpp:
178         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
179         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
180         (WebKit::NetworkResourceLoader::start):
181         (WebKit::NetworkResourceLoader::cleanup):
182         (WebKit::NetworkResourceLoader::abort):
183         (WebKit::NetworkResourceLoader::willSendRequestAsync):
184         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
185         * NetworkProcess/NetworkResourceLoader.h:
186         (WebKit::NetworkResourceLoader::setHostRecord):
187         (WebKit::NetworkResourceLoader::hostRecord):
188         * NetworkProcess/mac/DiskCacheMonitor.mm:
189         (WebKit::DiskCacheMonitor::DiskCacheMonitor):
190         * Shared/AsyncRequest.cpp:
191         (WebKit::generateRequestID):
192         * Shared/Authentication/AuthenticationManager.cpp:
193         (WebKit::generateAuthenticationChallengeID):
194         (WebKit::AuthenticationManager::establishIdentifierForChallenge):
195         (WebKit::AuthenticationManager::useCredentialForChallenge):
196         (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
197         (WebKit::AuthenticationManager::cancelChallenge):
198         * Shared/Downloads/mac/DownloadMac.mm:
199         (dispatchOnMainThread):
200         * Shared/Plugins/NPObjectProxy.cpp:
201         (WebKit::NPObjectProxy::~NPObjectProxy):
202         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
203         (WebKit::getPluginInfoFromCarbonResources):
204         * Shared/SessionTracker.cpp:
205         (WebKit::staticSessionMap):
206         (WebKit::storageSessionToID):
207         (WebKit::identifierBase):
208         (WebKit::SessionTracker::destroySession):
209         (WebKit::SessionTracker::setIdentifierBase):
210         * UIProcess/APISession.cpp:
211         (API::generateID):
212         (API::Session::defaultSession):
213         (API::Session::legacyPrivateSession):
214         * WebProcess/Cookies/WebCookieManager.cpp:
215         (WebKit::WebCookieManager::dispatchCookiesDidChange):
216         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
217         (WebKit::WebIDBFactoryBackend::open):
218         (WebKit::WebIDBFactoryBackend::deleteDatabase):
219         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
220         (WebKit::generateServerConnectionIdentifier):
221         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
222         (WebKit::WebFrameNetworkingContext::storageSession):
223         * WebProcess/WebPage/EventDispatcher.cpp:
224         (WebKit::EventDispatcher::dispatchWheelEvent):
225
226 2014-02-17  Anders Carlsson  <andersca@apple.com>
227
228         Remove view source code
229         https://bugs.webkit.org/show_bug.cgi?id=127233
230
231         Reviewed by Antti Koivisto.
232
233         * UIProcess/WebPageProxy.cpp:
234         (WebKit::WebPageProxy::WebPageProxy):
235         * UIProcess/WebPageProxy.h:
236         * WebProcess/WebPage/WebPage.cpp:
237         * WebProcess/WebPage/WebPage.h:
238         * WebProcess/WebPage/WebPage.messages.in:
239
240 2014-02-17  Sergio Correia  <sergio.correia@openbossa.org>
241
242         Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
243         https://bugs.webkit.org/show_bug.cgi?id=128681
244
245         Reviewed by Timothy Hatcher.
246
247         Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
248         WebCore/inspector/*. Besides files in there, a few other files in
249         JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
250         and WebCore/testing were touched.
251
252         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
253
254 2014-02-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
255
256         Unreviewed EFL build fix attempt
257
258         * CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.
259
260 2014-02-17  Anders Carlsson  <andersca@apple.com>
261
262         WebKitGTK+ should stop calling functions to set the view source mode
263         https://bugs.webkit.org/show_bug.cgi?id=128919
264
265         Reviewed by Carlos Garcia Campos.
266
267         This is a first step towards getting rid of the view source mode from WebCore. 
268         View source shouldn't be a mode on the web page and can be implemented in other ways by
269         embedding apps. Furthermore, the inspector has an excellent view source mode.
270
271         * UIProcess/API/gtk/WebKitWebView.cpp:
272         (webkit_web_view_set_view_mode):
273         (webkit_web_view_get_view_mode):
274         Turn these into no-ops.
275
276 2014-02-17  Anders Carlsson  <andersca@apple.com>
277
278         Turn the history client into a fancy API::HistoryClient abstract base class
279         https://bugs.webkit.org/show_bug.cgi?id=128917
280
281         Reviewed by Andreas Kling.
282
283         * UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.
284         (API::HistoryClient::~HistoryClient):
285         (API::HistoryClient::didNavigateWithNavigationData):
286         (API::HistoryClient::didPerformClientRedirect):
287         (API::HistoryClient::didPerformServerRedirect):
288         (API::HistoryClient::didUpdateHistoryTitle):
289         (API::HistoryClient::populateVisitedLinks):
290         (API::HistoryClient::shouldTrackVisitedLinks):
291         * UIProcess/API/C/WKContext.cpp:
292         (WKContextSetHistoryClient):
293         * UIProcess/WebContext.cpp:
294         (WebKit::WebContext::WebContext):
295         (WebKit::WebContext::setHistoryClient):
296         (WebKit::WebContext::createNewWebProcess):
297         (WebKit::WebContext::populateVisitedLinks):
298         * UIProcess/WebContext.h:
299         (WebKit::WebContext::historyClient):
300         * UIProcess/WebHistoryClient.cpp: Removed.
301         * UIProcess/WebPageProxy.h:
302         * UIProcess/WebProcessProxy.cpp:
303         * WebKit2.xcodeproj/project.pbxproj:
304
305 2014-02-17  Dan Bernstein  <mitz@apple.com>
306
307         Try to fix iOS Debug builds without breaking Release builds.
308
309         * WebProcess/WebPage/PageBanner.cpp:
310         * WebProcess/WebPage/PageBanner.h:
311
312 2014-02-16  Dan Bernstein  <mitz@apple.com>
313
314         Speculative iOS build fix.
315
316         * WebProcess/WebPage/mac/PageBannerMac.mm:
317
318 2014-02-16  Dan Bernstein  <mitz@apple.com>
319
320         Speculative iOS build fix.
321
322         * WebProcess/WebPage/PageBanner.h:
323
324 2014-02-16  Dan Bernstein  <mitz@apple.com>
325
326         Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
327         https://bugs.webkit.org/show_bug.cgi?id=128885
328
329         Reviewed by Anders Carlsson.
330
331         * Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm
332         from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
333         !PLATFORM(IOS).
334         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to
335         PLATFORM(COCOA).
336         (WKBundleFrameCopyWebArchiveFilteringSubframes):
337         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
338         * WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
339         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
340         * WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)
341         around use of NSBundle.
342         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to
343         PLATFORM(COCOA).
344         (WebKit::InjectedBundleUserMessageEncoder::encode):
345         (WebKit::InjectedBundleUserMessageDecoder::decode):
346         * WebProcess/Network/WebResourceLoader.cpp: Ditto.
347         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
348         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.
349         (WebKit::NPN_GetValue):
350         (WebKit::NPN_SetValue):
351         (WebKit::initializeBrowserFuncs):
352         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.
353         (WebKit::NetscapePlugin::NetscapePlugin):
354         (WebKit::NetscapePlugin::supportsSnapshotting):
355         * WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
356         * WebProcess/Plugins/Plugin.cpp: Ditto.
357         (WebKit::Plugin::Parameters::encode):
358         (WebKit::Plugin::Parameters::decode):
359         * WebProcess/Plugins/Plugin.h: Ditto.
360         * WebProcess/Plugins/PluginController.h: Ditto.
361         * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to
362         USE(DARWIN) around use of Mach-based IPC.
363         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
364         * WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
365         * WebProcess/Plugins/PluginProxy.h: Ditto.
366         * WebProcess/Plugins/PluginProxy.messages.in: Ditto.
367         * WebProcess/Plugins/PluginView.cpp: Ditto.
368         (WebKit::PluginView::destroyPluginAndReset):
369         (WebKit::PluginView::viewStateDidChange):
370         (WebKit::PluginView::didInitializePlugin):
371         (WebKit::PluginView::invalidateRect):
372         (WebKit::PluginView::pluginSnapshotTimerFired):
373         * WebProcess/Plugins/PluginView.h: Ditto.
374         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
375         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
376         (WebKit::WebChromeClient::windowRect):
377         * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
378         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
379         * WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
380         * WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
381         * WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
382         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.
383         (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
384         * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
385         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.
386         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
387         (WebKit::WebFrameLoaderClient::createPlugin):
388         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
389         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
390         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
391         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).
392         (InitWebCoreSystemInterface):
393         * WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
394         (WebKit::DrawingArea::create):
395         * WebProcess/WebPage/DrawingArea.h: Ditto.
396         * WebProcess/WebPage/DrawingArea.messages.in: Ditto.
397         * WebProcess/WebPage/EventDispatcher.cpp: Ditto.
398         (WebKit::EventDispatcher::wheelEvent):
399         * WebProcess/WebPage/LayerTreeHost.h: Ditto.
400         * WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
401         * WebProcess/WebPage/PageBanner.h: Ditto.
402         * WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
403         * WebProcess/WebPage/WebFrame.h: Ditto.
404         * WebProcess/WebPage/WebInspector.cpp: Ditto.
405         (WebKit::WebInspector::WebInspector):
406         * WebProcess/WebPage/WebInspector.h: Ditto.
407         * WebProcess/WebPage/WebPage.cpp: Ditto.
408         (WebKit::WebPage::WebPage):
409         (WebKit::isContextClick):
410         (WebKit::WebPage::getSelectionAsWebArchiveData):
411         (WebKit::WebPage::getWebArchiveOfFrame):
412         (WebKit::WebPage::updatePreferences):
413         (WebKit::WebPage::sendSetWindowFrame):
414         (WebKit::WebPage::beginPrinting):
415         (WebKit::WebPage::computePagesForPrinting):
416         * WebProcess/WebPage/WebPage.h: Ditto.
417         * WebProcess/WebPage/WebPage.messages.in: Ditto.
418         * WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
419         * WebProcess/WebProcess.cpp:
420         (WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
421         (WebKit::WebProcess::initializeWebProcess): Ditto.
422         (WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
423         (WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
424         PLATFORM(COCOA).
425         (WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
426         (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
427         OS(DARWIN).
428         (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
429         PLATFORM(COCOA)
430         * WebProcess/WebProcess.h: Ditto.
431         * WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around
432         SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
433
434 2014-02-15  Alexey Proskuryakov  <ap@apple.com>
435
436         [Mac] All WebKit clients should encrypt WebCrypto keys automatically
437         https://bugs.webkit.org/show_bug.cgi?id=128852
438
439         Reviewed by Oliver Hunt.
440
441         * UIProcess/WebPageProxy.cpp:
442         (WebKit::WebPageProxy::wrapCryptoKey):
443         (WebKit::WebPageProxy::unwrapCryptoKey):
444         Call the default implementation if key is not provided by a client.
445
446 2014-02-15  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
447
448         [EFL][WK2] Stop calling mktemp(3).
449         https://bugs.webkit.org/show_bug.cgi?id=128826
450
451         Reviewed by Gyuyoung Kim.
452
453         mktemp(3) is an insecure function and should be avoided at all costs.
454         Replace its usage with mkdtemp(3): instead of just getting a file name
455         that is supposed to be random and unused, we now create a directory
456         with a random name and then put whatever files we need there with fixed
457         names.
458
459         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
460         (TEST_F):
461         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
462         (TEST_F):
463
464 2014-02-15  Dan Bernstein  <mitz@apple.com>
465
466         Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
467         https://bugs.webkit.org/show_bug.cgi?id=128868
468
469         Reviewed by Anders Carlsoon.
470
471         * UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
472         * UIProcess/Databases/DatabaseProcessProxy.cpp:
473         (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
474         PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.
475         * UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
476         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
477         * UIProcess/DrawingAreaProxy.h: Ditto.
478         * UIProcess/DrawingAreaProxy.messages.in: Ditto.
479         * UIProcess/Launcher/ProcessLauncher.cpp:
480         (WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
481         around use of Mach API.
482         * UIProcess/Launcher/ProcessLauncher.h: Ditto.
483         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to
484         PLATFORM(COCOA)
485         * UIProcess/Network/NetworkProcessProxy.cpp:
486         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
487         to OS(DARWIN).
488         (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
489         (WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
490         around process suppression call.
491         * UIProcess/Network/NetworkProcessProxy.h: Ditto.
492         * UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
493         * UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
494         * UIProcess/Plugins/PluginProcessManager.h: Ditto.
495         * UIProcess/Plugins/PluginProcessProxy.cpp:
496         (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
497         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
498         to OS(DARWIN).
499         (WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
500         (WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
501         use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
502         (WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
503         OS(DARWIN).
504         * UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
505         * UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
506         * UIProcess/TextChecker.h: Ditto.
507         * UIProcess/WebContext.cpp: Ditto.
508         (WebKit::WebContext::ensureNetworkProcess):
509         (WebKit::WebContext::createNewWebProcess):
510         (WebKit::WebContext::setHTTPPipeliningEnabled):
511         (WebKit::WebContext::httpPipeliningEnabled):
512         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
513         * UIProcess/WebContext.h: Ditto.
514         * UIProcess/WebContext.messages.in: Ditto.
515         * UIProcess/WebContextUserMessageCoders.h: Ditto.
516         (WebKit::WebContextUserMessageEncoder::encode):
517         (WebKit::WebContextUserMessageDecoder::decode):
518         * UIProcess/WebCookieManagerProxy.cpp: Ditto.
519         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
520         * UIProcess/WebCookieManagerProxy.h: Ditto.
521         * UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
522         * UIProcess/WebFramePolicyListenerProxy.h: Ditto.
523         * UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing
524         the inspector window and its view.
525         * UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
526         (WebKit::WebPageProxy::WebPageProxy):
527         (WebKit::WebPageProxy::initializeWebPage):
528         (WebKit::WebPageProxy::recordNavigationSnapshot):
529         (WebKit::WebPageProxy::canShowMIMEType):
530         (WebKit::canCoalesce):
531         (WebKit::coalesce):
532         (WebKit::WebPageProxy::findPlugin):
533         (WebKit::WebPageProxy::editorStateChanged):
534         (WebKit::WebPageProxy::contextMenuItemSelected):
535         (WebKit::WebPageProxy::didReceiveEvent):
536         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
537         * UIProcess/WebPageProxy.h: Ditto.
538         * UIProcess/WebPageProxy.messages.in: Ditto.
539         * UIProcess/WebProcessProxy.cpp: Ditto.
540         (WebKit::WebProcessProxy::WebProcessProxy):
541         (WebKit::WebProcessProxy::createWebPage):
542         (WebKit::WebProcessProxy::addExistingWebPage):
543         (WebKit::WebProcessProxy::removeWebPage):
544         (WebKit::WebProcessProxy::didFinishLaunching):
545         (WebKit::WebProcessProxy::pageSuppressibilityChanged):
546         (WebKit::WebProcessProxy::pagePreferencesChanged):
547         * UIProcess/WebProcessProxy.h: Ditto.
548         * UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any
549         configuration.
550         * UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be
551         implemented for iOS.
552         * WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.
553
554 2014-02-15  Jeremy Jones  <jeremyj@apple.com>
555
556         messages.py doesn't handle parameters with more than one level of scope.
557         https://bugs.webkit.org/show_bug.cgi?id=128573
558
559         Reviewed by Simon Fraser.
560
561         Support .messages.in header include generation for parameter types with more than 1 level of scope.
562
563         Add a test case and update expected results.
564
565         * Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
566         (WebKit::WebPage::didReceiveWebPageMessage):
567         * Scripts/webkit2/LegacyMessages-expected.h:
568         (Messages::WebPage::SetVideoLayerID::receiverName):
569         (Messages::WebPage::SetVideoLayerID::name):
570         (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
571         (Messages::WebPage::SetVideoLayerID::arguments):
572         * Scripts/webkit2/MessageReceiver-expected.cpp:
573         (WebKit::WebPage::didReceiveMessage):
574         * Scripts/webkit2/Messages-expected.h:
575         (Messages::WebPage::SetVideoLayerID::receiverName):
576         (Messages::WebPage::SetVideoLayerID::name):
577         (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
578         (Messages::WebPage::SetVideoLayerID::arguments):
579         * Scripts/webkit2/messages.py:
580         (headers_for_type):
581         * Scripts/webkit2/messages_unittest.py:
582         * Scripts/webkit2/test-legacy-messages.in:
583         * Scripts/webkit2/test-messages.in:
584
585 2014-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
586
587         [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
588         https://bugs.webkit.org/show_bug.cgi?id=128808
589
590         Reviewed by Sergio Villar Senin.
591
592         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
593         (webkit_web_page_class_init): Use g_cclosure_marshal_VOID__VOID
594         instead of g_cclosure_marshal_VOID__OBJECT.
595
596 2014-02-14  Anders Carlsson  <andersca@apple.com>
597
598         Add SPI for monitoring web process crashes
599         https://bugs.webkit.org/show_bug.cgi?id=128851
600
601         Reviewed by Beth Dakin.
602
603         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
604         * UIProcess/Cocoa/NavigationState.h:
605         * UIProcess/Cocoa/NavigationState.mm:
606         (WebKit::NavigationState::setNavigationDelegate):
607         (WebKit::NavigationState::LoaderClient::processDidCrash):
608
609 2014-02-14  Anders Carlsson  <andersca@apple.com>
610
611         Add SPI for authentication 
612         https://bugs.webkit.org/show_bug.cgi?id=128847
613
614         Reviewed by Dan Bernstein.
615
616         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
617         * UIProcess/Cocoa/NavigationState.h:
618         * UIProcess/Cocoa/NavigationState.mm:
619         (WebKit::NavigationState::setNavigationDelegate):
620         (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
621         (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):
622
623 2014-02-14  Anders Carlsson  <andersca@apple.com>
624
625         Add WKBackForwardListDidChangeNotification 
626         https://bugs.webkit.org/show_bug.cgi?id=128839
627
628         Reviewed by Dan Bernstein.
629
630         Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
631         instead of a pointer to a Vector of API::Objects.
632
633         * Shared/API/Cocoa/WKFoundation.h:
634         * UIProcess/API/APILoaderClient.h:
635         (API::LoaderClient::didChangeBackForwardList):
636         * UIProcess/API/C/WKPage.cpp:
637         (WKPageSetPageLoaderClient):
638         * UIProcess/API/Cocoa/WKBackForwardList.h:
639         * UIProcess/API/Cocoa/WKBackForwardList.mm:
640         * UIProcess/Cocoa/NavigationState.h:
641         * UIProcess/Cocoa/NavigationState.mm:
642         (WebKit::NavigationState::LoaderClient::didChangeBackForwardList):
643         * UIProcess/WebBackForwardList.cpp:
644         (WebKit::WebBackForwardList::addItem):
645         (WebKit::WebBackForwardList::goToItem):
646         (WebKit::WebBackForwardList::clear):
647         * UIProcess/WebPageProxy.cpp:
648         (WebKit::WebPageProxy::didChangeBackForwardList):
649         * UIProcess/WebPageProxy.h:
650
651 2014-02-12  Jer Noble  <jer.noble@apple.com>
652
653         [iOS][WK2] Always enable AVKit in WK2
654         https://bugs.webkit.org/show_bug.cgi?id=128686
655
656         Reviewed by Simon Fraser.
657
658         Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.
659
660         * WebProcess/WebPage/WebPage.cpp:
661         (WebKit::WebPage::updatePreferences):
662
663 2014-02-14  Benjamin Poulain  <bpoulain@apple.com>
664
665         [WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
666         https://bugs.webkit.org/show_bug.cgi?id=128715
667
668         Reviewed by Darin Adler.
669
670         * WebProcess/WebPage/ios/WebPageIOS.mm:
671         (WebKit::WebPage::handleTap):
672
673 2014-02-14  Benjamin Poulain  <bpoulain@apple.com>
674
675         <rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
676         https://bugs.webkit.org/show_bug.cgi?id=128710
677
678         Reviewed by Enrica Casucci.
679
680         WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.
681
682         * UIProcess/API/Cocoa/WKWebView.mm:
683         (-[WKWebView initWithFrame:configuration:]):
684         (-[WKWebView dealloc]):
685         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
686         (-[WKWebView _keyboardWillChangeFrame:]):
687         (-[WKWebView _keyboardDidChangeFrame:]):
688         (-[WKWebView _keyboardWillShow:]):
689         (-[WKWebView _keyboardWillHide:]):
690         * UIProcess/API/ios/WKContentView.h:
691         * UIProcess/API/ios/WKContentView.mm:
692         (-[WKContentView isAssistingNode]):
693         * UIProcess/API/ios/WKInteractionView.h:
694         * UIProcess/API/ios/WKViewIOS.mm:
695         (-[WKView dealloc]):
696         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
697         (-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
698         (-[WKView _keyboardWillChangeFrame:]):
699         (-[WKView _keyboardDidChangeFrame:]):
700         (-[WKView _keyboardWillShow:]):
701         (-[WKView _keyboardWillHide:]):
702
703 2014-02-14  Dan Bernstein  <mitz@apple.com>
704
705         Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
706         https://bugs.webkit.org/show_bug.cgi?id=128802
707
708         Reviewed by Darin Adler.
709
710         * PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
711         (WebKit::PluginControllerProxy::PluginControllerProxy):
712         (WebKit::PluginControllerProxy::paint):
713         * PluginProcess/PluginControllerProxy.h: Ditto.
714         * PluginProcess/PluginControllerProxy.messages.in: Ditto.
715         * PluginProcess/PluginProcess.cpp:
716         (WebKit::PluginProcess::PluginProcess): Ditto.
717         (WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
718         quirk.
719         (WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
720         around use of Mach-based IPC.
721         * PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to
722         USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.
723         * PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around
724         SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
725         * PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
726         (WebKit::WebProcessConnection::createPluginInternal):
727         (WebKit::WebProcessConnection::createPlugin):
728
729 2014-02-14  Anders Carlsson  <andersca@apple.com>
730
731         Add -[WKWebView estimatedProgress]
732         https://bugs.webkit.org/show_bug.cgi?id=128830
733
734         Reviewed by Dan Bernstein.
735
736         * UIProcess/API/Cocoa/WKWebView.h:
737         * UIProcess/API/Cocoa/WKWebView.mm:
738         (-[WKWebView estimatedProgress]):
739         * UIProcess/Cocoa/NavigationState.mm:
740         (WebKit::NavigationState::willChangeEstimatedProgress):
741         (WebKit::NavigationState::didChangeEstimatedProgress):
742
743 2014-02-13  Simon Fraser  <simon.fraser@apple.com>
744
745         Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
746         https://bugs.webkit.org/show_bug.cgi?id=128790
747
748         Reviewed by Beth Dakin.
749
750         Have scrolling tree nodes and state nodes track another layer, the
751         "scrolled contents layer", for accelerated overflow:scroll.
752         
753         When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
754         layer will point to the composited element's primary layer, and its
755         scrolledContentsLayer to the layer that gets moved around by scrolling.
756         
757         Do some other cleanup on AsyncScrollingCoordinator, removing
758         functions that just called through to nodes.
759
760         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
761         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
762
763 2014-02-14  Anders Carlsson  <andersca@apple.com>
764
765         Add -[WKWebView _handle]
766         https://bugs.webkit.org/show_bug.cgi?id=128828
767
768         Reviewed by Dan Bernstein.
769
770         * UIProcess/API/Cocoa/WKWebView.mm:
771         (-[WKWebView _handle]):
772         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
773
774 2014-02-13  Dan Bernstein  <mitz@apple.com>
775
776         [Cocoa] Expose the bundle form client
777         https://bugs.webkit.org/show_bug.cgi?id=128792
778
779         Reviewed by Anders Carlsson.
780
781         * WebKit2.xcodeproj/project.pbxproj: Added new file.
782         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
783         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
784         (didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
785         delegate.
786         (setUpFormClient): Added. Initializes the form client with the above function.
787         (-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
788         (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
789         clears the form client.
790         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
791         Declared _formDelegate property.
792
793 2014-02-13  Dan Bernstein  <mitz@apple.com>
794
795         [Cocoa] Add a way to get the page from a frame in the injected bundle
796         https://bugs.webkit.org/show_bug.cgi?id=128791
797
798         Reviewed by Anders Carlsson.
799
800         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
801         (-[WKWebProcessPlugInFrame _browserContextController]): Added.
802         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared
803         _browserContextController property.
804
805 2014-02-13  Anders Carlsson  <andersca@apple.com>
806
807         Add -[WKWebView stopLoading:]
808         https://bugs.webkit.org/show_bug.cgi?id=128784
809
810         Reviewed by Dan Bernstein.
811
812         * UIProcess/API/Cocoa/WKWebView.h:
813         * UIProcess/API/Cocoa/WKWebView.mm:
814         (-[WKWebView stopLoading:]):
815
816 2014-02-13  Anders Carlsson  <andersca@apple.com>
817
818         Add -[WKWebView activeURL]
819         https://bugs.webkit.org/show_bug.cgi?id=128777
820
821         Reviewed by Dan Bernstein.
822
823         * UIProcess/API/Cocoa/WKWebView.h:
824         * UIProcess/API/Cocoa/WKWebView.mm:
825         (-[WKWebView activeURL]):
826         * UIProcess/Cocoa/NavigationState.mm:
827         (WebKit::NavigationState::willChangeActiveURL):
828         (WebKit::NavigationState::didChangeActiveURL):
829
830 2014-02-13  Anders Carlsson  <andersca@apple.com>
831
832         Add -[WKWebView goToBackForwardListItem:]
833         https://bugs.webkit.org/show_bug.cgi?id=128773
834
835         Reviewed by Andreas Kling.
836
837         * UIProcess/API/Cocoa/WKWebView.h:
838         * UIProcess/API/Cocoa/WKWebView.mm:
839         (-[WKWebView goToBackForwardListItem:]):
840
841 2014-02-13  Anders Carlsson  <andersca@apple.com>
842
843         Make WKWebViewConfigurationPrivate.h private
844         https://bugs.webkit.org/show_bug.cgi?id=128761
845
846         Reviewed by Tim Horton.
847
848         * WebKit2.xcodeproj/project.pbxproj:
849
850 2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
851
852         During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
853         https://bugs.webkit.org/show_bug.cgi?id=128688
854
855         Reviewed by Ryosuke Niwa.
856
857         Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy
858
859         * Shared/WebPreferencesStore.h:
860         * UIProcess/API/C/WKPreferences.cpp:
861         (WKPreferencesSetShouldConvertPositionStyleOnCopy):
862         (WKPreferencesGetShouldConvertPositionStyleOnCopy):
863         * UIProcess/API/C/WKPreferencesPrivate.h:
864         * WebProcess/WebPage/WebPage.cpp:
865         (WebKit::WebPage::updatePreferences):
866
867 2014-02-12  Timothy Hatcher  <timothy@apple.com>
868
869         Enable inspection of recently used IndexedDB databases.
870
871         https://bugs.webkit.org/show_bug.cgi?id=128687
872
873         Reviewed by Brady Eidson & Joseph Pecoraro.
874
875         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
876         (WebKit::sharedRecentDatabaseNameMap):
877         (WebKit::combinedSecurityOriginIdentifier):
878         (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
879         (WebKit::WebIDBFactoryBackend::getDatabaseNames):
880         (WebKit::WebIDBFactoryBackend::open):
881         (WebKit::WebIDBFactoryBackend::deleteDatabase):
882         Keep track of recently used database names per security-origin pair.
883         Implement getDatabaseNames to return the recently used names.
884
885         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
886         Fix up the arguments passed to getDatabaseNames.
887
888 2014-02-13  Anders Carlsson  <andersca@apple.com>
889
890         Fix build.
891
892         * UIProcess/API/Cocoa/WKWebView.mm:
893         (layoutMilestones):
894
895 2014-02-13  Anders Carlsson  <andersca@apple.com>
896
897         Add rendering progress events SPI
898         https://bugs.webkit.org/show_bug.cgi?id=128752
899
900         Reviewed by Dan Bernstein.
901
902         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
903         * UIProcess/API/Cocoa/WKWebView.mm:
904         (-[WKWebView _observedRenderingProgressEvents]):
905         (layoutMilestones):
906         (-[WKWebView _setObservedRenderingProgressEvents:]):
907         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
908         (NS_OPTIONS):
909         * UIProcess/Cocoa/NavigationState.h:
910         * UIProcess/Cocoa/NavigationState.mm:
911         (WebKit::NavigationState::setNavigationDelegate):
912         (WebKit::renderingProgressEvents):
913         (WebKit::NavigationState::LoaderClient::didLayout):
914         * WebKit2.xcodeproj/project.pbxproj:
915
916 2014-02-13  Anders Carlsson  <andersca@apple.com>
917
918         Disable XPC for plug-ins that need executable heap
919         https://bugs.webkit.org/show_bug.cgi?id=128744
920         <rdar://problem/15962958>
921
922         Reviewed by Dan Bernstein.
923
924         When switching to XPC for plug-ins, we accidentally broke the "feature"
925         where plug-ins can ask for the heap to be executable. 
926         
927         This breaks Silverlight, so just disable XPC for any plug-ins that need this.
928         <rdar://problem/16059483> tracks fixing this in the XPC service.
929
930         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
931         (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
932         Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
933         that require this feature.
934
935         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
936         Set launchOptions.useXPC to false if launchOptions.executableHeap is true.
937
938 2014-02-12  Antti Koivisto  <antti@apple.com>
939
940         Return immediately from DestroyPlugin IPC call
941         https://bugs.webkit.org/show_bug.cgi?id=128712
942
943         Reviewed by Anders Carlsson.
944         
945         In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
946         the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
947         IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
948         starting.
949
950         * PluginProcess/WebProcessConnection.cpp:
951         (WebKit::WebProcessConnection::destroyPlugin):
952         * PluginProcess/WebProcessConnection.h:
953         * PluginProcess/WebProcessConnection.messages.in:
954
955 2014-02-12  Anders Carlsson  <andersca@apple.com>
956
957         Pass the related page in the WebPageConfiguration struct
958         https://bugs.webkit.org/show_bug.cgi?id=128714
959
960         Reviewed by Darin Adler.
961
962         * UIProcess/API/Cocoa/WKWebView.mm:
963         (-[WKWebView initWithFrame:configuration:]):
964         * UIProcess/API/ios/WKContentView.h:
965         * UIProcess/API/ios/WKContentView.mm:
966         (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):
967
968 2014-02-12  Anders Carlsson  <andersca@apple.com>
969
970         Add relatedWebView property to WKWebViewConfiguration
971         https://bugs.webkit.org/show_bug.cgi?id=128707
972
973         Reviewed by Dan Bernstein.
974
975         * UIProcess/API/Cocoa/WKWebView.mm:
976         (-[WKWebView initWithFrame:configuration:]):
977         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
978         (-[WKWebViewConfiguration copyWithZone:]):
979         (-[WKWebViewConfiguration relatedWebView]):
980         (-[WKWebViewConfiguration setRelatedWebView:]):
981         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
982         * WebKit2.xcodeproj/project.pbxproj:
983
984 2014-02-12  Alexey Proskuryakov  <ap@apple.com>
985
986         [WK2] Add a C API to get WebCrypto master key from a client
987         https://bugs.webkit.org/show_bug.cgi?id=128702
988
989         Reviewed by Anders Carlsson.
990
991         Added a new version of WKContextClient, with a function that returns the key.
992
993         * UIProcess/API/C/WKContext.h:
994         * UIProcess/WebContextClient.cpp:
995         (WebKit::WebContextClient::copyWebCryptoMasterKey):
996         * UIProcess/WebContextClient.h:
997         * UIProcess/WebPageProxy.cpp:
998         (WebKit::WebPageProxy::wrapCryptoKey):
999         (WebKit::WebPageProxy::unwrapCryptoKey):
1000         * UIProcess/mac/WebPageProxyMac.mm:
1001
1002 2014-02-12  Anders Carlsson  <andersca@apple.com>
1003
1004         Add destinationFrame property to WKNavigationAction
1005         https://bugs.webkit.org/show_bug.cgi?id=128700
1006
1007         Reviewed by Tim Horton.
1008
1009         * UIProcess/API/Cocoa/WKNavigationAction.h:
1010         * UIProcess/API/Cocoa/WKNavigationAction.mm:
1011         (-[WKNavigationAction destinationFrame]):
1012         (-[WKNavigationAction setDestinationFrame:]):
1013         * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
1014         * UIProcess/Cocoa/NavigationState.mm:
1015         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
1016
1017 2014-02-12  Anders Carlsson  <andersca@apple.com>
1018
1019         Forward declare WKNavigation in WKNavigationDelegate.h
1020         https://bugs.webkit.org/show_bug.cgi?id=128699
1021
1022         Reviewed by Tim Horton.
1023
1024         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
1025
1026 2014-02-12  Anders Carlsson  <andersca@apple.com>
1027
1028         Expose scrollView on the WKWebView
1029         https://bugs.webkit.org/show_bug.cgi?id=128697
1030
1031         Reviewed by Dan Bernstein.
1032
1033         * UIProcess/API/Cocoa/WKWebView.h:
1034
1035 2014-02-12  Anders Carlsson  <andersca@apple.com>
1036
1037         Better iOS build fix.
1038
1039         * UIProcess/WebPageProxy.cpp:
1040         (WebKit::WebPageProxy::wrapCryptoKey):
1041         (WebKit::WebPageProxy::unwrapCryptoKey):
1042         Make these functions cross platform.
1043
1044         * UIProcess/mac/WebPageProxyMac.mm:
1045
1046 2014-02-12  Andy Estes  <aestes@apple.com>
1047
1048         Fix the iOS build after r163976
1049
1050         Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
1051         both Mac and iOS.
1052
1053         * UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.
1054         (WebKit::WebPageProxy::wrapCryptoKey):
1055         (WebKit::WebPageProxy::unwrapCryptoKey):
1056         * UIProcess/mac/WebPageProxyMac.mm:
1057         * WebKit2.xcodeproj/project.pbxproj:
1058
1059 2014-02-12  Anders Carlsson  <andersca@apple.com>
1060
1061         Fix build.
1062
1063         * UIProcess/API/Cocoa/WKProcessClass.h:
1064
1065 2014-02-12  Benjamin Poulain  <bpoulain@apple.com>
1066
1067         [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
1068         https://bugs.webkit.org/show_bug.cgi?id=128639
1069
1070         Reviewed by Andreas Kling.
1071
1072         * WebProcess/WebCoreSupport/WebChromeClient.h:
1073         * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
1074         (WebKit::WebChromeClient::didReceiveMobileDocType):
1075         * WebProcess/WebPage/WebPage.h:
1076         * WebProcess/WebPage/ios/WebPageIOS.mm:
1077         (WebKit::WebPage::didReceiveMobileDocType):
1078
1079 2014-02-12  Anders Carlsson  <andersca@apple.com>
1080
1081         WKProcessClass.h and WKNavigationResponse.h should be public headers
1082         https://bugs.webkit.org/show_bug.cgi?id=128683
1083
1084         Reviewed by Dan Bernstein.
1085
1086         * WebKit2.xcodeproj/project.pbxproj:
1087
1088 2014-02-12  Alexey Proskuryakov  <ap@apple.com>
1089
1090         Wrap WebCrypto keys in SerializedScriptValue
1091         https://bugs.webkit.org/show_bug.cgi?id=128680
1092
1093         Reviewed by Anders Carlsson.
1094
1095         Retrieve a master key (placeholder code for now), and use it to wrap key data.
1096
1097         * UIProcess/WebPageProxy.cpp:
1098         (WebKit::WebPageProxy::wrapCryptoKey):
1099         (WebKit::WebPageProxy::unwrapCryptoKey):
1100         * UIProcess/mac/WebPageProxyMac.mm:
1101         (WebKit::WebPageProxy::wrapCryptoKey):
1102         (WebKit::WebPageProxy::unwrapCryptoKey):
1103
1104 2014-02-12  Zan Dobersek  <zdobersek@igalia.com>
1105
1106         [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
1107         https://bugs.webkit.org/show_bug.cgi?id=128473
1108
1109         Reviewed by Anders Carlsson.
1110
1111         Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
1112         lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
1113         throughout the lifetime of the function wrapper.
1114
1115         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
1116         (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
1117         (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
1118         (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
1119         (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
1120         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1121
1122 2014-02-12  Dan Bernstein  <mitz@apple.com>
1123
1124         Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
1125         https://bugs.webkit.org/show_bug.cgi?id=128659
1126
1127         Reviewed by Anders Carlsson.
1128
1129         * DatabaseProcess/DatabaseProcess.cpp:
1130         (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
1131         OS(DARWIN) around use of Mach-based IPC.
1132         Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
1133         * NetworkProcess/NetworkProcess.cpp: Ditto.
1134         (WebKit::NetworkProcess::NetworkProcess):
1135         (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
1136         * NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1137         * NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
1138         SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
1139         * NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
1140         (WebKit::NetworkResourceLoader::continueWillSendRequest):
1141         * NetworkProcess/NetworkResourceLoader.h: Ditto.
1142         * NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.
1143
1144 2014-02-11  Brent Fulgham  <bfulgham@apple.com>
1145
1146         Remove some unintended copies in ranged for loops
1147         https://bugs.webkit.org/show_bug.cgi?id=128644
1148
1149         Reviewed by Anders Carlsson.
1150
1151         * Shared/WebCrossThreadCopier.cpp:
1152         (WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
1153         vectors, 
1154         * Shared/mac/RemoteLayerBackingStore.mm:
1155         (RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
1156         on each iteration.
1157         * Shared/mac/RemoteLayerTreePropertyApplier.mm:
1158         (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
1159         a LayerProperty object each iteration.
1160         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1161         (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
1162         copying a pair<int64_t, pointer> each iteration.
1163         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
1164         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
1165         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
1166         (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
1167         * UIProcess/WebContext.cpp:
1168         (WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
1169         RefPtr each loop iteration.
1170         * UIProcess/WebPageProxy.cpp:
1171         (WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
1172         object each cycle.
1173         * UIProcess/mac/RemoteLayerTreeHost.mm:
1174         (WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
1175         * UIProcess/mac/WindowServerConnection.mm:
1176         (WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
1177         of occlusionNotificationHandlers each iteration.
1178         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1179         (WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
1180         iteration.
1181         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1182         (PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
1183         RefPtr each loop iteration.
1184
1185 2014-02-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1186
1187         Update the HTML Media Capture implementation.
1188         https://bugs.webkit.org/show_bug.cgi?id=118465
1189
1190         Reviewed by Darin Adler.
1191
1192         Make the implementation in WebKit compatible with the 2013-05-09
1193         version of the spec, which makes the "capture" attribute a boolean
1194         instead of an enum.
1195
1196         * Shared/WebOpenPanelParameters.cpp:
1197         (WebKit::WebOpenPanelParameters::capture): Return a bool.
1198         * Shared/WebOpenPanelParameters.h: Ditto.
1199         * UIProcess/API/C/WKOpenPanelParameters.cpp:
1200         (WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
1201         incompatible with the current version of the spec.
1202         (WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
1203         * UIProcess/API/C/WKOpenPanelParameters.h:
1204
1205 2014-02-12  Alberto Garcia  <berto@igalia.com>
1206
1207         [GTK] Fails to build if configure is run with its absolute path
1208         https://bugs.webkit.org/show_bug.cgi?id=126693
1209
1210         Reviewed by Gustavo Noronha Silva.
1211
1212         When creating links to the WebKit2 headers in the source tree
1213         don't expect $(WebKit2) to be a relative path.
1214
1215         * GNUmakefile.am:
1216
1217 2014-02-11  Filip Pizlo  <fpizlo@apple.com>
1218
1219         JIT should be enabled (regression from addition of JIT enabled setting)
1220         https://bugs.webkit.org/show_bug.cgi?id=128653
1221
1222         Reviewed by Tim Horton.
1223
1224         * UIProcess/mac/WebContextMac.mm:
1225         (WebKit::registerUserDefaultsIfNeeded):
1226
1227 2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
1228
1229         Remove one of includes added in r163943 and r163939.
1230
1231         * WebProcess/WebPage/WebPage.h:
1232
1233 2014-02-11  Dan Bernstein  <mitz@apple.com>
1234
1235         <rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
1236         https://bugs.webkit.org/show_bug.cgi?id=128650
1237
1238         Reviewed by Mark Rowe.
1239
1240         * Configurations/All-iOS.xcconfig: Removed this unused file.
1241         * Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that
1242         its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
1243         (wrong) install location.
1244
1245 2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
1246
1247         EFL build fix after r163919.
1248
1249         * WebProcess/WebPage/WebPage.h:
1250
1251 2014-02-11  Jaehun Lim  <ljaehun.lim@samsung.com>
1252
1253         Unreviewed build fix after r163919
1254
1255         WKGestureTypes.h needs PLATFORM(IOS) guard.
1256
1257         * WebProcess/WebPage/WebPage.h:
1258
1259 2014-02-11  Zalan Bujtas  <zalan@apple.com>
1260
1261         Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
1262         https://bugs.webkit.org/show_bug.cgi?id=128460
1263
1264         Reviewed by Simon Fraser.
1265
1266         GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
1267         subpixel position.
1268
1269         No change in functionality.
1270
1271         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1272         (WebKit::LayerTreeHostGtk::paintContents):
1273         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1274         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1275         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1276         (WebKit::RemoteLayerTreeDrawingArea::paintContents):
1277         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1278         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1279         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1280
1281 2014-02-11  Sam Weinig  <sam@webkit.org>
1282
1283         [WebKit2, JSC] Add user default to disable the JIT
1284         https://bugs.webkit.org/show_bug.cgi?id=128643
1285
1286         Reviewed by Filip Pizlo.
1287
1288         * Shared/WebProcessCreationParameters.cpp:
1289         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
1290         (WebKit::WebProcessCreationParameters::encode):
1291         (WebKit::WebProcessCreationParameters::decode):
1292         * Shared/WebProcessCreationParameters.h:
1293         * UIProcess/mac/WebContextMac.mm:
1294         (WebKit::registerUserDefaultsIfNeeded):
1295         (WebKit::WebContext::platformInitializeWebProcess):
1296         * WebProcess/mac/WebProcessMac.mm:
1297         (WebKit::WebProcess::platformInitializeWebProcess):
1298
1299 2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
1300
1301         Frame::rectForSelection shouldn't instantiate FrameSelection
1302         https://bugs.webkit.org/show_bug.cgi?id=128587
1303
1304         Reviewed by Enrica Casucci.
1305
1306         * WebProcess/WebCoreSupport/WebEditorClient.h:
1307         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
1308
1309 2014-02-11  Enrica Casucci  <enrica@apple.com>
1310
1311         Support WebSelections in WK2 on iOS.
1312         https://bugs.webkit.org/show_bug.cgi?id=127015
1313         <rdar://problem/15211964>
1314
1315         Reviewed by Benjamin Poulain.
1316
1317         First step towards implementing block selections on iOS.
1318         The main logic is in rangeForWebSelectionAtPosition that
1319         decides whether we create a text or a block selection.
1320
1321         * Shared/ios/WKGestureTypes.h:
1322         * UIProcess/API/ios/WKInteractionView.mm:
1323         (toUIWKSelectionFlags):
1324         (selectionChangedWithGesture):
1325         * WebProcess/WebPage/WebPage.h:
1326         * WebProcess/WebPage/ios/WebPageIOS.mm:
1327         (WebKit::WebPage::rangeForWebSelectionAtPosition):
1328         (WebKit::WebPage::selectWithGesture):
1329         (WebKit::WebPage::getPositionInformation):
1330
1331 2014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>
1332
1333         Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
1334         https://bugs.webkit.org/show_bug.cgi?id=128194
1335
1336         Reviewed by Simon Fraser.
1337
1338         * Shared/WebPreferencesStore.h:
1339         * UIProcess/API/C/WKPreferences.cpp:
1340         (WKPreferencesSetConvertPositionStyleOnCopy):
1341         (WKPreferencesGetConvertPositionStyleOnCopy):
1342         * UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
1343         * WebProcess/WebPage/WebPage.cpp:
1344         (WebKit::WebPage::updatePreferences):
1345
1346 2014-02-11  Benjamin Poulain  <bpoulain@apple.com>
1347
1348         [WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
1349         https://bugs.webkit.org/show_bug.cgi?id=128575
1350
1351         Reviewed by Darin Adler.
1352
1353         In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
1354         Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.
1355
1356         This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.
1357
1358         * UIProcess/API/gtk/PageClientImpl.cpp:
1359         (WebKit::PageClientImpl::screenToRootView):
1360         (WebKit::PageClientImpl::rootViewToScreen):
1361         * UIProcess/API/gtk/PageClientImpl.h:
1362         * UIProcess/API/ios/PageClientImplIOS.h:
1363         * UIProcess/API/ios/PageClientImplIOS.mm:
1364         (WebKit::PageClientImpl::screenToRootView):
1365         (WebKit::PageClientImpl::rootViewToScreen):
1366         * UIProcess/API/mac/PageClientImpl.h:
1367         * UIProcess/API/mac/PageClientImpl.mm:
1368         (WebKit::PageClientImpl::screenToRootView):
1369         (WebKit::PageClientImpl::rootViewToScreen):
1370         * UIProcess/CoordinatedGraphics/WebView.cpp:
1371         (WebKit::WebView::screenToRootView):
1372         (WebKit::WebView::rootViewToScreen):
1373         * UIProcess/CoordinatedGraphics/WebView.h:
1374         * UIProcess/PageClient.h:
1375         * UIProcess/WebPageProxy.cpp:
1376         (WebKit::WebPageProxy::screenToRootView):
1377         (WebKit::WebPageProxy::rootViewToScreen):
1378         * UIProcess/WebPageProxy.h:
1379         * UIProcess/WebPageProxy.messages.in:
1380         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1381         (WebKit::WebChromeClient::screenToRootView):
1382         (WebKit::WebChromeClient::rootViewToScreen):
1383         * WebProcess/WebPage/WebPage.cpp:
1384         (WebKit::WebPage::screenToRootView):
1385         (WebKit::WebPage::rootViewToScreen):
1386         * WebProcess/WebPage/WebPage.h:
1387         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1388         (-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
1389         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
1390
1391 2014-02-11  Andy Estes  <aestes@apple.com>
1392
1393         [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
1394         https://bugs.webkit.org/show_bug.cgi?id=128583
1395
1396         Reviewed by Anders Carlsson.
1397
1398         The delegate method was removed in Snow Leopard.
1399
1400         * NetworkProcess/NetworkResourceLoader.cpp:
1401         * NetworkProcess/NetworkResourceLoader.h:
1402
1403 2014-02-11  Brady Eidson  <beidson@apple.com>
1404
1405         IndexedDB tests on some bots are flakey (timeouts)
1406         <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612
1407
1408         Reviewed by Sam Weinig.
1409
1410         When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
1411         *ESPECIALLY* when dealing with multiple threads.
1412
1413         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1414         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 
1415         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
1416
1417 2014-02-11  Dan Bernstein  <mitz@apple.com>
1418
1419         Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
1420         https://bugs.webkit.org/show_bug.cgi?id=128582
1421
1422         Reviewed by Darin Adler.
1423
1424         * Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
1425         (WKContextMenuItemGetTag):
1426         * Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
1427         are not needed on iOS.
1428         * Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1429         (WebKit::toAPI):
1430         (WebKit::toImpl):
1431         * Shared/APIObject.h: Ditto.
1432         * Shared/ChildProcess.cpp: Ditto.
1433         * Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
1434         setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
1435         * Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
1436         * Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1437         (WebKit::DictionaryPopupInfo::encode):
1438         (WebKit::DictionaryPopupInfo::decode):
1439         * Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1440         * Shared/Downloads/Download.h: Ditto.
1441         * Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1442         * Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1443         (WebKit::FontInfo::encode):
1444         (WebKit::FontInfo::decode):
1445         * Shared/FontInfo.h: Ditto.
1446         * Shared/LayerTreeContext.h: Ditto.
1447         * Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
1448         forward-declaration of NSView.
1449         * Shared/NativeWebMouseEvent.h: Ditto.
1450         * Shared/NativeWebWheelEvent.h: Ditto.
1451         * Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
1452         * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
1453         * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
1454         * Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
1455         PLATFORM(COCOA).
1456         * Shared/Network/CustomProtocols/mac: Removed.
1457         * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
1458         * Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
1459         (WebKit::PlatformPopupMenuData::encode):
1460         (WebKit::PlatformPopupMenuData::decode):
1461         * Shared/PlatformPopupMenuData.h: Ditto.
1462         * Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
1463         * Shared/Plugins/PluginModuleInfo.h: Ditto.
1464         * Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
1465         (WebKit::PluginProcessCreationParameters::encode):
1466         (WebKit::PluginProcessCreationParameters::decode):
1467         * Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
1468         * Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
1469         NSPrintInfo.
1470         * Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1471         * Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
1472         * Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
1473         * Shared/WebArchive.h: Ditto.
1474         * Shared/WebArchiveResource.cpp: Ditto.
1475         * Shared/WebArchiveResource.h: Ditto.
1476         * Shared/WebCoreArgumentCoders.cpp: Ditto.
1477         (IPC::ArgumentCoder<ResourceResponse>::encode):
1478         (IPC::ArgumentCoder<ResourceResponse>::decode):
1479         * Shared/WebCoreArgumentCoders.h: Ditto.
1480         * Shared/WebEvent.h: Ditto.
1481         * Shared/WebEventConversion.cpp: Ditto.
1482         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
1483         * Shared/WebKit2Initialize.cpp: Ditto.
1484         (WebKit::InitializeWebKit2):
1485         * Shared/WebPageCreationParameters.cpp: Ditto.
1486         (WebKit::WebPageCreationParameters::encode):
1487         (WebKit::WebPageCreationParameters::decode):
1488         * Shared/WebPageCreationParameters.h: Ditto.
1489         * Shared/WebPreferencesStore.h: Ditto.
1490         * Shared/WebProcessCreationParameters.cpp: Ditto.
1491         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
1492         (WebKit::WebProcessCreationParameters::encode):
1493         (WebKit::WebProcessCreationParameters::decode):
1494         * Shared/WebProcessCreationParameters.h: Ditto.
1495         * Shared/WebWheelEvent.cpp: Ditto.
1496         (WebKit::WebWheelEvent::WebWheelEvent):
1497         (WebKit::WebWheelEvent::encode):
1498         (WebKit::WebWheelEvent::decode):
1499         * Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
1500         (IPC::decode):
1501         * Shared/mac/CommandLineMac.cpp: Removed.
1502         * Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
1503         * Shared/posix: Added.
1504         * Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
1505         comment.
1506         * WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.
1507
1508 2014-02-11  Brady Eidson  <beidson@apple.com>
1509
1510         IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
1511         <rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581
1512
1513         Reviewed by Alexey Proskuryakov.
1514
1515         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1516         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.
1517
1518 2014-02-11  Alberto Garcia  <berto@igalia.com>
1519
1520         O_CLOEXEC in shm_open does not work on FreeBSD
1521         https://bugs.webkit.org/show_bug.cgi?id=128572
1522
1523         Reviewed by Darin Adler.
1524
1525         The O_CLOEXEC is not supported by shm_open() and is also not
1526         necessary since FD_CLOEXEC is already set by default when the new
1527         file descriptor is created.
1528
1529         * Platform/unix/SharedMemoryUnix.cpp:
1530         (WebKit::SharedMemory::create):
1531
1532 2014-02-10  Commit Queue  <commit-queue@webkit.org>
1533
1534         Unreviewed, rolling out r163856.
1535         http://trac.webkit.org/changeset/163856
1536         https://bugs.webkit.org/show_bug.cgi?id=128585
1537
1538         The build fix depends on r163848, which has been reverted
1539         (Requested by notbenjamin on #webkit).
1540
1541         * UIProcess/ios/TextCheckerIOS.mm:
1542         (WebKit::TextChecker::checkTextOfParagraph):
1543         (WebKit::TextChecker::checkSpellingOfString):
1544         (WebKit::TextChecker::checkGrammarOfString):
1545
1546 2014-02-10  Alexey Proskuryakov  <ap@apple.com>
1547
1548         Add hooks for wrapping CryptoKeys in SerializedScriptValue
1549         https://bugs.webkit.org/show_bug.cgi?id=128567
1550
1551         Reviewed by Anders Carlsson.
1552
1553         * UIProcess/WebPageProxy.cpp:
1554         (WebKit::WebPageProxy::wrapCryptoKey):
1555         (WebKit::WebPageProxy::unwrapCryptoKey):
1556         * UIProcess/WebPageProxy.h:
1557         * UIProcess/WebPageProxy.messages.in:
1558         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1559         (WebKit::WebChromeClient::wrapCryptoKey):
1560         (WebKit::WebChromeClient::unwrapCryptoKey):
1561         * WebProcess/WebCoreSupport/WebChromeClient.h:
1562         Dummy implementation, to be filled in later.
1563
1564 2014-02-10  Dan Bernstein  <mitz@apple.com>
1565
1566         Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS”
1567         https://bugs.webkit.org/show_bug.cgi?id=128513
1568
1569         Reviewed by Dean Jackson.
1570
1571         * Platform/IPC/Connection.cpp:
1572         (IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of
1573         RunLoop::runForDuration, matching the guard around that function.
1574         * Platform/Logging.cpp: Deleted unused definition of logLevelString.
1575         * Platform/Module.cpp:
1576         (WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF).
1577         * Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is
1578         just a CFBundle-based implementation.
1579         * Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably
1580         this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
1581         * Platform/cf: Added.
1582         * Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not
1583         contain any Objective-C code.
1584         * Platform/foundation: Added.
1585         * Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm.
1586         * Platform/mac/Logging.mac.mm: Removed.
1587         * Platform/mac/ModuleMac.mm: Removed.
1588         * WebKit2.xcodeproj/project.pbxproj: Updated for renames.
1589
1590 2014-02-10  Commit Queue  <commit-queue@webkit.org>
1591
1592         Unreviewed, rolling out r163848.
1593         http://trac.webkit.org/changeset/163848
1594         https://bugs.webkit.org/show_bug.cgi?id=128580
1595
1596         Caused a lot of crashes on tests (Requested by ap on #webkit).
1597
1598         * Shared/APIString.h:
1599         * UIProcess/TextChecker.h:
1600         * UIProcess/WebPageProxy.cpp:
1601         (WebKit::WebPageProxy::checkTextOfParagraph):
1602         (WebKit::WebPageProxy::checkSpellingOfString):
1603         (WebKit::WebPageProxy::checkGrammarOfString):
1604         * UIProcess/mac/TextCheckerMac.mm:
1605         (WebKit::TextChecker::checkTextOfParagraph):
1606         (WebKit::TextChecker::checkSpellingOfString):
1607         (WebKit::TextChecker::checkGrammarOfString):
1608
1609 2014-02-10  Brady Eidson  <beidson@apple.com>
1610
1611         IDB: storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html fails
1612         <rdar://problem/16033286> and https://bugs.webkit.org/show_bug.cgi?id=128574
1613
1614         Reviewed by Maciej Stachowiak.
1615
1616         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1617         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If there is no value in an object-store get,
1618           don’t return *any* results.
1619
1620 2014-02-10  Benjamin Poulain  <bpoulain@apple.com>
1621
1622         Fix the iOS build after r163848
1623
1624         * UIProcess/ios/TextCheckerIOS.mm:
1625         (WebKit::TextChecker::checkTextOfParagraph):
1626         (WebKit::TextChecker::checkSpellingOfString):
1627         (WebKit::TextChecker::checkGrammarOfString):
1628
1629 2014-02-10  Brady Eidson  <beidson@apple.com>
1630
1631         IDB: storage/indexeddb/mozilla/indexes.html fails
1632         <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563
1633
1634         Reviewed by Tim Horton.
1635
1636         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1637         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Pass the cursor type to the backing store.
1638
1639         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
1640         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1641         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): If it’s a key-only cursor,
1642           return only the key result.
1643         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
1644
1645         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
1646         (WebKit::getIndexStatement): Fix index statement selection so ascending, unique cursors sort correctly.
1647
1648 2014-02-10  Anders Carlsson  <andersca@apple.com>
1649
1650         Remove a couple of deprecatedCharacters() from WebKit2
1651         https://bugs.webkit.org/show_bug.cgi?id=128569
1652
1653         Reviewed by Andreas Kling.
1654
1655         * Shared/APIString.h:
1656         * UIProcess/TextChecker.h:
1657         * UIProcess/WebPageProxy.cpp:
1658         (WebKit::WebPageProxy::checkTextOfParagraph):
1659         (WebKit::WebPageProxy::checkSpellingOfString):
1660         (WebKit::WebPageProxy::checkGrammarOfString):
1661         * UIProcess/mac/TextCheckerMac.mm:
1662         (WebKit::TextChecker::checkTextOfParagraph):
1663         (WebKit::TextChecker::checkSpellingOfString):
1664         (WebKit::TextChecker::checkGrammarOfString):
1665
1666 2014-02-10  Filip Pizlo  <fpizlo@apple.com>
1667
1668         Rename Operations.h to JSCInlines.h
1669         https://bugs.webkit.org/show_bug.cgi?id=128543
1670
1671         Rubber stamped by Geoffrey Garen.
1672
1673         * Shared/linux/WebMemorySamplerLinux.cpp:
1674         * UIProcess/WebContext.cpp:
1675         * WebProcess/WebPage/WebPage.cpp:
1676         * WebProcess/efl/WebProcessMainEfl.cpp:
1677
1678 2014-02-10  Benjamin Poulain  <bpoulain@apple.com>
1679
1680         [WK2] Add support for image document viewport configuration
1681         https://bugs.webkit.org/show_bug.cgi?id=128565
1682
1683         Reviewed by Simon Fraser.
1684
1685         * UIProcess/API/ios/PageClientImplIOS.mm:
1686         (WebKit::PageClientImpl::screenToWindow):
1687         (WebKit::PageClientImpl::windowToScreen):
1688         Add the implementation for ImageDocument.
1689
1690         * WebProcess/WebPage/WebPage.cpp:
1691         (WebKit::WebPage::didCommitLoad):
1692         Use the right default settings when dealing with image documents.
1693
1694 2014-02-10  Simon Fraser  <simon.fraser@apple.com>
1695
1696         Show a debug tile map indicator for UI-side compositing
1697         https://bugs.webkit.org/show_bug.cgi?id=128553
1698
1699         Reviewed by Tim Horton.
1700         
1701         Implement a tiled scrolling indicator for UI-side compositing.
1702         
1703         The indicator is created by making another RemoteLayerTreeHost,
1704         and decoding the transaction in it a second time to create a cloned
1705         layer tree. In that clone commit, we modify some layer properties to
1706         make things easier to see.
1707         
1708         The cloned layer tree is hosted in the root layer of the main
1709         RemoteLayerTreeHost.
1710         
1711         RemoteLayerTreeHost was changed to not need a pointer to the WebPageProxy,
1712         which it only used in the "root layer changed" case; instead, it now just
1713         returns a bool from updateLayerTree() in that situation.
1714
1715         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Explanatory comment.
1716         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
1717         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1718         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
1719         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
1720         (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect):
1721         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
1722         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicatorPosition):
1723         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
1724         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
1725         (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
1726         * UIProcess/mac/RemoteLayerTreeHost.h:
1727         (WebKit::RemoteLayerTreeHost::rootLayer):
1728         (WebKit::RemoteLayerTreeHost::setIsDebugLayerTreeHost):
1729         (WebKit::RemoteLayerTreeHost::isDebugLayerTreeHost):
1730         * UIProcess/mac/RemoteLayerTreeHost.mm:
1731         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
1732         (WebKit::RemoteLayerTreeHost::updateLayerTree):
1733         (WebKit::RemoteLayerTreeHost::createLayer):
1734
1735 2014-02-10  Simon Fraser  <simon.fraser@apple.com>
1736
1737         Put a delegatesScrolling flag on WebPageProxy so that the UI process knows when scrolling is delegated
1738         https://bugs.webkit.org/show_bug.cgi?id=128429
1739
1740         Reviewed by Sam Weinig.
1741         
1742         Add delegatesScrolling() which defaults to false, but is set to true for iOS
1743         by WKContentView.
1744
1745         * UIProcess/API/ios/WKContentView.mm:
1746         (-[WKContentView initWithFrame:configuration:]):
1747         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1748         * UIProcess/WebPageProxy.cpp:
1749         (WebKit::WebPageProxy::WebPageProxy):
1750         * UIProcess/WebPageProxy.h:
1751         (WebKit::WebPageProxy::setDelegatesScrolling):
1752         (WebKit::WebPageProxy::delegatesScrolling):
1753
1754 2014-02-10  Gavin Barraclough  <barraclough@apple.com>
1755
1756         Remove WKPageSetVisibilityState
1757         https://bugs.webkit.org/show_bug.cgi?id=128551
1758
1759         Reviewed by Anders Carlsson.
1760
1761         Made prerender state automatic. We should move this further
1762         up into WebCore, but this requires refactoring for the Page
1763         construction order.
1764
1765         * Shared/API/c/WKDeprecatedFunctions.cpp:
1766         (WKPageSetVisibilityState):
1767             - deprecated.
1768         * UIProcess/API/C/WKPage.cpp:
1769             - removed WKPageSetVisibilityState.
1770         * UIProcess/API/C/WKPage.h:
1771             - removed WKPageSetVisibilityState.
1772         * UIProcess/WebPageProxy.cpp:
1773             - removed setVisibilityStatePrerender.
1774         * UIProcess/WebPageProxy.h:
1775             - removed setVisibilityStatePrerender.
1776         * WebProcess/WebPage/WebPage.cpp:
1777         (WebKit::WebPage::WebPage):
1778             - removed setVisibilityStatePrerender.
1779             - When creating a Page, automatically set the prerender state.
1780         * WebProcess/WebPage/WebPage.h:
1781             - removed setVisibilityStatePrerender.
1782         * WebProcess/WebPage/WebPage.messages.in:
1783             - removed SetVisibilityStatePrerender.
1784
1785 2014-02-10  Brady Eidson  <beidson@apple.com>
1786
1787         IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
1788         <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487
1789
1790         Missed one piece of review feedback before landing.
1791
1792         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1793         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
1794
1795 2014-02-10  Brady Eidson  <beidson@apple.com>
1796
1797         IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
1798         <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487
1799
1800         Reviewed by Tim Horton.
1801
1802         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
1803         (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
1804         (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Update logging.
1805         (WebKit::DatabaseProcessIDBConnection::deleteDatabase): If deleteDatabase succeeds,
1806           also disconnect from the UniqueIDBDatabase so it can be cleaned up properly.
1807         (WebKit::DatabaseProcessIDBConnection::close): New message from the WebProcess to handle
1808           clean closures.
1809         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
1810         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
1811
1812         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1813         (WebKit::UniqueIDBDatabase::shutdown): Move most of the cleanup to didShutdownBackingStore.
1814         (WebKit::UniqueIDBDatabase::didShutdownBackingStore): Execute all remaining mainThreadTasks
1815           (as they represent real results from the backing store thread). 
1816         (WebKit::UniqueIDBDatabase::deleteDatabase): Add an ASSERT.
1817         (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Call through to performNextMainThreadTaskWithoutAdoptRef.
1818         (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Execute a task,
1819           returning true if there are more tasks left to execute.
1820         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
1821
1822         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1823         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): Properly
1824           handle JSC cleanup.
1825
1826         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1827         (WebKit::WebIDBServerConnection::close): Implement this.
1828
1829 2014-02-10  Benjamin Poulain  <bpoulain@apple.com>
1830
1831         [iOS][WK2] Add empty definition for an API allowing clients to define obscured edges over the scrollview
1832         https://bugs.webkit.org/show_bug.cgi?id=128396
1833
1834         Reviewed by Simon Fraser.
1835
1836         ObscuredInset defines the area of the scrollview unusable for positioning content.
1837         The API is unused in this patch.
1838
1839         * UIProcess/API/Cocoa/WKViewPrivate.h:
1840         * UIProcess/API/Cocoa/WKWebView.mm:
1841         (-[WKWebView _obscuredInset]):
1842         (-[WKWebView _setObscuredInset:]):
1843         (-[WKWebView _commitObscuredInset]):
1844         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1845         * UIProcess/API/ios/WKViewIOS.mm:
1846         (-[WKView _obscuredInset]):
1847         (-[WKView _setObscuredInset:]):
1848         (-[WKView _commitObscuredInset]):
1849
1850 2014-02-10  Martin Hock  <mhock@apple.com>
1851
1852         Add API for accessing session ephemerality from a page bundle
1853         https://bugs.webkit.org/show_bug.cgi?id=128410
1854
1855         Reviewed by Alexey Proskuryakov.
1856
1857         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1858         (WKBundlePageIsUsingEphemeralSession):
1859         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1860         * WebProcess/WebPage/WebPage.cpp:
1861         (WebKit::WebPage::isUsingEphemeralSession):
1862         * WebProcess/WebPage/WebPage.h:
1863
1864 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1865
1866         [GTK] Create the inspector view using the same web process as the inspected page
1867         https://bugs.webkit.org/show_bug.cgi?id=128539
1868
1869         Reviewed by Martin Robinson.
1870
1871         * UIProcess/API/C/gtk/WKView.cpp:
1872         (WKViewCreate): Pass nullptr as the related page.
1873         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1874         (webkitWebViewBaseCreate): Add related page argument and pass it
1875         to webkitWebViewBaseCreateWebPage() instead of nullptr.
1876         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1877         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1878         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
1879         m_page as related page to webkitWebViewBaseCreate().
1880
1881 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1882
1883         [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
1884         https://bugs.webkit.org/show_bug.cgi?id=127554
1885
1886         Reviewed by Gustavo Noronha Silva.
1887
1888         Use GUniqueOutPtr instead of GOwnPtr.
1889
1890         * NetworkProcess/soup/NetworkProcessSoup.cpp:
1891         (WebKit::getCacheDiskFreeSize):
1892         * Shared/Downloads/soup/DownloadSoup.cpp:
1893         (WebKit::DownloadClient::didReceiveResponse):
1894         (WebKit::DownloadClient::didReceiveData):
1895         (WebKit::DownloadClient::didFinishLoading):
1896         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1897         (processPendingIconsForPageURL):
1898         (webkit_favicon_database_get_favicon):
1899         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
1900         (webkitURISchemeRequestReadCallback):
1901         * UIProcess/API/gtk/WebKitWebView.cpp:
1902         (gotFaviconCallback):
1903         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1904         (WebKit::WebInspectorServer::platformResourceForPath):
1905         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1906         (WebKit::ProcessLauncher::launchProcess):
1907         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1908         (WebKit::PluginProcessProxy::scanPlugin):
1909         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1910         * WebProcess/soup/WebProcessSoup.cpp:
1911         (WebKit::getCacheDiskFreeSize):
1912
1913 2014-02-10  Tim Horton  <timothy_horton@apple.com>
1914
1915         [iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture 
1916         https://bugs.webkit.org/show_bug.cgi?id=128523
1917         <rdar://problem/16020378>
1918
1919         Reviewed by Darin Adler.
1920
1921         We can't install the gesture recognizer on a view that's going to be
1922         reparented during the swipe, because the gesture will be cancelled.
1923         Install the recognizer on the WKView and move the WKView's scrollview
1924         child around instead.
1925
1926         * UIProcess/API/ios/WKViewIOS.mm:
1927         (-[WKView setAllowsBackForwardNavigationGestures:]):
1928         We'll install the gesture recognizer on the WKView, but swipe the scrollview.
1929
1930         * UIProcess/ios/ViewGestureControllerIOS.mm:
1931         (-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]):
1932         Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on.
1933         (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
1934         Use public enum values so we can get rid of one private header.
1935
1936         (WebKit::ViewGestureController::installSwipeHandler):
1937         Separate out the gesture recognizer view from the one that gets swiped.
1938
1939         (WebKit::ViewGestureController::beginSwipeGesture):
1940         Record a snapshot before beginning the swipe. This is important for the back-then-forward
1941         swipe case, and matches the behavior of the Mac implementation.
1942
1943         (WebKit::ViewGestureController::endSwipeGesture):
1944         * UIProcess/mac/ViewGestureController.h:
1945         Slight geometry adjustments due to the change in targetted view.
1946
1947 2014-02-10  Filip Pizlo  <fpizlo@apple.com>
1948
1949         JSC environment variables should override other mechanisms for setting options
1950         https://bugs.webkit.org/show_bug.cgi?id=128511
1951
1952         Reviewed by Geoffrey Garen.
1953
1954         * WebProcess/mac/WebProcessMac.mm:
1955         (WebKit::WebProcess::platformInitializeWebProcess):
1956
1957 2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1958
1959         [GTK] Add API to create a webview related to another one
1960         https://bugs.webkit.org/show_bug.cgi?id=128498
1961
1962         Reviewed by Gustavo Noronha Silva.
1963
1964         Add webkit_web_view_new_with_related_view() to create a new
1965         WebView sharing the same web process as the given one.
1966
1967         * UIProcess/API/gtk/WebKitWebContext.cpp:
1968         (webkitWebContextCreatePageForWebView): Use the given related
1969         WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
1970         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1971         * UIProcess/API/gtk/WebKitWebView.cpp:
1972         (webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
1973         (webkitWebViewSetProperty):
1974         (webkit_web_view_class_init): Add related-view construct-only property.
1975         (webkit_web_view_new_with_related_view): New public method to
1976         create a web view with a related one.
1977         * UIProcess/API/gtk/WebKitWebView.h:
1978         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1979         (webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
1980         (webkitWebViewBaseCreateWebPage): Use the given related
1981         WebPageProxy to initialize the web page configuration.
1982         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1983         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
1984
1985 2014-02-10  Lukasz Bialek  <l.bialek@samsung.com>
1986
1987         [EFL] Spelling unit tests should use ecore_main_loop_iterate()
1988         https://bugs.webkit.org/show_bug.cgi?id=127427
1989
1990         Reviewed by Gyuyoung Kim.
1991
1992         r148670 gets rid of EFL's idlers in a favor of timers to load languages.
1993         ecore_main_loop_iterate() can be used now.
1994
1995         Add function that loads spellchecking languages and waits for loading
1996         to be finished:
1997         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1998         (EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading):
1999         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
2000
2001         Apply added function to tests that should wait for languages to be loaded:
2002         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2003         (EWK2TextCheckerTest::resetCallbacksExecutionStats):
2004         (TEST_F):
2005
2006 2014-02-09  Carlos Garnacho  <carlosg@gnome.org>
2007
2008         [GTK] Implement support touch events
2009         https://bugs.webkit.org/show_bug.cgi?id=98931
2010
2011         Reviewed by Carlos Garcia Campos.
2012
2013         In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
2014         touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
2015         events will be generated as a fallback.
2016
2017         * GNUmakefile.list.am:
2018         * PlatformGTK.cmake:
2019         * Shared/gtk/NativeWebTouchEventGtk.cpp:
2020         * Shared/NativeWebTouchEvent.h:
2021         (WebKit::NativeWebTouchEvent::nativeEvent):
2022         (WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.
2023         * Shared/gtk/WebEventFactory.cpp:
2024         (WebKit::touchPhaseFromEvents):
2025         (WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
2026         of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
2027         touches, in order to build information about all individual touchpoints.
2028         * Shared/gtk/WebEventFactory.h:
2029         * UIProcess/API/gtk/PageClientImpl.cpp:
2030         (WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
2031         in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
2032         mouse event counterpart and handled by the widget again.
2033         * UIProcess/API/gtk/PageClientImpl.h:
2034         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2035         (webkitWebViewBaseRealize): Listen for touch events
2036         (webkitWebViewBaseTouchEvent):
2037         (webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
2038         lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.
2039
2040 2014-02-09  Commit Queue  <commit-queue@webkit.org>
2041
2042         Unreviewed, rolling out r162768.
2043         http://trac.webkit.org/changeset/162768
2044         https://bugs.webkit.org/show_bug.cgi?id=128495
2045
2046         Causes crashes on GTK WK2 in three fast/forms tests.
2047         (Requested by zdobersek on #webkit).
2048
2049         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
2050         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
2051
2052 2014-02-08  Brady Eidson  <beidson@apple.com>
2053
2054         IDB: storage/indexeddb/mozilla/object-cursors.html fails
2055         <rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479
2056
2057         Reviewed by Dan Bernstein.
2058
2059         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2060         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo
2061           table schema to allow for indexes with the same id/name as previous indexes.
2062           But with different object stores, of course.
2063
2064 2014-02-08  Brady Eidson  <beidson@apple.com>
2065
2066         IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
2067         <rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444
2068
2069         Reviewed by Dan Bernstein.
2070
2071         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2072         (WebKit::getIndexStatement): Return different statements for unique cursors that will
2073           sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.
2074         (WebKit::SQLiteIDBCursor::establishStatement):
2075
2076         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2077         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as
2078           strings since we need the collation function to be called for proper sorting.
2079
2080 2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
2081
2082         Cleanup the interface of FrameSelection
2083         https://bugs.webkit.org/show_bug.cgi?id=128481
2084
2085         Reviewed by Andreas Kling.
2086
2087         * WebProcess/WebPage/FindController.cpp:
2088         (WebKit::FindController::getFindIndicatorBitmapAndRect):
2089         (WebKit::FindController::drawRect):
2090         * WebProcess/WebPage/WebPage.cpp:
2091         (WebKit::WebPage::scaledSnapshotWithOptions):
2092
2093 2014-02-08  Brady Eidson  <beidson@apple.com>
2094
2095         IDB: storage/indexeddb/mozilla/cursors.html fails
2096         <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423
2097
2098         Reviewed by Dan Bernstein.
2099
2100         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2101         (WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
2102         (WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.
2103           Depending on the direction of the cursor we should check for the next highest or next lowest key.
2104
2105 2014-02-08  Dan Bernstein  <mitz@apple.com>
2106
2107         Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
2108         https://bugs.webkit.org/show_bug.cgi?id=128456
2109
2110         Reviewed by Anders Carlsson.
2111
2112         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and
2113         paintCustomHighlight.
2114         * WebProcess/WebCoreSupport/WebChromeClient.h:
2115
2116 2014-02-08  Darin Adler  <darin@apple.com>
2117
2118         Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
2119         https://bugs.webkit.org/show_bug.cgi?id=128233
2120
2121         Reviewed by Anders Carlsson.
2122
2123         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
2124         (-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.
2125
2126         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2127         (WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
2128         (WebKit::WebEditorClient::checkGrammarOfString): Ditto.
2129         * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
2130
2131 2014-02-08  Piotr Grad  <p.grad@samsung.com>
2132
2133         [GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
2134         https://bugs.webkit.org/show_bug.cgi?id=128449
2135
2136         Reviewed by Carlos Garcia Campos.
2137
2138         Parameter passed to context->createWebPage was inproper.
2139
2140         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2141         (webkitWebViewBaseCreateWebPage):
2142
2143 2014-02-08  Dan Bernstein  <mitz@apple.com>
2144
2145         Font size-related preference values should be CGFloats backed by doubles
2146         https://bugs.webkit.org/show_bug.cgi?id=128445
2147
2148         Reviewed by Filip Pizlo.
2149
2150         * Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize,
2151         defaultFontSize, and defaultFixedFontSize into double-value preferences.
2152         * UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat.
2153         * UIProcess/API/Cocoa/WKPreferences.mm:
2154         (-[WKPreferences minimumFontSize]): Changed return type.
2155         (-[WKPreferences setMinimumFontSize:]): Changed parameter type.
2156         * WebProcess/WebPage/WebPage.cpp:
2157         (WebKit::WebPage::updatePreferences): Changed to use double getters.
2158
2159 2014-02-08  Adrian Perez de Castro  <aperez@igalia.com>
2160
2161         [GTK] Make process model names properly meaningful
2162         https://bugs.webkit.org/show_bug.cgi?id=128389
2163
2164         Reviewed by Carlos Garcia Campos.
2165
2166         The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
2167         is misleading because there are situations in which web views may
2168         share the same web process even when multi-process mode is enabled;
2169         for example when opening a related view and both interact using JS.
2170
2171         * UIProcess/API/gtk/WebKitWebContext.cpp:
2172         (webkit_web_context_set_process_model):
2173         (webkit_web_context_get_process_model):
2174         Update names of WebKitProcessModel enum values.
2175         * UIProcess/API/gtk/WebKitWebContext.h:
2176         Ditto.
2177
2178 2014-02-08  Piotr Grad  <p.grad@samsung.com>
2179
2180         [GTK] Build break in WebKitSettings
2181         https://bugs.webkit.org/show_bug.cgi?id=128446
2182
2183         Reviewed by Ryosuke Niwa.
2184
2185         Argument for WebPreferences::create was missing
2186
2187         * UIProcess/API/gtk/WebKitSettings.cpp:
2188         (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
2189
2190 2014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>
2191
2192         Unreviewed EFL WebKit2 build fix after r163671.
2193
2194         * UIProcess/CoordinatedGraphics/WebView.cpp:
2195         (WebKit::WebView::WebView): Use WebPageConfiguration in creating WebPage.
2196
2197 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2198
2199         Add better comments to code that boosts the NetworkProcess
2200         https://bugs.webkit.org/show_bug.cgi?id=128431
2201
2202         Rubber stamped by Tim Horton
2203
2204         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
2205         (WebKit::XPCServiceEventHandler):
2206         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
2207         (WebKit::XPCServiceEventHandler):
2208         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2209         (WebKit::connectToService):
2210
2211 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2212
2213        Build fix.
2214
2215         * UIProcess/API/ios/WKContentView.mm:
2216         (-[WKContentView initWithFrame:configuration:]):
2217
2218 2014-02-07  Anders Carlsson  <andersca@apple.com>
2219
2220         Pass the preferences through from the WKWebViewConfiguration object
2221         https://bugs.webkit.org/show_bug.cgi?id=128430
2222
2223         Reviewed by Tim Horton.
2224
2225         * UIProcess/API/Cocoa/WKPreferences.h:
2226         * UIProcess/API/Cocoa/WKPreferences.mm:
2227         (-[WKPreferences init]):
2228         Don't return nil if [super init] returns a valid object.
2229
2230         (-[WKPreferences minimumFontSize]):
2231         (-[WKPreferences setMinimumFontSize:]):
2232         Change this property to be unsigned.
2233
2234         * UIProcess/API/Cocoa/WKPreferencesInternal.h:
2235         Use @package.
2236
2237         * UIProcess/API/Cocoa/WKWebView.mm:
2238         (-[WKWebView initWithFrame:configuration:]):
2239         Set up a WebKit::WebPageConfiguration and use the new -[WKView initWithFrame:context:configuration:] method.
2240
2241         * UIProcess/API/ios/WKContentView.mm:
2242         (-[WKContentView initWithFrame:configuration:]):
2243         Set the preferences.
2244
2245         * UIProcess/API/mac/WKView.mm:
2246         (-[WKView initWithFrame:context:configuration:]):
2247         Add a new initializer that takes a WebContext and a WebPageConfiguration.
2248
2249         (-[WKView _registerDraggedTypes]):
2250         This shouldn't be in the private category.
2251         
2252         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2253         Call the new initializer.
2254
2255         * UIProcess/API/mac/WKViewInternal.h:
2256
2257 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2258
2259         Fix the WebKit2 build after r163671.
2260
2261         * UIProcess/API/ios/WKContentView.mm:
2262         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2263
2264 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2265
2266         Remove isInitialState flag from Page::setViewState
2267         https://bugs.webkit.org/show_bug.cgi?id=128428
2268
2269         Reviewed by Sam Weinig.
2270
2271         * WebProcess/WebPage/WebPage.cpp:
2272         (WebKit::WebPage::WebPage):
2273             - don't pass isInitialState to setViewState.
2274         (WebKit::WebPage::reinitializeWebPage):
2275             - if the viewState changes this should fire a visibility event.
2276         (WebKit::WebPage::setViewState):
2277             - merged with setViewStateInternal.
2278         * WebProcess/WebPage/WebPage.h:
2279             - removed setViewStateInternal.
2280
2281 2014-02-07  Simon Fraser  <simon.fraser@apple.com>
2282
2283         Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
2284         https://bugs.webkit.org/show_bug.cgi?id=128416
2285
2286         Reviewed by Tim Horton.
2287         
2288         Encode and decode requestedScrollPosition() and requestedScrollPositionRepresentsProgrammaticScroll(),
2289         which can't use the macros because the setter takes both arguments.
2290         
2291         The UI process needs this to notice programmatic scrolls.
2292
2293         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
2294         (ArgumentCoder<ScrollingStateScrollingNode>::encode):
2295         (ArgumentCoder<ScrollingStateScrollingNode>::decode):
2296
2297 2014-02-07  Simon Fraser  <simon.fraser@apple.com>
2298
2299         Add typesafe casts for DrawingAreaProxy classes
2300         https://bugs.webkit.org/show_bug.cgi?id=128419
2301
2302         Reviewed by Andreas Kling.
2303         
2304         Add typesafe casts, and use one in RemoteScrollingCoordinatorProxy::layerTreeHost().
2305
2306         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2307         (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
2308         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2309         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2310         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2311         (WebKit::WebChromeClient::contentsSizeChanged):
2312         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2313
2314 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
2315
2316         More FTL build scaffolding
2317         https://bugs.webkit.org/show_bug.cgi?id=128330
2318
2319         Reviewed by Geoffrey Garen.
2320
2321         * Configurations/FeatureDefines.xcconfig:
2322
2323 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2324
2325         Move allowsBackForwardNavigationGestures back to private because apparently our build systems are broken.
2326
2327         * UIProcess/API/Cocoa/WKView.h:
2328         * UIProcess/API/Cocoa/WKViewPrivate.h:
2329         * UIProcess/API/mac/WKView.mm:
2330         (-[WKView setAllowsBackForwardNavigationGestures:]):
2331         (-[WKView allowsBackForwardNavigationGestures]):
2332
2333 2014-02-07  Anders Carlsson  <andersca@apple.com>
2334
2335         Simplify web page creation
2336         https://bugs.webkit.org/show_bug.cgi?id=128425
2337
2338         Reviewed by Andreas Kling.
2339
2340         Add a WebPageConfiguration class and stick the page group, preferences, session etc there
2341         instead of adding more and more parameters to the WebPageProxy constructor.
2342
2343         Make WebContext::createWebPage fill in the missing pieces in the WebPageConfiguration object.
2344
2345         * UIProcess/API/ios/WKContentView.mm:
2346         (-[WKContentView initWithFrame:configuration:]):
2347         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
2348         * UIProcess/API/mac/WKView.mm:
2349         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
2350         * UIProcess/WebContext.cpp:
2351         (WebKit::WebContext::createWebPage):
2352         * UIProcess/WebContext.h:
2353         * UIProcess/WebPageProxy.cpp:
2354         (WebKit::WebPageProxy::create):
2355         (WebKit::WebPageProxy::WebPageProxy):
2356         * UIProcess/WebPageProxy.h:
2357         * UIProcess/WebProcessProxy.cpp:
2358         (WebKit::WebProcessProxy::createWebPage):
2359         * UIProcess/WebProcessProxy.h:
2360
2361 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2362
2363         Build fix. Wrong section of the file.
2364
2365         * UIProcess/API/mac/WKView.mm:
2366         (-[WKView setAllowsBackForwardNavigationGestures:]):
2367         (-[WKView allowsBackForwardNavigationGestures]):
2368
2369 2014-02-07  Benjamin Poulain  <bpoulain@apple.com>
2370
2371         [WK2] The WebPageProxy's copy of pageScaleFactor is not update when the scale is changed from the viewport configuration
2372         https://bugs.webkit.org/show_bug.cgi?id=128415
2373
2374         Reviewed by Simon Fraser.
2375
2376         * WebProcess/WebPage/ios/WebPageIOS.mm:
2377         (WebKit::WebPage::viewportConfigurationChanged):
2378         The scale needs to be updated through WebPage::scalePage().
2379
2380 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2381
2382         WebKit2 View Gestures (Swipe): Support for iOS
2383         https://bugs.webkit.org/show_bug.cgi?id=128363
2384         <rdar://problem/15194194>
2385
2386         Reviewed by Anders Carlsson.
2387
2388         * Shared/mac/RemoteLayerTreeTransaction.h:
2389         (WebKit::RemoteLayerTreeTransaction::renderTreeSize):
2390         (WebKit::RemoteLayerTreeTransaction::setRenderTreeSize):
2391         * Shared/mac/RemoteLayerTreeTransaction.mm:
2392         (WebKit::RemoteLayerTreeTransaction::encode):
2393         (WebKit::RemoteLayerTreeTransaction::decode):
2394         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2395         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
2396         Send the render tree size along with remote layer tree commits,
2397         so that we can act upon it (to hide snapshots) in the UI process
2398         in sync with layer commits.
2399
2400         * UIProcess/API/Cocoa/WKViewPrivate.h:
2401         We want allowsBackForwardNavigationGestures for both platforms.
2402
2403         * UIProcess/API/ios/PageClientImplIOS.mm:
2404         (WebKit::PageClientImpl::takeViewSnapshot):
2405         * UIProcess/API/ios/WKContentView.h:
2406         * UIProcess/API/ios/WKContentView.mm:
2407         (-[WKContentView _takeViewSnapshot]):
2408         * UIProcess/API/ios/WKContentViewInternal.h:
2409         Plumb snapshotting through to WKViewIOS.
2410
2411         * UIProcess/API/ios/WKViewIOS.mm:
2412         (-[WKView setAllowsBackForwardNavigationGestures:]):
2413         (-[WKView allowsBackForwardNavigationGestures]):
2414         Create/destroy the gesture controller when we turn on/off back-forward swipe.
2415         Tell WebPageProxy to save snapshots if swipe is enabled.
2416
2417         (-[WKView contentView:didCommitLayerTree:]):
2418         Forward the current transaction's render tree size to ViewGestureController.
2419
2420         (-[WKView takeViewSnapshotForContentView:]):
2421         Snapshot the view. This is not the best SPI to use, we should consider
2422         using one of those which returns an IOSurface and plumbing it through
2423         to ViewSnapshotStore, but all of our PageClient abstraction makes that annoying.
2424
2425         * UIProcess/WebPageProxy.cpp:
2426         (WebKit::WebPageProxy::recordNavigationSnapshot):
2427         Record snapshots on iOS as well.
2428
2429         * UIProcess/ios/ViewGestureControllerIOS.mm: Added.
2430         (-[WKSwipeInteractiveTransitionDelegate initWithViewGestureController:WebKit::swipingView:]):
2431         (-[WKSwipeInteractiveTransitionDelegate WebKit::ViewGestureController::directionForTransition:]):
2432         (-[WKSwipeInteractiveTransitionDelegate startInteractiveTransition:]):
2433         (-[WKSwipeInteractiveTransitionDelegate shouldBeginInteractiveTransition:]):
2434         (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
2435         (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldReceiveTouch:]):
2436         (-[WKSwipeInteractiveTransitionDelegate gestureRecognizerForInteractiveTransition:WithTarget:action:]):
2437         (WebKit::ViewGestureController::ViewGestureController):
2438         (WebKit::ViewGestureController::~ViewGestureController):
2439         (WebKit::ViewGestureController::installSwipeHandler):
2440         (WebKit::ViewGestureController::beginSwipeGesture):
2441         (WebKit::ViewGestureController::canSwipeInDirection):
2442         (WebKit::ViewGestureController::endSwipeGesture):
2443         (WebKit::ViewGestureController::setRenderTreeSize):
2444         (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
2445         (WebKit::ViewGestureController::removeSwipeSnapshot):
2446
2447         * UIProcess/mac/ViewGestureController.h:
2448         Add iOS-specific methods, and don't include all of the Mac-specific code.
2449         We can move towards sharing more logic in the future.
2450
2451         * UIProcess/mac/ViewGestureController.messages.in:
2452         * UIProcess/mac/ViewGestureControllerMac.mm:
2453         (WebKit::ViewGestureController::ViewGestureController):
2454         * UIProcess/mac/ViewSnapshotStore.h:
2455         * UIProcess/mac/ViewSnapshotStore.mm:
2456         (WebKit::ViewSnapshotStore::recordSnapshot):
2457         (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
2458         Make ViewSnapshotStore build/work without IOSurface.
2459
2460         * WebKit2.xcodeproj/project.pbxproj:
2461
2462 2014-02-07  Anders Carlsson  <andersca@apple.com>
2463
2464         Implement more of WKPreferences
2465         https://bugs.webkit.org/show_bug.cgi?id=128411
2466
2467         Reviewed by Tim Horton.
2468
2469         Give WKPreferences an underlying WebKit::WebPreferences object, add a minimumFontSize preference
2470         and make sure that WKWebView's initializer creates a WKPreferences object if the configuration doesn't specify one.
2471
2472         * UIProcess/API/Cocoa/WKPreferences.h:
2473         * UIProcess/API/Cocoa/WKPreferences.mm:
2474         (-[WKPreferences init]):
2475         (-[WKPreferences minimumFontSize]):
2476         (-[WKPreferences setMinimumFontSize:]):
2477         * UIProcess/API/Cocoa/WKPreferencesInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm.
2478         * UIProcess/API/Cocoa/WKWebView.mm:
2479         (-[WKWebView initWithFrame:configuration:]):
2480         * UIProcess/WebPageProxy.h:
2481         * WebKit2.xcodeproj/project.pbxproj:
2482
2483 2014-02-07  Brady Eidson  <beidson@apple.com>
2484
2485         IDB: Some Mozilla cursor mutation tests fail
2486         <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374
2487
2488         Reviewed by Sam Weinig.
2489
2490         After a SQLite statement is prepared, stepping it will not pick up any subsequent changes
2491         to the object store.
2492
2493         By keeping track of the current record we’re looking at in the object store and being told
2494         that the object store changed its contents, we can reset the statement to pick up where it
2495         left off but with the new object store contents.
2496
2497         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2498         (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Tell the backing store to notify
2499           its cursors that the object store changed its records.
2500         (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.
2501
2502         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2503         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2504         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges): Tell the transaction
2505           to notify its cursors that the object store changed its records.
2506         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2507
2508         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
2509         (WebKit::SQLiteIDBTransaction::notifyCursorsOfChanges): Tell the relevant cursors that their
2510           object store changed its records.
2511         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
2512
2513         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2514         (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
2515         (WebKit::getIndexStatement): All statements now have a lower and upper range. By default we bind
2516           IDBKey::Minimum to the lower range and IDBKey::Maximum to the upper range.
2517         (WebKit::getObjectStoreStatement): Ditto.
2518         (WebKit::SQLiteIDBCursor::establishStatement):
2519         (WebKit::SQLiteIDBCursor::createSQLiteStatement):
2520         (WebKit::SQLiteIDBCursor::objectStoreRecordsChanged): Set the flag indicating the statement
2521           needs to be reset and rebound.
2522         (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
2523         (WebKit::SQLiteIDBCursor::bindArguments): Factored out to be shared between statement prepare()
2524           and statement reset().
2525         (WebKit::SQLiteIDBCursor::advance):
2526         (WebKit::SQLiteIDBCursor::advanceOnce): If the statement needs to be reset, do so before advancing it.
2527         (WebKit::SQLiteIDBCursor::internalAdvanceOnce): In a few cases, tell advanceOnce that it needs to
2528           try again because it is on a missing record or is repeating a record.
2529         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
2530         (WebKit::SQLiteIDBCursor::objectStoreID):
2531
2532         Make sure Maximum and Minimum keys are never sent across IPC, as that doesn’t make sense:
2533         * Shared/WebCoreArgumentCoders.cpp:
2534         (IPC::ArgumentCoder<IDBKeyData>::encode):
2535         (IPC::ArgumentCoder<IDBKeyData>::decode):
2536
2537 2014-02-07  Anders Carlsson  <andersca@apple.com>
2538
2539         Make it possible for each web page to have different preferences
2540         https://bugs.webkit.org/show_bug.cgi?id=128403
2541
2542         Reviewed by Tim Horton.
2543
2544         * UIProcess/API/C/WKPreferences.cpp:
2545         (WKPreferencesCreate):
2546         * UIProcess/WebContext.cpp:
2547         (WebKit::WebContext::ensureNetworkProcess):
2548         (WebKit::WebContext::createNewWebProcess):
2549         * UIProcess/WebIconDatabase.cpp:
2550         (WebKit::WebIconDatabase::setDatabasePath):
2551         * UIProcess/WebPageGroup.cpp:
2552         (WebKit::WebPageGroup::WebPageGroup):
2553         (WebKit::WebPageGroup::~WebPageGroup):
2554         (WebKit::WebPageGroup::setPreferences):
2555         * UIProcess/WebPageProxy.cpp:
2556         (WebKit::WebPageProxy::WebPageProxy):
2557         (WebKit::WebPageProxy::~WebPageProxy):
2558         (WebKit::WebPageProxy::setPreferences):
2559         (WebKit::WebPageProxy::preferencesDidChange):
2560         * UIProcess/WebPageProxy.h:
2561         * UIProcess/WebPreferences.cpp:
2562         (WebKit::WebPreferences::~WebPreferences):
2563         (WebKit::WebPreferences::addPage):
2564         (WebKit::WebPreferences::removePage):
2565         (WebKit::WebPreferences::update):
2566         (WebKit::WebPreferences::updatePrivateBrowsingValue):
2567         (WebKit::WebPreferences::anyPagesAreUsingPrivateBrowsing):
2568         * UIProcess/WebPreferences.h:
2569
2570 2014-02-07  Benjamin Poulain  <bpoulain@apple.com>
2571
2572         [WK2] Add support for text document viewport configuration
2573         https://bugs.webkit.org/show_bug.cgi?id=128359
2574
2575         Reviewed by Simon Fraser.
2576
2577         When a text document is being loaded, use the plainText viewport parameters.
2578
2579         * UIProcess/API/ios/WKContentView.h:
2580         * UIProcess/API/ios/WKContentView.mm:
2581         * WebProcess/WebPage/WebPage.cpp:
2582         (WebKit::WebPage::didCommitLoad):
2583
2584 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2585
2586         Should report user input to PageThrottler
2587         https://bugs.webkit.org/show_bug.cgi?id=128398
2588
2589         Reviewed by Tim Horton.
2590
2591         Make sure we wake from AppNap if there is user interaction.
2592
2593         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2594         (WebKit::NPRuntimeObjectMap::evaluate):
2595             - reportInterestingEvent() -> pluginDidEvaluate()
2596         * WebProcess/WebPage/WebPage.cpp:
2597         (WebKit::WebPage::mouseEvent):
2598         (WebKit::WebPage::wheelEvent):
2599         (WebKit::WebPage::keyEvent):
2600             - call didReceiveUserInput()
2601
2602 2014-02-07  Dean Jackson  <dino@apple.com>
2603
2604         WebGL doesn't update with remotely hosted layers
2605         https://bugs.webkit.org/show_bug.cgi?id=128390
2606
2607         Reviewed by Simon Fraser.
2608
2609         PlatformCALayerRemote was intercepting the setNeedsDisplay calls to
2610         WebGL layers, and thus causing them to not draw. Fix this by adding an
2611         override in PlatformCALayerRemoteCustom to check if it is a WebGLLayer
2612         and call setNeedsDisplay directly.
2613
2614         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
2615         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
2616         (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
2617         (PlatformCALayerRemoteCustom::setNeedsDisplay):
2618
2619 2014-02-07  Benjamin Poulain  <bpoulain@apple.com>
2620
2621         [WK2] Fitler touch events only based on touch start
2622         https://bugs.webkit.org/show_bug.cgi?id=128354
2623
2624         Reviewed by Simon Fraser.
2625
2626         Touch Events track their target, we should not test the touch regions
2627         again after a touch sequence starts.
2628
2629         This patch adds a boolean flag to know if we are sending events to the WebProcess
2630         (m_isTrackingTouchEvents). The flag is updated every time a touch sequence starts.
2631
2632         * UIProcess/WebPageProxy.cpp:
2633         (WebKit::WebPageProxy::WebPageProxy):
2634         (WebKit::WebPageProxy::shouldStartTrackingTouchEvents):
2635         (WebKit::WebPageProxy::handleTouchEvent):
2636         * UIProcess/WebPageProxy.h:
2637
2638 2014-02-07  Anders Carlsson  <andersca@apple.com>
2639
2640         Simplify WebPreferences creation inside WebPageGroup
2641         https://bugs.webkit.org/show_bug.cgi?id=128392
2642
2643         Reviewed by Andreas Kling.
2644
2645         Always create a WebPreferences object when creating the web page group.
2646         This is another step towards letting WebPageProxy manage web preferences.
2647
2648         * UIProcess/WebPageGroup.cpp:
2649         (WebKit::pageGroupData):
2650         (WebKit::WebPageGroup::WebPageGroup):
2651         (WebKit::WebPageGroup::~WebPageGroup):
2652         (WebKit::WebPageGroup::setPreferences):
2653         (WebKit::WebPageGroup::preferences):
2654         * UIProcess/WebPageGroup.h:
2655
2656 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
2657
2658         Reenable AppNap
2659         https://bugs.webkit.org/show_bug.cgi?id=128394
2660
2661         Reviewed by Tim Horton.
2662
2663         * Shared/WebPreferencesStore.h:
2664             - pageVisibilityBasedProcessSuppressionEnabled should default to true.
2665
2666 2014-02-07  Tim Horton  <timothy_horton@apple.com>
2667
2668         Rename ViewGestureController.mm to ViewGestureControllerMac.mm
2669         https://bugs.webkit.org/show_bug.cgi?id=128387
2670
2671         Reviewed by Anders Carlsson.
2672
2673         As a precursor to having a second nearly completely divergent
2674         ViewGestureController implementation for iOS.
2675
2676         * UIProcess/mac/ViewGestureControllerMac.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.mm.
2677         * WebKit2.xcodeproj/project.pbxproj:
2678         Rename ViewGestureController.mm to ViewGestureControllerMac.mm.
2679         Unfortunately, since we're not renaming the class, the header
2680         has to keep its name (and will be the recipient of a giant #if in a later
2681         patch), because the message receiver generated code will try to import
2682         ViewGestureController.h (without the Mac suffix).
2683
2684 2014-02-07  Anders Carlsson  <andersca@apple.com>
2685
2686         Copying a WebPreferences object should be done through a member function
2687         https://bugs.webkit.org/show_bug.cgi?id=128385
2688
2689         Reviewed by Andreas Kling.
2690
2691         * UIProcess/API/C/WKPreferences.cpp:
2692         (WKPreferencesCreateCopy):
2693         * UIProcess/WebPreferences.cpp:
2694         (WebKit::WebPreferences::copy):
2695         * UIProcess/WebPreferences.h:
2696
2697 2014-02-07  Anders Carlsson  <andersca@apple.com>
2698
2699         WebPageGroup::setPreferences should set the preferences on all pages in the group
2700         https://bugs.webkit.org/show_bug.cgi?id=128383
2701
2702         Reviewed by Alexey Proskuryakov.
2703
2704         * UIProcess/WebPageGroup.cpp:
2705         (WebKit::WebPageGroup::setPreferences):
2706
2707 2014-02-07  Dan Bernstein  <mitz@apple.com>
2708
2709         [Cocoa] WKRemoteObjectInterface doesn’t support aribtrary argument classes
2710         https://bugs.webkit.org/show_bug.cgi?id=128368
2711
2712         Reviewed by Anders Carlsson.
2713
2714         * Shared/API/Cocoa/WKRemoteObjectInterface.h: Declared new methods.
2715         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
2716         (propertyListClasses): Removed NSNull, which is not really a property list class.
2717         (classesForSelectorArgument): Added helper function.
2718         (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Added.
2719         (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Added.
2720
2721 2014-02-07  Dan Bernstein  <mitz@apple.com>
2722
2723         [Cocoa] API::FrameHandle has a generic wrapper
2724         https://bugs.webkit.org/show_bug.cgi?id=128366
2725
2726         Reviewed by Anders Carlsson.
2727
2728         Added WKFrameHandle.
2729
2730         * Shared/API/Cocoa/WKFrameHandle.h: Added.
2731         * Shared/API/Cocoa/WKFrameHandle.mm: Added.
2732         (-[WKFrameHandle dealloc]): Calls the API::FrameHandle destructor.
2733         (-[WKFrameHandle isEqual:]): Checks for frame ID equality.
2734         (-[WKFrameHandle hash]): Returns the frame ID.
2735         (-[WKFrameHandle _frameID]): Ditto.
2736         (-[WKFrameHandle copyWithZone:]): Retains self.
2737         (+[WKFrameHandle supportsSecureCoding]): Returns YES.
2738         (-[WKFrameHandle initWithCoder:]): Decodes the frame ID and constructs an API::FrameHandle
2739         with it.
2740         (-[WKFrameHandle encodeWithCoder:]): Encodes the frame ID.
2741         (-[WKFrameHandle _apiObject]): Returns the wrapped API::FrameHandle.
2742         * Shared/API/Cocoa/WKFrameHandleInternal.h: Added.
2743         (WebKit::wrapper): Added. Returns an API::FrameHandle’s wrapper as a WKFrameHandle.
2744
2745         * Shared/APIFrameHandle.cpp:
2746         (API::FrameHandle::create): Changed to return a PassRefPtr.
2747         * Shared/APIFrameHandle.h: Made the constructor public for -[WKFrameHandle initWithCoder:].
2748
2749         * Shared/Cocoa/APIObject.mm:
2750         (API::Object::newObject): Allocate a WKFrameHandle if the object is an API::FrameHandle.
2751
2752         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
2753
2754         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared handle property.
2755         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
2756         (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Added. Calls WebProcess::webFrame to
2757         look up a frame with the given handle’s frame ID.
2758         (-[WKWebProcessPlugInFrame handle]): Added. Returns a new handle with the frame’s ID.
2759         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Updated #import.
2760         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Added.
2761
2762 2014-02-07  Dan Bernstein  <mitz@apple.com>
2763
2764         [Cocoa] WKWebProcessPlugInNodeHandle methods leak and may crash
2765         https://bugs.webkit.org/show_bug.cgi?id=128365
2766
2767         Reviewed by Anders Carlsson.
2768
2769         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2770         (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Null-check the result
2771         of InjectedBundleNodeHandle::getOrCreate, and autorelease the return value.
2772         (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Null-check the result of
2773         InjectedBundleNodeHandle::htmlIFrameElementContentFrame, and autorelease the return value.
2774
2775 2014-02-06  Brady Eidson  <beidson@apple.com>
2776
2777         IDB: storage/indexeddb/create-index-with-integer-keys.html fails
2778         <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316
2779
2780         Reviewed by Geoff Garen.
2781
2782         Update Vector<char> to Vector<uint8_t> throughout:
2783         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2784         (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
2785         (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
2786         (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
2787         (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
2788         (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
2789         (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
2790         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2791
2792         Update Vector<char> to Vector<uint8_t> throughout:
2793         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2794         (WebKit::SQLiteIDBCursor::advanceOnce):
2795         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
2796         (WebKit::SQLiteIDBCursor::currentValueBuffer):
2797
2798         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2799         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2800         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): Create a script value from the value data, use
2801           generateIndexKeysForValue to get the index keys, and then write the resulting index records.
2802         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Call through to uncheckedPutIndexRecord.
2803         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Version of putIndexRecord that doesn’t
2804           validate the transaction or its mode.
2805         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Update Vector<char> to Vector<uint8_t>.
2806         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Ditto.
2807         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
2808         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2809
2810 2014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>
2811
2812         [EFL][WK2] WebView should be able to configure to set fixed layout
2813         https://bugs.webkit.org/show_bug.cgi?id=128300
2814
2815         Reviewed by Gyuyoung Kim.
2816
2817         Currently, webview is created by setting fixed layout as true and there is no way to change the setting.
2818         But some applications may do not want to use fixed layout so I'd like to add ewk APIs to configure to it.
2819
2820         * UIProcess/API/efl/ewk_view.cpp:
2821         (EWKViewCreate): Do not set to use fixed layout as default.
2822         (ewk_view_layout_fixed_set):
2823         (ewk_view_layout_fixed_get):
2824         * UIProcess/API/efl/ewk_view.h: Add ewk APIs to set fixed layout.
2825         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2826         (TEST_F):
2827
2828 2014-02-06  Brady Eidson  <beidson@apple.com>
2829
2830         Unreviewed build fix after r163612.
2831
2832         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2833
2834 2014-02-06  Brady Eidson  <beidson@apple.com>
2835
2836         IDB: Remove the entirely unnecessary "Value Key" concept
2837         https://bugs.webkit.org/show_bug.cgi?id=128360
2838
2839         Reviewed by Dan Bernstein.
2840
2841         All cursor operations were set up to pass a value key parameter around, but it was:
2842         1 - Entirely unused
2843         2 - The same thing that the primary key is supposed to be
2844
2845         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2846         (WebKit::DatabaseProcessIDBConnection::openCursor):
2847         (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
2848         (WebKit::DatabaseProcessIDBConnection::cursorIterate):
2849
2850         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2851         (WebKit::UniqueIDBDatabase::openCursor):
2852         (WebKit::UniqueIDBDatabase::cursorAdvance):
2853         (WebKit::UniqueIDBDatabase::cursorIterate):
2854         (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
2855         (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
2856         (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
2857         (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
2858         (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
2859         (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
2860         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2861
2862         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2863         (WebKit::SQLiteIDBCursor::advanceOnce): Clean this logic up to not need temporaries,
2864           and also to save the correct primary key (previously the 'value key')
2865         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
2866
2867         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2868         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2869         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
2870         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
2871         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
2872         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
2873         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2874
2875         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2876         (WebKit::WebIDBServerConnection::didOpenCursor):
2877         (WebKit::WebIDBServerConnection::didAdvanceCursor):
2878         (WebKit::WebIDBServerConnection::didIterateCursor):
2879         (WebKit::WebIDBServerConnection::openCursor):
2880         (WebKit::WebIDBServerConnection::cursorAdvance):
2881         (WebKit::WebIDBServerConnection::cursorIterate):
2882         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2883         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2884
2885 2014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>
2886
2887         Unreviewed build fix on GTK build since r163597
2888
2889         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2890         (webkitWebViewBaseUpdatePreferences):
2891
2892 2014-02-06  Yongjun Zhang  <yongjun_zhang@apple.com>
2893
2894         Need a ObjC SPI to get the process identifier for web process.
2895         https://bugs.webkit.org/show_bug.cgi?id=128356
2896
2897         Reviewed by Dan Bernstein.
2898
2899         Add a SPI for WKBrowsingContextController to return the process identifier of web
2900         process in the current page.
2901
2902         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2903         (-[WKBrowsingContextController processIdentifier]):
2904         * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
2905
2906 2014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>
2907
2908         Unreviewed build fix on EFL build since r163597
2909
2910         preferences() changed return type from pointer to reference.
2911
2912         * UIProcess/API/efl/ewk_settings.cpp:
2913         (EwkSettings::preferences):
2914         (ewk_settings_fullscreen_enabled_set):
2915         (ewk_settings_fullscreen_enabled_get):
2916         (ewk_settings_javascript_enabled_set):
2917         (ewk_settings_javascript_enabled_get):
2918         (ewk_settings_loads_images_automatically_set):
2919         (ewk_settings_loads_images_automatically_get):
2920         (ewk_settings_developer_extras_enabled_set):
2921         (ewk_settings_developer_extras_enabled_get):
2922         (ewk_settings_file_access_from_file_urls_allowed_set):
2923         (ewk_settings_file_access_from_file_urls_allowed_get):
2924         (ewk_settings_frame_flattening_enabled_set):
2925         (ewk_settings_frame_flattening_enabled_get):
2926         (ewk_settings_dns_prefetching_enabled_set):
2927         (ewk_settings_dns_prefetching_enabled_get):
2928         (ewk_settings_encoding_detector_enabled_set):
2929         (ewk_settings_encoding_detector_enabled_get):
2930         (ewk_settings_preferred_minimum_contents_width_set):
2931         (ewk_settings_preferred_minimum_contents_width_get):
2932         (ewk_settings_offline_web_application_cache_enabled_set):
2933         (ewk_settings_offline_web_application_cache_enabled_get):
2934         (ewk_settings_scripts_can_open_windows_set):
2935         (ewk_settings_scripts_can_open_windows_get):
2936         (ewk_settings_local_storage_enabled_set):
2937         (ewk_settings_local_storage_enabled_get):
2938         (ewk_settings_plugins_enabled_set):
2939         (ewk_settings_plugins_enabled_get):
2940         (ewk_settings_default_font_size_set):
2941         (ewk_settings_default_font_size_get):
2942         (ewk_settings_private_browsing_enabled_set):
2943         (ewk_settings_private_browsing_enabled_get):
2944         (ewk_settings_text_autosizing_enabled_set):
2945         (ewk_settings_text_autosizing_enabled_get):
2946         (ewk_settings_spatial_navigation_enabled_set):
2947         (ewk_settings_spatial_navigation_enabled_get):
2948         (EwkSettings::setDefaultTextEncodingName):
2949         * UIProcess/API/efl/ewk_settings_private.h:
2950         (EwkSettings::EwkSettings):
2951         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
2952         (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
2953         * UIProcess/CoordinatedGraphics/WebView.cpp:
2954         (WebKit::WebView::WebView):
2955         * UIProcess/WebPageProxy.cpp:
2956         (WebKit::WebPageProxy::initializeWebPage):
2957         (WebKit::WebPageProxy::preferencesDidChange):
2958
2959 2014-02-06  Anders Carlsson  <andersca@apple.com>
2960
2961         Crash in MiniBrowser when using Command-W to close a WK2 window
2962         https://bugs.webkit.org/show_bug.cgi?id=128355
2963         <rdar://problem/16008531>
2964
2965         Reviewed by Simon Fraser.
2966
2967         Don't set the API clients to nullptr when closing the page, just create new empty ones instead.
2968         Too much code depends on the clients never being null.
2969
2970         * UIProcess/WebPageProxy.cpp:
2971         (WebKit::WebPageProxy::close):
2972
2973 2014-02-03  Tim Horton  <timothy_horton@apple.com>
2974
2975         [wk2] iOS should use accelerated drawing by default, except in the simulator
2976         https://bugs.webkit.org/show_bug.cgi?id=128140
2977         <rdar://problem/15974171>
2978
2979         Reviewed by Anders Carlsson.
2980
2981         * Shared/WebPreferencesStore.h:
2982         Turn full-page accelerated drawing on for iOS, except the simulator which doesn't support it.
2983         Turn canvas accelerated drawing on for all platforms except the iOS simulator, for the same reason.
2984         The defaults remain the same for non-iOS platforms.
2985
2986 2014-02-06  Jeremy Jones  <jeremyj@apple.com>
2987
2988         Add support for AVKit fullscreen to WebKit2
2989         https://bugs.webkit.org/show_bug.cgi?id=128143
2990
2991         Reviewed by Simon Fraser.
2992
2993         Add WebVideoFullscreenManager and WebVideoFullscreenManagerProxy that implement 
2994         WebVideoFullscreenModel and WebVideoFullscreenInterface.
2995
2996         * DerivedSources.make:
2997         * UIProcess/WebPageProxy.cpp:
2998         (WebKit::WebPageProxy::WebPageProxy):
2999             initialize member m_videoFullscreenManager
3000     
3001         (WebKit::WebPageProxy::videoFullscreenManager):
3002             add accessor for videoFullscreenManager
3003
3004         * UIProcess/WebPageProxy.h:
3005         * UIProcess/WebVideoFullscreenManagerProxy.cpp: Added.
3006         (WebKit::WebVideoFullscreenManagerProxy::create):
3007         (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
3008         (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
3009             add basic creation for object.
3010
3011         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
3012         (WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen):
3013         (WebKit::WebVideoFullscreenManagerProxy::play):
3014         (WebKit::WebVideoFullscreenManagerProxy::pause):
3015         (WebKit::WebVideoFullscreenManagerProxy::togglePlayState):
3016         (WebKit::WebVideoFullscreenManagerProxy::seekToTime):
3017         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
3018             implement WebVideoFullscreenModel to send IPC message.
3019
3020         * UIProcess/WebVideoFullscreenManagerProxy.h: Added.
3021         * UIProcess/WebVideoFullscreenManagerProxy.messages.in: Added.
3022             this interface closely matches WebVideoFullscreenInterface
3023
3024         * WebKit2.xcodeproj/project.pbxproj:
3025         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3026         (WebKit::WebChromeClient::supportsFullscreenForNode):
3027         (WebKit::WebChromeClient::enterFullscreenForNode):
3028         (WebKit::WebChromeClient::exitFullscreenForNode):
3029             Forward these requests onto the videoFullscreenManager
3030
3031         * WebProcess/WebCoreSupport/WebChromeClient.h:
3032         * WebProcess/WebPage/WebPage.cpp:
3033         (WebKit::WebPage::videoFullscreenManager):
3034             accessor for m_videoFullscreenManager
3035
3036         * WebProcess/WebPage/WebPage.h:
3037         * WebProcess/WebVideoFullscreenManager.cpp: Added.
3038         (WebKit::WebVideoFullscreenManager::create):
3039         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
3040         (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
3041             add basic creation for object.
3042
3043         (WebKit::WebVideoFullscreenManager::supportsFullscreen):
3044         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
3045         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
3046             implement interface called by WebChromeClient
3047
3048         (WebKit::WebVideoFullscreenManager::setDuration):
3049         (WebKit::WebVideoFullscreenManager::setCurrentTime):
3050         (WebKit::WebVideoFullscreenManager::setRate):
3051         (WebKit::WebVideoFullscreenManager::setVideoDimensions):
3052         (WebKit::WebVideoFullscreenManager::setVideoLayer):
3053         (WebKit::WebVideoFullscreenManager::setVideoLayerID):
3054         (WebKit::WebVideoFullscreenManager::enterFullscreen):
3055         (WebKit::WebVideoFullscreenManager::exitFullscreen):
3056             implement WebVideoFullscreenInterface to send IPC message.
3057
3058         * WebProcess/WebVideoFullscreenManager.h: Added.
3059         * WebProcess/WebVideoFullscreenManager.messages.in: Added.
3060             this interface closely matches WebVideoFullscreenModel
3061
3062 2014-02-06  Anders Carlsson  <andersca@apple.com>
3063
3064         Begin work on making preferences per page instead of per page group
3065         https://bugs.webkit.org/show_bug.cgi?id=128349
3066
3067         Reviewed by Andreas Kling.
3068
3069         * UIProcess/API/C/WKPageGroup.cpp:
3070         (WKPageGroupGetPreferences):
3071         * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
3072         (WKPageIsURLKnownHSTSHost):
3073         * UIProcess/API/mac/WKView.mm:
3074         (-[WKView _preferencesDidChange]):
3075         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3076         * UIProcess/WebContext.cpp:
3077         (WebKit::WebContext::createWebPage):
3078         * UIProcess/WebInspectorProxy.cpp:
3079         (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
3080         (WebKit::WebInspectorProxy::attach):
3081         (WebKit::WebInspectorProxy::detach):
3082         (WebKit::WebInspectorProxy::setAttachedWindowHeight):
3083         (WebKit::WebInspectorProxy::setAttachedWindowWidth):
3084         (WebKit::WebInspectorProxy::createInspectorPage):
3085         (WebKit::WebInspectorProxy::shouldOpenAttached):
3086         * UIProcess/WebPageGroup.cpp:
3087         (WebKit::WebPageGroup::preferences):
3088         * UIProcess/WebPageGroup.h:
3089         * UIProcess/WebPageProxy.cpp:
3090         (WebKit::WebPageProxy::create):
3091         (WebKit::WebPageProxy::WebPageProxy):
3092         (WebKit::WebPageProxy::isProcessSuppressible):
3093         (WebKit::WebPageProxy::canShowMIMEType):
3094         (WebKit::WebPageProxy::preferencesDidChange):
3095         (WebKit::WebPageProxy::creationParameters):
3096         * UIProcess/WebPageProxy.h:
3097         (WebKit::WebPageProxy::preferences):
3098         (WebKit::WebPageProxy::setPreferences):
3099         * UIProcess/WebProcessProxy.cpp:
3100         (WebKit::WebProcessProxy::createWebPage):
3101         * UIProcess/mac/ViewGestureController.mm:
3102         (WebKit::ViewGestureController::beginSwipeGesture):
3103         * UIProcess/mac/WebInspectorProxyMac.mm:
3104         (WebKit::WebInspectorProxy::createInspectorWindow):
3105         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3106         (WebKit::WebInspectorProxy::windowFrameDidChange):
3107         (WebKit::WebInspectorProxy::platformAttach):
3108
3109 2014-02-06  Gavin Barraclough  <barraclough@apple.com>
3110
3111         Remove ChildProcess::m_activeTasks
3112         https://bugs.webkit.org/show_bug.cgi?id=128342
3113
3114         Reviewed by Anders Carlson.
3115
3116         Currently we funnel a number of different user activities
3117         to a single UserActivity object, which requires a call down
3118         from WebCore to WebKit2. Split these out so we can track
3119         them separately.
3120
3121         * PluginProcess/PluginProcess.cpp:
3122         (WebKit::PluginProcess::PluginProcess):
3123             - added m_connectionActivity.
3124         * PluginProcess/PluginProcess.h:
3125         (WebKit::PluginProcess::connectionActivity):
3126             - added m_connectionActivity.
3127         * PluginProcess/WebProcessConnection.cpp:
3128         (WebKit::WebProcessConnection::didReceiveSyncMessage):
3129         (WebKit::WebProcessConnection::destroyPlugin):
3130         (WebKit::WebProcessConnection::createPlugin):
3131             - use connectionActivity
3132         * PluginProcess/mac/PluginProcessMac.mm:
3133         (WebKit::PluginProcess::platformInitializeProcess):
3134             - use a separate UserActivity for Java.
3135         * Shared/ActivityAssertion.cpp:
3136         (WebKit::ActivityAssertion::ActivityAssertion):
3137         (WebKit::ActivityAssertion::~ActivityAssertion):
3138         * Shared/ActivityAssertion.h:
3139             - ChildProcess -> UserActivity
3140         * Shared/ChildProcess.cpp:
3141         (WebKit::ChildProcess::ChildProcess):
3142         * Shared/ChildProcess.h:
3143             - remove m_activeTasks.
3144         (WebKit::ChildProcess::processSuppressionEnabled):
3145         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3146         * WebProcess/WebCoreSupport/WebChromeClient.h:
3147             - removed [inc|dec]rementActivePageCount
3148
3149 2014-02-06  Pratik Solanki  <psolanki@apple.com>
3150
3151         [iOS] WebKit2 can't access the GPU
3152         https://bugs.webkit.org/show_bug.cgi?id=128345
3153         <rdar://problem/15976084>
3154
3155         Reviewed by Tim Horton.
3156
3157         Add an entitlement to allow web process to access GPU.
3158
3159         * Configurations/WebContent-iOS.entitlements: Added.
3160         * Configurations/WebContentService.Development.xcconfig:
3161         * Configurations/WebContentService.xcconfig:
3162
3163 2014-02-06  Pratik Solanki  <psolanki@apple.com>
3164
3165         [iOS][WebKit2] Remove JoinExistingSession from plist
3166         https://bugs.webkit.org/show_bug.cgi?id=128318
3167         <rdar://problem/15971612>
3168
3169         Reviewed by Tim Horton.
3170
3171         Remove JoinExistingSession key that is not available on iOS.
3172
3173         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
3174         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
3175         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
3176         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
3177
3178 2014-02-06  Anders Carlsson  <andersca@apple.com>
3179
3180         Fix build.
3181
3182         * UIProcess/API/Cocoa/WKWebView.mm:
3183         (-[WKWebView _remoteObjectRegistry]):
3184
3185 2014-02-06  Benjamin Poulain  <bpoulain@apple.com>
3186
3187         Fix the setter definition from r163514.
3188
3189         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3190
3191 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
3192
3193         [iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
3194         https://bugs.webkit.org/show_bug.cgi?id=128328
3195
3196         Reviewed by Dan Bernstein.
3197
3198         * UIProcess/API/ios/WKContentView.mm:
3199         (-[WKContentView initWithFrame:configuration:]):
3200         (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
3201
3202 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
3203
3204         [iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
3205         https://bugs.webkit.org/show_bug.cgi?id=128338
3206
3207         Reviewed by Sam Weinig.
3208
3209         * WebProcess/ios/WebProcessIOS.mm:
3210         (WebKit::WebProcess::platformInitializeWebProcess):
3211
3212 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
3213
3214         Web Inspector: Add Console support to JSContext Inspection
3215         https://bugs.webkit.org/show_bug.cgi?id=127941
3216
3217         Reviewed by Geoffrey Garen.
3218
3219         * WebProcess/WebCoreSupport/WebChromeClient.h:
3220
3221 2014-02-06  Anders Carlsson  <andersca@apple.com>
3222
3223         Add preferences property to WKWebViewConfiguration
3224         https://bugs.webkit.org/show_bug.cgi?id=128337
3225
3226         Reviewed by Sam Weinig.
3227
3228         Also use RetainPtr for processClass and preferences so we won't leak them.
3229
3230         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
3231         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3232         (-[WKWebViewConfiguration copyWithZone:]):
3233         (-[WKWebViewConfiguration processClass]):
3234         (-[WKWebViewConfiguration setProcessClass:]):
3235         (-[WKWebViewConfiguration preferences]):
3236         (-[WKWebViewConfiguration setPreferences:]):
3237
3238 2014-02-06  Anders Carlsson  <andersca@apple.com>
3239
3240         Add a remoteObjectRegistry property to WKWebView
3241         https://bugs.webkit.org/show_bug.cgi?id=128331
3242
3243         Reviewed by Tim Horton.
3244
3245         * UIProcess/API/Cocoa/WKWebView.mm:
3246         (-[WKWebView resizeSubviewsWithOldSize:]):
3247         (-[WKWebView _remoteObjectRegistry]):
3248         * UIProcess/API/Cocoa/WKWebViewInternal.h:
3249         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3250
3251 2014-02-06  Anders Carlsson  <andersca@apple.com>
3252
3253         Add WKNavigationResponse class
3254         https://bugs.webkit.org/show_bug.cgi?id=128326
3255
3256         Reviewed by Dan Bernstein.
3257
3258         * UIProcess/API/Cocoa/WKFrameInfo.mm:
3259         (-[WKFrameInfo initWithWebFrameProxy:WebKit::]):
3260         * UIProcess/API/Cocoa/WKFrameInfoInternal.h:
3261         * UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
3262         * UIProcess/API/Cocoa/WKNavigationResponse.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
3263         (-[WKNavigationResponse frame]):
3264         (-[WKNavigationResponse setFrame:]):
3265         (-[WKNavigationResponse response]):
3266         (-[WKNavigationResponse setResponse:]):
3267         * UIProcess/API/Cocoa/WKNavigationResponseInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
3268         * UIProcess/Cocoa/NavigationState.mm:
3269         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
3270         (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
3271         * WebKit2.xcodeproj/project.pbxproj:
3272
3273 2014-02-06  Anders Carlsson  <andersca@apple.com>
3274
3275         Replace ’ with ' to silence the check-for-webkit-framework-include-consistency script.
3276
3277         * UIProcess/API/Cocoa/WKWebView.h:
3278
3279 2014-02-06  Anders Carlsson  <andersca@apple.com>
3280
3281         Add backForwardList property to WKWebView
3282         https://bugs.webkit.org/show_bug.cgi?id=128320
3283
3284         Reviewed by Tim Horton.
3285
3286         * UIProcess/API/Cocoa/WKWebView.h:
3287         * UIProcess/API/Cocoa/WKWebView.mm:
3288         (-[WKWebView backForwardList]):
3289
3290 2014-02-06  Anders Carlsson  <andersca@apple.com>
3291
3292         The source frame request is not the same thing as the original request
3293         https://bugs.webkit.org/show_bug.cgi?id=128317
3294
3295         Reviewed by Andreas Kling.
3296
3297         Grab the source frame URL From the WebFrameProxy object.
3298
3299         * UIProcess/Cocoa/NavigationState.mm:
3300         (WebKit::frameInfoFromWebFrameProxy):
3301         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
3302
3303 2014-02-06  Brady Eidson  <beidson@apple.com>
3304
3305         IDB: storage/indexeddb/mozilla/clear.html fails
3306         <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282
3307
3308         Reviewed by David Kilzer.
3309
3310         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
3311         (WebKit::DatabaseProcessIDBConnection::openTransaction): Update logging.
3312
3313         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
3314         (WebKit::SQLiteIDBTransaction::commit): Update ASSERT.
3315
3316 2014-02-06  Csaba Osztrogonác  <ossy@webkit.org>
3317
3318         Fix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms
3319         https://bugs.webkit.org/show_bug.cgi?id=128299
3320
3321         Reviewed by Antti Koivisto.
3322
3323         * UIProcess/WebPageProxy.cpp:
3324         (WebKit::WebPageProxy::handleTouchEvent):
3325
3326 2014-02-05  Gavin Barraclough  <barraclough@apple.com>
3327
3328         Change Page, FocusController to use ViewState
3329         https://bugs.webkit.org/show_bug.cgi?id=126533
3330
3331         Reviewed by Tim Horton.
3332
3333         These classes currently maintain a set of separate fields to represent the view state;
3334         combine these into a single field, and allow WebPage to send the combined update rather
3335         than individual changes.
3336
3337         Maintain existing interface for WebKit1 clients.
3338
3339         * WebProcess/WebPage/WebPage.cpp:
3340         (WebKit::WebPage::WebPage):
3341             - Combined separate calls to Page::setViewState.
3342         (WebKit::WebPage::updateIsInWindow):
3343             - Simplied from setIsInWindow.
3344         (WebKit::WebPage::setViewState):
3345             - Combined separate calls to Page::setViewState.
3346         * WebProcess/WebPage/WebPage.h:
3347             - Declare updateIsInWindow.
3348
3349 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
3350
3351         Unreviewed GTK build fix after r163480.
3352
3353         * GNUmakefile.list.am: Removing the WebUIClient build targets.
3354
3355 2014-02-05  Simon Fraser  <simon.fraser@apple.com>
3356
3357         Transfer the non-fast-scrollable region to the UI process for iOS
3358         https://bugs.webkit.org/show_bug.cgi?id=128293
3359
3360         Reviewed by Benjamin Poulain.
3361
3362         Two main changes to support sending the non-fast scrollable region
3363         to the UI process for iOS:
3364         
3365         1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
3366         which is called when we've updated the touch event region (this can happen
3367         independenly of layout). When called we just scheduled a scrolling tree
3368         commit with the new region.
3369         
3370         2. Avoid thinking that we have a new root node with every remote scrolling
3371         transaction. This was a side-effect of reconstructing the scrolling state
3372         tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
3373         from a node which never had one set.
3374         
3375         Now that we have the non-fast scrollable region in the UI process, we can
3376         use it to avoid sending sync messages to the web process.
3377         
3378         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3379         (ArgumentCoder<ScrollingStateScrollingNode>::encode): Encode hasNewRootNode.
3380         (ArgumentCoder<ScrollingStateScrollingNode>::decode): Decode hasNewRootNode and set it on
3381         the state tree.
3382         (WebKit::RemoteScrollingCoordinatorTransaction::encode): Encode the nonFastScrollableRegion
3383         now that we can encode Regions.
3384         (WebKit::RemoteScrollingCoordinatorTransaction::decode): Decode the nonFastScrollableRegion
3385         now that we can decode Regions.
3386         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3387         (WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
3388         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
3389         * UIProcess/WebPageProxy.cpp:
3390         (WebKit::WebPageProxy::handleTouchEvent): If we're not in the non-fast scrollable region,
3391         don't both sending touch events to the web process.
3392
3393 2014-02-05  Benjamin Poulain  <benjamin@webkit.org>
3394
3395         [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
3396         https://bugs.webkit.org/show_bug.cgi?id=127886
3397
3398         Reviewed by Simon Fraser.
3399
3400         * Shared/mac/RemoteLayerTreeTransaction.h:
3401         (WebKit::RemoteLayerTreeTransaction::mainFrameContentsSize):
3402         (WebKit::RemoteLayerTreeTransaction::setMainFrameContentsSize):
3403         (WebKit::RemoteLayerTreeTransaction::pageScaleFactor):
3404         (WebKit::RemoteLayerTreeTransaction::setPageScaleFactor):
3405         (WebKit::RemoteLayerTreeTransaction::minimumScaleFactor):
3406         (WebKit::RemoteLayerTreeTransaction::setMinimumScaleFactor):
3407         (WebKit::RemoteLayerTreeTransaction::maximumScaleFactor):
3408         (WebKit::RemoteLayerTreeTransaction::setMaximumScaleFactor):
3409         (WebKit::RemoteLayerTreeTransaction::allowsUserScaling):
3410         (WebKit::RemoteLayerTreeTransaction::setAllowsUserScaling):
3411         * Shared/mac/RemoteLayerTreeTransaction.mm:
3412         (WebKit::RemoteLayerTreeTransaction::encode):
3413         (WebKit::RemoteLayerTreeTransaction::decode):
3414         * UIProcess/API/ios/PageClientImplIOS.h:
3415         * UIProcess/API/ios/PageClientImplIOS.mm:
3416         (WebKit::PageClientImpl::didCommitLayerTree):
3417         * UIProcess/API/ios/WKContentView.h:
3418         * UIProcess/API/ios/WKContentView.mm:
3419         (-[WKContentView setMinimumLayoutSize:]):
3420         (-[WKContentView willStartUserTriggeredZoom]):
3421         (-[WKContentView _didCommitLayerTree:WebKit::]):
3422         * UIProcess/API/ios/WKContentViewInternal.h:
3423         * UIProcess/API/ios/WKViewIOS.mm:
3424         (-[WKView contentViewDidCommitLoadForMainFrame:]):
3425         (-[WKView contentView:didCommitLayerTree:WebKit::]):
3426         (-[WKView scrollViewWillBeginZooming:withView:]):
3427         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
3428         (-[WKView _frameOrBoundsChanged]):
3429         (-[WKView minimumLayoutSizeOverride]):
3430         (-[WKView setMinimumLayoutSizeOverride:]):
3431         * UIProcess/PageClient.h:
3432         * UIProcess/WebPageProxy.cpp:
3433         * UIProcess/WebPageProxy.h:
3434         * UIProcess/WebPageProxy.messages.in:
3435         * UIProcess/ios/WebPageProxyIOS.mm:
3436         (WebKit::WebPageProxy::setVirtualViewportMinimumLayoutSize):
3437         (WebKit::WebPageProxy::didCommitLayerTree):
3438         (WebKit::WebPageProxy::willStartUserTriggeredZooming):
3439         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
3440         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
3441         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3442         (WebKit::WebChromeClient::contentsSizeChanged):
3443         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
3444         * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
3445         (WebKit::WebChromeClient::didReceiveMobileDocType):
3446         * WebProcess/WebPage/WebPage.cpp:
3447         (WebKit::WebPage::WebPage):
3448         (WebKit::WebPage::mainFrameDidLayout):
3449         (WebKit::WebPage::didCommitLoad):
3450         * WebProcess/WebPage/WebPage.h:
3451         * WebProcess/WebPage/WebPage.messages.in:
3452         * WebProcess/WebPage/ios/WebPageIOS.mm:
3453         (WebKit::WebPage::viewportPropertiesDidChange):
3454         (WebKit::WebPage::minimumPageScaleFactor):
3455         (WebKit::WebPage::maximumPageScaleFactor):
3456         (WebKit::WebPage::allowsUserScaling):
3457         (WebKit::WebPage::setVirtualViewportMinimumLayoutSize):
3458         (WebKit::WebPage::virtualViewportChanged):
3459         (WebKit::WebPage::willStartUserTriggeredZooming):
3460         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3461         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3462
3463 2014-02-05  Benjamin Poulain  <bpoulain@apple.com>
3464
3465         [WK2] Add the minimumLayoutSizeOverride SPI to WKWebView
3466         https://bugs.webkit.org/show_bug.cgi?id=128295
3467
3468         Reviewed by Anders Carlsson.
3469
3470         * UIProcess/API/Cocoa/WKWebView.mm:
3471         (-[WKWebView minimumLayoutSizeOverride]):
3472         (-[WKWebView setMinimumLayoutSizeOverride:]):
3473         * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added.
3474         * WebKit2.xcodeproj/project.pbxproj:
3475
3476 2014-02-05  Simon Fraser  <simon.fraser@apple.com>
3477
3478         Support encoding and decoding of Regions
3479         https://bugs.webkit.org/show_bug.cgi?id=128284
3480
3481         Reviewed by Anders Carlsson.
3482         
3483         Support encoding and decoding of Region, and its internal
3484         struct Region::Span.
3485         
3486         ArgumentCoders had to be taught about how to encode
3487         Vectors with inline capacity.
3488
3489         * Platform/IPC/ArgumentCoders.h:
3490         * Shared/WebCoreArgumentCoders.cpp:
3491         (IPC::ArgumentCoder<Region::Span>::encode):
3492         (IPC::ArgumentCoder<Region::Span>::decode):
3493         (IPC::ArgumentCoder<Region>::encode):
3494         (IPC::ArgumentCoder<Region>::decode):
3495         * Shared/WebCoreArgumentCoders.h:
3496
3497 2014-02-05  Anders Carlsson  <andersca@apple.com>
3498
3499         Add -[WKNavigationAction request]
3500         https://bugs.webkit.org/show_bug.cgi?id=128288
3501
3502         Reviewed by Andreas Kling.
3503
3504         * UIProcess/API/Cocoa/WKNavigationAction.h:
3505         * UIProcess/API/Cocoa/WKNavigationAction.mm:
3506         (-[WKNavigationAction request]):
3507         (-[WKNavigationAction setRequest:]):
3508         * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
3509         * UIProcess/Cocoa/NavigationState.mm:
3510         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
3511
3512 2014-02-05  Sam Weinig  <sam@webkit.org>
3513
3514         [WebKit2, FTL] Add user default to enable the FTL
3515         https://bugs.webkit.org/show_bug.cgi?id=128281
3516
3517         Reviewed by Geoffrey Garen.
3518
3519         * Shared/WebProcessCreationParameters.cpp:
3520         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
3521         (WebKit::WebProcessCreationParameters::encode):
3522         (WebKit::WebProcessCreationParameters::decode):
3523         * Shared/WebProcessCreationParameters.h:
3524         * UIProcess/mac/WebContextMac.mm:
3525         (WebKit::registerUserDefaultsIfNeeded):
3526         (WebKit::WebContext::platformInitializeWebProcess):
3527         * WebProcess/mac/WebProcessMac.mm:
3528         (WebKit::WebProcess::platformInitializeWebProcess):
3529         Pipe through the default.
3530
3531 2014-02-05  Anders Carlsson  <andersca@apple.com>
3532
3533         Add sourceFrame to WKNavigationAction
3534         https://bugs.webkit.org/show_bug.cgi?id=128280
3535
3536         Reviewed by Dan Bernstein.
3537
3538         * UIProcess/API/Cocoa/WKFrameInfo.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
3539         * UIProcess/API/Cocoa/WKFrameInfo.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
3540         (-[WKFrameInfo request]):
3541         (-[WKFrameInfo setRequest:]):
3542         * UIProcess/API/Cocoa/WKFrameInfoInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
3543         * UIProcess/API/Cocoa/WKNavigationAction.h:
3544         * UIProcess/API/Cocoa/WKNavigationAction.mm:
3545         (-[WKNavigationAction sourceFrame]):
3546         (-[WKNavigationAction setSourceFrame:]):
3547         * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
3548         * UIProcess/Cocoa/NavigationState.mm:
3549         (WebKit::frameInfoFromWebFrameProxy):
3550         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
3551         * WebKit2.xcodeproj/project.pbxproj:
3552
3553 2014-02-05  Enrica Casucci  <enrica@apple.com>
3554
3555         WK2: Tap highlight is positioned incorrectly in iframes.
3556         https://bugs.webkit.org/show_bug.cgi?id=128277
3557         <rdar://problem/15975993>
3558
3559         Reviewed by Benjamin Poulain.
3560
3561         We need to convert the quad to root view coordinates
3562         before returning it to the UIProcess for drawing the highlight.
3563
3564         * WebProcess/WebPage/ios/WebPageIOS.mm:
3565         (WebKit::WebPage::tapHighlightAtPosition):
3566
3567 2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
3568
3569         Unreviewed build fix attempt on EFL build after r163480
3570
3571         * CMakeLists.txt: Removed WebUIClient.cpp from source lists.
3572
3573 2014-02-05  Oliver Hunt  <oliver@apple.com>
3574
3575         Change custom getter signature to make the base reference an object pointer
3576         https://bugs.webkit.org/show_bug.cgi?id=128279
3577
3578         Reviewed by Geoffrey Garen.
3579
3580         Update everything to the new calling convention.
3581
3582         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3583         (WebKit::JSNPObject::propertyGetter):
3584         (WebKit::JSNPObject::methodGetter):
3585         * WebProcess/Plugins/Netscape/JSNPObject.h:
3586
3587 2014-02-05  Andreas Kling  <akling@apple.com>
3588
3589         Remove ENABLE(DIRECTORY_UPLOAD).
3590         <https://webkit.org/b/128275>
3591
3592         Rubber-stamped by Ryosuke Niwa.
3593
3594         * Configurations/FeatureDefines.xcconfig:
3595         * Shared/WebCoreArgumentCoders.cpp:
3596         (IPC::ArgumentCoder<FileChooserSettings>::encode):
3597         (IPC::ArgumentCoder<FileChooserSettings>::decode):
3598
3599 2014-02-05  Brady Eidson  <beidson@apple.com>
3600
3601         IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
3602         https://bugs.webkit.org/show_bug.cgi?id=128257
3603
3604         Reviewed by Sam Weinig.
3605
3606         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3607         (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Write the correct key to the index if it was auto generated.
3608         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If this is an auto increment object store with
3609           a non-empty key path, save the key path to the get result.
3610
3611         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3612         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3613         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): The IndexRecord schema shouldn’t
3614           have key uniqueness.
3615         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): Take IDBKeyData instead of IDBKey.
3616         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Fill in the primary key from the fetch.
3617         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3618
3619 2014-02-05  Anders Carlsson  <andersca@apple.com>
3620
3621         Get rid of WebUIClient
3622         https://bugs.webkit.org/show_bug.cgi?id=128274
3623
3624         Reviewed by Andreas Kling.
3625
3626         * UIProcess/API/APIUIClient.h: Added.
3627         (API::UIClient::~UIClient):
3628         (API::UIClient::createNewPage):
3629         (API::UIClient::showPage):
3630         (API::UIClient::close):
3631         (API::UIClient::takeFocus):
3632         (API::UIClient::focus):
3633         (API::UIClient::unfocus):
3634         (API::UIClient::runJavaScriptAlert):
3635         (API::UIClient::runJavaScriptConfirm):
3636         (API::UIClient::runJavaScriptPrompt):
3637         (API::UIClient::setStatusText):
3638         (API::UIClient::mouseDidMoveOverElement):
3639         (API::UIClient::unavailablePluginButtonClicked):
3640         (API::UIClient::implementsDidNotHandleKeyEvent):
3641         (API::UIClient::didNotHandleKeyEvent):
3642         (API::UIClient::implementsDidNotHandleWheelEvent):
3643         (API::UIClient::didNotHandleWheelEvent):
3644         (API::UIClient::toolbarsAreVisible):
3645         (API::UIClient::setToolbarsAreVisible):
3646         (API::UIClient::menuBarIsVisible):
3647         (API::UIClient::setMenuBarIsVisible):
3648         (API::UIClient::statusBarIsVisible):
3649         (API::UIClient::setStatusBarIsVisible):
3650         (API::UIClient::isResizable):
3651         (API::UIClient::setIsResizable):
3652         (API::UIClient::setWindowFrame):
3653         (API::UIClient::windowFrame):
3654         (API::UIClient::canRunBeforeUnloadConfirmPanel):
3655         (API::UIClient::runBeforeUnloadConfirmPanel):
3656         (API::UIClient::didDraw):
3657         (API::UIClient::pageDidScroll):
3658         (API::UIClient::exceededDatabaseQuota):
3659         (API::UIClient::runOpenPanel):
3660         (API::UIClient::decidePolicyForGeolocationPermissionRequest):
3661         (API::UIClient::decidePolicyForNotificationPermissionRequest):
3662         (API::UIClient::headerHeight):
3663         (API::UIClient::footerHeight):
3664         (API::UIClient::drawHeader):
3665         (API::UIClient::drawFooter):
3666         (API::UIClient::printFrame):
3667         (API::UIClient::canRunModal):
3668         (API::UIClient::runModal):
3669         (API::UIClient::saveDataToFileInDownloadsFolder):
3670         (API::UIClient::shouldInterruptJavaScript):
3671         (API::UIClient::showColorPicker):
3672         (API::UIClient::hideColorPicker):
3673         * UIProcess/API/C/WKPage.cpp:
3674         (WKPageSetPageUIClient):
3675         * UIProcess/WebPageProxy.cpp:
3676         (WebKit::WebPageProxy::WebPageProxy):
3677         (WebKit::WebPageProxy::setUIClient):
3678         (WebKit::WebPageProxy::close):
3679         (WebKit::WebPageProxy::createNewPage):
3680         (WebKit::WebPageProxy::showPage):
3681         (WebKit::WebPageProxy::closePage):
3682         (WebKit::WebPageProxy::runJavaScriptAlert):
3683         (WebKit::WebPageProxy::runJavaScriptConfirm):
3684         (WebKit::WebPageProxy::runJavaScriptPrompt):
3685         (WebKit::WebPageProxy::shouldInterruptJavaScript):
3686         (WebKit::WebPageProxy::setStatusText):
3687         (WebKit::WebPageProxy::mouseDidMoveOverElement):
3688         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
3689         (WebKit::WebPageProxy::setToolbarsAreVisible):
3690         (WebKit::WebPageProxy::getToolbarsAreVisible):
3691         (WebKit::WebPageProxy::setMenuBarIsVisible):
3692         (WebKit::WebPageProxy::getMenuBarIsVisible):
3693         (WebKit::WebPageProxy::setStatusBarIsVisible):
3694         (WebKit::WebPageProxy::getStatusBarIsVisible):
3695         (WebKit::WebPageProxy::setIsResizable):
3696         (WebKit::WebPageProxy::getIsResizable):
3697         (WebKit::WebPageProxy::setWindowFrame):
3698         (WebKit::WebPageProxy::getWindowFrame):
3699         (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
3700         (WebKit::WebPageProxy::pageDidScroll):
3701         (WebKit::WebPageProxy::runOpenPanel):
3702         (WebKit::WebPageProxy::printFrame):
3703         (WebKit::WebPageProxy::didDraw):
3704         (WebKit::WebPageProxy::setFocus):
3705         (WebKit::WebPageProxy::takeFocus):
3706         (WebKit::WebPageProxy::didReceiveEvent):
3707         (WebKit::WebPageProxy::creationParameters):
3708         (WebKit::WebPageProxy::exceededDatabaseQuota):
3709         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
3710         (WebKit::WebPageProxy::requestNotificationPermission):
3711         (WebKit::WebPageProxy::headerHeight):
3712         (WebKit::WebPageProxy::footerHeight):
3713         (WebKit::WebPageProxy::drawHeader):
3714         (WebKit::WebPageProxy::drawFooter):
3715         (WebKit::WebPageProxy::runModal):
3716         (WebKit::WebPageProxy::setCanRunModal):
3717         (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
3718         * UIProcess/WebPageProxy.h:
3719         * UIProcess/WebUIClient.cpp: Removed.
3720         * UIProcess/WebUIClient.h: Removed.
3721         * UIProcess/mac/WebInspectorProxyMac.mm:
3722         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3723         * UIProcess/mac/WebPageProxyMac.mm:
3724         (WebKit::WebPageProxy::windowAndViewFramesChanged):
3725         * WebKit2.xcodeproj/project.pbxproj:
3726
3727 2014-02-05  Enrica Casucci  <enrica@apple.com>
3728
3729         WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
3730         https://bugs.webkit.org/show_bug.cgi?id=128264
3731         <rdar://problem/15986954>
3732
3733         Reviewed by Simon Fraser.
3734
3735         Everywhere we return rectangles to the UIProcess, we need to convert them
3736         to root view coordinates. Also, we should allow hit testing to go into child
3737         frames.
3738
3739         * WebProcess/WebPage/WebPage.cpp:
3740         (WebKit::WebPage::editorState):
3741         * WebProcess/WebPage/WebPage.h:
3742         * WebProcess/WebPage/ios/WebPageIOS.mm:
3743         (WebKit::WebPage::selectWithGesture):
3744         (WebKit::WebPage::updateSelectionWithTouches):
3745         (WebKit::WebPage::convertSelectionRectsToRootView):
3746         (WebKit::WebPage::requestAutocorrectionData):
3747         (WebKit::WebPage::getPositionInformation):
3748
3749 2014-02-05  Dan Bernstein  <mitz@apple.com>
3750
3751         [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
3752         https://bugs.webkit.org/show_bug.cgi?id=128268
3753
3754         Reviewed by Anders Carlsson.
3755
3756         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3757         (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
3758         set the length out parameter to 0.
3759
3760         * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
3761         (propertyListClasses): Added NSNull.
3762
3763         * Shared/UserData.cpp:
3764         (WebKit::UserData::encode): Encode the Double type.
3765
3766 2014-02-05  Jer Noble  <jer.noble@apple.com>
3767
3768         [WK2] [iOS] No video on embedded YouTube
3769         https://bugs.webkit.org/show_bug.cgi?id=128237
3770
3771         Reviewed by Sam Weinig.
3772
3773         We were using the wrong #if directive; PLUGIN_PROXY_FOR_VIDEO is an ENABLE not a USE.
3774
3775         * WebProcess/WebPage/WebPage.cpp:
3776         (WebKit::WebPage::updatePreferences):
3777
3778 2014-02-05  Dan Bernstein  <mitz@apple.com>
3779
3780         [Cocoa] Expose more WKWebProcessPlugInFrame properties
3781         https://bugs.webkit.org/show_bug.cgi?id=128240
3782
3783         Reviewed by Anders Carlsson.
3784
3785         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared new properties.
3786         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
3787         (-[WKWebProcessPlugInFrame URL]): Added.
3788         (-[WKWebProcessPlugInFrame childFrames]): Added.
3789         (-[WKWebProcessPlugInFrame containsAnyFormElements]): Added.
3790
3791 2014-02-05  Dan Bernstein  <mitz@apple.com>
3792
3793         [Cocoa] Notify WKWebProcessPlugInLoadDelegate when a frame is removed from the frame hierarchy
3794         https://bugs.webkit.org/show_bug.cgi?id=128239
3795
3796         Reviewed by Anders Carlsson.
3797
3798         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
3799         delegate method.
3800         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3801         (didRemoveFrameFromHierarchy): Implemented this page loader client callback by calling the
3802         load delegate.
3803         (setUpPageLoaderClient): Set the above callback in the client structure.
3804
3805 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
3806
3807         Remove ENABLE(SVG) guards
3808         https://bugs.webkit.org/show_bug.cgi?id=127991
3809
3810         Reviewed by Sam Weinig.
3811
3812         * Configurations/FeatureDefines.xcconfig:
3813         * GNUmakefile.am:
3814
3815 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
3816
3817         [GTK] Replace DEFINE_STATIC_LOCAL with NeverDestroyed<T> in GTK WK1 and WK2 code
3818         https://bugs.webkit.org/show_bug.cgi?id=128195
3819
3820         Reviewed by Martin Robinson.
3821
3822         Use static NeverDestroyed<T> variables instead of the DEFINE_STATIC_LOCAL macro.
3823
3824         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
3825         (historyItemsMap):
3826         * UIProcess/API/gtk/WebKitWebContext.cpp:
3827         (downloadsMap):
3828         * UIProcess/gtk/WebPageProxyGtk.cpp:
3829         (WebKit::pluginWindowMap):
3830         * WebProcess/gtk/WebGtkExtensionManager.cpp:
3831         (WebKit::WebGtkExtensionManager::shared):
3832         * WebProcess/gtk/WebGtkExtensionManager.h:
3833
3834 2014-02-04  Andreas Kling  <akling@apple.com>
3835
3836         Remove <iframe seamless> support.
3837         <https://webkit.org/b/128213>
3838
3839         Rubber-stamped by Antti Koivisto.
3840
3841         * Configurations/FeatureDefines.xcconfig:
3842         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3843         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3844         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3845         * WebProcess/InjectedBundle/InjectedBundle.h:
3846
3847 2014-02-04  Tim Horton  <timothy_horton@apple.com>
3848
3849         [iOS][wk2] Make development builds of WebKit work on device
3850         https://bugs.webkit.org/show_bug.cgi?id=128230
3851
3852         Reviewed by Anders Carlsson.
3853
3854         * Configurations/NetworkService.Development.xcconfig:
3855         * Configurations/WebContentService.Development.xcconfig:
3856         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
3857         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
3858         * WebKit2.xcodeproj/project.pbxproj:
3859         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Renamed from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
3860         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
3861         The Development services should match the non-Development version's behavior
3862         of having separate plists for OS X and iOS.
3863
3864 2014-02-04  Brady Eidson  <beidson@apple.com>
3865
3866         IDB: indexeddb/mozilla/add-twice-failure.html fails
3867         <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208
3868
3869         Reviewed by Tim Horton.
3870
3871         Note that besides making indexeddb/mozilla/add-twice-failure.html pass this also makes some other tests
3872         pass and also improves the failure modes of others.
3873
3874         A full accounting of which tests pass is coming soon.
3875
3876         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3877         (WebKit::UniqueIDBDatabase::putRecordInBackingStore): After checking for existence of the key and before
3878           adding the record, remove any previous record. (Defined by the spec, found exploring this test).
3879
3880         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
3881         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
3882         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): Implement this.
3883         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Add a form to be used as mentioned above in
3884           UniqueIDBDatabase::putRecordInBackingStore.
3885         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): CAST the key argument properly.
3886         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): Ditto.
3887         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
3888
3889 2014-02-04  Dan Bernstein  <mitz@apple.com>
3890
3891         [Cocoa] Expose more WKWebProcessPlugInNodeHandle properties
3892         https://bugs.webkit.org/show_bug.cgi?id=128219
3893
3894         Reviewed by Anders Carlsson.
3895
3896         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new
3897         properties.
3898         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
3899         (-[WKWebProcessPlugInNodeHandle elementBounds]): Added.
3900         (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): Added.
3901         (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): Added.
3902         (-[WKWebProcessPlugInNodeHandle HTMLInputELementIsUserEdited]): Added.
3903         (-[WKWebProcessPlugInNodeHandle HTMLTextAreaELementIsUserEdited]): Added.
3904         (-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Added.
3905         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Rolled
3906         Internal category into the class extension.
3907
3908         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Declared
3909         -clearWrappers.
3910         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
3911         (-[WKWebProcessPlugInScriptWorld clearWrappers]): Added. Calls through to clearWrappers().
3912         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Rolled
3913         Internal category into the class extension.
3914
3915 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
3916
3917         webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
3918         https://bugs.webkit.org/show_bug.cgi?id=128201
3919
3920         Reviewed by Sam Weinig.
3921
3922         * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
3923         Return null when NetworkProcess provided a null string, don't build a header dictionary
3924         with an empty Cookie value.
3925
3926 2014-02-04  Anders Carlsson  <andersca@apple.com>
3927
3928         Add a WKNavigationAction object
3929         https://bugs.webkit.org/show_bug.cgi?id=128212
3930
3931         Reviewed by Dan Bernstein.
3932
3933         * UIProcess/API/Cocoa/WKNavigationAction.h: Added.
3934         (NS_ENUM):
3935         * UIProcess/API/Cocoa/WKNavigationAction.mm: Added.
3936         * UIProcess/API/Cocoa/WKNavigationActionInternal.h: Added.
3937         * UIProcess/Cocoa/NavigationState.mm:
3938         (WebKit::toWKNavigationType):
3939         (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
3940         * WebKit2.xcodeproj/project.pbxproj:
3941
3942 2014-02-04  Anders Carlsson  <andersca@apple.com>
3943
3944         Add back/forward related methods to WKWebView
3945         https://bugs.webkit.org/show_bug.cgi?id=128209
3946
3947         Reviewed by Dan Bernstein.
3948
3949         * UIProcess/API/Cocoa/WKWebView.h:
3950         * UIProcess/API/Cocoa/WKWebView.mm:
3951         (-[WKWebView canGoBack]):
3952         (-[WKWebView canGoForward]):
3953         (-[WKWebView goBack]):
3954         (-[WKWebView goForward]):
3955
3956 2014-02-04  Enrica Casucci  <enrica@apple.com>
3957
3958         WK: Cannot select text inside clickable containers.
3959         https://bugs.webkit.org/show_bug.cgi?id=128197
3960         <rdar://problem/15970890>
3961
3962         Reviewed by Simon Fraser.
3963
3964         When retrieving position information, we first try to
3965         find the node responding to click events because we want
3966         to know whether we are on a link or an image to show
3967         the appropriate action sheet.
3968         We could still have a node responding to click events if
3969         for example we have a DIV with a click handler but that
3970         doesn't require any special handling and we still need to
3971         perform regular hit testing.
3972
3973         * WebProcess/WebPage/ios/WebPageIOS.mm:
3974         (WebKit::WebPage::getPositionInformation):
3975
3976 2014-02-04  Enrica Casucci  <enrica@apple.com>
3977
3978         WK2: Selection callout bar does not scroll with the selection.
3979         https://bugs.webkit.org/show_bug.cgi?id=128142
3980         <rdar://problem/15970812>
3981
3982         Reviewed by Benjamin Poulain.
3983
3984         Adding notifications to WKContentView to all the delegates
3985         for scrolling and zooming to let WKInteractionView about it.
3986         This allows the interaction assistants to hide the callout
3987         while scrolling or zooming and to fade it in again at the end.
3988
3989         * UIProcess/API/Cocoa/WKWebView.mm:
3990         (-[WKWebView scrollViewWillBeginZooming:withView:]):
3991         (-[WKWebView scrollViewWillBeginDragging:]):
3992         * UIProcess/API/ios/WKContentView.h:
3993         * UIProcess/API/ios/WKContentView.mm:
3994         (-[WKContentView didFinishScrollTo:]):
3995         (-[WKContentView willStartZoomOrScroll]):
3996         (-[WKContentView didZoomToScale:]):
3997         * UIProcess/API/ios/WKInteractionView.h:
3998         * UIProcess/API/ios/WKInteractionView.mm:
3999         (-[WKInteractionView _willStartScrollingOrZooming]):
4000         (-[WKInteractionView _didEndScrollingOrZooming]):
4001         * UIProcess/API/ios/WKViewIOS.mm:
4002         (-[WKView scrollViewWillBeginZooming:withView:]):
4003         (-[WKView scrollViewWillBeginDragging:]):
4004
4005 2014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
4006
4007         Code cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS)
4008         https://bugs.webkit.org/show_bug.cgi?id=128180
4009
4010         Reviewed by Csaba Osztrogonác.
4011
4012         Removed last occurrence of ENABLE(GESTURE_EVENTS).
4013
4014         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
4015         (WebKit::NetscapePlugin::platformHandleMouseEvent):
4016
4017 2014-02-04  Eunmi Lee  <eunmi15.lee@samsung.com>
4018
4019         [EFL][WK2] ewk_context needs to route InjectedBundle messages correctly.
4020         https://bugs.webkit.org/show_bug.cgi?id=90772
4021
4022         Reviewed by Gyuyoung Kim.
4023
4024         Add APIs to post message to injected bundle and register callback to
4025         get message from injected bundle. When callback is registered,
4026         WKContextInjectedBundleClient is set to get messages from injected bundle.
4027
4028         * UIProcess/API/efl/ewk_context.cpp:
4029         (EwkContext::EwkContext):
4030         (toEwkContext):
4031         (EwkContext::didReceiveMessageFromInjectedBundle):
4032         (EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
4033         (EwkContext::setMessageFromInjectedBundleCallback): register callback to get message from injected bundle.
4034         (EwkContext::processReceivedMessageFromInjectedBundle): process message from injected bundle.
4035         (ewk_context_message_post_to_injected_bundle):
4036         (ewk_context_message_from_injected_bundle_callback_set):
4037         * UIProcess/API/efl/ewk_context.h:
4038         * UIProcess/API/efl/ewk_context_private.h:
4039
4040 2014-02-04  Jinwoo Song  <jinwoo7.song@samsung.com>
4041
4042         [EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2
4043         https://bugs.webkit.org/show_bug.cgi?id=128156
4044
4045         Reviewed by Anders Carlsson.
4046
4047         * UIProcess/API/efl/EwkView.cpp:
4048         (EwkView::requestPopupMenu):
4049         * UIProcess/API/efl/ewk_context.cpp:
4050         (toWKCacheModel):
4051         (EwkContext::setCacheModel):
4052         * UIProcess/API/efl/ewk_cookie_manager.cpp:
4053         (ewk_cookie_manager_persistent_storage_set):
4054         (ewk_cookie_manager_accept_policy_set):
4055         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
4056         (toEwkNavigationType):
4057         (toEventMouseButton):
4058         (toEventModifierKeys):
4059         (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
4060         (EwkNavigationPolicyDecision::navigationType):
4061         (EwkNavigationPolicyDecision::mouseButton):
4062         (EwkNavigationPolicyDecision::modifiers):
4063         (ewk_navigation_policy_decision_download):
4064         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
4065         (EwkNavigationPolicyDecision::create):
4066         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
4067         (EwkPopupMenuItem::type):
4068         (EwkPopupMenuItem::textDirection):
4069         * UIProcess/API/efl/ewk_private.h:
4070         * UIProcess/API/efl/ewk_view.cpp:
4071         (toWKFindOptions):
4072         (ewk_view_text_find):
4073         (toWKPaginationMode):
4074         (toEwkPaginationMode):
4075         (ewk_view_pagination_mode_set):
4076         (ewk_view_pagination_mode_get):
4077
4078 2014-02-03  Brady Eidson  <beidson@apple.com>
4079
4080         Unreviewed build fix after http://trac.webkit.org/changeset/163364
4081
4082         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
4083         (WebKit::getObjectStoreStatement): Args need the new names, and I need to save the file before committing.  :(
4084
4085 2014-02-03  Brady Eidson  <beidson@apple.com>
4086
4087         IDB: HTML5 Rocks Indexed Database demo fails
4088         https://bugs.webkit.org/show_bug.cgi?id=128157
4089
4090         Reviewed by Anders Carlsson (Provisional review by Jon Lee)
4091