Home | History | Annotate | Download | only in serviceworkers
      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 #ifndef ResponseInit_h
      6 #define ResponseInit_h
      7 
      8 #include "bindings/core/v8/Dictionary.h"
      9 #include "modules/serviceworkers/Headers.h"
     10 #include "platform/heap/Handle.h"
     11 #include "wtf/RefPtr.h"
     12 
     13 namespace blink {
     14 
     15 class ResponseInit {
     16     STACK_ALLOCATED();
     17 public:
     18     ResponseInit()
     19         : status(200)
     20         , statusText("OK")
     21     {
     22     }
     23     explicit ResponseInit(const Dictionary& options)
     24         : status(200)
     25         , statusText("OK")
     26     {
     27         DictionaryHelper::get(options, "status", status);
     28         // FIXME: Spec uses ByteString for statusText. http://crbug.com/347426
     29         DictionaryHelper::get(options, "statusText", statusText);
     30         DictionaryHelper::get(options, "headers", headers);
     31         if (!headers) {
     32             DictionaryHelper::get(options, "headers", headersDictionary);
     33         }
     34     }
     35 
     36     unsigned short status;
     37     String statusText;
     38     Member<Headers> headers;
     39     Dictionary headersDictionary;
     40 };
     41 
     42 }
     43 
     44 #endif // ResponseInit_h
     45