Commit 14c3b4be authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Remove GetFocusedFrame from RenderWidgetHostOwnerDelegate

This CL removes RenderWidgetHostOwnerDelegate::GetFocusedFrame
and GetFocusedFrame from RenderViewHostImpl inherited from
RenderWidgetHostOwnerDelegate since it could get the FrameTree
from RenderWidgetHostDelegate::GetFrameTree() introduced on [1].

[1] https://crrev.com/c/2245450

Bug: 1094841
Change-Id: I7c427942d4ce2b93cde70ed19946d7411799cc85
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2253598
Commit-Queue: Julie Kim <jkim@igalia.com>
Reviewed-by: default avatardanakj <danakj@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#782850}
parent 241f6ef4
...@@ -524,10 +524,6 @@ WebPreferences RenderViewHostImpl::GetWebkitPreferencesForWidget() { ...@@ -524,10 +524,6 @@ WebPreferences RenderViewHostImpl::GetWebkitPreferencesForWidget() {
return GetWebkitPreferences(); return GetWebkitPreferences();
} }
FrameTreeNode* RenderViewHostImpl::GetFocusedFrame() {
return GetDelegate()->GetFrameTree()->GetFocusedFrame();
}
void RenderViewHostImpl::ShowContextMenu(RenderFrameHost* render_frame_host, void RenderViewHostImpl::ShowContextMenu(RenderFrameHost* render_frame_host,
const ContextMenuParams& params) { const ContextMenuParams& params) {
GetDelegate()->GetDelegateView()->ShowContextMenu(render_frame_host, params); GetDelegate()->GetDelegateView()->ShowContextMenu(render_frame_host, params);
......
...@@ -283,7 +283,6 @@ class CONTENT_EXPORT RenderViewHostImpl ...@@ -283,7 +283,6 @@ class CONTENT_EXPORT RenderViewHostImpl
bool IsMainFrameActive() override; bool IsMainFrameActive() override;
bool IsNeverComposited() override; bool IsNeverComposited() override;
WebPreferences GetWebkitPreferencesForWidget() override; WebPreferences GetWebkitPreferencesForWidget() override;
FrameTreeNode* GetFocusedFrame() override;
void ShowContextMenu(RenderFrameHost* render_frame_host, void ShowContextMenu(RenderFrameHost* render_frame_host,
const ContextMenuParams& params) override; const ContextMenuParams& params) override;
......
...@@ -19,7 +19,6 @@ class Rect; ...@@ -19,7 +19,6 @@ class Rect;
namespace content { namespace content {
struct ContextMenuParams; struct ContextMenuParams;
class FrameTreeNode;
struct NativeWebKeyboardEvent; struct NativeWebKeyboardEvent;
class RenderFrameHost; class RenderFrameHost;
struct WebPreferences; struct WebPreferences;
...@@ -80,9 +79,6 @@ class CONTENT_EXPORT RenderWidgetHostOwnerDelegate { ...@@ -80,9 +79,6 @@ class CONTENT_EXPORT RenderWidgetHostOwnerDelegate {
// between all widgets for the page. // between all widgets for the page.
virtual WebPreferences GetWebkitPreferencesForWidget() = 0; virtual WebPreferences GetWebkitPreferencesForWidget() = 0;
// Returns the focused frame.
virtual FrameTreeNode* GetFocusedFrame() = 0;
// Shows a context menu that is built using the context information // Shows a context menu that is built using the context information
// provided in |params|. // provided in |params|.
virtual void ShowContextMenu(RenderFrameHost* render_frame_host, virtual void ShowContextMenu(RenderFrameHost* render_frame_host,
......
...@@ -505,11 +505,8 @@ ui::TextInputClient* RenderWidgetHostViewAura::GetTextInputClient() { ...@@ -505,11 +505,8 @@ ui::TextInputClient* RenderWidgetHostViewAura::GetTextInputClient() {
} }
RenderFrameHostImpl* RenderWidgetHostViewAura::GetFocusedFrame() const { RenderFrameHostImpl* RenderWidgetHostViewAura::GetFocusedFrame() const {
RenderWidgetHostOwnerDelegate* owner_delegate = host()->owner_delegate(); FrameTreeNode* focused_frame =
// TODO(crbug.com/689777): Child local roots do not work here? host()->delegate()->GetFrameTree()->GetFocusedFrame();
if (!owner_delegate)
return nullptr;
FrameTreeNode* focused_frame = owner_delegate->GetFocusedFrame();
if (!focused_frame) if (!focused_frame)
return nullptr; return nullptr;
return focused_frame->current_frame_host(); return focused_frame->current_frame_host();
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "components/viz/test/test_latest_local_surface_id_lookup_delegate.h" #include "components/viz/test/test_latest_local_surface_id_lookup_delegate.h"
#include "content/browser/browser_main_loop.h" #include "content/browser/browser_main_loop.h"
#include "content/browser/compositor/test/test_image_transport_factory.h" #include "content/browser/compositor/test/test_image_transport_factory.h"
#include "content/browser/frame_host/frame_tree.h"
#include "content/browser/gpu/compositor_util.h" #include "content/browser/gpu/compositor_util.h"
#include "content/browser/renderer_host/delegated_frame_host.h" #include "content/browser/renderer_host/delegated_frame_host.h"
#include "content/browser/renderer_host/delegated_frame_host_client_aura.h" #include "content/browser/renderer_host/delegated_frame_host_client_aura.h"
...@@ -51,6 +52,7 @@ ...@@ -51,6 +52,7 @@
#include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_event_handler.h" #include "content/browser/renderer_host/render_widget_host_view_event_handler.h"
#include "content/browser/renderer_host/text_input_manager.h" #include "content/browser/renderer_host/text_input_manager.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/browser/web_contents/web_contents_view_aura.h" #include "content/browser/web_contents/web_contents_view_aura.h"
#include "content/common/input_messages.h" #include "content/common/input_messages.h"
#include "content/common/view_messages.h" #include "content/common/view_messages.h"
...@@ -58,6 +60,7 @@ ...@@ -58,6 +60,7 @@
#include "content/public/browser/context_menu_params.h" #include "content/public/browser/context_menu_params.h"
#include "content/public/browser/keyboard_event_processing_result.h" #include "content/public/browser/keyboard_event_processing_result.h"
#include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view_delegate.h" #include "content/public/browser/web_contents_view_delegate.h"
#include "content/public/common/content_features.h" #include "content/public/common/content_features.h"
#include "content/public/test/fake_frame_widget.h" #include "content/public/test/fake_frame_widget.h"
...@@ -477,10 +480,16 @@ class RenderWidgetHostViewAuraTest : public testing::Test { ...@@ -477,10 +480,16 @@ class RenderWidgetHostViewAuraTest : public testing::Test {
auto* widget_host = MockRenderWidgetHostImpl::Create( auto* widget_host = MockRenderWidgetHostImpl::Create(
delegates_.back().get(), process_host_, routing_id); delegates_.back().get(), process_host_, routing_id);
delegates_.back()->set_widget_host(widget_host); delegates_.back()->set_widget_host(widget_host);
delegates_.back()->set_frame_tree(GetFrameTree());
widget_host->Init(); widget_host->Init();
return new FakeRenderWidgetHostViewAura(widget_host); return new FakeRenderWidgetHostViewAura(widget_host);
} }
FrameTree* GetFrameTree() {
DCHECK(web_contents_);
return static_cast<WebContentsImpl*>(web_contents_.get())->GetFrameTree();
}
void DestroyView(FakeRenderWidgetHostViewAura* view) { void DestroyView(FakeRenderWidgetHostViewAura* view) {
// For guest-views, |view_| is not the view used by |widget_host_|. // For guest-views, |view_| is not the view used by |widget_host_|.
RenderWidgetHostImpl* host = view->host(); RenderWidgetHostImpl* host = view->host();
...@@ -504,11 +513,15 @@ class RenderWidgetHostViewAuraTest : public testing::Test { ...@@ -504,11 +513,15 @@ class RenderWidgetHostViewAuraTest : public testing::Test {
sink_ = &process_host_->sink(); sink_ = &process_host_->sink();
web_contents_ = WebContents::Create(WebContents::CreateParams(
browser_context_.get(), SiteInstance::Create(browser_context_.get())));
int32_t routing_id = process_host_->GetNextRoutingID(); int32_t routing_id = process_host_->GetNextRoutingID();
delegates_.push_back(std::make_unique<MockRenderWidgetHostDelegate>()); delegates_.push_back(std::make_unique<MockRenderWidgetHostDelegate>());
parent_host_ = MockRenderWidgetHostImpl::Create(delegates_.back().get(), parent_host_ = MockRenderWidgetHostImpl::Create(delegates_.back().get(),
process_host_, routing_id); process_host_, routing_id);
delegates_.back()->set_widget_host(parent_host_); delegates_.back()->set_widget_host(parent_host_);
delegates_.back()->set_frame_tree(GetFrameTree());
parent_view_ = new RenderWidgetHostViewAura(parent_host_); parent_view_ = new RenderWidgetHostViewAura(parent_host_);
parent_view_->InitAsChild(nullptr); parent_view_->InitAsChild(nullptr);
aura::client::ParentWindowWithContext(parent_view_->GetNativeView(), aura::client::ParentWindowWithContext(parent_view_->GetNativeView(),
...@@ -531,6 +544,7 @@ class RenderWidgetHostViewAuraTest : public testing::Test { ...@@ -531,6 +544,7 @@ class RenderWidgetHostViewAuraTest : public testing::Test {
parent_view_->Destroy(); parent_view_->Destroy();
delete parent_host_; delete parent_host_;
web_contents_.reset();
browser_context_.reset(); browser_context_.reset();
aura_test_helper_->TearDown(); aura_test_helper_->TearDown();
...@@ -611,6 +625,7 @@ class RenderWidgetHostViewAuraTest : public testing::Test { ...@@ -611,6 +625,7 @@ class RenderWidgetHostViewAuraTest : public testing::Test {
BrowserTaskEnvironment task_environment_; BrowserTaskEnvironment task_environment_;
std::unique_ptr<aura::test::AuraTestHelper> aura_test_helper_; std::unique_ptr<aura::test::AuraTestHelper> aura_test_helper_;
std::unique_ptr<BrowserContext> browser_context_; std::unique_ptr<BrowserContext> browser_context_;
std::unique_ptr<WebContents> web_contents_;
std::vector<std::unique_ptr<MockRenderWidgetHostDelegate>> delegates_; std::vector<std::unique_ptr<MockRenderWidgetHostDelegate>> delegates_;
MockRenderProcessHost* process_host_; MockRenderProcessHost* process_host_;
...@@ -3198,6 +3213,7 @@ TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFrames) { ...@@ -3198,6 +3213,7 @@ TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFrames) {
hosts[i] = MockRenderWidgetHostImpl::Create(delegates_.back().get(), hosts[i] = MockRenderWidgetHostImpl::Create(delegates_.back().get(),
process_host_, routing_id); process_host_, routing_id);
delegates_.back()->set_widget_host(hosts[i]); delegates_.back()->set_widget_host(hosts[i]);
delegates_.back()->set_frame_tree(GetFrameTree());
hosts[i]->Init(); hosts[i]->Init();
views[i] = new FakeRenderWidgetHostViewAura(hosts[i]); views[i] = new FakeRenderWidgetHostViewAura(hosts[i]);
// Prevent frames from being skipped due to resize, this test does not // Prevent frames from being skipped due to resize, this test does not
...@@ -3312,6 +3328,7 @@ TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) { ...@@ -3312,6 +3328,7 @@ TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) {
hosts[i] = MockRenderWidgetHostImpl::Create(delegates_.back().get(), hosts[i] = MockRenderWidgetHostImpl::Create(delegates_.back().get(),
process_host_, routing_id); process_host_, routing_id);
delegates_.back()->set_widget_host(hosts[i]); delegates_.back()->set_widget_host(hosts[i]);
delegates_.back()->set_frame_tree(GetFrameTree());
hosts[i]->Init(); hosts[i]->Init();
views[i] = new FakeRenderWidgetHostViewAura(hosts[i]); views[i] = new FakeRenderWidgetHostViewAura(hosts[i]);
views[i]->InitAsChild(nullptr); views[i]->InitAsChild(nullptr);
......
...@@ -77,4 +77,8 @@ RenderViewHostDelegateView* MockRenderWidgetHostDelegate::GetDelegateView() { ...@@ -77,4 +77,8 @@ RenderViewHostDelegateView* MockRenderWidgetHostDelegate::GetDelegateView() {
return &rvh_delegate_view_; return &rvh_delegate_view_;
} }
FrameTree* MockRenderWidgetHostDelegate::GetFrameTree() {
return frame_tree_;
}
} // namespace content } // namespace content
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
namespace content { namespace content {
class FrameTree;
class RenderWidgetHostImpl; class RenderWidgetHostImpl;
class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
...@@ -33,6 +34,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { ...@@ -33,6 +34,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
KeyboardEventProcessingResult result) { KeyboardEventProcessingResult result) {
pre_handle_keyboard_event_result_ = result; pre_handle_keyboard_event_result_ = result;
} }
void set_frame_tree(FrameTree* frame_tree) { frame_tree_ = frame_tree; }
void CreateInputEventRouter(); void CreateInputEventRouter();
// RenderWidgetHostDelegate: // RenderWidgetHostDelegate:
...@@ -56,6 +58,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { ...@@ -56,6 +58,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
TextInputManager* GetTextInputManager() override; TextInputManager* GetTextInputManager() override;
bool IsFullscreenForCurrentTab() override; bool IsFullscreenForCurrentTab() override;
RenderViewHostDelegateView* GetDelegateView() override; RenderViewHostDelegateView* GetDelegateView() override;
FrameTree* GetFrameTree() override;
private: private:
std::unique_ptr<NativeWebKeyboardEvent> last_event_; std::unique_ptr<NativeWebKeyboardEvent> last_event_;
...@@ -67,6 +70,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { ...@@ -67,6 +70,7 @@ class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
KeyboardEventProcessingResult pre_handle_keyboard_event_result_ = KeyboardEventProcessingResult pre_handle_keyboard_event_result_ =
KeyboardEventProcessingResult::NOT_HANDLED; KeyboardEventProcessingResult::NOT_HANDLED;
StubRenderViewHostDelegateView rvh_delegate_view_; StubRenderViewHostDelegateView rvh_delegate_view_;
FrameTree* frame_tree_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(MockRenderWidgetHostDelegate); DISALLOW_COPY_AND_ASSIGN(MockRenderWidgetHostDelegate);
}; };
......
...@@ -30,8 +30,4 @@ StubRenderWidgetHostOwnerDelegate::GetWebkitPreferencesForWidget() { ...@@ -30,8 +30,4 @@ StubRenderWidgetHostOwnerDelegate::GetWebkitPreferencesForWidget() {
return {}; return {};
} }
FrameTreeNode* StubRenderWidgetHostOwnerDelegate::GetFocusedFrame() {
return nullptr;
}
} // namespace content } // namespace content
...@@ -26,7 +26,6 @@ class StubRenderWidgetHostOwnerDelegate : public RenderWidgetHostOwnerDelegate { ...@@ -26,7 +26,6 @@ class StubRenderWidgetHostOwnerDelegate : public RenderWidgetHostOwnerDelegate {
bool IsMainFrameActive() override; bool IsMainFrameActive() override;
bool IsNeverComposited() override; bool IsNeverComposited() override;
WebPreferences GetWebkitPreferencesForWidget() override; WebPreferences GetWebkitPreferencesForWidget() override;
FrameTreeNode* GetFocusedFrame() override;
void ShowContextMenu(RenderFrameHost* render_frame_host, void ShowContextMenu(RenderFrameHost* render_frame_host,
const ContextMenuParams& params) override {} const ContextMenuParams& params) override {}
}; };
......
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