Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 858003: First cut of privacy work for GCF. Implements IDeleteBrowsing history and mov... (Closed)

Created:
10 years, 9 months ago by slightlyoff
Modified:
9 years, 7 months ago
CC:
chromium-reviews, amit, ben+cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Implements IDeleteBrowsing history and moves the GCF profile into the IE TIF directory for non-priv mode users on IE < 8. Implementation notes: Earlier work enabled InPrivate browsing detection and mapped it to creation of an incognito profile instance.Privacy features and how they operate with this change: "Delete Browsing History": IE 6 & 7: all history (including databases) is deleted if cache is cleared *WITHOUT* an active Chrome process holding references to the profile resources. If GCF is rendering a page when the cache is cleared, history *WILL NOT* be deleted on the GCF side, however GCF will continue to operate and IE will remove all other history artifacts as usual. IE 8: GCF cache is cleared in alignment with the options specified by the user. Clearing Temporary Internet Files may destroy the profile entirely, and so we need to consider not moving the GCF profile on IE 8. "InPrivate Filtering": IE 8 (only): more testing required. "InPrivate Browsing": IE 8 (only): pages rendered in GCF *after* entering InPrivate mode are not persisted to disk (use an incognito wrapper on the specified profile). Currently displayed pages are not effected by the switch, although refreshing them will invoke the new behavior. Generally speaking, BHO's are disabled by IE 8 while in InPrivate mode, so entering this state is wonky to begin with but we handle it as well as can be expected. BUG=22846 TEST=On IE 8, clear the cache entirely, note GCF entries in DbgView (better tests coming) Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=42684

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Total comments: 39

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Patch Set 11 : '' #

Patch Set 12 : '' #

Patch Set 13 : '' #

Patch Set 14 : '' #

Total comments: 8

Patch Set 15 : '' #

Total comments: 13

Patch Set 16 : '' #

Patch Set 17 : '' #

Patch Set 18 : '' #

Patch Set 19 : '' #

Total comments: 18

Patch Set 20 : '' #

Total comments: 33

Patch Set 21 : '' #

Patch Set 22 : '' #

Patch Set 23 : '' #

Total comments: 14

Patch Set 24 : '' #

Patch Set 25 : '' #

Total comments: 9

Patch Set 26 : '' #

Patch Set 27 : '' #

Total comments: 9

Patch Set 28 : '' #

Patch Set 29 : '' #

Patch Set 30 : '' #

Total comments: 3

Patch Set 31 : '' #

Total comments: 22

Patch Set 32 : '' #

