Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(376)

Unified Diff: chrome/browser/extensions/api/automation_internal/automation_internal_api.cc

Issue 407493002: Revert of Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
diff --git a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
index a2b93f8cbe1b76a5564daab8a7f29b1eaec61aa1..62b038ea4bd37fe7504819db6003213966cd4573 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
@@ -16,8 +16,8 @@
#include "chrome/common/extensions/api/automation_internal.h"
#include "chrome/common/extensions/manifest_handlers/automation.h"
#include "content/public/browser/ax_event_notification_details.h"
-#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
+#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/web_contents.h"
@@ -78,11 +78,11 @@
details, browser_context_);
}
- virtual void RenderFrameDeleted(
- content::RenderFrameHost* render_frame_host) OVERRIDE {
+ virtual void RenderViewDeleted(
+ content::RenderViewHost* render_view_host) OVERRIDE {
automation_util::DispatchTreeDestroyedEventToAutomation(
- render_frame_host->GetProcess()->GetID(),
- render_frame_host->GetRoutingID(),
+ render_view_host->GetProcess()->GetID(),
+ render_view_host->GetRoutingID(),
browser_context_);
}
@@ -99,35 +99,35 @@
DISALLOW_COPY_AND_ASSIGN(AutomationWebContentsObserver);
};
-// Helper class that implements an action adapter for a |RenderFrameHost|.
-class RenderFrameHostActionAdapter : public AutomationActionAdapter {
+// Helper class that implements an action adapter for a |RenderWidgetHost|.
+class RenderWidgetHostActionAdapter : public AutomationActionAdapter {
public:
- explicit RenderFrameHostActionAdapter(content::RenderFrameHost* rfh)
- : rfh_(rfh) {}
-
- virtual ~RenderFrameHostActionAdapter() {}
+ explicit RenderWidgetHostActionAdapter(content::RenderWidgetHost* rwh)
+ : rwh_(rwh) {}
+
+ virtual ~RenderWidgetHostActionAdapter() {}
// AutomationActionAdapter implementation.
virtual void DoDefault(int32 id) OVERRIDE {
- rfh_->AccessibilityDoDefaultAction(id);
+ rwh_->AccessibilityDoDefaultAction(id);
}
virtual void Focus(int32 id) OVERRIDE {
- rfh_->AccessibilitySetFocus(id);
+ rwh_->AccessibilitySetFocus(id);
}
virtual void MakeVisible(int32 id) OVERRIDE {
- rfh_->AccessibilityScrollToMakeVisible(id, gfx::Rect());
+ rwh_->AccessibilityScrollToMakeVisible(id, gfx::Rect());
}
virtual void SetSelection(int32 id, int32 start, int32 end) OVERRIDE {
- rfh_->AccessibilitySetTextSelection(id, start, end);
+ rwh_->AccessibilitySetTextSelection(id, start, end);
}
private:
- content::RenderFrameHost* rfh_;
-
- DISALLOW_COPY_AND_ASSIGN(RenderFrameHostActionAdapter);
+ content::RenderWidgetHost* rwh_;
+
+ DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostActionAdapter);
};
ExtensionFunction::ResponseAction
@@ -156,8 +156,9 @@
if (!contents)
return RespondNow(Error("No active tab"));
}
- content::RenderFrameHost* rfh = contents->GetMainFrame();
- if (!rfh)
+ content::RenderWidgetHost* rwh =
+ contents->GetRenderWidgetHostView()->GetRenderWidgetHost();
+ if (!rwh)
return RespondNow(Error("Could not enable accessibility for active tab"));
if (!CanRequestAutomation(GetExtension(), automation_info, contents)) {
@@ -165,10 +166,10 @@
Error(kCannotRequestAutomationOnPage, contents->GetURL().spec()));
}
AutomationWebContentsObserver::CreateForWebContents(contents);
- contents->EnableTreeOnlyAccessibilityMode();
+ rwh->EnableTreeOnlyAccessibilityMode();
return RespondNow(
ArgumentList(api::automation_internal::EnableTab::Results::Create(
- rfh->GetProcess()->GetID(), rfh->GetRoutingID())));
+ rwh->GetProcess()->GetID(), rwh->GetRoutingID())));
}
ExtensionFunction::ResponseAction
@@ -191,20 +192,21 @@
" platform does not support desktop automation"));
#endif // defined(OS_CHROMEOS)
}
- content::RenderFrameHost* rfh =
- content::RenderFrameHost::FromID(params->args.process_id,
- params->args.routing_id);
- if (!rfh)
+ content::RenderWidgetHost* rwh = content::RenderWidgetHost::FromID(
+ params->args.process_id, params->args.routing_id);
+
+ if (!rwh)
return RespondNow(Error("Ignoring action on destroyed node"));
-
- const content::WebContents* contents =
- content::WebContents::FromRenderFrameHost(rfh);
- if (!CanRequestAutomation(GetExtension(), automation_info, contents)) {
- return RespondNow(
- Error(kCannotRequestAutomationOnPage, contents->GetURL().spec()));
- }
-
- RenderFrameHostActionAdapter adapter(rfh);
+ if (rwh->IsRenderView()) {
+ const content::RenderViewHost* rvh = content::RenderViewHost::From(rwh);
+ const content::WebContents* contents =
+ content::WebContents::FromRenderViewHost(rvh);
+ if (!CanRequestAutomation(GetExtension(), automation_info, contents)) {
+ return RespondNow(
+ Error(kCannotRequestAutomationOnPage, contents->GetURL().spec()));
+ }
+ }
+ RenderWidgetHostActionAdapter adapter(rwh);
return RouteActionToAdapter(params.get(), &adapter);
}

Powered by Google App Engine
This is Rietveld 408576698