821d28eecace043e468617b0cdea2bbee65d8bf6
[WebKit-https.git] / Source / WebKit / ChangeLog
1 2018-09-11  Michael Catanzaro  <mcatanzaro@igalia.com>
2
3         Unreviewed, attempt to fix Apple builds after r235903
4         https://bugs.webkit.org/show_bug.cgi?id=188872
5
6         If it really needs to be inlined, it will need to move to the header....
7
8         * UIProcess/WebPageProxy.cpp:
9         (WebKit::WebPageProxy::pageClient const):
10
11 2018-09-11  Michael Catanzaro  <mcatanzaro@igalia.com>
12
13         Unreviewed, fix build after r235903
14         https://bugs.webkit.org/show_bug.cgi?id=188872
15
16         This broke all ports except GTK. Need to add a missing header.
17
18         * UIProcess/PageClient.h:
19
20 2018-09-11  Pablo Saavedra  <psaavedra@igalia.com>
21
22         Add missing #if ENABLE(VIDEO) WebProcess/FullScreen/WebFullScreenManager.cpp
23         https://bugs.webkit.org/show_bug.cgi?id=189506
24
25         Reviewed by Tim Horton.
26
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)
31
32         * WebProcess/FullScreen/WebFullScreenManager.cpp:
33         (WebKit::WebFullScreenManager::setPIPStandbyElement):
34
35 2018-09-11  Michael Catanzaro  <mcatanzaro@igalia.com>
36
37         WebPageProxy should hold a WeakPtr to its PageClient
38         https://bugs.webkit.org/show_bug.cgi?id=188872
39
40         Reviewed by Ryosuke Niwa.
41
42         This ensures the PageClient reference is always valid when used.
43
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):
257
258 2018-09-11  Chris Dumez  <cdumez@apple.com>
259
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>
263
264         Reviewed by Geoffrey Garen.
265
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
271
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.
275
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.
279
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):
287
288 2018-09-11  Woodrow Wang  <woodrow_wang@apple.com>
289
290         Add Web API Statistics Collection
291         https://bugs.webkit.org/show_bug.cgi?id=187773
292         <rdar://problem/44155162>
293
294         Reviewed by Brent Fulgham.
295
296         * Shared/WebCoreArgumentCoders.cpp:
297         (IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
298         (IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
299         * UIProcess/ResourceLoadStatisticsMemoryStore.cpp:
300
301 == Rolled over to ChangeLog-2018-09-11 ==