summaryrefslogtreecommitdiffstats
path: root/components/html_viewer/blink_text_input_type_converters.cc
blob: 959660eb0f6f0da605edca22b2c2b673f96a95ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/html_viewer/blink_text_input_type_converters.h"

#include <stdint.h>

#include "base/macros.h"

namespace mojo {

#define TEXT_INPUT_TYPE_ASSERT(NAME, Name)                               \
  static_assert(static_cast<int32_t>(TEXT_INPUT_TYPE_##NAME) ==          \
                    static_cast<int32_t>(blink::WebTextInputType##Name), \
                "text_input_type should match")
TEXT_INPUT_TYPE_ASSERT(NONE, None);
TEXT_INPUT_TYPE_ASSERT(TEXT, Text);
TEXT_INPUT_TYPE_ASSERT(PASSWORD, Password);
TEXT_INPUT_TYPE_ASSERT(SEARCH, Search);
TEXT_INPUT_TYPE_ASSERT(EMAIL, Email);
TEXT_INPUT_TYPE_ASSERT(NUMBER, Number);
TEXT_INPUT_TYPE_ASSERT(TELEPHONE, Telephone);
TEXT_INPUT_TYPE_ASSERT(URL, URL);
TEXT_INPUT_TYPE_ASSERT(DATE, Date);
TEXT_INPUT_TYPE_ASSERT(DATE_TIME, DateTime);
TEXT_INPUT_TYPE_ASSERT(DATE_TIME_LOCAL, DateTimeLocal);
TEXT_INPUT_TYPE_ASSERT(MONTH, Month);
TEXT_INPUT_TYPE_ASSERT(TIME, Time);
TEXT_INPUT_TYPE_ASSERT(WEEK, Week);
TEXT_INPUT_TYPE_ASSERT(TEXT_AREA, TextArea);

#define TEXT_INPUT_FLAG_ASSERT(NAME, Name)                               \
  static_assert(static_cast<int32_t>(TEXT_INPUT_FLAG_##NAME) ==          \
                    static_cast<int32_t>(blink::WebTextInputFlag##Name), \
                "text_input_flag should match")
TEXT_INPUT_FLAG_ASSERT(NONE, None);
TEXT_INPUT_FLAG_ASSERT(AUTOCOMPLETE_ON, AutocompleteOn);
TEXT_INPUT_FLAG_ASSERT(AUTOCOMPLETE_OFF, AutocompleteOff);
TEXT_INPUT_FLAG_ASSERT(AUTOCORRECT_ON, AutocorrectOn);
TEXT_INPUT_FLAG_ASSERT(AUTOCORRECT_OFF, AutocorrectOff);
TEXT_INPUT_FLAG_ASSERT(SPELLCHECK_ON, SpellcheckOn);
TEXT_INPUT_FLAG_ASSERT(SPELLCHECK_OFF, SpellcheckOff);
TEXT_INPUT_FLAG_ASSERT(AUTOCAPITALIZE_NONE, AutocapitalizeNone);
TEXT_INPUT_FLAG_ASSERT(AUTOCAPITALIZE_CHARACTERS, AutocapitalizeCharacters);
TEXT_INPUT_FLAG_ASSERT(AUTOCAPITALIZE_WORDS, AutocapitalizeWords);
TEXT_INPUT_FLAG_ASSERT(AUTOCAPITALIZE_SENTENCES, AutocapitalizeSentences);

TextInputType
TypeConverter<TextInputType, blink::WebTextInputType>::Convert(
    const blink::WebTextInputType& input) {
  return static_cast<TextInputType>(input);
}

}  // namespace mojo