| Index: chrome_frame/chrome_active_document.cc
|
| ===================================================================
|
| --- chrome_frame/chrome_active_document.cc (revision 96788)
|
| +++ chrome_frame/chrome_active_document.cc (working copy)
|
| @@ -19,17 +19,10 @@
|
|
|
| #include "base/command_line.h"
|
| #include "base/debug/trace_event.h"
|
| -#include "base/file_util.h"
|
| #include "base/logging.h"
|
| -#include "base/path_service.h"
|
| -#include "base/process_util.h"
|
| -#include "base/string_tokenizer.h"
|
| #include "base/string_util.h"
|
| -#include "base/threading/thread.h"
|
| -#include "base/threading/thread_local.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/win/scoped_variant.h"
|
| -#include "base/win/win_util.h"
|
| #include "chrome/app/chrome_command_ids.h"
|
| #include "chrome/app/chrome_dll_resource.h"
|
| #include "chrome/common/automation_messages.h"
|
| @@ -49,8 +42,6 @@
|
| DEFINE_GUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0, 0xC0, 0, 0, 0, 0, 0, 0,
|
| 0x46);
|
|
|
| -base::ThreadLocalPointer<ChromeActiveDocument> g_active_doc_cache;
|
| -
|
| bool g_first_launch_by_process_ = true;
|
|
|
| const DWORD kIEEncodingIdArray[] = {
|
| @@ -73,29 +64,14 @@
|
| }
|
|
|
| HRESULT ChromeActiveDocument::FinalConstruct() {
|
| - // If we have a cached ChromeActiveDocument instance in TLS, then grab
|
| - // ownership of the cached document's automation client. This is an
|
| - // optimization to get Chrome active documents to load faster.
|
| - ChromeActiveDocument* cached_document = g_active_doc_cache.Get();
|
| - if (cached_document && cached_document->IsValid()) {
|
| - SetResourceModule();
|
| - DCHECK(automation_client_.get() == NULL);
|
| - automation_client_.swap(cached_document->automation_client_);
|
| - DVLOG(1) << "Reusing automation client instance from " << cached_document;
|
| - DCHECK(automation_client_.get() != NULL);
|
| - automation_client_->Reinitialize(this, url_fetcher_.get());
|
| - is_automation_client_reused_ = true;
|
| - OnAutomationServerReady();
|
| - } else {
|
| - // The FinalConstruct implementation in the ChromeFrameActivexBase class
|
| - // i.e. Base creates an instance of the ChromeFrameAutomationClient class
|
| - // and initializes it, which would spawn a new Chrome process, etc.
|
| - // We don't want to be doing this if we have a cached document, whose
|
| - // automation client instance can be reused.
|
| - HRESULT hr = BaseActiveX::FinalConstruct();
|
| - if (FAILED(hr))
|
| - return hr;
|
| - }
|
| + // The FinalConstruct implementation in the ChromeFrameActivexBase class
|
| + // i.e. Base creates an instance of the ChromeFrameAutomationClient class
|
| + // and initializes it, which would spawn a new Chrome process, etc.
|
| + // We don't want to be doing this if we have a cached document, whose
|
| + // automation client instance can be reused.
|
| + HRESULT hr = BaseActiveX::FinalConstruct();
|
| + if (FAILED(hr))
|
| + return hr;
|
|
|
| InitializeAutomationSettings();
|
|
|
| @@ -543,13 +519,6 @@
|
| HRESULT ChromeActiveDocument::IOleObject_SetClientSite(
|
| IOleClientSite* client_site) {
|
| if (client_site == NULL) {
|
| - ChromeActiveDocument* cached_document = g_active_doc_cache.Get();
|
| - if (cached_document) {
|
| - DCHECK(this == cached_document);
|
| - g_active_doc_cache.Set(NULL);
|
| - cached_document->Release();
|
| - }
|
| -
|
| base::win::ScopedComPtr<IDocHostUIHandler> doc_host_handler;
|
| if (doc_site_)
|
| doc_host_handler.QueryFrom(doc_site_);
|
| @@ -974,23 +943,6 @@
|
| }
|
| }
|
|
|
| -void ChromeActiveDocument::OnOpenURL(const GURL& url_to_open,
|
| - const GURL& referrer,
|
| - int open_disposition) {
|
| - // If the disposition indicates that we should be opening the URL in the
|
| - // current tab, then we can reuse the ChromeFrameAutomationClient instance
|
| - // maintained by the current ChromeActiveDocument instance. We cache this
|
| - // instance so that it can be used by the new ChromeActiveDocument instance
|
| - // which may be instantiated for handling the new URL.
|
| - if (open_disposition == CURRENT_TAB) {
|
| - // Grab a reference to ensure that the document remains valid.
|
| - AddRef();
|
| - g_active_doc_cache.Set(this);
|
| - }
|
| -
|
| - BaseActiveX::OnOpenURL(url_to_open, referrer, open_disposition);
|
| -}
|
| -
|
| void ChromeActiveDocument::OnAttachExternalTab(
|
| const AttachExternalTabParams& params) {
|
| if (!automation_client_.get()) {
|
|
|