New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 656015 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 24
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocked on:
issue 730066

Blocking:
issue 462259
issue 705130



Sign in to add a comment

Implement File/Photo Picker

Project Member Reported by finnur@chromium.org, Oct 14 2016

Issue description

Chrome on Android currently uses a system intent to select photos from disk. 

This is problematic under low-memory conditions because Chrome might be shot down while the intent is running, so the intent has no place to deliver the photos that the user selected.

The proposal is to write our own picker dialog, like many Google apps have done. This bug keeps track of that effort.

PRD (with further justifications):
https://docs.google.com/document/d/1LCTahU7V2HN2i4SeLyGcQok-gl-c7EBU-XzBF20014E/edit#

Specs:
https://folio.googleplex.com/chrome-ux/mocks/401-clank-photo-picker/100716_PhotoPicker#%2F01_Picker.png

 

Comment 1 by finnur@chromium.org, Oct 14 2016

Created a small app which shows the dialog and the contents of the Downloads folder.

Teaser screenshot attached (has some ways to go before looking like the mocks) and doesn't implement selection yet.
Screenshot_20161014-145322.png
2.1 MB View Download

Comment 2 by finnur@chromium.org, Oct 18 2016

Re-factored the code to support showing a RecyclerView per storage (one for screenshots, one for camera, etc), as shown in mocks.

Also uploaded the code in its current state to git-hub:
https://github.com/finnurbreki/picker-dialog
(still no selection implemented)
Screenshot_20161018-140419.png
1.3 MB View Download

Comment 3 by rolfe@chromium.org, Oct 18 2016

Not too shabby though!

Comment 4 by rolfe@chromium.org, Oct 18 2016

Cc: -rolfe@chromium.org chowse@chromium.org
(removing myself and adding chowse@ as your design contact)
Issue 678775 has been merged into this issue.

Comment 6 by finnur@chromium.org, Mar 15 2017

Newer screenshots:
Screenshot_20170315-143635.png
2.6 MB View Download
Screenshot_20170315-143645.png
2.6 MB View Download

Comment 7 by chowse@chromium.org, Mar 15 2017

Really coming along! 3 comments (assuming they're not already being addressed):

1. Will this become a full-screen dialog by the time it's finished (i.e. no padding and scrim around the edges)?

2. There needs to be a little more spacing between the icon and label in the Camera and Browse buttons (10dp according to my notes).

3. What is that Stormtrooper's deal? ;)

Comment 8 by finnur@chromium.org, Mar 15 2017

Yes, I'm hoping to get it to use all the available width by the time it is finished. I was experimenting with it earlier, I think there's a missing flag somewhere. I'll take a look at the spacing as well. 

As for the Stormtrooper; it is keeping me company out here in the wilderness. There's also Darth Vader, but last time I tried to take his photo he grabbed me by the neck! :)

Comment 9 by finnur@chromium.org, Mar 16 2017

New screenshots, taking 1) and 2) from comment 7 into account.
Screenshot_20170316-142022.png
2.9 MB View Download
Screenshot_20170316-142028.png
2.9 MB View Download
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6a921c6657a051d484306088a1d85b992f1a64f

commit a6a921c6657a051d484306088a1d85b992f1a64f
Author: finnur <finnur@chromium.org>
Date: Fri Mar 17 12:29:08 2017

Implement the new Photo picker, part one.

This is the first step towards implementing a new Photo Picker for Chrome for
Android, broken down into multiple steps for easier reviewing.

First part includes simply replacing the stock Android picker with a Toast
saying "Not implemented".

