summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_url_util_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* Convert URLUtil to the thunk system.brettw@chromium.org2011-10-101-161/+0
| | | | | | | | This removes some duplicate code between the proxy and the impl. Review URL: http://codereview.chromium.org/8159012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104741 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use a scoped_refptr for StringVar::FromPPVarbrettw@chromium.org2011-08-221-3/+3
| | | | | | | | | | This was leftover from a previous design where I thought it would be necessary. It turns out it just made the code ugly and did unnecessary refcounting. Review URL: http://codereview.chromium.org/7621054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97751 0039d316-1c4b-4281-b951-d872f2087c98
* Unify var tracking between webkit and the proxy.brettw@chromium.org2011-08-091-26/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the var tracking in the proxy with the var tracking in the shared_impl that's used by the implementation. It adds a new ProxyObjectVar to be the proxied plugin analog of NPObjectVar in the impl. This new object just keeps track of the host data. The tricky part is to make the var tracker able to do all the crazy messaging. This adds some virtual functions to the shared var tracker that we override in the plugin in PluginVarTracker. This removes the calls to the GetLiveObjectsForInstance in the var deprecated test. It turns out this function really can't be implemented properly in the proxy, and I don't know why it even worked before. A Release() call posts a non-nestable task so the object isn't released until later. So to implement the proxy for GetLiveObjectsForInstance we would also need to post a non-nestable task. But when the test runs we're getting called from within the plugin, so blocking on a non-nestable task deadlocks. So I just gave up and deleted the parts of the test that uses it. TEST=included BUG=none Review URL: http://codereview.chromium.org/7578001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96094 0039d316-1c4b-4281-b951-d872f2087c98
* Move Var and StringVar to the ppapi/shared_impl so they can be used in thebrettw@chromium.org2011-08-011-3/+4
| | | | | | | | | | | | | | | | | | | proxy. This does not, however, actually use these in the proxy yet, I'll do that in a subsequent pass. ObjectVar is now renamed NPObjectVar and continues to be in webkit/plugins since it uses NPObjects. There will be a corresponding future class in the proxy for proxied objects. The TryCatch that was in var.h is now in npapi_glue.h Most of the rest of the change is updating namespaces. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/7488062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94986 0039d316-1c4b-4281-b951-d872f2087c98
* Make Var less dependent on NPAPI. The goal is to remove all of thesebrettw@chromium.org2011-07-281-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | dependencies and then move Var and the associated tracking stuff to the shared_impl, where it can be used to replace the similar code in the proxy. There should be no difference in functionality. - I moved the Var/NPAPI conversion stuff from the Var and ObjectVar object into NPAPI glue. - I moved the Var scripting interface implementation (which forwards to NPAPI) to the ppb_var_impl file which is nice because it also matches other interfaces. - I moved the ObjectVar lifetime tracking from the instance into the ResourceTracker with the other var stuff. It turns out we were already tracking the object vars there, so I did a little cleanup. - I changed the PluginModule and PluginInstance in the var object to PP_Module and PP_Instance. The only remaining NPAPI stuff to worry about are the calls to WebBindings in the ObjectVar constructor & destructor. I will probably move this to the resource tracker when I move the var file out. Review URL: http://codereview.chromium.org/7371010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94470 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Var object use a PP_Module ID rather than a PluginModule object.brettw@chromium.org2011-07-121-1/+1
| | | | | | | | | | | | This is a first step to moving the Var implementation and tracking into shared_impl so we don't have to have to have a duplicate implementation in the proxy. This means we can't depend on _impl-specific objects like PluginModule from the Var objects. TEST=ppapi tests Review URL: http://codereview.chromium.org/7345016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92255 0039d316-1c4b-4281-b951-d872f2087c98
* Update src/webkit/plugins to reflect WEBKIT_FRAME_TO_DOCUMENT_API_MOVEabarth@chromium.org2011-06-241-10/+3
| | | | | | Review URL: http://codereview.chromium.org/7240010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90307 0039d316-1c4b-4281-b951-d872f2087c98
* Convert audio-related messages to the new thunk/API system for Pepper.brettw@chromium.org2011-05-131-1/+1
| | | | | | | | | | | | | | | | | | | This has a bit of a change from the previous couple of resources that were converted in that the ResourceCreationProxy now calls a static proxy function for actually doing the work. It became too complicated and required that the ResourceCreationProxy know a lot about the internals of the objects. Did a little namespace cleanup. This renames "pp::shared_impl" to just use the "ppapi" namespace. The "shared_impl" was ugly and didn't help anything. Some files in that directory used "ppapi::shared_impl" instead which was even more confusing. Do a little build cleanup. The old ppapi_shared_proxy.gypi is now split into two sub-files, one for ppapi_shared, and one for ppapi_proxy. It's hopefully easier to find stuff now. Review URL: http://codereview.chromium.org/7014024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85303 0039d316-1c4b-4281-b951-d872f2087c98
* Add GetPluginURL to PPB_URLUtil_Devpiman@google.com2011-03-311-1/+14
| | | | | | | | | BUG=chromium-os:13693 TEST=http://www.ford.com/cars/taurus/ with pepper flash Review URL: http://codereview.chromium.org/6740013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80085 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a proxy for URL util. Some of the implementation that doesn't need tobrettw@chromium.org2011-03-181-60/+33
| | | | | | | | | | | | | | | be proxied moved into a new shared_impl file, which required a decent amount of glue to make it callable from both the implementation and the proxy. The payoff here is only marginal since the code is fairly simple, but I decided this is still better than duplication. This also includes some comments from my audio patch that I forgot in that CL. BUG=none TEST=ppapi_tests run out of process pass Review URL: http://codereview.chromium.org/6676045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78646 0039d316-1c4b-4281-b951-d872f2087c98
* Add PPB_URLUtil_Dev::GetDocumentURLpiman@google.com2011-03-021-17/+31
| | | | | | | | | | | This also renames "Url" into "URL" for consistency. BUG=74569 TEST=http://www.espn.go.com/nba/ Review URL: http://codereview.chromium.org/6594107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76608 0039d316-1c4b-4281-b951-d872f2087c98
* Roll WebKit DEPS past WebKit move. Update gyp files and include paths to ↵abarth@chromium.org2011-01-171-7/+7
| | | | | | reflect the move. Consolidate how we DEPS in WebKit source files. Cross fingers. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71586 0039d316-1c4b-4281-b951-d872f2087c98
* Make PP_Resources associated with the Instance rather than the module. Thisbrettw@chromium.org2011-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | adds PP_Instance to the necessary places in the API to make this possible. String and Object vars used to be PP_Resources. But it is not practical to assocaited strings with an instance since then we can't have implicit var constructors and have to litter every string with an instance. So this changes vars to use their own tracking system associated with the module (i.e. keeping the current semantics) and making it no longer a resource. I made the internal Var IDs 32 bits since Neb is about to land his 64->32 change. Now it force-deletes resources associated with an instance when that instance goes away. I added some additional code and tracking in ResourceTracker to do this. I could then remove the Instance::Observer class since the resource can use the (now renamed) StoppedTracking to know that it's being deleted in response to the instance being destroyed. TEST=ppapi ui tests BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71544 0039d316-1c4b-4281-b951-d872f2087c98
* Move the Pepper implementation from webkit/glue/plugins/pepper_* tobrettw@chromium.org2010-12-161-0/+180
webkit/plugins/ppapi/*. This renamed the files and interface implementation classes from foo.cc/Foo to ppb_foo_impl/PPB_Foo_Impl to match the proxy ppb_foo_proxy/PPB_Foo_Proxy. This moves plugin_switches.* from webkit/glue/plugins to webkit/plugins. Review URL: http://codereview.chromium.org/5828003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69424 0039d316-1c4b-4281-b951-d872f2087c98