| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module blink.mojom; |
| |
| import "third_party/blink/public/mojom/loader/referrer.mojom"; |
| import "ui/gfx/geometry/mojom/geometry.mojom"; |
| import "url/mojom/url.mojom"; |
| |
| enum PrerenderRelType { |
| // https://html.spec.whatwg.org/C/#link-type-prerender |
| kPrerender, |
| |
| // https://html.spec.whatwg.org/C/#link-type-next |
| kNext, |
| }; |
| |
| struct PrerenderAttributes { |
| url.mojom.Url url; |
| PrerenderRelType rel_type; |
| blink.mojom.Referrer referrer; |
| gfx.mojom.Size view_size; |
| }; |
| |
| // This interface is used to request NoStatePrefetch from a renderer process to |
| // the browser process. This is created per prerender request, for example, when |
| // a new <link rel=prerender> element is added, when the element's href is |
| // changed, etc. |
| interface NoStatePrefetchProcessor { |
| // Requests the browesr process to start prefetching with |
| // |prerender_attribute|. This must be called only one time before any other |
| // functions. |
| Start(PrerenderAttributes prerender_attribute); |
| |
| // Cancels the ongoing prefetching. This is supposed to be called when the |
| // <link rel=prerender> element is removed, the element's href is changed, |
| // etc. This must be called after Start(). |
| Cancel(); |
| }; |
| |
| // Prerender2 (https://crbug.com/1132746): |
| // This interface is used only when blink::features::kPrerender2 is enabled. |
| // |
| // This interface is used to request prerendering from a renderer process to the |
| // browser process. This is created per prerender request, for example, when a |
| // new <link rel=prerender> element is added, when the element's href is |
| // changed, etc. |
| interface PrerenderProcessor { |
| // Requests the browesr process to start prerendering with |
| // |prerender_attribute|. This must be called only one time before any other |
| // functions. |
| Start(PrerenderAttributes prerender_attribute); |
| |
| // Cancels the ongoing prerendering. This is supposed to be called when the |
| // <link rel=prerender> element is removed, the element's href is changed, |
| // etc. This must be called after Start(). |
| Cancel(); |
| }; |