| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/sim_dialog_delegate.h" | 5 #include "chrome/browser/chromeos/sim_dialog_delegate.h" |
| 6 | 6 |
| 7 #include "base/stringprintf.h" | 7 #include "base/stringprintf.h" |
| 8 #include "chrome/browser/chromeos/frame/bubble_window.h" | 8 #include "chrome/browser/chromeos/frame/bubble_window.h" |
| 9 #include "chrome/browser/chromeos/login/user_manager.h" | 9 #include "chrome/browser/chromeos/login/user_manager.h" |
| 10 #include "chrome/browser/profiles/profile_manager.h" | 10 #include "chrome/browser/profiles/profile_manager.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 // set-lock-on - enable RequirePin restriction. | 29 // set-lock-on - enable RequirePin restriction. |
| 30 // set-lock-off - disable RequirePin restriction. | 30 // set-lock-off - disable RequirePin restriction. |
| 31 // In general SIM unlock case sim-unlock URL is loaded w/o parameters. | 31 // In general SIM unlock case sim-unlock URL is loaded w/o parameters. |
| 32 const char kSimDialogSpecialModeURL[] = "chrome://sim-unlock/?mode=%s"; | 32 const char kSimDialogSpecialModeURL[] = "chrome://sim-unlock/?mode=%s"; |
| 33 | 33 |
| 34 // Dialog mode constants. | 34 // Dialog mode constants. |
| 35 const char kSimDialogChangePinMode[] = "change-pin"; | 35 const char kSimDialogChangePinMode[] = "change-pin"; |
| 36 const char kSimDialogSetLockOnMode[] = "set-lock-on"; | 36 const char kSimDialogSetLockOnMode[] = "set-lock-on"; |
| 37 const char kSimDialogSetLockOffMode[] = "set-lock-off"; | 37 const char kSimDialogSetLockOffMode[] = "set-lock-off"; |
| 38 | 38 |
| 39 // Custom HtmlDialogView with disabled context menu. | |
| 40 class HtmlDialogWithoutContextMenuView : public HtmlDialogView { | |
| 41 public: | |
| 42 HtmlDialogWithoutContextMenuView(Profile* profile, | |
| 43 HtmlDialogUIDelegate* delegate) | |
| 44 : HtmlDialogView(profile, delegate) {} | |
| 45 | |
| 46 // TabContentsDelegate implementation. | |
| 47 bool HandleContextMenu(const ContextMenuParams& params) { | |
| 48 // Disable context menu. | |
| 49 return true; | |
| 50 } | |
| 51 }; | |
| 52 | |
| 53 } // namespace | 39 } // namespace |
| 54 | 40 |
| 55 namespace chromeos { | 41 namespace chromeos { |
| 56 | 42 |
| 57 // static | 43 // static |
| 58 void SimDialogDelegate::ShowDialog(gfx::NativeWindow owning_window, | 44 void SimDialogDelegate::ShowDialog(gfx::NativeWindow owning_window, |
| 59 SimDialogMode mode) { | 45 SimDialogMode mode) { |
| 60 Profile* profile; | 46 Profile* profile; |
| 61 if (UserManager::Get()->user_is_logged_in()) { | 47 if (UserManager::Get()->user_is_logged_in()) { |
| 62 Browser* browser = BrowserList::GetLastActive(); | 48 Browser* browser = BrowserList::GetLastActive(); |
| 63 DCHECK(browser); | 49 DCHECK(browser); |
| 64 profile = browser->profile(); | 50 profile = browser->profile(); |
| 65 } else { | 51 } else { |
| 66 profile = ProfileManager::GetDefaultProfile(); | 52 profile = ProfileManager::GetDefaultProfile(); |
| 67 } | 53 } |
| 68 HtmlDialogView* html_view = new HtmlDialogWithoutContextMenuView( | 54 HtmlDialogView* html_view = |
| 69 profile, new SimDialogDelegate(mode)); | 55 new HtmlDialogView(profile, new SimDialogDelegate(mode)); |
| 70 html_view->InitDialog(); | 56 html_view->InitDialog(); |
| 71 chromeos::BubbleWindow::Create(owning_window, | 57 chromeos::BubbleWindow::Create(owning_window, |
| 72 gfx::Rect(), | 58 gfx::Rect(), |
| 73 chromeos::BubbleWindow::STYLE_GENERIC, | 59 chromeos::BubbleWindow::STYLE_GENERIC, |
| 74 html_view); | 60 html_view); |
| 75 html_view->window()->Show(); | 61 html_view->window()->Show(); |
| 76 } | 62 } |
| 77 | 63 |
| 78 SimDialogDelegate::SimDialogDelegate(SimDialogMode dialog_mode) | 64 SimDialogDelegate::SimDialogDelegate(SimDialogMode dialog_mode) |
| 79 : dialog_mode_(dialog_mode) { | 65 : dialog_mode_(dialog_mode) { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 void SimDialogDelegate::OnCloseContents(TabContents* source, | 115 void SimDialogDelegate::OnCloseContents(TabContents* source, |
| 130 bool* out_close_dialog) { | 116 bool* out_close_dialog) { |
| 131 if (out_close_dialog) | 117 if (out_close_dialog) |
| 132 *out_close_dialog = true; | 118 *out_close_dialog = true; |
| 133 } | 119 } |
| 134 | 120 |
| 135 bool SimDialogDelegate::ShouldShowDialogTitle() const { | 121 bool SimDialogDelegate::ShouldShowDialogTitle() const { |
| 136 return false; | 122 return false; |
| 137 } | 123 } |
| 138 | 124 |
| 125 bool SimDialogDelegate::HandleContextMenu(const ContextMenuParams& params) { |
| 126 // Disable context menu. |
| 127 return true; |
| 128 } |
| 129 |
| 139 } // namespace chromeos | 130 } // namespace chromeos |
| OLD | NEW |