1 // Copyright (c) 2011 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 NET_BASE_LOAD_STATES_H__ 6 #define NET_BASE_LOAD_STATES_H__ 7 8 #include "base/strings/string16.h" 9 10 namespace net { 11 12 // These states correspond to the lengthy periods of time that a resource load 13 // may be blocked and unable to make progress. 14 enum LoadState { 15 16 #define LOAD_STATE(label) LOAD_STATE_ ## label, 17 #include "net/base/load_states_list.h" 18 #undef LOAD_STATE 19 20 }; 21 22 // Some states, like LOAD_STATE_WAITING_FOR_DELEGATE, are associated with extra 23 // data that describes more precisely what the delegate (for example) is doing. 24 // This class provides an easy way to hold a load state with an extra parameter. 25 struct LoadStateWithParam { 26 LoadState state; 27 base::string16 param; 28 LoadStateWithParam() : state(LOAD_STATE_IDLE) {} 29 LoadStateWithParam(LoadState state, const base::string16& param) 30 : state(state), param(param) {} 31 }; 32 33 } // namespace net 34 35 #endif // NET_BASE_LOAD_STATES_H__ 36