1 2018-09-11 Michael Catanzaro <mcatanzaro@igalia.com>
3 Unreviewed, attempt to fix Apple builds after r235903
4 https://bugs.webkit.org/show_bug.cgi?id=188872
6 If it really needs to be inlined, it will need to move to the header....
8 * UIProcess/WebPageProxy.cpp:
9 (WebKit::WebPageProxy::pageClient const):
11 2018-09-11 Michael Catanzaro <mcatanzaro@igalia.com>
13 Unreviewed, fix build after r235903
14 https://bugs.webkit.org/show_bug.cgi?id=188872
16 This broke all ports except GTK. Need to add a missing header.
18 * UIProcess/PageClient.h:
20 2018-09-11 Pablo Saavedra <psaavedra@igalia.com>
22 Add missing #if ENABLE(VIDEO) WebProcess/FullScreen/WebFullScreenManager.cpp
23 https://bugs.webkit.org/show_bug.cgi?id=189506
25 Reviewed by Tim Horton.
27 m_pipStandbyElement is only defined in
28 WebKit/WebProcess/FullScreen/WebFullScreenManager.h
29 only when ENABLE(VIDEO) (see
30 https://bugs.webkit.org/show_bug.cgi?id=181338)
32 * WebProcess/FullScreen/WebFullScreenManager.cpp:
33 (WebKit::WebFullScreenManager::setPIPStandbyElement):
35 2018-09-11 Michael Catanzaro <mcatanzaro@igalia.com>
37 WebPageProxy should hold a WeakPtr to its PageClient
38 https://bugs.webkit.org/show_bug.cgi?id=188872
40 Reviewed by Ryosuke Niwa.
42 This ensures the PageClient reference is always valid when used.
44 * UIProcess/Cocoa/WebPageProxyCocoa.mm:
45 (WebKit::WebPageProxy::startDrag):
46 (WebKit::WebPageProxy::setDragCaretRect):
47 * UIProcess/PageClient.h:
48 * UIProcess/WebPageProxy.cpp:
49 (WebKit::PageClientProtector::PageClientProtector):
50 (WebKit::PageClientProtector::~PageClientProtector):
51 (WebKit::WebPageProxy::WebPageProxy):
52 (WebKit::m_resetRecentCrashCountTimer):
53 (WebKit::WebPageProxy::pageClient const):
54 (WebKit::WebPageProxy::reattachToWebProcess):
55 (WebKit::WebPageProxy::initializeWebPage):
56 (WebKit::WebPageProxy::close):
57 (WebKit::WebPageProxy::didChangeBackForwardList):
58 (WebKit::WebPageProxy::willGoToBackForwardListItem):
59 (WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
60 (WebKit::WebPageProxy::setViewNeedsDisplay):
61 (WebKit::WebPageProxy::requestScroll):
62 (WebKit::WebPageProxy::viewScrollPosition const):
63 (WebKit::WebPageProxy::updateActivityState):
64 (WebKit::WebPageProxy::activityStateDidChange):
65 (WebKit::WebPageProxy::viewDidEnterWindow):
66 (WebKit::WebPageProxy::dispatchActivityStateChange):
67 (WebKit::WebPageProxy::layerHostingModeDidChange):
68 (WebKit::WebPageProxy::viewSize const):
69 (WebKit::WebPageProxy::startDrag):
70 (WebKit::WebPageProxy::didPerformDragOperation):
71 (WebKit::WebPageProxy::processNextQueuedMouseEvent):
72 (WebKit::WebPageProxy::findPlugin):
73 (WebKit::WebPageProxy::handleTouchEventSynchronously):
74 (WebKit::WebPageProxy::handleTouchEvent):
75 (WebKit::WebPageProxy::preferencesDidChange):
76 (WebKit::WebPageProxy::didCreateMainFrame):
77 (WebKit::WebPageProxy::didCreateSubframe):
78 (WebKit::WebPageProxy::didStartProgress):
79 (WebKit::WebPageProxy::didChangeProgress):
80 (WebKit::WebPageProxy::didFinishProgress):
81 (WebKit::WebPageProxy::didDestroyNavigation):
82 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
83 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
84 (WebKit::WebPageProxy::willPerformClientRedirectForFrame):
85 (WebKit::WebPageProxy::didCancelClientRedirectForFrame):
86 (WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
87 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
88 (WebKit::WebPageProxy::didCommitLoadForFrame):
89 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
90 (WebKit::WebPageProxy::didFinishLoadForFrame):
91 (WebKit::WebPageProxy::didFailLoadForFrame):
92 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
93 (WebKit::WebPageProxy::didReceiveTitleForFrame):
94 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
95 (WebKit::WebPageProxy::didReachLayoutMilestone):
96 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
97 (WebKit::WebPageProxy::didRunInsecureContentForFrame):
98 (WebKit::WebPageProxy::frameDidBecomeFrameSet):
99 (WebKit::WebPageProxy::decidePolicyForNavigationAction):
100 (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
101 (WebKit::WebPageProxy::decidePolicyForResponse):
102 (WebKit::WebPageProxy::unableToImplementPolicy):
103 (WebKit::WebPageProxy::didNavigateWithNavigationData):
104 (WebKit::WebPageProxy::didPerformClientRedirect):
105 (WebKit::WebPageProxy::didPerformServerRedirect):
106 (WebKit::WebPageProxy::didUpdateHistoryTitle):
107 (WebKit::WebPageProxy::closePage):
108 (WebKit::WebPageProxy::setWindowFrame):
109 (WebKit::WebPageProxy::getWindowFrame):
110 (WebKit::WebPageProxy::getWindowFrameWithCallback):
111 (WebKit::WebPageProxy::screenToRootView):
112 (WebKit::WebPageProxy::rootViewToScreen):
113 (WebKit::WebPageProxy::syncRootViewToScreen):
114 (WebKit::WebPageProxy::accessibilityScreenToRootView):
115 (WebKit::WebPageProxy::rootViewToAccessibilityScreen):
116 (WebKit::WebPageProxy::didChangeViewportProperties):
117 (WebKit::WebPageProxy::runOpenPanel):
118 (WebKit::WebPageProxy::showShareSheet):
119 (WebKit::WebPageProxy::handleDownloadRequest):
120 (WebKit::WebPageProxy::didChangeContentSize):
121 (WebKit::WebPageProxy::showColorPicker):
122 (WebKit::WebPageProxy::showDataListSuggestions):
123 (WebKit::WebPageProxy::compositionWasCanceled):
124 (WebKit::WebPageProxy::registerInsertionUndoGrouping):
125 (WebKit::WebPageProxy::canUndoRedo):
126 (WebKit::WebPageProxy::executeUndoRedo):
127 (WebKit::WebPageProxy::clearAllEditCommands):
128 (WebKit::WebPageProxy::setTextIndicator):
129 (WebKit::WebPageProxy::clearTextIndicator):
130 (WebKit::WebPageProxy::setTextIndicatorAnimationProgress):
131 (WebKit::WebPageProxy::showPopupMenu):
132 (WebKit::WebPageProxy::showContextMenu):
133 (WebKit::WebPageProxy::registerEditCommand):
134 (WebKit::WebPageProxy::canUndo):
135 (WebKit::WebPageProxy::canRedo):
136 (WebKit::WebPageProxy::setToolTip):
137 (WebKit::WebPageProxy::setCursor):
138 (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves):
139 (WebKit::WebPageProxy::didReceiveEvent):
140 (WebKit::WebPageProxy::resetState):
141 (WebKit::WebPageProxy::resetStateAfterProcessExited):
142 (WebKit::WebPageProxy::creationParameters):
143 (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
144 (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
145 (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
146 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
147 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
148 (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
149 (WebKit::WebPageProxy::didFinishLoadingDataForCustomContentProvider):
150 (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
151 (WebKit::WebPageProxy::showCorrectionPanel):
152 (WebKit::WebPageProxy::dismissCorrectionPanel):
153 (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
154 (WebKit::WebPageProxy::recordAutocorrectionResponse):
155 (WebKit::WebPageProxy::useDarkAppearance const):
156 (WebKit::WebPageProxy::showDictationAlternativeUI):
157 (WebKit::WebPageProxy::removeDictationAlternatives):
158 (WebKit::WebPageProxy::dictationAlternatives):
159 (WebKit::WebPageProxy::setEditableElementIsFocused):
160 (WebKit::WebPageProxy::takeViewSnapshot):
161 (WebKit::WebPageProxy::wrapCryptoKey):
162 (WebKit::WebPageProxy::unwrapCryptoKey):
163 (WebKit::WebPageProxy::signedPublicKeyAndChallengeString):
164 (WebKit::WebPageProxy::navigationGestureDidBegin):
165 (WebKit::WebPageProxy::navigationGestureWillEnd):
166 (WebKit::WebPageProxy::navigationGestureDidEnd):
167 (WebKit::WebPageProxy::willRecordNavigationSnapshot):
168 (WebKit::WebPageProxy::navigationGestureSnapshotWasRemoved):
169 (WebKit::WebPageProxy::isPlayingMediaDidChange):
170 (WebKit::WebPageProxy::videoControlsManagerDidChange):
171 (WebKit::WebPageProxy::handleControlledElementIDResponse const):
172 (WebKit::WebPageProxy::didPerformImmediateActionHitTest):
173 (WebKit::WebPageProxy::immediateActionAnimationControllerForHitTestResult):
174 (WebKit::WebPageProxy::didHandleAcceptedCandidate):
175 (WebKit::WebPageProxy::addPlaybackTargetPickerClient):
176 (WebKit::WebPageProxy::removePlaybackTargetPickerClient):
177 (WebKit::WebPageProxy::showPlaybackTargetPicker):
178 (WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
179 (WebKit::WebPageProxy::setMockMediaPlaybackTargetPickerEnabled):
180 (WebKit::WebPageProxy::setMockMediaPlaybackTargetPickerState):
181 (WebKit::WebPageProxy::didChangeBackgroundColor):
182 (WebKit::WebPageProxy::didRestoreScrollPosition):
183 (WebKit::WebPageProxy::userInterfaceLayoutDirection):
184 (WebKit::WebPageProxy::didInsertAttachment):
185 (WebKit::WebPageProxy::didRemoveAttachment):
186 * UIProcess/WebPageProxy.h:
187 * UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
188 (WebKit::WebPageProxy::requestInstallMissingMediaPlugins):
189 * UIProcess/gtk/WebPageProxyGtk.cpp:
190 (WebKit::WebPageProxy::viewWidget):
191 (WebKit::WebPageProxy::editorStateChanged):
192 * UIProcess/ios/WebPageProxyIOS.mm:
193 (WebKit::WebPageProxy::computeCustomFixedPositionRect const):
194 (WebKit::WebPageProxy::overflowScrollViewWillStartPanGesture):
195 (WebKit::WebPageProxy::overflowScrollViewDidScroll):
196 (WebKit::WebPageProxy::overflowScrollWillStartScroll):
197 (WebKit::WebPageProxy::overflowScrollDidEndScroll):
198 (WebKit::WebPageProxy::didCommitLayerTree):
199 (WebKit::WebPageProxy::layerTreeCommitComplete):
200 (WebKit::WebPageProxy::didReceivePositionInformation):
201 (WebKit::WebPageProxy::saveImageToLibrary):
202 (WebKit::WebPageProxy::interpretKeyEvent):
203 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
204 (WebKit::WebPageProxy::couldNotRestorePageState):
205 (WebKit::WebPageProxy::restorePageState):
206 (WebKit::WebPageProxy::restorePageCenterAndScale):
207 (WebKit::WebPageProxy::didGetTapHighlightGeometries):
208 (WebKit::WebPageProxy::startAssistingNode):
209 (WebKit::WebPageProxy::stopAssistingNode):
210 (WebKit::WebPageProxy::showInspectorHighlight):
211 (WebKit::WebPageProxy::hideInspectorHighlight):
212 (WebKit::WebPageProxy::showInspectorIndication):
213 (WebKit::WebPageProxy::hideInspectorIndication):
214 (WebKit::WebPageProxy::enableInspectorNodeSearch):
215 (WebKit::WebPageProxy::disableInspectorNodeSearch):
216 (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
217 (WebKit::WebPageProxy::showPlaybackTargetPicker):
218 (WebKit::WebPageProxy::commitPotentialTapFailed):
219 (WebKit::WebPageProxy::didNotHandleTapAsClick):
220 (WebKit::WebPageProxy::didCompleteSyntheticClick):
221 (WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
222 (WebKit::WebPageProxy::editorStateChanged):
223 (WebKit::WebPageProxy::showValidationMessage):
224 (WebKit::WebPageProxy::didHandleStartDataInteractionRequest):
225 (WebKit::WebPageProxy::didHandleAdditionalDragItemsRequest):
226 (WebKit::WebPageProxy::didConcludeEditDataInteraction):
227 (WebKit::WebPageProxy::didRequestPasswordForQuickLookDocumentInMainFrame):
228 * UIProcess/mac/WebPageProxyMac.mm:
229 (WebKit::WebPageProxy::windowAndViewFramesChanged):
230 (WebKit::WebPageProxy::insertDictatedTextAsync):
231 (WebKit::WebPageProxy::setPromisedDataForImage):
232 (WebKit::WebPageProxy::didPerformDictionaryLookup):
233 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
234 (WebKit::WebPageProxy::makeFirstResponder):
235 (WebKit::WebPageProxy::assistiveTechnologyMakeFirstResponder):
236 (WebKit::WebPageProxy::colorSpace):
237 (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
238 (WebKit::WebPageProxy::setPluginComplexTextInputState):
239 (WebKit::WebPageProxy::executeSavedCommandBySelector):
240 (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
241 (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
242 (WebKit::WebPageProxy::acceleratedCompositingRootLayer const):
243 (WebKit::WebPageProxy::showPDFContextMenu):
244 (WebKit::WebPageProxy::showTelephoneNumberMenu):
245 (WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates const):
246 (WebKit::WebPageProxy::editorStateChanged):
247 (WebKit::WebPageProxy::startWindowDrag):
248 (WebKit::WebPageProxy::platformWindow):
249 (WebKit::WebPageProxy::rootViewToWindow):
250 (WebKit::WebPageProxy::showValidationMessage):
251 (WebKit::WebPageProxy::inspectorAttachmentView):
252 (WebKit::WebPageProxy::remoteObjectRegistry):
253 * UIProcess/win/WebPageProxyWin.cpp:
254 (WebKit::WebPageProxy::viewWidget):
255 * UIProcess/wpe/WebPageProxyWPE.cpp:
256 (WebKit::WebPageProxy::viewBackend):
258 2018-09-11 Chris Dumez <cdumez@apple.com>
260 Regression(PSON): "Swipe back" snapshot is missing when navigating back cross-process
261 https://bugs.webkit.org/show_bug.cgi?id=189482
262 <rdar://problem/44317222>
264 Reviewed by Geoffrey Garen.
266 The issue was that when we swap process on navigation, we:
267 1. Call processDidTerminate() which calls resetState() and clears the displayed content
268 2. Reattach the WebPageProxy to a new WebProcess
269 3. Trigger the navigation
270 4. Take the navigation snapshot
272 When the navigation snapshot occurs at step 4, the view is already blank in the case of
273 process swap. To avoid the issue, we take the navigation snapshot earlier, before calling
274 processDidTerminate() and we suppress the next navigation snapshot as it would be blank.
276 At some point, we will likely want to display the previous' WebProcess content longer,
277 until the new WebProcess has something interesting to display. Once this is implemented,
278 we'll likely be able to drop the early snapshotting logic.
280 * UIProcess/WebPageProxy.cpp:
281 (WebKit::WebPageProxy::recordAutomaticNavigationSnapshot):
282 (WebKit::WebPageProxy::continueNavigationInNewProcess):
283 (WebKit::WebPageProxy::restoreFromSessionState):
284 (WebKit::WebPageProxy::didCommitLoadForFrame):
285 * UIProcess/WebPageProxy.h:
286 (WebKit::WebPageProxy::suppressNextAutomaticNavigationSnapshot):
288 2018-09-11 Woodrow Wang <woodrow_wang@apple.com>
290 Add Web API Statistics Collection
291 https://bugs.webkit.org/show_bug.cgi?id=187773
292 <rdar://problem/44155162>
294 Reviewed by Brent Fulgham.
296 * Shared/WebCoreArgumentCoders.cpp:
297 (IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
298 (IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
299 * UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
301 == Rolled over to ChangeLog-2018-09-11 ==