blob: d0172799dd113f727c396f541563fd77d677ed22 [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/sessions/test_session_service.h"
#import "base/memory/ref_counted.h"
#import "base/task/single_thread_task_runner.h"
#import "ios/chrome/browser/sessions/session_ios_factory.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
@implementation TestSessionService
- (instancetype)init {
return [super
initWithTaskRunner:base::SingleThreadTaskRunner::GetCurrentDefault()];
}
- (void)saveSession:(__weak SessionIOSFactory*)factory
sessionID:(NSString*)sessionID
directory:(const base::FilePath&)directory
immediately:(BOOL)immediately {
NSString* sessionPath = [[self class] sessionPathForSessionID:sessionID
directory:directory];
NSData* data =
[NSKeyedArchiver archivedDataWithRootObject:[factory sessionForSaving]
requiringSecureCoding:NO
error:nil];
if (self.performIO)
[self performSaveSessionData:data sessionPath:sessionPath];
_saveSessionCallsCount++;
}
@end