summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins
Commit message (Collapse)AuthorAgeFilesLines
* We need to set the clipping region of the HDC passed in to a windowless ↵ananta@chromium.org2009-03-274-25/+39
| | | | | | | | | | | | | | | | | | flash plugin instance in NPP_HandleEvent for WM_PAINT. The windowless flash plugin instance queries the clipping region of the DC and on not finding it proceeds to paint the plugin window rect, which causes unnecessary CPU spikes. This fixes bug http://code.google.com/p/chromium/issues/detail?id=8835, where the plugin process would consume CPU even when we scrolled down to the static video images. With this fix the CPU usage for windowless flash plugins is on par with Firefox. Added a uitest which validates whether the hdc passed in to HandleEvent for WM_PAINT has a valid clipping region. Bug=8835 Review URL: http://codereview.chromium.org/53106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12651 0039d316-1c4b-4281-b951-d872f2087c98
* Expose whether we're in private browsing mode to plugins.I chose to ↵jam@chromium.org2009-03-265-1/+103
| | | | | | | | | implement this for multi-process mode only and not --single-process or --in-process-plugins, since I wanted to send this data from the browser process, not the renderer (in case it's exploited). BUG=158 Review URL: http://codereview.chromium.org/52037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12588 0039d316-1c4b-4281-b951-d872f2087c98
* Report the plugin position to windowed plugins as (0,0)jam@chromium.org2009-03-263-22/+31
| | | | | | | | | | . the NPAPI documentation says it should be reported relative to the parent HWND, which is the plugin's coordinates on the page. This assumption breaks in Chrome because we have an intermediate HWND. I've tested on a bunch of pages to see if this change causes regressions, if we find any in the future we can reconsider this. BUG=6742 Review URL: http://codereview.chromium.org/42626 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12587 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unneeded uses of base/ref_counted.h.thestig@chromium.org2009-03-181-1/+0
| | | | | | Review URL: http://codereview.chromium.org/48105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11974 0039d316-1c4b-4281-b951-d872f2087c98
* Basic windowless plugins, try 2.evan@chromium.org2009-03-135-46/+119
| | | | | | | | | | | In response to Dean's comment on http://codereview.chromium.org/39105, I redid that patch to put the X munging into the plugin implementation. This won't work for multiproc, but it's near the correct place and many things will need to be changed for multiproc. Review URL: http://codereview.chromium.org/42056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11674 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unneeded includes of base/scoped_ptr.h. Reduce usage from ~800 files ↵thestig@chromium.org2009-03-131-1/+0
| | | | | | | | to ~400. Review URL: http://codereview.chromium.org/46039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11651 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging.h from cc files that don't use it.thestig@chromium.org2009-03-121-1/+0
| | | | | | Review URL: http://codereview.chromium.org/42155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11593 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-1146-57/+0
| | | | | | | | | Normalize end of file newlines in webkit/. All files end in a single newline. Review URL: http://codereview.chromium.org/42070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11443 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call AddStream twice for manual responses.jam@chromium.org2009-03-041-1/+0
| | | | | | Review URL: http://codereview.chromium.org/39045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10851 0039d316-1c4b-4281-b951-d872f2087c98
* Minor cleanup in webkit/glue:darin@chromium.org2009-03-021-0/+1
| | | | | | | | | | | | | | | - created dom_operations_private.h for things that mention WebCore types that are only needed within webkit/glue. - moved contents of webkit_glue.h to the right locations. - moved FilePath::StringType <-> WebString conversion out of glue_util into webkit_glue since it is part of the public API. - minimized includes in webkit_glue.h R=dglazkov Review URL: http://codereview.chromium.org/27351 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10747 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side to implement WebMimeRegistry.darin@chromium.org2009-02-261-2/+2
| | | | | | | | R=dglazkov Review URL: http://codereview.chromium.org/27222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10532 0039d316-1c4b-4281-b951-d872f2087c98
* Try a new approach to fixing IAT unpatch crashes when the DLL is gone.deanm@chromium.org2009-02-262-9/+3
| | | | | | | | | | | | Have the IAT patcher take some "ownership" of the DLL, by taking a library name and then calling LoadLibrary() / FreeLibrary() to manage the reference count. This means as long is there isn't some other reference count balancing bug happening in the process, the DLL will never be unloaded while we are patched. This effectively reverts r9929, the VirtualQuery additional checks are removed. BUG=7701 Review URL: http://codereview.chromium.org/21453 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10467 0039d316-1c4b-4281-b951-d872f2087c98
* We allow Flash to popup windows in response to user gesture messages like ↵ananta@chromium.org2009-02-241-2/+9
| | | | | | | | | | | | | | | WM_LBUTTONUP, etc. However we need to reset the popup stack in a timer, as Flash typically brings up these windows in a posted 0x401 message. This is on the same lines as the webkit plugin implementation. This fixes http://code.google.com/p/chromium/issues/detail?id=7850 Bug=7850 Review URL: http://codereview.chromium.org/29004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10308 0039d316-1c4b-4281-b951-d872f2087c98
* Add NPAPI plugins contained in extensions to the PluginList.mpcomplete@google.com2009-02-212-4/+26
| | | | | | Review URL: http://codereview.chromium.org/20521 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10139 0039d316-1c4b-4281-b951-d872f2087c98
* Display windowless plugins on Linux as windowed.deanm@chromium.org2009-02-201-0/+7
| | | | | | | | | Until we properly support windowless plugins, tell plugins that we don't support windowless. The plugins will have to be windowed for now. This allows a lot of wmode flash to play, instead of trying to be windowless and failing. Review URL: http://codereview.chromium.org/20418 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10088 0039d316-1c4b-4281-b951-d872f2087c98
* Include what you use in plugin_list_mac.mm.mark@chromium.org2009-02-181-0/+2
| | | | | | Review URL: http://codereview.chromium.org/21469 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9976 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce the amount of included header files. Vast change like in "Oh God! ↵maruel@chromium.org2009-02-181-0/+1
| | | | | | | | This revision changes half of the source files!". Review URL: http://codereview.chromium.org/20378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9958 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my SetWindow(NULL) change in r9653.deanm@chromium.org2009-02-172-5/+16
| | | | | | | | | | | | | I am told we don't want to change any NPAPI behavior on Windows, and that we should try to match Safari's behavior. This change is neccessary for plugins on Linux, so the code will have to be forked and this patch reapplied. This is a little more than a plain revert, since r9692 moved around some code. Review URL: http://codereview.chromium.org/21405 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9873 0039d316-1c4b-4281-b951-d872f2087c98
* Match the Windows plugin moving/sizing behavior on Linux.deanm@chromium.org2009-02-153-18/+28
| | | | | | | | | | | | | This keep the sizing operations in WebPluginDelegateImpl, and does the moving in DidMove. This more or less matches what currently happens on Windows. Add a comment explaining this situation better. Add some random comments and small code cleanup. Remove the flash useragent spoofing hack on non-Windows, we don't need to worry about this for now. Review URL: http://codereview.chromium.org/20304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9843 0039d316-1c4b-4281-b951-d872f2087c98
* Change mime type utils to operate on platform-specific string types for ↵estade@chromium.org2009-02-141-1/+6
| | | | | | | | filenames/file extensions. Review URL: http://codereview.chromium.org/21327 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9809 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of small nits to help to split off webkit.dll.maruel@chromium.org2009-02-124-31/+15
| | | | | | | | | - Stop directly referencing WebPluginDelegateImpl. - Make the password manager to not allocation the data on heap. - Remove some unneeded includes. Review URL: http://codereview.chromium.org/20208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9692 0039d316-1c4b-4281-b951-d872f2087c98
* Match Firefox by not calling SetWindow(NULL) on plugin destruction.deanm@chromium.org2009-02-123-25/+13
| | | | | | | | This matches the behavior of Firefox on Windows and Linux. This change is especially important for plugin compatability on Linux. This also nicely removes a quirk mode. Review URL: http://codereview.chromium.org/21290 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9653 0039d316-1c4b-4281-b951-d872f2087c98
* Add an #if around user_gesture_msg_factory_ to unbreak the Linuxamanda@chromium.org2009-02-111-0/+2
| | | | | | | | | build, add another missed file (plugin_impl_mac.h) to unbreak the Mac build. Review URL: http://codereview.chromium.org/21245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9561 0039d316-1c4b-4281-b951-d872f2087c98
* Forgot webplugin_delegate_impl_mac.cc in r9558amanda@chromium.org2009-02-111-0/+457
| | | | | | Review URL: http://codereview.chromium.org/21244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9560 0039d316-1c4b-4281-b951-d872f2087c98
* Checkpoint of plugin support code for Mac. Does not work yet; being checkedamanda@chromium.org2009-02-112-26/+56
| | | | | | | | in to help stay in sync with linux plugin mods and ensure that it doesn't break Windows plugins. Review URL: http://codereview.chromium.org/21095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9558 0039d316-1c4b-4281-b951-d872f2087c98
* This changes the approach for our webkit widget area, from using a custom ↵deanm@chromium.org2009-02-091-4/+57
| | | | | | | | | | | | | | | | | | | | | GtkContainer to a GtkFixed container. Our previous custom container did not track its children, which meant it couldn't propagate size-request and size-allocate. In some ways this is what we wanted, however it prevented GtkSocket from running some important code. Specifically an expose event wouldn't trigger initially on the GtkSocket, leaving the widget window unpainted. Instead of writing / copying container code to manage children, it is much easier if we can reuse an existing container. This changes makes the drawing area a GtkFixed backed by a GdkWindow, and we paint into its window. We implement a small custom widget around GtkSocket, which allows us to control the size requisition phase. This solves the problem of controlling the GtkSocket layout within the container. Plugins are now painted correctly, without having to jiggle the scrollbar. This change additionally groups all of the widget code in a class of statics. GtkFixedSocket implements the GtkSocket with custom size requisition. WebWidgetHostGtkWidget is just a GtkFixed with a window, along with the signal connection handlers. This also means we'll have no custom container implementation to share across test_shell and the browser. It seems we still don't handle keyboard focus exactly right, and youtube videos still need mouse events to repaint. I believe these are subtle issues, and can be solved while keeping the GtkFixed container approach. Review URL: http://codereview.chromium.org/20128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9407 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging to NP_Initialize and CP_Initialize to try to figure out why gearsmpcomplete@google.com2009-02-061-0/+4
| | | | | | | is failing to load. Review URL: http://codereview.chromium.org/21138 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9348 0039d316-1c4b-4281-b951-d872f2087c98
* The final bits needed so we can navigate away from Flash pages without ↵evan@chromium.org2009-02-052-39/+28
| | | | | | | | | | | | | | crashing. Also fixes the plugin positioning. We needed to catch plug-removed and return TRUE, as well as implement a bit more of the GtkContainer API. Also, Flash seems to crash no matter what when I call the SetWindow with a NULL window, so don't do that for now. (It can be revisited once that code is remerged.) Review URL: http://codereview.chromium.org/22003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9274 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the WanWang protocol handler plugin (npww.dll) as it crashes during ↵ananta@chromium.org2009-02-051-0/+8
| | | | | | | | | | | | shutdown. This fixes bug http://code.google.com/p/chromium/issues/detail?id=3953 Bug=3953 Review URL: http://codereview.chromium.org/20087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9224 0039d316-1c4b-4281-b951-d872f2087c98
* Get windowed plugins (Flash) limping along on Linux.evan@chromium.org2009-02-043-6/+643
| | | | | | | | | | | We still crash when you navigate away from the page. (PS: the plan is to unfork the _gtk.cc file once it gets closer to what we want, so you don't need to look at that too closely. I just wanted to check in what I have since it's getting big.) Review URL: http://codereview.chromium.org/19413 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9170 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds macro used to track the creation and destructionjcampan@chromium.org2009-02-041-0/+5
| | | | | | | | | | | of HWNDs, in an attempt to detect potential double-delete. A double-delete of a HWND might be responsible for the crasher http://crbug.com/4714 Note: this CL was previously committed and reverted because it broke the sandbox integration module. Review URL: http://codereview.chromium.org/21032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9161 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9109.ojan@google.com2009-02-031-5/+0
| | | | | | | Broke the build. Review URL: http://codereview.chromium.org/20029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9110 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds macro used to track the creation and destructionjcampan@chromium.org2009-02-031-0/+5
| | | | | | | | | | | | of HWNDs, in an attempt to detect potential double-delete. A double-delete of a HWND might be responsible for the crasher http://crbug.com/4714 Review URL: http://codereview.chromium.org/21018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9109 0039d316-1c4b-4281-b951-d872f2087c98
* Move proxy resolve requests out of plugin/renderer process, and into the ↵ericroman@google.com2009-01-311-50/+2
| | | | | | | | browser. Review URL: http://codereview.chromium.org/14142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9006 0039d316-1c4b-4281-b951-d872f2087c98
* Rearrange plugin entry points code to abstract out Linux.evan@chromium.org2009-01-306-72/+87
| | | | | | | Review URL: http://codereview.chromium.org/19488 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8943 0039d316-1c4b-4281-b951-d872f2087c98
* Maintain a local/global stack for the global WebPluginDelegateImpl instance ↵ananta@chromium.org2009-01-291-6/+17
| | | | | | | | | | | | | | | | | | | pointer. Based on the crash dump, the crash occurs in the windows message filter hook, used for tracking whether the plugin enters a modal loop. The global plugin instance pointer gets reset to NULL in the windowed plugin wndproc and HandleEvent. If these events occur in nested order, then it is quite possible for the plugin instance pointer to get set to NULL incorrectly. Added a check for whether this pointer is NULL in the message filter hook along with a NOTREACHED statement. We maintain a local global stack to ensure that the plugin instance pointer gets set/reset correctly. The bug is http://code.google.com/p/chromium/issues/detail?id=6703 The other issue being fixed is to set the modal_loop_pump_messages_event coming in from the plugin in WebPluginDelegateProxy correctly. This caused the plugin to not receive events when it enters a modal loop like a context menu. Bug=6703 Review URL: http://codereview.chromium.org/19444 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8914 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression from my previous plugin change where internal plugins didn't ↵jam@chromium.org2009-01-292-11/+8
| | | | | | | | get loaded correctly. Review URL: http://codereview.chromium.org/19676 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8912 0039d316-1c4b-4281-b951-d872f2087c98
* Make adding internal plugins easier (and allow it to be dynamic). This code ↵jam@chromium.org2009-01-298-235/+219
| | | | | | | | also cleans up the internal plugin handling some more. Review URL: http://codereview.chromium.org/19443 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8855 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the ctor since it's in the shared file.thomasvl@chromium.org2009-01-281-4/+0
| | | | | | Review URL: http://codereview.chromium.org/19634 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8818 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for UA spoofing, and spoof Safari's UA string when loading URLsdarin@chromium.org2009-01-271-1/+1
| | | | | | | | | | | from *.mail.live.com (to fix hotmail). BUG=4111 R=wtc Review URL: http://codereview.chromium.org/19025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8764 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to fix a IAT unpatch crash.deanm@chromium.org2009-01-242-58/+58
| | | | | | | | | | | | | The IAT destructor (which will unpatch) now should run at AtExitManager shutdown, which is before we return from main(). It was a static constructor (bad), which registers an atexit() destructor which happens sometime during ExitProcess / LdrShutdown. Also this removes some static constructors (the iat patchers, the throttle_queue, etc). I removed a StatsCounter completely, removing its static initializer. BUG=6886 Review URL: http://codereview.chromium.org/18712 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8613 0039d316-1c4b-4281-b951-d872f2087c98
* Load plugin metadata (mime types, etc.) on Linux.evan@chromium.org2009-01-242-28/+63
| | | | | | | | | Verified to work with at least Flash 10. Review URL: http://codereview.chromium.org/18571 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8600 0039d316-1c4b-4281-b951-d872f2087c98
* Install the npapi_test_plugin in the same way we did the layout_test one.evan@chromium.org2009-01-231-1/+3
| | | | | | | Review URL: http://codereview.chromium.org/18563 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8582 0039d316-1c4b-4281-b951-d872f2087c98
* Linux plugin loader loads and unloads .so files.evan@chromium.org2009-01-231-5/+45
| | | | | | | Review URL: http://codereview.chromium.org/18539 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8535 0039d316-1c4b-4281-b951-d872f2087c98
* Do the SCons hackery necessary to get the test plugin in the right directory.evan@chromium.org2009-01-231-3/+8
| | | | | | | Review URL: http://codereview.chromium.org/18696 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8530 0039d316-1c4b-4281-b951-d872f2087c98
* Mac default plugin.avi@chromium.org2009-01-224-82/+108
| | | | | | Review URL: http://codereview.chromium.org/18394 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8512 0039d316-1c4b-4281-b951-d872f2087c98
* Build some basic plugin code on Linux.evan@chromium.org2009-01-224-8/+101
| | | | | | | | | Mostly style tweaks as I read some files, and some NOTIMPLEMENTED stubs. Review URL: http://codereview.chromium.org/18685 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8508 0039d316-1c4b-4281-b951-d872f2087c98
* More speedup of scrolling when many windowed plugins in a page. Scrolling ↵jam@chromium.org2009-01-222-1/+36
| | | | | | | | | | | | is now at parity with single process browsers in my testing. This works by making painting of child windows asynchronous. The key is to send, not post, the custom message. This allows the redraw message to jump the queue and get dispatched before other queued [Windows, IPC] messages, which eliminates painting artifacts. Now that painting is asynchronous, I had to take out the SWP_NOREDRAW flag to DeferWindowPos. While it's slightly faster without it, the visual aritfacts are noticable. Review URL: http://codereview.chromium.org/18637 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8432 0039d316-1c4b-4281-b951-d872f2087c98
* Some cleanup to the PluginList Singleton.deanm@chromium.org2009-01-212-31/+35
| | | | | | | | | | | | | - Remove unneeded ref counting. - Remove a static constructor (scoped_refptr). - Remove a leak (extra_plugin_paths_). This slightly changes the code, since PlatformInit could be called before Singleton, via AddExtraPluginPaths. I don't think this should be a problem. Review URL: http://codereview.chromium.org/18454 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8382 0039d316-1c4b-4281-b951-d872f2087c98