| Index: content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java b/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java
|
| deleted file mode 100644
|
| index 4db35fe6122214f7a3085f8dfbd037bc523b79e9..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/PepperPluginManager.java
|
| +++ /dev/null
|
| @@ -1,130 +0,0 @@
|
| -// Copyright 2013 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.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -import android.content.Context;
|
| -import android.content.Intent;
|
| -import android.content.pm.ApplicationInfo;
|
| -import android.content.pm.PackageInfo;
|
| -import android.content.pm.PackageManager;
|
| -import android.content.pm.PackageManager.NameNotFoundException;
|
| -import android.content.pm.ResolveInfo;
|
| -import android.content.pm.ServiceInfo;
|
| -import android.os.Bundle;
|
| -import android.util.Log;
|
| -
|
| -import java.util.List;
|
| -
|
| -/**
|
| - * {@link PepperPluginManager} collects meta data about plugins from preloaded android apps
|
| - * that reply to PEPPERPLUGIN intent query.
|
| - */
|
| -public class PepperPluginManager {
|
| -
|
| - private static final String LOGTAG = "PepperPluginManager";
|
| -
|
| - /**
|
| - * Service Action: A plugin wishes to be loaded in the ContentView must
|
| - * provide {@link android.content.IntentFilter IntentFilter} that accepts
|
| - * this action in its AndroidManifest.xml.
|
| - */
|
| - public static final String PEPPER_PLUGIN_ACTION = "org.chromium.intent.PEPPERPLUGIN";
|
| - public static final String PEPPER_PLUGIN_ROOT = "/system/lib/pepperplugin/";
|
| -
|
| - // A plugin will specify the following fields in its AndroidManifest.xml.
|
| - private static final String FILENAME = "filename";
|
| - private static final String MIMETYPE = "mimetype";
|
| - private static final String NAME = "name";
|
| - private static final String DESCRIPTION = "description";
|
| - private static final String VERSION = "version";
|
| -
|
| - private static String getPluginDescription(Bundle metaData) {
|
| - // Find the name of the plugin's shared library.
|
| - String filename = metaData.getString(FILENAME);
|
| - if (filename == null || filename.isEmpty()) {
|
| - return null;
|
| - }
|
| - // Find the mimetype of the plugin. Flash is handled in getFlashPath.
|
| - String mimetype = metaData.getString(MIMETYPE);
|
| - if (mimetype == null || mimetype.isEmpty()) {
|
| - return null;
|
| - }
|
| - // Assemble the plugin info, according to the format described in
|
| - // pepper_plugin_list.cc.
|
| - // (eg. path<#name><#description><#version>;mimetype)
|
| - StringBuffer plugin = new StringBuffer(PEPPER_PLUGIN_ROOT);
|
| - plugin.append(filename);
|
| -
|
| - // Find the (optional) name/description/version of the plugin.
|
| - String name = metaData.getString(NAME);
|
| - String description = metaData.getString(DESCRIPTION);
|
| - String version = metaData.getString(VERSION);
|
| -
|
| - if (name != null && !name.isEmpty()) {
|
| - plugin.append("#");
|
| - plugin.append(name);
|
| - if (description != null && !description.isEmpty()) {
|
| - plugin.append("#");
|
| - plugin.append(description);
|
| - if (version != null && !version.isEmpty()) {
|
| - plugin.append("#");
|
| - plugin.append(version);
|
| - }
|
| - }
|
| - }
|
| - plugin.append(';');
|
| - plugin.append(mimetype);
|
| -
|
| - return plugin.toString();
|
| - }
|
| -
|
| - /**
|
| - * Collects information about installed plugins and returns a plugin description
|
| - * string, which will be appended to for command line to load plugins.
|
| - *
|
| - * @param context Android context
|
| - * @return Description string for plugins
|
| - */
|
| - public static String getPlugins(final Context context) {
|
| - StringBuffer ret = new StringBuffer();
|
| - PackageManager pm = context.getPackageManager();
|
| - List<ResolveInfo> plugins = pm.queryIntentServices(
|
| - new Intent(PEPPER_PLUGIN_ACTION),
|
| - PackageManager.GET_SERVICES | PackageManager.GET_META_DATA);
|
| - for (ResolveInfo info : plugins) {
|
| - // Retrieve the plugin's service information.
|
| - ServiceInfo serviceInfo = info.serviceInfo;
|
| - if (serviceInfo == null || serviceInfo.metaData == null ||
|
| - serviceInfo.packageName == null) {
|
| - Log.e(LOGTAG, "Can't get service information from " + info);
|
| - continue;
|
| - }
|
| -
|
| - // Retrieve the plugin's package information.
|
| - PackageInfo pkgInfo;
|
| - try {
|
| - pkgInfo = pm.getPackageInfo(serviceInfo.packageName, 0);
|
| - } catch (NameNotFoundException e) {
|
| - Log.e(LOGTAG, "Can't find plugin: " + serviceInfo.packageName);
|
| - continue;
|
| - }
|
| - if (pkgInfo == null ||
|
| - (pkgInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
|
| - continue;
|
| - }
|
| - Log.i(LOGTAG, "The given plugin package is preloaded: " + serviceInfo.packageName);
|
| -
|
| - String plugin = getPluginDescription(serviceInfo.metaData);
|
| - if (plugin == null) {
|
| - continue;
|
| - }
|
| - if (ret.length() > 0) {
|
| - ret.append(',');
|
| - }
|
| - ret.append(plugin);
|
| - }
|
| - return ret.toString();
|
| - }
|
| -}
|
|
|