| Index: gpu/config/gpu_util.cc
|
| diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
| index b50ddf098cfe9db664d9a01fe1840b5a5ed64947..8832c8fc4f23ac89d6be712d4a9f51d9e4f4499e 100644
|
| --- a/gpu/config/gpu_util.cc
|
| +++ b/gpu/config/gpu_util.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/debug/crash_logging.h"
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| +#include "base/strings/string_piece.h"
|
| #include "base/strings/string_split.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| @@ -108,23 +109,28 @@ void ApplyGpuDriverBugWorkarounds(const GPUInfo& gpu_info,
|
| IntSetToString(workarounds));
|
| }
|
|
|
| - std::set<std::string> disabled_extensions;
|
| std::vector<std::string> buglist_disabled_extensions =
|
| list->GetDisabledExtensions();
|
| - disabled_extensions.insert(buglist_disabled_extensions.begin(),
|
| - buglist_disabled_extensions.end());
|
| + std::set<base::StringPiece> disabled_extensions(
|
| + buglist_disabled_extensions.begin(), buglist_disabled_extensions.end());
|
|
|
| + // Must be outside if statement to remain in scope (referenced by
|
| + // |disabled_extensions|).
|
| + std::string command_line_disable_gl_extensions;
|
| if (command_line->HasSwitch(switches::kDisableGLExtensions)) {
|
| - std::vector<std::string> existing_disabled_extensions = base::SplitString(
|
| - command_line->GetSwitchValueASCII(switches::kDisableGLExtensions), " ",
|
| - base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
|
| + command_line_disable_gl_extensions =
|
| + command_line->GetSwitchValueASCII(switches::kDisableGLExtensions);
|
| + std::vector<base::StringPiece> existing_disabled_extensions =
|
| + base::SplitStringPiece(command_line_disable_gl_extensions, " ",
|
| + base::TRIM_WHITESPACE,
|
| + base::SPLIT_WANT_NONEMPTY);
|
| disabled_extensions.insert(existing_disabled_extensions.begin(),
|
| existing_disabled_extensions.end());
|
| }
|
|
|
| if (!disabled_extensions.empty()) {
|
| - std::vector<std::string> v(disabled_extensions.begin(),
|
| - disabled_extensions.end());
|
| + std::vector<base::StringPiece> v(disabled_extensions.begin(),
|
| + disabled_extensions.end());
|
| command_line->AppendSwitchASCII(switches::kDisableGLExtensions,
|
| base::JoinString(v, " "));
|
| }
|
|
|