| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
BUG=28292
TEST=none
Patch by neb@chromium.org
Original review: http://codereview.chromium.org/524006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36043 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
device types. Implement a stub of the 3D device API. Fix style in some of the
plugin related code.
TEST=run the pepper_test_plugin
BUG=none
Review URL: http://codereview.chromium.org/468012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33989 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
part of a fix which would allow to inspect plugin resources.
BUG=2084
Review URL: http://codereview.chromium.org/435044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33672 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also adds the npapi headers to the npapi.gyp file since I got tired of
Visual Studio not finding the files.
This removes the "open file in sandbox" feature which it doesn't look like we
will use.
One more significant change is that I changed to including pepper.h in all
cases, even when pepper is disabled. We used to have a forward declare in
npapi.h for the structs in question, but we'll be adding a lot more structs for
the different contexts and I don't think this will scale. I think its OK fo
rthe pepper API declarations to be available when Pepper isn't enabled.
BUT=none
TEST=none
Review URL: http://codereview.chromium.org/453015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33501 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This mega patch contains a few simple but tightly dependent changes:
1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org.
2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion.
3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp.
4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch.
Review URL: http://codereview.chromium.org/387020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only paint portions of their backing store.
This also implements correct memory management on the chrome side. We can now
supply more than one backing store, and will delete them properly when requested
by the plugin.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/371093
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31620 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
does not implement the actual opening of the files (currently the chain ends in
resource_message_filter.cc), I will do that separately with some additional
security review. This current patch just gets the synchronous request to the
browser and returns a NULL result.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/340050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
I am splitting out the pepper-specific portions of npapi.h.
This is because his code currently relies on a version
of npapi.h different from third_party\npapi\bindings.
Review URL: http://codereview.chromium.org/343069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30671 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using SkCanvas instead of an HDC. This way, the pepper implementation can use
the more advanced blending of SkCanvas and avoid the Windows API.
I did some refactoring in the standard plugin implementation to support this
and make it as clean as I could. Hopefully the code is slightly clearer than
before.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/306027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29897 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
code from chrome\common.
Also added canvas support and hooked up NPAPI interface functions.
No tests have been added yet, so this is probably not fully ready.
Review URL: http://codereview.chromium.org/291001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29380 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
app/gfx in preparation for removing the base_gfx project. This also moves
base/window_impl.cc to app/win/window_impl because this file shouldn't be in
base.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/273017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28691 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
implemented in both the mac-specific file and the shared one, and several
virtual functiongs that were never derived for anything.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/267017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28359 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first is that we need to disable windowless mode since it doesn't work in the NPAPI plugin (Safari does this as well, and sites don't use windowless for Firefox). The second is to make UpdateGeometry message synchronous for WMP. The problem I saw was that while handling that message, the plugin might disaptch a NPObject Invoke method to play a video, which WMP doesn't expect and it leads to the video never playing.
While touching these files, I made some small cleanup by reverting the change that made WebPluginProxy not have a WebPluginDelegateImpl pointer, which added a bunch of unnecessary methods to WebPluginDelegate.
BUG=20259
TEST=use --no-activex and try playing the videos on http://www.nana10.co.il/Section/?SectionID=10847&sid=235
Review URL: http://codereview.chromium.org/196012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25433 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduces WebPluginPageDelegate to hold the methods that only
existed on WebViewDelegate to allow WebPluginImpl to talk to the
RenderView. This enables us to eliminate those methods from
WebViewDelegate, which eliminates the last dependency on gfx/
native_widget_types.h in our WebKit interface!
WebViewDelegate grows a CreatePlugin method that returns a
WebKit::WebPlugin. It loses its CreatePluginDelegate method,
which now lives on WebPluginPageDelegate.
This change makes RenderView use WeakPtr when it hands itself to
each WebPluginDelegateProxy and WebPluginImpl instance. This
makes the memory management simpler.
This change also moves various WebPlugin* interfaces defined in
webkit/glue into the webkit_glue namespace. This was to help
reduce confusion with similarly named types in the WebKit
namespace.
WebKit::WebPluginParams is added to contain the set of parameters
used to construct a plugin.
WebPluginContainer gets a couple more methods to allow us to avoid
WebCore dependencies in WebPluginImpl.
R=jam
BUG=10036
TEST=none
Review URL: http://codereview.chromium.org/181014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25184 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL eliminates direct calls to WebPluginDelegate::DidFinishLoadWithReason
from WebFrameLoaderClient.
This CL also moves WebDataSourceImpl into webkit/api/src. That change was
needed so that WebPluginContainerImpl can add a WebPluginLoadObserver to it,
which WebFrameLoaderClient uses to communicate back to the WebPlugin upon
completion of the frame load.
WebViewDelegate::DidFinishLoadWithReason is modified to include url and
notify_data parameters, eliminating the URLRequestRouted method. This is done
so that we can support overlapping NPN_GetURLNotify targetting different
frames.
WebPluginContainer grows an executeScriptURL method to deal with javascript:
URLs.
NOTE: I'm working on some UI tests to better cover the case of overlapping
NPN_GetURLNotify calls.
R=jam
BUG=10036
TEST=none yet
Review URL: http://codereview.chromium.org/174514
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24655 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a few helper methods on WebFrame.
R=jam
BUG=10036
TEST=none
Review URL: http://codereview.chromium.org/173152
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23956 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apparently on linux windowless Flash needs a paint after a NPP_SetWindow, otherwise it cancels its timer to do InvalidateRect.
Also in this change: WebKit calls WebPluginImpl::setFrameRect at each paint, even if the rects haven't changed. That used to always send a message to the plugin process, which is unnecessary (that case is always a no-op in the WebPluginDelegateImpl), so I fixed that too.
BUG=18423
Review URL: http://codereview.chromium.org/159907
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22702 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lightweight struct containing a description of a cursor that the
embedder should render.
WebCursor still exists. Instead of WebCursor initializing from a
PlatformCursor, it now initializes from a WebCursorInfo.
TEST=none
BUG=10039
R=jam
Review URL: http://codereview.chromium.org/155172
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20194 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[retry with mac hopefully fixed this time]
GtkWidget* (and its wrapper, gfx::NativeView) only work within a
single process. Plugins already work with a lower-level type that
works across processes -- an X Window id. The parent of a plugin
is an HWND on windows, but it's an X Window id on X. So we
introduce a new typedef wrapping that and push it through all the
places in the code that needs it.
Since we no longer have a GtkSocket in the WebPluginDelegateImpl,
we need to do a bit more work in the WebViewDelegate (aka the
browser process in the multiproc world).
We also need the plugin host (the browser) to track the
GtkSockets that are hosting the plugin, as well as destroy them
when necessary. To do this we require the plugin owner to
grab the plug-removed signal rather than putting its handler in
GtkPluginContainer; this is the way it worked before I'd refactored
into GtkPluginContainer so it shouldn't be so bad.
This change still only works in test_shell, but the refactoring
should translate to the multiprocess case pretty easily.
Review URL: http://codereview.chromium.org/146009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19387 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19328 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GtkWidget* (and its wrapper, gfx::NativeView) only work within a
single process. Plugins already work with a lower-level type that
works across processes -- an X Window id. The parent of a plugin
is an HWND on windows, but it's an X Window id on X. So we
introduce a new typedef wrapping that and push it through all the
places in the code that needs it.
Since we no longer have a GtkSocket in the WebPluginDelegateImpl,
we need to do a bit more work in the WebViewDelegate (aka the
browser process in the multiproc world).
We also need the plugin host (the browser) to track the
GtkSockets that are hosting the plugin, as well as destroy them
when necessary. To do this we require the plugin owner to
grab the plug-removed signal rather than putting its handler in
GtkPluginContainer; this is the way it worked before I'd refactored
into GtkPluginContainer so it shouldn't be so bad.
This change still only works in test_shell, but the refactoring
should translate to the multiprocess case pretty easily.
Review URL: http://codereview.chromium.org/146009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19320 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a background tab.
From what I can tell this bug always existed in Chrome.
The flash plugin gets instantiated and gets initial geometry updates during initialization. We download the plugin url after the geometry update. After these geometry updates the webkit layout timer runs and the plugin gets additional geometry updates. However these don't get sent over to the flash plugin instance in the plugin process as the geometry updates for windowed plugins are only flushed during paint, which does not happen in this case. The flash plugin ends up receiving data before geometry update and ends up behaving in a wierd fashion, i.e. not peeking for messages, etc.
The fact that this is a windowed plugin results in the browser ui thread also getting hung until the plugin gets out of this state.
The fix for the geometry update issue is to remove the deferred geometry update stuff. This only exists
for windowed plugins anyway. The geometry update IPC is a plain routed message and it should not be a big
overhead to send these IPCs to the plugin process.
I found that while this change fixes the basic issue, we still see some hangs in the flash plugin because of it receiving
data before the valid geometry update kicks in. John is working on a fix where we never have to call setFrameRect ourselves
and always honor the setFrameRect calls made by Webkit. This issue can be marked as fixed once both fixes get checked in.
This fixes http://code.google.com/p/chromium/issues/detail?id=12993
Bug=12993
TEST=Open google finance and Ctrl Click on the tickers in the page like Basic Materials, etc.
Review URL: http://codereview.chromium.org/119200
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17918 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
- reduce header dependencies
- remove redundant forward declarations
Review URL: http://codereview.chromium.org/115871
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17313 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly works in context
menu's put up by windowless plugins in the TrackPopupMenu intercept.
We now intercept this API for windowless Flash plugins as well.
Removed the code to unhook the message filter hook used to detect modal loops from HandleEvent,
as this already happens in the OnModalLoopEntered function.
We now intercept TrackPopupMenu for all windowless plugins.
This fixes http://code.google.com/p/chromium/issues/detail?id=8988
Bug=8988
Review URL: http://codereview.chromium.org/113804
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16878 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/115685
Patch from Antoine Labour <piman@google.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16718 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
communication between WebPlugin and WebPluginDelegate, to use a cross-platform
message based on WebInputEvent.
BUG=8202
TEST=A lot of manual testing on Linux and Windows, with Flash plugins and a
custom plugin that dumps events on Linux.
Review URL: http://codereview.chromium.org/115330
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16692 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/49050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12928 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/21498
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10002 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8609 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling.
BUG=5428
Review URL: http://codereview.chromium.org/18082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/16456
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement "iframe shim" behavior for windowed plugins.
In FF and IE on windows, iframes are implemented as native HWNDs.
This has the side effect that iframes display on top of windowed
plugins. This side effect has long been known as a workaround for
allowing HTML elements to appear above plugin content.
BUG=1788
Review URL: http://codereview.chromium.org/7032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3137 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the alpha channel sometimes.
This change introduces another buffer which holds the background image for transparent plugins. Before
painting these plugins, their backing store is overwritten with the background data.
This change also uses an ACK from the renderer to figure out when it can paint, similar to how the
renderer does it, which gives us throttling and also doesn't lead to painting when the tab is hidden.
Review URL: http://codereview.chromium.org/5040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2744 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
http://code.google.com/p/chromium/issues/detail?id=206This is a performance issue while loading PDF documents. The fix is to support PDF fast webview, which is basically support for the NPN_RequestRead API, which allows a plugin to request specific byte ranges in HTTP GET requests. This also needs support for seekable streams. Our support for seekable streams is limited to HTTP servers which allow byte range requests. Firefox also supports a mode in which the the browser caches the file on disk for servers which don't support byte range requests. The plugin_data_stream.cc/.h files are being removed as there is not much value in their existence. The needed functionality is available in the PluginStreamUrl class, which now services manual data streams as well. Testing this is a touch tricky as we need a HTTP server which serves byte range requests. Will add those in a subsequent CB.Also fixed a bug in the multipart parser where we need to ignore leading newline characters while parsing the header.Bug=206
Review URL: http://codereview.chromium.org/2896
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2400 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
related to non-virtual destructors in classes having virtual methods
BUG=1859
Patch from Paweł Hajdan jr <phajdan.jr@gmail.com>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1860 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
to keep APIs more crossplatform. Fix uses of PlatformCanvasWin to just use PlatformCanvas.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1528 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
made the names of some third party includes fully qualified. I removed a qualification on a couple of the WebKit port includes that confuses it and isn't necessary (since WebKit includes aren't fully qualified).
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@604 0039d316-1c4b-4281-b951-d872f2087c98
|
|
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18 0039d316-1c4b-4281-b951-d872f2087c98
|