OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ | 5 #ifndef EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ |
6 #define EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ | 6 #define EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 void set_histogram_value( | 185 void set_histogram_value( |
186 extensions::functions::HistogramValue histogram_value) { | 186 extensions::functions::HistogramValue histogram_value) { |
187 histogram_value_ = histogram_value; } | 187 histogram_value_ = histogram_value; } |
188 extensions::functions::HistogramValue histogram_value() const { | 188 extensions::functions::HistogramValue histogram_value() const { |
189 return histogram_value_; } | 189 return histogram_value_; } |
190 | 190 |
191 void set_response_callback(const ResponseCallback& callback) { | 191 void set_response_callback(const ResponseCallback& callback) { |
192 response_callback_ = callback; | 192 response_callback_ = callback; |
193 } | 193 } |
194 | 194 |
| 195 void set_source_tab_id(int source_tab_id) { source_tab_id_ = source_tab_id; } |
| 196 int source_tab_id() const { return source_tab_id_; } |
| 197 |
195 protected: | 198 protected: |
196 friend struct ExtensionFunctionDeleteTraits; | 199 friend struct ExtensionFunctionDeleteTraits; |
197 | 200 |
198 virtual ~ExtensionFunction(); | 201 virtual ~ExtensionFunction(); |
199 | 202 |
200 // Helper method for ExtensionFunctionDeleteTraits. Deletes this object. | 203 // Helper method for ExtensionFunctionDeleteTraits. Deletes this object. |
201 virtual void Destruct() const = 0; | 204 virtual void Destruct() const = 0; |
202 | 205 |
203 // Derived classes should implement this method to do their work and return | 206 // Derived classes should implement this method to do their work and return |
204 // success/failure. | 207 // success/failure. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 // returning. Usually we want to kill the message sending process. | 260 // returning. Usually we want to kill the message sending process. |
258 bool bad_message_; | 261 bool bad_message_; |
259 | 262 |
260 // The sample value to record with the histogram API when the function | 263 // The sample value to record with the histogram API when the function |
261 // is invoked. | 264 // is invoked. |
262 extensions::functions::HistogramValue histogram_value_; | 265 extensions::functions::HistogramValue histogram_value_; |
263 | 266 |
264 // The callback to run once the function has done execution. | 267 // The callback to run once the function has done execution. |
265 ResponseCallback response_callback_; | 268 ResponseCallback response_callback_; |
266 | 269 |
| 270 // The ID of the tab triggered this function call, or -1 if there is no tab. |
| 271 int source_tab_id_; |
| 272 |
| 273 private: |
267 DISALLOW_COPY_AND_ASSIGN(ExtensionFunction); | 274 DISALLOW_COPY_AND_ASSIGN(ExtensionFunction); |
268 }; | 275 }; |
269 | 276 |
270 // Extension functions that run on the UI thread. Most functions fall into | 277 // Extension functions that run on the UI thread. Most functions fall into |
271 // this category. | 278 // this category. |
272 class UIThreadExtensionFunction : public ExtensionFunction { | 279 class UIThreadExtensionFunction : public ExtensionFunction { |
273 public: | 280 public: |
274 // TODO(yzshen): We should be able to remove this interface now that we | 281 // TODO(yzshen): We should be able to remove this interface now that we |
275 // support overriding the response callback. | 282 // support overriding the response callback. |
276 // A delegate for use in testing, to intercept the call to SendResponse. | 283 // A delegate for use in testing, to intercept the call to SendResponse. |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 public: | 443 public: |
437 SyncIOThreadExtensionFunction(); | 444 SyncIOThreadExtensionFunction(); |
438 | 445 |
439 virtual void Run() OVERRIDE; | 446 virtual void Run() OVERRIDE; |
440 | 447 |
441 protected: | 448 protected: |
442 virtual ~SyncIOThreadExtensionFunction(); | 449 virtual ~SyncIOThreadExtensionFunction(); |
443 }; | 450 }; |
444 | 451 |
445 #endif // EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ | 452 #endif // EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ |
OLD | NEW |