// Copyright (c) 2013 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 "ui/keyboard/keyboard_switches.h"

namespace keyboard {
namespace switches {

const char kDisableInputView[] = "disable-input-view";
const char kEnableExperimentalInputViewFeatures[] =
    "enable-experimental-input-view-features";
const char kDisableVoiceInput[] = "disable-voice-input";
const char kDisableGestureTyping[] = "disable-gesture-typing";
const char kDisableGestureEditing[] = "disable-gesture-editing";
const char kEnableVirtualKeyboard[] = "enable-virtual-keyboard";
const char kDisableVirtualKeyboardOverscroll[] =
    "disable-virtual-keyboard-overscroll";

}  // namespace switches
}  // namespace keyboard
