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

Issue 2422603003: MD Settings: handle zoom as floats to fix ghost zoom level issue (Closed)

Created:
4 years, 2 months ago by Dan Beam
Modified:
4 years, 2 months ago
Reviewers:
Devlin, michaelpg, dpapad
CC:
arv+watch_chromium.org, chromium-apps-reviews_chromium.org, chromium-reviews, dbeam+watch-settings_chromium.org, extensions-reviews_chromium.org, michaelpg+watch-md-settings_chromium.org, michaelpg+watch-md-ui_chromium.org, stevenjb+watch-md-settings_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

MD Settings: handle zoom as floats to fix ghost zoom level issue R=dpapad@chromium.org TBR=rdevlin.cronin@chromium.org BUG=655742 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Committed: https://crrev.com/0c1d68f185e5651164542cb6dd1c6ec9548ec1b1 Cr-Commit-Position: refs/heads/master@{#425569}

Patch Set 1 : todo #

Total comments: 15
Unified diffs Side-by-side diffs Delta from patch set Stats (+37 lines, -29 lines) Patch
M chrome/browser/extensions/api/settings_private/settings_private_delegate.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/api/settings_private/settings_private_delegate.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M chrome/browser/resources/settings/appearance_page/appearance_page.html View 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/resources/settings/appearance_page/appearance_page.js View 2 chunks +27 lines, -18 lines 13 comments Download
M chrome/common/extensions/api/settings_private.idl View 2 chunks +2 lines, -2 lines 2 comments Download

Dependent Patchsets:

Messages

Total messages: 27 (14 generated)
Dan Beam
sanity restored?
4 years, 2 months ago (2016-10-15 00:19:22 UTC) #3
dpapad
https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js File chrome/browser/resources/settings/appearance_page/appearance_page.js (right): https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js#newcode57 chrome/browser/resources/settings/appearance_page/appearance_page.js:57: * @type {!DropdownMenuOptionList} Type annotation no longer accurate. Should ...
4 years, 2 months ago (2016-10-15 00:58:07 UTC) #4
dpapad
LGTM, given green tests.
4 years, 2 months ago (2016-10-15 00:58:46 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2422603003/20001
4 years, 2 months ago (2016-10-15 19:02:08 UTC) #11
Dan Beam
TBR=rdevlin.cronin@ for long -> double
4 years, 2 months ago (2016-10-15 19:03:38 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2422603003/20001
4 years, 2 months ago (2016-10-15 19:03:53 UTC) #17
commit-bot: I haz the power
Committed patchset #1 (id:20001)
4 years, 2 months ago (2016-10-15 19:08:09 UTC) #19
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/0c1d68f185e5651164542cb6dd1c6ec9548ec1b1 Cr-Commit-Position: refs/heads/master@{#425569}
4 years, 2 months ago (2016-10-15 19:10:23 UTC) #21
michaelpg
https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js File chrome/browser/resources/settings/appearance_page/appearance_page.js (right): https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js#newcode65 chrome/browser/resources/settings/appearance_page/appearance_page.js:65: 1 / 3, when it comes to repeating decimals, ...
4 years, 2 months ago (2016-10-17 08:46:08 UTC) #23
Devlin
https://codereview.chromium.org/2422603003/diff/20001/chrome/common/extensions/api/settings_private.idl File chrome/common/extensions/api/settings_private.idl (right): https://codereview.chromium.org/2422603003/diff/20001/chrome/common/extensions/api/settings_private.idl#newcode82 chrome/common/extensions/api/settings_private.idl:82: static void setDefaultZoomPercent(double percent, On 2016/10/17 08:46:08, michaelpg wrote: ...
4 years, 2 months ago (2016-10-17 14:51:12 UTC) #24
Dan Beam
followups done here: https://codereview.chromium.org/2430463002 https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js File chrome/browser/resources/settings/appearance_page/appearance_page.js (right): https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js#newcode57 chrome/browser/resources/settings/appearance_page/appearance_page.js:57: * @type {!DropdownMenuOptionList} On 2016/10/15 ...
4 years, 2 months ago (2016-10-17 19:20:26 UTC) #25
michaelpg
https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js File chrome/browser/resources/settings/appearance_page/appearance_page.js (right): https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resources/settings/appearance_page/appearance_page.js#newcode65 chrome/browser/resources/settings/appearance_page/appearance_page.js:65: 1 / 3, On 2016/10/17 19:20:26, Dan Beam wrote: ...
4 years, 2 months ago (2016-10-17 19:58:15 UTC) #26
Dan Beam
4 years, 2 months ago (2016-10-17 21:01:20 UTC) #27
Message was sent while issue was closed.
https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resource...
File chrome/browser/resources/settings/appearance_page/appearance_page.js
(right):

https://codereview.chromium.org/2422603003/diff/20001/chrome/browser/resource...
chrome/browser/resources/settings/appearance_page/appearance_page.js:65: 1 / 3,
On 2016/10/17 19:58:15, michaelpg wrote:
> On 2016/10/17 19:20:26, Dan Beam wrote:
> > On 2016/10/17 08:46:08, michaelpg wrote:
> > > when it comes to repeating decimals, is this safe?
> > > 
> > > JSON pref store => double => JavaScript number => <option> string =>
> > JavaScript
> > > number => double => JSON pref store
> > 
> > safe enough, yes
> > https://cs.chromium.org/chromium/src/content/common/page_zoom.cc?l=16
> 
> ok, that's good. what about the JS side? we populate the <select> with option
> values generated in JS (implicitly converted to strings), and set the value
with
> a Number coming from C++ (implicitly converted to a string).
> 
> i guess... is Number.prototype.toString guaranteed to return the same string
for
> two equivalent rational numbers, one produced in JS and one produced in C++
and
> sent to JS via some binding? is the answer implementation or architecture
> dependent?
> 
> on my current machine, (2/3).toString() isn't accurate: "0.6666666666666666"
--
> even though with the same number of digits I can safely represent
> 0.6666666666666667 in a variable that prints the 7.
> 
> could CallJavascriptFunction('foo', FundamentalValue(2.0/3)) call foo with an
> argument like 0.6666666666666667, resulting in the select not finding a
correct
> option?
> 
> tl;dr using arbitrary real numbers converted to strings as keys scares me

i understand your concerns.

i think getting these numbers from zoom::kPresetZoomFactors in C++ and
DCHECK()ing that ZoomValuesEqual() one of them when setting from JS is best way
to go here.

Powered by Google App Engine
This is Rietveld 408576698