15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/extension_tab_util.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/sessions/session_id.h"
97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "url/gurl.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using content::WebContents;
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace extensions {
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int ExtensionTabUtil::GetWindowId(const Browser* browser) {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return -1;
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int ExtensionTabUtil::GetWindowIdOfTabStripModel(
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const TabStripModel* tab_strip_model) {
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return -1;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)int ExtensionTabUtil::GetTabId(const WebContents* web_contents) {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return SessionID::IdForTab(web_contents);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int ExtensionTabUtil::GetWindowIdOfTab(const WebContents* web_contents) {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return -1;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::DictionaryValue* ExtensionTabUtil::CreateTabValue(
41010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    WebContents* contents,
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    TabStripModel* tab_strip,
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    int tab_index,
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    const Extension* extension) {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::ListValue* ExtensionTabUtil::CreateTabList(const Browser* browser,
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                                                 const Extension* extension) {
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
56f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::DictionaryValue* ExtensionTabUtil::CreateTabValue(
58010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)    WebContents* contents,
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    TabStripModel* tab_strip,
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    int tab_index) {
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ExtensionTabUtil::GetTabStripModel(const WebContents* web_contents,
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                        TabStripModel** tab_strip_model,
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                        int* tab_index) {
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
73f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ExtensionTabUtil::GetDefaultTab(Browser* browser,
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                     content::WebContents** contents,
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                     int* tab_id) {
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
81f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ExtensionTabUtil::GetTabById(int tab_id,
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  Profile* profile,
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  bool include_incognito,
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  Browser** browser,
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  TabStripModel** tab_strip,
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  content::WebContents** contents,
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                  int* tab_index) {
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
93f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GURL ExtensionTabUtil::ResolvePossiblyRelativeURL(const std::string& url_string,
95f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                                                  const Extension* extension) {
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return GURL();
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
100f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool ExtensionTabUtil::IsCrashURL(const GURL& url) {
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return false;
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
106f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// static
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ExtensionTabUtil::CreateTab(WebContents* web_contents,
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                 const std::string& extension_id,
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                 WindowOpenDisposition disposition,
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                 const gfx::Rect& initial_pos,
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                 bool user_gesture) {
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ExtensionTabUtil::ForEachTab(
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const base::Callback<void(WebContents*)>& callback) {
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
122f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)WindowController* ExtensionTabUtil::GetWindowControllerOfTab(
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const WebContents* web_contents) {
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTIMPLEMENTED();
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return NULL;
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
127f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
128f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace extensions
129