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

Side by Side Diff: chrome/browser/ui/intents/web_intents_model.h

Issue 9430027: Add default query method to WebIntentsRegistry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 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 #ifndef CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_ 5 #ifndef CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_
6 #define CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_ 6 #define CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/intents/web_intents_registry.h" 10 #include "chrome/browser/intents/web_intents_registry.h"
11 #include "ui/base/models/tree_node_model.h" 11 #include "ui/base/models/tree_node_model.h"
12 12
13 class WebIntentsRegistry; 13 class WebIntentsRegistry;
14 struct DefaultWebIntentService;
14 15
15 // The tree structure is a TYPE_ROOT node with title="", 16 // The tree structure is a TYPE_ROOT node with title="",
16 // children are TYPE_ORIGIN nodes with title=origin, whose 17 // children are TYPE_ORIGIN nodes with title=origin, whose
17 // children are TYPE_SERVICE nodes with title=origin, and 18 // children are TYPE_SERVICE nodes with title=origin, and
18 // will be of type ServiceTreeNode with data on individual 19 // will be of type ServiceTreeNode with data on individual
19 // services. 20 // services.
20 class WebIntentsTreeNode : public ui::TreeNode<WebIntentsTreeNode> { 21 class WebIntentsTreeNode : public ui::TreeNode<WebIntentsTreeNode> {
21 public: 22 public:
22 WebIntentsTreeNode(); 23 WebIntentsTreeNode();
23 explicit WebIntentsTreeNode(const string16& title); 24 explicit WebIntentsTreeNode(const string16& title);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 WebIntentsTreeNode* GetTreeNode(std::string path_id); 99 WebIntentsTreeNode* GetTreeNode(std::string path_id);
99 void GetChildNodeList(WebIntentsTreeNode* parent, int start, int count, 100 void GetChildNodeList(WebIntentsTreeNode* parent, int start, int count,
100 base::ListValue* nodes); 101 base::ListValue* nodes);
101 void GetWebIntentsTreeNodeDictionary(const WebIntentsTreeNode& node, 102 void GetWebIntentsTreeNodeDictionary(const WebIntentsTreeNode& node,
102 base::DictionaryValue* dict); 103 base::DictionaryValue* dict);
103 104
104 virtual void OnIntentsQueryDone( 105 virtual void OnIntentsQueryDone(
105 WebIntentsRegistry::QueryID query_id, 106 WebIntentsRegistry::QueryID query_id,
106 const std::vector<webkit_glue::WebIntentServiceData>& services) OVERRIDE; 107 const std::vector<webkit_glue::WebIntentServiceData>& services) OVERRIDE;
107 108
109 virtual void OnIntentsDefaultsQueryDone(
110 WebIntentsRegistry::QueryID query_id,
111 const DefaultWebIntentService& default_service) OVERRIDE;
112
108 private: 113 private:
109 // Loads the data model from the WebIntentsRegistry. 114 // Loads the data model from the WebIntentsRegistry.
110 // TODO(gbillock): need an observer on that to absorb async updates? 115 // TODO(gbillock): need an observer on that to absorb async updates?
111 void LoadModel(); 116 void LoadModel();
112 117
113 // Get the model node for a particular host. 118 // Get the model node for a particular host.
114 WebIntentsTreeNode* GetNodeForHost(const std::string& host); 119 WebIntentsTreeNode* GetNodeForHost(const std::string& host);
115 120
116 // Do batch-specific notifies for updates coming from the LoadModel. 121 // Do batch-specific notifies for updates coming from the LoadModel.
117 void NotifyObserverBeginBatch(); 122 void NotifyObserverBeginBatch();
118 void NotifyObserverEndBatch(); 123 void NotifyObserverEndBatch();
119 124
120 // The backing registry. Weak pointer. 125 // The backing registry. Weak pointer.
121 WebIntentsRegistry* intents_registry_; 126 WebIntentsRegistry* intents_registry_;
122 127
123 // Separate list of observers that'll get batch updates. 128 // Separate list of observers that'll get batch updates.
124 ObserverList<Observer> intents_observer_list_; 129 ObserverList<Observer> intents_observer_list_;
125 130
126 // Batch update nesting level. Incremented to indicate that we're in 131 // Batch update nesting level. Incremented to indicate that we're in
127 // the middle of a batch update. 132 // the middle of a batch update.
128 int batch_update_; 133 int batch_update_;
129 }; 134 };
130 135
131 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_ 136 #endif // CHROME_BROWSER_UI_INTENTS_WEB_INTENTS_MODEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698