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

Side by Side Diff: chrome/browser/ui/chrome_select_file_policy_unittest.cc

Issue 10698053: Breaks compile on Linux Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 5 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 (c) 2012 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/ui/chrome_select_file_policy.h"
6
7 #include "base/file_path.h"
8 #include "base/file_util.h"
9 #include "base/message_loop.h"
10 #include "base/string16.h"
11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/prefs/browser_prefs.h"
14 #include "chrome/browser/prefs/pref_service.h"
15 #include "chrome/browser/ui/browser.h"
16 #include "chrome/browser/ui/select_file_dialog.h"
17 #include "chrome/common/pref_names.h"
18 #include "chrome/test/base/testing_browser_process.h"
19 #include "chrome/test/base/testing_pref_service.h"
20 #include "content/public/test/test_browser_thread.h"
21 #include "testing/gtest/include/gtest/gtest.h"
22
23 #if defined(USE_AURA)
24 // http://crbug.com/105200
25 #define MAYBE_ExpectAsynchronousListenerCall DISABLED_ExpectAsynchronousListener Call
26 #else
27 #define MAYBE_ExpectAsynchronousListenerCall ExpectAsynchronousListenerCall
28 #endif
29
30 using content::BrowserThread;
31
32 namespace {
33
34 class FileSelectionUser : public SelectFileDialog::Listener {
35 public:
36 FileSelectionUser()
37 : file_selection_initialisation_in_progress(false) {
38 }
39
40 ~FileSelectionUser() {
41 if (select_file_dialog_.get())
42 select_file_dialog_->ListenerDestroyed();
43 }
44
45 void StartFileSelection() {
46 CHECK(!select_file_dialog_.get());
47 select_file_dialog_ = SelectFileDialog::Create(
48 this, new ChromeSelectFilePolicy(NULL));
49
50 const FilePath file_path;
51 const string16 title=string16();
52
53 file_selection_initialisation_in_progress = true;
54 select_file_dialog_->SelectFile(SelectFileDialog::SELECT_OPEN_FILE,
55 title,
56 file_path,
57 NULL,
58 0,
59 FILE_PATH_LITERAL(""),
60 NULL,
61 NULL);
62 file_selection_initialisation_in_progress = false;
63 }
64
65 // SelectFileDialog::Listener implementation.
66 virtual void FileSelected(const FilePath& path,
67 int index, void* params){
68 ASSERT_FALSE(file_selection_initialisation_in_progress);
69 }
70 virtual void MultiFilesSelected(
71 const std::vector<FilePath>& files,
72 void* params) {
73 ASSERT_FALSE(file_selection_initialisation_in_progress);
74 }
75 virtual void FileSelectionCanceled(void* params) {
76 ASSERT_FALSE(file_selection_initialisation_in_progress);
77 }
78
79 private:
80 scoped_refptr<SelectFileDialog> select_file_dialog_;
81
82 bool file_selection_initialisation_in_progress;
83 };
84
85 } // namespace
86
87 typedef testing::Test ChromeSelectFilePolicyTest;
88
89 // Tests if SelectFileDialog::SelectFile returns asynchronously with
90 // file-selection dialogs disabled by policy.
91 TEST_F(ChromeSelectFilePolicyTest, MAYBE_ExpectAsynchronousListenerCall) {
92 MessageLoopForUI message_loop;
93 content::TestBrowserThread ui_thread(BrowserThread::UI, &message_loop);
94
95 ScopedTestingLocalState local_state(
96 static_cast<TestingBrowserProcess*>(g_browser_process));
97
98 scoped_ptr<FileSelectionUser> file_selection_user(new FileSelectionUser());
99
100 // Disallow file-selection dialogs.
101 local_state.Get()->SetManagedPref(
102 prefs::kAllowFileSelectionDialogs,
103 Value::CreateBooleanValue(false));
104
105 file_selection_user->StartFileSelection();
106 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/chrome_select_file_policy.cc ('k') | chrome/browser/ui/cocoa/select_file_dialog_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698