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

Side by Side Diff: chrome/browser/chromeos/extensions/file_manager/file_manager_installer.cc

Issue 23945002: file_manager: Move non-binding code to c/b/chromeos/file_manager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 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 "chrome/browser/chromeos/extensions/file_manager/file_manager_installer .h"
6
7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "content/public/browser/web_contents.h"
10
11 namespace file_manager {
12
13 namespace {
14 const char kWebContentsDestroyedError[] = "WebContents is destroyed.";
15 } // namespace
16
17 class FileManagerInstaller::WebContentsObserver
18 : public content::WebContentsObserver {
19
20 public:
21 explicit WebContentsObserver(
22 content::WebContents* web_contents,
23 FileManagerInstaller* parent)
24 : content::WebContentsObserver(web_contents),
25 parent_(parent) {
26 }
27
28 protected:
29 // content::WebContentsObserver implementation.
30 virtual void WebContentsDestroyed(
31 content::WebContents* web_contents) OVERRIDE {
32 parent_->OnWebContentsDestroyed(web_contents);
33 }
34
35 private:
36 FileManagerInstaller* parent_;
37
38 DISALLOW_IMPLICIT_CONSTRUCTORS(WebContentsObserver);
39 };
40
41 FileManagerInstaller::FileManagerInstaller(
42 content::WebContents* web_contents,
43 const std::string& webstore_item_id,
44 Profile* profile,
45 const Callback& callback)
46 : extensions::WebstoreStandaloneInstaller(
47 webstore_item_id,
48 profile,
49 callback),
50 callback_(callback),
51 web_contents_(web_contents),
52 web_contents_observer_(new WebContentsObserver(web_contents, this)) {
53 }
54
55 FileManagerInstaller::~FileManagerInstaller() {}
56
57 bool FileManagerInstaller::CheckRequestorAlive() const {
58 // The tab may have gone away - cancel installation in that case.
59 return web_contents_ != NULL;
60 }
61
62 const GURL& FileManagerInstaller::GetRequestorURL() const {
63 return GURL::EmptyGURL();
64 }
65
66 scoped_ptr<ExtensionInstallPrompt::Prompt>
67 FileManagerInstaller::CreateInstallPrompt() const {
68 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt(
69 new ExtensionInstallPrompt::Prompt(
70 ExtensionInstallPrompt::INLINE_INSTALL_PROMPT));
71
72 prompt->SetInlineInstallWebstoreData(localized_user_count(),
73 show_user_count(),
74 average_rating(),
75 rating_count());
76 return prompt.Pass();
77 }
78
79 bool FileManagerInstaller::ShouldShowPostInstallUI() const {
80 return false;
81 }
82
83 bool FileManagerInstaller::ShouldShowAppInstalledBubble() const {
84 return false;
85 }
86
87 content::WebContents* FileManagerInstaller::GetWebContents() const {
88 return web_contents_;
89 }
90
91 bool FileManagerInstaller::CheckInlineInstallPermitted(
92 const base::DictionaryValue& webstore_data,
93 std::string* error) const {
94 DCHECK(error != NULL);
95 DCHECK(error->empty());
96 return true;
97 }
98
99 bool FileManagerInstaller::CheckRequestorPermitted(
100 const base::DictionaryValue& webstore_data,
101 std::string* error) const {
102 DCHECK(error != NULL);
103 DCHECK(error->empty());
104 return true;
105 }
106
107 void FileManagerInstaller::OnWebContentsDestroyed(
108 content::WebContents* web_contents) {
109 callback_.Run(false, kWebContentsDestroyedError);
110 AbortInstall();
111 }
112
113 } // namespace file_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698