extension_function_util.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "extensions/browser/extension_function_util.h"
6
7namespace extensions {
8
9bool ReadOneOrMoreIntegers(base::Value* value, std::vector<int>* result) {
10  if (value->IsType(base::Value::TYPE_INTEGER)) {
11    int v = -1;
12    if (!value->GetAsInteger(&v))
13      return false;
14    result->push_back(v);
15    return true;
16
17  } else if (value->IsType(base::Value::TYPE_LIST)) {
18    base::ListValue* values = static_cast<base::ListValue*>(value);
19    for (size_t i = 0; i < values->GetSize(); ++i) {
20      int v = -1;
21      if (!values->GetInteger(i, &v))
22        return false;
23      result->push_back(v);
24    }
25    return true;
26  }
27  return false;
28}
29
30} // namespace extensions
31