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/history_ui.h" | 5 #include "chrome/browser/ui/webui/history_ui.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "base/utf_string_conversions.h" | 21 #include "base/utf_string_conversions.h" |
22 #include "base/values.h" | 22 #include "base/values.h" |
23 #include "chrome/browser/bookmarks/bookmark_model.h" | 23 #include "chrome/browser/bookmarks/bookmark_model.h" |
24 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 24 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
25 #include "chrome/browser/bookmarks/bookmark_utils.h" | 25 #include "chrome/browser/bookmarks/bookmark_utils.h" |
26 #include "chrome/browser/history/history_notifications.h" | 26 #include "chrome/browser/history/history_notifications.h" |
27 #include "chrome/browser/history/history_service_factory.h" | 27 #include "chrome/browser/history/history_service_factory.h" |
28 #include "chrome/browser/history/history_types.h" | 28 #include "chrome/browser/history/history_types.h" |
29 #include "chrome/browser/history/web_history_service.h" | 29 #include "chrome/browser/history/web_history_service.h" |
30 #include "chrome/browser/history/web_history_service_factory.h" | 30 #include "chrome/browser/history/web_history_service_factory.h" |
| 31 #include "chrome/browser/managed_mode/managed_mode_navigation_observer.h" |
31 #include "chrome/browser/managed_mode/managed_mode_url_filter.h" | 32 #include "chrome/browser/managed_mode/managed_mode_url_filter.h" |
32 #include "chrome/browser/managed_mode/managed_user_service.h" | 33 #include "chrome/browser/managed_mode/managed_user_service.h" |
33 #include "chrome/browser/managed_mode/managed_user_service_factory.h" | 34 #include "chrome/browser/managed_mode/managed_user_service_factory.h" |
34 #include "chrome/browser/profiles/profile.h" | 35 #include "chrome/browser/profiles/profile.h" |
35 #include "chrome/browser/search/search.h" | 36 #include "chrome/browser/search/search.h" |
36 #include "chrome/browser/ui/browser_finder.h" | 37 #include "chrome/browser/ui/browser_finder.h" |
37 #include "chrome/browser/ui/chrome_pages.h" | 38 #include "chrome/browser/ui/chrome_pages.h" |
38 #include "chrome/browser/ui/webui/favicon_source.h" | 39 #include "chrome/browser/ui/webui/favicon_source.h" |
39 #include "chrome/common/chrome_notification_types.h" | 40 #include "chrome/common/chrome_notification_types.h" |
40 #include "chrome/common/chrome_switches.h" | 41 #include "chrome/common/chrome_switches.h" |
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 bool allow = false; | 599 bool allow = false; |
599 if (!args->GetBoolean(0, &allow)) { | 600 if (!args->GetBoolean(0, &allow)) { |
600 LOG(ERROR) << "Unable to extract boolean argument."; | 601 LOG(ERROR) << "Unable to extract boolean argument."; |
601 web_ui()->CallJavascriptFunction("processingManagedFailed"); | 602 web_ui()->CallJavascriptFunction("processingManagedFailed"); |
602 return; | 603 return; |
603 } | 604 } |
604 | 605 |
605 // Check if the managed user is authenticated. | 606 // Check if the managed user is authenticated. |
606 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( | 607 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( |
607 Profile::FromWebUI(web_ui())); | 608 Profile::FromWebUI(web_ui())); |
608 if (!service->IsElevated()) | 609 if (!service->IsElevatedForWebContents(web_ui()->GetWebContents())) |
609 return; | 610 return; |
610 | 611 |
611 // Since editing a host can have side effects on other hosts, update all of | 612 // Since editing a host can have side effects on other hosts, update all of |
612 // them but change the behavior only of the checked ones. | 613 // them but change the behavior only of the checked ones. |
613 std::vector<std::string> hosts_to_be_changed; | 614 std::vector<std::string> hosts_to_be_changed; |
614 std::vector<GURL> hosts_to_update; | 615 std::vector<GURL> hosts_to_update; |
615 // Get the host information. Currently the layout of this data is as follows: | 616 // Get the host information. Currently the layout of this data is as follows: |
616 // [[<is the host checked (boolean)>, <host (string)>], ...] | 617 // [[<is the host checked (boolean)>, <host (string)>], ...] |
617 const ListValue* host_list; | 618 const ListValue* host_list; |
618 if (!args->GetList(1, &host_list)) { | 619 if (!args->GetList(1, &host_list)) { |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
744 bool elevated; | 745 bool elevated; |
745 elevated_arg->GetBoolean(0, &elevated); | 746 elevated_arg->GetBoolean(0, &elevated); |
746 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( | 747 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( |
747 Profile::FromWebUI(web_ui())); | 748 Profile::FromWebUI(web_ui())); |
748 if (elevated) { | 749 if (elevated) { |
749 service->RequestAuthorization( | 750 service->RequestAuthorization( |
750 web_ui()->GetWebContents(), | 751 web_ui()->GetWebContents(), |
751 base::Bind(&BrowsingHistoryHandler::PassphraseDialogCallback, | 752 base::Bind(&BrowsingHistoryHandler::PassphraseDialogCallback, |
752 base::Unretained(this))); | 753 base::Unretained(this))); |
753 } else { | 754 } else { |
754 service->SetElevated(elevated); | 755 ManagedModeNavigationObserver* observer = |
| 756 ManagedModeNavigationObserver::FromWebContents( |
| 757 web_ui()->GetWebContents()); |
| 758 observer->set_elevated(false); |
755 ManagedUserSetElevated(); | 759 ManagedUserSetElevated(); |
756 } | 760 } |
757 } | 761 } |
758 | 762 |
759 void BrowsingHistoryHandler::PassphraseDialogCallback(bool success) { | 763 void BrowsingHistoryHandler::PassphraseDialogCallback(bool success) { |
760 if (success) { | 764 if (success) { |
761 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( | 765 ManagedModeNavigationObserver* observer = |
762 Profile::FromWebUI(web_ui())); | 766 ManagedModeNavigationObserver::FromWebContents( |
763 service->SetElevated(true); | 767 web_ui()->GetWebContents()); |
| 768 observer->set_elevated(true); |
764 ManagedUserSetElevated(); | 769 ManagedUserSetElevated(); |
765 } | 770 } |
766 } | 771 } |
767 | 772 |
768 void BrowsingHistoryHandler::ManagedUserSetElevated() { | 773 void BrowsingHistoryHandler::ManagedUserSetElevated() { |
769 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( | 774 ManagedUserService* service = ManagedUserServiceFactory::GetForProfile( |
770 Profile::FromWebUI(web_ui())); | 775 Profile::FromWebUI(web_ui())); |
771 base::FundamentalValue is_elevated(service->IsElevated()); | 776 base::FundamentalValue is_elevated(service->IsElevatedForWebContents( |
| 777 web_ui()->GetWebContents())); |
772 web_ui()->CallJavascriptFunction("managedUserElevated", is_elevated); | 778 web_ui()->CallJavascriptFunction("managedUserElevated", is_elevated); |
773 } | 779 } |
774 | 780 |
775 void BrowsingHistoryHandler::HandleManagedUserGetElevated( | 781 void BrowsingHistoryHandler::HandleManagedUserGetElevated( |
776 const ListValue* args) { | 782 const ListValue* args) { |
777 ManagedUserSetElevated(); | 783 ManagedUserSetElevated(); |
778 } | 784 } |
779 #endif | 785 #endif |
780 | 786 |
781 // static | 787 // static |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1123 return GURL(std::string(chrome::kChromeUIHistoryURL) + "#q=" + | 1129 return GURL(std::string(chrome::kChromeUIHistoryURL) + "#q=" + |
1124 net::EscapeQueryParamValue(UTF16ToUTF8(text), true)); | 1130 net::EscapeQueryParamValue(UTF16ToUTF8(text), true)); |
1125 } | 1131 } |
1126 | 1132 |
1127 // static | 1133 // static |
1128 base::RefCountedMemory* HistoryUI::GetFaviconResourceBytes( | 1134 base::RefCountedMemory* HistoryUI::GetFaviconResourceBytes( |
1129 ui::ScaleFactor scale_factor) { | 1135 ui::ScaleFactor scale_factor) { |
1130 return ResourceBundle::GetSharedInstance(). | 1136 return ResourceBundle::GetSharedInstance(). |
1131 LoadDataResourceBytesForScale(IDR_HISTORY_FAVICON, scale_factor); | 1137 LoadDataResourceBytesForScale(IDR_HISTORY_FAVICON, scale_factor); |
1132 } | 1138 } |
OLD | NEW |