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

Side by Side Diff: mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.cc

Issue 331563003: Launching + Views (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 6 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 | Annotate | Revision Log
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 "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h" 5 #include "mojo/services/public/cpp/view_manager/lib/view_manager_synchronizer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "mojo/public/cpp/application/application.h" 9 #include "mojo/public/cpp/application/application.h"
10 #include "mojo/public/cpp/application/connect.h" 10 #include "mojo/public/cpp/application/connect.h"
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 virtual void DoActionCompleted(bool success) OVERRIDE { 470 virtual void DoActionCompleted(bool success) OVERRIDE {
471 // TODO(beng): recovery? 471 // TODO(beng): recovery?
472 } 472 }
473 473
474 const String url_; 474 const String url_;
475 const Id node_id_; 475 const Id node_id_;
476 476
477 DISALLOW_COPY_AND_ASSIGN(EmbedTransaction); 477 DISALLOW_COPY_AND_ASSIGN(EmbedTransaction);
478 }; 478 };
479 479
480 class SetFocusTransaction : public ViewManagerTransaction {
481 public:
482 SetFocusTransaction(Id node_id, ViewManagerSynchronizer* synchronizer)
483 : ViewManagerTransaction(synchronizer),
484 node_id_(node_id) {}
485 virtual ~SetFocusTransaction() {}
486
487 private:
488 // Overridden from ViewManagerTransaction:
489 virtual void DoCommit() OVERRIDE {
490 service()->SetFocus(node_id_, ActionCompletedCallback());
491 }
492 virtual void DoActionCompleted(bool success) OVERRIDE {
493 // TODO(beng): recovery?
494 }
495
496 const Id node_id_;
497
498 DISALLOW_COPY_AND_ASSIGN(SetFocusTransaction);
499 };
500
480 ViewManagerSynchronizer::ViewManagerSynchronizer(ViewManagerDelegate* delegate) 501 ViewManagerSynchronizer::ViewManagerSynchronizer(ViewManagerDelegate* delegate)
481 : connected_(false), 502 : connected_(false),
482 connection_id_(0), 503 connection_id_(0),
483 next_id_(1), 504 next_id_(1),
484 next_server_change_id_(0), 505 next_server_change_id_(0),
485 delegate_(delegate) {} 506 delegate_(delegate) {}
486 507
487 ViewManagerSynchronizer::~ViewManagerSynchronizer() { 508 ViewManagerSynchronizer::~ViewManagerSynchronizer() {
488 while (!nodes_.empty()) { 509 while (!nodes_.empty()) {
489 IdToNodeMap::iterator it = nodes_.begin(); 510 IdToNodeMap::iterator it = nodes_.begin();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 } 599 }
579 600
580 void ViewManagerSynchronizer::SetViewContents(Id view_id, 601 void ViewManagerSynchronizer::SetViewContents(Id view_id,
581 const SkBitmap& contents) { 602 const SkBitmap& contents) {
582 DCHECK(connected_); 603 DCHECK(connected_);
583 pending_transactions_.push_back( 604 pending_transactions_.push_back(
584 new SetViewContentsTransaction(view_id, contents, this)); 605 new SetViewContentsTransaction(view_id, contents, this));
585 Sync(); 606 Sync();
586 } 607 }
587 608
609 void ViewManagerSynchronizer::SetFocus(Id node_id) {
610 DCHECK(connected_);
611 pending_transactions_.push_back(new SetFocusTransaction(node_id, this));
612 Sync();
613 }
614
588 void ViewManagerSynchronizer::Embed(const String& url, Id node_id) { 615 void ViewManagerSynchronizer::Embed(const String& url, Id node_id) {
589 DCHECK(connected_); 616 DCHECK(connected_);
590 pending_transactions_.push_back(new EmbedTransaction(url, node_id, this)); 617 pending_transactions_.push_back(new EmbedTransaction(url, node_id, this));
591 Sync(); 618 Sync();
592 } 619 }
593 620
594 void ViewManagerSynchronizer::AddNode(ViewTreeNode* node) { 621 void ViewManagerSynchronizer::AddNode(ViewTreeNode* node) {
595 DCHECK(nodes_.find(node->id()) == nodes_.end()); 622 DCHECK(nodes_.find(node->id()) == nodes_.end());
596 nodes_[node->id()] = node; 623 nodes_[node->id()] = node;
597 } 624 }
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 // ViewManager, public: 830 // ViewManager, public:
804 831
805 // static 832 // static
806 void ViewManager::Create(Application* application, 833 void ViewManager::Create(Application* application,
807 ViewManagerDelegate* delegate) { 834 ViewManagerDelegate* delegate) {
808 application->AddService<ViewManagerSynchronizer>(delegate); 835 application->AddService<ViewManagerSynchronizer>(delegate);
809 } 836 }
810 837
811 } // namespace view_manager 838 } // namespace view_manager
812 } // namespace mojo 839 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698