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 {
// Used to listen for new log messages and events from the agent.
interface WebRtcLoggingClient {
// 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);
// Called in response to |Stop| being called on the agent. Any pending
......
......@@ -425,6 +425,11 @@ interface FileSystemInstance {
// Requests MediaProvider to scan specified files.
// When the specified file does not exist, the corresponding entry in
// 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);
// Reloads and refreshes entries in MediaStore under |directory_path|.
......
......@@ -48,7 +48,11 @@ interface PrintCompositor {
// Sets the accessibility tree for the overall document. This is needed
// 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);
// Requests to composite a page and convert it into a PDF file.
......
......@@ -106,6 +106,10 @@ interface Frame {
// Requests a one-time snapshot of the accessibility tree without enabling
// accessibility if it wasn't already enabled.
// 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)
=> (ax.mojom.AXTreeUpdate snapshot);
......@@ -529,6 +533,10 @@ interface FrameHost {
mojo_base.mojom.String16 source_id);
// 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);
// Requests that the given URL be opened in the specified manner.
......
......@@ -10,5 +10,9 @@ import "media/mojo/mojom/media_types.mojom";
// media pipeline. It sends media event logs from renderer to browser.
interface MediaInternalLogRecords {
// 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);
};
\ No newline at end of file
};
......@@ -10,6 +10,10 @@ import "mojo/public/mojom/base/values.mojom";
interface WebUIHost {
// A message from HTML-based UI. When (trusted) JavaScript calls
// 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);
};
......
......@@ -53,6 +53,11 @@ interface CompositorFrameSink {
// For successful swaps, the implementation must call
// DidReceiveCompositorFrameAck() asynchronously when the frame has been
// 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,
CompositorFrame frame,
HitTestRegionList? hit_test_region_list,
......
......@@ -104,6 +104,10 @@ struct FileChooserResult {
interface FileChooser {
// Ask a user to choose files interactively. Null |result| is returned if the
// 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);
// Ask to enumerate files which are descendants of the specified directory.
......
......@@ -142,11 +142,16 @@ interface DevToolsSessionHost {
// |updates| are the session state deltas for future reattach (see
// DevToolsAgent), may be missing if the state did not change since
// last time.
//
// TODO(crbug.com/1142000): Investigate whether it's possible to remove
// [UnlimitedSize] from these messages.
[UnlimitedSize]
DispatchProtocolResponse(DevToolsMessage message,
int32 call_id,
DevToolsSessionState? updates);
// Dispatches protocol notification to a remote debugging client.
[UnlimitedSize]
DispatchProtocolNotification(DevToolsMessage message,
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