| Index: chrome/browser/autofill/form_structure.h
|
| ===================================================================
|
| --- chrome/browser/autofill/form_structure.h (revision 0)
|
| +++ chrome/browser/autofill/form_structure.h (revision 0)
|
| @@ -0,0 +1,63 @@
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_BROWSER_AUTOFILL_FORM_STRUCTURE_H_
|
| +#define CHROME_BROWSER_AUTOFILL_FORM_STRUCTURE_H_
|
| +
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/scoped_ptr.h"
|
| +#include "chrome/browser/autofill/autofill_field.h"
|
| +#include "googleurl/src/gurl.h"
|
| +
|
| +namespace webkit_glue {
|
| +class FormFieldValues;
|
| +}
|
| +
|
| +enum RequestMethod {
|
| + GET,
|
| + POST
|
| +};
|
| +
|
| +// FormStructure stores a single HTML form together with the values entered
|
| +// in the fields along with additional information needed by AutoFill.
|
| +class FormStructure {
|
| + public:
|
| + explicit FormStructure(const webkit_glue::FormFieldValues& values);
|
| +
|
| + // Encodes the XML upload request from this FormStructure.
|
| + bool EncodeUploadRequest(bool auto_fill_used, std::string* encoded_xml) const;
|
| +
|
| + // The unique signature for this form, composed of the target url domain,
|
| + // the form name, and the form field names in a 64-bit hash.
|
| + std::string FormSignature() const;
|
| +
|
| + // Runs a quick heuristic to rule out pages but obviously not auto-fillable,
|
| + // like google/yahoo/msn search, etc.
|
| + bool IsAutoFillable() const;
|
| +
|
| + private:
|
| + // The name of the form.
|
| + std::string form_name_;
|
| +
|
| + // The source URL.
|
| + GURL source_url_;
|
| +
|
| + // The target URL.
|
| + GURL target_url_;
|
| +
|
| + // A vector of all the input fields in the form.
|
| + std::vector<AutoFillField> fields_;
|
| +
|
| + // The names of the form input elements, that are part of the form signature.
|
| + // The string starts with "&" and the names are also separated by the "&"
|
| + // character. E.g.: "&form_input1_name&form_input2_name&...&form_inputN_name"
|
| + std::string form_signature_field_names_;
|
| +
|
| + // GET or POST.
|
| + RequestMethod method_;
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_AUTOFILL_FORM_STRUCTURE_H_
|
|
|
| Property changes on: chrome/browser/autofill/form_structure.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|