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

Issue 623587 link

Starred by 13 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug

Blocking:
issue 614588
issue 614589



Sign in to add a comment

MD settings: support legacy URLs

Reported by em...@spalger.com, Jun 27 2016

Issue description

features: Notifications should link to relevant settings section

bugs: Push notification from chrome appears, click the gear/settings icon, expect to be taken to relevant settings but end up at the index of the settings page
 
Cc: dbeam@chromium.org
Labels: Hotlist-MD-Settings-Navigation
Status: Available (was: Unconfirmed)
Summary: Notification gear icon should go to notification settings (was: Clicked gear button on notification, taken to settings index)
Blocking: 614588 614589
Labels: OS-All
The Options URL was chrome://settings/contentExceptions#notifications
but the MD Settings URL is chrome://settings/siteSettings/notifications

more generally, legacy URLs is a problem we have to solve for launch.
Owner: tommycli@chromium.org
Either we should support the old URL, or we should try to update the references to the new URL when MD Settings is enabled.

@tommycli -- if your router work supports old URLs, can we support the notifications one from this bug?
 Issue 629473  has been merged into this issue.
Cc: steve...@chromium.org
Tommy, can we start supporting some of the high-impact legacy URLs? Notifications is one of these, I saw a few people asking for it from Canary feedback.
Labels: -Pri-2 Pri-1
We can make the URLs anything we want, so we could match the old ones exactly. There's no support for redirection at this time though.

So my questions are:

1. Do we want to preserve the old URLs exactly? That would be OK with me. If so, then we don't need redirections.

2. Otherwise, we need to add redirection support to the router, which would be fine too.

Tommy

Comment 8 by dbeam@chromium.org, Aug 9 2016

tommycli@:

> 1. Do we want to preserve the old URLs exactly?

I don't see this as necessary or even desired.  As these old URLs accrue, we'll have a harder and harder time keeping them back-compatible.  I think making them redirect to new URLs for a time then removing that code eventually seems more sustainable.

> 2. Otherwise, we need to add redirection support to the router, which would be fine too.

I think we should just do a one-time mapping from known older URLs to new URLs.
I agree with Dan. I think if we try to use the old URLs in the new UI it will cause confusion and we will quickly come across one that does not make sense. Better to set up mappings from the get go.
Alright sounds good. In that case, I'd recommend the mappings exist in the C++ code so we can return the 301 Permanently Moved HTTP status.
tommycli@: does that offer some benefit?  i.e. does chrome automagically update bookmarks or something?
I thought Chrome did update the bookmarks, but after checking, it doesn't.

It does cache the redirect though, so it would be (marginally) faster.
A couple other legacy URL requests from users:
* chrome://settings/cookies
* chrome://settings/content
 Issue 636220  has been merged into this issue.

Comment 15 by dbeam@chromium.org, Sep 26 2016

Summary: MD settings: support legacy URLs (was: Notification gear icon should go to notification settings)

Comment 16 by dbeam@chromium.org, Sep 26 2016

Cc: tommycli@chromium.org
Owner: ----
Cc: miguelg@chromium.org peter@chromium.org
 Issue 626151  has been merged into this issue.
 Issue 653114  has been merged into this issue.
 Issue 651089  has been merged into this issue.

Comment 20 by dbeam@chromium.org, Oct 24 2016

Cc: -tommycli@chromium.org
Owner: tommycli@chromium.org
Hey guys:

I started a spreadsheet of legacy URLs here: https://docs.google.com/a/google.com/spreadsheets/d/1lhqLnlGp0PJuihg8Wz1zBx55LsbSdEASdOIjfZm-XIw/edit?usp=sharing

I have a question. Are users:

 a) Actually typing that URL into the omnibox / pasting it in / using a bookmark? In that case we need to make that URL actually redirect.

OR
 
 b) Clicking a Chrome UI surface that is coded to navigate to that URL? In that case we can update that Chrome UI surface without adding redirects...

--

Or do we need to handle both cases?
Cc: tbuck...@chromium.org
+tbuckley@ : Could use your insight for comment #21.
Talked to Dan and Demetrios regarding synchronizing the C++ URL constants with the Javascript route constants. 

