| OLD | NEW |
| 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 "chrome/browser/ui/webui/options/clear_browser_data_handler.h" | 5 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 } | 103 } |
| 104 | 104 |
| 105 sync_service_ = ProfileSyncServiceFactory::GetForProfile(profile); | 105 sync_service_ = ProfileSyncServiceFactory::GetForProfile(profile); |
| 106 if (sync_service_) | 106 if (sync_service_) |
| 107 sync_service_->AddObserver(this); | 107 sync_service_->AddObserver(this); |
| 108 } | 108 } |
| 109 } | 109 } |
| 110 | 110 |
| 111 void ClearBrowserDataHandler::InitializePage() { | 111 void ClearBrowserDataHandler::InitializePage() { |
| 112 web_ui()->CallJavascriptFunctionUnsafe( | 112 web_ui()->CallJavascriptFunctionUnsafe( |
| 113 "ClearBrowserDataOverlay.createFooter", | 113 "ClearBrowserDataOverlay.createFooter", base::Value(AreCountersEnabled()), |
| 114 base::FundamentalValue(AreCountersEnabled()), | 114 base::Value(sync_service_ && sync_service_->IsSyncActive()), |
| 115 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive()), | 115 base::Value(should_show_history_notice_)); |
| 116 base::FundamentalValue(should_show_history_notice_)); | |
| 117 RefreshHistoryNotice(); | 116 RefreshHistoryNotice(); |
| 118 UpdateInfoBannerVisibility(); | 117 UpdateInfoBannerVisibility(); |
| 119 OnBrowsingHistoryPrefChanged(); | 118 OnBrowsingHistoryPrefChanged(); |
| 120 bool removal_in_progress = !!remover_; | 119 bool removal_in_progress = !!remover_; |
| 121 web_ui()->CallJavascriptFunctionUnsafe( | 120 web_ui()->CallJavascriptFunctionUnsafe("ClearBrowserDataOverlay.setClearing", |
| 122 "ClearBrowserDataOverlay.setClearing", | 121 base::Value(removal_in_progress)); |
| 123 base::FundamentalValue(removal_in_progress)); | |
| 124 | 122 |
| 125 web_ui()->CallJavascriptFunctionUnsafe( | 123 web_ui()->CallJavascriptFunctionUnsafe( |
| 126 "ClearBrowserDataOverlay.markInitializationComplete"); | 124 "ClearBrowserDataOverlay.markInitializationComplete"); |
| 127 } | 125 } |
| 128 | 126 |
| 129 void ClearBrowserDataHandler::UpdateInfoBannerVisibility() { | 127 void ClearBrowserDataHandler::UpdateInfoBannerVisibility() { |
| 130 base::string16 text; | 128 base::string16 text; |
| 131 | 129 |
| 132 Profile* profile = Profile::FromWebUI(web_ui()); | 130 Profile* profile = Profile::FromWebUI(web_ui()); |
| 133 auto availability = IncognitoModePrefs::GetAvailability(profile->GetPrefs()); | 131 auto availability = IncognitoModePrefs::GetAvailability(profile->GetPrefs()); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 // Increment the preference. | 354 // Increment the preference. |
| 357 prefs->SetInteger( | 355 prefs->SetInteger( |
| 358 browsing_data::prefs::kClearBrowsingDataHistoryNoticeShownTimes, | 356 browsing_data::prefs::kClearBrowsingDataHistoryNoticeShownTimes, |
| 359 notice_shown_times + 1); | 357 notice_shown_times + 1); |
| 360 } | 358 } |
| 361 | 359 |
| 362 UMA_HISTOGRAM_BOOLEAN( | 360 UMA_HISTOGRAM_BOOLEAN( |
| 363 "History.ClearBrowsingData.ShownHistoryNoticeAfterClearing", show_notice); | 361 "History.ClearBrowsingData.ShownHistoryNoticeAfterClearing", show_notice); |
| 364 | 362 |
| 365 web_ui()->CallJavascriptFunctionUnsafe("ClearBrowserDataOverlay.doneClearing", | 363 web_ui()->CallJavascriptFunctionUnsafe("ClearBrowserDataOverlay.doneClearing", |
| 366 base::FundamentalValue(show_notice)); | 364 base::Value(show_notice)); |
| 367 } | 365 } |
| 368 | 366 |
| 369 void ClearBrowserDataHandler::OnBrowsingHistoryPrefChanged() { | 367 void ClearBrowserDataHandler::OnBrowsingHistoryPrefChanged() { |
| 370 web_ui()->CallJavascriptFunctionUnsafe( | 368 web_ui()->CallJavascriptFunctionUnsafe( |
| 371 "ClearBrowserDataOverlay.setAllowDeletingHistory", | 369 "ClearBrowserDataOverlay.setAllowDeletingHistory", |
| 372 base::FundamentalValue(*allow_deleting_browser_history_)); | 370 base::Value(*allow_deleting_browser_history_)); |
| 373 } | 371 } |
| 374 | 372 |
| 375 void ClearBrowserDataHandler::AddCounter( | 373 void ClearBrowserDataHandler::AddCounter( |
| 376 std::unique_ptr<browsing_data::BrowsingDataCounter> counter) { | 374 std::unique_ptr<browsing_data::BrowsingDataCounter> counter) { |
| 377 DCHECK(AreCountersEnabled()); | 375 DCHECK(AreCountersEnabled()); |
| 378 | 376 |
| 379 counter->Init(Profile::FromWebUI(web_ui())->GetPrefs(), | 377 counter->Init(Profile::FromWebUI(web_ui())->GetPrefs(), |
| 380 base::Bind(&ClearBrowserDataHandler::UpdateCounterText, | 378 base::Bind(&ClearBrowserDataHandler::UpdateCounterText, |
| 381 base::Unretained(this))); | 379 base::Unretained(this))); |
| 382 counters_.push_back(std::move(counter)); | 380 counters_.push_back(std::move(counter)); |
| 383 } | 381 } |
| 384 | 382 |
| 385 void ClearBrowserDataHandler::UpdateCounterText( | 383 void ClearBrowserDataHandler::UpdateCounterText( |
| 386 std::unique_ptr<browsing_data::BrowsingDataCounter::Result> result) { | 384 std::unique_ptr<browsing_data::BrowsingDataCounter::Result> result) { |
| 387 DCHECK(AreCountersEnabled()); | 385 DCHECK(AreCountersEnabled()); |
| 388 web_ui()->CallJavascriptFunctionUnsafe( | 386 web_ui()->CallJavascriptFunctionUnsafe( |
| 389 "ClearBrowserDataOverlay.updateCounter", | 387 "ClearBrowserDataOverlay.updateCounter", |
| 390 base::StringValue(result->source()->GetPrefName()), | 388 base::StringValue(result->source()->GetPrefName()), |
| 391 base::StringValue(GetChromeCounterTextFromResult(result.get()))); | 389 base::StringValue(GetChromeCounterTextFromResult(result.get()))); |
| 392 } | 390 } |
| 393 | 391 |
| 394 void ClearBrowserDataHandler::OnStateChanged(syncer::SyncService* sync) { | 392 void ClearBrowserDataHandler::OnStateChanged(syncer::SyncService* sync) { |
| 395 UpdateSyncState(); | 393 UpdateSyncState(); |
| 396 } | 394 } |
| 397 | 395 |
| 398 void ClearBrowserDataHandler::UpdateSyncState() { | 396 void ClearBrowserDataHandler::UpdateSyncState() { |
| 399 web_ui()->CallJavascriptFunctionUnsafe( | 397 web_ui()->CallJavascriptFunctionUnsafe( |
| 400 "ClearBrowserDataOverlay.updateSyncWarningAndHistoryFooter", | 398 "ClearBrowserDataOverlay.updateSyncWarningAndHistoryFooter", |
| 401 base::FundamentalValue(sync_service_ && sync_service_->IsSyncActive()), | 399 base::Value(sync_service_ && sync_service_->IsSyncActive()), |
| 402 base::FundamentalValue(should_show_history_notice_)); | 400 base::Value(should_show_history_notice_)); |
| 403 } | 401 } |
| 404 | 402 |
| 405 void ClearBrowserDataHandler::RefreshHistoryNotice() { | 403 void ClearBrowserDataHandler::RefreshHistoryNotice() { |
| 406 browsing_data::ShouldShowNoticeAboutOtherFormsOfBrowsingHistory( | 404 browsing_data::ShouldShowNoticeAboutOtherFormsOfBrowsingHistory( |
| 407 sync_service_, | 405 sync_service_, |
| 408 WebHistoryServiceFactory::GetForProfile(Profile::FromWebUI(web_ui())), | 406 WebHistoryServiceFactory::GetForProfile(Profile::FromWebUI(web_ui())), |
| 409 base::Bind(&ClearBrowserDataHandler::UpdateHistoryNotice, | 407 base::Bind(&ClearBrowserDataHandler::UpdateHistoryNotice, |
| 410 weak_ptr_factory_.GetWeakPtr())); | 408 weak_ptr_factory_.GetWeakPtr())); |
| 411 | 409 |
| 412 // If the dialog with history notice has been shown less than | 410 // If the dialog with history notice has been shown less than |
| (...skipping 20 matching lines...) Expand all Loading... |
| 433 "History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated", | 431 "History.ClearBrowsingData.HistoryNoticeShownInFooterWhenUpdated", |
| 434 should_show_history_notice_); | 432 should_show_history_notice_); |
| 435 } | 433 } |
| 436 | 434 |
| 437 void ClearBrowserDataHandler::UpdateHistoryDeletionDialog(bool show) { | 435 void ClearBrowserDataHandler::UpdateHistoryDeletionDialog(bool show) { |
| 438 // This is used by OnBrowsingDataRemoverDone (when the deletion finishes). | 436 // This is used by OnBrowsingDataRemoverDone (when the deletion finishes). |
| 439 should_show_history_deletion_dialog_ = show; | 437 should_show_history_deletion_dialog_ = show; |
| 440 } | 438 } |
| 441 | 439 |
| 442 } // namespace options | 440 } // namespace options |
| OLD | NEW |