summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/var.h
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup: Remove unneeded scoped_ptr.h includes from ppapi, printing, ↵thestig@chromium.org2012-05-161-2/+1
| | | | | | | | | | | | remoting, and sync. BUG=none TEST=none TBR=brettw,hclam,akalin,abodenha Review URL: https://chromiumcodereview.appspot.com/10387107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137376 0039d316-1c4b-4281-b951-d872f2087c98
* Remove special handling for strings in var serialization.brettw@chromium.org2012-02-071-2/+7
| | | | | | | | Previously we had to have a lot of weird string handling because strings needed a PP_Module to be constructed, and because they had different methods for being created in the host and the plugin processes. We've removed all of these limitations, so now we can just delete the whole mess. Review URL: https://chromiumcodereview.appspot.com/9316123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120724 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Reduce string copying in SerializedVar.dmichael@chromium.org2012-02-041-0/+9
| | | | | | | | | | | | | | My performance test shows somewhere from 6-12% improvement. That's not bad, considering the test uses IPC, which outweighs most other work the proxy does. I wanted to do this before proxying ArrayBuffer. I might try to do a little further refactoring in another CL. BUG= TEST= Review URL: http://codereview.chromium.org/9138027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120479 0039d316-1c4b-4281-b951-d872f2087c98
* Tweaks to PPB_VarArrayBuffer in preperation for taking out of Dev.dmichael@chromium.org2012-01-261-1/+2
| | | | | | | | | | | | | | * Add Unmap. * Make ByteLength more consistent with the rest of PPAPI. * Make C++ wrapper not cache the buffer. BUG= TEST= Review URL: http://codereview.chromium.org/9169052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119286 0039d316-1c4b-4281-b951-d872f2087c98
* Implement in-process PPB_VarArrayBuffer_Dev.dmichael@chromium.org2011-12-151-2/+37
| | | | | | | | | | | | +tony TBR for webkit/glue/webkit_glue.gypi BUG=103435 TEST=N/A TBR=tony Review URL: http://codereview.chromium.org/8930010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114700 0039d316-1c4b-4281-b951-d872f2087c98
* Reland; Pepper: Var keeps invalid var_id if VarTracker release it and there ↵toyoshim@chromium.org2011-12-151-0/+6
| | | | | | | | | | | | | | | | | | is another reference When VarTracker remove PP_Var from VarMap, it release its Var object if needed, but never reset var_id stored in Var object. Then, if Var's reference count is not 1, Var continue to exist with invalid var_id until the last reference is released. BUG=87310 TEST=ui_tests, browser_tests, nacl_integration Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114384 Review URL: http://codereview.chromium.org/8872065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114594 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting half the checkins that are suspected of breaking the world.finnur@chromium.org2011-12-141-6/+0
| | | | | | | | | | | | | | | | | | | | Revert 114384 - Var keeps invalid var_id if VarTracker release it and there is another reference. When VarTracker remove PP_Var from VarMap, it release its Var object if needed, but never reset var_id stored in Var object. Then, if Var's reference count is not 1, Var continue to exist with invalid var_id until the last reference is released. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*' Review URL: http://codereview.chromium.org/8872065 TBR=toyoshim@chromium.org Review URL: http://codereview.chromium.org/8933025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114398 0039d316-1c4b-4281-b951-d872f2087c98
* Var keeps invalid var_id if VarTracker release it and there istoyoshim@chromium.org2011-12-141-0/+6
| | | | | | | | | | | | | | | | another reference. When VarTracker remove PP_Var from VarMap, it release its Var object if needed, but never reset var_id stored in Var object. Then, if Var's reference count is not 1, Var continue to exist with invalid var_id until the last reference is released. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*' Review URL: http://codereview.chromium.org/8872065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114384 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PP_Module from parameters for PPB_Var.VarFromUtf8.dmichael@chromium.org2011-12-071-17/+8
| | | | | | | | | | | | | | | | This change has tendrils stretching throughout the code, but mostly this lets us delete a bunch of stuff. This also does a slight refactor to put the PPB_Var implementations in 1 place, since they were already practically identical, and I didn't want to do the backwards-compat code in 2 places. BUG=106596 TEST=N/A TBR=darin,tony darin,tony TBR for rubber-stamp of webkit/glue/webkit_glue.gypi Review URL: http://codereview.chromium.org/8826011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113491 0039d316-1c4b-4281-b951-d872f2087c98
* Create ppapi_proxy.dll and ppapi_shared.dll.darin@chromium.org2011-08-261-2/+3
| | | | | | | | | | | | | | | | This involves introducing the following macros: PPAPI_PROXY_EXPORT - for symbols exported from ppapi/proxy PPAPI_SHARED_EXPORT - for symbols exported from ppapi/shared_impl PPAPI_THUNK_EXPORT - for symbols exported from ppapi/thunk NOTE: shared_impl and thunk are still linked together, but I thought it was cleaner to give thunk its own macro. R=brettw@chromium.org Review URL: http://codereview.chromium.org/7687005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98508 0039d316-1c4b-4281-b951-d872f2087c98
* Convert FileRefImpl and URLRequestInfo to shared_impl.brettw@chromium.org2011-08-261-0/+1
| | | | | | | | | | One nice side effect of this change is that there are no longer any IPCs associated with the request info. Instead, we just send the parameters to the host when we open a url loader. Review URL: http://codereview.chromium.org/7706021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98391 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use a scoped_refptr for StringVar::FromPPVarbrettw@chromium.org2011-08-221-2/+2
| | | | | | | | | | 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-32/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+146
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