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