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

Side by Side Diff: chrome/browser/chromeos/arc/arc_external_protocol_dialog.cc

Issue 2368673002: arc: Rename UrlHandlerInfo to IntentHandlerInfo. (Closed)
Patch Set: Created 4 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 | « no previous file | chrome/browser/chromeos/arc/arc_navigation_throttle.h » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/chromeos/arc/arc_external_protocol_dialog.h" 5 #include "chrome/browser/chromeos/arc/arc_external_protocol_dialog.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 WebContents* web_contents = 57 WebContents* web_contents =
58 tab_util::GetWebContentsByID(render_process_host_id, routing_id); 58 tab_util::GetWebContentsByID(render_process_host_id, routing_id);
59 if (web_contents && web_contents->GetController().IsInitialNavigation()) 59 if (web_contents && web_contents->GetController().IsInitialNavigation())
60 web_contents->Close(); 60 web_contents->Close();
61 } 61 }
62 62
63 // Called when the dialog is closed. 63 // Called when the dialog is closed.
64 void OnIntentPickerClosed(int render_process_host_id, 64 void OnIntentPickerClosed(int render_process_host_id,
65 int routing_id, 65 int routing_id,
66 const GURL& url, 66 const GURL& url,
67 mojo::Array<mojom::UrlHandlerInfoPtr> handlers, 67 mojo::Array<mojom::IntentHandlerInfoPtr> handlers,
68 size_t selected_app_index, 68 size_t selected_app_index,
69 ArcNavigationThrottle::CloseReason close_reason) { 69 ArcNavigationThrottle::CloseReason close_reason) {
70 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 70 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
71 71
72 mojom::IntentHelperInstance* intent_helper = GetIntentHelper(); 72 mojom::IntentHelperInstance* intent_helper = GetIntentHelper();
73 if (!intent_helper || selected_app_index >= handlers.size()) 73 if (!intent_helper || selected_app_index >= handlers.size())
74 close_reason = ArcNavigationThrottle::CloseReason::ERROR; 74 close_reason = ArcNavigationThrottle::CloseReason::ERROR;
75 75
76 switch (close_reason) { 76 switch (close_reason) {
77 case ArcNavigationThrottle::CloseReason::ALWAYS_PRESSED: { 77 case ArcNavigationThrottle::CloseReason::ALWAYS_PRESSED: {
(...skipping 25 matching lines...) Expand all
103 break; 103 break;
104 } 104 }
105 } 105 }
106 } 106 }
107 107
108 // Called when ARC returned activity icons for the |handlers|. 108 // Called when ARC returned activity icons for the |handlers|.
109 void OnAppIconsReceived( 109 void OnAppIconsReceived(
110 int render_process_host_id, 110 int render_process_host_id,
111 int routing_id, 111 int routing_id,
112 const GURL& url, 112 const GURL& url,
113 mojo::Array<mojom::UrlHandlerInfoPtr> handlers, 113 mojo::Array<mojom::IntentHandlerInfoPtr> handlers,
114 std::unique_ptr<ActivityIconLoader::ActivityToIconsMap> icons) { 114 std::unique_ptr<ActivityIconLoader::ActivityToIconsMap> icons) {
115 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 115 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
116 116
117 using NameAndIcon = std::pair<std::string, gfx::Image>; 117 using NameAndIcon = std::pair<std::string, gfx::Image>;
118 std::vector<NameAndIcon> app_info; 118 std::vector<NameAndIcon> app_info;
119 119
120 for (const auto& handler : handlers) { 120 for (const auto& handler : handlers) {
121 const ActivityIconLoader::ActivityName activity(handler->package_name, 121 const ActivityIconLoader::ActivityName activity(handler->package_name,
122 handler->activity_name); 122 handler->activity_name);
123 const auto it = icons->find(activity); 123 const auto it = icons->find(activity);
124 app_info.emplace_back( 124 app_info.emplace_back(
125 handler->name, it != icons->end() ? it->second.icon20 : gfx::Image()); 125 handler->name, it != icons->end() ? it->second.icon20 : gfx::Image());
126 } 126 }
127 127
128 auto show_bubble_cb = base::Bind(ShowIntentPickerBubble()); 128 auto show_bubble_cb = base::Bind(ShowIntentPickerBubble());
129 WebContents* web_contents = 129 WebContents* web_contents =
130 tab_util::GetWebContentsByID(render_process_host_id, routing_id); 130 tab_util::GetWebContentsByID(render_process_host_id, routing_id);
131 show_bubble_cb.Run(web_contents, app_info, 131 show_bubble_cb.Run(web_contents, app_info,
132 base::Bind(OnIntentPickerClosed, render_process_host_id, 132 base::Bind(OnIntentPickerClosed, render_process_host_id,
133 routing_id, url, base::Passed(&handlers))); 133 routing_id, url, base::Passed(&handlers)));
134 } 134 }
135 135
136 // Called when ARC returned a handler list for the |url|. 136 // Called when ARC returned a handler list for the |url|.
137 void OnUrlHandlerList(int render_process_host_id, 137 void OnUrlHandlerList(int render_process_host_id,
138 int routing_id, 138 int routing_id,
139 const GURL& url, 139 const GURL& url,
140 mojo::Array<mojom::UrlHandlerInfoPtr> handlers) { 140 mojo::Array<mojom::IntentHandlerInfoPtr> handlers) {
141 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 141 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
142 142
143 mojom::IntentHelperInstance* intent_helper = GetIntentHelper(); 143 mojom::IntentHelperInstance* intent_helper = GetIntentHelper();
144 scoped_refptr<ActivityIconLoader> icon_loader = GetIconLoader(); 144 scoped_refptr<ActivityIconLoader> icon_loader = GetIconLoader();
145 145
146 if (!intent_helper || !icon_loader || !handlers.size()) { 146 if (!intent_helper || !icon_loader || !handlers.size()) {
147 // No handler is available on ARC side. Show the Chrome OS dialog. 147 // No handler is available on ARC side. Show the Chrome OS dialog.
148 ShowFallbackExternalProtocolDialog(render_process_host_id, routing_id, url); 148 ShowFallbackExternalProtocolDialog(render_process_host_id, routing_id, url);
149 return; 149 return;
150 } 150 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 182
183 // Show ARC version of the dialog, which is IntentPickerBubbleView. To show 183 // Show ARC version of the dialog, which is IntentPickerBubbleView. To show
184 // the bubble view, we need to ask ARC for a handler list first. 184 // the bubble view, we need to ask ARC for a handler list first.
185 intent_helper->RequestUrlHandlerList( 185 intent_helper->RequestUrlHandlerList(
186 url.spec(), 186 url.spec(),
187 base::Bind(OnUrlHandlerList, render_process_host_id, routing_id, url)); 187 base::Bind(OnUrlHandlerList, render_process_host_id, routing_id, url));
188 return true; 188 return true;
189 } 189 }
190 190
191 } // namespace arc 191 } // namespace arc
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_navigation_throttle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698