summaryrefslogtreecommitdiffstats
path: root/ppapi
Commit message (Collapse)AuthorAgeFilesLines
* PPAPI/NaCl: Fix WebSocket proxy for NaCldmichael@chromium.org2012-11-091-5/+5
| | | | | | | | | | | unsigned long is 8 bytes on 64-bit platforms, and 4 bytes on NaCl. Thus, some WebSocket messages using unsigned long were not deserializing properly. BUG=160093 Review URL: https://chromiumcodereview.appspot.com/11312156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166837 0039d316-1c4b-4281-b951-d872f2087c98
* Disable breakpad_crash_test on Linux and Windows.bbudge@chromium.org2012-11-081-2/+3
| | | | | | | | | This test fails with the new NaCl IPC proxy. BUG=160089 TEST=nacl_integration Review URL: https://codereview.chromium.org/11293185 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166782 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite PPB_AudioInput_Dev to use the new-style host/resource.yzshen@chromium.org2012-11-0829-1490/+470
| | | | | | | | | | TEST=None BUG=None Review URL: https://chromiumcodereview.appspot.com/11366038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166777 0039d316-1c4b-4281-b951-d872f2087c98
* Make 0 call sequence numbers be invalid.brettw@chromium.org2012-11-082-8/+25
| | | | | | | | | | | | | | | | | | This was part of a previous change I abandoned but this part still seems like a good idea, since if you store sequence numbers for some reason, it's impossible to store one indicating you haven't made a request. I also worked to define the wraparound behavior since from a recent Chromium-dev thread, I learned that signed overflow is not defined in C++. My previous patch did this by using unsigned sequence numbers, but this is discouraged by the style guide and is kind of difficult to change at this point anyway. BUG= Review URL: https://codereview.chromium.org/11375003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166776 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Chrome IPC-based proxy the default for Native Client.bbudge@chromium.org2012-11-083-7/+15
| | | | | | | | | | This change removes --enable-nacl-ipc-proxy and adds --enable-nacl-srpc-proxy. The IPC PPAPI proxy is now the default. BUG=116317 TEST=manual Review URL: https://codereview.chromium.org/11358023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166753 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Make CompletionCallbacks work right on background threads.dmichael@chromium.org2012-11-0824-116/+445
| | | | | | | | | | | | | | | Now, TrackedCallback::Run will: -Run the callback immediately if it is on the right thread. -PostRun to the correct thread if it is not. This was preceded by https://chromiumcodereview.appspot.com/10909244/, which removed ClearAndRun and does some other little cleanups to TrackedCallback to make it usable on background threads. BUG=92909 Review URL: https://chromiumcodereview.appspot.com/10910099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166719 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure PluginResource doesn't live forever because of holding references ↵yzshen@chromium.org2012-11-087-13/+64
| | | | | | | | | | | | to itself. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/11387003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166629 0039d316-1c4b-4281-b951-d872f2087c98
* Convert PPB_Crypto_Dev to IDL.teravest@chromium.org2012-11-083-3/+53
| | | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/11275202 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166597 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: remove dead tests and files from the SCons build.ncbray@chromium.org2012-11-0826-2877/+0
| | | | | | | | | | | | | ppapi/native_client/tests/ppapi/ contained tests that checked PPAPI headers were compatible with the NaCl toolchain. These tests are no longer relevant. ppapi/native_client/tests/ppapi_simple_tests/ contained dead files. BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11358131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166589 0039d316-1c4b-4281-b951-d872f2087c98
* Return IPC proxy startup result codes so NaCl plugin can default to SRPC ↵bbudge@chromium.org2012-11-082-7/+26
| | | | | | | | | | correctly. BUG=116317 TEST=nacl_integration (with new proxy) Review URL: https://codereview.chromium.org/11369082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166581 0039d316-1c4b-4281-b951-d872f2087c98
* Enable pepper threading by default.brettw@chromium.org2012-11-084-10/+32
| | | | | | | | BUG=159240 Review URL: https://codereview.chromium.org/11361075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166560 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate list of NaCl SCons files in Chrome repo.ncbray@chromium.org2012-11-072-64/+37
| | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11312103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166533 0039d316-1c4b-4281-b951-d872f2087c98
* Convert NetworkState to IDL.teravest@chromium.org2012-11-073-5/+62
| | | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/11368108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166486 0039d316-1c4b-4281-b951-d872f2087c98
* Allow a video decoder object to be copied.brettw@chromium.org2012-11-072-6/+1
| | | | | | | | | | | Pepper C++ wrappers should be copyable. The internal implementation does an implicit destroy when the last reference is deleted, so the explicit one in the destructor is unnecessary. Review URL: https://chromiumcodereview.appspot.com/11363113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166421 0039d316-1c4b-4281-b951-d872f2087c98
* Remove even more redundant PPAPI tests from nacl_integration.ncbray@chromium.org2012-11-0712-1192/+0
| | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11293122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166329 0039d316-1c4b-4281-b951-d872f2087c98
* Update comments for the GeneratorByFile interface.teravest@chromium.org2012-11-071-29/+27
| | | | | | | | | | | | It would appear that the comments here are stale; I've updated them to reflect the method that derived classes must implement. BUG= Review URL: https://chromiumcodereview.appspot.com/11359071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166314 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: De-flake ppapi_extension_mime_handler.ccdmichael@chromium.org2012-11-061-1/+1
| | | | | | | | | BUG=159395 TBR=bbudge1 Review URL: https://codereview.chromium.org/11293105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166210 0039d316-1c4b-4281-b951-d872f2087c98
* Remove C++-style comments from C headers.sbc@chromium.org2012-11-065-10/+9
| | | | | | | | | | | | | | We compile the nacl examples with -pednatic which generates warnings for C++ style comments, and these seem to be the only 2 in the whole API. BUG= Review URL: https://chromiumcodereview.appspot.com/11363042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166124 0039d316-1c4b-4281-b951-d872f2087c98
* Add GetWebSocketTestDataDirectory() to test_data_directorytoyoshim@chromium.org2012-11-061-1/+1
| | | | | | | | | | | | | - add GetWebSocketTestDataDirectory() to provide test data directory - use GetTestCertsDirectory() to specify certificates path - use echo-with-no-extension_wsh.py instead of echo_wsh.py BUG=157531 TBR=wtc@chromium.org Review URL: https://chromiumcodereview.appspot.com/11270011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166078 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nacl_integration test to more reliably crash.bbudge@chromium.org2012-11-051-1/+1
| | | | | | | | BUG=116317 TEST=nacl_integration Review URL: https://codereview.chromium.org/11364075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166018 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Get TrackedCallback ready for running on non-main threads.dmichael@chromium.org2012-11-0522-161/+111
| | | | | | | | | | | | | | | | When CompletionCallbacks can run on background threads, ClearAndRun doesn't make sense anymore. Because the call may bounce to a different thread, we can't guarantee we'll run it right away, so setting the callback pointer to NULL is no longer a good way to indicate the callback has been run. Instead, callers should just use Run(), and rely on IsPending() to tell them if the call is still pending. TrackedCallback also can not use WeakPtrs, because those DCHECK if they are dereferenced on a different thread than they were created on. In particular, if a PPB implementation calls callback_->Run(PP_OK), that almost always happens on the main thread, and creates a WeakPtr<TrackedCallback> there. But Run will sometimes have to schedule a task on a non-main thread, and the WeakPtr will fail there. Note that because all this happens behind the proxy lock, it actually would be safe. But I just went with a bool flag to do the same checking as before, rather than try to subvert the WeakPtr checks. The CL for the Callbacks-on-background-threads feature is basically working and is here: https://chromiumcodereview.appspot.com/10910099 BUG=92909 Review URL: https://chromiumcodereview.appspot.com/10909244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166009 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ppapi_extension_mime_handler nacl test.dmichael@chromium.org2012-11-031-9/+11
| | | | | | | | | | | | | The URLLoader Resource that's passed to HandleDocumentLoad is released by the browser (or proxy) after HandleDocumentLoad returns. The plugin is expected to AddRefResource the URLLoader if they use it. In this case, the test was passing just because the synchronous SRPC proxy called ReadResponseBody back to the browser synchronously, which was able to read data immediately. Making the loaded data file bigger or using required callbacks made the test fail. AddRefing the URLLoader fixes it. BUG=116317 Review URL: https://chromiumcodereview.appspot.com/11312067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165807 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid leaking SerializedHandles.yzshen@chromium.org2012-11-025-45/+136
| | | | | | | | | | | | This CL automatically closes SerializedHandles at the receiving side of ResourceMessageParams (the host side for ResourceMessageCallParams; the plugin side for ResourceMessageReplyParams), if they are not taken by message handlers. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/11312017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165799 0039d316-1c4b-4281-b951-d872f2087c98
* DLOG rather than DCHECK in GetBrowserInterface when name is NULL.bbudge@chromium.org2012-11-021-3/+6
| | | | | | | | | | Tests exercise this code path. BUG=116317 TEST=nacl_integration Review URL: https://chromiumcodereview.appspot.com/11366065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165756 0039d316-1c4b-4281-b951-d872f2087c98
* Instantiate a base::AtExitManager in NaCl IPC proxy Main().bbudge@chromium.org2012-11-021-0/+2
| | | | | | | | BUG=116317 TEST=manual Review URL: https://codereview.chromium.org/11312061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165688 0039d316-1c4b-4281-b951-d872f2087c98
* Use extensions socket permission for TCP/UDP socket APIs in Pepperdpolukhin@chromium.org2012-11-024-14/+29
| | | | | | | | | | | | | | This CL is first step in removing whitelist of extensions. It makes permission check same as extensions do. BUG=124311 TEST=browser_tests for TCP/UDP Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=165376 Review URL: https://codereview.chromium.org/10993078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165634 0039d316-1c4b-4281-b951-d872f2087c98
* Don't assert if PluginInstance can't get PPP_Combined. Some tests exercise ↵bbudge@chromium.org2012-11-021-1/+0
| | | | | | | | | | | this path. BUG=116317 TEST=nacl_integration Review URL: https://chromiumcodereview.appspot.com/11367043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165608 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the PPAPI out of process proxy PPB_Instance::BindGraphics function.bbudge@chromium.org2012-11-021-6/+11
| | | | | | | | | | | When 'device' == 0, unbind all devices. Send a null HostResource instead of failing. BUG=116317 TEST=nacl_integration Review URL: https://chromiumcodereview.appspot.com/11365049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165579 0039d316-1c4b-4281-b951-d872f2087c98
* Fix generation of Single version IDL for SDKnoelallen@chromium.org2012-11-021-0/+10
| | | | | | | | | | | | | | When branching, if a new Interface has not been created with the new branch number, the IDL will report a failure to generate. We should instead produce the previous set of headers, but update the version macro in pp_macros.h BUG=158980 TBR=sehr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11275112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165572 0039d316-1c4b-4281-b951-d872f2087c98
* Add more tests to ppapi/tests/test_image_data.cc, to facilitatenfullagar@chromium.org2012-11-016-27/+105
| | | | | | | | | | | | | removal of corresponding NaCl PPAPI test. Add IsImageDataFormatSupported() static method to PPAPI cpp interface. Add comments to indicate which formats are always supported. TEST=test_image_data BUG=http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11348022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165557 0039d316-1c4b-4281-b951-d872f2087c98
* Move flash clipboard to the new proxy and add custom format supportraymes@chromium.org2012-11-0129-350/+795
| | | | | | | | | | | | | This moves the flash clipboard interface to the new pepper proxy. It also adds support for copying/pasting data of custom data formats (which is needed for flash). BUG=154497 TEST=Added new pepper tests Review URL: https://chromiumcodereview.appspot.com/11225021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165548 0039d316-1c4b-4281-b951-d872f2087c98
* Fix version discovery for Interfaces, Structsnoelallen@chromium.org2012-11-012-37/+79
| | | | | | | | | | | | | | | | | Now that we are looking at including structures and interfaces pointers in the version graph, we need to fix remove some simplifying assumptions, and correct the versioning calculation. Includes minor cleanup to how we call 'Main' to make it more compliant as well as catching exceptions so that we show the commandline options that caused that exception. BUG=154127,158980 TBR=sehr@chromium.org Review URL: https://chromiumcodereview.appspot.com/11263062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165526 0039d316-1c4b-4281-b951-d872f2087c98
* Pass PPAPI permissions to NaClProcessHost and HostDispatcher when starting up.bbudge@chromium.org2012-11-017-13/+27
| | | | | | | | BUG=116317 TEST=manual Review URL: https://codereview.chromium.org/11320005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165405 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 165376 - Use extensions socket permission for TCP/UDP socket APIs in ↵dpolukhin@chromium.org2012-11-014-29/+14
| | | | | | | | | | | | | | | | | | Pepper This CL is first step in removing whitelist of extensions. It makes permission check same as extensions do. BUG=124311 TEST=browser_tests for TCP/UDP Review URL: https://chromiumcodereview.appspot.com/10993078 TBR=dpolukhin@chromium.org Review URL: https://codereview.chromium.org/11368029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165379 0039d316-1c4b-4281-b951-d872f2087c98
* Use extensions socket permission for TCP/UDP socket APIs in Pepperdpolukhin@chromium.org2012-11-014-14/+29
| | | | | | | | | | | | | This CL is first step in removing whitelist of extensions. It makes permission check same as extensions do. BUG=124311 TEST=browser_tests for TCP/UDP Review URL: https://chromiumcodereview.appspot.com/10993078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165376 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PpapiPermissions from selected Private interfaces.bbudge@chromium.org2012-11-014-33/+52
| | | | | | | | | | | This change removes any proxy restrictions on PPB_* interfaces needed by PPAPI and NaCl plugins. Usage is still restricted in the browser. BUG=116317 TEST=browser_tests Review URL: https://chromiumcodereview.appspot.com/11301005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165374 0039d316-1c4b-4281-b951-d872f2087c98
* Port ppapi_progress_event test from nacl_integration to browser_tests.ncbray@chromium.org2012-10-309-110/+5
| | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11311011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165027 0039d316-1c4b-4281-b951-d872f2087c98
* Split IPC logging between content and chrome.jochen@chromium.org2012-10-301-0/+7
| | | | | | | | | | | | | I add a new content API to register IPC message loggers, and modify the IPC message macros to not directly create the g_log_function_mapping. That allows for multiple files generating IPC loggers. Also, it gets rid of the ctor/dtor for the g_log_function_mapping. BUG=101600,111316,155765 Review URL: https://codereview.chromium.org/11347012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164861 0039d316-1c4b-4281-b951-d872f2087c98
* Add type argument to pepper content decryptor method GenerateKeyRequest().tomfinegan@chromium.org2012-10-2912-68/+89
| | | | | | | | | | | The type argument is used to carry a MIME type that identifies the type of initialization data. TEST=encrypted ExternalClearKey tests pass Review URL: https://chromiumcodereview.appspot.com/11270057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164757 0039d316-1c4b-4281-b951-d872f2087c98
* Provide IPC mechanism for host-to-resource messagingvictorhsieh@chromium.org2012-10-293-62/+65
| | | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/11267034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164577 0039d316-1c4b-4281-b951-d872f2087c98
* Fix layering violation where content is included by gpu.ccameron@chromium.org2012-10-282-59/+0
| | | | | | | | | | | | | Make WebGraphicsContext3DCommandBufferImpl aways use CommandBufferProxyImpl instead of the more abstract CommandBufferProxy. Then remove methods used only by WebGraphicsContext3DCommandBufferImpl from CommandBufferProxy. BUG=157175 Review URL: https://chromiumcodereview.appspot.com/11267035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164564 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for additional a/v decoders to Pepper CDM API.tomfinegan@chromium.org2012-10-273-8/+26
| | | | | | | | | | | | | - Add audio codec AAC. - Add video codec H264. - Add H264 profiles. TEST=encrypted MP4 files play through External Clear Key Review URL: https://chromiumcodereview.appspot.com/11274065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164485 0039d316-1c4b-4281-b951-d872f2087c98
* Revert nacl.scons from r164136, the Scons build of ppapi_gles2 is used by ↵binji@chromium.org2012-10-261-0/+17
| | | | | | | | | | | | pnacl on the SDK bots. BUG=none R=ncbray@chromium.org Review URL: https://chromiumcodereview.appspot.com/11263054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164284 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce log spew in nacl_integration.ncbray@google.com2012-10-253-5/+0
| | | | | | | | BUG= none Review URL: https://codereview.chromium.org/11301002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164187 0039d316-1c4b-4281-b951-d872f2087c98
* Don't crash when destoying transfer buffer that isn't mapped.jbauman@chromium.org2012-10-251-4/+5
| | | | | | | | | | | | It's possible GetTransferBuffer was never called, or that it failed due to a GPU process crash, so don't crash when the transfer buffer isn't in the cache. BUG=https://code.google.com/p/chrome-os-partner/issues/detail?id=14476 Review URL: https://chromiumcodereview.appspot.com/11270036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164174 0039d316-1c4b-4281-b951-d872f2087c98
* Remove more redundant PPAPI interface tests from NaCl's SCons build.ncbray@chromium.org2012-10-2523-2185/+0
| | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://chromiumcodereview.appspot.com/11276017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164136 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Remove "#ifdef NACL_STANDALONE" code pathsmseaborn@chromium.org2012-10-255-33/+1
| | | | | | | | | | | | | | | | | | | | We no longer support building the NaCl PPAPI plugin as a standalone plugin that can be loaded via --register-pepper-plugins: the standalone NaCl build no longer tests that. We simplify the code under the assumption that NACL_STANDALONE is never defined. This removes the plugin's support for launching the standalone sel_ldr. Remove NaClPluginGetSandboxISA(), which was only used in a test case that has been removed. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2730 TEST=trybots Review URL: https://codereview.chromium.org/11274025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164106 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Remove the nacl_standalone==1 case from plugin.gypmseaborn@chromium.org2012-10-251-73/+40
| | | | | | | | | | | | We no longer support building the NaCl PPAPI proxy plugin as a standalone plugin that can be loaded via --register-pepper-plugins. BUG=http://code.google.com/p/nativeclient/issues/detail?id=2730 TEST=trybots Review URL: https://codereview.chromium.org/11269026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164097 0039d316-1c4b-4281-b951-d872f2087c98
* NaCl: Remove unused dylib_unittest.cc and plugin_unittest.ccmseaborn@chromium.org2012-10-253-140/+0
| | | | | | | | | | | | | | | These files were only referenced from build.scons files, which were removed in r160748. This test was testing the NaCl PPAPI plugin as a standalone plugin, which we no longer support. BUG=154400 TEST=trybots Review URL: https://codereview.chromium.org/11270021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163976 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a large file that should have been removed in 161524.ncbray@google.com2012-10-251-65536/+0
| | | | | | | | | | The file was big and the review system dropped it on the floor. BUG= http://code.google.com/p/chromium/issues/detail?id=154400 Review URL: https://codereview.chromium.org/11267025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163966 0039d316-1c4b-4281-b951-d872f2087c98