diff options
-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 | 1 | ||||
-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 | 25 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_automation.h | 7 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_npapi.cc | 2 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_npapi_unittest.cc | 14 | ||||
-rw-r--r-- | chrome_frame/chrome_frame_plugin.h | 16 | ||||
-rw-r--r-- | chrome_frame/test/automation_client_mock.cc | 73 | ||||
-rw-r--r-- | chrome_frame/test/chrome_frame_automation_mock.h | 26 |
15 files changed, 50 insertions, 160 deletions
diff --git a/chrome/browser/automation/automation_provider_win.cc b/chrome/browser/automation/automation_provider_win.cc index c352018..9539498 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.infobars_enabled); + settings.referrer); 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 4c46493..e6d1211 100644 --- a/chrome/browser/external_tab_container.cc +++ b/chrome/browser/external_tab_container.cc @@ -54,8 +54,7 @@ ExternalTabContainer::ExternalTabContainer( external_method_factory_(this), enabled_extension_automation_(false), waiting_for_unload_event_(false), - pending_(false), - infobars_enabled_(true) { + pending_(false) { } ExternalTabContainer::~ExternalTabContainer() { @@ -70,8 +69,7 @@ bool ExternalTabContainer::Init(Profile* profile, bool handle_top_level_requests, TabContents* existing_contents, const GURL& initial_url, - const GURL& referrer, - bool infobars_enabled) { + const GURL& referrer) { if (IsWindow()) { NOTREACHED(); return false; @@ -79,7 +77,6 @@ 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); @@ -354,8 +351,7 @@ void ExternalTabContainer::AddNewContents(TabContents* source, handle_top_level_requests_, new_contents, GURL(), - GURL(), - true); + GURL()); if (result) { uintptr_t cookie = reinterpret_cast<uintptr_t>(new_container.get()); @@ -383,10 +379,6 @@ 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 dcf30ee..123d13c 100644 --- a/chrome/browser/external_tab_container.h +++ b/chrome/browser/external_tab_container.h @@ -65,8 +65,7 @@ class ExternalTabContainer : public TabContentsDelegate, bool handle_top_level_requests, TabContents* existing_tab_contents, const GURL& initial_url, - const GURL& referrer, - bool infobars_enabled); + const GURL& referrer); // Unhook the keystroke listener and notify about the closing TabContents. // This function gets called from three places, which is fine. @@ -203,8 +202,6 @@ 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); @@ -328,9 +325,6 @@ 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 33d631b..c8d3e95 100644 --- a/chrome/browser/tab_contents/tab_contents.cc +++ b/chrome/browser/tab_contents/tab_contents.cc @@ -951,11 +951,6 @@ 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) { @@ -982,10 +977,6 @@ 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()) { @@ -1006,11 +997,6 @@ 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 9a84f83..25653f4 100644 --- a/chrome/browser/tab_contents/tab_contents_delegate.h +++ b/chrome/browser/tab_contents/tab_contents_delegate.h @@ -283,9 +283,6 @@ 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 bb8789f..42d4731 100644 --- a/chrome/test/automation/automation_messages.h +++ b/chrome/test/automation/automation_messages.h @@ -356,7 +356,6 @@ struct ExternalTabSettings { bool handle_top_level_requests; GURL initial_url; GURL referrer; - bool infobars_enabled; }; // Traits for ExternalTabSettings structure to pack/unpack. diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc index dbc2b8b..fe9499d 100644 --- a/chrome_frame/chrome_active_document.cc +++ b/chrome_frame/chrome_active_document.cc @@ -1004,8 +1004,7 @@ bool ChromeActiveDocument::LaunchUrl(const std::wstring& url, automation_client_->SetUrlFetcher(&url_fetcher_); - if (InitializeAutomation(GetHostProcessName(false), L"", IsIEInPrivate(), - false)) + if (InitializeAutomation(GetHostProcessName(false), L"", IsIEInPrivate())) return true; return false; diff --git a/chrome_frame/chrome_frame_activex.cc b/chrome_frame/chrome_frame_activex.cc index f982072..a88c5f1 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(), true)) { + IsIEInPrivate())) { return E_FAIL; } } diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index b170908..785e3e5 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -450,10 +450,13 @@ ChromeFrameAutomationClient::~ChromeFrameAutomationClient() { bool ChromeFrameAutomationClient::Initialize( ChromeFrameDelegate* chrome_frame_delegate, - const ChromeFrameLaunchParams& chrome_launch_params) { + int automation_server_launch_timeout, + bool perform_version_check, + const std::wstring& profile_name, + const std::wstring& extra_chrome_arguments, + bool incognito) { 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. @@ -461,11 +464,10 @@ 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. - chrome_launch_params_.automation_server_launch_timeout = 60 * 60 * 1000; + automation_server_launch_timeout = 60 * 60 * 1000; } else { - DCHECK_LT(chrome_launch_params_.automation_server_launch_timeout, - MAXINT / 2000); - chrome_launch_params_.automation_server_launch_timeout *= 2; + DCHECK_LT(automation_server_launch_timeout, MAXINT / 2000); + automation_server_launch_timeout *= 2; } #endif // NDEBUG @@ -488,9 +490,13 @@ bool ChromeFrameAutomationClient::Initialize( // InitializeComplete is called successfully. init_state_ = INITIALIZING; - if (navigate_after_initialization_) { - chrome_launch_params_.url = url_; - } + chrome_launch_params_.automation_server_launch_timeout = + automation_server_launch_timeout; + chrome_launch_params_.profile_name = profile_name; + 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; proxy_factory_->GetAutomationServer( static_cast<ProxyFactory::LaunchDelegate*>(this), @@ -835,7 +841,6 @@ 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 bd839a4..f01d1b4 100644 --- a/chrome_frame/chrome_frame_automation.h +++ b/chrome_frame/chrome_frame_automation.h @@ -88,7 +88,6 @@ struct ChromeFrameLaunchParams { std::wstring extra_chrome_arguments; bool perform_version_check; bool incognito_mode; - bool is_widget_mode; }; // We must create and destroy automation proxy in a thread with a message loop. @@ -159,7 +158,11 @@ class ChromeFrameAutomationClient // Called from UI thread. virtual bool Initialize(ChromeFrameDelegate* chrome_frame_delegate, - const ChromeFrameLaunchParams& chrome_launch_params); + int automation_server_launch_timeout, + bool perform_version_check, + const std::wstring& profile_name, + const std::wstring& extra_chrome_arguments, + bool incognito); 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 6fbd76a..573d32e 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(), true); + GetBrowserIncognitoMode()); } void ChromeFrameNPAPI::Uninitialize() { diff --git a/chrome_frame/chrome_frame_npapi_unittest.cc b/chrome_frame/chrome_frame_npapi_unittest.cc index 4d03b00..b30d5e8 100644 --- a/chrome_frame/chrome_frame_npapi_unittest.cc +++ b/chrome_frame/chrome_frame_npapi_unittest.cc @@ -20,7 +20,6 @@ namespace { using ::testing::_; using ::testing::Eq; -using ::testing::Field; using ::testing::Invoke; using ::testing::Return; using ::testing::StrEq; @@ -81,7 +80,9 @@ class MockNPAPI: public ChromeFrameNPAPI { class MockAutomationClient: public ChromeFrameAutomationClient { public: - MOCK_METHOD2(Initialize, bool(ChromeFrameDelegate*, ChromeFrameLaunchParams)); + MOCK_METHOD6(Initialize, bool(ChromeFrameDelegate*, int, bool, + const std::wstring&, const std::wstring&, + bool)); MOCK_METHOD1(SetEnableExtensionAutomation, void(const std::vector<std::string>&)); // NOLINT }; @@ -126,14 +127,7 @@ class TestNPAPIPrivilegedApi: public ::testing::Test { EXPECT_CALL(*mock_proxy, Initialize(_, _)).WillRepeatedly(Return(false)); EXPECT_CALL(*mock_automation, - Initialize(_, AllOf( - Field(&ChromeFrameLaunchParams::perform_version_check, true), - Field(&ChromeFrameLaunchParams::profile_name, - StrEq(profile_name)), - Field(&ChromeFrameLaunchParams::extra_chrome_arguments, - StrEq(extra_args)), - Field(&ChromeFrameLaunchParams::incognito_mode, is_incognito), - Field(&ChromeFrameLaunchParams::is_widget_mode, true)))) + Initialize(_, _, true, StrEq(profile_name), StrEq(extra_args), false)) .WillOnce(Return(true)); if (expect_privilege_check) { diff --git a/chrome_frame/chrome_frame_plugin.h b/chrome_frame/chrome_frame_plugin.h index 641d7a7..078a611 100644 --- a/chrome_frame/chrome_frame_plugin.h +++ b/chrome_frame/chrome_frame_plugin.h @@ -51,22 +51,14 @@ END_MSG_MAP() bool InitializeAutomation(const std::wstring& profile_name, const std::wstring& extra_chrome_arguments, - bool incognito, bool is_widget_mode) { + bool incognito) { 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; - ChromeFrameLaunchParams chrome_launch_params = { - kCommandExecutionTimeout, - GURL(), - GURL(), - profile_name, - extra_chrome_arguments, - true, - incognito_mode, - is_widget_mode - }; - return automation_client_->Initialize(this, chrome_launch_params); + return automation_client_->Initialize(this, kCommandExecutionTimeout, true, + profile_name, extra_chrome_arguments, + incognito_mode); } // ChromeFrameDelegate implementation diff --git a/chrome_frame/test/automation_client_mock.cc b/chrome_frame/test/automation_client_mock.cc index b64a7cb..f699635 100644 --- a/chrome_frame/test/automation_client_mock.cc +++ b/chrome_frame/test/automation_client_mock.cc @@ -100,17 +100,7 @@ TEST(CFACWithChrome, CreateTooFast) { .Times(1) .WillOnce(QUIT_LOOP(loop)); - ChromeFrameLaunchParams cfp = { - timeout, - GURL(), - GURL(), - profile, - L"", - false, - false, - false - }; - EXPECT_TRUE(client->Initialize(&cfd, cfp)); + EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile, L"", false)); loop.RunFor(10); client->Uninitialize(); } @@ -135,17 +125,7 @@ TEST(CFACWithChrome, CreateNotSoFast) { EXPECT_CALL(cfd, OnAutomationServerLaunchFailed(_, _)) .Times(0); - ChromeFrameLaunchParams cfp = { - timeout, - GURL(), - GURL(), - profile, - L"", - false, - false, - false - }; - EXPECT_TRUE(client->Initialize(&cfd, cfp)); + EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile, L"", false)); loop.RunFor(11); client->Uninitialize(); @@ -185,17 +165,7 @@ TEST(CFACWithChrome, NavigateOk) { .WillOnce(QUIT_LOOP(loop)); } - ChromeFrameLaunchParams cfp = { - timeout, - GURL(), - GURL(), - profile, - L"", - false, - false, - false - }; - EXPECT_TRUE(client->Initialize(&cfd, cfp)); + EXPECT_TRUE(client->Initialize(&cfd, timeout, false, profile, L"", false)); loop.RunFor(10); client->Uninitialize(); client = NULL; @@ -234,17 +204,7 @@ TEST(CFACWithChrome, NavigateFailed) { .Times(1) .WillOnce(QUIT_LOOP_SOON(loop, 2)); - ChromeFrameLaunchParams cfp = { - 10000, - GURL(), - GURL(), - profile, - L"", - false, - false, - false - }; - EXPECT_TRUE(client->Initialize(&cfd, cfp)); + EXPECT_TRUE(client->Initialize(&cfd, 10000, false, profile, L"", false)); loop.RunFor(10); client->Uninitialize(); @@ -277,17 +237,7 @@ TEST_F(CFACMockTest, MockedCreateTabOk) { EXPECT_CALL(proxy_, CancelAsync(_)).Times(testing::AnyNumber()); // Here we go! - ChromeFrameLaunchParams cfp = { - timeout, - GURL(), - GURL(), - profile_, - L"", - false, - false, - false - }; - EXPECT_TRUE(client_->Initialize(&cfd_, cfp)); + EXPECT_TRUE(client_->Initialize(&cfd_, timeout, false, profile_, L"", false)); loop_.RunFor(10); client_->Uninitialize(); } @@ -312,17 +262,8 @@ TEST_F(CFACMockTest, MockedCreateTabFailed) { Set_CFD_LaunchFailed(AUTOMATION_CREATE_TAB_FAILED); // Here we go! - ChromeFrameLaunchParams cfp = { - timeout_, - GURL(), - GURL(), - profile_, - L"", - false, - false, - false - }; - EXPECT_TRUE(client_->Initialize(&cfd_, cfp)); + EXPECT_TRUE(client_->Initialize(&cfd_, timeout_, false, profile_, L"", + false)); 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 d751f1b..6fea200 100644 --- a/chrome_frame/test/chrome_frame_automation_mock.h +++ b/chrome_frame/test/chrome_frame_automation_mock.h @@ -20,23 +20,13 @@ 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, - bool is_widget_mode) + const std::wstring& extra_chrome_arguments, bool incognito) : caller_message_loop_(caller_message_loop), is_connected_(false), navigation_result_(false) { test_server_.SetUp(); automation_client_ = new ChromeFrameAutomationClient; - ChromeFrameLaunchParams cfp = { - launch_timeout, - GURL(), - GURL(), - profile_name, - extra_chrome_arguments, - perform_version_check, - incognito, - is_widget_mode - }; - automation_client_->Initialize(this, cfp); + automation_client_->Initialize(this, launch_timeout, perform_version_check, + profile_name, extra_chrome_arguments, incognito); } ~AutomationMockDelegate() { if (automation_client_.get()) { @@ -140,8 +130,7 @@ class AutomationMockLaunch typedef AutomationMockDelegate<AutomationMockLaunch> Base; AutomationMockLaunch(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false, - false) { + : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { } virtual void OnAutomationServerReady() { Base::OnAutomationServerReady(); @@ -158,8 +147,7 @@ class AutomationMockNavigate typedef AutomationMockDelegate<AutomationMockNavigate> Base; AutomationMockNavigate(MessageLoop* caller_message_loop, int launch_timeout) - : Base(caller_message_loop, launch_timeout, true, L"", L"", false, - false) { + : Base(caller_message_loop, launch_timeout, true, L"", L"", false) { } virtual void OnLoad(int tab_handle, const GURL& url) { Base::OnLoad(tab_handle, url); @@ -173,7 +161,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, false), + : Base(caller_message_loop, launch_timeout, true, L"", L"", false), postmessage_result_(false) {} bool postmessage_result() const { return postmessage_result_; @@ -201,7 +189,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, false), + : Base(caller_message_loop, launch_timeout, true, L"", L"", false), request_start_result_(false) { if (automation()) { automation()->set_use_chrome_network(false); |