0
Files
android_webview
apps
ash
base
build
build_overrides
buildtools
cc
chrome
chrome_elf
chromecast
chromeos
cloud_print
components
content
courgette
crypto
dbus
device
docs
accessibility
autofill
design
gpu
images
infra
ios
login
media
memory
memory-infra
privacy
process
security
speed
sync
testing
ui
OWNERS
README.md
accessibility.md
ad_tagging.md
adding_to_third_party.md
android_accessing_cpp_enums_in_java.md
android_build_instructions.md
android_cast_build_instructions.md
android_debugging_instructions.md
android_emulator.md
android_logging.md
android_native_libraries.md
android_studio.md
android_test_instructions.md
angle_in_chromium.md
atom.md
bitmap_pipeline.md
browser_view_resizer.md
building_old_revisions.md
callback.md
ccache_mac.md
chrome_os_logging.md
chrome_settings.md
chromedriver_status.md
chromeos_build_instructions.md
chromeos_glossary.md
chromium_browser_vs_google_chrome.md
chromoting_android_hacking.md
cipd.md
cl_respect.md
clang.md
clang_code_coverage_wrapper.md
clang_format.md
clang_static_analyzer.md
clang_tidy.md
clang_tool_refactoring.md
clion_dev.md
closure_compilation.md
cocoa_tips_and_tricks.md
code_coverage.md
code_coverage_in_gerrit.md
code_reviews.md
component_build.md
cr_respect.md
cr_user_manual.md
cygwin_dll_remapping_failure.md
debugging_with_crash_keys.md
disassemble_code.md
documentation_best_practices.md
documentation_guidelines.md
eclipse.md
emacs.md
erc_irc.md
flag_ownership.md
fuchsia_build_instructions.md
fuchsia_gardening.md
fuchsia_sdk_updates.md
get_the_code.md
git_cookbook.md
git_tips.md
google_play_services.md
graphical_debugging_aid_chromium_views.md
gtk_vs_views_gtk.md
gwp_asan.md
how_cc_works.md
how_to_add_your_feature_flag.md
how_to_extend_web_test_framework.md
inlined_stack_traces.md
installation_at_vmware.md
ios_build_instructions.md
ios_infra.md
ios_voiceover.md
ipc_fuzzer.md
jumbo.md
kiosk_mode.md
linux_build_instructions.md
linux_building_debug_gtk.md
linux_cast_build_instructions.md
linux_cert_management.md
linux_chromium_arm.md
linux_chromium_packages.md
linux_crash_dumping.md
linux_debugging.md
linux_debugging_gtk.md
linux_debugging_ssl.md
linux_dev_build_as_default_browser.md
linux_development.md
linux_eclipse_dev.md
linux_graphics_pipeline.md
linux_gtk_theme_integration.md
linux_hw_video_decode.md
linux_minidump_to_core.md
linux_password_storage.md
linux_pid_namespace_support.md
linux_plugins.md
linux_profiling.md
linux_proxy_config.md
linux_running_asan_tests.md
linux_sandbox_ipc.md
linux_sandboxing.md
linux_suid_sandbox.md
linux_suid_sandbox_development.md
linux_sysroot.md
linux_zygote.md
luci_migration_faq.md
mac_build_instructions.md
mojo_and_services.md
mojo_ipc_conversion.md
network_traffic_annotations.md
new_port_policy.md
old_chromoting_build_instructions.md
optimizing_web_uis.md
optional.md
origin_trials_integration.md
ozone_drm_for_linux.md
ozone_overview.md
parsing_test_results.md
piranha_plant.md
profiling.md
profiling_content_shell_on_android.md
proxy_auto_config.md
qtcreator.md
release_branch_guidance.md
retrieving_code_analysis_warnings.md
seccomp_sandbox_crash_dumping.md
servicification.md
static_initializers.md
sublime_ide.md
system_hardening_features.md
tab_helpers.md
test_descriptions.md
threading_and_tasks.md
threading_and_tasks_faq.md
tour_of_luci_ui.md
tpm_quick_ref.md
translation_screenshots.md
updating_clang.md
updating_clang_format_binaries.md
useful_urls.md
user_data_dir.md
user_handle_mapping.md
using_a_linux_chroot.md
using_build_runner.md
vanilla_msysgit_workflow.md
vscode.md
web_tests_linux.md
webui_explainer.md
webui_in_components.md
webview_policies.md
win_cross.md
win_order_files.md
windows_build_instructions.md
windows_split_dll.md
working_remotely_with_android.md
writing_clang_plugins.md
extensions
fuchsia
gin
google_apis
google_update
gpu
headless
infra
ios
ipc
jingle
mash
media
mojo
native_client_sdk
net
pdf
ppapi
printing
remoting
rlz
sandbox
services
skia
sql
storage
styleguide
testing
third_party
tools
ui
url
.clang-format
.eslintrc.js
.git-blame-ignore-revs
.gitattributes
.gitignore
.gn
.vpython
AUTHORS
BUILD.gn
CODE_OF_CONDUCT.md
DEPS
ENG_REVIEW_OWNERS
LICENSE
LICENSE.chromium_os
OWNERS
PRESUBMIT.py
PRESUBMIT_test.py
PRESUBMIT_test_mocks.py
README.md
WATCHLISTS
codereview.settings
src/docs/linux_plugins.md
xiaoyin.l 1003c0bc03 Use HTTPS links for Google domains in docs
Since almost all Google domains support HTTPS, and it is a good practice to
use HTTPS wherever possible, thus in this patch, I changed most HTTP links
to https whose domains are known to support HTTPS well.

