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

Side by Side Diff: content/renderer/installedapp/web_installed_app_impl.cc

Issue 1586563009: IsNativeAppInstalled Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "base/logging.h"
6 #include "base/strings/utf_string_conversions.h"
7 #include "content/renderer/render_thread_impl.h"
8 #include "content/renderer/installedapp/web_installed_app_impl.h"
9
10 namespace content {
11
12 WebInstalledAppImpl::WebInstalledAppImpl() {}
13
14 WebInstalledAppImpl::~WebInstalledAppImpl() {}
15
16 void WebInstalledAppImpl::isAppInstalled(
17 const blink::WebString& asset1,
18 const blink::WebString& asset2,
19 const blink::WebString& origin,
20 blink::AppInstalledCallbacks* raw_callbacks) {
21 scoped_ptr<blink::AppInstalledCallbacks> callbacks(raw_callbacks);
22 LOG(WARNING) << asset1.utf8();
23 LOG(WARNING) << asset2.utf8();
24
25 GetProvider()->IsAppInstalled(
26 mojo::String(asset1.utf8()), mojo::String(asset2.utf8()),
27 mojo::String(origin.utf8()),
28 base::Bind(&WebInstalledAppImpl::OnIsAppInstalled, base::Unretained(this),
29 base::Passed(&callbacks)));
30 }
31
32 void WebInstalledAppImpl::isNativeAppInstalled(
33 const blink::WebInstalledAppVerificationManager& manager,
34 const blink::WebString& origin,
35 blink::AppInstalledCallbacks* raw_callbacks) {
36 scoped_ptr<blink::AppInstalledCallbacks> callbacks(raw_callbacks);
37 mojo::Map<mojo::String, mojo::Array<mojo::String>> validStrings;
38 // We can collate these into just an array of interesting string names.
39 // This will allow us to send a smaller Mojo map into Mojo.
40 blink::WebString packageName = manager.androidPackageName();
41 mojo::Array<mojo::String> androidPackageName;
42 androidPackageName.push_back(mojo::String(packageName.utf8()));
43 validStrings.insert(mojo::String("packageName"),
44 std::move(androidPackageName));
45
46 blink::WebVector<blink::WebString> signingKeyArray =
47 manager.androidSigningKeys();
48 mojo::Array<mojo::String> keys;
49 for (blink::WebVector<blink::WebString>::iterator it =
50 signingKeyArray.begin();
51 it != signingKeyArray.end(); ++it) {
52 keys.push_back(it->utf8());
53 LOG(WARNING) << it->utf8();
54 }
55 validStrings.insert(mojo::String("signingKey"), std::move(keys));
56 // // We need to make this able to handle the possibility of it being an
57 // array.
58 // if (manager.get("packageName", packageName)) {
59 // LOG(WARNING) << packageName.utf8();
60 // mojo::Array<mojo::String> keys;
61 // keys.push_back(mojo::String(packageName.utf8()));
62 // validStrings.insert(mojo::String("packageName"), std::move(keys));
63 // }
64 //
65 // blink::WebString signingKey;
66 // blink::WebVector<blink::WebString> signingKeyArray;
67 // if (manager.get("signingKey", signingKeyArray)) {
68 // LOG(WARNING) << "Found a signing key array.";
69 // mojo::Array<mojo::String> keys;
70 // for (blink::WebVector<blink::WebString>::iterator it =
71 // signingKeyArray.begin(); it != signingKeyArray.end(); ++it) {
72 // keys.push_back(it->utf8());
73 // LOG(WARNING) << it->utf8();
74 // }
75 // validStrings.insert(mojo::String("signingKey"), std::move(keys));
76 // }
77 // else if (manager.get("signingKey", signingKey)) {
78 // LOG(WARNING) << signingKey.utf8();
79 // mojo::Array<mojo::String> keys;
80 // keys.push_back(mojo::String(signingKey.utf8()));
81 // validStrings.insert(mojo::String("signingKey"), std::move(keys));
82 // }
83 //
84 // LOG(WARNING) << packageName.utf8();
85 // LOG(WARNING) << signingKey.utf8();
86
87 GetProvider()->IsNativeAppInstalled(
88 std::move(validStrings), mojo::String(origin.utf8()),
89 base::Bind(&WebInstalledAppImpl::OnIsNativeAppInstalled,
90 base::Unretained(this), base::Passed(&callbacks)));
91 }
92
93 components::InstalledAppProviderPtr& WebInstalledAppImpl::GetProvider() {
94 if (!provider_) {
95 RenderThread::Get()->GetServiceRegistry()->ConnectToRemoteService(
96 mojo::GetProxy(&provider_));
97 }
98 return provider_;
99 }
100
101 void WebInstalledAppImpl::OnIsAppInstalled(
102 scoped_ptr<blink::AppInstalledCallbacks> callbacks,
103 bool result) {
104 callbacks->onSuccess(result);
105 }
106
107 void WebInstalledAppImpl::OnIsNativeAppInstalled(
108 scoped_ptr<blink::AppInstalledCallbacks> callbacks,
109 bool result) {
110 LOG(WARNING) << "aww yeah";
111 callbacks->onSuccess(result);
112 }
113
114 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/installedapp/web_installed_app_impl.h ('k') | content/renderer/renderer_blink_platform_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698