Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Issue 12703012: Have media gallery (through native media file util) use MIME sniffer (Closed)

Created:
7 years, 9 months ago by Kevin Bailey
Modified:
7 years, 7 months ago
CC:
chromium-reviews, tzik+watch_chromium.org, kinuko+watch, darin-cc_chromium.org, feature-media-reviews_chromium.org
Visibility:
Public.

Description

Have media gallery (through native media file util) use MIME sniffer to verify all media files before allowing user to open them. BUG=171753 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=199587

Patch Set 1 #

Total comments: 22

Patch Set 2 : Code review response. #

Total comments: 12

Patch Set 3 : More code review response, added device_media_async_file_util. #

Total comments: 7

Patch Set 4 : Minor formatting responses. #

Total comments: 6

Patch Set 5 : Correct method ordering. #

Patch Set 6 : More minor formatting. #

Patch Set 7 : Fixed "which thread" errors. #

Total comments: 2

Patch Set 8 : Previous code review response, plus trying to get new unit test passing. #

Total comments: 11

Patch Set 9 : Unit test working. #

Total comments: 2

Patch Set 10 : Unit test code review tweaks #

Total comments: 2

Patch Set 11 : Correct style in test. #

Total comments: 3

Patch Set 12 : Fixed ScopedPlatformFile. #

Total comments: 3

Patch Set 13 : Check invalid handle. #

Patch Set 14 : Add new MIME types without affecting current MIME sniffer behavior #

Patch Set 15 : Oops, forgot, I can now add Flash #

Total comments: 6

Patch Set 16 : Merged massive media files change. #

Patch Set 17 : Addressed comments about MIME sniffer. #

Total comments: 13

Patch Set 18 : Code review: More ShareableFileReference changes. #

Patch Set 19 : More minor changes. #

Total comments: 6

Patch Set 20 : Minor code review changes. #

Total comments: 13

Patch Set 21 : Name change. #

Patch Set 22 : Fixed unit test plus mime_sniffer review #

Total comments: 2

Patch Set 23 : Indentation fix. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+279 lines, -27 lines) Patch
M chrome/browser/media_galleries/fileapi/device_media_async_file_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +12 lines, -2 lines 0 comments Download
M chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +30 lines, -5 lines 0 comments Download
M chrome/browser/media_galleries/fileapi/native_media_file_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +12 lines, -0 lines 0 comments Download
M chrome/browser/media_galleries/fileapi/native_media_file_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +80 lines, -0 lines 0 comments Download
M chrome/browser/media_galleries/fileapi/native_media_file_util_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +52 lines, -13 lines 0 comments Download
M net/base/mime_sniffer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +16 lines, -0 lines 0 comments Download
M net/base/mime_sniffer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 6 chunks +77 lines, -7 lines 0 comments Download

Messages

