diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-23 16:38:18 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-23 16:38:18 +0000 |
commit | bcd9dc4cf88b89675eb605ffba94d345b33ee216 (patch) | |
tree | ff21eb32ea7616f5214da97913600c03d8c5ef92 /chrome/browser/tab_contents | |
parent | 847e54fa9cdae2714e081e0c3170e8348355236e (diff) | |
download | chromium_src-bcd9dc4cf88b89675eb605ffba94d345b33ee216.zip chromium_src-bcd9dc4cf88b89675eb605ffba94d345b33ee216.tar.gz chromium_src-bcd9dc4cf88b89675eb605ffba94d345b33ee216.tar.bz2 |
Extension tweaks for phantom tabs. I did the following modifications:
. Modified chrome.tabs.executeScript so that it sends error message if
failure in sending message (which happens with phantom tabs).
. When a tab is made phantom we send TabInsertedAt event.
. Made connecting to a phantom tab send disconnect.
. Disallow changing the url of pinned tabs.
. Disallow closing phantom tabs.
. Detect language fails for phantom tabs.
And I removed the flag for phantom tabs.
BUG=25309
TEST=on windows or chromeos create a window with a couple of tabs, pin
the first, then close it. Selection should change to another tab and
the favicon of the closed tab should remain, but not the tab
border. control-tab should not select the phantom tab, but if you
click on the phantom tab it should become live again and the border
should reappear.
Review URL: http://codereview.chromium.org/552110
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36964 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents')
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.cc | 4 | ||||
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.h | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc index 0ca822b..27c215e 100644 --- a/chrome/browser/tab_contents/tab_contents.cc +++ b/chrome/browser/tab_contents/tab_contents.cc @@ -833,11 +833,11 @@ void TabContents::CloseAllSuppressedPopups() { blocked_popups_->CloseAll(); } -void TabContents::ExecuteCode(int request_id, const std::string& extension_id, +bool TabContents::ExecuteCode(int request_id, const std::string& extension_id, const std::vector<URLPattern>& host_permissions, bool is_js_code, const std::string& code_string, bool all_frames) { - render_view_host()->Send( + return render_view_host()->Send( new ViewMsg_ExecuteCode(render_view_host()->routing_id(), ViewMsg_ExecuteCode_Params(request_id, extension_id, host_permissions, is_js_code, code_string, all_frames))); diff --git a/chrome/browser/tab_contents/tab_contents.h b/chrome/browser/tab_contents/tab_contents.h index 0603d6b..2ea5bf5 100644 --- a/chrome/browser/tab_contents/tab_contents.h +++ b/chrome/browser/tab_contents/tab_contents.h @@ -367,8 +367,9 @@ class TabContents : public PageNavigator, // of unwanted popups. void CloseAllSuppressedPopups(); - // Execute code in this tab. - void ExecuteCode(int request_id, const std::string& extension_id, + // Execute code in this tab. Returns true if the message was successfully + // sent. + bool ExecuteCode(int request_id, const std::string& extension_id, const std::vector<URLPattern>& host_permissions, bool is_js_code, const std::string& code_string, bool all_frames); |