render_widget_host_view_base.patch 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Anonymous <[email protected]>
  3. Date: Thu, 20 Sep 2018 17:46:21 -0700
  4. Subject: render_widget_host_view_base.patch
  5. ... something to do with OSR? and maybe <webview> as well? terrifying.
  6. diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
  7. index c099a8701b7e0451207c21e6ebbe26eac65f0164..8a61b858c0c8a3fdd8522821a14fe369cea2d2fc 100644
  8. --- a/content/browser/renderer_host/render_widget_host_view_base.cc
  9. +++ b/content/browser/renderer_host/render_widget_host_view_base.cc
  10. @@ -690,6 +690,13 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor(
  11. return false;
  12. }
  13. +RenderWidgetHostViewBase* RenderWidgetHostViewBase::CreateViewForWidget(
  14. + RenderWidgetHost* render_widget_host,
  15. + RenderWidgetHost* embedder_render_widget_host,
  16. + WebContentsView* web_contents_view) {
  17. + return web_contents_view->CreateViewForWidget(render_widget_host);
  18. +}
  19. +
  20. void RenderWidgetHostViewBase::ProcessMouseEvent(
  21. const blink::WebMouseEvent& event,
  22. const ui::LatencyInfo& latency) {
  23. diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
  24. index eed8db485e54bb906f3d640f9c6ebd9a58b04c09..f0747ab5597ca286ab29bdd6518784634d740708 100644
  25. --- a/content/browser/renderer_host/render_widget_host_view_base.h
  26. +++ b/content/browser/renderer_host/render_widget_host_view_base.h
  27. @@ -25,8 +25,11 @@
  28. #include "components/viz/host/hit_test/hit_test_query.h"
  29. #include "content/browser/renderer_host/display_feature.h"
  30. #include "content/browser/renderer_host/event_with_latency_info.h"
  31. +#include "content/browser/renderer_host/visible_time_request_trigger.h"
  32. +#include "content/browser/web_contents/web_contents_view.h"
  33. #include "content/common/content_export.h"
  34. #include "content/public/browser/render_frame_metadata_provider.h"
  35. +#include "content/public/browser/render_widget_host.h"
  36. #include "content/public/browser/render_widget_host_view.h"
  37. #include "content/public/common/page_visibility_state.h"
  38. #include "content/public/common/widget_type.h"
  39. @@ -54,7 +57,7 @@
  40. namespace blink {
  41. class WebMouseEvent;
  42. class WebMouseWheelEvent;
  43. -}
  44. +} // namespace blink
  45. namespace ui {
  46. class Compositor;
  47. @@ -71,9 +74,11 @@ class CursorManager;
  48. class MouseWheelPhaseHandler;
  49. class RenderWidgetHostImpl;
  50. class RenderWidgetHostViewBaseObserver;
  51. +class RenderWidgetHostViewGuest;
  52. class SyntheticGestureTarget;
  53. class TextInputManager;
  54. class TouchSelectionControllerClientManager;
  55. +class WebContentsView;
  56. class WebContentsAccessibility;
  57. class DelegatedFrameHost;
  58. @@ -157,6 +162,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
  59. const gfx::Rect& keyboard_rect) override {}
  60. bool IsHTMLFormPopup() const override;
  61. + virtual void InitAsGuest(RenderWidgetHostView* parent_host_view,
  62. + RenderWidgetHostViewGuest* guest_view) {}
  63. +
  64. // This only needs to be overridden by RenderWidgetHostViewBase subclasses
  65. // that handle content embedded within other RenderWidgetHostViews.
  66. gfx::PointF TransformPointToRootCoordSpaceF(
  67. @@ -325,6 +333,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
  68. virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
  69. const ui::LatencyInfo& latency);
  70. + virtual RenderWidgetHostViewBase* CreateViewForWidget(
  71. + RenderWidgetHost* render_widget_host,
  72. + RenderWidgetHost* embedder_render_widget_host,
  73. + WebContentsView* web_contents_view);
  74. +
  75. // Transform a point that is in the coordinate space of a Surface that is
  76. // embedded within the RenderWidgetHostViewBase's Surface to the
  77. // coordinate space of an embedding, or embedded, Surface. Typically this