Total messages: 56 (0 generated)
vandebo (ex-Chrome)
Looks good with just a few clean ups. This actually turned out to be less ...
7 years, 9 months ago (2013-03-20 00:18:27 UTC) #1
Kevin Bailey
Responses to second round of comments. One thing to discuss about possibly improving. https://codereview.chromium.org/12703012/diff/1/webkit/fileapi/media/native_media_file_util.cc File ...
7 years, 9 months ago (2013-03-20 13:53:23 UTC) #2
vandebo (ex-Chrome)
lgtm https://codereview.chromium.org/12703012/diff/1/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/1/webkit/fileapi/media/native_media_file_util.cc#newcode35 webkit/fileapi/media/native_media_file_util.cc:35: bool IsOnIOThread(fileapi::FileSystemOperationContext* context) { On 2013/03/20 13:53:23, Kevin ...
7 years, 9 months ago (2013-03-20 20:03:48 UTC) #3
vandebo (ex-Chrome)
Oops, didn't mean to click the LGTM button. I was going to say, sorry for ...
7 years, 9 months ago (2013-03-20 20:04:56 UTC) #4
Kevin Bailey
Also added changes to device_media_async_file_util, but haven't tested the latest since it doesn't appear that ...
7 years, 9 months ago (2013-03-21 15:53:19 UTC) #5
vandebo (ex-Chrome)
Kinuko is busy trying to get something done for Monday, so if you have cycles ...
7 years, 9 months ago (2013-03-21 16:51:12 UTC) #6
kinuko
lgtm https://codereview.chromium.org/12703012/diff/11001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/11001/webkit/fileapi/media/native_media_file_util.cc#newcode243 webkit/fileapi/media/native_media_file_util.cc:243: base::PlatformFileError NativeMediaFileUtil::IsMediaFile( nit: can you match the method ...
7 years, 9 months ago (2013-03-21 16:59:27 UTC) #7
vandebo (ex-Chrome)
Lets get a unit test worked out and then this can go in.
7 years, 9 months ago (2013-03-21 18:05:15 UTC) #8
Kevin Bailey
https://codereview.chromium.org/12703012/diff/11001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/11001/webkit/fileapi/media/native_media_file_util.cc#newcode243 webkit/fileapi/media/native_media_file_util.cc:243: base::PlatformFileError NativeMediaFileUtil::IsMediaFile( On 2013/03/21 16:59:28, kinuko wrote: > nit: ...
7 years, 9 months ago (2013-03-22 20:27:18 UTC) #9
vandebo (ex-Chrome)
https://codereview.chromium.org/12703012/diff/21001/webkit/fileapi/media/device_media_async_file_util.cc File webkit/fileapi/media/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/21001/webkit/fileapi/media/device_media_async_file_util.cc#newcode316 webkit/fileapi/media/device_media_async_file_util.cc:316: if (!callback.is_null()) { After looking at this a bit ...
7 years, 9 months ago (2013-03-25 19:02:11 UTC) #10
vandebo (ex-Chrome)
https://codereview.chromium.org/12703012/diff/30001/webkit/fileapi/media/device_media_async_file_util.cc File webkit/fileapi/media/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/30001/webkit/fileapi/media/device_media_async_file_util.cc#newcode68 webkit/fileapi/media/device_media_async_file_util.cc:68: base::PlatformFileError* p_error) { nit: error, not p_error in all ...
7 years, 8 months ago (2013-03-29 21:53:20 UTC) #11
Kevin Bailey
Somehow missed some old draft messages. https://codereview.chromium.org/12703012/diff/21001/webkit/fileapi/media/device_media_async_file_util.cc File webkit/fileapi/media/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/21001/webkit/fileapi/media/device_media_async_file_util.cc#newcode316 webkit/fileapi/media/device_media_async_file_util.cc:316: if (!callback.is_null()) { ...
7 years, 8 months ago (2013-04-03 18:05:07 UTC) #12
vandebo (ex-Chrome)
Like Lei said, it looks like maybe the issue is not running the message loop. ...
7 years, 8 months ago (2013-04-03 18:54:14 UTC) #13
Kevin Bailey
https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc File webkit/fileapi/media/native_media_file_util_unittest.cc (right): https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc#newcode97 webkit/fileapi/media/native_media_file_util_unittest.cc:97: NativeFileUtil::CreateOrOpen( On 2013/04/03 18:54:14, vandebo wrote: > It might ...
7 years, 8 months ago (2013-04-04 16:07:28 UTC) #14
vandebo (ex-Chrome)
LGTM with one required nit. https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc File webkit/fileapi/media/native_media_file_util_unittest.cc (right): https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc#newcode97 webkit/fileapi/media/native_media_file_util_unittest.cc:97: NativeFileUtil::CreateOrOpen( On 2013/04/04 16:07:28, ...
7 years, 8 months ago (2013-04-04 20:24:19 UTC) #15
Kevin Bailey
https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc File webkit/fileapi/media/native_media_file_util_unittest.cc (right): https://codereview.chromium.org/12703012/diff/37001/webkit/fileapi/media/native_media_file_util_unittest.cc#newcode97 webkit/fileapi/media/native_media_file_util_unittest.cc:97: NativeFileUtil::CreateOrOpen( Is this what you had in mind ? ...
7 years, 8 months ago (2013-04-05 15:24:35 UTC) #16
vandebo (ex-Chrome)
LGTM with nit. Should we commit this now, or hold off until you're able to ...
7 years, 8 months ago (2013-04-05 17:54:52 UTC) #17
Kevin Bailey
vandebo@chromium.org wrote: > Should we commit this now, or hold off until you're able > ...
7 years, 8 months ago (2013-04-05 20:39:51 UTC) #18
vandebo (ex-Chrome)
On 2013/04/05 20:39:51, Kevin Bailey wrote: > mailto:vandebo@chromium.org wrote: > > Should we commit this ...
7 years, 8 months ago (2013-04-05 20:42:37 UTC) #19
krb
On Fri, Apr 5, 2013 at 1:42 PM, <vandebo@chromium.org> wrote: > > I don't expect ...
7 years, 8 months ago (2013-04-05 20:54:49 UTC) #20
vandebo (ex-Chrome)
https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc#newcode24 webkit/fileapi/media/native_media_file_util.cc:24: class ScopedPlatformFileClose { I was looking at this because ...
7 years, 8 months ago (2013-04-12 18:02:57 UTC) #21
Kevin Bailey
https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc#newcode24 webkit/fileapi/media/native_media_file_util.cc:24: class ScopedPlatformFileClose { Ah, my deleter is instead of, ...
7 years, 8 months ago (2013-04-12 18:14:22 UTC) #22
Kevin Bailey
https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/60001/webkit/fileapi/media/native_media_file_util.cc#newcode24 webkit/fileapi/media/native_media_file_util.cc:24: class ScopedPlatformFileClose { On 2013/04/12 18:14:23, Kevin Bailey wrote: ...
7 years, 8 months ago (2013-04-12 20:52:19 UTC) #23
vandebo (ex-Chrome)
https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc#newcode28 webkit/fileapi/media/native_media_file_util.cc:28: base::ClosePlatformFile(file); I think you need to check that the ...
7 years, 8 months ago (2013-04-12 20:57:40 UTC) #24
Kevin Bailey
https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc#newcode28 webkit/fileapi/media/native_media_file_util.cc:28: base::ClosePlatformFile(file); I can of course make that tiny change, ...
7 years, 8 months ago (2013-04-12 22:58:35 UTC) #25
vandebo (ex-Chrome)
LGTM https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc File webkit/fileapi/media/native_media_file_util.cc (right): https://codereview.chromium.org/12703012/diff/67001/webkit/fileapi/media/native_media_file_util.cc#newcode28 webkit/fileapi/media/native_media_file_util.cc:28: base::ClosePlatformFile(file); On 2013/04/12 22:58:35, Kevin Bailey wrote: > ...
7 years, 8 months ago (2013-04-15 20:01:47 UTC) #26
Kevin Bailey
I moved the MIME sniffer changes into this CL, and made them so that they ...
7 years, 7 months ago (2013-04-29 14:15:58 UTC) #27
vandebo (ex-Chrome)
Also, you'll want to rebase your change - the media directoy was moved to chrome/browser/media_galleries/fileapi/ ...
7 years, 7 months ago (2013-04-29 19:43:50 UTC) #28
Kevin Bailey
Also handled changes to ...FileUtil::CreateSnapshotFile. https://codereview.chromium.org/12703012/diff/86001/net/base/mime_sniffer.cc File net/base/mime_sniffer.cc (right): https://codereview.chromium.org/12703012/diff/86001/net/base/mime_sniffer.cc#newcode119 net/base/mime_sniffer.cc:119: struct MagicMaskNumber { On ...
7 years, 7 months ago (2013-04-30 20:57:56 UTC) #29
vandebo (ex-Chrome)
+abarth Are these mime sniffer changes ok? +kinuko things have moved around a bit, does ...
7 years, 7 months ago (2013-04-30 21:20:36 UTC) #30
abarth-chromium
I don't think this logic should be in mime_sniffer.cc. The job of mime_sniffer.cpp is to ...
7 years, 7 months ago (2013-04-30 23:40:32 UTC) #31
vandebo (ex-Chrome)
On 2013/04/30 23:40:32, abarth wrote: > I don't think this logic should be in mime_sniffer.cc. ...
7 years, 7 months ago (2013-04-30 23:43:55 UTC) #32
abarth-chromium
On 2013/04/30 23:43:55, vandebo wrote: > There is a bit of infrastructure in this file. ...
7 years, 7 months ago (2013-04-30 23:50:53 UTC) #33
vandebo (ex-Chrome)
On 2013/04/30 23:50:53, abarth wrote: > On 2013/04/30 23:43:55, vandebo wrote: > > There is ...
7 years, 7 months ago (2013-05-01 00:02:21 UTC) #34
abarth-chromium
On 2013/05/01 00:02:21, vandebo wrote: > Deleting all the code from mime_sniffer.cc that we won't ...
7 years, 7 months ago (2013-05-01 00:11:04 UTC) #35
vandebo (ex-Chrome)
On 2013/05/01 00:11:04, abarth wrote: > On 2013/05/01 00:02:21, vandebo wrote: > > Deleting all ...
7 years, 7 months ago (2013-05-01 00:16:40 UTC) #36
kinuko
https://codereview.chromium.org/12703012/diff/96001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc File chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/96001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc#newcode337 chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc:337: callback, base::Unretained(media_task_runner), Please pass media_task_runner as a refptr, i.e. ...
7 years, 7 months ago (2013-05-01 02:03:46 UTC) #37
Kevin Bailey
Hi abarth, I suspect we haven't described the reason why we're using the MIME sniffer ...
7 years, 7 months ago (2013-05-01 14:09:03 UTC) #38
abarth-chromium
I'm out of the office until Monday. I'll reply when I get back. Sorry for ...
7 years, 7 months ago (2013-05-01 14:14:59 UTC) #39
Kevin Bailey
https://codereview.chromium.org/12703012/diff/96001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc File chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/96001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc#newcode76 chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc:76: if (*error == base::PLATFORM_FILE_ERROR_SECURITY) On 2013/04/30 21:20:36, vandebo wrote: ...
7 years, 7 months ago (2013-05-02 00:54:02 UTC) #40
vandebo (ex-Chrome)
LGTM after the following changes. https://codereview.chromium.org/12703012/diff/121001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc File chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/121001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc#newcode345 chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc:345: if (*error == base::PLATFORM_FILE_OK) ...
7 years, 7 months ago (2013-05-02 21:58:24 UTC) #41
Kevin Bailey
https://codereview.chromium.org/12703012/diff/121001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc File chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc (right): https://codereview.chromium.org/12703012/diff/121001/chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc#newcode345 chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc:345: if (*error == base::PLATFORM_FILE_OK) { On 2013/05/02 21:58:24, vandebo ...
7 years, 7 months ago (2013-05-03 16:52:55 UTC) #42
vandebo (ex-Chrome)
+rsleevi for net OWNERS stamp - abarth is ok with this for now, unless you ...
7 years, 7 months ago (2013-05-03 17:08:23 UTC) #43
Ryan Sleevi
LGTM with nits/reservations. https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.cc File net/base/mime_sniffer.cc (right): https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.cc#newcode124 net/base/mime_sniffer.cc:124: { (mime_type), (magic), sizeof(magic)-1, false, (mask) ...
7 years, 7 months ago (2013-05-03 19:03:24 UTC) #44
abarth-chromium
https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h File net/base/mime_sniffer.h (right): https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h#newcode47 net/base/mime_sniffer.h:47: // otherwise returns false. On 2013/05/03 19:03:24, Ryan Sleevi ...
7 years, 7 months ago (2013-05-06 17:54:11 UTC) #45
abarth-chromium
https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h File net/base/mime_sniffer.h (right): https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h#newcode53 net/base/mime_sniffer.h:53: NET_EXPORT bool IdentifyExtraMimeType(const char* content, Maybe "SniffMimeTypeFromTrustedLocalData" would be ...
7 years, 7 months ago (2013-05-06 17:54:59 UTC) #46
vandebo (ex-Chrome)
On 2013/05/06 17:54:11, abarth wrote: > https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h > File net/base/mime_sniffer.h (right): > > https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.h#newcode47 > ...
7 years, 7 months ago (2013-05-06 18:02:46 UTC) #47
abarth-chromium
On 2013/05/06 18:02:46, vandebo wrote: > Why do you say it should be used for ...
7 years, 7 months ago (2013-05-06 19:48:24 UTC) #48
vandebo (ex-Chrome)
I agree that the function we want to add should be clearly commented with respect ...
7 years, 7 months ago (2013-05-06 23:48:08 UTC) #49
abarth-chromium
I think the issue is that "trusted" is too coarse a word. Maybe we should ...
7 years, 7 months ago (2013-05-07 01:01:04 UTC) #50
vandebo (ex-Chrome)
On 2013/05/07 01:01:04, abarth wrote: > I think the issue is that "trusted" is too ...
7 years, 7 months ago (2013-05-07 01:02:37 UTC) #51
Kevin Bailey
On 2013/05/07 01:02:37, vandebo wrote: > > SGTM, thanks. Kevin will take care of that. ...
7 years, 7 months ago (2013-05-07 16:06:00 UTC) #52
Kevin Bailey
Belated, but here you go. https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.cc File net/base/mime_sniffer.cc (right): https://codereview.chromium.org/12703012/diff/133001/net/base/mime_sniffer.cc#newcode124 net/base/mime_sniffer.cc:124: { (mime_type), (magic), sizeof(magic)-1, ...
7 years, 7 months ago (2013-05-09 17:16:18 UTC) #53
vandebo (ex-Chrome)
LGTM https://codereview.chromium.org/12703012/diff/157001/net/base/mime_sniffer.cc File net/base/mime_sniffer.cc (right): https://codereview.chromium.org/12703012/diff/157001/net/base/mime_sniffer.cc#newcode753 net/base/mime_sniffer.cc:753: NULL, result)) nit: line wrap. https://codereview.chromium.org/12703012/diff/157001/net/base/mime_sniffer.cc#newcode757 net/base/mime_sniffer.cc:757: arraysize(kMagicNumbers), ...
7 years, 7 months ago (2013-05-09 21:21:13 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/krb@chromium.org/12703012/168001
7 years, 7 months ago (2013-05-10 18:40:16 UTC) #55
commit-bot: I haz the power
7 years, 7 months ago (2013-05-11 00:21:11 UTC) #56
Message was sent while issue was closed.
Change committed as 199587

Powered by Google App Engine
This is Rietveld 408576698