
Currently, Database::Open() incorrectly returns true when both attempts at opening the database fail. We're chalking this behavior up to a simple oversight in Database::OpenInternal()'s error handling. See the linked crbug for more details. This CL addresses the root cause by unifying Database::Open()'s error handling and retry logic. In doing so, it resolves a preexisting TODO. As a side effect, Database::Open() no longer invokes the error callback 6 times in the double-error scenario, which was why I originally filed the crbug. Bug: 1509891 Change-Id: Ib0b2f295a2932cf8612f74763db11896d11d6227 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5141149 Reviewed-by: Nan Lin <linnan@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Dan McArdle <dmcardle@chromium.org> Reviewed-by: Evan Stade <estade@chromium.org> Reviewed-by: Angela Yoeurng <yoangela@chromium.org> Cr-Commit-Position: refs/heads/main@{#1242432}