| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// Helper layer library that exposes enums commonly used from `dart:html`. |
| library; |
| |
| import '../dom/html.dart'; |
| |
| abstract final class KeyLocation { |
| // Note: this library uses legacy constant names for backwards compatibility. |
| // ignore: constant_identifier_names |
| static const int STANDARD = 0; |
| // ignore: constant_identifier_names |
| static const int LEFT = 1; |
| // ignore: constant_identifier_names |
| static const int RIGHT = 2; |
| // ignore: constant_identifier_names |
| static const int NUMPAD = 3; |
| // ignore: constant_identifier_names |
| static const int JOYSTICK = 4; |
| // ignore: constant_identifier_names |
| static const int MOBILE = 5; |
| } |
| |
| abstract final class KeyCode { |
| // These constant names were borrowed from Closure's Keycode enumeration |
| // class. |
| // https://github.com/google/closure-library/blob/master/closure/goog/events/keycodes.js |
| // ignore: constant_identifier_names |
| static const int WIN_KEY_FF_LINUX = 0; |
| // ignore: constant_identifier_names |
| static const int MAC_ENTER = 3; |
| // ignore: constant_identifier_names |
| static const int BACKSPACE = 8; |
| // ignore: constant_identifier_names |
| static const int TAB = 9; |
| // NUM_CENTER is also NUMLOCK for FF and Safari on Mac. |
| // ignore: constant_identifier_names |
| static const int NUM_CENTER = 12; |
| // ignore: constant_identifier_names |
| static const int ENTER = 13; |
| // ignore: constant_identifier_names |
| static const int SHIFT = 16; |
| // ignore: constant_identifier_names |
| static const int CTRL = 17; |
| // ignore: constant_identifier_names |
| static const int ALT = 18; |
| // ignore: constant_identifier_names |
| static const int PAUSE = 19; |
| // ignore: constant_identifier_names |
| static const int CAPS_LOCK = 20; |
| // ignore: constant_identifier_names |
| static const int ESC = 27; |
| // ignore: constant_identifier_names |
| static const int SPACE = 32; |
| // ignore: constant_identifier_names |
| static const int PAGE_UP = 33; |
| // ignore: constant_identifier_names |
| static const int PAGE_DOWN = 34; |
| // ignore: constant_identifier_names |
| static const int END = 35; |
| // ignore: constant_identifier_names |
| static const int HOME = 36; |
| // ignore: constant_identifier_names |
| static const int LEFT = 37; |
| // ignore: constant_identifier_names |
| static const int UP = 38; |
| // ignore: constant_identifier_names |
| static const int RIGHT = 39; |
| // ignore: constant_identifier_names |
| static const int DOWN = 40; |
| // ignore: constant_identifier_names |
| static const int NUM_NORTH_EAST = 33; |
| // ignore: constant_identifier_names |
| static const int NUM_SOUTH_EAST = 34; |
| // ignore: constant_identifier_names |
| static const int NUM_SOUTH_WEST = 35; |
| // ignore: constant_identifier_names |
| static const int NUM_NORTH_WEST = 36; |
| // ignore: constant_identifier_names |
| static const int NUM_WEST = 37; |
| // ignore: constant_identifier_names |
| static const int NUM_NORTH = 38; |
| // ignore: constant_identifier_names |
| static const int NUM_EAST = 39; |
| // ignore: constant_identifier_names |
| static const int NUM_SOUTH = 40; |
| // ignore: constant_identifier_names |
| static const int PRINT_SCREEN = 44; |
| // ignore: constant_identifier_names |
| static const int INSERT = 45; |
| // ignore: constant_identifier_names |
| static const int NUM_INSERT = 45; |
| // ignore: constant_identifier_names |
| static const int DELETE = 46; |
| // ignore: constant_identifier_names |
| static const int NUM_DELETE = 46; |
| // ignore: constant_identifier_names |
| static const int ZERO = 48; |
| // ignore: constant_identifier_names |
| static const int ONE = 49; |
| // ignore: constant_identifier_names |
| static const int TWO = 50; |
| // ignore: constant_identifier_names |
| static const int THREE = 51; |
| // ignore: constant_identifier_names |
| static const int FOUR = 52; |
| // ignore: constant_identifier_names |
| static const int FIVE = 53; |
| // ignore: constant_identifier_names |
| static const int SIX = 54; |
| // ignore: constant_identifier_names |
| static const int SEVEN = 55; |
| // ignore: constant_identifier_names |
| static const int EIGHT = 56; |
| // ignore: constant_identifier_names |
| static const int NINE = 57; |
| // ignore: constant_identifier_names |
| static const int FF_SEMICOLON = 59; |
| // ignore: constant_identifier_names |
| static const int FF_EQUALS = 61; |
| // CAUTION: The question mark is for US-keyboard layouts. |
| // It varies for other locales and keyboard layouts. |
| // ignore: constant_identifier_names |
| static const int QUESTION_MARK = 63; |
| // ignore: constant_identifier_names |
| static const int A = 65; |
| // ignore: constant_identifier_names |
| static const int B = 66; |
| // ignore: constant_identifier_names |
| static const int C = 67; |
| // ignore: constant_identifier_names |
| static const int D = 68; |
| // ignore: constant_identifier_names |
| static const int E = 69; |
| // ignore: constant_identifier_names |
| static const int F = 70; |
| // ignore: constant_identifier_names |
| static const int G = 71; |
| // ignore: constant_identifier_names |
| static const int H = 72; |
| // ignore: constant_identifier_names |
| static const int I = 73; |
| // ignore: constant_identifier_names |
| static const int J = 74; |
| // ignore: constant_identifier_names |
| static const int K = 75; |
| // ignore: constant_identifier_names |
| static const int L = 76; |
| // ignore: constant_identifier_names |
| static const int M = 77; |
| // ignore: constant_identifier_names |
| static const int N = 78; |
| // ignore: constant_identifier_names |
| static const int O = 79; |
| // ignore: constant_identifier_names |
| static const int P = 80; |
| // ignore: constant_identifier_names |
| static const int Q = 81; |
| // ignore: constant_identifier_names |
| static const int R = 82; |
| // ignore: constant_identifier_names |
| static const int S = 83; |
| // ignore: constant_identifier_names |
| static const int T = 84; |
| // ignore: constant_identifier_names |
| static const int U = 85; |
| // ignore: constant_identifier_names |
| static const int V = 86; |
| // ignore: constant_identifier_names |
| static const int W = 87; |
| // ignore: constant_identifier_names |
| static const int X = 88; |
| // ignore: constant_identifier_names |
| static const int Y = 89; |
| // ignore: constant_identifier_names |
| static const int Z = 90; |
| // ignore: constant_identifier_names |
| static const int META = 91; |
| // ignore: constant_identifier_names |
| static const int WIN_KEY_LEFT = 91; // Note that it's the same value as META. |
| // ignore: constant_identifier_names |
| static const int WIN_KEY_RIGHT = 92; |
| // ignore: constant_identifier_names |
| static const int CONTEXT_MENU = 93; |
| // ignore: constant_identifier_names |
| static const int NUM_ZERO = 96; |
| // ignore: constant_identifier_names |
| static const int NUM_ONE = 97; |
| // ignore: constant_identifier_names |
| static const int NUM_TWO = 98; |
| // ignore: constant_identifier_names |
| static const int NUM_THREE = 99; |
| // ignore: constant_identifier_names |
| static const int NUM_FOUR = 100; |
| // ignore: constant_identifier_names |
| static const int NUM_FIVE = 101; |
| // ignore: constant_identifier_names |
| static const int NUM_SIX = 102; |
| // ignore: constant_identifier_names |
| static const int NUM_SEVEN = 103; |
| // ignore: constant_identifier_names |
| static const int NUM_EIGHT = 104; |
| // ignore: constant_identifier_names |
| static const int NUM_NINE = 105; |
| // ignore: constant_identifier_names |
| static const int NUM_MULTIPLY = 106; |
| // ignore: constant_identifier_names |
| static const int NUM_PLUS = 107; |
| // ignore: constant_identifier_names |
| static const int NUM_MINUS = 109; |
| // ignore: constant_identifier_names |
| static const int NUM_PERIOD = 110; |
| // Firefox (Gecko) fires this for the meta key instead of 91 |
| // ignore: constant_identifier_names |
| static const int MAC_FF_META = 224; |
| } |
| |
| abstract final class Device { |
| static String get userAgent => window.navigator.userAgent; |
| static final bool isOpera = userAgent.contains('Opera'); |
| static final bool isIE = !isOpera && userAgent.contains('Trident/'); |
| static final bool isFirefox = userAgent.contains('Firefox'); |
| static final bool isWebKit = !isOpera && userAgent.contains('WebKit'); |
| static final String cssPrefix = '-$propertyPrefix-'; |
| static final String propertyPrefix = |
| isFirefox ? 'moz' : (isIE ? 'ms' : (isOpera ? 'o' : 'webkit')); |
| } |
| |
| /// HTTP status codes. |
| // This is a copy of the `HttpStatus` from the `dart:_internal` library that's |
| // exposed only through `dart:io` and `dart:html`. |
| abstract class HttpStatus { |
| static const int continue_ = 100; |
| static const int switchingProtocols = 101; |
| static const int processing = 102; |
| static const int ok = 200; |
| static const int created = 201; |
| static const int accepted = 202; |
| static const int nonAuthoritativeInformation = 203; |
| static const int noContent = 204; |
| static const int resetContent = 205; |
| static const int partialContent = 206; |
| static const int multiStatus = 207; |
| static const int alreadyReported = 208; |
| static const int imUsed = 226; |
| static const int multipleChoices = 300; |
| static const int movedPermanently = 301; |
| static const int found = 302; |
| static const int movedTemporarily = 302; // Common alias for found. |
| static const int seeOther = 303; |
| static const int notModified = 304; |
| static const int useProxy = 305; |
| static const int temporaryRedirect = 307; |
| static const int permanentRedirect = 308; |
| static const int badRequest = 400; |
| static const int unauthorized = 401; |
| static const int paymentRequired = 402; |
| static const int forbidden = 403; |
| static const int notFound = 404; |
| static const int methodNotAllowed = 405; |
| static const int notAcceptable = 406; |
| static const int proxyAuthenticationRequired = 407; |
| static const int requestTimeout = 408; |
| static const int conflict = 409; |
| static const int gone = 410; |
| static const int lengthRequired = 411; |
| static const int preconditionFailed = 412; |
| static const int requestEntityTooLarge = 413; |
| static const int requestUriTooLong = 414; |
| static const int unsupportedMediaType = 415; |
| static const int requestedRangeNotSatisfiable = 416; |
| static const int expectationFailed = 417; |
| static const int misdirectedRequest = 421; |
| static const int unprocessableEntity = 422; |
| static const int locked = 423; |
| static const int failedDependency = 424; |
| static const int upgradeRequired = 426; |
| static const int preconditionRequired = 428; |
| static const int tooManyRequests = 429; |
| static const int requestHeaderFieldsTooLarge = 431; |
| static const int connectionClosedWithoutResponse = 444; |
| static const int unavailableForLegalReasons = 451; |
| static const int clientClosedRequest = 499; |
| static const int internalServerError = 500; |
| static const int notImplemented = 501; |
| static const int badGateway = 502; |
| static const int serviceUnavailable = 503; |
| static const int gatewayTimeout = 504; |
| static const int httpVersionNotSupported = 505; |
| static const int variantAlsoNegotiates = 506; |
| static const int insufficientStorage = 507; |
| static const int loopDetected = 508; |
| static const int notExtended = 510; |
| static const int networkAuthenticationRequired = 511; |
| // Client generated status code. |
| static const int networkConnectTimeoutError = 599; |
| } |