Patch Set 33 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -96 lines) Patch
M chrome/browser/automation/automation_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/automation/automation_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/automation/chrome_frame_automation_provider.cc View 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +3 lines, -2 lines 0 comments Download
M chrome/test/automation/automation_messages_internal.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +7 lines, -1 line 0 comments Download
M chrome_frame/bho.h View 19 20 21 22 23 24 25 26 27 28 29 30 31 4 chunks +14 lines, -0 lines 0 comments Download
M chrome_frame/bho.rgs View 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +26 lines, -23 lines 0 comments Download
M chrome_frame/chrome_frame.gyp View 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 chunks +6 lines, -4 lines 0 comments Download
M chrome_frame/chrome_frame_activex_base.h View 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 5 chunks +21 lines, -16 lines 0 comments Download
M chrome_frame/chrome_frame_automation.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 4 chunks +6 lines, -2 lines 0 comments Download
M chrome_frame/chrome_frame_automation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10 chunks +12 lines, -24 lines 0 comments Download
M chrome_frame/chrome_frame_plugin.h View 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 5 chunks +14 lines, -1 line 0 comments Download
A chrome_frame/delete_chrome_history.h View 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +65 lines, -0 lines 0 comments Download
A chrome_frame/delete_chrome_history.cc View 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +82 lines, -0 lines 0 comments Download
M chrome_frame/test/automation_client_mock.h View 24 25 26 27 28 29 30 31 4 chunks +9 lines, -7 lines 0 comments Download
M chrome_frame/test/automation_client_mock.cc View 24 25 26 27 28 29 30 31 12 chunks +21 lines, -12 lines 0 comments Download
M chrome_frame/test/chrome_frame_automation_mock.h View 24 25 26 27 28 29 30 31 2 chunks +7 lines, -1 line 0 comments Download
M chrome_frame/test/chrome_frame_test_utils.h View 31 3 chunks +4 lines, -2 lines 0 comments Download
M chrome_frame/test/chrome_frame_test_utils.cc View 31 3 chunks +10 lines, -1 line 0 comments Download
M chrome_frame/utils.h View 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +3 lines, -0 lines 0 comments Download
M chrome_frame/utils.cc View 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +29 lines, -0 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
slightlyoff
10 years, 9 months ago (2010-03-12 05:10:33 UTC) #1
slightlyoff
10 years, 9 months ago (2010-03-12 05:19:31 UTC) #2
tommi (sloooow) - chröme
http://codereview.chromium.org/858003/diff/34003/44005 File chrome/browser/automation/automation_provider.h (right): http://codereview.chromium.org/858003/diff/34003/44005#newcode328 chrome/browser/automation/automation_provider.h:328: void RemoveBrowsingData(int remove_mask); can you add a comment pointing ...
10 years, 9 months ago (2010-03-12 16:05:54 UTC) #3
amit
http://codereview.chromium.org/858003/diff/34003/44010 File chrome_frame/delete_chrome_history.h (right): http://codereview.chromium.org/858003/diff/34003/44010#newcode28 chrome_frame/delete_chrome_history.h:28: public CWindowImpl<DeleteChromeHistory>, On 2010/03/12 16:05:55, tommi wrote: > it ...
10 years, 9 months ago (2010-03-12 17:07:17 UTC) #4
tommi (sloooow) - chröme
thanks - I was a bit confused :) On Fri, Mar 12, 2010 at 12:07 ...
10 years, 9 months ago (2010-03-12 17:59:59 UTC) #5
slightlyoff
http://codereview.chromium.org/858003/diff/34003/44006 File chrome/browser/automation/automation_provider.cc (right): http://codereview.chromium.org/858003/diff/34003/44006#newcode2144 chrome/browser/automation/automation_provider.cc:2144: static_cast<BrowsingDataRemover::TimePeriod>(4), // EVERYTHING On 2010/03/12 13:25:50, amit wrote: > ...
10 years, 9 months ago (2010-03-22 22:28:17 UTC) #6
slightlyoff
10 years, 9 months ago (2010-03-22 22:47:13 UTC) #7
tommi (sloooow) - chröme
http://codereview.chromium.org/858003/diff/111001/112003 File chrome_frame/chrome_active_document.cc (right): http://codereview.chromium.org/858003/diff/111001/112003#newcode209 chrome_frame/chrome_active_document.cc:209: return E_UNEXPECTED; add a NOTREACHED() here as well? http://codereview.chromium.org/858003/diff/111001/112003#newcode238 ...
10 years, 9 months ago (2010-03-22 23:37:36 UTC) #8
amit
http://codereview.chromium.org/858003/diff/104002/53005 File chrome_frame/chrome_active_document.cc (right): http://codereview.chromium.org/858003/diff/104002/53005#newcode65 chrome_frame/chrome_active_document.cc:65: if (cache_clearing_host_) { We can get rid of this ...
10 years, 9 months ago (2010-03-23 00:04:30 UTC) #9
slightlyoff
reworked the tearoff to be attached to the BHO and not ChromeActiveDocument http://codereview.chromium.org/858003/diff/111001/112003 File chrome_frame/chrome_active_document.cc ...
10 years, 9 months ago (2010-03-24 18:18:13 UTC) #10
amit
Looking pretty good now. Mostly nits. http://codereview.chromium.org/858003/diff/122001/123016 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/122001/123016#newcode110 chrome_frame/bho.h:110: CComPtr<IUnknown> delete_chrome_frame_; nit: ...
10 years, 9 months ago (2010-03-24 18:50:32 UTC) #11
tommi (sloooow) - chröme
mostly style nits http://codereview.chromium.org/858003/diff/125002/124020 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/125002/124020#newcode17 chrome_frame/bho.h:17: #define INITGUID INITGUID should only be ...
10 years, 9 months ago (2010-03-24 19:08:06 UTC) #12
slightlyoff
http://codereview.chromium.org/858003/diff/122001/123016 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/122001/123016#newcode110 chrome_frame/bho.h:110: CComPtr<IUnknown> delete_chrome_frame_; On 2010/03/24 18:50:33, amit wrote: > nit: ...
10 years, 9 months ago (2010-03-24 21:48:00 UTC) #13
slightlyoff
nits addressed http://codereview.chromium.org/858003/diff/125002/124020 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/125002/124020#newcode17 chrome_frame/bho.h:17: #define INITGUID On 2010/03/24 19:08:06, tommi wrote: ...
10 years, 9 months ago (2010-03-24 22:09:29 UTC) #14
tommi (sloooow) - chröme
final set of nits and one initguid concern http://codereview.chromium.org/858003/diff/145002/170001 File chrome_frame/chrome_frame_automation.cc (right): http://codereview.chromium.org/858003/diff/145002/170001#newcode20 chrome_frame/chrome_frame_automation.cc:20: #include ...
10 years, 9 months ago (2010-03-24 22:21:23 UTC) #15
slightlyoff
http://codereview.chromium.org/858003/diff/145002/170001 File chrome_frame/chrome_frame_automation.cc (right): http://codereview.chromium.org/858003/diff/145002/170001#newcode20 chrome_frame/chrome_frame_automation.cc:20: #include "base/sys_info.h" On 2010/03/24 22:21:23, tommi wrote: > nit: ...
10 years, 9 months ago (2010-03-24 22:53:29 UTC) #16
amit
http://codereview.chromium.org/858003/diff/145002/170011 File chrome_frame/chrome_frame_activex_base.h (right): http://codereview.chromium.org/858003/diff/145002/170011#newcode352 chrome_frame/chrome_frame_activex_base.h:352: profile_name->assign(ASCIIToWide(kIexploreProfileName)); nit: define kIexploreProfileName in unicode to avoid this? ...
10 years, 9 months ago (2010-03-24 23:21:33 UTC) #17
slightlyoff
http://codereview.chromium.org/858003/diff/145002/170011 File chrome_frame/chrome_frame_activex_base.h (right): http://codereview.chromium.org/858003/diff/145002/170011#newcode352 chrome_frame/chrome_frame_activex_base.h:352: profile_name->assign(ASCIIToWide(kIexploreProfileName)); On 2010/03/24 23:21:33, amit wrote: > nit: define ...
10 years, 9 months ago (2010-03-25 00:40:55 UTC) #18
amit
http://codereview.chromium.org/858003/diff/133003/174015 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/133003/174015#newcode17 chrome_frame/bho.h:17: #include <deletebrowsinghistory.h> nit: this should go with ATL/system headers ...
10 years, 9 months ago (2010-03-25 01:39:08 UTC) #19
slightlyoff
http://codereview.chromium.org/858003/diff/133003/174012 File chrome_frame/chrome_frame_activex_base.h (right): http://codereview.chromium.org/858003/diff/133003/174012#newcode37 chrome_frame/chrome_frame_activex_base.h:37: static const char kRundllProfileName[] = "rundll32"; On 2010/03/25 01:39:08, ...
10 years, 9 months ago (2010-03-25 07:24:30 UTC) #20
amit
LGTM! Thanks for the patience and keeping up with the nits so far :) http://codereview.chromium.org/858003/diff/136003/149017 ...
10 years, 9 months ago (2010-03-25 18:05:43 UTC) #21
amit
LGTM! Thanks for the patience and keeping up with the nits so far :) Unit ...
10 years, 9 months ago (2010-03-25 18:06:08 UTC) #22
slightlyoff
http://codereview.chromium.org/858003/diff/136003/149019 File chrome_frame/test/chrome_frame_automation_mock.h (right): http://codereview.chromium.org/858003/diff/136003/149019#newcode29 chrome_frame/test/chrome_frame_automation_mock.h:29: FilePath profile_path; On 2010/03/25 18:05:43, amit wrote: > nit: ...
10 years, 9 months ago (2010-03-25 19:00:44 UTC) #23
amit
LGTM++ http://codereview.chromium.org/858003/diff/208001/209019 File chrome_frame/test/chrome_frame_test_utils.cc (right): http://codereview.chromium.org/858003/diff/208001/209019#newcode367 chrome_frame/test/chrome_frame_test_utils.cc:367: FilePath GetProfilePath(const std::wstring& suffix) { nit: suffix -> ...
10 years, 9 months ago (2010-03-25 19:07:50 UTC) #24
tommi (sloooow) - chröme
lgtm with at least the memory leak fixed. http://codereview.chromium.org/858003/diff/208001/209014 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/208001/209014#newcode17 chrome_frame/bho.h:17: #include ...
10 years, 9 months ago (2010-03-25 19:32:35 UTC) #25
Sigurður Ásgeirsson
lgtm with a couple of nits. http://codereview.chromium.org/858003/diff/208001/209011 File chrome_frame/chrome_frame_activex_base.h (right): http://codereview.chromium.org/858003/diff/208001/209011#newcode343 chrome_frame/chrome_frame_activex_base.h:343: bool is_IE = ...
10 years, 9 months ago (2010-03-25 19:50:38 UTC) #26
amit
http://codereview.chromium.org/858003/diff/208001/209011 File chrome_frame/chrome_frame_activex_base.h (right): http://codereview.chromium.org/858003/diff/208001/209011#newcode343 chrome_frame/chrome_frame_activex_base.h:343: bool is_IE = (lstrcmpi(profile_name.c_str(), kIexploreProfileName) == 0) || On ...
10 years, 9 months ago (2010-03-25 20:48:56 UTC) #27
slightlyoff
nits fixed. http://codereview.chromium.org/858003/diff/208001/209014 File chrome_frame/bho.h (right): http://codereview.chromium.org/858003/diff/208001/209014#newcode17 chrome_frame/bho.h:17: #include <deletebrowsinghistory.h> On 2010/03/25 19:32:35, tommi wrote: ...
10 years, 9 months ago (2010-03-25 20:57:38 UTC) #28
tommi (sloooow) - chröme
10 years, 9 months ago (2010-03-25 21:08:58 UTC) #29
lgtm++

