diff options
-rw-r--r-- | chrome/browser/automation/automation_profile_impl.h | 3 | ||||
-rw-r--r-- | chrome/browser/external_tab_container.h | 6 | ||||
-rw-r--r-- | chrome/renderer/render_view.cc | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/automation/automation_profile_impl.h b/chrome/browser/automation/automation_profile_impl.h index 28b34d9..0af0371 100644 --- a/chrome/browser/automation/automation_profile_impl.h +++ b/chrome/browser/automation/automation_profile_impl.h @@ -15,7 +15,8 @@ class CookieStore; // Automation overrides for profile settings. class AutomationProfileImpl : public Profile { public: - AutomationProfileImpl() : original_profile_(NULL) { + AutomationProfileImpl() : original_profile_(NULL), + tab_handle_(0) { } void Initialize(Profile* original_profile, diff --git a/chrome/browser/external_tab_container.h b/chrome/browser/external_tab_container.h index 0c19ebf..cfee279 100644 --- a/chrome/browser/external_tab_container.h +++ b/chrome/browser/external_tab_container.h @@ -36,7 +36,11 @@ class ExternalTabContainer : public TabContentsDelegate, TabContents* tab_contents() const { return tab_contents_; } // Temporary hack so we can send notifications back - void set_tab_handle(int handle) { tab_handle_ = handle; } + void set_tab_handle(int handle) { + tab_handle_ = handle; + if (automation_profile_.get()) + automation_profile_->set_tab_handle(handle); + } bool Init(Profile* profile, HWND parent, diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index add2fc1..d78dcd3 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -1602,6 +1602,7 @@ WebNavigationPolicy RenderView::PolicyForNavigationAction( last_top_level_navigation_page_id_ != page_id_ && // Not interested in reloads. type != WebKit::WebNavigationTypeReload && + type != WebKit::WebNavigationTypeFormSubmitted && // Must be a top level frame. frame->parent() == NULL) { // Skip if navigation is on the same page (using '#'). |