158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// found in the LICENSE file. 458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/first_run/first_run_actor.h" 658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include <limits> 858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "base/values.h" 1058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace { 1258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)const int kNoneValue = std::numeric_limits<int>::min(); 1358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 1458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace chromeos { 1658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition::StepPosition() 1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) : top_(kNoneValue), 1958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) right_(kNoneValue), 2058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) bottom_(kNoneValue), 2158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) left_(kNoneValue) { 2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition& FirstRunActor::StepPosition::SetTop(int top) { 2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) top_ = top; 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return *this; 2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition& FirstRunActor::StepPosition::SetRight(int right) { 3058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) right_ = right; 3158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return *this; 3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 3358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition& 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition::SetBottom(int bottom) { 3658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) bottom_ = bottom; 3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return *this; 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 3958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 4058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::StepPosition& FirstRunActor::StepPosition::SetLeft(int left) { 4158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) left_ = left; 4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return *this; 4358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 4458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)scoped_ptr<base::DictionaryValue> FirstRunActor::StepPosition::AsValue() const { 4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) base::DictionaryValue* result = new base::DictionaryValue(); 4758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (top_ != kNoneValue) 4858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) result->SetInteger("top", top_); 4958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (right_ != kNoneValue) 5058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) result->SetInteger("right", right_); 5158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (bottom_ != kNoneValue) 5258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) result->SetInteger("bottom", bottom_); 5358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (left_ != kNoneValue) 5458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) result->SetInteger("left", left_); 5558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) return make_scoped_ptr(result); 5658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 5758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::FirstRunActor() 5958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) : delegate_(NULL) { 6058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 6158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 6258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)FirstRunActor::~FirstRunActor() { 6358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) if (delegate()) 6458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) delegate()->OnActorDestroyed(); 6558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) delegate_ = NULL; 6658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} 6758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 6858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} // namespace chromeos 6958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 70