diff options
author | mad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-26 19:58:32 +0000 |
---|---|---|
committer | mad@chromium.org <mad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-26 19:58:32 +0000 |
commit | f701930f2094bea08a1aa8425c8d704b8f3ef579 (patch) | |
tree | 6e94e3064dae27712be507f744c3fb1a6480a241 | |
parent | b03794d3a1bb536655207d73a78f115e3722893d (diff) | |
download | chromium_src-f701930f2094bea08a1aa8425c8d704b8f3ef579.zip chromium_src-f701930f2094bea08a1aa8425c8d704b8f3ef579.tar.gz chromium_src-f701930f2094bea08a1aa8425c8d704b8f3ef579.tar.bz2 |
Committing for Eric Dingle.
http://codereview.chromium.org/890005
BUG=0
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42800 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/automation/automation_provider_win.cc | 2 | ||||
-rw-r--r-- | chrome/browser/external_tab_container.cc | 14 | ||||
-rw-r--r-- | chrome/browser/external_tab_container.h | 8 | ||||
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.cc | 14 | ||||
-rw-r--r-- | chrome/browser/tab_contents/tab_contents_delegate.h | 3 | ||||
-rw-r--r-- | chrome/test/automation/automation_messages.h | 7 | ||||
-rw-r--r-- | chrome_frame/chrome_active_document.cc | 3 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_activex.cc | 2 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_automation.cc | 26 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_automation.h | 9 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_npapi.cc | 2 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_npapi_unittest.cc | 13 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_plugin.h | 17 | ||||
-rw-r--r-- | chrome_frame/delete_chrome_history.cc | 2 | ||||
-rw-r--r-- | chrome_frame/test/automation_client_mock.cc | 84 | ||||
-rw-r--r-- | chrome_frame/test/chrome_frame_automation_mock.h | 27 |
16 files changed, 174 insertions, 59 deletions
diff --git a/chrome/browser/automation/automation_provider_win.cc b/chrome/browser/automation/automation_provider_win.cc index 9539498..c352018 100644 --- a/chrome/browser/automation/automation_provider_win.cc +++ b/chrome/browser/automation/automation_provider_win.cc @@ -325,7 +325,7 @@ void AutomationProvider::CreateExternalTab( external_tab_container->Init(profile, settings.parent, settings.dimensions, settings.style, settings.load_requests_via_automation, settings.handle_top_level_requests, NULL, settings.initial_url, - settings.referrer); + settings.referrer, settings.infobars_enabled); if (AddExternalTab(external_tab_container)) { TabContents* tab_contents = external_tab_container->tab_contents(); diff --git a/chrome/browser/external_tab_container.cc b/chrome/browser/external_tab_container.cc index e6d1211..4c46493 100644 --- a/chrome/browser/external_tab_container.cc +++ b/chrome/browser/external_tab_container.cc @@ -54,7 +54,8 @@ ExternalTabContainer::ExternalTabContainer( external_method_factory_(this), enabled_extension_automation_(false), waiting_for_unload_event_(false), - pending_(false) { + pending_(false), + infobars_enabled_(true) { } ExternalTabContainer::~ExternalTabContainer() { @@ -69,7 +70,8 @@ bool ExternalTabContainer::Init(Profile* profile, bool handle_top_level_requests, TabContents* existing_contents, const GURL& initial_url, - const GURL& referrer) { + const GURL& referrer, + bool infobars_enabled) { if (IsWindow()) { NOTREACHED(); return false; @@ -77,6 +79,7 @@ bool ExternalTabContainer::Init(Profile* profile, load_requests_via_automation_ = load_requests_via_automation; handle_top_level_requests_ = handle_top_level_requests; + infobars_enabled_ = infobars_enabled; set_window_style(WS_POPUP | WS_CLIPCHILDREN); views::WidgetWin::Init(NULL, bounds); @@ -351,7 +354,8 @@ void ExternalTabContainer::AddNewContents(TabContents* source, handle_top_level_requests_, new_contents, GURL(), - GURL()); + GURL(), + true); if (result) { uintptr_t cookie = reinterpret_cast<uintptr_t>(new_container.get()); @@ -379,6 +383,10 @@ void ExternalTabContainer::TabContentsCreated(TabContents* new_contents) { RegisterRenderViewHostForAutomation(rvh, true); } +bool ExternalTabContainer::infobars_enabled() { + return infobars_enabled_; +} + void ExternalTabContainer::ActivateContents(TabContents* contents) { } diff --git a/chrome/browser/external_tab_container.h b/chrome/browser/external_tab_container.h index 123d13c..dcf30ee 100644 --- a/chrome/browser/external_tab_container.h +++ b/chrome/browser/external_tab_container.h @@ -65,7 +65,8 @@ class ExternalTabContainer : public TabContentsDelegate, bool handle_top_level_requests, TabContents* existing_tab_contents, const GURL& initial_url, - const GURL& referrer); + const GURL& referrer, + bool infobars_enabled); // Unhook the keystroke listener and notify about the closing TabContents. // This function gets called from three places, which is fine. @@ -202,6 +203,8 @@ class ExternalTabContainer : public TabContentsDelegate, virtual void TabContentsCreated(TabContents* new_contents); + virtual bool infobars_enabled(); + protected: // Overridden from views::WidgetWin: virtual LRESULT OnCreate(LPCREATESTRUCT create_struct); @@ -325,6 +328,9 @@ class ExternalTabContainer : public TabContentsDelegate, // from the host. bool pending_; + // Set to true if the ExternalTabContainer if infobars should be enabled. + bool infobars_enabled_; + DISALLOW_COPY_AND_ASSIGN(ExternalTabContainer); }; diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc index 83b6f55..f739a9e 100644 --- a/chrome/browser/tab_contents/tab_contents.cc +++ b/chrome/browser/tab_contents/tab_contents.cc @@ -955,6 +955,11 @@ bool TabContents::FocusLocationBarByDefault() { } void TabContents::AddInfoBar(InfoBarDelegate* delegate) { + if (delegate_ && !delegate_->infobars_enabled()) { + delegate->InfoBarClosed(); + return; + } + // Look through the existing InfoBarDelegates we have for a match. If we've // already got one that matches, then we don't add the new one. for (int i = 0; i < infobar_delegate_count(); ++i) { @@ -981,6 +986,10 @@ void TabContents::AddInfoBar(InfoBarDelegate* delegate) { } void TabContents::RemoveInfoBar(InfoBarDelegate* delegate) { + if (delegate_ && !delegate_->infobars_enabled()) { + return; + } + std::vector<InfoBarDelegate*>::iterator it = find(infobar_delegates_.begin(), infobar_delegates_.end(), delegate); if (it != infobar_delegates_.end()) { @@ -1001,6 +1010,11 @@ void TabContents::RemoveInfoBar(InfoBarDelegate* delegate) { void TabContents::ReplaceInfoBar(InfoBarDelegate* old_delegate, InfoBarDelegate* new_delegate) { + if (delegate_ && !delegate_->infobars_enabled()) { + new_delegate->InfoBarClosed(); + return; + } + std::vector<InfoBarDelegate*>::iterator it = find(infobar_delegates_.begin(), infobar_delegates_.end(), old_delegate); DCHECK(it != infobar_delegates_.end()); diff --git a/chrome/browser/tab_contents/tab_contents_delegate.h b/chrome/browser/tab_contents/tab_contents_delegate.h index 25653f4..9a84f83 100644 --- a/chrome/browser/tab_contents/tab_contents_delegate.h +++ b/chrome/browser/tab_contents/tab_contents_delegate.h @@ -283,6 +283,9 @@ class TabContentsDelegate : public AutomationResourceRoutingDelegate { // typically happens when popups are created. virtual void TabContentsCreated(TabContents* new_contents) {} + // Returns whether infobars are enabled. Overrideable by child classes. + virtual bool infobars_enabled() { return true; } + protected: ~TabContentsDelegate() {} }; diff --git a/chrome/test/automation/automation_messages.h b/chrome/test/automation/automation_messages.h index 42d4731..22ec4d6 100644 --- a/chrome/test/automation/automation_messages.h +++ b/chrome/test/automation/automation_messages.h @@ -356,6 +356,7 @@ struct ExternalTabSettings { bool handle_top_level_requests; GURL initial_url; GURL referrer; + bool infobars_enabled; }; // Traits for ExternalTabSettings structure to pack/unpack. @@ -371,6 +372,7 @@ struct ParamTraits<ExternalTabSettings> { WriteParam(m, p.handle_top_level_requests); WriteParam(m, p.initial_url); WriteParam(m, p.referrer); + WriteParam(m, p.infobars_enabled); } static bool Read(const Message* m, void** iter, param_type* p) { return ReadParam(m, iter, &p->parent) && @@ -380,7 +382,8 @@ struct ParamTraits<ExternalTabSettings> { ReadParam(m, iter, &p->load_requests_via_automation) && ReadParam(m, iter, &p->handle_top_level_requests) && ReadParam(m, iter, &p->initial_url) && - ReadParam(m, iter, &p->referrer); + ReadParam(m, iter, &p->referrer) && + ReadParam(m, iter, &p->infobars_enabled); } static void Log(const param_type& p, std::wstring* l) { l->append(L"("); @@ -399,6 +402,8 @@ struct ParamTraits<ExternalTabSettings> { LogParam(p.initial_url, l); l->append(L", "); LogParam(p.referrer, l); + l->append(L", "); + LogParam(p.infobars_enabled, l); l->append(L")"); } }; diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc index ee79e1a..4f92e70 100644 --- a/chrome_frame/chrome_active_document.cc +++ b/chrome_frame/chrome_active_document.cc @@ -1007,7 +1007,8 @@ bool ChromeActiveDocument::LaunchUrl(const std::wstring& url, automation_client_->SetUrlFetcher(&url_fetcher_); - if (InitializeAutomation(GetHostProcessName(false), L"", IsIEInPrivate())) + if (InitializeAutomation(GetHostProcessName(false), L"", IsIEInPrivate(), + false)) return true; return false; diff --git a/chrome_frame/chrome_frame_activex.cc b/chrome_frame/chrome_frame_activex.cc index a88c5f1..f982072 100644 --- a/chrome_frame/chrome_frame_activex.cc +++ b/chrome_frame/chrome_frame_activex.cc @@ -447,7 +447,7 @@ HRESULT ChromeFrameActivex::IOleObject_SetClientSite( url_fetcher_.set_frame_busting(!is_privileged_); automation_client_->SetUrlFetcher(&url_fetcher_); if (!InitializeAutomation(profile_name, chrome_extra_arguments, - IsIEInPrivate())) { + IsIEInPrivate(), true)) { return E_FAIL; } } diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index 8c1fb45..3c30d00 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -440,13 +440,10 @@ ChromeFrameAutomationClient::~ChromeFrameAutomationClient() { bool ChromeFrameAutomationClient::Initialize( ChromeFrameDelegate* chrome_frame_delegate, - int automation_server_launch_timeout, - bool perform_version_check, - const FilePath& profile_path, - const std::wstring& extra_chrome_arguments, - bool incognito) { + const ChromeFrameLaunchParams& chrome_launch_params) { DCHECK(!IsWindow()); chrome_frame_delegate_ = chrome_frame_delegate; + chrome_launch_params_ = chrome_launch_params; ui_thread_id_ = PlatformThread::CurrentId(); #ifndef NDEBUG // In debug mode give more time to work with a debugger. @@ -454,10 +451,11 @@ bool ChromeFrameAutomationClient::Initialize( // Don't use INFINITE (which is -1) or even MAXINT since we will convert // from milliseconds to microseconds when stored in a base::TimeDelta, // thus * 1000. An hour should be enough. - automation_server_launch_timeout = 60 * 60 * 1000; + chrome_launch_params_.automation_server_launch_timeout = 60 * 60 * 1000; } else { - DCHECK_LT(automation_server_launch_timeout, MAXINT / 2000); - automation_server_launch_timeout *= 2; + DCHECK_LT(chrome_launch_params_.automation_server_launch_timeout, + MAXINT / 2000); + chrome_launch_params_.automation_server_launch_timeout *= 2; } #endif // NDEBUG @@ -480,14 +478,9 @@ bool ChromeFrameAutomationClient::Initialize( // InitializeComplete is called successfully. init_state_ = INITIALIZING; - chrome_launch_params_.automation_server_launch_timeout = - automation_server_launch_timeout; - chrome_launch_params_.profile_path = profile_path; - chrome_launch_params_.profile_name = profile_path.BaseName().value(); - chrome_launch_params_.extra_chrome_arguments = extra_chrome_arguments; - chrome_launch_params_.perform_version_check = perform_version_check; - chrome_launch_params_.url = navigate_after_initialization_ ? GURL() : url_; - chrome_launch_params_.incognito_mode = incognito; + if (!navigate_after_initialization_) { + chrome_launch_params_.url = url_; + } proxy_factory_->GetAutomationServer( static_cast<ProxyFactory::LaunchDelegate*>(this), @@ -830,6 +823,7 @@ void ChromeFrameAutomationClient::CreateExternalTab() { handle_top_level_requests_, chrome_launch_params_.url, chrome_launch_params_.referrer, + !chrome_launch_params_.is_widget_mode // Infobars disabled in widget mode. }; THREAD_SAFE_UMA_HISTOGRAM_CUSTOM_COUNTS( diff --git a/chrome_frame/chrome_frame_automation.h b/chrome_frame/chrome_frame_automation.h index 8a7c54a..6c0d895 100644 --- a/chrome_frame/chrome_frame_automation.h +++ b/chrome_frame/chrome_frame_automation.h @@ -84,11 +84,12 @@ struct ChromeFrameLaunchParams { int automation_server_launch_timeout; GURL url; GURL referrer; + FilePath profile_path; std::wstring profile_name; std::wstring extra_chrome_arguments; bool perform_version_check; bool incognito_mode; - FilePath profile_path; + bool is_widget_mode; }; // We must create and destroy automation proxy in a thread with a message loop. @@ -159,11 +160,7 @@ class ChromeFrameAutomationClient // Called from UI thread. virtual bool Initialize(ChromeFrameDelegate* chrome_frame_delegate, - int automation_server_launch_timeout, - bool perform_version_check, - const FilePath& profile_path, - const std::wstring& extra_chrome_arguments, - bool incognito); + const ChromeFrameLaunchParams& chrome_launch_params); void Uninitialize(); virtual bool InitiateNavigation(const std::string& url, diff --git a/chrome_frame/chrome_frame_npapi.cc b/chrome_frame/chrome_frame_npapi.cc index 573d32e..6fbd76a 100644 --- a/chrome_frame/chrome_frame_npapi.cc +++ b/chrome_frame/chrome_frame_npapi.cc @@ -320,7 +320,7 @@ bool ChromeFrameNPAPI::Initialize(NPMIMEType mime_type, NPP instance, // TODO(stoyan): Ask host for specific interface whether to honor // host's in-private mode. return InitializeAutomation(profile_name, extra_arguments, - GetBrowserIncognitoMode()); + GetBrowserIncognitoMode(), true); } void ChromeFrameNPAPI::Uninitialize() { diff --git a/chrome_frame/chrome_frame_npapi_unittest.cc b/chrome_frame/chrome_frame_npapi_unittest.cc index 6af670d..e845bb5 100644 --- a/chrome_frame/chrome_frame_npapi_unittest.cc +++ b/chrome_frame/chrome_frame_npapi_unittest.cc @@ -19,6 +19,7 @@ namespace { using ::testing::_; using ::testing::Eq; +using ::testing::Field; using ::testing::Invoke; using ::testing::Return; using ::testing::StrEq; @@ -79,9 +80,8 @@ class MockNPAPI: public ChromeFrameNPAPI { class MockAutomationClient: public ChromeFrameAutomationClient { public: - MOCK_METHOD6(Initialize, bool(ChromeFrameDelegate*, int, bool, - const FilePath&, const std::wstring&, - bool)); + MOCK_METHOD2(Initialize, bool(ChromeFrameDelegate*, + const ChromeFrameLaunchParams&)); MOCK_METHOD1(SetEnableExtensionAutomation, void(const std::vector<std::string>&)); // NOLINT }; @@ -126,7 +126,12 @@ class TestNPAPIPrivilegedApi: public ::testing::Test { EXPECT_CALL(*mock_proxy, Initialize(_, _)).WillRepeatedly(Return(false)); EXPECT_CALL(*mock_automation, - Initialize(_, _, true, _, StrEq(extra_args), false)) + Initialize(_, AllOf( + Field(&ChromeFrameLaunchParams::perform_version_check, true), + Field(&ChromeFrameLaunchParams::extra_chrome_arguments, + StrEq(extra_args)), + Field(&ChromeFrameLaunchParams::incognito_mode, is_incognito), + Field(&ChromeFrameLaunchParams::is_widget_mode, true)))) .WillOnce(Return(true)); if (expect_privilege_check) { diff --git a/chrome_frame/chrome_frame_plugin.h b/chrome_frame/chrome_frame_plugin.h index 7f397e6..c7b0598 100644 --- a/chrome_frame/chrome_frame_plugin.h +++ b/chrome_frame/chrome_frame_plugin.h @@ -58,16 +58,25 @@ END_MSG_MAP() bool InitializeAutomation(const std::wstring& profile_name, const std::wstring& extra_chrome_arguments, - bool incognito) { + bool incognito, bool is_widget_mode) { DCHECK(IsValid()); // We don't want to do incognito when privileged, since we're // running in browser chrome or some other privileged context. bool incognito_mode = !is_privileged_ && incognito; FilePath profile_path; GetProfilePath(profile_name, &profile_path); - return automation_client_->Initialize(this, kCommandExecutionTimeout, true, - profile_path, extra_chrome_arguments, - incognito_mode); + ChromeFrameLaunchParams chrome_launch_params = { + kCommandExecutionTimeout, + GURL(), + GURL(), + profile_path, + profile_name, + extra_chrome_arguments, + true, + incognito_mode, + is_widget_mode + }; + return automation_client_->Initialize(this, chrome_launch_params); } // ChromeFrameDelegate implementation diff --git a/chrome_frame/delete_chrome_history.cc b/chrome_frame/delete_chrome_history.cc index 994d609..26633f0 100644 --- a/chrome_frame/delete_chrome_history.cc +++ b/chrome_frame/delete_chrome_history.cc @@ -57,7 +57,7 @@ STDMETHODIMP DeleteChromeHistory::DeleteBrowsingHistory(DWORD flags) { // in lieu of sending an IPC when it seems appropriate. Since we assume this // happens in one-off fashion, don't attempt to pack REMOVE_* arguments. // Instead, have the browser process clobber all history. - if (!InitializeAutomation(GetHostProcessName(false), L"", false)) { + if (!InitializeAutomation(GetHostProcessName(false), L"", false, false)) { return E_UNEXPECTED; } diff --git a/chrome_frame/test/automation_client_mock.cc b/chrome_frame/test/automation_client_mock.cc index 36edc57..de1736c 100644 --- a/chrome_frame/test/automation_client_mock.cc +++ b/chrome_frame/test/automation_client_mock.cc @@ -101,8 +101,18 @@ TEST(CFACWithChrome, CreateTooFast) { .Times(1) .WillOnce(QUIT_LOOP(loop)); - EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile_path, L"", - false)); + ChromeFrameLaunchParams clp = { + timeout, + GURL(), + GURL(), + profile_path, + profile_path.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client->Initialize(&cfd, clp)); loop.RunFor(10); client->Uninitialize(); } @@ -128,8 +138,18 @@ TEST(CFACWithChrome, CreateNotSoFast) { EXPECT_CALL(cfd, OnAutomationServerLaunchFailed(_, _)) .Times(0); - EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile_path, L"", - false)); + ChromeFrameLaunchParams clp = { + timeout, + GURL(), + GURL(), + profile_path, + profile_path.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client->Initialize(&cfd, clp)); loop.RunFor(11); client->Uninitialize(); @@ -170,8 +190,18 @@ TEST(CFACWithChrome, NavigateOk) { .WillOnce(QUIT_LOOP(loop)); } - EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile_path, L"", - false)); + ChromeFrameLaunchParams clp = { + timeout, + GURL(), + GURL(), + profile_path, + profile_path.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client->Initialize(&cfd, clp)); loop.RunFor(10); client->Uninitialize(); client = NULL; @@ -211,8 +241,18 @@ TEST(CFACWithChrome, NavigateFailed) { .Times(1) .WillOnce(QUIT_LOOP_SOON(loop, 2)); - EXPECT_TRUE(client->Initialize(&cfd, 10000, false, profile_path, L"", - false)); + ChromeFrameLaunchParams clp = { + 10000, + GURL(), + GURL(), + profile_path, + profile_path.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client->Initialize(&cfd, clp)); loop.RunFor(10); client->Uninitialize(); @@ -245,8 +285,18 @@ TEST_F(CFACMockTest, MockedCreateTabOk) { EXPECT_CALL(proxy_, CancelAsync(_)).Times(testing::AnyNumber()); // Here we go! - EXPECT_TRUE(client_->Initialize(&cfd_, timeout, false, profile_path_, L"", - false)); + ChromeFrameLaunchParams clp = { + timeout, + GURL(), + GURL(), + profile_path_, + profile_path_.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client_->Initialize(&cfd_, clp)); loop_.RunFor(10); client_->Uninitialize(); } @@ -271,8 +321,18 @@ TEST_F(CFACMockTest, MockedCreateTabFailed) { Set_CFD_LaunchFailed(AUTOMATION_CREATE_TAB_FAILED); // Here we go! - EXPECT_TRUE(client_->Initialize(&cfd_, timeout_, false, profile_path_, L"", - false)); + ChromeFrameLaunchParams clp = { + timeout_, + GURL(), + GURL(), + profile_path_, + profile_path_.BaseName().value(), + L"", + false, + false, + false + }; + EXPECT_TRUE(client_->Initialize(&cfd_, clp)); loop_.RunFor(4); client_->Uninitialize(); } diff --git a/chrome_frame/test/chrome_frame_automation_mock.h b/chrome_frame/test/chrome_frame_automation_mock.h index 11d186f..141fb9c 100644 --- a/chrome_frame/test/chrome_frame_automation_mock.h +++ b/chrome_frame/test/chrome_frame_automation_mock.h @@ -22,7 +22,8 @@ class AutomationMockDelegate AutomationMockDelegate(MessageLoop* caller_message_loop, int launch_timeout, bool perform_version_check, const std::wstring& profile_name, - const std::wstring& extra_chrome_arguments, bool incognito) + const std::wstring& extra_chrome_arguments, bool incognito, + bool is_widget_mode) : caller_message_loop_(caller_message_loop), is_connected_(false), navigation_result_(false) { test_server_.SetUp(); @@ -31,8 +32,18 @@ class AutomationMockDelegate chrome_frame_test::GetProfilePath(profile_name)); automation_client_ = new ChromeFrameAutomationClient; - automation_client_->Initialize(this, launch_timeout, perform_version_check, - profile_path, extra_chrome_arguments, incognito); + ChromeFrameLaunchParams clp = { + launch_timeout, + GURL(), + GURL(), + profile_path, + profile_name, + extra_chrome_arguments, + perform_version_check, + incognito, + is_widget_mode + }; + automation_client_->Initialize(this, clp); } ~AutomationMockDelegate() { if (automation_client_.get()) { @@ -136,7 +147,8 @@ class AutomationMockLaunch typedef AutomationMockDelegate<AutomationMockLaunch> Base; AutomationMockLaunch(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { + : Base(caller_message_loop, launch_timeout, true, L"", L"", false, + false) { } virtual void OnAutomationServerReady() { Base::OnAutomationServerReady(); @@ -153,7 +165,8 @@ class AutomationMockNavigate typedef AutomationMockDelegate<AutomationMockNavigate> Base; AutomationMockNavigate(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { + : Base(caller_message_loop, launch_timeout, true, L"", L"", false, + false) { } virtual void OnLoad(int tab_handle, const GURL& url) { Base::OnLoad(tab_handle, url); @@ -167,7 +180,7 @@ class AutomationMockPostMessage typedef AutomationMockDelegate<AutomationMockPostMessage> Base; AutomationMockPostMessage(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false), + : Base(caller_message_loop, launch_timeout, true, L"", L"", false, false), postmessage_result_(false) {} bool postmessage_result() const { return postmessage_result_; @@ -195,7 +208,7 @@ class AutomationMockHostNetworkRequestStart typedef AutomationMockDelegate<AutomationMockHostNetworkRequestStart> Base; AutomationMockHostNetworkRequestStart(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false), + : Base(caller_message_loop, launch_timeout, true, L"", L"", false, false), request_start_result_(false) { if (automation()) { automation()->set_use_chrome_network(false); |