diff --git a/DEPS b/DEPS index e9e1c2b..b51fa38 100644 --- a/DEPS +++ b/DEPS
@@ -39,7 +39,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'c67bb575d0393bef8517810c8f7c578804403c61', + 'skia_revision': '9342bd8219227bfab7bf33f3d842122612bc22b8', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other.
diff --git a/ash/mus/BUILD.gn b/ash/mus/BUILD.gn index 6b8a563..da25a6e 100644 --- a/ash/mus/BUILD.gn +++ b/ash/mus/BUILD.gn
@@ -129,24 +129,3 @@ "//ash/resources:ash_test_resources_200_percent", ] } - -source_set("unittests") { - testonly = true - - sources = [ - "shelf_delegate_mus_unittest.cc", - ] - - deps = [ - "//base", - "//components/mus/public/interfaces", - "//mash/shelf/public/interfaces", - "//mojo/public/cpp/bindings", - "//services/shell/public/cpp:shell_test_support", - ] - - data_deps = [ - "//mash/session", - ":mus", - ] -}
diff --git a/ash/mus/shelf_delegate_mus_unittest.cc b/ash/mus/shelf_delegate_mus_unittest.cc deleted file mode 100644 index 0a59fdeb..0000000 --- a/ash/mus/shelf_delegate_mus_unittest.cc +++ /dev/null
@@ -1,132 +0,0 @@ -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include <memory> - -#include "base/bind.h" -#include "base/command_line.h" -#include "base/run_loop.h" -#include "components/mus/public/interfaces/window_server_test.mojom.h" -#include "mash/shelf/public/interfaces/shelf.mojom.h" -#include "mojo/public/cpp/bindings/associated_binding.h" -#include "services/shell/public/cpp/shell_test.h" - -namespace { - -class TestShelfObserver : public mash::shelf::mojom::ShelfObserver { - public: - explicit TestShelfObserver(mash::shelf::mojom::ShelfControllerPtr* shelf) - : observer_binding_(this) { - mash::shelf::mojom::ShelfObserverAssociatedPtrInfo ptr_info; - observer_binding_.Bind(&ptr_info, shelf->associated_group()); - (*shelf)->AddObserver(std::move(ptr_info)); - } - - ~TestShelfObserver() override {} - - mash::shelf::mojom::Alignment alignment() const { return alignment_; } - mash::shelf::mojom::AutoHideBehavior auto_hide() const { return auto_hide_; } - - void WaitForIncomingMethodCalls(size_t expected_calls) { - DCHECK_EQ(0u, expected_calls_); - expected_calls_ = expected_calls; - DCHECK(!run_loop_ || !run_loop_->running()); - run_loop_.reset(new base::RunLoop()); - run_loop_->Run(); - } - - private: - void OnMethodCall() { - DCHECK_LT(0u, expected_calls_); - DCHECK(run_loop_->running()); - expected_calls_--; - if (expected_calls_ == 0u) - run_loop_->Quit(); - } - - // mash::shelf::mojom::ShelfObserver: - void OnAlignmentChanged(mash::shelf::mojom::Alignment alignment) override { - alignment_ = alignment; - OnMethodCall(); - } - void OnAutoHideBehaviorChanged( - mash::shelf::mojom::AutoHideBehavior auto_hide) override { - auto_hide_ = auto_hide; - OnMethodCall(); - } - - mojo::AssociatedBinding<mash::shelf::mojom::ShelfObserver> observer_binding_; - - mash::shelf::mojom::Alignment alignment_ = - mash::shelf::mojom::Alignment::BOTTOM; - mash::shelf::mojom::AutoHideBehavior auto_hide_ = - mash::shelf::mojom::AutoHideBehavior::NEVER; - - size_t expected_calls_ = 0u; - std::unique_ptr<base::RunLoop> run_loop_; - - DISALLOW_COPY_AND_ASSIGN(TestShelfObserver); -}; - -} // namespace - -namespace ash { -namespace sysui { - -void RunCallback(bool* success, const base::Closure& callback, bool result) { - *success = result; - callback.Run(); -} - -class ShelfDelegateMusTest : public shell::test::ShellTest { - public: - ShelfDelegateMusTest() : ShellTest("exe:mash_unittests") {} - ~ShelfDelegateMusTest() override {} - - private: - void SetUp() override { - base::CommandLine::ForCurrentProcess()->AppendSwitch("use-test-config"); - ShellTest::SetUp(); - } - - DISALLOW_COPY_AND_ASSIGN(ShelfDelegateMusTest); -}; - -TEST_F(ShelfDelegateMusTest, AshSysUIHasDrawnWindow) { - // mash_session embeds ash_sysui, which paints the shelf. - connector()->Connect("mojo:mash_session"); - mus::mojom::WindowServerTestPtr test_interface; - connector()->ConnectToInterface("mojo:mus", &test_interface); - base::RunLoop run_loop; - bool drawn = false; - test_interface->EnsureClientHasDrawnWindow( - "mojo:ash_sysui", - base::Bind(&RunCallback, &drawn, run_loop.QuitClosure())); - run_loop.Run(); - EXPECT_TRUE(drawn); -} - -TEST_F(ShelfDelegateMusTest, ShelfControllerAndObserverBasic) { - connector()->Connect("mojo:mash_session"); - mash::shelf::mojom::ShelfControllerPtr shelf_controller; - connector()->ConnectToInterface("mojo:ash_sysui", &shelf_controller); - - // Adding the observer should fire state initialization function calls. - TestShelfObserver observer(&shelf_controller); - observer.WaitForIncomingMethodCalls(2u); - EXPECT_EQ(mash::shelf::mojom::Alignment::BOTTOM, observer.alignment()); - EXPECT_EQ(mash::shelf::mojom::AutoHideBehavior::NEVER, observer.auto_hide()); - - shelf_controller->SetAlignment(mash::shelf::mojom::Alignment::LEFT); - observer.WaitForIncomingMethodCalls(1u); - EXPECT_EQ(mash::shelf::mojom::Alignment::LEFT, observer.alignment()); - - shelf_controller->SetAutoHideBehavior( - mash::shelf::mojom::AutoHideBehavior::ALWAYS); - observer.WaitForIncomingMethodCalls(1u); - EXPECT_EQ(mash::shelf::mojom::AutoHideBehavior::ALWAYS, observer.auto_hide()); -} - -} // namespace sysui -} // namespace ash
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn index 0400fc7..f4860f9 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -222,10 +222,9 @@ # On Mac, internal plugins go inside the framework, so these # dependencies are on chrome.dll. "//third_party/adobe/flash:flapper_binaries", + "//third_party/widevine/cdm:widevinecdmadapter", ] - data_deps += [ "//third_party/widevine/cdm:widevinecdmadapter" ] - if (is_multi_dll_chrome) { defines += [ "CHROME_MULTIPLE_DLL" ] data_deps += [ ":chrome_child" ]
diff --git a/chrome/VERSION b/chrome/VERSION index e16e153..bad3316 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=52 MINOR=0 -BUILD=2737 +BUILD=2738 PATCH=0
diff --git a/chrome/browser/content_settings/content_settings_browsertest.cc b/chrome/browser/content_settings/content_settings_browsertest.cc index f5bbfac..1d1349c 100644 --- a/chrome/browser/content_settings/content_settings_browsertest.cc +++ b/chrome/browser/content_settings/content_settings_browsertest.cc
@@ -322,30 +322,27 @@ // Registers any CDM plugins not registered by default. void SetUpCommandLine(base::CommandLine* command_line) override { #if defined(ENABLE_PEPPER_CDMS) - // Base path for Clear Key CDM (relative to the chrome executable). - const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm"; - -// Platform-specific filename relative to kClearKeyCdmBaseDirectory. + // Platform-specific filename relative to the chrome executable. #if defined(OS_WIN) - const char kClearKeyCdmAdapterFileName[] = "clearkeycdmadapter.dll"; + const char kLibraryName[] = "clearkeycdmadapter.dll"; #else // !defined(OS_WIN) #if defined(OS_MACOSX) - const char kClearKeyCdmAdapterFileName[] = "clearkeycdmadapter.plugin"; + const char kLibraryName[] = "clearkeycdmadapter.plugin"; #elif defined(OS_POSIX) - const char kClearKeyCdmAdapterFileName[] = "libclearkeycdmadapter.so"; + const char kLibraryName[] = "libclearkeycdmadapter.so"; #endif // defined(OS_MACOSX) #endif // defined(OS_WIN) // Append the switch to register the External Clear Key CDM. base::FilePath::StringType pepper_plugins = BuildPepperPluginRegistration( - kClearKeyCdmBaseDirectory, kClearKeyCdmAdapterFileName, "Clear Key CDM", - kExternalClearKeyMimeType); + kLibraryName, "Clear Key CDM", kExternalClearKeyMimeType); #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) // The CDM must be registered when it is a component. pepper_plugins.append(FILE_PATH_LITERAL(",")); - pepper_plugins.append(BuildPepperPluginRegistration( - kWidevineCdmBaseDirectory, kWidevineCdmAdapterFileName, - kWidevineCdmDisplayName, kWidevineCdmPluginMimeType)); + pepper_plugins.append( + BuildPepperPluginRegistration(kWidevineCdmAdapterFileName, + kWidevineCdmDisplayName, + kWidevineCdmPluginMimeType)); #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) command_line->AppendSwitchNative(switches::kRegisterPepperPlugins, pepper_plugins); @@ -437,13 +434,11 @@ // plugin using the provided parameters and a dummy version. // Multiple results may be passed to kRegisterPepperPlugins, separated by ",". base::FilePath::StringType BuildPepperPluginRegistration( - const char* library_path, const char* library_name, const char* display_name, const char* mime_type) { base::FilePath plugin_dir; EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir)); - plugin_dir = plugin_dir.AppendASCII(library_path); base::FilePath plugin_lib = plugin_dir.AppendASCII(library_name); EXPECT_TRUE(base::PathExists(plugin_lib));
diff --git a/chrome/browser/load_library_perf_test.cc b/chrome/browser/load_library_perf_test.cc index 0aa7f02e..5b4fe125 100644 --- a/chrome/browser/load_library_perf_test.cc +++ b/chrome/browser/load_library_perf_test.cc
@@ -16,22 +16,21 @@ #include "testing/perf/perf_test.h" #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. -// Base path for Clear Key CDM (relative to the chrome executable). -const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm"; - // Measures the size (bytes) and time to load (sec) of a native library. -void MeasureSizeAndTimeToLoadNativeLibrary(const std::string& library_base_dir, - const std::string& library_name) { +void MeasureSizeAndTimeToLoadNativeLibrary(const base::FilePath& library_name) { base::FilePath output_dir; ASSERT_TRUE(PathService::Get(base::DIR_MODULE, &output_dir)); - output_dir = output_dir.AppendASCII(library_base_dir); - base::FilePath library_path = output_dir.AppendASCII(library_name); + base::FilePath library_path = output_dir.Append(library_name); ASSERT_TRUE(base::PathExists(library_path)) << library_path.value(); int64_t size = 0; ASSERT_TRUE(base::GetFileSize(library_path, &size)); - perf_test::PrintResult("library_size", "", library_name, - static_cast<size_t>(size), "bytes", true); + perf_test::PrintResult("library_size", + "", + library_name.AsUTF8Unsafe(), + static_cast<size_t>(size), + "bytes", + true); base::NativeLibraryLoadError error; base::TimeTicks start = base::TimeTicks::Now(); @@ -40,50 +39,50 @@ double delta = (base::TimeTicks::Now() - start).InMillisecondsF(); ASSERT_TRUE(native_library) << "Error loading library: " << error.ToString(); base::UnloadNativeLibrary(native_library); - perf_test::PrintResult("time_to_load_library", "", library_name, delta, "ms", + perf_test::PrintResult("time_to_load_library", + "", + library_name.AsUTF8Unsafe(), + delta, + "ms", true); } // Use the base name of the library to dynamically get the platform specific // name. See base::GetNativeLibraryName() for details. void MeasureSizeAndTimeToLoadNativeLibraryByBaseName( - const std::string& library_base_dir, const std::string& base_library_name) { - MeasureSizeAndTimeToLoadNativeLibrary( - library_base_dir, base::UTF16ToUTF8(base::GetNativeLibraryName( - base::ASCIIToUTF16(base_library_name)))); + MeasureSizeAndTimeToLoadNativeLibrary(base::FilePath::FromUTF16Unsafe( + base::GetNativeLibraryName(base::ASCIIToUTF16(base_library_name)))); } #if defined(ENABLE_PEPPER_CDMS) #if defined(WIDEVINE_CDM_AVAILABLE) TEST(LoadCDMPerfTest, Widevine) { - MeasureSizeAndTimeToLoadNativeLibrary(kWidevineCdmBaseDirectory, - kWidevineCdmFileName); + MeasureSizeAndTimeToLoadNativeLibrary( + base::FilePath::FromUTF8Unsafe(kWidevineCdmFileName)); } TEST(LoadCDMPerfTest, WidevineAdapter) { - MeasureSizeAndTimeToLoadNativeLibrary(kWidevineCdmBaseDirectory, - kWidevineCdmAdapterFileName); + MeasureSizeAndTimeToLoadNativeLibrary( + base::FilePath::FromUTF8Unsafe(kWidevineCdmAdapterFileName)); } #endif // defined(WIDEVINE_CDM_AVAILABLE) TEST(LoadCDMPerfTest, ExternalClearKey) { #if defined(OS_MACOSX) - MeasureSizeAndTimeToLoadNativeLibrary(kClearKeyCdmBaseDirectory, - "libclearkeycdm.dylib"); + MeasureSizeAndTimeToLoadNativeLibrary( + base::FilePath::FromUTF8Unsafe("libclearkeycdm.dylib")); #else - MeasureSizeAndTimeToLoadNativeLibraryByBaseName(kClearKeyCdmBaseDirectory, - "clearkeycdm"); + MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdm"); #endif // defined(OS_MACOSX) } TEST(LoadCDMPerfTest, ExternalClearKeyAdapter) { #if defined(OS_MACOSX) - MeasureSizeAndTimeToLoadNativeLibrary(kClearKeyCdmBaseDirectory, - "clearkeycdmadapter.plugin"); + MeasureSizeAndTimeToLoadNativeLibrary( + base::FilePath::FromUTF8Unsafe("clearkeycdmadapter.plugin")); #else - MeasureSizeAndTimeToLoadNativeLibraryByBaseName(kClearKeyCdmBaseDirectory, - "clearkeycdmadapter"); + MeasureSizeAndTimeToLoadNativeLibraryByBaseName("clearkeycdmadapter"); #endif // defined(OS_MACOSX) } #endif // defined(ENABLE_PEPPER_CDMS)
diff --git a/chrome/browser/media/encrypted_media_browsertest.cc b/chrome/browser/media/encrypted_media_browsertest.cc index ed8f2031e..ffcf367 100644 --- a/chrome/browser/media/encrypted_media_browsertest.cc +++ b/chrome/browser/media/encrypted_media_browsertest.cc
@@ -26,10 +26,7 @@ #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. #if defined(ENABLE_PEPPER_CDMS) -// Base path for Clear Key CDM (relative to the chrome executable). -const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm"; - -// Platform-specific filename relative to kClearKeyCdmBaseDirectory. +// Platform-specific filename relative to the chrome executable. const char kClearKeyCdmAdapterFileName[] = #if defined(OS_MACOSX) "clearkeycdmadapter.plugin"; @@ -264,13 +261,11 @@ #if defined(ENABLE_PEPPER_CDMS) if (IsExternalClearKey(key_system)) { - RegisterPepperCdm(command_line, kClearKeyCdmBaseDirectory, - kClearKeyCdmAdapterFileName, key_system); + RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, key_system); } #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) else if (IsWidevine(key_system)) { // NOLINT - RegisterPepperCdm(command_line, kWidevineCdmBaseDirectory, - kWidevineCdmAdapterFileName, key_system); + RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, key_system); } #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) #endif // defined(ENABLE_PEPPER_CDMS) @@ -278,24 +273,18 @@ private: #if defined(ENABLE_PEPPER_CDMS) - // The CDM adapter should be located in |adapter_base_dir| in DIR_MODULE. void RegisterPepperCdm(base::CommandLine* command_line, - const std::string& adapter_base_dir, const std::string& adapter_name, const std::string& key_system) { DCHECK(!is_pepper_cdm_registered_) << "RegisterPepperCdm() can only be called once."; is_pepper_cdm_registered_ = true; - // Build the CDM adapter path. + // Append the switch to register the Clear Key CDM Adapter. base::FilePath plugin_dir; EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir)); - plugin_dir = plugin_dir.AppendASCII(adapter_base_dir); - base::FilePath plugin_lib = plugin_dir.AppendASCII(adapter_name); EXPECT_TRUE(base::PathExists(plugin_lib)) << plugin_lib.value(); - - // Build pepper plugin registration switch. base::FilePath::StringType pepper_plugin = plugin_lib.value(); pepper_plugin.append(FILE_PATH_LITERAL("#CDM#0.1.0.0;")); #if defined(OS_WIN) @@ -303,8 +292,6 @@ #else pepper_plugin.append(GetPepperType(key_system)); #endif - - // Append the switch to register the CDM Adapter. command_line->AppendSwitchNative(switches::kRegisterPepperPlugins, pepper_plugin); }
diff --git a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc index 6c0b5b8..d59b992c 100644 --- a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc +++ b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
@@ -83,8 +83,8 @@ // Expectations for Widevine. // Note: Widevine is not available on platforms using components because // RegisterPepperCdm() cannot set the codecs. -// TODO(xhwang): Enable these tests after we have the ability to use the -// manifest in these tests. See http://crbug.com/586634 +// TODO(ddorwin): Enable these tests after we have the ability to use the CUS +// in these tests. See http://crbug.com/356833. #if defined(WIDEVINE_CDM_AVAILABLE) && !defined(WIDEVINE_CDM_IS_COMPONENT) #define EXPECT_WV_SUCCESS EXPECT_SUCCESS #define EXPECT_WV_PROPRIETARY EXPECT_PROPRIETARY @@ -96,23 +96,6 @@ #endif // defined(WIDEVINE_CDM_AVAILABLE) && // !defined(WIDEVINE_CDM_IS_COMPONENT) -#if defined(ENABLE_PEPPER_CDMS) -// Base path for Clear Key CDM (relative to the chrome executable). -const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm"; - -// Platform-specific filename relative to kClearKeyCdmBaseDirectory. -const char kClearKeyCdmAdapterFileName[] = -#if defined(OS_MACOSX) - "clearkeycdmadapter.plugin"; -#elif defined(OS_WIN) - "clearkeycdmadapter.dll"; -#elif defined(OS_POSIX) - "libclearkeycdmadapter.so"; -#endif - -const char kClearKeyCdmPluginMimeType[] = "application/x-ppapi-clearkey-cdm"; -#endif // defined(ENABLE_PEPPER_CDMS) - }; // namespace class EncryptedMediaSupportedTypesTest : public InProcessBrowserTest { @@ -167,7 +150,6 @@ // Update the command line to load |adapter_name| for // |pepper_type_for_key_system|. void RegisterPepperCdm(base::CommandLine* command_line, - const std::string& adapter_base_dir, const std::string& adapter_name, const std::string& pepper_type_for_key_system, bool expect_adapter_exists = true) { @@ -178,8 +160,6 @@ // Append the switch to register the appropriate adapter. base::FilePath plugin_dir; EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir)); - plugin_dir = plugin_dir.AppendASCII(adapter_base_dir); - base::FilePath plugin_lib = plugin_dir.AppendASCII(adapter_name); EXPECT_EQ(expect_adapter_exists, base::PathExists(plugin_lib)); base::FilePath::StringType pepper_plugin = plugin_lib.value(); @@ -302,15 +282,26 @@ protected: void SetUpCommandLine(base::CommandLine* command_line) override { EncryptedMediaSupportedTypesTest::SetUpCommandLine(command_line); - RegisterPepperCdm(command_line, kClearKeyCdmBaseDirectory, - kClearKeyCdmAdapterFileName, kClearKeyCdmPluginMimeType); + + // Platform-specific filename relative to the chrome executable. + const char adapter_file_name[] = +#if defined(OS_MACOSX) + "clearkeycdmadapter.plugin"; +#elif defined(OS_WIN) + "clearkeycdmadapter.dll"; +#elif defined(OS_POSIX) + "libclearkeycdmadapter.so"; +#endif + + const std::string pepper_name("application/x-ppapi-clearkey-cdm"); + RegisterPepperCdm(command_line, adapter_file_name, pepper_name); } #endif // defined(ENABLE_PEPPER_CDMS) }; // TODO(sandersd): Register the Widevine CDM if it is a component. A component // CDM registered using RegisterPepperCdm() declares support for audio codecs, -// but not the other codecs we expect. http://crbug.com/356833 +// but not the other codecs we expect. http://crbug.com/356833. class EncryptedMediaSupportedTypesWidevineTest : public EncryptedMediaSupportedTypesTest { }; @@ -322,9 +313,10 @@ protected: void SetUpCommandLine(base::CommandLine* command_line) override { EncryptedMediaSupportedTypesTest::SetUpCommandLine(command_line); - RegisterPepperCdm(command_line, kClearKeyCdmBaseDirectory, + RegisterPepperCdm(command_line, "clearkeycdmadapterwrongname.dll", - kClearKeyCdmPluginMimeType, false); + "application/x-ppapi-clearkey-cdm", + false); } }; @@ -334,9 +326,10 @@ protected: void SetUpCommandLine(base::CommandLine* command_line) override { EncryptedMediaSupportedTypesTest::SetUpCommandLine(command_line); - RegisterPepperCdm(command_line, "WidevineCdm", + RegisterPepperCdm(command_line, "widevinecdmadapterwrongname.dll", - "application/x-ppapi-widevine-cdm", false); + "application/x-ppapi-widevine-cdm", + false); } }; #endif // defined(ENABLE_PEPPER_CDMS)
diff --git a/chrome/browser_tests.isolate b/chrome/browser_tests.isolate index 2880b5b..cec61ef8 100644 --- a/chrome/browser_tests.isolate +++ b/chrome/browser_tests.isolate
@@ -35,8 +35,8 @@ ['OS=="linux"', { 'variables': { 'files': [ - '<(PRODUCT_DIR)/ClearKeyCdm/libclearkeycdm.so', - '<(PRODUCT_DIR)/ClearKeyCdm/libclearkeycdmadapter.so', + '<(PRODUCT_DIR)/libclearkeycdm.so', + '<(PRODUCT_DIR)/libclearkeycdmadapter.so', '<(PRODUCT_DIR)/libpower_saver_test_plugin.so', '<(PRODUCT_DIR)/libppapi_tests.so', ], @@ -45,8 +45,8 @@ ['OS=="linux" and branding=="Chrome" and enable_pepper_cdms==1', { 'variables': { 'files': [ - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.so', - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdmadapter.so', + '<(PRODUCT_DIR)/libwidevinecdm.so', + '<(PRODUCT_DIR)/libwidevinecdmadapter.so', ], }, }], @@ -183,9 +183,9 @@ ['OS=="mac"', { 'variables': { 'files': [ - '<(PRODUCT_DIR)/ClearKeyCdm/clearkeycdmadapter.plugin', - '<(PRODUCT_DIR)/ClearKeyCdm/libclearkeycdm.dylib', + '<(PRODUCT_DIR)/clearkeycdmadapter.plugin', '<(PRODUCT_DIR)/content_shell.pak', + '<(PRODUCT_DIR)/libclearkeycdm.dylib', '<(PRODUCT_DIR)/osmesa.so', '<(PRODUCT_DIR)/power_saver_test_plugin.plugin/Contents/MacOS/power_saver_test_plugin', '<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests', @@ -195,8 +195,8 @@ ['OS=="mac" and branding=="Chrome" and enable_pepper_cdms==1', { 'variables': { 'files': [ - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.dylib', - '<(PRODUCT_DIR)/WidevineCdm/widevinecdmadapter.plugin', + '<(PRODUCT_DIR)/libwidevinecdm.dylib', + '<(PRODUCT_DIR)/widevinecdmadapter.plugin', ], }, }], @@ -205,8 +205,8 @@ 'files': [ '../native_client/build/build_nexe.py', '<(PRODUCT_DIR)/chrome_elf.dll', - '<(PRODUCT_DIR)/ClearKeyCdm/clearkeycdm.dll', - '<(PRODUCT_DIR)/ClearKeyCdm/clearkeycdmadapter.dll', + '<(PRODUCT_DIR)/clearkeycdm.dll', + '<(PRODUCT_DIR)/clearkeycdmadapter.dll', '<(PRODUCT_DIR)/crashpad_handler.exe', '<(PRODUCT_DIR)/power_saver_test_plugin.dll', '<(PRODUCT_DIR)/ppapi_tests.dll', @@ -217,8 +217,8 @@ ['OS=="win" and branding=="Chrome" and enable_pepper_cdms==1', { 'variables': { 'files': [ - '<(PRODUCT_DIR)/WidevineCdm/widevinecdm.dll', - '<(PRODUCT_DIR)/WidevineCdm/widevinecdmadapter.dll', + '<(PRODUCT_DIR)/widevinecdm.dll', + '<(PRODUCT_DIR)/widevinecdmadapter.dll', ], }, }],
diff --git a/chrome/chrome_dll_bundle.gypi b/chrome/chrome_dll_bundle.gypi index cf2fccdf..985f40d 100644 --- a/chrome/chrome_dll_bundle.gypi +++ b/chrome/chrome_dll_bundle.gypi
@@ -132,14 +132,14 @@ ], }, { - # The adapter is not a complete plugin on its own. It needs the Widevine - # CDM to work. - 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Internet Plug-Ins/WidevineCdm', + # This file is used by the component installer. + # It is not a complete plugin on its own. + 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Internet Plug-Ins/', 'files': [], 'conditions': [ ['branding == "Chrome"', { 'files': [ - '<(PRODUCT_DIR)/WidevineCdm/widevinecdmadapter.plugin', + '<(PRODUCT_DIR)/widevinecdmadapter.plugin', ], }], ],
diff --git a/chrome/chrome_installer.gypi b/chrome/chrome_installer.gypi index 9e80cbf..bc5dc90 100644 --- a/chrome/chrome_installer.gypi +++ b/chrome/chrome_installer.gypi
@@ -524,8 +524,8 @@ 'rpm_arch': 'i386', 'packaging_files_binaries': [ '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdmadapter.so', - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.so', + '<(PRODUCT_DIR)/libwidevinecdmadapter.so', + '<(PRODUCT_DIR)/libwidevinecdm.so', ], 'packaging_files_common': [ '<(DEPTH)/build/linux/bin/eu-strip', @@ -536,8 +536,8 @@ 'rpm_arch': 'x86_64', 'packaging_files_binaries': [ '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdmadapter.so', - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.so', + '<(PRODUCT_DIR)/libwidevinecdmadapter.so', + '<(PRODUCT_DIR)/libwidevinecdm.so', ], 'packaging_files_common': [ '<!(which eu-strip)',
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc index 5dfcbcc..c7462488e 100644 --- a/chrome/common/chrome_paths.cc +++ b/chrome/common/chrome_paths.cc
@@ -345,7 +345,7 @@ case chrome::DIR_COMPONENT_WIDEVINE_CDM: if (!PathService::Get(chrome::DIR_USER_DATA, &cur)) return false; - cur = cur.AppendASCII(kWidevineCdmBaseDirectory); + cur = cur.Append(FILE_PATH_LITERAL("WidevineCDM")); break; #endif // defined(WIDEVINE_CDM_IS_COMPONENT) // TODO(xhwang): FILE_WIDEVINE_CDM_ADAPTER has different meanings. @@ -354,7 +354,6 @@ case chrome::FILE_WIDEVINE_CDM_ADAPTER: if (!GetInternalPluginsDirectory(&cur)) return false; - cur = cur.AppendASCII(kWidevineCdmBaseDirectory); cur = cur.AppendASCII(kWidevineCdmAdapterFileName); break; #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS)
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn index c467d74e..9f1422a 100644 --- a/chrome/installer/linux/BUILD.gn +++ b/chrome/installer/linux/BUILD.gn
@@ -220,14 +220,14 @@ if (current_cpu == "x86") { packaging_files_binaries += [ "$root_out_dir/nacl_irt_x86_32.nexe", - "$root_out_dir/WidevineCdm/libwidevinecdmadapter.so", - "$root_out_dir/WidevineCdm/libwidevinecdm.so", + "$root_out_dir/libwidevinecdmadapter.so", + "$root_out_dir/libwidevinecdm.so", ] } else if (current_cpu == "x64") { packaging_files_binaries += [ "$root_out_dir/nacl_irt_x86_64.nexe", - "$root_out_dir/WidevineCdm/libwidevinecdmadapter.so", - "$root_out_dir/WidevineCdm/libwidevinecdm.so", + "$root_out_dir/libwidevinecdmadapter.so", + "$root_out_dir/libwidevinecdm.so", ] } else if (current_cpu == "arm") { packaging_files_binaries += [ "$root_out_dir/nacl_irt_arm.nexe" ]
diff --git a/chrome/installer/linux/common/installer.include b/chrome/installer/linux/common/installer.include index 08e163d..ed85858 100644 --- a/chrome/installer/linux/common/installer.include +++ b/chrome/installer/linux/common/installer.include
@@ -159,14 +159,9 @@ find "${STAGEDIR}/${INSTALLDIR}/locales" -type d -exec chmod 755 '{}' \; # Widevine CDM. - WIDEVINECDM_SRCDIR="${BUILDDIR}/WidevineCdm" - WIDEVINECDM_DESTDIR="${STAGEDIR}/${INSTALLDIR}/WidevineCdm" - if [ -f "${WIDEVINECDM_SRCDIR}/libwidevinecdmadapter.so" ]; then - install -m 755 -d "${WIDEVINECDM_DESTDIR}" - install -m 644 -s "${WIDEVINECDM_SRCDIR}/libwidevinecdmadapter.so" \ - "${WIDEVINECDM_DESTDIR}/" - install -m 644 "${WIDEVINECDM_SRCDIR}/libwidevinecdm.so" \ - "${WIDEVINECDM_DESTDIR}/" + if [ -f "${BUILDDIR}/libwidevinecdmadapter.so" ]; then + install -m 644 -s "${BUILDDIR}/libwidevinecdmadapter.so" "${STAGEDIR}/${INSTALLDIR}/" + install -m 644 "${BUILDDIR}/libwidevinecdm.so" "${STAGEDIR}/${INSTALLDIR}/" fi # ANGLE
diff --git a/chrome/installer/mini_installer/chrome.release b/chrome/installer/mini_installer/chrome.release index 1c5a7f1..1816869d 100644 --- a/chrome/installer/mini_installer/chrome.release +++ b/chrome/installer/mini_installer/chrome.release
@@ -55,7 +55,7 @@ [GOOGLE_CHROME] SecondaryTile.png: %(VersionDir)s\ -WidevineCdm\widevinecdmadapter.dll: %(VersionDir)s\WidevineCdm\ +widevinecdmadapter.dll: %(VersionDir)s\ # # Pepper Flash sub-dir. #
diff --git a/chrome/tools/build/chromeos/FILES.cfg b/chrome/tools/build/chromeos/FILES.cfg index 2363a37f..855cabaf 100644 --- a/chrome/tools/build/chromeos/FILES.cfg +++ b/chrome/tools/build/chromeos/FILES.cfg
@@ -102,20 +102,20 @@ }, # CDM files (each has an adapter and the actual CDM): { - 'filename': 'ClearKeyCdm/libclearkeycdmadapter.so', + 'filename': 'libclearkeycdmadapter.so', 'buildtype': ['dev', 'official'], }, { - 'filename': 'ClearKeyCdm/libclearkeycdm.so', + 'filename': 'libclearkeycdm.so', 'buildtype': ['dev', 'official'], }, { - 'filename': 'WidevineCdm/libwidevinecdmadapter.so', + 'filename': 'libwidevinecdmadapter.so', 'arch': ['32bit', '64bit', 'arm'], 'buildtype': ['official'], }, { - 'filename': 'WidevineCdm/libwidevinecdm.so', + 'filename': 'libwidevinecdm.so', 'arch': ['32bit', '64bit', 'arm'], 'buildtype': ['official'], 'direct_archive': 1,
diff --git a/chrome/tools/build/linux/FILES.cfg b/chrome/tools/build/linux/FILES.cfg index 495701c..2b3b3b97 100644 --- a/chrome/tools/build/linux/FILES.cfg +++ b/chrome/tools/build/linux/FILES.cfg
@@ -109,20 +109,20 @@ }, # CDM files (each has an adapter and the actual CDM): { - 'filename': 'ClearKeyCdm/libclearkeycdmadapter.so', + 'filename': 'libclearkeycdmadapter.so', 'buildtype': ['dev', 'official'], }, { - 'filename': 'ClearKeyCdm/libclearkeycdm.so', + 'filename': 'libclearkeycdm.so', 'buildtype': ['dev', 'official'], }, { - 'filename': 'WidevineCdm/libwidevinecdmadapter.so', + 'filename': 'libwidevinecdmadapter.so', 'arch': ['32bit', '64bit'], 'buildtype': ['official'], }, { - 'filename': 'WidevineCdm/libwidevinecdm.so', + 'filename': 'libwidevinecdm.so', 'arch': ['32bit', '64bit'], 'buildtype': ['official'], 'direct_archive': 1,
diff --git a/chrome/tools/build/win/FILES.cfg b/chrome/tools/build/win/FILES.cfg index 7e224117..08b8f30 100644 --- a/chrome/tools/build/win/FILES.cfg +++ b/chrome/tools/build/win/FILES.cfg
@@ -350,7 +350,7 @@ }, # Widevine CDM adapter files: { - 'filename': 'WidevineCdm/widevinecdmadapter.dll', + 'filename': 'widevinecdmadapter.dll', 'buildtype': ['official'], }, # ANGLE files:
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index b75d623..43e8744 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -8315.0.0 \ No newline at end of file +8325.0.0 \ No newline at end of file
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index 4ff0c76b..3730469 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -74,7 +74,7 @@ "//net", "//net:extras", "//services/shell", - "//services/shell/public/cpp:cpp_for_chromium", + "//services/shell/public/cpp", "//services/shell/public/interfaces", "//services/shell/runner/common", "//services/shell/runner/host:lib",
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn index ec689fbd..5d49764 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -70,7 +70,7 @@ "//media", "//mojo/edk/test:test_support", "//net:test_support", - "//services/shell/public/cpp:cpp_for_chromium", + "//services/shell/public/cpp", "//skia", "//storage/browser", "//storage/common", @@ -465,7 +465,7 @@ "//mojo/public/js", "//mojo/test:test_support", "//net:test_support", - "//services/shell/public/cpp:cpp_for_chromium", + "//services/shell/public/cpp", "//storage/browser", "//testing/gmock", "//testing/gtest",
diff --git a/content/utility/BUILD.gn b/content/utility/BUILD.gn index 04a25df..1c3334b 100644 --- a/content/utility/BUILD.gn +++ b/content/utility/BUILD.gn
@@ -29,7 +29,7 @@ "//mojo/common", "//mojo/public/cpp/bindings", "//services/shell", - "//services/shell/public/cpp:cpp_for_chromium", + "//services/shell/public/cpp", "//services/shell/public/interfaces", "//third_party/WebKit/public:blink_headers", "//third_party/WebKit/public:mojo_bindings",
diff --git a/mash/BUILD.gn b/mash/BUILD.gn index 1e437de..42f43bd 100644 --- a/mash/BUILD.gn +++ b/mash/BUILD.gn
@@ -24,7 +24,6 @@ test("mash_unittests") { deps = [ - "//ash/mus:unittests", "//base", "//base/test:test_config", "//base/test:test_support",
diff --git a/mash/unittests_manifest.json b/mash/unittests_manifest.json index 37ff6fb..07461b1 100644 --- a/mash/unittests_manifest.json +++ b/mash/unittests_manifest.json
@@ -5,9 +5,6 @@ "capabilities": { "required": { "*": { "classes": [ "app" ] }, - "mojo:ash_sysui": { - "interfaces": [ "mash::shelf::mojom::ShelfController" ] - }, "mojo:desktop_wm": { "interfaces": [ "mus::mojom::AcceleratorRegistrar",
diff --git a/media/cdm/external_clear_key_test_helper.cc b/media/cdm/external_clear_key_test_helper.cc index ebdcf7e0..1a2a15e 100644 --- a/media/cdm/external_clear_key_test_helper.cc +++ b/media/cdm/external_clear_key_test_helper.cc
@@ -19,8 +19,6 @@ #define STRINGIFY(X) #X #define MAKE_STRING(X) STRINGIFY(X) -const char kClearKeyCdmBaseDirectory[] = "ClearKeyCdm"; - // File name of the External ClearKey CDM on different platforms. const base::FilePath::CharType kExternalClearKeyCdmFileName[] = #if defined(OS_MACOSX) @@ -42,10 +40,10 @@ void ExternalClearKeyTestHelper::LoadLibrary() { // Determine the location of the CDM. It is expected to be in the same // directory as the current module. - base::FilePath library_dir; - ASSERT_TRUE(PathService::Get(base::DIR_MODULE, &library_dir)); - library_dir = library_dir.AppendASCII(kClearKeyCdmBaseDirectory); - library_path_ = library_dir.Append(kExternalClearKeyCdmFileName); + base::FilePath current_module_dir; + ASSERT_TRUE(PathService::Get(base::DIR_MODULE, ¤t_module_dir)); + library_path_ = + current_module_dir.Append(base::FilePath(kExternalClearKeyCdmFileName)); ASSERT_TRUE(base::PathExists(library_path_)) << library_path_.value(); // Now load the CDM library.
diff --git a/media/cdm/ppapi/BUILD.gn b/media/cdm/ppapi/BUILD.gn index 95f056d..4869c620 100644 --- a/media/cdm/ppapi/BUILD.gn +++ b/media/cdm/ppapi/BUILD.gn
@@ -11,7 +11,6 @@ # "use_vpx". These should be added here if necessary but its not clear if # they are required any more. shared_library("clearkeycdm") { - output_dir = "$root_out_dir/ClearKeyCdm" sources = [ "cdm_file_io_test.cc", "cdm_file_io_test.h", @@ -63,8 +62,6 @@ } ppapi_cdm_adapter("clearkeycdmadapter") { - output_dir = "$root_out_dir/ClearKeyCdm" - # Check whether the plugin's origin URL is valid. defines = [ "CHECK_DOCUMENT_URL" ] deps = [
diff --git a/media/media.gyp b/media/media.gyp index fc6b155..f3387a79 100644 --- a/media/media.gyp +++ b/media/media.gyp
@@ -1327,13 +1327,6 @@ 'sources': [ 'cdm/cdm_adapter_unittest.cc', ], - 'conditions': [ - ['OS == "mac"', { - 'xcode_settings': { - 'LD_RUNPATH_SEARCH_PATHS' : [ '@executable_path/ClearKeyCdm' ], - }, - }] - ], }], ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', { 'sources': [
diff --git a/media/media_cdm.gypi b/media/media_cdm.gypi index 83105e9..5efcb3b 100644 --- a/media/media_cdm.gypi +++ b/media/media_cdm.gypi
@@ -23,7 +23,6 @@ { # GN version: //media/cdm/ppapi:clearkeycdm 'target_name': 'clearkeycdm', - 'product_dir': '<(PRODUCT_DIR)/ClearKeyCdm', 'type': 'none', # TODO(tomfinegan): Simplify this by unconditionally including all the # decoders, and changing clearkeycdm to select which decoder to use @@ -70,7 +69,7 @@ }], ['OS == "mac"', { 'xcode_settings': { - 'DYLIB_INSTALL_NAME_BASE': '@rpath', + 'DYLIB_INSTALL_NAME_BASE': '@loader_path', }, }] ], @@ -116,7 +115,6 @@ { # GN version: //media/cdm/ppapi:clearkeycdmadapter 'target_name': 'clearkeycdmadapter', - 'product_dir': '<(PRODUCT_DIR)/ClearKeyCdm', 'type': 'none', # Check whether the plugin's origin URL is valid. 'defines': ['CHECK_DOCUMENT_URL'], @@ -136,14 +134,9 @@ 'libraries': [ '-lrt', # Built by clearkeycdm. - '<(PRODUCT_DIR)/ClearKeyCdm/libclearkeycdm.so', + '<(PRODUCT_DIR)/libclearkeycdm.so', ], }], - ['OS == "mac"', { - 'xcode_settings': { - 'LD_RUNPATH_SEARCH_PATHS' : [ '@loader_path/.' ], - }, - }] ], }, ],
diff --git a/mojo/public/mojo_application.gni b/mojo/public/mojo_application.gni index 10d0ffe..1c090a88 100644 --- a/mojo/public/mojo_application.gni +++ b/mojo/public/mojo_application.gni
@@ -93,6 +93,7 @@ deps = [ "//mojo/platform_handle:for_shared_library", "//mojo/public/c/system:for_shared_library", + "//services/shell/public/cpp:application_support", ] deps += mojo_deps
diff --git a/services/shell/public/cpp/BUILD.gn b/services/shell/public/cpp/BUILD.gn index 3f859df6..cbfac3a 100644 --- a/services/shell/public/cpp/BUILD.gn +++ b/services/shell/public/cpp/BUILD.gn
@@ -5,19 +5,11 @@ # GYP version: mojo/mojo_base.gyp:mojo_application_base source_set("cpp") { public_deps = [ - ":init_commandline", ":sources", ] } -# Like the target above, but without special commandline initialization that -# apps use. -source_set("cpp_for_chromium") { - public_deps = [ - ":sources", - ] -} - +# TODO(rockot): Rename this to "cpp". source_set("sources") { sources = [ "application_runner.h", @@ -26,7 +18,6 @@ "connection.h", "connector.h", "identity.h", - "initialize_base_and_icu.cc", "interface_binder.h", "interface_factory.h", "interface_factory_impl.h", @@ -50,12 +41,8 @@ "shell_connection_ref.h", ] - deps = [ - "//base", - "//base:i18n", - ] - public_deps = [ + "//base", "//mojo/public/cpp/bindings", "//mojo/public/cpp/system", "//services/shell/public/interfaces", @@ -63,9 +50,16 @@ ] } -source_set("init_commandline") { +source_set("application_support") { sources = [ "lib/init_commandline.cc", + "lib/initialize_base_and_icu.cc", + ] + + deps = [ + "//base", + "//base:i18n", + "//mojo/public/c/system", ] }
diff --git a/services/shell/public/cpp/initialize_base_and_icu.cc b/services/shell/public/cpp/lib/initialize_base_and_icu.cc similarity index 100% rename from services/shell/public/cpp/initialize_base_and_icu.cc rename to services/shell/public/cpp/lib/initialize_base_and_icu.cc
diff --git a/services/shell/shell_public.gyp b/services/shell/shell_public.gyp index 2d4a034..c8b2487 100644 --- a/services/shell/shell_public.gyp +++ b/services/shell/shell_public.gyp
@@ -41,8 +41,6 @@ 'public/cpp/connection.h', 'public/cpp/connector.h', 'public/cpp/identity.h', - 'public/cpp/initialize_base_and_icu.cc', - 'public/cpp/initialize_base_and_icu.h', 'public/cpp/interface_binder.h', 'public/cpp/interface_factory.h', 'public/cpp/interface_factory_impl.h',
diff --git a/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js b/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js index d9d614b..e337b7fc 100644 --- a/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js +++ b/third_party/WebKit/Source/devtools/front_end/common/ModuleExtensionInterfaces.js
@@ -46,19 +46,19 @@ /** * @param {?Object} revealable - * @param {number=} lineNumber + * @param {boolean=} omitFocus */ -WebInspector.Revealer.reveal = function(revealable, lineNumber) +WebInspector.Revealer.reveal = function(revealable, omitFocus) { - WebInspector.Revealer.revealPromise(revealable, lineNumber); + WebInspector.Revealer.revealPromise(revealable, omitFocus); } /** * @param {?Object} revealable - * @param {number=} lineNumber + * @param {boolean=} omitFocus * @return {!Promise.<undefined>} */ -WebInspector.Revealer.revealPromise = function(revealable, lineNumber) +WebInspector.Revealer.revealPromise = function(revealable, omitFocus) { if (!revealable) return Promise.reject(new Error("Can't reveal " + revealable)); @@ -72,7 +72,7 @@ { var promises = []; for (var i = 0; i < revealers.length; ++i) - promises.push(revealers[i].reveal(/** @type {!Object} */ (revealable), lineNumber)); + promises.push(revealers[i].reveal(/** @type {!Object} */ (revealable), omitFocus)); return Promise.race(promises); } } @@ -80,10 +80,10 @@ WebInspector.Revealer.prototype = { /** * @param {!Object} object - * @param {number=} lineNumber + * @param {boolean=} omitFocus * @return {!Promise} */ - reveal: function(object, lineNumber) {} + reveal: function(object, omitFocus) {} } /**
diff --git a/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js b/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js index b6ee0ae..a61d5cb 100644 --- a/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js +++ b/third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js
@@ -1414,18 +1414,7 @@ _handleSelectorClick: function(event) { if (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(/** @type {!MouseEvent} */(event)) && this.navigable && event.target.classList.contains("simple-selector")) { - var index = event.target._selectorIndex; - var cssModel = this._parentPane._cssModel; - var rule = this._style.parentRule; - var header = cssModel.styleSheetHeaderForId(/** @type {string} */(rule.styleSheetId)); - if (!header) { - event.consume(true); - return; - } - var rawLocation = new WebInspector.CSSLocation(header, rule.lineNumberInSource(index), rule.columnNumberInSource(index)); - var uiLocation = WebInspector.cssWorkspaceBinding.rawLocationToUILocation(rawLocation); - if (uiLocation) - WebInspector.Revealer.reveal(uiLocation); + this._navigateToSelectorSource(event.target._selectorIndex, true); event.consume(true); return; } @@ -1433,6 +1422,23 @@ event.consume(true); }, + /** + * @param {number} index + * @param {boolean} focus + */ + _navigateToSelectorSource: function(index, focus) + { + var cssModel = this._parentPane._cssModel; + var rule = this._style.parentRule; + var header = cssModel.styleSheetHeaderForId(/** @type {string} */(rule.styleSheetId)); + if (!header) + return; + var rawLocation = new WebInspector.CSSLocation(header, rule.lineNumberInSource(index), rule.columnNumberInSource(index)); + var uiLocation = WebInspector.cssWorkspaceBinding.rawLocationToUILocation(rawLocation); + if (uiLocation) + WebInspector.Revealer.reveal(uiLocation, !focus); + }, + _startEditingOnMouseEvent: function() { if (!this.editable || this._isSASSStyle()) @@ -1464,6 +1470,8 @@ element.getComponentSelection().setBaseAndExtent(element, 0, element, 1); this._parentPane.setEditingStyle(true); + if (element.classList.contains("simple-selector")) + this._navigateToSelectorSource(0, false); }, /** @@ -2298,14 +2306,16 @@ /** * @param {!Element} element + * @param {boolean=} omitFocus */ - _navigateToSource: function(element) + _navigateToSource: function(element, omitFocus) { - console.assert(this.section().navigable); + if (!this.section().navigable) + return; var propertyNameClicked = element === this.nameElement; var uiLocation = WebInspector.cssWorkspaceBinding.propertyUILocation(this.property, propertyNameClicked); if (uiLocation) - WebInspector.Revealer.reveal(uiLocation); + WebInspector.Revealer.reveal(uiLocation, omitFocus); }, /** @@ -2438,6 +2448,7 @@ this._prompt.addEventListener(WebInspector.TextPrompt.Events.ItemAccepted, applyItemCallback, this); } var proxyElement = this._prompt.attachAndStartEditing(selectElement, blurListener.bind(this, context)); + this._navigateToSource(selectElement, true); proxyElement.addEventListener("keydown", this._editingNameValueKeyDown.bind(this, context), false); proxyElement.addEventListener("keypress", this._editingNameValueKeyPress.bind(this, context), false);
diff --git a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js index 1ec2ecd..92fde8b 100644 --- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js +++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js
@@ -371,7 +371,7 @@ var resource = WebInspector.resourceForURL(message.url); if (resource) { - WebInspector.Revealer.reveal(resource, message.lineNumber); + WebInspector.Revealer.reveal(resource); return this._status.OK(); }
diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js index e479a8a..ee34655c 100644 --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkPanel.js
@@ -617,10 +617,9 @@ /** * @override * @param {!Object} request - * @param {number=} lineNumber * @return {!Promise} */ - reveal: function(request, lineNumber) + reveal: function(request) { if (!(request instanceof WebInspector.NetworkRequest)) return Promise.reject(new Error("Internal error: not a network request"));
diff --git a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js index ca82949..43df4dd 100644 --- a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js +++ b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js
@@ -854,16 +854,15 @@ /** * @override * @param {!Object} resource - * @param {number=} lineNumber * @return {!Promise} */ - reveal: function(resource, lineNumber) + reveal: function(resource) { if (!(resource instanceof WebInspector.Resource)) return Promise.reject(new Error("Internal error: not a resource")); var panel = WebInspector.ResourcesPanel._instance(); WebInspector.inspectorView.setCurrentPanel(panel); - panel.showResource(resource, lineNumber); + panel.showResource(resource); return Promise.resolve(); } }
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js index bc236cff..42ea06e7 100644 --- a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js +++ b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
@@ -536,10 +536,9 @@ /** * @override * @param {!Object} object - * @param {number=} lineNumber * @return {!Promise} */ - reveal: function(object, lineNumber) + reveal: function(object) { console.assert(object instanceof WebInspector.Setting); var setting = /** @type {!WebInspector.Setting} */ (object);
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js b/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js index 19d20dc..6c7627f 100644 --- a/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js +++ b/third_party/WebKit/Source/devtools/front_end/sources/SourcesPanel.js
@@ -172,12 +172,30 @@ { WebInspector.context.setFlavor(WebInspector.SourcesPanel, this); WebInspector.Panel.prototype.wasShown.call(this); + var wrapper = WebInspector.SourcesPanel.WrapperView._instance; + if (wrapper && wrapper.isShowing()) + WebInspector.inspectorView.setDrawerMinimized(true); + this.editorView.setMainWidget(this._sourcesView); }, willHide: function() { WebInspector.Panel.prototype.willHide.call(this); WebInspector.context.setFlavor(WebInspector.SourcesPanel, null); + if (WebInspector.SourcesPanel.WrapperView._instance && WebInspector.SourcesPanel.WrapperView._instance.isShowing()) { + WebInspector.SourcesPanel.WrapperView._instance._showViewInWrapper(); + WebInspector.inspectorView.setDrawerMinimized(false); + } + }, + + /** + * @return {boolean} + */ + _ensureSourcesViewVisible: function() + { + if (WebInspector.SourcesPanel.WrapperView._instance && WebInspector.SourcesPanel.WrapperView._instance.isShowing()) + return true; + return this === WebInspector.inspectorView.setCurrentPanel(this); }, onResize: function() @@ -338,24 +356,34 @@ * @param {!WebInspector.UISourceCode} uiSourceCode * @param {number=} lineNumber 0-based * @param {number=} columnNumber + * @param {boolean=} omitFocus */ - showUISourceCode: function(uiSourceCode, lineNumber, columnNumber) + showUISourceCode: function(uiSourceCode, lineNumber, columnNumber, omitFocus) { - this._showEditor(); - this._sourcesView.showSourceLocation(uiSourceCode, lineNumber, columnNumber); + if (omitFocus) { + var wrapperShowing = WebInspector.SourcesPanel.WrapperView._instance && WebInspector.SourcesPanel.WrapperView._instance.isShowing(); + if (!this.isShowing() && !wrapperShowing) + return; + } else { + this._showEditor(); + } + this._sourcesView.showSourceLocation(uiSourceCode, lineNumber, columnNumber, omitFocus); }, _showEditor: function() { + if (WebInspector.SourcesPanel.WrapperView._instance && WebInspector.SourcesPanel.WrapperView._instance.isShowing()) + return; WebInspector.inspectorView.setCurrentPanel(this); }, /** * @param {!WebInspector.UILocation} uiLocation + * @param {boolean=} omitFocus */ - showUILocation: function(uiLocation) + showUILocation: function(uiLocation, omitFocus) { - this.showUISourceCode(uiLocation.uiSourceCode, uiLocation.lineNumber, uiLocation.columnNumber); + this.showUISourceCode(uiLocation.uiSourceCode, uiLocation.lineNumber, uiLocation.columnNumber, omitFocus); }, /** @@ -1209,13 +1237,14 @@ /** * @override * @param {!Object} uiLocation + * @param {boolean=} omitFocus * @return {!Promise} */ - reveal: function(uiLocation) + reveal: function(uiLocation, omitFocus) { if (!(uiLocation instanceof WebInspector.UILocation)) return Promise.reject(new Error("Internal error: not a ui location")); - WebInspector.SourcesPanel.instance().showUILocation(uiLocation); + WebInspector.SourcesPanel.instance().showUILocation(uiLocation, omitFocus); return Promise.resolve(); } } @@ -1232,13 +1261,14 @@ /** * @override * @param {!Object} rawLocation + * @param {boolean=} omitFocus * @return {!Promise} */ - reveal: function(rawLocation) + reveal: function(rawLocation, omitFocus) { if (!(rawLocation instanceof WebInspector.DebuggerModel.Location)) return Promise.reject(new Error("Internal error: not a debugger location")); - WebInspector.SourcesPanel.instance().showUILocation(WebInspector.debuggerWorkspaceBinding.rawLocationToUILocation(rawLocation)); + WebInspector.SourcesPanel.instance().showUILocation(WebInspector.debuggerWorkspaceBinding.rawLocationToUILocation(rawLocation), omitFocus); return Promise.resolve(); } } @@ -1255,13 +1285,14 @@ /** * @override * @param {!Object} uiSourceCode + * @param {boolean=} omitFocus * @return {!Promise} */ - reveal: function(uiSourceCode) + reveal: function(uiSourceCode, omitFocus) { if (!(uiSourceCode instanceof WebInspector.UISourceCode)) return Promise.reject(new Error("Internal error: not a ui source code")); - WebInspector.SourcesPanel.instance().showUISourceCode(uiSourceCode); + WebInspector.SourcesPanel.instance().showUISourceCode(uiSourceCode, undefined, undefined, omitFocus); return Promise.resolve(); } } @@ -1303,7 +1334,7 @@ handleAction: function(context, actionId) { var panel = WebInspector.SourcesPanel.instance(); - if (panel !== WebInspector.inspectorView.setCurrentPanel(panel)) + if (!panel._ensureSourcesViewVisible()) return false; switch (actionId) { case "debugger.toggle-pause": @@ -1389,3 +1420,51 @@ return WebInspector.SourcesPanel.instance(); } } + +/** + * @constructor + * @extends {WebInspector.VBox} + */ +WebInspector.SourcesPanel.WrapperView = function() +{ + WebInspector.VBox.call(this); + this.element.classList.add("sources-view-wrapper"); + WebInspector.SourcesPanel.WrapperView._instance = this; + this._view = WebInspector.SourcesPanel.instance()._sourcesView; +} + +WebInspector.SourcesPanel.WrapperView.prototype = { + wasShown: function() + { + if (WebInspector.inspectorView.currentPanel() && WebInspector.inspectorView.currentPanel().name !== "sources") + this._showViewInWrapper(); + else + WebInspector.inspectorView.setDrawerMinimized(true); + }, + + willHide: function() + { + WebInspector.inspectorView.setDrawerMinimized(false); + }, + + /** + * @override + * @return {!Element} + */ + defaultFocusedElement: function() + { + return this._view.defaultFocusedElement(); + }, + + focus: function() + { + this._view.focus(); + }, + + _showViewInWrapper: function() + { + this._view.show(this.element); + }, + + __proto__: WebInspector.VBox.prototype +}
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/module.json b/third_party/WebKit/Source/devtools/front_end/sources/module.json index 2d32ec21..b67bab9 100644 --- a/third_party/WebKit/Source/devtools/front_end/sources/module.json +++ b/third_party/WebKit/Source/devtools/front_end/sources/module.json
@@ -324,6 +324,14 @@ "title": "History", "persistence": "temporary", "className": "WebInspector.RevisionHistoryView" + }, + { + "type": "drawer-view", + "name": "sources.quick", + "title": "Quick source", + "persistence": "closeable", + "order": 1000, + "className": "WebInspector.SourcesPanel.WrapperView" } ], "dependencies": [
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js b/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js index 117d64c1..1f5ece2 100644 --- a/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js +++ b/third_party/WebKit/Source/devtools/front_end/ui/UIUtils.js
@@ -785,6 +785,8 @@ { if (WebInspector._glassPane && x && !WebInspector._glassPane.element.isAncestor(x)) return; + if (x && !x.ownerDocument.isAncestor(x)) + return; if (WebInspector._currentFocusElement !== x) WebInspector._previousFocusElement = WebInspector._currentFocusElement; WebInspector._currentFocusElement = x;
diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn index 050f78c2..e2093a58 100644 --- a/third_party/widevine/cdm/BUILD.gn +++ b/third_party/widevine/cdm/BUILD.gn
@@ -67,7 +67,7 @@ copy("widevinecdm") { sources = widevine_cdm_binary_files outputs = [ - "$root_out_dir/WidevineCdm/{{source_file_part}}", + "$root_out_dir/{{source_file_part}}", ] # TODO(jrummell) @@ -77,7 +77,6 @@ assert(!is_chrome_branded, "Branded Chrome should have binary files to copy.") assert(!is_android, "Android should not have enable_pepper_cdms.") shared_library("widevinecdm") { - output_dir = "$root_out_dir/WidevineCdm" sources = [ "//media/cdm/stub/stub_cdm.cc", "//media/cdm/stub/stub_cdm.h", @@ -125,7 +124,6 @@ ppapi_cdm_adapter("widevinecdmadapter") { defines = [] - output_dir = "$root_out_dir/WidevineCdm" deps = [ ":version_h", ":widevinecdm", @@ -133,14 +131,14 @@ ] if (is_linux) { - ldflags = [ rebase_path("$root_out_dir/WidevineCdm/libwidevinecdm.so", - root_build_dir) ] + ldflags = + [ rebase_path("$root_out_dir/libwidevinecdm.so", root_build_dir) ] } else if (is_win) { - ldflags = [ rebase_path("$root_out_dir/WidevineCdm/widevinecdm.dll.lib", - root_build_dir) ] + ldflags = + [ rebase_path("$root_out_dir/widevinecdm.dll.lib", root_build_dir) ] } else if (is_mac) { - ldflags = [ rebase_path("$root_out_dir/WidevineCdm/libwidevinecdm.dylib", - root_build_dir) ] + ldflags = + [ rebase_path("$root_out_dir/libwidevinecdm.dylib", root_build_dir) ] } } } else {
diff --git a/third_party/widevine/cdm/widevine_cdm.gyp b/third_party/widevine/cdm/widevine_cdm.gyp index beb971c..97a416518b 100644 --- a/third_party/widevine/cdm/widevine_cdm.gyp +++ b/third_party/widevine/cdm/widevine_cdm.gyp
@@ -10,7 +10,6 @@ }, 'enable_widevine%': '<(enable_widevine)', 'widevine_cdm_version_h_file%': 'widevine_cdm_version.h', - # TODO(xhwang): Also include manifest.json. 'widevine_cdm_binary_files%': [], 'conditions': [ [ 'branding == "Chrome"', { @@ -87,7 +86,6 @@ { # GN version: //third_party/widevine/cdm:widevinecdmadapter 'target_name': 'widevinecdmadapter', - 'product_dir': '<(PRODUCT_DIR)/WidevineCdm', 'type': 'none', 'conditions': [ [ '(branding == "Chrome" or enable_widevine == 1) and enable_pepper_cdms == 1', { @@ -106,19 +104,19 @@ 'libraries': [ '-lrt', # Copied/created by widevinecdm. - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.so', + '<(PRODUCT_DIR)/libwidevinecdm.so', ], }], [ 'OS == "win"', { 'libraries': [ # Copied/created by widevinecdm. - '<(PRODUCT_DIR)/WidevineCdm/widevinecdm.dll.lib', + '<(PRODUCT_DIR)/widevinecdm.dll.lib', ], }], [ 'OS == "mac"', { 'libraries': [ # Copied/created by widevinecdm. - '<(PRODUCT_DIR)/WidevineCdm/libwidevinecdm.dylib', + '<(PRODUCT_DIR)/libwidevinecdm.dylib', ], }], ], @@ -148,16 +146,17 @@ }], ], 'copies': [{ - 'destination': '<(PRODUCT_DIR)/WidevineCdm', + # TODO(ddorwin): Do we need a sub-directory? We either need a + # sub-directory or to rename manifest.json before we can copy it. + 'destination': '<(PRODUCT_DIR)', 'files': [ '<@(widevine_cdm_binary_files)' ], }], }], [ 'branding != "Chrome" and enable_widevine == 1', { - 'product_dir': '<(PRODUCT_DIR)/WidevineCdm', 'conditions': [ ['os_posix == 1 and OS != "mac"', { 'type': 'loadable_module', - # This causes the binary to be put in <(PRODUCT_DIR)/WidevineCdm + # Note that this causes the binary to be put in PRODUCT_DIR # instead of lib/. This matches what happens in the copy step # above. }],
diff --git a/third_party/widevine/cdm/widevine_cdm_common.h b/third_party/widevine/cdm/widevine_cdm_common.h index 0dafb1e..b5e51939 100644 --- a/third_party/widevine/cdm/widevine_cdm_common.h +++ b/third_party/widevine/cdm/widevine_cdm_common.h
@@ -16,9 +16,6 @@ // This type is used to register the Widevine CDM. const char kWidevineCdmType[] = "Widevine"; -// Widevine CDM files are in a directory with this name. -const char kWidevineCdmBaseDirectory[] = "WidevineCdm"; - // This name is used by UMA. Do not change it! const char kWidevineKeySystemNameForUMA[] = "Widevine";
diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt index 637f14d..120baef 100644 --- a/tools/valgrind/memcheck/suppressions.txt +++ b/tools/valgrind/memcheck/suppressions.txt
@@ -3123,18 +3123,6 @@ fun:_ZN4base4BindIMN7content21ChromeAppCacheServiceEFvRKNS_8FilePathEPNS1_15ResourceContextEPN3net23URLRequestContextGetterE13scoped_refptrIN7storage20SpecialStoragePolicyEEEJPS2_S3_S7_SB_IS9_ESE_EEENS_8CallbackINS_8internal22MakeUnboundRunTypeImplIT_JDpT0_EE4TypeEEESM_DpOSN_ } { - bug_600484 - Memcheck:Leak - fun:_Znw* - fun:_ZN4mojo3edk2js13HandleWrapper6Create* - fun:_ZN3gin9ConverterIN4mojo6Handle* - fun:_ZN3gin11ConvertToV8IN4mojo6Handle* - fun:_ZN3gin10ToV8TraitsIN4mojo6HandleELb0EE14TryConvertToV8* - fun:_ZN3gin14TryConvertToV8IN4mojo6Handle* - fun:_ZN3gin10Dictionary3SetIN4mojo6Handle* - fun:_ZN4mojo3edk2js12_GLOBAL__N_114CreateDataPipe* -} -{ bug_602964 Memcheck:Leak fun:_Znw*