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

Side by Side Diff: chrome_frame/utils.cc

Issue 6090006: Regkey functions return error code instead of bool (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_frame/utils.h" 5 #include "chrome_frame/utils.h"
6 6
7 #include <htiframe.h> 7 #include <htiframe.h>
8 #include <mshtml.h> 8 #include <mshtml.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool UtilChangePersistentNPAPIMarker(bool set) { 226 bool UtilChangePersistentNPAPIMarker(bool set) {
227 BrowserDistribution* cf_dist = BrowserDistribution::GetDistribution(); 227 BrowserDistribution* cf_dist = BrowserDistribution::GetDistribution();
228 std::wstring cf_state_key_path(cf_dist->GetStateKey()); 228 std::wstring cf_state_key_path(cf_dist->GetStateKey());
229 229
230 RegKey cf_state_key(HKEY_LOCAL_MACHINE, cf_state_key_path.c_str(), 230 RegKey cf_state_key(HKEY_LOCAL_MACHINE, cf_state_key_path.c_str(),
231 KEY_READ | KEY_WRITE); 231 KEY_READ | KEY_WRITE);
232 232
233 bool success = false; 233 bool success = false;
234 if (cf_state_key.Valid()) { 234 if (cf_state_key.Valid()) {
235 if (set) { 235 if (set) {
236 success = cf_state_key.WriteValue(kChromeFramePersistNPAPIReg, 1); 236 LONG result = cf_state_key.WriteValue(kChromeFramePersistNPAPIReg, 1);
237 success = result == ERROR_SUCCESS;
237 } else { 238 } else {
238 // Unfortunately, DeleteValue returns true only if the value 239 // Unfortunately, DeleteValue returns true only if the value
239 // previously existed, so we do a separate existence check to 240 // previously existed, so we do a separate existence check to
240 // validate success. 241 // validate success.
241 cf_state_key.DeleteValue(kChromeFramePersistNPAPIReg); 242 cf_state_key.DeleteValue(kChromeFramePersistNPAPIReg);
242 success = !cf_state_key.ValueExists(kChromeFramePersistNPAPIReg); 243 success = !cf_state_key.ValueExists(kChromeFramePersistNPAPIReg);
243 } 244 }
244 } 245 }
245 return success; 246 return success;
246 } 247 }
247 248
248 bool UtilIsPersistentNPAPIMarkerSet() { 249 bool UtilIsPersistentNPAPIMarkerSet() {
249 BrowserDistribution* cf_dist = BrowserDistribution::GetDistribution(); 250 BrowserDistribution* cf_dist = BrowserDistribution::GetDistribution();
250 std::wstring cf_state_key_path(cf_dist->GetStateKey()); 251 std::wstring cf_state_key_path(cf_dist->GetStateKey());
251 252
252 RegKey cf_state_key(HKEY_LOCAL_MACHINE, cf_state_key_path.c_str(), 253 RegKey cf_state_key(HKEY_LOCAL_MACHINE, cf_state_key_path.c_str(),
253 KEY_QUERY_VALUE); 254 KEY_QUERY_VALUE);
254 255
255 bool success = false; 256 bool success = false;
256 if (cf_state_key.Valid()) { 257 if (cf_state_key.Valid()) {
257 DWORD val = 0; 258 DWORD val = 0;
258 if (cf_state_key.ReadValueDW(kChromeFramePersistNPAPIReg, &val)) { 259 LONG result = cf_state_key.ReadValueDW(kChromeFramePersistNPAPIReg, &val);
260 if (result = ERROR_SUCCESS) {
grt (UTC plus 2) 2011/01/14 15:53:43 result == ERROR_SUCCESS (I still prefer not having
amit 2011/01/15 01:28:11 Done.
259 success = (val != 0); 261 success = (val != 0);
260 } 262 }
261 } 263 }
262 return success; 264 return success;
263 } 265 }
264 266
265 267
266 HRESULT UtilGetXUACompatContentValue(const std::wstring& html_string, 268 HRESULT UtilGetXUACompatContentValue(const std::wstring& html_string,
267 std::wstring* content_value) { 269 std::wstring* content_value) {
268 if (!content_value) { 270 if (!content_value) {
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
669 ret = true; 671 ret = true;
670 } 672 }
671 673
672 return ret; 674 return ret;
673 } 675 }
674 676
675 int GetConfigInt(int default_value, const wchar_t* value_name) { 677 int GetConfigInt(int default_value, const wchar_t* value_name) {
676 int ret = default_value; 678 int ret = default_value;
677 RegKey config_key; 679 RegKey config_key;
678 if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey, 680 if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey,
679 KEY_QUERY_VALUE)) { 681 KEY_QUERY_VALUE) == ERROR_SUCCESS) {
680 int value = FALSE; 682 config_key.ReadValueDW(value_name, reinterpret_cast<DWORD*>(&ret));
681 if (config_key.ReadValueDW(value_name, reinterpret_cast<DWORD*>(&value))) {
682 ret = value;
683 }
684 } 683 }
685 684
686 return ret; 685 return ret;
687 } 686 }
688 687
689 bool GetConfigBool(bool default_value, const wchar_t* value_name) { 688 bool GetConfigBool(bool default_value, const wchar_t* value_name) {
690 DWORD value = GetConfigInt(default_value, value_name); 689 DWORD value = GetConfigInt(default_value, value_name);
691 return (value != FALSE); 690 return (value != FALSE);
692 } 691 }
693 692
694 bool SetConfigInt(const wchar_t* value_name, int value) { 693 bool SetConfigInt(const wchar_t* value_name, int value) {
695 RegKey config_key; 694 RegKey config_key;
696 if (config_key.Create(HKEY_CURRENT_USER, kChromeFrameConfigKey, 695 if (config_key.Create(HKEY_CURRENT_USER, kChromeFrameConfigKey,
697 KEY_SET_VALUE)) { 696 KEY_SET_VALUE) == ERROR_SUCCESS) {
698 if (config_key.WriteValue(value_name, value)) { 697 if (config_key.WriteValue(value_name, value) == ERROR_SUCCESS) {
699 return true; 698 return true;
700 } 699 }
701 } 700 }
702 701
703 return false; 702 return false;
704 } 703 }
705 704
706 bool SetConfigBool(const wchar_t* value_name, bool value) { 705 bool SetConfigBool(const wchar_t* value_name, bool value) {
707 return SetConfigInt(value_name, value); 706 return SetConfigInt(value_name, value);
708 } 707 }
709 708
710 bool DeleteConfigValue(const wchar_t* value_name) { 709 bool DeleteConfigValue(const wchar_t* value_name) {
711 RegKey config_key; 710 RegKey config_key;
712 if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey, 711 if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey,
713 KEY_WRITE)) { 712 KEY_WRITE) == ERROR_SUCCESS) {
714 return config_key.DeleteValue(value_name); 713 if (config_key.DeleteValue(value_name) == ERROR_SUCCESS) {
714 return true;
715 }
715 } 716 }
716 return false; 717 return false;
717 } 718 }
718 719
719 bool IsGcfDefaultRenderer() { 720 bool IsGcfDefaultRenderer() {
720 DWORD is_default = 0; // NOLINT 721 DWORD is_default = 0; // NOLINT
721 722
722 // First check policy settings 723 // First check policy settings
723 PolicySettings::RendererForUrl renderer = 724 PolicySettings::RendererForUrl renderer =
724 PolicySettings::GetInstance()->default_renderer(); 725 PolicySettings::GetInstance()->default_renderer();
725 if (renderer != PolicySettings::RENDERER_NOT_SPECIFIED) { 726 if (renderer != PolicySettings::RENDERER_NOT_SPECIFIED) {
726 is_default = (renderer == PolicySettings::RENDER_IN_CHROME_FRAME); 727 is_default = (renderer == PolicySettings::RENDER_IN_CHROME_FRAME);
727 } else { 728 } else {
728 // TODO(tommi): Implement caching for this config value as it gets 729 // TODO(tommi): Implement caching for this config value as it gets
729 // checked frequently. 730 // checked frequently.
730 RegKey config_key; 731 RegKey config_key;
731 if (config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey, KEY_READ)) { 732 LONG result = config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey,
733 KEY_READ);
734 if (result == ERROR_SUCCESS) {
732 config_key.ReadValueDW(kEnableGCFRendererByDefault, &is_default); 735 config_key.ReadValueDW(kEnableGCFRendererByDefault, &is_default);
733 } 736 }
734 } 737 }
735 738
736 return is_default != 0; 739 return is_default != 0;
737 } 740 }
738 741
739 RendererType RendererTypeForUrl(const std::wstring& url) { 742 RendererType RendererTypeForUrl(const std::wstring& url) {
740 // First check if the default renderer settings are specified by policy. 743 // First check if the default renderer settings are specified by policy.
741 // If so, then that overrides the user settings. 744 // If so, then that overrides the user settings.
742 PolicySettings::RendererForUrl renderer = 745 PolicySettings::RendererForUrl renderer =
743 PolicySettings::GetInstance()->GetRendererForUrl(url.c_str()); 746 PolicySettings::GetInstance()->GetRendererForUrl(url.c_str());
744 if (renderer != PolicySettings::RENDERER_NOT_SPECIFIED) { 747 if (renderer != PolicySettings::RENDERER_NOT_SPECIFIED) {
745 // We may know at this point that policy says do NOT render in Chrome Frame. 748 // We may know at this point that policy says do NOT render in Chrome Frame.
746 // To maintain consistency, we return RENDERER_TYPE_UNDETERMINED so that 749 // To maintain consistency, we return RENDERER_TYPE_UNDETERMINED so that
747 // content sniffing, etc. still take place. 750 // content sniffing, etc. still take place.
748 // TODO(tommi): Clarify the intent here. 751 // TODO(tommi): Clarify the intent here.
749 return (renderer == PolicySettings::RENDER_IN_CHROME_FRAME) ? 752 return (renderer == PolicySettings::RENDER_IN_CHROME_FRAME) ?
750 RENDERER_TYPE_CHROME_OPT_IN_URL : RENDERER_TYPE_UNDETERMINED; 753 RENDERER_TYPE_CHROME_OPT_IN_URL : RENDERER_TYPE_UNDETERMINED;
751 } 754 }
752 755
753 RegKey config_key; 756 RegKey config_key;
754 if (!config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey, KEY_READ)) 757 LONG result = config_key.Open(HKEY_CURRENT_USER, kChromeFrameConfigKey,
758 KEY_READ);
759 if (result != ERROR_SUCCESS)
755 return RENDERER_TYPE_UNDETERMINED; 760 return RENDERER_TYPE_UNDETERMINED;
756 761
757 RendererType renderer_type = RENDERER_TYPE_UNDETERMINED; 762 RendererType renderer_type = RENDERER_TYPE_UNDETERMINED;
758 763
759 const wchar_t* url_list_name = NULL; 764 const wchar_t* url_list_name = NULL;
760 int render_in_cf_by_default = FALSE; 765 int render_in_cf_by_default = FALSE;
761 config_key.ReadValueDW(kEnableGCFRendererByDefault, 766 config_key.ReadValueDW(kEnableGCFRendererByDefault,
762 reinterpret_cast<DWORD*>(&render_in_cf_by_default)); 767 reinterpret_cast<DWORD*>(&render_in_cf_by_default));
763 if (render_in_cf_by_default) { 768 if (render_in_cf_by_default) {
764 url_list_name = kRenderInHostUrlList; 769 url_list_name = kRenderInHostUrlList;
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after
1565 ++url_list; 1570 ++url_list;
1566 } 1571 }
1567 } 1572 }
1568 1573
1569 std::wstring GetCurrentModuleVersion() { 1574 std::wstring GetCurrentModuleVersion() {
1570 scoped_ptr<FileVersionInfo> module_version_info( 1575 scoped_ptr<FileVersionInfo> module_version_info(
1571 FileVersionInfo::CreateFileVersionInfoForCurrentModule()); 1576 FileVersionInfo::CreateFileVersionInfoForCurrentModule());
1572 DCHECK(module_version_info.get() != NULL); 1577 DCHECK(module_version_info.get() != NULL);
1573 return module_version_info->file_version(); 1578 return module_version_info->file_version();
1574 } 1579 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698