[Extensions OOPI] Transition ScriptInjection to use RenderFrames

The API for RenderFrames is cleaner than that of blink::WebFrame, and,
generally, since the content layer exists specifically to abstract out blink
stuff, we should use it when we can. (Note this doesn't change it
everywhere, but is a good start.)
Also, update blink::WebFrame to blink::WebLocalFrame where
applicable.

Also clean up the ScriptInjectionCallback interface.

BUG=455776

Review URL: https://codereview.chromium.org/1154643005

Cr-Commit-Position: refs/heads/master@{#332890}
diff --git a/extensions/renderer/programmatic_script_injector.h b/extensions/renderer/programmatic_script_injector.h
index 8caca0f..9aad829 100644
--- a/extensions/renderer/programmatic_script_injector.h
+++ b/extensions/renderer/programmatic_script_injector.h
@@ -13,11 +13,8 @@
 
 struct ExtensionMsg_ExecuteCode_Params;
 
-namespace blink {
-class WebFrame;
-}
-
 namespace content {
+class RenderFrame;
 class RenderView;
 }
 
@@ -27,7 +24,7 @@
 class ProgrammaticScriptInjector : public ScriptInjector {
  public:
   ProgrammaticScriptInjector(const ExtensionMsg_ExecuteCode_Params& params,
-                             blink::WebFrame* web_frame);
+                             content::RenderFrame* render_frame);
   ~ProgrammaticScriptInjector() override;
 
  private:
@@ -40,7 +37,7 @@
   bool ShouldInjectCss(UserScript::RunLocation run_location) const override;
   PermissionsData::AccessType CanExecuteOnFrame(
       const InjectionHost* injection_host,
-      blink::WebFrame* web_frame,
+      blink::WebLocalFrame* web_frame,
       int tab_id) const override;
   std::vector<blink::WebScriptSource> GetJsSources(
       UserScript::RunLocation run_location) const override;