1 2014-01-28 Anders Carlsson <andersca@apple.com>
3 Add a NavigationActionData object for easy storage of navigation action data
4 https://bugs.webkit.org/show_bug.cgi?id=127787
6 Reviewed by Tim Horton.
8 * Scripts/webkit2/messages.py:
10 * Shared/NavigationActionData.cpp: Added.
11 (WebKit::NavigationActionData::NavigationActionData):
12 (WebKit::NavigationActionData::encode):
13 (WebKit::NavigationActionData::decode):
14 * Shared/NavigationActionData.h: Added.
15 * UIProcess/WebPageProxy.cpp:
16 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
17 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
18 * UIProcess/WebPageProxy.h:
19 * UIProcess/WebPageProxy.messages.in:
20 * WebKit2.xcodeproj/project.pbxproj:
21 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
22 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
23 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
25 2014-01-28 Tim Horton <timothy_horton@apple.com>
27 Fix the Mountain Lion build.
29 * UIProcess/mac/ViewGestureController.mm:
30 (WebKit::ViewGestureController::beginSwipeGesture):
31 (WebKit::ViewGestureController::removeSwipeSnapshot):
32 * UIProcess/mac/ViewSnapshotStore.mm:
33 (WebKit::ViewSnapshotStore::recordSnapshot):
35 2014-01-28 Tim Horton <timothy_horton@apple.com>
39 * UIProcess/WebPageProxy.cpp:
40 (WebKit::WebPageProxy::recordNavigationSnapshot):
41 * UIProcess/mac/ViewSnapshotStore.h:
42 * UIProcess/mac/ViewSnapshotStore.mm:
44 2014-01-28 Brady Eidson <beidson@apple.com>
46 Remove unneeded “WebCore::” prefixing in two .cpp files.
48 Rubberstamped by Alexey Proskuryakov.
50 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
51 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
53 2014-01-28 Tim Horton <timothy_horton@apple.com>
55 WebKit2 View Gestures (Swipe): Snapshots should be purgeable
56 https://bugs.webkit.org/show_bug.cgi?id=127390
57 <rdar://problem/15876775>
59 Reviewed by Anders Carlsson.
61 Make snapshots be purgeable, and implement a straightforward
62 (if perhaps expensive, for now) cache eviction strategy to limit the
63 number of snapshots to 20.
65 * UIProcess/mac/ViewGestureController.mm:
66 (WebKit::ViewGestureController::beginSwipeGesture):
67 When beginning a gesture, attempt to make the retrieved snapshot
68 non-volatile. If it was purged while volatile, we won't use it, but if it
69 is still valid, we'll go ahead and use it as the swipe layer's contents.
71 (WebKit::ViewGestureController::removeSwipeSnapshot):
72 When removing the swipe snapshot, make it volatile once again.
74 * UIProcess/mac/ViewSnapshotStore.h:
75 Store a creation time along with the image.
76 Store and return IOSurfaces instead of CGImages.
77 Store snapshots and render tree sizes separately, so that we can
78 throw away snapshots but keep the render tree sizes indefinitely.
80 * UIProcess/mac/ViewSnapshotStore.mm:
81 (WebKit::ViewSnapshotStore::pruneSnapshots):
82 Cap the number of snapshots we'll ever have live at 20.
83 Enforce this cap by first trying to remove snapshots farthest
84 from the current back-forward list's current item, falling back
85 to removing the least recently created snapshot if there are no
86 snapshots owned by the current back-forward list.
88 (WebKit::createIOSurfaceFromImage):
89 Build an IOSurface from the CGImage snapshot we took, for ease of
90 use of its purgeability API.
92 (WebKit::ViewSnapshotStore::recordSnapshot):
93 Bail from taking the snapshot if the image is empty; this can happen
94 if the view is out of the window when the snapshot is taken.
96 Mark snapshots as purgeable as soon as they go into the cache.
98 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
99 Return the target render tree size even if there is no snapshot image.
100 Take care not to look up an empty UUID.
102 2014-01-27 Alexey Proskuryakov <ap@apple.com>
104 Expose SQL database creation and modification times
105 https://bugs.webkit.org/show_bug.cgi?id=127728
107 Reviewed by Brady Eidson.
109 * Shared/WebCoreArgumentCoders.cpp:
110 (IPC::ArgumentCoder<DatabaseDetails>::encode):
111 (IPC::ArgumentCoder<DatabaseDetails>::decode):
112 Encode and decode new DatabaseDetails member variables.
114 * UIProcess/API/C/WKDatabaseManager.cpp:
115 (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
116 (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
117 * UIProcess/API/C/WKDatabaseManager.h:
118 Added new keys for database details.
120 * UIProcess/WebDatabaseManagerProxy.cpp:
121 (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey):
122 (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey):
123 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
124 * UIProcess/WebDatabaseManagerProxy.h:
125 Set the new keys if times are valid.
127 2014-01-28 Tim Horton <timothy_horton@apple.com>
129 WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
130 https://bugs.webkit.org/show_bug.cgi?id=127768
131 <rdar://problem/15923662>
133 Reviewed by Simon Fraser.
135 * UIProcess/API/mac/WKView.mm:
136 (-[WKView _takeViewSnapshot]):
137 Until <rdar://problem/15709646> is resolved, we'll use
138 CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage.
140 2014-01-28 Mark Rowe <mrowe@apple.com>
142 <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
144 Reviewed by Ryosuke Niwa.
146 * UIProcess/API/mac/WKView.mm:
147 (-[WKView _updateWindowAndViewFrames]):
148 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
150 2014-01-28 Adrian Perez de Castro <aperez@igalia.com>
152 [GTK] Add API to allow setting the process model in WebKitWebContext
153 https://bugs.webkit.org/show_bug.cgi?id=125463
155 Reviewed by Carlos Garcia Campos.
157 Implements accessors in WebKitWebContext for the process model.
158 The default behavior is unchanged, and a single web process is
159 used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
160 as the process model will make use one web process for each
161 WebKitWebView. This also enables the network process. Setting
162 the process model must be done as early as possible, before the
163 very first web process is spawned.
165 * UIProcess/API/gtk/WebKitWebContext.cpp:
166 Add accessors in the API to get/set the process model.
167 (webkit_web_context_set_process_model):
168 (webkit_web_context_get_process_model):
169 * UIProcess/API/gtk/WebKitWebContext.h:
170 Define the WebKitProcessModel enum.
171 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
172 Add new public API bits to the documentation.
174 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
176 [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
177 https://bugs.webkit.org/show_bug.cgi?id=127614
179 Reviewed by Gustavo Noronha Silva.
181 * NetworkProcess/RemoteNetworkingContext.h: Remove
182 initiatingPageID() method.
183 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto.
184 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
185 (WebKit::CustomProtocolManagerImpl::send): Create the request with
186 the ResourceRequest constructor that receives a SoupRequest.
187 * Shared/soup/WebCoreArgumentCodersSoup.cpp:
188 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID.
189 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID.
190 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
191 (webkitURISchemeRequestCreate): Remove initiatingPageID parameter
192 and get it from the given ResourceRequest.
193 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
194 * UIProcess/API/gtk/WebKitWebContext.cpp:
195 (webkitWebContextStartLoadingCustomProtocol): Update to
196 webkitURISchemeRequestCreate API change.
197 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
198 (willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest.
199 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
200 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
201 Remove initiatingPageID() method.
202 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
203 * WebProcess/soup/WebSoupRequestManager.cpp:
204 (WebKit::WebSoupRequestManager::send): Get the initiatingPageID
205 from the SoupRequest using the ResourceRequest API.
207 2014-01-27 Roger Fong <roger_fong@apple.com>
209 WebGLLoadPolicy::WebGLAsk is an unnecessary value.
210 https://bugs.webkit.org/show_bug.cgi?id=127755
212 Reviewed by Anders Carlsson.
214 * UIProcess/API/C/WKAPICast.h:
215 (WebKit::toWebGLLoadPolicy):
216 * UIProcess/API/C/WKPageLoaderClient.h:
218 2014-01-27 Brady Eidson <beidson@apple.com>
220 IDB: Cursor support - Messaging, IPC, Threading plumbing
221 https://bugs.webkit.org/show_bug.cgi?id=127736
223 Reviewed by Sam Weinig.
225 Pipe three cursor-related calls to the DatabaseProcess, and handle messages
226 from the database process when it is done handling them:
227 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
228 (WebKit::WebIDBServerConnection::didOpenCursor):
229 (WebKit::WebIDBServerConnection::didAdvanceCursor):
230 (WebKit::WebIDBServerConnection::didIterateCursor):
231 (WebKit::WebIDBServerConnection::openCursor):
232 (WebKit::WebIDBServerConnection::cursorAdvance):
233 (WebKit::WebIDBServerConnection::cursorIterate):
234 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
235 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
237 Pipe the calls through to the appropriate UniqueIDBDatabase:
238 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
239 (WebKit::DatabaseProcessIDBConnection::openCursor):
240 (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
241 (WebKit::DatabaseProcessIDBConnection::cursorIterate):
242 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
243 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
245 Pass the calls to the backing store thread, then message back to the WebProcess
246 when the requests are complete.
247 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
248 (WebKit::UniqueIDBDatabase::openCursor):
249 (WebKit::UniqueIDBDatabase::cursorAdvance):
250 (WebKit::UniqueIDBDatabase::cursorIterate):
251 (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
252 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
253 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
254 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
255 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
256 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
257 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
259 * Shared/WebCrossThreadCopier.cpp:
260 (WebCore::Vector<char>>::copy):
261 * Shared/WebCrossThreadCopier.h:
263 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
265 WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
266 https://bugs.webkit.org/show_bug.cgi?id=127665
268 Reviewed by Anders Carlsson.
270 * Shared/UserData.cpp:
271 (WebKit::UserData::encode):
272 These look like they should not have fallen through!
274 * Configurations/Base.xcconfig:
275 * Shared/mac/ObjCObjectGraphCoders.mm:
276 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
278 2014-01-27 Andy Estes <aestes@apple.com>
280 [WebKit2] Add SPI to disable the WebCore memory cache
281 https://bugs.webkit.org/show_bug.cgi?id=127747
283 Reviewed by Tim Horton.
285 * Shared/WebProcessCreationParameters.cpp:
286 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
287 Initialized memoryCacheDisabled to false.
288 (WebKit::WebProcessCreationParameters::encode):
289 Encoded memoryCacheDisabled.
290 (WebKit::WebProcessCreationParameters::decode):
291 Decoded memoryCacheDisabled.
292 * Shared/WebProcessCreationParameters.h:
293 * UIProcess/API/C/WKContext.cpp:
294 (WKContextSetMemoryCacheDisabled):
295 Called WebContext::setMemoryCacheDisabled().
296 * UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
297 * UIProcess/WebContext.cpp:
298 (WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
299 (WebKit::WebContext::createNewWebProcess):
300 Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
301 (WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
302 and sent new value to all existing processes.
303 * UIProcess/WebContext.h:
304 * WebProcess/WebProcess.cpp:
305 (WebKit::WebProcess::initializeWebProcess):
306 Called WebProcess::setMemoryCacheDisabled().
307 (WebKit::WebProcess::setMemoryCacheDisabled):
308 Called MemoryCache::setDisabled() if the disabled state changed.
309 * WebProcess/WebProcess.h:
310 * WebProcess/WebProcess.messages.in:
312 2014-01-27 Anders Carlsson <andersca@apple.com>
314 Add -[WKWebView loadRequest:] API
315 https://bugs.webkit.org/show_bug.cgi?id=127727
317 Reviewed by Dan Bernstein.
319 * UIProcess/API/Cocoa/WKWebView.h:
320 * UIProcess/API/Cocoa/WKWebView.mm:
321 (-[WKWebView initWithFrame:configuration:]):
322 (-[WKWebView loadRequest:]):
324 2014-01-27 Brady Eidson <beidson@apple.com>
326 IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
327 https://bugs.webkit.org/show_bug.cgi?id=127717
329 Reviewed by Tim Horton.
331 Update all related variable names since the type no longer contains the relevant info.
333 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
334 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
335 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
336 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
337 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
338 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
339 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
340 * Shared/WebCrossThreadCopier.cpp:
342 2014-01-27 Anders Carlsson <andersca@apple.com>
344 Copy relevant code from the iOS version of WKView to WKWebView
345 https://bugs.webkit.org/show_bug.cgi?id=127721
347 Reviewed by Dan Bernstein.
349 * UIProcess/API/Cocoa/WKWebView.mm:
350 (-[WKWebView initWithFrame:configuration:]):
351 (-[WKWebView setFrame:]):
352 (-[WKWebView setBounds:]):
353 (-[WKWebView scrollView]):
354 (-[WKWebView browsingContextController]):
355 (-[WKWebView contentView:contentsSizeDidChange:]):
356 (-[WKWebView contentViewDidCommitLoadForMainFrame:]):
357 (-[WKWebView contentViewDidReceiveMobileDocType:]):
358 (-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]):
359 (-[WKWebView viewportHandlerDidChangeScales:]):
360 (-[WKWebView viewportHandler:didChangeViewportSize:]):
361 (-[WKWebView viewForZoomingInScrollView:]):
362 (-[WKWebView scrollViewWillBeginZooming:withView:]):
363 (-[WKWebView _didFinishScroll]):
364 (-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
365 (-[WKWebView scrollViewDidEndDecelerating:]):
366 (-[WKWebView scrollViewDidScrollToTop:]):
367 (-[WKWebView scrollViewDidScroll:]):
368 (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
369 (-[WKWebView _frameOrBoundsChanged]):
370 (-[WKWebView _setDocumentScale:]):
372 2014-01-27 Tim Horton <timothy_horton@apple.com>
374 Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item.
376 We're leaving the parts that make us use PDFPlugin instead of showing the blocked
377 plugin indicator intact, though.
379 * UIProcess/API/APILoaderClient.h:
380 (API::LoaderClient::pluginLoadPolicy):
381 * UIProcess/API/C/WKPage.cpp:
382 (WKPageSetPageLoaderClient):
383 * UIProcess/API/C/WKPageLoaderClient.h:
384 * UIProcess/WebPageProxy.cpp:
385 (WebKit::WebPageProxy::findPlugin):
386 * UIProcess/WebPageProxy.h:
387 * UIProcess/WebPageProxy.messages.in:
388 * WebProcess/Plugins/PDF/PDFPlugin.h:
389 * WebProcess/Plugins/PDF/PDFPlugin.mm:
390 (WebKit::PDFPlugin::PDFPlugin):
391 (WebKit::PDFPlugin::handleContextMenuEvent):
392 * WebProcess/WebPage/WebPage.cpp:
393 (WebKit::WebPage::createPlugin):
394 (WebKit::WebPage::canPluginHandleResponse):
396 2014-01-27 Anders Carlsson <andersca@apple.com>
398 Add a WKContentView initializer that takes a WKWebViewConfiguration
399 https://bugs.webkit.org/show_bug.cgi?id=127718
401 Reviewed by Tim Horton.
403 This initializer will be used by WKWebView.
405 * UIProcess/API/ios/WKContentView.h:
406 * UIProcess/API/ios/WKContentView.mm:
407 (-[WKContentView initWithFrame:configuration:]):
409 2014-01-27 Andy Estes <aestes@apple.com>
411 Scrub WebKit API headers of WTF macros
412 https://bugs.webkit.org/show_bug.cgi?id=127706
414 Reviewed by David Kilzer.
416 * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
418 2014-01-27 Tim Horton <timothy_horton@apple.com>
420 Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID
422 Reviewed by Simon Fraser.
424 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
425 (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
426 Null-check the root scrolling node, in case something scrolls before
427 we've made the first remote layer/scrolling tree commit.
429 2014-01-27 Brady Eidson <beidson@apple.com>
431 IDB: Rename "IDBTransactionIdentifier" to be more general purpose
432 https://bugs.webkit.org/show_bug.cgi?id=127717
434 Reviewed by Tim Horton.
436 Global rename of IDBTransactionIdentifier to IDBIdentifier.
438 * DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h.
440 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
442 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
443 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
445 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
446 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
448 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
449 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
450 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
452 * Shared/WebCrossThreadCopier.cpp:
453 * Shared/WebCrossThreadCopier.h:
455 * WebKit2.xcodeproj/project.pbxproj:
457 2014-01-27 Anders Carlsson <andersca@apple.com>
459 Move underlying C++ objects to class extensions
460 https://bugs.webkit.org/show_bug.cgi?id=127716
462 Reviewed by Tim Horton.
464 This allows us to get at the internals without calling any Obj-C methods.
466 * UIProcess/API/Cocoa/WKProcessClass.mm:
467 * UIProcess/API/Cocoa/WKProcessClassInternal.h:
468 * UIProcess/API/ios/WKContentView.mm:
469 * UIProcess/API/ios/WKContentViewInternal.h:
471 2014-01-27 Anders Carlsson <andersca@apple.com>
473 Implement the _injectedBundleURL property
474 https://bugs.webkit.org/show_bug.cgi?id=127714
476 Reviewed by Tim Horton.
478 Properties declared in class categories need to be implemented. Do this
479 for the _injectedBundleURL property.
481 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
482 (-[WKProcessClassConfiguration _injectedBundleURL]):
483 (-[WKProcessClassConfiguration _setInjectedBundleURL:]):
485 2014-01-27 Brady Eidson <beidson@apple.com>
487 IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
488 https://bugs.webkit.org/show_bug.cgi?id=127708
490 Reviewed by Tim Horton.
492 Update to new callback signatures:
493 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
494 (WebKit::WebIDBServerConnection::cursorAdvance):
495 (WebKit::WebIDBServerConnection::cursorIterate):
496 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
498 2014-01-27 Anders Carlsson <andersca@apple.com>
500 Tweak the WKWebView and WKWebViewConfiguration headers
501 https://bugs.webkit.org/show_bug.cgi?id=127705
503 Reviewed by Dan Bernstein.
505 Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public.
507 * UIProcess/API/Cocoa/WKWebView.h:
508 * WebKit2.xcodeproj/project.pbxproj:
510 2014-01-27 Brady Eidson <beidson@apple.com>
512 IDB: Remove unused concept of "cursor prefetch"
513 https://bugs.webkit.org/show_bug.cgi?id=127700
515 Reviewed by Tim Horton.
517 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
518 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
520 2014-01-27 Tim Horton <timothy_horton@apple.com>
522 Fix the build on case-sensitive filesystems
524 * WebProcess/WebPage/ViewGestureGeometryCollector.h:
526 2014-01-27 Brady Eidson <beidson@apple.com>
528 IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
529 https://bugs.webkit.org/show_bug.cgi?id=127592
531 Reviewed by Tim Horton.
533 Update the WebIDBServerConnection to the new callback signatures:
534 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
535 (WebKit::WebIDBServerConnection::openCursor):
536 (WebKit::WebIDBServerConnection::count):
537 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
539 2014-01-27 Tim Horton <timothy_horton@apple.com>
541 WebKit2 View Gestures: Fluid back-forward swipe
542 https://bugs.webkit.org/show_bug.cgi?id=127363
544 Reviewed by Anders Carlsson.
546 Add support for a "back-forward swipe", which allows fluid swiping between
547 items in the back-forward list. Currently disabled by default.
549 * Shared/WebPreferencesStore.h:
550 * UIProcess/API/C/WKPreferences.cpp:
551 (WKPreferencesSetViewGestureDebuggingEnabled):
552 (WKPreferencesGetViewGestureDebuggingEnabled):
553 * UIProcess/API/C/WKPreferencesPrivate.h:
554 Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred.
555 Additional view gesture debugging features could come in the future.
557 * UIProcess/API/Cocoa/WKViewPrivate.h:
558 * UIProcess/API/mac/WKView.mm:
559 (-[WKView _ensureGestureController]):
560 (-[WKView scrollWheel:]):
561 If back-forward navigation gestures are enabled, intercept scrollWheel events
562 on the WKView and let the ViewGestureController take the first crack at them.
564 (-[WKView setAllowsBackForwardNavigationGestures:]):
565 (-[WKView allowsBackForwardNavigationGestures]):
566 * UIProcess/API/mac/WKViewInternal.h:
567 Add allowsBackForwardNavigationGesture property, which enables the gesture.
569 * UIProcess/mac/ViewGestureController.h:
570 Add swipe-related methods, which will be described below.
572 Add an enum for the swipe transition style. Currently only Overlap is accessible,
573 but in the future one could see having API to choose the style.
574 'Overlap' has the outgoing page swipe out to the right (when swiping right)
575 or the incoming page swipe in from the right (when swiping left).
576 'Push' has the pages push each other along in sync, as if all the pages in the
577 back-forward list were oriented from left to right.
579 * UIProcess/mac/ViewGestureController.messages.in:
580 * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
581 Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on.
583 (WebKit::ViewGestureController::ViewGestureController):
584 (WebKit::ViewGestureController::~ViewGestureController):
585 (WebKit::ViewGestureController::endMagnificationGesture):
586 Move m_activeGestureType clearing to each end* function instead of one global place,
587 so that each gesture can handle when it ends separately.
589 (WebKit::ViewGestureController::handleScrollWheelEvent):
590 If we receive a scroll wheel event which is appropriate for starting a
591 fluid swipe, in a direction where the main frame is pinned to the appropriate
592 edge of the view, start tracking a swipe.
594 This should eventually have some hysterisis to avoid stealing scrolls that
595 venture into the wrong direction, but for now it starts tracking immediately.
597 Forward events from the tracking loop to {begin, handle, end}SwipeGesture.
599 (WebKit::ViewGestureController::beginSwipeGesture):
600 Create a layer with the destination page's snapshot, and set it up.
602 (WebKit::ViewGestureController::handleSwipeGesture):
603 Appropriately adjust the position of the root layer and snapshot layer,
604 given the transition style and swipe direction.
606 (WebKit::ViewGestureController::endSwipeGesture):
607 When the gesture ends, do the navigation, and tell the WebProcess to
608 inform us when the render tree hits half the size it was when the
609 snapshot was taken (when that happens, we will remove the snapshot
610 and the gesture will be truly complete). Also, start a watchdog timer
611 in case the render tree never hits that size, after which we will
612 also remove the snapshot.
614 (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
615 (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
616 (WebKit::ViewGestureController::removeSwipeSnapshot):
617 Tear down the swipe snapshot layer, and mark our current gesture as complete.
619 (WebKit::ViewGestureController::endActiveGesture):
620 Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture,
621 as those are the only gestures where the user is directly in control of when they end.
623 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
624 (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
625 (WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
626 (WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired):
627 * WebProcess/WebPage/ViewGestureGeometryCollector.h:
628 (WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold):
629 * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
630 ViewGestureController pushes a render-tree size threshold to the WebProcess;
631 ViewGestureGeometryCollector (whose name is now more unfortunate than before)
632 monitors render-tree size changes and informs ViewGestureController when
633 it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message.
635 * UIProcess/API/Cocoa/WKViewPrivate.h:
636 * UIProcess/API/ios/PageClientImplIOS.h:
637 * UIProcess/API/ios/PageClientImplIOS.mm:
638 (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
639 * UIProcess/API/mac/PageClientImpl.h:
640 * UIProcess/API/mac/PageClientImpl.mm:
641 (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
642 * UIProcess/API/mac/WKView.mm:
643 (-[WKView _acceleratedCompositingModeRootLayer]):
644 * UIProcess/API/mac/WKViewInternal.h:
645 * UIProcess/PageClient.h:
646 * UIProcess/WebPageProxy.h:
647 * UIProcess/mac/WebPageProxyMac.mm:
648 (WebKit::WebPageProxy::acceleratedCompositingRootLayer):
649 Add a getter for the accelerated compositing root layer.
651 * UIProcess/mac/ViewSnapshotStore.mm:
652 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
653 Don't extract the CGImageRef from a RetainPtr just to put it back in one.
655 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
657 [GTK] Implement custom URI schemes with CustomProtocols
658 https://bugs.webkit.org/show_bug.cgi?id=127091
660 Reviewed by Gustavo Noronha Silva.
662 The old classes are no longer built for GTK+ and should be removed once
663 other ports using soup backend switch to custom protocols implementation.
665 * GNUmakefile.am: Remove include path.
666 * GNUmakefile.list.am: Remove files from compilation.
667 * PlatformGTK.cmake: Ditto.
668 * UIProcess/API/gtk/WebKitPrivate.h:
669 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
672 (attachRequestManagerClientToContext):
673 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
674 (webkitURISchemeRequestCreate):
675 (webkit_uri_scheme_request_get_web_view):
676 (webkitURISchemeRequestReadCallback):
677 (webkit_uri_scheme_request_finish):
678 (webkit_uri_scheme_request_finish_error):
679 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
680 * UIProcess/API/gtk/WebKitWebContext.cpp:
681 (createDefaultWebContext):
682 (webkit_web_context_register_uri_scheme):
683 (webkitWebContextGetRequestManager):
684 (webkitWebContextStartLoadingCustomProtocol):
685 (webkitWebContextStopLoadingCustomProtocol):
686 (webkitWebContextDidFinishLoadingCustomProtocol):
687 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
688 * UIProcess/gtk/WebContextGtk.cpp:
689 (WebKit::WebContext::platformInitializeWebProcess):
690 * WebKit2Prefix.h: Enable CustomProtocols unconditionally for the
693 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
695 [SOUP] WebProcess sometimes crashes when a download is cancelled
696 https://bugs.webkit.org/show_bug.cgi?id=127650
698 Reviewed by Martin Robinson.
700 The problem is that when the download is cancelled, the download
701 manager removes the download from the map and it's deleted. The
702 Download destructor calls platformInvalidate() that cancels the
703 resource handle if there's still one. We set to nullptr the
704 ResourceHandle when the download is cancelled to avoid cancelling
705 it twice, but it's done after calling Download::didCancel(). It
706 should be done before, because at that moment, when the download
707 is deleted, the resource handle pointer is still valid.
709 * Shared/Downloads/soup/DownloadSoup.cpp:
710 (WebKit::Download::cancel):
712 2014-01-25 Sam Weinig <sam@webkit.org>
714 Remove unused support for DRAGGABLE_REGION
715 https://bugs.webkit.org/show_bug.cgi?id=127642
717 Reviewed by Simon Fraser.
719 * Configurations/FeatureDefines.xcconfig:
721 2014-01-25 Anders Carlsson <andersca@apple.com>
723 Remove an unused FrameLoaderClient function
724 https://bugs.webkit.org/show_bug.cgi?id=127628
726 Reviewed by Andreas Kling.
728 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
729 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
731 2014-01-25 Anders Carlsson <andersca@apple.com>
733 Remove atomicIncrement/atomicDecrement
734 https://bugs.webkit.org/show_bug.cgi?id=127625
736 Reviewed by Andreas Kling.
738 Replace atomicIncrement/atomicDecrement with std::atomic.
740 * Platform/IPC/Connection.cpp:
741 (IPC::Connection::createSyncMessageEncoder):
742 * Shared/mac/SecItemShim.cpp:
743 (WebKit::generateSecItemRequestID):
744 * UIProcess/StatisticsRequest.cpp:
745 (WebKit::StatisticsRequest::addOutstandingRequest):
747 2014-01-25 Anders Carlsson <andersca@apple.com>
749 Modernize HashTable threading code
750 https://bugs.webkit.org/show_bug.cgi?id=127621
752 Reviewed by Darin Adler.
754 Explicitly include headers that used to be brought in by HashTable.h
756 * Shared/BlockingResponseMap.h:
758 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
760 [GTK] Remove null check for WebPopupMenuProxy::Client in WebPopupMenuProxyGtk::showPopupMenu
761 https://bugs.webkit.org/show_bug.cgi?id=107036
763 Reviewed by Andreas Kling.
765 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
766 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Don't perform an early return
767 if the client is not available - it always should be. The client is set to null
768 only when the proxy is invalidated. This happens immediately after this function
769 returns, either with the popup being forced to close or being closed by the user
770 with possibly an item being chosen. Rather than the early return, use an ASSERT.
772 2014-01-24 Tim Horton <timothy_horton@apple.com>
774 WebKit2 View Gestures (Smart Zoom): Can't double-tap zoom-out on the body
775 https://bugs.webkit.org/show_bug.cgi?id=127602
777 Reviewed by Anders Carlsson.
779 * UIProcess/mac/ViewGestureController.h:
780 * UIProcess/mac/ViewGestureController.mm:
781 (WebKit::ViewGestureController::ViewGestureController):
782 (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
783 Use an explicit boolean instead of the emptiness of the renderRect() to determine
784 whether or not the user has already smart-zoomed. renderRect() can be 0x0
785 if our hit-test hits the body element.
787 2014-01-24 Jinwoo Song <jinwoo7.song@samsung.com>
789 Fix EFL WebKit2 build.
791 * WebProcess/WebPage/efl/WebPageEfl.cpp:
792 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
794 2014-01-24 Anders Carlsson <andersca@apple.com>
796 Fix GTK+ WebKit2 build.
798 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
799 (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
801 2014-01-24 Simon Fraser <simon.fraser@apple.com>
803 Start using the RemoteScrollingCoordinatorProxy on iOS
804 https://bugs.webkit.org/show_bug.cgi?id=127598
806 Reviewed by Tim Horton.
808 Add a scrollPositionChangedViaDelegatedScrolling() function to
809 ScrollingTree, allowing the ScrollingTree to be informed about
810 external sources of scrolling.
812 Call it from -[WKContentView didScrollTo:] for the root node.
814 * UIProcess/API/ios/WKContentView.mm:
815 (-[WKContentView didScrollTo:]):
816 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
817 (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
818 (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
819 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
821 2014-01-24 Anders Carlsson <andersca@apple.com>
823 Try to fix the GTK+ build.
825 * GNUmakefile.list.am:
827 2014-01-24 Anders Carlsson <andersca@apple.com>
829 Remove back/forward list related functions from Page
830 https://bugs.webkit.org/show_bug.cgi?id=127596
832 Reviewed by Andreas Kling.
834 * WebProcess/WebPage/mac/WebPageMac.mm:
835 (WebKit::WebPage::performNonEditingBehaviorForSelector):
837 2014-01-24 Jinwoo Song <jinwoo7.song@samsung.com>
839 Unreviewed build fix attemp on the EFL after r162728.
841 * CMakeLists.txt: Removed WebLoaderClient.cpp
843 2014-01-24 Simon Fraser <simon.fraser@apple.com>
845 Prepare scrolling tree to handle > 1 scrolling node
846 https://bugs.webkit.org/show_bug.cgi?id=127590
848 Reviewed by Tim Horton.
850 Clean up the code path called after the ScrollingTree has scrolled a node,
851 to prepare for multiple scrolling nodes.
853 Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
854 and pass along the ScrollingNodeID that scrolled.
856 * UIProcess/Scrolling/RemoteScrollingTree.cpp:
857 (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
858 * UIProcess/Scrolling/RemoteScrollingTree.h:
859 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
860 (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):
862 2014-01-24 Simon Fraser <simon.fraser@apple.com>
864 #ifdef out handleWheelEventPhase for iOS
865 https://bugs.webkit.org/show_bug.cgi?id=127583
867 Reviewed by Tim Horton.
869 handleWheelEventPhase() doesn't make any sense for iOS, which
872 * UIProcess/Scrolling/RemoteScrollingTree.cpp:
873 * UIProcess/Scrolling/RemoteScrollingTree.h:
875 2014-01-24 Simon Fraser <simon.fraser@apple.com>
877 Push a custom fixed position rect down to the WebProcess in iOS WK2
878 https://bugs.webkit.org/show_bug.cgi?id=127573
880 Reviewed by Tim Horton.
882 Make it possible for WKContentView to specify a custom rect
883 used to layout fixed position elements on iOS.
885 This is computed in WKContentView, and pushed down
886 through the RemoteLayerTreeDrawingArea, and eventually
887 pushed onto FrameView.
889 * UIProcess/API/ios/WKContentView.mm:
890 (-[WKContentView fixedPositionRectFromExposedRect:scale:]):
891 (-[WKContentView _updateFixedPositionRect]):
892 (-[WKContentView didFinishScrollTo:]):
893 (-[WKContentView didZoomToScale:]):
894 * UIProcess/DrawingAreaProxy.cpp:
895 (WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
896 * UIProcess/DrawingAreaProxy.h:
897 * WebProcess/WebPage/DrawingArea.h:
898 * WebProcess/WebPage/DrawingArea.messages.in:
899 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
900 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
901 (WebKit::RemoteLayerTreeDrawingArea::setCustomFixedPositionRect):
903 2014-01-24 Anders Carlsson <andersca@apple.com>
905 Get rid of WebLoaderClient
906 https://bugs.webkit.org/show_bug.cgi?id=127587
908 Reviewed by Andreas Kling.
910 Move WebLoaderClient into WKPage.cpp.
912 * UIProcess/API/C/WKPage.cpp:
913 (WKPageSetPageLoaderClient):
914 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
915 (-[WKBrowsingContextController setLoadDelegate:]):
916 * UIProcess/WebLoaderClient.cpp: Removed.
917 * UIProcess/WebLoaderClient.h: Removed.
918 * UIProcess/WebPageProxy.h:
919 * WebKit2.xcodeproj/project.pbxproj:
921 2014-01-24 Brady Eidson <beidson@apple.com>
923 IDB: Support createIndex/deleteIndex
924 <rdar://problem/15779642> and https://bugs.webkit.org/show_bug.cgi?id=127585
926 Reviewed by Tim Horton.
928 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
929 (WebKit::UniqueIDBDatabase::createIndex):
930 (WebKit::UniqueIDBDatabase::deleteIndex):
931 (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
932 (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
934 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
935 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
936 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Also drop all associated indexes.
937 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
938 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
939 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
941 2014-01-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
943 [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
944 https://bugs.webkit.org/show_bug.cgi?id=127064
946 When pressing <Esc> or <f> at full screen, the WebView shall emit the
947 event webkitfullscreenchange, but wk2gtk does not emit it. This is
948 because the WebView manages directly the exit of the full screen.
950 With this patch the WebView calls requestExitFullScreen to the full
951 screen manager, instead of managing directly the exit of the full
952 screen, and the event webkitfullscreenchange will be dispatched
955 Reviewed by Martin Robinson.
957 No tests are included because there is a bug in WKTR that prevents the
958 execution of a test for this patch. See
959 https://bugs.webkit.org/show_bug.cgi?id=127348
961 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
962 (webkitWebViewBaseKeyPressEvent): Call
963 webkitWebViewBaseRequestExitFullScreen.
964 (webkitWebViewBaseRequestExitFullScreen): Added.
965 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
967 2014-01-24 Tim Horton <timothy_horton@apple.com>
969 iOS build fix after r162710.
971 This is why these sorts of comments are bad.
973 * UIProcess/WebPageProxy.cpp:
975 2014-01-24 Anders Carlsson <andersca@apple.com>
977 Use a side table to map WebPageProxy objects to WKBrowsingContextController objects
978 https://bugs.webkit.org/show_bug.cgi?id=127577
980 Reviewed by Tim Horton.
982 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
983 (browsingContextControllerMap):
984 (-[WKBrowsingContextController dealloc]):
985 (-[WKBrowsingContextController _initWithPageRef:]):
986 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
987 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
988 * UIProcess/WebPageProxy.h:
990 2014-01-24 Tim Horton <timothy_horton@apple.com>
992 iOS build fix after r162710.
994 * UIProcess/API/ios/PageClientImplIOS.h:
995 * UIProcess/API/ios/PageClientImplIOS.mm:
996 (WebKit::PageClientImpl::takeViewSnapshot):
998 2014-01-24 Enrique Ocaña González <eocanha@igalia.com>
1000 [GTK] Put cache files in XDG_CACHE_HOME
1001 https://bugs.webkit.org/show_bug.cgi?id=123458
1003 Reviewed by Martin Robinson.
1005 * UIProcess/gtk/WebContextGtk.cpp:
1006 (WebKit::WebContext::platformDefaultIconDatabasePath):
1008 2014-01-24 Tim Horton <timothy_horton@apple.com>
1010 WebKit2 View Gestures (Swipe): Add a simple cache of view snapshots
1011 https://bugs.webkit.org/show_bug.cgi?id=127438
1013 Reviewed by Sam Weinig.
1015 Add a cache of bitmap snapshots of the WKView, taken via OS X's window server
1016 snapshotting mechanism. For now, we store all snapshots; refinements to the
1017 caching strategy (or really having one at all) will come in future patches.
1019 Snapshots are stored in a side map, with a UUID that allows references
1020 to be stored inside WebBackForwardListItem (and serialized along with
1021 the back-forward list when it is copied).
1023 * Shared/WebBackForwardListItem.h:
1024 (WebKit::WebBackForwardListItem::setSnapshotUUID):
1025 (WebKit::WebBackForwardListItem::snapshotUUID):
1026 * UIProcess/cf/WebBackForwardListCF.cpp:
1027 (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
1028 (WebKit::extractBackForwardListEntriesFromArray):
1029 Store and serialize a UUID along with each back-forward list item which
1030 identifies that item's view snapshot in the ViewSnapshotStore.
1032 * UIProcess/cf/WebPageProxyCF.cpp:
1033 Bump the session state data version, as we changed the WebBackForwardList format.
1035 * UIProcess/API/Cocoa/WKViewPrivate.h:
1036 * UIProcess/API/mac/PageClientImpl.h:
1037 * UIProcess/API/mac/PageClientImpl.mm:
1038 (WebKit::PageClientImpl::takeViewSnapshot):
1040 * UIProcess/API/mac/WKView.mm:
1041 (-[WKView _takeViewSnapshot]):
1042 Add _takeViewSnapshot IPI, which is used by ViewSnapshotStore via the PageClient
1043 to take a snapshot of the view.
1045 (-[WKView saveBackForwardSnapshotForCurrentItem]):
1046 Add saveBackForwardSnapshotForCurrentItem SPI, which clients could potentially
1047 use when they know they're about to manipulate the view hierarchy in such a way
1048 that they want the current back-forward item's snapshot to be up to date.
1050 * UIProcess/API/mac/WKViewInternal.h:
1051 * UIProcess/PageClient.h:
1052 * UIProcess/WebPageProxy.cpp:
1053 (WebKit::WebPageProxy::WebPageProxy):
1054 (WebKit::WebPageProxy::recordNavigationSnapshot):
1055 (WebKit::WebPageProxy::goForward):
1056 (WebKit::WebPageProxy::goBack):
1057 (WebKit::WebPageProxy::goToBackForwardItem):
1058 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
1059 Update the current back-forward item's snapshot immediately before navigating.
1061 * UIProcess/WebPageProxy.h:
1062 (WebKit::WebPageProxy::shouldRecordNavigationSnapshots):
1063 (WebKit::WebPageProxy::setShouldRecordNavigationSnapshots):
1064 Expose the ability to enable taking view snapshots on every navigation.
1065 This is off by default, so we won't be taking any snapshots yet.
1067 * UIProcess/mac/ViewSnapshotStore.h: Added.
1068 (WebKit::ViewSnapshotStore::disableSnapshotting):
1069 (WebKit::ViewSnapshotStore::enableSnapshotting):
1070 * UIProcess/mac/ViewSnapshotStore.mm: Added.
1071 (WebKit::ViewSnapshotStore::ViewSnapshotStore):
1072 (WebKit::ViewSnapshotStore::~ViewSnapshotStore):
1073 (WebKit::ViewSnapshotStore::shared):
1074 (WebKit::ViewSnapshotStore::recordSnapshot):
1075 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
1076 * UIProcess/mac/WebPageProxyMac.mm:
1077 (WebKit::WebPageProxy::takeViewSnapshot):
1078 * WebKit2.xcodeproj/project.pbxproj:
1080 2014-01-24 Brady Eidson <beidson@apple.com>
1082 IDB: support createIndex/deleteIndex messaging
1083 https://bugs.webkit.org/show_bug.cgi?id=127546
1085 Reviewed by Tim Horton.
1087 Message create/delete requests over to the DatabaseProcess, and listen to its replies:
1088 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1089 (WebKit::WebIDBServerConnection::createIndex):
1090 (WebKit::WebIDBServerConnection::didCreateIndex):
1091 (WebKit::WebIDBServerConnection::deleteIndex):
1092 (WebKit::WebIDBServerConnection::didDeleteIndex):
1093 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1094 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
1096 Pass create/delete requests to the appropriate unique IDB database:
1097 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
1098 (WebKit::DatabaseProcessIDBConnection::createIndex):
1099 (WebKit::DatabaseProcessIDBConnection::deleteIndex):
1100 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
1101 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
1103 Message the create/delete request to the database thread for the backing store to handle:
1104 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1105 (WebKit::UniqueIDBDatabase::didCreateIndex):
1106 (WebKit::UniqueIDBDatabase::didDeleteIndex):
1107 (WebKit::UniqueIDBDatabase::createIndex):
1108 (WebKit::UniqueIDBDatabase::deleteIndex):
1109 (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
1110 (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
1111 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
1113 * Scripts/webkit2/messages.py:
1116 2014-01-24 Csaba Osztrogonác <ossy@webkit.org>
1118 [EFL][WK2] Debug buildfix
1119 https://bugs.webkit.org/show_bug.cgi?id=127496
1121 Reviewed by Gyuyoung Kim.
1123 * Shared/SessionTracker.cpp:
1125 2014-01-23 Brady Eidson <beidson@apple.com>
1127 IDB: Support IDBObjectStore.clear()
1128 https://bugs.webkit.org/show_bug.cgi?id=127541
1130 Reviewed by Anders Carlsson.
1132 Make the WebProcess call out to the DatabaseProcess with a clear request, and handle the
1133 response from the DatabaseProcess:
1134 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1135 (WebKit::WebIDBServerConnection::clearObjectStore):
1136 (WebKit::WebIDBServerConnection::didClearObjectStore):
1137 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1138 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
1140 Pass the clear request to the appropriate UniqueIDBDatabase:
1141 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
1142 (WebKit::DatabaseProcessIDBConnection::clearObjectStore):
1143 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
1144 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
1146 Pass the clear request to the backing store:
1147 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1148 (WebKit::UniqueIDBDatabase::didClearObjectStore):
1149 (WebKit::UniqueIDBDatabase::clearObjectStore):
1150 (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
1151 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
1153 Actually drop the records in the database:
1154 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
1155 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1156 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
1157 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
1159 2014-01-23 Anders Carlsson <andersca@apple.com>
1161 Fix crash when opening the inspector
1162 https://bugs.webkit.org/show_bug.cgi?id=127542
1163 <rdar://problem/15899544>
1165 Reviewed by Joseph Pecoraro.
1167 Create default clients so we won't crash if they're never set.
1169 * UIProcess/WebPageProxy.cpp:
1170 (WebKit::WebPageProxy::WebPageProxy):
1172 2014-01-23 Ryuan Choi <ryuan.choi@samsung.com>
1174 Unreviewed build fix attemp on the EFL and GTK build after r162678
1176 * CMakeLists.txt: Removed WebPolicyClient.cpp
1177 * GNUmakefile.list.am: Removed WebPolicyClient.cpp and WebPolicyClient.h
1179 2014-01-23 Yongjun Zhang <yongjun_zhang@apple.com>
1181 Support NSInteger argument type for encoding/decoding invocations.
1182 https://bugs.webkit.org/show_bug.cgi?id=127522
1184 Reviewed by Dan Bernstein.
1186 Add support for NSInteger argument type ('q') for remote invocations.
1188 * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
1190 (decodeInvocationArguments):
1192 2014-01-23 Brady Eidson <beidson@apple.com>
1194 IDB: Implement SQLite backing store 'get' support
1195 https://bugs.webkit.org/show_bug.cgi?id=127502
1197 Reviewed by Tim Horton.
1199 This makes get of a single IDBKey work, and lays the groundwork for getting an IDBKeyRange.
1201 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1202 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
1203 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
1205 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1206 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Add custom collation
1207 to the Records table.
1208 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Install the custom collator.
1209 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
1210 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
1211 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::collate): Collation function to be filled in later.
1212 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
1214 2014-01-23 Jon Honeycutt <jhoneycutt@apple.com>
1216 Assertion failure in WebCore::PseudoElement::didRecalcStyle()
1217 <https://bugs.webkit.org/show_bug.cgi?id=126761>
1218 <rdar://problem/15793540>
1220 Reviewed by Andy Estes.
1222 * WebProcess/WebPage/ios/WebPageIOS.mm:
1223 (WebKit::WebPage::getPositionInformation):
1224 Check isRenderImage() rather than isImage() before casting to
1227 2014-01-23 Anders Carlsson <andersca@apple.com>
1229 Move policy client into WKPage.cpp and get rid of WebPolicyClient files
1230 https://bugs.webkit.org/show_bug.cgi?id=127536
1232 Reviewed by Tim Horton.
1234 * UIProcess/API/C/WKPage.cpp:
1235 (WKPageSetPagePolicyClient):
1236 * UIProcess/WebPolicyClient.cpp: Removed.
1237 * UIProcess/WebPolicyClient.h: Removed.
1238 * WebKit2.xcodeproj/project.pbxproj:
1240 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1242 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
1243 https://bugs.webkit.org/show_bug.cgi?id=127409
1245 Reviewed by Geoffrey Garen.
1247 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1248 (WebKit::WebInspectorFrontendClient::closeWindow):
1249 * WebProcess/WebPage/WebInspector.cpp:
1250 (WebKit::WebInspector::remoteFrontendDisconnected):
1251 Include InspectorDisconnectReason.
1253 2014-01-23 Anders Carlsson <andersca@apple.com>
1255 Only WKPage should know about WebPolicyClient
1256 https://bugs.webkit.org/show_bug.cgi?id=127535
1258 Reviewed by Andreas Kling.
1260 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1261 (setUpPagePolicyClient):
1262 (-[WKBrowsingContextController setPolicyDelegate:]):
1263 * UIProcess/WebInspectorProxy.cpp:
1264 (WebKit::WebInspectorProxy::createInspectorPage):
1266 2014-01-23 Anders Carlsson <andersca@apple.com>
1268 Simplify API::LoaderClient management
1269 https://bugs.webkit.org/show_bug.cgi?id=127531
1271 Reviewed by Tim Horton.
1273 Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
1274 always create a policy client, even if the loader client set is null. That way we don't have to null
1275 check the loader client everywhere.
1277 * UIProcess/API/APILoaderClient.h:
1278 (API::LoaderClient::didStartProvisionalLoadForFrame):
1279 (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
1280 (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
1281 (API::LoaderClient::didCommitLoadForFrame):
1282 (API::LoaderClient::didFinishDocumentLoadForFrame):
1283 (API::LoaderClient::didFinishLoadForFrame):
1284 (API::LoaderClient::didFailLoadWithErrorForFrame):
1285 (API::LoaderClient::didSameDocumentNavigationForFrame):
1286 (API::LoaderClient::didReceiveTitleForFrame):
1287 (API::LoaderClient::didFirstLayoutForFrame):
1288 (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
1289 (API::LoaderClient::didRemoveFrameFromHierarchy):
1290 (API::LoaderClient::didDisplayInsecureContentForFrame):
1291 (API::LoaderClient::didRunInsecureContentForFrame):
1292 (API::LoaderClient::didDetectXSSForFrame):
1293 (API::LoaderClient::didLayout):
1294 (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
1295 (API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
1296 (API::LoaderClient::didStartProgress):
1297 (API::LoaderClient::didChangeProgress):
1298 (API::LoaderClient::didFinishProgress):
1299 (API::LoaderClient::processDidBecomeUnresponsive):
1300 (API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
1301 (API::LoaderClient::processDidBecomeResponsive):
1302 (API::LoaderClient::processDidCrash):
1303 (API::LoaderClient::didChangeBackForwardList):
1304 (API::LoaderClient::willGoToBackForwardListItem):
1305 (API::LoaderClient::pluginLoadPolicy):
1306 (API::LoaderClient::didFailToInitializePlugin):
1307 (API::LoaderClient::didBlockInsecurePluginVersion):
1308 (API::LoaderClient::webGLLoadPolicy):
1309 * UIProcess/WebPageProxy.cpp:
1310 (WebKit::WebPageProxy::setLoaderClient):
1311 (WebKit::WebPageProxy::didChangeBackForwardList):
1312 (WebKit::WebPageProxy::willGoToBackForwardListItem):
1313 (WebKit::WebPageProxy::findPlugin):
1314 (WebKit::WebPageProxy::didStartProgress):
1315 (WebKit::WebPageProxy::didChangeProgress):
1316 (WebKit::WebPageProxy::didFinishProgress):
1317 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
1318 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
1319 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
1320 (WebKit::WebPageProxy::didCommitLoadForFrame):
1321 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
1322 (WebKit::WebPageProxy::didFinishLoadForFrame):
1323 (WebKit::WebPageProxy::didFailLoadForFrame):
1324 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
1325 (WebKit::WebPageProxy::didReceiveTitleForFrame):
1326 (WebKit::WebPageProxy::didFirstLayoutForFrame):
1327 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
1328 (WebKit::WebPageProxy::didLayout):
1329 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
1330 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
1331 (WebKit::WebPageProxy::didRunInsecureContentForFrame):
1332 (WebKit::WebPageProxy::didDetectXSSForFrame):
1333 (WebKit::WebPageProxy::webGLPolicyForURL):
1334 (WebKit::WebPageProxy::processDidBecomeUnresponsive):
1335 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
1336 (WebKit::WebPageProxy::processDidBecomeResponsive):
1337 (WebKit::WebPageProxy::processDidCrash):
1338 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
1339 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
1340 (WebKit::WebPageProxy::didFailToInitializePlugin):
1341 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1343 2014-01-23 Anders Carlsson <andersca@apple.com>
1345 Simplify API::PolicyClient management
1346 https://bugs.webkit.org/show_bug.cgi?id=127529
1348 Reviewed by Tim Horton.
1350 Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
1351 always create a policy client, even if the policy object set is null. That way we don't have to null
1352 check the policy client everywhere.
1354 * UIProcess/API/APIPolicyClient.h:
1355 (API::PolicyClient::decidePolicyForNavigationAction):
1356 (API::PolicyClient::decidePolicyForNewWindowAction):
1357 (API::PolicyClient::decidePolicyForResponse):
1358 (API::PolicyClient::unableToImplementPolicy):
1359 * UIProcess/WebPageProxy.cpp:
1360 (WebKit::WebPageProxy::setPolicyClient):
1361 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
1362 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
1363 (WebKit::WebPageProxy::decidePolicyForResponse):
1364 (WebKit::WebPageProxy::unableToImplementPolicy):
1366 2014-01-23 Simon Fraser <simon.fraser@apple.com>
1370 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1371 (webkitWebPageDidReceiveMessage):
1373 2014-01-23 Anders Carlsson <andersca@apple.com>
1375 Add an APILoaderClient base class
1376 https://bugs.webkit.org/show_bug.cgi?id=127527
1378 Reviewed by Tim Horton.
1380 * UIProcess/API/APILoaderClient.h: Added.
1381 (API::LoaderClient::~LoaderClient):
1382 * UIProcess/API/C/WKPage.cpp:
1383 (WKPageSetPageLoaderClient):
1384 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1385 (setUpPageLoaderClient):
1386 (-[WKBrowsingContextController setLoadDelegate:]):
1387 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
1388 * UIProcess/WebLoaderClient.cpp:
1389 (WebKit::WebLoaderClient::WebLoaderClient):
1390 * UIProcess/WebLoaderClient.h:
1391 * UIProcess/WebPageProxy.cpp:
1392 (WebKit::WebPageProxy::setLoaderClient):
1393 (WebKit::WebPageProxy::close):
1394 (WebKit::WebPageProxy::didChangeBackForwardList):
1395 (WebKit::WebPageProxy::willGoToBackForwardListItem):
1396 (WebKit::WebPageProxy::findPlugin):
1397 (WebKit::WebPageProxy::didStartProgress):
1398 (WebKit::WebPageProxy::didChangeProgress):
1399 (WebKit::WebPageProxy::didFinishProgress):
1400 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
1401 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
1402 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
1403 (WebKit::WebPageProxy::didCommitLoadForFrame):
1404 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
1405 (WebKit::WebPageProxy::didFinishLoadForFrame):
1406 (WebKit::WebPageProxy::didFailLoadForFrame):
1407 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
1408 (WebKit::WebPageProxy::didReceiveTitleForFrame):
1409 (WebKit::WebPageProxy::didFirstLayoutForFrame):
1410 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
1411 (WebKit::WebPageProxy::didLayout):
1412 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
1413 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
1414 (WebKit::WebPageProxy::didRunInsecureContentForFrame):
1415 (WebKit::WebPageProxy::didDetectXSSForFrame):
1416 (WebKit::WebPageProxy::webGLPolicyForURL):
1417 (WebKit::WebPageProxy::processDidBecomeUnresponsive):
1418 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
1419 (WebKit::WebPageProxy::processDidBecomeResponsive):
1420 (WebKit::WebPageProxy::processDidCrash):
1421 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
1422 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
1423 (WebKit::WebPageProxy::didFailToInitializePlugin):
1424 (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1425 * UIProcess/WebPageProxy.h:
1426 (WebKit::WebPageProxy::loaderClient):
1427 * WebKit2.xcodeproj/project.pbxproj:
1429 2014-01-23 Ryuan Choi <ryuan.choi@samsung.com>
1431 Build break after r162650
1432 https://bugs.webkit.org/show_bug.cgi?id=127525
1434 Reviewed by Anders Carlsson.
1436 WKPreferences.h was renamed to WKPreferencesRef.
1438 * UIProcess/API/C/WKPreferences.cpp:
1440 2014-01-23 Anders Carlsson <andersca@apple.com>
1442 Fix a refactoring bug that crept in and is causing the inspector to crash.
1444 * UIProcess/WebPolicyClient.cpp:
1445 (WebKit::WebPolicyClient::decidePolicyForResponse):
1447 2014-01-23 Simon Fraser <simon.fraser@apple.com>
1449 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
1450 https://bugs.webkit.org/show_bug.cgi?id=127456
1452 Reviewed by Antti Koivisto.
1454 On iOS, visibleContentRect() returns the entire document rect for historical
1455 reasons, and actualVisibleContentRect() returns what visibleContentRect()
1456 returns on other platforms.
1458 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
1460 Reduce the confusion of #ifdefs by making visibleContentRect() behave like
1461 actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
1462 an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
1464 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
1465 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
1467 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
1468 with non-virtual visibleHeight() and visibleWidth().
1470 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
1472 Mechanically change all the call sites of actualVisibleContentRect() to
1473 use visibleContentRect(), and the call sites of visibleContentRect()
1474 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
1475 where this may not be appropriate.
1477 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
1479 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
1483 * WebProcess/Plugins/PDF/PDFPlugin.h:
1484 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
1485 (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
1486 (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
1487 * WebProcess/WebPage/WebFrame.cpp:
1488 (WebKit::WebFrame::visibleContentBounds):
1489 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1490 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
1491 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
1493 2014-01-23 Tim Horton <timothy_horton@apple.com>
1495 [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
1496 https://bugs.webkit.org/show_bug.cgi?id=127518
1498 Reviewed by Anders Carlsson.
1500 Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
1501 manually clear the page overlay's backing store, for memory, power, and performance gains.
1503 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1504 (WKBundlePageOverlayClear):
1505 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
1506 * WebProcess/WebPage/DrawingArea.h:
1507 (WebKit::DrawingArea::clearPageOverlay):
1508 * WebProcess/WebPage/PageOverlay.cpp:
1509 (WebKit::PageOverlay::clear):
1510 * WebProcess/WebPage/PageOverlay.h:
1511 Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.
1513 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1514 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1515 (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
1516 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1517 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1518 (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
1519 Set the layer to drawsContent=false and give it 0x0 size, effectively
1520 removing its backing store.
1522 2014-01-23 Anders Carlsson <andersca@apple.com>
1524 Explicitly link XPC services with AppKit
1525 https://bugs.webkit.org/show_bug.cgi?id=127520
1526 <rdar://problem/15759718>
1528 Reviewed by Mark Rowe.
1530 Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.
1532 * Configurations/PluginService.32.xcconfig:
1533 * Configurations/PluginService.64.xcconfig:
1534 * Configurations/PluginService.Development.xcconfig:
1535 * Configurations/WebContentService.Development.xcconfig:
1536 * Configurations/WebContentService.xcconfig:
1538 2014-01-23 Anders Carlsson <andersca@apple.com>
1542 * UIProcess/API/mac/WKView.mm:
1543 (-[WKView _windowDidChangeBackingProperties:]):
1545 2014-01-23 Anders Carlsson <andersca@apple.com>
1547 Another 32-bit build fix.
1549 * UIProcess/API/mac/WKView.mm:
1550 (-[WKView _windowDidChangeBackingProperties:]):
1552 2014-01-23 Anders Carlsson <andersca@apple.com>
1554 Clean up WKView.mm a little
1555 https://bugs.webkit.org/show_bug.cgi?id=127517
1557 Reviewed by Tim Horton.
1559 Remove an unused ivar and migrate to API constants that were added in Lion.
1561 * UIProcess/API/mac/WKView.mm:
1562 (-[WKView setFrameSize:]):
1563 (-[WKView addWindowObserversForWindow:]):
1564 (-[WKView removeWindowObservers]):
1565 (-[WKView viewDidMoveToWindow]):
1566 (-[WKView _windowDidMiniaturize:]):
1567 (-[WKView _windowDidResize:]):
1568 (-[WKView _windowDidChangeBackingProperties:]):
1570 2014-01-23 Anders Carlsson <andersca@apple.com>
1572 Try to fix the 32-bit build.
1574 * UIProcess/API/Cocoa/WKPreferences.mm:
1576 2014-01-23 Anders Carlsson <andersca@apple.com>
1578 Remove an unneeded synchronous back/forward message
1579 https://bugs.webkit.org/show_bug.cgi?id=127516
1581 Reviewed by Tim Horton.
1583 * UIProcess/WebLoaderClient.cpp:
1584 * UIProcess/WebLoaderClient.h:
1585 * UIProcess/WebPageProxy.cpp:
1586 (WebKit::WebPageProxy::initializeLoaderClient):
1587 * UIProcess/WebPageProxy.h:
1588 * UIProcess/WebPageProxy.messages.in:
1589 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1590 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
1591 * WebProcess/WebPage/WebPage.cpp:
1592 (WebKit::WebPage::WebPage):
1593 * WebProcess/WebPage/WebPage.h:
1594 * WebProcess/WebPage/WebPage.messages.in:
1596 2014-01-23 Anders Carlsson <andersca@apple.com>
1598 Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
1599 https://bugs.webkit.org/show_bug.cgi?id=127512
1601 Reviewed by Dan Bernstein.
1603 * UIProcess/API/C/WKAPICast.h:
1604 * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
1605 * UIProcess/API/C/WebKit2_C.h:
1606 * UIProcess/API/Cocoa/WKPreferences.h: Added.
1607 * UIProcess/API/Cocoa/WKPreferences.mm: Added.
1608 * WebKit2.xcodeproj/project.pbxproj:
1610 2014-01-23 Max Vujovic <mvujovic@adobe.com>
1612 Remove CSS Custom Filters code and tests
1613 https://bugs.webkit.org/show_bug.cgi?id=127382
1615 Reviewed by Simon Fraser.
1618 * Configurations/FeatureDefines.xcconfig:
1619 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1620 (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
1621 (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
1622 (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
1623 (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
1624 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
1625 * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
1626 * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
1627 * Shared/WebCoreArgumentCoders.cpp:
1628 (IPC::encodeFilterOperation):
1629 (IPC::decodeFilterOperation):
1630 * Shared/WebPreferencesStore.h:
1631 * Shared/mac/RemoteLayerTreeTransaction.mm:
1632 (WebKit::RemoteLayerTreeTextStream::operator<<):
1633 * UIProcess/API/C/WKPreferences.cpp:
1634 * UIProcess/API/C/WKPreferencesPrivate.h:
1635 * WebProcess/InjectedBundle/InjectedBundle.cpp:
1636 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1637 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1638 (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
1639 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1640 * WebProcess/WebPage/WebPage.cpp:
1641 (WebKit::WebPage::updatePreferences):
1642 * mac/WebKit2.order:
1644 2014-01-23 Anders Carlsson <andersca@apple.com>
1646 Add API::PolicyClient base class
1647 https://bugs.webkit.org/show_bug.cgi?id=127509
1649 Reviewed by Tim Horton.
1651 * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
1652 (API::PolicyClient::~PolicyClient):
1653 * UIProcess/API/C/WKPage.cpp:
1654 (WKPageSetPagePolicyClient):
1655 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1656 (setUpPagePolicyClient):
1657 (-[WKBrowsingContextController setPolicyDelegate:]):
1658 * UIProcess/WebInspectorProxy.cpp:
1659 (WebKit::WebInspectorProxy::createInspectorPage):
1660 * UIProcess/WebPageProxy.cpp:
1661 (WebKit::WebPageProxy::setPolicyClient):
1662 (WebKit::WebPageProxy::close):
1663 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
1664 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
1665 (WebKit::WebPageProxy::decidePolicyForResponse):
1666 (WebKit::WebPageProxy::unableToImplementPolicy):
1667 * UIProcess/WebPageProxy.h:
1668 * UIProcess/WebPolicyClient.cpp:
1669 (WebKit::WebPolicyClient::WebPolicyClient):
1670 (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
1671 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
1672 (WebKit::WebPolicyClient::decidePolicyForResponse):
1673 * UIProcess/WebPolicyClient.h:
1674 * WebKit2.xcodeproj/project.pbxproj:
1676 2014-01-23 Anders Carlsson <andersca@apple.com>
1678 Add init methods that create default configurations
1679 https://bugs.webkit.org/show_bug.cgi?id=127503
1681 Reviewed by Dan Bernstein.
1683 * UIProcess/API/Cocoa/WKProcessClass.mm:
1684 (-[WKProcessClass init]):
1685 * UIProcess/API/Cocoa/WKWebView.mm:
1686 (-[WKWebView initWithFrame:]):
1688 2014-01-23 Brady Eidson <beidson@apple.com>
1690 IDB: Implement cross-thread and IPC plumbing for 'get' support
1691 https://bugs.webkit.org/show_bug.cgi?id=127501
1693 Reviewed by Anders Carlsson.
1695 Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
1696 response from the DatabaseProcess:
1697 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
1698 (WebKit::WebIDBServerConnection::get):
1699 (WebKit::WebIDBServerConnection::didGetRecord):
1700 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
1701 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
1703 Get the request from the WebProcess and forward it to the appropriate unique IDB database:
1704 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
1705 (WebKit::DatabaseProcessIDBConnection::getRecord):
1706 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
1707 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
1709 Forward the request to the database thread, and response to the result from that thread:
1710 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1711 (WebKit::UniqueIDBDatabase::getRecord):
1712 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
1713 (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
1714 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
1716 IPC and asynchronous request infrastructure:
1717 * Scripts/webkit2/messages.py:
1720 * Shared/AsyncTask.h:
1721 (WebKit::createAsyncTask):
1723 * Shared/WebCoreArgumentCoders.cpp:
1724 (IPC::ArgumentCoder<IDBGetResult>::encode):
1725 (IPC::ArgumentCoder<IDBGetResult>::decode):
1726 (IPC::ArgumentCoder<IDBKeyRangeData>::encode):
1727 (IPC::ArgumentCoder<IDBKeyRangeData>::decode):
1728 * Shared/WebCoreArgumentCoders.h:
1730 2014-01-23 Tim Horton <timothy_horton@apple.com>
1732 PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
1733 https://bugs.webkit.org/show_bug.cgi?id=127415
1734 <rdar://problem/12482452>
1736 Reviewed by Sam Weinig.
1738 Allow use of PDFPlugin even if an external plugin is installed but blocked.
1739 If an external plugin is installed and not blocked, we will continue to use that.
1741 Inject a context menu item into the PDFPlugin context menu that allows the client
1742 to unblock the plugin and reload the page (via the same mechanism that the
1743 unavailable plugin button uses).
1745 * UIProcess/API/C/WKPageLoaderClient.h:
1746 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1747 (setUpPageLoaderClient):
1748 * UIProcess/WebLoaderClient.cpp:
1749 (WebKit::WebLoaderClient::pluginLoadPolicy):
1750 * UIProcess/WebLoaderClient.h:
1751 * UIProcess/WebPageProxy.cpp:
1752 (WebKit::WebPageProxy::findPlugin):
1753 * UIProcess/WebPageProxy.h:
1754 * UIProcess/WebPageProxy.messages.in:
1755 Add a new PluginLoadPolicy callback for the V4 client with
1756 yet another string out-argument, to allow clients to customize the string
1757 that will appear in the PDFPlugin context menu when it is used in place
1758 of a blocked plugin.
1760 * WebProcess/Plugins/PDF/PDFPlugin.h:
1761 Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
1762 we should include an item in the PDFPlugin context menu that acts identically
1763 to the unavailable plugin button, allowing the client to potentially unblock
1766 * WebProcess/Plugins/PDF/PDFPlugin.mm:
1767 (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
1768 (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
1769 Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
1770 aforementioned context menu item targets.
1772 (WebKit::PDFPlugin::PDFPlugin):
1773 By default, we won't show the extra context menu item.
1775 (WebKit::PDFPlugin::handleContextMenuEvent):
1776 If we were used in place of a blocked plugin, inject our additional context
1777 menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
1778 use that. Otherwise, use the generic string from WebCore's localized strings.
1780 (WebKit::PDFPlugin::openWithPlugin):
1781 Pretend that the user clicked the unavailable plugin button when they click
1782 the injected context menu item.
1784 (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):
1786 * WebProcess/WebPage/WebPage.cpp:
1787 (WebKit::WebPage::createPlugin):
1788 If we end up with a blocked plugin, but could have used PDFPlugin to display
1789 the content, do so instead of showing the unavailable plugin indicator.
1791 Pass PDFPlugin the custom context menu item title acquired from the client.
1793 (WebKit::WebPage::canPluginHandleResponse):
1795 2014-01-23 Tim Horton <timothy_horton@apple.com>
1797 [iOS] [WK2] WKContentView has a black background
1798 https://bugs.webkit.org/show_bug.cgi?id=127471
1799 <rdar://problem/12287363>
1801 Reviewed by Sam Weinig.
1803 * UIProcess/API/ios/WKContentView.mm:
1804 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1805 Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
1806 to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.
1808 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
1810 [GLIB] Use GUniquePtr instead of GOwnPtr
1811 https://bugs.webkit.org/show_bug.cgi?id=127431
1813 Reviewed by Martin Robinson.
1815 GUniquePtr is a template alias of std::unique_ptr with a custom
1816 deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
1817 where the output pointer is needed, but it will also be replaced soon.
1819 * Shared/Downloads/soup/DownloadSoup.cpp:
1820 (WebKit::DownloadClient::didReceiveResponse):
1821 * Shared/NativeWebKeyboardEvent.h:
1822 * Shared/NativeWebMouseEvent.h:
1823 * Shared/NativeWebWheelEvent.h:
1824 * Shared/gtk/ArgumentCodersGtk.cpp:
1825 (IPC::encodeGKeyFile):
1826 (IPC::decodeGKeyFile):
1829 * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
1830 (webkitContextMenuItemSetSubMenuFromGtkMenu):
1831 * UIProcess/API/gtk/WebKitDownload.cpp:
1832 (webkitDownloadDecideDestination):
1833 (webkitDownloadNotifyProgress):
1834 (webkitDownloadFailed):
1835 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
1836 (webkit_file_chooser_request_select_files):
1837 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1838 (didReceiveWebViewMessageFromInjectedBundle):
1839 (getInjectedBundleInitializationUserData):
1840 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1841 (didFailProvisionalLoadWithErrorForFrame):
1842 (didFailLoadWithErrorForFrame):
1843 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1844 (drawPagesForPrintingCompleted):
1845 * UIProcess/API/gtk/WebKitURIRequest.cpp:
1846 (webkit_uri_request_get_http_headers):
1847 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
1848 (webkit_uri_scheme_request_get_scheme):
1849 (webkit_uri_scheme_request_get_path):
1850 * UIProcess/API/gtk/WebKitWebContext.cpp:
1851 (injectedBundleFilename):
1852 (webkit_web_context_set_favicon_database_directory):
1853 * UIProcess/API/gtk/WebKitWebView.cpp:
1854 (webkitWebViewLoadFail):
1855 (webkitWebViewCreateJavaScriptDialog):
1856 (fileChooserDialogResponseCallback):
1857 (webkitWebViewLoadChanged):
1858 (webkitWebViewLoadFailedWithTLSErrors):
1859 (webkitWebViewPopulateContextMenu):
1860 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1861 (webkitWebViewBaseButtonPressEvent):
1862 (webkitWebViewBaseStartDrag):
1863 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
1864 (WebKit::WebInspectorServer::platformResourceForPath):
1865 * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
1866 (WebKit::connectionCallback):
1867 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1868 (WebKit::ProcessLauncher::launchProcess):
1869 * UIProcess/gtk/WebContextGtk.cpp:
1870 (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
1871 (WebKit::WebContext::platformDefaultDatabaseDirectory):
1872 (WebKit::WebContext::platformDefaultIconDatabasePath):
1873 (WebKit::WebContext::platformDefaultLocalStorageDirectory):
1874 (WebKit::WebContext::platformDefaultDiskCacheDirectory):
1875 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1876 (WebKit::contextMenuItemVisibilityChanged):
1877 * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1878 (WebKit::WebInspectorProxy::platformInspectedURLChanged):
1879 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1880 (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
1881 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
1882 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1883 (WebKit::WebPage::platformInitialize):
1884 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1885 * WebProcess/gtk/WebProcessMainGtk.cpp:
1886 * WebProcess/soup/WebSoupRequestManager.cpp:
1887 (WebKit::WebSoupRequestManager::send):
1889 2014-01-22 Simon Fraser <simon.fraser@apple.com>
1891 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
1892 https://bugs.webkit.org/show_bug.cgi?id=127461
1894 Reviewed by Andreas Kling.
1896 The "fixedVisibleContentRect" code path is only used by platforms
1897 which enabled TILED_BACKING_STORE, so to reduce confusion, surround
1898 this code with #if USE(TILED_BACKING_STORE).
1900 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1901 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1903 2014-01-22 Benjamin Poulain <bpoulain@apple.com>
1905 Add a minimalistic SPI to control the layout size outside of WKView
1906 https://bugs.webkit.org/show_bug.cgi?id=127403
1908 Reviewed by Sam Weinig.
1910 The API lets a client of WKView force the layout size. Once the size
1911 is set this way, default update is disabled and the client needs to
1912 update the size systematically as needed. This is done to avoid double
1913 layout or flickering.
1915 * UIProcess/API/Cocoa/WKViewPrivate.h:
1916 * UIProcess/API/ios/WKViewIOS.mm:
1917 (-[WKView _frameOrBoundsChanged]):
1918 (-[WKView overrideMinimumLayoutSize:]):
1920 2014-01-22 Jinwoo Song <jinwoo7.song@samsung.com>
1922 [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
1923 https://bugs.webkit.org/show_bug.cgi?id=127420
1925 Reviewed by Gyuyoung Kim.
1927 As the defaultTextEncodingName is returned as a local WKEinaSharedString variable,
1928 the stringshared data is de-refed by eina_stringshare_del().
1929 To maintain the reference counter, the defaultTextEncodingName should be stored
1930 as a member variable of EwkSettings class.
1932 * UIProcess/API/efl/ewk_settings.cpp:
1933 (ewk_settings_encoding_detector_enabled_get): Reordering.
1934 (ewk_settings_default_text_encoding_name_set):
1935 (ewk_settings_default_text_encoding_name_get):
1936 (EwkSettings::setDefaultTextEncodingName):
1937 (EwkSettings::defaultTextEncodingName):
1938 * UIProcess/API/efl/ewk_settings_private.h:
1939 (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.
1941 2014-01-22 Enrica Casucci <enrica@apple.com>
1943 Support WebSelections in WK2 on iOS.
1944 https://bugs.webkit.org/show_bug.cgi?id=127015
1945 <rdar://problem/15211964>
1947 Reviewed by Benjamin Poulain.
1949 This change adds support for text only (non block mode)
1950 selections in non editable content.
1951 The main changes consist in hooking up the new gesture type
1952 and touches to handle selection creation and interaction.
1953 It also includes changes to the way first responder is handled
1954 which includes the implementation of the isEditable method
1955 to allow iOS to know when to show the keyboard.
1957 * Shared/ios/WKGestureTypes.h:
1958 * UIProcess/API/ios/WKInteractionView.mm:
1959 (-[WKInteractionView isEditable]):
1960 (-[WKInteractionView canBecomeFirstResponder]):
1961 (-[WKInteractionView webSelectionRects]):
1962 (-[WKInteractionView _highlightLongPressRecognized:]):
1963 (-[WKInteractionView _singleTapRecognized:]):
1964 (-[WKInteractionView inputAccessoryView]):
1965 (-[WKInteractionView canPerformAction:withSender:]):
1966 (-[WKInteractionView _showDictionary:]):
1968 (toUIWKGestureType):
1969 (selectionChangedWithGesture):
1970 (selectionChangedWithTouch):
1971 (-[WKInteractionView selectedTextRange]):
1972 (-[WKInteractionView webSelectionAssistant]):
1973 (-[WKInteractionView _startAssistingNode]):
1974 (-[WKInteractionView _stopAssistingNode]):
1975 (-[WKInteractionView _selectionChanged]):
1976 * WebProcess/WebPage/ios/WebPageIOS.mm:
1977 (WebKit::WebPage::selectWithGesture):
1978 (WebKit::WebPage::updateSelectionWithTouches):
1980 2014-01-22 Anders Carlsson <andersca@apple.com>
1982 WKBrowsingContextController should not be an API wrapper around WebPageProxy
1983 https://bugs.webkit.org/show_bug.cgi?id=127454
1985 Reviewed by Dan Bernstein.
1987 * Shared/Cocoa/APIObject.mm:
1988 (API::Object::newObject):
1989 * Shared/mac/ObjCObjectGraphCoders.mm:
1990 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
1991 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1992 (-[WKBrowsingContextController _initWithPageRef:]):
1993 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
1994 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
1995 * UIProcess/API/Cocoa/WKProcessGroup.mm:
1996 (didNavigateWithNavigationData):
1997 (didPerformClientRedirect):
1998 (didPerformServerRedirect):
1999 (didUpdateHistoryTitle):
2000 * UIProcess/API/ios/WKContentView.mm:
2001 (-[WKContentView browsingContextController]):
2002 * UIProcess/API/mac/WKView.mm:
2003 (-[WKView browsingContextController]):
2004 * UIProcess/ios/WebPageProxyIOS.mm:
2005 (WebKit::WebPageProxy::platformInitialize):
2006 * UIProcess/mac/WebPageProxyMac.mm:
2007 (WebKit::WebPageProxy::platformInitialize):
2009 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
2011 Remove CSS3_TEXT_DECORATION define
2012 https://bugs.webkit.org/show_bug.cgi?id=127333
2014 Reviewed by Simon Fraser.
2016 This is required for unprefixing the text-decoration-* CSS properties.
2018 * Configurations/FeatureDefines.xcconfig:
2020 2014-01-22 Gavin Barraclough <barraclough@apple.com>
2022 Debug mechanism to override process QoS on Mac
2023 https://bugs.webkit.org/show_bug.cgi?id=127455
2025 Reviewed by Anders Carlsson.
2027 * NetworkProcess/NetworkProcess.messages.in:
2029 * PluginProcess/PluginProcess.messages.in:
2031 * Shared/ChildProcess.h:
2032 * Shared/mac/ChildProcessMac.mm:
2033 (WebKit::ChildProcess::setQOS):
2034 - Added implementation of new message.
2035 * UIProcess/Plugins/PluginProcessProxy.cpp:
2036 (WebKit::PluginProcessProxy::didFinishLaunching):
2037 - SetQOS for the PluginProcess.
2038 * UIProcess/Plugins/PluginProcessProxy.h:
2039 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2040 (WebKit::pluginProcessLatencyQOS):
2041 (WebKit::pluginProcessThroughputQOS):
2042 - read NSUserDefaults.
2043 * UIProcess/WebContext.cpp:
2044 (WebKit::WebContext::ensureNetworkProcess):
2045 - SetQOS for the NetworkProcess.
2046 (WebKit::WebContext::createNewWebProcess):
2047 - SetQOS for the WebProcess.
2048 * UIProcess/WebContext.h:
2049 * UIProcess/mac/WebContextMac.mm:
2050 (WebKit::networkProcessLatencyQOS):
2051 (WebKit::networkProcessThroughputQOS):
2052 (WebKit::webProcessLatencyQOS):
2053 (WebKit::webProcessThroughputQOS):
2054 - read NSUserDefaults.
2055 * WebProcess/WebProcess.messages.in:
2058 2014-01-22 David Farler <dfarler@apple.com>
2060 ASAN builds are broken - missing flags
2061 https://bugs.webkit.org/show_bug.cgi?id=127231
2063 Reviewed by Andy Estes.
2065 Add missing $(ASAN_OTHER_LDFLAGS).
2066 * Configurations/PluginProcessShim.xcconfig:
2067 * Configurations/SecItemShim.xcconfig:
2068 * Configurations/WebKit2.xcconfig:
2069 * Configurations/WebProcessShim.xcconfig:
2071 2014-01-22 Brady Eidson <beidson@apple.com>
2073 The IDB backing store get() method shouldn't call IDB callbacks directly
2074 https://bugs.webkit.org/show_bug.cgi?id=127453
2076 Reviewed by Beth Dakin.
2078 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2079 (WebKit::WebIDBServerConnection::get):
2080 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2082 2014-01-22 Martin Hock <mhock@apple.com>
2085 https://bugs.webkit.org/show_bug.cgi?id=127255
2087 Reviewed by Alexey Proskuryakov.
2089 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2090 (WebKit::storageSession):
2091 * NetworkProcess/NetworkResourceLoader.cpp:
2092 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2093 (WebKit::NetworkResourceLoader::start):
2094 * NetworkProcess/NetworkResourceLoader.h:
2095 * NetworkProcess/RemoteNetworkingContext.h:
2096 * NetworkProcess/mac/RemoteNetworkingContext.mm:
2097 (WebKit::RemoteNetworkingContext::storageSession):
2098 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2099 * Shared/Network/NetworkResourceLoadParameters.cpp:
2100 (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
2101 (WebKit::NetworkResourceLoadParameters::encode):
2102 (WebKit::NetworkResourceLoadParameters::decode):
2103 * Shared/Network/NetworkResourceLoadParameters.h:
2104 * Shared/SessionTracker.cpp:
2105 (WebKit::staticSessionMap):
2106 (WebKit::SessionTracker::sessionMap):
2107 (WebKit::SessionTracker::session):
2108 (WebKit::SessionTracker::setSession):
2109 (WebKit::SessionTracker::destroySession):
2110 * Shared/SessionTracker.h:
2111 * UIProcess/API/C/WKPage.cpp:
2113 * UIProcess/API/C/WKPage.h:
2114 * UIProcess/API/C/WKSessionRef.cpp:
2116 * UIProcess/API/C/WKSessionRef.h:
2117 * UIProcess/WebPageProxy.cpp:
2118 (WebKit::WebPageProxy::WebPageProxy):
2119 (WebKit::WebPageProxy::setSession):
2120 * UIProcess/WebPageProxy.h:
2121 * WebProcess/Network/WebResourceLoadScheduler.cpp:
2122 (WebKit::WebResourceLoadScheduler::scheduleLoad):
2123 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2124 (WebKit::WebPlatformStrategies::loadResourceSynchronously):
2125 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2126 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2127 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
2128 (WebKit::WebFrameNetworkingContext::storageSession):
2129 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2130 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2131 * WebProcess/WebPage/WebFrame.cpp:
2132 (WebKit::WebFrame::startDownload):
2133 * WebProcess/WebPage/WebPage.cpp:
2134 (WebKit::WebPage::WebPage):
2135 (WebKit::WebPage::sessionID):
2136 (WebKit::WebPage::updatePreferences):
2137 * WebProcess/WebPage/WebPage.h:
2138 (WebKit::WebPage::setSessionID):
2139 * WebProcess/WebPage/WebPage.messages.in:
2141 2014-01-21 Brady Eidson <beidson@apple.com>
2144 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
2146 Reviewed by Alexey Proskuryakov.
2148 Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
2149 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2150 (WebKit::WebIDBServerConnection::put):
2151 (WebKit::WebIDBServerConnection::didPutRecord):
2152 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2153 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2155 Pass off the putRecord request to the Unique IDBDatabase:
2156 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2157 (WebKit::DatabaseProcessIDBConnection::putRecord):
2158 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2159 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2161 Pass off the putRecord request to the backing store:
2162 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2163 (WebKit::UniqueIDBDatabase::putRecord):
2164 (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
2165 (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
2166 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2168 Add backing store methods related to putRecord, though only one is critical right now:
2169 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2170 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2171 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
2172 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
2173 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
2174 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
2175 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
2176 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
2178 Add the IDBKeyData type to IPC:
2179 * Scripts/webkit2/messages.py:
2182 * Shared/WebCoreArgumentCoders.cpp:
2183 (IPC::ArgumentCoder<IDBKeyData>::encode):
2184 (IPC::ArgumentCoder<IDBKeyData>::decode):
2185 * Shared/WebCoreArgumentCoders.h:
2187 * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
2188 (WebKit::serializeIDBKey):
2189 * DatabaseProcess/IndexedDB/IDBSerialization.h:
2191 Implement more cross-thread copying:
2192 * Shared/WebCrossThreadCopier.cpp:
2193 (WebCore::Vector<uint8_t>>::copy):
2194 (WebCore::Vector<Vector<IDBKeyData>>>::copy):
2195 (WebCore::ASCIILiteral>::copy):
2196 * Shared/WebCrossThreadCopier.h:
2198 Implement more numbers of generic AsyncTask templates:
2199 * Shared/AsyncTask.h:
2200 (WebKit::createAsyncTask):
2202 2014-01-22 Anders Carlsson <andersca@apple.com>
2204 WKProcessClass should create a WebContext
2205 https://bugs.webkit.org/show_bug.cgi?id=127449
2206 <rdar://problem/15885582>
2208 Reviewed by Dan Bernstein.
2210 * Shared/Cocoa/APIObject.mm:
2211 (API::Object::newObject):
2212 * UIProcess/API/Cocoa/WKBrowsingContextController.h:
2213 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
2214 * UIProcess/API/Cocoa/WKProcessClass.mm:
2215 (-[WKProcessClass initWithConfiguration:]):
2216 (-[WKProcessClass dealloc]):
2217 (-[WKProcessClass API::]):
2218 * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
2220 * UIProcess/API/Cocoa/WKProcessGroup.mm:
2221 (-[WKProcessGroup initWithInjectedBundleURL:]):
2222 * UIProcess/API/ios/WKContentView.mm:
2223 (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
2224 * WebKit2.xcodeproj/project.pbxproj:
2226 2014-01-22 Tim Horton <timothy_horton@apple.com>
2228 Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
2229 https://bugs.webkit.org/show_bug.cgi?id=127445
2231 Reviewed by Anders Carlsson.
2233 * UIProcess/API/ios/WKContentView.mm:
2234 (-[WKContentView _updateViewExposedRect]):
2235 * UIProcess/API/mac/WKView.mm:
2236 (-[WKView _updateViewExposedRect]):
2239 2014-01-22 Anders Carlsson <andersca@apple.com>
2242 https://bugs.webkit.org/show_bug.cgi?id=127444
2243 <rdar://problem/15884418>
2245 Reviewed by Dan Bernstein.
2247 * UIProcess/API/Cocoa/WKWebView.h: Added.
2248 * UIProcess/API/Cocoa/WKWebView.mm: Added.
2249 (-[WKWebView initWithFrame:configuration:]):
2250 (-[WKWebView configuration]):
2251 * WebKit2.xcodeproj/project.pbxproj:
2253 2014-01-22 Anders Carlsson <andersca@apple.com>
2257 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2259 2014-01-22 Tim Horton <timothy_horton@apple.com>
2261 [wk2] Scroll pinning state is wrong until the first scroll event
2262 https://bugs.webkit.org/show_bug.cgi?id=127437
2264 Reviewed by Simon Fraser.
2266 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2267 (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
2268 * WebProcess/WebPage/WebPage.cpp:
2269 (WebKit::WebPage::updateMainFrameScrollOffsetPinning):
2270 (WebKit::WebPage::didCommitLoad):
2271 * WebProcess/WebPage/WebPage.h:
2272 Rename WebPage::didChangeScrollOffsetForMainFrame to
2273 updateMainFrameScrollOffsetPinning, which better describes what it
2274 actually does. Call it when a load is committed, so that we have valid
2275 pinning state before the first scroll event comes in.
2277 2014-01-22 Anders Carlsson <andersca@apple.com>
2279 Add WKWebViewConfiguration class
2280 https://bugs.webkit.org/show_bug.cgi?id=127436
2281 <rdar://problem/15882923>
2283 Reviewed by Tim Horton.
2285 * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
2286 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
2287 (-[WKWebViewConfiguration copyWithZone:]):
2288 * WebKit2.xcodeproj/project.pbxproj:
2290 2014-01-22 Alice Barraclough <alice.liu@apple.com>
2292 [WK2] add cocoa API for private browsing setting
2293 https://bugs.webkit.org/show_bug.cgi?id=127391
2295 Reviewed by Sam Weinig.
2297 * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
2298 * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
2299 (-[WKBrowsingContextGroup privateBrowsingEnabled]):
2300 (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
2301 Adding some API for the private Browsing setting. Reaches through
2302 to the WKPageGroup's preferences.
2304 2014-01-22 Anders Carlsson <andersca@apple.com>
2306 Add WKProcessClass class
2307 https://bugs.webkit.org/show_bug.cgi?id=127433
2308 <rdar://problem/15882582>
2310 Reviewed by Dan Bernstein.
2312 Add a stubbed out WKProcessClass class.
2314 * Shared/API/Cocoa/WKFoundation.h:
2315 * UIProcess/API/Cocoa/WKProcessClass.h: Added.
2316 * UIProcess/API/Cocoa/WKProcessClass.mm: Added.
2317 (-[WKProcessClass initWithConfiguration:]):
2318 (-[WKProcessClass configuration]):
2319 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
2320 * WebKit2.xcodeproj/project.pbxproj:
2322 2014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2324 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
2325 https://bugs.webkit.org/show_bug.cgi?id=127119
2327 Reviewed by Mario Sanchez Prada.
2329 Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).
2331 * WebProcess/WebPage/WebPage.cpp:
2332 (WebKit::WebPage::WebPage):
2333 * WebProcess/WebPage/WebPage.h:
2334 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
2335 (WebKit::WebPage::platformInitialize):
2337 2014-01-22 Martin Robinson <mrobinson@igalia.com>
2339 [GTK][CMake] Add support for building the NetworkProcess
2340 https://bugs.webkit.org/show_bug.cgi?id=127195
2342 Reviewed by Daniel Bates.
2344 * CMakeLists.txt: Add shared network process build instructions.
2345 * PlatformEfl.cmake: Move build instructions to the platform-independent file.
2346 * PlatformGTK.cmake: Add some files to the source lists.
2348 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
2350 REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
2351 https://bugs.webkit.org/show_bug.cgi?id=127422
2353 Reviewed by Anders Carlsson.
2355 * WebProcess/gtk/WebGtkExtensionManager.cpp:
2356 (WebKit::WebGtkExtensionManager::initialize): Always create the
2357 WebKitWebExtension object since it's used internally to implement
2358 the ResourceLoader client.
2360 2014-01-22 Jer Noble <jer.noble@apple.com>
2362 [Mac][WK2] Unable to play video protected by session cookies
2363 https://bugs.webkit.org/show_bug.cgi?id=127207
2365 Reviewed by Sam Weinig.
2367 Recent changes in our underlying media frameworks caused our shimmed methods
2368 in CookieStorageShim to stop being called. Insert an objective-c shim in addition
2369 to our original shim to intercept pulling cookies out of cookie storage.
2371 * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
2372 (WebKit::CookieStorageShim::initialize): Insert the shim.
2373 (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
2374 Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
2375 * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.
2377 2014-01-22 Yongjun Zhang <yongjun_zhang@apple.com>
2379 https://bugs.webkit.org/show_bug.cgi?id=127380
2380 Add more methods to WKWebProcessPlugInNodeHandle.
2382 Reviewed by Sam Weinig.
2384 Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*. Also
2385 add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.
2387 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
2388 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
2389 (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
2390 (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):
2392 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
2394 Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.
2396 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
2397 Use override instead of OVERRIDE.
2399 2014-01-22 Koop Mast <kwm@FreeBSD.org>
2401 Build fixes for FreeBSD.
2402 https://bugs.webkit.org/show_bug.cgi?id=126779
2404 Reviewed by Csaba Osztrogonác.
2406 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2407 (WebKit::PluginProcessProxy::scanPlugin):
2409 2014-01-22 Jinwoo Song <jinwoo7.song@samsung.com>
2411 [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
2412 https://bugs.webkit.org/show_bug.cgi?id=127397
2414 Reviewed by Anders Carlsson.
2416 Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
2417 and DispatchQueue::setSocketEventHandler.
2419 * Platform/IPC/unix/ConnectionUnix.cpp:
2420 (IPC::Connection::open):
2421 * Platform/WorkQueue.h:
2422 * Platform/efl/DispatchQueueEfl.cpp:
2423 (DispatchQueue::setSocketEventHandler):
2424 * Platform/efl/DispatchQueueEfl.h:
2425 * Platform/efl/WorkQueueEfl.cpp:
2426 (WorkQueue::registerSocketEventHandler):
2428 2014-01-21 Tim Horton <timothy_horton@apple.com>
2430 [wk2] De-.get()ify receivers of Objective-C messages
2431 https://bugs.webkit.org/show_bug.cgi?id=127398
2433 Reviewed by Sam Weinig.
2435 RetainPtr does the right thing when you use it as the
2436 receiver of an Obj-C message, so we don't need .get().
2438 Long and useless file list elided.
2440 2014-01-21 Brady Eidson <beidson@apple.com>
2442 The IDB backing store put() method shouldn't call IDB callbacks directly
2443 https://bugs.webkit.org/show_bug.cgi?id=127399
2445 Reviewed by Beth Dakin.
2447 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2448 (WebKit::WebIDBServerConnection::put):
2449 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2451 2014-01-21 Anders Carlsson <andersca@apple.com>
2455 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
2457 2014-01-21 Jinwoo Song <jinwoo7.song@samsung.com>
2459 [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
2460 https://bugs.webkit.org/show_bug.cgi?id=127263
2462 Reviewed by Gyuyoung Kim.
2464 After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
2465 So it would be better to use nanoseconds in TimerWorkItem for consistency.
2467 * Platform/efl/DispatchQueueEfl.cpp:
2468 (DispatchQueue::performTimerWork):
2469 (DispatchQueue::insertTimerWorkItem):
2470 (DispatchQueue::getNextTimeOut):
2471 * Platform/efl/DispatchQueueWorkItemEfl.h:
2472 (TimerWorkItem::create):
2473 (TimerWorkItem::expirationTimeNanoSeconds):
2474 (TimerWorkItem::hasExpired):
2475 (TimerWorkItem::TimerWorkItem):
2477 2014-01-21 Tim Horton <timothy_horton@apple.com>
2479 Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.
2481 Reviewed by Simon Fraser.
2483 * WebKit2.xcodeproj/project.pbxproj:
2485 2014-01-21 Anders Carlsson <andersca@apple.com>
2487 Add a WKProcessClassConfiguration class
2488 https://bugs.webkit.org/show_bug.cgi?id=127378
2489 <rdar://problem/15875413>
2491 Reviewed by Dan Bernstein.
2493 * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
2494 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
2495 (-[WKProcessClassConfiguration copyWithZone:]):
2496 * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
2497 * WebKit2.xcodeproj/project.pbxproj:
2499 2014-01-21 Tim Horton <timothy_horton@apple.com>
2501 Make ViewGestureController Obj-C++
2502 https://bugs.webkit.org/show_bug.cgi?id=127385
2504 Reviewed by Dean Jackson.
2506 * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
2507 * WebKit2.xcodeproj/project.pbxproj:
2509 2014-01-21 Anders Carlsson <andersca@apple.com>
2511 Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
2512 https://bugs.webkit.org/show_bug.cgi?id=127374
2514 Reviewed by Dan Bernstein.
2516 * WebKit2.xcodeproj/project.pbxproj:
2518 2014-01-21 Commit Queue <commit-queue@webkit.org>
2520 Unreviewed, rolling out r162452.
2521 http://trac.webkit.org/changeset/162452
2522 https://bugs.webkit.org/show_bug.cgi?id=127366
2524 broke a few tests on all Mac WebKit1 bots (Requested by
2525 thorton on #webkit).
2527 * WebProcess/WebPage/WebPage.cpp:
2528 (WebKit::WebPage::WebPage):
2529 (WebKit::WebPage::setActive):
2530 (WebKit::WebPage::setViewIsVisible):
2531 (WebKit::WebPage::setFocused):
2532 (WebKit::WebPage::setIsInWindow):
2533 (WebKit::WebPage::setViewStateInternal):
2534 (WebKit::WebPage::setIsVisuallyIdle):
2535 * WebProcess/WebPage/WebPage.h:
2537 2014-01-21 Martin Hock <mhock@apple.com>
2539 Trivial Session API cleanup.
2540 https://bugs.webkit.org/show_bug.cgi?id=127356
2542 Reviewed by Alexey Proskuryakov.
2544 * UIProcess/API/C/WKSessionRef.cpp:
2545 (WKSessionIsEphemeral):
2546 * UIProcess/API/C/WKSessionRef.h:
2548 2014-01-16 Simon Fraser <simon.fraser@apple.com>
2550 Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
2551 https://bugs.webkit.org/show_bug.cgi?id=127121
2553 Reviewed by Anders Carlsson.
2555 A common cause of early WebProcess crashes during development is a null return
2556 from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
2557 this case rather than passing a null C string to dlsym().
2559 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
2560 (WebKit::BootstrapMain):
2562 2014-01-21 Tim Horton <timothy_horton@apple.com>
2564 Sort headers after the rename that happened in r162454.
2566 * UIProcess/mac/RemoteLayerTreeHost.mm:
2567 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
2569 2014-01-21 Tim Horton <timothy_horton@apple.com>
2571 Address late review naming comments after r162453.
2573 * UIProcess/API/mac/WKView.mm:
2574 And, fix the build by adding an include I accidentally missed.
2576 * UIProcess/mac/RemoteLayerTreeHost.mm:
2577 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
2579 2014-01-21 Tim Horton <timothy_horton@apple.com>
2581 Keep CALayer implicit animation disabling code in a single place
2582 https://bugs.webkit.org/show_bug.cgi?id=127355
2584 Reviewed by Simon Fraser.
2586 * Shared/mac/RemoteLayerTreePropertyApplier.h:
2587 * Shared/mac/RemoteLayerTreePropertyApplier.mm:
2588 Remove disableActionsForLayer.
2590 * UIProcess/API/mac/WKView.mm:
2591 (-[WKView _rootLayer]):
2592 Disable actions on the root layer. It doesn't need them, and currently
2593 isn't affected by implicit animations, but future patches which animate
2594 the root layer will benefit from this.
2596 * UIProcess/mac/RemoteLayerTreeHost.mm:
2597 (WebKit::RemoteLayerTreeHost::createLayer):
2598 Use web_disableAllActions instead of disableActionsForLayer.
2600 * WebKit2.xcodeproj/project.pbxproj:
2601 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
2602 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
2603 (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
2604 (PlatformCALayerRemoteCustom::hostingContextID):
2605 Use web_disableAllActions instead of disableActionsForLayer.
2606 This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.
2608 2014-01-21 Gavin Barraclough <barraclough@apple.com>
2610 Change Page, FocusController to use ViewState
2611 https://bugs.webkit.org/show_bug.cgi?id=126533
2613 Reviewed by Tim Horton.
2615 These classes currently maintain a set of separate fields to represent the view state;
2616 combine these into a single field, and allow WebPage to send the combined update rather
2617 than individual changes.
2619 Maintain existing interface for WebKit1 clients.
2621 * WebProcess/WebPage/WebPage.cpp:
2622 (WebKit::WebPage::WebPage):
2623 - Combined separate calls to Page::setViewState.
2624 (WebKit::WebPage::updateIsInWindow):
2625 - Simplied from setIsInWindow.
2626 (WebKit::WebPage::setViewState):
2627 - Combined separate calls to Page::setViewState.
2628 * WebProcess/WebPage/WebPage.h:
2629 - Declare updateIsInWindow.
2631 2014-01-21 Carlos Garcia Campos <cgarcia@igalia.com>
2633 [SOUP] Implement CUSTOM PROTOCOLS
2634 https://bugs.webkit.org/show_bug.cgi?id=125583
2636 Reviewed by Anders Carlsson.
2638 Add new classes to implement CustomProtocols for soup. The
2639 implementation is the same, but using the CustomProtocol API and
2640 messages. The current implementation can be removed once all ports
2641 using soup switch to using CustomProtocols.
2643 * GNUmakefile.am: Add new include paths.
2644 * GNUmakefile.list.am: Add new files to compilation.
2645 * PlatformGTK.cmake: Add new files to compilation.
2646 * Shared/API/c/soup/WKBaseSoup.h:
2647 * Shared/APIObject.h:
2648 * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2649 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
2650 (WebKit::generateCustomProtocolID):
2651 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
2652 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
2653 (WebKit::WebSoupRequestAsyncData::requestFailed):
2654 (WebKit::WebSoupRequestAsyncData::releaseTask):
2655 (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
2656 (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
2657 (WebKit::CustomProtocolManagerImpl::registerScheme):
2658 (WebKit::CustomProtocolManagerImpl::supportsScheme):
2659 (WebKit::CustomProtocolManagerImpl::didFailWithError):
2660 (WebKit::CustomProtocolManagerImpl::didLoadData):
2661 (WebKit::CustomProtocolManagerImpl::didReceiveResponse):
2662 (WebKit::CustomProtocolManagerImpl::didFinishLoading):
2663 (WebKit::CustomProtocolManagerImpl::send):
2664 (WebKit::CustomProtocolManagerImpl::finish):
2665 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
2666 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
2667 (WebKit::CustomProtocolManager::CustomProtocolManager):
2668 (WebKit::CustomProtocolManager::initialize):
2669 (WebKit::CustomProtocolManager::registerScheme):
2670 (WebKit::CustomProtocolManager::supportsScheme):
2671 (WebKit::CustomProtocolManager::didFailWithError):
2672 (WebKit::CustomProtocolManager::didLoadData):
2673 (WebKit::CustomProtocolManager::didReceiveResponse):
2674 (WebKit::CustomProtocolManager::didFinishLoading):
2675 * Shared/WebProcessCreationParameters.cpp:
2676 (WebKit::WebProcessCreationParameters::encode):
2677 (WebKit::WebProcessCreationParameters::decode):
2678 * Shared/WebProcessCreationParameters.h:
2679 * UIProcess/API/C/soup/WKAPICastSoup.h:
2680 * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
2681 (WKSoupCustomProtocolRequestManagerGetTypeID):
2682 (WKSoupCustomProtocolRequestManagerSetClient):
2683 * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
2684 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2685 * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
2686 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2687 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
2688 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
2689 (WebKit::CustomProtocolManagerProxy::startLoading):
2690 (WebKit::CustomProtocolManagerProxy::stopLoading):
2691 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
2692 (WebKit::WebSoupCustomProtocolRequestManager::supplementName):
2693 (WebKit::WebSoupCustomProtocolRequestManager::create):
2694 (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
2695 (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
2696 (WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
2697 (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
2698 (WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
2699 (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
2700 (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
2701 (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
2702 (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
2703 (WebKit::WebSoupCustomProtocolRequestManager::startLoading):
2704 (WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
2705 (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
2706 (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
2707 (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
2708 (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
2709 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
2710 (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
2711 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
2712 (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
2713 (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
2714 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
2715 * UIProcess/Network/NetworkProcessProxy.cpp:
2716 (WebKit::NetworkProcessProxy::NetworkProcessProxy):
2717 * UIProcess/WebContext.cpp:
2718 (WebKit::WebContext::WebContext):
2719 * UIProcess/WebPageProxy.cpp:
2720 * UIProcess/WebPageProxy.h:
2721 * UIProcess/WebPageProxy.messages.in:
2722 * UIProcess/WebProcessProxy.cpp:
2723 (WebKit::WebProcessProxy::WebProcessProxy):
2724 * UIProcess/gtk/WebContextGtk.cpp:
2725 (WebKit::WebContext::platformInitializeWebProcess):
2726 * UIProcess/soup/WebContextSoup.cpp:
2727 (WebKit::WebContext::platformInitializeNetworkProcess):
2728 * WebProcess/WebProcess.cpp:
2729 (WebKit::WebProcess::WebProcess):
2730 * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2731 (webkitSoupRequestGenericSendAsync):
2732 (webkitSoupRequestGenericSendFinish):
2733 * WebProcess/soup/WebKitSoupRequestGeneric.h:
2734 * WebProcess/soup/WebProcessSoup.cpp:
2735 (WebKit::WebProcess::platformInitializeWebProcess):
2737 2014-01-21 Adrian Perez de Castro <aperez@igalia.com>
2739 [GTK] Allow passing extra data to web extensions
2740 https://bugs.webkit.org/show_bug.cgi?id=125990
2742 Reviewed by Carlos Garcia Campos.
2744 Allow passing additional information to the injected bundle. On top
2745 of the string containing the path to the web extensions directory,
2746 a GVariant can be set with additional data using
2747 webkit_web_context_set_web_extensions_initialization_user_data().
2748 Also, a new initialize-web-extensions signal is emitted before
2749 launching a new WebProcess to allow setting different user data
2750 for each process. The GVariant is serialized as a string, passed
2751 to the injected bundle, and the injected bundle deserializes back
2752 the data, which is passed to web extensions which define the
2753 webkit_web_extension_initialize_with_user_data() function (for
2754 backwards compatibility, webkit_web_extension_initialize() is
2755 used as a fallback.)
2757 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
2758 (getInjectedBundleInitializationUserData): Define new callback
2759 function which causes emission of the initialize-web-extensions
2760 signal, and serializes the data to be passed to the web process.
2761 (attachInjectedBundleClientToContext): Set the
2762 getInjectedBundleInitializationUserData() callback.
2763 * UIProcess/API/gtk/WebKitWebContext.cpp:
2764 (webkit_web_context_class_init): Define the
2765 initialize-web-extensions signal.
2766 (webkit_web_context_set_web_extensions_directory):
2767 Web extensions directory as now member of WebKitWebContextPrivate,
2768 to be able to retrieve it later.
2769 (webkit_web_context_set_web_extensions_initialization_user_data):
2770 New API method to set the user data passed to the web extensions
2772 (webkitWebContextInitializeWebExtensions): Private function used
2773 to trigger emission of the initialize-web-extensions signal.
2774 * UIProcess/API/gtk/WebKitWebContext.h:
2775 Added prototype for new API method
2776 webkit_web_context_set_web_extensions_initialization_user_data().
2777 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
2778 Prototype of the new private function.
2779 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2780 Add new public API bits to the documentation.
2781 * WebProcess/gtk/WebGtkExtensionManager.cpp:
2782 (WebKit::WebGtkExtensionManager::initialize):
2783 Deserialize the data received from the UI process and pass it to
2784 webkit_web_extension_initialize_with_user_data() if available,
2785 keeping webkit_web_extension_initialize() as fallback.
2787 2014-01-20 Ryuan Choi <ryuan.choi@samsung.com>
2789 [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
2790 https://bugs.webkit.org/show_bug.cgi?id=127261
2792 Reviewed by Gyuyoung Kim.
2794 isEwkViewEvasObject is general check routine of EFL and mainly used in
2795 ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp
2797 This patch moves it to EwkView.h as inline function with small refactoring.
2798 In addition, this patch added EINA_UNLIKELY keyword in cold paths.
2800 * UIProcess/API/efl/EwkView.cpp:
2801 (defaultSmartClassInstance):
2803 (toEwkView): Moved it from bottom not to expose it to header file.
2804 * UIProcess/API/efl/EwkView.h:
2805 * UIProcess/API/efl/ewk_view.cpp:
2806 (isEwkViewEvasObject):
2809 2014-01-20 Eunmi Lee <eunmi15.lee@samsung.com>
2811 [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
2812 https://bugs.webkit.org/show_bug.cgi?id=127268
2814 Reviewed by Gyuyoung Kim.
2816 Amount of scrolling should be same with movement of touch even though
2817 device pixel ratio is not 1, so apply device pixel ratio to the new
2818 position of scrollBy().
2820 * UIProcess/API/efl/EwkView.cpp:
2821 (EwkView::scrollBy):
2823 2014-01-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2825 [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
2826 https://bugs.webkit.org/show_bug.cgi?id=127090
2828 Reviewed by Simon Fraser.
2830 When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
2831 WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
2832 WebPageProxy::pageScaleFactor.
2833 This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.
2835 * UIProcess/WebPageProxy.cpp:
2836 (WebKit::WebPageProxy::scalePage):
2838 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
2840 [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
2841 https://bugs.webkit.org/show_bug.cgi?id=127273
2843 Reviewed by Anders Carlsson.
2845 Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
2846 and WorkQueue::SocketEventSource.
2848 * Platform/IPC/unix/ConnectionUnix.cpp:
2849 (IPC::Connection::open):
2850 * Platform/WorkQueue.h:
2851 * Platform/gtk/WorkQueueGtk.cpp:
2852 (WorkQueue::SocketEventSource::SocketEventSource):
2853 (WorkQueue::registerSocketEventHandler):
2854 (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
2855 (WorkQueue::dispatch): Ditto.
2856 (WorkQueue::dispatchAfter): Ditto.
2858 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
2860 Unreviewed. Additional build fixes after r162276 and r163304.
2862 * Platform/WorkQueue.h:
2863 * Platform/gtk/WorkQueueGtk.cpp:
2864 (WorkQueue::EventSource::EventSource):
2865 (WorkQueue::dispatchOnSource):
2866 (WorkQueue::dispatch):
2867 (WorkQueue::dispatchAfter):
2869 2014-01-19 Zan Dobersek <zdobersek@igalia.com>
2871 Unreviewed GTK build fix after r162276.
2873 Updating the WorkQueue implementation to use std::function and std::chrono.
2875 * Platform/WorkQueue.h:
2876 * Platform/gtk/WorkQueueGtk.cpp:
2877 (WorkQueue::dispatchOnSource):
2878 (WorkQueue::dispatch):
2879 (WorkQueue::dispatchAfter):
2881 2014-01-19 Jinwoo Song <jinwoo7.song@samsung.com>
2883 Unreviewed debug build fix on EFL port after r162300.
2885 * Platform/efl/DispatchQueueWorkItemEfl.h:
2886 (TimerWorkItem::create):
2888 2014-01-19 Jinwoo Song <jinwoo7.song@samsung.com>
2890 [EFL][WK2] build fix after r162276
2891 https://bugs.webkit.org/show_bug.cgi?id=127259
2893 Reviewed by Anders Carlsson.
2895 * Platform/efl/DispatchQueueEfl.cpp:
2896 (DispatchQueue::performTimerWork):
2897 (DispatchQueue::getNextTimeOut):
2898 * Platform/efl/DispatchQueueWorkItemEfl.h:
2900 (WorkItem::WorkItem):
2901 (TimerWorkItem::create):
2902 (TimerWorkItem::TimerWorkItem):
2903 * Platform/efl/WorkQueueEfl.cpp:
2904 (WorkQueue::dispatch):
2905 (WorkQueue::dispatchAfter):
2907 2014-01-18 Anders Carlsson <andersca@apple.com>
2909 Replace a couple of uses of WTF::Function with std::function
2910 https://bugs.webkit.org/show_bug.cgi?id=127218
2912 Reviewed by Andreas Kling.
2914 * Platform/IPC/mac/ConnectionMac.cpp:
2915 (IPC::createDataAvailableSource):
2916 * Platform/WorkQueue.h:
2917 * Platform/mac/WorkQueueMac.cpp:
2918 (WorkQueue::dispatch):
2919 (WorkQueue::dispatchAfter):
2920 * Shared/ChildProcess.cpp:
2921 (WebKit::didCloseOnConnectionWorkQueue):
2922 * UIProcess/Storage/LocalStorageDatabase.cpp:
2923 (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
2924 * WebProcess/WebPage/DrawingArea.cpp:
2925 (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
2926 * WebProcess/WebPage/DrawingArea.h:
2927 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2928 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2929 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
2931 2014-01-18 Martin Hock <mhock@apple.com>
2933 Flesh out session APIs (still not enabled at API level).
2934 https://bugs.webkit.org/show_bug.cgi?id=126918
2936 Reviewed by Alexey Proskuryakov.
2939 * GNUmakefile.list.am:
2940 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2941 (WebKit::storageSession):
2942 (WebKit::NetworkConnectionToWebProcess::startDownload):
2943 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
2944 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
2945 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
2946 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
2947 (WebKit::NetworkConnectionToWebProcess::getRawCookies):
2948 (WebKit::NetworkConnectionToWebProcess::deleteCookie):
2949 * NetworkProcess/NetworkConnectionToWebProcess.h:
2950 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2951 * NetworkProcess/NetworkProcess.cpp:
2952 (WebKit::NetworkProcess::initializeNetworkProcess):
2953 (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
2954 (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
2955 * NetworkProcess/NetworkProcess.h:
2956 * NetworkProcess/NetworkProcess.messages.in:
2957 * NetworkProcess/RemoteNetworkingContext.h:
2958 * NetworkProcess/mac/RemoteNetworkingContext.mm:
2959 (WebKit::RemoteNetworkingContext::storageSession):
2960 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2961 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
2962 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2963 * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
2964 (WebKit::sessionMap):
2965 (WebKit::identifierBase):
2966 (WebKit::SessionTracker::getSessionMap):
2967 (WebKit::SessionTracker::getIdentifierBase):
2968 (WebKit::SessionTracker::session):
2969 (WebKit::SessionTracker::destroySession):
2970 (WebKit::SessionTracker::setIdentifierBase):
2971 * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
2972 (WebKit::SessionTracker::isEphemeralID):
2973 * Shared/mac/CookieStorageShim.cpp:
2974 (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
2975 * UIProcess/APISession.cpp:
2977 (API::Session::defaultSession):
2978 (API::Session::legacyPrivateSession):
2979 (API::Session::Session):
2980 (API::Session::create):
2981 (API::Session::isEphemeral):
2982 (API::Session::getID):
2983 * UIProcess/APISession.h:
2984 * UIProcess/WebContext.cpp:
2985 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
2986 (WebKit::WebContext::createNewWebProcess):
2987 (WebKit::WebContext::createWebPage):
2988 * UIProcess/WebContext.h:
2989 * UIProcess/WebPageProxy.cpp:
2990 (WebKit::WebPageProxy::create):
2991 (WebKit::WebPageProxy::WebPageProxy):
2992 * UIProcess/WebPageProxy.h:
2993 (WebKit::WebPageProxy::sessionID):
2994 * UIProcess/WebProcessProxy.cpp:
2995 (WebKit::WebProcessProxy::createWebPage):
2996 * UIProcess/WebProcessProxy.h:
2997 * WebKit2.xcodeproj/project.pbxproj:
2998 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2999 (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
3000 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3001 (WebKit::legacySessionID):
3002 (WebKit::WebPlatformStrategies::cookiesForDOM):
3003 (WebKit::WebPlatformStrategies::setCookiesFromDOM):
3004 (WebKit::WebPlatformStrategies::cookiesEnabled):
3005 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
3006 (WebKit::WebPlatformStrategies::getRawCookies):
3007 (WebKit::WebPlatformStrategies::deleteCookie):
3008 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3009 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
3010 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3011 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
3012 (WebKit::WebFrameNetworkingContext::storageSession):
3013 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
3014 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3015 (WebKit::WebFrameNetworkingContext::storageSession):
3016 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
3017 * WebProcess/WebProcess.cpp:
3018 (WebKit::WebProcess::initializeWebProcess):
3019 (WebKit::WebProcess::ensurePrivateBrowsingSession):
3020 (WebKit::WebProcess::destroyPrivateBrowsingSession):
3021 * WebProcess/WebProcess.h:
3022 * WebProcess/WebProcess.messages.in:
3024 2014-01-18 Brian Burg <bburg@apple.com>
3026 Web Inspector: Page should use std::unique_ptr for InspectorController
3027 https://bugs.webkit.org/show_bug.cgi?id=127068
3029 Reviewed by Joseph Pecoraro.
3031 Convert call sites to use a InspectorController reference.
3033 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
3034 (WebKit::WebInspectorClient::drawRect):
3035 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
3036 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
3037 (WebKit::WebInspectorFrontendClient::closeWindow):
3038 * WebProcess/WebPage/WebInspector.cpp:
3039 (WebKit::WebInspector::createInspectorPage):
3040 (WebKit::WebInspector::show):
3041 (WebKit::WebInspector::close):
3042 (WebKit::WebInspector::evaluateScriptForTest):
3043 (WebKit::WebInspector::showConsole):
3044 (WebKit::WebInspector::showResources):
3045 (WebKit::WebInspector::showMainResourceForFrame):
3046 (WebKit::WebInspector::startJavaScriptDebugging):
3047 (WebKit::WebInspector::stopJavaScriptDebugging):
3048 (WebKit::WebInspector::setJavaScriptProfilingEnabled):
3049 (WebKit::WebInspector::startJavaScriptProfiling):
3050 (WebKit::WebInspector::stopJavaScriptProfiling):
3051 (WebKit::WebInspector::startPageProfiling):
3052 (WebKit::WebInspector::stopPageProfiling):
3053 (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
3054 (WebKit::WebInspector::remoteFrontendConnected):
3055 (WebKit::WebInspector::remoteFrontendDisconnected):
3057 2014-01-18 Anders Carlsson <andersca@apple.com>
3059 Remove ENABLE_THREADED_HTML_PARSER defines everywhere
3060 https://bugs.webkit.org/show_bug.cgi?id=127225
3062 Reviewed by Andreas Kling.
3064 This concludes the removal of over 8.8 million lines of threaded parser code.
3066 * Configurations/FeatureDefines.xcconfig:
3068 2014-01-18 Yongjun Zhang <yongjun_zhang@apple.com>
3070 Make WKRenderingProgressEvents a shareable API.
3071 https://bugs.webkit.org/show_bug.cgi?id=127213
3073 Reviewed by Dan Bernstein.
3075 Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
3076 could also use this enum when listening to layout milestones.
3078 * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
3080 * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
3081 (renderingProgressEvents):
3082 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
3083 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
3084 * WebKit2.xcodeproj/project.pbxproj:
3085 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
3086 webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
3087 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3089 (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.
3091 2014-01-17 Commit Queue <commit-queue@webkit.org>
3093 Unreviewed, rolling out r162237 and r162241.
3094 http://trac.webkit.org/changeset/162237
3095 http://trac.webkit.org/changeset/162241
3096 https://bugs.webkit.org/show_bug.cgi?id=127216
3098 Broke lots of API tests (Requested by ap on #webkit).
3101 * GNUmakefile.list.am:
3102 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3103 (WebKit::storageSession):
3104 (WebKit::NetworkConnectionToWebProcess::startDownload):
3105 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
3106 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
3107 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
3108 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
3109 (WebKit::NetworkConnectionToWebProcess::getRawCookies):
3110 (WebKit::NetworkConnectionToWebProcess::deleteCookie):
3111 * NetworkProcess/NetworkConnectionToWebProcess.h:
3112 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
3113 * NetworkProcess/NetworkProcess.cpp:
3114 (WebKit::NetworkProcess::initializeNetworkProcess):
3115 (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
3116 (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
3117 * NetworkProcess/NetworkProcess.h:
3118 * NetworkProcess/NetworkProcess.messages.in:
3119 * NetworkProcess/RemoteNetworkingContext.h:
3120 * NetworkProcess/mac/RemoteNetworkingContext.mm:
3121 (WebKit::privateBrowsingStorageSession):
3122 (WebKit::RemoteNetworkingContext::storageSession):
3123 (WebKit::RemoteNetworkingContext::privateBrowsingSession):
3124 (WebKit::privateBrowsingStorageSessionIdentifierBase):
3125 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
3126 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
3127 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
3128 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
3129 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
3130 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
3131 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
3132 (WebKit::RemoteNetworkingContext::privateBrowsingSession):
3133 * Shared/SessionTracker.cpp: Removed.
3134 * Shared/SessionTracker.h: Removed.
3135 * UIProcess/APISession.cpp:
3136 (API::Session::Session):
3137 (API::Session::create):
3138 (API::Session::isEphemeral):
3139 * UIProcess/APISession.h:
3140 * UIProcess/WebContext.cpp:
3141 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
3142 (WebKit::WebContext::createNewWebProcess):
3143 (WebKit::WebContext::createWebPage):
3144 * UIProcess/WebContext.h:
3145 * UIProcess/WebPageProxy.cpp:
3146 (WebKit::WebPageProxy::create):
3147 (WebKit::WebPageProxy::WebPageProxy):
3148 * UIProcess/WebPageProxy.h:
3149 * UIProcess/WebProcessProxy.cpp:
3150 (WebKit::WebProcessProxy::createWebPage):
3151 * UIProcess/WebProcessProxy.h:
3152 * WebKit2.xcodeproj/project.pbxproj:
3153 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3154 (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
3155 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3156 (WebKit::WebPlatformStrategies::cookiesForDOM):
3157 (WebKit::WebPlatformStrategies::setCookiesFromDOM):
3158 (WebKit::WebPlatformStrategies::cookiesEnabled):
3159 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
3160 (WebKit::WebPlatformStrategies::getRawCookies):
3161 (WebKit::WebPlatformStrategies::deleteCookie):
3162 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3163 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
3164 (WebKit::privateSession):
3165 (WebKit::identifierBase):
3166 (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
3167 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3168 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
3169 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
3170 (WebKit::WebFrameNetworkingContext::storageSession):
3171 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
3172 (WebKit::privateSession):
3173 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3174 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
3175 (WebKit::WebFrameNetworkingContext::storageSession):
3176 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
3177 * WebProcess/WebProcess.cpp:
3178 (WebKit::WebProcess::initializeWebProcess):
3179 (WebKit::WebProcess::ensurePrivateBrowsingSession):
3180 (WebKit::WebProcess::destroyPrivateBrowsingSession):
3181 * WebProcess/WebProcess.h:
3182 * WebProcess/WebProcess.messages.in:
3184 2014-01-17 Ryuan Choi <ryuan.choi@samsung.com>
3186 Unreviewed build fix on EFL port after r162237
3188 The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function.
3190 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3191 Guarded legacySessionID with ENABLE(NETWORK_PROCESS)
3193 2014-01-17 Martin Hock <mhock@apple.com>
3195 Flesh out session APIs (still not enabled at API level).
3196 https://bugs.webkit.org/show_bug.cgi?id=126918
3198 Reviewed by Alexey Proskuryakov.
3201 * GNUmakefile.list.am:
3202 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3203 (WebKit::storageSession):
3204 (WebKit::NetworkConnectionToWebProcess::startDownload):
3205 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
3206 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
3207 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
3208 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
3209 (WebKit::NetworkConnectionToWebProcess::getRawCookies):
3210 (WebKit::NetworkConnectionToWebProcess::deleteCookie):
3211 * NetworkProcess/NetworkConnectionToWebProcess.h:
3212 * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
3213 * NetworkProcess/NetworkProcess.cpp:
3214 (WebKit::NetworkProcess::initializeNetworkProcess):
3215 (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
3216 (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
3217 * NetworkProcess/NetworkProcess.h:
3218 * NetworkProcess/NetworkProcess.messages.in:
3219 * NetworkProcess/RemoteNetworkingContext.h:
3220 * NetworkProcess/mac/RemoteNetworkingContext.mm:
3221 (WebKit::RemoteNetworkingContext::storageSession):
3222 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
3223 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
3224 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
3225 * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
3226 (WebKit::sessionMap):
3227 (WebKit::identifierBase):
3228 (WebKit::SessionTracker::getSessionMap):
3229 (WebKit::SessionTracker::getIdentifierBase):
3230 (WebKit::SessionTracker::session):
3231 (WebKit::SessionTracker::destroySession):
3232 (WebKit::SessionTracker::setIdentifierBase):
3233 * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
3234 (WebKit::SessionTracker::isEphemeralID):
3235 * UIProcess/APISession.cpp:
3237 (API::Session::defaultSession):
3238 (API::Session::legacyPrivateSession):
3239 (API::Session::Session):
3240 (API::Session::create):
3241 (API::Session::isEphemeral):
3242 (API::Session::getID):
3243 * UIProcess/APISession.h:
3244 * UIProcess/WebContext.cpp:
3245 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
3246 (WebKit::WebContext::createNewWebProcess):
3247 (WebKit::WebContext::createWebPage):
3248 * UIProcess/WebContext.h:
3249 * UIProcess/WebPageProxy.cpp:
3250 (WebKit::WebPageProxy::create):
3251 (WebKit::WebPageProxy::WebPageProxy):
3252 * UIProcess/WebPageProxy.h:
3253 (WebKit::WebPageProxy::sessionID):
3254 * UIProcess/WebProcessProxy.cpp:
3255 (WebKit::WebProcessProxy::createWebPage):
3256 * UIProcess/WebProcessProxy.h:
3257 * WebKit2.xcodeproj/project.pbxproj:
3258 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3259 (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
3260 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3261 (WebKit::legacySessionID):
3262 (WebKit::WebPlatformStrategies::cookiesForDOM):
3263 (WebKit::WebPlatformStrategies::setCookiesFromDOM):
3264 (WebKit::WebPlatformStrategies::cookiesEnabled):
3265 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
3266 (WebKit::WebPlatformStrategies::getRawCookies):
3267 (WebKit::WebPlatformStrategies::deleteCookie):
3268 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3269 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
3270 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3271 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
3272 (WebKit::WebFrameNetworkingContext::storageSession):
3273 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
3274 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
3275 (WebKit::WebFrameNetworkingContext::storageSession):
3276 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
3277 * WebProcess/WebProcess.cpp:
3278 (WebKit::WebProcess::initializeWebProcess):
3279 (WebKit::WebProcess::ensurePrivateBrowsingSession):
3280 (WebKit::WebProcess::destroyPrivateBrowsingSession):
3281 * WebProcess/WebProcess.h:
3282 * WebProcess/WebProcess.messages.in:
3284 2014-01-17 Andreas Kling <akling@apple.com>
3286 Remove unused TOUCH_ADJUSTMENT code.
3287 <https://webkit.org/b/127181>
3289 Reviewed by Anders Carlsson.
3291 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
3292 (WebKit::WebPage::findZoomableAreaForPoint):
3294 2014-01-17 Anders Carlsson <andersca@apple.com>
3298 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3299 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3301 2014-01-17 Anders Carlsson <andersca@apple.com>
3303 Remove FrameLoaderClient::didPerformFirstNavigation()
3304 https://bugs.webkit.org/show_bug.cgi?id=127191
3306 Reviewed by Dan Bernstein.
3308 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3309 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3311 2014-01-17 Manuel Rego Casasnovas <rego@igalia.com>
3313 [GTK] Add CSS Grid Layout as experimental feature
3314 https://bugs.webkit.org/show_bug.cgi?id=127089
3316 Reviewed by Martin Robinson.
3318 Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES.
3320 Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"
3322 * UIProcess/API/gtk/WebKitSettings.cpp:
3323 (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout.
3324 * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
3325 * UIProcess/gtk/ExperimentalFeatures.h: Ditto.
3327 2014-01-17 Enrica Casucci <enrica@apple.com>
3329 Support WebSelections in WK2 on iOS.
3330 https://bugs.webkit.org/show_bug.cgi?id=127015
3331 <rdar://problem/15843090>
3333 Reviewed by Dan Bernstein.
3335 Removing unused variable in selectWithGesture that
3336 causes Release build to fail after r162103.
3338 * WebProcess/WebPage/ios/WebPageIOS.mm:
3339 (WebKit::WebPage::selectWithGesture):
3341 2014-01-17 Yongjun Zhang <yongjun_zhang@apple.com>
3343 https://bugs.webkit.org/show_bug.cgi?id=127138
3344 Add more delegate callback methods to WKWebProcessPlugInLoadDelegate.
3346 Reviewed by Sam Weinig.
3348 Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected
3349 bundle can listen/react to more frame loading events.
3351 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for
3352 WKWebProcessPlugInLoadDelegate.
3353 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3354 (didCommitLoadForFrame):
3355 (didFinishDocumentLoadForFrame):
3356 (didFailLoadWithErrorForFrame):
3357 (didSameDocumentNavigationForFrame):
3358 (didLayoutForFrame):
3359 (setUpPageLoaderClient):
3361 2014-01-16 Carlos Garcia Campos <cgarcia@igalia.com>
3363 [SOUP] Add stubs for CustomProtocol classes
3364 https://bugs.webkit.org/show_bug.cgi?id=126343
3366 Reviewed by Gustavo Noronha Silva.
3370 * GNUmakefile.list.am:
3371 * PlatformGTK.cmake:
3372 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added.
3373 (WebKit::generateCustomProtocolID):
3374 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
3375 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
3376 (WebKit::WebSoupRequestAsyncData::requestFailed):
3377 (WebKit::WebSoupRequestAsyncData::releaseTask):
3378 (WebKit::CustomProtocolManager::supplementName):
3379 (WebKit::CustomProtocolManager::CustomProtocolManager):
3380 (WebKit::CustomProtocolManager::initializeConnection):
3381 (WebKit::CustomProtocolManager::initialize):
3382 * Shared/Network/NetworkProcessCreationParameters.cpp:
3383 (WebKit::NetworkProcessCreationParameters::encode): Move
3384 urlSchemesRegisteredForCustomProtocols encoding out of platform
3385 ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS).
3386 (WebKit::NetworkProcessCreationParameters::decode): Ditto.
3387 * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
3388 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added.
3389 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
3390 (WebKit::CustomProtocolManagerProxy::startLoading):
3391 (WebKit::CustomProtocolManagerProxy::stopLoading):
3393 2014-01-16 Tim Horton <timothy_horton@apple.com>
3395 On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
3396 https://bugs.webkit.org/show_bug.cgi?id=126531
3397 <rdar://problem/15745862>
3399 Reviewed by Anders Carlsson.
3401 * UIProcess/API/ios/WKContentView.mm:
3402 (-[WKContentView _updateViewExposedRect]):
3403 (-[WKContentView setViewportSize:]):
3404 (-[WKContentView didFinishScrollTo:]):
3405 (-[WKContentView didScrollTo:]):
3406 (-[WKContentView didZoomToScale:]):
3407 Because zooming is performed by the UIScrollView, we need to transform
3408 the exposedRect's offset in order to get it in FrameView-relative coordinates.
3410 * UIProcess/ios/WebPageProxyIOS.mm:
3411 (WebKit::WebPageProxy::didFinishZooming):
3412 Save the pageScaleFactor when it changes.
3414 2014-01-16 Carlos Garcia Campos <cgarcia@igalia.com>
3416 [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
3417 https://bugs.webkit.org/show_bug.cgi?id=127098
3419 Reviewed by Martin Robinson.
3421 If the print operation finishes and the web view is still alive,
3422 the weak pointer added to the view should be removed.
3424 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3425 (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
3427 2014-01-15 Sam Weinig <sam@webkit.org>
3429 TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
3430 https://bugs.webkit.org/show_bug.cgi?id=126856
3432 Reviewed by Ryosuke Niwa.
3434 Change all the TextBreakIterator creation functions to take StringViews. Remove a few
3435 now unnecessary up-conversions to UTF-16 in the process.
3437 * UIProcess/efl/TextCheckerEfl.cpp:
3438 (WebKit::nextWordOffset):
3439 (WebKit::TextChecker::checkTextOfParagraph):
3441 2014-01-16 Eunmi Lee <eunmi15.lee@samsung.com>
3443 [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden.
3444 https://bugs.webkit.org/show_bug.cgi?id=127084
3446 Reviewed by Gyuyoung Kim.
3448 Visibility of EwkView can not be controlled by evas_object_show/hide
3449 because EwkView can be shown only if re-sizing is requested, so modify
3450 codes to show EwkView directly if we do not wait for re-sizing.
3451 Additionally, we have to set default value of m_pendingSurfaceResize
3452 to true for accelerated mode to prevent to show black empty view for
3453 the first request to show.
3455 * UIProcess/API/efl/EwkView.cpp:
3457 (EwkView::handleEvasObjectShow):
3459 2014-01-16 Andy Estes <aestes@apple.com>
3461 Build Fix: Use standard architectures when building for iOS
3463 Even though we don't use the plug-in services on iOS, we still need
3464 them to build (we won't install them). Be sure we specify valid iOS
3465 architectures when doing so.
3467 * Configurations/PluginService.32.xcconfig:
3468 * Configurations/PluginService.64.xcconfig:
3470 2014-01-16 Enrica Casucci <enrica@apple.com>
3472 Crash when destroying WKInteractionView.
3473 https://bugs.webkit.org/show_bug.cgi?id=127153
3474 <rdar://problem/15840761>
3476 Reviewed by Anders Carlsson.
3478 UIWKSelectionAssistant is a RetainPtr and it is being
3479 deallocated after the view and its gesture recognizers
3480 have been destroyed.
3481 The parent class UIWebSelectionAssistant assumes to be
3482 deallocated before the view is gone.
3483 We deallocate the interaction assistants explicitly to
3486 * UIProcess/API/ios/WKInteractionView.mm:
3487 (-[WKInteractionView dealloc]):
3489 2014-01-16 Brady Eidson <beidson@apple.com>
3491 IDB: delete object store support
3492 <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
3494 Reviewed by Alexey Proskuryakov.
3496 Pipe through Web -> Database -> Web process messaging for delete object store.
3497 Perform dropping the object store in the