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

Side by Side Diff: chrome/browser/android/vr_shell/ui_scene_manager.cc

Issue 2873043002: VrShell: Add test for fullscreen transitions. (Closed)
Patch Set: rebase to use debug id enum instead of name one I created Created 3 years, 7 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 #include "chrome/browser/android/vr_shell/ui_scene_manager.h" 5 #include "chrome/browser/android/vr_shell/ui_scene_manager.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "chrome/browser/android/vr_shell/textures/close_button_texture.h" 9 #include "chrome/browser/android/vr_shell/textures/close_button_texture.h"
10 #include "chrome/browser/android/vr_shell/textures/ui_texture.h" 10 #include "chrome/browser/android/vr_shell/textures/ui_texture.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 exit_warning_ = element.get(); 156 exit_warning_ = element.get();
157 scene_->AddUiElement(std::move(element)); 157 scene_->AddUiElement(std::move(element));
158 } 158 }
159 159
160 void UiSceneManager::CreateSystemIndicators() { 160 void UiSceneManager::CreateSystemIndicators() {
161 std::unique_ptr<UiElement> element; 161 std::unique_ptr<UiElement> element;
162 162
163 // TODO(acondor): Make constants for sizes and positions once the UX for the 163 // TODO(acondor): Make constants for sizes and positions once the UX for the
164 // indicators is defined. 164 // indicators is defined.
165 element = base::MakeUnique<AudioCaptureIndicator>(512); 165 element = base::MakeUnique<AudioCaptureIndicator>(512);
166 element->set_debug_id(kAudioCaptureIndicator);
166 element->set_id(AllocateId()); 167 element->set_id(AllocateId());
167 element->set_translation({-0.3, 0.8, -kContentDistance + 0.1}); 168 element->set_translation({-0.3, 0.8, -kContentDistance + 0.1});
168 element->set_size({0.5, 0, 1}); 169 element->set_size({0.5, 0, 1});
169 element->set_visible(false); 170 element->set_visible(false);
170 audio_capture_indicator_ = element.get(); 171 audio_capture_indicator_ = element.get();
171 scene_->AddUiElement(std::move(element)); 172 scene_->AddUiElement(std::move(element));
172 173
173 element = base::MakeUnique<VideoCaptureIndicator>(512); 174 element = base::MakeUnique<VideoCaptureIndicator>(512);
175 element->set_debug_id(kVideoCaptureIndicator);
174 element->set_id(AllocateId()); 176 element->set_id(AllocateId());
175 element->set_translation({0.3, 0.8, -kContentDistance + 0.1}); 177 element->set_translation({0.3, 0.8, -kContentDistance + 0.1});
176 element->set_size({0.5, 0, 1}); 178 element->set_size({0.5, 0, 1});
177 element->set_visible(false); 179 element->set_visible(false);
178 video_capture_indicator_ = element.get(); 180 video_capture_indicator_ = element.get();
179 scene_->AddUiElement(std::move(element)); 181 scene_->AddUiElement(std::move(element));
180 182
181 element = base::MakeUnique<ScreenCaptureIndicator>(512); 183 element = base::MakeUnique<ScreenCaptureIndicator>(512);
182 element->set_id(AllocateId()); 184 element->set_id(AllocateId());
183 element->set_translation({0.0, 0.65, -kContentDistance + 0.1}); 185 element->set_translation({0.0, 0.65, -kContentDistance + 0.1});
184 element->set_size({0.4, 0, 1}); 186 element->set_size({0.4, 0, 1});
185 element->set_visible(false); 187 element->set_visible(false);
186 screen_capture_indicator_ = element.get(); 188 screen_capture_indicator_ = element.get();
187 scene_->AddUiElement(std::move(element)); 189 scene_->AddUiElement(std::move(element));
188 } 190 }
189 191
190 void UiSceneManager::CreateContentQuad() { 192 void UiSceneManager::CreateContentQuad() {
191 std::unique_ptr<UiElement> element; 193 std::unique_ptr<UiElement> element;
192 194
193 element = base::MakeUnique<UiElement>(); 195 element = base::MakeUnique<UiElement>();
196 element->set_debug_id(kContentQuad);
194 element->set_id(AllocateId()); 197 element->set_id(AllocateId());
195 element->set_fill(vr_shell::Fill::CONTENT); 198 element->set_fill(vr_shell::Fill::CONTENT);
196 element->set_size({kContentWidth, kContentHeight, 1}); 199 element->set_size({kContentWidth, kContentHeight, 1});
197 element->set_translation({0, kContentVerticalOffset, -kContentDistance}); 200 element->set_translation({0, kContentVerticalOffset, -kContentDistance});
198 element->set_visible(false); 201 element->set_visible(false);
199 main_content_ = element.get(); 202 main_content_ = element.get();
200 content_elements_.push_back(element.get()); 203 content_elements_.push_back(element.get());
201 scene_->AddUiElement(std::move(element)); 204 scene_->AddUiElement(std::move(element));
202 205
203 // Place an invisible but hittable plane behind the content quad, to keep the 206 // Place an invisible but hittable plane behind the content quad, to keep the
(...skipping 10 matching lines...) Expand all
214 // Limit reticle distance to a sphere based on content distance. 217 // Limit reticle distance to a sphere based on content distance.
215 scene_->SetBackgroundDistance(main_content_->translation().z() * 218 scene_->SetBackgroundDistance(main_content_->translation().z() *
216 -kBackgroundDistanceMultiplier); 219 -kBackgroundDistanceMultiplier);
217 } 220 }
218 221
219 void UiSceneManager::CreateBackground() { 222 void UiSceneManager::CreateBackground() {
220 std::unique_ptr<UiElement> element; 223 std::unique_ptr<UiElement> element;
221 224
222 // Floor. 225 // Floor.
223 element = base::MakeUnique<UiElement>(); 226 element = base::MakeUnique<UiElement>();
227 element->set_debug_id(kFloor);
224 element->set_id(AllocateId()); 228 element->set_id(AllocateId());
225 element->set_size({kSceneSize, kSceneSize, 1.0}); 229 element->set_size({kSceneSize, kSceneSize, 1.0});
226 element->set_translation({0.0, -kSceneHeight / 2, 0.0}); 230 element->set_translation({0.0, -kSceneHeight / 2, 0.0});
227 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2.0}); 231 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2.0});
228 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 232 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
229 element->set_edge_color(kBackgroundHorizonColor); 233 element->set_edge_color(kBackgroundHorizonColor);
230 element->set_center_color(kBackgroundCenterColor); 234 element->set_center_color(kBackgroundCenterColor);
231 element->set_draw_phase(0); 235 element->set_draw_phase(0);
232 control_elements_.push_back(element.get()); 236 control_elements_.push_back(element.get());
233 scene_->AddUiElement(std::move(element)); 237 scene_->AddUiElement(std::move(element));
234 238
235 // Ceiling. 239 // Ceiling.
236 element = base::MakeUnique<UiElement>(); 240 element = base::MakeUnique<UiElement>();
241 element->set_debug_id(kCeiling);
237 element->set_id(AllocateId()); 242 element->set_id(AllocateId());
238 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 243 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
239 element->set_size({kSceneSize, kSceneSize, 1.0}); 244 element->set_size({kSceneSize, kSceneSize, 1.0});
240 element->set_translation({0.0, kSceneHeight / 2, 0.0}); 245 element->set_translation({0.0, kSceneHeight / 2, 0.0});
241 element->set_rotation({1.0, 0.0, 0.0, M_PI / 2}); 246 element->set_rotation({1.0, 0.0, 0.0, M_PI / 2});
242 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 247 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
243 element->set_edge_color(kBackgroundHorizonColor); 248 element->set_edge_color(kBackgroundHorizonColor);
244 element->set_center_color(kBackgroundCenterColor); 249 element->set_center_color(kBackgroundCenterColor);
245 element->set_draw_phase(0); 250 element->set_draw_phase(0);
246 control_elements_.push_back(element.get()); 251 control_elements_.push_back(element.get());
247 scene_->AddUiElement(std::move(element)); 252 scene_->AddUiElement(std::move(element));
248 253
249 // Floor grid. 254 // Floor grid.
250 element = base::MakeUnique<UiElement>(); 255 element = base::MakeUnique<UiElement>();
256 element->set_debug_id(kGrid);
251 element->set_id(AllocateId()); 257 element->set_id(AllocateId());
252 element->set_fill(vr_shell::Fill::GRID_GRADIENT); 258 element->set_fill(vr_shell::Fill::GRID_GRADIENT);
253 element->set_size({kSceneSize, kSceneSize, 1.0}); 259 element->set_size({kSceneSize, kSceneSize, 1.0});
254 element->set_translation({0.0, -kSceneHeight / 2 + kTextureOffset, 0.0}); 260 element->set_translation({0.0, -kSceneHeight / 2 + kTextureOffset, 0.0});
255 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2}); 261 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2});
256 element->set_fill(vr_shell::Fill::GRID_GRADIENT); 262 element->set_fill(vr_shell::Fill::GRID_GRADIENT);
257 element->set_center_color(kBackgroundHorizonColor); 263 element->set_center_color(kBackgroundHorizonColor);
258 vr::Colorf edge_color = kBackgroundHorizonColor; 264 vr::Colorf edge_color = kBackgroundHorizonColor;
259 edge_color.a = 0.0; 265 edge_color.a = 0.0;
260 element->set_edge_color(edge_color); 266 element->set_edge_color(edge_color);
261 element->set_gridline_count(kFloorGridlineCount); 267 element->set_gridline_count(kFloorGridlineCount);
262 element->set_draw_phase(0); 268 element->set_draw_phase(0);
263 control_elements_.push_back(element.get()); 269 control_elements_.push_back(element.get());
264 scene_->AddUiElement(std::move(element)); 270 scene_->AddUiElement(std::move(element));
265 271
266 scene_->SetBackgroundColor(kBackgroundHorizonColor); 272 scene_->SetBackgroundColor(kBackgroundHorizonColor);
267 } 273 }
268 274
269 void UiSceneManager::CreateUrlBar() { 275 void UiSceneManager::CreateUrlBar() {
270 // TODO(cjgrant): Incorporate final size and position. 276 // TODO(cjgrant): Incorporate final size and position.
271 auto url_bar = base::MakeUnique<UrlBar>(512); 277 auto url_bar = base::MakeUnique<UrlBar>(512);
278 url_bar->set_debug_id(kBrowserBar);
272 url_bar->set_id(AllocateId()); 279 url_bar->set_id(AllocateId());
273 url_bar->set_translation({0, kUrlBarVerticalOffset, -kUrlBarDistance}); 280 url_bar->set_translation({0, kUrlBarVerticalOffset, -kUrlBarDistance});
274 url_bar->set_size({kUrlBarWidth, kUrlBarHeight, 1}); 281 url_bar->set_size({kUrlBarWidth, kUrlBarHeight, 1});
275 url_bar->SetBackButtonCallback( 282 url_bar->SetBackButtonCallback(
276 base::Bind(&UiSceneManager::OnBackButtonClicked, base::Unretained(this))); 283 base::Bind(&UiSceneManager::OnBackButtonClicked, base::Unretained(this)));
277 url_bar_ = url_bar.get(); 284 url_bar_ = url_bar.get();
278 control_elements_.push_back(url_bar.get()); 285 control_elements_.push_back(url_bar.get());
279 scene_->AddUiElement(std::move(url_bar)); 286 scene_->AddUiElement(std::move(url_bar));
280 287
281 auto indicator = base::MakeUnique<LoadingIndicator>(256); 288 auto indicator = base::MakeUnique<LoadingIndicator>(256);
289 indicator->set_debug_id(kLoadingIndicator);
282 indicator->set_id(AllocateId()); 290 indicator->set_id(AllocateId());
283 indicator->set_translation({0, 0, kLoadingIndicatorOffset}); 291 indicator->set_translation({0, 0, kLoadingIndicatorOffset});
284 indicator->set_size({kLoadingIndicatorWidth, kLoadingIndicatorHeight, 1}); 292 indicator->set_size({kLoadingIndicatorWidth, kLoadingIndicatorHeight, 1});
285 indicator->set_parent_id(url_bar_->id()); 293 indicator->set_parent_id(url_bar_->id());
286 indicator->set_y_anchoring(YAnchoring::YTOP); 294 indicator->set_y_anchoring(YAnchoring::YTOP);
287 loading_indicator_ = indicator.get(); 295 loading_indicator_ = indicator.get();
288 control_elements_.push_back(indicator.get()); 296 control_elements_.push_back(indicator.get());
289 scene_->AddUiElement(std::move(indicator)); 297 scene_->AddUiElement(std::move(indicator));
290 } 298 }
291 299
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 440
433 void UiSceneManager::OnCloseButtonClicked() { 441 void UiSceneManager::OnCloseButtonClicked() {
434 browser_->ExitCct(); 442 browser_->ExitCct();
435 } 443 }
436 444
437 int UiSceneManager::AllocateId() { 445 int UiSceneManager::AllocateId() {
438 return next_available_id_++; 446 return next_available_id_++;
439 } 447 }
440 448
441 } // namespace vr_shell 449 } // namespace vr_shell
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698