Commit 4da6ac01 authored by Ken Rockot's avatar Ken Rockot Committed by Commit Bot

Mark several messages as [UnlimitedSize]

These messages were identified as occasionally exceeding the soft
message size limit. No functional changes here, only suppressions and
TODOs.

Bug: 1141980,1141985,1141987,1141990,1142000,1142008,1142011,1142013
Change-Id: Icd1a060b9bd082bfa204f44a3a12a43c8812c0fb
Fixed: 1142019
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2495789
Commit-Queue: Ken Rockot <rockot@google.com>
Auto-Submit: Ken Rockot <rockot@google.com>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821018}
parent e556124a
...@@ -15,6 +15,11 @@ struct WebRtcLoggingMessage { ...@@ -15,6 +15,11 @@ struct WebRtcLoggingMessage {
// Used to listen for new log messages and events from the agent. // Used to listen for new log messages and events from the agent.
interface WebRtcLoggingClient { interface WebRtcLoggingClient {
// New log messages are sent in batches to limit the frequency of calls. // New log messages are sent in batches to limit the frequency of calls.
//
// TODO(crbug.com/1142013): Investigate whether the [UnlimitedSize] tag can
// be removed here by either chunking the messages into multiple calls or
// using something like BigString for WebRtcLoggingMessage's data.
[UnlimitedSize]
OnAddMessages(array<WebRtcLoggingMessage> messages); OnAddMessages(array<WebRtcLoggingMessage> messages);
// Called in response to |Stop| being called on the agent. Any pending // Called in response to |Stop| being called on the agent. Any pending
......
...@@ -425,6 +425,11 @@ interface FileSystemInstance { ...@@ -425,6 +425,11 @@ interface FileSystemInstance {
// Requests MediaProvider to scan specified files. // Requests MediaProvider to scan specified files.
// When the specified file does not exist, the corresponding entry in // When the specified file does not exist, the corresponding entry in
// MediaProvider is removed. // MediaProvider is removed.
//
// NOTE: We use [UnlimitedSize] here because `paths` may be arbitrarily large
// and there have been crash dumps indicating that it actually happens with
// this message. See https://crbug.com/1142019.
[UnlimitedSize]
RequestMediaScan@0(array<string> paths); RequestMediaScan@0(array<string> paths);
// Reloads and refreshes entries in MediaStore under |directory_path|. // Reloads and refreshes entries in MediaStore under |directory_path|.
......
...@@ -48,7 +48,11 @@ interface PrintCompositor { ...@@ -48,7 +48,11 @@ interface PrintCompositor {
// Sets the accessibility tree for the overall document. This is needed // Sets the accessibility tree for the overall document. This is needed
// to generate tagged (accessible) PDFs. // to generate tagged (accessible) PDFs.
[EnableIf=enable_tagged_pdf] //
// TODO(crbug.com/1141990): AXTreeUpdate can be quite large, hence the
// [UnlimitedSize] tag. It may be possible to remove this if AXTreeUpdate
// can be reworked to avoid very large serialized values.
[EnableIf=enable_tagged_pdf, UnlimitedSize]
SetAccessibilityTree(ax.mojom.AXTreeUpdate accessibility_tree); SetAccessibilityTree(ax.mojom.AXTreeUpdate accessibility_tree);
// Requests to composite a page and convert it into a PDF file. // Requests to composite a page and convert it into a PDF file.
......
...@@ -106,6 +106,10 @@ interface Frame { ...@@ -106,6 +106,10 @@ interface Frame {
// Requests a one-time snapshot of the accessibility tree without enabling // Requests a one-time snapshot of the accessibility tree without enabling
// accessibility if it wasn't already enabled. // accessibility if it wasn't already enabled.
// See ui/accessibility/ax_mode.h for valid values of |ax_mode|. // See ui/accessibility/ax_mode.h for valid values of |ax_mode|.
//
// TODO(crbug.com/1141990): AXTreeUpdate can be quite large, hence the
// [UnlimitedSize] tag. It may be possible to remove this if AXTreeUpdate
// can be reworked to avoid very large serialized values.
SnapshotAccessibilityTree(uint32 ax_mode) SnapshotAccessibilityTree(uint32 ax_mode)
=> (ax.mojom.AXTreeUpdate snapshot); => (ax.mojom.AXTreeUpdate snapshot);
...@@ -529,6 +533,10 @@ interface FrameHost { ...@@ -529,6 +533,10 @@ interface FrameHost {
mojo_base.mojom.String16 source_id); mojo_base.mojom.String16 source_id);
// Notifies the browser that this frame has new session history information. // Notifies the browser that this frame has new session history information.
//
// NOTE: PageState can be quite large when serialized, and its message
// structure must remain stable; hence [UnlimitedSize] for this message.
[UnlimitedSize]
UpdateState(PageState state); UpdateState(PageState state);
// Requests that the given URL be opened in the specified manner. // Requests that the given URL be opened in the specified manner.
......
...@@ -10,5 +10,9 @@ import "media/mojo/mojom/media_types.mojom"; ...@@ -10,5 +10,9 @@ import "media/mojo/mojom/media_types.mojom";
// media pipeline. It sends media event logs from renderer to browser. // media pipeline. It sends media event logs from renderer to browser.
interface MediaInternalLogRecords { interface MediaInternalLogRecords {
// Sends batched media logs to MediaInternalLogRecordsImpl::Log // Sends batched media logs to MediaInternalLogRecordsImpl::Log
//
// TODO(crbug.com/1141985): Investigate whether we can avoid degenerate cases
// leading to the very large messages which necessitate [UnlimitedSize].
[UnlimitedSize]
Log(array<media.mojom.MediaLogRecord> events); Log(array<media.mojom.MediaLogRecord> events);
}; };
\ No newline at end of file
...@@ -10,6 +10,10 @@ import "mojo/public/mojom/base/values.mojom"; ...@@ -10,6 +10,10 @@ import "mojo/public/mojom/base/values.mojom";
interface WebUIHost { interface WebUIHost {
// A message from HTML-based UI. When (trusted) JavaScript calls // A message from HTML-based UI. When (trusted) JavaScript calls
// send(message, args), this message is sent to the browser. // send(message, args), this message is sent to the browser.
//
// Because `args` may be an arbitrarily complex object, we tag this with
// [UnlimitedSize] to ignore soft message length limits within Mojo.
[UnlimitedSize]
Send(string message, mojo_base.mojom.ListValue args); Send(string message, mojo_base.mojom.ListValue args);
}; };
......
...@@ -53,6 +53,11 @@ interface CompositorFrameSink { ...@@ -53,6 +53,11 @@ interface CompositorFrameSink {
// For successful swaps, the implementation must call // For successful swaps, the implementation must call
// DidReceiveCompositorFrameAck() asynchronously when the frame has been // DidReceiveCompositorFrameAck() asynchronously when the frame has been
// processed in order to unthrottle the next frame. // processed in order to unthrottle the next frame.
//
// TODO(crbug.com/1141980): Investigate whether it's possible to alter the
// CompositorFrame structure to be less likely to exceed soft message size
// limits and remove [UnlimitedSize] here.
[UnlimitedSize]
SubmitCompositorFrame(LocalSurfaceId local_surface_id, SubmitCompositorFrame(LocalSurfaceId local_surface_id,
CompositorFrame frame, CompositorFrame frame,
HitTestRegionList? hit_test_region_list, HitTestRegionList? hit_test_region_list,
......
...@@ -104,6 +104,10 @@ struct FileChooserResult { ...@@ -104,6 +104,10 @@ struct FileChooserResult {
interface FileChooser { interface FileChooser {
// Ask a user to choose files interactively. Null |result| is returned if the // Ask a user to choose files interactively. Null |result| is returned if the
// user canceled a dialog, or the request is not accepted. // user canceled a dialog, or the request is not accepted.
//
// TODO(crbug.com/1142011): Consider chunking the reply into multiple messages
// on a separate interface to avoid one very large IPC in some corner cases.
[UnlimitedSize]
OpenFileChooser(FileChooserParams params) => (FileChooserResult? result); OpenFileChooser(FileChooserParams params) => (FileChooserResult? result);
// Ask to enumerate files which are descendants of the specified directory. // Ask to enumerate files which are descendants of the specified directory.
......
...@@ -142,11 +142,16 @@ interface DevToolsSessionHost { ...@@ -142,11 +142,16 @@ interface DevToolsSessionHost {
// |updates| are the session state deltas for future reattach (see // |updates| are the session state deltas for future reattach (see
// DevToolsAgent), may be missing if the state did not change since // DevToolsAgent), may be missing if the state did not change since
// last time. // last time.
//
// TODO(crbug.com/1142000): Investigate whether it's possible to remove
// [UnlimitedSize] from these messages.
[UnlimitedSize]
DispatchProtocolResponse(DevToolsMessage message, DispatchProtocolResponse(DevToolsMessage message,
int32 call_id, int32 call_id,
DevToolsSessionState? updates); DevToolsSessionState? updates);
// Dispatches protocol notification to a remote debugging client. // Dispatches protocol notification to a remote debugging client.
[UnlimitedSize]
DispatchProtocolNotification(DevToolsMessage message, DispatchProtocolNotification(DevToolsMessage message,
DevToolsSessionState? updates); DevToolsSessionState? updates);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment