| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // Implementation of DeleteChromeHistory | 5 // Implementation of DeleteChromeHistory | 
| 6 #include "chrome_frame/delete_chrome_history.h" | 6 #include "chrome_frame/delete_chrome_history.h" | 
| 7 | 7 | 
| 8 #include "chrome/browser/browsing_data_remover.h" | 8 #include "chrome/browser/browsing_data_remover.h" | 
| 9 | 9 | 
|  | 10 #include "base/win/windows_version.h" | 
| 10 #include "chrome_frame/chrome_frame_activex.h" | 11 #include "chrome_frame/chrome_frame_activex.h" | 
| 11 #include "chrome_frame/utils.h" | 12 #include "chrome_frame/utils.h" | 
| 12 | 13 | 
| 13 // Below other header to avoid symbol pollution. | 14 // Below other header to avoid symbol pollution. | 
| 14 #define INITGUID | 15 #define INITGUID | 
| 15 #include <deletebrowsinghistory.h> | 16 #include <deletebrowsinghistory.h> | 
| 16 | 17 | 
| 17 DeleteChromeHistory::DeleteChromeHistory() | 18 DeleteChromeHistory::DeleteChromeHistory() | 
| 18   : remove_mask_(0) { | 19   : remove_mask_(0) { | 
| 19   DLOG(INFO) << __FUNCTION__; | 20   DLOG(INFO) << __FUNCTION__; | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 58   // in lieu of sending an IPC when it seems appropriate. Since we assume this | 59   // in lieu of sending an IPC when it seems appropriate. Since we assume this | 
| 59   // happens in one-off fashion, don't attempt to pack REMOVE_* arguments. | 60   // happens in one-off fashion, don't attempt to pack REMOVE_* arguments. | 
| 60   // Instead, have the browser process clobber all history. | 61   // Instead, have the browser process clobber all history. | 
| 61   // | 62   // | 
| 62   // IE8 on Vista launches us twice when the user asks to delete browsing data - | 63   // IE8 on Vista launches us twice when the user asks to delete browsing data - | 
| 63   // once in low integrity and once in medium integrity. The low integrity | 64   // once in low integrity and once in medium integrity. The low integrity | 
| 64   // instance will fail to connect to the automation server and restart it in an | 65   // instance will fail to connect to the automation server and restart it in an | 
| 65   // effort to connect. Thus, we detect if we are in that circumstance and exit | 66   // effort to connect. Thus, we detect if we are in that circumstance and exit | 
| 66   // silently. | 67   // silently. | 
| 67   base::IntegrityLevel integrity_level; | 68   base::IntegrityLevel integrity_level; | 
| 68   if (win_util::GetWinVersion() >= win_util::WINVERSION_VISTA && | 69   if (base::win::GetVersion() >= base::win::VERSION_VISTA && | 
| 69       !base::GetProcessIntegrityLevel(base::GetCurrentProcessHandle(), | 70       !base::GetProcessIntegrityLevel(base::GetCurrentProcessHandle(), | 
| 70                                       &integrity_level)) { | 71                                       &integrity_level)) { | 
| 71     return E_UNEXPECTED; | 72     return E_UNEXPECTED; | 
| 72   } | 73   } | 
| 73   if (integrity_level == base::LOW_INTEGRITY) { | 74   if (integrity_level == base::LOW_INTEGRITY) { | 
| 74     return S_OK; | 75     return S_OK; | 
| 75   } | 76   } | 
| 76   if (!InitializeAutomation(GetHostProcessName(false), L"", false, false, | 77   if (!InitializeAutomation(GetHostProcessName(false), L"", false, false, | 
| 77                             GURL(), GURL(), true)) { | 78                             GURL(), GURL(), true)) { | 
| 78     return E_UNEXPECTED; | 79     return E_UNEXPECTED; | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 90     remove_mask_ |= BrowsingDataRemover::REMOVE_HISTORY; | 91     remove_mask_ |= BrowsingDataRemover::REMOVE_HISTORY; | 
| 91 | 92 | 
| 92   loop_.PostDelayedTask(FROM_HERE, | 93   loop_.PostDelayedTask(FROM_HERE, | 
| 93       new MessageLoop::QuitTask, 1000 * 600); | 94       new MessageLoop::QuitTask, 1000 * 600); | 
| 94   loop_.MessageLoop::Run(); | 95   loop_.MessageLoop::Run(); | 
| 95 | 96 | 
| 96   return S_OK; | 97   return S_OK; | 
| 97 } | 98 } | 
| 98 | 99 | 
| 99 | 100 | 
| OLD | NEW | 
|---|