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