render_widget_host_view_base.patch 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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 6944f34edbfb7656c19883243ab2eb15f5ce51d9..0a2ddf31689b0d2ba2600a40067f9892b06033a7 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. @@ -662,6 +662,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 abdd3cf7d93ab9a1f80351d38ddcee52664414da..98da92a6d31103dfa0a48e278c3a15ee0533791e 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. @@ -26,8 +26,10 @@
  28. #include "content/browser/renderer_host/display_feature.h"
  29. #include "content/browser/renderer_host/event_with_latency_info.h"
  30. #include "content/browser/renderer_host/visible_time_request_trigger.h"
  31. +#include "content/browser/web_contents/web_contents_view.h"
  32. #include "content/common/content_export.h"
  33. #include "content/public/browser/render_frame_metadata_provider.h"
  34. +#include "content/public/browser/render_widget_host.h"
  35. #include "content/public/browser/render_widget_host_view.h"
  36. #include "content/public/common/page_visibility_state.h"
  37. #include "content/public/common/widget_type.h"
  38. @@ -67,9 +69,11 @@ class CursorManager;
  39. class MouseWheelPhaseHandler;
  40. class RenderWidgetHostImpl;
  41. class RenderWidgetHostViewBaseObserver;
  42. +class RenderWidgetHostViewGuest;
  43. class SyntheticGestureTarget;
  44. class TextInputManager;
  45. class TouchSelectionControllerClientManager;
  46. +class WebContentsView;
  47. class WebCursor;
  48. class WebContentsAccessibility;
  49. class DelegatedFrameHost;
  50. @@ -139,6 +143,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
  51. const gfx::Rect& keyboard_rect) override {}
  52. bool IsHTMLFormPopup() const override;
  53. + virtual void InitAsGuest(RenderWidgetHostView* parent_host_view,
  54. + RenderWidgetHostViewGuest* guest_view) {}
  55. +
  56. // This only needs to be overridden by RenderWidgetHostViewBase subclasses
  57. // that handle content embedded within other RenderWidgetHostViews.
  58. gfx::PointF TransformPointToRootCoordSpaceF(
  59. @@ -290,6 +297,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
  60. virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
  61. const ui::LatencyInfo& latency);
  62. + virtual RenderWidgetHostViewBase* CreateViewForWidget(
  63. + RenderWidgetHost* render_widget_host,
  64. + RenderWidgetHost* embedder_render_widget_host,
  65. + WebContentsView* web_contents_view);
  66. +
  67. // Transform a point that is in the coordinate space of a Surface that is
  68. // embedded within the RenderWidgetHostViewBase's Surface to the
  69. // coordinate space of an embedding, or embedded, Surface. Typically this