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