Description: try alternative locations for libwidevinecdm.so:
  - $HOME/.local/lib/ (snap-friendly, see https://launchpad.net/bugs/1738149)
  - /opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/ (installed by official google chrome package)
Author: Olivier Tilloy <olivier.tilloy@canonical.com>

--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
@@ -377,6 +377,22 @@ bool PathProvider(int key, base::FilePat
     // TODO(crbug.com/663554): Remove this after component updated CDM is
     // supported on Linux and ChromeOS.
     case chrome::FILE_WIDEVINE_CDM:
+      base::PathService::Get(base::DIR_HOME, &cur);
+      cur =
+          cur.Append(
+                 FILE_PATH_LITERAL(".local/lib"))
+              .AppendASCII(base::GetNativeLibraryName(kWidevineCdmLibraryName));
+      if (base::PathExists(cur)) {
+        break;
+      }
+      cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome"));
+      cur =
+          cur.Append(
+                 media::GetPlatformSpecificDirectory(kWidevineCdmBaseDirectory))
+              .AppendASCII(base::GetNativeLibraryName(kWidevineCdmLibraryName));
+      if (base::PathExists(cur)) {
+        break;
+      }
       if (!GetComponentDirectory(&cur))
         return false;
       cur =
