1 2014-08-29 Alexey Proskuryakov <ap@apple.com>
3 WebPageProxy::close() is a no-op for terminated processes
4 https://bugs.webkit.org/show_bug.cgi?id=136378
5 Related to <rdar://problem/16991213> and to <rdar://problem/17095600>
7 Reviewed by Brady Eidson.
9 Also fixes issues that got uncovered after making close() work.
11 * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::invalidate): Don't
12 close the page, because it makes no sense, and causes an assertion now. Previosly,
13 this was OK because the page was invalid already, and close() was a no-op.
15 * UIProcess/WebPageProxy.cpp:
16 (WebKit::WebPageProxy::~WebPageProxy): Added some assertions to catch invalidation
18 (WebKit::WebPageProxy::reattachToWebProcess): Make it an invariant that a page's
19 process always has a message receiver for it, until close() removes it.
20 (WebKit::WebPageProxy::close): Make this function work for all open pages, whether
21 they have a page or not.
22 (WebKit::WebPageProxy::processDidFinishLaunching): Added an asserion that process
23 agrees about its state.
24 (WebKit::WebPageProxy::resetStateAfterProcessExited): Don't remove a message receiver,
25 we now only do this in reattach or close.
27 2014-08-29 Antti Koivisto <antti@apple.com>
29 Remove NetworkResourceLoaderClient and subclasses.
30 https://bugs.webkit.org/show_bug.cgi?id=136370
32 Reviewed by Darin Adler.
34 This code is needlessly abstract. Move what logic these classes have to NetworkResourceLoader.
36 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Removed.
37 * NetworkProcess/AsynchronousNetworkLoaderClient.h: Removed.
38 * NetworkProcess/NetworkLoaderClient.h: Removed.
39 * NetworkProcess/NetworkResourceLoader.cpp:
40 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
41 (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
42 (WebKit::NetworkResourceLoader::isSynchronous):
43 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
44 (WebKit::NetworkResourceLoader::didReceiveBuffer):
45 (WebKit::NetworkResourceLoader::didFinishLoading):
46 (WebKit::NetworkResourceLoader::didFail):
47 (WebKit::NetworkResourceLoader::willSendRequestAsync):
48 (WebKit::NetworkResourceLoader::didSendData):
49 (WebKit::NetworkResourceLoader::sendBuffer):
50 (WebKit::NetworkResourceLoader::sendReplyToSynchronousRequest):
51 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
52 * NetworkProcess/NetworkResourceLoader.h:
53 (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
54 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Removed.
55 * NetworkProcess/SynchronousNetworkLoaderClient.h: Removed.
56 * WebKit2.xcodeproj/project.pbxproj:
58 2014-08-29 Csaba Osztrogonác <ossy@webkit.org>
60 Unreviwed, remove empty directories.
62 * PluginProcess/qt: Removed.
63 * Shared/API/c/qt: Removed.
64 * Shared/Downloads/qt: Removed.
65 * Shared/FileAPI: Removed.
67 * UIProcess/API/C/qt: Removed.
68 * UIProcess/API/cpp/qt: Removed.
69 * UIProcess/API/qt: Removed.
70 * UIProcess/API/qt/raw: Removed.
71 * UIProcess/API/qt/tests: Removed.
72 * UIProcess/API/qt/tests/html: Removed.
73 * UIProcess/API/qt/tests/html/resources: Removed.
74 * UIProcess/API/qt/tests/inspectorserver: Removed.
75 * UIProcess/API/qt/tests/publicapi: Removed.
76 * UIProcess/API/qt/tests/qmltests: Removed.
77 * UIProcess/API/qt/tests/qmltests/DesktopBehavior: Removed.
78 * UIProcess/API/qt/tests/qmltests/WebView: Removed.
79 * UIProcess/API/qt/tests/qmltests/common: Removed.
80 * UIProcess/API/qt/tests/qquickwebview: Removed.
81 * UIProcess/API/qt/tests/qrawwebview: Removed.
82 * UIProcess/InspectorServer/qt: Removed.
83 * UIProcess/Launcher/qt: Removed.
84 * UIProcess/Plugins/qt: Removed.
85 * UIProcess/SharedWorkers: Removed.
86 * UIProcess/qt: Removed.
87 * WebProcess/Cookies/qt: Removed.
88 * WebProcess/Downloads: Removed.
89 * WebProcess/IndexedDB: Removed.
90 * WebProcess/InjectedBundle/qt: Removed.
91 * WebProcess/NetworkInfo: Removed.
92 * WebProcess/Plugins/Netscape/qt: Removed.
93 * WebProcess/WebCoreSupport/qt: Removed.
94 * WebProcess/WebPage/qt: Removed.
95 * WebProcess/qt: Removed.
98 2014-08-28 Tim Horton <timothy_horton@apple.com>
100 _setDidMoveSwipeSnapshotCallback's block should only be called if the snapshot is going to move
101 https://bugs.webkit.org/show_bug.cgi?id=136354
102 <rdar://problem/18167791>
104 Reviewed by Simon Fraser.
106 * UIProcess/API/Cocoa/WKViewPrivate.h:
107 Update the comment to note the new behavior.
109 * UIProcess/mac/ViewGestureControllerMac.mm:
110 (WebKit::ViewGestureController::beginSwipeGesture):
111 Don't call the block until the snapshot is actually moving (if the snapshot
112 never moves because it's behind the live view, don't call the block at all).
114 2014-08-28 Tim Horton <timothy_horton@apple.com>
116 Occasional thread-safety-related crashes on the ServicesController queue
117 https://bugs.webkit.org/show_bug.cgi?id=136356
118 <rdar://problem/18045685>
120 Reviewed by Dan Bernstein.
122 * UIProcess/mac/ServicesController.mm:
123 (WebKit::hasCompatibleServicesForItems):
124 Added. Check directly with NSSharingService if we have any services for the given items.
125 We should eventually check Viewer and Editor services separately so the Web process can
126 be smarter about when it shows the overlay, but for now this maintains the existing behavior.
128 (WebKit::ServicesController::refreshExistingServices):
129 Make use of hasCompatibleServicesForItems instead of having NSSharingServicePicker construct NSMenus.
131 2014-08-28 Tim Horton <timothy_horton@apple.com>
133 WebKit2 doesn't support viewer services that accept image attachments
134 https://bugs.webkit.org/show_bug.cgi?id=136349
135 <rdar://problem/18164606>
137 Reviewed by Brady Eidson.
139 * Shared/WebProcessCreationParameters.cpp:
140 (WebKit::WebProcessCreationParameters::encode):
141 (WebKit::WebProcessCreationParameters::decode):
142 Encode the already-existing parameter.
144 2014-08-28 Zalan Bujtas <zalan@apple.com>
146 Subpixel layout: Remove unused pixel snapping functions.
147 https://bugs.webkit.org/show_bug.cgi?id=136341
149 Reviewed by Simon Fraser.
151 Let's not encourage integral snapping by having these functions around.
153 No change in functionality.
155 * Shared/WebRenderObject.cpp:
156 (WebKit::WebRenderObject::WebRenderObject):
158 2014-08-27 Enrica Casucci <enrica@apple.com>
160 textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
161 https://bugs.webkit.org/show_bug.cgi?id=136323
162 rdar://problem/18141964
164 Reviewed by Antti Koivisto.
166 For underline style we need to check typingStyle first and use that information to populate
167 the dictionary. If there is no typing style we can use the render style.
168 We also need to update the editor state for the toggle commands to reflect the state in the UIProcess
169 even for commands that don't change the selection.
171 * WebProcess/WebPage/WebPage.cpp:
172 (WebKit::WebPage::editorState):
173 * WebProcess/WebPage/ios/WebPageIOS.mm:
174 (WebKit::WebPage::executeEditCommandWithCallback):
176 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
178 [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
179 https://bugs.webkit.org/show_bug.cgi?id=136248
181 Reviewed by Gustavo Noronha Silva.
183 Add webkit_uri_response_get_http_headers() that returns the HTTP
184 headers as a SoupMessageHeaders* like webkit_uri_request_get_http_headers().
186 * UIProcess/API/gtk/WebKitURIResponse.cpp:
187 (webkitURIResponseGetProperty): Add http-headers property getter.
188 (webkit_uri_response_class_init): Add http-headers property.
189 (webkit_uri_response_get_http_headers): Return the HTTP headers as
190 a SoupMessageHeaders* or NULL for non HTTP responses.
191 * UIProcess/API/gtk/WebKitURIResponse.h:
192 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
194 2014-08-27 Zalan Bujtas <zalan@apple.com>
196 Subpixel layout: Rename LayoutRect's device pixel snapping functions.
197 https://bugs.webkit.org/show_bug.cgi?id=136319
199 Reviewed by Simon Fraser.
201 From pixelSnappedForPainting() to snapRectToDevicePixels() and
202 pixelSnappedIntRect*() to snappedIntRect*().
204 No change in functionality.
206 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
207 (WebKit::InjectedBundleNodeHandle::renderedImage):
208 * WebProcess/WebPage/WebPage.cpp:
209 (WebKit::WebPage::snapshotNode):
210 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
211 (WebKit::ServicesOverlayController::buildSelectionHighlight):
213 2014-08-27 Zalan Bujtas <zalan@apple.com>
215 Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
216 https://bugs.webkit.org/show_bug.cgi?id=136314
218 Reviewed by Simon Fraser.
220 From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
222 EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
223 but currently untestable.
225 * UIProcess/ios/WKContentViewInteraction.mm:
226 (-[WKContentView _updateTapHighlight]):
228 2014-08-27 Tim Horton <timothy_horton@apple.com>
230 WebKit2 swipe gesture should report the position of the snapshot to the client
231 https://bugs.webkit.org/show_bug.cgi?id=136308
232 rdar://problem/18105827
234 Reviewed by Simon Fraser.
236 * UIProcess/API/Cocoa/WKViewPrivate.h:
237 * UIProcess/API/mac/WKView.mm:
238 (-[WKView _setDidMoveSwipeSnapshotCallback:]):
239 Add _setDidMoveSwipeSnapshotCallback, and plumb it to ViewGestureController.
240 Callers provide a block which is called whenever ViewGestureController moves the
241 swipe *snapshot* layer around.
243 * UIProcess/PageClient.h:
244 * UIProcess/WebPageProxy.h:
245 * UIProcess/mac/PageClientImpl.h:
246 * UIProcess/mac/PageClientImpl.mm:
247 (WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
248 * UIProcess/mac/WebPageProxyMac.mm:
249 (WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates):
250 Expose a Mac-only way to get the bounds of a given CALayer in window coordinates,
251 respecting transforms. This only works for layer-backed windows because
252 it uses CA in order to do the mapping respecting transforms.
254 * UIProcess/mac/ViewGestureController.h:
255 * UIProcess/mac/ViewGestureControllerMac.mm:
256 (WebKit::ViewGestureController::ViewGestureController):
257 (WebKit::ViewGestureController::~ViewGestureController):
258 (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
259 Do the Block_copy and Block_release dance to keep our copy of the callback block.
261 (WebKit::ViewGestureController::beginSwipeGesture):
262 (WebKit::ViewGestureController::handleSwipeGesture):
263 (WebKit::ViewGestureController::didMoveSwipeSnapshotLayer):
264 When the swipe snapshot layer moves around, call the block.
266 2014-08-27 Tim Horton <timothy_horton@apple.com>
268 Occasional crashes in commitTransientZoom's transaction completion block
269 https://bugs.webkit.org/show_bug.cgi?id=136309
270 <rdar://problem/17215064>
272 Reviewed by Dan Bernstein.
274 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
275 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
276 Hold a reference to zoomLayer and the WebPage. It's possible that either
277 of these things could have gone away by the time the transaction is committed.
279 2014-08-27 Benjamin Poulain <bpoulain@apple.com>
281 [iOS WK2] Provide a delegate callback to skip Geolocation authorization per page for WebApp
282 https://bugs.webkit.org/show_bug.cgi?id=136243
284 Reviewed by Sam Weinig.
286 Just ask the UI if the authorization dialog needs to be skipped.
288 * UIProcess/API/Cocoa/WKUIDelegate.h:
289 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
290 * UIProcess/ios/PageClientImplIOS.mm:
291 (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
293 * UIProcess/ios/WKContentView.h:
294 * UIProcess/ios/WKContentView.mm:
295 (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Deleted.
296 The code in WKContentView only exists due to legacy. Instead, the PageClient dispatch the request
297 to the GeolocationProvider directly.
299 * UIProcess/ios/WKGeolocationProviderIOS.h:
300 * UIProcess/ios/WKGeolocationProviderIOS.mm:
301 (-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]):
302 (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
303 (-[WKGeolocationProviderIOS positionChanged:]):
304 (-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]): Deleted.
306 2014-08-27 Beth Dakin <bdakin@apple.com>
308 overflow:scroll elements should not latch to the body if the body is
310 https://bugs.webkit.org/show_bug.cgi?id=136273
312 Reviewed by Darin Adler.
314 New ScrollabeArea virtual function.
315 * WebProcess/Plugins/PDF/PDFPlugin.h:
317 2014-08-26 Matt Lilek <mrl@apple.com>
319 Add WebKit SPI to control the navigator.standalone property
320 https://bugs.webkit.org/show_bug.cgi?id=136189
322 Reviewed by Andy Estes.
324 Add a property to WKPreferences that allows toggling this setting.
326 * UIProcess/API/Cocoa/WKPreferences.mm:
327 (-[WKPreferences _isStandalone]):
328 (-[WKPreferences _setStandalone:]):
329 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
331 2014-08-26 Joseph Pecoraro <pecoraro@apple.com>
333 FileReader cannot read files selected with <input type="file"> in iOS 8
334 https://bugs.webkit.org/show_bug.cgi?id=136117
336 Reviewed by Alexey Proskuryakov.
338 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
339 Correct an overzealous deny that was accidentally denying all
340 com.apple.app-sandbox.read extensions instead of just the ones
341 in Application bundles it was trying to deny.
343 2014-08-26 Tim Horton <timothy_horton@apple.com>
345 Crashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
346 https://bugs.webkit.org/show_bug.cgi?id=136271
347 <rdar://problem/17923694>
349 Reviewed by Simon Fraser.
351 It was possible to get into trackSwipeGesture while another swipe was still
352 occurring, because the guard against this happening depended on m_pendingSwipeReason
353 never being set while a swipe was occurring. However, if the very first scroll event
354 had sufficient magnitude, we would still set m_pendingSwipeReason to InsufficientMagnitude,
355 and then *never clear it*, leading to a path around the guard against multiple live swipes.
356 This in turn allowed stale layers in m_liveSwipeLayers, which lead to the crash.
358 * UIProcess/mac/ViewGestureControllerMac.mm:
359 (WebKit::ViewGestureController::handleScrollWheelEvent):
360 Don't unset m_pendingSwipeReason before calling trackSwipeGesture;
361 trackSwipeGesture will do it itself.
363 Don't set m_pendingSwipeReason to InsufficientMagnitude
364 if the event actually *has* sufficient magnitude to start a swipe.
366 (WebKit::ViewGestureController::trackSwipeGesture):
367 Assert that we don't have an active gesture while starting a swipe.
369 Reset m_pendingSwipeReason, because the swipe is no longer pending!
371 2014-08-26 Andy Estes <aestes@apple.com>
373 [Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
374 https://bugs.webkit.org/show_bug.cgi?id=136267
376 Reviewed by Dan Bernstein.
378 INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
379 Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
380 engineering configurations.
382 Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
385 * WebKit2.xcodeproj/project.pbxproj:
387 2014-08-25 Maciej Stachowiak <mjs@apple.com>
389 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
390 https://bugs.webkit.org/show_bug.cgi?id=136082
392 Reviewed by Alexey Proskuryakov.
394 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
395 (WebKit::connectToService): Remove accidental leftover retrieval
397 (WebKit::createProcess): Get current localization name from
398 CFBundle API instead of using SPI.
399 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
400 (InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
401 * mac/WebKit2.order: ditto
403 2014-08-26 Dana Burkart <dburkart@apple.com>
405 The UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
406 https://bugs.webkit.org/show_bug.cgi?id=136262
408 Reviewed by David Kilzer.
410 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
411 (WebKit::ServicesOverlayController::selectionRectsDidChange):
412 (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
414 2014-08-26 Csaba Osztrogonác <ossy@webkit.org>
416 [EFL] URTBF after r172966.
418 * UIProcess/efl/WebViewEfl.h:
420 2014-08-26 Carlos Alberto Lopez Perez <clopez@igalia.com>
422 REGRESSION(r172966) [GTK] Build broken.
424 Unreviewed build fix after r172966.
426 * UIProcess/API/gtk/PageClientImpl.cpp:
427 (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
428 * UIProcess/API/gtk/PageClientImpl.h:
430 2014-08-26 Simon Fraser <simon.fraser@apple.com>
432 Crashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
433 https://bugs.webkit.org/show_bug.cgi?id=136240
434 rdar://problem/17231462
436 Reviewed by Darin Adler.
438 determinePrimarySnapshottedPlugIn() does render tree hit testing, so needs
439 to ensure that layout is up-to-date.
441 * WebProcess/WebPage/WebPage.cpp:
442 (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
444 2014-08-26 Tim Horton <timothy_horton@apple.com>
446 REGRESSION (r172771): Amazon product page becomes unresponsive after swiping back to it
447 https://bugs.webkit.org/show_bug.cgi?id=136260
448 <rdar://problem/18107826>
450 Reviewed by Dan Bernstein.
452 Previously, when a swipe ended up performing a same-document navigation,
453 we would never get didFinishLoadForMainFrame nor didFirstVisuallyNonEmptyLayoutForMainFrame
454 nor would we even get didHitRenderTreeSizeThreshold in all cases, so we would never
455 remove the swipe snapshot. Previous implementations removed the snapshot on
456 didSameDocumentNavigation for the main frame if the navigation type was Replace or Pop,
457 so we will match that behavior.
459 Also, reinstate the watchdog that starts at swipe-end which would have prevented
460 this bug from forever breaking the view it was associated with.
462 Also, defend against removing the snapshot before the swipe has finished (before
463 we have even caused the navigation that we're watching for the effects of).
465 * UIProcess/API/mac/WKView.mm:
466 (-[WKView _didSameDocumentNavigationForMainFrame:]):
467 * UIProcess/API/mac/WKViewInternal.h:
468 * UIProcess/PageClient.h:
469 * UIProcess/WebPageProxy.cpp:
470 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
471 * UIProcess/ios/PageClientImplIOS.h:
472 * UIProcess/ios/PageClientImplIOS.mm:
473 (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
474 * UIProcess/mac/PageClientImpl.h:
475 * UIProcess/mac/PageClientImpl.mm:
476 (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
477 Plumb main-frame same-document navigation notification from WebPageProxy
478 to ViewGestureControllerMac via PageClient and WKView.
480 * UIProcess/mac/ViewGestureController.h:
481 * UIProcess/mac/ViewGestureControllerMac.mm:
482 (WebKit::ViewGestureController::ViewGestureController):
483 (WebKit::ViewGestureController::beginSwipeGesture):
484 (WebKit::ViewGestureController::endSwipeGesture):
485 Keep track of whether a swipe is currently occurring. We can't use
486 activeGestureType for this because the swipe currently remains the "active"
487 gesture until the snapshot is removed.
489 Reintroduce the old swipeWatchdogTimer (and rename the shorter timer that starts
490 when we get a visually non-empty layout) so that we will always remove the
491 snapshot after 5 seconds, even if we haven't committed the load.
492 This could lead to flashing back to the old content if we fail to get a single
493 byte for 5 seconds, but that is a rare case and should eventually get additional
494 special treatment (dropping the tiles until we do get content, or some such).
496 (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
497 If a swipe is still in progress, we haven't done our navigation and thus
498 don't care about render tree size changes.
500 (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
501 If a swipe is still in progress, we haven't done our navigation and thus
502 don't care about layouts.
504 Stop the 5 second overall watchdog if we start the 3 second after-visuallyNonEmptyLayout
505 watchdog. This means that the snapshot could stay up for a maximum of 8 seconds
506 for a very, very slow load.
508 (WebKit::ViewGestureController::didFinishLoadForMainFrame):
509 If a swipe is still in progress, we haven't done our navigation and thus
510 don't care about loads that complete.
512 (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
513 Remove the swipe snapshot after painting if we do replaceState or popState.
515 (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
516 If a swipe is still in progress, we shouldn't remove the snapshot yet.
518 2014-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
520 [GTK] Translations are not initialized in the UI process
521 https://bugs.webkit.org/show_bug.cgi?id=136249
523 Reviewed by Philippe Normand.
525 This is breaking things like webkitContextMenuActionGetForContextMenuItem()
526 for non English locales in the cases where we use the action title to guess the
527 action, because the action title we get from the web process is translated while
528 the one in the UI process is in English.
530 * UIProcess/API/gtk/WebKitWebContext.cpp:
531 (createDefaultWebContext): Initialize gettext right before
532 creating the default web context.
534 2014-08-26 Ryuan Choi <ryuan.choi@samsung.com>
536 [EFL] Remove dead code in WebPageEfl.cpp
537 https://bugs.webkit.org/show_bug.cgi?id=136246
539 Reviewed by Gyuyoung Kim.
541 * WebProcess/WebPage/efl/WebPageEfl.cpp:
542 (WebKit::scroll): Deleted.
544 2014-08-26 Ryuan Choi <ryuan.choi@samsung.com>
546 [EFL] Build break using clang
547 https://bugs.webkit.org/show_bug.cgi?id=136245
549 Reviewed by Gyuyoung Kim.
551 * PlatformEfl.cmake: defines GTEST_HAS_RTTI=0
553 2014-08-25 Zalan Bujtas <zalan@apple.com>
555 Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
556 https://bugs.webkit.org/show_bug.cgi?id=136236
558 Reviewed by Simon Fraser.
560 These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.
562 Non change in functionality.
564 * UIProcess/ios/WebPageProxyIOS.mm:
565 (WebKit::WebPageProxy::computeCustomFixedPositionRect):
567 2014-08-25 Antti Koivisto <antti@apple.com>
569 Don't pass priority as parameter to ResourceLoadScheduler
570 https://bugs.webkit.org/show_bug.cgi?id=136232
572 Reviewed by Sam Weinig.
574 * NetworkProcess/NetworkResourceLoader.cpp:
575 (WebKit::NetworkResourceLoader::NetworkResourceLoader):
576 * NetworkProcess/NetworkResourceLoader.h:
577 (WebKit::NetworkResourceLoader::priority): Deleted.
578 * Shared/Network/NetworkResourceLoadParameters.cpp:
579 (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
580 (WebKit::NetworkResourceLoadParameters::encode):
581 (WebKit::NetworkResourceLoadParameters::decode):
582 * Shared/Network/NetworkResourceLoadParameters.h:
583 * WebProcess/Network/WebResourceLoadScheduler.cpp:
584 (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
585 (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
586 (WebKit::WebResourceLoadScheduler::scheduleLoad):
587 * WebProcess/Network/WebResourceLoadScheduler.h:
588 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
589 (WebKit::WebPlatformStrategies::loadResourceSynchronously):
591 2014-08-25 Brady Eidson <beidson@apple.com>
593 Don't crash when the DataDetectors framework is unavailable.
594 <rdar://problem/18106066> and https://bugs.webkit.org/show_bug.cgi?id=136234
596 Reviewed by Tim Horton.
598 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
599 (WebKit::ServicesOverlayController::buildPhoneNumberHighlights): Bail if DD.framework didn’t soft link.
600 (WebKit::ServicesOverlayController::buildSelectionHighlight): Ditto.
602 2014-08-25 Antti Koivisto <antti@apple.com>
604 Remove load scheduling code from network process
605 https://bugs.webkit.org/show_bug.cgi?id=136199
607 Reviewed by Darin Adler.
609 Most platforms just flush resource loads directly to the networking layer by
610 making the parallel load count large. Also we always pass ResourceLoadPriorityHighest
611 to the scheduler so no actual scheduling happens. This is effectively dead code.
613 Keep basic support for serializing loads. This is only used for testing.
615 * NetworkProcess/HostRecord.cpp: Removed.
616 * NetworkProcess/HostRecord.h: Removed.
617 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
618 (WebKit::NetworkConnectionToWebProcess::servePendingRequests):
619 * NetworkProcess/NetworkProcess.cpp:
620 (WebKit::NetworkProcess::getNetworkProcessStatistics):
621 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
622 (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
623 (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
624 (WebKit::NetworkResourceLoadScheduler::removeLoader):
625 (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
626 (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
627 (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted.
628 (WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted.
629 (WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted.
630 (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted.
631 (WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted.
632 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted.
633 (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted.
634 (WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted.
635 (WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted.
636 * NetworkProcess/NetworkResourceLoadScheduler.h:
637 * NetworkProcess/NetworkResourceLoader.cpp:
638 (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
639 (WebKit::NetworkResourceLoader::cleanup):
640 (WebKit::NetworkResourceLoader::continueWillSendRequest):
641 * NetworkProcess/NetworkResourceLoader.h:
642 (WebKit::NetworkResourceLoader::isLoadingMainResource):
643 (WebKit::NetworkResourceLoader::setHostRecord): Deleted.
644 (WebKit::NetworkResourceLoader::hostRecord): Deleted.
645 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
646 (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
647 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.
648 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:
649 (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
650 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.
651 * WebKit2.xcodeproj/project.pbxproj:
653 2014-08-25 Carlos Garcia Campos <cgarcia@igalia.com>
655 [GTK] Older versions of WebKit should use the plugins cache in read only mode
656 https://bugs.webkit.org/show_bug.cgi?id=136215
658 Reviewed by Philippe Normand.
660 Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
661 they use different versions of the plugins cache, apps using 2.4
662 might override the plugins cache file. We should prevent this from
663 happening by making older versions use the plugin cache, but not
666 * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
667 (WebKit::PluginInfoCache::PluginInfoCache):
668 (WebKit::PluginInfoCache::updatePluginInfo):
669 * UIProcess/Plugins/gtk/PluginInfoCache.h:
671 2014-08-25 Carlos Garcia Campos <cgarcia@igalia.com>
673 [GTK] Should check if a plugin mixes GTK+ symbols earlier
674 https://bugs.webkit.org/show_bug.cgi?id=136214
676 Reviewed by Philippe Normand.
678 We are currently checking if the plugin module and the plugin
679 process mix GTK symbols after the plugin has been loaded and
680 initialized. This is too late in many cases, since plugins can use
681 GTK methods in the NP_Initialize implementation. This is causing
682 the apps using WebKitGTK+ 2.4 to freeze when the plugin process
683 scans the plugins and there's a plugin using GTK+3 installed. We
684 should move the check earlier, once the module is loaded but
685 before calling NP_Initialize.
687 * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
688 (WebKit::moduleMixesGtkSymbols):
689 (WebKit::NetscapePluginModule::tryLoad):
690 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
691 (WebKit::NetscapePlugin::platformPostInitialize):
693 2014-08-25 Zan Dobersek <zdobersek@igalia.com>
695 Improve virtual method declarations in LayerTreeHostGtk
696 https://bugs.webkit.org/show_bug.cgi?id=136210
698 Reviewed by Carlos Garcia Campos.
700 Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.
702 Order the public and private virtual method overrides from the LayerTreeHost
703 and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
706 Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
707 methods since they are identical to the methods in the base class.
709 De-virtualize flushPendingLayerChanges(). It's not inherited and is not
710 overriden by anything (and nothing can inherit from LayerTreeHostGtk from
711 now on due to the final specifier).
713 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
714 (WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
715 (WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.
716 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
717 (WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.
719 2014-08-24 Brian J. Burg <burg@cs.washington.edu>
721 Remove unused method declarations replaced by WebPage::setViewState
722 https://bugs.webkit.org/show_bug.cgi?id=136180
724 Reviewed by Darin Adler.
726 * WebProcess/WebPage/WebPage.h:
727 Remove setFocused, setActive, setViewIsVisible. No longer used.
729 2014-08-23 Byungseon Shin <sun.shin@lge.com>
731 Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
732 https://bugs.webkit.org/show_bug.cgi?id=109658
734 Reviewed by Martin Robinson.
736 Based on patch originally written by Tim Horton.
737 Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
739 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
740 (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
741 (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
742 Rename canvas -> platformLayer.
744 2014-08-22 Commit Queue <commit-queue@webkit.org>
746 Unreviewed, rolling out r172866.
747 https://bugs.webkit.org/show_bug.cgi?id=136177
749 Broke iOS build (Requested by othermaciej on #webkit).
753 "Replace use of WKCopyCFLocalizationPreferredName with
755 https://bugs.webkit.org/show_bug.cgi?id=136082
756 http://trac.webkit.org/changeset/172866
758 2014-08-19 Maciej Stachowiak <mjs@apple.com>
760 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
761 https://bugs.webkit.org/show_bug.cgi?id=136082
763 Reviewed by Alexey Proskuryakov.
765 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
766 (WebKit::connectToService): Remove accidental leftover retrieval
768 (WebKit::createProcess): Get current localization name from
769 CFBundle API instead of using SPI.
770 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
771 (InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
772 * mac/WebKit2.order: ditto
774 2014-08-22 Daniel Bates <dabates@apple.com>
776 [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
777 and ENABLE_XSLT when building with the iOS public SDK
778 https://bugs.webkit.org/show_bug.cgi?id=135945
780 Reviewed by Andy Estes.
782 * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
783 and ENABLE_XSLT when building with the public SDK.
784 * Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
785 * WebProcess/WebPage/WebPage.h: Ditto.
787 2014-08-22 Simon Fraser <simon.fraser@apple.com>
789 Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
790 https://bugs.webkit.org/show_bug.cgi?id=136136
792 Reviewed by Sam Weinig, Joseph Pecoraro.
794 Allow InspectorClient to have a custom implementation of showPaintRect(). For
795 WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
796 which are parented in a document overlay, with 0.25s fade-out animations.
798 Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
799 it makes no sense to paint the paint rects directly into the context of the web page.
800 Now that the paint rects are painted into an overlay, the rectangles need to be converted
801 to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
803 Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
804 be reimplemented in a later patch.
806 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
807 (WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
808 (WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
809 (WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
810 (WebKit::WebInspectorClient::WebInspectorClient):
811 (WebKit::WebInspectorClient::~WebInspectorClient):
812 (WebKit::WebInspectorClient::showPaintRect):
813 (WebKit::WebInspectorClient::animationEndedForLayer):
814 * WebProcess/WebCoreSupport/WebInspectorClient.h:
815 (WebKit::WebInspectorClient::WebInspectorClient): Deleted.
817 2014-08-22 Jon Lee <jonlee@apple.com>
819 Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
820 https://bugs.webkit.org/show_bug.cgi?id=136157
822 Reviewed by Simon Fraser.
824 * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
826 2014-08-21 Joseph Pecoraro <pecoraro@apple.com>
828 Possible RetainPtr misuse in WKScriptMessage.mm - could leak
829 https://bugs.webkit.org/show_bug.cgi?id=136140
831 Reviewed by Darin Adler.
833 Adopt a copy into a RetainPtr to avoid leaking.
835 * UIProcess/API/Cocoa/WKScriptMessage.mm:
836 (-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
838 2014-08-21 Simon Fraser <simon.fraser@apple.com>
840 Add animationDidEnd callbacks on GraphicsLayer
841 https://bugs.webkit.org/show_bug.cgi?id=136084
843 Reviewed by Tim Horton.
845 Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
846 can add animations, and know when they finish.
848 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
849 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
850 (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
851 * UIProcess/mac/RemoteLayerTreeHost.h:
852 * UIProcess/mac/RemoteLayerTreeHost.mm:
853 (WebKit::RemoteLayerTreeHost::animationDidEnd):
854 * WebProcess/WebPage/DrawingArea.h:
855 (WebKit::DrawingArea::acceleratedAnimationDidEnd):
856 * WebProcess/WebPage/DrawingArea.messages.in:
857 * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
858 (-[WKAnimationDelegate animationDidStop:finished:]):
859 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
860 (WebKit::PlatformCALayerRemote::animationStarted):
861 (WebKit::PlatformCALayerRemote::animationEnded):
862 * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
863 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
864 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
865 (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
866 (WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
867 (WebKit::RemoteLayerTreeContext::animationDidStart):
868 (WebKit::RemoteLayerTreeContext::animationDidEnd):
869 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
870 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
871 (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):
873 2014-08-21 Zalan Bujtas <zalan@apple.com>
875 Enable SATURATED_LAYOUT_ARITHMETIC.
876 https://bugs.webkit.org/show_bug.cgi?id=136106
878 Reviewed by Simon Fraser.
880 SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
881 (No measurable performance regression on Mac.)
883 * Configurations/FeatureDefines.xcconfig:
885 2014-08-21 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
887 [GTK] WebkitWebProcess crashing navigating away from ogg video element
888 https://bugs.webkit.org/show_bug.cgi?id=135348
890 Reviewed by Philippe Normand.
892 When a page is cached, by default doesn't recreate the backing store
893 (an optimization added in r89316).
895 Not all the ports uses that optimization. For example IOS port doesn't
898 In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
899 processes video buffers, also display them, because it is a
900 TextureMapperPlatformLayer too.
902 Nevertheless, in r153937, when a page is cached, the player is
903 destroyed. But our player has a backing store and the render tree
904 doesn't know that the player has gone. Hence, when the page is redraw,
905 the TextureMapper tree visits the video element, which doesn't exist
906 anymore, a segmentation fault occurs.
908 So, as our media player renders, and as we cannot trust that the
909 player exists when a page is painted, we cannot rely in the r89316
912 Disabling the backing stores optimization fixes the problem.
914 Covered by existing tests.
916 * WebProcess/soup/WebProcessSoup.cpp:
917 (WebKit::WebProcess::platformSetCacheModel): Enable the backing store
918 clearing when page caching for GTK.
920 2014-08-20 Alex Christensen <achristensen@webkit.org>
922 Introducing WEBCORE_EXPORT macro.
923 https://bugs.webkit.org/show_bug.cgi?id=136108
925 Reviewed by Antti Koivisto.
928 Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.
930 2014-08-20 Pratik Solanki <psolanki@apple.com>
932 Move DiskCacheMonitor to WebCore so that WebKit1 clients can use it as well
933 https://bugs.webkit.org/show_bug.cgi?id=135896
935 Reviewed by Andreas Kling.
937 * NetworkProcess/mac/NetworkDiskCacheMonitor.h:
938 Inherit from WebCore::DiskCacheMonitor which has the bulk of the functionality now.
939 (WebKit::NetworkDiskCacheMonitor::~NetworkDiskCacheMonitor):
940 * NetworkProcess/mac/NetworkDiskCacheMonitor.mm:
941 (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
942 (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
943 (WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked):
944 Override virtual method and send the data to the WebContent process as before.
946 2014-08-19 Pratik Solanki <psolanki@apple.com>
948 Remove PurgeableBuffer since it is not very useful any more
949 https://bugs.webkit.org/show_bug.cgi?id=135939
951 Reviewed by Andreas Kling.
953 * WebProcess/WebProcess.cpp:
954 (WebKit::getWebCoreMemoryCacheStatistics):
956 2014-08-19 Peyton Randolph <prandolph@apple.com>
958 Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
959 element, and snapshot that range
960 https://bugs.webkit.org/show_bug.cgi?id=136076
962 Reviewed by Tim Horton.
964 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
965 (WKBundleHitTestResultCopyURLElementHandle): Added.
966 * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
967 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
968 (WKBundleNodeHandleCopyVisibleRange): Added.
969 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
970 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
971 (WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
972 (WKBundleRangeHandleCopySnapshotWithOptions): Added.
973 * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
974 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
975 (WebKit::InjectedBundleNodeHandle::visibleRange): Added.
976 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
977 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
978 (WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
979 (WebKit::InjectedBundleRangeHandle::renderedImage): Added.
980 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
981 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
982 (WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.
983 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
985 2014-08-19 Zalan Bujtas <zalan@apple.com>
987 Remove ENABLE(SUBPIXEL_LAYOUT).
988 https://bugs.webkit.org/show_bug.cgi?id=136077
990 Reviewed by Simon Fraser.
992 Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
994 * Configurations/FeatureDefines.xcconfig:
996 2014-08-19 Peyton Randolph <prandolph@apple.com>
998 Extend injected bundle node snapshotting to support forced white and black text
999 https://bugs.webkit.org/show_bug.cgi?id=136061
1001 Reviewed by Beth Dakin.
1003 * Shared/API/c/WKImage.h:
1004 Add -ForceBlackText and -ForceWhiteText snapshotting options.
1005 * Shared/API/c/WKSharedAPICast.h:
1006 (WebKit::toSnapshotOptions):
1007 Support aforementioned text snapshotting options.
1008 * Shared/ImageOptions.h:
1009 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1010 (WebKit::imageForRect):
1011 Respect text color snapshotting options by setting appropriate paint behaviors.
1013 2014-08-18 Maciej Stachowiak <mjs@apple.com>
1015 Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
1016 https://bugs.webkit.org/show_bug.cgi?id=136035
1018 Reviewed by Dan Bernstein.
1020 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1021 (InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
1022 WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension
1023 * mac/WebKit2.order: Remove exports related to above.
1025 2014-08-18 Commit Queue <commit-queue@webkit.org>
1027 Unreviewed, rolling out r172736.
1028 https://bugs.webkit.org/show_bug.cgi?id=136060
1030 Caused 14% PLT regressions (Requested by rniwa on #webkit).
1034 "Remove PurgeableBuffer since it is not very useful any more"
1035 https://bugs.webkit.org/show_bug.cgi?id=135939
1036 http://trac.webkit.org/changeset/172736
1038 2014-08-18 Simon Fraser <simon.fraser@apple.com>
1040 Provide default implementations of all GraphicsLayerClient methods
1041 https://bugs.webkit.org/show_bug.cgi?id=136054
1043 Reviewed by Tim Horton.
1045 Remove overrides which are no longer required.
1047 * WebProcess/WebPage/PageOverlayController.h:
1048 * WebProcess/WebPage/ServicesOverlayController.h:
1049 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1051 2014-08-18 Pratik Solanki <psolanki@apple.com>
1053 Remove PurgeableBuffer since it is not very useful any more
1054 https://bugs.webkit.org/show_bug.cgi?id=135939
1056 Reviewed by Geoffrey Garen.
1058 * WebProcess/WebProcess.cpp:
1059 (WebKit::getWebCoreMemoryCacheStatistics):
1061 2014-08-18 Peyton Randolph <prandolph@apple.com>
1063 Expose long mouse press WebKit API. Part of 135257 - Add long mouse press gesture
1064 https://bugs.webkit.org/show_bug.cgi?id=136048
1066 Reviewed by Dan Bernstein.
1068 This patch exposes long mouse press API callbacks in both the injected bundle and on the UI process
1069 through their respective page UI clients. The callbacks are modeled off of the mouseDidMoveOverElement
1070 callback. Like the mouseDidMoveOverElement callback, these callbacks allow the bundle to pass
1071 information to the UI process via a userData out parameter.
1073 * UIProcess/API/APIUIClient.h:
1074 (API::UIClient::didBeginTrackingPotentialLongMousePress): Added.
1075 (API::UIClient::didRecognizeLongMousePress): Added.
1076 (API::UIClient::didCancelTrackingPotentialLongMousePress): Added.
1077 * UIProcess/API/C/WKPage.cpp:
1078 (WKPageSetPageUIClient):
1079 * UIProcess/API/C/WKPageUIClient.h:
1080 * UIProcess/WebPageProxy.cpp:
1081 (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Added.
1082 (WebKit::WebPageProxy::didRecognizeLongMousePress): Added.
1083 (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Added.
1084 * UIProcess/WebPageProxy.h:
1085 * UIProcess/WebPageProxy.messages.in:
1086 * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
1087 (API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Added.
1088 (API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Added.
1089 (API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Added.
1090 * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
1091 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
1092 (WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Added.
1093 (WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Added.
1094 (WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Added.
1095 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1096 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1097 (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Added.
1098 (WebKit::WebChromeClient::didRecognizeLongMousePress): Added.
1099 (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Added.
1100 * WebProcess/WebCoreSupport/WebChromeClient.h:
1102 2014-08-18 Przemyslaw Kuczynski <p.kuczynski@samsung.com>
1104 Fix unintentional integer overflow before widen
1105 https://bugs.webkit.org/show_bug.cgi?id=135463
1107 Reviewed by Oliver Hunt.
1109 Overflowing expression is evaluated using operands arithmetic but then is used in
1110 context which expects an wider integer type. To avoid overflow at least one operand
1111 has to be representative of the wider type.
1113 * WebProcess/soup/WebProcessSoup.cpp:
1114 (WebKit::getMemorySize): Added long long literal.
1116 2014-08-18 Przemyslaw Kuczynski <p.kuczynski@samsung.com>
1118 Fix resource leak in unclosed file descriptor handles
1119 https://bugs.webkit.org/show_bug.cgi?id=135458
1121 Reviewed by Oliver Hunt.
1123 Leaving descriptor unclosed will cause the resources associated with the open
1124 file description never be freed (they are freed on closing the last descriptor
1125 refering to the underlying file).
1127 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1128 (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): Closed newStdout descriptor.
1129 (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): Closed m_savedStdout descriptor.
1131 2014-08-18 Grzegorz Czajkowski <g.czajkowski@samsung.com>
1133 [EFL] ewk_init() is sufficient to initialize EFL components
1134 https://bugs.webkit.org/show_bug.cgi?id=136036
1136 Reviewed by Gyuyoung Kim.
1138 Developers do not have to initialize EFL components as ewk_init()
1141 * UIProcess/API/efl/ewk_intro.h:
1143 2014-08-16 Pratik Solanki <psolanki@apple.com>
1145 Rename DiskCacheMonitor to NetworkDiskCacheMonitor
1146 https://bugs.webkit.org/show_bug.cgi?id=135897
1148 Reviewed by Andreas Kling.
1150 In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
1151 class to NetworkDiskCacheMonitor.
1153 * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.
1154 (WebKit::NetworkDiskCacheMonitor::resourceRequest):
1155 * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.
1156 (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
1157 (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
1158 (WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
1159 (WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):
1160 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1161 (WebKit::NetworkResourceLoader::willCacheResponseAsync):
1162 * WebKit2.xcodeproj/project.pbxproj:
1164 2014-08-16 Byungseon Shin <sun.shin@lge.com>
1166 [GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
1167 https://bugs.webkit.org/show_bug.cgi?id=136017
1169 Reviewed by Gyuyoung Kim.
1171 * UIProcess/API/gtk/PageClientImpl.cpp:
1172 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1173 (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1174 * UIProcess/API/gtk/PageClientImpl.h:
1176 2014-08-15 Ryuan Choi <ryuan.choi@samsung.com>
1178 [EFL] Add ewk_intro.h to describe main page of doxygen
1179 https://bugs.webkit.org/show_bug.cgi?id=136013
1181 Reviewed by Gyuyoung Kim.
1183 * PlatformEfl.cmake:
1184 * UIProcess/API/efl/EWebKit2.h.in:
1185 * UIProcess/API/efl/ewk_intro.h: Added.
1187 2014-08-15 Zalan Bujtas <zalan@apple.com>
1189 Do not use FloatRect::infiniteRect() to flag full repaints.
1190 https://bugs.webkit.org/show_bug.cgi?id=135900
1192 Reviewed by Simon Fraser.
1194 Converting FloatRect::infiniteRect() to IntRect leads to value overflow
1195 and we end up with invalid repaint rectangle. Use a boolean flag to indicate
1196 full repaint request.
1198 Covered by existing tests.
1200 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1201 (WebKit::PlatformCALayerRemote::setNeedsDisplayInRect):
1202 (WebKit::PlatformCALayerRemote::setNeedsDisplay):
1203 * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1204 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
1205 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1206 (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplayInRect):
1207 (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplay):
1208 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1209 (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplayInRect):
1210 (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
1211 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
1213 2014-08-15 Alexey Proskuryakov <ap@apple.com>
1215 REGRESSION (r172660): WebKit2.TerminateTwice asserts
1216 https://bugs.webkit.org/show_bug.cgi?id=136012
1218 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::terminateProcess):
1219 Added bug number to a fixme.
1221 2014-08-15 Ryuan Choi <ryuan.choi@samsung.com>
1223 Unreviewed build fix on the EFL port since r172635
1225 * UIProcess/WebPageProxy.cpp: Guard removeNavigationGestureSnapshot with PLATFORM(MAC) macro.
1226 * UIProcess/WebPageProxy.h: Ditto.
1227 * UIProcess/efl/WebViewEfl.h: Added didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame as dummy.
1229 2014-08-15 Alexey Proskuryakov <ap@apple.com>
1231 Improve page to process relationship tracking
1232 https://bugs.webkit.org/show_bug.cgi?id=135996
1233 <rdar://problem/16991213>
1235 Reviewed by Sam Weinig.
1237 * UIProcess/VisitedLinkProvider.cpp:
1238 (WebKit::VisitedLinkProvider::removeAll):
1239 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
1240 (WebKit::VisitedLinkProvider::sendTable):
1241 Added assertions for m_processes only having valid entries.
1243 * UIProcess/WebPageProxy.cpp:
1244 (WebKit::WebPageProxy::reattachToWebProcess): When attaching to a new process,
1245 tell the old process that the page is not longer associated with it, avoiding
1246 a potential stale pointer.
1247 If re-attached to an existing process, make sure that we perform all the same
1248 registrations as after having launched a new process. This substantially improves
1249 the behavior when the number of open tabs is over process limit.
1250 (WebKit::WebPageProxy::reattachToWebProcessWithItem): Added ASSERT(!isValid())
1251 to avoid confusion. All other calls to reattachToWebProcess() have this as a
1252 runtime check, but reattachToWebProcessWithItem() is only called for valid pages.
1253 (WebKit::WebPageProxy::terminateProcess): Added an assertion with a FIXME for
1254 something that will need to be fixed another day.
1256 * UIProcess/WebPageProxy.h: Removed an unimplemented function.
1258 * UIProcess/WebProcessProxy.cpp:
1259 (WebKit::WebProcessProxy::addExistingWebPage): Added assertions for page map sanity.
1260 (WebKit::WebProcessProxy::removeWebPage): Added a check for page state being Terminated
1261 already. This avoids an assertion failure that happened under the new call to
1262 removeWebPage() in reattachToWebProcess(), as we are now calling it for terminated
1263 processes that are not in WebContext::m_processes any more.
1264 (WebKit::WebProcessProxy::didFinishLaunching): Added an assertion that page agrees
1265 about using this process.
1267 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1269 Fix plugin visibility check.
1270 https://bugs.webkit.org/show_bug.cgi?id=135991
1272 D'oh, more unreviewed typo fix. :-(
1274 * PluginProcess/PluginControllerProxy.cpp:
1275 (WebKit::PluginControllerProxy::visibilityDidChange):
1276 (WebKit::PluginControllerProxy::windowVisibilityChanged):
1277 (WebKit::PluginControllerProxy::updateVisibilityActivity):
1278 (WebKit::PluginControllerProxy::updateVisiblityActivity): Deleted.
1279 * PluginProcess/PluginControllerProxy.h:
1281 2014-08-15 Wenson Hsieh <wenson_hsieh@apple.com>
1283 Implement snapping behavior for iOS
1284 https://bugs.webkit.org/show_bug.cgi?id=135769
1286 Reviewed by Brent Fulgham.
1288 Added support for snap points on iOS.
1290 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
1291 (ArgumentCoder<ScrollingStateScrollingNode>::encode): Added snap offset encoding.
1292 (ArgumentCoder<ScrollingStateScrollingNode>::decode): Added snap offset decoding.
1293 * UIProcess/API/Cocoa/WKWebView.mm:
1294 (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For mainframe scrolling, retargets the scroll destination to the appropriate snap point.
1295 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added methods to extract relevant information for WKWebView from snap offsets in mainframe scrolling.
1296 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1297 (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For overflow scrolling, retargets the scroll destination to the appropriate snap point.
1298 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren): Sets the deceleration factor to FAST if snap points are active.
1299 * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
1300 (WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Used by WKWebView for mainframe scrolling to retarget the scroll destination, if necessary.
1301 (WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast): Used by WKWebView for mainframe scrolling to determine whether to set deceleration rate to the fast value.
1302 (WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Helper method.
1303 (WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Helper method.
1305 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1307 Fix plugin visibility check.
1308 https://bugs.webkit.org/show_bug.cgi?id=135991
1310 Unreviewed typo fix.
1312 * PluginProcess/PluginControllerProxy.cpp:
1313 (WebKit::PluginControllerProxy::PluginControllerProxy):
1314 (WebKit::PluginControllerProxy::visibilityDidChange):
1315 (WebKit::PluginControllerProxy::windowVisibilityChanged):
1316 (WebKit::PluginControllerProxy::updateVisibilityActivity):
1317 * PluginProcess/PluginControllerProxy.h:
1319 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1321 Fix plugin visibility check.
1322 https://bugs.webkit.org/show_bug.cgi?id=135991
1324 Reviewed by Andreas Kling.
1326 We should only take a UserActivity if the plugin is in a visible window,
1327 and also is itself visible.
1329 * PluginProcess/PluginControllerProxy.cpp:
1330 (WebKit::PluginControllerProxy::PluginControllerProxy):
1331 - initialize member state.
1332 (WebKit::PluginControllerProxy::visibilityDidChange):
1333 (WebKit::PluginControllerProxy::windowVisibilityChanged):
1334 - update member state & call updateVisibilityActivity.
1335 (WebKit::PluginControllerProxy::updateVisibilityActivity):
1336 - enable the UserActivity only if both visibilities are true.
1337 * PluginProcess/PluginControllerProxy.h:
1338 - added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
1340 2014-08-15 Enrica Casucci <enrica@apple.com>
1342 [Services with UI] Selections are incorrect when selecting three lines.
1343 https://bugs.webkit.org/show_bug.cgi?id=135989
1344 <rdar://problem/18032571>
1346 Reviewed by Tim Horton.
1348 The stitching algorithm did not handle correctly the case of selections
1349 over three lines if the middle line is composed of only one rectangle.
1351 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1352 (WebKit::stitchRects):
1354 2014-08-15 Tim Horton <timothy_horton@apple.com>
1356 Service overlays stay fixed when <iframe> scrolls
1357 https://bugs.webkit.org/show_bug.cgi?id=135959
1358 <rdar://problem/17957716>
1360 Reviewed by Enrica Casucci.
1362 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1363 (WebKit::ServicesOverlayController::highlightsAreEquivalent):
1364 Tiny correctness fix; highlights can only be equivalent if their
1365 types are equivalent as well.
1367 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1369 de-PLATFORM(COCOA) a couple of methods in plugin code
1370 https://bugs.webkit.org/show_bug.cgi?id=135987
1372 Reviewed by Sam Weinig.
1374 Pass through the visibility & focus on all platforms, to simplify & avoid
1375 any weird inconsistencies between platforms.
1377 * PluginProcess/PluginControllerProxy.cpp:
1378 (WebKit::PluginControllerProxy::windowFocusChanged):
1379 (WebKit::PluginControllerProxy::windowVisibilityChanged):
1380 * PluginProcess/PluginControllerProxy.h:
1381 * PluginProcess/PluginControllerProxy.messages.in:
1382 * PluginProcess/mac/PluginControllerProxyMac.mm:
1383 (WebKit::PluginControllerProxy::windowFocusChanged): Deleted.
1384 (WebKit::PluginControllerProxy::windowVisibilityChanged): Deleted.
1385 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1386 (WebKit::NetscapePlugin::windowFocusChanged):
1387 (WebKit::NetscapePlugin::windowVisibilityChanged):
1388 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1389 * WebProcess/Plugins/Plugin.h:
1390 * WebProcess/Plugins/PluginProxy.cpp:
1391 (WebKit::PluginProxy::windowAndViewFramesChanged):
1392 * WebProcess/Plugins/PluginProxy.h:
1393 * WebProcess/Plugins/PluginView.cpp:
1394 (WebKit::PluginView::viewStateDidChange):
1395 (WebKit::PluginView::platformViewStateDidChange): Deleted.
1396 * WebProcess/Plugins/PluginView.h:
1398 2014-08-15 Tim Horton <timothy_horton@apple.com>
1400 Service overlays stay fixed when <iframe> scrolls
1401 https://bugs.webkit.org/show_bug.cgi?id=135959
1402 <rdar://problem/17957716>
1404 Reviewed by Enrica Casucci.
1406 * WebProcess/WebPage/PageOverlay.cpp:
1407 (WebKit::PageOverlay::didScrollFrame):
1408 * WebProcess/WebPage/PageOverlay.h:
1409 (WebKit::PageOverlay::Client::didScrollFrame):
1410 * WebProcess/WebPage/PageOverlayController.cpp:
1411 (WebKit::PageOverlayController::didScrollFrame):
1412 Push didScrollFrame down to the overlays.
1414 * WebProcess/WebPage/ServicesOverlayController.h:
1415 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1416 (WebKit::ServicesOverlayController::Highlight::createForSelection):
1417 Hold on to the selection's Range so we can use it to compare Highlights later.
1419 (WebKit::ServicesOverlayController::Highlight::Highlight):
1420 (WebKit::ServicesOverlayController::Highlight::setDDHighlight):
1421 Factor the code to set up and paint the highlight out, so that we can
1422 set a new DDHighlightRef on a Highlight and the layer moves/reshapes/repaints.
1424 (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
1425 (WebKit::ServicesOverlayController::buildSelectionHighlight):
1426 (WebKit::ServicesOverlayController::replaceHighlightsOfTypePreservingEquivalentHighlights):
1427 Factor replaceHighlightsOfTypePreservingEquivalentHighlights out
1428 so that we can use it for buildSelectionHighlight as well.
1430 Steal the DDHighlightRef from the new Highlight when re-using an old one
1431 so that the newly computed rects are used instead of the old ones.
1433 (WebKit::ServicesOverlayController::highlightsAreEquivalent):
1434 We will always have a Range now, so we can always check equivalence using it.
1436 (WebKit::ServicesOverlayController::didScrollFrame):
1437 Rebuild all highlights upon subframe scroll, as they might have moved.
1438 We could optimize this in the future, but for now it's cheap enough
1439 and rare enough that it doesn't matter.
1441 2014-08-15 Tim Horton <timothy_horton@apple.com>
1443 REGRESSION (WebKit2 Gestures): White flash when swiping back to cnn.com's homepage from an article
1444 https://bugs.webkit.org/show_bug.cgi?id=135951
1445 <rdar://problem/18006149>
1447 Reviewed by Simon Fraser.
1449 Wait for (the first visually non-empty layout AND the render tree size threshold to be hit),
1450 OR didFinishLoadForFrame, whichever comes first. Once we've done the first visually non-empty layout,
1451 we'll start the watchdog and tear down the snapshot in three seconds no matter what.
1452 Also, force a repaint so we can asynchronously wait for the Web Process to paint and return to us
1453 before removing the snapshot, which improves our chances that something is actually on the screen.
1455 * UIProcess/API/mac/WKView.mm:
1456 (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]):
1457 (-[WKView _didFinishLoadForMainFrame]):
1458 (-[WKView _removeNavigationGestureSnapshot]):
1459 * UIProcess/API/mac/WKViewInternal.h:
1460 * UIProcess/PageClient.h:
1461 * UIProcess/WebPageProxy.cpp:
1462 (WebKit::WebPageProxy::didFinishLoadForFrame):
1463 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
1464 (WebKit::WebPageProxy::removeNavigationGestureSnapshot):
1465 * UIProcess/WebPageProxy.h:
1466 * UIProcess/ios/PageClientImplIOS.h:
1467 * UIProcess/ios/PageClientImplIOS.mm:
1468 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1469 (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1470 * UIProcess/mac/PageClientImpl.h:
1471 * UIProcess/mac/PageClientImpl.mm:
1472 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1473 (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1474 (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
1475 Plumb didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame
1476 through to ViewGestureController from WebPageProxy via the PageClient, etc.
1478 Ditto for removeNavigationGestureSnapshot, though it is called from a
1479 VoidCallback in ViewGestureController instead of from WebFrameLoaderClient and friends.
1481 * UIProcess/mac/ViewGestureController.h:
1482 * UIProcess/mac/ViewGestureControllerMac.mm:
1483 (WebKit::ViewGestureController::ViewGestureController):
1484 (WebKit::ViewGestureController::endSwipeGesture):
1485 When finishing a swipe, we want to wait for both the first visually non-empty layout
1486 and the render tree size threshold being hit.
1488 (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
1489 (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
1490 When both of these things have happened, remove the swipe snapshot (after forcing a repaint).
1491 For didFirstVisuallyNonEmptyLayoutForMainFrame, we will also start a watchdog
1492 ensuring that we remove the snapshot in three seconds.
1494 (WebKit::ViewGestureController::didFinishLoadForMainFrame):
1495 When didFinishLoadForMainFrame happens, remove the swipe snapshot (after forcing a repaint).
1497 (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
1498 If the watchdog timer fires, remove the swipe snapshot (after forcing a repaint).
1500 (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
1501 Force a repaint and wait for the async callback before removing the snapshot.
1502 It is safe to hold on to the WebPageProxy here because it will always
1503 call all of its callbacks before it is destroyed.
1504 Avoid enqueuing multiple force-repaints.
1506 (WebKit::ViewGestureController::removeSwipeSnapshot):
1508 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1510 Fix plugin visibility initialization
1511 https://bugs.webkit.org/show_bug.cgi?id=135985
1513 Reviewed by Geoffrey Garen.
1515 * WebProcess/Plugins/PluginView.cpp:
1516 (WebKit::PluginView::didInitializePlugin):
1517 - We're not currently initializing the plugin visibility state,
1518 and we're passing the wrong value for window visibility.
1520 2014-08-15 Gavin Barraclough <barraclough@apple.com>
1522 Simplify visibility activity accounting for plugins
1523 https://bugs.webkit.org/show_bug.cgi?id=135981
1525 Reviewed by Dan Bernstein.
1527 Just take one per connection, rather than implementing a counting mechanism.
1529 * PluginProcess/PluginControllerProxy.cpp:
1530 (WebKit::PluginControllerProxy::PluginControllerProxy):
1531 * PluginProcess/PluginControllerProxy.h:
1532 - added m_visiblityActivity.
1533 * PluginProcess/PluginProcess.cpp:
1534 (WebKit::PluginProcess::PluginProcess):
1535 (WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): Deleted.
1536 (WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): Deleted.
1537 * PluginProcess/PluginProcess.h:
1538 - removed pluginsForWebProcessDidBecomeVisible/Hidden.
1539 * PluginProcess/WebProcessConnection.cpp:
1540 (WebKit::WebProcessConnection::removePluginControllerProxy):
1541 (WebKit::WebProcessConnection::pluginDidBecomeVisible): Deleted.
1542 (WebKit::WebProcessConnection::pluginDidBecomeHidden): Deleted.
1543 * PluginProcess/WebProcessConnection.h:
1544 - removed pluginDidBecomeVisible/Hidden.
1545 * PluginProcess/mac/PluginControllerProxyMac.mm:
1546 (WebKit::PluginControllerProxy::windowVisibilityChanged):
1547 - windowVisibilityChanged uses m_visiblityActivity, rather than calling to PluginControllerProxy.
1549 2014-08-15 Carlos Garcia Campos <cgarcia@igalia.com>
1551 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.3 release.
1553 * gtk/NEWS: Add release notes for 2.5.3.
1555 2014-08-14 Enrica Casucci <enrica@apple.com>
1557 [Services with UI] Selection services don't work inside <iframes>.
1558 https://bugs.webkit.org/show_bug.cgi?id=135941
1559 <rdar://problem/17957690>
1561 Reviewed by Tim Horton.
1563 Need to map the selection rectangles using the correct FrameView.
1564 When handling the click, we must use the selection from the focused frame.
1566 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1567 (WebKit::ServicesOverlayController::buildSelectionHighlight):
1568 (WebKit::ServicesOverlayController::handleClick):
1570 2014-08-13 Mark Rowe <mrowe@apple.com>
1572 <https://webkit.org/b/135909> Move helper applications out of the root of the framework.
1574 As described in <https://developer.apple.com/library/mac/technotes/tn2206/>, for bundles containing
1575 a Versions directory there may be no other content at the top level of the bundle other than symlinks.
1576 Upcoming changes to code signing will prevent bundles that violate this rule from being signed.
1578 Reviewed by Sam Weinig.
1580 * Configurations/Base.xcconfig: Define a configuration setting that points to the content directory
1581 of the framework. On OS X this is Versions/A. On iOS, where frameworks are shallow, this is the top level.
1582 * Configurations/BaseLegacyProcess.xcconfig: Install the legacy processes in the content directory
1584 * WebKit2.xcodeproj/project.pbxproj: Copy the legacy processes into the content directory of the
1585 framework during engineering builds. Generate symlinks for the legacy processes to their locations
1586 in Versions/Current. This is necessary because -[NSBundle pathForAuxiliaryExecutable:] only looks
1587 at the top level of the framework wrapper.
1589 2014-08-14 Michael Catanzaro <mcatanzaro@igalia.com>
1591 WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
1592 https://bugs.webkit.org/show_bug.cgi?id=127576
1594 Reviewed by Carlos Garcia Campos.
1596 * UIProcess/WebPageProxy.cpp:
1597 (WebKit::WebPageProxy::performDragControllerAction): Assume read access
1598 to any file that has been dragged into the web view when compiling for
1599 GTK, since we don't support sandbox extensions.
1601 2014-08-13 Wenson Hsieh <wenson_hsieh@apple.com>
1603 Enable CSS_SCROLL_SNAP for iOS
1604 https://bugs.webkit.org/show_bug.cgi?id=135915
1606 Turn on CSS_SCROLL_SNAP for iOS and the iOS simulator.
1608 Reviewed by Tim Horton.
1610 * Configurations/FeatureDefines.xcconfig:
1612 2014-08-13 Enrica Casucci <enrica@apple.com>
1614 [Services with UI] Use a longer delay duration for editable content.
1615 https://bugs.webkit.org/show_bug.cgi?id=135918
1616 <rdar://problem/17998929>
1618 Reviewed by Tim Horton.
1620 Use a 1 second delay for selections in editable content.
1622 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1623 (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
1625 2014-08-13 Mark Rowe <mrowe@apple.com>
1627 <https://webkit.org/b/135911> WebKit should build on Yosemite with the public SDK.
1629 Reviewed by Darin Adler.
1631 * Platform/IPC/mac/ImportanceAssertion.h: Forward-declare the new assertion functions we use.
1632 * UIProcess/mac/WebContextMenuProxyMac.mm: Forward-declare some details related to NSSharingServicePicker.
1634 2014-08-13 Alexey Proskuryakov <ap@apple.com>
1638 * UIProcess/WebContext.cpp:
1639 (WebKit::WebContext::ensureNetworkProcess):
1640 (WebKit::WebContext::createNewWebProcess):
1642 2014-08-13 Joseph Pecoraro <pecoraro@apple.com>
1644 Opening Web Inspector causes a large amount of sandbox violations
1645 https://bugs.webkit.org/show_bug.cgi?id=135908
1647 Reviewed by Timothy Hatcher.
1649 * WebProcess/com.apple.WebProcess.sb.in:
1650 Permit the WebContent process to create file read extensions for the
1651 system WebInspectorUI.framework which the Network process can already
1654 2014-08-13 Tim Horton <timothy_horton@apple.com>
1656 Avoid making new active service overlay highlights while the mouse is down
1657 https://bugs.webkit.org/show_bug.cgi?id=135872
1658 <rdar://problem/17982341>
1660 Reviewed by Enrica Casucci.
1662 * WebProcess/WebPage/ServicesOverlayController.h:
1663 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1664 (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
1665 (WebKit::ServicesOverlayController::mouseEvent):
1666 If the mouse is pressed or it's been less than 200ms since the mouse went up,
1667 don't allow the highlight to change. We apply the mouse-is-pressed rule to telephone
1668 number highlights as well, unlike the rest of the hysteresis logic.
1670 2014-08-13 Timothy Hatcher <timothy@apple.com>
1672 Web Inspector: Workaround a NSWindow change to the title bar.
1673 https://bugs.webkit.org/show_bug.cgi?id=135880
1675 Reviewed by Joseph Pecoraro.
1677 * UIProcess/mac/WebInspectorProxyMac.mm:
1678 (WebKit::WebInspectorProxy::createInspectorWindow): Set titlebarAppearsTransparent on 10.10.
1679 Only call border thickness APIs on 10.9 and earlier.
1680 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Only call setDrawsBackground: on 10.9 and earlier.
1681 (WebKit::WebInspectorProxy::platformSetToolbarHeight): Only call setContentBorderThickness: on 10.9 and earlier.
1683 2014-08-13 Ryuan Choi <ryuan.choi@samsung.com>
1685 [EFL] Add API to set application name for the user agent
1686 https://bugs.webkit.org/show_bug.cgi?id=135640
1688 Reviewed by Gyuyoung Kim.
1690 Add ewk_application_name_for_user_agent_set to make default user agent string
1691 with application name which application passes.
1692 It's useful for application to set only application information without knowledge
1693 of legacy user agent components.
1695 * UIProcess/API/efl/EwkView.cpp:
1697 (EwkView::setApplicationNameForUserAgent):
1698 * UIProcess/API/efl/EwkView.h:
1699 (EwkView::applicationNameForUserAgent):
1700 * UIProcess/API/efl/ewk_view.cpp:
1701 (ewk_view_application_name_for_user_agent_set):
1702 (ewk_view_application_name_for_user_agent_get):
1703 * UIProcess/API/efl/ewk_view.h:
1704 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1706 * UIProcess/efl/WebPageProxyEfl.cpp:
1707 (WebKit::WebPageProxy::standardUserAgent):
1709 2014-08-12 Carlos Garcia Campos <cgarcia@igalia.com>
1711 [CMAKE] WebProcess shouldn't need to explicitly link to JavaScriptCore and WebCore
1712 https://bugs.webkit.org/show_bug.cgi?id=135832
1714 Reviewed by Gyuyoung Kim.
1716 Linking to WebKit2 should be enough, like Network and Plugin processes.
1720 2014-08-12 Tim Horton <timothy_horton@apple.com>
1722 Document-relative page overlays drop some mouse events with non-zero top content inset
1723 https://bugs.webkit.org/show_bug.cgi?id=135871
1724 <rdar://problem/17982275>
1726 Reviewed by Beth Dakin.
1728 * WebProcess/WebPage/PageOverlay.cpp:
1729 (WebKit::PageOverlay::mouseEvent):
1730 Convert the mouse position into document-relative coordinates; the bounds()
1731 already are! This way, we can actually compare them without being wrong sometimes.
1733 2014-08-12 Peyton Randolph <prandolph@apple.com>
1735 Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture
1736 https://bugs.webkit.org/show_bug.cgi?id=135682
1738 Reviewed by Tim Horton.
1740 * Configurations/FeatureDefines.xcconfig: Remove LONG_MOUSE_PRESS feature flag.
1741 * Shared/WebPreferencesDefinitions.h:
1742 Add LongMousePressEnabled preference, initially false.
1743 * UIProcess/API/C/WKPreferences.cpp:
1744 (WKPreferencesSetLongMousePressEnabled): Added.
1745 (WKPreferencesGetLongMousePressEnabled): Added.
1746 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1747 * WebProcess/WebPage/WebPage.cpp:
1748 (WebKit::WebPage::updatePreferences):
1749 Reflect the WebKit long mouse press setting in WebCore.
1751 2014-08-12 Pratik Solanki <psolanki@apple.com>
1753 Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
1754 https://bugs.webkit.org/show_bug.cgi?id=135727
1755 <rdar://problem/17947880>
1757 Reviewed by Darin Adler.
1759 tryGetShareableHandleFromSharedBuffer() assumed that we have a file backed resource only if
1760 we had a CFDataRef (platformData()) in SharedBuffer. This is wrong when we use the data
1761 array callbacks since the file backed buffer could be in the data array. Instead of relying
1762 on hasPlatformData(), explicitly ask the SharedBuffer to give us a CFDataRef if it has one
1763 so that SharedBuffer can take care of the data array case.
1765 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1766 (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
1768 2014-08-12 Alexey Proskuryakov <ap@apple.com>
1770 REGRESSION: WebContent process has a sandbox extension for the entirety of user's temp directory
1771 https://bugs.webkit.org/show_bug.cgi?id=135853
1772 <rdar://problem/17986556>
1774 Reviewed by Oliver hunt.
1776 Move extensions recently added for iOS benefit under PLATFORM(IOS). Removed some
1777 dead code while at it (child processes don't need actual paths, they only need
1778 sandbox extensions in most cases).
1780 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1781 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1782 * Shared/Network/NetworkProcessCreationParameters.cpp:
1783 (WebKit::NetworkProcessCreationParameters::encode):
1784 (WebKit::NetworkProcessCreationParameters::decode):
1785 * Shared/Network/NetworkProcessCreationParameters.h:
1786 * Shared/WebProcessCreationParameters.cpp:
1787 (WebKit::WebProcessCreationParameters::encode):
1788 (WebKit::WebProcessCreationParameters::decode):
1789 * Shared/WebProcessCreationParameters.h:
1790 * UIProcess/WebContext.cpp:
1791 (WebKit::WebContext::ensureNetworkProcess):
1792 (WebKit::WebContext::createNewWebProcess):
1793 (WebKit::WebContext::openGLCacheDirectory): Deleted.
1794 (WebKit::WebContext::networkingHSTSDatabasePath): Deleted.
1795 * UIProcess/WebContext.h:
1796 * UIProcess/efl/WebContextEfl.cpp:
1797 (WebKit::WebContext::containerTemporaryDirectory): Deleted.
1798 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1799 * UIProcess/gtk/WebContextGtk.cpp:
1800 (WebKit::WebContext::containerTemporaryDirectory): Deleted.
1801 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1802 * UIProcess/mac/WebContextMac.mm:
1803 (WebKit::WebContext::openGLCacheDirectory):
1804 (WebKit::WebContext::parentBundleDirectory):
1805 (WebKit::WebContext::networkingHSTSDatabasePath):
1806 (WebKit::WebContext::platformDefaultOpenGLCacheDirectory): Deleted.
1807 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1808 * WebProcess/cocoa/WebProcessCocoa.mm:
1809 (WebKit::WebProcess::platformInitializeWebProcess):
1811 2014-08-12 Tim Horton <timothy_horton@apple.com>
1813 Small region (~1px tall) where you get the selection button instead of the phone number overlay
1814 https://bugs.webkit.org/show_bug.cgi?id=135852
1815 <rdar://problem/17992795>
1817 Reviewed by Enrica Casucci.
1819 * WebProcess/WebPage/ServicesOverlayController.h:
1820 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1821 (WebKit::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight):
1822 (WebKit::ServicesOverlayController::determineActiveHighlight):
1823 If our new active highlight is a selection highlight that is completely contained
1824 by one of the phone number highlights, we'll make the phone number highlight active
1825 even if it's not hovered. This fixes the case where the selection highlight
1826 (a subset of a telephone number) is slightly taller than the telephone number
1827 highlight, and can be hovered without hovering the phone number highlight.
1829 2014-08-12 Tim Horton <timothy_horton@apple.com>
1831 REGRESSION (r172424): Extra menu header in combined telephone number menu when no phone paired
1832 https://bugs.webkit.org/show_bug.cgi?id=135854
1833 <rdar://problem/17996339>
1835 Reviewed by Enrica Casucci.
1837 * UIProcess/mac/WebContextMenuProxyMac.mm:
1838 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
1839 Get all the menu items ahead of time, and only add the shared header
1840 if there are any telephone number menu items.
1842 2014-08-12 Enrica Casucci <enrica@apple.com>
1844 Crash at com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::expandForGap
1845 https://bugs.webkit.org/show_bug.cgi?id=135859
1846 <rdar://problem/17994679>
1848 Reviewed by Tim Horton.
1850 expandForGap made the assumption that the selection rects were always three.
1851 This was not true even before http://trac.webkit.org/changeset/172395 but
1852 was more likely to happen after that change.
1854 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1855 (WebKit::expandForGap):
1857 2014-08-12 Tim Horton <timothy_horton@apple.com>
1859 Don't show the combined menu if there are no services available
1860 https://bugs.webkit.org/show_bug.cgi?id=135846
1861 <rdar://problem/17582099>
1863 Reviewed by Enrica Casucci.
1865 * WebProcess/WebPage/ServicesOverlayController.h:
1868 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1869 (WebKit::ServicesOverlayController::determineActiveHighlight):
1870 Don't allow a selection Highlight to become active if there is no
1871 service available to handle it. Previously we showed the combined menu
1872 with just phone numbers in it if any were detected.
1874 2014-08-12 Tim Horton <timothy_horton@apple.com>
1876 Add a fade transition to services highlights
1877 https://bugs.webkit.org/show_bug.cgi?id=135829
1878 <rdar://problem/17935736>
1880 Reviewed by Enrica Casucci.
1882 Add a smooth fade to highlight installation and uninstallation.
1883 To do so, we make each highlight paint into its own small layer.
1885 * WebProcess/WebPage/PageOverlay.cpp:
1886 (WebKit::PageOverlay::layer):
1887 * WebProcess/WebPage/PageOverlay.h:
1888 * WebProcess/WebPage/PageOverlayController.cpp:
1889 (WebKit::PageOverlayController::layerForOverlay):
1890 * WebProcess/WebPage/PageOverlayController.h:
1891 Expose the GraphicsLayer on PageOverlay.
1893 * WebProcess/WebPage/ServicesOverlayController.h:
1894 (WebKit::ServicesOverlayController::Highlight::layer):
1895 (WebKit::ServicesOverlayController::activeHighlight):
1896 (WebKit::ServicesOverlayController::webPage):
1897 (WebKit::ServicesOverlayController::Highlight::Highlight): Deleted.
1899 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1900 (WebKit::ServicesOverlayController::Highlight::createForSelection):
1901 (WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
1902 (WebKit::ServicesOverlayController::Highlight::Highlight):
1903 Highlights now own a GraphicsLayer, which are later installed
1904 as sublayers of the ServicesOverlayController's PageOverlay layer.
1905 These layers are sized and positioned according to the DDHighlight's bounds.
1907 (WebKit::ServicesOverlayController::Highlight::~Highlight):
1908 (WebKit::ServicesOverlayController::Highlight::invalidate):
1909 ServicesOverlayController will invalidate any remaining highlights
1910 when it is torn down, so they can clear their backpointers.
1912 (WebKit::ServicesOverlayController::Highlight::notifyFlushRequired):
1913 Forward flush notifications to the DrawingArea.
1915 (WebKit::ServicesOverlayController::Highlight::paintContents):
1916 Paint the DDHighlight into the layer. Translation is done by the layer position,
1917 so we zero the bounds origin when painting.
1919 (WebKit::ServicesOverlayController::Highlight::deviceScaleFactor):
1920 Forward the deviceScaleFactor so that things are painted at the right scale.
1922 (WebKit::ServicesOverlayController::Highlight::fadeIn):
1923 (WebKit::ServicesOverlayController::Highlight::fadeOut):
1924 Apply a fade animation to the layer.
1926 (WebKit::ServicesOverlayController::Highlight::didFinishFadeOutAnimation):
1927 When the fade completes, unparent the layer, unless it has become active again.
1929 (WebKit::ServicesOverlayController::ServicesOverlayController):
1930 (WebKit::ServicesOverlayController::~ServicesOverlayController):
1931 Invalidate all highlights, so they can clear their backpointers.
1933 (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
1934 Make remainingTimeUntilHighlightShouldBeShown act upon a particular highlight
1935 instead of always the active highlight.
1937 (WebKit::ServicesOverlayController::determineActiveHighlightTimerFired): Rename.
1939 (WebKit::ServicesOverlayController::drawRect):
1940 drawRect is no longer called and will no longer do anything; all of the
1941 painting is done in sublayers.
1943 (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
1944 Ensure that phone number Highlights stay stable even while the selection
1945 changes, by comparing the underlying Ranges and keeping around old Highlights
1946 that match the new ones. This enables us to e.g. fade in while changing
1947 the selection within a phone number.
1949 (WebKit::ServicesOverlayController::buildSelectionHighlight):
1950 (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
1951 (WebKit::ServicesOverlayController::createOverlayIfNeeded):
1952 Don't call setNeedsDisplay; the overlay doesn't have backing store.
1953 Instead, call determineActiveHighlight, which will install/uninstall
1954 highlights as necessary.
1956 (WebKit::ServicesOverlayController::determineActiveHighlight):
1957 Apply fade in/fade out to the overlays.
1958 Keep track of which highlight we're going to activate, until the hysteresis
1959 delay is up, then actually make it active/parent it/fade it in.
1960 We now will have no active highlight between the fade out of the previous one
1961 and the fade in of the new one (during the hysteresis delay).
1963 (WebKit::ServicesOverlayController::mouseEvent):
1964 The overlay now will not become active until the delay is up, so we don't
1965 need to check it again here.
1967 (WebKit::ServicesOverlayController::handleClick):
1968 (WebKit::ServicesOverlayController::didCreateHighlight):
1969 (WebKit::ServicesOverlayController::willDestroyHighlight):
1970 (WebKit::ServicesOverlayController::repaintHighlightTimerFired): Deleted.
1971 (WebKit::ServicesOverlayController::drawHighlight): Deleted.
1973 2014-08-11 Andy Estes <aestes@apple.com>
1975 [iOS] Get rid of iOS.xcconfig
1976 https://bugs.webkit.org/show_bug.cgi?id=135809
1978 Reviewed by Joseph Pecoraro.
1980 All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
1982 * Configurations/Base.xcconfig:
1983 * Configurations/iOS.xcconfig: Removed.
1984 * WebKit2.xcodeproj/project.pbxproj:
1986 2014-08-12 Grzegorz Czajkowski <g.czajkowski@samsung.com>
1988 [EFL] Rename ewk_private.h to EwkDebug.h
1989 https://bugs.webkit.org/show_bug.cgi?id=135797
1991 Reviewed by Gyuyoung Kim.
1993 ewk_private.h contains only debug macros alllowing
1996 * UIProcess/API/efl/EwkView.cpp:
1997 * UIProcess/API/efl/ewk_main.cpp:
1998 * UIProcess/efl/EwkDebug.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
1999 * UIProcess/efl/ViewClientEfl.cpp:
2001 2014-08-12 Carlos Garcia Campos <cgarcia@igalia.com>
2003 [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
2004 https://bugs.webkit.org/show_bug.cgi?id=135834
2006 Reviewed by Philippe Normand.
2008 Make sure the user cache directory exists. If creating the
2009 directory fails for whatever reason, do not try to save the cache
2012 * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
2013 (WebKit::PluginInfoCache::PluginInfoCache):
2014 (WebKit::PluginInfoCache::updatePluginInfo):
2016 2014-08-12 Alexey Proskuryakov <ap@apple.com>
2018 [Mac] Allow reading CoreGraphics debugging preferences
2019 https://bugs.webkit.org/show_bug.cgi?id=135821
2020 <rdar://problem/11219259>
2022 Reviewed by Darin Adler.
2024 * WebProcess/com.apple.WebProcess.sb.in:
2026 2014-08-11 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2028 [EFL] Prevent the client from creating ewk_view when EWebkit is not initialized
2029 https://bugs.webkit.org/show_bug.cgi?id=135606
2031 Reviewed by Gyuyoung Kim.
2033 Similarly to EFL modules (eina, evas etc.), application using EWebKit
2034 has to initialize it using ewk_init().
2036 Do not allow the client to create ewk_view if ewk_init has not been called.
2037 Add an appropriate logs warning the client about wrong APIs usage.
2039 * UIProcess/API/efl/ewk_main.cpp: Add EwkMain class to control ewk lifetime.
2040 (WebKit::EwkMain::EwkMain):
2041 (WebKit::EwkMain::shared):
2042 (WebKit::EwkMain::~EwkMain): Add logs when the client forgot to destroy EWebkit.
2043 (WebKit::EwkMain::initialize):
2044 (WebKit::EwkMain::finalize):
2045 (WebKit::EwkMain::shutdownInitializedEFLModules):
2048 * UIProcess/API/efl/ewk_main_private.h: Added.
2049 (WebKit::EwkMain::isInitialized):
2050 (WebKit::EwkMain::logDomainId):
2051 * UIProcess/API/efl/ewk_private.h:
2052 * UIProcess/API/efl/ewk_view.cpp:
2054 Prevent the client from creating ewk_view when ewk_init() has not been called.
2056 2014-08-11 Enrica Casucci <enrica@apple.com>
2058 Improve look and feel of combined service menu..
2059 https://bugs.webkit.org/show_bug.cgi?id=135824
2060 <rdar://problem/17936880>
2062 Reviewed by Tim Horton.
2064 When showing the combined menu, list the phone numbers first,
2065 grouped under a common header, followed by the entries relative
2068 * Platform/mac/MenuUtilities.h:
2069 * Platform/mac/MenuUtilities.mm:
2070 (WebKit::menuItemTitleForTelephoneNumberGroup):
2071 (WebKit::menuItemForTelephoneNumber):
2072 * UIProcess/mac/WebContextMenuProxyMac.mm:
2073 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2075 2014-08-11 Joseph Pecoraro <pecoraro@apple.com>
2077 Add Private WKPreferences API for developer extras (show inspector)
2078 https://bugs.webkit.org/show_bug.cgi?id=135811
2080 Reviewed by Timothy Hatcher.
2082 * UIProcess/API/Cocoa/WKPreferences.mm:
2083 (-[WKPreferences _developerExtrasEnabled]):
2084 (-[WKPreferences _setDeveloperExtrasEnabled:]):
2085 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2087 2014-08-08 Enrica Casucci <enrica@apple.com>
2089 [Services with UI] Action menu arrow hit testing is sometimes wrong.
2090 https://bugs.webkit.org/show_bug.cgi?id=135776
2091 <rdar://problem/17837670>
2093 Reviewed by Brady Eidson.
2095 There was a problem in the algorithm that stitches together the selection rectangles
2096 to be given to Data Detectors API.
2097 This change adds a new function that stiches together all the rects contributing to the
2098 first line, all the rects contributing to the last line and all the ones in the middle.
2099 This way we can have a maximum of 3 non overlapping rectangles.
2101 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2102 (WebKit::stitchRects):
2103 (WebKit::compactRectsWithGapRects):
2105 2014-08-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2107 Unreviewed, EFL build fix since r172385.
2109 * PlatformEfl.cmake:
2111 2014-08-11 Carlos Garcia Campos <cgarcia@igalia.com>
2113 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.2 release.
2115 * gtk/NEWS: Add release notes for 2.5.2.
2117 2014-08-10 Carlos Garcia Campos <cgarcia@igalia.com>
2119 [GTK] No IPC messages are sent when building WebKitGTK+ with VERSION_SCRIPT
2120 https://bugs.webkit.org/show_bug.cgi?id=135760
2122 Reviewed by Philippe Normand.
2124 The problem is that the threading initialization is failing
2125 because there are two copies of WTF, one in libjavascriptcoregtk
2126 and the other in libwebkit2gtk. When WebKit2 is initialized in the
2127 UI process, JSC::initializeThreading() is called first and then
2128 WTF::initializeMainThread(). The former is calling
2129 ThreadIdentifierData::initializeOnce() initializing the
2130 ThreadIdentifierData::m_key symbol in libjavascriptcoregtk, while
2131 the latter is using the ThreadIdentifierData API from libwebkit2gtk
2132 that hasn't been initialized.
2134 * CMakeLists.txt: Do not add WTF to the list of WebKit2 libraries,
2135 WebKit2 already depends on JavaScriptCore that already links to WTF.
2137 2014-08-10 Tim Horton <timothy_horton@apple.com>
2139 Yelp phone number highlights often disappear
2140 https://bugs.webkit.org/show_bug.cgi?id=135789
2141 <rdar://problem/17971057>
2143 Reviewed by Brady Eidson.
2145 Since selectedTelephoneNumberRangesChanged doesn't provide an associated
2146 Frame, an incoming selectedTelephoneNumberRangesChanged from a subframe
2147 would overwrite ServicesOverlayController's cached (and potentially active)
2148 telephone number highlights.
2150 This happens a lot on Yelp, because they have many subframes which are
2151 doing layout on a regular basis.
2153 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2154 (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
2155 * WebProcess/WebCoreSupport/WebEditorClient.h:
2156 Adjust to the new (lack of) arguments.
2158 * WebProcess/WebPage/ServicesOverlayController.h:
2159 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2160 (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
2161 Adjust logging; we can revisit it later.
2163 (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
2164 When building phone number highlights, walk the Frame tree and retrieve
2165 them from all of the Editors.
2167 (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
2168 (WebKit::ServicesOverlayController::telephoneNumberRangesForFocusedFrame):
2169 (WebKit::ServicesOverlayController::determineActiveHighlight):
2170 (WebKit::ServicesOverlayController::handleClick):
2171 Retrieve the detected telephone number ranges from the focused frame
2172 when combining telephone numbers with selection services.
2173 This ensures that we don't show combined phone number highlights from other frames.
2175 2014-08-10 Tim Horton <timothy_horton@apple.com>
2177 Refactor ServiceOverlayController in preparation for fading between highlights
2178 https://bugs.webkit.org/show_bug.cgi?id=135787
2179 <rdar://problem/17935736>
2181 Reviewed by Brady Eidson.
2183 Rework ServicesOverlayController so that we always keep a set of generic
2184 "potential highlights", which are refcounted Highlight objects and
2185 wrap a DDHighlightRef, as well as a type (Selection or TelephoneNumber),
2186 Range (only used in the case of TelephoneNumber), and potentially more
2187 things in the future (like, say, fade state!).
2189 We eagerly update the list of potential highlights when the selection or set
2190 of detected telephone numbers changes, and use this information to install
2191 or uninstall the page overlay as needed.
2193 When we need to recompute the "active" highlight from this set (for example,
2194 we need to handle a mouse event or paint the highlight), we look through
2195 the set of potential highlights and decide. This moves the "active" highlight
2196 decision logic into one small and confined place.
2198 * WebProcess/WebPage/ServicesOverlayController.h:
2199 (WebKit::ServicesOverlayController::Highlight):
2200 Add the new aforementioned refcounted Highlight class.
2201 Rename m_lastHoveredHighlightChangeTime to m_lastActiveHighlightChangeTime.
2202 Make m_webPage a reference.
2203 The rest is just added/removed/adjusted functions for the refactoring.
2205 (WebKit::TelephoneNumberData::TelephoneNumberData): Deleted.
2206 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2207 (WebKit::ServicesOverlayController::Highlight::createForSelection):
2208 (WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
2209 Create Highlights for the two different highlight types.
2211 (WebKit::ServicesOverlayController::ServicesOverlayController):
2212 (WebKit::ServicesOverlayController::willMoveToWebPage):
2213 Our WebPage pointer is always valid because it owns us; don't clear it.
2214 We need to keep it around so that we can uninstall the overlay and
2215 install it again later, anyway.
2217 (WebKit::ServicesOverlayController::selectionRectsDidChange):
2218 (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
2219 When selection rects or detected telephone numbers change, rebuild potential highlights.
2220 This will have the side-effect of installing the overlay if needed.
2222 (WebKit::ServicesOverlayController::mouseIsOverHighlight):
2223 Make this function take a Highlight instead of a DDHighlightRef.
2225 (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
2226 Make this function take a Highlight instead of a DDHighlightRef.
2228 (WebKit::ServicesOverlayController::drawHighlight):
2229 Make this function take a Highlight instead of a DDHighlightRef.
2230 There's no reason to do the translation separately from the layer blit,
2231 also allowing us to avoid the StateSaver.
2233 (WebKit::ServicesOverlayController::drawRect):
2234 drawRect now always paints the active highlight, instead of duplicating
2235 logic about which highlight should be active.
2236 Also, it will update the active highlight before painting.
2237 We no longer need to re-determine whether the active highlight's phone
2238 number range is still a valid phone number range, because we rebuild
2239 the potential highlights whenever the set of phone number ranges changes.
2241 (WebKit::ServicesOverlayController::clearActiveHighlight):
2242 Mostly an adoption of new names.
2244 (WebKit::ServicesOverlayController::removeAllPotentialHighlightsOfType):
2245 Run through the list of potential highlights and remove any of the given type.
2246 The two highlight building functions use this helper to clear the old ones before building.
2248 (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
2249 (WebKit::ServicesOverlayController::buildSelectionHighlight):
2250 Rebuild the list of potential highlights, replacing all highlights of
2251 the given type with new ones.
2253 (WebKit::ServicesOverlayController::hasRelevantSelectionServices):
2254 Factor out the code that decides whether our current selection is
2255 viable for servicing based on whether we have plain-text and/or rich-text services.
2257 (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
2258 When rebuilding potential highlights, if we have no potential highlights at all,
2259 uninstall the page overlay; we don't need mouse tracking and don't need to
2260 paint anything. This improves memory use and compositing performance significantly,
2261 where previously we were leaving the overlay up forever after creating it.
2263 If we have either detected telephone numbers or relevant selection services,
2264 create and install the overlay if it doesn't already exist.
2266 (WebKit::ServicesOverlayController::createOverlayIfNeeded):
2267 This just moved from elsehwere, except that it now uses FadeMode::DoNotFade.
2268 It doesn't make sense to fade on install/uninstall (which happens even before hover)
2269 but not on changing the active highlight; fading will be re-addressed in the next patch.
2271 (WebKit::ServicesOverlayController::highlightsAreEquivalent):
2272 Determine whether two highlights are equivalent. While we may have
2273 created a new Highlight at rebuild time, if two telephone number
2274 highlights have equivalent ranges, there's no need to 'transition' to the new one.
2276 (WebKit::ServicesOverlayController::determineActiveHighlight):
2277 Run through the list of services, and try to find one that is hovered.
2278 We prefer telephone number highlights to selection highlights, and
2279 we will never make a selection highlight active if it is both
2280 not serviceable and there are no telephone numbers to show in the combined menu.
2281 This is the centralized location for determination of which highlight
2282 should be considered active. If the active highlight changed, update
2283 the time since last change and cancel the mouse-down tracking.
2285 (WebKit::ServicesOverlayController::mouseEvent):
2286 Adjust some comments to be more explanatory.
2287 A bunch of code moved out of here and into determineActiveHighlight.
2289 (WebKit::ServicesOverlayController::handleClick):
2290 Adjust to take a reference and use Highlight instead of DDHighlightRef.
2292 2014-08-10 Timothy Hatcher <timothy@apple.com>
2294 Web Inspector: new glyphs are visible on OS X 10.9 builds
2295 https://bugs.webkit.org/show_bug.cgi?id=135743
2297 Reviewed by Joseph Pecoraro.
2299 * UIProcess/mac/WebInspectorProxyMac.mm:
2300 (WebKit::WebInspectorProxy::createInspectorWindow): Use 10100 instead of 1090 for the version.
2302 2014-08-10 Carlos Garcia Campos <cgarcia@igalia.com>
2304 [GTK] REGRESSION(r166239): The ld version script is not being used
2305 https://bugs.webkit.org/show_bug.cgi?id=135694
2307 Reviewed by Martin Robinson.
2309 * CMakeLists.txt: Add VERSION_SCRIPT to WebKit2 link flags if present.
2311 2014-08-09 Tim Horton <timothy_horton@apple.com>
2313 REGRESSION (r172301): Combined phone number highlight doesn't appear if rich content is selected and we have no rich content services
2314 https://bugs.webkit.org/show_bug.cgi?id=135785
2315 <rdar://problem/17969843>
2317 Reviewed by Brady Eidson.
2319 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2320 (WebKit::ServicesOverlayController::drawSelectionHighlight):
2321 We can't early return in the rich-content-but-no-rich-services case
2322 if we have telephone numbers in the selection, because we want to offer
2323 them up in the combined menu.
2325 * UIProcess/mac/WebContextMenuProxyMac.mm:
2326 If we end up with no menu, because there were no services available,
2327 make a fresh one that we can fill with combined telephone number items.
2329 2014-08-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2331 [EFL] Do not initialize g_type in WebProcessMain::platformInitialize()
2332 https://bugs.webkit.org/show_bug.cgi?id=135700
2334 Reviewed by Gyuyoung Kim.
2336 Inspired by r171788.
2337 Glib since 2.36 itself initializes g_type_init.
2339 * WebProcess/efl/WebProcessMainEfl.cpp:
2341 2014-08-08 Tim Horton <timothy_horton@apple.com>
2343 Build fix for 32-bit.
2345 * UIProcess/mac/ServicesController.mm:
2346 (WebKit::ServicesController::ServicesController):
2347 Don't dynamically refresh services in 32-bit apps. It's not possible
2348 to write a 32-bit app with the Modern API, so this doesn't matter.
2350 2014-08-08 Tim Horton <timothy_horton@apple.com>
2352 [mac] Dynamically update serviceability when the set of services changes
2353 https://bugs.webkit.org/show_bug.cgi?id=135738
2354 <rdar://problem/17533459>
2356 Reviewed by Brady Eidson.
2358 * UIProcess/WebContext.cpp:
2359 (WebKit::WebContext::createNewWebProcess):
2360 Adopt the new universal refreshExistingServices.
2362 (WebKit::WebContext::refreshExistingServices): Deleted.
2363 * UIProcess/WebContext.h:
2364 Remove WebContext::refreshExistingServices; there's no need for it.
2366 * UIProcess/mac/ServicesController.h:
2367 * UIProcess/mac/ServicesController.mm:
2368 Fix the build with only public headers by including NSSharingService.h itself.
2369 Place the NSSharingServicePicker (Details) category outside the #ifdef.
2370 Forward-declare and possibly import NSExtension SPI.
2372 (WebKit::ServicesController::ServicesController):
2373 Register a callback to be notified whenever the set of services changes.
2374 When this occurs, call refreshExistingServices. We let refreshExistingServices
2375 coalesce updates because these notifications can come in small batches.
2377 (WebKit::ServicesController::refreshExistingServices):
2378 Dispatch changes in service availability to all processes in all contexts.
2380 * UIProcess/mac/WebContextMenuProxyMac.mm:
2381 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2382 Adjust the referenced rdar:// and call ServicesController::refreshExistingServices
2383 instead of the now-removed WebContext:: variant. We can't remove this
2384 yet because our services state can still be stale because NSServiceSharingPicker
2385 can still sometimes lie about the current service state immediately after a change occurs;
2386 once that is fixed, we should get rid of this as well as the refresh in Web Process creation.
2388 2014-08-08 Timothy Horton <timothy_horton@apple.com>
2390 Clients that request the selection services menu after WebKit2 will get one with different metrics than otherwise
2391 https://bugs.webkit.org/show_bug.cgi?id=135765
2392 <rdar://problem/17962180>
2394 Reviewed by Brady Eidson.
2396 * UIProcess/mac/WebContextMenuProxyMac.mm:
2397 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2398 The menu is cached between clients, but we make adjustments to it.
2399 We should copy it before adjusting.
2401 2014-08-08 Timothy Horton <timothy_horton@apple.com>
2403 Services overlay dropdown is often in the wrong place with zoomed pages or horizontal scrolling
2404 https://bugs.webkit.org/show_bug.cgi?id=135755
2405 <rdar://problem/17907752>
2407 Reviewed by Brady Eidson.
2409 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2410 (WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
2411 (WebKit::ServicesOverlayController::maybeCreateSelectionHighlight):
2412 DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection adjusts the
2413 location of the button based on the visible rect, trying to keep the button visible.
2415 We're handing it the wrong visible rect, though, not taking scrolling into account.
2417 This leads to pages that scroll horizontally showing the button on the left
2418 even if there's space for it on the right, or sometimes not showing it at all.
2420 Instead, provide the actual main FrameView visible rect; the same coordinate
2421 space that the highlight rects are provided in.
2423 2014-08-08 Timothy Horton <timothy_horton@apple.com>
2425 Additional items added to selection services menus are misaligned
2426 https://bugs.webkit.org/show_bug.cgi?id=135747
2427 <rdar://problem/17933167>
2429 Reviewed by Brady Eidson.
2431 * UIProcess/mac/WebContextMenuProxyMac.mm:
2432 (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2433 Use NSSharingServicePickerStyleRollover for the rollover image services menu;
2434 use NSSharingServicePickerStyleTextSelection for the selection services menu.
2436 Set NSMenu's showsStateColumn to YES for selection services menus, so that
2437 other items added to the menu line up correctly.
2439 Remove an unncessary .get()
2441 2014-08-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
2443 [EFL] Remove unnecessary ewk_private.h includes
2444 https://bugs.webkit.org/show_bug.cgi?id=135753
2446 Reviewed by Gyuyoung Kim.
2448 Neither the below file uses the functionality from ewk_private.h.
2450 * UIProcess/API/efl/ewk_context.cpp:
2451 * UIProcess/API/efl/ewk_context_menu_item.cpp:
2452 * UIProcess/API/efl/ewk_cookie_manager.cpp:
2453 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
2454 * UIProcess/API/efl/ewk_popup_menu_item.cpp:
2455 * UIProcess/API/efl/ewk_view.cpp:
2457 2014-08-08 Carlos Garcia Campos <cgarcia@igalia.com>
2459 [GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
2460 https://bugs.webkit.org/show_bug.cgi?id=135699
2462 Reviewed by Philippe Normand.
2464 Resize grips support have been removed from GTK+ since 3.13.4, the
2465 API has been deprecated and does nothing.
2467 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2468 (webkitWebViewBaseSetToplevelOnScreenWindow):
2469 (resizeWebKitWebViewBaseFromAllocation):
2471 2014-08-07 Tim Horton <timothy_horton@apple.com>
2473 [Services with UI] Action menu does not appear if selection includes both text and an image
2474 https://bugs.webkit.org/show_bug.cgi?id=135731
2475 <rdar://problem/17837491>
2477 Reviewed by Dean Jackson.
2479 * UIProcess/WebContext.cpp:
2480 (WebKit::WebContext::createNewWebProcess):
2481 Initialize hasRichContentServices with the cached value.
2483 2014-08-07 Benjamin Poulain <bpoulain@apple.com>
2485 Get rid of SCRIPTED_SPEECH
2486 https://bugs.webkit.org/show_bug.cgi?id=135729
2488 Reviewed by Brent Fulgham.
2490 * Configurations/FeatureDefines.xcconfig:
2492 2014-08-07 Timothy Horton <timothy_horton@apple.com>
2494 setCustomSwipeViews inside didChangeBackForwardList client callback is ignored
2495 https://bugs.webkit.org/show_bug.cgi?id=135633
2496 <rdar://problem/17926507>
2498 Reviewed by Sam Weinig.
2500 * UIProcess/PageClient.h:
2501 * UIProcess/WebPageProxy.cpp:
2502 (WebKit::WebPageProxy::didChangeBackForwardList):
2503 * UIProcess/ios/PageClientImplIOS.h:
2504 * UIProcess/ios/PageClientImplIOS.mm:
2505 (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
2506 * UIProcess/mac/PageClientImpl.h:
2507 * UIProcess/mac/PageClientImpl.mm:
2508 (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
2509 WebKit clears the set of custom swipe views at the end of WebPageProxy::didChangeBackForwardList,
2510 *after* calling into the client. This means that if the client wants to setCustomSwipeViews in
2511 didChangeBackForwardList, it won't be respected.
2513 Since there's only one client of this SPI, let's just stop clearing the list of custom swipe
2514 views in WebKit and leave that totally up to the client.
2516 2014-08-07 Enrica Casucci <enrica@apple.com>
2518 [Services with UI] Action menu does not appear if selection includes both text and an image.
2519 https://bugs.webkit.org/show_bug.cgi?id=135731
2520 <rdar://problem/17837491>
2522 Reviewed by Brady Eidson.
2524 Adding a new setting to ServicesController to communicate to the WebProcess if
2525 there are services installed that can handle a combination of text and images.
2526 This way ServicesOverlayController can decide if it appropriate to show the hightlight
2527 based on the type of selection (text only or non text only). This information is retrieved
2528 when the selection rects are collected by SelectionGatherer and used by
2529 SelectionGatherer::Notifier to communicate the selection change.
2531 * Shared/WebProcessCreationParameters.cpp:
2532 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2533 * Shared/WebProcessCreationParameters.h:
2534 * UIProcess/mac/ServicesController.h:
2535 (WebKit::ServicesController::hasRichContentServices):
2536 * UIProcess/mac/ServicesController.mm:
2537 (WebKit::ServicesController::ServicesController):
2538 (WebKit::ServicesController::refreshExistingServices):
2539 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2540 (WebKit::WebEditorClient::selectionRectsDidChange):
2541 * WebProcess/WebCoreSupport/WebEditorClient.h:
2542 * WebProcess/WebPage/ServicesOverlayController.h:
2543 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2544 (WebKit::ServicesOverlayController::ServicesOverlayController):
2545 (WebKit::ServicesOverlayController::selectionRectsDidChange):
2546 (WebKit::ServicesOverlayController::drawSelectionHighlight):
2547 * WebProcess/WebProcess.cpp:
2548 (WebKit::WebProcess::WebProcess):
2549 (WebKit::WebProcess::initializeWebProcess):
2550 (WebKit::WebProcess::setEnabledServices):
2551 * WebProcess/WebProcess.h:
2552 (WebKit::WebProcess::hasRichContentServices):
2553 * WebProcess/WebProcess.messages.in:
2555 2014-08-07 Ryuan Choi <ryuan.choi@samsung.com>
2557 [EFL] Fix several warnings of doxygen
2558 https://bugs.webkit.org/show_bug.cgi?id=135643
2560 Reviewed by Gyuyoung Kim.
2562 * UIProcess/API/efl/ewk_context_menu_item.h: Removed /info which is not doxygen keyword and unnecessary to the user.
2563 * UIProcess/API/efl/ewk_cookie_manager.h: Fixed parameter name.
2564 * UIProcess/API/efl/ewk_form_submission_request.h: Removed # from Eina_List because doxygen may not know the EFL structures.
2565 * UIProcess/API/efl/ewk_page_group.h: Fixed to match with parameter name.
2566 * UIProcess/API/efl/ewk_settings.h: Fixed wrong keyword and parameter name.
2567 * UIProcess/API/efl/ewk_text_checker.h: Ditto.
2568 * UIProcess/API/efl/ewk_view.h:
2569 - Used escape string for the tag.
2570 - Used @code, @endcode for media query example.
2572 2014-08-07 Benjamin Poulain <bpoulain@apple.com>
2574 Get rid of INPUT_SPEECH
2575 https://bugs.webkit.org/show_bug.cgi?id=135672
2577 Reviewed by Andreas Kling.
2579 * Configurations/FeatureDefines.xcconfig:
2580 * PlatformGTK.cmake:
2582 2014-08-07 Timothy Hatcher <timothy@apple.com>
2584 Web Inspector: Update glyphs to be more like Xcode 6
2585 https://bugs.webkit.org/show_bug.cgi?id=135705
2587 Reviewed by Joseph Pecoraro.
2589 * Resources/DockBottom.pdf: Added.
2590 * Resources/DockBottomLegacy.pdf: Copied from Source/WebKit/mac/Resources/Dock.pdf.
2591 * Resources/DockRight.pdf: Added.
2592 * Resources/DockRightLegacy.pdf: Copied from Source/WebKit2/Resources/DockRight.pdf.
2593 * UIProcess/mac/WebInspectorProxyMac.mm:
2594 (WebKit::WebInspectorProxy::createInspectorWindow): Use new images.
2595 * WebKit2.xcodeproj/project.pbxproj: Added new images.
2597 2014-08-07 Oliver Hunt <oliver@apple.com>
2599 WebContent needs access to HSTS database due to some networking still being performed in process
2600 https://bugs.webkit.org/show_bug.cgi?id=135711
2603 Reviewed by Alexey Proskuryakov.
2605 Simple patch in the same theme as the equivalent network process
2606 extension. Provide an extension that covers the WebContent specific
2607 HSTS file and consume it on launch.
2609 * Shared/WebProcessCreationParameters.cpp:
2610 (WebKit::WebProcessCreationParameters::encode):
2611 (WebKit::WebProcessCreationParameters::decode):
2612 * Shared/WebProcessCreationParameters.h:
2613 * UIProcess/WebContext.cpp:
2614 (WebKit::WebContext::createNewWebProcess):
2615 * UIProcess/WebContext.h:
2616 * UIProcess/mac/WebContextMac.mm:
2617 (WebKit::WebContext::webContentHSTSDatabasePath):
2618 * WebProcess/cocoa/WebProcessCocoa.mm:
2619 (WebKit::WebProcess::platformInitializeWebProcess):
2621 2014-08-07 Gordon Sheridan <gordon_sheridan@apple.com>
2623 Clear the m_previousItem member of HistoryControllers when it matches the HistoryItem being removed.
2624 https://bugs.webkit.org/show_bug.cgi?id=135634
2625 <rdar://problem/17388461>
2627 Reviewed by Brady Eidson.
2629 * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2630 (WebKit::WebBackForwardListProxy::removeItem):
2631 Call WebCore::Page::clearPreviousItemFromAllPages() for each item removed from
2632 the back/forward list to ensure the page URL is released from IconDatabase.
2634 2014-08-07 Carlos Garcia Campos <cgarcia@igalia.com>
2636 [GTK] Use WebKitNavigationAction also for WebKitNavigationPolicyDecision
2637 https://bugs.webkit.org/show_bug.cgi?id=135695
2639 Reviewed by Gustavo Noronha Silva.
2641 WebKitNavigationAction was introduced to extend WebKitWebView::create signal
2642 and its API is mostly duplicated in WebKitNavigationPolicyDecision.
2643 Use WebKitNavigationAction insternally in WebKitNavigationPolicyDecision and
2644 deprecated all the duplicated API in favor of a single property navigation-action.
2646 * UIProcess/API/gtk/WebKitDefines.h: Remove unused macro
2647 WEBKIT_OBSOLETE and add WEBKIT_DEPRECATED and WEBKIT_DEPRECATED_FOR.
2648 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
2649 (_WebKitNavigationPolicyDecisionPrivate::~_WebKitNavigationPolicyDecisionPrivate):
2650 Free the WebKitNavigationAction.
2651 (webkitNavigationPolicyDecisionGetProperty): Add getter for
2652 navigation-action and use WebKitNavigationAction in all other getters.
2653 (webkit_navigation_policy_decision_class_init): Add navigation-action
2654 property and deprecated all others except frame-name.
2655 (webkit_navigation_policy_decision_get_navigation_action): Return the WebKitNavigationAction.
2656 (webkit_navigation_policy_decision_get_navigation_type): Use WebKitNavigationAction.
2657 (webkit_navigation_policy_decision_get_mouse_button): Ditto.
2658 (webkit_navigation_policy_decision_get_modifiers): Ditto.
2659 (webkit_navigation_policy_decision_get_request): Ditto.
2660 (webkitNavigationPolicyDecisionCreate):
2661 (webkitNewWindowPolicyDecisionCreate):
2662 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
2663 * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
2664 * UIProcess/API/gtk/WebKitPolicyClient.cpp: Use a custom
2665 PolicyClient class so that we receive a NavigationActionData in
2667 (attachPolicyClientToView):
2668 (toWebKitNavigationType): Deleted.
2669 (decidePolicyForNavigationAction): Deleted.
2670 (decidePolicyForNewWindowAction): Deleted.
2671 (decidePolicyForResponse): Deleted.
2672 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
2673 (webkitResponsePolicyDecisionCreate):
2674 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
2675 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2677 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2679 2014-08-06 Antti Koivisto <antti@apple.com>
2681 Move Soup specific code out of WebCoreArgumentCoders.cpp
2682 https://bugs.webkit.org/show_bug.cgi?id=135665
2684 Reviewed by Anders Carlsson.
2686 * Shared/WebCoreArgumentCoders.cpp:
2687 (IPC::ArgumentCoder<ResourceRequest>::encode):
2688 (IPC::ArgumentCoder<ResourceRequest>::decode):
2689 (IPC::ArgumentCoder<ResourceError>::encode):
2690 (IPC::ArgumentCoder<ResourceError>::decode):
2691 * Shared/WebCoreArgumentCoders.h:
2693 Soup is the only client for this code. Move it to *Soup.cpp
2695 * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2696 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
2697 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
2698 (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
2699 (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
2701 2014-08-06 Tim Horton <timothy_horton@apple.com>
2703 Services overlay flashes a lot; should have some hysteresis before showing overlay
2704 https://bugs.webkit.org/show_bug.cgi?id=135683
2705 <rdar://problem/16878039>
2707 Reviewed by Simon Fraser.
2709 Don't show the highlight until it's been 200ms since the last change
2710 in selection or change in which highlight is hovered, whichever was more recent.
2712 * WebProcess/WebPage/ServicesOverlayController.h:
2713 * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2714 (WebKit::ServicesOverlayController::ServicesOverlayController):
2715 (WebKit::ServicesOverlayController::selectionRectsDidChange):
2716 Keep track of when the selection last changed.
2718 (WebKit::ServicesOverlayController::drawTelephoneNumberHighlightIfVisible):
2719 Make establishHoveredTelephoneHighlight take a bool instead of Boolean.
2721 (WebKit::ServicesOverlayController::mouseIsOverHighlight):
2722 Factor mouseIsOverHighlight out of establishHoveredTelephoneHighlight and drawHighlight.
2724 (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
2725 Return the amount of time until the highlight should be shown; this is
2726 the maximum of (the difference between the last selection change and the timeout)
2727 and (the difference between the last change in which highlight is hovered and the timeout).
2729 Telephone number highlights are shown immediately, because they are already stable
2730 by virtue of being expanded to include the entire telephone number.
2732 (WebKit::ServicesOverlayController::repaintHighlightTimerFired):
2733 (WebKit::ServicesOverlayController::drawHighlight):
2734 If the highlight shouldn't be shown yet (because we haven't hit the two timeouts),
2735 schedule a timer to repaint us around when we will hit the timeouts.
2737 (WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
2738 (WebKit::ServicesOverlayController::mouseEvent):
2739 Don't allow mouseUp to trigger the menu if we shouldn't be showing the overlay yet.
2741 2014-08-06 Simon Fraser <simon.fraser@apple.com>
2743 [iOS WK2] www.france24.com doesn't always load the page, sections stay white
2744 https://bugs.webkit.org/show_bug.cgi?id=135684
2745 <rdar://problem/17931712>
2747 Reviewed by Tim Horton.
2749 It's possible for a UIScrollView for overflow to move between one scrolling tree node
2750 and another. When this happens, we need to avoid unconditionally clearing the delegate
2751 on the node that's being destroyed, because the new node will already have set the
2752 UIScrollView delegate to its own delegate.
2754 * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2755 (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
2757 2014-08-06 Dean Jackson <dino@apple.com>
2759 ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
2760 https://bugs.webkit.org/show_bug.cgi?id=135675
2762 Reviewed by Sam Weinig.
2764 * Configurations/FeatureDefines.xcconfig:
2766 2014-08-06 Brady Eidson and Jeffrey Pfau <beidson@apple.com>
2768 IDB transactions never reset if the Web Process ends before cleaning up
2769 https://bugs.webkit.org/show_bug.cgi?id=135218
2771 Reviewed by Darin Adler and David Kilzer.
2773 * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
2774 (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
2775 (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Added.
2776 (WebKit::DatabaseToWebProcessConnection::didClose):
2777 * DatabaseProcess/DatabaseToWebProcessConnection.h:
2779 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2780 (WebKit::DatabaseProcessIDBConnection::resetTransactionSync): Added
2781 Wait until the reset is complete before sending the sync reply.
2782 (WebKit::DatabaseProcessIDBConnection::rollbackTransactionSync): Added.
2784 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2785 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2787 Keep track of all in progress transactions and make sure they’re cleaned up
2788 whenever a connection to a WebProcess is broken:
2789 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2790 (WebKit::UniqueIDBDatabase::unregisterConnection):
2791 (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
2792 (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
2793 (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
2794 (WebKit::UniqueIDBDatabase::didEstablishTransaction):
2795 (WebKit::UniqueIDBDatabase::didResetTransaction):
2796 (WebKit::UniqueIDBDatabase::resetAllTransactions):
2797 (WebKit::UniqueIDBDatabase::finalizeRollback):
2798 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2800 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2801 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
2803 Add sync versions of reset/rollback:
2804 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2805 (WebKit::WebIDBServerConnection::resetTransactionSync):
2806 (WebKit::WebIDBServerConnection::rollbackTransactionSync):
2807 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2809 2014-08-06 Wenson Hsieh <wenson_hsieh@apple.com>
2811 Implement parsing for CSS scroll snap points
2812 https://bugs.webkit.org/show_bug.cgi?id=134301
2814 Reviewed by Dean Jackson.
2816 * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP
2818 2014-08-06 Andy Estes <aestes@apple.com>
2820 [iOS] Subresources referenced in converted QuickLook documents sometimes fail to load
2821 https://bugs.webkit.org/show_bug.cgi?id=135676
2823 Reviewed by David Kilzer.
2825 QuickLookHandle needs to stay alive in order for its NSURLProtocol to service subresource loads originating
2826 from the converted HTML document. Some of these loads happen dynamically after the main resource finishes
2827 loading, so we cannot tie the lifetime of the QuickLookHandle to that of the main resource's ResourceLoader.
2828 Instead, give ownership of the QuickLookHandle to DocumentLoader.
2830 * WebProcess/Network/WebResourceLoader.cpp:
2831 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Stored the created QuickLookHandle in DocumentLoader.
2832 (WebKit::WebResourceLoader::didReceiveData): Accessed DocumentLoader's QuickLookHandle.
2833 (WebKit::WebResourceLoader::didFinishResourceLoad): Ditto.
2834 (WebKit::WebResourceLoader::didFailResourceLoad): Ditto.
2835 (WebKit::WebResourceLoader::didReceiveResource): Ditto.
2836 * WebProcess/Network/WebResourceLoader.h: Removed m_quickLookHandle.
2838 2014-08-06 Filip Pizlo <fpizlo@apple.com>
2840 Merge r171389, r171495, r171508, r171510, r171605, r171606, r171611, r171614, r171763 from ftlopt.
2842 2014-08-06 Mark Hahnenberg <mhahnenberg@apple.com>
2844 Refactor our current implementation of for-in
2845 https://bugs.webkit.org/show_bug.cgi?id=134142
2847 Reviewed by Filip Pizlo.
2849 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2850 (WebKit::JSNPObject::invalidate): Fixed an invalid ASSERT that was crashing in debug builds.
2852 2014-08-06 Alexey Proskuryakov <ap@apple.com>
2854 REGRESSION (WebKit2): iOS Safari default encoding doesn't follow system language
2855 https://bugs.webkit.org/show_bug.cgi?id=135667
2856 <rdar://problem/17862892>
2858 Reviewed by Anders Carlsson.
2860 * Shared/WebPreferencesDefinitions.h: Compute the actual proper default, don't
2861 hardcode it to ISO-8859-1 hoping that someone else will correct it later.
2863 * Shared/WebPreferencesStore.cpp: Added an include for WebPreferencesDefinitions.h
2864 macro expansion to compile.
2866 * UIProcess/WebPreferences.cpp: (WebKit::WebPreferences::createWithLegacyDefaults):
2869 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
2870 We now use WKGetWebDefaultCFStringEncoding in WebCore, so it needs to be initialized.
2872 2014-08-06 Adrian Perez de Castro <aperez@igalia.com>
2874 [GTK] Add support for user scripts to WebKitUserContentManager
2875 https://bugs.webkit.org/show_bug.cgi?id=134738
2877 Reviewed by Carlos Garcia Campos.
2879 Add support for user scripts, to complement the user style sheet
2880 support already present in WebKitUserContentManager. Most of the
2881 moving parts are already present, so this just adds a boxed type
2882 for user scripts (WebKitUserScript) and the corresponding methods
2883 to add and remove scripts from the WebKitUserContentManager.
2885 * UIProcess/API/gtk/WebKitUserContent.cpp: Add a WebKitUserScript
2886 boxed type and its corresponding methods and enums.
2887 (toUserScriptInjectionTime): Needed to convert
2888 WebKitUserScriptInjectionTime values into its WebCore counterparts.
2889 (_WebKitUserScript::_WebKitUserScript): Added.
2890 (_WebKitUserScript::referenceCount): Ditto.
2891 (webkit_user_script_ref):
2892 (webkit_user_script_unref):
2893 (webkit_user_script_new):
2894 (webkitUserScriptGetUserScript): Internal method to obtain the
2895 boxed WebCore::UserScript value.
2896 * UIProcess/API/gtk/WebKitUserContent.h: Add the new public API
2898 * UIProcess/API/gtk/WebKitUserContentManager.cpp: Implement the
2899 methods for adding and removing user scripts.
2900 (webkit_user_content_manager_add_script):
2901 (webkit_user_content_manager_remove_all_scripts):
2902 * UIProcess/API/gtk/WebKitUserContentManager.h: Add the new public
2904 * UIProcess/API/gtk/WebKitUserContentPrivate.h: Add the definition
2905 for the new private function.
2906 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the
2907 new public methods in the API documentation.
2909 2014-08-06 Carlos Garcia Campos <cgarcia@igalia.com>
2911 [GTK] Be able to disable gtk2 dependency
2912 https://bugs.webkit.org/show_bug.cgi?id=135505
2914 Reviewed by Gustavo Noronha Silva.
2916 * PlatformGTK.cmake: Only build WebKitPluginProcess2 when
2917 ENABLE_PLUGIN_PROCESS_GTK2 is ON.
2918 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2919 (WebKit::ProcessLauncher::launchProcess): Do not try to launch
2920 WebKitPluginProcess2 executable when ENABLE_PLUGIN_PROCESS_GTK2 is OFF.
2922 2014-08-05 Tim Horton <timothy_horton@apple.com>
2924 REGRESSION (r164337): Pages are sometimes cut off/oriented incorrectly after using WKThumbnailView
2925 https://bugs.webkit.org/show_bug.cgi?id=135622
2926 <rdar://problem/17202556>
2928 Reviewed by Dan Bernstein.
2930 In some cases (when the page changed scroll offset while thumbnailed),
2931 when transitioning back to thumbnail scale = 1, we would get the math
2932 wrong and end up with a non-identity sublayerTransform on the DrawingArea.
2934 Luckily, none of this code is necessary anymore, as the only client
2935 of WKThumbnailView only uses its snapshotting mode.
2937 * Shared/ImageOptions.h:
2938 Remove SnapshotOptionsRespectDrawingAreaTransform; DrawingArea no longer
2939 has a rootLayerTransform().
2941 * UIProcess/WebPageProxy.cpp:
2942 (WebKit::WebPageProxy::setThumbnailScale): Deleted.
2943 * UIProcess/WebPageProxy.h:
2944 * WebProcess/WebPage/WebPage.cpp:
2945 (WebKit::WebPage::WebPage):
2946 (WebKit::WebPage::scaledSnapshotWithOptions):
2947 (WebKit::WebPage::snapshotAtSize):
2949 (WebKit::WebPage::setThumbnailScale): Deleted.
2950 * WebProcess/WebPage/WebPage.h:
2951 * WebProcess/WebPage/WebPage.messages.in:
2952 Remove setThumbnailScale and SnapshotOptionsRespectDrawingAreaTransform.
2954 * WebProcess/WebPage/WebPage.cpp:
2955 (WebKit::WebPage::didCommitLoad):
2956 Revert this to its state before r164337, as we no longer have "thumbnail scale".
2958 * UIProcess/API/Cocoa/_WKThumbnailView.h:
2959 * UIProcess/API/Cocoa/_WKThumbnailView.mm:
2960 (-[_WKThumbnailView initWithFrame:fromWKView:]):
2961 (-[_WKThumbnailView _viewWasUnparented]):
2962 (-[_WKThumbnailView _viewWasParented]):
2963 (-[_WKThumbnailView _requestSnapshotIfNeeded]):
2964 (-[_WKThumbnailView setScale:]):
2965 Clean up code assuming _shouldApplyThumbnailScale = NO, _usesSnapshot = YES.
2967 (-[_WKThumbnailView setUsesSnapshot:]):
2968 (-[_WKThumbnailView usesSnapshot]):
2969 Always return YES from usesSnapshot; we only support snapshotting WKThumbnailViews.
2970 Ignore setUsesSnapshot.
2972 * UIProcess/API/mac/WKView.mm:
2973 (-[WKView _setThumbnailView:]):
2974 (-[WKView _updateThumbnailViewLayer]):
2975 Stop checking usesSnapshot; it's always true.
2977 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2978 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2979 (WebKit::TiledCoreAnimationDrawingArea::setRootLayerTransform): Deleted.
2980 * WebProcess/WebPage/DrawingArea.cpp:
2981 (WebKit::DrawingArea::rootLayerTransform): Deleted.
2982 * WebProcess/WebPage/DrawingArea.h:
2983 (WebKit::DrawingArea::setRootLayerTransform): Deleted.
2984 Remove rootLayerTransform() and setRootLayerTransform().
2986 2014-08-05 Peyton Randolph <prandolph@apple.com>
2988 Rename MAC_LONG_PRESS feature flag to LONG_MOUSE_PRESS.
2989 https://bugs.webkit.org/show_bug.cgi?id=135276
2991 Reviewed by Beth Dakin.
2993 * Configurations/FeatureDefines.xcconfig:
2995 2014-08-04 Andy Estes <aestes@apple.com>
2997 [iOS] The raw bytes of an iWork document's PDF preview are displayed rather than the PDF itself
2998 https://bugs.webkit.org/show_bug.cgi?id=135596
3000 Reviewed by David Kilzer.
3002 * WebProcess/Network/WebResourceLoader.cpp:
3003 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): If the response will be handled by
3004 QuickLook, do not call ResourceLoader::didReceiveResponse. It will be called later by
3005 WebResourceLoaderQuickLookDelegate once converted data is received.
3007 2014-08-05 Alexey Proskuryakov <ap@apple.com>
3011 * UIProcess/WebContext.h:
3013 2014-08-05 Oliver Hunt <oliver@apple.com>
3015 SSO expects to be able to walk parent application's bundle
3016 https://bugs.webkit.org/show_bug.cgi?id=135581
3017 <rdar://problem/17864079>
3019 Reviewed by Alexey Proskuryakov.
3021 SSO expects to be able to walk the parent application's
3022 bundle looking for Info plists. To allow this to actually
3023 work we provide an extension from the ui process that
3024 covers the bundle directory, and then in the profile
3025 restrict access to the ability to read directories and
3026 files named Info.plist.
3028 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3029 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3030 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
3031 * Shared/Network/NetworkProcessCreationParameters.cpp:
3032 (WebKit::NetworkProcessCreationParameters::encode):
3033 (WebKit::NetworkProcessCreationParameters::decode):
3034 * Shared/Network/NetworkProcessCreationParameters.h:
3035 * UIProcess/WebContext.cpp:
3036 (WebKit::WebContext::ensureNetworkProcess):
3037 (WebKit::WebContext::parentBundleDirectory):
3038 * UIProcess/WebContext.h:
3039 * UIProcess/mac/WebContextMac.mm:
3040 (WebKit::WebContext::parentBundleDirectory):
3042 2014-08-04 Benjamin Poulain <benjamin@webkit.org>
3044 Add a flag for the CSS Selectors level 4 implementation
3045 https://bugs.webkit.org/show_bug.cgi?id=135535
3047 Reviewed by Andreas Kling.
3049 * Configurations/FeatureDefines.xcconfig:
3051 2014-08-04 Benjamin Poulain <bpoulain@apple.com>
3053 Check for null frame when processing geolocation authorization request
3054 https://bugs.webkit.org/show_bug.cgi?id=135577
3055 <rdar://problem/17896295>
3057 Reviewed by Geoffrey Garen.
3059 I could have put the null check in GeolocationController instead of the WebKit layer,
3060 but that would be a little weird as GeolocationController knows nothing about how
3061 the WebKit layer decides what to do with requests.
3063 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
3064 (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
3066 2014-08-02 Jeremy Jones <jeremyj@apple.com>
3068 Support both window and view based video fullscreen.
3069 https://bugs.webkit.org/show_bug.cgi?id=135525
3071 Reviewed by Simon Fraser.
3073 Parenting in the view instead of the window gives the fullscreen implementation more latitude
3074 in how it implements the animation.
3076 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
3077 (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Use view instead of window.
3078 * WebProcess/ios/WebVideoFullscreenManager.mm:
3079 (WebKit::clientRectForNode): Use client rect instead of screen rect.
3080 (WebKit::WebVideoFullscreenManager::enterFullscreenForNode): ditto
3081 (WebKit::WebVideoFullscreenManager::exitFullscreenForNode): ditto
3082 (WebKit::screenRectForNode): Deleted.
3084 2014-08-01 Dan Bernstein <mitz@apple.com>
3086 <rdar://problem/17891752> [iOS] WebKit links against libraries it doesn’t use
3087 https://bugs.webkit.org/show_bug.cgi?id=135536
3089 Reviewed by Tim Horton.
3091 * Configurations/WebKit.xcconfig: Removed -lassertion_extension and -framework MobileAsset
3092 from FRAMEWORK_AND_LIBRARY_LDFLAGS_iphonesimulator.
3094 2014-08-01 Joseph Pecoraro <pecoraro@apple.com>
3096 [iOS WK2] Add extension read permission to network sandbox profile
3097 <rdar://problem/17671574>
3099 Reviewed by Alexey Proskuryakov and Oliver Hunt.
3101 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
3103 2014-08-01 Oliver Hunt <oliver@apple.com>
3105 Various frameworks may want to use the container temp directory, so our current restrictions are too tight
3106 https://bugs.webkit.org/show_bug.cgi?id=135518
3109 Reviewed by Anders Carlsson.
3111 We don't (and can't) have complete knowledge of what different frameworks
3112 will want to use the container temporary directory for, and so our
3113 current attempt to heavily restrict access is simply too tight.
3115 This patch recognises this by simply giving read-write access to the
3116 entire NSTemporary() directory (e.g. $container/tmp in the general case),
3117 rather than the single sub directory we wishfully thought that we would
3118 be able to get away with.
3120 * Shared/WebProcessCreationParameters.cpp:
3121 (WebKit::WebProcessCreationParameters::encode):
3122 (WebKit::WebProcessCreationParameters::decode):
3123 * Shared/WebProcessCreationParameters.h:
3124 * UIProcess/WebContext.cpp:
3125 (WebKit::WebContext::createNewWebProcess):
3126 (WebKit::WebContext::mediaCacheDirectory): Deleted.
3127 * UIProcess/WebContext.h:
3128 * UIProcess/efl/WebContextEfl.cpp:
3129 (WebKit::WebContext::containerTemporaryDirectory):
3130 (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3131 * UIProcess/gtk/WebContextGtk.cpp:
3132 (WebKit::WebContext::containerTemporaryDirectory):
3133 (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3134 * UIProcess/mac/WebContextMac.mm:
3135 (WebKit::WebContext::containerTemporaryDirectory):
3136 (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3137 * WebProcess/cocoa/WebProcessCocoa.mm:
3138 (WebKit::WebProcess::platformInitializeWebProcess):
3140 2014-08-01 Dan Bernstein <mitz@apple.com>
3142 <rdar://problem/17862013> REGRESSION (r169357): Disabling "allow plug-ins" doesn't stick on quit/relaunch
3143 https://bugs.webkit.org/show_bug.cgi?id=135511
3145 Reviewed by Alexey Proskuryakov.
3147 Since the values map in the preferences store doesn’t include values that are equal to the
3148 defaults, we need to update it when a new default is registered.
3150 * UIProcess/WebPreferences.cpp:
3151 (WebKit::WebPreferences::createWithLegacyDefaults): Changed to use new member functions
3152 for registering defaults.
3153 (WebKit::WebPreferences::registerDefaultBoolValueForKey): Added. Sets an override default
3154 in the store, and sets the user default, if there is one, on top of it.
3155 (WebKit::WebPreferences::registerDefaultUInt32ValueForKey): Ditto.
3156 * UIProcess/WebPreferences.h: Declared new member functions for getting the user default
3159 * UIProcess/efl/WebPreferencesEfl.cpp:
3160 (WebKit::WebPreferences::platformGetStringUserValueForKey): Added an implementation that
3161 returns false, because the EFL port doesn’t support persistent user defaults.
3162 (WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
3163 (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
3164 (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.
3166 * UIProcess/gtk/WebPreferencesGtk.cpp:
3167 (WebKit::WebPreferences::platformGetStringUserValueForKey): Ditto for the GTK port.
3168 (WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
3169 (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
3170 (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.
3172 * UIProcess/mac/WebPreferencesMac.mm:
3173 (WebKit::WebPreferences::platformGetStringUserValueForKey): Added. Replaces
3174 setStringValueIfInUserDefaults, on which it is based.
3175 (WebKit::WebPreferences::platformGetBoolUserValueForKey): Similarly for booleans.
3176 (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Similarly for integers.
3177 (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Similarly for doubles.
3178 (WebKit::WebPreferences::platformInitializeStore): Changed to use the above functions.
3180 2014-08-01 Brent Fulgham <bfulgham@apple.com>
3182 [Mac] Fullscreen mode for some applications shows only a black screen.
3183 https://bugs.webkit.org/show_bug.cgi?id=135493
3184 <rdar://problem/17628212>
3186 Reviewed by Jer Noble.
3188 In some applications, the window hosting the WKView is an InProcess layer hosting mode.
3189 The fullscreen window created by the WKFullScreenWindowController defaults to an
3192 When this kind of mismatch is encountered, the WK2 layer in the UI process is supposed
3193 to send a message back to the WebProcess indicating that the layer hosting mode of the
3194 containing window is different, so that the WebProcess can adjust its logic accordingly.
3195 Unfortunately, the notification that this had happened was not getting sent to the
3196 WebProcess due to an optimization in window state change logic (see Bug 135509 for
3199 The fix is to check layer hosting mode state when a WKView is added to a window, and
3200 notify the WebProcess when it needs to change state to match.
3203 * UIProcess/API/mac/WKView.mm:
3204 (-[WKView viewDidMoveToWindow]): When moving to a new window, always call
3205 'layerHostingModeDidChange' to pick up any changes in the layer hosting mode.
3207 2014-08-01 Carlos Garcia Campos <cgarcia@igalia.com>
3209 [CMake] GTK and EFL are using PROJECT_VERSION_PATCH to define the micro version
3210 https://bugs.webkit.org/show_bug.cgi?id=135501
3212 Reviewed by Gyuyoung Kim.
3214 Use PROJECT_VERSION_MICRO instead.
3216 * UIProcess/API/efl/EWebKit2.h.in:
3217 * UIProcess/API/gtk/WebKitVersion.h.in:
3219 2014-08-01 Carlos Garcia Campos <cgarcia@igalia.com>
3221 Unreviewed. Add missing sections to documentation.
3223 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
3224 WebKitUserContent and WebKitUserContentManager sections to the
3227 2014-08-01 Ryuan Choi <ryuan.choi@samsung.com>
3229 [EFL] Unable to do make install since r171901
3230 https://bugs.webkit.org/show_bug.cgi?id=135497
3232 Reviewed by Gyuyoung Kim.
3234 * PlatformEfl.cmake: Removed ewk_defins.h from the installation list.
3236 2014-07-31 Ryuan Choi <ryuan.choi@samsung.com>
3238 [EFL][WK2] MiniBrower comes to crash when combo box is pressed
3239 https://bugs.webkit.org/show_bug.cgi?id=135378
3241 Reviewed by Gyuyoung Kim.
3243 Added doxygen comment of popup_menu_show/popup_menu_hide not to confuse the usage.
3245 * UIProcess/API/efl/ewk_view.h:
3247 2014-07-31 Ryuan Choi <ryuan.choi@samsung.com>
3249 [EFL] remove ewk_defines.h
3250 https://bugs.webkit.org/show_bug.cgi?id=135456
3252 Reviewed by Gyuyoung Kim.
3254 * UIProcess/API/efl/ewk_context_menu.h:
3255 * UIProcess/API/efl/ewk_context_menu_item.h: Moved the declaration from ewk_defines.h
3256 * UIProcess/API/efl/ewk_defines.h: Removed.
3258 2014-07-31 Brent Fulgham <bfulgham@apple.com>
3260 Unreviewed typo correction.
3261 https://bugs.webkit.org/show_bug.cgi?id=135482
3263 Rename '_fullScreenIsEnabled' -> '_fullScreenEnabled'
3265 * UIProcess/API/Cocoa/WKPreferences.mm:
3266 (-[WKPreferences _fullScreenEnabled]): Added
3267 (-[WKPreferences _fullScreenIsEnabled]): Deleted.
3268 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3270 2014-07-31 Brent Fulgham <bfulgham@apple.com>
3272 MiniBrowser Should Support Fullscreen Videos in WebKit2 Mode
3273 https://bugs.webkit.org/show_bug.cgi?id=135482
3275 Reviewed by Simon Fraser.
3277 Add accessors for the missing Fullscreen API so that MiniBrowser
3280 * UIProcess/API/Cocoa/WKPreferences.mm:
3281 (-[WKPreferences _fullScreenIsEnabled]): Added.
3282 (-[WKPreferences _setFullScreenEnabled:]): Added.
3283 * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Add accessor for
3286 2014-07-31 Beth Dakin <bdakin@apple.com>
3288 Hit-testing broken in WebKit 1 views with AppKit's contentInsets
3289 https://bugs.webkit.org/show_bug.cgi?id=135434
3291 <rdar://problem/17850323>
3293 Reviewed by Benjamin Poulain.
3296 * WebProcess/Plugins/PDF/PDFPlugin.mm:
3297 (WebKit::PDFPlugin::convertFromScrollbarToContainingView):
3298 (WebKit::PDFPlugin::convertFromContainingViewToScrollbar):
3300 2014-07-31 Oliver Hunt <oliver@apple.com>
3302 Various SSO services need the networking process to be able to spoof its bundle id
3303 https://bugs.webkit.org/show_bug.cgi?id=135468
3304 <rdar://problem/17864139>
3306 Reviewed by Alexey Proskuryakov.
3308 Just add the entitlement required to allow the sandbox to let this happen.
3310 * Configurations/Network-iOS.entitlements:
3312 2014-07-31 Przemyslaw Kuczynski <p.kuczynski@samsung.com>
3314 Fix uninitialized scalar variable
3315 https://bugs.webkit.org/show_bug.cgi?id=135461
3317 Reviewed by Alexey Proskuryakov.
3319 If fopen fails, returned ApplicationMemoryStats structure will be uninitialized
3321 * Shared/linux/WebMemorySamplerLinux.cpp:
3322 (WebKit::sampleMemoryAllocatedForApplication): Initialized applicationStats.
3324 2014-07-31 Rohit Kumar <kumar.rohit@samsung.com>
3326 Clean up the WebKit build from unused parameter warning in Webkit2/WebProcess module
3327 https://bugs.webkit.org/show_bug.cgi?id=135413
3329 Reviewed by Darin Adler.
3331 * WebProcess/OriginData/WebOriginDataManager.cpp:
3332 (WebKit::WebOriginDataManager::getOrigins):
3333 (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
3334 (WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
3335 (WebKit::WebOriginDataManager::deleteAllEntries):
3337 2014-07-31 Chris Fleizach <cfleizach@apple.com>
3339 AX: iOS: Crash accessing m_page in WKAccessibilityPageObject
3340 https://bugs.webkit.org/show_bug.cgi?id=134617
3342 Reviewed by Darin Adler.
3344 Provide a way to detach a WK2 WebPage object so that it can uninitialize other pointers, like the accessibility object.
3346 * WebProcess/WebPage/WebPage.cpp:
3347 (WebKit::WebPage::~WebPage):
3348 * WebProcess/WebPage/WebPage.h:
3349 * WebProcess/WebPage/efl/WebPageEfl.cpp:
3350 (WebKit::WebPage::platformDetach):
3351 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
3352 (WebKit::WebPage::platformDetach):
3353 * WebProcess/WebPage/ios/WebPageIOS.mm:
3354 (WebKit::WebPage::platformDetach):
3355 * WebProcess/WebPage/mac/WebPageMac.mm:
3356 (WebKit::WebPage::platformDetach):
3358 2014-07-31 Dan Bernstein <mitz@apple.com>
3360 WebKit part of: Server trust authentication challenges aren’t sent to the navigation delegate
3361 https://bugs.webkit.org/show_bug.cgi?id=135327
3363 Reviewed by Alexey Proskuryakov.
3365 * UIProcess/Cocoa/NavigationState.mm:
3366 (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
3367 Return true for server trust protection spaces if the delegate implements
3368 -webView:didReceiveAuthenticationChallenge:completionHandler:.
3369 (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): Removed
3370 an assertion that is no longer true due to the above.
3372 2014-07-31 Carlos Garcia Campos <cgarcia@igalia.com>
3374 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.1 release.
3376 * gtk/NEWS: Add release notes for 2.5.1.
3378 2014-07-31 Carlos Garcia Campos <cgarcia@igalia.com>
3380 Unreviewed. Fix GTK+ make distcheck.
3382 * Shared/InteractionInformationAtPosition.h: Only include
3383 WebCore/SelectionRect.h for IOS.
3385 2014-07-31 Carlos Garcia Campos <cgarcia@igalia.com>
3387 [GTK] Bump binary version for 2.6
3388 https://bugs.webkit.org/show_bug.cgi?id=133724
3390 Reviewed by Philippe Normand.
3392 * PlatformGTK.cmake: Fix JavaScriptCore dependency on
3393 instrospection commands and make them depend on GTK+-3.0.
3395 2014-07-30 Enrica Casucci <enrica@apple.com>
3397 REGRESSION (WK2 iOS): Inline editing for Chinese and Japanese keyboards does not work in Safari.
3398 https://bugs.webkit.org/show_bug.cgi?id=135449
3399 <rdar://problem/17824833>
3401 Reviewed by Benjamin Poulain.
3403 The WebProcess sends the notification that the gesture modified the phrase boundary,
3404 but the flag was not being converted properly, therefore we failed to notify
3405 the text input system that a change had occurred.
3407 * UIProcess/ios/WKContentViewInteraction.mm:
3408 (toUIWKSelectionFlags):
3410 2014-07-30 Andy Estes <aestes@apple.com>
3412 USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
3413 https://bugs.webkit.org/show_bug.cgi?id=135439
3415 Reviewed by Tim Horton.
3417 We now support two different platform content filters, and will soon support a mock content filter (as part of
3418 webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
3419 library. ENABLE() is the correct macro to use for such a feature.
3421 * Configurations/FeatureDefines.xcconfig:
3422 * Shared/WebCoreArgumentCoders.h:
3423 * UIProcess/WebFrameProxy.cpp:
3424 (WebKit::WebFrameProxy::didStartProvisionalLoad):
3425 * UIProcess/WebFrameProxy.h:
3426 * UIProcess/WebPageProxy.cpp:
3427 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3428 * UIProcess/WebPageProxy.h:
3429 * UIProcess/WebPageProxy.messages.in:
3430 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3431 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3433 2014-07-30 Andreas Kling <akling@apple.com>
3435 Static hash tables no longer need to be coupled with a VM.
3436 <https://webkit.org/b/135421>
3438 Reviewed by Geoffrey Garen.
3440 * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3441 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3443 2014-07-30 Dan Bernstein <mitz@apple.com>
3445 Get rid of the WKNSURLProtectionSpace wrapper
3446 https://bugs.webkit.org/show_bug.cgi?id=135425