Modifications are generated by running these commands in src/docs directory:
sed -i 's/http:\/\/www.chromium.org/https:\/\/www.chromium.org/g' *.md
sed -i 's/http:\/\/developer.android.com/https:\/\/developer.android.com/g' *.md
sed -i 's/http:\/\/dev.chromium.org/https:\/\/dev.chromium.org/g' *.md
sed -i 's/http:\/\/build.chromium.org/https:\/\/build.chromium.org/g' *.md
sed -i 's/http:\/\/src.chromium.org/https:\/\/src.chromium.org/g' *.md
sed -i 's/http:\/\/crbug.com/https:\/\/crbug.com/g' *.md
sed -i 's/http:\/\/groups.google.com/https:\/\/groups.google.com/g' *.md
sed -i 's/http:\/\/cs.chromium.org/https:\/\/cs.chromium.org/g' *.md
sed -i 's/http:\/\/codereview.chromium.org/https:\/\/codereview.chromium.org/g' *.md

BUG=

Review-Url: https://codereview.chromium.org/2545363002
Cr-Commit-Position: refs/heads/master@{#436501}
2016-12-06 02:53:51 +00:00

52 lines
2.1 KiB
Markdown

# Linux Plugins
## Background reading materials
### Plugins in general
* [Gecko Plugin API reference](https://developer.mozilla.org/en/Gecko_Plugin_API_Reference)
-- most important to read
* [Mozilla plugins site](http://www.mozilla.org/projects/plugins/)
* [XEmbed extension](https://developer.mozilla.org/en/XEmbed_Extension_for_Mozilla_Plugins)
-- newer X11-specific plugin API
* [NPAPI plugin guide](http://gplflash.sourceforge.net/gplflash2_blog/npapi.html)
from GPLFlash project
### Chromium-specific
* [Chromium's plugin architecture](https://dev.chromium.org/developers/design-documents/plugin-architecture)
-- may be out of date but will be worth reading
## Code to reference
* [Mozilla plugin code](http://mxr.mozilla.org/firefox/source/modules/plugin/base/src/)
-- useful reference
* [nspluginwrapper](http://gwenole.beauchesne.info//en/projects/nspluginwrapper)
-- does out-of-process plugins itself
## Terminology
* _Internal plugin_: "a plugin that's implemented in the chrome dll, i.e.
there's no external dll that services that mime type. For Linux you'll just
have to worry about the default plugin, which is what shows a puzzle icon
for content that you don't have a plugin for. We use that to allow the user
to download and install the missing plugin."
## Flash
* [Adobe Flash player dev center](http://www.adobe.com/devnet/flashplayer/)
* [penguin.swf](http://blogs.adobe.com/penguin.swf/) -- blog about Flash on
Linux
* [tips and tricks](http://macromedia.mplug.org/) -- user-created page, with
some documentation of special flags in `/etc/adobe/mms.cfg`
* [official Adobe bug tracker](https://bugs.adobe.com/flashplayer/)
## Useful Tools
* `xwininfo -tree` -- lets you inspect the window hierarchy of a window and
get the layout of child windows.
* "[DiamondX](http://multimedia.cx/diamondx/) is a simple NPAPI plugin built
to run on Unix platforms and exercise the XEmbed browser extension."
* To build a 32-bit binary:
`./configure CFLAGS='-m32' LDFLAGS='-L/usr/lib32 -m32'`