Per discussion with Demetrios, using mojom is not a good way because:

 1. mojom generates JS that breaks closure compilation: https://bugs.chromium.org/p/chromium/issues/detail?id=574512

 2. mojom constants would have to be imported asynchronously, which means the routes wouldn't be defined until an async callback.

Using loadTimeData seems more promising.
Cc: dpa...@chromium.org
 Issue 659151  has been merged into this issue.
Project Member

Comment 27 by bugdroid1@chromium.org, Oct 26 2016

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

commit e1cfc89e32131db52e35f0943300fcdd98c5a7c0
Author: tommycli <tommycli@chromium.org>
Date: Wed Oct 26 21:23:35 2016

MD Settings: Make Passwords URLs match old Options.

Path for the section is now /passwordsAndForms (matching the section
title).

Path for the manage passwords section is now /passwords (matching the
Old Options path.

BUG= 623587 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/e1cfc89e32131db52e35f0943300fcdd98c5a7c0/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
[modify] https://crrev.com/e1cfc89e32131db52e35f0943300fcdd98c5a7c0/chrome/browser/resources/settings/route.js
[modify] https://crrev.com/e1cfc89e32131db52e35f0943300fcdd98c5a7c0/chrome/browser/resources/settings/settings_menu/settings_menu.html

Project Member

Comment 28 by bugdroid1@chromium.org, Oct 26 2016

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

commit d609c7b042b1e0b2f246d99d692d65d796ba14c0
Author: tommycli <tommycli@chromium.org>
Date: Wed Oct 26 21:40:17 2016

MD Settings: Remove three unused routes.

BUG= 623587 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/d609c7b042b1e0b2f246d99d692d65d796ba14c0/chrome/browser/resources/settings/route.js

Comment 29 by dbeam@chromium.org, Oct 27 2016

 Issue 657803  has been merged into this issue.
Project Member

Comment 31 by bugdroid1@chromium.org, Oct 27 2016

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

commit d5c63244f585d1dfa18f9532c4882b1dea93488b
Author: tommycli <tommycli@chromium.org>
Date: Thu Oct 27 23:36:28 2016

MD Settings: Fix Client Navigations to Search Query URLs

Previously, ChromeOS client would navigate directly to URLs such as:
chrome://settings/search#Bluetooth.

This was a hack because Old Options did not have section routes. This
CL replaces all those navigations with section URLs, such as:
chrome://settings/bluetooth

This is part of the legacy URL migration. The if-branches will be
removed once Old Options is removed from Chrome.

BUG= 623587 

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

[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/browser/interstitials/chrome_controller_client.cc
[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/browser/ui/ash/system_tray_client.cc
[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/browser/ui/ash/system_tray_delegate_chromeos.cc
[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/browser/ui/chrome_pages.cc
[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/common/url_constants.cc
[modify] https://crrev.com/d5c63244f585d1dfa18f9532c4882b1dea93488b/chrome/common/url_constants.h

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 29 2016

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

commit 654a66eaa9461214c9599738215372b55e6633c0
Author: tommycli <tommycli@chromium.org>
Date: Sat Oct 29 00:37:03 2016

MD Settings: Update Content Settings Types URLs.

Previously, in Old Options, the URL for specific content settings
types was at chrome://settings/contentExceptions#plugins, etc.

This updates navigations from the C++ client to the new URLs:
chrome://settings/content/flash, etc.

The old URLs were generated from the content settings group names.
Unfortunately we can't simply update the group names without
breaking Old Options, so this CL has an override list where the
group names differ from the last URL segment.

BUG= 623587 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/resources/settings/privacy_page/privacy_page.html
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/resources/settings/route.js
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/ui/browser_navigator_browsertest.cc
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/ui/chrome_pages.cc
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/browser/ui/webui/bidi_checker_web_ui_test.cc
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/common/url_constants.cc
[modify] https://crrev.com/654a66eaa9461214c9599738215372b55e6633c0/chrome/common/url_constants.h

Status: Fixed (was: Available)
Marking as fixed.

A continuation bug to sync C++ and JavaScript URL constants:
https://bugs.chromium.org/p/chromium/issues/detail?id=661694

But it's not strictly speaking a dev blocker anymore.

Sign in to add a comment