15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright 2014 The Chromium Authors. All rights reserved. 25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Use of this source code is governed by a BSD-style license that can be 35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// found in the LICENSE file. 45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/browser/chromeos/set_time_dialog.h" 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/browser/profiles/profile_manager.h" 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/browser/ui/browser_dialogs.h" 95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/common/url_constants.h" 105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "content/public/browser/user_metrics.h" 115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ui/gfx/size.h" 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuusing content::WebContents; 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuusing content::WebUIMessageHandler; 155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace chromeos { 175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace { 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuconst int kDefaultWidth = 490; 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuconst int kDefaultHeight = 235; 225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// static 265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuvoid SetTimeDialog::ShowDialog(gfx::NativeWindow owning_window) { 275c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu content::RecordAction(base::UserMetricsAction("Options_SetTimeDialog_Show")); 285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu chrome::ShowWebDialog(owning_window, 295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu ProfileManager::GetActiveUserProfile(), 305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu new SetTimeDialog()); 315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo LiuSetTimeDialog::SetTimeDialog() { 345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 355c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 365c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo LiuSetTimeDialog::~SetTimeDialog() { 375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 385c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 395c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuui::ModalType SetTimeDialog::GetDialogModalType() const { 405c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return ui::MODAL_TYPE_SYSTEM; 415c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 425c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubase::string16 SetTimeDialog::GetDialogTitle() const { 445c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return base::string16(); 455c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 465c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 475c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo LiuGURL SetTimeDialog::GetDialogContentURL() const { 485c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return GURL(chrome::kChromeUISetTimeURL); 495c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 505c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 515c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuvoid SetTimeDialog::GetWebUIMessageHandlers( 525c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu std::vector<WebUIMessageHandler*>* handlers) const { 535c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 545c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 555c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuvoid SetTimeDialog::GetDialogSize(gfx::Size* size) const { 565c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu size->SetSize(kDefaultWidth, kDefaultHeight); 575c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 585c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 595c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustd::string SetTimeDialog::GetDialogArgs() const { 605c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return std::string(); 615c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 625c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 635c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuvoid SetTimeDialog::OnDialogClosed(const std::string& json_retval) { 645c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu delete this; 655c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 665c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 675c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuvoid SetTimeDialog::OnCloseContents(WebContents* source, 685c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu bool* out_close_dialog) { 695c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu if (out_close_dialog) 705c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu *out_close_dialog = true; 715c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 725c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 735c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubool SetTimeDialog::ShouldShowDialogTitle() const { 745c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return false; 755c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 765c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 775c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubool SetTimeDialog::HandleContextMenu( 785c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu const content::ContextMenuParams& params) { 795c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // Disable context menu. 805c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu return true; 815c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} 825c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 835c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace chromeos 84