// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_VIEW_HOST_DELEGATE_H_ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_VIEW_HOST_DELEGATE_H_ #include <stdint.h> #include <optional> #include "base/functional/callback.h" #include "base/process/kill.h" #include "content/browser/dom_storage/session_storage_namespace_impl.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "net/base/load_states.h" #include "services/network/public/mojom/attribution.mojom-forward.h" #include "third_party/blink/public/common/page/color_provider_color_maps.h" #include "third_party/skia/include/core/SkColor.h" namespace blink { namespace web_pref { struct WebPreferences; } struct RendererPreferences; } // namespace blink namespace content { class RenderViewHost; class RenderViewHostDelegateView; // // RenderViewHostDelegate // // An interface implemented by an object interested in knowing about the state // of the RenderViewHost. // // This interface currently encompasses every type of message that was // previously being sent by WebContents itself. Some of these notifications // may not be relevant to all users of RenderViewHost and we should consider // exposing a more generic Send function on RenderViewHost and a response // listener here to serve that need. // // Layering note: Generally, WebContentsImpl should be the only implementation // of this interface. In particular, WebContents::FromRenderViewHost() assumes // this. This delegate interface is useful for renderer_host/ to make requests // to WebContentsImpl, as renderer_host/ is not permitted to know the // WebContents type (see //renderer_host/DEPS). class RenderViewHostDelegate { … }; } // namespace content #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_VIEW_HOST_DELEGATE_H_