Index: chrome/browser/history/history_publisher.cc |
diff --git a/chrome/browser/history/history_publisher.cc b/chrome/browser/history/history_publisher.cc |
index 5b4eead29582f8fdcdfc92dad1ff33f60f11492e..52327c5a3305d3afffd5a2e73da60c8e4e912ccf 100644 |
--- a/chrome/browser/history/history_publisher.cc |
+++ b/chrome/browser/history/history_publisher.cc |
@@ -1,91 +1,13 @@ |
-// Copyright (c) 008 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
#include "chrome/browser/history/history_publisher.h" |
-#if defined(OS_WIN) |
-#include <atlsafe.h> |
-#include <objbase.h> |
-#include <oleauto.h> |
-#include <wtypes.h> |
-#endif |
- |
-#include "base/registry.h" |
- |
namespace history { |
-const wchar_t* HistoryPublisher::kRegKeyRegisteredIndexersInfo = |
- L"Software\\Google\\Google Chrome\\IndexerPlugins"; |
const char* HistoryPublisher::kThumbnailImageFormat = "image/jpeg"; |
-// static |
-double HistoryPublisher::TimeToUTCVariantTime(const base::Time& time) { |
- double var_time = 0; |
-#if defined(OS_WIN) |
- if (!time.is_null()) { |
- base::Time::Exploded exploded; |
- time.UTCExplode(&exploded); |
- |
- // Create the system time struct representing our exploded time. |
- SYSTEMTIME system_time; |
- system_time.wYear = exploded.year; |
- system_time.wMonth = exploded.month; |
- system_time.wDayOfWeek = exploded.day_of_week; |
- system_time.wDay = exploded.day_of_month; |
- system_time.wHour = exploded.hour; |
- system_time.wMinute = exploded.minute; |
- system_time.wSecond = exploded.second; |
- system_time.wMilliseconds = exploded.millisecond; |
- SystemTimeToVariantTime(&system_time, &var_time); |
- } |
-#endif |
- |
- return var_time; |
-} |
- |
-HistoryPublisher::HistoryPublisher() { |
-#if defined(OS_WIN) |
- CoInitialize(NULL); |
-#endif |
-} |
- |
-HistoryPublisher::~HistoryPublisher() { |
-#if defined(OS_WIN) |
- CoUninitialize(); |
-#endif |
-} |
- |
-bool HistoryPublisher::Init() { |
- return ReadRegisteredIndexersFromRegistry(); |
-} |
- |
-bool HistoryPublisher::ReadRegisteredIndexersFromRegistry() { |
-#if defined(OS_WIN) |
- RegistryKeyIterator iter(HKEY_CURRENT_USER, kRegKeyRegisteredIndexersInfo); |
- while (iter.Valid()) { |
- // The subkey name is the GUID of the Indexer COM object which implements |
- // the IChromeHistoryIndexer interface. We shall store that and use it to |
- // send historical data to the indexer. |
- CLSID clsid; |
- CLSIDFromString(static_cast<LPOLESTR>( |
- const_cast<TCHAR*>(iter.Name())), &clsid); |
- CComPtr<IChromeHistoryIndexer> indexer; |
- HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC, |
- __uuidof(IChromeHistoryIndexer), |
- reinterpret_cast<void**>(&indexer)); |
- if (SUCCEEDED(hr) && indexer != NULL) |
- indexers_.push_back(indexer); |
- ++iter; |
- } |
- return indexers_.size() > 0; |
-#else |
- // The indexing plublisher is implemented only for Windows platform as of |
- // now. Hence returning false for other platforms. |
- return false; |
-#endif |
-} |
- |
void HistoryPublisher::PublishPageThumbnail( |
const std::vector<unsigned char>& thumbnail, const GURL& url, |
const base::Time& time) const { |
@@ -117,40 +39,4 @@ void HistoryPublisher::PublishPageContent(const base::Time& time, |
PublishDataToIndexers(page_data); |
} |
-void HistoryPublisher::PublishDataToIndexers(const PageData& page_data) |
- const { |
-#if defined(OS_WIN) |
- double var_time = TimeToUTCVariantTime(page_data.time); |
- |
- CComSafeArray<unsigned char> thumbnail_arr; |
- if (page_data.thumbnail) { |
- for(size_t i = 0; i < page_data.thumbnail->size(); ++i) |
- thumbnail_arr.Add((*page_data.thumbnail)[i]); |
- } |
- |
- // Send data to registered indexers. |
- for(size_t i = 0; i < indexers_.size(); ++i) { |
- indexers_[i]->SendPageData( |
- CComVariant(var_time, VT_DATE), |
- CComBSTR(page_data.url.spec().c_str()), |
- CComBSTR(page_data.html), |
- CComBSTR(page_data.title), |
- CComBSTR(page_data.thumbnail_format), |
- CComVariant(thumbnail_arr.m_psa)); |
- } |
-#endif |
-} |
- |
-void HistoryPublisher::DeleteUserHistoryBetween(const base::Time& begin_time, |
- const base::Time& end_time) const { |
-#if defined(OS_WIN) |
- double var_begin_time = TimeToUTCVariantTime(begin_time); |
- double var_end_time = TimeToUTCVariantTime(end_time); |
- for(size_t i = 0; i < indexers_.size(); ++i) { |
- indexers_[i]->DeleteUserHistoryBetween(CComVariant(var_begin_time, VT_DATE), |
- CComVariant(var_end_time, VT_DATE)); |
- } |
-#endif |
-} |
- |
} // namespace history |