OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
| 9 #include "base/string16.h" |
9 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
10 #include "ui/gfx/rect.h" | 11 #include "ui/gfx/rect.h" |
11 | 12 |
12 namespace content { | 13 namespace content { |
13 | 14 |
14 // The context information required by clients of the SpeechRecognitionManager | 15 // The context information required by clients of the SpeechRecognitionManager |
15 // and its delegates for mapping the recognition session to other browser | 16 // and its delegates for mapping the recognition session to other browser |
16 // elements involved with it (e.g., the page element that requested the | 17 // elements involved with it (e.g., the page element that requested the |
17 // recognition). The SpeechRecognitionManager is not aware of the content of | 18 // recognition). The SpeechRecognitionManager is not aware of the content of |
18 // this struct and does NOT use it for its purposes. However the manager keeps | 19 // this struct and does NOT use it for its purposes. However the manager keeps |
19 // this struct "attached" to the recognition session during all the session | 20 // this struct "attached" to the recognition session during all the session |
20 // lifetime, making its contents available to clients (In this regard, see | 21 // lifetime, making its contents available to clients (In this regard, see |
21 // SpeechRecognitionManager::GetSessionContext and | 22 // SpeechRecognitionManager::GetSessionContext and |
22 // SpeechRecognitionManager::LookupSessionByContext methods). | 23 // SpeechRecognitionManager::LookupSessionByContext methods). |
23 struct CONTENT_EXPORT SpeechRecognitionSessionContext { | 24 struct CONTENT_EXPORT SpeechRecognitionSessionContext { |
24 SpeechRecognitionSessionContext() | 25 SpeechRecognitionSessionContext(); |
25 : render_process_id(0), | 26 ~SpeechRecognitionSessionContext(); |
26 render_view_id(0), | |
27 render_request_id(0), | |
28 js_handle_id(0) {} | |
29 ~SpeechRecognitionSessionContext() {} | |
30 | 27 |
31 int render_process_id; | 28 int render_process_id; |
32 int render_view_id; | 29 int render_view_id; |
33 int render_request_id; | 30 int render_request_id; |
34 int js_handle_id; | 31 int js_handle_id; |
| 32 |
| 33 // Determines whether recognition was requested by a page element (in which |
| 34 // case its coordinates are passed in |element_rect|). |
| 35 bool requested_by_page_element; |
| 36 |
| 37 // The coordinates of the page element for placing the bubble (valid only when |
| 38 // |requested_by_page_element| = true). |
35 gfx::Rect element_rect; | 39 gfx::Rect element_rect; |
| 40 |
| 41 // Determines whether this is the first time that this context (identified by |
| 42 // |context_name|) is requesting a recognition. |
| 43 // TODO(primiano) This is really temporary, remove after CL1.12 which will |
| 44 // refactor SpeechRecognitionPreferences and move this check entirely whithin |
| 45 // chrome, without involving content. |
| 46 bool is_first_request_for_context; |
| 47 |
| 48 // A texual description of the context (website, extension name) that is |
| 49 // requesting recognition, for prompting security notifications to the user. |
| 50 string16 context_name; |
36 }; | 51 }; |
37 | 52 |
38 } // namespace content | 53 } // namespace content |
39 | 54 |
40 #endif // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ | 55 #endif // CONTENT_PUBLIC_BROWSER_SPEECH_RECOGNITION_SESSION_CONTEXT_H_ |
OLD | NEW |