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

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}
52 lines
2.1 KiB
Markdown
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'`
|