1 2015-11-03 Geoffrey Garen <ggaren@apple.com>
3 Provide a way to turn off const in WebKit2.
5 Reviewed by Sam Weinig.
7 * Shared/WebProcessCreationParameters.cpp:
8 (WebKit::WebProcessCreationParameters::encode):
9 (WebKit::WebProcessCreationParameters::decode):
10 * Shared/WebProcessCreationParameters.h:
11 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
12 (WebKit::WebProcessPool::platformInitializeWebProcess):
13 * WebProcess/WebProcess.cpp:
14 (WebKit::WebProcess::initializeWebProcess):
16 2015-11-03 Alex Christensen <achristensen@webkit.org>
18 Create a NetworkSession for each SessionID
19 https://bugs.webkit.org/show_bug.cgi?id=150857
21 Reviewed by Anders Carlsson.
23 This patch renames SessionTracker::session to storageSession and makes a parallel
24 structure for NetworkSessions. NetworkSession and NetworkStorageSession should eventually
25 become the same class in WebCore. Because not everybody uses NetworkSessions yet,
26 we keep them separate but created, destroyed, and managed together.
28 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
29 (WebKit::storageSession):
30 * NetworkProcess/NetworkProcess.cpp:
31 (WebKit::NetworkProcess::fetchWebsiteData):
32 (WebKit::NetworkProcess::deleteWebsiteData):
33 (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
34 * NetworkProcess/NetworkResourceLoader.cpp:
35 (WebKit::NetworkResourceLoader::startNetworkLoad):
36 (WebKit::NetworkResourceLoader::abort):
37 * NetworkProcess/NetworkResourceLoader.h:
38 * NetworkProcess/NetworkSession.h:
39 (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
40 (WebKit::NetworkDataTask::client):
41 (WebKit::NetworkDataTask::clearClient):
42 (WebKit::NetworkingDataTask::client): Deleted.
43 (WebKit::NetworkingDataTask::clearClient): Deleted.
44 (WebKit::NetworkSession::~NetworkSession): Deleted.
45 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
46 (WebKit::configurationForType):
47 (WebKit::defaultNetworkSession):
48 (WebKit::NetworkSession::defaultSession):
49 (WebKit::NetworkSession::NetworkSession):
50 (WebKit::NetworkSession::~NetworkSession):
51 (WebKit::NetworkSession::createDataTaskWithRequest):
52 (WebKit::NetworkSession::dataTaskForIdentifier):
53 (WebKit::NetworkDataTask::NetworkDataTask):
54 (WebKit::NetworkDataTask::~NetworkDataTask):
55 (WebKit::NetworkDataTask::cancel):
56 (WebKit::NetworkDataTask::resume):
57 (WebKit::NetworkDataTask::taskIdentifier):
58 (WebKit::NetworkSession::create): Deleted.
59 (WebKit::NetworkSession::singleton): Deleted.
60 (WebKit::NetworkingDataTask::NetworkingDataTask): Deleted.
61 (WebKit::NetworkingDataTask::~NetworkingDataTask): Deleted.
62 (WebKit::NetworkingDataTask::suspend): Deleted.
63 (WebKit::NetworkingDataTask::resume): Deleted.
64 (WebKit::NetworkingDataTask::taskIdentifier): Deleted.
65 * NetworkProcess/mac/RemoteNetworkingContext.mm:
66 (WebKit::RemoteNetworkingContext::storageSession):
67 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
68 * Shared/SessionTracker.cpp:
69 (WebKit::staticStorageSessionMap):
70 (WebKit::identifierBase):
71 (WebKit::SessionTracker::storageSessionMap):
72 (WebKit::SessionTracker::getIdentifierBase):
73 (WebKit::SessionTracker::storageSession):
74 (WebKit::staticSessionMap):
75 (WebKit::SessionTracker::networkSession):
76 (WebKit::SessionTracker::sessionID):
77 (WebKit::SessionTracker::setSession):
78 (WebKit::SessionTracker::destroySession):
79 (WebKit::SessionTracker::sessionMap): Deleted.
80 (WebKit::SessionTracker::session): Deleted.
81 * Shared/SessionTracker.h:
82 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
83 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
84 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
85 (WebKit::WebFrameNetworkingContext::storageSession):
86 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
87 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
88 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
89 (WebKit::WebFrameNetworkingContext::storageSession):
91 2015-11-03 Ryuan Choi <ryuan.choi@navercorp.com>
93 [CoordinatedGraphics] invisible webview should not paint the content
94 https://bugs.webkit.org/show_bug.cgi?id=150662
96 Reviewed by Darin Adler.
98 Suspend or resume the painting instead of just initializing m_isPaintingSuspended
99 for invisible webview not to paint the content until visibility is changed.
101 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
102 (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea):
104 2015-11-03 Anders Carlsson <andersca@apple.com>
106 Simplify -[_WKRemoteObjectRegistry _invokeMethod:]
107 https://bugs.webkit.org/show_bug.cgi?id=150844
109 Reviewed by Tim Horton.
111 * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
112 (-[_WKRemoteObjectRegistry _invokeMethod:]):
113 (-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
114 * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
116 2015-11-02 Anders Carlsson <andersca@apple.com>
118 CTTE the responsiveness timer getter
119 https://bugs.webkit.org/show_bug.cgi?id=150825
121 Reviewed by Daniel Bates.
123 * UIProcess/API/C/mac/WKPagePrivateMac.mm:
124 (-[WKObservablePageState _webProcessIsResponsive]):
125 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
126 (-[WKBrowsingContextController _webProcessIsResponsive]):
127 * UIProcess/API/Cocoa/WKWebView.mm:
128 (-[WKWebView _webProcessIsResponsive]):
129 * UIProcess/WebPageProxy.cpp:
130 (WebKit::WebPageProxy::reattachToWebProcessForReload):
131 (WebKit::WebPageProxy::reattachToWebProcessWithItem):
132 (WebKit::WebPageProxy::tryClose):
133 (WebKit::WebPageProxy::loadRequest):
134 (WebKit::WebPageProxy::loadFile):
135 (WebKit::WebPageProxy::loadData):
136 (WebKit::WebPageProxy::loadHTMLString):
137 (WebKit::WebPageProxy::loadAlternateHTMLString):
138 (WebKit::WebPageProxy::loadPlainTextString):
139 (WebKit::WebPageProxy::loadWebArchiveData):
140 (WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
141 (WebKit::WebPageProxy::stopLoading):
142 (WebKit::WebPageProxy::reload):
143 (WebKit::WebPageProxy::goForward):
144 (WebKit::WebPageProxy::goBack):
145 (WebKit::WebPageProxy::goToBackForwardItem):
146 (WebKit::WebPageProxy::dispatchViewStateChange):
147 (WebKit::WebPageProxy::handleMouseEvent):
148 (WebKit::WebPageProxy::sendWheelEvent):
149 (WebKit::WebPageProxy::handleKeyboardEvent):
150 (WebKit::WebPageProxy::handleGestureEvent):
151 (WebKit::WebPageProxy::handleTouchEventSynchronously):
152 (WebKit::WebPageProxy::handleTouchEvent):
153 (WebKit::WebPageProxy::closePage):
154 (WebKit::WebPageProxy::runJavaScriptAlert):
155 (WebKit::WebPageProxy::runJavaScriptConfirm):
156 (WebKit::WebPageProxy::runJavaScriptPrompt):
157 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
158 (WebKit::WebPageProxy::runOpenPanel):
159 (WebKit::WebPageProxy::showPopupMenu):
160 (WebKit::WebPageProxy::internalShowContextMenu):
161 (WebKit::WebPageProxy::didReceiveEvent):
162 (WebKit::WebPageProxy::stopResponsivenessTimer):
163 (WebKit::WebPageProxy::runModal):
164 (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
165 * UIProcess/WebProcessProxy.h:
166 (WebKit::WebProcessProxy::responsivenessTimer):
168 2015-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
170 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.1 release.
172 * gtk/NEWS: Add release notes for 2.11.1.
174 2015-11-03 Alex Christensen <achristensen@webkit.org>
176 Use the same cookie storage as WebCore when using NETWORK_SESSION
177 https://bugs.webkit.org/show_bug.cgi?id=150833
179 Reviewed by Antti Koivisto.
181 This fixes 12 tests when using NETWORK_SESSION.
183 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
184 (WebKit::NetworkSession::NetworkSession):
186 2015-11-03 Alex Christensen <achristensen@webkit.org>
188 Clean up NETWORK_SESSION code after r191848
189 https://bugs.webkit.org/show_bug.cgi?id=150829
191 Reviewed by Darin Adler.
193 * NetworkProcess/NetworkResourceLoader.cpp:
194 (WebKit::NetworkResourceLoader::didReceiveData):
195 (WebKit::NetworkResourceLoader::didCompleteWithError):
196 * NetworkProcess/NetworkSession.h:
197 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
198 (WebKit::NetworkSession::NetworkSession):
199 (WebKit::NetworkSession::createDataTaskWithRequest):
200 (WebKit::NetworkSession::dataTaskForIdentifier):
202 2015-11-02 Carlos Garcia Campos <cgarcia@igalia.com>
204 Unreviewed. Fix GTK+ build after r191924.
206 * UIProcess/API/gtk/WebKitWebView.cpp:
208 2015-11-02 Alex Christensen <achristensen@webkit.org>
210 Fix CMake build after r191922.
214 2015-11-02 Andy Estes <aestes@apple.com>
216 Try again to fix the iOS build.
218 * Shared/mac/PDFKitImports.mm:
220 2015-11-02 Tim Horton <timothy_horton@apple.com>
222 Try to fix the iOS build
224 * Shared/mac/PDFKitImports.h:
226 2015-11-02 Tim Horton <timothy_horton@apple.com>
228 Address a misssed review comment in r191922
230 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
231 (WebKit::PDFPlugin::nextMatchForString):
233 2015-11-02 Anders Carlsson <andersca@apple.com>
235 Add KVO-compliant _webProcessIsResponsive property to WKWebView and _WKObservablePageState
236 https://bugs.webkit.org/show_bug.cgi?id=150818
237 rdar://problem/22372131
239 Reviewed by Tim Horton.
241 * UIProcess/API/C/mac/WKPagePrivateMac.h:
242 * UIProcess/API/C/mac/WKPagePrivateMac.mm:
243 (-[WKObservablePageState _webProcessIsResponsive]):
244 * UIProcess/API/Cocoa/PageLoadStateObserver.h:
245 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
246 (-[WKBrowsingContextController _webProcessIsResponsive]):
247 * UIProcess/API/Cocoa/WKWebView.mm:
248 (-[WKWebView _webProcessIsResponsive]):
249 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
250 * UIProcess/Cocoa/NavigationState.h:
251 * UIProcess/Cocoa/NavigationState.mm:
252 (WebKit::NavigationState::willChangeWebProcessIsResponsive):
253 (WebKit::NavigationState::didChangeWebProcessIsResponsive):
254 * UIProcess/PageLoadState.cpp:
255 (WebKit::PageLoadState::willChangeProcessIsResponsive):
256 (WebKit::PageLoadState::didChangeProcessIsResponsive):
257 * UIProcess/PageLoadState.h:
258 * UIProcess/ResponsivenessTimer.cpp:
259 (WebKit::ResponsivenessTimer::ResponsivenessTimer):
260 (WebKit::ResponsivenessTimer::timerFired):
261 (WebKit::ResponsivenessTimer::stop):
262 * UIProcess/ResponsivenessTimer.h:
263 * UIProcess/WebPageProxy.cpp:
264 (WebKit::WebPageProxy::willChangeProcessIsResponsive):
265 (WebKit::WebPageProxy::didChangeProcessIsResponsive):
266 * UIProcess/WebPageProxy.h:
267 * UIProcess/WebProcessProxy.cpp:
268 (WebKit::WebProcessProxy::WebProcessProxy):
269 (WebKit::WebProcessProxy::didBecomeUnresponsive):
270 (WebKit::WebProcessProxy::didBecomeResponsive):
271 (WebKit::WebProcessProxy::willChangeIsResponsive):
272 (WebKit::WebProcessProxy::didChangeIsResponsive):
273 * UIProcess/WebProcessProxy.h:
275 2015-11-02 Tim Horton <timothy_horton@apple.com>
277 PDFPlugin should take advantage of threaded scrolling
278 https://bugs.webkit.org/show_bug.cgi?id=150037
280 Reviewed by Anders Carlsson.
282 Duplicate PDFPlugin, creating PDFPlugin (the modern version), and
283 DeprecatedPDFPlugin (containing the code that used to be in PDFPlugin
284 prior to this patch).
286 The new PDFPlugin differs from the old one in a few significant ways,
287 and we need to keep both alive for the time being. Significant differences
290 - PDFPlugin is no longer a ScrollableArea
291 - PDFPlugin no longer hosts layers owned by PDFKit; instead, it draws
292 into the page tiles, allowing WebCore's threaded scrolling to do its job
293 - PDFPlugin now resizes itself to the size of the document
294 - PDFPlugin doesn't handle zooming itself, it just delegates to the page
295 - PDFLayerController has large and incompatible API changes
296 - PDFPlugin now implements more of the HUD behavior, but it's still
297 painted by PDFLayerController (into a view-relative PageOverlay)
299 [ File list elided because it's long and useless. ]
301 2015-11-02 Andy Estes <aestes@apple.com>
303 [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
304 https://bugs.webkit.org/show_bug.cgi?id=150819
306 Reviewed by Dan Bernstein.
308 This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
310 * Configurations/Base.xcconfig:
312 2015-11-02 Anders Carlsson <andersca@apple.com>
314 Begin work on supporting reply blocks in _WKRemoteObjectRegistry
315 https://bugs.webkit.org/show_bug.cgi?id=150739
317 Reviewed by Tim Horton.
319 * Platform/spi/Cocoa/BlockSPI.h:
322 * Shared/API/Cocoa/RemoteObjectInvocation.h:
323 (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
324 (WebKit::RemoteObjectInvocation::replyInfo):
325 * Shared/API/Cocoa/RemoteObjectInvocation.mm:
326 (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
327 (WebKit::RemoteObjectInvocation::encode):
328 (WebKit::RemoteObjectInvocation::decode):
329 Add an optional ReplyInfo struct to RemoteObjectInvocation.
331 * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
332 (generateReplyIdentifier):
333 Helper function to generate a reply identifier.
335 (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
336 Do some block parameter validation.
338 * WebKit2.xcodeproj/project.pbxproj:
340 2015-11-02 Brent Fulgham <bfulgham@apple.com>
342 [iOS] Another unreviewed sandbox update.
344 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Change copyright.
346 2015-11-02 Brent Fulgham <bfulgham@apple.com>
348 [iOS] Unreviewed sandbox update.
350 Correcting copyright information.
352 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
354 2015-11-02 Tim Horton <timothy_horton@apple.com>
356 Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
357 https://bugs.webkit.org/show_bug.cgi?id=150174
359 Reviewed by Anders Carlsson.
361 * UIProcess/API/Cocoa/WKWebView.mm:
362 (-[WKWebView initWithFrame:configuration:]):
363 (-[WKWebView dealloc]):
364 (-[WKWebView allowsLinkPreview]):
365 (-[WKWebView setAllowsLinkPreview:]):
366 (-[WKWebView acceptsFirstResponder]):
367 (-[WKWebView becomeFirstResponder]):
368 (-[WKWebView resignFirstResponder]):
369 (-[WKWebView viewWillStartLiveResize]):
370 (-[WKWebView viewDidEndLiveResize]):
371 (-[WKWebView isFlipped]):
372 (-[WKWebView intrinsicContentSize]):
373 (-[WKWebView prepareContentInRect:]):
374 (-[WKWebView setFrameSize:]):
375 (-[WKWebView renewGState]):
376 (-[WKWebView writeSelectionToPasteboard:types:]):
377 (-[WKWebView centerSelectionInVisibleArea:]):
378 (-[WKWebView validRequestorForSendType:returnType:]):
379 (-[WKWebView readSelectionFromPasteboard:]):
380 (-[WKWebView changeFont:]):
381 (-[WKWebView validateUserInterfaceItem:]):
382 (-[WKWebView startSpeaking:]):
383 (-[WKWebView stopSpeaking:]):
384 (-[WKWebView showGuessPanel:]):
385 (-[WKWebView checkSpelling:]):
386 (-[WKWebView changeSpelling:]):
387 (-[WKWebView toggleContinuousSpellChecking:]):
388 (-[WKWebView isGrammarCheckingEnabled]):
389 (-[WKWebView setGrammarCheckingEnabled:]):
390 (-[WKWebView toggleGrammarChecking:]):
391 (-[WKWebView toggleAutomaticSpellingCorrection:]):
392 (-[WKWebView orderFrontSubstitutionsPanel:]):
393 (-[WKWebView toggleSmartInsertDelete:]):
394 (-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
395 (-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
396 (-[WKWebView toggleAutomaticQuoteSubstitution:]):
397 (-[WKWebView isAutomaticDashSubstitutionEnabled]):
398 (-[WKWebView setAutomaticDashSubstitutionEnabled:]):
399 (-[WKWebView toggleAutomaticDashSubstitution:]):
400 (-[WKWebView isAutomaticLinkDetectionEnabled]):
401 (-[WKWebView setAutomaticLinkDetectionEnabled:]):
402 (-[WKWebView toggleAutomaticLinkDetection:]):
403 (-[WKWebView isAutomaticTextReplacementEnabled]):
404 (-[WKWebView setAutomaticTextReplacementEnabled:]):
405 (-[WKWebView toggleAutomaticTextReplacement:]):
406 (-[WKWebView uppercaseWord:]):
407 (-[WKWebView lowercaseWord:]):
408 (-[WKWebView capitalizeWord:]):
409 (-[WKWebView _wantsKeyDownForEvent:]):
410 (-[WKWebView scrollWheel:]):
411 (-[WKWebView swipeWithEvent:]):
412 (-[WKWebView mouseMoved:]):
413 (-[WKWebView mouseDown:]):
414 (-[WKWebView mouseUp:]):
415 (-[WKWebView mouseDragged:]):
416 (-[WKWebView mouseEntered:]):
417 (-[WKWebView mouseExited:]):
418 (-[WKWebView otherMouseDown:]):
419 (-[WKWebView otherMouseDragged:]):
420 (-[WKWebView otherMouseUp:]):
421 (-[WKWebView rightMouseDown:]):
422 (-[WKWebView rightMouseDragged:]):
423 (-[WKWebView rightMouseUp:]):
424 (-[WKWebView pressureChangeWithEvent:]):
425 (-[WKWebView acceptsFirstMouse:]):
426 (-[WKWebView shouldDelayWindowOrderingForEvent:]):
427 (-[WKWebView doCommandBySelector:]):
428 (-[WKWebView insertText:]):
429 (-[WKWebView insertText:replacementRange:]):
430 (-[WKWebView inputContext]):
431 (-[WKWebView performKeyEquivalent:]):
432 (-[WKWebView keyUp:]):
433 (-[WKWebView keyDown:]):
434 (-[WKWebView flagsChanged:]):
435 (-[WKWebView setMarkedText:selectedRange:replacementRange:]):
436 (-[WKWebView unmarkText]):
437 (-[WKWebView selectedRange]):
438 (-[WKWebView hasMarkedText]):
439 (-[WKWebView markedRange]):
440 (-[WKWebView attributedSubstringForProposedRange:actualRange:]):
441 (-[WKWebView characterIndexForPoint:]):
442 (-[WKWebView firstRectForCharacterRange:actualRange:]):
443 (-[WKWebView selectedRangeWithCompletionHandler:]):
444 (-[WKWebView markedRangeWithCompletionHandler:]):
445 (-[WKWebView hasMarkedTextWithCompletionHandler:]):
446 (-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
447 (-[WKWebView firstRectForCharacterRange:completionHandler:]):
448 (-[WKWebView characterIndexForPoint:completionHandler:]):
449 (-[WKWebView validAttributesForMarkedText]):
450 (-[WKWebView draggedImage:endedAt:operation:]):
451 (-[WKWebView draggingEntered:]):
452 (-[WKWebView draggingUpdated:]):
453 (-[WKWebView draggingExited:]):
454 (-[WKWebView prepareForDragOperation:]):
455 (-[WKWebView performDragOperation:]):
456 (-[WKWebView _hitTest:dragTypes:]):
457 (-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
458 (-[WKWebView viewWillMoveToWindow:]):
459 (-[WKWebView viewDidMoveToWindow]):
460 (-[WKWebView drawRect:]):
461 (-[WKWebView isOpaque]):
462 (-[WKWebView mouseDownCanMoveWindow]):
463 (-[WKWebView viewDidHide]):
464 (-[WKWebView viewDidUnhide]):
465 (-[WKWebView viewDidChangeBackingProperties]):
466 (-[WKWebView _activeSpaceDidChange:]):
467 (-[WKWebView accessibilityFocusedUIElement]):
468 (-[WKWebView accessibilityIsIgnored]):
469 (-[WKWebView accessibilityHitTest:]):
470 (-[WKWebView accessibilityAttributeValue:]):
471 (-[WKWebView hitTest:]):
472 (-[WKWebView conversationIdentifier]):
473 (-[WKWebView quickLookWithEvent:]):
474 (-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
475 (-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
476 (-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
477 (-[WKWebView removeTrackingRect:]):
478 (-[WKWebView _removeTrackingRects:count:]):
479 (-[WKWebView view:stringForToolTip:point:userData:]):
480 (-[WKWebView pasteboardChangedOwner:]):
481 (-[WKWebView pasteboard:provideDataForType:]):
482 (-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
483 (-[WKWebView wantsUpdateLayer]):
484 (-[WKWebView updateLayer]):
485 (-[WKWebView setAllowsBackForwardNavigationGestures:]):
486 (-[WKWebView allowsBackForwardNavigationGestures]):
487 (-[WKWebView smartMagnifyWithEvent:]):
488 (-[WKWebView setMagnification:centeredAtPoint:]):
489 (-[WKWebView setMagnification:]):
490 (-[WKWebView magnification]):
491 (-[WKWebView setAllowsMagnification:]):
492 (-[WKWebView allowsMagnification]):
493 (-[WKWebView magnifyWithEvent:]):
494 (-[WKWebView rotateWithEvent:]):
495 (-[WKWebView _web_superInputContext]):
496 (-[WKWebView _web_superQuickLookWithEvent:]):
497 (-[WKWebView _web_superSwipeWithEvent:]):
498 (-[WKWebView _web_superMagnifyWithEvent:]):
499 (-[WKWebView _web_superSmartMagnifyWithEvent:]):
500 (-[WKWebView _web_superRemoveTrackingRect:]):
501 (-[WKWebView _web_superAccessibilityAttributeValue:]):
502 (-[WKWebView _web_superDoCommandBySelector:]):
503 (-[WKWebView _web_superPerformKeyEquivalent:]):
504 (-[WKWebView _web_superKeyDown:]):
505 (-[WKWebView _web_superHitTest:]):
506 (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
507 (-[WKWebView _web_prepareForImmediateActionAnimation]):
508 (-[WKWebView _web_cancelImmediateActionAnimation]):
509 (-[WKWebView _web_completeImmediateActionAnimation]):
510 (-[WKWebView _web_didChangeContentSize:]):
511 (-[WKWebView _web_dismissContentRelativeChildWindows]):
512 (-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
513 (-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
514 (-[WKWebView _setEditable:]):
515 (-[WKWebView _remoteObjectRegistry]):
516 (-[WKWebView _layoutMode]):
517 (-[WKWebView _setLayoutMode:]):
518 (-[WKWebView _setViewScale:]):
519 (-[WKWebView _drawsTransparentBackground]):
520 (-[WKWebView _setDrawsTransparentBackground:]):
521 (-[WKWebView _inspectorAttachmentView]):
522 (-[WKWebView _setInspectorAttachmentView:]):
523 (-[WKWebView _windowOcclusionDetectionEnabled]):
524 (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
525 (-[WKWebView _setOverrideDeviceScaleFactor:]):
526 (-[WKWebView _overrideDeviceScaleFactor]):
527 (-[WKWebView _setTopContentInset:]):
528 (-[WKWebView _topContentInset]):
529 (-[WKWebView _pageExtendedBackgroundColor]):
530 (-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
531 (-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
532 (-[WKWebView _automaticallyAdjustsContentInsets]):
533 (-[WKWebView _setMinimumLayoutWidth:]):
534 (-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
535 (-[WKWebView _ignoresNonWheelEvents]): Deleted.
536 (-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
537 (-[WKWebView _setIntrinsicContentSize:]): Deleted.
538 * UIProcess/API/Cocoa/WKWebViewInternal.h:
539 * UIProcess/API/mac/WKView.mm:
540 (-[WKView _web_superInputContext]):
541 (-[WKView _web_superQuickLookWithEvent:]):
542 (-[WKView _web_superSwipeWithEvent:]):
543 (-[WKView _web_superMagnifyWithEvent:]):
544 (-[WKView _web_superSmartMagnifyWithEvent:]):
545 (-[WKView _web_superRemoveTrackingRect:]):
546 (-[WKView _web_superAccessibilityAttributeValue:]):
547 (-[WKView _web_superDoCommandBySelector:]):
548 (-[WKView _web_superPerformKeyEquivalent:]):
549 (-[WKView _web_superKeyDown:]):
550 (-[WKView _web_superHitTest:]):
551 (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
552 (-[WKView _web_prepareForImmediateActionAnimation]):
553 (-[WKView _web_cancelImmediateActionAnimation]):
554 (-[WKView _web_completeImmediateActionAnimation]):
555 (-[WKView _web_didChangeContentSize:]):
556 (-[WKView _web_dismissContentRelativeChildWindows]):
557 (-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
558 (-[WKView _web_gestureEventWasNotHandledByWebCore:]):
559 (-[WKView _superInputContext]): Deleted.
560 (-[WKView _superQuickLookWithEvent:]): Deleted.
561 (-[WKView _superSwipeWithEvent:]): Deleted.
562 (-[WKView _superMagnifyWithEvent:]): Deleted.
563 (-[WKView _superSmartMagnifyWithEvent:]): Deleted.
564 (-[WKView _superRemoveTrackingRect:]): Deleted.
565 (-[WKView _superAccessibilityAttributeValue:]): Deleted.
566 (-[WKView _superDoCommandBySelector:]): Deleted.
567 (-[WKView _superPerformKeyEquivalent:]): Deleted.
568 (-[WKView _superKeyDown:]): Deleted.
569 (-[WKView _superHitTest:]): Deleted.
570 (-[WKView _addFontPanelObserver]): Deleted.
571 * UIProcess/API/mac/WKViewInternal.h:
572 * UIProcess/Cocoa/WebViewImpl.h:
573 * UIProcess/Cocoa/WebViewImpl.mm:
574 (WebKit::WebViewImpl::hitTest):
575 (WebKit::WebViewImpl::updateSecureInputState):
576 (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
577 (WebKit::WebViewImpl::executeSavedCommandBySelector):
578 (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
579 (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
580 (WebKit::WebViewImpl::quickLookWithEvent):
581 (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
582 (WebKit::WebViewImpl::cancelImmediateActionAnimation):
583 (WebKit::WebViewImpl::completeImmediateActionAnimation):
584 (WebKit::WebViewImpl::didChangeContentSize):
585 (WebKit::WebViewImpl::accessibilityAttributeValue):
586 (WebKit::WebViewImpl::removeTrackingRect):
587 (WebKit::WebViewImpl::swipeWithEvent):
588 (WebKit::WebViewImpl::magnifyWithEvent):
589 (WebKit::WebViewImpl::smartMagnifyWithEvent):
590 (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
591 (WebKit::WebViewImpl::doCommandBySelector):
592 (WebKit::WebViewImpl::inputContext):
593 (WebKit::WebViewImpl::performKeyEquivalent):
594 (WebKit::WebViewImpl::keyDown):
595 * UIProcess/mac/PageClientImpl.mm:
596 (WebKit::PageClientImpl::setDragImage):
597 (WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
598 (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
601 2015-11-02 Anders Carlsson <andersca@apple.com>
603 Remove unused API client callback code
604 https://bugs.webkit.org/show_bug.cgi?id=150813
606 Reviewed by Tim Horton.
608 * UIProcess/API/APILoaderClient.h:
609 (API::LoaderClient::interactionOccurredWhileProcessUnresponsive): Deleted.
610 * UIProcess/API/C/WKPage.cpp:
611 (WKPageSetPageLoaderClient): Deleted.
612 * UIProcess/ResponsivenessTimer.cpp:
613 (WebKit::ResponsivenessTimer::timerFired):
614 * UIProcess/ResponsivenessTimer.h:
615 * UIProcess/WebPageProxy.cpp:
616 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): Deleted.
617 * UIProcess/WebPageProxy.h:
618 * UIProcess/WebProcessProxy.cpp:
619 (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): Deleted.
620 * UIProcess/WebProcessProxy.h:
622 2015-10-31 Andy Estes <aestes@apple.com>
624 Replace iOS-only WebKitSystemInterface calls with SPI
625 https://bugs.webkit.org/show_bug.cgi?id=150763
627 Reviewed by Darin Adler.
629 * Platform/ios/AccessibilityIOS.h: Added.
630 * Platform/ios/AccessibilityIOS.mm: Added.
631 (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
632 * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
633 * Shared/WebPreferencesStore.cpp:
634 * UIProcess/API/Cocoa/WKWebView.mm:
635 (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
636 (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
637 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
638 (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
639 * UIProcess/ios/WKContentView.mm:
640 (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
641 (-[WKContentView _updateForScreen:]): Ditto.
642 (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
643 (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
644 * UIProcess/ios/WKContentViewInteraction.mm:
645 * UIProcess/ios/WebPageProxyIOS.mm:
646 (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
647 (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
648 (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
649 * WebKit2.xcodeproj/project.pbxproj:
650 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
651 (InitWebCoreSystemInterface): Deleted.
652 * WebProcess/WebPage/ios/WebPageIOS.mm:
653 (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().
655 2015-11-02 Commit Queue <commit-queue@webkit.org>
657 Unreviewed, rolling out r191902.
658 https://bugs.webkit.org/show_bug.cgi?id=150811
660 This change broke iOS builders (Requested by ryanhaddad on
665 "Replace iOS-only WebKitSystemInterface calls with SPI"
666 https://bugs.webkit.org/show_bug.cgi?id=150763
667 http://trac.webkit.org/changeset/191902
669 2015-10-31 Andy Estes <aestes@apple.com>
671 Replace iOS-only WebKitSystemInterface calls with SPI
672 https://bugs.webkit.org/show_bug.cgi?id=150763
674 Reviewed by Darin Adler.
676 * Platform/ios/AccessibilityIOS.h: Added.
677 * Platform/ios/AccessibilityIOS.mm: Added.
678 (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
679 * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
680 * Shared/WebPreferencesStore.cpp:
681 * UIProcess/API/Cocoa/WKWebView.mm:
682 (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
683 (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
684 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
685 (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
686 * UIProcess/ios/WKContentView.mm:
687 (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
688 (-[WKContentView _updateForScreen:]): Ditto.
689 (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
690 (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
691 * UIProcess/ios/WKContentViewInteraction.mm:
692 * UIProcess/ios/WebPageProxyIOS.mm:
693 (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
694 (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
695 (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
696 * WebKit2.xcodeproj/project.pbxproj:
697 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
698 (InitWebCoreSystemInterface): Deleted.
699 * WebProcess/WebPage/ios/WebPageIOS.mm:
700 (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().
702 2015-11-02 Yongjun Zhang <yongjun_zhang@apple.com>
704 Add objC delegate callback for webProcessDidBecomeResponsive and webProcessDidBecomeUnresponsive.
705 https://bugs.webkit.org/show_bug.cgi?id=150778
707 Add methods into WKNavigationDelegatePrivate to notify WebKit client when web process becomes unresponsive
708 or responsive, which is reported by WebKit::ResponsivenessTimer.
710 Reviewed by Darin Adler.
712 * UIProcess/API/APINavigationClient.h: Add two new method processDidBecomeResponsive and processDidBecomeUnresponsive
713 to NavigationClient; they are called when WebKit::ResponsivenessTimer update its client's state.
714 (API::NavigationClient::processDidBecomeResponsive):
715 (API::NavigationClient::processDidBecomeUnresponsive):
716 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Add two new delegate method to WKNavigationDelegatePrivate:
717 _webViewWebProcessDidBecomeResponsive: and _webViewWebProcessDidBecomeUnresponsive:
718 * UIProcess/Cocoa/NavigationState.h: Add new overriding methods processDidBecomeResponsive and processDidBecomeUnresponsive.
719 Also add a bool member for each method to indicate if the delegate has implement the related method.
720 * UIProcess/Cocoa/NavigationState.mm:
721 (WebKit::NavigationState::setNavigationDelegate): Update the new bool members based on the delegate.
722 (WebKit::NavigationState::NavigationClient::processDidBecomeResponsive): Send the delegate message to navigationDelegate
723 if _webViewWebProcessDidBecomeResponsive: is implemented.
724 (WebKit::NavigationState::NavigationClient::processDidBecomeUnresponsive): Ditto.
725 * UIProcess/WebPageProxy.cpp:
726 (WebKit::WebPageProxy::processDidBecomeUnresponsive): Call navigationClient's processDidBecomeUnresponsive if the page proxy
727 has navigationClient.
728 (WebKit::WebPageProxy::processDidBecomeResponsive): Call navigationClient's processDidBecomeResponsive if the page proxy
729 has navigationClient.
731 2015-11-02 Beth Dakin <bdakin@apple.com>
733 Tapping and holding a link should have a share option
734 https://bugs.webkit.org/show_bug.cgi?id=150693
736 Reviewed by Dan Bernstein.
738 This is a follow-up to the original change. This change fixes non-ascii URLs.
739 They should maintain their non-ascii characters when they are shared.
741 * UIProcess/ios/WKContentViewInteraction.mm:
742 (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
743 * UIProcess/ios/WKPDFView.mm:
744 (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
746 2015-11-02 Youenn Fablet <youenn.fablet@crf.canon.fr>
748 Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
749 https://bugs.webkit.org/show_bug.cgi?id=150613
751 Reviewed by Darin Adler.
753 * WebProcess/WebPage/WebFrame.cpp:
754 (WebKit::WebFrame::frameForContext): Renaming impl() to wrapped().
755 (WebKit::WebFrame::counterValue): Ditto.
757 2015-11-02 Carlos Garcia Campos <cgarcia@igalia.com>
759 [GLIB] Remove support for GSocket main loop sources from GMainLoopSource
760 https://bugs.webkit.org/show_bug.cgi?id=150772
762 Reviewed by Žan Doberšek.
764 Add GSocketMonitor class to be used by Connection to monitor the
765 availability of the socket file descriptor instead of using a
768 * Platform/IPC/Connection.h:
769 * Platform/IPC/glib/GSocketMonitor.cpp: Added.
770 (IPC::GSocketMonitor::~GSocketMonitor):
771 (IPC::GSocketMonitor::socketSourceCallback):
772 (IPC::GSocketMonitor::start):
773 (IPC::GSocketMonitor::stop):
774 * Platform/IPC/glib/GSocketMonitor.h: Added.
775 * Platform/IPC/unix/ConnectionUnix.cpp:
776 (IPC::Connection::platformInvalidate):
777 (IPC::Connection::open):
780 2015-11-01 Carlos Garcia Campos <cgarcia@igalia.com>
782 [GTK] Use RunLoop in WorkQueue implementation
783 https://bugs.webkit.org/show_bug.cgi?id=150770
785 Reviewed by Darin Adler.
787 * Platform/IPC/unix/ConnectionUnix.cpp:
788 (IPC::Connection::open): Get the main context from the WorkQueue Runloop.
790 2015-11-01 Yusuke Suzuki <utatane.tea@gmail.com>
792 [ES6] Support Generator Syntax
793 https://bugs.webkit.org/show_bug.cgi?id=150769
795 Reviewed by Geoffrey Garen.
797 Added ENABLE_ES6_GENERATORS flag.
799 * Configurations/FeatureDefines.xcconfig:
801 2015-11-01 Brent Fulgham <bfulgham@apple.com>
803 Use convenience function in sandbox profile
804 https://bugs.webkit.org/show_bug.cgi?id=150732
805 <rdar://problem/23287894>
807 Reviewed by Alexey Proskuryakov.
809 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Switch to
810 the 'awd-log-directory' convenience function.
812 2015-11-01 Joonghun Park <jh718.park@samsung.com>
814 [EFL] Fix inappropriate move semantics use in parseAndRemoveEnvironments function
815 https://bugs.webkit.org/show_bug.cgi?id=150544
817 Reviewed by Darin Adler.
819 In parseAndRemoveEnvironments function, it declares its paramerter type as rvalue.
820 But in ProcessLauncher::launchProcess(), the argument of
821 parseAndRemoveEnvironments still be used after the call of the function.
822 Currently the rvalue is not assigned to any other variable in parseAndRemoveEnvironments,
823 so it doesn't lead to runtime error but use of move semantic
824 is not appropriate semantically in this case.
826 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
827 (WebKit::parseAndRemoveEnvironments):
828 (WebKit::ProcessLauncher::launchProcess):
830 2015-11-01 Commit Queue <commit-queue@webkit.org>
832 Unreviewed, rolling out r191831.
833 https://bugs.webkit.org/show_bug.cgi?id=150774
835 The new test fails (Requested by ap on #webkit).
839 "Begin work on supporting reply blocks in
840 _WKRemoteObjectRegistry"
841 https://bugs.webkit.org/show_bug.cgi?id=150739
842 http://trac.webkit.org/changeset/191831
844 2015-11-01 Philip Chimento <philip.chimento@gmail.com>
846 [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
847 https://bugs.webkit.org/show_bug.cgi?id=144560
849 Reviewed by Darin Adler.
851 * NetworkProcess/NetworkProcess.cpp:
852 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
853 Change order of OS(DARWIN) and USE(UNIX_DOMAIN_SOCKETS) checks,
854 so that we can use Unix domain sockets even on Darwin for the GTK
856 * Platform/IPC/Attachment.cpp: Add USE(UNIX_DOMAIN_SOCKETS) check
857 to OS(DARWIN) check, in order to support GTK platform on OSX.
858 * Platform/IPC/Attachment.h: Change order of OS(DARWIN) and
859 USE(UNIX_DOMAIN_SOCKETS) checks throughout.
860 (IPC::Attachment::size):
861 (IPC::Attachment::releaseFileDescriptor):
862 (IPC::Attachment::fileDescriptor):
863 (IPC::Attachment::disposition):
864 (IPC::Attachment::port):
865 * Platform/IPC/Connection.h: Ditto.
866 (IPC::Connection::identifierIsNull):
867 (IPC::Connection::Identifier::Identifier):
868 (IPC::Connection::xpcConnection):
869 * Platform/IPC/unix/ConnectionUnix.cpp: Only use SOCK_SEQPACKET
870 if the platform is not GTK, because otherwise the PLATFORM(GTK)
871 check below is never reached.
872 * Platform/SharedMemory.h: Change order of OS(DARWIN) and
873 USE(UNIX_DOMAIN_SOCKETS) checks.
874 * PluginProcess/PluginProcess.cpp: Ditto.
875 (WebKit::PluginProcess::createWebProcessConnection):
876 * Shared/API/c/WKBase.h: Don't include WKBaseMac.h if building
878 * UIProcess/API/C/WKNativeEvent.h: Don't use Apple API if
880 * UIProcess/Launcher/ProcessLauncher.cpp: Change to
881 OS(DARWIN) && !PLATFORM(GTK), in the absence of a better platform
882 macro such as USE(MACH).
883 (WebKit::ProcessLauncher::didFinishLaunchingProcess):
884 * UIProcess/Launcher/ProcessLauncher.h: Ditto.
885 * UIProcess/Network/NetworkProcessProxy.cpp: Change order of
886 OS(DARWIN) and PLATFORM(GTK) checks.
887 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
888 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
889 * UIProcess/Plugins/PluginProcessProxy.cpp: Ditto.
890 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
891 (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
892 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Ditto.
893 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
894 * WebProcess/WebPage/WebInspector.cpp: Ditto.
895 (WebKit::WebInspector::createInspectorPage):
896 * WebProcess/WebPage/WebInspectorUI.cpp: Ditto.
897 (WebKit::WebInspectorUI::establishConnection):
898 * WebProcess/WebProcess.cpp: Ditto.
899 (WebKit::WebProcess::ensureNetworkProcessConnection):
901 2015-11-01 Carlos Garcia Campos <cgarcia@igalia.com>
903 [GTK] Use RunLoop::Timer in PluginInfoCache
904 https://bugs.webkit.org/show_bug.cgi?id=150757
906 Reviewed by Darin Adler.
908 Use RunLoop::Timer instead of GMainLoopSource to save the cache
909 contents in an idle. Also remove the mutex, since RunLoop::Timer
910 is thread safe and saveToFile() is private and only called by the
911 main thread loop. Also removed the code to save the file in the
912 destructor since PluginInfoCache is a singleton and never
913 destroyed. It's very unlikely that the program finished before the
914 cache is saved, but even if that happens it would be harmless, the
915 cache will be saved at some point the next time.
917 * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
918 (WebKit::PluginInfoCache::PluginInfoCache):
919 (WebKit::PluginInfoCache::updatePluginInfo):
920 (WebKit::PluginInfoCache::~PluginInfoCache):
921 (WebKit::PluginInfoCache::saveToFile):
922 * UIProcess/Plugins/gtk/PluginInfoCache.h:
924 2015-11-01 Carlos Garcia Campos <cgarcia@igalia.com>
926 [GTK] Use a RunLoop::Timer to schedule rendering frames in accelerated compositing mode
927 https://bugs.webkit.org/show_bug.cgi?id=150756
929 Reviewed by Darin Adler.
931 Use a RunLoop::Timer instead of a GMainLoopSource for the
932 accelerated compositing render loop to improve the performance,
933 since RunLoop::Timer uses a persistent source.
934 All the logic to schedule rames has been moved to a helper
935 internal class RenderFrameScheduler.
937 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
938 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler):
939 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::~RenderFrameScheduler):
940 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::start):
941 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::stop):
942 (WebKit::shouldSkipNextFrameBecauseOfContinousImmediateFlushes):
943 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::nextFrame):
944 (WebKit::LayerTreeHostGtk::RenderFrameScheduler::renderFrame):
945 (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
946 (WebKit::LayerTreeHostGtk::renderFrame):
947 (WebKit::LayerTreeHostGtk::scheduleLayerFlush):
948 (WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
949 (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Deleted.
950 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
952 2015-10-31 Andreas Kling <akling@apple.com>
954 Add a debug overlay with information about web process resource usage.
955 <https://webkit.org/b/150599>
957 Reviewed by Darin Adler.
959 Add WK2 preferences SPI for showing/hiding the resource usage overlay.
961 * Shared/WebPreferencesDefinitions.h:
962 * UIProcess/API/C/WKPreferences.cpp:
963 (WKPreferencesSetResourceUsageOverlayVisible):
964 (WKPreferencesGetResourceUsageOverlayVisible):
965 * UIProcess/API/C/WKPreferencesRefPrivate.h:
966 * UIProcess/API/Cocoa/WKPreferences.mm:
967 (-[WKPreferences _resourceUsageOverlayVisible]):
968 (-[WKPreferences _setResourceUsageOverlayVisible:]):
969 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
970 * WebProcess/WebPage/WebPage.cpp:
971 (WebKit::WebPage::updatePreferences):
973 2015-10-31 Alex Christensen <achristensen@webkit.org>
975 Share more code between NETWORK_SESSION and non-NETWORK_SESSION NetworkResourceLoaders
976 https://bugs.webkit.org/show_bug.cgi?id=150742
978 Reviewed by Darin Adler.
980 r191457 added enough code to NetworkResourceLoader to load most resources successfully if there are no errors.
981 It passed about 80% of LayoutTests/http and crashed sometimes.
982 This passes about 95% of LayoutTests/http and does not crash on any of the LayoutTests/http.
983 It should not change behavior of the non-NETWORK_SESSION code which is currently the default in trunk.
985 * NetworkProcess/NetworkResourceLoader.cpp:
986 (WebKit::NetworkResourceLoader::abort):
987 (WebKit::NetworkResourceLoader::sharedDidReceiveResponse):
988 (WebKit::NetworkResourceLoader::sharedDidReceiveBuffer):
989 (WebKit::NetworkResourceLoader::sharedDidFinishLoading):
990 (WebKit::NetworkResourceLoader::sharedDidFail):
991 (WebKit::NetworkResourceLoader::sharedWillSendRedirectedRequest):
992 (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
993 (WebKit::NetworkResourceLoader::didReceiveChallenge):
994 (WebKit::NetworkResourceLoader::didReceiveResponse):
995 (WebKit::NetworkResourceLoader::didReceiveData):
996 (WebKit::NetworkResourceLoader::didCompleteWithError):
997 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
998 (WebKit::NetworkResourceLoader::didReceiveBuffer):
999 (WebKit::NetworkResourceLoader::didFinishLoading):
1000 (WebKit::NetworkResourceLoader::didFail):
1001 (WebKit::NetworkResourceLoader::willSendRequestAsync):
1002 * NetworkProcess/NetworkResourceLoader.h:
1003 * NetworkProcess/NetworkSession.h:
1004 (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
1006 2015-10-28 Wenson Hsieh <wenson_hsieh@apple.com>
1008 Inner height behavior when the keyboard is shown should match on WKWebView and MobileSafari
1009 https://bugs.webkit.org/show_bug.cgi?id=150634
1010 <rdar://problem/23202254>
1012 Reviewed by Benjamin Poulain.
1014 Make WKWebView match behavior in Safari by not firing resize events and changing the inner height when showing
1015 or hiding the keyboard. Previously, the WKWebView would do both of the above because we use the scroll view's
1016 contentInset property when no unobscured insets are explicitly set for the WKWebView. To fix this, when updating
1017 the visible content rect of a WKWebView for computing the inner height, we readjust the computed bottom inset
1018 to not take the keyboard height into account. To know how much we need to readjust the inset by, we store the
1019 total amount by which the scroll view's bottom inset has been adjusted due to the keyboard.
1021 We perform this readjustment in _updateVisibleContentRects rather than in _computedContentInset since some users
1022 of _computedContentInset may still expect the bottom inset to account for the keyboard height. However, when
1023 updating visible content rects, we should not account for the keyboard height since we don't want the inner height
1024 to change when showing or hiding the keyboard.
1026 Lastly, while calling _adjustForAutomaticKeyboardInfo, we may end up calling _updateVisibleContentRects. This call
1027 is unnecessary since we call it again immediately after _adjustForAutomaticKeyboardInfo, and it also complicates
1028 the readjustment logic, so it makes sense to prevent the update from happening altogether while we are adjusting
1029 the scroll view's insets due to keyboard changes. Altogether, these changes mean that the computed inner height
1030 will no longer be adjusted for the keyboard height on WKWebViews, matching the behavior observed on mobile Safari.
1032 Test: LayoutTests/fast/events/ios/keyboard-should-not-trigger-resize.html
1034 * UIProcess/API/Cocoa/WKWebView.mm:
1035 (-[WKWebView _updateVisibleContentRects]):
1036 (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
1038 2015-10-30 Anders Carlsson <andersca@apple.com>
1040 Begin work on supporting reply blocks in _WKRemoteObjectRegistry
1041 https://bugs.webkit.org/show_bug.cgi?id=150739
1043 Reviewed by Tim Horton.
1045 * Platform/spi/Cocoa/BlockSPI.h:
1048 * Shared/API/Cocoa/RemoteObjectInvocation.h:
1049 (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
1050 (WebKit::RemoteObjectInvocation::replyInfo):
1051 * Shared/API/Cocoa/RemoteObjectInvocation.mm:
1052 (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
1053 (WebKit::RemoteObjectInvocation::encode):
1054 (WebKit::RemoteObjectInvocation::decode):
1055 Add an optional ReplyInfo struct to RemoteObjectInvocation.
1057 * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
1058 (generateReplyIdentifier):
1059 Helper function to generate a reply identifier.
1061 (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
1062 Do some block parameter validation.
1064 * WebKit2.xcodeproj/project.pbxproj:
1066 2015-10-30 Beth Dakin <bdakin@apple.com>
1068 Link preview doesn't work on XHTML pages with Content-Type header as
1069 ‘application/xhtml+xml’
1070 https://bugs.webkit.org/show_bug.cgi?id=150740
1072 rdar://problem/23063585
1074 Reviewed by Tim Horton.
1076 For XHTML pages, the element names are lowercase. This patch uses
1077 equalIgnoringCase to fix the bug.
1078 * UIProcess/ios/WKContentViewInteraction.mm:
1079 (-[WKContentView _actionForLongPress]):
1080 (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
1081 (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
1083 2015-10-30 Tim Horton <timothy_horton@apple.com>
1085 WKView being inside WKWebView leads to weird API issues
1086 https://bugs.webkit.org/show_bug.cgi?id=150174
1088 Reviewed by Anders Carlsson.
1090 * UIProcess/API/mac/WKView.mm:
1091 (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
1092 (-[WKView prepareContentInRect:]):
1093 (-[WKView initWithFrame:processPool:configuration:webView:]):
1094 (-[WKView pageRef]):
1095 (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1096 (-[WKView dealloc]): Deleted.
1097 * UIProcess/Cocoa/WebViewImpl.h:
1098 (WebKit::WebViewImpl::page):
1099 * UIProcess/Cocoa/WebViewImpl.mm:
1100 (-[WKWindowVisibilityObserver initWithView:impl:]):
1101 (-[WKWindowVisibilityObserver dealloc]):
1102 (-[WKWindowVisibilityObserver _activeSpaceDidChange:]):
1103 (WebKit::WebViewImpl::WebViewImpl):
1104 (WebKit::WebViewImpl::~WebViewImpl):
1105 (WebKit::WebViewImpl::setDrawsBackground):
1106 (WebKit::WebViewImpl::drawsBackground):
1107 (WebKit::WebViewImpl::setDrawsTransparentBackground):
1108 (WebKit::WebViewImpl::drawsTransparentBackground):
1109 (WebKit::WebViewImpl::isOpaque):
1110 (WebKit::WebViewImpl::acceptsFirstMouse):
1111 (WebKit::WebViewImpl::becomeFirstResponder):
1112 (WebKit::WebViewImpl::resignFirstResponder):
1113 (WebKit::WebViewImpl::viewWillStartLiveResize):
1114 (WebKit::WebViewImpl::viewDidEndLiveResize):
1115 (WebKit::WebViewImpl::updateWindowAndViewFrames):
1116 (WebKit::WebViewImpl::setFixedLayoutSize):
1117 (WebKit::WebViewImpl::fixedLayoutSize):
1118 (WebKit::WebViewImpl::isUsingUISideCompositing):
1119 (WebKit::WebViewImpl::setDrawingAreaSize):
1120 (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
1121 (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
1122 (WebKit::WebViewImpl::updateLayer):
1123 (WebKit::WebViewImpl::drawRect):
1124 (WebKit::WebViewImpl::dispatchSetTopContentInset):
1125 (WebKit::WebViewImpl::prepareContentInRect):
1126 (WebKit::WebViewImpl::updateViewExposedRect):
1127 (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
1128 (WebKit::WebViewImpl::minimumSizeForAutoLayout):
1129 (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
1130 (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
1131 (WebKit::WebViewImpl::setIntrinsicContentSize):
1132 (WebKit::WebViewImpl::setViewScale):
1133 (WebKit::WebViewImpl::viewScale):
1134 (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
1135 (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
1136 (WebKit::WebViewImpl::windowDidOrderOffScreen):
1137 (WebKit::WebViewImpl::windowDidOrderOnScreen):
1138 (WebKit::WebViewImpl::windowDidBecomeKey):
1139 (WebKit::WebViewImpl::windowDidResignKey):
1140 (WebKit::WebViewImpl::windowDidMiniaturize):
1141 (WebKit::WebViewImpl::windowDidDeminiaturize):
1142 (WebKit::WebViewImpl::windowDidChangeBackingProperties):
1143 (WebKit::WebViewImpl::windowDidChangeScreen):
1144 (WebKit::WebViewImpl::windowDidChangeLayerHosting):
1145 (WebKit::WebViewImpl::windowDidChangeOcclusionState):
1146 (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
1147 (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
1148 (WebKit::WebViewImpl::viewDidMoveToWindow):
1149 (WebKit::WebViewImpl::viewDidChangeBackingProperties):
1150 (WebKit::WebViewImpl::viewDidHide):
1151 (WebKit::WebViewImpl::viewDidUnhide):
1152 (WebKit::WebViewImpl::activeSpaceDidChange):
1153 (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
1154 (WebKit::WebViewImpl::setUnderlayColor):
1155 (WebKit::WebViewImpl::underlayColor):
1156 (WebKit::WebViewImpl::pageExtendedBackgroundColor):
1157 (WebKit::WebViewImpl::setOverlayScrollbarStyle):
1158 (WebKit::WebViewImpl::overlayScrollbarStyle):
1159 (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
1160 (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
1161 (WebKit::WebViewImpl::prepareForMoveToWindow):
1162 (WebKit::WebViewImpl::updateSecureInputState):
1163 (WebKit::WebViewImpl::setPluginComplexTextInputState):
1164 (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
1165 (WebKit::WebViewImpl::handleAcceptedAlternativeText):
1166 (WebKit::WebViewImpl::pressureChangeWithEvent):
1167 (WebKit::WebViewImpl::isEditable):
1168 (WebKit::WebViewImpl::executeEditCommandForSelector):
1169 (WebKit::WebViewImpl::writeSelectionToPasteboard):
1170 (WebKit::WebViewImpl::readSelectionFromPasteboard):
1171 (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
1172 (WebKit::WebViewImpl::centerSelectionInVisibleArea):
1173 (WebKit::WebViewImpl::updateFontPanelIfNeeded):
1174 (WebKit::WebViewImpl::changeFontFromFontPanel):
1175 (WebKit::WebViewImpl::validateUserInterfaceItem):
1176 (WebKit::WebViewImpl::startSpeaking):
1177 (WebKit::WebViewImpl::showGuessPanel):
1178 (WebKit::WebViewImpl::checkSpelling):
1179 (WebKit::WebViewImpl::changeSpelling):
1180 (WebKit::WebViewImpl::toggleContinuousSpellChecking):
1181 (WebKit::WebViewImpl::setGrammarCheckingEnabled):
1182 (WebKit::WebViewImpl::toggleGrammarChecking):
1183 (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
1184 (WebKit::WebViewImpl::toggleSmartInsertDelete):
1185 (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
1186 (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
1187 (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
1188 (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
1189 (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
1190 (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
1191 (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
1192 (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
1193 (WebKit::WebViewImpl::uppercaseWord):
1194 (WebKit::WebViewImpl::lowercaseWord):
1195 (WebKit::WebViewImpl::capitalizeWord):
1196 (WebKit::WebViewImpl::preferencesDidChange):
1197 (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
1198 (WebKit::WebViewImpl::quickLookWithEvent):
1199 (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
1200 (WebKit::WebViewImpl::didChangeContentSize):
1201 (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
1202 (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
1203 (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
1204 (WebKit::WebViewImpl::stringForToolTip):
1205 (WebKit::WebViewImpl::setInspectorAttachmentView):
1206 (WebKit::WebViewImpl::remoteObjectRegistry):
1207 (WebKit::WebViewImpl::browsingContextController):
1208 (WebKit::WebViewImpl::draggedImage):
1209 (WebKit::WebViewImpl::draggingEntered):
1210 (WebKit::WebViewImpl::draggingUpdated):
1211 (WebKit::WebViewImpl::draggingExited):
1212 (WebKit::WebViewImpl::performDragOperation):
1213 (WebKit::WebViewImpl::takeViewSnapshot):
1214 (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
1215 (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
1216 (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
1217 (WebKit::WebViewImpl::setMagnification):
1218 (WebKit::WebViewImpl::magnification):
1219 (WebKit::WebViewImpl::scrollWheel):
1220 (WebKit::WebViewImpl::swipeWithEvent):
1221 (WebKit::WebViewImpl::magnifyWithEvent):
1222 (WebKit::WebViewImpl::rotateWithEvent):
1223 (WebKit::WebViewImpl::doCommandBySelector):
1224 (WebKit::WebViewImpl::insertText):
1225 (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
1226 (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
1227 (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
1228 (WebKit::WebViewImpl::attributedSubstringForProposedRange):
1229 (WebKit::WebViewImpl::firstRectForCharacterRange):
1230 (WebKit::WebViewImpl::characterIndexForPoint):
1231 (WebKit::WebViewImpl::inputContext):
1232 (WebKit::WebViewImpl::unmarkText):
1233 (WebKit::WebViewImpl::setMarkedText):
1234 (WebKit::WebViewImpl::performKeyEquivalent):
1235 (WebKit::WebViewImpl::keyUp):
1236 (WebKit::WebViewImpl::keyDown):
1237 (WebKit::WebViewImpl::flagsChanged):
1238 (WebKit::WebViewImpl::executeSavedKeypressCommands):
1239 (WebKit::WebViewImpl::selectedRange):
1240 (WebKit::WebViewImpl::hasMarkedText):
1241 (WebKit::WebViewImpl::markedRange):
1242 (WebKit::WebViewImpl::setContentPreparationRect): Deleted.
1243 (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResultFromViewOnly): Deleted.
1244 (WebKit::WebViewImpl::destroyRemoteObjectRegistry): Deleted.
1245 * UIProcess/WebPageProxy.h:
1246 (WebKit::WebPageProxy::scrollPinningBehavior):
1247 (WebKit::WebPageProxy::overlayScrollbarStyle):
1248 * UIProcess/WebProcessPool.cpp:
1249 (WebKit::WebProcessPool::createWebPage):
1250 * UIProcess/WebProcessPool.h:
1251 * UIProcess/mac/PageClientImpl.h:
1252 * UIProcess/mac/PageClientImpl.mm:
1253 (WebKit::PageClientImpl::PageClientImpl):
1254 (WebKit::PageClientImpl::createDrawingAreaProxy):
1255 (WebKit::PageClientImpl::viewSize):
1256 (WebKit::PageClientImpl::activeView):
1257 (WebKit::PageClientImpl::activeWindow):
1258 (WebKit::PageClientImpl::isViewFocused):
1259 (WebKit::PageClientImpl::makeFirstResponder):
1260 (WebKit::PageClientImpl::isViewVisible):
1261 (WebKit::PageClientImpl::colorSpace):
1262 (WebKit::PageClientImpl::processDidExit):
1263 (WebKit::PageClientImpl::pageClosed):
1264 (WebKit::PageClientImpl::didRelaunchProcess):
1265 (WebKit::PageClientImpl::preferencesDidChange):
1266 (WebKit::PageClientImpl::toolTipChanged):
1267 (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1268 (WebKit::PageClientImpl::didChangeContentSize):
1269 (WebKit::PageClientImpl::setCursor):
1270 (WebKit::PageClientImpl::registerEditCommand):
1271 (WebKit::PageClientImpl::registerInsertionUndoGrouping):
1272 (WebKit::PageClientImpl::clearAllEditCommands):
1273 (WebKit::PageClientImpl::canUndoRedo):
1274 (WebKit::PageClientImpl::executeUndoRedo):
1275 (WebKit::PageClientImpl::setDragImage):
1276 (WebKit::PageClientImpl::setPromisedDataForImage):
1277 (WebKit::PageClientImpl::setPromisedDataForAttachment):
1278 (WebKit::PageClientImpl::updateSecureInputState):
1279 (WebKit::PageClientImpl::resetSecureInputState):
1280 (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
1281 (WebKit::PageClientImpl::convertToDeviceSpace):
1282 (WebKit::PageClientImpl::convertToUserSpace):
1283 (WebKit::PageClientImpl::screenToRootView):
1284 (WebKit::PageClientImpl::rootViewToScreen):
1285 (WebKit::PageClientImpl::doneWithKeyEvent):
1286 (WebKit::PageClientImpl::createPopupMenuProxy):
1287 (WebKit::PageClientImpl::createContextMenuProxy):
1288 (WebKit::PageClientImpl::createColorPicker):
1289 (WebKit::PageClientImpl::setTextIndicator):
1290 (WebKit::PageClientImpl::clearTextIndicator):
1291 (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
1292 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
1293 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
1294 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
1295 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
1296 (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
1297 (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
1298 (WebKit::PageClientImpl::takeViewSnapshot):
1299 (WebKit::PageClientImpl::selectionDidChange):
1300 (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
1301 (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
1302 (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
1303 (WebKit::PageClientImpl::setPluginComplexTextInputState):
1304 (WebKit::PageClientImpl::didPerformDictionaryLookup):
1305 (WebKit::PageClientImpl::dismissContentRelativeChildWindows):
1306 (WebKit::PageClientImpl::showCorrectionPanel):
1307 (WebKit::PageClientImpl::recordAutocorrectionResponse):
1308 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
1309 (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
1310 (WebKit::PageClientImpl::executeSavedCommandBySelector):
1311 (WebKit::PageClientImpl::showDictationAlternativeUI):
1312 (WebKit::PageClientImpl::closeFullScreenManager):
1313 (WebKit::PageClientImpl::isFullScreen):
1314 (WebKit::PageClientImpl::enterFullScreen):
1315 (WebKit::PageClientImpl::exitFullScreen):
1316 (WebKit::PageClientImpl::beganEnterFullScreen):
1317 (WebKit::PageClientImpl::beganExitFullScreen):
1318 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1319 (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1320 (WebKit::PageClientImpl::didFailLoadForMainFrame):
1321 (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
1322 (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
1323 (WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
1324 (WebKit::PageClientImpl::didPerformImmediateActionHitTest):
1325 (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
1326 (WebKit::PageClientImpl::showPlatformContextMenu):
1327 (WebKit::PageClientImpl::refView):
1328 (WebKit::PageClientImpl::derefView):
1329 (WebKit::PageClientImpl::startWindowDrag):
1330 (WebKit::PageClientImpl::platformWindow):
1331 (WebKit::PageClientImpl::inspectorAttachmentView):
1332 (WebKit::PageClientImpl::remoteObjectRegistry):
1333 * UIProcess/mac/WebColorPickerMac.h:
1334 * UIProcess/mac/WebColorPickerMac.mm:
1335 (WebKit::WebColorPickerMac::create):
1336 (WebKit::WebColorPickerMac::WebColorPickerMac):
1337 (-[WKColorPopoverMac initWithFrame:inView:]):
1338 * UIProcess/mac/WebContextMenuProxyMac.h:
1339 * UIProcess/mac/WebContextMenuProxyMac.mm:
1340 (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
1341 * UIProcess/mac/WebPopupMenuProxyMac.h:
1342 (WebKit::WebPopupMenuProxyMac::create):
1343 * UIProcess/mac/WebPopupMenuProxyMac.mm:
1344 (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
1345 Move ownership of WebPageProxy and PageClientImpl to WebViewImpl.
1347 2015-10-30 Alex Christensen <achristensen@webkit.org>
1349 Fix Mac CMake build after rr191810.
1351 * PlatformMac.cmake:
1352 Add RemoteObjectInvocation.mm.
1354 2015-10-30 Anders Carlsson <andersca@apple.com>
1356 Add a separate object that represents a remote object invocation
1357 https://bugs.webkit.org/show_bug.cgi?id=150639
1359 Reviewed by Tim Horton.
1361 * Shared/API/Cocoa/RemoteObjectInvocation.h: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.h.
1362 (WebKit::RemoteObjectInvocation::interfaceIdentifier):
1363 (WebKit::RemoteObjectInvocation::encodedInvocation):
1364 * Shared/API/Cocoa/RemoteObjectInvocation.mm: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.mm.
1365 (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
1366 (WebKit::RemoteObjectInvocation::encode):
1367 (WebKit::RemoteObjectInvocation::decode):
1368 * Shared/API/Cocoa/RemoteObjectRegistry.h:
1369 * Shared/API/Cocoa/RemoteObjectRegistry.messages.in:
1370 * Shared/API/Cocoa/RemoteObjectRegistry.mm:
1371 (WebKit::RemoteObjectRegistry::sendInvocation):
1372 (WebKit::RemoteObjectRegistry::invokeMethod):
1373 * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
1374 (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
1375 (-[_WKRemoteObjectRegistry _invokeMethod:]):
1376 * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
1377 * WebKit2.xcodeproj/project.pbxproj:
1379 2015-10-30 Beth Dakin <bdakin@apple.com>
1381 Another speculative build fix.
1383 * UIProcess/API/Cocoa/_WKElementAction.h:
1385 2015-10-30 Beth Dakin <bdakin@apple.com>
1387 Speculative build fix.
1389 * Platform/spi/ios/UIKitSPI.h:
1390 * UIProcess/ios/WKContentViewInteraction.mm:
1392 2015-10-30 Tim Horton <timothy_horton@apple.com>
1394 WKView being inside WKWebView leads to weird API issues
1395 https://bugs.webkit.org/show_bug.cgi?id=150174
1397 Reviewed by Anders Carlsson.
1399 * UIProcess/API/mac/WKView.mm:
1400 (-[WKView mouseMoved:]):
1401 (-[WKView mouseDown:]):
1402 (-[WKView mouseUp:]):
1403 (-[WKView mouseDragged:]):
1404 (-[WKView mouseEntered:]):
1405 (-[WKView mouseExited:]):
1406 (-[WKView otherMouseDown:]):
1407 (-[WKView otherMouseDragged:]):
1408 (-[WKView otherMouseUp:]):
1409 (-[WKView rightMouseDown:]):
1410 (-[WKView rightMouseDragged:]):
1411 (-[WKView rightMouseUp:]):
1412 (-[WKView _updateViewExposedRect]): Deleted.
1413 * UIProcess/Cocoa/WebViewImpl.h:
1414 * UIProcess/Cocoa/WebViewImpl.mm:
1415 (WebKit::WebViewImpl::mouseMoved):
1416 (WebKit::WebViewImpl::mouseDown):
1417 (WebKit::WebViewImpl::mouseUp):
1418 (WebKit::WebViewImpl::mouseDragged):
1419 Move mouse event handling.
1421 2015-10-30 Beth Dakin <bdakin@apple.com>
1423 Tapping and holding a link should have a share option
1424 https://bugs.webkit.org/show_bug.cgi?id=150693
1426 rdar://problem/21319702
1428 Reviewed by Tim Horton.
1430 New _WKElementActionType called _WKElementActionTypeShare.
1431 * UIProcess/API/Cocoa/_WKElementAction.h:
1432 * UIProcess/API/Cocoa/_WKElementAction.mm:
1433 (+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
1435 _WKElementActionTypeShare is part of the default actions for links.
1436 * UIProcess/ios/WKActionSheetAssistant.h:
1437 * UIProcess/ios/WKActionSheetAssistant.mm:
1438 (-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
1440 Handle the sharing part!
1441 * UIProcess/ios/WKContentViewInteraction.mm:
1442 (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
1444 To support this in PDF, PDF need to create a _webSelectionAssistant.
1445 * UIProcess/ios/WKPDFView.mm:
1446 (-[WKPDFView web_initWithFrame:webView:]):
1447 (-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
1448 (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
1449 (-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
1451 2015-10-30 Tim Horton <timothy_horton@apple.com>
1453 WKView being inside WKWebView leads to weird API issues
1454 https://bugs.webkit.org/show_bug.cgi?id=150174
1456 Reviewed by Anders Carlsson.
1458 * UIProcess/API/mac/WKView.mm:
1459 (-[WKView _wantsKeyDownForEvent:]):
1460 (-[WKView acceptsFirstMouse:]):
1461 (-[WKView shouldDelayWindowOrderingForEvent:]):
1462 (-[WKView validAttributesForMarkedText]):
1463 (-[WKView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
1464 (-[WKView drawRect:]):
1465 (-[WKView isOpaque]):
1466 (-[WKView mouseDownCanMoveWindow]):
1467 (-[WKView viewDidHide]):
1468 (-[WKView viewDidUnhide]):
1469 (-[WKView _activeSpaceDidChange:]):
1470 (-[WKView hitTest:]):
1471 (-[WKView wantsUpdateLayer]):
1472 (-[WKView canChangeFrameLayout:]):
1473 (-[WKView printOperationWithPrintInfo:forFrame:]):
1474 (+[WKView hideWordDefinitionWindow]):
1475 * UIProcess/Cocoa/WebViewImpl.h:
1476 (WebKit::WebViewImpl::wantsUpdateLayer):
1477 (WebKit::WebViewImpl::mouseDownCanMoveWindow):
1478 (WebKit::WebViewImpl::wantsKeyDownForEvent):
1479 (WebKit::WebViewImpl::layerHostingView): Deleted.
1480 * UIProcess/Cocoa/WebViewImpl.mm:
1481 (WebKit::WebViewImpl::isOpaque):
1482 (WebKit::WebViewImpl::acceptsFirstMouse):
1483 (WebKit::WebViewImpl::drawRect):
1484 (WebKit::WebViewImpl::canChangeFrameLayout):
1485 (WebKit::WebViewImpl::printOperationWithPrintInfo):
1486 (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
1487 (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
1488 (WebKit::WebViewImpl::viewDidHide):
1489 (WebKit::WebViewImpl::viewDidUnhide):
1490 (WebKit::WebViewImpl::activeSpaceDidChange):
1491 (WebKit::WebViewImpl::hitTest):
1492 (WebKit::WebViewImpl::hideWordDefinitionWindow):
1493 (WebKit::WebViewImpl::validAttributesForMarkedText):
1494 Printing and random bits.
1496 2015-10-30 Anders Carlsson <andersca@apple.com>
1498 REGRESSION (r191691): Unexpected "Share" context menu when right clicking around inspector
1499 https://bugs.webkit.org/show_bug.cgi?id=150699
1500 rdar://problem/23324522
1502 Reviewed by Tim Horton.
1504 Don't create a share menu item if we have nothing to share.
1506 * UIProcess/mac/WebContextMenuProxyMac.mm:
1507 (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1509 2015-10-30 Tim Horton <timothy_horton@apple.com>
1511 Initialize some new WebViewImpl members
1513 * UIProcess/Cocoa/WebViewImpl.h:
1516 2015-10-30 Tim Horton <timothy_horton@apple.com>
1520 * UIProcess/API/mac/WKView.mm:
1522 2015-10-30 Tim Horton <timothy_horton@apple.com>
1526 * UIProcess/Cocoa/WebViewImpl.h:
1527 * UIProcess/Cocoa/WebViewImpl.mm:
1528 (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
1530 2015-10-30 Tim Horton <timothy_horton@apple.com>
1532 WKView being inside WKWebView leads to weird API issues
1533 https://bugs.webkit.org/show_bug.cgi?id=150174
1535 Reviewed by Darin Adler.
1537 * UIProcess/API/mac/WKView.mm:
1538 (-[WKView doCommandBySelector:]):
1539 (-[WKView insertText:]):
1540 (-[WKView insertText:replacementRange:]):
1541 (-[WKView inputContext]):
1542 (-[WKView performKeyEquivalent:]):
1544 (-[WKView keyDown:]):
1545 (-[WKView flagsChanged:]):
1546 (-[WKView setMarkedText:selectedRange:replacementRange:]):
1547 (-[WKView unmarkText]):
1548 (-[WKView selectedRange]):
1549 (-[WKView hasMarkedText]):
1550 (-[WKView markedRange]):
1551 (-[WKView attributedSubstringForProposedRange:actualRange:]):
1552 (-[WKView characterIndexForPoint:]):
1553 (-[WKView firstRectForCharacterRange:actualRange:]):
1554 (-[WKView selectedRangeWithCompletionHandler:]):
1555 (-[WKView markedRangeWithCompletionHandler:]):
1556 (-[WKView hasMarkedTextWithCompletionHandler:]):
1557 (-[WKView attributedSubstringForProposedRange:completionHandler:]):
1558 (-[WKView firstRectForCharacterRange:completionHandler:]):
1559 (-[WKView characterIndexForPoint:completionHandler:]):
1560 (-[WKView _superPerformKeyEquivalent:]):
1561 (-[WKView _superKeyDown:]):
1562 (extractUnderlines): Deleted.
1563 (-[WKView _collectKeyboardLayoutCommandsForEvent:to:]): Deleted.
1564 (-[WKView _interpretKeyEvent:completionHandler:]): Deleted.
1565 (-[WKView NO_RETURN_DUE_TO_ASSERT]): Deleted.
1566 (-[WKView _interpretKeyEvent:savingCommandsTo:]): Deleted.
1567 (-[WKView _executeSavedKeypressCommands]): Deleted.
1568 (-[WKView _doneWithKeyEvent:eventWasHandled:]): Deleted.
1569 * UIProcess/API/mac/WKViewInternal.h:
1570 * UIProcess/Cocoa/WebViewImpl.h:
1571 * UIProcess/Cocoa/WebViewImpl.mm:
1572 (WebKit::WebViewImpl::doneWithKeyEvent):
1573 (WebKit::extractUnderlines):
1574 (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
1575 (WebKit::WebViewImpl::interpretKeyEvent):
1576 (WebKit::WebViewImpl::doCommandBySelector):
1577 (WebKit::WebViewImpl::insertText):
1578 (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
1579 (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
1580 (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
1581 (WebKit::WebViewImpl::attributedSubstringForProposedRange):
1582 (WebKit::WebViewImpl::firstRectForCharacterRange):
1583 (WebKit::WebViewImpl::characterIndexForPoint):
1584 (WebKit::WebViewImpl::inputContext):
1585 (WebKit::WebViewImpl::unmarkText):
1586 (WebKit::WebViewImpl::setMarkedText):
1587 (WebKit::WebViewImpl::selectedRange):
1588 (WebKit::WebViewImpl::hasMarkedText):
1589 (WebKit::WebViewImpl::markedRange):
1590 (WebKit::WebViewImpl::performKeyEquivalent):
1591 (WebKit::WebViewImpl::keyUp):
1592 (WebKit::WebViewImpl::keyDown):
1593 (WebKit::WebViewImpl::flagsChanged):
1594 (WebKit::WebViewImpl::executeSavedKeypressCommands):
1595 * UIProcess/mac/PageClientImpl.mm:
1596 (WebKit::PageClientImpl::doneWithKeyEvent):
1597 Move NSTextInputClient implementation.
1599 2015-10-30 Carlos Garcia Campos <cgarcia@igalia.com>
1601 [GTK] Move the socket polling off the WorkQueue
1602 https://bugs.webkit.org/show_bug.cgi?id=150593
1604 Reviewed by Anders Carlsson.
1606 Create the socket poll source in Connection::open and attach it to
1607 the connection work queue context.
1609 * Platform/IPC/Connection.h:
1610 * Platform/IPC/unix/ConnectionUnix.cpp:
1611 (IPC::Connection::platformInvalidate):
1612 (IPC::Connection::open):
1614 2015-10-30 Carlos Garcia Campos <cgarcia@igalia.com>
1616 [GTK] Use RunLoop::Timer instead of GMainLoopSource
1617 https://bugs.webkit.org/show_bug.cgi?id=150592
1619 Reviewed by Žan Doberšek.
1621 * Shared/Downloads/soup/DownloadSoup.cpp:
1622 (WebKit::DownloadClient::DownloadClient):
1623 (WebKit::DownloadClient::didReceiveData):
1624 (WebKit::DownloadClient::handleResponseLater):
1625 * UIProcess/gtk/GestureController.cpp:
1626 (WebKit::GestureController::DragGesture::begin):
1627 (WebKit::GestureController::DragGesture::update):
1628 (WebKit::GestureController::DragGesture::end):
1629 (WebKit::GestureController::DragGesture::longPressFired):
1630 (WebKit::GestureController::DragGesture::DragGesture):
1631 (WebKit::GestureController::ZoomGesture::scaleChanged):
1632 (WebKit::GestureController::ZoomGesture::ZoomGesture):
1633 * UIProcess/gtk/GestureController.h:
1635 2015-10-29 Carlos Garcia Campos <cgarcia@igalia.com>
1637 [GTK] Use a persistent main loop source in RunLoop glib implementation
1638 https://bugs.webkit.org/show_bug.cgi?id=150590
1640 Reviewed by Žan Doberšek.
1642 Use RunLoop::dispatch() instead of
1643 GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
1646 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
1647 (WebKit::NetworkCache::runTaskInQueue):
1648 * UIProcess/gtk/DragAndDropHandler.cpp:
1649 (WebKit::DragAndDropHandler::dragLeave):
1651 2015-10-29 Alex Christensen <achristensen@webkit.org>
1653 Make WebCore a framework in Mac CMake build
1654 https://bugs.webkit.org/show_bug.cgi?id=150702
1656 Reviewed by Geoffrey Garen.
1658 * PlatformMac.cmake:
1660 2015-10-29 Alex Christensen <achristensen@webkit.org>
1662 EFL build fix after r191749
1665 Only Mac should include the Cocoa directory.
1667 2015-10-29 Tim Horton <timothy_horton@apple.com>
1669 WKView being inside WKWebView leads to weird API issues
1670 https://bugs.webkit.org/show_bug.cgi?id=150174
1672 Reviewed by Anders Carlsson.
1674 * Platform/spi/mac/AppKitSPI.h:
1675 * UIProcess/API/mac/WKView.mm:
1676 (-[WKView validRequestorForSendType:returnType:]):
1677 (-[WKView readSelectionFromPasteboard:]):
1678 (-[WKView changeFont:]):
1679 (-[WKView startSpeaking:]):
1680 (-[WKView stopSpeaking:]):
1681 (-[WKView showGuessPanel:]):
1682 (-[WKView checkSpelling:]):
1683 (-[WKView changeSpelling:]):
1684 (-[WKView toggleContinuousSpellChecking:]):
1685 (-[WKView isGrammarCheckingEnabled]):
1686 (-[WKView setGrammarCheckingEnabled:]):
1687 (-[WKView toggleGrammarChecking:]):
1688 (-[WKView toggleAutomaticSpellingCorrection:]):
1689 (-[WKView orderFrontSubstitutionsPanel:]):
1690 (-[WKView toggleSmartInsertDelete:]):
1691 (-[WKView isAutomaticQuoteSubstitutionEnabled]):
1692 (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
1693 (-[WKView toggleAutomaticQuoteSubstitution:]):
1694 (-[WKView isAutomaticDashSubstitutionEnabled]):
1695 (-[WKView setAutomaticDashSubstitutionEnabled:]):
1696 (-[WKView toggleAutomaticDashSubstitution:]):
1697 (-[WKView isAutomaticLinkDetectionEnabled]):
1698 (-[WKView setAutomaticLinkDetectionEnabled:]):
1699 (-[WKView toggleAutomaticLinkDetection:]):
1700 (-[WKView isAutomaticTextReplacementEnabled]):
1701 (-[WKView setAutomaticTextReplacementEnabled:]):
1702 (-[WKView toggleAutomaticTextReplacement:]):
1703 (-[WKView uppercaseWord:]):
1704 (-[WKView lowercaseWord:]):
1705 (-[WKView capitalizeWord:]):
1706 * UIProcess/Cocoa/WebViewImpl.h:
1707 * UIProcess/Cocoa/WebViewImpl.mm:
1708 (WebKit::WebViewImpl::readSelectionFromPasteboard):
1709 (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
1710 (WebKit::WebViewImpl::changeFontFromFontPanel):
1711 (WebKit::WebViewImpl::startSpeaking):
1712 (WebKit::WebViewImpl::stopSpeaking):
1713 (WebKit::WebViewImpl::showGuessPanel):
1714 (WebKit::WebViewImpl::checkSpelling):
1715 (WebKit::WebViewImpl::changeSpelling):
1716 (WebKit::WebViewImpl::toggleContinuousSpellChecking):
1717 (WebKit::WebViewImpl::isGrammarCheckingEnabled):
1718 (WebKit::WebViewImpl::setGrammarCheckingEnabled):
1719 (WebKit::WebViewImpl::toggleGrammarChecking):
1720 (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
1721 (WebKit::WebViewImpl::orderFrontSubstitutionsPanel):
1722 (WebKit::WebViewImpl::toggleSmartInsertDelete):
1723 (WebKit::WebViewImpl::isAutomaticQuoteSubstitutionEnabled):
1724 (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
1725 (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
1726 (WebKit::WebViewImpl::isAutomaticDashSubstitutionEnabled):
1727 (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
1728 (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
1729 (WebKit::WebViewImpl::isAutomaticLinkDetectionEnabled):
1730 (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
1731 (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
1732 (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
1733 (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
1734 (WebKit::WebViewImpl::uppercaseWord):
1735 (WebKit::WebViewImpl::lowercaseWord):
1736 (WebKit::WebViewImpl::capitalizeWord):
1737 Move spellcheck and related bits.
1739 2015-10-29 Eric Carlson <eric.carlson@apple.com>
1741 Revert inadvertent changes
1742 https://bugs.webkit.org/show_bug.cgi?id=150694
1744 Reviewed by Tim Horton.
1746 * WebProcess/com.apple.WebProcess.sb.in:
1748 2015-10-29 Alex Christensen <achristensen@webkit.org>
1753 * PlatformMac.cmake:
1754 I mistakenly added some mac-specific files to the shared CMakeLists.txt. This puts them in the right place.
1755 * UIProcess/WebPageProxy.cpp:
1756 (WebKit::WebPageProxy::viewWillStartLiveResize):
1757 (WebKit::WebPageProxy::viewDidLeaveWindow):
1758 (WebKit::WebPageProxy::didEndColorPicker):
1759 Add preprocessor enable checks.
1761 2015-10-29 Tim Horton <timothy_horton@apple.com>
1763 WKView being inside WKWebView leads to weird API issues
1764 https://bugs.webkit.org/show_bug.cgi?id=150174
1766 Reviewed by Darin Adler.
1768 * UIProcess/API/mac/WKView.mm:
1769 (-[WKView browsingContextController]):
1770 (-[WKView validateUserInterfaceItem:]):
1771 (-[WKView saveBackForwardSnapshotForCurrentItem]):
1772 (-[WKView saveBackForwardSnapshotForItem:]):
1773 (-[WKView updateLayer]):
1774 (-[WKView minimumSizeForAutoLayout]):
1775 (-[WKView setMinimumSizeForAutoLayout:]):
1776 (-[WKView shouldExpandToViewHeightForAutoLayout]):
1777 (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
1778 (-[WKView underlayColor]):
1779 (-[WKView setUnderlayColor:]):
1780 (-[WKView _setOverlayScrollbarStyle:]):
1781 (-[WKView _overlayScrollbarStyle]):
1782 (-[WKView _pageExtendedBackgroundColor]):
1783 (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
1784 (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
1785 (-[WKView isUsingUISideCompositing]):
1786 (createSelectorExceptionMap): Deleted.
1787 (commandNameForSelector): Deleted.
1788 (menuItem): Deleted.
1789 (toolbarItem): Deleted.
1790 (-[WKView _setUserInterfaceItemState:enabled:state:]): Deleted.
1791 * UIProcess/Cocoa/WebViewImpl.h:
1792 * UIProcess/Cocoa/WebViewImpl.mm:
1793 (WebKit::WebViewImpl::createDrawingAreaProxy):
1794 (WebKit::WebViewImpl::isUsingUISideCompositing):
1795 (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
1796 (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
1797 (WebKit::WebViewImpl::updateLayer):
1798 (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
1799 (WebKit::WebViewImpl::minimumSizeForAutoLayout):
1800 (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
1801 (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
1802 (WebKit::WebViewImpl::setUnderlayColor):
1803 (WebKit::WebViewImpl::underlayColor):
1804 (WebKit::WebViewImpl::pageExtendedBackgroundColor):
1805 (WebKit::WebViewImpl::setOverlayScrollbarStyle):
1806 (WebKit::WebViewImpl::overlayScrollbarStyle):
1807 (WebKit::createSelectorExceptionMap):
1808 (WebKit::commandNameForSelector):
1809 (WebKit::WebViewImpl::executeSavedCommandBySelector):
1810 (WebKit::WebViewImpl::executeEditCommandForSelector):
1812 (WebKit::toolbarItem):
1813 (WebKit::WebViewImpl::validateUserInterfaceItem):
1814 (WebKit::WebViewImpl::setUserInterfaceItemState):
1815 (WebKit::WebViewImpl::browsingContextController):
1816 (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
1817 (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
1818 (WebKit::WebViewImpl::executeEditCommand): Deleted.
1819 Move UI validation and a grab-bag of other things.
1821 2015-10-29 Alex Christensen <achristensen@webkit.org>
1824 https://bugs.webkit.org/show_bug.cgi?id=150686
1826 Reviewed by Filip Pizlo.
1829 * PlatformMac.cmake:
1831 2015-10-29 Commit Queue <commit-queue@webkit.org>
1833 Unreviewed, rolling out r191728.
1834 https://bugs.webkit.org/show_bug.cgi?id=150668
1836 Caused a lot of timeouts in layout tests (Requested by KaL on
1841 "[GTK] Use a persistent main loop source in RunLoop glib
1843 https://bugs.webkit.org/show_bug.cgi?id=150590
1844 http://trac.webkit.org/changeset/191728
1846 2015-10-29 Carlos Garcia Campos <cgarcia@igalia.com>
1848 [GTK] Use a persistent main loop source in RunLoop glib implementation
1849 https://bugs.webkit.org/show_bug.cgi?id=150590
1851 Reviewed by Žan Doberšek.
1853 Use RunLoop::dispatch() instead of
1854 GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
1857 * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
1858 (WebKit::NetworkCache::runTaskInQueue):
1859 * UIProcess/gtk/DragAndDropHandler.cpp:
1860 (WebKit::DragAndDropHandler::dragLeave):
1862 2015-10-28 Tim Horton <timothy_horton@apple.com>
1866 * UIProcess/mac/PageClientImpl.mm:
1867 (WebKit::PageClientImpl::startWindowDrag):
1868 (WebKit::PageClientImpl::platformWindow):
1870 2015-10-28 Tim Horton <timothy_horton@apple.com>
1872 WKView being inside WKWebView leads to weird API issues
1873 https://bugs.webkit.org/show_bug.cgi?id=150174
1875 Reviewed by Anders Carlsson.
1877 * UIProcess/API/C/mac/WKPagePrivateMac.mm:
1878 (WKPageGetObjectRegistry):
1879 * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1880 (-[WKBrowsingContextController _remoteObjectRegistry]):
1881 * UIProcess/API/mac/WKView.mm:
1882 (-[WKView dealloc]):
1883 (-[WKView _inspectorAttachmentView]):
1884 (-[WKView _setInspectorAttachmentView:]):
1885 (-[WKView windowOcclusionDetectionEnabled]):
1886 (-[WKView setWindowOcclusionDetectionEnabled:]):
1887 (-[WKView _setTotalHeightOfBanners:]):
1888 (-[WKView _totalHeightOfBanners]):
1889 (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
1890 (-[WKView _remoteObjectRegistry]): Deleted.
1891 (-[WKView _startWindowDrag]): Deleted.
1892 * UIProcess/API/mac/WKViewInternal.h:
1893 * UIProcess/Cocoa/WebViewImpl.h:
1894 (WebKit::WebViewImpl::setWindowOcclusionDetectionEnabled):
1895 (WebKit::WebViewImpl::windowOcclusionDetectionEnabled):
1896 (WebKit::WebViewImpl::setTotalHeightOfBanners):
1897 (WebKit::WebViewImpl::totalHeightOfBanners):
1898 * UIProcess/Cocoa/WebViewImpl.mm:
1899 (WebKit::WebViewImpl::window):
1900 (WebKit::WebViewImpl::setInspectorAttachmentView):
1901 (WebKit::WebViewImpl::inspectorAttachmentView):
1902 (WebKit::WebViewImpl::remoteObjectRegistry):
1903 (WebKit::WebViewImpl::destroyRemoteObjectRegistry):
1904 * UIProcess/PageClient.h:
1905 * UIProcess/WebPageProxy.h:
1906 * UIProcess/mac/PageClientImpl.h:
1907 * UIProcess/mac/PageClientImpl.mm:
1908 (WebKit::PageClientImpl::isViewVisible):
1909 (WebKit::PageClientImpl::createColorPicker):
1910 (WebKit::PageClientImpl::startWindowDrag):
1911 (WebKit::PageClientImpl::platformWindow):
1912 (WebKit::PageClientImpl::inspectorAttachmentView):
1913 (WebKit::PageClientImpl::remoteObjectRegistry):
1914 * UIProcess/mac/WebInspectorProxyMac.mm:
1915 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1916 (WebKit::WebInspectorProxy::platformCanAttach):
1917 (WebKit::WebInspectorProxy::platformBringToFront):
1918 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1919 (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
1920 (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
1921 (WebKit::WebInspectorProxy::platformAttach):
1922 (WebKit::WebInspectorProxy::platformDetach):
1923 (WebKit::WebInspectorProxy::platformStartWindowDrag):
1924 * UIProcess/mac/WebPageProxyMac.mm:
1925 (WebKit::WebPageProxy::startWindowDrag):
1926 (WebKit::WebPageProxy::platformWindow):
1927 (WebKit::WebPageProxy::inspectorAttachmentView):
1928 (WebKit::WebPageProxy::remoteObjectRegistry):
1929 (WebKit::WebPageProxy::wkView): Deleted.
1930 Get rid of the wkView() getters on PageClientImpl and WebPageProxy, because
1931 those can't be a thing in the brave new world. Instead, plumb the four
1932 callers through PageClient to WebViewImpl.
1934 Also, move a few more things (banners, window occlusion).
1936 2015-10-27 Anders Carlsson <andersca@apple.com>
1938 Stub out more of the context menu SPI
1939 https://bugs.webkit.org/show_bug.cgi?id=150606
1941 Reviewed by Dan Bernstein.
1943 Add a delegate method that will allow the client to modify the menu. Also,
1944 add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
1946 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
1947 * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
1948 * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
1949 * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
1950 * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
1951 * UIProcess/Cocoa/UIDelegate.h:
1952 * UIProcess/Cocoa/UIDelegate.mm:
1953 (WebKit::UIDelegate::setDelegate):
1954 (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
1955 (WebKit::UIDelegate::UIClient::createNewPage):
1956 * UIProcess/mac/WebContextMenuProxyMac.mm:
1957 (WebKit::WebContextMenuProxyMac::showContextMenu):
1958 * WebKit2.xcodeproj/project.pbxproj:
1960 2015-10-28 Anders Carlsson <andersca@apple.com>
1962 Stop using ContextMenuItem::shareMenuItem in the UI process
1963 https://bugs.webkit.org/show_bug.cgi?id=150578
1965 Reviewed by Tim Horton.
1967 * UIProcess/mac/WebContextMenuProxyMac.h:
1968 * UIProcess/mac/WebContextMenuProxyMac.mm:
1969 (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1970 (WebKit::WebContextMenuProxyMac::createContextMenuItem):
1971 (WebKit::WebContextMenuProxyMac::shareMenuItem): Deleted.
1973 2015-10-28 Tim Horton <timothy_horton@apple.com>
1975 WKView being inside WKWebView leads to weird API issues
1976 https://bugs.webkit.org/show_bug.cgi?id=150174
1978 Reviewed by Anders Carlsson.
1980 * UIProcess/API/mac/WKView.mm:
1981 (-[WKView _superDoCommandBySelector:]):
1982 (-[WKView _createDrawingAreaProxy]): Deleted.
1983 (-[WKView _processDidExit]): Deleted.
1984 (-[WKView _pageClosed]): Deleted.
1985 (-[WKView _didRelaunchProcess]): Deleted.
1986 (-[WKView _convertToDeviceSpace:]): Deleted.
1987 (-[WKView _convertToUserSpace:]): Deleted.
1988 (-[WKView _executeSavedCommandBySelector:]): Deleted.
1989 (-[WKResponderChainSink initWithResponderChain:]): Deleted.
1990 (-[WKResponderChainSink detach]): Deleted.
1991 (-[WKResponderChainSink didReceiveUnhandledCommand]): Deleted.
1992 (-[WKResponderChainSink noResponderFor:]): Deleted.
1993 (-[WKResponderChainSink doCommandBySelector:]): Deleted.
1994 (-[WKResponderChainSink tryToPerform:with:]): Deleted.
1995 * UIProcess/API/mac/WKViewInternal.h:
1996 * UIProcess/Cocoa/WebViewImpl.h:
1997 * UIProcess/Cocoa/WebViewImpl.mm:
1998 (-[WKResponderChainSink initWithResponderChain:]):
1999 (-[WKResponderChainSink detach]):
2000 (-[WKResponderChainSink didReceiveUnhandledCommand]):
2001 (-[WKResponderChainSink noResponderFor:]):
2002 (-[WKResponderChainSink doCommandBySelector:]):
2003 (-[WKResponderChainSink tryToPerform:with:]):
2004 (WebKit::WebViewImpl::createDrawingAreaProxy):
2005 (WebKit::WebViewImpl::processDidExit):
2006 (WebKit::WebViewImpl::pageClosed):
2007 (WebKit::WebViewImpl::didRelaunchProcess):
2008 (WebKit::WebViewImpl::executeSavedCommandBySelector):
2009 (WebKit::WebViewImpl::resetGestureController): Deleted.
2010 * UIProcess/mac/PageClientImpl.mm:
2011 (WebKit::PageClientImpl::createDrawingAreaProxy):
2012 (WebKit::PageClientImpl::processDidExit):
2013 (WebKit::PageClientImpl::pageClosed):
2014 (WebKit::PageClientImpl::didRelaunchProcess):
2015 (WebKit::PageClientImpl::convertToDeviceSpace):
2016 (WebKit::PageClientImpl::convertToUserSpace):
2017 (WebKit::PageClientImpl::executeSavedCommandBySelector):
2018 Move most of the rest of WKViewInternal.h's methods to WebViewImpl.
2020 2015-10-28 Alex Christensen <achristensen@webkit.org>
2022 Compile and link with CMake on Mac
2023 https://bugs.webkit.org/show_bug.cgi?id=150632
2025 Reviewed by Tim Horton.
2028 * PlatformEfl.cmake:
2029 * PlatformGTK.cmake:
2030 * PlatformMac.cmake:
2032 2015-10-27 Anders Carlsson <andersca@apple.com>
2034 Stub out more of the context menu SPI
2035 https://bugs.webkit.org/show_bug.cgi?id=150606
2037 Reviewed by Dan Bernstein.
2039 Add a delegate method that will allow the client to modify the menu. Also,
2040 add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
2042 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
2043 * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
2044 * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
2045 * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
2046 * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
2047 * UIProcess/Cocoa/UIDelegate.h:
2048 * UIProcess/Cocoa/UIDelegate.mm:
2049 (WebKit::UIDelegate::setDelegate):
2050 (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
2051 (WebKit::UIDelegate::UIClient::createNewPage):
2052 * UIProcess/mac/WebContextMenuProxyMac.mm:
2053 (WebKit::WebContextMenuProxyMac::showContextMenu):
2054 * WebKit2.xcodeproj/project.pbxproj:
2056 2015-10-28 Chris Dumez <cdumez@apple.com>
2058 Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
2059 https://bugs.webkit.org/show_bug.cgi?id=150609
2060 <rdar://problem/22702894>
2062 Reviewed by Antti Koivisto.
2064 Move addSchedulePair() call to Page::platformInitialize() so that
2065 RunLoopTimer can be used by any Page, even those that don't have
2068 * WebProcess/WebPage/mac/WebPageMac.mm:
2069 (WebKit::WebPage::platformInitialize): Deleted.
2071 2015-10-27 Tim Horton <timothy_horton@apple.com>
2073 Fix the 32-bit build.
2075 * UIProcess/Cocoa/WebViewImpl.mm:
2076 (WebKit::WebViewImpl::dragImageForView):
2078 2015-10-27 Tim Horton <timothy_horton@apple.com>
2082 * UIProcess/Cocoa/WebViewImpl.mm:
2084 2015-10-27 Tim Horton <timothy_horton@apple.com>
2086 WKView being inside WKWebView leads to weird API issues
2087 https://bugs.webkit.org/show_bug.cgi?id=150174
2089 Reviewed by Anders Carlsson.
2091 * UIProcess/API/mac/WKView.mm:
2092 (-[WKView mouseDown:]):
2093 (-[WKView mouseUp:]):
2094 (-[WKView acceptsFirstMouse:]):
2095 (-[WKView shouldDelayWindowOrderingForEvent:]):
2096 (-[WKView pasteboardChangedOwner:]):
2097 (-[WKView pasteboard:provideDataForType:]):
2098 (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
2099 (-[WKView _startWindowDrag]):
2100 (-[WKView _setMouseDownEvent:]): Deleted.
2101 (-[WKView _colorSpace]): Deleted.
2102 (-[WKView _dragImageForView:withImage:at:linkDrag:]): Deleted.
2103 (matchesExtensionOrEquivalent): Deleted.
2104 (-[WKView _setFileAndURLTypes:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
2105 (-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted.
2106 (-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
2107 (fileExists): Deleted.
2108 (pathWithUniqueFilenameForPath): Deleted.
2109 (-[WKView spellCheckerDocumentTag]): Deleted.
2110 (-[WKView handleAcceptedAlternativeText:]): Deleted.
2111 (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
2112 * UIProcess/API/mac/WKViewInternal.h:
2113 * UIProcess/Cocoa/WebViewImpl.h:
2114 * UIProcess/Cocoa/WebViewImpl.mm:
2115 (WebKit::WebViewImpl::handleAcceptedAlternativeText):
2116 (WebKit::WebViewImpl::spellCheckerDocumentTag):
2117 (WebKit::WebViewImpl::startWindowDrag):
2118 (WebKit::WebViewImpl::dragImageForView):
2119 (WebKit::matchesExtensionOrEquivalent):
2120 (WebKit::WebViewImpl::setFileAndURLTypes):
2121 (WebKit::WebViewImpl::setPromisedDataForImage):
2122 (WebKit::WebViewImpl::setPromisedDataForAttachment):
2123 (WebKit::WebViewImpl::pasteboardChangedOwner):
2124 (WebKit::WebViewImpl::provideDataForPasteboard):
2125 (WebKit::fileExists):
2126 (WebKit::pathWithUniqueFilenameForPath):
2127 (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
2128 (WebKit::WebViewImpl::setLastMouseDownEvent):
2129 * UIProcess/mac/CorrectionPanel.h:
2130 * UIProcess/mac/CorrectionPanel.mm:
2131 (WebKit::CorrectionPanel::show):
2132 (WebKit::CorrectionPanel::recordAutocorrectionResponse):
2133 (WebKit::CorrectionPanel::handleAcceptedReplacement):
2134 * UIProcess/mac/PageClientImpl.mm:
2135 (WebKit::PageClientImpl::colorSpace):
2136 (WebKit::PageClientImpl::setDragImage):
2137 (WebKit::PageClientImpl::setPromisedDataForImage):
2138 (WebKit::PageClientImpl::setPromisedDataForAttachment):
2139 (WebKit::PageClientImpl::showCorrectionPanel):
2140 (WebKit::PageClientImpl::recordAutocorrectionResponse):
2141 (WebKit::PageClientImpl::showDictationAlternativeUI):
2142 Move some pasteboard and spellcheck code.
2144 2015-10-27 Wenson Hsieh <wenson_hsieh@apple.com>
2146 Implement viewport-width-based fast-click heuristic
2147 https://bugs.webkit.org/show_bug.cgi?id=150604
2148 <rdar://problem/23267308>
2150 Reviewed by Simon Fraser.
2152 Implement a new fast-click heuristic that applies to viewports with width = device-width. The basic rules are
2153 as follows: when a page has viewport width = device-width and is at initial zoom scale, we disable double-tapping
2154 in favor of fast-clicking. However, if the viewport scale is not the initial scale, we allow double tapping. For
2155 fast-clicking to remain useful after the user pinch-zooms, we change our double-tap to zoom out behavior to zoom
2156 to the initial scale rather than the minimum scale. For unscalable viewports, we default to fast-clicking behavior,
2157 and for all other viewports not at device-width, we double-tap to zoom and scroll as normal.
2159 This patch removes some logic previously used for our scroll- and zoom-based fast-clicking heuristic, and adds
2160 information about the viewport width and initial scale to RemoteLayerTreeTransactions. This information is then
2161 used by the UI process to determine whether double tapping should be disabled or enabled.
2163 The fast-click heuristic can be turned off through user default preferences, and a tap highlight for debugging
2164 fast-clicking can also be enabled through a user default preference. A red highlight indicates that a single-
2165 tap was slow, whereas a green highlight indicates a fast single-tap.
2167 * Shared/mac/RemoteLayerTreeTransaction.h:
2168 (WebKit::RemoteLayerTreeTransaction::initialScaleFactor):
2169 (WebKit::RemoteLayerTreeTransaction::setInitialScaleFactor):
2170 (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidth):
2171 (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidth):
2172 * Shared/mac/RemoteLayerTreeTransaction.mm:
2173 (WebKit::RemoteLayerTreeTransaction::encode):
2174 (WebKit::RemoteLayerTreeTransaction::decode):
2175 * UIProcess/API/Cocoa/WKWebView.mm:
2176 (-[WKWebView initWithFrame:configuration:]):
2177 (-[WKWebView _processDidExit]):
2178 (-[WKWebView _didCommitLayerTree:]):
2179 (-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
2180 (-[WKWebView _allowsDoubleTapGestures]):
2181 (-[WKWebView _setViewportMetaTagWidth:]): Deleted.
2182 (-[WKWebView _contentZoomScale]): Deleted.
2183 (-[WKWebView _viewportMetaTagWidth]): Deleted.
2184 (-[WKWebView _viewportIsUserScalable]): Deleted.
2185 * UIProcess/API/Cocoa/WKWebViewInternal.h:
2186 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2187 * UIProcess/PageClient.h:
2188 * UIProcess/WebPageProxy.h:
2189 * UIProcess/WebPageProxy.messages.in:
2190 * UIProcess/ios/PageClientImplIOS.h:
2191 * UIProcess/ios/PageClientImplIOS.mm:
2192 (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
2193 (WebKit::PageClientImpl::didChangeViewportMetaTagWidth): Deleted.
2194 (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
2195 * UIProcess/ios/SmartMagnificationController.h:
2196 * UIProcess/ios/SmartMagnificationController.mm:
2197 (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
2198 * UIProcess/ios/WKContentView.h:
2199 * UIProcess/ios/WKContentView.mm:
2200 (-[WKContentView _zoomToInitialScaleWithOrigin:]):
2201 * UIProcess/ios/WKContentViewInteraction.h:
2202 * UIProcess/ios/WKContentViewInteraction.mm:
2203 (-[WKContentView setupInteraction]):
2204 (-[WKContentView _showTapHighlight]):
2205 (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
2206 (-[WKContentView _mayDisableDoubleTapGesturesDuringSingleTap]):
2207 (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
2208 (-[WKContentView _finishInteraction]):
2209 (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
2210 (-[WKContentView _tapHighlightColorForFastClick:]):
2211 (-[WKContentView _setDoubleTapGesturesEnabled:]):
2212 (-[WKContentView _fastClickZoomThreshold]): Deleted.
2213 (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]): Deleted.
2214 (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]): Deleted.
2215 * UIProcess/ios/WebPageProxyIOS.mm:
2216 (WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
2217 (WebKit::WebPageProxy::viewportMetaTagWidthDidChange): Deleted.
2218 (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
2219 * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2220 * WebProcess/WebPage/WebPage.cpp:
2221 (WebKit::WebPage::willCommitLayerTree):
2222 * WebProcess/WebPage/ios/WebPageIOS.mm:
2223 (WebKit::WebPage::potentialTapAtPosition):
2224 (WebKit::WebPage::viewportPropertiesDidChange): Deleted.
2226 2015-10-27 Tim Horton <timothy_horton@apple.com>
2228 WKView being inside WKWebView leads to weird API issues
2229 https://bugs.webkit.org/show_bug.cgi?id=150174
2231 Reviewed by Anders Carlsson.
2233 * UIProcess/API/mac/WKView.mm:
2234 (-[WKView _superAccessibilityAttributeValue:]):
2235 (-[WKView accessibilityFocusedUIElement]):
2236 (-[WKView accessibilityIsIgnored]):
2237 (-[WKView accessibilityHitTest:]):
2238 (-[WKView accessibilityAttributeValue:]):
2239 (-[WKView _processDidExit]):
2240 (-[WKView _pageClosed]):
2241 (-[WKView _updateRemoteAccessibilityRegistration:]): Deleted.
2242 (-[WKView enableAccessibilityIfNecessary]): Deleted.
2243 (-[WKView _toolTipChangedFrom:to:]): Deleted.
2244 (-[WKView _setAccessibilityWebProcessToken:]): Deleted.
2245 (-[WKView _hasFullScreenWindowController]): Deleted.
2246 (-[WKView _fullScreenWindowController]): Deleted.
2247 (-[WKView _closeFullScreenWindowController]): Deleted.
2248 (-[WKView _setSuppressVisibilityUpdates:]): Deleted.
2249 (-[WKView _suppressVisibilityUpdates]): Deleted.
2250 (-[WKView _primaryTrackingArea]): Deleted.
2251 (-[WKView _setPrimaryTrackingArea:]): Deleted.
2252 (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
2253 * UIProcess/API/mac/WKViewInternal.h:
2254 * UIProcess/Cocoa/WebViewImpl.h:
2255 (WebKit::WebViewImpl::accessibilityIsIgnored):
2256 (WebKit::WebViewImpl::primaryTrackingArea):
2257 * UIProcess/Cocoa/WebViewImpl.mm:
2258 (WebKit::trackingAreaOptions):
2259 (WebKit::WebViewImpl::WebViewImpl):
2260 (WebKit::WebViewImpl::setAccessibilityWebProcessToken):
2261 (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
2262 (WebKit::WebViewImpl::accessibilityFocusedUIElement):
2263 (WebKit::WebViewImpl::accessibilityHitTest):
2264 (WebKit::WebViewImpl::enableAccessibilityIfNecessary):
2265 (WebKit::WebViewImpl::accessibilityAttributeValue):
2266 (WebKit::WebViewImpl::setPrimaryTrackingArea):
2267 (WebKit::WebViewImpl::toolTipChanged):
2268 * UIProcess/mac/PageClientImpl.mm:
2269 (WebKit::PageClientImpl::toolTipChanged):
2270 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
2271 (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
2272 (WebKit::PageClientImpl::closeFullScreenManager):
2273 (WebKit::PageClientImpl::isFullScreen):
2274 (WebKit::PageClientImpl::enterFullScreen):
2275 (WebKit::PageClientImpl::exitFullScreen):
2276 (WebKit::PageClientImpl::beganEnterFullScreen):
2277 (WebKit::PageClientImpl::beganExitFullScreen):
2278 Move accessibility code, and fold in some internal-only methods.
2280 2015-10-27 Tim Horton <timothy_horton@apple.com>
2282 WKView being inside WKWebView leads to weird API issues
2283 https://bugs.webkit.org/show_bug.cgi?id=150174
2285 Reviewed by Anders Carlsson.
2287 * UIProcess/API/mac/WKView.mm:
2288 (-[WKView scrollWheel:]):
2289 (-[WKView swipeWithEvent:]):
2290 (-[WKView _superSwipeWithEvent:]):
2291 (-[WKView _superMagnifyWithEvent:]):
2292 (-[WKView _superSmartMagnifyWithEvent:]):
2293 (-[WKView _processDidExit]):
2294 (-[WKView setAllowsBackForwardNavigationGestures:]):
2295 (-[WKView allowsBackForwardNavigationGestures]):
2296 (-[WKView setAllowsMagnification:]):
2297 (-[WKView allowsMagnification]):
2298 (-[WKView magnifyWithEvent:]):
2299 (-[WKView rotateWithEvent:]):
2300 (-[WKView _gestureEventWasNotHandledByWebCore:]):
2301 (-[WKView smartMagnifyWithEvent:]):
2302 (-[WKView setMagnification:centeredAtPoint:]):
2303 (-[WKView setMagnification:]):
2304 (-[WKView magnification]):
2305 (-[WKView _setCustomSwipeViews:]):
2306 (-[WKView _setCustomSwipeViewsTopContentInset:]):
2307 (-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
2308 (-[WKView _setDidMoveSwipeSnapshotCallback:]):
2309 (-[WKView _ensureGestureController]): Deleted.
2310 (takeWindowSnapshot): Deleted.
2311 (-[WKView _takeViewSnapshot]): Deleted.
2312 (-[WKView _wheelEventWasNotHandledByWebCore:]): Deleted.
2313 (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
2314 (-[WKView _didFinishLoadForMainFrame]): Deleted.
2315 (-[WKView _didFailLoadForMainFrame]): Deleted.
2316 (-[WKView _didSameDocumentNavigationForMainFrame:]): Deleted.
2317 (-[WKView _removeNavigationGestureSnapshot]): Deleted.
2318 * UIProcess/API/mac/WKViewInternal.h:
2319 * UIProcess/Cocoa/WebViewImpl.h:
2320 (WebKit::WebViewImpl::gestureController):
2321 (WebKit::WebViewImpl::allowsBackForwardNavigationGestures):
2322 (WebKit::WebViewImpl::allowsMagnification):
2323 * UIProcess/Cocoa/WebViewImpl.mm:
2324 (WebKit::takeWindowSnapshot):
2325 (WebKit::WebViewImpl::takeViewSnapshot):
2326 (WebKit::WebViewImpl::ensureGestureController):
2327 (WebKit::WebViewImpl::resetGestureController):
2328 (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
2329 (WebKit::WebViewImpl::setAllowsMagnification):
2330 (WebKit::WebViewImpl::setMagnification):
2331 (WebKit::WebViewImpl::magnification):
2332 (WebKit::WebViewImpl::setCustomSwipeViews):
2333 (WebKit::WebViewImpl::setCustomSwipeViewsTopContentInset):
2334 (WebKit::WebViewImpl::tryToSwipeWithEvent):
2335 (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
2336 (WebKit::WebViewImpl::scrollWheel):
2337 (WebKit::WebViewImpl::swipeWithEvent):
2338 (WebKit::WebViewImpl::magnifyWithEvent):
2339 (WebKit::WebViewImpl::smartMagnifyWithEvent):
2340 (WebKit::WebViewImpl::rotateWithEvent):
2341 (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
2342 (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
2343 * UIProcess/mac/PageClientImpl.mm:
2344 (WebKit::PageClientImpl::takeViewSnapshot):
2345 (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
2346 (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
2347 (WebKit::PageClientImpl::didFinishLoadForMainFrame):
2348 (WebKit::PageClientImpl::didFailLoadForMainFrame):
2349 (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
2350 (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
2351 Move swipe, zoom, rotate, and snapshotting code.
2353 2015-10-27 Zhuo Li <zachli@apple.com>
2355 Add WebKit API to clear data type Search Field Recent Searches.
2356 https://bugs.webkit.org/show_bug.cgi?id=150019.
2358 Reviewed by Anders Carlsson.
2360 * Shared/WebsiteData/WebsiteDataTypes.h: Add data type Search Field Recent Searches.
2361 * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
2362 (dataTypesToString): Ditto.
2363 * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
2364 (WebKit::toWebsiteDataTypes): Ditto.
2365 (WebKit::toWKWebsiteDataTypes): Ditto.
2366 * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Ditto.
2367 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2368 (WebKit::WebsiteDataStore::removeData): Handle the case when data type is Search
2369 Field Recent Searches.
2370 * UIProcess/WebsiteData/WebsiteDataStore.h: Add a private function for removing
2371 recent searches based on time.
2372 * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
2373 (WebKit::WebsiteDataStoreCocoa::platformRemoveRecentSearches): Call the removing
2374 recent searches logic in WebCore.
2375 * UIProcess/efl/WebPageProxyEfl.cpp:
2376 (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
2377 * UIProcess/gtk/WebPageProxyGtk.cpp:
2378 (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
2380 2015-10-26 Brady Eidson <beidson@apple.com>
2382 Make IDBKeyData from a struct to a class.
2383 https://bugs.webkit.org/show_bug.cgi?id=150576
2385 Reviewed by Alex Christensen.
2387 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2388 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2389 * DatabaseProcess/IndexedDB/IDBSerialization.h:
2390 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2391 (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
2392 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2393 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2394 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2395 (WebKit::buildIndexStatement):
2396 (WebKit::buildObjectStoreStatement):
2397 (WebKit::SQLiteIDBCursor::establishStatement):
2398 (WebKit::SQLiteIDBCursor::createSQLiteStatement):
2399 (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
2400 (WebKit::SQLiteIDBCursor::iterate):
2401 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2402 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
2403 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2404 (WebKit::WebIDBServerConnection::didPutRecord):
2405 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2406 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2408 2015-10-26 Philip Chimento <philip.chimento@gmail.com>
2410 [GTK] [Stable] InstallMissingMediaPluginsPermissionRequest not defined when building without GStreamer
2411 https://bugs.webkit.org/show_bug.cgi?id=148607
2413 Unreviewed, build fix.
2415 * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:
2416 Add a stub for the InstallMissingMediaPluginsPermissionRequest class
2417 for the case when video is disabled or not using GStreamer. It's OK
2418 that this class does nothing, because the associated C API contains
2419 an assert_not_reached if video is disabled. We just need to define
2420 the symbol so that the function signature will compile.
2422 2015-10-26 Anders Carlsson <andersca@apple.com>
2424 Pipe custom context menu handling through to the UIDelegate object
2425 https://bugs.webkit.org/show_bug.cgi?id=150572
2427 Reviewed by Tim Horton.
2429 * UIProcess/API/APIContextMenuClient.h:
2430 (API::ContextMenuClient::menuFromProposedMenu):
2431 * UIProcess/API/Cocoa/WKWebView.mm:
2432 (-[WKWebView setUIDelegate:]):
2433 * UIProcess/Cocoa/UIDelegate.h:
2434 * UIProcess/Cocoa/UIDelegate.mm:
2435 (WebKit::UIDelegate::createContextMenuClient):
2436 (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
2437 (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
2438 (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
2439 * UIProcess/mac/WebContextMenuProxyMac.mm:
2440 (WebKit::WebContextMenuProxyMac::showContextMenu):
2442 2015-10-26 Tim Horton <timothy_horton@apple.com>
2444 WKView being inside WKWebView leads to weird API issues
2445 https://bugs.webkit.org/show_bug.cgi?id=150174
2447 Reviewed by Anders Carlsson.
2449 * UIProcess/API/mac/WKView.mm:
2450 (-[WKView mouseDown:]):
2451 (-[WKView mouseDragged:]):
2452 (-[WKView draggedImage:endedAt:operation:]):
2453 (-[WKView draggingEntered:]):
2454 (-[WKView draggingUpdated:]):
2455 (-[WKView draggingExited:]):
2456 (-[WKView prepareForDragOperation:]):
2457 (-[WKView performDragOperation:]):
2458 (-[WKView _hitTest:dragTypes:]):
2459 (-[WKView initWithFrame:processPool:configuration:webView:]):
2460 (-[WKView applicationFlags:]): Deleted.
2461 (maybeCreateSandboxExtensionFromPasteboard): Deleted.
2462 (createSandboxExtensionsForFileUpload): Deleted.
2463 (-[WKView _registerDraggedTypes]): Deleted.
2464 * UIProcess/Cocoa/WebViewImpl.h:
2465 (WebKit::WebViewImpl::ignoresMouseDraggedEvents):
2466 * UIProcess/Cocoa/WebViewImpl.mm:
2467 (WebKit::WebViewImpl::setIgnoresMouseDraggedEvents):
2468 (WebKit::WebViewImpl::draggedImage):
2469 (WebKit::applicationFlagsForDrag):
2470 (WebKit::WebViewImpl::draggingEntered):
2471 (WebKit::WebViewImpl::draggingUpdated):
2472 (WebKit::WebViewImpl::draggingExited):
2473 (WebKit::WebViewImpl::prepareForDragOperation):
2474 (WebKit::maybeCreateSandboxExtensionFromPasteboard):
2475 (WebKit::createSandboxExtensionsForFileUpload):
2476 (WebKit::WebViewImpl::performDragOperation):
2477 (WebKit::WebViewImpl::hitTestForDragTypes):
2478 (WebKit::WebViewImpl::registerDraggedTypes):
2479 Move some drag-related things to WebViewImpl.
2481 2015-10-26 Anders Carlsson <andersca@apple.com>
2483 Pipe custom context menu handling through to the UIDelegate object
2484 https://bugs.webkit.org/show_bug.cgi?id=150572
2486 Reviewed by Tim Horton.
2488 * UIProcess/API/APIContextMenuClient.h:
2489 (API::ContextMenuClient::menuFromProposedMenu):
2490 * UIProcess/API/Cocoa/WKWebView.mm:
2491 (-[WKWebView setUIDelegate:]):
2492 * UIProcess/Cocoa/UIDelegate.h:
2493 * UIProcess/Cocoa/UIDelegate.mm:
2494 (WebKit::UIDelegate::createContextMenuClient):
2495 (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
2496 (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
2497 (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
2498 * UIProcess/mac/WebContextMenuProxyMac.mm:
2499 (WebKit::WebContextMenuProxyMac::showContextMenu):
2501 2015-10-26 Alex Christensen <achristensen@webkit.org>
2503 Build fix when using NETWORK_SESSION after r191457.
2505 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2506 (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
2507 Use resourceResponse.
2509 2015-10-26 Anders Carlsson <andersca@apple.com>
2511 Remove more dead context menu code
2512 https://bugs.webkit.org/show_bug.cgi?id=150569
2514 Reviewed by Tim Horton.
2516 * UIProcess/API/APIContextMenuClient.h:
2517 (API::ContextMenuClient::contextMenuDismissed): Deleted.
2518 * UIProcess/API/C/WKPage.cpp:
2519 (WKPageSetPageContextMenuClient): Deleted.
2521 2015-10-26 Anders Carlsson <andersca@apple.com>
2523 Remove dead context menu code
2524 https://bugs.webkit.org/show_bug.cgi?id=150567
2526 Reviewed by Tim Horton.
2528 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2529 (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.
2530 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2532 2015-10-26 Tim Horton <timothy_horton@apple.com>
2534 Don't expose the whitelist/blacklist in _WKUserStyleSheet
2535 https://bugs.webkit.org/show_bug.cgi?id=150566
2537 Reviewed by Anders Carlsson.
2539 * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
2540 * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
2541 (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
2542 (toWTFStrings): Deleted.
2543 (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]): Deleted.
2544 (-[_WKUserStyleSheet whitelistedURLPatterns]): Deleted.
2545 (-[_WKUserStyleSheet blacklistedURLPatterns]): Deleted.
2547 2015-10-25 Carlos Garcia Campos <cgarcia@igalia.com>
2549 Unreviewed. Fix GTK+ build after r191543.
2551 * UIProcess/API/gtk/WebKitWebView.cpp:
2552 (webkit_web_view_run_javascript):
2553 (resourcesStreamReadCallback):
2555 2015-10-24 Tim Horton <timothy_horton@apple.com>
2557 Add a way to add user style sheets to WKUserContentController
2558 https://bugs.webkit.org/show_bug.cgi?id=150531
2559 <rdar://problem/23191691>
2561 Reviewed by Darin Adler.
2563 * Shared/API/APIObject.h:
2564 * Shared/Cocoa/APIObject.mm:
2565 (API::Object::newObject):
2566 Boilerplate for a new API::UserStyleSheet.
2568 * UIProcess/API/APIUserStyleSheet.cpp: Added.
2569 (API::generateIdentifier):
2570 (API::UserStyleSheet::generateUniqueURL):
2571 * UIProcess/API/APIUserStyleSheet.h: Added.
2572 Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.
2574 * UIProcess/API/Cocoa/WKUserContentController.mm:
2575 (-[WKUserContentController _addUserStyleSheet:]):
2576 (-[WKUserContentController _removeAllUserStyleSheets]):
2577 Forward add and remove-all to WebUserContentControllerProxy.
2579 * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
2580 * UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
2581 * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.
2583 (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
2584 (-[_WKUserStyleSheet source]):
2585 (-[_WKUserStyleSheet isForMainFrameOnly]):
2586 (-[_WKUserStyleSheet copyWithZone:]):
2587 (-[_WKUserStyleSheet _apiObject]):
2588 * UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.
2590 * WebKit2.xcodeproj/project.pbxproj:
2591 Add the new modern API object (as SPI for now).
2593 2015-10-24 Tim Horton <timothy_horton@apple.com>
2595 Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
2596 https://bugs.webkit.org/show_bug.cgi?id=150525
2598 Reviewed by Darin Adler.
2600 * Scripts/webkit/messages.py:
2602 * Shared/WebCoreArgumentCoders.cpp:
2603 (IPC::ArgumentCoder<ExceptionDetails>::encode):
2604 (IPC::ArgumentCoder<ExceptionDetails>::decode):
2605 * Shared/WebCoreArgumentCoders.h:
2606 Learn how to en/decode ExceptionDetails.
2608 * UIProcess/API/C/WKPage.cpp:
2609 (WKPageRunJavaScriptInMainFrame):
2610 * UIProcess/WebPageProxy.cpp:
2611 (WebKit::WebPageProxy::runJavaScriptInMainFrame):
2612 (WebKit::WebPageProxy::scriptValueCallback):
2613 * UIProcess/WebPageProxy.h:
2614 * UIProcess/WebPageProxy.messages.in:
2615 * WebProcess/WebPage/WebPage.cpp:
2616 (WebKit::WebPage::runJavaScriptInMainFrame):
2617 Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
2620 * UIProcess/API/Cocoa/WKError.mm:
2621 (localizedDescriptionForErrorCode):
2622 * UIProcess/API/Cocoa/WKErrorInternal.h:
2623 * UIProcess/API/Cocoa/WKErrorPrivate.h:
2624 Expose localizedDescriptionForErrorCode so that WKWebView can do special
2625 things with its error.
2626 Add new private userInfo keys for exception info.
2628 * UIProcess/API/Cocoa/WKWebView.mm:
2629 (-[WKWebView evaluateJavaScript:completionHandler:]):
2630 Fill in the NSError userInfo with the exception info.
2632 2015-10-24 Gyuyoung Kim <gyuyoung.kim@webkit.org>
2634 [EFL] Fix a wrong enum variable use
2635 https://bugs.webkit.org/show_bug.cgi?id=150522
2637 Reviewed by Csaba Osztrogonác.
2639 * UIProcess/API/efl/EwkView.cpp:
2640 (EwkView::requestPopupMenu):
2641 Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.
2643 2015-10-24 Dan Bernstein <mitz@apple.com>
2645 [Cocoa] _WKFormInputSession should provide access to the focused element info
2646 https://bugs.webkit.org/show_bug.cgi?id=150512
2648 Reviewed by Tim Horton.
2650 * UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the
2653 * UIProcess/ios/WKContentViewInteraction.mm:
2654 (-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the
2655 focusedElementInfo argument, used to initialize a new ivar.
2656 (-[WKFormInputSession focusedElementInfo]): Added this getter for the new
2657 _WKFormInputSession property.
2658 (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
2659 Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
2662 2015-10-24 Dan Bernstein <mitz@apple.com>
2664 [iOS] Allow clients to specify a custom input view to be used for a form input session
2665 https://bugs.webkit.org/show_bug.cgi?id=150395
2667 Reviewed by Tim Horton.
2669 * UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.
2671 * UIProcess/ios/WKContentViewInteraction.mm:
2672 (-[WKFormInputSession customInputView]): Added this getter.
2673 (-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input
2674 views when the custom input view changes.
2675 (-[WKContentView inputView]): Changed to return the custom view from the input session if
2678 2015-10-23 Alex Christensen <achristensen@webkit.org>
2680 Fix CMake compile error and add correct null check
2681 https://bugs.webkit.org/show_bug.cgi?id=150520
2683 Reviewed by Simon Fraser.
2685 * UIProcess/API/Cocoa/WKWebView.mm:
2686 (-[WKWebView _doAfterNextPresentationUpdate:]):
2688 2015-10-23 Alex Christensen <achristensen@webkit.org>
2690 Progress towards CMake on Mac
2691 https://bugs.webkit.org/show_bug.cgi?id=150517
2693 Reviewed by Tim Horton.
2696 * PlatformEfl.cmake:
2697 * PlatformGTK.cmake:
2698 * PlatformMac.cmake:
2699 * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
2700 * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.
2702 2015-10-23 Tim Horton <timothy_horton@apple.com>
2704 WKView being inside WKWebView leads to weird API issues
2705 https://bugs.webkit.org/show_bug.cgi?id=150174
2707 * UIProcess/Cocoa/WebViewImpl.h:
2710 2015-10-23 Tim Horton <timothy_horton@apple.com>
2712 WKView being inside WKWebView leads to weird API issues
2713 https://bugs.webkit.org/show_bug.cgi?id=150174
2715 Reviewed by Anders Carlsson.
2717 * UIProcess/API/mac/WKView.mm:
2718 (-[WKView hitTest:]):
2719 (-[WKView _processDidExit]):
2720 (-[WKView _setThumbnailView:]):
2721 (-[WKView _thumbnailView]):
2722 (-[WKFlippedView isFlipped]): Deleted.
2723 (-[WKView dealloc]): Deleted.
2724 (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
2725 (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
2726 (-[WKView _updateThumbnailViewLayer]): Deleted.
2727 (-[WKView _reparentLayerTreeInThumbnailView]): Deleted.
2728 * UIProcess/API/mac/WKViewInternal.h:
2729 * UIProcess/Cocoa/WebViewImpl.h:
2730 (WebKit::WebViewImpl::acceleratedCompositingRootLayer):
2731 (WebKit::WebViewImpl::layerHostingView):
2732 (WebKit::WebViewImpl::thumbnailView):
2733 * UIProcess/Cocoa/WebViewImpl.mm:
2734 (-[WKFlippedView isFlipped]):
2735 (WebKit::WebViewImpl::~WebViewImpl):
2736 (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
2737 (WebKit::WebViewImpl::setThumbnailView):
2738 (WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
2739 (WebKit::WebViewImpl::updateThumbnailViewLayer):
2740 * UIProcess/mac/PageClientImpl.mm:
2741 (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
2742 (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
2743 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
2744 (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
2745 (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
2746 Move accelerated compositing and thumbnail view code.
2748 2015-10-23 Tim Horton <timothy_horton@apple.com>
2750 WKView being inside WKWebView leads to weird API issues
2751 https://bugs.webkit.org/show_bug.cgi?id=150174
2753 Reviewed by Anders Carlsson.
2755 * UIProcess/API/mac/WKView.mm:
2756 (-[WKView _superRemoveTrackingRect:]):
2757 (-[WKView addTrackingRect:owner:userData:assumeInside:]):
2758 (-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
2759 (-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
2760 (-[WKView removeTrackingRect:]):
2761 (-[WKView _removeTrackingRects:count:]):
2762 (-[WKView view:stringForToolTip:point:userData:]):
2763 (-[WKView _toolTipChangedFrom:to:]):
2764 (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
2765 (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
2766 (takeWindowSnapshot): Deleted.
2767 * UIProcess/Cocoa/WebViewImpl.h:
2768 * UIProcess/Cocoa/WebViewImpl.mm:
2769 (WebKit::WebViewImpl::addTrackingRect):
2770 (WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
2771 (WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
2772 (WebKit::WebViewImpl::removeTrackingRect):
2773 (WebKit::WebViewImpl::removeTrackingRects):
2774 (WebKit::WebViewImpl::sendToolTipMouseExited):
2775 (WebKit::WebViewImpl::sendToolTipMouseEntered):
2776 (WebKit::WebViewImpl::stringForToolTip):
2777 (WebKit::WebViewImpl::toolTipChanged):
2780 2015-10-23 Tim Horton <timothy_horton@apple.com>
2782 WKView being inside WKWebView leads to weird API issues
2783 https://bugs.webkit.org/show_bug.cgi?id=150174
2785 Reviewed by Anders Carlsson.
2787 * UIProcess/API/mac/WKView.mm:
2788 (-[WKView _interpretKeyEvent:completionHandler:]):
2789 (-[WKView inputContext]):
2790 (-[WKView performKeyEquivalent:]):
2791 (-[WKView keyDown:]):
2792 (-[WKView _doneWithKeyEvent:eventWasHandled:]):
2793 (-[WKView _setPluginComplexTextInputState:]): Deleted.
2794 (-[WKView _disableComplexTextInputIfNecessary]): Deleted.
2795 (-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
2796 (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
2797 (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
2798 (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
2799 (-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.
2800 * UIProcess/API/mac/WKViewInternal.h:
2801 * UIProcess/Cocoa/WebViewImpl.h:
2802 (WebKit::WebViewImpl::pluginComplexTextInputState):
2803 (WebKit::WebViewImpl::pluginComplexTextInputIdentifier):
2804 * UIProcess/Cocoa/WebViewImpl.mm:
2805 (WebKit::WebViewImpl::setPluginComplexTextInputState):
2806 (WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
2807 (WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
2808 (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
2809 (WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
2810 (WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
2811 (WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):
2812 * UIProcess/mac/PageClientImpl.mm:
2813 (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
2814 (WebKit::PageClientImpl::setPluginComplexTextInputState):
2815 Move a few more methods.
2817 2015-10-23 Eric Carlson <eric.carlson@apple.com>
2819 [MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
2820 https://bugs.webkit.org/show_bug.cgi?id=150503
2821 <rdar://problem/23235386>
2823 Reviewed by Dean Jackson.
2825 * UIProcess/UserMediaPermissionRequestProxy.cpp:
2826 (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
2827 (WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after
2828 calling the manager.
2829 (WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
2830 (WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.
2831 * UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a
2832 pointer so it can be cleared.
2834 2015-10-23 Claudio Saavedra <csaavedra@igalia.com>
2836 [GTK] Minor web editor fixes
2837 https://bugs.webkit.org/show_bug.cgi?id=150501
2839 Reviewed by Carlos Garcia Campos.
2841 * UIProcess/gtk/KeyBindingTranslator.cpp: Remove
2842 "MoveParagraphForward/Backward" as these commands do not exist in
2844 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2845 (WebKit::WebEditorClient::executePendingEditorCommands):
2846 Editor::Command can take a String, no need to convert to a C char.
2848 2015-10-23 Timothy Horton <timothy_horton@apple.com>
2850 Fix the build by unapplying review comments.
2852 * UIProcess/Cocoa/WebViewImpl.h:
2854 2015-10-23 Tim Horton <timothy_horton@apple.com>
2856 WKView being inside WKWebView leads to weird API issues
2857 https://bugs.webkit.org/show_bug.cgi?id=150174
2859 Reviewed by Anders Carlsson.
2861 * UIProcess/API/mac/WKView.mm:
2862 (-[WKView renewGState]):
2863 (-[WKView writeSelectionToPasteboard:types:]):
2864 (-[WKView centerSelectionInVisibleArea:]):
2865 (-[WKView scrollWheel:]):
2866 (-[WKView swipeWithEvent:]):
2867 (-[WKView mouseMoved:]):
2868 (-[WKView mouseDown:]):
2869 (-[WKView mouseUp:]):
2870 (-[WKView mouseDragged:]):
2871 (-[WKView pressureChangeWithEvent:]):
2872 (-[WKView acceptsFirstMouse:]):
2873 (-[WKView shouldDelayWindowOrderingForEvent:]):
2874 (-[WKView performKeyEquivalent:]):
2876 (-[WKView keyDown:]):
2877 (-[WKView flagsChanged:]):
2878 (-[WKView _superQuickLookWithEvent:]):
2879 (-[WKView _addFontPanelObserver]):
2880 (-[WKView viewWillMoveToWindow:]):
2881 (-[WKView viewDidMoveToWindow]):
2882 (-[WKView viewDidChangeBackingProperties]):
2883 (-[WKView enableAccessibilityIfNecessary]):
2884 (-[WKView quickLookWithEvent:]):
2885 (-[WKView _colorSpace]):
2886 (-[WKView _didRelaunchProcess]):
2887 (-[WKView _setTextIndicator:]):
2888 (-[WKView _setTextIndicator:withLifetime:]):
2889 (-[WKView _clearTextIndicatorWithAnimation:]):
2890 (-[WKView _setTextIndicatorAnimationProgress:]):
2891 (-[WKView initWithFrame:processPool:configuration:webView:]):
2892 (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
2893 (-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
2894 (-[WKView _internalPrepareForImmediateActionAnimation]):
2895 (-[WKView _internalCancelImmediateActionAnimation]):
2896 (-[WKView _internalCompleteImmediateActionAnimation]):
2897 (-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
2898 (-[WKView beginDeferringViewInWindowChanges]):
2899 (-[WKView endDeferringViewInWindowChanges]):
2900 (-[WKView endDeferringViewInWindowChangesSync]):
2901 (-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
2902 (-[WKView isDeferringViewInWindowChanges]):
2903 (-[WKView allowsLinkPreview]):
2904 (-[WKView setAllowsLinkPreview:]):
2905 (-[WKView _setIgnoresAllEvents:]):
2906 (-[WKView _setIgnoresNonWheelMouseEvents:]):
2907 (-[WKView _setIgnoresNonWheelEvents:]):
2908 (-[WKView _ignoresNonWheelEvents]):
2909 (-[WKView _ignoresAllEvents]):
2910 (-[WKView _setOverrideDeviceScaleFactor:]):
2911 (-[WKView _overrideDeviceScaleFactor]):
2912 (-[WKView _setTopContentInset:]):
2913 (-[WKView _topContentInset]):
2914 (-[WKView _dismissContentRelativeChildWindows]):
2915 (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
2916 (-[WKView _setAutomaticallyAdjustsContentInsets:]):
2917 (-[WKView _automaticallyAdjustsContentInsets]):
2918 (-[WKWindowVisibilityObserver initWithView:]): Deleted.
2919 (-[WKWindowVisibilityObserver startObserving:]): Deleted.
2920 (-[WKWindowVisibilityObserver stopObserving:]): Deleted.
2921 (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
2922 (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
2923 (-[WKView dealloc]): Deleted.
2924 (-[WKView _updateWindowAndViewFrames]): Deleted.
2925 (-[WKView updateFontPanelIfNeeded]): Deleted.
2926 (-[WKView _selectionChanged]): Deleted.
2927 (-[WKView addWindowObserversForWindow:]): Deleted.
2928 (-[WKView removeWindowObservers]): Deleted.
2929 (-[WKView doWindowDidChangeScreen]): Deleted.
2930 (-[WKView _windowDidBecomeKey:]): Deleted.
2931 (-[WKView _windowDidChangeScreen:]): Deleted.
2932 (-[WKView _windowDidChangeLayerHosting:]): Deleted.
2933 (-[WKView _windowDidResignKey:]): Deleted.
2934 (-[WKView _windowDidMiniaturize:]): Deleted.
2935 (-[WKView _windowDidDeminiaturize:]): Deleted.
2936 (-[WKView _windowDidMove:]): Deleted.
2937 (-[WKView _windowDidResize:]): Deleted.
2938 (-[WKView _windowDidOrderOffScreen:]): Deleted.
2939 (-[WKView _windowDidOrderOnScreen:]): Deleted.
2940 (-[WKView _windowDidChangeBackingProperties:]): Deleted.
2941 (-[WKView _windowDidChangeOcclusionState:]): Deleted.
2942 (-[WKView _prepareForDictionaryLookup]): Deleted.
2943 (-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
2944 (-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
2945 (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
2946 (-[WKView _intrinsicDeviceScaleFactor]): Deleted.
2947 (-[WKView _preferencesDidChange]): Deleted.
2948 (-[WKView _targetWindowForMovePreparation]): Deleted.
2949 (-[WKView _updateContentInsetsIfAutomatic]): Deleted.
2950 (-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
2951 (-[WKView _dispatchSetTopContentInset]): Deleted.
2952 * UIProcess/API/mac/WKViewInternal.h:
2953 * UIProcess/Cocoa/WebViewImpl.h:
2954 (WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
2955 (WebKit::WebViewImpl::topContentInset):
2956 (WebKit::WebViewImpl::overrideDeviceScaleFactor):
2957 (WebKit::WebViewImpl::isDeferringViewInWindowChanges):
2958 (WebKit::WebViewImpl::targetWindowForMovePreparation):
2959 (WebKit::WebViewImpl::lastPressureEvent):
2960 (WebKit::WebViewImpl::allowsLinkPreview):
2961 (WebKit::WebViewImpl::ignoresNonWheelEvents):
2962 (WebKit::WebViewImpl::ignoresAllEvents):
2963 (WebKit::WebViewImpl::createWeakPtr):
2964 * UIProcess/Cocoa/WebViewImpl.mm:
2965 (SOFT_LINK_CONSTANT_MAY_FAIL):
2966 (-[WKWindowVisibilityObserver initWithView:impl:]):
2967 (-[WKWindowVisibilityObserver dealloc]):
2968 (-[WKWindowVisibilityObserver startObserving:]):
2969 (-[WKWindowVisibilityObserver stopObserving:]):
2970 (-[WKWindowVisibilityObserver startObservingFontPanel]):
2971 (-[WKWindowVisibilityObserver startObservingLookupDismissal]):
2972 (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
2973 (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
2974 (-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
2975 (-[WKWindowVisibilityObserver _windowDidResignKey:]):
2976 (-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
2977 (-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
2978 (-[WKWindowVisibilityObserver _windowDidMove:]):
2979 (-[WKWindowVisibilityObserver _windowDidResize:]):
2980 (-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
2981 (-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
2982 (-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
2983 (-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
2984 (-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
2985 (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
2986 (-[WKEditCommandObjC initWithWebEditCommandProxy:]):
2987 (-[WKEditCommandObjC command]):
2988 (-[WKEditorUndoTargetObjC undoEditing:]):
2989 (-[WKEditorUndoTargetObjC redoEditing:]):
2990 (WebKit::WebViewImpl::WebViewImpl):
2991 (WebKit::WebViewImpl::~WebViewImpl):
2992 (WebKit::WebViewImpl::becomeFirstResponder):
2993 (WebKit::WebViewImpl::resignFirstResponder):
2994 (WebKit::WebViewImpl::renewGState):
2995 (WebKit::WebViewImpl::updateWindowAndViewFrames):
2996 (WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
2997 (WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
2998 (WebKit::WebViewImpl::setTopContentInset):
2999 (WebKit::WebViewImpl::dispatchSetTopContentInset):
3000 (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
3001 (WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
3002 (WebKit::WebViewImpl::windowDidOrderOffScreen):
3003 (WebKit::WebViewImpl::windowDidOrderOnScreen):
3004 (WebKit::WebViewImpl::windowDidBecomeKey):
3005 (WebKit::WebViewImpl::windowDidResignKey):
3006 (WebKit::WebViewImpl::windowDidMiniaturize):
3007 (WebKit::WebViewImpl::windowDidDeminiaturize):
3008 (WebKit::WebViewImpl::windowDidMove):
3009 (WebKit::WebViewImpl::windowDidResize):
3010 (WebKit::WebViewImpl::windowDidChangeBackingProperties):
3011 (WebKit::WebViewImpl::windowDidChangeScreen):
3012 (WebKit::WebViewImpl::windowDidChangeLayerHosting):
3013 (WebKit::WebViewImpl::windowDidChangeOcclusionState):
3014 (WebKit::WebViewImpl::viewWillMoveToWindow):
3015 (WebKit::WebViewImpl::viewDidMoveToWindow):
3016 (WebKit::WebViewImpl::viewDidChangeBackingProperties):
3017 (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
3018 (WebKit::WebViewImpl::colorSpace):
3019 (WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
3020 (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
3021 (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
3022 (WebKit::WebViewImpl::prepareForMoveToWindow):
3023 (WebKit::WebViewImpl::pressureChangeWithEvent):
3024 (WebKit::WebViewImpl::isEditable):
3025 (WebKit::WebViewImpl::executeEditCommand):
3026 (WebKit::WebViewImpl::registerEditCommand):
3027 (WebKit::WebViewImpl::clearAllEditCommands):
3028 (WebKit::WebViewImpl::writeSelectionToPasteboard):
3029 (WebKit::WebViewImpl::centerSelectionInVisibleArea):
3030 (WebKit::WebViewImpl::selectionDidChange):
3031 (WebKit::WebViewImpl::startObservingFontPanel):
3032 (WebKit::WebViewImpl::updateFontPanelIfNeeded):
3033 (WebKit::WebViewImpl::preferencesDidChange):
3034 (WebKit::WebViewImpl::setTextIndicator):
3035 (WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
3036 (WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
3037 (WebKit::WebViewImpl::dismissContentRelativeChildWindows):
3038 (WebKit::WebViewImpl::quickLookWithEvent):
3039 (WebKit::WebViewImpl::prepareForDictionaryLookup):
3040 (WebKit::WebViewImpl::setAllowsLinkPreview):
3041 (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
3042 (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
3043 (WebKit::WebViewImpl::cancelImmediateActionAnimation):
3044 (WebKit::WebViewImpl::completeImmediateActionAnimation):
3045 (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
3046 (WebKit::WebViewImpl::setIgnoresAllEvents):
3047 (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
3048 * UIProcess/mac/PageClientImpl.h:
3049 * UIProcess/mac/PageClientImpl.mm:
3050 (WebKit::PageClientImpl::activeWindow):
3051 (WebKit::PageClientImpl::preferencesDidChange):
3052 (WebKit::PageClientImpl::registerEditCommand):
3053 (WebKit::PageClientImpl::clearAllEditCommands):
3054 (WebKit::PageClientImpl::selectionDidChange):
3055 (WebKit::PageClientImpl::didPerformDictionaryLookup):
3056 (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
3057 (-[WKEditCommandObjC command]): Deleted.
3058 (-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
3059 (-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
3060 (WebKit::PageClientImpl::PageClientImpl): Deleted.
3061 Move more things to WebViewImpl.
3062 This also introduces an unfortunate pattern that is required for things which
3063 clients override on WKView, where we have a flow like this:
3064 - somebody (PageClient, etc.) calls WebViewImpl::x
3065 - WebViewImpl::x does nothing except call [WKView _x]
3066 - [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work
3067 As long as no clients call the -FromViewOnly variant, this will mean that
3068 all callers are bottlenecked through the overridable WKView method.
3069 How this works with WKWebView, I am not sure yet.
3071 * UIProcess/mac/WKImmediateActionController.h:
3072 * UIProcess/mac/WKImmediateActionController.mm:
3073 (-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
3074 (-[WKImmediateActionController willDestroyView:]):
3075 (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
3076 (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
3077 (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
3078 (-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
3079 (-[WKImmediateActionController menuItem:previewItemAtPoint:]):
3080 (-[WKImmediateActionController menuItem:itemFrameForPoint:]):
3081 (-[WKImmediateActionController menuItem:maxSizeForPoint:]):
3082 (-[WKImmediateActionController _animationControllerForDataDetectedText]):
3083 (-[WKImmediateActionController _animationControllerForDataDetectedLink]):
3084 (-[WKImmediateActionController _animationControllerForText]):
3085 (-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
3086 Keep a generic NSView, use the WebViewImpl for WK*View related things.
3088 2015-10-22 Joonghun Park <jh718.park@samsung.com>
3090 [GTK] Fix build break since r191471
3091 https://bugs.webkit.org/show_bug.cgi?id=150487
3093 Reviewed by Žan Doberšek.
3095 * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
3096 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3097 (WebKit::WebContextMenuProxyGtk::populate):
3099 2015-10-22 Gyuyoung Kim <gyuyoung.kim@webkit.org>
3101 [EFL] Build break since r191472 and r191473
3102 https://bugs.webkit.org/show_bug.cgi?id=150485
3104 Unreviewed build fix.
3106 * CMakeLists.txt: Remove icu include path and move page include path.
3108 2015-10-22 Sam Weinig <sam@webkit.org>
3110 Navigations on the same host (but with different schemes and ports) should not trigger universal links
3111 <rdar://problem/22811325>
3112 https://bugs.webkit.org/show_bug.cgi?id=150481
3114 Reviewed by Dan Bernstein.
3116 Update the policy for following universal links to only take host into consideration.
3118 * UIProcess/API/C/WKPage.cpp:
3119 (WKPageSetPageUIClient):
3120 * UIProcess/Cocoa/UIDelegate.mm:
3121 (WebKit::UIDelegate::UIClient::createNewPage):
3122 * UIProcess/WebPageProxy.cpp:
3123 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3124 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
3125 (WebKit::WebPageProxy::createNewPage):
3126 (WebKit::WebPageProxy::showPage):
3128 2015-10-22 Anders Carlsson <andersca@apple.com>
3130 Simplify menu creation
3131 https://bugs.webkit.org/show_bug.cgi?id=150476
3133 Reviewed by Tim Horton.
3135 Instead of creating vectors of NSMenuItem objects, just simply build the menu recursively.
3137 * UIProcess/mac/WebContextMenuProxyMac.h:
3138 * UIProcess/mac/WebContextMenuProxyMac.mm:
3139 (WebKit::WebContextMenuProxyMac::createContextMenuFromItems):
3140 (WebKit::WebContextMenuProxyMac::createContextMenuItem):
3141 (WebKit::WebContextMenuProxyMac::showContextMenu):
3142 (WebKit::populateNSMenu): Deleted.
3143 (WebKit::nsMenuItem): Deleted.
3144 (WebKit::nsMenuItemVector): Deleted.
3146 2015-10-22 Carlos Garcia Campos <cgarcia@igalia.com>
3148 ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
3149 https://bugs.webkit.org/show_bug.cgi?id=150315
3151 Reviewed by Andreas Kling.
3153 It was introduced in r184930, that keeps the session storage area
3154 maps alive in the UI process when they are destroyed by the web
3155 process. The problem is that we also keep the listeners, so that
3156 events are also dispatched to the listeners of destroyed areas,
3157 and the message handlers were removed in the web process.
3159 * UIProcess/Storage/StorageManager.cpp:
3160 (WebKit::StorageManager::createTransientLocalStorageMap): Add a
3161 listener for the new storage map ID when the map is reused.
3162 (WebKit::StorageManager::destroyStorageMap): Always remove
3163 listeners of destroyed maps.
3165 2015-10-22 Tim Horton <timothy_horton@apple.com>
3167 Add a SPI variant of loadData that accepts user data to WKWebView
3168 https://bugs.webkit.org/show_bug.cgi?id=150475
3170 Reviewed by Anders Carlsson.
3172 * UIProcess/API/Cocoa/WKWebView.mm:
3173 (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
3174 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3176 2015-10-22 Alex Christensen <achristensen@webkit.org>
3178 Progress towards CMake on Mac
3179 https://bugs.webkit.org/show_bug.cgi?id=150466
3181 Reviewed by Chris Dumez.
3184 * PlatformMac.cmake:
3185 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3187 2015-10-22 Anders Carlsson <andersca@apple.com>
3189 NativeContextMenuItem isn't needed anymore, remove it
3190 https://bugs.webkit.org/show_bug.cgi?id=150473
3192 Reviewed by Tim Horton.
3194 * PlatformEfl.cmake:
3195 * PlatformGTK.cmake:
3196 * Shared/NativeContextMenuItem.h: Removed.
3197 (WebKit::NativeContextMenuItem::~NativeContextMenuItem): Deleted.
3198 (WebKit::NativeContextMenuItem::nsMenuItem): Deleted.
3199 * Shared/WebContextMenuItem.cpp:
3200 (WebKit::WebContextMenuItem::WebContextMenuItem): Deleted.
3201 * Shared/WebContextMenuItem.h:
3202 (WebKit::WebContextMenuItem::create): Deleted.
3203 (WebKit::WebContextMenuItem::nativeContextMenuItem): Deleted.
3204 * Shared/efl/NativeContextMenuItemEfl.cpp: Removed.
3205 (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3206 * Shared/gtk/NativeContextMenuItemGtk.cpp: Removed.
3207 (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3208 * Shared/mac/NativeContextMenuItem.mm: Removed.
3209 (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3210 * UIProcess/mac/WebContextMenuProxyMac.mm:
3211 (WebKit::nsMenuItem): Deleted.
3212 * WebKit2.xcodeproj/project.pbxproj:
3214 2015-10-22 Anders Carlsson <andersca@apple.com>
3216 CTTE WebContextMenuItemData
3217 https://bugs.webkit.org/show_bug.cgi?id=150471
3219 Reviewed by Tim Horton.
3221 * Shared/API/c/WKContextMenuItem.cpp:
3222 (WKContextMenuItemGetTag):
3223 (WKContextMenuItemGetType):
3224 (WKContextMenuItemCopyTitle):
3225 (WKContextMenuItemGetEnabled):
3226 (WKContextMenuItemGetChecked):
3227 * Shared/WebContextMenuItem.cpp:
3228 (WebKit::WebContextMenuItem::create):
3229 * Shared/WebContextMenuItem.h:
3230 (WebKit::WebContextMenuItem::data):
3231 * UIProcess/API/C/WKPage.cpp:
3232 (WKPageSelectContextMenuItem):
3233 * UIProcess/mac/WebContextMenuProxyMac.mm:
3234 (WebKit::nsMenuItem):
3235 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3236 (WKBundlePageClickMenuItem):
3237 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
3238 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
3240 2015-10-22 Anders Carlsson <andersca@apple.com>
3242 Handle nil menu items.
3244 * UIProcess/mac/WebContextMenuProxyMac.mm:
3245 (WebKit::nsMenuItemVector):
3247 2015-10-22 Anders Carlsson <andersca@apple.com>
3249 Wait to convert the share menu item to a real share menu until after calling out to the client
3250 https://bugs.webkit.org/show_bug.cgi?id=150465
3252 Reviewed by Tim Horton.
3254 This will let us simplify more code in upcoming patches.
3256 * UIProcess/mac/WebContextMenuProxyMac.h:
3257 * UIProcess/mac/WebContextMenuProxyMac.mm:
3258 (WebKit::nsMenuItem):
3259 (WebKit::nsMenuItemVector):
3260 (WebKit::WebContextMenuProxyMac::showContextMenu):
3262 2015-10-22 Myles C. Maxfield <mmaxfield@apple.com>
3264 [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
3265 https://bugs.webkit.org/show_bug.cgi?id=150460
3267 Reviewed by Tim Horton.
3269 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3270 (InitWebCoreSystemInterface): Deleted.
3272 2015-10-22 Alex Christensen <achristensen@webkit.org>
3274 Initial NSURLSession WebResourceLoader implementation
3275 https://bugs.webkit.org/show_bug.cgi?id=150355
3277 Reviewed by Antti Koivisto.
3279 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3280 (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
3281 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
3282 * NetworkProcess/NetworkResourceLoader.cpp:
3283 (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
3284 (WebKit::NetworkResourceLoader::startNetworkLoad):
3285 (WebKit::NetworkResourceLoader::setDefersLoading):
3286 (WebKit::NetworkResourceLoader::cleanup):
3287 (WebKit::NetworkResourceLoader::didConvertHandleToDownload):
3288 (WebKit::NetworkResourceLoader::abort):
3289 (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
3290 (WebKit::NetworkResourceLoader::didReceiveChallenge):
3291 (WebKit::NetworkResourceLoader::didReceiveResponse):
3292 (WebKit::NetworkResourceLoader::didReceiveData):
3293 (WebKit::NetworkResourceLoader::didCompleteWithError):
3294 (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
3295 (WebKit::NetworkResourceLoader::willSendRequestAsync):
3296 (WebKit::NetworkResourceLoader::continueWillSendRequest):
3297 (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
3298 (WebKit::NetworkResourceLoader::didSendData):
3299 (WebKit::NetworkResourceLoader::receivedCancellation):
3300 (WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
3301 (WebKit::NetworkResourceLoader::bufferingTimerFired):
3302 (WebKit::NetworkResourceLoader::validateCacheEntry):
3303 (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
3304 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
3305 (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
3306 (WebKit::NetworkResourceLoader::supportsDataArray):
3307 * NetworkProcess/NetworkResourceLoader.h:
3308 (WebKit::NetworkResourceLoader::create):
3309 (WebKit::NetworkResourceLoader::currentRequest):
3310 (WebKit::NetworkResourceLoader::handle):
3311 * NetworkProcess/NetworkSession.h: Added.
3312 (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
3313 (WebKit::NetworkingDataTask::client):
3314 (WebKit::NetworkingDataTask::clearClient):
3315 (WebKit::NetworkSession::~NetworkSession):
3316 * NetworkProcess/cocoa/NetworkSessionCocoa.mm: Added.
3317 (toNSURLSessionResponseDisposition):
3318 (toNSURLSessionAuthChallengeDisposition):
3319 (-[NetworkSessionDelegate initWithNetworkSession:]):
3320 (-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
3321 (-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
3322 (-[NetworkSessionDelegate URLSession:task:didCompleteWithError:]):
3323 (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
3324 (-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
3325 (WebKit::NetworkSession::create):
3326 (WebKit::NetworkSession::singleton):
3327 (WebKit::configurationForType):
3328 (WebKit::NetworkSession::NetworkSession):
3329 (WebKit::NetworkSession::createDataTaskWithRequest):
3330 (WebKit::NetworkSession::dataTaskForIdentifier):
3331 (WebKit::NetworkingDataTask::NetworkingDataTask):
3332 (WebKit::NetworkingDataTask::~NetworkingDataTask):
3333 (WebKit::NetworkingDataTask::suspend):
3334 (WebKit::NetworkingDataTask::resume):
3335 (WebKit::NetworkingDataTask::taskIdentifier):
3336 * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3337 (WebKit::NetworkResourceLoader::willCacheResponseAsync):
3338 * WebKit2.xcodeproj/project.pbxproj:
3341 2015-10-22 Philippe Normand <pnormand@igalia.com>
3343 Unreviewed, GTK build fix for disabled redirected XComposite window support.
3345 * UIProcess/API/gtk/WebKitWebViewBase.cpp: Add USE(REDIRECTED_XCOMPOSITE_WINDOW) guards.
3346 * UIProcess/DrawingAreaProxyImpl.h: Mark virtual methods as override to avoid compilation warnings.
3348 2015-10-22 Wenson Hsieh <wenson_hsieh@apple.com>
3350 Implement touch-action: manipulation; for iOS
3351 https://bugs.webkit.org/show_bug.cgi?id=149854
3352 <rdar://problem/23017145>
3354 Reviewed by Benjamin Poulain.
3356 Implements the manipulation value for the CSS property touch-action. Performs hit-testing upon receiving a potential
3357 tap to determine whether to disable double-tap gesture recognition over the duration of the tap. If so, sends a message
3358 from the web process to the UI process indicating that double-tapping should be disabled, allowing single taps to
3361 * WebProcess/WebPage/ios/WebPageIOS.mm:
3362 (WebKit::WebPage::potentialTapAtPosition):
3364 2015-10-22 Ryosuke Niwa <rniwa@webkit.org>
3366 REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
3367 https://bugs.webkit.org/show_bug.cgi?id=150428
3369 Reviewed by Antti Koivisto.
3371 Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.
3373 * WebProcess/WebPage/WebPage.cpp:
3374 (WebKit::WebPage::restoreSelectionInFocusedEditableElement):
3376 2015-10-22 Carlos Garcia Campos <cgarcia@igalia.com>
3378 Unreviewed. Fix a crash in GTk+ after r191402.
3380 Since r191402 WebContextMenuProxy is no longer refcounted, and
3381 std::unique_ptr is used instead. This means that when we show the
3382 context menu for the second time in a web view, a new
3383 WebContextMenuProxy is created and the previous one is
3384 destroyed. We were setting the active context menu of the WebView
3385 in the constructor of WebContextMenuProxy, and unsetting it in the
3386 destructor. Now the constructor of the new WebContextMenuProxy
3387 happens before the destructor of the current one that unsets the
3388 WebView active context menu. This patch simply makes the web view
3389 unset its active context menu when it's unmapped and a new one
3392 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3393 (activeContextMenuUnmapped):
3394 (webkitWebViewBaseSetActiveContextMenuProxy):
3395 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3396 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
3398 2015-10-22 Hunseop Jeong <hs85.jeong@samsung.com>
3400 [GTK] Try to fix the build after r191402.
3401 https://bugs.webkit.org/show_bug.cgi?id=150435
3403 Reviewed by Carlos Garcia Campos.
3405 * UIProcess/API/gtk/PageClientImpl.cpp:
3406 (WebKit::PageClientImpl::createPopupMenuProxy):
3407 (WebKit::PageClientImpl::createContextMenuProxy):
3408 (WebKit::PageClientImpl::createColorPicker):
3409 * UIProcess/API/gtk/PageClientImpl.h:
3410 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3411 (WebKit::WebContextMenuProxyGtk::populate):
3412 (WebKit::WebContextMenuProxyGtk::show):
3413 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
3414 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
3415 (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
3416 (WebKit::WebContextMenuProxyGtk::showContextMenu): Deleted.
3417 (WebKit::WebContextMenuProxyGtk::hideContextMenu): Deleted.
3418 (WebKit::WebContextMenuProxyGtk::cancelTracking): Deleted.
3419 * UIProcess/gtk/WebContextMenuProxyGtk.h:
3420 (WebKit::WebContextMenuProxyGtk::gtkMenu):
3421 (WebKit::WebContextMenuProxyGtk::create): Deleted.
3423 2015-10-21 Gyuyoung Kim <gyuyoung.kim@webkit.org>
3425 Unreviewed EFL build fix. Remove customizeMenu implementation.
3427 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3428 (WebKit::WebContextMenuClient::customizeMenu): Deleted.
3430 2015-10-21 Alex Christensen <achristensen@webkit.org>
3432 Speculative EFL build fix.
3434 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
3435 Remove another customizeMenu call.
3437 2015-10-21 Gyuyoung Kim <gyuyoung.kim@webkit.org>
3439 [EFL][GTK][WK2] Fix build break since r191402, r191401
3440 https://bugs.webkit.org/show_bug.cgi?id=150432
3442 Unreviewed EFL and GTK build fix.
3445 * UIProcess/CoordinatedGraphics/WebView.cpp:
3446 (WebKit::WebView::createContextMenuProxy):
3447 * UIProcess/CoordinatedGraphics/WebView.h:
3448 * UIProcess/efl/WebContextMenuProxyEfl.cpp: