| Index: chrome/browser/automation/automation_provider.cc
|
| ===================================================================
|
| --- chrome/browser/automation/automation_provider.cc (revision 17483)
|
| +++ chrome/browser/automation/automation_provider.cc (working copy)
|
| @@ -25,6 +25,7 @@
|
| #include "chrome/browser/browser_window.h"
|
| #include "chrome/browser/dom_operation_notification_details.h"
|
| #include "chrome/browser/download/download_manager.h"
|
| +#include "chrome/browser/download/download_shelf.h"
|
| #include "chrome/browser/find_bar.h"
|
| #include "chrome/browser/find_bar_controller.h"
|
| #include "chrome/browser/find_notification_details.h"
|
| @@ -1084,6 +1085,7 @@
|
| IPC_MESSAGE_HANDLER(AutomationMsg_SetEnableExtensionAutomation,
|
| SetEnableExtensionAutomation)
|
| IPC_MESSAGE_HANDLER(AutomationMsg_BlockedPopupCount, GetBlockedPopupCount)
|
| + IPC_MESSAGE_HANDLER(AutomationMsg_SetShelfVisibility, SetShelfVisibility)
|
| IPC_END_MESSAGE_MAP()
|
| }
|
|
|
| @@ -1958,11 +1960,27 @@
|
| void AutomationProvider::GetShelfVisibility(int handle, bool* visible) {
|
| *visible = false;
|
|
|
| - TabContents* tab_contents = GetTabContentsForHandle(handle, NULL);
|
| - if (tab_contents)
|
| - *visible = tab_contents->IsDownloadShelfVisible();
|
| + if (browser_tracker_->ContainsHandle(handle)) {
|
| + Browser* browser = browser_tracker_->GetResource(handle);
|
| + if (browser) {
|
| + *visible = browser->window()->IsDownloadShelfVisible();
|
| + }
|
| + }
|
| }
|
|
|
| +void AutomationProvider::SetShelfVisibility(int handle, bool visible) {
|
| + if (browser_tracker_->ContainsHandle(handle)) {
|
| + Browser* browser = browser_tracker_->GetResource(handle);
|
| + if (browser) {
|
| + if (visible)
|
| + browser->window()->GetDownloadShelf()->Show();
|
| + else
|
| + browser->window()->GetDownloadShelf()->Close();
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| void AutomationProvider::GetConstrainedWindowCount(int handle, int* count) {
|
| *count = -1; // -1 is the error code
|
| if (tab_tracker_->ContainsHandle(handle)) {
|
|
|