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

Side by Side Diff: mojo/examples/media_viewer/media_viewer.cc

Issue 514063003: Update view_manager and window_manager to make use of content handling. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@viewman2
Patch Set: git cl format Created 6 years, 3 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
« no previous file with comments | « mojo/examples/keyboard/keyboard.cc ('k') | mojo/examples/nesting_app/nesting_app.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 }; 204 };
205 205
206 class MediaViewer 206 class MediaViewer
207 : public ApplicationDelegate, 207 : public ApplicationDelegate,
208 public ViewManagerDelegate, 208 public ViewManagerDelegate,
209 public ControlPanel::Delegate, 209 public ControlPanel::Delegate,
210 public ViewObserver { 210 public ViewObserver {
211 public: 211 public:
212 MediaViewer() 212 MediaViewer()
213 : navigator_factory_(this), 213 : navigator_factory_(this),
214 view_manager_client_factory_(this),
215 app_(NULL), 214 app_(NULL),
216 view_manager_(NULL), 215 view_manager_(NULL),
217 root_view_(NULL), 216 root_view_(NULL),
218 control_view_(NULL), 217 control_view_(NULL),
219 content_view_(NULL), 218 content_view_(NULL),
220 control_panel_(this) { 219 control_panel_(this) {
221 handler_map_["image/png"] = "mojo:mojo_png_viewer"; 220 handler_map_["image/png"] = "mojo:mojo_png_viewer";
222 } 221 }
223 222
224 virtual ~MediaViewer() { 223 virtual ~MediaViewer() {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 263
265 struct PendingNavigateRequest { 264 struct PendingNavigateRequest {
266 uint32_t view_id; 265 uint32_t view_id;
267 NavigationDetailsPtr navigation_details; 266 NavigationDetailsPtr navigation_details;
268 ResponseDetailsPtr response_details; 267 ResponseDetailsPtr response_details;
269 }; 268 };
270 269
271 270
272 // Overridden from ApplicationDelegate: 271 // Overridden from ApplicationDelegate:
273 virtual void Initialize(ApplicationImpl* app) OVERRIDE { 272 virtual void Initialize(ApplicationImpl* app) OVERRIDE {
273 view_manager_client_factory_.reset(
274 new ViewManagerClientFactory(app->shell(), this));
274 app_ = app; 275 app_ = app;
275 views_init_.reset(new ViewsInit); 276 views_init_.reset(new ViewsInit);
276 } 277 }
277 278
278 virtual bool ConfigureIncomingConnection(ApplicationConnection* connection) 279 virtual bool ConfigureIncomingConnection(ApplicationConnection* connection)
279 OVERRIDE { 280 OVERRIDE {
280 connection->AddService(&navigator_factory_); 281 connection->AddService(&navigator_factory_);
281 connection->AddService(&view_manager_client_factory_); 282 connection->AddService(view_manager_client_factory_.get());
282 return true; 283 return true;
283 } 284 }
284 285
285 void LayoutViews() { 286 void LayoutViews() {
286 View* root = content_view_->parent(); 287 View* root = content_view_->parent();
287 gfx::Rect control_bounds(root->bounds().width(), 28); 288 gfx::Rect control_bounds(root->bounds().width(), 28);
288 control_view_->SetBounds(control_bounds); 289 control_view_->SetBounds(control_bounds);
289 gfx::Rect content_bounds(0, control_bounds.height(), root->bounds().width(), 290 gfx::Rect content_bounds(0, control_bounds.height(), root->bounds().width(),
290 root->bounds().height() - control_bounds.height()); 291 root->bounds().height() - control_bounds.height());
291 content_view_->SetBounds(content_bounds); 292 content_view_->SetBounds(content_bounds);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 root_view_ = NULL; 355 root_view_ = NULL;
355 } 356 }
356 357
357 std::string GetHandlerForContentType(const std::string& content_type) { 358 std::string GetHandlerForContentType(const std::string& content_type) {
358 HandlerMap::const_iterator it = handler_map_.find(content_type); 359 HandlerMap::const_iterator it = handler_map_.find(content_type);
359 return it != handler_map_.end() ? it->second : std::string(); 360 return it != handler_map_.end() ? it->second : std::string();
360 } 361 }
361 362
362 InterfaceFactoryImplWithContext<NavigatorImpl, MediaViewer> 363 InterfaceFactoryImplWithContext<NavigatorImpl, MediaViewer>
363 navigator_factory_; 364 navigator_factory_;
364 ViewManagerClientFactory view_manager_client_factory_; 365 scoped_ptr<ViewManagerClientFactory> view_manager_client_factory_;
365 366
366 ApplicationImpl* app_; 367 ApplicationImpl* app_;
367 scoped_ptr<ViewsInit> views_init_; 368 scoped_ptr<ViewsInit> views_init_;
368 ViewManager* view_manager_; 369 ViewManager* view_manager_;
369 View* root_view_; 370 View* root_view_;
370 View* control_view_; 371 View* control_view_;
371 View* content_view_; 372 View* content_view_;
372 ControlPanel control_panel_; 373 ControlPanel control_panel_;
373 ZoomableMediaPtr zoomable_media_; 374 ZoomableMediaPtr zoomable_media_;
374 HandlerMap handler_map_; 375 HandlerMap handler_map_;
(...skipping 10 matching lines...) Expand all
385 response_details.Pass()); 386 response_details.Pass());
386 } 387 }
387 388
388 } // namespace examples 389 } // namespace examples
389 } // namespace mojo 390 } // namespace mojo
390 391
391 MojoResult MojoMain(MojoHandle shell_handle) { 392 MojoResult MojoMain(MojoHandle shell_handle) {
392 mojo::ApplicationRunnerChromium runner(new mojo::examples::MediaViewer); 393 mojo::ApplicationRunnerChromium runner(new mojo::examples::MediaViewer);
393 return runner.Run(shell_handle); 394 return runner.Run(shell_handle);
394 } 395 }
OLDNEW
« no previous file with comments | « mojo/examples/keyboard/keyboard.cc ('k') | mojo/examples/nesting_app/nesting_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698