summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/test
Commit message (Collapse)AuthorAgeFilesLines
* Remove the obsolete JRI bits from the NPAPI headersstuartmorgan@chromium.org2010-05-071-6/+1
| | | | | | | | | BUG=42645 TEST=Existing plugin tests continue to pass; nothing should change. Review URL: http://codereview.chromium.org/2011005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46732 0039d316-1c4b-4281-b951-d872f2087c98
* Added a test for pepper3d. It ensures that we can successfully load a pepper ↵alokp@chromium.org2010-03-2618-147/+199
| | | | | | | | 3d plugin and render. Review URL: http://codereview.chromium.org/1073003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42793 0039d316-1c4b-4281-b951-d872f2087c98
* Move nphostapi.h to be with the rest of the NPAPI headers.jam@chromium.org2010-02-242-2/+2
| | | | | | Review URL: http://codereview.chromium.org/652161 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39852 0039d316-1c4b-4281-b951-d872f2087c98
* Finish implementing NPN_ConvertPoint, and add a unit test for itstuartmorgan@chromium.org2010-02-093-3/+94
| | | | | | | | | BUG=29457,31767 TEST=self-testing Review URL: http://codereview.chromium.org/580019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38417 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression in NPN_PluginThreadAsyncCall.jam@chromium.org2010-02-022-2/+32
| | | | | | | BUG=34062 Review URL: http://codereview.chromium.org/561014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37849 0039d316-1c4b-4281-b951-d872f2087c98
* bsds: views/ and webkit/ support for FreeBSD/OpenBSDevan@chromium.org2009-12-311-2/+2
| | | | | | | | | - add a TOOLKIT_USES_GTK #define to catch GTK and Views+GTK - lots of ifdef twiddling Review URL: http://codereview.chromium.org/519030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35402 0039d316-1c4b-4281-b951-d872f2087c98
* Clarify licenses on a bunch of files.evan@chromium.org2009-12-291-0/+4
| | | | | | | | | | | In this process, I also filed bugs on various projects we depend on that also have unclear licenses. BUG=28291 Review URL: http://codereview.chromium.org/521009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35323 0039d316-1c4b-4281-b951-d872f2087c98
* Enable windowless-based npapi_test_plugin tests on the Mac.stuartmorgan@chromium.org2009-12-182-6/+36
| | | | | | | | | BUG=30488 TEST=N/A Review URL: http://codereview.chromium.org/501074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34959 0039d316-1c4b-4281-b951-d872f2087c98
* Enable many of the NPAPI UI tests on Macstuartmorgan@chromium.org2009-12-162-3/+13
| | | | | | | | | BUG=none TEST=N/A Review URL: http://codereview.chromium.org/503029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34755 0039d316-1c4b-4281-b951-d872f2087c98
* Don't set referrers on outgoing plugin requests if the load_manually flag is ↵ananta@chromium.org2009-12-033-7/+36
| | | | | | | | | | | | | | | | | | | set. This emulates the behavior of other browsers and fixes http://code.google.com/p/chromium/issues/detail?id=28800 I added a UI test to validate that the plugin source URL is set on outgoing GetURL requests issued by the plugin. To validate that the document URL is set as the referrer on the initial URL request would take some more work. Will try and add that in a future CL. I also changed the WebPluginImpl::RouteToFrame function to set the referrer on similar lines. Bug=28800 Test=Covered by UI test Review URL: http://codereview.chromium.org/459003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33673 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that NPN_PluginThreadAsyncCall callbacks are not invoked after ↵apatrick@google.com2009-10-303-0/+127
| | | | | | | | | | | NPP_Destroy. TEST=none BUG=none Review URL: http://codereview.chromium.org/338050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30628 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented NPN_ScheduleTimer and NPN_UnscheduleTimer.apatrick@google.com2009-10-263-0/+190
| | | | | | | | | TEST=none BUG=18020 Review URL: http://codereview.chromium.org/329013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30105 0039d316-1c4b-4281-b951-d872f2087c98
* Add a regression test for the renderer hang when a plugin's NP_Initialize ↵jam@chromium.org2009-10-231-2/+17
| | | | | | | | | function crashes. BUG=25104 Review URL: http://codereview.chromium.org/337004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29923 0039d316-1c4b-4281-b951-d872f2087c98
* Fix scripting during NPP_Destroy. Note that if the plugin is making a call ↵jam@chromium.org2009-10-066-26/+72
| | | | | | | | | | to the renderer so this instance is in the callstack, destruction will have to be asynchronous and so scripting still won't work. This change also fixes use of PluginChannel after it's deleted (if this was the last instance). BUG=23713, 23706 TEST=added ui test Review URL: http://codereview.chromium.org/258026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28141 0039d316-1c4b-4281-b951-d872f2087c98
* Add an optional WebFrame parameter to WebView::findFrameByName.darin@chromium.org2009-09-303-0/+173
| | | | | | | | | | | | | This parameter is used to support _self and other names that need to be evaluated relative to a subframe. R=jam BUG=23009 TEST=none Review URL: http://codereview.chromium.org/257005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27646 0039d316-1c4b-4281-b951-d872f2087c98
* Fix FORWARD_NULL errors in plugin test helpers.mattm@chromium.org2009-09-222-9/+27
| | | | | | | | | CID=468,469,470,471,472,473,474 BUG=none Review URL: http://codereview.chromium.org/212041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26796 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a crash in the plugin process specifically in the ↵ananta@chromium.org2009-09-113-1/+22
| | | | | | | | | | | | | | | | | | | | PluginStreamUrl::DidReceiveData function. This crash occurs if the PluginStreamUrl instance is deleted in the context of PluginStream::Write which occurs if the underlying NPP_Write call to the plugin returns a negative value, indicating that the plugin did not accept data. We close the stream in this case which releases existing references to the PluginStream which results in the object being deleted. Added a UI test for this case. Fixes bug http://code.google.com/p/chromium/issues/detail?id=19393 Bug=19393 Review URL: http://codereview.chromium.org/199093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26011 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a crash caused due to a call to NPP_DestroyStream occuring in the ↵ananta@chromium.org2009-08-275-5/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | context of NPP_NewStream. The plugin would invoke NPN_Evaluate to display an alert in the context of NewStream. This would cause the didFail IPC to be dispatched which would cause the plugin to invoke another call to NPP_NewStream which would repeat these steps and crash. The didFail call from the renderer did not honor the deferred load flag which we set in WebPluginImpl prior to dispatching stream IPCs to the plugin. Fix is to dispatch the didFail call when we receive an ack from the plugin indicating that it is ready to accept stream data. This fixes bug http://code.google.com/p/chromium/issues/detail?id=20063 The other change is in WebPluginImpl::TearDownPluginInstance, where we run through the list of resource clients and cancel them. We call didFail on these clients here, which occurs anyway through the PluginDestroyed code path. Bug=20063 Test=Convered by interactive UI test. Review URL: http://codereview.chromium.org/174383 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24593 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 24266 - This CL ensures that plugins always peek in the context of ↵ananta@chromium.org2009-08-252-10/+2
| | | | | | | | | | | | | | | | | | | | | outgoing sync calls. I will be watching the reliability test runs closely for any crashes which creep in due to reentrancies into plugins caused by this CL. This fixes bug http://code.google.com/p/chromium/issues/detail?id=15985 It is a touch tricky to implement a test case for this. Will add one hopefully in a subsequent CL Bug=15985 Test=Covered by UI test Review URL: http://codereview.chromium.org/173211 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/173384 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24296 0039d316-1c4b-4281-b951-d872f2087c98
* This CL ensures that plugins always peek in the context of outgoing sync calls. ananta@chromium.org2009-08-252-2/+10
| | | | | | | | | | | | | | | I will be watching the reliability test runs closely for any crashes which creep in due to reentrancies into plugins caused by this CL. This fixes bug http://code.google.com/p/chromium/issues/detail?id=15985 It is a touch tricky to implement a test case for this. Will add one hopefully in a subsequent CL Bug=15985 Test=Covered by UI test Review URL: http://codereview.chromium.org/173211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24266 0039d316-1c4b-4281-b951-d872f2087c98
* Another attempt at landing this patch.ananta@chromium.org2009-08-042-1/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | The reliability tests regressions caused by this patch have been addressed by the upstream bug fix https://bugs.webkit.org/show_bug.cgi?id=27769 The IPCs for carrying data requested by plugins have been changed from synchronous IPCs to asynchronous IPCs. This fixes bug http://code.google.com/p/chromium/issues/detail?id=14323, where the Flash plugin would not render content on the page if these IPCs were processed while the plugin waited for sync calls like NPN_Evaluate to return. This CL also fixes the following bugs, which were crashes in reliability test runs when this patch was landed last time. http://code.google.com/p/chromium/issues/detail?id=18058 http://code.google.com/p/chromium/issues/detail?id=18059 The crash happens because of NPP_Write calls issued to the plugin while it is waiting for an NPN_Invoke call to return in the context of NPP_NewStream. Inspecting the safari plugin implementation revealed that they defer the resource load before calling the plugin and restore it on return. We emulate this behavior via an IPC sent from the plugin which serves as an acknowledgement. Test=covered by UI tests. Bug=14323,18058,18059 Review URL: http://codereview.chromium.org/159746 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22369 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 22041 as it caused plugin crashes in reliability test runs.ananta@chromium.org2009-07-302-92/+1
| | | | | | | | | | Also reverting 22065/22046/22041 which are changes to knowncrashes.txt. TBR=huanr Review URL: http://codereview.chromium.org/160418 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22109 0039d316-1c4b-4281-b951-d872f2087c98
* Another attempt at landing this patch. ananta@chromium.org2009-07-302-1/+92
| | | | | | | | | | | | | | | | | | | | | | The reliability tests regressions caused by this patch have been addressed by the upstream bug fix https://bugs.webkit.org/show_bug.cgi?id=27769 The IPCs for carrying data requested by plugins have been changed from synchronous IPCs to asynchronous IPCs. This fixes bug http://code.google.com/p/chromium/issues/detail?id=14323, where the Flash plugin would not render content on the page if these IPCs were processed while the plugin waited for sync calls like NPN_Evaluate to return. Test=covered by UI tests. Bug=14323 Review URL: http://codereview.chromium.org/160338 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22041 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r21548 and r21559 due to crash spike.huanr@chromium.org2009-07-252-92/+1
| | | | | | Review URL: http://codereview.chromium.org/159383 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21614 0039d316-1c4b-4281-b951-d872f2087c98
* The IPCs for carrying data requested by plugins have been changed from ↵ananta@chromium.org2009-07-242-1/+92
| | | | | | | | | | | | | | | | synchronous IPCs to asynchronous IPCs. This fixes bug http://code.google.com/p/chromium/issues/detail?id=14323, where the Flash plugin would not render content on the page if these IPCs were processed while the plugin waited for sync calls like NPN_Evaluate to return. Test=covered by UI tests. Bug=14323 Review URL: http://codereview.chromium.org/159296 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21548 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NPAPIIncognitoTester.PrivateEnabledjam@chromium.org2009-07-071-3/+0
| | | | | | | BUG=16149 Review URL: http://codereview.chromium.org/155182 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20099 0039d316-1c4b-4281-b951-d872f2087c98
* Disable NPAPIIncognitoTester.PrivateEnabled test because it's flaky.jhawkins@chromium.org2009-07-071-0/+3
| | | | | | | TBR=jam Review URL: http://codereview.chromium.org/149289 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20098 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding r20046.jhawkins@chromium.org2009-07-071-1/+1
| | | | | | | | | | | Fix a typo. CID=2001 BUG=none TEST=none Review URL: http://codereview.chromium.org/149270 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20092 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r20046.jhawkins@chromium.org2009-07-071-1/+1
| | | | | | Review URL: http://codereview.chromium.org/149264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20047 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a typo.jhawkins@chromium.org2009-07-071-1/+1
| | | | | | | | | CID=2001 BUG=none TEST=none Review URL: http://codereview.chromium.org/155153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20046 0039d316-1c4b-4281-b951-d872f2087c98
* Fix browser hang due to plugin deadlockamit@chromium.org2009-06-033-28/+57
| | | | | | | | | | | | | | | | | | | | | This involves two plugin instances with second instance making sync calls to the renderer while the first one is still servicing an incoming sync request. Our logic to unblock the renderer during the sync call fails since the 'in_dispatch_' counter is maintained per plugin channel (each plugin instance uses its own separate channel). Making 'in_dispatch_' counter static member of PluginChannelBase fixes this deadlock. Added a new NPAPI UI test for this scenario. BUG=12624 TEST=MultipleInstancesSyncCalls Review URL: http://codereview.chromium.org/119052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17492 0039d316-1c4b-4281-b951-d872f2087c98
* Add events to windowless plugins on linux. This CL also refactors the eventevan@chromium.org2009-05-221-12/+3
| | | | | | | | | | | | | communication between WebPlugin and WebPluginDelegate, to use a cross-platform message based on WebInputEvent. BUG=8202 TEST=A lot of manual testing on Linux and Windows, with Flash plugins and a custom plugin that dumps events on Linux. Review URL: http://codereview.chromium.org/115330 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16692 0039d316-1c4b-4281-b951-d872f2087c98
* Displaying consecutive alerts from plugins should not hang the browser. The ↵ananta@chromium.org2009-05-151-0/+3
| | | | | | | | | | | | | | | | | | plugins display alerts via the NPN_Evaluate API. The browser signals an event handle to ensure that the plugin starts peeking for messages while waiting for the NPN_Evaluate call to return. When the dialog is dismissed by the user, windows does send some messages to the plugin window underneath, like activation messages, etc. These don't get dispatched as the event is reset when the dialog is dismissed, i.e. much before the window is actually destroyed. The fix is to reset the event handle after the window is actually destroyed. To achieve this I added an OnClose virtual function to the DialogDelegate interface, which is overridden by the JavascriptMessageBoxDialog class which eventually ensures that the event is reset. This fixes http://code.google.com/p/chromium/issues/detail?id=10799 I updated the AlertInWindowMessage npapi test to display two alerts instead of one. Bug=10799 Review URL: http://codereview.chromium.org/113464 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16172 0039d316-1c4b-4281-b951-d872f2087c98
* Make WidgetWin redraw child windows that are in a different process ↵jam@chromium.org2009-05-143-10/+95
| | | | | | | | | | | asynchronously. This helps with jank (i.e. bug 11701 which I couldn't repro with this) and also with deadlocks (fixes 11421 for painting). BUG=11421,11701 Review URL: http://codereview.chromium.org/115216 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16027 0039d316-1c4b-4281-b951-d872f2087c98
* Delete the checked-in webkit .vcproj (and ancillary .sln) files.sgk@google.com2009-05-121-288/+0
| | | | | | Review URL: http://codereview.chromium.org/115188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15848 0039d316-1c4b-4281-b951-d872f2087c98
* Fix plugin window sticking around when parent became invisible. Added test ↵jam@chromium.org2009-05-101-14/+0
| | | | | | | | | | | | for all different scenarios. Note I grabbed the plugin hwnd and manually checked it instead of looking for callbacks from the plugin's SetWindow since the latter isn't called if the visibility changes. BUG=1842096 TEST=regression test included, test http://chromedashboard per bug Review URL: http://codereview.chromium.org/115169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15732 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Flash window in Analytics being incorrectly visible.jam@chromium.org2009-05-055-0/+76
| | | | | | | | | | The bug was that we accidentally marked a plugin widget as visible if it's parent was visible, even if it was explicitly set as hidden. BUG=8927 TEST=regression test included, also can verify that analytics doesn't display the gray rectangle per the bug Review URL: http://codereview.chromium.org/106008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15285 0039d316-1c4b-4281-b951-d872f2087c98
* Forgot an added file in http://codereview.chromium.org/99154amanda@chromium.org2009-04-281-0/+46
| | | | | | | TBR=mark@chromium.org Review URL: http://codereview.chromium.org/101014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14795 0039d316-1c4b-4281-b951-d872f2087c98
* Add the npapi_test_plugin to the Mac build of test_shellamanda@chromium.org2009-04-281-0/+6
| | | | | | Review URL: http://codereview.chromium.org/99154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14789 0039d316-1c4b-4281-b951-d872f2087c98
* Fix hang seen in plugin process because plugin creation ended up having to ↵jam@chromium.org2009-04-215-3/+123
| | | | | | | | | | wait on UI thread. Instead of using sync messages, the plugin hwnd is initially parented to the RenderWidgetHost's HWND. It's then lazily reparented to an intermediate HWND on the UI thread when it comes time to move it. BUG=10711 TEST=added regression tests, but testers please confirm plugins on top video sites are placed correctly. Review URL: http://codereview.chromium.org/67285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14137 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build break due to incorrect merge, TBR=awalkerjam@chromium.org2009-04-161-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13860 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we check the page pointer before using it after we come out of ↵jam@chromium.org2009-04-162-39/+45
| | | | | | | | | | NPP_HandleEvent, as it might have gone away depending on JavaScript that was executed by the plugin. BUG=9955 Review URL: http://codereview.chromium.org/75026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13858 0039d316-1c4b-4281-b951-d872f2087c98
* linux: make npapi_test_plugin loadable.evan@chromium.org2009-04-134-11/+86
| | | | | | | | We compiled before, but we'd crash with missing symbols when test_shell tried to load it. I also ported some bits of code, and added comments to the other bits that need porting. Review URL: http://codereview.chromium.org/73015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13620 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the checked-in scons configuration files.sgk@google.com2009-04-011-84/+0
| | | | | | Review URL: http://codereview.chromium.org/53121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12982 0039d316-1c4b-4281-b951-d872f2087c98
* We need to set the clipping region of the HDC passed in to a windowless ↵ananta@chromium.org2009-03-274-25/+39
| | | | | | | | | | | | | | | | | | flash plugin instance in NPP_HandleEvent for WM_PAINT. The windowless flash plugin instance queries the clipping region of the DC and on not finding it proceeds to paint the plugin window rect, which causes unnecessary CPU spikes. This fixes bug http://code.google.com/p/chromium/issues/detail?id=8835, where the plugin process would consume CPU even when we scrolled down to the static video images. With this fix the CPU usage for windowless flash plugins is on par with Firefox. Added a uitest which validates whether the hdc passed in to HandleEvent for WM_PAINT has a valid clipping region. Bug=8835 Review URL: http://codereview.chromium.org/53106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12651 0039d316-1c4b-4281-b951-d872f2087c98
* Expose whether we're in private browsing mode to plugins.I chose to ↵jam@chromium.org2009-03-264-1/+95
| | | | | | | | | implement this for multi-process mode only and not --single-process or --in-process-plugins, since I wanted to send this data from the browser process, not the renderer (in case it's exploited). BUG=158 Review URL: http://codereview.chromium.org/52037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12588 0039d316-1c4b-4281-b951-d872f2087c98
* Report the plugin position to windowed plugins as (0,0)jam@chromium.org2009-03-261-4/+14
| | | | | | | | | | . the NPAPI documentation says it should be reported relative to the parent HWND, which is the plugin's coordinates on the page. This assumption breaks in Chrome because we have an intermediate HWND. I've tested on a bunch of pages to see if this change causes regressions, if we find any in the future we can reconsider this. BUG=6742 Review URL: http://codereview.chromium.org/42626 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12587 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-1124-34/+0
| | | | | | | | | Normalize end of file newlines in webkit/. All files end in a single newline. Review URL: http://codereview.chromium.org/42070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11443 0039d316-1c4b-4281-b951-d872f2087c98
* Install the npapi_test_plugin in the same way we did the layout_test one.evan@chromium.org2009-01-231-1/+3
| | | | | | | Review URL: http://codereview.chromium.org/18563 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8582 0039d316-1c4b-4281-b951-d872f2087c98
* Improve scrolling performance when there are many windowed plugins in a page.jam@chromium.org2009-01-161-3/+0
| | | | | | | | This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling. BUG=5428 Review URL: http://codereview.chromium.org/18082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98