window_container_type.cc revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2011 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 "content/public/common/window_container_type.h"
6
7#include "base/string_util.h"
8#include "third_party/WebKit/Source/Platform/chromium/public/WebString.h"
9#include "third_party/WebKit/Source/Platform/chromium/public/WebVector.h"
10#include "third_party/WebKit/Source/WebKit/chromium/public/WebWindowFeatures.h"
11
12namespace {
13
14const char kBackground[] = "background";
15const char kPersistent[] = "persistent";
16
17}  // namespace
18
19WindowContainerType WindowFeaturesToContainerType(
20    const WebKit::WebWindowFeatures& window_features) {
21  bool background = false;
22  bool persistent = false;
23
24  for (size_t i = 0; i < window_features.additionalFeatures.size(); ++i) {
25    if (LowerCaseEqualsASCII(window_features.additionalFeatures[i],
26                             kBackground))
27      background = true;
28    else if (LowerCaseEqualsASCII(window_features.additionalFeatures[i],
29                                  kPersistent))
30      persistent = true;
31  }
32
33  if (background) {
34    if (persistent)
35      return WINDOW_CONTAINER_TYPE_PERSISTENT;
36    else
37      return WINDOW_CONTAINER_TYPE_BACKGROUND;
38  } else {
39    return WINDOW_CONTAINER_TYPE_NORMAL;
40  }
41}
42