|
|
Created:
6 years, 7 months ago by ericu Modified:
6 years, 7 months ago CC:
chromium-reviews, darin-cc_chromium.org Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionAllow BlobDataHandles to be copied, and have their UUIDs read, on any thread.
BUG=108012
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266817
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267423
Patch Set 1 #Patch Set 2 : Formatted #Patch Set 3 : Fix content_unittests #Patch Set 4 : Experimental Windows build fix #
Total comments: 6
Patch Set 5 : Rolled in Michael's feedback. #Patch Set 6 : Add cleanup to make ASAN happy. #Patch Set 7 : Change MessageLoop->RunLoop #Patch Set 8 : Put back the message loops; just use RunLoops for running. #Patch Set 9 : Make comments more uniform #
Total comments: 2
Messages
Total messages: 42 (0 generated)
lgtm (modulo small things to look at) https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_data_handle.cc (left): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_data_handle.cc:48: void BlobDataHandle::DeleteHelper( nice that this is no longer needed since the Shared class carries the ref to context https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_data_handle.cc (right): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_data_handle.cc:62: BlobData* BlobDataHandle::data() const { if the DCHECK(io_task_runner_->RunsTasksOnCurrentThread());= is here instead of in the Shared class, maybe it doesn't need the io_task_runner_ at all? https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_data_handle.h (right): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_data_handle.h:38: class BlobDataHandleShared too bad this has to be in the .h file :( https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_storage_context.h (right): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_storage_context.h:32: class BlobDataHandleShared; this doesn't look meaningful since it's really an inner class, is this needed?
https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_data_handle.cc (right): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_data_handle.cc:62: BlobData* BlobDataHandle::data() const { On 2014/04/28 18:25:22, michaeln wrote: > if the DCHECK(io_task_runner_->RunsTasksOnCurrentThread());= is here instead of > in the Shared class, maybe it doesn't need the io_task_runner_ at all? Good point; done. https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... File webkit/browser/blob/blob_storage_context.h (right): https://codereview.chromium.org/259773006/diff/60001/webkit/browser/blob/blob... webkit/browser/blob/blob_storage_context.h:32: class BlobDataHandleShared; On 2014/04/28 18:25:22, michaeln wrote: > this doesn't look meaningful since it's really an inner class, is this needed? Done.
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: tryserver.chromium on ios_dbg_simulator
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: tryserver.chromium on win_chromium_rel
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/80001
Message was sent while issue was closed.
Change committed as 266817
Message was sent while issue was closed.
A revert of this CL has been created in https://codereview.chromium.org/252163002/ by machenbach@chromium.org. The reason for reverting is: Causes leaks: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Te....
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/100001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium
Arg--need an additional OWNER review for the test fix. Antoine, can you take a quick look at content/browser/loader/upload_data_stream_builder_unittest.cc? Thanks!
MessageLoop::RunUntilIdle is deprecated, suggesting using a RunLoop instead. Mind replacing the pattern?
On 2014/04/30 22:31:41, piman wrote: > MessageLoop::RunUntilIdle is deprecated, suggesting using a RunLoop instead. > Mind replacing the pattern? Done.
LGTM, thanks!
The CQ bit was checked by ericu@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ericu@chromium.org/259773006/160001
Message was sent while issue was closed.
Change committed as 267423
Message was sent while issue was closed.
On 2014/05/01 04:22:23, I haz the power (commit-bot) wrote: > Change committed as 267423 It looks like this broke ASAN bot: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Te... http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Te...
Message was sent while issue was closed.
A revert of this CL has been created in https://codereview.chromium.org/261683005/ by falken@chromium.org. The reason for reverting is: I'm sorry to revert this change. It looks like it breaks the ASAN bot: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Te... Direct leak of 120 byte(s) in 3 object(s) allocated from: #0 0x520dbb in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62 #1 0x3a0f611 in webkit_blob::BlobDataHandle::BlobDataHandle(webkit_blob::BlobData*, webkit_blob::BlobStorageContext*, base::SequencedTaskRunner*) webkit/browser/blob/blob_data_handle.cc:42 #2 0x3a0fd71 in webkit_blob::BlobStorageContext::GetBlobDataFromUUID(std::string const&) webkit/browser/blob/blob_storage_context.cc:69 #3 0x268955d in ResolveBlobReference content/browser/loader/upload_data_stream_builder.cc:73 ....
https://codereview.chromium.org/259773006/diff/160001/content/browser/loader/... File content/browser/loader/upload_data_stream_builder_unittest.cc (right): https://codereview.chromium.org/259773006/diff/160001/content/browser/loader/... content/browser/loader/upload_data_stream_builder_unittest.cc:264: handle2.reset(); bah... also need to reset request_body and maybe upload, might be cleaner and more maintainable to push the majority of the method body down a scope... void ResolveBlobAndCreateUploadDataStream() { base::MessageLoop message_loop; { stuff } base::RunLoop().RunUntilIdle(); } https://codereview.chromium.org/259773006/diff/160001/content/browser/loader/... content/browser/loader/upload_data_stream_builder_unittest.cc:266: run_loop.RunUntilIdle(); i've seen this more consisely written as... base::RunLoop().RunUntilIdle(); ...in other tests.
Putting thru the cq again as https://codereview.chromium.org/261993004/ with the fix described earlier. |