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

Side by Side Diff: chrome/browser/ui/views/color_chooser_win.cc

Issue 10442020: Initial implementation of ColorChooser for Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <windows.h> 5 #include <windows.h>
6 6
7 #include "chrome/browser/platform_util.h" 7 #include "chrome/browser/platform_util.h"
8 #include "chrome/browser/ui/views/color_chooser_dialog.h" 8 #include "chrome/browser/ui/views/color_chooser_dialog.h"
9 #include "content/public/browser/color_chooser.h" 9 #include "content/public/browser/color_chooser.h"
10 #include "content/public/browser/render_view_host.h" 10 #include "content/public/browser/render_view_host.h"
11 #include "content/public/browser/render_widget_host_view.h" 11 #include "content/public/browser/render_widget_host_view.h"
12 #include "content/public/browser/web_contents.h" 12 #include "content/public/browser/web_contents.h"
13 #include "content/public/browser/web_contents_observer.h" 13 #include "content/public/browser/web_contents_observer.h"
14 #include "ui/views/color_chooser/color_chooser_listener.h"
14 15
15 class ColorChooserWin : public content::ColorChooser, 16 class ColorChooserWin : public content::ColorChooser,
16 public ColorChooserDialog::Listener, 17 public content::WebContentsObserver,
Peter Kasting 2012/06/19 21:10:31 What is this base class used for?
Jun Mukai 2012/06/20 09:29:08 I didn't introduce this and not so sure what was t
17 public content::WebContentsObserver { 18 public views::ColorChooserListener {
18 public: 19 public:
19 ColorChooserWin(int identifier, 20 ColorChooserWin(int identifier,
20 content::WebContents* tab, 21 content::WebContents* tab,
21 SkColor initial_color); 22 SkColor initial_color);
22 ~ColorChooserWin(); 23 ~ColorChooserWin();
23 24
24 // content::ColorChooser: 25 // content::ColorChooser overrides:
25 virtual void End() OVERRIDE {} 26 virtual void End() OVERRIDE {}
26 virtual void SetSelectedColor(SkColor color) OVERRIDE {} 27 virtual void SetSelectedColor(SkColor color) OVERRIDE {}
27 28
28 // ColorChooserDialog::Listener: 29 // views::ColorChooserListener overrides:
29 virtual void DidChooseColor(SkColor color); 30 virtual void OnColorChosen(SkColor color);
30 virtual void DidEnd(); 31 virtual void OnColorChooserDialogClosed();
31 32
32 private: 33 private:
33 scoped_refptr<ColorChooserDialog> color_chooser_dialog_; 34 scoped_refptr<ColorChooserDialog> color_chooser_dialog_;
34 }; 35 };
35 36
36 content::ColorChooser* content::ColorChooser::Create(int identifier, 37 content::ColorChooser* content::ColorChooser::Create(int identifier,
37 content::WebContents* tab, 38 content::WebContents* tab,
38 SkColor initial_color) { 39 SkColor initial_color) {
39 return new ColorChooserWin(identifier, tab, initial_color); 40 return new ColorChooserWin(identifier, tab, initial_color);
40 } 41 }
41 42
42 ColorChooserWin::ColorChooserWin(int identifier, 43 ColorChooserWin::ColorChooserWin(int identifier,
43 content::WebContents* tab, 44 content::WebContents* tab,
44 SkColor initial_color) 45 SkColor initial_color)
45 : content::ColorChooser(identifier), 46 : content::ColorChooser(identifier),
46 content::WebContentsObserver(tab) { 47 content::WebContentsObserver(tab) {
47 gfx::NativeWindow owning_window = platform_util::GetTopLevel( 48 gfx::NativeWindow owning_window = platform_util::GetTopLevel(
48 web_contents()->GetRenderViewHost()->GetView()->GetNativeView()); 49 web_contents()->GetRenderViewHost()->GetView()->GetNativeView());
49 color_chooser_dialog_ = new ColorChooserDialog(this, 50 color_chooser_dialog_ = new ColorChooserDialog(this,
50 initial_color, 51 initial_color,
51 owning_window); 52 owning_window);
52 } 53 }
53 54
54 ColorChooserWin::~ColorChooserWin() { 55 ColorChooserWin::~ColorChooserWin() {
55 // Always call End() before destroying. 56 // Always call End() before destroying.
56 DCHECK(!color_chooser_dialog_); 57 DCHECK(!color_chooser_dialog_);
57 } 58 }
58 59
59 void ColorChooserWin::DidChooseColor(SkColor color) { 60 void ColorChooserWin::OnColorChosen(SkColor color) {
60 if (web_contents()) 61 if (web_contents())
61 web_contents()->DidChooseColorInColorChooser(identifier(), color); 62 web_contents()->DidChooseColorInColorChooser(identifier(), color);
62 } 63 }
63 64
64 void ColorChooserWin::DidEnd() { 65 void ColorChooserWin::OnColorChooserDialogClosed() {
65 if (color_chooser_dialog_.get()) { 66 if (color_chooser_dialog_.get()) {
66 color_chooser_dialog_->ListenerDestroyed(); 67 color_chooser_dialog_->ListenerDestroyed();
67 color_chooser_dialog_ = NULL; 68 color_chooser_dialog_ = NULL;
68 } 69 }
69 if (web_contents()) 70 if (web_contents())
70 web_contents()->DidEndColorChooser(identifier()); 71 web_contents()->DidEndColorChooser(identifier());
71 } 72 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698