Yes - you can confirm this yourself - but we strongly recommend against
disabling the renderer sandbox.


On Tue, Apr 30, 2024 at 10:46 PM Steven Whelan <[email protected]>
wrote:

> Yes, trying to do this in renderer process. Would it work if I run
> Chromium with --nosandbox flag.
>
> On Tue, Apr 30, 2024, 21:58 Ken Russell <[email protected]> wrote:
>
>> Are you trying to do this within Chrome's renderer or GPU processes? If
>> so, the sandbox will prevent you from touching the local disk. You would
>> need to extend the sandbox policies to allow writing to a directory on disk
>> - some place that will not collide with other programs, so that if a bad
>> actor causes data to be written to that directory, no harm will be caused.
>> See
>> https://source.chromium.org/chromium/chromium/src/+/main:sandbox/policy/mac/
>> for the macOS sandbox policies.
>>
>> -Ken
>>
>>
>>
>> On Tue, Apr 30, 2024 at 8:59 AM Steven Whelan <[email protected]>
>> wrote:
>>
>>> Hi
>>> I have modified the Serialize
>>> <https://source.chromium.org/chromium/chromium/src/+/main:cc/paint/paint_op_buffer_serializer.cc;l=5;bpv=1;bpt=1?q=paint_op_buffer_ser&ss=chromium%2Fchromium%2Fsrc>
>>>  method
>>> to Record all PaintOp as SKPicture.
>>> I want to replay this SKPicture on a remote browser. So, I am trying to
>>> save this SKPicture to a file, but I am not able to do so, since
>>> file.isOpen gives false.
>>> Please help here
>>>
>>> void PaintOpBufferSerializer::Serialize(const PaintOpBuffer& buffer,
>>>                                         const std::vector<size_t>*
>>> offsets,
>>>                                         const Preamble& preamble) {
>>>   DCHECK_EQ(serialized_op_count_, 0u);
>>>
>>>   std::unique_ptr<SkCanvas> canvas = MakeAnalysisCanvas(options_);
>>>   // These PlaybackParams use the initial (identity) canvas matrix, as
>>> they are
>>>   // only used for serializing the preamble and the initial save / final
>>> restore
>>>   // SerializeBuffer will create its own PlaybackParams based on the
>>>
>>>  * SkPictureRecorder recorder;*
>>>  * SkCanvas* recordingCanvas =
>>> recorder.beginRecording(canvas->getLocalClipBounds());         *
>>>   // post-preamble canvas.
>>>   PlaybackParams params = MakeParams(canvas.get());
>>>   int save_count = canvas->getSaveCount();
>>>   Save(canvas.get(), params);
>>>   SerializePreamble(canvas.get(), preamble, params);
>>>   SerializeBuffer(canvas.get(), buffer, offsets);
>>>   *SerializeBuffer(recordingCanvas, buffer, offsets);*
>>>
>>>
>>> *sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();
>>> SkSerialProcs sProcs;  sk_sp<SkData> readableData =
>>> picture->serialize(&sProcs);*
>>>   // Assuming the byte array is stored in the 'data' field of the SkData
>>> object
>>>   const void* data = readableData->data();
>>>   size_t size = readableData->size();
>>>
>>> * <HOW TO SAVE READABLE DATA TO A FILE>*
>>>   /*sk_sp<SkData> receievedData = SkData::MakeWithoutCopy(data, size);
>>>   sk_sp<SkPicture> copy =
>>>       SkPicture::MakeFromData(receievedData->data(),
>>> receievedData->size());
>>>   copy->playback(recordingCanvas);*/
>>>   RestoreToCount(canvas.get(), save_count, params);
>>> }
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/97946d8b-27dc-43c4-a262-e4f6288be9d6n%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/97946d8b-27dc-43c4-a262-e4f6288be9d6n%40chromium.org?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMYvS2eqsWPK09kuN3%3DCU3xj1ON3gO-tK4DZaXFg9giJ5Q6keg%40mail.gmail.com.

Reply via email to