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 "content/common/sandbox_win.h" | 5 #include "content/common/sandbox_win.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/base_switches.h" | 9 #include "base/base_switches.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 583 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
584 if (command_line.HasSwitch(switches::kDisableDirectWrite)) | 584 if (command_line.HasSwitch(switches::kDisableDirectWrite)) |
585 return false; | 585 return false; |
586 | 586 |
587 #if !defined(NACL_WIN64) | 587 #if !defined(NACL_WIN64) |
588 // Can't use GDI on HiDPI. | 588 // Can't use GDI on HiDPI. |
589 if (gfx::GetDPIScale() > 1.0f) | 589 if (gfx::GetDPIScale() > 1.0f) |
590 return true; | 590 return true; |
591 #endif | 591 #endif |
592 | 592 |
| 593 // If anti-aliasing or ClearType are off, don't use DirectWrite. |
| 594 BOOL smoothing = FALSE; |
| 595 SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &smoothing, 0); |
| 596 if (!smoothing) |
| 597 return false; |
| 598 UINT smooth_type = 0; |
| 599 SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &smooth_type, 0); |
| 600 if (smooth_type != FE_FONTSMOOTHINGCLEARTYPE) |
| 601 return false; |
| 602 |
593 // Otherwise, check the field trial. | 603 // Otherwise, check the field trial. |
594 const std::string group_name = | 604 const std::string group_name = |
595 base::FieldTrialList::FindFullName("DirectWrite"); | 605 base::FieldTrialList::FindFullName("DirectWrite"); |
596 return group_name != "Disabled"; | 606 return group_name != "Disabled"; |
597 } | 607 } |
598 | 608 |
599 base::ProcessHandle StartSandboxedProcess( | 609 base::ProcessHandle StartSandboxedProcess( |
600 SandboxedProcessLauncherDelegate* delegate, | 610 SandboxedProcessLauncherDelegate* delegate, |
601 CommandLine* cmd_line) { | 611 CommandLine* cmd_line) { |
602 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); | 612 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
774 } | 784 } |
775 | 785 |
776 return false; | 786 return false; |
777 } | 787 } |
778 | 788 |
779 bool BrokerAddTargetPeer(HANDLE peer_process) { | 789 bool BrokerAddTargetPeer(HANDLE peer_process) { |
780 return g_broker_services->AddTargetPeer(peer_process) == sandbox::SBOX_ALL_OK; | 790 return g_broker_services->AddTargetPeer(peer_process) == sandbox::SBOX_ALL_OK; |
781 } | 791 } |
782 | 792 |
783 } // namespace content | 793 } // namespace content |
OLD | NEW |