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

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

Issue 28104: Enable history and downloads by default, port NewTabUI from DOMUIHost to DOMU... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 months 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/debugger/debugger_contents.h ('k') | chrome/browser/dom_ui/dom_ui.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This file defines utility functions for working with strings. 5 // This file defines utility functions for working with strings.
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "chrome/browser/browser_process.h" 11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/debugger/debugger_contents.h" 12 #include "chrome/browser/debugger/debugger_contents.h"
13 #include "chrome/browser/debugger/debugger_shell.h" 13 #include "chrome/browser/debugger/debugger_shell.h"
14 #include "chrome/browser/debugger/debugger_wrapper.h" 14 #include "chrome/browser/debugger/debugger_wrapper.h"
15 #include "chrome/browser/dom_ui/chrome_url_data_manager.h" 15 #include "chrome/browser/dom_ui/chrome_url_data_manager.h"
16 #include "chrome/common/chrome_switches.h" 16 #include "chrome/common/chrome_switches.h"
17 #include "chrome/common/resource_bundle.h" 17 #include "chrome/common/resource_bundle.h"
18 #include "net/base/mime_util.h" 18 #include "net/base/mime_util.h"
19 19
20 #include "grit/debugger_resources.h" 20 #include "grit/debugger_resources.h"
21 21
22 // DebuggerUI is accessible from chrome-ui://inspector.
23 static const char kDebuggerHost[] = "inspector";
24
22 class DebuggerHTMLSource : public ChromeURLDataManager::DataSource { 25 class DebuggerHTMLSource : public ChromeURLDataManager::DataSource {
23 public: 26 public:
24 // Creates our datasource and sets our user message to a specific message 27 // Creates our datasource and sets our user message to a specific message
25 // from our string bundle. 28 // from our string bundle.
26 DebuggerHTMLSource() 29 DebuggerHTMLSource()
27 : DataSource("debugger", MessageLoop::current()) { } 30 : DataSource("debugger", MessageLoop::current()) { }
28 31
29 // Called when the network layer has requested a resource underneath 32 // Called when the network layer has requested a resource underneath
30 // the path we registered. 33 // the path we registered.
31 virtual void StartDataRequest(const std::string& path, int request_id) { 34 virtual void StartDataRequest(const std::string& path, int request_id) {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 return mime_type; 82 return mime_type;
80 } 83 }
81 84
82 private: 85 private:
83 DISALLOW_EVIL_CONSTRUCTORS(DebuggerHTMLSource); 86 DISALLOW_EVIL_CONSTRUCTORS(DebuggerHTMLSource);
84 }; 87 };
85 88
86 89
87 class DebuggerHandler : public DOMMessageHandler { 90 class DebuggerHandler : public DOMMessageHandler {
88 public: 91 public:
89 explicit DebuggerHandler(DOMUIHost* host) { 92 explicit DebuggerHandler(DOMUI* dom_ui) : DOMMessageHandler(dom_ui) {
90 host->RegisterMessageCallback("DebuggerHostMessage", 93 dom_ui->RegisterMessageCallback("DebuggerHostMessage",
91 NewCallback(this, &DebuggerHandler::HandleDebuggerHostMessage)); 94 NewCallback(this, &DebuggerHandler::HandleDebuggerHostMessage));
92 } 95 }
93 96
94 void HandleDebuggerHostMessage(const Value* content) { 97 void HandleDebuggerHostMessage(const Value* content) {
95 if (!content || !content->IsType(Value::TYPE_LIST)) { 98 if (!content || !content->IsType(Value::TYPE_LIST)) {
96 NOTREACHED(); 99 NOTREACHED();
97 return; 100 return;
98 } 101 }
99 const ListValue* args = static_cast<const ListValue*>(content); 102 const ListValue* args = static_cast<const ListValue*>(content);
100 if (args->GetSize() < 1) { 103 if (args->GetSize() < 1) {
(...skipping 10 matching lines...) Expand all
111 } 114 }
112 debugger_host->OnDebuggerHostMsg(args); 115 debugger_host->OnDebuggerHostMsg(args);
113 #endif 116 #endif
114 } 117 }
115 118
116 private: 119 private:
117 DISALLOW_EVIL_CONSTRUCTORS(DebuggerHandler); 120 DISALLOW_EVIL_CONSTRUCTORS(DebuggerHandler);
118 }; 121 };
119 122
120 123
121 DebuggerContents::DebuggerContents(Profile* profile, SiteInstance* instance) 124 DebuggerContents::DebuggerContents(DOMUIContents* contents)
122 : DOMUIHost(profile, instance, NULL) { 125 : DOMUI(contents) {
123 set_type(TAB_CONTENTS_DEBUGGER);
124 } 126 }
125 127
126 void DebuggerContents::AttachMessageHandlers() { 128 void DebuggerContents::Init() {
127 AddMessageHandler(new DebuggerHandler(this)); 129 AddMessageHandler(new DebuggerHandler(this));
128 130
129 DebuggerHTMLSource* html_source = new DebuggerHTMLSource(); 131 DebuggerHTMLSource* html_source = new DebuggerHTMLSource();
130 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE, 132 g_browser_process->io_thread()->message_loop()->PostTask(FROM_HERE,
131 NewRunnableMethod(&chrome_url_data_manager, 133 NewRunnableMethod(&chrome_url_data_manager,
132 &ChromeURLDataManager::AddDataSource, 134 &ChromeURLDataManager::AddDataSource,
133 html_source)); 135 html_source));
134 } 136 }
135 137
136 // static 138 // static
137 bool DebuggerContents::IsDebuggerUrl(const GURL& url) { 139 bool DebuggerContents::IsDebuggerUrl(const GURL& url) {
138 return (url.SchemeIs("chrome-ui") && url.host() == "inspector"); 140 return (url.SchemeIs(DOMUIContents::GetScheme().c_str()) &&
141 url.host() == kDebuggerHost);
139 } 142 }
140 143
144 // static
145 GURL DebuggerContents::GetBaseURL() {
146 std::string url = DOMUIContents::GetScheme();
147 url += "://";
148 url += kDebuggerHost;
149 return GURL(url);
150 }
OLDNEW
« no previous file with comments | « chrome/browser/debugger/debugger_contents.h ('k') | chrome/browser/dom_ui/dom_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698