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

Side by Side Diff: content/browser/debugger/devtools_client_host.cc

Issue 8549022: Define DevTools content API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: DevToolsManager -> DevToolsManagerImpl, moved client to public Created 9 years, 1 month 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
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 <algorithm>
6
7 #include "base/lazy_instance.h"
8 #include "base/logging.h"
9 #include "content/browser/debugger/devtools_client_host.h"
10 #include "content/browser/debugger/devtools_manager.h"
11
12 typedef std::vector<DevToolsClientHost*> DevToolsClientHostList;
13 namespace {
14 base::LazyInstance<DevToolsClientHostList,
15 base::LeakyLazyInstanceTraits<DevToolsClientHostList> >
16 g_instances = LAZY_INSTANCE_INITIALIZER;
17 } // namespace
18
19 // static
20 DevToolsClientHost* DevToolsClientHost::FindOwnerClientHost(
21 RenderViewHost* client_rvh) {
22 for (DevToolsClientHostList::iterator it = g_instances.Get().begin();
23 it != g_instances.Get().end(); ++it) {
24 if ((*it)->GetClientRenderViewHost() == client_rvh)
25 return *it;
26 }
27 return NULL;
28 }
29
30 DevToolsClientHost::~DevToolsClientHost() {
31 DevToolsClientHostList::iterator it = std::find(g_instances.Get().begin(),
32 g_instances.Get().end(),
33 this);
34 DCHECK(it != g_instances.Get().end());
35 g_instances.Get().erase(it);
36 }
37
38 RenderViewHost* DevToolsClientHost::GetClientRenderViewHost() {
39 return NULL;
40 }
41
42 DevToolsClientHost::DevToolsClientHost() : close_listener_(NULL) {
43 g_instances.Get().push_back(this);
44 }
45
46 void DevToolsClientHost::ForwardToDevToolsAgent(const IPC::Message& message) {
47 DevToolsManager::GetInstance()->ForwardToDevToolsAgent(this, message);
48 }
49
50 void DevToolsClientHost::NotifyCloseListener() {
51 if (close_listener_) {
52 close_listener_->ClientHostClosing(this);
53 close_listener_ = NULL;
54 }
55 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698