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 "components/policy/core/common/policy_loader_win.h" | 5 #include "components/policy/core/common/policy_loader_win.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <userenv.h> | 8 #include <userenv.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 uint8* type_data = reinterpret_cast<uint8*>(&type); | 582 uint8* type_data = reinterpret_cast<uint8*>(&type); |
583 buffer.insert(buffer.end(), type_data, type_data + sizeof(DWORD)); | 583 buffer.insert(buffer.end(), type_data, type_data + sizeof(DWORD)); |
584 AppendChars(&buffer, L";"); | 584 AppendChars(&buffer, L";"); |
585 size = base::ByteSwapToLE32(size); | 585 size = base::ByteSwapToLE32(size); |
586 uint8* size_data = reinterpret_cast<uint8*>(&size); | 586 uint8* size_data = reinterpret_cast<uint8*>(&size); |
587 buffer.insert(buffer.end(), size_data, size_data + sizeof(DWORD)); | 587 buffer.insert(buffer.end(), size_data, size_data + sizeof(DWORD)); |
588 AppendChars(&buffer, L";"); | 588 AppendChars(&buffer, L";"); |
589 buffer.insert(buffer.end(), data, data + size); | 589 buffer.insert(buffer.end(), data, data + size); |
590 AppendChars(&buffer, L"]"); | 590 AppendChars(&buffer, L"]"); |
591 | 591 |
592 ASSERT_TRUE(base::AppendToFile( | 592 ASSERT_TRUE(base::AppendToFile(preg_file_path_, |
593 preg_file_path_, | 593 reinterpret_cast<const char*>(buffer.data()), |
594 reinterpret_cast<const char*>(vector_as_array(&buffer)), | 594 buffer.size())); |
595 buffer.size())); | |
596 } | 595 } |
597 | 596 |
598 void PRegTestHarness::AppendDWORDToPRegFile(const base::string16& path, | 597 void PRegTestHarness::AppendDWORDToPRegFile(const base::string16& path, |
599 const std::string& key, | 598 const std::string& key, |
600 DWORD value) { | 599 DWORD value) { |
601 value = base::ByteSwapToLE32(value); | 600 value = base::ByteSwapToLE32(value); |
602 AppendRecordToPRegFile(path, key, REG_DWORD, sizeof(DWORD), | 601 AppendRecordToPRegFile(path, key, REG_DWORD, sizeof(DWORD), |
603 reinterpret_cast<uint8*>(&value)); | 602 reinterpret_cast<uint8*>(&value)); |
604 } | 603 } |
605 | 604 |
606 void PRegTestHarness::AppendStringToPRegFile(const base::string16& path, | 605 void PRegTestHarness::AppendStringToPRegFile(const base::string16& path, |
607 const std::string& key, | 606 const std::string& key, |
608 const std::string& value) { | 607 const std::string& value) { |
609 base::string16 string16_value(UTF8ToUTF16(value)); | 608 base::string16 string16_value(UTF8ToUTF16(value)); |
610 std::vector<base::char16> data; | 609 std::vector<base::char16> data; |
611 std::transform(string16_value.begin(), string16_value.end(), | 610 std::transform(string16_value.begin(), string16_value.end(), |
612 std::back_inserter(data), std::ptr_fun(base::ByteSwapToLE16)); | 611 std::back_inserter(data), std::ptr_fun(base::ByteSwapToLE16)); |
613 data.push_back(base::ByteSwapToLE16(L'\0')); | 612 data.push_back(base::ByteSwapToLE16(L'\0')); |
614 | 613 |
615 AppendRecordToPRegFile(path, key, REG_SZ, data.size() * sizeof(base::char16), | 614 AppendRecordToPRegFile(path, key, REG_SZ, data.size() * sizeof(base::char16), |
616 reinterpret_cast<uint8*>(vector_as_array(&data))); | 615 reinterpret_cast<uint8*>(data.data())); |
617 } | 616 } |
618 | 617 |
619 void PRegTestHarness::AppendPolicyToPRegFile(const base::string16& path, | 618 void PRegTestHarness::AppendPolicyToPRegFile(const base::string16& path, |
620 const std::string& key, | 619 const std::string& key, |
621 const base::Value* value) { | 620 const base::Value* value) { |
622 switch (value->GetType()) { | 621 switch (value->GetType()) { |
623 case base::Value::TYPE_BOOLEAN: { | 622 case base::Value::TYPE_BOOLEAN: { |
624 bool boolean_value = false; | 623 bool boolean_value = false; |
625 ASSERT_TRUE(value->GetAsBoolean(&boolean_value)); | 624 ASSERT_TRUE(value->GetAsBoolean(&boolean_value)); |
626 AppendDWORDToPRegFile(path, key, boolean_value); | 625 AppendDWORDToPRegFile(path, key, boolean_value); |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1234 expected_policy.Set("alternative_browser_path", | 1233 expected_policy.Set("alternative_browser_path", |
1235 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 1234 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
1236 POLICY_SOURCE_PLATFORM, | 1235 POLICY_SOURCE_PLATFORM, |
1237 new base::StringValue("c:\\legacy\\browser.exe"), NULL); | 1236 new base::StringValue("c:\\legacy\\browser.exe"), NULL); |
1238 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 1237 expected_policy.Set("url_list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
1239 POLICY_SOURCE_PLATFORM, list.DeepCopy(), nullptr); | 1238 POLICY_SOURCE_PLATFORM, list.DeepCopy(), nullptr); |
1240 EXPECT_TRUE(Matches(expected)); | 1239 EXPECT_TRUE(Matches(expected)); |
1241 } | 1240 } |
1242 | 1241 |
1243 } // namespace policy | 1242 } // namespace policy |
OLD | NEW |