Improve serialization logic
[WebKit-https.git] / Source / WebKit / UIProcess / WebPageProxy.messages.in
1 # Copyright (C) 2010-2019 Apple Inc. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions
5 # are met:
6 # 1.  Redistributions of source code must retain the above copyright
7 #     notice, this list of conditions and the following disclaimer.
8 # 2.  Redistributions in binary form must reproduce the above copyright
9 #     notice, this list of conditions and the following disclaimer in the
10 #     documentation and/or other materials provided with the distribution.
11 #
12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
13 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
14 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
15 # DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
16 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
18 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
19 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
20 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
21 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
22
23 messages -> WebPageProxy {
24     # UI messages
25     CreateNewPage(struct WebKit::FrameInfoData originatingFrameInfoData, Optional<WebKit::WebPageProxyIdentifier> originatingPageID, WebCore::ResourceRequest request, struct WebCore::WindowFeatures windowFeatures, struct WebKit::NavigationActionData navigationActionData) -> (Optional<WebCore::PageIdentifier> newPageID, Optional<WebKit::WebPageCreationParameters> newPageParameters) Synchronous
26     ShowPage()
27     ClosePage(bool stopResponsivenessTimer)
28     RunJavaScriptAlert(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, String message) -> () Synchronous
29     RunJavaScriptConfirm(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, String message) -> (bool result) Synchronous
30     RunJavaScriptPrompt(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, String message, String defaultValue) -> (String result) Synchronous
31     MouseDidMoveOverElement(struct WebKit::WebHitTestResultData hitTestResultData, uint32_t modifiers, WebKit::UserData userData)
32
33 #if ENABLE(NETSCAPE_PLUGIN_API)
34     UnavailablePluginButtonClicked(uint32_t pluginUnavailabilityReason, String mimeType, String pluginURLString, String pluginspageAttributeURLString, String frameURLString, String pageURLString)
35 #endif // ENABLE(NETSCAPE_PLUGIN_API)
36 #if ENABLE(WEBGL)
37     WebGLPolicyForURL(URL url) -> (uint32_t loadPolicy) Synchronous
38     ResolveWebGLPolicyForURL(URL url) -> (uint32_t loadPolicy) Synchronous
39 #endif // ENABLE(WEBGL)
40     DidChangeViewportProperties(struct WebCore::ViewportAttributes attributes)
41     DidReceiveEvent(uint32_t type, bool handled)
42 #if !PLATFORM(IOS_FAMILY)
43     SetCursor(WebCore::Cursor cursor)
44     SetCursorHiddenUntilMouseMoves(bool hiddenUntilMouseMoves)
45 #endif
46     SetStatusText(String statusText)
47     SetToolTip(String toolTip)
48     SetFocus(bool focused)
49     TakeFocus(uint32_t direction)
50     FocusedFrameChanged(Optional<WebCore::FrameIdentifier> frameID)
51     FrameSetLargestFrameChanged(Optional<WebCore::FrameIdentifier> frameID)
52     SetRenderTreeSize(uint64_t treeSize)
53     SetToolbarsAreVisible(bool toolbarsAreVisible)
54     GetToolbarsAreVisible() -> (bool toolbarsAreVisible) Synchronous
55     SetMenuBarIsVisible(bool menuBarIsVisible)
56     GetMenuBarIsVisible() -> (bool menuBarIsVisible) Synchronous
57     SetStatusBarIsVisible(bool statusBarIsVisible)
58     GetStatusBarIsVisible() -> (bool statusBarIsVisible) Synchronous
59     SetIsResizable(bool isResizable)
60     SetWindowFrame(WebCore::FloatRect windowFrame)
61     GetWindowFrame() -> (WebCore::FloatRect windowFrame) Synchronous
62     ScreenToRootView(WebCore::IntPoint screenPoint) -> (WebCore::IntPoint windowPoint) Synchronous
63     RootViewToScreen(WebCore::IntRect rect) -> (WebCore::IntRect screenFrame) Synchronous
64     AccessibilityScreenToRootView(WebCore::IntPoint screenPoint) -> (WebCore::IntPoint windowPoint) Synchronous
65     RootViewToAccessibilityScreen(WebCore::IntRect rect) -> (WebCore::IntRect screenFrame) Synchronous
66
67 #if PLATFORM(COCOA)
68     ShowValidationMessage(WebCore::IntRect anchorRect, String message)
69     HideValidationMessage()
70 #endif
71
72     RunBeforeUnloadConfirmPanel(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, String message) -> (bool shouldClose) Synchronous
73     PageDidScroll()
74     RunOpenPanel(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, struct WebCore::FileChooserSettings parameters)
75     ShowShareSheet(struct WebCore::ShareDataWithParsedURL shareData, uint64_t callbackID)
76     PrintFrame(WebCore::FrameIdentifier frameID) -> () Synchronous
77     RunModal()
78     NotifyScrollerThumbIsVisibleInRect(WebCore::IntRect scrollerThumb)
79     RecommendedScrollbarStyleDidChange(int32_t newStyle)
80     DidChangeScrollbarsForMainFrame(bool hasHorizontalScrollbar, bool hasVerticalScrollbar)
81     DidChangeScrollOffsetPinningForMainFrame(bool pinnedToLeftSide, bool pinnedToRightSide, bool pinnedToTopSide, bool pinnedToBottomSide)
82     DidChangePageCount(unsigned pageCount)
83     PageExtendedBackgroundColorDidChange(WebCore::Color backgroundColor)
84 #if ENABLE(NETSCAPE_PLUGIN_API)
85     DidFailToInitializePlugin(String mimeType, String frameURLString, String pageURLString)
86     DidBlockInsecurePluginVersion(String mimeType, String pluginURLString, String frameURLString, String pageURLString, bool replacementObscured)
87 #endif // ENABLE(NETSCAPE_PLUGIN_API)
88     SetCanShortCircuitHorizontalWheelEvents(bool canShortCircuitHorizontalWheelEvents)
89
90     DidChangeContentSize(WebCore::IntSize newSize)
91     DidChangeIntrinsicContentSize(WebCore::IntSize newIntrinsicContentSize)
92
93 #if ENABLE(INPUT_TYPE_COLOR)
94     ShowColorPicker(WebCore::Color initialColor, WebCore::IntRect elementRect, Vector<WebCore::Color> suggestions);
95     SetColorPickerColor(WebCore::Color color);
96     EndColorPicker();
97 #endif
98
99 #if ENABLE(DATALIST_ELEMENT)
100     ShowDataListSuggestions(struct WebCore::DataListSuggestionInformation suggestionInformation);
101     HandleKeydownInDataList(String key);
102     EndDataListSuggestions();
103 #endif
104
105     # Policy messages
106     DecidePolicyForResponse(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, WebCore::ResourceResponse response, WebCore::ResourceRequest request, bool canShowMIMEType, String downloadAttribute, uint64_t listenerID, WebKit::UserData userData)
107     DecidePolicyForNavigationActionAsync(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, Optional<WebKit::WebPageProxyIdentifier> originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, IPC::FormDataReference requestBody, WebCore::ResourceResponse redirectResponse, WebKit::UserData userData, uint64_t listenerID)
108     DecidePolicyForNavigationActionSync(WebCore::FrameIdentifier frameID, bool isMainFrame, struct WebCore::SecurityOriginData frameSecurityOrigin, WebCore::PolicyCheckIdentifier policyCheckIdentifier, uint64_t navigationID, struct WebKit::NavigationActionData navigationActionData, struct WebKit::FrameInfoData originatingFrameInfoData, Optional<WebKit::WebPageProxyIdentifier> originatingPageID, WebCore::ResourceRequest originalRequest, WebCore::ResourceRequest request, IPC::FormDataReference requestBody, WebCore::ResourceResponse redirectResponse, WebKit::UserData userData) -> (WebCore::PolicyCheckIdentifier policyCheckIdentifier, enum:uint8_t WebCore::PolicyAction policyAction, uint64_t newNavigationID, WebKit::DownloadID downloadID, Optional<WebKit::WebsitePoliciesData> websitePolicies) Synchronous
109     DecidePolicyForNewWindowAction(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, WebCore::PolicyCheckIdentifier policyCheckIdentifier, struct WebKit::NavigationActionData navigationActionData, WebCore::ResourceRequest request, String frameName, uint64_t listenerID, WebKit::UserData userData)
110     UnableToImplementPolicy(WebCore::FrameIdentifier frameID, WebCore::ResourceError error, WebKit::UserData userData)
111
112     # Progress messages
113     DidChangeProgress(double value)
114     DidFinishProgress()
115     DidStartProgress()
116
117     SetNetworkRequestsInProgress(bool networkRequestsInProgress)
118
119     # Frame lifetime messages
120     DidCreateMainFrame(WebCore::FrameIdentifier frameID)
121     DidCreateSubframe(WebCore::FrameIdentifier frameID)
122
123     DidCreateWindow(WebCore::FrameIdentifier frameID, struct WebCore::GlobalWindowIdentifier windowIdentifier)
124
125     # Frame load messages
126     DidStartProvisionalLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, URL url, URL unreachableURL, WebKit::UserData userData)
127     DidReceiveServerRedirectForProvisionalLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, WebCore::ResourceRequest request, WebKit::UserData userData)
128     WillPerformClientRedirectForFrame(WebCore::FrameIdentifier frameID, String url, double delay, enum:bool WebCore::LockBackForwardList lockBackForwardList)
129     DidCancelClientRedirectForFrame(WebCore::FrameIdentifier frameID)
130     DidChangeProvisionalURLForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, URL url)
131     DidFailProvisionalLoadForFrame(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData frameSecurityOrigin, uint64_t navigationID, String provisionalURL, WebCore::ResourceError error, enum:bool WebCore::WillContinueLoading willContinueLoading, WebKit::UserData userData)
132     DidCommitLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, String mimeType, bool hasCustomContentProvider, uint32_t loadType, WebCore::CertificateInfo certificateInfo, bool containsPluginDocument, Optional<WebCore::HasInsecureContent> forcedHasInsecureContent, WebKit::UserData userData)
133     DidFailLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, WebCore::ResourceError error, WebKit::UserData userData)
134     DidFinishDocumentLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, WebKit::UserData userData)
135     DidFinishLoadForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, WebKit::UserData userData)
136     DidFirstLayoutForFrame(WebCore::FrameIdentifier frameID, WebKit::UserData userData)
137     DidFirstVisuallyNonEmptyLayoutForFrame(WebCore::FrameIdentifier frameID, WebKit::UserData userData)
138     DidReachLayoutMilestone(OptionSet<WebCore::LayoutMilestone> layoutMilestones)
139     DidReceiveTitleForFrame(WebCore::FrameIdentifier frameID, String title, WebKit::UserData userData)
140     DidDisplayInsecureContentForFrame(WebCore::FrameIdentifier frameID, WebKit::UserData userData)
141     DidRunInsecureContentForFrame(WebCore::FrameIdentifier frameID, WebKit::UserData userData)
142     DidDetectXSSForFrame(WebCore::FrameIdentifier frameID, WebKit::UserData userData)
143     DidSameDocumentNavigationForFrame(WebCore::FrameIdentifier frameID, uint64_t navigationID, uint32_t type, URL url, WebKit::UserData userData)
144     DidChangeMainDocument(WebCore::FrameIdentifier frameID)
145     DidExplicitOpenForFrame(WebCore::FrameIdentifier frameID, URL url)
146     DidDestroyNavigation(uint64_t navigationID)
147
148     HasInsecureContent() -> (enum:bool WebCore::HasInsecureContent hasInsecureContent) Synchronous
149
150     MainFramePluginHandlesPageScaleGestureDidChange(bool mainFramePluginHandlesPageScaleGesture)
151
152     FrameDidBecomeFrameSet(WebCore::FrameIdentifier frameID, bool value)
153
154     # History client messages.
155     DidNavigateWithNavigationData(struct WebKit::WebNavigationDataStore store, WebCore::FrameIdentifier frameID)
156     DidPerformClientRedirect(String sourceURLString, String destinationURLString, WebCore::FrameIdentifier frameID)
157     DidPerformServerRedirect(String sourceURLString, String destinationURLString, WebCore::FrameIdentifier frameID)
158     DidUpdateHistoryTitle(String title, String url, WebCore::FrameIdentifier frameID)
159
160     # Custom representations
161     DidFinishLoadingDataForCustomContentProvider(String suggestedFilename, IPC::DataReference data)
162
163     # Forms messages
164     WillSubmitForm(WebCore::FrameIdentifier frameID, WebCore::FrameIdentifier sourceFrameID, Vector<std::pair<String, String>> textFieldValues, uint64_t listenerID, WebKit::UserData userData)
165
166     # Callback messages
167     VoidCallback(WebKit::CallbackID callbackID)
168     DataCallback(IPC::SharedBufferDataReference resultData, WebKit::CallbackID callbackID)
169     ImageCallback(WebKit::ShareableBitmap::Handle bitmapHandle, WebKit::CallbackID callbackID)
170     StringCallback(String resultString, WebKit::CallbackID callbackID)
171     InvalidateStringCallback(WebKit::CallbackID callbackID)
172     ScriptValueCallback(IPC::DataReference resultData, bool hadException, struct WebCore::ExceptionDetails details, WebKit::CallbackID callbackID)
173     ComputedPagesCallback(Vector<WebCore::IntRect> pageRects, double totalScaleFactorForPrinting, WebCore::RectEdges<float> computedPageMargin, WebKit::CallbackID callbackID)
174     ValidateCommandCallback(String command, bool isEnabled, int32_t state, WebKit::CallbackID callbackID)
175     EditingRangeCallback(struct WebKit::EditingRange range, WebKit::CallbackID callbackID)
176     UnsignedCallback(uint64_t result, WebKit::CallbackID callbackID)
177     RectForCharacterRangeCallback(WebCore::IntRect rect, struct WebKit::EditingRange actualRange, WebKit::CallbackID callbackID)
178 #if ENABLE(APPLICATION_MANIFEST)
179     ApplicationManifestCallback(Optional<WebCore::ApplicationManifest> manifest, WebKit::CallbackID callbackID)
180 #endif
181 #if PLATFORM(MAC)
182     AttributedStringForCharacterRangeCallback(struct WebKit::AttributedString string, struct WebKit::EditingRange actualRange, WebKit::CallbackID callbackID)
183     FontAtSelectionCallback(struct WebKit::FontInfo fontInfo, double fontSize, bool selectionHasMultipleFonts, WebKit::CallbackID callbackID)
184 #endif
185     FontAttributesCallback(struct WebCore::FontAttributes attributes, WebKit::CallbackID callbackID)
186 #if PLATFORM(IOS_FAMILY)
187     GestureCallback(WebCore::IntPoint point, uint32_t gestureType, uint32_t gestureState, uint32_t flags, WebKit::CallbackID callbackID)
188     TouchesCallback(WebCore::IntPoint point, uint32_t touches, uint32_t flags, WebKit::CallbackID callbackID)
189     SelectionContextCallback(String selectedText, String beforeText, String afterText, WebKit::CallbackID callbackID)
190     InterpretKeyEvent(struct WebKit::EditorState state, bool isCharEvent) -> (bool handled) Synchronous
191     DidReceivePositionInformation(struct WebKit::InteractionInformationAtPosition information)
192     SaveImageToLibrary(WebKit::SharedMemory::Handle handle, uint64_t size)
193     ShowPlaybackTargetPicker(bool hasVideo, WebCore::IntRect elementRect, enum:uint8_t WebCore::RouteSharingPolicy policy, String routingContextUID)
194     CommitPotentialTapFailed()
195     DidNotHandleTapAsClick(WebCore::IntPoint point)
196     DidCompleteSyntheticClick()
197     DisableDoubleTapGesturesDuringTapIfNecessary(uint64_t requestID)
198     HandleSmartMagnificationInformationForPotentialTap(uint64_t requestID, WebCore::FloatRect renderRect, bool fitEntireRect, double viewportMinimumScale, double viewportMaximumScale, bool nodeIsRootLevel)
199     SelectionRectsCallback(Vector<WebCore::SelectionRect> selectionRects, WebKit::CallbackID callbackID);
200 #endif
201 #if ENABLE(DATA_DETECTION)
202     SetDataDetectionResult(struct WebKit::DataDetectionResult dataDetectionResult)
203 #endif
204 #if PLATFORM(GTK)
205     PrintFinishedCallback(WebCore::ResourceError error, WebKit::CallbackID callbackID)
206 #endif
207 #if PLATFORM(COCOA)
208     DrawToPDFCallback(IPC::DataReference pdfData, WebKit::CallbackID callbackID)
209     MachSendRightCallback(MachSendRight sendRight, WebKit::CallbackID callbackID)
210     NowPlayingInfoCallback(bool active, bool registeredAsNowPlayingApplication, String title, double duration, double elapsedTime, uint64_t uniqueIdentifier, WebKit::CallbackID callbackID)
211 #endif
212
213     PageScaleFactorDidChange(double scaleFactor)
214     PluginScaleFactorDidChange(double zoomFactor)
215     PluginZoomFactorDidChange(double zoomFactor)
216
217 #if USE(ATK)
218     # Support for connecting the Accessibility worlds of the UI and the Web processes
219     BindAccessibilityTree(String plugID)
220 #endif
221
222 #if PLATFORM(GTK)
223     SetInputMethodState(bool enabled);
224 #endif
225
226     # BackForward messages
227     BackForwardAddItem(struct WebKit::BackForwardListItemState itemState)
228     BackForwardGoToItem(struct WebCore::BackForwardItemIdentifier itemID) -> (WebKit::SandboxExtension::Handle sandboxExtensionHandle) Synchronous
229     BackForwardItemAtIndex(int32_t itemIndex) -> (Optional<WebCore::BackForwardItemIdentifier> itemID) Synchronous
230     BackForwardBackListCount() -> (uint32_t count) Synchronous
231     BackForwardForwardListCount() -> (uint32_t count) Synchronous
232     BackForwardClear()
233     WillGoToBackForwardListItem(struct WebCore::BackForwardItemIdentifier itemID, bool inBackForwardCache)
234
235     # Undo/Redo messages
236     RegisterEditCommandForUndo(uint64_t commandID, String label)
237     ClearAllEditCommands()
238     RegisterInsertionUndoGrouping()
239     CanUndoRedo(enum:bool WebKit::UndoOrRedo undoOrRedo) -> (bool result) Synchronous
240     ExecuteUndoRedo(enum:bool WebKit::UndoOrRedo undoOrRedo) -> () Synchronous
241
242     # Diagnostic messages logging
243     LogDiagnosticMessage(String message, String description, enum:bool WebCore::ShouldSample shouldSample)
244     LogDiagnosticMessageWithResult(String message, String description, uint32_t result, enum:bool WebCore::ShouldSample shouldSample)
245     LogDiagnosticMessageWithValue(String message, String description, double value, unsigned significantFigures, enum:bool WebCore::ShouldSample shouldSample)
246     LogDiagnosticMessageWithEnhancedPrivacy(String message, String description, enum:bool WebCore::ShouldSample shouldSample)
247     LogDiagnosticMessageWithValueDictionary(String message, String description, WebCore::DiagnosticLoggingClient::ValueDictionary value, enum:bool WebCore::ShouldSample shouldSample)
248
249     # Performance logging
250     LogScrollingEvent(uint32_t eventType, MonotonicTime timestamp, uint64_t data)
251
252     # Editor notifications
253     EditorStateChanged(struct WebKit::EditorState editorState)
254     CompositionWasCanceled()
255     SetHasHadSelectionChangesFromUserInteraction(bool hasHadUserSelectionChanges)
256     SetIsTouchBarUpdateSupressedForHiddenContentEditable(bool isTouchBarUpdateSupressed)
257     SetIsNeverRichlyEditableForTouchBar(bool isNeverRichlyEditable)
258     RequestDOMPasteAccess(WebCore::IntRect elementRect, String originIdentifier) -> (enum:uint8_t WebCore::DOMPasteAccessResponse response) Synchronous
259
260     # Find messages
261     DidCountStringMatches(String string, uint32_t matchCount)
262     SetTextIndicator(struct WebCore::TextIndicatorData indicator, uint64_t lifetime)
263     ClearTextIndicator()
264     DidFindString(String string, Vector<WebCore::IntRect> matchRect, uint32_t matchCount, int32_t matchIndex, bool didWrapAround)
265     DidFailToFindString(String string)
266     DidFindStringMatches(String string, Vector<Vector<WebCore::IntRect>> matches, int32_t firstIndexAfterSelection)
267     DidGetImageForFindMatch(WebKit::ShareableBitmap::Handle contentImageHandle, uint32_t matchIndex)
268
269     # PopupMenu messages
270     ShowPopupMenu(WebCore::IntRect rect, uint64_t textDirection, Vector<WebKit::WebPopupItem> items, int32_t selectedIndex, struct WebKit::PlatformPopupMenuData data)
271     HidePopupMenu()
272
273 #if ENABLE(CONTEXT_MENUS)
274     ShowContextMenu(WebKit::ContextMenuContextData contextMenuContextData, WebKit::UserData userData)
275 #endif
276
277     # Database messages
278     ExceededDatabaseQuota(WebCore::FrameIdentifier frameID, String originIdentifier, String databaseName, String databaseDisplayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage) -> (uint64_t newQuota) Synchronous
279
280     # Application cache messages
281     ReachedApplicationCacheOriginQuota(String originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded) -> (uint64_t newQuota) Synchronous
282
283     # Geolocation messages
284     RequestGeolocationPermissionForFrame(uint64_t geolocationID, WebCore::FrameIdentifier frameID, String originIdentifier)
285
286 #if ENABLE(MEDIA_STREAM)
287     # MediaSteam messages
288     RequestUserMediaPermissionForFrame(uint64_t userMediaID, WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData userMediaDocumentOriginIdentifier, struct WebCore::SecurityOriginData topLevelDocumentOriginIdentifier, struct WebCore::MediaStreamRequest request)
289     EnumerateMediaDevicesForFrame(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData userMediaDocumentOriginIdentifier, struct WebCore::SecurityOriginData topLevelDocumentOriginIdentifier) -> (Vector<WebCore::CaptureDevice> devices, String mediaDeviceIdentifierHashSalt) Async
290     BeginMonitoringCaptureDevices()
291 #endif
292
293     # Notification messages
294     RequestNotificationPermission(uint64_t requestID, String originIdentifier)
295     ShowNotification(String title, String body, String iconURL, String tag, String lang, enum:uint8_t WebCore::NotificationDirection dir, String originIdentifier, uint64_t notificationID)
296     CancelNotification(uint64_t notificationID)
297     ClearNotifications(Vector<uint64_t> notificationIDs)
298     DidDestroyNotification(uint64_t notificationID)
299
300     # Spelling and grammar messages
301 #if USE(UNIFIED_TEXT_CHECKING)
302     CheckTextOfParagraph(String text, OptionSet<WebCore::TextCheckingType> checkingTypes, int32_t insertionPoint) -> (Vector<WebCore::TextCheckingResult> results) Synchronous
303 #endif
304     CheckSpellingOfString(String text) -> (int32_t misspellingLocation, int32_t misspellingLength) Synchronous
305     CheckGrammarOfString(String text) -> (Vector<WebCore::GrammarDetail> results, int32_t badGrammarLocation, int32_t badGrammarLength) Synchronous
306     SpellingUIIsShowing() -> (bool isShowing) Synchronous
307     UpdateSpellingUIWithMisspelledWord(String misspelledWord)
308     UpdateSpellingUIWithGrammarString(String badGrammarPhrase, struct WebCore::GrammarDetail grammarDetail)
309     GetGuessesForWord(String word, String context, int32_t insertionPoint) -> (Vector<String> guesses) Synchronous
310     LearnWord(String word)
311     IgnoreWord(String word)
312     RequestCheckingOfString(uint64_t requestID, WebCore::TextCheckingRequestData request, int32_t insertionPoint)
313
314     # Drag and drop messages
315 #if ENABLE(DRAG_SUPPORT)
316     DidPerformDragControllerAction(uint64_t dragOperation, enum:uint8_t WebCore::DragHandlingMethod dragHandlingMethod, bool mouseIsOverFileInput, unsigned numberOfItemsToBeAccepted, WebCore::IntRect insertionRect, WebCore::IntRect editableElementRect)
317     DidEndDragging();
318 #endif
319 #if PLATFORM(COCOA) && ENABLE(DRAG_SUPPORT)
320     StartDrag(struct WebCore::DragItem dragItem, WebKit::ShareableBitmap::Handle dragImage)
321     SetPromisedDataForImage(String pasteboardName, WebKit::SharedMemory::Handle imageHandle, uint64_t imageSize, String filename, String extension, String title, String url, String visibleURL, WebKit::SharedMemory::Handle archiveHandle, uint64_t archiveSize)
322 #endif
323 #if PLATFORM(GTK) && ENABLE(DRAG_SUPPORT)
324     StartDrag(struct WebKit::WebSelectionData selection, uint64_t dragOperation, WebKit::ShareableBitmap::Handle dragImage)
325 #endif
326
327 #if ENABLE(DRAG_SUPPORT)
328     DidPerformDragOperation(bool handled)
329 #endif
330
331 #if ENABLE(DATA_INTERACTION)
332     DidHandleDragStartRequest(bool started)
333     DidHandleAdditionalDragItemsRequest(bool added)
334     WillReceiveEditDragSnapshot()
335     DidReceiveEditDragSnapshot(Optional<WebCore::TextIndicatorData> textIndicator)
336 #endif
337
338 #if PLATFORM(COCOA)
339     # Dictionary support.
340     DidPerformDictionaryLookup(struct WebCore::DictionaryPopupInfo dictionaryPopupInfo)
341
342     # Keyboard input support messages
343     ExecuteSavedCommandBySelector(String selector) -> (bool handled) Synchronous
344
345     # Remote accessibility messages
346     RegisterWebProcessAccessibilityToken(IPC::DataReference data)
347
348     # Plug-in complex text input support messages
349     PluginFocusOrWindowFocusChanged(uint64_t pluginComplexTextInputIdentifier, bool pluginHasFocusAndWindowHasFocus)
350     SetPluginComplexTextInputState(uint64_t pluginComplexTextInputIdentifier, uint64_t complexTextInputState)
351
352     # Speech messages
353     GetIsSpeaking() -> (bool isSpeaking) Synchronous
354     Speak(String string)
355     StopSpeaking()
356
357     MakeFirstResponder()
358     AssistiveTechnologyMakeFirstResponder()
359
360     # Spotlight
361     SearchWithSpotlight(String string)
362
363     SearchTheWeb(String string)
364
365     TouchBarMenuDataChanged(WebKit::TouchBarMenuData touchBarMenuData)
366     TouchBarMenuItemDataAdded(struct WebKit::TouchBarMenuItemData touchBarMenuItemData)
367     TouchBarMenuItemDataRemoved(struct WebKit::TouchBarMenuItemData touchBarMenuItemData)
368 #endif
369
370 #if USE(APPKIT)
371     SubstitutionsPanelIsShowing() -> (bool isShowing) Synchronous
372 #endif
373 #if USE(AUTOMATIC_TEXT_REPLACEMENT)
374     toggleSmartInsertDelete()
375     toggleAutomaticQuoteSubstitution()
376     toggleAutomaticLinkDetection()
377     toggleAutomaticDashSubstitution()
378     toggleAutomaticTextReplacement()
379 #endif
380 #if PLATFORM(MAC)
381     # Autocorrection messages
382     ShowCorrectionPanel(int32_t panelType, WebCore::FloatRect boundingBoxOfReplacedString, String replacedString, String replacementString, Vector<String> alternativeReplacementStrings)
383     DismissCorrectionPanel(int32_t reason)
384     DismissCorrectionPanelSoon(int32_t reason) -> (String result) Synchronous
385     RecordAutocorrectionResponse(int32_t response, String replacedString, String replacementString);
386
387     SetEditableElementIsFocused(bool editableElementIsFocused)
388 #endif
389
390 #if USE(DICTATION_ALTERNATIVES)
391     ShowDictationAlternativeUI(WebCore::FloatRect boundingBoxOfDictatedText, uint64_t dictationContext)
392     RemoveDictationAlternatives(uint64_t dictationContext)
393     DictationAlternatives(uint64_t dictationContext) -> (Vector<String> alternatives) Synchronous
394 #endif
395
396 #if PLATFORM(X11)
397     # X11 windowed plugin messages
398     CreatePluginContainer() -> (uint64_t windowID) Synchronous
399     WindowedPluginGeometryDidChange(WebCore::IntRect frameRect, WebCore::IntRect clipRect, uint64_t windowID)
400     WindowedPluginVisibilityDidChange(bool isVisible, uint64_t windowID)
401 #endif
402
403 #if PLATFORM(IOS_FAMILY)
404     CouldNotRestorePageState()
405     RestorePageState(Optional<WebCore::FloatPoint> scrollPosition, WebCore::FloatPoint scrollOrigin, WebCore::RectEdges<float> obscuredInsetsOnSave, double scale)
406     RestorePageCenterAndScale(Optional<WebCore::FloatPoint> unobscuredCenter, double scale)
407     DidGetTapHighlightGeometries(uint64_t requestID, WebCore::Color color, Vector<WebCore::FloatQuad> geometries, WebCore::IntSize topLeftRadius, WebCore::IntSize topRightRadius, WebCore::IntSize bottomLeftRadius, WebCore::IntSize bottomRightRadius, bool nodeHasBuiltInClickHandling)
408
409     ElementDidFocus(struct WebKit::FocusedElementInformation information, bool userIsInteracting, bool blurPreviousNode, OptionSet<WebCore::ActivityState::Flag> activityStateChanges, WebKit::UserData userData)
410     ElementDidBlur()
411     UpdateInputContextAfterBlurringAndRefocusingElement()
412     FocusedElementDidChangeInputMode(enum:uint8_t WebCore::InputMode mode)
413     ScrollingNodeScrollWillStartScroll()
414     ScrollingNodeScrollDidEndScroll()
415     ShowInspectorHighlight(struct WebCore::Highlight highlight)
416     HideInspectorHighlight()
417     FocusedElementInformationCallback(struct WebKit::FocusedElementInformation information, WebKit::CallbackID callbackID)
418
419     ShowInspectorIndication()
420     HideInspectorIndication()
421
422     EnableInspectorNodeSearch()
423     DisableInspectorNodeSearch()
424
425     UpdateStringForFind(String findString)
426     HandleAutocorrectionContext(struct WebKit::WebAutocorrectionContext context)
427 #endif
428
429     DidChangeInspectorFrontendCount(uint64_t count)
430
431     CreateInspectorTarget(String targetId, enum:uint8_t Inspector::InspectorTargetType type)
432     DestroyInspectorTarget(String targetId)
433     SendMessageToInspectorFrontend(String targetId, String message)
434
435     # Search popup menus
436     SaveRecentSearches(String name, Vector<WebCore::RecentSearch> searchItems)
437     LoadRecentSearches(String name) -> (Vector<WebCore::RecentSearch> result) Synchronous
438
439     SavePDFToFileInDownloadsFolder(String suggestedFilename, URL originatingURL, IPC::DataReference data)
440
441 #if PLATFORM(COCOA)
442     SavePDFToTemporaryFolderAndOpenWithNativeApplication(String suggestedFilename, String originatingURLString, IPC::DataReference data, String pdfUUID)
443     OpenPDFFromTemporaryFolderWithNativeApplication(String pdfUUID)
444 #endif
445
446 #if ENABLE(PDFKIT_PLUGIN)
447     ShowPDFContextMenu(struct WebKit::PDFContextMenu contextMenu) -> (Optional<int32_t> selectedItem) Synchronous
448 #endif
449
450 #if ENABLE(NETSCAPE_PLUGIN_API)
451     FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription, bool isUnsupported) Synchronous
452 #endif
453
454     DidUpdateActivityState()
455
456 #if ENABLE(WEB_CRYPTO)
457     WrapCryptoKey(Vector<uint8_t> key) -> (bool succeeded, Vector<uint8_t> wrappedKey) Synchronous
458     UnwrapCryptoKey(Vector<uint8_t> wrappedKey) -> (bool succeeded, Vector<uint8_t> key) Synchronous
459 #endif
460
461
462 #if ENABLE(TELEPHONE_NUMBER_DETECTION)
463 #if PLATFORM(MAC)
464     ShowTelephoneNumberMenu(String telephoneNumber, WebCore::IntPoint point)
465 #endif
466 #endif
467
468 #if USE(QUICK_LOOK)
469     DidStartLoadForQuickLookDocumentInMainFrame(String fileName, String uti)
470     DidFinishLoadForQuickLookDocumentInMainFrame(WebKit::QuickLookDocumentData data)
471     DidRequestPasswordForQuickLookDocumentInMainFrame(String fileName)
472 #endif
473
474 #if ENABLE(CONTENT_FILTERING)
475     ContentFilterDidBlockLoadForFrame(WebCore::ContentFilterUnblockHandler unblockHandler, WebCore::FrameIdentifier frameID)
476 #endif
477
478     IsPlayingMediaDidChange(unsigned state, uint64_t sourceElementID)
479     HandleAutoplayEvent(enum:uint8_t WebCore::AutoplayEvent event, OptionSet<WebCore::AutoplayEventFlags> flags)
480
481 #if ENABLE(MEDIA_SESSION)
482     HasMediaSessionWithActiveMediaElementsDidChange(bool state)
483     MediaSessionMetadataDidChange(WebCore::MediaSessionMetadata metadata);
484     FocusedContentMediaElementDidChange(uint64_t elementID)
485 #endif
486
487 #if PLATFORM(MAC)
488     DidPerformImmediateActionHitTest(struct WebKit::WebHitTestResultData result, bool contentPreventsDefault, WebKit::UserData userData)
489 #endif
490     HandleMessage(String messageName, WebKit::UserData messageBody) WantsConnection
491     HandleSynchronousMessage(String messageName, WebKit::UserData messageBody) -> (WebKit::UserData returnData) Synchronous WantsConnection
492
493     HandleAutoFillButtonClick(WebKit::UserData userData)
494
495     DidResignInputElementStrongPasswordAppearance(WebKit::UserData userData)
496
497     ContentRuleListNotification(URL url, struct WebCore::ContentRuleListResults results)
498
499 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS_FAMILY)
500     AddPlaybackTargetPickerClient(uint64_t contextId)
501     RemovePlaybackTargetPickerClient(uint64_t contextId)
502     ShowPlaybackTargetPicker(uint64_t clientId, WebCore::FloatRect pickerLocation, bool hasVideo)
503     PlaybackTargetPickerClientStateDidChange(uint64_t contextId, unsigned mediaState)
504     SetMockMediaPlaybackTargetPickerEnabled(bool enabled)
505     SetMockMediaPlaybackTargetPickerState(String name, unsigned pickerState)
506 #endif
507
508 #if ENABLE(POINTER_LOCK)
509     RequestPointerLock()
510     RequestPointerUnlock()
511 #endif
512
513     DidFailToSuspendAfterProcessSwap()
514     DidSuspendAfterProcessSwap()
515
516     ImageOrMediaDocumentSizeChanged(WebCore::IntSize newSize)
517
518     UseFixedLayoutDidChange(bool useFixedLayout)
519     FixedLayoutSizeDidChange(WebCore::IntSize fixedLayoutSize)
520
521 #if ENABLE(VIDEO) && USE(GSTREAMER)
522     RequestInstallMissingMediaPlugins(String details, String description)
523 #endif
524
525     DidRestoreScrollPosition()
526
527     GetLoadDecisionForIcon(struct WebCore::LinkIcon icon, WebKit::CallbackID callbackID)
528     FinishedLoadingIcon(WebKit::CallbackID callbackID, IPC::DataReference data);
529
530 #if PLATFORM(MAC)
531     DidHandleAcceptedCandidate()
532 #endif
533
534     SetIsUsingHighPerformanceWebGL(bool isUsingHighPerformanceWebGL)
535
536     StartURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters)
537     StopURLSchemeTask(uint64_t handlerIdentifier, uint64_t taskIdentifier)
538     LoadSynchronousURLSchemeTask(struct WebKit::URLSchemeTaskParameters parameters) -> (WebCore::ResourceResponse response, WebCore::ResourceError error, Vector<char> data) Synchronous
539
540 #if ENABLE(DEVICE_ORIENTATION)
541     ShouldAllowDeviceOrientationAndMotionAccess(WebCore::FrameIdentifier frameID, struct WebCore::SecurityOriginData origin, bool mayPrompt) -> (enum:uint8_t WebCore::DeviceOrientationOrMotionPermissionState permissionState) Async
542 #endif
543
544 #if ENABLE(ATTACHMENT_ELEMENT)
545     RegisterAttachmentIdentifierFromData(String identifier, String contentType, String preferredFileName, IPC::SharedBufferDataReference data)
546     RegisterAttachmentIdentifierFromFilePath(String identifier, String contentType, String filePath)
547     RegisterAttachmentIdentifier(String identifier)
548     registerAttachmentsFromSerializedData(Vector<WebCore::SerializedAttachmentData> data)
549     CloneAttachmentData(String fromIdentifier, String toIdentifier)
550     DidInsertAttachmentWithIdentifier(String identifier, String source, bool hasEnclosingImage)
551     DidRemoveAttachmentWithIdentifier(String identifier)
552     SerializedAttachmentDataForIdentifiers(Vector<String> identifiers) -> (Vector<WebCore::SerializedAttachmentData> seralizedData) Synchronous
553 #endif
554
555     SignedPublicKeyAndChallengeString(unsigned keySizeIndex, String challengeString, URL url) -> (String result) Synchronous
556
557 #if ENABLE(SPEECH_SYNTHESIS)
558     SpeechSynthesisVoiceList() -> (Vector<WebKit::WebSpeechSynthesisVoice> voiceList) Synchronous
559     SpeechSynthesisSpeak(String text, String lang, float volume, float rate, float pitch, MonotonicTime startTime, String voiceURI, String voiceName, String voiceLang, bool localService, bool defaultVoice) -> () Async
560     SpeechSynthesisSetFinishedCallback() -> () Async
561     SpeechSynthesisCancel()
562     SpeechSynthesisPause() -> () Async
563     SpeechSynthesisResume() -> () Async
564 #endif
565
566     ConfigureLoggingChannel(String channelName, enum:uint8_t WTFLogChannelState state, enum:uint8_t WTFLogLevel level)
567
568 #if PLATFORM(GTK)
569     ShowEmojiPicker(WebCore::IntRect caretRect) -> (String result) Async
570 #endif
571
572 #if HAVE(VISIBILITY_PROPAGATION_VIEW)
573     DidCreateContextForVisibilityPropagation(WebKit::LayerHostingContextID contextID);
574 #endif
575
576 #if ENABLE(WEB_AUTHN)
577     SetMockWebAuthenticationConfiguration(struct WebCore::MockWebAuthenticationConfiguration configuration);
578 #endif
579
580 #if PLATFORM(GTK) || PLATFORM(WPE)
581     SendMessageToWebView(struct WebKit::UserMessage userMessage)
582     SendMessageToWebViewWithReply(struct WebKit::UserMessage userMessage) -> (struct WebKit::UserMessage replyMessage) Async
583 #endif
584 }