| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
TBR=darin
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/1132006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42312 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=37985
TEST=no functional change.
Review URL: http://codereview.chromium.org/1060001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42101 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=darin
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42071 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
renderer process. Wait until the renderer has proved that it has access to
its end of the socket before closing it manually.
BUG=38459
TEST=Test case from bug 26754 comment 9 (affected Macs only):
1. Have lots of bookmarks (import Safari defaults)
2. Right-click on bookmark bar, and choose "Open All Bookmarks"
Expect: no crash, no sad tabs, none of the following messages logged:
a. LOG(ERROR) << "Refusing use of missing IPC channel " ...
b. LOG(FATAL) << "Denying attempt to reuse initial IPC channel for " ...
This test should be repeated many times.
Review URL: http://codereview.chromium.org/1066001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41957 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=darin
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41812 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
only expect to repaint once.
BUG=37961
TEST=OS X: ran Pepper test plugin, GLES2 book demos as trusted Pepper plugins
Review URL: http://codereview.chromium.org/1023001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41751 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
TBR=darin
BUG=none
TEST=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=Purely cleanup, no functional changes.
Review URL: http://codereview.chromium.org/855003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41435 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
rendering code with the GPU Plug-in. The drawing model negotiation is currently disabled so this should have no visible impact to plug-ins.
BUG=32012
TEST=make sure the pepper GPU plug-ins still work.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41194 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
sharing IPC and some rendering code with the GPU Plugin. The drawing model negotiation is currently disabled so this should have no visible impact to plugins.
BUG=32012
TEST=make sure the pepper GPU plugins still work.
Review URL: http://codereview.chromium.org/673001
TBR=pinkerton@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41159 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
rendering code with the GPU Plug-in. The drawing model negotiation is currently disabled so this should have no visible impact to plug-ins.
BUG=32012
TEST=make sure the pepper GPU plug-ins still work.
Review URL: http://codereview.chromium.org/673001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41158 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/656009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41067 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes SetWindowlessBuffer take a rect argument so it doesn't depend on the delegate being updated, then makes UpdateGeometry call that first so that changes can't accidentally be handled in reverse order if calling into the plugin's SetWindow results in nesting.
Also combines updating the plugin geometry and context on the Mac into one call, since we don't want the plugin to have mismatched context and size information. Unblacklists Move Networks player on the Mac since these changes fix its crash.
BUG=28298
TEST=Open the Move Networks sample on the Mac, and resize it. It should play without crashing.
Review URL: http://codereview.chromium.org/668186
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40841 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
through a GPU channel.
Probably only works in windows only so far.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/657046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40783 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes a number of things about how the shared buffer context is handled for plugins on the Mac:
- Explicitly send paint events to QuickDraw plugins. This was being done before only because of a missing break in a switch statement, but we do actually want to send them since that's the only way those plugins know when we have invalidated part of their content (e.g., on first paint, or because the window focus changed). Also moves the window-scraping to after the paint event, instead of before, so we get the latest bits (and moves that code to a new method for clarity).
- Remove context save/restore from HandleInputEvent, since CoreGraphics plugins are not allowed to paint outside of handling a paint event.
- Add safety checks to context save/restore in WindowlessPaint and WebPluginProxy's paint, to correctly handle resizes that happen during paint handling (using a new member variable that is independent of event model).
Also renames cg_context_ for clarity.
BUG=none
TEST=QuickDraw plugins (e.g., QuickTime) should no longer have a flicker of painting artifacts when they are first drawn.
Review URL: http://codereview.chromium.org/668113
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40739 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
(apparently) other recent changes.
BUG=none
TEST=ran Pepper test plugin with both 10.6 and 10.5 code paths
Review URL: http://codereview.chromium.org/661391
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40417 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
R=eroman
BUG=none
TEST=No compilation errors.
Review URL: http://codereview.chromium.org/660223
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40201 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
We still have ~150 callers to AppendToPath in our code, but most of
them are in the installer and I'm reluctant to fiddle with that code
without having an easy way to test it.
BUG=24672
Review URL: http://codereview.chromium.org/654013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40120 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=Open Activity Monitor, and visit a page with a plugin. The plugin process should show the name of the plugin.
Review URL: http://codereview.chromium.org/659007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39950 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had to remove these from the CL to make gcl upload properly accept it.
A + base\scoped_open_process.h
A + chrome\plugin\command_buffer_stub_win.cc
TEST=try
BUG=none
Review URL: http://codereview.chromium.org/661022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39937 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/652161
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39852 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FBO rendering with glGetTexImage() into a TransportDIB that is then used as
a texture for rendering the final image in the render view in the browser.
While not optimal, it works and can be optimized later, after the new GPU
process work is completed.
This CL also enables stencil buffer support on the Mac. All the Pepper3D
demos run on the Mac with these changes.
BUG=none
TEST=3D rendering unit tests.
Review URL: http://codereview.chromium.org/647043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39744 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WM_PAINT results in a call to Pepper repaint callback.
Implemented WM_ERASEBKGND to prevent flickering on repaint.
Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/571018
TBR=alokp@chromium.org
Review URL: http://codereview.chromium.org/650100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WM_PAINT results in a call to Pepper repaint callback.
Implemented WM_ERASEBKGND to prevent flickering on repaint.
Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/571018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39530 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
towards redoing the Callback interfaces.
Added and removed includes as needed.
BUG=35223
TEST=trybots
Review URL: http://codereview.chromium.org/646061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
size_t's from the IPC code.
Review URL: http://codereview.chromium.org/581001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39164 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes the code compile under NP_NO_QUICKDRAW and NP_NO_CARBON (modulo some gyp stuff that 64-bit builds will need to prevent compiling the shim library), and makes the tweaking of DYLD_INSERT_LIBRARIES 32-bit only.
Also removes a QuickDraw variable left over from an earlier version of the QuickDraw support.
BUG=none
TEST=none; supports future 64-bit compilation
Review URL: http://codereview.chromium.org/597053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39096 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Added waitForProgress field to NPDeviceContext3D to select between a flush (that pushes more work to the GPU process and waits for at least some of it to have been completed) and getting the current state as quickly as possible. The previous method of checking to see if the put offset had advanced was incorrect.
TEST=trybots
BUG=none
Review URL: http://codereview.chromium.org/561058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38540 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sends any window frame and relevent content view location changes to the plugin process via IPC, so that the plugin process always knows where the plugin is rather than only knowing when the mouse is within the plugin area. This will be necessary for supporting NPN_ConvertPoint, and for supporting Java2 as currently implemented.
Related changes:
- Now that window information is being sent on init and un-hide, use that to get correct initial window focus information.
- Add a missing window focus change notification uncovered by the above.
- Use live mouse location for idle events, instead of a cached location, now that we have live plugin frame information.
- Refactor and simplify the logic for moving the plugin.
Note that containing_window_frame_ is currently unused, but will be shortly for NPN_ConvertPoint, and is so closely related to the added IPC that I added it now rather than having to immediately change the new messages and functions.
BUG=34046,31858,31543,29457
TEST=Mouse tracking in Carbon plugins should still work correctly, even across window moves, info/bookmark bar show/hides, etc. (Automated tests of location tracking will follow shortly with full NPN_ConvertPoint implementation.)
Review URL: http://codereview.chromium.org/573015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38361 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial port of GPU process / plugin to Mac OS X. Uses new IOSurface
APIs and therefore currently runs only on 10.6. Alternate strategy
will need to be devised for 10.5.
Slight UI issues remain such as GPU plugins initially showing up in
the wrong place on the page. These will be fixed in follow-on bugs.
Minimal changes made to command buffer code to get it to compile on
Mac OS X. Commented out use of nested anonymous namespaces in
gles2_cmd_decoder.cc which were causing the linker to crash with a seg
fault.
Refactored gyp files so the OS test enabling the GPU plugin is in one
place, common.gypi, and other files test only the variable enable_gpu.
Slight change to gles2_demo_cc.cc to add some simple animation to
verify that updates from the GPU plugin are reaching the screen.
Changed Pepper test plugin to use 3D view by default and commented out
use of audio context because of recent issues.
TEST=none (ran Pepper Test Plugin with 3D view enabled)
BUG=http://crbug.com/25988
Review URL: http://codereview.chromium.org/558035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37934 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/32703
TEST=when hiding cursor (Flash 10.1), cursor hides (but doesn't stay hidden; that's a different bug)
Review URL: http://codereview.chromium.org/560003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37841 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using the new notification:
- Update plugin clip rect when it's not in a visible tab.
- Update plugin idle event rate when it's not in a visible tab.
- Switch the unfocus-on-tab-switch event to be based on the this new notification, instead of a browser-level broadcast.
Related changes:
- Stop sending redundant focus events to plugins.
- Send window activation to Carbon event plugins too, not just Cocoa.
- Now that plugins are getting window and tab de-focus events directly, remove the older hack to force all plugins to lose focus any window or tab loses focus.
BUG=29371, 32229, 30838
TEST=Flash should still only register keystrokes when it is in the active window+tab. Plugins in background tabs should use less CPU.
Review URL: http://codereview.chromium.org/548224
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37743 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This gives plugins mostly correct window activation information; there are still a few loose ends like initial focus state and changes that happen while plugins are in background tabs, but those will be handled in follow-up bugs.
BUG=31847
TEST=Plugins that are in background windows should act accordingly (e.g., Silverlight hover effects shouldn't trigger)
Review URL: http://codereview.chromium.org/549194
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37694 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=31880
Review URL: http://codereview.chromium.org/558036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37555 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
All status is now in the Device3D context.
It can be retreived with fewer IPC messages.
It can be now be accessed off the main plugin thread, which is necessary to run OpenGL in another thread.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/555020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37545 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/32703
TEST=when hiding cursor (Flash 10.0), cursor hides (but doesn't stay hidden; that gets fixed later)
Review URL: http://codereview.chromium.org/552132
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37028 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://codereview.chromium.org/543097
Check NPClass::structVersion before accessing fields that don't exist in all versions: NPClass::constructor and NPClass::enumerate
BUG=32387
TESTED=manual and in debugger
Review URL: http://codereview.chromium.org/545176
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36911 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until we have real window activation status, just send a window focus event so that Cocoa plugins always think their window is active (as is currently the case with Carbon plugins).
Also wire up the Carbon interposing on window activation checks to talk to the delegate, so once the delegate has correct information Carbon will Just Work.
BUG=31847
TEST=Flash 10.1 should track the mouse when the plugin is loaded, without having to click in it first.
Review URL: http://codereview.chromium.org/552067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36754 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
other side's address
space. Basically the way this works is if an NPObject is marshaled over to the other side, an
NPObjectStub is created in the caller address space and a NPObjectProxy is created on the other side.
The NPObjectProxy is passed the raw NPObject pointer which is used as a cookie.
If the original NPObject needs to be passed back we pass the underlying NPObject saved in the NPObjectProxy.
The receiver does not validate whether this NPObject is valid before invoking on it.
While this is mostly fine, in the case of a compromised renderer invalid addresses could be passed back
to the plugin which would invoke on these addresses and crash.
Fix is to never pass raw object pointers across and just pass the corresponding routing id of the NPObjectStub.
The receiver validates this object by invoking a new method GetNPObjectListenerForRoute on the PluginChannelBase.
This method returns the corresponding NPObject listener for the routing id. We then retrieve the underlying NPObject
from the listener and use it.
The map of NPObjectListeners which is maintained by PluginChannelBase has been changed to hold NPObjectBase
pointers instead. NPObjectStub and NPObjectProxy implement the new NPObjectBase interface which provides
methods to return the underlying NPObject and the IPC::Channel::Listener pointer.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=31880
I verified with the steps outlined in the bug that this fix does address the underlying crash.
Bug=31880
Test=We need a framework to test PluginChannel and NPObjectProxy/Stub. Will add a test case for this
once we have this in place.
Review URL: http://codereview.chromium.org/548046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36618 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/20717
TEST=as in bug; this covers new Flash
Review URL: http://codereview.chromium.org/554003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36554 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
fake windows.
BUG=http://crbug.com/20717
TEST=none; no visible change
Review URL: http://codereview.chromium.org/549085
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36533 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=http://crbug.com/20717
TEST=as in bug; this covers old Flash
Review URL: http://codereview.chromium.org/550062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36416 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
messages pass through to the browser window.
TEST=trybots
BUG=none
Review URL: http://codereview.chromium.org/549025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36311 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35509
Review URL: http://codereview.chromium.org/500132
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35612 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
64-bit Flash uses the LAHF instruction, which isn't available on
some CPUs. Work around this by catching SIGILL and emulating
the instruction.
BUG=29789
TEST=flash works on more computers than before, nothing else changes
Review URL: http://codereview.chromium.org/517031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35536 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/500132
TBR=piman@chromium.org
Review URL: http://codereview.chromium.org/525022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35511 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/500132
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35509 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
process listings.
BUG=29118
TEST=none
Review URL: http://codereview.chromium.org/490028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35441 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commands to it via a command buffer.
Added API for managing buffers to Pepper 3D device.
Removed DCHECK from WebPluginImpl::SetWindow that checks against a windowless plugin being given a window handle. Please check this! Now an initially windowless plugin instance gets a handle when it requests a Pepper 3D context. Perhaps the window handle should be concealed from the underlying plugin isntance.
Removed enable_gpu gyp variable and C macro. GPU code is always built on windows but not mac or linux. It is enabled at runtime with the --enable-gpu-plugin switch.
Redesigned CommandBuffer interface so it exposes shared memory through a Buffer. This was necessary because Pepper has no notion of shared memory handles. The Buffer exposes the shared memory as both a handle (through base::SharedMemory) and the mapped address and size.
Refactored CommandBufferEngine so mapped shared memory addresses and sizes are returned with a single call rather than two separate calls.
Added 3D demo to pepper test plugin.
TEST=try servers
BUG=none
Review URL: http://codereview.chromium.org/367002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent is to allow unit-tests that use render view
to override ChildThread::CreateBridge() to provide their
own resource loading.
This is used by the upcoming translate unit-test.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/503032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35014 0039d316-1c4b-4281-b951-d872f2087c98
|