On Thu, Mar 25, 2010 at 1:57 PM, <slightlyoff@chromium.org> wrote:

> nits fixed.
>
>
>
> http://codereview.chromium.org/858003/diff/208001/209014
> File chrome_frame/bho.h (right):
>
> http://codereview.chromium.org/858003/diff/208001/209014#newcode17
> chrome_frame/bho.h:17: #include <deletebrowsinghistory.h>
> On 2010/03/25 19:32:35, tommi wrote:
>
>> move this up to the other windows includes
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003/diff/208001/209011
> File chrome_frame/chrome_frame_activex_base.h (right):
>
> http://codereview.chromium.org/858003/diff/208001/209011#newcode343
> chrome_frame/chrome_frame_activex_base.h:343: bool is_IE =
> (lstrcmpi(profile_name.c_str(), kIexploreProfileName) == 0) ||
> On 2010/03/25 19:50:38, Ruðrugis wrote:
>
>> nit: use string_util::LowerCaseEqualsASCII here?
>>
>
> Was using it before, Amit suggested I move to the windows API. Leaving
> it.
>
>
> http://codereview.chromium.org/858003/diff/208001/209001
> File chrome_frame/chrome_frame_automation.cc (right):
>
> http://codereview.chromium.org/858003/diff/208001/209001#newcode267
> chrome_frame/chrome_frame_automation.cc:267: DLOG(INFO) << " profile
> path: " << params.profile_path.value();
> On 2010/03/25 19:50:38, Ruðrugis wrote:
>
>> nit: why start DLOG message with a space, and lower case char?
>>
>
> Fixed.
>
>
> http://codereview.chromium.org/858003/diff/208001/209009
> File chrome_frame/delete_chrome_history.cc (right):
>
> http://codereview.chromium.org/858003/diff/208001/209009#newcode8
> chrome_frame/delete_chrome_history.cc:8: #include "chrome_frame/bho.h"
> On 2010/03/25 19:32:35, tommi wrote:
>
>> already included in the header.
>> maybe you don't need it in the header?
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003/diff/208001/209009#newcode19
> chrome_frame/delete_chrome_history.cc:19: DLOG(INFO) << __FUNCTION__;
> On 2010/03/25 19:32:35, tommi wrote:
>
>> indent
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003/diff/208001/209008
> File chrome_frame/delete_chrome_history.h (right):
>
> http://codereview.chromium.org/858003/diff/208001/209008#newcode22
> chrome_frame/delete_chrome_history.h:22: class Bho;
> On 2010/03/25 19:32:35, tommi wrote:
>
>> I'm curious what errors you're seeing if you remove this.
>> You've already included the file that declares the whole class so
>>
> forward
>
>> declarations shouldn't be necessary.
>>
>
> I agree, it doesn't make sense. Can investigate after this lands.
>
>
> http://codereview.chromium.org/858003/diff/208001/209019
> File chrome_frame/test/chrome_frame_test_utils.cc (right):
>
> http://codereview.chromium.org/858003/diff/208001/209019#newcode367
> chrome_frame/test/chrome_frame_test_utils.cc:367: FilePath
> GetProfilePath(const std::wstring& suffix) {
> On 2010/03/25 19:07:50, amit wrote:
>
>> nit: suffix -> really a profile_name
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003/diff/208001/209013
> File chrome_frame/utils.cc (right):
>
> http://codereview.chromium.org/858003/diff/208001/209013#newcode418
> chrome_frame/utils.cc:418: LPITEMIDLIST tif_pidl = NULL;
> On 2010/03/25 19:50:38, Ruðrugis wrote:
>
>> Is there a special reason why SHGetFolderPath won't work here?
>>
>
> It's limited to MAXPATH. An earlier version of this patch used it but
> Amit objected. Gymnastics ensued.
>
>
> http://codereview.chromium.org/858003/diff/208001/209013#newcode421
> chrome_frame/utils.cc:421: DCHECK(SUCCEEDED(hr) && tif_pidl);
> On 2010/03/25 19:32:35, tommi wrote:
>
>> After using tif_pidl (at the end of the function), you need to free it
>>
> by
>
>> calling
>> ILFree(tif_pidl);
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003/diff/208001/209013#newcode434
> chrome_frame/utils.cc:434: DCHECK(SUCCEEDED(hr) && path.pOleStr);
> On 2010/03/25 19:32:35, tommi wrote:
>
>> no need to DCHECK path.pOleStr.
>>
>
> Done.
>
>
> http://codereview.chromium.org/858003
>

Powered by Google App Engine
This is Rietveld 408576698