Includes a Finch tie-in and a flag to turn this on manually ("Enable new
photopicker" in chrome://flags).

BUG= 656015 

Review-Url: https://codereview.chromium.org/2737393002
Cr-Commit-Position: refs/heads/master@{#457741}

[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/app/generated_resources.grd
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/browser/about_flags.cc
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/chrome/browser/android/chrome_feature_list.h
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/ui/android/BUILD.gn
[add] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/ui/android/java/src/org/chromium/ui/PhotoPickerListener.java
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/ui/android/java/src/org/chromium/ui/UiUtils.java
[modify] https://crrev.com/a6a921c6657a051d484306088a1d85b992f1a64f/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67f22396e43ea69024f3f158bfcd5ec411042dee

commit 67f22396e43ea69024f3f158bfcd5ec411042dee
Author: finnur <finnur@chromium.org>
Date: Sat Apr 08 13:46:02 2017

Implement the new Photo picker, part two.

This replaces the "Not implemented" Toast with a fully working dialog, except
the images used are all placeholder gray tiles (instead of actual decoded
images).

BUG= 656015 

Review-Url: https://codereview.chromium.org/2758313002
Cr-Commit-Position: refs/heads/master@{#463133}

[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/layout/photo_picker_bitmap_view.xml
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/layout/photo_picker_dialog.xml
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/layout/photo_picker_toolbar.xml
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/menu/photo_picker_menu.xml
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/values/colors.xml
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/res/values/dimens.xml
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerToolbar.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerAdapter.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmap.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[add] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/chrome/android/java_sources.gni
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/ui/android/java/src/org/chromium/ui/PhotoPickerListener.java
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
[modify] https://crrev.com/67f22396e43ea69024f3f158bfcd5ec411042dee/ui/android/java/strings/android_ui_strings.grd

Project Member

Comment 15 by bugdroid1@chromium.org, Apr 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83c9f3f4faeb35a3a2607446def65f1a8da7aa49

commit 83c9f3f4faeb35a3a2607446def65f1a8da7aa49
Author: finnur <finnur@chromium.org>
Date: Sat Apr 29 02:03:07 2017

Photo Picker Dialog: Use sandboxed utility process for decoding images.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2816733002
Cr-Commit-Position: refs/heads/master@{#468209}

[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/AndroidManifest.xml
[add] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java
[add] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
[add] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/MimeTypeFileFilter.java
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/83c9f3f4faeb35a3a2607446def65f1a8da7aa49/chrome/android/java_sources.gni

Project Member

Comment 16 by bugdroid1@chromium.org, May 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11faf12d156f25a7d8cbe0c87b44d19090e56542

commit 11faf12d156f25a7d8cbe0c87b44d19090e56542
Author: aelias <aelias@chromium.org>
Date: Mon May 01 16:57:28 2017

Revert of Photo Picker Dialog: Use sandboxed utility process for decoding images. (patchset #11 id:240001 of https://codereview.chromium.org/2816733002/ )

Reason for revert:
generate_orderfiles.py fails due to AndroidManifest.xml change (see  http://crbug.com/717071  )

BUG= 717071 

Original issue's description:
> Photo Picker Dialog: Use sandboxed utility process for decoding images.
>
> BUG= 656015 
>
> Review-Url: https://codereview.chromium.org/2816733002
> Cr-Commit-Position: refs/heads/master@{#468209}
> Committed: https://chromium.googlesource.com/chromium/src/+/83c9f3f4faeb35a3a2607446def65f1a8da7aa49

TBR=twellington@chromium.org,yusufo@chromium.org,tedchoc@chromium.org,finnur@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 656015 

Review-Url: https://codereview.chromium.org/2853793003
Cr-Commit-Position: refs/heads/master@{#468330}

[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/AndroidManifest.xml
[delete] https://crrev.com/5ac2cb3b42596a71378b03f544bf37daba34aa93/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java
[delete] https://crrev.com/5ac2cb3b42596a71378b03f544bf37daba34aa93/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
[delete] https://crrev.com/5ac2cb3b42596a71378b03f544bf37daba34aa93/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/MimeTypeFileFilter.java
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/11faf12d156f25a7d8cbe0c87b44d19090e56542/chrome/android/java_sources.gni

Project Member

Comment 17 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff4ca2efee2c251b4fded429984f4be90e1d43d5

commit ff4ca2efee2c251b4fded429984f4be90e1d43d5
Author: finnur <finnur@chromium.org>
Date: Wed May 03 09:06:47 2017

Photo Picker Dialog: Use sandboxed utility process for decoding images.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2816733002
Cr-Original-Commit-Position: refs/heads/master@{#468209}
Committed: https://chromium.googlesource.com/chromium/src/+/83c9f3f4faeb35a3a2607446def65f1a8da7aa49
Review-Url: https://codereview.chromium.org/2816733002
Cr-Commit-Position: refs/heads/master@{#468923}

[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/AndroidManifest.xml
[add] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java
[add] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
[add] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/MimeTypeFileFilter.java
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/ff4ca2efee2c251b4fded429984f4be90e1d43d5/chrome/android/java_sources.gni

Project Member

Comment 20 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4769f17299b55aba562e6ce2eb0ddea50275ec8e

commit 4769f17299b55aba562e6ce2eb0ddea50275ec8e
Author: finnur <finnur@chromium.org>
Date: Tue May 09 15:55:53 2017

Photo Picker Dialog: Handle the user selection in the dialog.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2869963003
Cr-Commit-Position: refs/heads/master@{#470346}

[modify] https://crrev.com/4769f17299b55aba562e6ce2eb0ddea50275ec8e/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Project Member

Comment 21 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3

commit b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3
Author: finnur <finnur@chromium.org>
Date: Tue May 09 18:06:34 2017

Photo Picker Dialog: Add caching for the decoded images.

Two caches are used: one that caches images at display size and another
that caches images at very low resolution. The latter provides a backup
for the display-sized cache-misses, to help one not loose one's bearings
when scrolling up and down.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2845773003
Cr-Commit-Position: refs/heads/master@{#470381}

[modify] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java/res/values/dimens.xml
[add] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapScalerTask.java
[modify] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java
[modify] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[modify] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/b6c7ed30b72bf250cc2f9d7954e0f44a5a9bcaf3/chrome/android/java_sources.gni

Project Member

Comment 23 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a9a3cc01ede1daea073f9a307e689893329bf315

commit a9a3cc01ede1daea073f9a307e689893329bf315
Author: finnur <finnur@chromium.org>
Date: Tue May 16 16:04:01 2017

Photo Picker dialog: Fix single-selection bug.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2889563002
Cr-Commit-Position: refs/heads/master@{#472119}

[modify] https://crrev.com/a9a3cc01ede1daea073f9a307e689893329bf315/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 24 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/18ec131dc99d91763d525370ce6d40f92805f207

commit 18ec131dc99d91763d525370ce6d40f92805f207
Author: finnur <finnur@chromium.org>
Date: Tue May 16 16:04:36 2017

Photo Picker Dialog: Fix Gallery button vector drawable tinting.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2881383002
Cr-Commit-Position: refs/heads/master@{#472120}

[modify] https://crrev.com/18ec131dc99d91763d525370ce6d40f92805f207/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 25 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c73bc5c480b880aac3a5a228e2b2102602be9619

commit c73bc5c480b880aac3a5a228e2b2102602be9619
Author: finnur <finnur@chromium.org>
Date: Tue May 16 16:59:15 2017

Photo Picker dialog: Make toolbar behave more like mocks.

- Background should not change in selection mode.
- Close icon instead of arrow (visible in selection and normal mode).

BUG= 656015 

Review-Url: https://codereview.chromium.org/2874033004
Cr-Commit-Position: refs/heads/master@{#472132}

[rename] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/res/color/blue_when_enabled.xml
[modify] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/res/layout/history_header.xml
[modify] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/res/layout/photo_picker_toolbar.xml
[delete] https://crrev.com/7b9e08e23f6e26b385619215fc80ac93d374a604/chrome/android/java/res/menu/photo_picker_menu.xml
[modify] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerToolbar.java
[modify] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/c73bc5c480b880aac3a5a228e2b2102602be9619/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java

Project Member

Comment 26 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9515a4f017409b83c75f5a743678a04dfb047b0

commit d9515a4f017409b83c75f5a743678a04dfb047b0
Author: finnur <finnur@chromium.org>
Date: Wed May 24 09:07:19 2017

Photo Picker dialog: Add a test.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2894523004
Cr-Commit-Position: refs/heads/master@{#474220}

[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/java/res/layout/photo_picker_bitmap_view.xml
[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java
[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/java_sources.gni
[add] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/javatests/src/org/chromium/chrome/browser/photo_picker/OWNERS
[add] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/chrome/android/javatests/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialogTest.java
[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/ui/android/java/src/org/chromium/ui/PhotoPickerListener.java
[modify] https://crrev.com/d9515a4f017409b83c75f5a743678a04dfb047b0/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Project Member

Comment 27 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae0e0ee4a1b482fc86a7edcd371179c9cfd75d87

commit ae0e0ee4a1b482fc86a7edcd371179c9cfd75d87
Author: finnur <finnur@chromium.org>
Date: Wed May 24 19:30:08 2017

Photo Picker dialog: Handle the results from the Browse button.

BUG= 656015 ,  725481 

Review-Url: https://codereview.chromium.org/2904943002
Cr-Commit-Position: refs/heads/master@{#474389}

[modify] https://crrev.com/ae0e0ee4a1b482fc86a7edcd371179c9cfd75d87/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Project Member

Comment 28 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c114d280bcd00241e9981a9ab854c998363175be

commit c114d280bcd00241e9981a9ab854c998363175be
Author: finnur <finnur@chromium.org>
Date: Wed May 24 22:31:14 2017

Photo Picker dialog: Handle device orientation changes.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2896313004
Cr-Commit-Position: refs/heads/master@{#474452}

[modify] https://crrev.com/c114d280bcd00241e9981a9ab854c998363175be/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java

Project Member

Comment 29 by bugdroid1@chromium.org, May 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1cef8a48c31a4922256a092c91c8dc02f7d8a2bd

commit 1cef8a48c31a4922256a092c91c8dc02f7d8a2bd
Author: finnur <finnur@chromium.org>
Date: Tue May 30 09:05:27 2017

Photo Picker Dialog: Make sure Back button fires the Cancel action.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2908163002
Cr-Commit-Position: refs/heads/master@{#475473}

[modify] https://crrev.com/1cef8a48c31a4922256a092c91c8dc02f7d8a2bd/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java

Project Member

Comment 30 by bugdroid1@chromium.org, May 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/88d2323b8f77429aba663b9cd1f1d1930bb5c948

commit 88d2323b8f77429aba663b9cd1f1d1930bb5c948
Author: finnur <finnur@chromium.org>
Date: Tue May 30 09:06:29 2017

Photo Picker dialog: Request Storage permission if not already granted (e.g. through downloads).

BUG= 656015 

Review-Url: https://codereview.chromium.org/2905273002
Cr-Commit-Position: refs/heads/master@{#475474}

[modify] https://crrev.com/88d2323b8f77429aba663b9cd1f1d1930bb5c948/ui/android/java/src/org/chromium/ui/UiUtils.java
[modify] https://crrev.com/88d2323b8f77429aba663b9cd1f1d1930bb5c948/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Blocking: 705130
Blockedon: 730066
Project Member

Comment 35 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76

commit 83e34cf9274af314b3a3ebc21e13a68dbc1cbb76
Author: finnur <finnur@chromium.org>
Date: Thu Jun 08 11:57:31 2017

Photo Picker dialog: Add UMA statistics.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2915863002
Cr-Commit-Position: refs/heads/master@{#477943}

[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapScalerTask.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerAdapter.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[add] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java/src/org/chromium/chrome/browser/util/ConversionUtils.java
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/chrome/android/java_sources.gni
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/83e34cf9274af314b3a3ebc21e13a68dbc1cbb76/tools/metrics/histograms/histograms.xml

Project Member

Comment 36 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d979c161f5387f19025bda50aca8e11960940631

commit d979c161f5387f19025bda50aca8e11960940631
Author: finnur <finnur@chromium.org>
Date: Thu Jun 08 23:16:00 2017

Photo Picker dialog: Pipe through the MIME type selections from the web page.

This ensures we only show JPG images if the page requests image/jpeg, for example.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2932433002
Cr-Commit-Position: refs/heads/master@{#478120}

[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/chrome/android/javatests/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialogTest.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/ui/android/java/src/org/chromium/ui/UiUtils.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
[modify] https://crrev.com/d979c161f5387f19025bda50aca8e11960940631/ui/android/junit/src/org/chromium/ui/base/SelectFileDialogTest.java

Project Member

Comment 37 by bugdroid1@chromium.org, Jun 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e797010f4efe41fd8696e1cb09e5ac7468d32ddc

commit e797010f4efe41fd8696e1cb09e5ac7468d32ddc
Author: finnur <finnur@chromium.org>
Date: Fri Jun 09 10:51:33 2017

Photo Picker dialog: Drop image caches under memory pressure.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2927083002
Cr-Commit-Position: refs/heads/master@{#478242}

[modify] https://crrev.com/e797010f4efe41fd8696e1cb09e5ac7468d32ddc/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java

Project Member

Comment 38 by bugdroid1@chromium.org, Jun 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3741abddbe2c1c03a473d33e68d92902727c8e44

commit 3741abddbe2c1c03a473d33e68d92902727c8e44
Author: finnur <finnur@chromium.org>
Date: Tue Jun 13 16:53:17 2017

Photo Picker dialog: Order selected photos the same as on screen.

BUG= 732508 ,  656015 

Review-Url: https://codereview.chromium.org/2935093002
Cr-Commit-Position: refs/heads/master@{#479054}

[modify] https://crrev.com/3741abddbe2c1c03a473d33e68d92902727c8e44/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java

Project Member

Comment 40 by bugdroid1@chromium.org, Jun 21 2017

Project Member

Comment 41 by bugdroid1@chromium.org, Jun 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9300b027733c50637cdf6bc3668f432c598c7a68

commit 9300b027733c50637cdf6bc3668f432c598c7a68
Author: finnur <finnur@chromium.org>
Date: Wed Jun 21 17:21:29 2017

Photo Picker dialog: Fix possible crash in closeRequest when decoding fails.

BUG=735457,  656015 

Review-Url: https://codereview.chromium.org/2953573002
Cr-Commit-Position: refs/heads/master@{#481230}

[modify] https://crrev.com/9300b027733c50637cdf6bc3668f432c598c7a68/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java

Project Member

Comment 45 by bugdroid1@chromium.org, Jul 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a90e1022c20213b0bd1fde0e38724956438a946

commit 5a90e1022c20213b0bd1fde0e38724956438a946
Author: finnur <finnur@chromium.org>
Date: Thu Jul 06 18:11:12 2017

Photo Picker dialog: Polish to adhere better to spec.

Summary of changes:

- Change font style for Camera and Browse labels.
- Change background color for Camera and Browse tiles from black to light-gray.
- Change Camera and Browse tiles to use same background when enabled and disabled.
- Change label color for Camera and Browse tiles to dark gray (enabled) and light gray (disabled).
- Slightly increase font size for Done button.
- Make sure selection ring (on unselected items) shows only in multi-selection.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2973763003
Cr-Commit-Position: refs/heads/master@{#484669}

[modify] https://crrev.com/5a90e1022c20213b0bd1fde0e38724956438a946/chrome/android/java/res/layout/photo_picker_bitmap_view.xml
[modify] https://crrev.com/5a90e1022c20213b0bd1fde0e38724956438a946/chrome/android/java/res/layout/photo_picker_toolbar.xml
[modify] https://crrev.com/5a90e1022c20213b0bd1fde0e38724956438a946/chrome/android/java/res/values/colors.xml
[modify] https://crrev.com/5a90e1022c20213b0bd1fde0e38724956438a946/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 47 by bugdroid1@chromium.org, Jul 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/70723e5cfb0beee2ee996cdfd161e7932cdb4e6a

commit 70723e5cfb0beee2ee996cdfd161e7932cdb4e6a
Author: finnur <finnur@chromium.org>
Date: Fri Jul 07 15:52:07 2017

Photo Picker dialog: Make it full screen, but not blocking the status bar.

BUG= 656015 

Review-Url: https://codereview.chromium.org/2973923002
Cr-Commit-Position: refs/heads/master@{#484940}

[modify] https://crrev.com/70723e5cfb0beee2ee996cdfd161e7932cdb4e6a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java

Project Member

Comment 48 by bugdroid1@chromium.org, Jul 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f3662a4f24a9e21f0ee3804d142c0ff980071fd

commit 8f3662a4f24a9e21f0ee3804d142c0ff980071fd
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Mon Jul 10 11:30:09 2017

Photo Picker dialog: Rename string variable.

Bug= 656015 

Change-Id: I20ebfcee39a4c4774abcd71ff5045209af41b715
Reviewed-on: https://chromium-review.googlesource.com/563656
Commit-Queue: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485233}
[modify] https://crrev.com/8f3662a4f24a9e21f0ee3804d142c0ff980071fd/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java
[modify] https://crrev.com/8f3662a4f24a9e21f0ee3804d142c0ff980071fd/chrome/android/java/strings/android_chrome_strings.grd

Comment 49 by boliu@chromium.org, Jul 21 2017

Cc: boliu@chromium.org
Hi, I became aware of this feature that launches a sandboxed child process in the renderer from a code review.

For long term maintenance, chrome on android should not have two different ways to launch child processes. There are a lot of shared concerns, like setting the right "oom order", setting up basic things like sandbox and crash reporting.

I understand this is a service that's meant to be java only, but I think long term, it's easier to teach content layer to launch java-only child processes rather than maintaining two separate code paths.
Project Member

Comment 50 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a7796affc015b6960bbcd5fda123c8dd5e13dbf

commit 2a7796affc015b6960bbcd5fda123c8dd5e13dbf
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Thu Aug 17 22:58:32 2017

Photo Picker Dialog: Better transition to external intents.

When the Photo Picker launches an intent (e.g. show camera), it often closes
the dialog before the intent has launched, creating a jarring experience for
the user since it looks like the dialog just disappears. It feels broken.

This is an attempt at fixing that by delay dismissing for a bit while the 
intent has a chance to start up.

Bug:  746553 ,  656015 
Change-Id: I55630af151dbef68ca4e3b18c4f5d1f329d4f708
Reviewed-on: https://chromium-review.googlesource.com/613900
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495366}
[modify] https://crrev.com/2a7796affc015b6960bbcd5fda123c8dd5e13dbf/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java

Project Member

Comment 51 by bugdroid1@chromium.org, Aug 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c972ec487fbd4c5266f047d6775df3dccfc60149

commit c972ec487fbd4c5266f047d6775df3dccfc60149
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri Aug 18 10:14:50 2017

Photo Picker Dialog: Fix ripples on special tiles.

Ripples should not show on the Camera/Browse buttons when they are disabled.
But when they are enabled, the ripple should extend all the way down.

Bug:  746551 ,  656015 
Change-Id: Ia3ba430e763352b287054c696f49de8566b67ec0
Reviewed-on: https://chromium-review.googlesource.com/619150
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495517}
[modify] https://crrev.com/c972ec487fbd4c5266f047d6775df3dccfc60149/chrome/android/java/res/layout/photo_picker_bitmap_view.xml
[modify] https://crrev.com/c972ec487fbd4c5266f047d6775df3dccfc60149/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 52 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25ea55d7e5d5766ea66901fef9bd635d61f314de

commit 25ea55d7e5d5766ea66901fef9bd635d61f314de
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Mon Aug 21 11:13:15 2017

Photo Picker dialog: Fix blurry Camera icon.

Switch from a checked-in icon to an svg (thereby using same method for both Camera and Browse).

Bug:  746550 ,  656015 
Change-Id: Iff8a2c641a85d99fe5869d9ef86ae4e5e612db16
Reviewed-on: https://chromium-review.googlesource.com/621026
Reviewed-by: Ted Choc (OOO 8.21-25) <tedchoc@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495910}
[add] https://crrev.com/25ea55d7e5d5766ea66901fef9bd635d61f314de/chrome/android/java/res/drawable/ic_photo_camera_grey.xml
[modify] https://crrev.com/25ea55d7e5d5766ea66901fef9bd635d61f314de/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 53 by bugdroid1@chromium.org, Oct 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/108a1d14755d798db702626b26d0b577604b1a94

commit 108a1d14755d798db702626b26d0b577604b1a94
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Mon Oct 09 12:33:15 2017

PhotoPicker: Add UMA showing how many photos were selected.

Bug:  656015 
Change-Id: I44a00f83e057b5ddff0cc32031b78b6ba14e67d0
Reviewed-on: https://chromium-review.googlesource.com/685654
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507361}
[modify] https://crrev.com/108a1d14755d798db702626b26d0b577604b1a94/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/108a1d14755d798db702626b26d0b577604b1a94/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java

Project Member

Comment 54 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16b74ca517cbf521cfddd4848715842765345b84

commit 16b74ca517cbf521cfddd4848715842765345b84
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Mon Nov 27 14:01:55 2017

Photo Picker: Enable by default.

Bug:  656015 
Change-Id: Icbe7f932b211a937841825d8c1ef3c0dc9e47920
Reviewed-on: https://chromium-review.googlesource.com/728241
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519294}
[modify] https://crrev.com/16b74ca517cbf521cfddd4848715842765345b84/chrome/browser/android/chrome_feature_list.cc

Project Member

Comment 55 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86eea866ea298b67dc47bdb84f8a7821a5d12882

commit 86eea866ea298b67dc47bdb84f8a7821a5d12882
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Tue Dec 05 16:49:00 2017

Android Photo Picker: Respect Exif rotation.

Bug:  789067 ,  656015 
Change-Id: Ie4201d0b9db4add3321917c31b18152b5b441411
Reviewed-on: https://chromium-review.googlesource.com/808504
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521718}
[modify] https://crrev.com/86eea866ea298b67dc47bdb84f8a7821a5d12882/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java

Project Member

Comment 56 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ee6c5884d8d5664902fa1e7b97a5544a85af69c

commit 9ee6c5884d8d5664902fa1e7b97a5544a85af69c
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Mon Dec 11 19:12:58 2017

Android Photo Picker: Add UMA for Exif rotation.

And finish the rest of the permutations, since they're easy
to implement...

Bug:  789067 ,  656015 
Change-Id: I32893ff6ce2ef1d0221abc117a42a09e8ee7b136
Reviewed-on: https://chromium-review.googlesource.com/813916
Reviewed-by: Gayane Petrosyan <gayane@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523157}
[modify] https://crrev.com/9ee6c5884d8d5664902fa1e7b97a5544a85af69c/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java
[modify] https://crrev.com/9ee6c5884d8d5664902fa1e7b97a5544a85af69c/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/9ee6c5884d8d5664902fa1e7b97a5544a85af69c/tools/metrics/histograms/histograms.xml

Project Member

Comment 57 by bugdroid1@chromium.org, Dec 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e714cdc4eebe63de4d802af85b099cd4126a187f

commit e714cdc4eebe63de4d802af85b099cd4126a187f
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Thu Dec 14 17:17:11 2017

Android Photo Picker: Cancel outdated requests again.

Somewhere along the way we stopped listening to recycler
events, which breaks the mechanism that invalidates old
(outdated) requests for decoding. This CL reinstates
that.

Bug:  793934 ,  656015 
Change-Id: I0df070c851bb75a1dccd1e7b5854c8846905ceb9
Reviewed-on: https://chromium-review.googlesource.com/827015
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524095}
[modify] https://crrev.com/e714cdc4eebe63de4d802af85b099cd4126a187f/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java

Project Member

Comment 58 by bugdroid1@chromium.org, Jan 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d6618b325782d56aaf7f1260bb0392cd9e09433

commit 0d6618b325782d56aaf7f1260bb0392cd9e09433
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri Jan 05 17:25:33 2018

PhotoPicker: Fix crash in isPictureTile.

The crash happens because a selection event comes in before the image has
had a chance to initialize. The fix is to stop processing selection events
until the image has been initialized (not much point in selecting an image
you can't see yet).

Bug: 760785,  656015 
Change-Id: I51d0ec827067f8bcd4b694f9a79e8bb457b0bb28
Reviewed-on: https://chromium-review.googlesource.com/852452
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527308}
[modify] https://crrev.com/0d6618b325782d56aaf7f1260bb0392cd9e09433/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 59 by bugdroid1@chromium.org, Jan 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/419aed71fc0a23f9d8e65d484ac5de6da9b4dd84

commit 419aed71fc0a23f9d8e65d484ac5de6da9b4dd84
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Wed Jan 17 13:55:57 2018

Android PhotoPicker: Fix crash.

The SelectionDelegate will try to notify us that all selections
have been cleared when the user cancels the dialog.

But if the PickerBitmapView object has not initialized, we cannot
and should not process that message (we don't have enough info to
process it). Also, updateSelectionState will be called again once
the object has initialized.

Bug: 760785,  656015 
Change-Id: I3673906aeb915d293e9e7287bfd5061efca4cf7d
Reviewed-on: https://chromium-review.googlesource.com/870318
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529729}
[modify] https://crrev.com/419aed71fc0a23f9d8e65d484ac5de6da9b4dd84/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 60 by bugdroid1@chromium.org, Jan 23 2018

Labels: merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7ffc81cf2d11429d8f5ca8f408724206cc3fae5

commit a7ffc81cf2d11429d8f5ca8f408724206cc3fae5
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Tue Jan 23 00:51:10 2018

PhotoPicker: Fix crash in isPictureTile.

The crash happens because a selection event comes in before the image has
had a chance to initialize. The fix is to stop processing selection events
until the image has been initialized (not much point in selecting an image
you can't see yet).

Bug: 760785,  656015 
Change-Id: I51d0ec827067f8bcd4b694f9a79e8bb457b0bb28
Reviewed-on: https://chromium-review.googlesource.com/852452
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#527308}(cherry picked from commit 0d6618b325782d56aaf7f1260bb0392cd9e09433)
Reviewed-on: https://chromium-review.googlesource.com/879180
Reviewed-by: Claude Masso <cmasso@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#580}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/a7ffc81cf2d11429d8f5ca8f408724206cc3fae5/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 61 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea0a59cf20f5c74b326e050e0629ebe5f6033111

commit ea0a59cf20f5c74b326e050e0629ebe5f6033111
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Tue Jan 23 00:52:12 2018

Android PhotoPicker: Fix crash.

The SelectionDelegate will try to notify us that all selections
have been cleared when the user cancels the dialog.

But if the PickerBitmapView object has not initialized, we cannot
and should not process that message (we don't have enough info to
process it). Also, updateSelectionState will be called again once
the object has initialized.

Bug: 760785,  656015 
Change-Id: I3673906aeb915d293e9e7287bfd5061efca4cf7d
Reviewed-on: https://chromium-review.googlesource.com/870318
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#529729}(cherry picked from commit 419aed71fc0a23f9d8e65d484ac5de6da9b4dd84)
Reviewed-on: https://chromium-review.googlesource.com/879781
Reviewed-by: Claude Masso <cmasso@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#581}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/ea0a59cf20f5c74b326e050e0629ebe5f6033111/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 62 by bugdroid1@chromium.org, Jan 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9e6c6aa91ade7d1b891f2edfd9f6b3d7d123cd2d

commit 9e6c6aa91ade7d1b891f2edfd9f6b3d7d123cd2d
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Tue Jan 30 15:37:58 2018

Android PhotoPicker: Fix crash.

Earlier I fixed a crash in updateSelectionState by
returning early. That, however, isn't enough because
onSelectionState also calls isPictureTile, when it
is not safe to do so (because initialize hasn't been
called).

A better way is to move the early return up one
function in the callstack (from updateSelectionState
to onSelectionState), which should catch both of these
issues.

To be sure, I also checked if updateSelectionState could
be called outside of onSelectionState and found two variants:
1) It is called after initialize (when it is safe).
2) It is called after we call isPictureTile (e.g. in setChecked),
in which case we would already be seeing crash stacks for
that (but we're not).

Bug: 760785,  656015 
Change-Id: I0f200b16cd34698e103dc4c2b07b3f86c948adad
Reviewed-on: https://chromium-review.googlesource.com/892886
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532887}
[modify] https://crrev.com/9e6c6aa91ade7d1b891f2edfd9f6b3d7d123cd2d/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 63 by bugdroid1@chromium.org, Feb 16 2018

Labels: merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a81fc80e315fc4e96a2413ebb035e3e3c5ab372

commit 5a81fc80e315fc4e96a2413ebb035e3e3c5ab372
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri Feb 16 17:12:38 2018

Android PhotoPicker: Fix crash.

Earlier I fixed a crash in updateSelectionState by
returning early. That, however, isn't enough because
onSelectionState also calls isPictureTile, when it
is not safe to do so (because initialize hasn't been
called).

A better way is to move the early return up one
function in the callstack (from updateSelectionState
to onSelectionState), which should catch both of these
issues.

To be sure, I also checked if updateSelectionState could
be called outside of onSelectionState and found two variants:
1) It is called after initialize (when it is safe).
2) It is called after we call isPictureTile (e.g. in setChecked),
in which case we would already be seeing crash stacks for
that (but we're not).

Bug: 760785,  656015 
Change-Id: I0f200b16cd34698e103dc4c2b07b3f86c948adad
Reviewed-on: https://chromium-review.googlesource.com/892886
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#532887}(cherry picked from commit 9e6c6aa91ade7d1b891f2edfd9f6b3d7d123cd2d)
Reviewed-on: https://chromium-review.googlesource.com/924060
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#489}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/5a81fc80e315fc4e96a2413ebb035e3e3c5ab372/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapView.java

Project Member

Comment 64 by bugdroid1@chromium.org, Mar 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec64f1d40a10424382e1d8b55f0c7b07bae6df9b

commit ec64f1d40a10424382e1d8b55f0c7b07bae6df9b
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Wed Mar 28 13:07:55 2018

Android Photo Picker: Fix crash in DecodeServiceHost.

A runtime exception is happening while unparceling the data
from the decoder. This will catch and report the error,
instead of crashing, which allows us to see how widespread
the problem is.

TBR: mpearson@chromium.org
Bug: 823408,  656015 
Change-Id: Iab63d5e3680a9a11dc2a00d2598f7b7e82367b6b
Reviewed-on: https://chromium-review.googlesource.com/980972
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546465}
[modify] https://crrev.com/ec64f1d40a10424382e1d8b55f0c7b07bae6df9b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/ec64f1d40a10424382e1d8b55f0c7b07bae6df9b/tools/metrics/histograms/histograms.xml

Project Member

Comment 65 by bugdroid1@chromium.org, May 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5867568755a0564e78625ec57be31ffc42bcef1b

commit 5867568755a0564e78625ec57be31ffc42bcef1b
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Wed May 09 16:20:01 2018

Chrome Android PhotoPicker: Catch OOM in DecoderHost.

Bug: 839981,  656015 
Change-Id: I086a8c448c4192317538d4994ccceb65ba20ef0a
Reviewed-on: https://chromium-review.googlesource.com/1050249
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557213}
[modify] https://crrev.com/5867568755a0564e78625ec57be31ffc42bcef1b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/5867568755a0564e78625ec57be31ffc42bcef1b/tools/metrics/histograms/histograms.xml

Project Member

Comment 66 by bugdroid1@chromium.org, May 11 2018

Labels: merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc344bff9dfe77eebb87af5555928521d30d826b

commit fc344bff9dfe77eebb87af5555928521d30d826b
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri May 11 18:35:28 2018

Chrome Android PhotoPicker: Catch OOM in DecoderHost.

Bug: 839981,  656015 
Change-Id: I086a8c448c4192317538d4994ccceb65ba20ef0a
Reviewed-on: https://chromium-review.googlesource.com/1050249
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557213}(cherry picked from commit 5867568755a0564e78625ec57be31ffc42bcef1b)
Reviewed-on: https://chromium-review.googlesource.com/1054013
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#569}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/fc344bff9dfe77eebb87af5555928521d30d826b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java
[modify] https://crrev.com/fc344bff9dfe77eebb87af5555928521d30d826b/tools/metrics/histograms/histograms.xml

Can we close this now?
Status: Fixed (was: Started)
Woo hoo! :)
Project Member

Comment 70 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6738399c6daa2b2730b7150e04476a797515bbff

commit 6738399c6daa2b2730b7150e04476a797515bbff
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Thu Sep 20 16:42:49 2018

Photo Picker: Fix the double-tap to click problem.

The SelectableListToolbar is setting FocusInTouchMode to
true for all its children. This is problematic for the Done
button, as it then requires two taps to click.

Also, while I was at it, use the same styling for the Done
button as the Done button in the Contacts Picker.

Bug:  813422 ,  656015 
Change-Id: I277626563885621b3bf677697d464a3299e6658f
Reviewed-on: https://chromium-review.googlesource.com/1236435
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Commit-Queue: Theresa <twellington@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592832}
[modify] https://crrev.com/6738399c6daa2b2730b7150e04476a797515bbff/chrome/android/java/res/layout/photo_picker_toolbar.xml
[modify] https://crrev.com/6738399c6daa2b2730b7150e04476a797515bbff/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java

Project Member

Comment 71 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/80bb54c1a5af0a3c13b4d844e964d0f9a53e9bdd

commit 80bb54c1a5af0a3c13b4d844e964d0f9a53e9bdd
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Fri Sep 28 10:47:08 2018

Photo Picker: 2nd attempt to reenable tests.

They remain disabled on KitKat, which was the problematic version before.

Bug: 888931,  656015 
Change-Id: I853ea893bfbb60dc6e08095a303ecd32a39325d4
Reviewed-on: https://chromium-review.googlesource.com/1245710
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595047}
[modify] https://crrev.com/80bb54c1a5af0a3c13b4d844e964d0f9a53e9bdd/chrome/android/javatests/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialogTest.java

Project Member

Comment 72 by bugdroid1@chromium.org, Oct 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64cbb81c493f0c52b64a72d171fd73190a9ca8e3

commit 64cbb81c493f0c52b64a72d171fd73190a9ca8e3
Author: Finnur Thorarinsson <finnur@chromium.org>
Date: Tue Oct 09 15:14:19 2018

Contacts & Photo Pickers: Use pre-defined styles for number roll view.

Also deletes an unused file and a TODO that's been resolved.

Bug: 860467,  656015 
Change-Id: I04110075bf309f2013d6b5de02e0d3fa5f5932e6
Reviewed-on: https://chromium-review.googlesource.com/c/1264777
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597919}
[delete] https://crrev.com/9b6626ad9e61b3b7d4344dc9ae80ea28ab116e57/chrome/android/java/res/color/blue_when_enabled.xml
[modify] https://crrev.com/64cbb81c493f0c52b64a72d171fd73190a9ca8e3/chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java
[modify] https://crrev.com/64cbb81c493f0c52b64a72d171fd73190a9ca8e3/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerToolbar.java

Blocking: 462259

Sign in to add a comment