| Index: chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc
|
| diff --git a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc
|
| index 04056babe7726dfe3f2c04ec328c8118570b1f69..eb14375193f37406d79ad7dc7e6aff213884d0da 100644
|
| --- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc
|
| +++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc
|
| @@ -14,7 +14,10 @@
|
| #include "chrome/browser/net/url_fixer_upper.h"
|
| #include "chrome/browser/prefs/pref_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/common/pref_names.h"
|
| +#include "content/browser/tab_contents/tab_contents.h"
|
| #include "googleurl/src/gurl.h"
|
| #include "grit/chromium_strings.h"
|
| #include "grit/generated_resources.h"
|
| @@ -267,11 +270,22 @@ void BookmarkEditorView::Init() {
|
| title_tf_.set_parent_owned(false);
|
|
|
| std::wstring title;
|
| - if (details_.type == EditDetails::EXISTING_NODE)
|
| + GURL url;
|
| + if (details_.type == EditDetails::EXISTING_NODE) {
|
| title = details_.existing_node->GetTitle();
|
| - else if (details_.type == EditDetails::NEW_FOLDER)
|
| + url = details_.existing_node->GetURL();
|
| + } else if (details_.type == EditDetails::NEW_FOLDER) {
|
| title = UTF16ToWide(
|
| l10n_util::GetStringUTF16(IDS_BOOMARK_EDITOR_NEW_FOLDER_NAME));
|
| + } else if (details_.type == EditDetails::NEW_URL) {
|
| + Browser* browser = BrowserList::GetLastActiveWithProfile(profile_);
|
| + TabContents* tab_contents = browser ? browser->GetSelectedTabContents()
|
| + : NULL;
|
| + if (tab_contents) {
|
| + title = UTF16ToWide(tab_contents->GetTitle());
|
| + url = tab_contents->GetURL();
|
| + }
|
| + }
|
| title_tf_.SetText(title);
|
| title_tf_.SetController(this);
|
|
|
| @@ -280,14 +294,14 @@ void BookmarkEditorView::Init() {
|
| title_tf_.SetAccessibleName(WideToUTF16Hack(title_label_->GetText()));
|
|
|
| string16 url_text;
|
| - if (details_.type == EditDetails::EXISTING_NODE) {
|
| + if (details_.type != EditDetails::NEW_FOLDER) {
|
| std::string languages = profile_
|
| ? profile_->GetPrefs()->GetString(prefs::kAcceptLanguages)
|
| : std::string();
|
| // Because this gets parsed by FixupURL(), it's safe to omit the scheme or
|
| // trailing slash, and unescape most characters, but we need to not drop any
|
| // username/password, or unescape anything that changes the meaning.
|
| - url_text = net::FormatUrl(details_.existing_node->GetURL(), languages,
|
| + url_text = net::FormatUrl(url, languages,
|
| net::kFormatUrlOmitAll & ~net::kFormatUrlOmitUsernamePassword,
|
| UnescapeRule::SPACES, NULL, NULL, NULL);
|
| }
|
|
|