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

Unified Diff: components/password_manager/content/browser/content_password_manager_driver.h

Issue 707173004: Refactor Autofill for out of process iframes (OOPIF). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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: components/password_manager/content/browser/content_password_manager_driver.h
diff --git a/components/password_manager/content/browser/content_password_manager_driver.h b/components/password_manager/content/browser/content_password_manager_driver.h
index 3d454a6d5d6a38d488304bafe92dc20d0530957b..d752f072cf570e673b6ae784c8acb05e79a63d9e 100644
--- a/components/password_manager/content/browser/content_password_manager_driver.h
+++ b/components/password_manager/content/browser/content_password_manager_driver.h
@@ -11,7 +11,6 @@
#include "components/password_manager/core/browser/password_generation_manager.h"
#include "components/password_manager/core/browser/password_manager.h"
#include "components/password_manager/core/browser/password_manager_driver.h"
-#include "content/public/browser/web_contents_observer.h"
namespace autofill {
class AutofillManager;
@@ -19,19 +18,31 @@ struct PasswordForm;
}
namespace content {
+struct FrameNavigateParams;
+struct LoadCommittedDetails;
+class RenderFrameHost;
class WebContents;
}
+namespace IPC {
+class Message;
+}
+
namespace password_manager {
-class ContentPasswordManagerDriver : public PasswordManagerDriver,
- public content::WebContentsObserver {
+// There is one ContentPasswordManagerDriver per RenderFrameHost.
+// The lifetime is managed by the ContentPasswordManagerDriverFactory.
+class ContentPasswordManagerDriver : public PasswordManagerDriver {
public:
- ContentPasswordManagerDriver(content::WebContents* web_contents,
+ ContentPasswordManagerDriver(content::RenderFrameHost* render_frame_host,
PasswordManagerClient* client,
autofill::AutofillClient* autofill_client);
~ContentPasswordManagerDriver() override;
+ // Gets the driver for |render_frame_host|.
+ static ContentPasswordManagerDriver* GetForRenderFrameHost(
+ content::RenderFrameHost* render_frame_host);
+
// PasswordManagerDriver implementation.
void FillPasswordForm(
const autofill::PasswordFormFillData& form_data) override;
@@ -52,13 +63,12 @@ class ContentPasswordManagerDriver : public PasswordManagerDriver,
autofill::AutofillManager* GetAutofillManager() override;
PasswordAutofillManager* GetPasswordAutofillManager() override;
- // content::WebContentsObserver overrides.
- bool OnMessageReceived(const IPC::Message& message) override;
- void DidNavigateMainFrame(
- const content::LoadCommittedDetails& details,
- const content::FrameNavigateParams& params) override;
+ bool HandleMessage(const IPC::Message& message);
+ void DidNavigateFrame(const content::LoadCommittedDetails& details,
+ const content::FrameNavigateParams& params);
private:
+ content::RenderFrameHost* render_frame_host_;
PasswordManager password_manager_;
PasswordGenerationManager password_generation_manager_;
PasswordAutofillManager password_autofill_manager_;

Powered by Google App Engine
This is Rietveld 408576698