forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Options: maintain history entries on the parent frame.
Currently, navigations within the child frame remain attached to the child frame while it signals the parent to change path and title. This doesn't quite work because location.replace and history.replaceState affect all back/forward list entries which reference that frame's history entry, rather than just the current one. Chrome is currently inconsistent about which of the two behaviors it implements. Fix the settings page to not rely on the bug so it is future-proof. Instead, when embedded, all pushState and replaceState calls are proxied up to the parent which manages history for the child. The child converts all pushState calls to replaceState calls locally. This adds uber.setTitle, uber.replaceState, and uber.pushState calls along with a popState message to uber_utils.js. When running standalone, they call the standard equivalents. When running within the uber page, they delegate to the parent as appropriate. In doing so, this fixes places where chrome://settings-frame and chrome://settings do not set the same URL and title the same. Notably on the search page and treating the default "settings" page as having a path of "" rather than "settings". BUG=317614 TEST=Go to chrome://settings. Open 'Manage search engines...'. Press back. Press refresh. Should stay on search page. Review URL: https://codereview.chromium.org/298553002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271538 0039d316-1c4b-4281-b951-d872f2087c98
- Loading branch information
davidben@chromium.org
committed
May 20, 2014
1 parent
b88181d
commit 9ff020c
Showing
14 changed files
with
270 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.