summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-10 03:25:40 +0000
committerevan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-10 03:25:40 +0000
commitfc3fc45793bbd882909b01e2c0f771741f4849ed (patch)
treefe0c38eea8c3615066355034ff934545b3aa7f89 /chrome
parent4bcac78e6c353cd9823f559dc8c6181e824e88ce (diff)
downloadchromium_src-fc3fc45793bbd882909b01e2c0f771741f4849ed.zip
chromium_src-fc3fc45793bbd882909b01e2c0f771741f4849ed.tar.gz
chromium_src-fc3fc45793bbd882909b01e2c0f771741f4849ed.tar.bz2
Re-check in some of my dynamic linking change.
We can't link in any more of these fixed .cc files because of a chain of dependencies: - temp_scaffolding_stubs defines the same symbols as these files - removing the scaffolding pulls in more source - pulling in that extra source breaks on Mac. I have resigned myself to checking in this small bit. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9448 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc30
-rw-r--r--chrome/browser/bookmarks/bookmark_storage.cc29
-rw-r--r--chrome/browser/bookmarks/bookmark_storage.h5
-rw-r--r--chrome/browser/history/expire_history_backend.h3
-rw-r--r--chrome/browser/history/history.cc5
-rw-r--r--chrome/browser/history/history_backend.cc2
-rw-r--r--chrome/browser/history/history_backend.h3
-rw-r--r--chrome/common/chrome_constants.cc3
-rw-r--r--chrome/common/chrome_constants.h2
9 files changed, 54 insertions, 28 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index 4280808..cb53639 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "base/gfx/png_decoder.h"
+#include "build/build_config.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
#include "chrome/browser/bookmarks/bookmark_storage.h"
#include "chrome/browser/profile.h"
@@ -61,13 +62,15 @@ void BookmarkNode::Reset(const history::StarredEntry& entry) {
BookmarkModel::BookmarkModel(Profile* profile)
: profile_(profile),
loaded_(false),
-#pragma warning(suppress: 4355) // Okay to pass "this" here.
- root_(this, GURL()),
+ ALLOW_THIS_IN_INITIALIZER_LIST(root_(this, GURL())),
bookmark_bar_node_(NULL),
other_node_(NULL),
observers_(ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY),
- waiting_for_history_load_(false),
- loaded_signal_(CreateEvent(NULL, TRUE, FALSE, NULL)) {
+ waiting_for_history_load_(false)
+#if defined(OS_WIN)
+ , loaded_signal_(CreateEvent(NULL, TRUE, FALSE, NULL))
+#endif
+{
// Create the bookmark bar and other bookmarks folders. These always exist.
CreateBookmarkNode();
CreateOtherBookmarksNode();
@@ -437,8 +440,12 @@ void BookmarkModel::DoneLoading() {
loaded_ = true;
+#if defined(OS_WIN)
if (loaded_signal_.Get())
SetEvent(loaded_signal_.Get());
+#else
+ NOTIMPLEMENTED();
+#endif
// Notify our direct observers.
@@ -467,10 +474,15 @@ void BookmarkModel::RemoveAndDeleteNode(BookmarkNode* delete_me) {
// allow duplicates we need to remove any entries that are still bookmarked.
for (std::set<GURL>::iterator i = details.changed_urls.begin();
i != details.changed_urls.end(); ){
- if (IsBookmarkedNoLock(*i))
- i = details.changed_urls.erase(i);
- else
+ if (IsBookmarkedNoLock(*i)) {
+ // When we erase the iterator pointing at the erasee is
+ // invalidated, so using i++ here within the "erase" call is
+ // important as it advances the iterator before passing the
+ // old value through to erase.
+ details.changed_urls.erase(i++);
+ } else {
++i;
+ }
}
}
@@ -522,8 +534,12 @@ BookmarkNode* BookmarkModel::AddNode(BookmarkNode* parent,
}
void BookmarkModel::BlockTillLoaded() {
+#if defined(OS_WIN)
if (loaded_signal_.Get())
WaitForSingleObject(loaded_signal_.Get(), INFINITE);
+#else
+ NOTIMPLEMENTED();
+#endif
}
BookmarkNode* BookmarkModel::GetNodeByID(BookmarkNode* node, int id) {
diff --git a/chrome/browser/bookmarks/bookmark_storage.cc b/chrome/browser/bookmarks/bookmark_storage.cc
index 4f2ae9f..64743e5 100644
--- a/chrome/browser/bookmarks/bookmark_storage.cc
+++ b/chrome/browser/bookmarks/bookmark_storage.cc
@@ -19,11 +19,11 @@
namespace {
// Extension used for backup files (copy of main file created during startup).
-const wchar_t* const kBackupExtension = L"bak";
+const FilePath::CharType kBackupExtension[] = FILE_PATH_LITERAL("bak");
// Extension for the temporary file. We write to the temp file than move to
// kBookmarksFileName.
-const wchar_t* const kTmpExtension = L"tmp";
+const FilePath::CharType kTmpExtension[] = FILE_PATH_LITERAL("tmp");
// How often we save.
const int kSaveDelayMS = 2500;
@@ -36,10 +36,9 @@ BookmarkStorage::BookmarkStorage(Profile* profile, BookmarkModel* model)
: model_(model),
ALLOW_THIS_IN_INITIALIZER_LIST(save_factory_(this)),
backend_thread_(g_browser_process->file_thread()) {
- std::wstring path = profile->GetPath().ToWStringHack();
- file_util::AppendToPath(&path, chrome::kBookmarksFileName);
- std::wstring tmp_history_path = profile->GetPath().ToWStringHack();
- file_util::AppendToPath(&tmp_history_path, chrome::kHistoryBookmarksFileName);
+ FilePath path = profile->GetPath().Append(chrome::kBookmarksFileName);
+ FilePath tmp_history_path =
+ profile->GetPath().Append(chrome::kHistoryBookmarksFileName);
backend_ = new BookmarkStorageBackend(path, tmp_history_path);
}
@@ -115,13 +114,12 @@ void BookmarkStorage::SaveNow() {
// BookmarkStorageBackend ------------------------------------------------------
BookmarkStorageBackend::BookmarkStorageBackend(
- const std::wstring& path,
- const std::wstring& tmp_history_path)
- : path_(path),
- tmp_history_path_(tmp_history_path) {
+ const FilePath& path,
+ const FilePath& tmp_history_path)
+ : path_(path.ToWStringHack()),
+ tmp_history_path_(tmp_history_path.ToWStringHack()) {
// Make a backup of the current file.
- std::wstring backup_path = path;
- file_util::ReplaceExtension(&backup_path, kBackupExtension);
+ FilePath backup_path = path.ReplaceExtension(kBackupExtension);
file_util::CopyFile(path, backup_path);
}
@@ -135,8 +133,11 @@ void BookmarkStorageBackend::Write(Value* value) {
JSONWriter::Write(value, true, &content);
// Write to a temp file, then rename.
- std::wstring tmp_file = path_;
- file_util::ReplaceExtension(&tmp_file, kTmpExtension);
+ // TODO(port): this code was all written to use wstrings; needs cleaning up
+ // for FilePath.
+ FilePath tmp_file_filepath =
+ FilePath::FromWStringHack(path_).ReplaceExtension(kTmpExtension);
+ std::wstring tmp_file = tmp_file_filepath.ToWStringHack();
int bytes_written = file_util::WriteFile(tmp_file, content.c_str(),
static_cast<int>(content.length()));
diff --git a/chrome/browser/bookmarks/bookmark_storage.h b/chrome/browser/bookmarks/bookmark_storage.h
index f63aa81..59b91a8 100644
--- a/chrome/browser/bookmarks/bookmark_storage.h
+++ b/chrome/browser/bookmarks/bookmark_storage.h
@@ -10,6 +10,7 @@
class BookmarkModel;
class BookmarkStorageBackend;
+class FilePath;
class Profile;
class MessageLoop;
class Value;
@@ -75,8 +76,8 @@ class BookmarkStorage : public base::RefCountedThreadSafe<BookmarkStorage> {
class BookmarkStorageBackend :
public base::RefCountedThreadSafe<BookmarkStorageBackend> {
public:
- explicit BookmarkStorageBackend(const std::wstring& path,
- const std::wstring& tmp_histor_path);
+ explicit BookmarkStorageBackend(const FilePath& path,
+ const FilePath& tmp_history_path);
// Writes the specified value to disk. This takes ownership of |value| and
// deletes it when done.
diff --git a/chrome/browser/history/expire_history_backend.h b/chrome/browser/history/expire_history_backend.h
index 0e5ab44..ed44096 100644
--- a/chrome/browser/history/expire_history_backend.h
+++ b/chrome/browser/history/expire_history_backend.h
@@ -18,6 +18,7 @@
class BookmarkService;
class GURL;
class NotificationType;
+class TestingProfile;
namespace history {
@@ -85,7 +86,7 @@ class ExpireHistoryBackend {
FRIEND_TEST(ExpireHistoryTest, DeleteTextIndexForURL);
FRIEND_TEST(ExpireHistoryTest, DeleteFaviconsIfPossible);
FRIEND_TEST(ExpireHistoryTest, ArchiveSomeOldHistory);
- friend class TestingProfile;
+ friend class ::TestingProfile;
struct DeleteDependencies {
// The time range affected. These can be is_null() to be unbounded in one
diff --git a/chrome/browser/history/history.cc b/chrome/browser/history/history.cc
index 0bfcd6fa..74118d0 100644
--- a/chrome/browser/history/history.cc
+++ b/chrome/browser/history/history.cc
@@ -599,6 +599,7 @@ void HistoryService::SetInMemoryBackend(
}
void HistoryService::NotifyTooNew() {
+#if defined(OS_WIN)
// Find the last browser window to display our message box from.
Browser* cur_browser = BrowserList::GetLastActive();
// TODO(brettw): Do this some other way or beng will kick you. e.g. move to
@@ -611,6 +612,10 @@ void HistoryService::NotifyTooNew() {
std::wstring message = l10n_util::GetString(IDS_PROFILE_TOO_NEW_ERROR);
MessageBox(cur_hwnd, message.c_str(), title.c_str(),
MB_OK | MB_ICONWARNING | MB_TOPMOST);
+#else
+ // TODO(port): factor this out into platform-specific code.
+ NOTIMPLEMENTED();
+#endif
}
void HistoryService::DeleteURL(const GURL& url) {
diff --git a/chrome/browser/history/history_backend.cc b/chrome/browser/history/history_backend.cc
index c899700..6bed37a 100644
--- a/chrome/browser/history/history_backend.cc
+++ b/chrome/browser/history/history_backend.cc
@@ -477,7 +477,7 @@ void HistoryBackend::InitImpl() {
std::wstring archived_name = GetArchivedFileName();
std::wstring tmp_bookmarks_file = history_dir_;
file_util::AppendToPath(&tmp_bookmarks_file,
- chrome::kHistoryBookmarksFileName);
+ FilePath(chrome::kHistoryBookmarksFileName).ToWStringHack());
// History database.
db_.reset(new HistoryDatabase());
diff --git a/chrome/browser/history/history_backend.h b/chrome/browser/history/history_backend.h
index 8918742..1dfa16e 100644
--- a/chrome/browser/history/history_backend.h
+++ b/chrome/browser/history/history_backend.h
@@ -26,6 +26,7 @@
#include "testing/gtest/include/gtest/gtest_prod.h"
class BookmarkService;
+class TestingProfile;
struct ThumbnailScore;
namespace history {
@@ -260,7 +261,7 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
friend class HistoryTest; // So the unit tests can poke our innards.
FRIEND_TEST(HistoryBackendTest, DeleteAll);
FRIEND_TEST(HistoryBackendTest, URLsNoLongerBookmarked);
- friend class TestingProfile;
+ friend class ::TestingProfile;
// Computes the name of the specified database on disk.
std::wstring GetThumbnailFileName() const;
diff --git a/chrome/common/chrome_constants.cc b/chrome/common/chrome_constants.cc
index a0ae25b..494d3b0 100644
--- a/chrome/common/chrome_constants.cc
+++ b/chrome/common/chrome_constants.cc
@@ -42,7 +42,8 @@ const wchar_t kUserDataDirname[] = L"User Data";
const FilePath::CharType kUserScriptsDirname[] = FPL("User Scripts");
const FilePath::CharType kWebDataFilename[] = FPL("Web Data");
const FilePath::CharType kBookmarksFileName[] = FPL("Bookmarks");
-const wchar_t kHistoryBookmarksFileName[] = L"Bookmarks From History";
+const FilePath::CharType kHistoryBookmarksFileName[] =
+ FPL("Bookmarks From History");
const wchar_t kCustomDictionaryFileName[] = L"Custom Dictionary.txt";
// Note, this shouldn't go above 64. See bug 535234.
diff --git a/chrome/common/chrome_constants.h b/chrome/common/chrome_constants.h
index a752aba..0ddf579 100644
--- a/chrome/common/chrome_constants.h
+++ b/chrome/common/chrome_constants.h
@@ -37,7 +37,7 @@ extern const wchar_t kUserDataDirname[];
extern const FilePath::CharType kUserScriptsDirname[];
extern const FilePath::CharType kWebDataFilename[];
extern const FilePath::CharType kBookmarksFileName[];
-extern const wchar_t kHistoryBookmarksFileName[];
+extern const FilePath::CharType kHistoryBookmarksFileName[];
extern const wchar_t kCustomDictionaryFileName[];
extern const unsigned int kMaxRendererProcessCount;