summaryrefslogtreecommitdiffstats
path: root/ppapi
Commit message (Collapse)AuthorAgeFilesLines
* Revert of PPAPI: Never re-enter JavaScript for PostMessage. (patchset #5 ↵dmichael2014-09-267-34/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/589213003/) Reason for revert: Still causing a crash in Canary Original issue's description: > PPAPI: Never re-enter JavaScript for PostMessage. > > Blocking renderer->plugin messages can be interrupted by any message > from the plugin->renderer (even async ones). So while handline a blocking > message, such as HandleInputEvent or HandleBlockingMessage, it's currently > possible to re-enter JavaScript. This patch makes that impossible by > queueing up Plugin->Renderer messages sent via PPB_Messaging::PostMessage > while any renderer->plugin sync message is on the stack. > > BUG=384528 > > Committed: https://crrev.com/f73075c99b5ba30e8d62dc5f13fdfb210d0fc506 > Cr-Commit-Position: refs/heads/master@{#296311} > > Committed: https://crrev.com/3fe4ceee750b2cd130bd402de3d371d8518c3eba > Cr-Commit-Position: refs/heads/master@{#296807} TBR=raymes@chromium.org NOTREECHECKS=true NOTRY=true BUG=384528 Review URL: https://codereview.chromium.org/605393002 Cr-Commit-Position: refs/heads/master@{#297030}
* PPAPI: Move PPB_Messaging 1.2 to stabledmichael2014-09-266-11/+13
| | | | | | | | | | | | | | | | | This adds postMessageAndAwaitResponse() support to Pepper stable. Open issues: 1) This is arguably an expansion on what JavaScript can do today. In particular, it would be possible to make JavaScript block on PNaCl, which blocks on another thread, which blocks on something like synchronous FileIO. 2) Not all types are supported yet; e.g. FileRef and FileSystem. I want to fix that prior to M39. (see https://code.google.com/p/chromium/codesearch#chromium/src/content/renderer/pepper/message_channel.cc&l=305) BUG=367896 Review URL: https://codereview.chromium.org/600893002 Cr-Commit-Position: refs/heads/master@{#297026}
* PPAPI: Add more error testing for postMessageAndAwaitResponsedmichael2014-09-264-3/+82
| | | | | | | | | | Add a test that tries using postMessageAndAwaitResponse in ways that should throw an exception, and makes sure it actually throws. BUG=367896 Review URL: https://codereview.chromium.org/608843002 Cr-Commit-Position: refs/heads/master@{#297024}
* PPAPI: Never re-enter JavaScript for PostMessage.dmichael2014-09-257-37/+34
| | | | | | | | | | | | | | | | | | Blocking renderer->plugin messages can be interrupted by any message from the plugin->renderer (even async ones). So while handline a blocking message, such as HandleInputEvent or HandleBlockingMessage, it's currently possible to re-enter JavaScript. This patch makes that impossible by queueing up Plugin->Renderer messages sent via PPB_Messaging::PostMessage while any renderer->plugin sync message is on the stack. BUG=384528 Committed: https://crrev.com/f73075c99b5ba30e8d62dc5f13fdfb210d0fc506 Cr-Commit-Position: refs/heads/master@{#296311} Review URL: https://codereview.chromium.org/589213003 Cr-Commit-Position: refs/heads/master@{#296807}
* Adding tracking to verify the theory that jankiness of ↵vadimt2014-09-252-4/+3
| | | | | | | | | | ExtensionMessageFilter::OnExtensionAddListener is because of the observer invocation. BUG=401560, 417106 Review URL: https://codereview.chromium.org/600213002 Cr-Commit-Position: refs/heads/master@{#296804}
* NaCl: Update revision in DEPS, r13759 -> r13783dschuff2014-09-252-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pulls in the following Native Client changes: r13760: (mseaborn) untrusted.gypi: Factor out duplicated "--gomadir" option r13761: (mseaborn) Fix mmap() with length > 0xffff0000 to behave consistently on 32/64-bit r13762: (teravest) Support file path metadata for the main nexe. r13763: (teravest) Add CreateNaClDescWithFilePathMetadata fn. r13764: (dschuff) Switch PNaCl lib, include, and translator directories for new layout r13765: (dschuff) Pass naclsdk_validate=0 to scons runs run by main waterfall bots r13768: (dbrazdil) Allowed decrementing program break with sbrk() in MinSFI r13769: (dyen) Added tests for rename functions in irt_ext. r13770: (dyen) Added tests for unlink functions irt_ext. r13771: (dschuff) Update revision for PNaCl r13753->r13769 r13772: (dyen) Added tests for fsync/fdatasync functions in irt_ext. r13773: (petarj) PNaCl: Update libcxx revision in pnacl/COMPONENT_REVISIONS r13774: (dyen) Added tests for file truncation functions in irt_ext. r13775: (sehr) Add Nick Bray and Shyam as owners of the validator r13776: (jvoung) Remember to va_end in callingconv test. r13777: (shyamsundarr) a script to generate a trie from our DFA. r13778: (shyamsundarr) updated version of mseaborn@chromium's old trie code. We will generate r13779: (dschuff) Allow build of host tools with system compiler r13780: (dyen) Added support for supplying futex calls under irt_ext. r13781: (dschuff) Remove archived_frontend test and use gcc build for FYI bots r13782: (dschuff) Clang and binutils for direct to nacl x86_64 r13783: (dschuff) Change prep_nacl_sdk header locations for PNaCl to match new layout r13784: (dschuff) Revert r13723, r13730, r13744 r13785: (dschuff) Revert "untrusted.gypi: Factor out duplicated "--gomadir" option" This also adjusts the SDK header copying script to put the libnacl headers in the new location for PNaCl. BUG=none TEST=browser_tests and nacl_integration CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_rel_precise32,linux_nacl_sdk,linux_chromium_dbg Review URL: https://codereview.chromium.org/597393003 Cr-Commit-Position: refs/heads/master@{#296781}
* Revert of PPAPI: Never re-enter JavaScript for PostMessage. (patchset #4 ↵bbudge2014-09-247-34/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/589213003/) Reason for revert: May be crashing Chrome: https://code.google.com/p/chromium/issues/detail?id=417511 Original issue's description: > PPAPI: Never re-enter JavaScript for PostMessage. > > Blocking renderer->plugin messages can be interrupted by any message > from the plugin->renderer (even async ones). So while handline a blocking > message, such as HandleInputEvent or HandleBlockingMessage, it's currently > possible to re-enter JavaScript. This patch makes that impossible by > queueing up Plugin->Renderer messages sent via PPB_Messaging::PostMessage > while any renderer->plugin sync message is on the stack. > > BUG=384528 > > Committed: https://crrev.com/f73075c99b5ba30e8d62dc5f13fdfb210d0fc506 > Cr-Commit-Position: refs/heads/master@{#296311} TBR=raymes@chromium.org,dmichael@chromium.org NOTREECHECKS=true NOTRY=true BUG=384528 Review URL: https://codereview.chromium.org/601923003 Cr-Commit-Position: refs/heads/master@{#296571}
* PPAPI: Disallow blocking callbacks while handling a blocking messagedmichael2014-09-248-4/+77
| | | | | | | | | | | | This makes it so that the plugin can not use blocking completion callbacks while servicing HandleBlockingMessage. This is to discourage leaving JavaScript hung while doing long-running things (e.g. file IO). (Of course, the plugin can get around this by bouncing to another thread; but I think this adds a useful guideline/deterrent.) BUG=415351 Review URL: https://codereview.chromium.org/600553002 Cr-Commit-Position: refs/heads/master@{#296422}
* Add a test to verify the waveform from the Pepper MediaStream API is asamistry2014-09-242-2/+139
| | | | | | | | | | expected. BUG=405413 Review URL: https://codereview.chromium.org/488533002 Cr-Commit-Position: refs/heads/master@{#296364}
* Cleanup: Remove unused dependency on NaCl src/trusted/gio targetmseaborn2014-09-241-1/+0
| | | | | | | | | | | | | ppapi/ no longer has any references to NaCl's "Gio" code. This cleanup will allow the Gyp file to be removed from the NaCl side. BUG=none TEST=build Review URL: https://codereview.chromium.org/593243003 Cr-Commit-Position: refs/heads/master@{#296323}
* PPAPI: Never re-enter JavaScript for PostMessage.dmichael2014-09-247-37/+34
| | | | | | | | | | | | | | | Blocking renderer->plugin messages can be interrupted by any message from the plugin->renderer (even async ones). So while handline a blocking message, such as HandleInputEvent or HandleBlockingMessage, it's currently possible to re-enter JavaScript. This patch makes that impossible by queueing up Plugin->Renderer messages sent via PPB_Messaging::PostMessage while any renderer->plugin sync message is on the stack. BUG=384528 Review URL: https://codereview.chromium.org/589213003 Cr-Commit-Position: refs/heads/master@{#296311}
* Replace forward_dependent_configs with public_depsBrett Wilson2014-09-231-3/+3
| | | | | | | | | | | | This is the new name. It has the same meaning but additionally with a "you can use the headers" permission. Rename direct_dependent_configs to public_configs. This is the new name with identical meaning. TBR=jamesr Review URL: https://codereview.chromium.org/595073002 Cr-Commit-Position: refs/heads/master@{#296302}
* Fix URLRequest pepper unit testlandell2014-09-232-14/+19
| | | | | | | | | | | | | | | This patch creates new URLLoaderResource objects for each request since those objects can't be reused. Calling Open() on an instance of URLLoaderResource requires that mode_ is set to MODE_WAITING_TO_OPEN. After Open() has been called mode_ will never reach that state again. BUG=None Review URL: https://codereview.chromium.org/582623002 Cr-Commit-Position: refs/heads/master@{#296155}
* remove empty gl.gyp filemostynb2014-09-221-0/+0
| | | | | | | | Followup to an old CL: 7283013, which attempted to delete this file. Review URL: https://codereview.chromium.org/587103004 Cr-Commit-Position: refs/heads/master@{#295982}
* PPAPI: Fix GetBrowserInterface race conditionsdmichael2014-09-187-44/+83
| | | | | | | | | | | | | | - Previously, we had an unguarded bool flag for whether an interface lookup had been logged to UMA. Now each InterfaceInfo has a lock+flag. Should be near-zero contention. - Previously, PpapiGlobals::GetBrowserSender did lazy creation with no synchronization. Now we create it at process startup and clear it at process shutdown, so there should be no race while the plugin is running. BUG=413513,414150 Committed: https://crrev.com/d1b2c8f719b0ab471a476bf53911a3657bb4c06a Cr-Commit-Position: refs/heads/master@{#294715} Review URL: https://codereview.chromium.org/568793002 Cr-Commit-Position: refs/heads/master@{#295551}
* PPAPI: Add C++ wrapper for MessageHandler stuff.dmichael2014-09-187-73/+217
| | | | | | | | BUG=367896 Review URL: https://codereview.chromium.org/318763003 Cr-Commit-Position: refs/heads/master@{#295495}
* Remove brettw from content/OWNERSbrettw2014-09-181-1/+0
| | | | | | | | | | Also, remove myself from a bunch of other stuff I'm no longer involved in (search/instant, pepper, bookmarks) TBR=jam Review URL: https://codereview.chromium.org/573333003 Cr-Commit-Position: refs/heads/master@{#295399}
* PPAPI: Make PPP_MessageHandler work in PNaClDave Michael2014-09-1717-88/+325
| | | | | | | | | | | | | | | | | | | | The PNaCl ABI does not work in general with passing structs by-value. Rather than add more complication to the shim, this changes HandleBlockingMessage's parameter to a const-pointer param, and the return to an out-param by pointer. Note I wanted to pass PP_Var by const-pointer, while its "default" is by value. So I added a new "constptr_in" param style. (Maybe I should invert that and add a byvalue instead?) Verified backwards compat with manual testing. BUG=384539 R=asvitkine@chromium.org, binji@chromium.org, teravest@chromium.org Review URL: https://codereview.chromium.org/564573002 Cr-Commit-Position: refs/heads/master@{#295341}
* Pepper UDP socket: buffer received packets in the plugin process to improve ↵yzshen2014-09-177-83/+200
| | | | | | | | | | | | | | | | performance. For each bound UDP socket, the Pepper layer in the plugin process maintains a buffer to store received packets, and informs the browser process of available buffer slots. The browser process does recvfrom and pushes the results to the plugin process when there are available slots. BUG=None TEST=None Review URL: https://codereview.chromium.org/563073002 Cr-Commit-Position: refs/heads/master@{#295184}
* Move PPB_VideoDecoder from 'Dev' to Stable.bbudge2014-09-165-9/+14
| | | | | | | | | | | | | | | | | | | | | | Notes for discussion: 1) This API provides a low level interface to Chrome's video decoders. Chrome's implementations differ by codec and platform. H264 and VPX expect very different formats, so the plugin must know details about these codecs. In particular, some parsing of the stream is required to extract the frames, and during Reset, the plugin may have to parse into the frames to find start points and make sure the decoder is in the proper state to resume. Some platforms may only provide software implementations. Software and hardware decoders have very different latency and throughput. 2) The PP_VideoPicture struct (in pp_codecs.idl) exposes low level details about the texture format of the decoded pictures so the plugin can render the textures. These are platform-specific. GL_TEXTURE_2D is the standard one. GL_TEXTURE_RECTANGLE_ARB will be used by Mac in the future (but is not yet used). GL_TEXTURE_EXTERNAL_OES is used on ARM ChromeOS systems. Plugins should be prepared to handle all of them. 3) The plugin continually calls GetPicture to pump the decoder. There is a little weirdness with Flush, where we signal the end of stream by returning PP_ERROR_ABORTED to the plugin's last GetPicture call. BUG=281689 Review URL: https://codereview.chromium.org/540393003 Cr-Commit-Position: refs/heads/master@{#295174}
* Build only the appropriate x86 arches for nacl (chrome side).bradnelson2014-09-163-22/+54
| | | | | | | | | | BUG=https://code.google.com/p/chromium/issues/detail?id=388101 TEST=local + with trybots R=mseaborn@chromium.org,jam@chromium.org,brettw@chromium.org Review URL: https://codereview.chromium.org/452543002 Cr-Commit-Position: refs/heads/master@{#294987}
* Revert of PPAPI: Fix GetBrowserInterface race conditions (patchset #6 ↵raymes2014-09-157-67/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/568793002/) Reason for revert: Sorry to revert but I randomly noticed this to be causing a top crasher e.g. go/crash/75090c1e31f33cfd The reason is because the patch explicitly calls PluginGlobals::SetPluginProxyDelegate with NULL from PpapiThread::Shutdown but the pointer is used immediately inside the function. I guess it should be a simple fix. I was going to put up a fix which just reset the browser_sender_ to NULL in that case, but then I noticed there were cases where we call GetBrowserSender() and use it without checking whether it is NULL (e.g. https://code.google.com/p/chromium/codesearch#search/&q=%22PluginGlobals::Get()-%3EGetBrowserSender()-%3ESend%22&sq=package:chromium&type=cs) I felt it would be better to just revert for now, sorry :( Original issue's description: > PPAPI: Fix GetBrowserInterface race conditions > > BUG=413513 > > Committed: https://crrev.com/d1b2c8f719b0ab471a476bf53911a3657bb4c06a > Cr-Commit-Position: refs/heads/master@{#294715} TBR=teravest@chromium.org,piman@chromium.org,dmichael@chromium.org NOTREECHECKS=true NOTRY=true BUG=413513 Review URL: https://codereview.chromium.org/566243004 Cr-Commit-Position: refs/heads/master@{#294782}
* PPAPI: Fix GetBrowserInterface race conditionsdmichael2014-09-137-44/+67
| | | | | | | | BUG=413513 Review URL: https://codereview.chromium.org/568793002 Cr-Commit-Position: refs/heads/master@{#294715}
* Fix potential race-condition _beginthreaddrbasic2014-09-123-18/+34
| | | | | | | | | | | | | | | | | Sometimes ppapi tests fails due to race condition. It's safer to use _beginthreadex than _beginthread. If the thread that's generated by _beginthread exits quickly, the handle that's returned to the caller of _beginthread might be invalid or point to another thread. However, the handle that's returned by _beginthreadex has to be closed by the caller of _beginthreadex, so it is guaranteed to be a valid handle if _beginthreadex did not return an error. R=bbudge@chromium.org BUG= Review URL: https://codereview.chromium.org/547543002 Cr-Commit-Position: refs/heads/master@{#294541}
* PPAPI: Make CallWhileUnlocked more permissive.dmichael2014-09-114-22/+26
| | | | | | | | | | | | | | | | | | Prior to this patch, CallWhileUnlocked required its parameters' types to be perfect matches to the types in the function pointer it's meant to invoke. This is counter to programmers' usual expectations for function calls, since the compiler will usually do safe casts like add const or promoting integral types. This just adds template params to CallWhileUnlocked so that any call with the appropriate number of parameters will be a template match. The compiler will still decide if there is a valid implicit conversion, so this is still safe in the sense that mismatched params still won't compile. BUG=160925 Review URL: https://codereview.chromium.org/552423003 Cr-Commit-Position: refs/heads/master@{#294405}
* Non-SFI mode: Quick workaround of unexpected CHECK failure.hidehiko2014-09-111-0/+6
| | | | | | | | | | | | | | | | | | | | | Recently, crrev.com/418423002 is landed, but it has a bug in Non-SFI mode. It introduces CHECK for the file token in ManifestService::OpenResource(). However, in Non-SFI mode, there is no NaClIPCAdapter, so the token is passed from the renderer directly. (Actually the IPC channel is connected directly to the renderer). As a result, if the renderer fills the file token properly, it crashes. As far as I investigated, it happens, at least, when the fast-path is triggered (i.e. OpenNaClExecutable works in DownloadFile in ppb_nacl_private_impl.cc). Anyway, we can ignore file tokens in Non-SFI mode, because it is for SFI NaCl's validation cache. BUG=394130 TEST=Ran trybots. Patched locally and run our Non-SFI NaCl app. CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_rel_precise32 Review URL: https://codereview.chromium.org/560983003 Cr-Commit-Position: refs/heads/master@{#294396}
* Clean up trusted plugin includes.Justin TerAvest2014-09-1014-105/+72
| | | | | | | | | | | | | | This change removes some unnecessary includes in the trusted plugin and replaces uses of nacl::string with std::string. This is intended to make it easier to (eventually) include headers from Chromium, which currently conflict with nacl_log.h. BUG= R=dmichael@chromium.org Review URL: https://codereview.chromium.org/552533006 Cr-Commit-Position: refs/heads/master@{#294213}
* Pepper: Stop using SRPC for irt_open_resource().Justin TerAvest2014-09-107-13/+72
| | | | | | | | | | | | | | | | | | | | | | | | This registers an IRT interface in Chromium instead of using the one provided by NaCl. This reuses the ManifestServiceChannel used for providing irt_open_resource() in non-SFI mode. In this change, the Chromium implementation of NACL_IRT_RESOURCE_OPEN_v0_1 takes precedence over the one supplied by NaCl (which is SRPC-based). The SRPC-based codepath in service_runtime.cc needs to be kept because the PNaCl translator doesn't have the IRT available yet. I've added a check to enforce that's the only user of that codepath. BUG=394130 TEST=Manually tested with a file token that didn't resolve with a local patch that forced GetFilePath to fail in nacl_process_host.cc and confirmed that URLLoader* still passed. CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_rel_precise32 R=dmichael@chromium.org, mseaborn@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/418423002 Cr-Commit-Position: refs/heads/master@{#294208}
* Remove Plugin::DocumentCanRequest.teravest2014-09-102-13/+0
| | | | | | | | | | | This is no longer used after the removal of FileDownloader from the trusted plugin. BUG= Review URL: https://codereview.chromium.org/560073002 Cr-Commit-Position: refs/heads/master@{#294197}
* Stabilize PPB_View.GetScrollOffsetraymes2014-09-102-7/+7
| | | | | | | | | | | The dev marker is removed, making this a stable pepper API. The context around this decision can be found here: https://groups.google.com/a/chromium.org/forum/#!topic/pepper-dev/Dw-UGrTuYuI Review URL: https://codereview.chromium.org/547523002 Cr-Commit-Position: refs/heads/master@{#294056}
* Make component build Chrome link.Brett Wilson2014-09-101-0/+2
| | | | | | | | | | It does not seem to run due to resource issues. R=jamesr@chromium.org Review URL: https://codereview.chromium.org/559763002 Cr-Commit-Position: refs/heads/master@{#294041}
* When use the Pepper MapTexSubImage2DCHROMIUM() and the Compositor API ↵penghuang2014-09-099-52/+105
| | | | | | | | | | together, it may cause memory leak, and then run out of memory. The problem is because the Compositor API uses sync point to sync texture producer and the Chrome compositor, it does not need any IPC, so the PpapiCommandBufferProxy::last_state_[1] will not get updated, so the client does not known when the GPU process finishes accessing the memory, and then the memory can not be reused forever. This change add a shared state in PpapiCommandBufferProxy. It allows PpapiCommandBufferProxy updating state from a shared memory without an IPC. It fix this issue. BUG=411004 Review URL: https://codereview.chromium.org/547733002 Cr-Commit-Position: refs/heads/master@{#294012}
* Generate Pepper IDL for OpenGLES2hamaji2014-09-096-59/+1478
| | | | | | | | | | | | | | | | Previously, we were directly generating header files for OpenGLES2 interface. This is not aligned with other Pepper APIs. The header file generated from the generated IDL file should be compatible with the previous one. To keep OpenGLES2 interfaces in struct namespace, this change introduces "force_struct_namespace" attribute to the generator script. TEST=trybots BUG=411799 Review URL: https://codereview.chromium.org/538903002 Cr-Commit-Position: refs/heads/master@{#293904}
* Remove the unused remnants of NPObject from Pepperraymes2014-09-092-4/+0
| | | | | | | | BUG=351636 Review URL: https://codereview.chromium.org/524353002 Cr-Commit-Position: refs/heads/master@{#293844}
* Add wfh@chromium.org to ipc OWNERS filesWill Harris2014-09-081-0/+1
| | | | | | | | | BUG=None R=thestig@chromium.org Review URL: https://codereview.chromium.org/550503003 Cr-Commit-Position: refs/heads/master@{#293783}
* Add lots of testonly annotations to the GN build.Brett Wilson2014-09-081-0/+1
| | | | | | | | | BUG= R=hclam@chromium.org Review URL: https://codereview.chromium.org/547793002 Cr-Commit-Position: refs/heads/master@{#293774}
* Update Pepper interface for EMEjrummell2014-09-0814-71/+784
| | | | | | | | | | | | | | | | | | | | To support CDM_6, make the following changes: - add SetServerCertificate - add GetUsableKeyIds - rename ReleaseSession to CloseSession - add RemoveSession - add SessionKeysChange event - add SessionExpirationChange event Includes changes to cdm_adapter for the new functionality. Changes to use these new interfaces in blink in a future CL. BUG=358271 TEST=existing EME tests still pass + manual testing Review URL: https://codereview.chromium.org/496143002 Cr-Commit-Position: refs/heads/master@{#293672}
* Convert GN visibility variables to lists.brettw2014-09-061-0/+6
| | | | | | | | | | | | | | Currently this is either a list or a string. However, this is causing some problems because templates can't add to the invoker's visibility list without knowing if the original is a string or a list. In an effort to make this consistent, I'm converting all visibiltiy to be lists, and will remove support for strings in a future build. This exempts cld from header checking since it was confusing GN's header checker. It adds a ppapi header target as well that will be used by libyuv (that requires a roll). TBR=scottmg Review URL: https://codereview.chromium.org/544423002 Cr-Commit-Position: refs/heads/master@{#293638}
* NaCl: add missing GYP dependancies on pthread_lib.ncbray2014-09-052-0/+3
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/538263003 Cr-Commit-Position: refs/heads/master@{#293467}
* Replace NPObject usage in ppapi with ginraymes2014-09-044-15/+21
| | | | | | | | | | | | | | | | This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. There are 4 major parts to this CL: 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. BUG=351636 Review URL: https://codereview.chromium.org/459553003 Cr-Commit-Position: refs/heads/master@{#293366}
* NaCl: Detect plugin crashes via EOF on Chromium IPC.Justin TerAvest2014-09-047-80/+24
| | | | | | | | | | | | | | | | | | | | | | | | This change uses the OnChannelError() callback in TrustedPluginChannel to detect that the channel between the renderer and NaCl processes has closed. Previously, closure of the SRPC channel between those two processes was used to indicate a plugin crash. I wasn't sure at first that OnChannelError() would be called, but it appears to be called reliably in the testing that I've done. This change removes a call to ReportCrash() in ServiceRuntime::ReapLogs() since ReportCrash() has become a no-op. This change reenables the NaClBrowserTest*.Crash tests on Linux to ensure that there's good coverage-- they seem to pass. TEST=NaClBrowserTest*.Crash BUG=366334,401105 R=mseaborn@chromium.org Review URL: https://codereview.chromium.org/512323002 Cr-Commit-Position: refs/heads/master@{#293297}
* Drop NaCl support for posting stdout/stderr to JS.teravest2014-09-037-84/+9
| | | | | | | | | | | | | After sending an email to the native-client-discuss list, it was determined that this feature for redirecting stdout and stderr to JavaScript isn't very useful. This drops support for that feature; a follow up change to the NaCl repository will remove support there (and the SRPC message). BUG=406558 Review URL: https://codereview.chromium.org/513273003 Cr-Commit-Position: refs/heads/master@{#293224}
* Revert of Replace NPObject usage in ppapi with gin (patchset #28 id:540001 ↵raymes2014-09-034-21/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/459553003/) Reason for revert: Causing a bunch of top crashes: go/crash/c383c0c43c093ea1 go/crash/576a27ecf5f32094 go/crash/08fc74881d1819ac go/crash/a6a00150ba55c0bf Original issue's description: > Replace NPObject usage in ppapi with gin > > This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. > > There are 4 major parts to this CL: > 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). > 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. > 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. > 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. > > > BUG=351636 > > Committed: https://chromium.googlesource.com/chromium/src/+/21f446ae855d60cc896b40cb9a3249ed07f150b3 > > Committed: https://chromium.googlesource.com/chromium/src/+/ee49e63baf57e503bd71dfe61c8a80df63eac9aa > > Committed: https://chromium.googlesource.com/chromium/src/+/e06bc5d896e494b9ec556f0e89dcc523778a1432 TBR=jochen@chromium.org,dmichael@chromium.org,kolczyk@opera.com NOTREECHECKS=true NOTRY=true BUG=351636 Review URL: https://codereview.chromium.org/537483002 Cr-Commit-Position: refs/heads/master@{#293079}
* Replace NPObject usage in ppapi with ginraymes2014-09-014-15/+21
| | | | | | | | | | | | | | | | | | | | This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. There are 4 major parts to this CL: 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. BUG=351636 Committed: https://chromium.googlesource.com/chromium/src/+/21f446ae855d60cc896b40cb9a3249ed07f150b3 Committed: https://chromium.googlesource.com/chromium/src/+/ee49e63baf57e503bd71dfe61c8a80df63eac9aa Review URL: https://codereview.chromium.org/459553003 Cr-Commit-Position: refs/heads/master@{#292823}
* Manual fixups in PPAPI for scoped_refptr operator T* removal.dcheng2014-08-291-1/+1
| | | | | | | | BUG=110610 Review URL: https://codereview.chromium.org/515283002 Cr-Commit-Position: refs/heads/master@{#292586}
* Revert of Replace NPObject usage in ppapi with gin (patchset #27 of ↵raymes2014-08-294-21/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/459553003/) Reason for revert: Failed memory tests: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/6791 Original issue's description: > Replace NPObject usage in ppapi with gin > > This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. > > There are 4 major parts to this CL: > 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). > 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. > 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. > 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. > > > BUG=351636 > > Committed: https://chromium.googlesource.com/chromium/src/+/21f446ae855d60cc896b40cb9a3249ed07f150b3 > > Committed: https://chromium.googlesource.com/chromium/src/+/ee49e63baf57e503bd71dfe61c8a80df63eac9aa TBR=jochen@chromium.org,dmichael@chromium.org,kolczyk@opera.com NOTREECHECKS=true NOTRY=true BUG=351636 Review URL: https://codereview.chromium.org/522583002 Cr-Commit-Position: refs/heads/master@{#292574}
* Replace NPObject usage in ppapi with ginraymes2014-08-294-15/+21
| | | | | | | | | | | | | | | | | | This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. There are 4 major parts to this CL: 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. BUG=351636 Committed: https://chromium.googlesource.com/chromium/src/+/21f446ae855d60cc896b40cb9a3249ed07f150b3 Review URL: https://codereview.chromium.org/459553003 Cr-Commit-Position: refs/heads/master@{#292557}
* Remove cevans@ from OWNERS files.thestig2014-08-291-1/+0
| | | | | | | | NOTRY=true Review URL: https://codereview.chromium.org/524433003 Cr-Commit-Position: refs/heads/master@{#292549}
* Revert of Replace NPObject usage in ppapi with gin (patchset #26 of ↵raymes2014-08-283-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/459553003/) Reason for revert: Crash in telemetry tests http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_swarming/builds/6615 Original issue's description: > Replace NPObject usage in ppapi with gin > > This replaces usage of NPObject in pepper with gin-backed V8 objects. It is unfortunate that this CL is so large, but there isn't a nice way to have the old implementation and the new one side-by-side. > > There are 4 major parts to this CL: > 1) Changing the HostVarTracker to track V8ObjectVars rather than NPObjectVars (host_var_tracker.cc). > 2) Changing plugin elements (in plugin_object.cc) to be gin-backed objects. > 3) Changing postMessage bindings (message_channel.cc) be gin-backed objects. > 4) Changing the implementation of PPB_Var_Deprecated (ppb_var_deprecated_impl.cc) to call directly into V8. > > > BUG=351636 > > Committed: https://chromium.googlesource.com/chromium/src/+/21f446ae855d60cc896b40cb9a3249ed07f150b3 TBR=jochen@chromium.org,dmichael@chromium.org,kolczyk@opera.com NOTREECHECKS=true NOTRY=true BUG=351636 Review URL: https://codereview.chromium.org/512983004 Cr-Commit-Position: refs/heads/master@{#292322}
* pdf: Create a separate component for using the pdf pepper plugin.Sadrul Habib Chowdhury2014-08-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a component necessary for showing PDF in a content-based client. Much of the relevant code currently lives in //chrome/, and is usable by chrome. Moving this code into a separate component in //components/pdf/ allows it to be easily used by other content-clients (e.g. app-shell, athena, etc.). This patch moves PPB_PDF_Impl (implementation for the PPB_PDF interface in ppapi) and the relevant IPC messages in the pdf component. A short summary of the changes in this patch: . Move ppb_pdf_impl.cc|h into //components/pdf from //chrome/renderer/pepper . Put this code in the 'pdf' namespace. This code lives in 'pdf_renderer' target. 'chrome_renderer' depends on this target. . Move the following IPC messages from render_messages.h to pdf_messages.h: - PDFUpdateContentRestrictions - PDFHasUnsupportedFeature - PDFSaveURLAs - PDFModalPromptForPassword Change the prefix of these messages from ChromeViewHostMsg_ to PDFHostMsg_ . Move PDFTabHelper into //components/pdf from //chrome/browser/ui/pdf. Put this code in the 'pdf' namespace. This code lives in 'pdf_browser' target. 'chrome_browser' depends on this target. BUG=401242 R=blundell@chromium.org, raymes@chromium.org, thestig@chromium.org, tsepez@chromium.org TBR=darin@chromium.org for DEPS Review URL: https://codereview.chromium.org/477263003 Cr-Commit-Position: refs/heads/master@{#292313}