Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Side by Side Diff: chrome/browser/debugger/browser_list_tabcontents_provider.cc

Issue 11630004: DevTools: rename debugger/ to devtools/, move DevTools files into content/renderer/devtools. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: For landing Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/debugger/browser_list_tabcontents_provider.h"
6
7 #include "base/path_service.h"
8 #include "chrome/browser/history/top_sites.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/profiles/profile_manager.h"
11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_commands.h"
13 #include "chrome/browser/ui/browser_list.h"
14 #include "chrome/browser/ui/browser_tabstrip.h"
15 #include "chrome/common/chrome_paths.h"
16 #include "content/public/browser/browser_thread.h"
17 #include "content/public/browser/web_contents.h"
18 #include "content/public/common/url_constants.h"
19 #include "grit/devtools_discovery_page_resources.h"
20 #include "net/url_request/url_request_context_getter.h"
21 #include "ui/base/resource/resource_bundle.h"
22
23 using content::DevToolsHttpHandlerDelegate;
24 using content::RenderViewHost;
25
26 BrowserListTabContentsProvider::BrowserListTabContentsProvider(
27 Profile* profile)
28 : profile_(profile) {
29 }
30
31 BrowserListTabContentsProvider::~BrowserListTabContentsProvider() {
32 }
33
34 std::string BrowserListTabContentsProvider::GetDiscoveryPageHTML() {
35 std::set<Profile*> profiles;
36 for (BrowserList::const_iterator it = BrowserList::begin(),
37 end = BrowserList::end(); it != end; ++it) {
38 profiles.insert((*it)->profile());
39 }
40 for (std::set<Profile*>::iterator it = profiles.begin();
41 it != profiles.end(); ++it) {
42 history::TopSites* ts = (*it)->GetTopSites();
43 if (ts) {
44 // TopSites updates itself after a delay. Ask TopSites to update itself
45 // when we're about to show the remote debugging landing page.
46 ts->SyncWithHistory();
47 }
48 }
49 return ResourceBundle::GetSharedInstance().GetRawDataResource(
50 IDR_DEVTOOLS_DISCOVERY_PAGE_HTML).as_string();
51 }
52
53 bool BrowserListTabContentsProvider::BundlesFrontendResources() {
54 return true;
55 }
56
57 FilePath BrowserListTabContentsProvider::GetDebugFrontendDir() {
58 #if defined(DEBUG_DEVTOOLS)
59 FilePath inspector_dir;
60 PathService::Get(chrome::DIR_INSPECTOR, &inspector_dir);
61 return inspector_dir;
62 #else
63 return FilePath();
64 #endif
65 }
66
67 std::string BrowserListTabContentsProvider::GetPageThumbnailData(
68 const GURL& url) {
69 for (BrowserList::const_iterator it = BrowserList::begin(),
70 end = BrowserList::end(); it != end; ++it) {
71 Profile* profile = (*it)->profile();
72 history::TopSites* top_sites = profile->GetTopSites();
73 if (!top_sites)
74 continue;
75 scoped_refptr<base::RefCountedMemory> data;
76 if (top_sites->GetPageThumbnail(url, &data))
77 return std::string(
78 reinterpret_cast<const char*>(data->front()), data->size());
79 }
80
81 return std::string();
82 }
83
84 RenderViewHost* BrowserListTabContentsProvider::CreateNewTarget() {
85 if (BrowserList::empty())
86 chrome::NewEmptyWindow(profile_);
87
88 if (BrowserList::empty())
89 return NULL;
90
91 content::WebContents* web_contents = chrome::AddSelectedTabWithURL(
92 *BrowserList::begin(),
93 GURL(chrome::kAboutBlankURL),
94 content::PAGE_TRANSITION_LINK);
95 return web_contents->GetRenderViewHost();
96 }
OLDNEW
« no previous file with comments | « chrome/browser/debugger/browser_list_tabcontents_provider.h ('k') | chrome/browser/debugger/devtools_file_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698