1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef WEBKIT_GLUE_FORM_DATA_H__ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define WEBKIT_GLUE_FORM_DATA_H__ 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <vector> 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 10a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsen#ifdef ANDROID 11a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsen#include "base/base_api.h" 12a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsen#endif 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/string_util.h" 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "googleurl/src/gurl.h" 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "webkit/glue/form_field.h" 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace webkit_glue { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Holds information about a form to be filled and/or submitted. 20a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsenstruct 21a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsen#ifdef ANDROID 22a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian MonsenBASE_API 23a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian Monsen#endif 24a1fe9c0450e6d56112949b33ef2f7491e0cf0f60Kristian MonsenFormData { 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // The name of the form. 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 name; 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // GET or POST. 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch string16 method; 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // The URL (minus query parameters) containing the form. 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GURL origin; 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // The action target of the form. 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GURL action; 333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // true if this form was submitted by a user gesture and not javascript. 343345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick bool user_submitted; 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // A vector of all the input fields in the form. 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch std::vector<FormField> fields; 37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 383345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick FormData(); 393345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick FormData(const FormData& data); 403345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick ~FormData(); 413345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Used by FormStructureTest. 433345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick bool operator==(const FormData& form) const; 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}; 45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace webkit_glue 47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif // WEBKIT_GLUE_FORM_DATA_H__ 49