cef/libcef/browser/extensions/pdf_extension_util.cc
Marshall Greenblatt 8da8a4fbf1 Update to Chromium revision 12bfc336 (#338390).
- The ffmpeg library is now statically linked (see https://codereview.chromium.org/1141703002).
- Off-screen rendering of the PDF viewer does not work in combination with surfaces. Pass the
  `--disable-surfaces` command-line flag if GPU is enabled (see https://codereview.chromium.org/1169983006).
2015-07-24 16:11:13 -04:00

55 lines
1.7 KiB
C++

// Copyright 2015 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 "libcef/browser/extensions/pdf_extension_util.h"
#include "base/strings/string_util.h"
#include "chrome/common/chrome_switches.h"
#include "grit/cef_resources.h"
#include "ui/base/resource/resource_bundle.h"
namespace extensions {
namespace pdf_extension_util {
namespace {
// Tags in the manifest to be replaced.
const char kNameTag[] = "<NAME>";
const char kIndexTag[] = "<INDEX>";
// The index html pages to load for the material and non-material version of
// the viewer.
const char kRegularIndex[] = "index.html";
const char kMaterialIndex[] = "index-material.html";
} // namespace
// These should match the keys for the Chrome and Chromium PDF Viewer entries in
// chrome/browser/resources/plugin_metadata/plugins_*.json.
#if defined(GOOGLE_CHROME_BUILD)
const char kPdfResourceIdentifier[] = "google-chrome-pdf";
#else
const char kPdfResourceIdentifier[] = "chromium-pdf";
#endif
const char kPdfPluginName[] = "Chromium PDF Viewer";
std::string GetManifest() {
std::string manifest_contents =
ResourceBundle::GetSharedInstance().GetRawDataResource(
IDR_PDF_MANIFEST).as_string();
DCHECK(manifest_contents.find(kNameTag) != std::string::npos);
base::ReplaceFirstSubstringAfterOffset(
&manifest_contents, 0, kNameTag, kPdfPluginName);
DCHECK(manifest_contents.find(kIndexTag) != std::string::npos);
std::string index = switches::PdfMaterialUIEnabled() ?
kMaterialIndex : kRegularIndex;
base::ReplaceSubstringsAfterOffset(&manifest_contents, 0, kIndexTag, index);
return manifest_contents;
}
} // namespace pdf_extension_util
} // namespace extensions