Chromium Code Reviews

Side by Side Diff: chrome/browser/sessions/session_backend.cc

Issue 3340007: Revert "FBTF: Move the TabRestoreService::Observer into its own file." (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « chrome/browser/sessions/session_backend.h ('k') | chrome/browser/sessions/session_types.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "chrome/browser/sessions/session_backend.h" 5 #include "chrome/browser/sessions/session_backend.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/histogram.h" 10 #include "base/histogram.h"
11 #include "base/scoped_vector.h" 11 #include "base/scoped_vector.h"
12 #include "net/base/file_stream.h"
13 12
14 using base::TimeTicks; 13 using base::TimeTicks;
15 14
16 // File version number. 15 // File version number.
17 static const int32 kFileCurrentVersion = 1; 16 static const int32 kFileCurrentVersion = 1;
18 17
19 // The signature at the beginning of the file = SSNS (Sessions). 18 // The signature at the beginning of the file = SSNS (Sessions).
20 static const int32 kFileSignature = 0x53534E53; 19 static const int32 kFileSignature = 0x53534E53;
21 20
22 namespace { 21 namespace {
(...skipping 306 matching lines...)
329 content_size, NULL); 328 content_size, NULL);
330 if (wrote != content_size) { 329 if (wrote != content_size) {
331 NOTREACHED() << "error writing"; 330 NOTREACHED() << "error writing";
332 return false; 331 return false;
333 } 332 }
334 } 333 }
335 } 334 }
336 return true; 335 return true;
337 } 336 }
338 337
339 SessionBackend::~SessionBackend() {
340 }
341
342 void SessionBackend::ResetFile() { 338 void SessionBackend::ResetFile() {
343 DCHECK(inited_); 339 DCHECK(inited_);
344 if (current_session_file_.get()) { 340 if (current_session_file_.get()) {
345 // File is already open, truncate it. We truncate instead of closing and 341 // File is already open, truncate it. We truncate instead of closing and
346 // reopening to avoid the possibility of scanners locking the file out 342 // reopening to avoid the possibility of scanners locking the file out
347 // from under us once we close it. If truncation fails, we'll try to 343 // from under us once we close it. If truncation fails, we'll try to
348 // recreate. 344 // recreate.
349 if (current_session_file_->Truncate(sizeof_header()) != sizeof_header()) 345 if (current_session_file_->Truncate(sizeof_header()) != sizeof_header())
350 current_session_file_.reset(NULL); 346 current_session_file_.reset(NULL);
351 } 347 }
(...skipping 30 matching lines...)
382 } 378 }
383 379
384 FilePath SessionBackend::GetCurrentSessionPath() { 380 FilePath SessionBackend::GetCurrentSessionPath() {
385 FilePath path = path_to_dir_; 381 FilePath path = path_to_dir_;
386 if (type_ == BaseSessionService::TAB_RESTORE) 382 if (type_ == BaseSessionService::TAB_RESTORE)
387 path = path.AppendASCII(kCurrentTabSessionFileName); 383 path = path.AppendASCII(kCurrentTabSessionFileName);
388 else 384 else
389 path = path.AppendASCII(kCurrentSessionFileName); 385 path = path.AppendASCII(kCurrentSessionFileName);
390 return path; 386 return path;
391 } 387 }
OLDNEW
« no previous file with comments | « chrome/browser/sessions/session_backend.h ('k') | chrome/browser/sessions/session_types.h » ('j') | no next file with comments »

Powered by Google App Engine