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

Side by Side Diff: blimp/client/feature/navigation_feature.cc

Issue 1962393004: Added a debug info UI for Blimp (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactored menu into ToolbarMenu Created 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "blimp/client/feature/navigation_feature.h" 5 #include "blimp/client/feature/navigation_feature.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "blimp/common/create_blimp_message.h" 10 #include "blimp/common/create_blimp_message.h"
11 #include "blimp/common/proto/blimp_message.pb.h" 11 #include "blimp/common/proto/blimp_message.pb.h"
12 #include "blimp/common/proto/navigation.pb.h" 12 #include "blimp/common/proto/navigation.pb.h"
13 #include "components/url_formatter/url_fixer.h" 13 #include "components/url_formatter/url_fixer.h"
14 #include "net/base/net_errors.h" 14 #include "net/base/net_errors.h"
15 #include "url/gurl.h" 15 #include "url/gurl.h"
16 #include "url/url_canon.h" 16 #include "url/url_canon.h"
17 #include "url/url_util.h" 17 #include "url/url_util.h"
18 18
19 namespace blimp { 19 namespace blimp {
20 namespace client { 20 namespace client {
21 21
22 NavigationFeature::NavigationFeature() {} 22 NavigationFeature::NavigationFeature(BlimpConnectionDetails* details)
23 : connection_details_(details) {
24 DCHECK(connection_details_);
25 }
23 26
24 NavigationFeature::~NavigationFeature() {} 27 NavigationFeature::~NavigationFeature() {}
25 28
26 void NavigationFeature::set_outgoing_message_processor( 29 void NavigationFeature::set_outgoing_message_processor(
27 std::unique_ptr<BlimpMessageProcessor> processor) { 30 std::unique_ptr<BlimpMessageProcessor> processor) {
28 outgoing_message_processor_ = std::move(processor); 31 outgoing_message_processor_ = std::move(processor);
29 } 32 }
30 33
31 void NavigationFeature::SetDelegate(int tab_id, 34 void NavigationFeature::SetDelegate(int tab_id,
32 NavigationFeatureDelegate* delegate) { 35 NavigationFeatureDelegate* delegate) {
(...skipping 24 matching lines...) Expand all
57 std::string encoded_query(buffer.data(), buffer.length()); 60 std::string encoded_query(buffer.data(), buffer.length());
58 url = GURL("https://www.google.com/#q=" + encoded_query); 61 url = GURL("https://www.google.com/#q=" + encoded_query);
59 DCHECK(url.is_valid()); 62 DCHECK(url.is_valid());
60 } 63 }
61 64
62 NavigationMessage* navigation_message; 65 NavigationMessage* navigation_message;
63 std::unique_ptr<BlimpMessage> blimp_message = 66 std::unique_ptr<BlimpMessage> blimp_message =
64 CreateBlimpMessage(&navigation_message, tab_id); 67 CreateBlimpMessage(&navigation_message, tab_id);
65 navigation_message->set_type(NavigationMessage::LOAD_URL); 68 navigation_message->set_type(NavigationMessage::LOAD_URL);
66 navigation_message->mutable_load_url()->set_url(url.spec()); 69 navigation_message->mutable_load_url()->set_url(url.spec());
70 connection_details_->ResetStats();
67 outgoing_message_processor_->ProcessMessage(std::move(blimp_message), 71 outgoing_message_processor_->ProcessMessage(std::move(blimp_message),
68 net::CompletionCallback()); 72 net::CompletionCallback());
69 } 73 }
70 74
71 void NavigationFeature::Reload(int tab_id) { 75 void NavigationFeature::Reload(int tab_id) {
72 NavigationMessage* navigation_message; 76 NavigationMessage* navigation_message;
73 std::unique_ptr<BlimpMessage> blimp_message = 77 std::unique_ptr<BlimpMessage> blimp_message =
74 CreateBlimpMessage(&navigation_message, tab_id); 78 CreateBlimpMessage(&navigation_message, tab_id);
75 navigation_message->set_type(NavigationMessage::RELOAD); 79 navigation_message->set_type(NavigationMessage::RELOAD);
76 80
81 connection_details_->ResetStats();
77 outgoing_message_processor_->ProcessMessage(std::move(blimp_message), 82 outgoing_message_processor_->ProcessMessage(std::move(blimp_message),
78 net::CompletionCallback()); 83 net::CompletionCallback());
79 } 84 }
80 85
81 void NavigationFeature::GoForward(int tab_id) { 86 void NavigationFeature::GoForward(int tab_id) {
82 NavigationMessage* navigation_message; 87 NavigationMessage* navigation_message;
83 std::unique_ptr<BlimpMessage> blimp_message = 88 std::unique_ptr<BlimpMessage> blimp_message =
84 CreateBlimpMessage(&navigation_message, tab_id); 89 CreateBlimpMessage(&navigation_message, tab_id);
85 navigation_message->set_type(NavigationMessage::GO_FORWARD); 90 navigation_message->set_type(NavigationMessage::GO_FORWARD);
86 91
92 connection_details_->ResetStats();
87 outgoing_message_processor_->ProcessMessage(std::move(blimp_message), 93 outgoing_message_processor_->ProcessMessage(std::move(blimp_message),
88 net::CompletionCallback()); 94 net::CompletionCallback());
89 } 95 }
90 96
91 void NavigationFeature::GoBack(int tab_id) { 97 void NavigationFeature::GoBack(int tab_id) {
92 NavigationMessage* navigation_message; 98 NavigationMessage* navigation_message;
93 std::unique_ptr<BlimpMessage> blimp_message = 99 std::unique_ptr<BlimpMessage> blimp_message =
94 CreateBlimpMessage(&navigation_message, tab_id); 100 CreateBlimpMessage(&navigation_message, tab_id);
95 navigation_message->set_type(NavigationMessage::GO_BACK); 101 navigation_message->set_type(NavigationMessage::GO_BACK);
96 102
103 connection_details_->ResetStats();
97 outgoing_message_processor_->ProcessMessage(std::move(blimp_message), 104 outgoing_message_processor_->ProcessMessage(std::move(blimp_message),
98 net::CompletionCallback()); 105 net::CompletionCallback());
99 } 106 }
100 107
101 void NavigationFeature::ProcessMessage( 108 void NavigationFeature::ProcessMessage(
102 std::unique_ptr<BlimpMessage> message, 109 std::unique_ptr<BlimpMessage> message,
103 const net::CompletionCallback& callback) { 110 const net::CompletionCallback& callback) {
104 DCHECK(!callback.is_null()); 111 DCHECK(!callback.is_null());
105 DCHECK(message->type() == BlimpMessage::NAVIGATION); 112 DCHECK(message->type() == BlimpMessage::NAVIGATION);
106 113
107 int tab_id = message->target_tab_id(); 114 int tab_id = message->target_tab_id();
108 DCHECK(message->has_navigation()); 115 DCHECK(message->has_navigation());
109 const NavigationMessage& navigation_message = message->navigation(); 116 const NavigationMessage& navigation_message = message->navigation();
110 117
111 NavigationFeatureDelegate* delegate = FindDelegate(tab_id); 118 NavigationFeatureDelegate* delegate = FindDelegate(tab_id);
112 DCHECK(delegate) << "NavigationFeatureDelegate not found for tab " << tab_id; 119 DCHECK(delegate) << "NavigationFeatureDelegate not found for tab " << tab_id;
113 switch (navigation_message.type()) { 120 switch (navigation_message.type()) {
114 case NavigationMessage::NAVIGATION_STATE_CHANGED: { 121 case NavigationMessage::NAVIGATION_STATE_CHANGED: {
115 const NavigationStateChangeMessage& details = 122 const NavigationStateChangeMessage& details =
116 navigation_message.navigation_state_changed(); 123 navigation_message.navigation_state_changed();
117 if (details.has_url()) 124 if (details.has_url()) {
118 delegate->OnUrlChanged(tab_id, GURL(details.url())); 125 delegate->OnUrlChanged(tab_id, GURL(details.url()));
126 connection_details_->ResetStats();
127 }
119 128
120 if (details.has_title()) 129 if (details.has_title())
121 delegate->OnTitleChanged(tab_id, details.title()); 130 delegate->OnTitleChanged(tab_id, details.title());
122 131
123 if (details.has_loading()) 132 if (details.has_loading())
124 delegate->OnLoadingChanged(tab_id, details.loading()); 133 delegate->OnLoadingChanged(tab_id, details.loading());
125 134
126 if (details.has_favicon()) { 135 if (details.has_favicon()) {
127 NOTIMPLEMENTED(); 136 NOTIMPLEMENTED();
128 } 137 }
(...skipping 19 matching lines...) Expand all
148 NavigationFeature::NavigationFeatureDelegate* NavigationFeature::FindDelegate( 157 NavigationFeature::NavigationFeatureDelegate* NavigationFeature::FindDelegate(
149 const int tab_id) { 158 const int tab_id) {
150 DelegateMap::const_iterator it = delegates_.find(tab_id); 159 DelegateMap::const_iterator it = delegates_.find(tab_id);
151 if (it != delegates_.end()) 160 if (it != delegates_.end())
152 return it->second; 161 return it->second;
153 return nullptr; 162 return nullptr;
154 } 163 }
155 164
156 } // namespace client 165 } // namespace client
157 } // namespace blimp 166 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698